Глава 11. МНОГОМЕРНЫЕ РЕГИСТРЫ
Таблицы регистров
Многомерные регистры создаются конфигурирующим и могут использоваться для разных целей
, например, для складского учета. При создании нового
регистра создается отдельная таблица с четырьмя обязательными системными целочисленными полями
:
Название поля |
Тип данных |
Назначение |
ID |
INTEGER |
Внутренний ID строки таблицы регистра |
DOC_ID |
INTEGER |
Внутренний ID документа |
DOC_N |
INTEGER |
Внутренний ID строки позиции документа |
REG_TEMPLATE_ID |
INTEGER |
Внутренний ID шаблона операции |
Остальные поля конфигурирующий добавляет в регистр самостоятельно. Все остальные
поля регистра можно условно разделить на три группы:
- Поля измерений (основные «разрезы», например - склад
, товар, партия)
- Поле даты операции
- Дополнительные поля (для разных целей)
- Поля мер (поля для суммирования, например – количество
, стоимость)
Поле даты операции, как сразу можно заметить, не
входит в четверку системных полей, но создается конфигурирующим самостоятельно
. Это обусловлено тем, что в зависимости от задачи
, к полю даты могут предъявляться разные требования. В
каких-то случаях достаточно иметь единственное поле даты типа
DATE. В других случаях может потребоваться поле типа TIMESTAMP
(дата и время). Конфигурирующий также может создать два
поля: поле даты типа DATE и отдельно от него
- поле времени типа TIME. В каких-то
случаях в качестве второго поля может использоваться поле типа INTEGER
. Одним словом, здесь возможно определенное разнообразие решений и
, чтобы не ограничивать возможности конфигурирующего, ему предоставлена свобода
выбора в организации временного континуума операций. Единственное условие –
конфигурирующий должен создать индекс даты операции. В этот индекс
он может включить одно поле или несколько полей, в
зависимости от того, как ему видится правильный континуум операций
по дате в этом регистре, однако первое поле в
индексе даты операции обязательно должно иметь тип DATE или TIMESTAMP
.
Для полей измерений конфигурирующий также обязан создать индекс, который
называется индексом группировки по основным измерениям. Этот индекс служит
для ускорения выборок и группировок в регистре, а также
используется при переносе остатков в новую базу в качестве списка
полей, по которым будет производиться группировка начальных остатков.
И наконец, конфигурирующий должен создать поля мер. Эти
поля всегда имеют числовой тип, так как по ним
производится суммирование в регистре.
После того, как все поля и индексы созданы,
необходимо указать определенные сведения в «Дополнительных свойствах» регистра
. Там нужно указать:
- Индекс даты операции
- Индекс группировки по основным измерениям
- Поля мер
- Установить (необязательно) опцию переноса остатков в новую базу
, если та создается «по остаткам».
После чего регистр считается готовым к использованию и к нему
можно создавать «шаблоны операций», в которых оговаривается,
как «проводить» разные типы документов в этом регистре
.
Проведение документов в регистрах похоже на проведение их в таблице
бухгалтерских проводок ACC_TURN. Каждый документ при проведении
вставляет в регистр записи, копируя в них информацию из
каких-то своих полей. Если документ «перепроводится
» в регистре, то старые записи по данному документу
из регистра удаляются, и вместо них вставляются новые записи
. Различие между бухгалтерскими проводками и проводками в регистре состоит
в том, что:
- В регистрах нет требований двойной записи (равенства суммы записей
в дебет сумме записей в кредит)
- В регистрах можно проводить документ частично (только определенные позиции
), а в бухгалтерской таблице проводок ACC_TURN документ
всегда проводится целиком.
|