При кастомизации типовых решений на базе 1С:Бухгалтерия 3.0, таких как 1С:Подрядчик строительства 4.0, разработчики часто сталкиваются с необходимостью добавления дополнительных разрезов аналитики на счета учета. Одной из типичных задач является добавление третьего субконто на счет 51 («Расчетные счета»). Однако нередко возникает ситуация: программист добавил субконто в План счетов, программно заполнил его в проводках документа СписаниеСРасчетногоСчета, проверил карточку счета — данные есть, а в Оборотно-сальдовой ведомости (ОСВ) пусто. В этой статье мы подробно разберем, почему так происходит, и как правильно настроить учет, чтобы аналитика отображалась корректно.
Прежде всего, давайте разберем механику работы отчетов. В системе 1С существует два принципиально разных способа получения данных из регистра бухгалтерии:
КарточкаСчета читает непосредственно таблицу движений (физическую таблицу проводок). Если в проводке заполнено поле Субконто, отчет его покажет, независимо от настроек итогов.Оборотно-сальдовая ведомость обращается к виртуальным таблицам итогов (Обороты, ОстаткиИОбороты). Эти таблицы содержат предварительно рассчитанные агрегаты. Если система «не знает», что по данному субконто нужно накапливать суммовые итоги, в виртуальных таблицах данные в разрезе этой аналитики будут отсутствовать.Рассмотрим по шагам, какие настройки необходимо проверить, если вы столкнулись с подобной проблемой.
Проанализируем основную причину, которая чаще всего становится камнем преткновения. В конфигураторе, при добавлении вида субконто на конкретный счет в Плане счетов, необходимо обратить внимание на три флажка: Суммовой, Валютный и Только обороты.
Если флаг Суммовой не установлен, платформа 1С ведет учет по этому субконто только в количественном выражении (если это предусмотрено) или просто как информационную ссылку в проводке. Суммовые остатки и обороты в разрезе этого субконто в таблицы итогов не записываются. Следовательно, стандартная ОСВ, которая всегда строится по суммам, не может сгруппировать данные по этой аналитике.
Порядок действий:
План счетов (Хозрасчетный) в конфигураторе или в пользовательском режиме (если редактирование разрешено).51.После этого крайне важно перепровести документы или выполнить пересчет итогов, чтобы система заполнила таблицы итогов суммовыми данными с учетом новой настройки.
Выясним еще одну деталь: иногда разработчики по ошибке устанавливают флаг Только обороты (Оборотное субконто). Если этот флаг стоит, то система не будет хранить остатки на начало и конец периода в разрезе этой аналитики. В Оборотно-сальдовой ведомости в этом случае вы увидите цифры в колонках «Дебет» и «Кредит» (обороты за период), но колонки «Сальдо» будут пустыми. Если же в настройках самой ОСВ стоит фильтр или настройка, скрывающая строки без остатков, субконто может не выводиться вовсе.
Если настройки Плана счетов верны, но данных все равно нет, проанализируем код проведения документа. При добавлении субконто программно важно убедиться, что вы записываете значение именно в тот «индекс» или «номер» субконто, который соответствует счету 51.
Посмотрим на пример правильного заполнения субконто в коде:
// Пример заполнения субконто в проводке
НоваяПроводка = Движения.Хозрасчетный.Добавить();
НоваяПроводка.Период = Дата;
НоваяПроводка.СчетКт = ПланыСчетов.Хозрасчетный.РасчетныеСчета; // Счет 51
// Предположим, наше новое субконто - третье по счету
НоваяПроводка.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НашеНовоеСубконто] = ЗначениеАналитики;
НоваяПроводка.Сумма = СуммаДокумента;
Обратите внимание, что для счета 51 в документах списания активным является Кредит. Если вы по ошибке заполнили СубконтоДт вместо СубконтоКт для 51 счета, то в ОСВ по счету 51 вы ничего не увидите, так как аналитика «уйдет» на корреспондирующий счет.
Рассмотрим ситуацию, когда субконто добавлено на счет, по которому уже есть движения за прошлые периоды. В базе данных для старых записей значение нового субконто будет равно NULL.
Система компоновки данных (СКД), на которой построена современная ОСВ в 1С:Бухгалтерия 3.0, может обрабатывать NULL неоднозначно. Если в настройках отчета (вкладка «Группировка») выбрано наше субконто, записи с NULL могут группироваться в отдельную пустую строку или игнорироваться, если наложены определенные отборы.
Что нужно сделать:
Проанализируем техническое ограничение платформы. В стандартном Плане счетов Хозрасчетный установлено ограничение — максимум 3 субконто на одном счете. Если вы пытаетесь добавить четвертое субконто, система может вести себя непредсказуемо:
План счетов.
В случае с 51 счетом в типовой БП 3.0 обычно занято два субконто: Банковские счета и Статьи движения денежных средств. Ваше новое субконто должно быть третьим. Если их становится больше — это повод пересмотреть архитектуру решения.
Подводя итог, если вы видите субконто в карточке счета, но не видите в ОСВ, выполните следующие действия:
Как показывает практика, в 90% случаев проблема заключается именно в отсутствии признака суммового учета, что блокирует попадание данных в таблицы итогов, из которых ОСВ черпает информацию.