Как ввести отдельно ночные и дневные часы при работе в выходные и праздники в 1С:ЗУП 3.1?

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

При организации работы в выходные и праздничные дни часто возникает ситуация, когда смена сотрудника приходится как на дневное, так и на ночное время. В ранних релизах конфигурации «1С:Зарплата и Управление Персоналом 3.1» специализированный документ Работа в выходные и праздники фиксировал только общее количество часов, не разделяя их на дневные и ночные. Это приводило к необходимости либо ручной правки документа Табель, либо доработки программы.

Рассмотрим подробнее доступные варианты решения этой задачи: от типовых настроек программного продукта до точечной доработки кода.

Штатный механизм подробного ввода времени в современных релизах

Проанализируем возможности актуальных релизов 1С:ЗУП 3.1. Разработчики реализовали встроенную опцию детализации времени работы в выходные дни и при сверхурочных работах.

Для включения функционала выполним следующие шаги в программе:

  1. Перейдем в раздел Настройка — Расчет зарплаты.
  2. Откроем ссылку Настройка состава начислений и удержаний.
  3. На вкладке Прочие начисления установим флаг Подробный ввод времени праздничных и выходных.
  4. На вкладке Почасовая оплата включим флаг Использовать подробный ввод времени сверхурочных.

После сохранения этих настроек в документах Работа в выходные и праздники и Работа сверхурочно появится возможность задавать точные интервалы смен и разделять отработанные часы на дневные, вечерние и ночные.

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

Настройка учета ночных часов без изменения конфигурации

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

Разберем вариант с использованием специального вида времени и документа Табель:

  1. В справочнике Виды использования рабочего времени создадим новый элемент (например, Праздники (ночные) с буквенным кодом РВН).
  2. В настройках вида начисления Оплата праздничных и выходных дней на вкладке Учет времени добавим новый вид времени Праздники (ночные) в список дополнительных видов времени.
  3. В начислении Доплата за работу в ночные часы также добавим данный вид времени на вкладке учета времени.
  4. При оформлении документов регистрируем дневное время документом Работа в выходные и праздники, а ночное фиксируем в документе Табель путем указания вида времени Праздники (ночные).

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

Использование индивидуальных графиков

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

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

Программная доработка учета рабочего времени

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

Основная сложность типового механизма заключается в том, что оперативные данные о рабочем времени формируются специальными процедурами общего модуля. Данные о распределении времени хранятся в регистре накопления ДанныеОперативногоУчетаРабочегоВремени.

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

  1. Создание внешнего документа-уточнения на основании документа Работа в выходные и праздники, который формирует дополнительные движения по регистру ДанныеОперативногоУчетаРабочегоВремени.
  2. Расширение программного кода в общем модуле УчетРабочегоВремениРасширенный.

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


Функция ДобавитьЗаписьОперативныхДанныхУчетаВремени(ТаблицаДанных, СтруктураЗаписи)
    // Формирование структуры записей регистра ДанныеОперативногоУчетаРабочегоВремени
    // При доработке здесь переопределяются виды времени и количество ночных часов
КонецФункции

При корректном формировании записей оперативных данных в регистре ДанныеОперативногоУчетаРабочегоВремени документ Табель при автозаполнении будет подтягивать выделенные ночные часы автоматически, сохраняя целостность расчетов в программе.

← На главную