В процессе работы с программой 1С:Зарплата и управление персоналом 3.1 пользователи часто сталкиваются с ситуацией, когда при автоматическом заполнении документа Начисление зарплаты и взносов в табличную часть попадают сотрудники, которые не должны там находиться в текущем периоде. Особенно часто это проявляется в виде строк с начислением «Доплата за ночное время» с нулевым результатом. Рассмотрим подробно причины возникновения этой ошибки и разберем способы ее решения.
Проанализируем методику ввода данных. Одной из главных причин появления «фантомных» строк является использование документа Начальная штатная расстановка (НШР) для целей, для которых он не предназначен. Согласно методологии 1С, данный документ используется только для ввода остатков на момент начала эксплуатации программы. Если база ведется уже несколько лет (например, с 2016 года), а мы пытаемся принять нового сотрудника в 2018 году через НШР, программа воспринимает это некорректно.
Выясним, почему это происходит. Документ НШР технически отличается от Приема на работу:
Плановые начисления и График работы сотрудников) ретроспективно.Начисление зарплаты видит активную запись о плановом начислении «Доплата за ночное время», действующую на весь месяц, и добавляет строку в расчет.Решение: Для оформления текущих сотрудников всегда используем документ Прием на работу. Если сотрудник уже был ошибочно введен через НШР, необходимо пометить этот документ на удаление и создать стандартный документ приема.
Разберем ситуацию, когда сотрудник попадает в документ из-за настроек его графика. В 1С:ЗУП 3.1 действует правило: если документ Табель не введен, программа рассчитывает время по графику сотрудника. Если в графике назначены часы с видом времени «Н» (Ночные), алгоритм заполнения документа Начисление зарплаты автоматически создает строку доплаты.
Проанализируем важные нюансы:
Чтобы проверить это, перейдем в карточку сотрудника, нажмем ссылку «Начисления и удержания» и проверим дату назначения каждой надбавки. Если мы видим, что ночная доплата назначена ранее даты реального выхода на работу, корректируем ее вручную.
Часто причиной «назойливого» появления сотрудника в документах является запись в служебном регистре Пересчет зарплаты. Этот механизм предназначен для автоматического отслеживания изменений, которые требуют пересчета уже начисленных сумм (например, если изменили график задним числом).
Разберем, как очистить этот список по шагам:
Отменить).После удаления записи из этого регистра программа перестанет «тянуть» сотрудника в документ при нажатии кнопки Заполнить.
Посмотрим на ситуацию со стороны учета времени. Если сотрудник принят, но фактически не работал в августе (например, находился в отпуске за свой счет), а документ начисления все равно заполняется, проверьте наличие проведенных документов отсутствия. Если программа не «знает», что сотрудника не было (нет документа Отпуск без сохранения оплаты или пустого Табеля), она берет данные из графика.
Совет: В некоторых случаях, чтобы избежать «костылей» в виде пустых табелей, достаточно просто удалить строку с сотрудником из документа начисления. Но если при следующем перезаполнении он появляется снова — используйте метод очистки регистра пересчетов, описанный выше.
Для программистов и опытных пользователей полезно будет проанализировать движения документа Начальная штатная расстановка. В отличие от приема на работу, он может некорректно заполнять ресурс Период в регистре Основные начисления.
Рассмотрим пример того, как программа определяет необходимость начисления программно (упрощенно):
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ПлановыеНачисления.Сотрудник,
| ПлановыеНачисления.Начисление
|ИЗ
| РегистрСведений.ПлановыеНачисления.СрезПоследних(&Период, ) КАК ПлановыеНачисления
|ГДЕ
| ПлановыеНачисления.Начисление = &ДоплатаЗаНочные";
Если в результате использования НШР запись в РегистрСведений.ПлановыеНачисления попала с пустой или очень ранней датой начала, запрос всегда будет возвращать этого сотрудника как имеющего право на доплату, независимо от того, заполнены ли часы в текущем месяце. Сумма при этом будет 0, так как при самом расчете Результат = ТарифнаяСтавкаЧасовая * ВремяВЧасах * ПроцентДоплаты множитель ВремяВЧасах окажется нулевым.
Для устранения проблемы рекомендуем придерживаться следующего алгоритма:
Начальная штатная расстановка — замените на Прием на работу.Соблюдение этих правил позволит поддерживать чистоту в документах начисления зарплаты и избежать ручной корректировки пустых строк.