Как исправить задвоение строк по компенсации за задержку зарплаты в документе «Отражение зарплаты в бухучете» в 1С:ЗУП 3.1?

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

При подготовке отчетности и выгрузке данных в бухгалтерскую программу пользователи 1С:ЗУП 3.1 часто сталкиваются с неприятной ошибкой. В документе «Отражение зарплаты в бухучете» при наличии начисленной компенсации за задержку выплаты заработной платы происходит дублирование строк. Одна строка заполняется с указанием способа отражения в учете (подразделения, счета затрат), а вторая — с пустым значением способа отражения, но со своими суммами налогов и взносов.

В этой статье мы подробно разберем природу данной ошибки, устраним программную опечатку в общем модуле конфигурации с помощью расширения или изменения кода, а также выясним, почему «пустой» способ отражения для компенсации после исправления ошибки — это не баг, а корректное поведение системы.

Шаг 1. Локализация и исправление технической ошибки в программном коде

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

Для исправления этой проблемы нам потребуется обратиться к конфигуратору или создать расширение конфигурации. Нам нужен общий модуль ОтражениеЗарплатыВБухучетеРасширенный.

Давайте проанализируем процедуру СоздатьВТБухучетНачисленийБезДоговоровГПХ. Найдем в ней фрагмент кода, отвечающий за обработку временных таблиц единовременных пособий и компенсаций за задержку выплаты зарплаты:


// ВТБухучетЕдиновременныеПособия
СоздатьВТБухучетЕдиновременныеПособия(Запрос, ИмяВТНачисленияИсходная);
УдалитьВТ.Добавить("ВТБухучетЕдиновременныеПособия");
ДополнитьВТСтрокиКУдалению(Запрос, "ВТБухучетЕдиновременныеПособия");

// ВТБухучетКомпенсацийЗаЗадержкуЗарплаты
СоздатьВТБухучетКомпенсацийЗаЗадержкуЗарплаты(Запрос, ИмяВТНачисленияИсходная);
УдалитьВТ.Добавить("ВТБухучетКомпенсацийЗаЗадержкуЗарплаты");
ДополнитьВТСтрокиКУдалению(Запрос, "ВТБухучетЕдиновременныеПособия"); // Ошибка здесь!

Обратим внимание на последнюю строку приведенного фрагмента. Из-за копирования кода разработчики повторно вызывают функцию ДополнитьВТСтрокиКУдалению с параметром "ВТБухучетЕдиновременныеПособия" вместо таблицы компенсаций. В результате строки временной таблицы компенсаций за задержку зарплаты не помечаются к удалению из исходного набора данных и дублируются при итоговом формировании документа.

Давайте заменим ошибочную строку на корректный вариант. Исправленный код должен выглядеть следующим образом:


// ВТБухучетЕдиновременныеПособия
СоздатьВТБухучетЕдиновременныеПособия(Запрос, ИмяВТНачисленияИсходная);
УдалитьВТ.Добавить("ВТБухучетЕдиновременныеПособия");
ДополнитьВТСтрокиКУдалению(Запрос, "ВТБухучетЕдиновременныеПособия");

// ВТБухучетКомпенсацийЗаЗадержкуЗарплаты
СоздатьВТБухучетКомпенсацийЗаЗадержкуЗарплаты(Запрос, ИмяВТНачисленияИсходная);
УдалитьВТ.Добавить("ВТБухучетКомпенсацийЗаЗадержкуЗарплаты");
ДополнитьВТСтрокиКУдалению(Запрос, "ВТБухучетКомпенсацийЗаЗадержкуЗарплаты"); // Корректная строка

После внесения этого изменения и перезаполнения документа «Отражение зарплаты в бухучете» дублирование строк прекратится. Все суммы налогов, взносов и самого начисления будут собраны в одной строке.

Шаг 2. Разбор методологии: почему способ отражения остается пустым?

После применения исправления многие бухгалтеры и программисты замечают, что в оставшейся строке компенсации поле «Способ отражения» остается незаполненным. Возникает закономерный вопрос: нужно ли программно заполнять это поле и настраивать для него способы отражения (например, привязывать к подразделению)?

Ответ: нет, способ отражения для этой строки должен оставаться пустым. Это заложено в архитектуру интеграции программ ЗУП и Бухгалтерия предприятия (БП) по следующим причинам:

  1. Законодательный аспект: Компенсация за нарушение установленного срока выплаты заработной платы не является оплатой труда в рамках статьи 255 НК РФ. Соответственно, эти затраты нельзя относить на стандартные счета учета расходов по обычным видам деятельности (такие как 20, 25, 26, 44). В бухгалтерском учете эти суммы признаются прочими расходами организации и должны списываться в дебет счета 91.02 «Прочие расходы».
  2. Автоматическое определение счетов при синхронизации: Строка с компенсацией за задержку зарплаты создается со специальным предопределенным видом операции. При переносе документа «Отражение зарплаты в бухучете» в информационную базу «1С:Бухгалтерия предприятия» программа-приемник анализирует этот вид операции. Счета учета (дебет 91.02 и соответствующая статья прочих доходов и расходов) подставляются в проводку автоматически. Нам не требуется вручную создавать и выбирать в ЗУП способ отражения, указывающий на счет 91.02.

Попытки принудительно заполнить это поле через расширение или замену данных могут привести к некорректному формированию проводок в бухгалтерской программе.

Шаг 3. Как настроить счет кредита (70 или 73.03) для компенсации?

Хотя дебет счета 91.02 предопределен самой сутью операции, организация может самостоятельно выбрать, на каком счете учитывать обязательства по выплате этой компенсации: на счете 70 (расчеты по оплате труда) или на счете 73.03 (расчеты по прочим операциям).

Эта настройка выполняется не в документе отражения, а непосредственно в документе начисления компенсации в 1С:ЗУП:

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

← На главную