При оптимизации системы, написании прямых SQL-запросов или разработке отчетов для платформы 1С:Предприятие 7.7 часто возникает необходимость обратиться напрямую к таблицам базы данных. В отличие от версии 8.x, где метаданные и структуры регистров описаны в специализированной литературе, для 1С 7.7 спецификацию хранят служебные файлы конфигурации и системные таблицы.
Рассмотрим подробно, где располагаются описания всех таблиц информационной базы 1С 7.7, какова структура таблицы бухгалтерских итогов и из каких связанных таблиц состоит подсистема бухгалтерского учета.
В платформе 1С 7.7 описание структуры всех таблиц физической базы данных генерируется автоматически при сохранении конфигурации. Файл со схемой находится в каталоге информационной базы:
1CV7.DD.1CV7.DDS.Разберем по шагам, как просмотреть структуру таблиц:
.dd или .dds.В этих файлах содержатся текстовые описания всех таблиц информационной базы, включая наименования полей, их типы, длину и назначение индексов.
За хранение остатков и оборотов в разрезе счетов, валют и субконто отвечает основная таблица _1SBKTTL (или файл 1SBKTTL.DBF). Проанализируем состав и назначение ключевых полей этой таблицы:
DATE — дата начала периода. В 1С 7.7 бухгалтерские итоги хранятся с квартальной дискретностью, поэтому поле содержат дату первого дня соответствующего квартала.KIND — тип итогов:
1 — суммовой учет в базовой валюте;2 — валютный учет;3 — количественный учет.ACCID — внутренний идентификатор бухгалтерского счета (ссылка на план счетов).CURRID — идентификатор валюты (заполняется для валютного учета).SD — начальное сальдо (абсолютный остаток) на начало квартала.OBDT1...OBDT3 — дебетовые обороты по соответствующим разрезам аналитики за квартал.OBKT1...OBKT3 — кредитовые обороты по соответствующим разрезам аналитики за квартал.SC0...SC5 — идентификаторы объектов субконто, участвующих в формировании итогов (значения аналитик).VSC0...VSC5 — числовые коды видов субконто для соответствующего разреза.Подсистема бухучета 1С 7.7 не ограничивается таблицей _1SBKTTL. Посмотрим на роли остальных ключевых таблиц:
_1SBKTTLC — таблица оборотов между синтетическими счетами. Хранит корреспонденции счетов без детализации по субконто._1SENTRY — таблица бухгалтерских проводок. Хранит детальные записи операций (дату, счет дебета и кредита, суммы, количество, валюту и значения субконто). Служит источником данных для расчета итогов._1SOPER — таблица операций. Хранит общие реквизиты операции (содержание, суммовой итог, документ-основание)._1SACCS — план счетов. Хранит настройки счетов (признаки активности/пассивности, количественного, валютного и аналитического учета).При проектировании прямых запросов и оптимизации системы важно учитывать следующие нюансы платформы 1С 7.7:
_1SENTRY до нужной даты.1SBKTTL.DBF не может превышать 2 ГБ. При росте аналитики и объема проводок требуется регулярное проведение процедуры свертки информационной базы или переход на MS SQL Server.