Почему в регистре бухгалтерии 1С отсутствуют поля СчетДт, СчетКт, КоличествоДт и КоличествоКт?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет IT и автоматизация бизнеса
← На главную

При создании собственного регистра бухгалтерии или разработке запросов к физической таблице движений начинающие разработчики часто сталкиваются с ошибками вида «Поле не найдено: Хозрасчетный.СчетДт» или отсутствием полей КоличествоДт и КоличествоКт. Разберем по шагам, от каких настроек метаданных зависит состав полей регистра бухгалтерии в платформе 1С:Предприятие и как правильно сконфигурировать объект.

Рассмотрим типовой запрос к таблице движений регистра:


ВЫБРАТЬ
    Хозрасчетный.Период КАК Период,
    Хозрасчетный.Организация КАК Организация,
    Хозрасчетный.СчетДт КАК СчетДт,
    Хозрасчетный.СчетКт КАК СчетКт,
    Хозрасчетный.КоличествоДт КАК КоличествоДт,
    Хозрасчетный.КоличествоКт КАК КоличествоКт,
    Хозрасчетный.Сумма КАК Сумма
ИЗ
    РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный

Если при открытии Конструктора запроса или выполнении кода платформа сообщает о синтаксической ошибке и отсутствии части полей, проанализируем настройки свойств регистра бухгалтерии.

1. Настройка поддержки корреспонденции (поля СчетДт и СчетКт)

Выясним причину отсутствия полей СчетДт и СчетКт. В платформе 1С регистр бухгалтерии может работать в двух режимах:

  1. Без поддержки корреспонденции: каждая бухгалтерская проводка представляется двумя отдельными записями (одна строка по дебету, вторая по кредиту), аналогично регистру накопления. В такой таблице присутствуют поля Счет и ВидДвижения.
  2. С поддержкой корреспонденции: каждая запись регистра представляет собой законченную проводку методом двойной записи, связывающую дебет одного счета с кредитом другого.

Чтобы в таблице регистра появились стандартные поля СчетДт и СчетКт, выполним следующие действия в конфигураторе:

  1. Откроем окно редактирования объекта РегистрБухгалтерии.
  2. На первой вкладке «Основные» найдем свойство «Корреспонденция».
  3. Установим флаг «Корреспонденция».

2. Настройка балансовых и небалансовых ресурсов (поля КоличествоДт и КоличествоКт)

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

Поведение ресурсов регистра бухгалтерии определяется свойством «Балансовый»:

  1. Балансовый ресурс (флаг установлен): значение ресурса жестко связано с проводкой в целом и не может различаться для дебета и кредита. Классический пример — ресурс Сумма (сумма по дебету всегда равна сумме по кредиту проводки). Поэтому в таблице формируется одно общее поле Сумма.
  2. Небалансовый ресурс (флаг снят): значение ресурса может присутствовать только по одной стороне проводки или иметь разные значения по дебету и кредиту. Пример — Количество (при списании материалов со склада на затратный счет количество учитывается по дебету счета затрат только в том случае, если на нем включен количественный учет).

Чтобы ресурс разделился на два независимых поля по дебету и кредиту, снимем признак балансовости:

  1. В дереве метаданных раскроем ветку «Ресурсы» нужного регистра бухгалтерии.
  2. Откроем палитру свойств ресурса (например, Количество).
  3. Снимем флаг «Балансовый».
  4. В свойстве «Признак учета» выберем соответствующий реквизит плана счетов (например, признак учета Количественный). Это обеспечит автоматический контроль ведения ресурса только по тем счетам, где он включен.

После снятия флага платформа автоматически создаст в таблице движений два поля: <ИмяРесурса>Дт и <ИмяРесурса>Кт.

3. Балансовые и небалансовые измерения регистра

Рассмотрим аналогичное поведение для измерений регистра бухгалтерии:

  1. Если у измерения (например, Организация) установлен флаг «Балансовый», оно является сквозным для всей проводки и в запросе доступно как единое поле Организация.
  2. Если флаг «Балансовый» снят (например, для измерения Подразделение), измерение распадается на два независимых поля: ПодразделениеДт и ПодразделениеКт. Это позволяет отражать межподразделенческие перемещения внутри одной проводки.

4. Особенности работы с субконто и виртуальными таблицами

Обратим внимание на работу со связанными данными при составлении запросов:

  1. Поля субконто: количество доступных полей вида СубконтоДт1, СубконтоДт2, СубконтоКт1 и т.д. определяется свойством плана счетов «Максимальное количество субконто». При обращении к реквизитам значений субконто в физической таблице движений необходимо явно типизировать их через функцию ВЫРАЗИТЬ().
  2. Выбор между физической и виртуальной таблицей: прямое обращение к таблице РегистрБухгалтерии.<Имя> оправдано при проверке первичных движений документов. Для аналитических отчетов эффективнее использовать виртуальную таблицу ОборотыДтКт или ДвиженияССубконто, где агрегированные ресурсы и аналитика оптимизированы для быстрых выборок.

Важное предупреждение: изменение флага «Корреспонденция» или свойства «Балансовый» у ресурсов и измерений в информационной базе с существующими движениями вызывает полную физическую реструктуризацию таблиц базы данных на уровне СУБД. Это может привести к необратимой потере ранее записанных движений, поэтому структуру регистра необходимо настраивать до ввода первичных данных либо предварительно создавать резервную копию.

← На главную