При переходе на программу 1С:Зарплата и управление персоналом 3.1 (ЗУП 3.1) бухгалтеры и кадровики часто сталкиваются с неприятной ситуацией: при увольнении сотрудника или формировании отчета по остаткам отпусков программа внезапно начисляет «лишние» 2.33 дня. Проблема обостряется, когда такое «двойное» начисление происходит регулярно на стыке рабочих годов сотрудника. В результате при увольнении программа выдает завышенный остаток отпуска, что приводит к переплатам и спорам с аудиторами.
В этой статье мы подробно разберем, почему возникает эта проблема, как на расчет влияет новый алгоритм программы, начиная с версии 3.1.7, и какими способами можно исправить ситуацию как вручную, так и массово.
---
Для того чтобы решить проблему, нам необходимо разобраться в механизмах, заложенных разработчиками 1С. Здесь действуют два совершенно разных фактора: один из них является методологически верным (штатным), а второй — следствием технического сбоя при переносе данных из старых версий (например, из 1С:ЗУП 2.5).
Если вы заметили, что сотруднику, принятому в течение года, в предпоследнем месяце его рабочего года программа начислила права дважды, а в последнем (12-м) месяце начислила 0 дней — это не ошибка. Это штатное поведение программы, соответствующее законодательству РФ.
Согласно пункту 28 «Правил об очередных и дополнительных отпусках» (утвержденных НКТ СССР 30.04.1930 № 169), сотрудник, проработавший в рабочем году 11 месяцев, имеет право на получение полной компенсации или полноценного отпуска (28 календарных дней). Чтобы реализовать это право, алгоритм 1С:ЗУП 3.1 распределяет 28 дней отпуска на 11 месяцев работы, а не на 12.
В результате в 11-м месяце рабочего года программа производит начисление прав дважды:
В 12-м месяце рабочего года начисление составит 0 дней. В сумме за рабочий год сотрудник получит ровно 28 дней отпуска.
Совсем иная ситуация возникает, когда у сотрудников, чей рабочий год начинается не с первого числа месяца, программа стабильно удваивает дни отпуска на стыке рабочих лет. Это происходит из-за нестыковки старых данных из ЗУП 2.5 и нового алгоритма расчета остатков в ЗУП 3.1.7+.
При переносе данных остатки отпусков часто записываются в программу документом Начальная штатная расстановка или Ввод остатков отпусков на единую «красивую» дату (например, на 01.01.2018). Однако рабочий год сотрудника практически никогда не совпадает с календарным. Если у сотрудника рабочий год был сдвинут из-за отпусков за свой счет или по уходу за ребенком, а остатки введены на фиксированное первое число месяца, программа теряет непрерывность периодов. Пытаясь сопоставить дату ввода остатков и реальную дату начала его рабочего года, ЗУП 3.1 начинает рассчитывать остатки по новому алгоритму, что приводит к наложению периодов и двойному начислению 2.33 дня.
---
Начиная с версии 3.1.7, разработчики 1С уточнили алгоритм начисления заработанных отпусков согласно п. 35 Постановления НКТ СССР № 169 (округление излишков менее половины месяца в меньшую сторону, а половины и более — до полного месяца).
Выясним, как программа определяет «половину месяца» теперь:
Пример: Рабочий год начинается 15.02.2017. В феврале отработано 14 дней (половина). Даты начисления прав распределятся так:
- 28.02.2017 (14.02.2017 + 14 дней)
- 30.03.2017 (14.03.2017 + 16 дней)
- 29.04.2017 (14.04.2017 + 15 дней)
Пример: Рабочий год начинается 20.02.2017. Даты начисления прав:
- 06.03.2017 (9 дней февраля + 6 дней марта = 15 дней)
- 06.04.2017 (9 дней февраля + 6 дней апреля = 15 дней)
- 06.05.2017 (9 дней февраля + 6 дней мая = 15 дней)
Если дата ввода остатков при переносе данных из ЗУП 2.5 не учитывает эти новые «точки отсчета» индивидуальных рабочих лет сотрудников, алгоритм дает сбой.
---
Иногда пользователи пытаются решить проблему радикально — очистить или скорректировать вручную записи в регистре сведений Заработанные права на отпуска.
Проанализируем этот шаг. Данный регистр является полностью техническим и вспомогательным. Он перезаполняется программой автоматически каждый раз, когда вы открываете отчет по остаткам отпусков, рассчитываете документ увольнения или начисляете резервы. Любые ручные изменения в этом регистре будут безвозвратно стерты при первом же кадровом расчете. Решать проблему нужно на уровне документов-первоисточников.
---
Рассмотрим, как правильно скорректировать данные, чтобы остатки отпусков начали считаться корректно.
Этот способ идеально подходит, если проблемных сотрудников в базе немного. Нам нужно сделать так, чтобы дата ввода остатков отпуска строго соответствовала рабочему году сотрудника.
Начальная штатная расстановка или специальный документ Ввод остатков отпусков).Заработанные права на отпуска по новому алгоритму, и двойное начисление исчезнет.Если корректировать старый документ Начальная штатная расстановка нежелательно (например, период давно закрыт для редактирования), воспользуемся механизмом корректировки через специализированный документ.
Ввод остатков отпусков может быть скрыт в интерфейсе. Чтобы вывести его, перейдем в раздел Кадры, нажмем на шестеренку в правом верхнем углу (Настройка навигации) и добавим документ Ввод остатков отпусков в список видимых команд.Ввод остатков отпусков.Если в вашей базе ведется учет по десяткам юридических лиц и сотням сотрудников, ручная корректировка дат нерациональна. В этом случае рекомендуется привлечь программиста 1С для написания несложной внешней обработки.
Алгоритм работы такой обработки должен быть следующим:
Начальная штатная расстановка и автоматически сдвигает дату фиксации остатков отпуска для каждого сотрудника на день, предшествующий началу его рабочего года.Заработанные права на отпуска.Использование этого системного подхода позволит вам оперативно исправить остатки по всей базе, избежать ручной рутины и гарантировать точность расчета оценочных обязательств и резервов по отпускам.