На главную   На главную   Форумы Новости Документация Скачать Купить  
Регистрация  
Система Allegro
Oб Allegro Характеристики Пример конфигурации Документация База ошибок Развитие
Версия для печати К списку книг Вернуться к оглавлению Предыдущий параграф Следующий параграф
Поиск по книге

Глава 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 документ всегда проводится целиком.

 
 




              


Система Allegro. Руководство разработчика Наверх