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