В 1С:Предприятии 8 для отражения движения различных ресурсов, денежных средств и иных материальных ценностей существует регистр бухгалтерии. Регистр бухгалтерии предназначен для создания замкнутой системы (двойная запись) описывающей все стороны хозяйственной деятельности предприятия (план счетов). Данная область применения диктует некоторые особенности реализации регистра бухгалтерии.
Схема хранения данных регистра бухгалтерии в общих чертах очень похожа на схему хранения данных регистра накопления. Данные делятся на первичные – движения, и вторичные - итоги, которые рассчитываются на основании движений. Итоги хранятся с периодичностью, равной одному месяцу. Для одного регистра бухгалтерии, в зависимости от его типа, системой может быть создано от одной до нескольких таблиц итогов.
Таблицы итогов можно разделить на три категории – остатки и обороты по счету в целом, остатки и обороты по счету и субконто, обороты между корреспондирующими счетами.
Для хранения итогов по счету в целом используется одна таблица. Эта таблица существует для любого регистра бухгалтерии. Таблица имеет следующую структуру:
Период | Счет | Измерение | Остаток | ОборотДт | ОборотКт |
В эту таблицу итогов записываются итоги по всем счетам, независимо от их количества субконто.
Для хранения итогов в разрезе счета и субконто используется несколько таблиц. Количество этих таблиц равно максимальному количеству субконто определенных для данного регистра. В каждой таблице хранятся итоги по счетам с определенным количеством субконто. Так в первой таблице хранятся итоги по счетам с одним субконто, во второй – с двумя субконто и т.д.
Структура таблиц итогов для регистра бухгалтерии с максимальным количеством субконто равным двум будет выглядеть следующим образом:
Период | Счет | Измерение | Субконто1 | Остаток | ОборотДт | ОборотКт |
Период | Счет | Измерение | Субконто1 | Субконто2 | Остаток | ОборотДт | ОборотКт |
Для регистра бухгалтерии с поддержкой корреспонденции отдельно хранятся обороты в разрезе корреспондирующих счетов. Структура таблицы итогов оборотов между счетами:
Период | СчетДт | СчетКт | Измерение | Оборот |
Данное устройство таблиц итогов позволяет быстро получать данные как в целом по всем счетам (оборотно-сальдовая ведомость, шахматка), так и по отдельным счетам и их субконто (оборотно-сальдовая ведомость по счету).
Но, кроме преимуществ, у данной схемы есть и свои ограничения. При данной схеме хранения итогов невозможно организовать параллельный ввод данных по одному счету в разрезе одних и тех же измерений.
Допустим, есть конфигурация, которая содержит:
Тогда, если несколько пользователей попытаются провести документы по одной и той же организации с разной номенклатурой, они будут проведены последовательно друг за другом, а не одновременно. Если же пользователи будут проводить документы по разным организациям, то документы смогут провестись параллельно. Если пользователи будут проводить разные виды документов, которые осуществляют движения по разным счетам, то они тоже смогут провестись параллельно.
Данное поведение обусловлено тем, что при записи движений в регистр бухгалтерии происходит обновление итогов по счету в целом. При этом запись в таблице итогов будет заблокирована до завершения записи документа или ручной операции, что приведет к невозможности одновременной записи нескольких документов или ручных операций, если они создают движения в регистре бухгалтерии по одному и тому же счету.