В практике работы бухгалтера и специалиста по кадрам в программе 1С:Зарплата и управление персоналом (ЗУП) нередко возникает ситуация, когда сотруднику, чей срок отпуска по уходу за ребенком уже истек, продолжает начисляться компенсационная выплата в размере 50 рублей. Эта сумма, установленная когда-то Указом Президента РФ №1110, часто «зависает» в расчетных листках даже после того, как все сроки выплат прошли. Разберем подробно, почему это происходит и как корректно устранить данную проблему в информационной базе.
Прежде всего, проанализируем природу этой выплаты. До 1 января 2020 года работодатели были обязаны выплачивать 50 рублей ежемесячно сотрудникам, находящимся в отпуске по уходу за ребенком до 3 лет. С 2020 года выплата отменена, но право на нее сохранили те, кому она была назначена ранее. В программе 1С:ЗУП за это отвечает отдельный вид начисления, который фиксируется в регистрах как плановое.
Выясним причину, по которой программа игнорирует дату окончания выплаты. Чаще всего проблема кроется в нарушении логики ведения документов или «битых» записях в регистрах сведений. Рассмотрим основные причины: для профилактики технической порчи данных и планового обслуживания базы настраивается автоматическое обслуживание и тестирование информационных баз 1С.
Отпуск по уходу за ребенком и Изменение условий оплаты отпуска по уходу за ребенком введены одной датой или в неверной последовательности, программа может некорректно закрыть запись в регистре плановых начислений.Возврат из отпуска по уходу не был проведен или проведен некорректно, начисления могут продолжаться.Рассмотрим пошагово, как исправить ситуацию с помощью профильного документа. Если вы обнаружили, что выплата 50 рублей (компенсация) продолжает попадать в расчет, необходимо создать документ-исправление.
Выполним следующие действия:
Изменение условий оплаты отпуска по уходу за ребенком по данному сотруднику.Проанализируем ситуацию, описанную в сообщениях форума: часто пользователи вводят документ Изменение условий... той же датой, что и сам Отпуск по уходу.... Это методологическая ошибка. Программа 1С воспринимает это как конфликт записей в одну секунду времени. Если вам нужно изменить условия с самого начала отпуска, лучше редактировать первичный документ (если период открыт) или создавать изменение на следующий день после начала отпуска.
Иногда визуально в документах все указано верно, но в «движке» программы запись остается открытой. Посмотрим на техническую сторону вопроса через регистры. Для быстрой диагностики таких выплат на определенную дату подойдет отчет по показателям плановых начислений сотрудников на дату.
Для диагностики выполним следующее:
Плановые начисления и откроем соответствующий регистр сведений.Чтобы исправить это без прямого редактирования регистра (что крайне не рекомендуется), нужно создать документ Прекращение планового начисления. В нем выберем вид расчета «Пособие по уходу за ребенком до 3-х лет» и укажем дату, с которой выплата должна быть прекращена.
Если срок отпуска до 3 лет истек полностью, самым правильным способом прекращения всех начислений является документ Возврат из отпуска по уходу за ребенком. Разберем, как он работает.
Этот документ является «терминатором» для всех состояний, связанных с декретом. Он делает записи сразу в несколько регистров:
Данные состояний сотрудников — переводит сотрудника в статус «Работает».Плановые начисления — прекращает детские пособия и активирует основные начисления (оклад, надбавки).Если вы видите лишние 50 рублей, проверьте, создан ли этот документ на дату окончания отпуска. Если его нет, создайте его, и программа автоматически «закроет» выплату компенсации.
Рассмотрим ситуацию, когда стандартное перепроведение не помогает. В 1С:ЗУП версии 3.1 существует механизм версионирования и цепочек документов. Если вы создали документ-исправление (по ссылке «Исправить»), программа начинает игнорировать старый документ и берет данные из нового.
Посмотрим на пример кода (логическое представление), как программа определяет право на выплату:
Если Сотрудник.НаходитсяВОтпускеПоУходу Тогда
Если ТекущаяДата <= ДатаОкончанияВыплаты50Рублей Тогда
Начислить(Компенсация50Рублей);
Иначе
// Проверяем наличие записи в регистре ПлановыеНачисления
Запись = РегистрыСведений.ПлановыеНачисления.ПолучитьПоследнее(ТекущаяДата);
Если Запись.Используется И Запись.Начисление = ПособиеДо3Лет Тогда
Начислить(Компенсация50Рублей); // Ошибка здесь, если запись не закрыта
КонецЕсли;
КонецЕсли;
КонецЕсли;
Как мы видим, если запись в регистре «зависла» в состоянии Используется = Истина, расчетчик будет продолжать добавлять эти 50 рублей в документ Начисление зарплаты и взносов. Именно поэтому простое удаление строки из документа начисления не помогает — в следующем месяце она появится снова.
Подведем итог нашим действиям. Чтобы окончательно избавиться от «неположенных» 50 рублей, рекомендуем придерживаться следующего алгоритма:
Изменение условий оплаты... строго позже даты документа Отпуск по уходу..., либо это один и тот же документ, в котором корректно указаны сроки.ЗУП — Бухгалтерия, помните, что исправления в ЗУП должны быть синхронизированы, иначе в бухгалтерской программе могут остаться неверные остатки по счетам расчетов с персоналом.Перенос данных (для опытных пользователей), чтобы вручную «закрыть» запись в регистре Плановые начисления.Своевременная проверка регистра плановых начислений и соблюдение последовательности ввода кадровых документов позволят избежать подобных ошибок и обеспечат чистоту ведения учета в 1С:Предприятии. Для контроля за результатами синхронизации исправлений с другими базами применяется автоматическая сверка бухгалтерских проводок между конфигурациями 1С.