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