Размещение данных 1С:Предприятия 8


Приведенная здесь информация предназначена исключительно для понимания расположения и состава данных, используемых 1С:Предприятием, и предназначена для разработчиков прикладных решений и специалистов, занимающихся администрированием информационных баз 1С:Предприятия 8.

Информационные базы, хранилища конфигураций, вспомогательные данные, временные данные
Предметом данного рассмотрения являются только те данные, которые 1С:Предприятие использует всегда, независимо от действий, исполняемых конкретными конфигурациями, или действий, связанных с выбором пользователем тех или иных файлов. Таким образом, файлы конфигураций, выгрузки данных, внешние обработки и другие файлы, внешние по отношению к 1С:Предприятию 8 здесь рассматриваться не будут.
Данные, которые 1С:Предприятие использует всегда, могут быть разделены на 5 групп в соответствии с их назначением и мерой их ответственности:
  • Информационные базы. К информационным базам относится наиболее ответственная информация, включающая: конфигурацию, все данные о хозяйственной деятельности предприятия а также административную информацию. Все данные, относящиеся к информационной базе, объединяются в базу данных. Потеря или искажение каких-то данных информационной базы может привести к потере работоспособности системы, построенной на базе 1С:Предприятия.
  • Хранилище конфигурации содержит текущую конфигурацию и историю ее разработки при использовании в Конфигураторе средств групповой разработки. При разработке конфигурации эта информация также является "жизненно важной".
  • Журнал регистрации содержит список операций, совершенных над данной информационной базой. Эта информация не является необходимой для работы системы на базе 1С:Предприятия, но может быть важной с организационной точки зрения.
  • Вспомогательные данные. К вспомогательным относятся такие данные, которые служат для удобства пользователя и не влияют на логику работы системы на базе 1С:Предприятия.
    • Профайлы содержат информацию о расположении окон, текущих позициях, состоянии диалогов и других настройках, позволяющих пользователю работать наиболее комфортно. Различные конфигурации могут хранить в профайлах и другую информацию, которая может быть полезной, но не является необходимой.
    • Другие вспомогательные данные. К ним относятся списки информационных баз, зарегистрированных на клиенте или на сервере, и некоторые другие данные.
  • Временные данные. Эти данные использует приложение 1С:Предприятия 8 для служебных целей. Они актуальны только в пределах одного сеанса работы и после его завершения уничтожаются.

Размещение данных, принадлежащих разным группам, отличается. Дополнительное разнообразие в способы хранения данных вносит возможность организации как файловых, так и клиент-серверных информационных баз.       

Организация информационных баз

Данные, которые определяют логику функционирования системы на базе 1С:Предприятия, относятся к информационной базе. Хранение информационной базы осуществляется в базе данных с виде набора таблиц, для чего 1С:Предприятие 8 может использовать одну из пяти систем управления базами данных (СУБД):
  • Встроенную в 1С:Предприятие 8 (файловый вариант информационной базы). В этом случае все данные информационной базы хранятся в файле с именем 1cv8.1cd. Этот файл имеет двоичный формат и по сути является базой данных для встроенной в 1С:Предприятие 8 СУБД.
  • Microsoft SQL Server (клиент-серверный вариант информационной базы). Все данные информационной базы хранятся в базе данных Microsoft SQL Server.
  • PostgreSQL (клиент-серверный вариант информационной базы). Все данные информационной базы хранятся в базе данных PostgreSQL.
  • IBM DB2 (клиент-серверный вариант информационной базы). Все данные информационной базы хранятся в базе данных IBM DB2.
  • Oracle Datebase (клиент-серверный вариант информационной базы). Все данные информационной базы хранятся в базе данных Oracle Database.

На уровне объектов базы данных (таблиц, полей, индексов и т. п.) как файловый так и клиент-серверный вариант информационной базы имеют сходный формат (отличающийся несущественными деталями). Некоторая информация об этом формате содержится ниже.
Вся информационная база представляется в базе данных в виде набора таблиц. Среди них есть несколько таблиц, которые обязательно присутствуют в представлении любой информационной базы:
  • Config - основная конфигурация информационной базы. Эта конфигурация соответствует реальной структуре данных и используется 1С:Предприятием 8.0 в режиме Предприятия.
  • ConfigSave - конфигурация, редактируемая Конфигуратором. Конфигурация из ConfigSave переписывается в Config при выполнении "Обновления конфигурации базы данных" в Конфигураторе, а наоборот - при выполнении в Конфигураторе операции "Конфигурация - Конфигурация базы данных - Вернуться к конфигурации БД".
  • Files содержит служебную информацию, например, о работе с хранилищем конфигурации.
  • Params содержит параметры информационной базы. Среди них:
    • Национальные настройки информационной базы.
    • Таблица соответствия объектов метаданных и объектов базы данных (таблиц, полей, индексов).
    • Некоторая другая информация.
  • _YearOffset - смещение дат в базе данных. Эта таблица создается только при использовании Microsoft SQL Server.
  • DBSchema содержит информацию о структуре базы данных 1С:Предприятия и определяет другие объекты базы данных, используемые данной информационной базой.
  • v8users  - cписок пользователей.
  • _UsersWorkHistory  - история работы пользователей.
  • _SystemSettings  - хранилище системных настроек.
  • _RepSettings  - хранилищe настроек отчетов.
  • _RepVarSettings  - хранилище настроек вариантов отчетов.
  • _CommonSettings  - хранилище общих настроек.
  • _FrmDtSettings - хранилище настроек данных форм.

При старте 1С:Предприятие проверяет наличие в информационной базе перечисленных таблиц и в случае отсутствия какой-нибудь из них выдается сообщение "информационная база разрушена". Отсутствие всех перечисленных таблиц означает, что информационная база пустая. В последнем случае эти таблицы будут созданы.
Перечень и структура других таблиц базы данных определяется конкретной конфигурацией, а именно, определенными в ней объектами метаданных. Имя каждой таблицы состоит из буквенного префикса и следующего за ним номера. Префикс определяет назначение таблицы, а номер позволяет различать таблицы одинакового назначения, относящиеся к разным объектам метаданных. Если в качестве СУБД используется IBM DB2, то описанную структуру имеют не имена таблиц, а их псевдонимы.
Если в конфигурации определен хотя бы один план обмена с установленным флагом "Распределенная информационная база", то будут созданы следующие таблицы:
  • _ConfigChangeRec - таблица регистрации изменений объектов конфигурации.
  • _ConfigChangeRec_ExtProps - таблица имен файлов измененных внешних свойств объектов конфигурации.

Ниже перечислены различные объекты метаданных, которым могут соответствовать те или иные таблицы.
  • Константы
    • _Consts содержит текущие значения всех констант, определенных в конфигурации.
    • _ConstsChngR - таблица регистрации изменений констант. Создается, если хотя бы одна константа участвует хотя бы в одном плане обмена.
  • Планы обмена
    • _Node<n> - таблица плана обмена.
    • _Node<n>_VT<k> - табличная часть плана обмена, создается для каждой табличной части.
  • Справочники
    • _Reference<n> - таблица справочника.
    • _Reference<n>_VT<k> - табличная часть справочника - для каждой табличной части.
    • _ReferenceChngR<n> - таблица регистрации изменений справочника. Создается, если справочник участвует хотя бы в одном плане обмена.
  • Документы
    • _Document<n> - таблица документов для каждого объекта метаданных "документ".
    • _Document<n>_VT<k> - табличная часть документа - для каждой табличной части каждого документа.
    • _DocumentChngR<n> - таблица регистрации изменений объекта метаданных типа "документ". Создается для каждого объекта метаданных типа "документ", если он участвует хотя бы в одном плане обмена.
  • Последовательности документов
    • _Seq<n> - таблица регистрации документов - для каждой последовательности.
    • _SeqB<n> - таблица границ последовательности - для каждой последовательности.
    • _SeqChngR<n> - таблица регистрации изменений последовательности. Создается для каждой последовательности, которая участвует хотя бы в одном плане обмена.
  • Журналы документов.
    • _DocumentJournal<n> - таблица журнала документов, создается для каждого журнала документов.
  • Перечисления
    • _Enum<n> - таблица перечисления - по одной для каждого перечисления.
  • Планы видов характеристик
    • _Chrc<n> - основная таблица плана видов характеристик.
    • _Chrc<n>_VT<k> - табличная часть плана видов характеристик - для каждой табличной части.
    • _ChrcChngR<n> - таблица регистрации изменений плана видов характеристик. Создается, если план видов характеристик участвует хотя бы в одном плане обмена.
  • Планы счетов
    • _Acc<n> - основная таблица плана счетов.
    • _Acc<n>_ExtDim<k> - таблица видов субконто плана счетов, создается для плана счетов в том случае, если максимальное количество субконто больше нуля.
    • _Acc<n>_VT<k> - табличная часть плана счетов, создается для каждой табличной части плана счетов.
    • _AccChngR<n> - таблица регистрации изменений плана счетов. Создается, если план счетов участвует хотя бы в одном плане обмена.
  • Планы видов расчета
    • _CKind<n> - основная таблица плана видов расчета.
    • _CKind<n>_BaseCK - таблица базовых видов расчета, создается для плана видов расчета в случае, если его свойство "Зависимость от базы" имеет значение, отличное от "Не зависит".
    • _CKind<n>_DisplacedCK - таблица вытесняемых видов расчета, создается для плана видов расчета в случае, если у него установлен флаг "Использует период действия".
    • _CKind<n>_LeadingCK - таблица ведущих видов расчета - для каждого плана видов расчета.
    • _CKindDN<n> - вспомогательная таблица для порядка вытеснения, создается, если у плана видов расчета установлен флаг "Использует период действия".
    • _CKind<n>_VT<k> - табличная часть плана видов расчета, создается для каждой табличной части.
    • _CKindChngR<n> - таблица регистрации изменений плана видов расчета. Создается, если план видов расчета участвует хотя бы в одном плане обмена.
  • Регистры сведений
    • _InfoRg<n> - таблица движений регистра сведений.
    • _InfoRChngRg<n> - таблица регистрации изменений регистра сведений. Создается, если регистр сведений участвует хотя бы в одном плане обмена.
  • Регистры накопления
    • _AccumRg<n> - таблица движений регистра накопления.
    • _AccumRgT<n> - таблица итогов регистра накопления, если регистр поддерживает остатки.
    • _AccumRgTn<n> - таблица оборотов регистра накопления, если регистр поддерживает обороты.
    • _AccumRgChngR<n> - таблица регистрации изменений регистра накопления. Создается, если регистр накопления участвует хотя бы в одном плане обмена.
    • _AccumROpt - таблица настроек хранения итогов регистров накопления одна на все регистры накопления.
    • _AccumRgAgg<n> - таблица агрегатов регистра накопления.
    • _AccumRgAggOpt  - таблица опций сети агрегатов.
    • _AccumRgSt<n> - таблица статистики регистра накопления.
    • _AccumRgBf<n> - таблица буфера новых оборотов регистра накопления.
    • _AccumRgDl<n> - таблица новых оборотов регистра накопления.
    • _AccumRgAggDims  - таблица кодов измерений регистра накопления.
    • _AccumRgAggGrid таблица сети агрегатов
  • Регистры бухгалтерии
    • _AccRg<n> - таблица движений регистра бухгалтерии.
    • _AccRgED<n> - таблица значений субконто регистра бухгалтерии, создается в том случае, если он ссылается на план счетов, у которого максимальное количество субконто больше нуля.
    • _AccRgAT0<n> - таблица итогов по счету.
    • _AccRgAT<i><n> - где i от 1 до максимального количества субконто. Таблица итогов по счету с количеством видов субконто равным i.
    • _AccRgCT<n> - таблица итогов оборотов между счетами, только для регистра бухгалтерии поддерживающего корреспонденцию.
    • _AccRgChngR<n> - таблица регистрации изменений регистра бухгалтерии. Создается, если регистр бухгалтерии участвует хотя бы в одном плане обмена.
    • _AccRgOpt - таблица настроек хранения итогов одна на все регистры бухгалтерии.
  • Регистры расчета
    • _CRg<n> - таблица движений регистра расчета.
    • _CRgActP<n> - таблица фактических периодов действия для регистра расчета, создается, если у регистра расчета установлен флаг "Период действия".
    • _CRgChnR<n> - таблица регистрации изменений регистра расчета. Создается для каждого регистра расчета, участвующего хотя бы в одном плане обмена.
    • _CRgRecalc<n> - таблица перерасчета регистра расчета, создается для каждого перерасчета.
    • _CRgRecalcChngR<n> - таблица регистрации изменений перерасчета. Создается, если перерасчет участвует хотя бы в одном плане обмена.
  • Бизнес-процессы
    • _BPRPoints<n> - таблица точек маршрута бизнес-процесса для каждого бизнес-процесса.
    • _BPr<n> - основная таблица бизнес-процесса.
    • _BPr<n>_VT<k> - табличная часть бизнес-процесса для каждой табличной части.
    • _BPrChngR<n> - таблица регистрации изменений бизнес-процесса. Создается для каждого бизнес-процесса, участвующего хотя бы в одном плане обмена.
  • Задачи
    • _Task<n> - основная таблица задачи.
    • _Task<n>_VT<k> - табличная часть задачи для каждой табличной части.
    • _TaskChngR<n> - таблица регистрации изменений в задачах. Создается для каждого объекта метаданных типа "задача", который участвует хотя бы в одном плане обмена.

При использовании IBM DB2 префиксы псевдонимов таблиц начинаются не с символа подчеркивания, а сразу с буквенной части.

Таблицы и поля

Раздел содержит описание состава полей таблиц базы данных, определяемых различными объектами метаданных. Приведенная здесь информация актуальна для 1С:Предприятия версии 8.9 и выше. В последующих версиях состав таблиц и полей может быть изменен. Эта информация не должна использоваться для работы с этими данными какими либо способами, не предусмотренными штатными механизмами 1С:Предприятия 8.

Имена полей

Состав полей каждой таблицы базы данных и их имена определяется соответствующим ей объектом метаданных. Имена полей могут различаться в зависимости от их назначения и типа хранящихся в них данных. Каждое имя поля может содержать:
  • префикс из латинских букв (<pref>), определяющий назначение данных, содержащихся в этом поле. Префикс присутствует в имени любого поля;
  • числовой номер (<n>, <i> или <k>), позволяющий отличить поля, содержащие похожие по назначению данные. Существуют поля, имена которых не содержат номера;
  • суффикс из латинских букв, зависящий от типа данных, хранимых в полях (<suff>). Существуют поля, имена которых не содержат суффикса.

В разделе Особенности хранения составных типов данных описано формирование полей базы данных с различными суффиксами в зависимости от типов соответствующих полей объектов метаданных. Данный раздел описывает формирование префиксов имен полей в зависимости от их назначения для каждого из объектов метаданных. Для каждого поля указано, участвует ли в ее имени числовой номер и/или суффикс. Участие суффикса в имени поля может означать, что для некоторых типов данных вместо одного поля может создаваться несколько полей, которые имеют одинаковый префикс и числовой номер (если есть), а различаются суффиксами.

Состав полей

Множество полей таблиц базы данных определяется типом объекта метаданных верхнего уровня (константы, планы обмена, справочники, документы, последовательности документов, журналы документов, перечисления, планы видов характеристик, планы счетов, планы видов расчета, регистры сведений, регистры накопления, регистры бухгалтерии, регистры расчета, бизнес-процессы, задачи), а также составом и типами подчиненных им объектов метаданных. Ниже рассматривается формирование состава полей для каждого из объектов метаданных верхнего уровня.

Константы

Если в конфигурации определена хотя бы одна константа, то создается таблица констант (_Consts), содержащая поля:
  • _RecordKey - ключ записи, необходимый для правильной установки транзакционных блокировок;
  • _Fld<n> - поле, хранящее значение одной константы. Для константы составного типа создается несколько полей с одинаковыми префиксом и номером и различными суффиксами.

Если хотя бы одна константа участвует в обмене данными, то создается таблица регистрации изменений констант (_ConstsChangeRec) со следующими полями:
  • _Node - ссылка на узел плана обмена;
  • _MessageNo - номер сообщения обмена данными, в которое было выгружено это изменение или NULL, если оно еще не было выгружено;
  • _ConstID - идентификатор константы, значение которой изменилось.

Табличная часть

Каждой табличной части соответствует таблица базы данных (<pref><n>_VT<k>), содержащая следующие поля:
  • <pref><n>_ID<suff> - ссылка на объект базы данных, которому принадлежит запись табличной части;
  • _KeyField - ключ записи табличной части в рамках одного объекта базы данных
  • _LineNo<n> - номер записи табличной части
  • _Fld3185<n><suff> - реквизит табличной части (для каждого реквизита, определенного в конфигурации). Для реквизита составного типа создается несколько полей с одинаковыми префиксом и номером и различными суффиксами.

Планы обмена

Для каждого плана обмена создается таблица (_Node<n>) со следующими полями:
  • _ID<suff> - идентификатор узла;
  • _Version - версия записи (изменяется после каждого обновления данной записи);
  • _Marked - признак того, что узел помечен на удаление;
  • _Code - код узла;
  • _Description - описание узла;
  • _SentNo - номер последнего отправленного сообщения обмена данными в адрес этого узла;
  • _ReceivedNo - номер последнего сообщения обмена данными, полученного от этого узла;
  • _Fld<n><suff> - реквизит плана обмена (для каждого реквизита, определенного в конфигурации).

Справочники

Для каждого справочника создается таблица (_Reference<n>) со следующими полями:
  • _ID<suff> - идентификатор элемента справочника;
  • _Version - версия записи (изменяется после каждого обновления данной записи);
  • _Marked - признак того, что элемент справочника помечен на удаление;
  • _IsMetadata - признак того, что элемент справочника является предопределенным (определенный в конфигурации);
  • _ParentID<suff> - идентификатор элемента справочника или группы, которому подчинен данный элемент справочника. Поле определяется только для иерархических справочников;
  • _OwnerID<suff> - идентификатор владельца данного элемента справочника. Поле определено, если в конфигурации для справочника указаны владельцы;
  • _Folder - признак того, что запись представляет группу. Поле определено, если справочник иерархический и в иерархию входят группы;
  • _Code - код элемента справочника;
  • _Description - описание элемента справочника;
  • _Fld<n><suff> - реквизит справочника (для каждого реквизита, определенного в конфигурации).

Если справочник участвует в обмене данными, то для него определяется таблица регистрации изменений (_ReferenceChangeRec<n>) со следующими полями:
  • _Node<suff> - ссылка на узел плана обмена;
  • _MessageNo - номер сообщения обмена данными, в которое было выгружено это изменение или NULL, если оно еще не было выгружено;
  • _ID<suff> - идентификатор измененного элемента справочника.

Документы

Для каждого документа создается таблица (_Document<n>) со следующими полями:
  • _ID<suff> - идентификатор документа;
  • _Version - версия записи (изменяется после каждого обновления данной записи);
  • _Marked - признак того, что документ помечен на удаление;
  • _Date_Time - дата/ время документа;
  • _NumberPrefix - начало периода уникальности номера. Поле определено, если в конфигурации для документа задана поддержка уникальности номера в пределах периода;
  • _Number - номер документа;
  • _Posted - документ проведен;
  • _Fld<n><suff> - реквизит документа (для каждого реквизита, определенного в конфигурации).

Если документ участвует в обмене данными, то создается таблица регистрации изменений (_DocumentChangeRec<n>), поля которой аналогичны полям таблицы регистрации изменений справочника.

Последовательности документов

Для каждой последовательности документов создаются две таблицы: таблица регистрации документов и таблица границ последовательности. Таблица регистрации документов (_Seq<n>) содержит поля:
  • _Period - дата/ время документа;
  • _Recorder<suff> - ссылка на документ;
  • _Fld<n><suff> - измерение последовательности (для каждого измерения, определенного в конфигурации).

Таблица границ последовательности (_SeqB<n>) содержит поля:
  • _Fld<n><suff> - измерение последовательности (для каждого измерения, определенного в конфигурации);
  • _Period - дата/ время последнего документа по текущему набору значений измерений;
  • _Recorder<n><suff> - ссылка на последний документ по текущему набору значений измерений.

Если последовательность участвует в обмене данными, то еще создается таблица регистрации изменений (_SeqChngR<n>) с полями:
  • _Node<suff> - ссылка на узел плана обмена;
  • _MessageNo - номер сообщения обмена данными, в которое было выгружено это изменение или NULL, если оно еще не было выгружено;
  • _Recorder<suff> - ссылка на документ, которому соответствует измененная запись в таблице регистрации документов.

Журналы документов

Каждому журналу документов соответствует таблица (_DocumentJournal<n>) со следующими полями:
  • _Document<suff> - ссылка на документ;
  • _Date_Time - дата/ время документа;
  • _Marked - признак того, что документ помечен на удаление;
  • _Posted - признак того, что документ проведен;
  • _Number - номер документа;
  • _Fld<n><suff> - графа журнала (для каждой графы, определенной в конфигурации).

Перечисления

Для каждого перечисления создается таблица (_Enum<n>) с полями:
  • _ID<suff> - идентификатор элемента перечисления;
  • _EnumOrder - числовое значение элемента перечисления.

Планы видов характеристик

Для каждого плана видов характеристик создается таблица (_Chrc<n>) со следующими полями:
  • _ID<suff> - идентификатор вида характеристик;
  • _Version - версия записи (изменяется после каждого обновления данной записи);
  • _Marked - признак того, что вид характеристик помечен на удаление;
  • _IsMetadata - признак того, что вид характеристик является предопределенным (определенным в конфигурации) ;
  • _ParentID<suff> - идентификатор вида характеристик (или группы видов характеристик), которому подчинен данный. Поле присутствует только для иерархического плана видов характеристик;
  • _Folder - признак того, что запись является группой видов характеристик. Поле присутствует только для иерархического плана видов характеристик;
  • _Code - код вида характеристик;
  • _Description - описание вида характеристик;
  • _Type - тип значения характеристики этого вида характеристик;
  • _Fld<n><suff> - реквизит вида характеристик (для каждого реквизита, определенного в конфигурации).

Если план видов характеристик участвует в обмене данными, то создается таблица регистрации изменений (_ChrcChangeRec<n>) с такими же полями, как у таблицы регистрации изменений справочника.

Планы счетов

Для каждого плана счетов создается таблица (_Acc<n>) со следующими полями:
  • _ID<suff> - идентификатор счета;
  • _Version - версия записи (изменяется после каждого обновления данной записи);
  • _Marked - признак того, что счет помечен на удаление;
  • _IsMetadata - признак того, что счет является предопределенным (определенным в конфигурации);
  • _ParentID<suff> - идентификатор счета, которому подчинен данный;
  • _Code - код счета;
  • _Description - описание счета;
  • _OrderField - поле сортировки, содержит данные, по которым фактически выполняется сортировка по коду. Поле присутствует, если в конфигурации определен автопорядок по коду;
  • _Kind - код вида счета (активный/ пассивный/ активный-пассивный);
  • _OffBalance - забалансовый счет;
  • _Fld<n><suff> - реквизит или признак учета (для каждого реквизита и для каждого признака учета).

Если в конфигурации определено отличное от 0 максимальное количество субконто, то создается таблица видов субконто (_Acc<n>_ExtDim<k>), которая содержит поля:
  • _Acc<n>_ID<suff> - ссылка на счет, которому принадлежит характеристика субконто;
  • _KeyField - ключ характеристики субконто;
  • _LineNo - номер характеристики субконто;
  • _DimKind<suff> - ссылка на вид характеристики;
  • _DimIsMetadata - предопределенная (определенная в конфигурации) характеристика субконто;
  • _TurnoverOnly - эта характеристика участвует только при подсчете оборотов.
  • _Fld<n><suff>

Если план счетов участвует в обмене данными, то создается таблица регистрации изменений (_AccChangeRec<n>) с такими же полями, как у таблицы регистрации изменений справочника.

Планы видов расчета

Для каждого плана видов расчета создается таблица (_CKind<n>) с полями:
  • _ID<suff> - идентификатор вида расчета;
  • _Version - версия записи (изменяется после каждого обновления данной записи);
  • _Marked - признак того, что вид расчета помечен на удаление;
  • _PredefinedObj - признак того, что вид расчета является предопределенным (определенным в конфигурации);
  • _Code - код вида расчета. Поле присутствует, если в конфигурации указана отличная от нуля длина кода;
  • _Description - описание вида расчета. Поле присутствует, если в конфигурации указана отличная от нуля длина описания;
  • _BaseAsAct - базовый период как период действия. Поле присутствует, если план видов расчета использует период действия;
  • _Fld<n><suff> - реквизит (для каждого реквизита, определенного в конфигурации).

Еще для каждого плана видов расчета создается таблица ведущих видов расчета (_CKind<n>_LeadingCK) с полями:
  • _CalcKind<n>_ID<suff> - ссылка на вид расчета, которому принадлежит таблица ведущих видов расчета;
  • _KeyField - ключ ведущего вида расчета;
  • _LeadingCKLineNo - номер ведущего вида расчета;
  • _LeadingCKLeadingCK<suff> - ссылка на ведущий вид расчета;
  • _PredefinedLeadingCKTableLine - признак того, что ведущий вид расчета является предопределенным (определенным в конфигурации).

Если значение свойства Зависимость от базы плана видов расчета отличается от Не зависит, то создается таблица базовых видов расчета (_CKind<n>_BaseCK) с поля:
  • _CalcKind<n>_ID<suff> - ссылка на вид расчета, которому принадлежит таблица базовых видов расчета;
  • _KeyField - ключ базового вида расчета;
  • _DisplacedCKLineNo - номер базового вида расчета;
  • _DisplacedCKDisplCK<suff> - ссылка на базовый вид расчета;
  • _PredefinedDisplCKTableLine - признак того, что базовый вид расчета является предопределенным (определенным в конфигурации).

Если у плана видов расчета установлен флаг "Использует период действия", то создается таблица вытесняемых видов расчета (_CKind<n>_DisplacedCK) с полями:
  • _CalcKind<n>_ID<suff> - ссылка на вид расчета, которому принадлежит таблица вытесняемых видов расчета;
  • _KeyField - ключ вытесняемого вида расчета;
  • _DisplacedCKLineNo - номер вытесняемого вида расчета;
  • _DisplacedCKDisplCK<suff> - ссылка на вытесняемый вид расчета;
  • _PredefinedDisplCKTableLine - предопределенный (определенный в конфигурации) вытесняемый вид расчета.

Если у плана видов расчета установлен флаг Использует период действия то создается таблица порядка вытеснения (_KindDN<n>) с полями:
  • _CKRef<suff> - ссылка на вид расчета;
  • _DisplNumber - номер, определяющий место этого расчета в порядке вытеснения.

Если план видов расчета участвует хотя бы в одном плане обмена, то создается таблица регистрации изменений (_KindChangeRec<n>), с такими же полями, что и у таблицы регистрации изменений справочника.

Регистры сведений

Для каждого регистра сведений создается таблица движений (_InfoRg<n>) с полями:
  • _Period - момент времени движения. Поле присутствует, если значение свойства "Периодичность" отлично от "Непериодический";
  • _Recorder<suff> - ссылка на регистратор. Поле присутствует, если значением свойства "Режим записи" является "Подчинение регистратору";
  • _LineNo - номер движения по данному регистратору. Поле присутствует, если значением свойства "Режим записи" является "Подчинение регистратору";
  • _Active - движение активно (участвует в вычислении среза последних). Поле присутствует, если значением свойства "Режим записи" является "Подчинение регистратору";
  • _Fld<n><suff> - измерение, ресурс или реквизит (для каждого измерения, каждого ресурса и каждого реквизита);
  • _SimpleKey - короткий ключ записи регистра. Поле присутствует у непериодических регистров, имеющих хотя бы одно измерение.

Если регистр сведений участвует хотя бы в одном плане обмена, то создается таблица регистрации изменений (_InfoRgChangeRec<n>). Для регистра, у которого свойство Режим записи имеет значение Независимый таблица регистрации изменений имеет следующие поля:
  • _Node<suff> - ссылка на узел плана обмена;
  • _MessageNo - номер сообщения обмена данными, в которое было выгружено это изменение или NULL, если оно еще не было выгружено;
  • _Period - момент времени движения. Поле присутствует, если значение свойства регистра "Периодичность" отлично от "Непериодический" и установлен флаг "Основной отбор по периоду";
  • _Fld<n><suff> - измерение регистра, входящее в основной отбор (для каждого изменения с установленным флагом "Основной отбор").

Если значением свойства Режим записи регистра является Подчинение регистратору, то поля таблицы регистрации изменений такие же, какие у таблицы регистрации изменений последовательности.

Регистры накопления

Для каждого регистра накопления создается таблица движений (_AccumRg<n>) с полями:
  • _Period - момент времени движения;
  • _Recorder<suff> - ссылка на регистратор;
  • _LineNo - номер движения по данному регистратору;
  • _Active - признак того, что движение активно (участвует в подсчете остатков и оборотов);
  • _RecordKind - вид движения (приход/ расход);
  • _Fld<n><suff> - измерение, ресурс или реквизит (для каждого измерения, каждого ресурса и каждого реквизита);
  • _DimHash - хеш функция измерений. Поле присутствует, если количество измерений не позволяет организовать уникальный индекс по измерениям.

Если регистр поддерживает остатки, то создается таблица остатков (_AccumRgT<n>) с полями:
  • _Period - момент времени, на который посчитаны остатки;
  • _Fld<n><suff> - измерение или остаток по ресурсу (для каждого измерения и каждого ресурса).
  • _Splitter - разделитель итогов (для обеспечения параллельности проведения документов);

Если регистр поддерживает обороты, то создается таблица оборотов (_AccumRgTn<n>) с полями:
  • _Period - момент времени, на который посчитаны обороты;
  • _Fld<n><suff> - измерение или оборот по ресурсу (для каждого измерения и каждого ресурса).
  • _Splitter - разделитель итогов (для обеспечения параллельности проведения документов);

Если регистр накопления участвует хотя бы в одном плане обмена, то создается таблица регистрации изменений (_AccumRgChngR<n>) с такими же полями, какие у таблицы регистрации изменений последовательности.
Если конфигурация содержит хотя бы один регистр накопления, то создается одна таблица настроек хранения итогов (_AccumRgOpt) с полями:
  • _RegID - идентификатор регистра;
  • _Period - периодичность хранения итогов. Не используется;
  • _ActualPeriod - хранение актуальных итогов;
  • _Periodicity - периодичность регистра;
  • _RepetitionFactor - кратность. Не используется;
  • _UseTotals - использовать итоги;
  • _MinPeriod - минимальный период с которого надо пересчитывать итоги;
  • _UseSplitter - использовать разделитель итогов (для обеспечения параллельности проведения документов)

Агрегаты регистра накопления

Для каждого регистра накопления создается таблица агрегатов (_AccumRgAgg<n>).
Для каждого регистра накопления создается таблица статистики регистра накопления (_AccumRgSt<n>).
Для каждого регистра накопления создается таблица буфера новых оборотов регистра накопления (_AccumRgBf<n>).
Для каждого регистра накопления создается таблица новых оборотов регистра накопления (_AccumRgDl<n>).
Если конфигурация содержит хотя бы один агрегат регистра накопления, создаются таблицы:
Таблица опций сети агрегатов (_AccumRgAggOpt)
Таблица кодов измерений регистра накопления (_AccumRgAggDims)
Таблица сети агрегатов (_AccumRgAggGrid)

Регистры бухгалтерии

Для каждого регистра бухгалтерии создается таблица движений (_AccRg<n>), содержащая поля:
  • _Period - момент времени движения;
  • _Recorder<suff> - ссылка на регистратор;
  • _LineNo - номер движения по данному регистратору;
  • _Active - признак того, что движение участвует в подсчете итогов;
  • _Correspond - вид движения. Поле присутствует в регистрах без корреспонденции;
  • _Account<suff> - ссылка на счет. Поле присутствует в регистрах без корреспонденции;
  • _AccountDt<suff> - ссылка на счет дебета. Поле присутствует в регистрах с корреспонденцией;
  • _AccountCt<suff> - ссылка на счет кредита. Поле присутствует в регистрах с корреспонденцией;
  • _Fld<n><suff> - измерение, ресурс или реквизит (для каждого измерения, каждого ресурса и каждого реквизита);

Если регистр бухгалтерии ссылается на план счетов, у которого максимальное количество субконто больше нуля, то создается таблица значений субконто (_AccntRegED<n>) с полями:
  • _Period - момент времени движения;
  • _Recorder<suff> - ссылка на регистратор;
  • _LineNo - номер движения по данному регистратору;
  • _Correspond - вид движения. Поле присутствует в регистрах без корреспонденции;
  • _Kind<suff> - ссылка на характеристику субконто;
  • _Value<suff> - значение характеристики.

Таблиц итогов по счету (_AccRgAT<k><n>) столько, каково максимальное количество субконто в плане счетов, на который ссылается регистр бухгалтерии. Они содержат следующие поля:
  • _Period - момент на который подсчитаны итоги;
  • _Account<suff> - ссылка на счет;
  • _Value<i><suff> - значение субконто (для i от 1 до k);
  • _Fld<n><suff> - измерение или ресурс (для каждого измерения и каждого ресурса);
  • _TurnoverDt<n> - дебетовые обороты ресурса (для каждого ресурса);
  • _TurnoverCt<n> - кредитовые обороты ресурса (для каждого ресурса);
  • _Turnover<n> - общие обороты ресурса (для каждого ресурса). Используются при подсчете оборотов по субконто;
  • _Splitter - разделитель итогов (для обеспечения параллельности проведения документов);

Для регистра бухгалтерии, поддерживающего корреспонденцию, создается таблица итогов оборотов между счетами (_AccRgCT<n>) с полями:
  • _Period - момент на который подсчитаны итоги;
  • _AccountDt<suff> - дебетовый счет;
  • _AccountCt<suff> - кредитовый счет;
  • _Fld<n><suff> - измерение или ресурс (для каждого балансового измерения и каждого балансового ресурса);
  • _Fld<n>Dt<suff> - дебетовая составляющая измерения или ресурса (для каждого небалансового измерения и каждого небалансового ресурса);
  • _Fld<n>Ct<suff> - кредитовая составляющая измерения или ресурса (для каждого небалансового измерения и каждого небалансового ресурса).
  • _Splitter - разделитель итогов (для обеспечения параллельности проведения документов)

Если регистр бухгалтерии участвует хотя бы в одном плане обмена, то создается таблица регистрации изменений (_AccRgChngR<n>) с такими же полями, какие у таблицы регистрации изменений последовательности.
Если конфигурация содержит хотя бы один регистр бухгалтерии, то создается одна таблица настроек хранения итогов (_AccRgOpt) с полями:
  • _RegID - идентификатор регистра бухгалтерии;
  • _Period - периодичность хранения итогов. Не используется;
  • _ActualPeriod - хранение актуальных итогов;
  • _Periodicity - периодичность регистра;
  • _RepetitionFactor - кратность. Не используется;
  • _UseTotals - признак использования итогов;
  • _MinPeriod - минимальный период, с которого нужно пересчитывать итоги;
  • _UseSplitter - признак использования разделителя итогов.

Регистры расчета

Для каждого регистра расчета создается таблица движений (_CRg<n>) с полями:
  • _Period - момент времени движения;
  • _Recorder<suff> - ссылка на регистратор;
  • _LineNo - номер движения по данному регистратору;
  • _CalcKind<suff> - ссылка на вид расчета;
  • _ActionPeriod - период действия. Поле присутствует, если в конфигурации у регистра установлен флаг "Период действия";
  • _APDateFrom - момент начала периода действия. Поле присутствует, если в конфигурации у регистра установлен флаг "Период действия";
  • _APDateTill - момент окончания периода действия. Поле присутствует, если в конфигурации у регистра установлен флаг "Период действия";
  • _BPDateFrom - момент начала базового периода. Поле присутствует, если в конфигурации у регистра установлен флаг "Базовый период";
  • _BPDateTill - момент окончания базового периода. Поле присутствует, если в конфигурации у регистра установлен флаг "Базовый период";
  • _Active - признак того, что движение активно (участвует в расчете);
  • _Storno - признак того, что движение является сторно-записью;
  • _Fld<n><suff> - измерение, ресурс или реквизит (для каждого измерения, каждого ресурса и каждого реквизита).

Если у регистра расчета установлен флаг "Период действия", то создается таблица фактических периодов действия (_CRgActPer<n>), в которой имеются поля:
  • _Recorder<suff> - ссылка на регистратор;
  • _LineNo - номер движения по данному регистратору;
  • _APDateFrom - момент начала фактического периода действия;
  • _APDateTill - момент окончания фактического периода действия.

Если регистр расчета участвует хотя бы в одном плане обмена, то создается таблица регистрации изменений (_CRgChngR<n>) с такими же полями, какие у таблицы регистрации изменений последовательности.
Для каждого перерасчета создается таблица (_CRgRecalc<n>) с полями:
  • _Recorder<suff> - ссылка на регистратор;
  • _CalcKind<suff> - ссылка на вид расчета;
  • _Fld<n><suff> - измерение (для каждого измерения);

Если перерасчет участвует хотя бы в одном плане обмена, то создается таблица регистрации изменений (_CRgRecalcChngR<n>) с такими же полями, какие у таблицы регистрации изменений последовательности.

Бизнес-процессы

Для каждого бизнес-процесса создается таблица (_BPr<n>) с полями:
  • _ID<suff> - идентификатор бизнес-процесса;
  • _Version - версия записи (изменяется после каждого обновления данной записи);
  • _Marked - бизнес-процесс помечен на удаление;
  • _Date_Time - дата/ время бизнес-процесса;
  • _Completed - признак того, что бизнес-процесс завершен;
  • _Number - номер бизнес-процесса;
  • _HeadTask<suff> - ведущая задача;
  • _Started - признак того, что бизнес-процесс стартован;
  • _Fld<n><suff> - реквизит (для каждого реквизита).

Для каждого бизнес-процесса создается таблица точек маршрута (_BPrPoints<n>) с полями:
  • _ID<suff> - идентификатор точки маршрута;
  • _RoutePointOrder - номер точки маршрута.

Если бизнес-процесс участвует хотя бы в одном плане обмена, то создается таблица регистрации изменений (_BPrChngR<n>) с такими же полями, какие у таблицы регистрации изменений справочника.

Задачи

Для каждой задачи создается таблица (_Task<n>) с полями:
  • _ID<suff> - идентификатор задачи;
  • _Version - версия записи (изменяется после каждого обновления данной записи);
  • _Marked - задача помечена на удаление;
  • _BusinessProcess<suff> - ссылка на бизнес-процесс;
  • _Point<suff> - ссылка на точку маршрута;
  • _Date_Time - дата/ время задачи;
  • _Number - номер задачи;
  • _Name - имя задачи;
  • _Executed - задача выполнена;
  • _Fld<n><suff> - реквизит (для каждого реквизита).

Если задача входит хотя бы в один план обмена, то создается таблица регистрации изменений (_TaskChangeRec<n>) с полями, аналогичными полям таблицы регистрации изменений справочника.

Регламентные задания

Если в конфигурации определено хотя бы одно регламентное задание, то создается таблица регламентных заданий (_ScheduledJobs) с полями:
  • _ID - идентификатор регламентного задания;
  • _Description - описание;
  • _JobKey - ключ регламентного задания (для предотвращения одновременного запуска);
  • _MetadataID - идентификатор объекта метаданных;
  • _Predefined - признак того, что регламентное задание является предопределенным (определенным в конфигурации);
  • _Parameters - параметры регламентного задания;
  • _UserName - имя пользователя, от которого запускается регламентное задание;
  • _ActivationCondition - расписание;
  • _Use - признак того, что задание включено;
  • _RestartCount - количество перезапусков при ошибке;
  • _RestartPeriod - период времени между перезапусками при ошибке;
  • _RestartAttemptNumber - номер последней предпринятой попытки перезапуска;
  • _State - признак того, что задание выполняется;
  • _StartTime - время последнего запуска;
  • _FinishTime - время последнего завершения;
  • _Version - версия.

Хранилища поименованных двоичных данных (файлов)

1С:Предприятие создает в базе данных несколько таблиц, которые содержат конфигурацию, профайлы и некоторые другие данные в виде набора поименованных двоичных данных (файлов). К ним относятся таблицы: Config (конфигурация базы данных), ConfigSave (сохраненная конфигурация), Files (работа с хранилищем конфигурации, профайлы и т.п.), Params (   служебные параметры информационной базы). Все они имеют одинаковый набор полей:
  • FileName - имя файла;
  • Creation - момент времени создания файла;
  • Modified - момент времени последней модификации файла;
  • Attributes - атрибуты файла;
  • DataSize - длина файла в байтах;
  • BinaryData - данные, хранимые в файле.

Хранилища непоименованных двоичных данных

Следующие таблицы содержат единственную запись с двоичными данными, необходимыми для работы 1С:Предприятия: DBSchema (конфигурация базы данных),DBChanges (изменения схемы в процессе обновления конфигурации базы данных). Эти таблицы содержат единственное поле:
  • SerializedData - двоичные данные.

Список пользователей

Таблица  _v8users
  • ID - Уникальный идентификатор пользователя информационной базы
  • Name - Имя пользователя
  • Descr - Полное имя пользователя
  • OSName - Имя пользователя ОС или NULL, если аутентификация ОС не задана
  • Changed - Момент времени, когда пользователь был изменен в последний раз
  • RolesID - Идентификатор совокупности ролей пользователя
  • Show - Показывать пользователя в списке для диалога аутентификации
  • Data - Все данные о пользователе

История работы пользователей

Таблица _UsersWorkHistory
  • _ID - Уникальный идентификатор пользователя информационной базы                  
  • _UserID - ID пользователя - владельца настройки
  • _URL - URL               
  • _Date - Дата время
  • _URLHash - Хеш по URL    

Хранилище системных настроек

Таблица _SystemSettings
  • _UserId - ID пользователя - владельца настройки
  • _ObjectKey - Имя предмета настройки
  • _SettingsKey - Имя множественной (именованной) настройки
  • _Version - Версия объекта
  • _SettingsPresentation - Представление настройки
  • _SettingsData - Настройка

Xранилищe настроек отчетов

Таблица _RepSettings
  • _UserId - ID пользователя - владельца настройки
  • _ObjectKey - Имя предмета настройки
  • _SettingsKey - Имя множественной (именованной) настройки
  • _Version - Версия объекта
  • _SettingsPresentation - Представление настройки
  • _SettingsData - Настройка

Хранилище настроек вариантов отчетов
Таблица _RepVarSettings
  • _UserId - ID пользователя - владельца настройки
  • _ObjectKey - Имя предмета настройки
  • _SettingsKey - Имя множественной (именованной) настройки
  • _Version - Версия объекта
  • _SettingsPresentation - Представление настройки
  • _SettingsData - Настройка

Хранилище общих настроек
Таблица _CommonSettings
  • _UserId - ID пользователя - владельца настройки
  • _ObjectKey - Имя предмета настройки
  • _SettingsKey - Имя множественной (именованной) настройки
  • _Version - Версия объекта
  • _SettingsPresentation - Представление настройки
  • _SettingsData - Настройка

Хранилище настроек данных форм
Таблица _FrmDtSettings
  • _UserId - ID пользователя - владельца настройки
  • _ObjectKey - Имя предмета настройки
  • _SettingsKey - Имя множественной (именованной) настройки
  • _Version - Версия объекта
  • _SettingsPresentation - Представление настройки
  • _SettingsData - Настройка

Другие таблицы

Если в качестве СУБД используется Microsoft SQL Server, то в таблице _YearOffset хранится смещение дат в единственном поле:
  • Offset - смещение дат в годах.
Comments