Как автоматизировать расчет северного отпуска для вахтовиков в 1С:ЗУП 3.1 КОРП

Программист 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом Управленческий учет Промышленность, строительство и АПК
← На главную

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

Проблема учета стажа при вахтовом методе

Согласно законодательству (ст. 302 ТК РФ), в стаж, дающий право на северные льготы (надбавку и доп. отпуск), включаются:

  1. Дни фактического нахождения на вахте в северных районах.
  2. Дни нахождения в пути от пункта сбора до места работы и обратно.

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

Решение 1: Использование механизма «Территорий» (Типовой функционал КОРП)

В версии КОРП реализован мощный инструмент — справочник Территории. Это наиболее прозрачный и поддерживаемый вендором способ учета «рваного» стажа. Проанализируем алгоритм настройки:

1. Создадим в справочнике Территории две записи: одну для северного участка (с указанием территориальных условий РКС или МКС) и вторую для «нормальных условий» (без указания кодов).

2. Для отражения перемещений воспользуемся документом Перемещение между территориями (или Прикомандирование к территории). Этот документ позволяет зафиксировать нахождение сотрудника на конкретном участке без оформления полноценных кадровых переводов.

3. Дни в пути необходимо относить к «северной» территории, так как они по закону приравниваются к работе на севере. Межвахтовый отдых — к территории с нормальными условиями.

Преимущества этого подхода:

Решение 2: Использование табеля и создание регистра отклонений (Кастомизация)

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

Для реализации этого метода программисту потребуется:

  1. Создать новый регистр сведений РегистрДнейОтклоненийСеверногоСтажа.
  2. Написать обработку, которая будет анализировать данные Табеля за месяц.
  3. При обнаружении кодов «Межвахтовый отдых» (ОБ) или «Дни в пути» (ПВ), система должна делать записи в регистр.

Пример алгоритма на языке 1С для анализа табеля и записи периодов:


Процедура ЗаполнитьОтклоненияСтажа(Сотрудник, ПериодРегистрации)
    // Получаем данные времени из табеля или данных учета времени
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ
    |	ДанныеТабеля.ВидВремени,
    |	ДанныеТабеля.Дата,
    |	ДанныеТабеля.Сотрудник
    |ИЗ
    |	РегистрНакопления.ДанныеТабеля КАК ДанныеТабеля
    |ГДЕ
    |	ДанныеТабеля.Сотрудник = &Сотрудник
    |	И ДанныеТабеля.Дата МЕЖДУ &НачалоМесяца И &КонецМесяца";
    
    Запрос.УстановитьПараметр("Сотрудник", Сотрудник);
    Запрос.УстановитьПараметр("НачалоМесяца", НачалоМесяца(ПериодРегистрации));
    Запрос.УстановитьПараметр("КонецМесяца", КонецМесяца(ПериодРегистрации));
    
    Результат = Запрос.Выполнить().Выбрать();
    
    Пока Результат.Следующий() Цикл
        // Если это межвахтовый отдых, который не входит в северный стаж
        Если Результат.ВидВремени = Справочники.ВидыИспользованияРабочегоВремени.МежвахтовыйОтдых Тогда
             // Логика записи в кастомный регистр
             ЗаписатьВРегистрОтклонений(Результат.Сотрудник, Результат.Дата);
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры

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

Важные нюансы учета «Северных» дней

Проанализируем спорные моменты, которые часто возникают при внедрении:

Алгоритм «Пропорционального» доначисления

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

  1. Суммируем все календарные дни (вахта + путь) за рабочий год.
  2. Делим общую сумму на среднемесячное число дней (30.4 или по факту месяца — зависит от учетной политики).
  3. Получаем количество «целых северных месяцев».
  4. Умножаем на ставку отпуска (2 дня для МКС, 2.33 дня для РКС).

Итоги и рекомендации

Для большинства предприятий наиболее оптимальным будет использование механизма территорий в версии КОРП. Это позволит избежать масштабных доработок при обновлениях программы. Перемещение сотрудника на «территорию без северных условий» на период межвахтового отдыха — это самый корректный путь с точки зрения методологии 1С.

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

← На главную