Почему в расчетном листке 1С:ЗУП 3.1 задваиваются дни и часы и как это исправить

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

Ситуация, когда в расчетном листке сотрудника количество отработанных дней и часов отображается в двойном (а иногда и большем) размере при корректно рассчитанной сумме начислений, является достаточно распространенной проблемой в 1С:Зарплата и управление персоналом 3.1. Это может вводить в заблуждение как бухгалтера, так и самого сотрудника, а также приводить к ошибкам в статистической отчетности. Рассмотрим подробно причины возникновения этой ошибки и методы её устранения.

Анализ последствий переноса данных из ЗУП 2.5

Одной из наиболее частых причин задвоения времени является некорректный результат «полного переноса» данных из предыдущей редакции программы (ЗУП 2.5). В этом случае данные об отработанном времени могут попадать в систему одновременно из нескольких источников. Разберем, как проанализировать ситуацию:

  1. Проанализируем документы Перенос данных. Именно в них фиксируются показатели для расчета среднего заработка и данные об отработанном времени за прошлые периоды. Если после переноса вы обнаружили аномалии в расчетном листке за первый месяц работы в новой базе, следует искать записи в регистрах накопления с регистратором Перенос данных.
  2. Воспользуемся отчетом Анализ зарплаты по сотрудникам (помесячно). В этом отчете мы можем выполнить расшифровку поля с отработанным временем. Для этого нажмем правой кнопкой мыши на значение времени и выберем пункт Расшифровать..., указав поле Регистратор. Это позволит нам точно увидеть, какой документ (или документы) сделал записи в регистр.
  3. В настройках самого расчетного листка установим флаг Выводить основания начислений и удержаний. Это поможет визуально сопоставить строки начислений с документами-основаниями прямо в печатной форме.

Техническая ошибка в ЗУП КОРП: модуль управленческой зарплаты

В версиях ЗУП КОРП может проявляться программная ошибка, связанная с дублированием вызовов процедур проведения документов (например, Больничного листа). Выясним причину этого поведения на уровне кода. В модуле менеджера документа при проведении по регистрам дважды вызывается механизм регистрации времени, если в программе включена подсистема управленческой зарплаты.

Проанализируем фрагмент кода в модуле УчетНачисленнойЗарплаты. Проблема кроется в процедуре ЗарегистрироватьОтработанноеВремя:


Если Движения.ОтработанноеВремяПоСотрудникам.Количество > 0 Тогда
    // Здесь происходит автоматическое дополнение таблицы, что может привести к дублированию записей
    ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(Движения.ОтработанноеВремяПоСотрудникам, Движения.ОтработанноеВремяПоСотрудникамАвансом);
    Движения.ОтработанноеВремяПоСотрудникамАвансом.Записывать = Истина;
КонецЕсли;

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

Проверка регистров накопления с помощью Универсального отчета

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

  1. Отработанное время по сотрудникам — основной регистр, где хранится фактически отработанное время.
  2. Отработанное время по сотрудникам авансом — используется для фиксации времени при расчете зарплаты за первую половину месяца (аванса).
  3. Отработанное время по сотрудникам (корректировка) — содержит корректирующие записи.

Посмотрим на ситуацию через Универсальный отчет (раздел Администрирование). Настроим его по регистру накопления Отработанное время по сотрудникам, выбрав тип данных «Обороты». В группировках добавим Сотрудник и Регистратор. Если мы видим, что за один и тот же период по одному сотруднику записи делают два документа (например, Начисление зарплаты и взносов и Табель, или два разных начисления), мы нашли причину задвоения. Для детальной сверки плановых и фактических показателей можно также использовать отчет для анализа отработанного времени сотрудников.

Методологические ошибки настройки графиков и начислений

Иногда корень проблемы лежит в настройках кадрового учета. Проанализируем настройки для сотрудников-совместителей:

Графики работы. Для внешних совместителей, работающих на полставки, в графике должен быть установлен флаг Неполное рабочее время и выбран вид Неполный рабочий день. При этом важно указать основной график (полного времени), чтобы норма времени рассчитывалась корректно. Если настройки сбиты, система может ошибочно суммировать норму и факт.

Плановые начисления. Проверим список назначенных начислений сотрудника. Если по ошибке назначены два начисления, использующих один и тот же вид времени (например, Явка), программа зафиксирует время по каждому из них. Посмотрим Историю изменений оплаты труда в карточке сотрудника. Убедимся, что нет пересекающихся периодов действия одинаковых начислений.

Массовое исправление: Пересчет планового ФОТ

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

  1. Перейдем в раздел Зарплата.
  2. Выберем пункт Сервис — Пересчет планового ФОТ.
  3. Запустим процедуру для всех сотрудников или выборочно по проблемным лицам.

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

Взаимодействие документов «Табель» и «Начисление зарплаты»

Разберем еще одну ситуацию: использование документа Табель. В ЗУП 3.1 Табель является приоритетным документом учета времени. Если Табель был создан и проведен, а затем бухгалтер изменил график работы сотрудника или ввел документ отклонения (например, командировку), но забыл перезаполнить Табель, в регистрах может возникнуть рассогласование.

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

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

← На главную