Нередко при адаптации типовой конфигурации 1С:Бухгалтерия предприятия 3.0 под нестандартные требования учета возникает ситуация: разработчик добавляет новый вид субконто к предопределенному счету (например, Склады к счету 71.01 «Расчеты с подотчетными лицами»), однако после проведения документа Авансовый отчет добавленная аналитика в проводках остается пустой или вовсе не отображается. Выясним причину такого поведения платформы и разберем варианты решения задачи.
Проанализируем механизм формирования проводок в типовых конфигурациях 1С. Добавление субконто в режиме Конфигуратор или в пользовательском режиме на уровне плана счетов лишь расширяет структуру регистра бухгалтерии, создавая возможность хранения дополнительного разреза учета. Однако платформа не может самостоятельно определить, какое значение должно записываться в новое поле при проведении конкретных документов.
Рассмотрим ключевые причины отсутствия данных в проводке:
Авансовый отчет в процедуре ОбработкаПроведения явно прописано заполнение набора записей регистра бухгалтерии Хозрасчетный. Программа заполняет только стандартные виды субконто (для счета 71.01 по умолчанию используется вид субконто Работники организаций).NULL, из-за чего в форме просмотра движений и отчетах аналитика выглядит незаполненной.Если специфика учета действительно требует автоматического заполнения субконто Склады по счету 71.01 при проведении авансового отчета, доработку рекомендуется выполнять через механизм расширений, не снимая основную конфигурацию с поддержки.
Разберем по шагам порядок реализации:
Авансовый отчет и создадим в нем реквизит (в шапке или соответствующей табличной части) с типом СправочникСсылка.Склады.&После или &Вместо и выполним явное заполнение добавленного субконто.Посмотрим на пример кода в модуле проведения расширения:
&После("СформироватьДвиженияХозрасчетный")
Процедура Расш1_СформироватьДвиженияХозрасчетный(Отказ, Движения, ПараметрыПроведения)
ВидСубконтоСклады = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Склады;
Для Каждого Проводка Из Движения.Хозрасчетный Цикл
// Проверяем наличие счета 71.01 по кредиту
Если Проводка.СчетКт = ПланыСчетов.Хозрасчетный.РасчетыСПодотчетнымиЛицами Тогда
Проводка.СубконтоКт[ВидСубконтоСклады] = Склад;
КонецЕсли;
// Проверяем наличие счета 71.01 по дебету
Если Проводка.СчетДт = ПланыСчетов.Хозрасчетный.РасчетыСПодотчетнымиЛицами Тогда
Проводка.СубконтоДт[ВидСубконтоСклады] = Склад;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Если операция носит разовый характер и доработка конфигурации нецелесообразна, используем стандартную возможность ручного изменения проводок:
Авансовый отчет.71.01 вручную выберем необходимое значение в колонке субконто Склады.Для нестандартных бухгалтерских записей с использованием добавленных субконто можно воспользоваться документом Операция (раздел Операции — Операции, введенные вручную). В табличной части проводок этого документа доступны для заполнения любые субконто, настроенные на счете в плане счетов, без вмешательства в программный код конфигурации.
Прежде чем изменять состав субконто на счете 71.01, важно проанализировать методологию учета и риски, с которыми можно столкнуться:
Максимальное количество субконто в типовой конфигурации ограничено 3 разрезами. Добавление лишнего субконто может помешать внедрению стандартных аналитик от разработчика.71 ведется учет персональных расчетов с сотрудником, а учет складских остатков ведется на материальных счетах (10, 41). В типовом документе Авансовый отчет на вкладке Товары склад уже указывается для оприходования ценностей по дебету счетов учета номенклатуры.