При расчете заработной платы в программе 1С:Зарплата и управление персоналом 3.1 пользователи периодически сталкиваются с неприятной ситуацией: при заполнении или перерасчете документа Начисление зарплаты и взносов норма времени конкретного сотрудника рассчитывается не по его основному кадровому графику, а по некоторому «индивидуальному» расписанию. При этом в регистре сведений Графики работы по видам времени внезапно появляются новые персональные записи по этому сотруднику, хотя документы Табель или Индивидуальный график на этот месяц по нему не вводились. Рассмотрим подробно, почему так происходит, как устроен этот механизм и как исправить подобную ошибку.
---
Для начала проанализируем внутреннее устройство подсистемы учета времени в 1С:ЗУП. Регистр сведений Графики работы по видам времени является ключевым техническим регистром, на основании которого расчетный механизм определяет плановый объем рабочего времени (норму) и фактически отработанные часы за выбранный период.
В этом регистре записи разделяются на два принципиальных типа:
График работы указывается ссылка на элемент одноименного справочника (например, график «Пятидневка» или «Смена 1»). Эти данные создаются автоматически при первоначальной настройке и заполнении графиков работы в программе.График работы вместо ссылки на справочник подставляется конкретный Сотрудник. Это означает, что для данного сотрудника на расчетный месяц сформирован уникальный временной профиль, который имеет приоритет над основным кадровым графиком при любом расчете.Обычно расчетчики считают, что персональные записи могут быть порождены только прямым вводом документов Табель или Индивидуальный график. Однако программа умеет формировать их динамически непосредственно в момент расчета зарплаты. Выясним, какие факторы запускают этот скрытый алгоритм.
---
Разберем основные причины, по которым система принудительно детализирует время сотрудника до персонального графика прямо в документе Начисление зарплаты и взносов:
Если у сотрудника в расчетном месяце зарегистрировано любое отклонение от графика (даже то, которое кажется незначительным или «нулевым»), программа обязана скорректировать норму и факт с учетом вытеснения. К таким документам относятся:
Больничный лист (в том числе «Больничный еще не закрыт»);Отпуск (ежегодный, учебный, без сохранения оплаты);Командировка;Отсутствие (болезнь, прогул, неявка);При наличии таких записей расчетный механизм «на лету» создает персональную запись в регистре Графики работы по видам времени, чтобы зафиксировать точные часы присутствия и отсутствия.
Регистрация документов Работа в выходные и праздники или Работа сверхурочно вводит в систему новые интервалы времени, не предусмотренные основным графиком. Чтобы рассчитать корректную доплату и правильно отразить отработанные часы в аналитической отчетности, система автоматически формирует персональную запись в техническом регистре.
Проанализируем ситуацию, когда сотрудника переводят с одного графика на другой (например, с пятидневки на сменный график или график с суммированным учетом рабочего времени) в середине расчетного месяца. В этом случае у программы нет единого эталонного графика для расчета нормы за весь месяц. Система вынуждена сложить норму по первому графику до даты перевода и норму по второму графику после даты перевода. Результат этой сложной математической операции записывается в регистр сведений как персональный график сотрудника.
Это одна из самых частых и неочевидных причин сбоев. Предположим, у сотрудника был введен документ Индивидуальный график в январе. В феврале никакого индивидуального графика нет, сотрудник должен работать по обычному графику. Однако при расчете февральской зарплаты норма времени рассчитывается неверно, а в регистре по февралю появляются персональные записи.
Почему это происходит? Если после расчета января в программе были изменены какие-то январские документы, или система зафиксировала необходимость перерасчета за январь (сервис Перерасчеты), то при расчете февраля программа фоном пытается пересчитать январь. В результате этого фонового процесса в регистр записываются некорректные или дублирующие персональные графики за смежные периоды.
Если у сотрудника назначены плановые начисления, которые рассчитываются по индивидуальным показателям времени (например, зависят от объема времени по определенному виду времени, отличному от «Явки»), расчетный механизм ЗУП детализирует время до персональной записи в момент заполнения документа начисления.
---
В некоторых версиях конфигурации 1С:ЗУП (особенно в ветках 3.1.10 и смежных релизах) встречаются технические ошибки платформы и прикладного решения:
Графики работы по видам времени физически не стираются из базы данных. Программа продолжает видеть эти «фантомные» записи и использовать их при расчете.---
Если вы столкнулись с описанным поведением программы, выполним следующие последовательные шаги для локализации и устранения проблемы:
Перейдем в раздел Зарплата — Сервис — Перерасчеты. Посмотрим, зарегистрирована ли по проблемному сотруднику необходимость перерасчета за прошлые периоды. Если там присутствуют записи (особенно за прошлые месяцы), они будут мешать корректному расчету текущего месяца.
Если эти перерасчеты неактуальны, выделим их в списке и нажмем кнопку Отменить (или удалим строки). Это заблокирует фоновые механизмы перерасчета времени прошлых периодов.
Для того чтобы точно понять, какой документ или алгоритм делает записи в регистр, настроим Универсальный отчет:
Сотрудник Равно [Имя Сотрудника].Период, Регистратор, График работы, Вид времени.Проанализируем результат. Если в колонке Регистратор указан конкретный документ (например, Начисление зарплаты и взносов или старый Табель), мы сразу поймем источник проблемы. Если в поле Регистратор пусто, а тип графика — сам сотрудник, значит, запись создана расчетным механизмом виртуально.
Откроем карточку сотрудника и перейдем в его кадровую историю. Проверим документы Кадровый перевод или Изменение графика работы. Нам нужно убедиться, что дата изменения графика не приходится на середину месяца. Если перевод внутри месяца действительно был, то появление персональной записи — это нормальное поведение программы, но нам необходимо проверить правильность заполнения графиков, участвующих в переводе.
Если универсальный отчет показывает наличие «битых» или зависших записей, которые не удаляются штатными документами, выполним техническое обслуживание базы данных:
Реиндексация таблиц информационной базы и Проверка логической целостности информационной базы.После выполнения этих шагов вернемся в документ Начисление зарплаты и взносов, перезаполним данные по сотруднику или воспользуемся кнопкой Пересчитать сотрудника. Норма времени должна вернуться к исходным значениям из его кадрового графика.