Radist (обсуждение | вклад) (→Справочник) |
Radist (обсуждение | вклад) (→Регистр оборотов) |
||
(не показано 10 промежуточных версии этого же участника) | |||
Строка 95: | Строка 95: | ||
!style="background: #ececec;"|name | !style="background: #ececec;"|name | ||
!style="background: #ececec;"|Char(25) | !style="background: #ececec;"|Char(25) | ||
− | !style="background: #ececec;"| | + | !style="background: #ececec;"| |
!style="background: #ececec;"|Наименование элемента | !style="background: #ececec;"|Наименование элемента | ||
|- | |- | ||
Строка 105: | Строка 105: | ||
===Таблица групп=== | ===Таблица групп=== | ||
− | Префикс “sg” | + | Префикс “sg” |
Поля таблицы | Поля таблицы | ||
− | {| class="wikitable" | + | {| class="wikitable" |
|- | |- | ||
− | ! | + | !style="background: #ececec;"|Поле |
− | ! | + | !style="background: #ececec;"|Тип |
− | ! | + | !style="background: #ececec;"|Обязательное |
+ | !style="background: #ececec;"|Примечание | ||
|- | |- | ||
− | | | + | !style="background: #ececec;"|id |
− | | | + | !style="background: #ececec;"|BigInt |
− | | | + | !style="background: #ececec;"|* |
+ | !style="background: #ececec;"|Уникальный идентификатор записи | ||
|- | |- | ||
− | | | + | !style="background: #ececec;"|idp |
− | | | + | !style="background: #ececec;"|BigInt |
− | | | + | !style="background: #ececec;"|* |
+ | !style="background: #ececec;"|Код родительской (вышестоящей) группы или 0 – для корневых групп | ||
+ | |- | ||
+ | !style="background: #ececec;"|code | ||
+ | !style="background: #ececec;"|Char(8) | ||
+ | !style="background: #ececec;"|* | ||
+ | !style="background: #ececec;"|Пользовательский код элемента | ||
+ | |- | ||
+ | !style="background: #ececec;"|level | ||
+ | !style="background: #ececec;"|Int | ||
+ | !style="background: #ececec;"|* | ||
+ | !style="background: #ececec;"|Уровень в дереве групп. 0 – корень | ||
+ | |- | ||
+ | !style="background: #ececec;"|name | ||
+ | !style="background: #ececec;"|Char(25) | ||
+ | !style="background: #ececec;"| | ||
+ | !style="background: #ececec;"|Наименование элемента | ||
+ | |- | ||
+ | !style="background: #ececec;"|******* | ||
+ | !style="background: #ececec;"| | ||
+ | !style="background: #ececec;"| | ||
+ | !style="background: #ececec;"|Пользовательские поля | ||
|} | |} | ||
− | Документ | + | |
+ | ==Документ== | ||
===Таблица шапки=== | ===Таблица шапки=== | ||
− | Префикс “dh” | + | Префикс “dh” |
Поля таблицы | Поля таблицы | ||
− | {| class="wikitable" | + | {| class="wikitable" |
|- | |- | ||
− | ! | + | !style="background: #ececec;"|Поле |
− | ! | + | !style="background: #ececec;"|Тип |
− | ! | + | !style="background: #ececec;"|Обязательное |
+ | !style="background: #ececec;"|Примечание | ||
|- | |- | ||
− | | | + | !style="background: #ececec;"|id |
− | | | + | !style="background: #ececec;"|LongInt |
− | | | + | !style="background: #ececec;"|* |
+ | !style="background: #ececec;"|Уникальный идентификатор записи | ||
|- | |- | ||
− | | | + | !style="background: #ececec;"|date |
− | | | + | !style="background: #ececec;"|Date |
− | | | + | !style="background: #ececec;"|* |
+ | !style="background: #ececec;"|Дата регистрации в журнале документов | ||
+ | |- | ||
+ | !style="background: #ececec;"|name | ||
+ | !style="background: #ececec;"|Char(20) | ||
+ | !style="background: #ececec;"|* | ||
+ | !style="background: #ececec;"|Исходящий номер документа в журнале регистрации | ||
+ | |- | ||
+ | !style="background: #ececec;"| | ||
+ | !style="background: #ececec;"| | ||
+ | !style="background: #ececec;"| | ||
+ | !style="background: #ececec;"| | ||
+ | |- | ||
+ | !style="background: #ececec;"|******* | ||
+ | !style="background: #ececec;"| | ||
+ | !style="background: #ececec;"| | ||
+ | !style="background: #ececec;"|Пользовательские поля | ||
|} | |} | ||
− | * Примечание | + | |
− | Исходя из структурной декомпозиции шапки документа на таблицу журналов документов и таблицу документа с пользовательскими реквизитами дату, номер и другие общие реквизиты документа следует брать из журнала документов. | + | * Примечание |
+ | Исходя из структурной декомпозиции шапки документа на таблицу журналов документов и таблицу документа с пользовательскими реквизитами дату, | ||
+ | номер и другие общие реквизиты документа следует брать из журнала документов. | ||
===Таблица списков=== | ===Таблица списков=== | ||
Строка 151: | Строка 195: | ||
Поля таблицы | Поля таблицы | ||
− | {| class="wikitable" | + | {| class="wikitable" |
|- | |- | ||
− | ! | + | !style="background: #ececec;"|Поле |
− | ! | + | !style="background: #ececec;"|Тип |
− | ! | + | !style="background: #ececec;"|Обязательное |
+ | !style="background: #ececec;"|Примечание | ||
|- | |- | ||
− | | | + | !style="background: #ececec;"|id |
− | | | + | !style="background: #ececec;"|BigInt |
− | | | + | !style="background: #ececec;"|* |
+ | !style="background: #ececec;"|Уникальный идентификатор записи | ||
|- | |- | ||
− | | | + | !style="background: #ececec;"|idd |
− | | | + | !style="background: #ececec;"|BigInt |
− | | | + | !style="background: #ececec;"|* |
+ | !style="background: #ececec;"|ID Документа-владельца | ||
+ | |- | ||
+ | !style="background: #ececec;"|lnum | ||
+ | !style="background: #ececec;"|int | ||
+ | !style="background: #ececec;"|* | ||
+ | !style="background: #ececec;"|Номер строки внутри табличной части. Нумерация с 1. | ||
+ | |- | ||
+ | !style="background: #ececec;"| | ||
+ | !style="background: #ececec;"| | ||
+ | !style="background: #ececec;"| | ||
+ | !style="background: #ececec;"| | ||
+ | |- | ||
+ | !style="background: #ececec;"|******* | ||
+ | !style="background: #ececec;"| | ||
+ | !style="background: #ececec;"| | ||
+ | !style="background: #ececec;"|Пользовательские поля | ||
|} | |} | ||
− | + | ||
+ | ==Регистр остатков== | ||
Отражает обороты аналитического учета и хранит остатки разрезов аналитики. Система автоматически пересчитывает остатки в таблице остатков при проведении документов. | Отражает обороты аналитического учета и хранит остатки разрезов аналитики. Система автоматически пересчитывает остатки в таблице остатков при проведении документов. | ||
− | Таблица оборотов | + | ===Таблица оборотов=== |
Префикс “rg” | Префикс “rg” | ||
Поля таблицы | Поля таблицы | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | !style="background: #ececec;"|Поле | ||
+ | !style="background: #ececec;"|Тип | ||
+ | !style="background: #ececec;"|Обязательное | ||
+ | !style="background: #ececec;"|Примечание | ||
+ | |- | ||
+ | !style="background: #ececec;"|Id | ||
+ | !style="background: #ececec;"|BigInt | ||
+ | !style="background: #ececec;"|* | ||
+ | !style="background: #ececec;"|Уникальный идентификатор записи | ||
+ | |- | ||
+ | !style="background: #ececec;"|idd | ||
+ | !style="background: #ececec;"|BigInt | ||
+ | !style="background: #ececec;"|* | ||
+ | !style="background: #ececec;"|ID документа. | ||
+ | |- | ||
+ | !style="background: #ececec;"|idt | ||
+ | !style="background: #ececec;"|Int | ||
+ | !style="background: #ececec;"|* | ||
+ | !style="background: #ececec;"|ID строки активной табличной части документа при выполнении операции. | ||
+ | |- | ||
+ | !style="background: #ececec;"|opcode | ||
+ | !style="background: #ececec;"|Int | ||
+ | !style="background: #ececec;"|* | ||
+ | !style="background: #ececec;"|Код операции | ||
+ | |- | ||
+ | !style="background: #ececec;"|dk | ||
+ | !style="background: #ececec;"|Char(1) | ||
+ | !style="background: #ececec;"| | ||
+ | !style="background: #ececec;"|Дебет/Кредит | ||
+ | |- | ||
+ | !style="background: #ececec;"| | ||
+ | !style="background: #ececec;"| | ||
+ | !style="background: #ececec;"| | ||
+ | !style="background: #ececec;"| | ||
+ | |- | ||
+ | !style="background: #ececec;"|******* | ||
+ | !style="background: #ececec;"| | ||
+ | !style="background: #ececec;"| | ||
+ | !style="background: #ececec;"|Пользовательскиереквизиты разрезов аналитики | ||
+ | |- | ||
+ | !style="background: #ececec;"| | ||
+ | !style="background: #ececec;"| | ||
+ | !style="background: #ececec;"| | ||
+ | !style="background: #ececec;"| | ||
+ | |- | ||
+ | !style="background: #ececec;"|******* | ||
+ | !style="background: #ececec;"|ЧИСЛО | ||
+ | !style="background: #ececec;"| | ||
+ | !style="background: #ececec;"|Пользовательские реквизиты значений аналитики | ||
+ | |- | ||
+ | !style="background: #ececec;"| | ||
+ | !style="background: #ececec;"| | ||
+ | !style="background: #ececec;"| | ||
+ | !style="background: #ececec;"| | ||
+ | |- | ||
+ | !style="background: #ececec;"|******* | ||
+ | !style="background: #ececec;"| | ||
+ | !style="background: #ececec;"| | ||
+ | !style="background: #ececec;"|Информационные пользовательские реквизиты | ||
+ | |} | ||
===Таблица остатков=== | ===Таблица остатков=== | ||
Строка 179: | Строка 304: | ||
Поля таблицы | Поля таблицы | ||
− | + | ==Регистр оборотов== | |
Похож на регистр остатков, но отражает только обороты. | Похож на регистр остатков, но отражает только обороты. | ||
Текущая версия на 00:38, 12 июля 2009
Содержание
ОБЩИЕ ПОЛОЖЕНИЯ
Система АНАНАС состоит из объектов. Данные каждого объекта хранятся в одной или нескольких таблицах БД. Объекты определяются классами. Каждому классу соответствует свой набор таблиц БД, для хранения объектов данного класса. Классы могут меняться настройщиком системы в определенных рамках и по определенным правилам. Изменение класса приводит к соответствующему изменению объектов и структур БД. Классы объединены в группы. Все классы одной группы имеют для хранения данных своих объектов одинаковое количество таблиц БД схожей структуры со схожими именами. Настройщик может добавлять новые классы в систему, удалять существующие. Группы не могут быть добавлены или удалены настройщиком.
Именование таблиц БД
Имена таблиц БД назначаются системой по следующему принципу: Префикс (2 символа) + идентификатор в виде числа. В пределах одной БД идентификаторы должны быть уникальны. Префикс определяет принадлежность к группе классов.
Именование полей таблиц БД
Поля таблиц БД делятся на 2 группы: системные и пользовательские. Системные поля имеют фиксированное имя для каждого типа таблицы и не доступны для пользователя и прикладного программиста. Пользовательские поля создаются при настройке прикладной конфигурации. Имена пользовательских полей таблиц БД назначаются системой по следующему правилу: Префикс (2 символа) + идентификатор в виде строки или числа. В пределах одной таблицы идентификаторы должны быть уникальны. Префикс пользовательского поля “uf”. Префикс кода типа поля (код в структуре метаданных) для полей неопределенного типа – “ut”1. В случае с полем неопределенного типа, оно фактически представлено в таблице двумя полями – значением с именем “ufxxxx” и типом “utxxxx”. Часть идентификатора поля у них одинаковая. Для идентификации конкретной записи каждая таблица БД всегда имеет поле ID типа BigInt2. При добавлении строки таблицы система получает очередное значение ID путем добавления записи в таблицу уникальностей. При этом автоматически увеличивает ID очередной записи таблицы уникальностей на 1, используется флаг autoincrement сервера БД. Нумерация начинается с 1. 0 – не корректное значение (отсутствие ссылки). Все связи между таблицами и ссылки на строки таблиц осуществляются с использованием значения поля ID.
ОБЪЕКТЫ СИСТЕМЫ
Параметры
Параметры используются для хранения редкообновляемых или совершенно необновляемых, то есть постоянных значений простой структуры, используемых системой в процессе своей работы. В качестве примера параметров можно привести банковские реквизиты предприятия, эксплуатирующего Ананас, ФИО руководителя, главного бухгалтера.
Поле | Тип | Обязательное | Примечание |
---|---|---|---|
id | BigInt | * | Уникальный идентификатор объекта |
Code | Char(8) | * | Пользовательский код элемента |
name | Char(25) | * | Наименование элемента |
******* | Пользовательские поля |
Справочник
Справочник является универсальным многоуровневым хранилищем данных, используемым для представления информации о сотрудниках предприятия, номенклатуре товаров, изделий, контрагентах, банках и проч. Логически справочник представляет собой дерево произвольной глубины вложенности.
Таблица элементов
Префикс “se”
Поля таблицы
Поле | Тип | Обязательное | Примечание |
---|---|---|---|
id | BigInt | * | Уникальный идентификатор записи |
idg | LongInt | * | ID группы или 0 – вне групп. |
ido | LongInt | * | ID элемента справочника-владельца (для подчиненных справочников). = 0 – нет владельца |
code | Char(8) | * | Пользовательский код элемента |
name | Char(25) | Наименование элемента | |
******* | Пользовательские поля |
Таблица групп
Префикс “sg”
Поля таблицы
Поле | Тип | Обязательное | Примечание |
---|---|---|---|
id | BigInt | * | Уникальный идентификатор записи |
idp | BigInt | * | Код родительской (вышестоящей) группы или 0 – для корневых групп |
code | Char(8) | * | Пользовательский код элемента |
level | Int | * | Уровень в дереве групп. 0 – корень |
name | Char(25) | Наименование элемента | |
******* | Пользовательские поля |
Документ
Таблица шапки
Префикс “dh”
Поля таблицы
Поле | Тип | Обязательное | Примечание |
---|---|---|---|
id | LongInt | * | Уникальный идентификатор записи |
date | Date | * | Дата регистрации в журнале документов |
name | Char(20) | * | Исходящий номер документа в журнале регистрации |
******* | Пользовательские поля |
* Примечание Исходя из структурной декомпозиции шапки документа на таблицу журналов документов и таблицу документа с пользовательскими реквизитами дату, номер и другие общие реквизиты документа следует брать из журнала документов.
Таблица списков
Префикс “dl” На каждую табличную часть документа создается своя таблица БД. Имя таблицы формируется по следующему правилу: Префикс+ИдентификаторДокумента+ИдентификаторТаблицы, где идентификатор документа и идентификатор таблицы берутся из конфигурации. Идентификаторы таблиц должны быть уникальны в пределах одного документа.
Поля таблицы
Поле | Тип | Обязательное | Примечание |
---|---|---|---|
id | BigInt | * | Уникальный идентификатор записи |
idd | BigInt | * | ID Документа-владельца |
lnum | int | * | Номер строки внутри табличной части. Нумерация с 1. |
******* | Пользовательские поля |
Регистр остатков
Отражает обороты аналитического учета и хранит остатки разрезов аналитики. Система автоматически пересчитывает остатки в таблице остатков при проведении документов.
Таблица оборотов
Префикс “rg”
Поля таблицы
Поле | Тип | Обязательное | Примечание |
---|---|---|---|
Id | BigInt | * | Уникальный идентификатор записи |
idd | BigInt | * | ID документа. |
idt | Int | * | ID строки активной табличной части документа при выполнении операции. |
opcode | Int | * | Код операции |
dk | Char(1) | Дебет/Кредит | |
******* | Пользовательскиереквизиты разрезов аналитики | ||
******* | ЧИСЛО | Пользовательские реквизиты значений аналитики | |
******* | Информационные пользовательские реквизиты |
Таблица остатков
Префикс “rs”
Поля таблицы
Регистр оборотов
Похож на регистр остатков, но отражает только обороты.
Таблица оборотов
Префикс “ro”
Поля таблицы
СЛУЖЕБНЫЕ ОБЪЕКТЫ СИСТЕМЫ
Перекрестные ссылки
Таблица перекрестных ссылок Имя “a_ptrs”
Поля таблицы
Нумератор документов
Таблица нумератора Имя “a_num”
Поля таблицы
Журнал документов
Журнал документов предназначен для регистрации документов в порядке поступления в БД и хранения реквизитов документов, общих для всех документов системы.
Таблица журнала документов Имя “a_journ”
Поля таблицы