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

Глава 6. БАЛАНС

Оганизация счетов в базе данных. Системные таблицы COMPANY, ACC, ACC_ROOTS.

Информация о компаниях хранится в системной таблице COMPANY.

Таблица компаний COMPANY


Название поля Тип данных Назначение
COMPANY_ID INTEGER Внутренний ID компании
COMPANY_CODE VARCHAR(20) Код компании (необязателен)
NAME VARCHAR(80) Название компании
SMALL_IMAGE BLOB Значок компании в формате BMP 16x16 пикселей

При создании новой компании COMPANY_ID формируется при помощи генератора COMPANY_ID_GEN.

Информация о счетах и регистрах хранится в двух системных таблицах : ACC и ACC_ROOTS.

Таблица счетов ACC


Название поля Тип данных Назначение
ACC_ID INTEGER Внутренний ID счета
PARENT_ID INTEGER Внутренний ID родительского счета (каталога)
ACC_ORDER INTEGER Порядковый номер счета внутри каталога
HAS_CHILDREN SMALLINT Если счет является каталогом, то в этом поле записывается 1, если не является каталогом, то записывается 0
ACC_CODE VARCHAR(80) Пользовательский номер счета (необязателен)
NAME VARCHAR(80) Наименование счета (уникальное в пределах компании)
COMMENTS BLOB Примечания к счету
IS_SALDO SMALLINT Если счет представляет остаток дополнительного регистра, то в этом поле записывается 1, для обычных счетов 0
SALDO_KIND SMALLINT Вид остатка: 0 –дебетовый развернутый остаток, 1 – кредитовый развернутый остаток, -1 – простой остаток
SALDO_ROOT_ID INTEGER Только для счетов остатков регистров: внутренний ID регистра, остаток которого представляет данный счет
NO_BALANCE SMALLINT Признак забалансового счета. 0 – балансовый счет 1 – забалансовый счет
COMPANY_ID INTEGER Внутренний ID компании

Таблица регистров ACC_ROOTS


Название поля Тип данных Назначение
ACC_ID INTEGER Внутренний ID счета
ROOT_KIND SMALLINT Тип регистра: 0 – левой стороны баланса 1 – правой стороны баланса 2 – балансового регистра 3 – забалансового регистра
CLASS_ID INTEGER Внутренний ID класса справочника, привязанного к регистру
USE_QUANTITY SMALLINT Признак количественного учета: 0 – без количественного учета 1 – используется количественный учет
COLOR VARCHAR(20) Цвет панели
FONT_NAME VARCHAR(50) Название шрифта
FONT_SIZE INTEGER Размер шрифтра
FONT_CHARSET INTEGER Кодовая страница шрифта
OBJECT_TREE SMALLINT Отображать дерево объектов (для небольших справочников) 0 – не отображать дерево 1 – отображать дерево
RIGHT_HAND SMALLINT Способ отображения остатков на счетах регистра: 0 – левосторонний регистр 1 – правосторонний регистр

Все счета хранятся в таблице ACC. В поле PARENT _ID указывается идентификатор родительского счета-каталога. Если значение PARENT_ID равно 0, то такой счет является корневым счетом (регистром) и он имеет вхождение также в таблицу ACC_ROOTS.

При создании нового счета его ACC_ID формируется при помощи генератора ACC_ID_GEN.

Кроме всего прочего, в таблице ACC существует запись о «нулевом счете». Его ACC_ID = 0 . Дело в том, что ссылочная целостность в базе данных организована таким образом, что поля типа «счет » в других таблицах объявлены как NOT NULL и пустым значением для них считается ACC_ID=0.

После создания каждой новой компании в триггере COMPANY_AFTER _INSERT создаются основные регистры баланса этой компании и несколько счетов (будущие основнные разделы) в каждом регистре:


Средства Обязательства и Капитал
  Оборотные средства   Краткосрочные обязательства
  Основные средства   Долгосрочные обязательства
    Капитал

При создании пустой конфигурации отрабатывается сценарий базы данных ALLEGRO. SQL, в котором создается одна компания с названием « Моя компания».



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