Как изменить счет 96.01 на 96.09 в документе Отражение зарплаты в финансовом учете 1С:ERP

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

При работе в системе 1С:ERP Управление предприятием (редакции 2.4 и 2.5) бухгалтеры и технические специалисты часто сталкиваются с ситуацией, когда стандартные механизмы отражения зарплаты ведут себя «негибко». Одной из таких проблем является автоматическое использование счетов 96.01.1 (для сумм отпускных) и 96.01.2 (для страховых взносов) при выполнении операции «Ежегодный отпуск за счет оценочных обязательств». В ряде случаев учетная политика организации требует использования счета 96.09 («Прочие оценочные обязательства»), однако типовые настройки программы не позволяют изменить этот параметр в пользовательском режиме.

В этой статье мы подробно разберем, почему система навязывает использование определенных счетов, и рассмотрим программные способы решения этой задачи, сохранив целостность учета.

Причина ограничения: жесткое кодирование в алгоритмах

Проанализируем ситуацию: в отличие от большинства затратных счетов, которые настраиваются через Группы финансового учета (ГФУ) или Способы отражения зарплаты, счета оценочных обязательств в документе ОтражениеЗарплатыВФинансовомУчете определяются программно. Если мы откроем модуль менеджера данного документа, то обнаружим функцию (обычно она называется ТекстЗапросаОтражениеВРеглУчете), в которой текст запроса формирует проводки напрямую. В коде жестко прописано: если вид операции соответствует отпуску за счет резервов, в качестве дебетового счета подставлять предопределенные счета 96.01.1 или 96.01.2.

Это сделано разработчиками для обеспечения жесткой связи между подсистемой расчета резервов и регламентированным учетом. Однако, если ваша задача — использовать счет 96.09, нам придется прибегнуть к кастомизации системы.

Способ 1. Использование расширения конфигурации (Рекомендуемый)

Рассмотрим наиболее современный и безопасный способ — использование расширения. Нам не нужно снимать основную конфигурацию с поддержки. Мы можем перехватить формирование текста запроса и заменить имена счетов в нем. Проанализируем процедуру формирования проводок в модуле менеджера.

Алгоритм действий будет следующим:

  1. Создаем новое расширение конфигурации.
  2. Находим в модуле менеджера документа ОтражениеЗарплатыВФинансовомУчете функцию, отвечающую за генерацию текста запроса для проводок.
  3. Используем аннотацию &Вместо для подмены этой функции.
  4. В тексте запроса находим строки, где упоминаются счета ПланыСчетов.Хозрасчетный.ОценочныеОбязательстваПоВознаграждениямРаботникам (или их строковые представления) и заменяем их на ПланыСчетов.Хозрасчетный.ПрочиеОценочныеОбязательства.

Важный нюанс: при замене счета необходимо убедиться, что структура субконто на счете 96.09 совпадает со структурой на 96.01. Если на счете 96.09 не хватает аналитик (например, «Резервы и оценочные обязательства»), их нужно будет добавить, иначе система выдаст ошибку при проведении.

Способ 2. Подписка на событие ОбработкаПроведения

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

Рассмотрим шаги по реализации:

  1. Создаем новый общий модуль с признаком «Сервер» и «Вызов сервера».
  2. Создаем новую подписку на событие для документа ОтражениеЗарплатыВФинансовомУчете на событие ОбработкаПроведения.
  3. В обработчике события пишем код, который считывает движения по регистру бухгалтерии Хозрасчетный, фильтрует их по нужным критериям и заменяет счета.

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


Процедура ПриПроведенииОтраженияЗарплаты(Источник, Отказ, РежимПроведения) Экспорт
    
    // Получаем набор записей регистра бухгалтерии
    НаборДвижений = Источник.Движения.Хозрасчетный;
    НаборДвижений.Прочитать();
    
    Для Каждого Движение Из НаборДвижений Цикл
        
        // Проверяем дебет счета 96.01.1 или 96.01.2
        Если Движение.СчетДт = ПланыСчетов.Хозрасчетный.ОценочныеОбязательстваПоВознаграждениямРаботникам ИЛИ 
             Движение.СчетДт = ПланыСчетов.Хозрасчетный.ОценочныеОбязательстваПоСтраховымВзносам Тогда
            
            // Заменяем на нужный нам счет 96.09
            Движение.СчетДт = ПланыСчетов.Хозрасчетный.ПрочиеОценочныеОбязательства;
            
            // Не забываем про налоговый учет (НУ), если организация его ведет
            Движение.СчетДтНУ = ПланыСчетов.Хозрасчетный.ПрочиеОценочныеОбязательства;
            
        КонецЕсли;
        
    КонецЦикла;
    
    // Записываем измененные движения
    НаборДвижений.Записать();
    
КонецПроцедуры

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

Влияние на налоговый учет и ПБУ 18/02

Выясним причину, по которой простая замена счета может привести к проблемам в конце месяца. В системе 1С:ERP расчеты по ПБУ 18/02 (если они применяются) строятся на сопоставлении данных бухгалтерского и налогового учета. Если вы изменили счет в БУ на 96.09, но забыли изменить его в НУ, или если на счете 96.09 в налоговом учете не предусмотрено ведение резервов согласно вашей учетной политике, возникнут нежелательные разницы.

Поэтому при доработке кода (хоть через расширение, хоть через подписку) всегда проверяйте корректность заполнения ресурсов СуммаНУ, СуммаПР и СуммаВР. Резервы по отпускам — это сложный участок, где налоговый учет часто отличается от бухгалтерского (например, при использовании метода МСФО в БУ и нормативного метода в НУ).

Альтернативное решение без программирования

Разберем ситуацию, когда изменение счета требуется только для красивой картинки в отчетности (например, в бухгалтерском балансе). Если ваша цель — чтобы суммы по счету 96.01 попадали в строку «Прочие обязательства», а не в «Кредиторскую задолженность» или иные специфические строки, вы можете просто настроить Формы бухгалтерской отчетности.

В настройках заполнения баланса можно указать, что сальдо счета 96.01 должно агрегироваться в нужную вам строку. Это избавит вас от необходимости менять программный код и гарантирует отсутствие ошибок в логике работы документа Резервы отпусков, который также «завязан» на счета 96.01.

Заключение

Подведем итог: изменить счет в документе «Отражение зарплаты в финансовом учете» в типовой конфигурации через настройки нельзя. Это ограничение зашито на уровне программного кода модуля менеджера. Однако, используя расширение с перехватом запроса или подписку на событие проведения, программист 1С может реализовать эту задачу за короткое время. При реализации всегда помните о:

  1. Соответствии субконто (аналитики) на старом и новом счетах.
  2. Отражении изменений в налоговом учете.
  3. Возможных сложностях при обновлении конфигурации, если вы не используете расширения.

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

← На главную