При работе в программе 1С:Управление производственным предприятием 1.3 (редакция, основанная на логике ЗУП 2.5) пользователи часто сталкиваются с ситуацией, когда документ «Начисление зарплаты сотрудникам организаций» отказывается проводиться. Система выдает ошибку о том, что периоды начислений пересекаются. Например, вид расчета Оклад по дням накладывается на Корпоративную оплату отпуска. В этой статье мы подробно разберем, почему возникает эта техническая коллизия и как правильно настроить систему, чтобы избежать подобных конфликтов в будущем.
Давайте выясним причину, по которой система блокирует проведение документа. В 1С:УПП 1.3 используется механизм регистров расчета с поддержкой периода действия. Если для двух начислений в одном и том же периоде (например, в рамках одного месяца) не настроены правила «взаимоотношений», программа считает это логической ошибкой: сотрудник не может одновременно работать по окладу и находиться в отпуске.
Посмотрим на фрагмент кода в регистре расчета ОсновныеНачисленияРаботниковОрганизаций, который отвечает за проверку перекрытия. Система перебирает периоды и сравнивает дату начала текущей записи с датой окончания предыдущей:
Периоды.Сортировать("ДатаНачала");
ПрошлаяДатаНачала = '0001-01-01';
ПрошлаяДатаОкончания = '0001-01-01';
// ... инициализация переменных ...
Для Каждого СтрокаПериода Из Периоды Цикл
Если СПроверкойПерекрытия И СтрокаПериода.ДатаНачала < ПрошлаяДатаОкончания Тогда
ТекстИсключения = ТекстИсключения + "(" + Формат(СтрокаПериода.ДатаНачала, "ДФ='дд МММ гг \"г.\"'") + " - " + Формат(ПрошлаяДатаОкончания, "ДФ='дд МММ гг \"г.\"'") + ")";
ТекстИсключения = ТекстИсключения + Символы.ВК + "Вид расчета \"" + ПрошлыйВидРасчета + "\" введен документом " + ПрошлыйРегистраторПредставление;
ВызватьИсключение ТекстИсключения;
КонецЕсли;
КонецЦикла;
Если условие СтрокаПериода.ДатаНачала < ПрошлаяДатаОкончания выполняется, система прерывает проведение и выводит сообщение пользователю. Это означает, что для Вида расчета не задано вытеснение.
Это самый правильный и методически верный способ решения проблемы. Мы должны «объяснить» системе, что Корпоративная оплата отпуска имеет приоритет над Окладом по дням и должна уменьшать (вытеснять) время работы по окладу.
Разберем по шагам, как это сделать:
Оклад по дням (или тот основной заработок, который используется в вашей организации) и откроем его карточку.Корпоративная оплата отпуска.Важный нюанс: также рекомендуется проверить закладку «Ведущие виды расчета» для самой Оплаты отпуска. Там должен быть указан Оклад по дням. Это необходимо для того, чтобы при изменении оклада система автоматически понимала, что средний заработок для отпуска также может потребовать пересчета.
В УПП 1.3 критически важен порядок регистрации событий. Рассмотрим правильный алгоритм действий, который поможет избежать технических ошибок в регистрах:
Если вы уже создали документ начисления зарплаты, а потом ввели отпуск, документ начисления зарплаты нужно перезаполнить или пересчитать (правой кнопкой мыши по строке сотрудника — «Рассчитать»), чтобы программа учла новое вытеснение.
Проанализируем ситуацию, если вытеснение настроено, но ошибка сохраняется. Такое случается, если Корпоративная оплата отпуска была ошибочно создана в плане видов расчета «Дополнительные начисления организаций».
Помните: механизм вытеснения (периода действия) работает только в Основных начислениях. Если выплата не имеет протяженности во времени (например, разовая премия), она не может вытеснять оклад. Проверьте, чтобы ваш вид расчета отпуска был именно в «Основных начислениях» и у него был установлен признак «Использовать период действия».
Если вам необходимо срочно провести документ и вы осознаете риски (например, понимаете, что сотруднику будет выплачен и полный оклад, и отпускные за одни и те же дни), контроль можно временно отключить.
Для этого в интерфейсе «Расчет зарплаты организаций» перейдем в меню:
Настройка параметров учета -> закладка Расчет зарплаты
Здесь необходимо снять флажок «Проверять пересечение периодов начислений при регистрации отклонений». Однако помните, что это «грязное» решение, которое в будущем может привести к путанице в отчетности по отработанному времени (табель П-12).
Иногда после изменения настроек вытеснения документ все равно не проводится. Это может быть связано с тем, что в наборе записей регистра расчета остались старые, некорректные данные. Проанализируем, как очистить регистр:
ОсновныеНачисленияРаботниковОрганизаций с учетом обновленных правил приоритетов.Используя данные методы, вы сможете корректно настроить учет и избавиться от ошибок при расчете заработной платы в 1С:УПП 1.3.