За работу во вредных и опасных условиях труда полагается как минимум 7 календарных дней ежегодного дополнительного оплачиваемого отпуска. Количество дней отпуска при этом рассчитывается по особым правилам. К большому сожалению в конфигурациях Управление производственным предприятием 1.3 и Зарплата и Управление Персоналом 2.5 подобный вид отпуска не реализован. Данная обработка предназначена чтобы заполнить сей пробел. Тестирование проводилось на релизе 1.3.196.3 конфигурации Управление производственным предприятием.
В начале немного теории... https://www.klerk.ru/blogs/moedelo/517939/
Основная проблема расчета данного вида отпуска состоит в том, что он рассчитывается пропорционально отработанному во вредных условиях времени. Поэтому нам понадобятся данные сформированной унифицированной формы Т-13 (Табеля учёта рабочего времени) и графика работы сотрудника. Причём эти сведения нужны за все года с даты приёма на работу, что безусловно очень трудозатратно...
Вкратце алгоритм расчета следующий:
- Определить количество дней, которые работник фактически отработал во вредных условиях труда независимо от того, на полной или не полной ставке. Дни учитывают, даже если занятость менее 0,5 ставки. Тут нюанс, до 1 апреля 2017 года подразумевалось что день засчитывается сотруднику только если он отработал во вредных условиях более половины смены (п. 12 Инструкции, утвержденной постановлением Госкомтруда СССР, ВЦСПС от 21.11.1975 N 273/П-20), а после количество дней засчитывалось в виде дроби (Решение Верховного Суда РФ от 26.01.2017 N АКПИ16-1035).
-
Определить количество полных месяцев работы во вредных или опасных условиях труда. Для этого нужно общее количество дней, которые отработал сотрудник во вредных условиях в течение года, разделить на среднемесячное количество рабочих дней в календарном году. При расчете количества полных месяцев «вредной» работы применяют обычные правила округления: значение менее 0,5 игнорируют, более 0,5 – округляют до полного месяца. Если рабочий год сотрудника приходится на разные календарные годы, то количество полных месяцев работы на вредных работах рассчитывают для каждого года отдельно, затем результаты расчетов суммируют.
-
Определить, сколько дней дополнительного отпуска заработал сотрудник. Если сотрудник отработал на вредных работах меньше 11 месяцев, используем формулу: Количество дополнительных дней отпуска за вредность = Количество дней дополнительного отпуска : 12 x Количество отработанных месяцев. Если же сотрудник отработал во вредных условиях больше 11 месяцев, то полагается отпуск «за вредность» полной продолжительности;
В течение рабочего года сотрудник может трудиться на разных должностях или профессиях, а длительность отпуска «за вредность» для них различается. Тогда и количество полных месяцев работы на вредных работах, и продолжительность отпуска «за вредность» для каждой должности исчисляют в особом порядке (п. 11 Инструкции).
Также расчета остатка отпуска за вредность, предоставляемого за фактически отработанное время используются календарные, а не рабочие годы. Объясняется это тем, что если расчет прав на отпуск происходит в начале года, то производственный календарь и графики работы на следующий год еще не утверждены, следовательно, посчитать среднемесячное количество рабочих дней за рабочий год невозможно. Именно поэтому расчет ведется по календарным годам.
Следует отметить, что первый такой «календарный» год начинается с даты приема сотрудника на работу и заканчивается 31 декабря. Для такого периода среднемесячное количество рабочих дней рассчитывается пропорционально количеству рабочих дней за календарный период (ранее мы просто не знаем какой график был у сотрудника, так как он не был принят на работу!!!).
Таким образом, зная набор рабочих годов сотрудника, следует разделить каждую запись набора на календарные года (от одного до очень многих, не забываем про декретчиков!). В каждом календарном годе подсчитать сколько человек должен работать по графику (чтобы получить среднемесячное число рабочих дней) и сколько он отработал фактически с учётом прав на дополнительный отпуск с разделением по количеству дней этого отпуска положенных за год (чтобы получить количество полных месяцев отработанных во вредных условиях). После этого для каждого рабочего года требуется сложить количество этих месяцев и если их менее 11 произвести вычисление количества дней по вышеприведённой формуле (иначе полное число дней из права на отпуск). При определении количества полных месяцев можно составить своего рода "график" их накопления - когда достигнут предел в виде половины среднемесячного числа рабочих дней (из-за округления первый месяц можно считать уже достигнутым после превышения лишь половины), когда превышен предел в виде 1,5..2,5..3,5 и т.д. (для последующих месяцев же уже требуется превышение полного среднемесячного числа рабочих дней).
Получение данных табеля рабочего времени занимает значительное время и для ускорения получения данных возможно использовать регистр сведений следующего вида:
В него могут быть записаны как раз те самые "графики" получения полных месяцев рассчитанные в ходе вычислений и расцененные уже в полученных днях отпуска. Это позволит отказаться от полного расчета для вывода данных в стандартную форму остатков отпусков:
Теперь собственно об обработке - в ней используются фрагменты кода из штатных модулей ОстаткиОтпусков и УнифицированнаяФормаТ13, а также некоторая часть кода адаптирована из Зарплаты Управления Персоналом 3.1 (где требуемый вид отпуска реализован). Интерфейс взят из вот этой публикации //infostart.ru/public/418995/ (к сожалению алгоритм расчета в ней устарел и уже не может применяться... увы).
Пользователю требуется только указать в форме обработки дату получения остатков отпуска, сотрудника, вид ежегодного отпуска, который следует считать отпуском за вредность и нажать кнопку "Выполнить вычисления".
Если сотрудник имеет право на отпуск за работу во вредных условиях, то помимо собственно расчета будет выведен табличный документ с расчётом и промежуточными данными (для детальной проверки сотрудником отдела кадров, например):
На каждом предприятии могут быть различные порядки ведения учёта времени, поэтому код у обработки открытый - Вы можете самостоятельно реализовать обработку "различных" нюансов (например, не учитывать оплату по среднему при подсчете дней работы и т.п.)
Также в обработке возможно вывести стандартную справку по остаткам отпуска с учётом произведённых вычислений (кнопка "Справка по отпуску" в форме обработки):
Если результаты вычислений обработки полностью удовлетворяют всем требованиям учета на предприятии, то возможно произвести интеграцию непосредственно в штатный модуль ОстаткиОтпусков (шаблон модуля прилагается - в нём надо обязательно указать код вида ежегодного отпуска, который считать отпуском за вредность - по умолчанию стоит "000000003" ), предварительно создав регистр сведений "ЗаработанныеПраваНаОтпуска". Сама обработка при работе производит попытку записи в данный регистр результатов вычислений.
В обработке предусмотрено выполнение массовых вычислений отпусков для заполнения данных (кнопка "Сформировать сведения"), а также очистки сведений (кнопка "Удалить все сведения"). В случае интеграции алгоритмов в модуль ОстаткиОтпусков следует выполнить массовые расчеты до открытия штатной формы "Остатки отпусков" (данная форма вычисляет полный остаток отпусков для каждого видимого сотрудника в списке и будет слишком долго открываться без сведений из регистра).