Почему в 1С:ЗУП 3.1 при расчете зарплаты норма времени берется не из основного графика, а из регистра «Графики работы по видам времени»?

Бизнес-аналитик 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом
← На главную

При расчете заработной платы в программе 1С:Зарплата и управление персоналом 3.1 пользователи периодически сталкиваются с неприятной ситуацией: при заполнении или перерасчете документа Начисление зарплаты и взносов норма времени конкретного сотрудника рассчитывается не по его основному кадровому графику, а по некоторому «индивидуальному» расписанию. При этом в регистре сведений Графики работы по видам времени внезапно появляются новые персональные записи по этому сотруднику, хотя документы Табель или Индивидуальный график на этот месяц по нему не вводились. Рассмотрим подробно, почему так происходит, как устроен этот механизм и как исправить подобную ошибку.

---

Как устроен регистр «Графики работы по видам времени»

Для начала проанализируем внутреннее устройство подсистемы учета времени в 1С:ЗУП. Регистр сведений Графики работы по видам времени является ключевым техническим регистром, на основании которого расчетный механизм определяет плановый объем рабочего времени (норму) и фактически отработанные часы за выбранный период.

В этом регистре записи разделяются на два принципиальных типа:

  1. Общие (шаблонные) записи. В этом случае в измерении График работы указывается ссылка на элемент одноименного справочника (например, график «Пятидневка» или «Смена 1»). Эти данные создаются автоматически при первоначальной настройке и заполнении графиков работы в программе.
  2. Персональные (индивидуальные) записи. В этих записях в поле График работы вместо ссылки на справочник подставляется конкретный Сотрудник. Это означает, что для данного сотрудника на расчетный месяц сформирован уникальный временной профиль, который имеет приоритет над основным кадровым графиком при любом расчете.

Обычно расчетчики считают, что персональные записи могут быть порождены только прямым вводом документов Табель или Индивидуальный график. Однако программа умеет формировать их динамически непосредственно в момент расчета зарплаты. Выясним, какие факторы запускают этот скрытый алгоритм.

---

Почему появляются персональные записи при отсутствии Табеля и Индивидуального графика

Разберем основные причины, по которым система принудительно детализирует время сотрудника до персонального графика прямо в документе Начисление зарплаты и взносов:

1. Наличие скрытых или неявных отклонений

Если у сотрудника в расчетном месяце зарегистрировано любое отклонение от графика (даже то, которое кажется незначительным или «нулевым»), программа обязана скорректировать норму и факт с учетом вытеснения. К таким документам относятся:

При наличии таких записей расчетный механизм «на лету» создает персональную запись в регистре Графики работы по видам времени, чтобы зафиксировать точные часы присутствия и отсутствия.

2. Работа в выходные и сверхурочно

Регистрация документов Работа в выходные и праздники или Работа сверхурочно вводит в систему новые интервалы времени, не предусмотренные основным графиком. Чтобы рассчитать корректную доплату и правильно отразить отработанные часы в аналитической отчетности, система автоматически формирует персональную запись в техническом регистре.

3. Кадровые изменения и смена графиков внутри месяца

Проанализируем ситуацию, когда сотрудника переводят с одного графика на другой (например, с пятидневки на сменный график или график с суммированным учетом рабочего времени) в середине расчетного месяца. В этом случае у программы нет единого эталонного графика для расчета нормы за весь месяц. Система вынуждена сложить норму по первому графику до даты перевода и норму по второму графику после даты перевода. Результат этой сложной математической операции записывается в регистр сведений как персональный график сотрудника.

4. Эхо прошлых периодов (механизм автоматических перерасчетов)

Это одна из самых частых и неочевидных причин сбоев. Предположим, у сотрудника был введен документ Индивидуальный график в январе. В феврале никакого индивидуального графика нет, сотрудник должен работать по обычному графику. Однако при расчете февральской зарплаты норма времени рассчитывается неверно, а в регистре по февралю появляются персональные записи.

Почему это происходит? Если после расчета января в программе были изменены какие-то январские документы, или система зафиксировала необходимость перерасчета за январь (сервис Перерасчеты), то при расчете февраля программа фоном пытается пересчитать январь. В результате этого фонового процесса в регистр записываются некорректные или дублирующие персональные графики за смежные периоды.

5. Особые настройки видов начислений

Если у сотрудника назначены плановые начисления, которые рассчитываются по индивидуальным показателям времени (например, зависят от объема времени по определенному виду времени, отличному от «Явки»), расчетный механизм ЗУП детализирует время до персональной записи в момент заполнения документа начисления.

---

Технические сбои и баги конфигурации

В некоторых версиях конфигурации 1С:ЗУП (особенно в ветках 3.1.10 и смежных релизах) встречаются технические ошибки платформы и прикладного решения:

---

Пошаговая методика диагностики и решения проблемы

Если вы столкнулись с описанным поведением программы, выполним следующие последовательные шаги для локализации и устранения проблемы:

Шаг 1. Анализ и очистка регистра «Перерасчеты»

Перейдем в раздел Зарплата — Сервис — Перерасчеты. Посмотрим, зарегистрирована ли по проблемному сотруднику необходимость перерасчета за прошлые периоды. Если там присутствуют записи (особенно за прошлые месяцы), они будут мешать корректному расчету текущего месяца.

Если эти перерасчеты неактуальны, выделим их в списке и нажмем кнопку Отменить (или удалим строки). Это заблокирует фоновые механизмы перерасчета времени прошлых периодов.

Шаг 2. Исследование регистра через Универсальный отчет

Для того чтобы точно понять, какой документ или алгоритм делает записи в регистр, настроим Универсальный отчет:

  1. Перейдем в раздел Администрирование — Печатные формы, отчеты и обработки — Универсальный отчет.
  2. В поле «Тип объекта» выберем Регистр сведений, в поле «Имя объекта» — Графики работы по видам времени, таблицу выберем Основные данные.
  3. В настройках отчета (кнопка «Настройки») на вкладке «Фильтры» добавим отбор по нашему проблемному сотруднику: Сотрудник Равно [Имя Сотрудника].
  4. На вкладке «Структура» добавим группировку по полям: Период, Регистратор, График работы, Вид времени.
  5. Сформируем отчет.

Проанализируем результат. Если в колонке Регистратор указан конкретный документ (например, Начисление зарплаты и взносов или старый Табель), мы сразу поймем источник проблемы. Если в поле Регистратор пусто, а тип графика — сам сотрудник, значит, запись создана расчетным механизмом виртуально.

Шаг 3. Проверка кадровой истории сотрудника

Откроем карточку сотрудника и перейдем в его кадровую историю. Проверим документы Кадровый перевод или Изменение графика работы. Нам нужно убедиться, что дата изменения графика не приходится на середину месяца. Если перевод внутри месяца действительно был, то появление персональной записи — это нормальное поведение программы, но нам необходимо проверить правильность заполнения графиков, участвующих в переводе.

Шаг 4. Очистка кэша и тестирование базы данных

Если универсальный отчет показывает наличие «битых» или зависших записей, которые не удаляются штатными документами, выполним техническое обслуживание базы данных:

  1. Запустим базу данных в режиме Конфигуратор.
  2. Перейдем в меню Администрирование — Тестирование и исправление...
  3. Установим флажки напротив пунктов Реиндексация таблиц информационной базы и Проверка логической целостности информационной базы.
  4. Нажмем кнопку Выполнить (предварительно обязательно создав резервную копию базы данных!).
  5. После завершения процедуры очистим локальный кэш программы на рабочем компьютере пользователя.

После выполнения этих шагов вернемся в документ Начисление зарплаты и взносов, перезаполним данные по сотруднику или воспользуемся кнопкой Пересчитать сотрудника. Норма времени должна вернуться к исходным значениям из его кадрового графика.

← На главную