Стоит ли добавлять третье субконто «Документы расчетов» на счет 60 и его субсчета в 1С:УПП?

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

При переходе с конфигурации «Бухгалтерия предприятия» на «Управление производственным предприятием» пользователи часто требуют привычной детализации: видеть конкретные расчетные документы непосредственно в оборотно-сальдовой ведомости по счету 60. В УПП типовая архитектура регламентированного учета построена иначе — на счетах 60 и 62 используется только два субконто (Контрагенты и Договоры), а детальные взаиморасчеты ведутся в специализированных регистрах накопления. Разберем, что происходит при добавлении третьего субконто на субсчета нижнего уровня, нужно ли поднимать его на уровень счета 60 в целом и с какими архитектурными сложностями придется столкнуться.

Поведение платформы 1С при настройке субконто в иерархии счетов

Выясним причину, по которой возникает вопрос: добавлять ли субконто на счета-родители (60.01, 60) или оставить его только на субсчетах нижнего уровня (например, 60.01.1). Поведение платформы определяет следующие правила:

  1. Наследование аналитики сверху вниз. Если вид субконто добавлен на счет-родитель верхнего уровня, он принудительно и автоматически наследуется всеми подчиненными субсчетами. Исключить его на отдельных дочерних субсчетах платформа не позволит.
  2. Отсутствие аналитики снизу вверх. Если добавить третье субконто только на дочерние субсчета, на родительских счетах оно отображаться не будет.
  3. Построение отчетов по счету в целом. Если бухгалтер сформирует отчет «Оборотно-сальдовая ведомость» или «Карточка счета» по счету 60 в целом, платформа не позволит выбрать третье субконто для группировки или отбора. В виртуальных таблицах регистра бухгалтерии (Остатки, ОстаткиИОбороты) при запросе к родительскому счету поле отсутствующего субконто вернет значение NULL. Построить отчет с детализацией до расчетного документа получится только строго по конечному субсчету.

Таким образом, если перед нами стоит задача дать бухгалтеру возможность формировать единую ОСВ по всему счету 60 с детализацией по документам, субконто обязательно требуется добавлять и на субсчета второго уровня, и на счет 60 в целом.

Архитектурные риски и подводные камни модификации плана счетов

Добавление субконто составного типа («Документы расчетов с контрагентами») в высоконагруженные счета регламентированного учета в конфигурации УПП несет в себе серьезные скрытые угрозы для целостности учета. Проанализируем критические моменты, которые неизбежно проявятся при эксплуатации системы:

  1. Регламентная переоценка валютных средств. Типовой документ ПереоценкаВалютныхСредств и алгоритмы закрытия месяца рассчитывают курсовые разницы в разрезе только двух субконто — контрагента и договора. Если документ переоценки сделает проводку с пустым третьим субконто, возникнет разрыв сальдо: основной долг останется привязан к документу расчетов, а курсовая разница повиснет на пустом субконто. В результате ОСВ по документам расчетов перестанет сходиться, образуя «разъехавшиеся» дебетовые и кредитовые остатки.
  2. Ручные бухгалтерские операции. Бухгалтеры нередко корректируют проводки документом ОперацияБух. При ручном указании третьего субконто в проводках движения по регистрам накопления (ВзаиморасчетыСКонтрагентами, РасчетыПоПриобретениюВУсловныхЕдиницахОрганизации) не формируются. Типовые механизмы УПП ориентируются на регистры, поэтому при следующем автоматическом проведении документов или восстановлении последовательности программа проигнорирует ручную проводку и сформирует зачет повторно.
  3. Подсистема учета НДС. Документы ФормированиеЗаписейКнигиПокупок и ФормированиеЗаписейКнигиПродаж считывают данные не из бухгалтерских проводок счета 60, а из собственных регистров накопления по НДС. Добавление третьего субконто никак не поможет автоматизировать зачет авансов для целей книги покупок.
  4. Превышение платформенного лимита субконто. Свойство плана счетов Максимальное количество субконто в типовой УПП равно 3. Заняв третье субконто документами расчетов, разработчик полностью исчерпывает платформенный лимит, лишаясь возможности добавить проектный или складской учет на этот план счетов без изменения глобальных метаданных.
  5. Падение производительности и рост базы. Составной тип субконто «Документ расчетов» включает десятки ссылочных типов. Включение такого разреза в регистр бухгалтерии приводит к взрывному росту комбинаций в таблицах итогов, замедлению транзакций проведения документов и увеличению времени формирования отчетов.

Как корректно синхронизировать третье субконто при доработке

Если решение о внедрении третьего субконто принято окончательно, заполнять аналитику внутри каждого отдельного документа вручную нельзя. Рассмотрим правильную архитектуру заполнения проводок.

В УПП расчет задолженности и определение расчетных документов производятся на уровне регистров накопления. Следовательно, проводка должна зеркально отражать то, что система уже определила в оперативном учете. Разберем шаги синхронизации:

  1. Алгоритм проведения документа сначала рассчитывает остатки по оперативному регистру (например, РасчетыПоПриобретениюВУсловныхЕдиницахОрганизации или ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов) с учетом установленного порядка погашения (ФИФО или по явно указанным документам).
  2. После формирования набора записей регистра накопления выполняется заполнение третьего субконто в проводках регистра бухгалтерии на основании полученных оперативных движений.
  3. Обязательно дорабатывается алгоритм проведения документа ПереоценкаВалютныхСредств: выборка остатков по счетам 60.21, 60.31 должна группироваться с учетом третьего субконто, чтобы курсовая разница относилась ровно на тот документ расчетов, по которому возник переоцениваемый остаток.

Посмотрим на пример заполнения третьего субконто при обходе сформированных движений регистра взаиморасчетов:


// Обработка движений по регистру бухгалтерии на основе рассчитанных данных
Для Каждого Проводка Из НаборЗаписейХозрасчетный Цикл
    Если Проводка.СчетКт = Счет60_01 Или Проводка.СчетДт = Счет60_01 Тогда
        // Находим соответствующую строку оперативного расчета
        Отбор = Новый Структура("ДоговорКонтрагента", Проводка.СубконтоКт.Договоры);
        СтрокиРегистра = Движения.РасчетыПоПриобретениюВУсловныхЕдиницахОрганизации.НайтиСтроки(Отбор);
        
        Если СтрокиРегистра.Количество() > 0 Тогда
            // Заполняем третье субконто документа расчетов
            Проводка.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ДокументыРасчетовСКонтрагентами] = СтрокиРегистра[0].ДокументРасчетов;
        КонецЕсли;
    КонецЕсли;
КонецЦикла;

Альтернативные способы решения задачи без изменения плана счетов

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

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