7 ошибок при настройке отпуска за вредность в 1С:ЗУП 3.1

7 ошибок при настройке отпуска за вредность в 1С:ЗУП 3.1

Почему дополнительный отпуск за вредность — зона повышенного риска в 1С:ЗУП

Дополнительный оплачиваемый отпуск за работу во вредных и опасных условиях труда — одна из наиболее сложных областей кадрового учёта. Статья 117 Трудового кодекса РФ гарантирует работникам не менее 7 календарных дней дополнительного отпуска, однако отраслевые соглашения, коллективные договоры и результаты специальной оценки условий труда (СОУТ) могут существенно увеличивать эту цифру.

На практике бухгалтеры и кадровики, работающие с задачами по 1С:ЗУП, регулярно сталкиваются с ситуацией, когда дополнительные дни либо вообще не появляются в расчётном листке, либо накапливаются некорректно, либо «сгорают» при переходе на новый рабочий год. Цена ошибки высока: трудовая инспекция штрафует за неверный расчёт отпускных, а сотрудники подают иски в суд.

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

Ошибка 1: Неверный вид начисления для дополнительного отпуска

Самая распространённая ошибка — использование стандартного вида начисления «Отпуск основной» вместо специализированного вида для вредного отпуска. В результате система не разделяет основной и дополнительный отпуск, сальдо смешивается, а при расчёте компенсации при увольнении возникают расхождения.

Как должно быть настроено

В разделе Настройка → Начисления необходимо создать отдельный вид начисления с категорией «Дополнительный отпуск, предусмотренный законодательством». Именно эта категория активирует корректный алгоритм расчёта рабочего года и накопления дней.

  • Категория начисления: Дополнительный отпуск, предусмотренный законодательством
  • Флаг «Учитывать в стаже для основного отпуска»: снят
  • Флаг «Учитывать в стаже для дополнительного отпуска»: установлен
  • Способ расчёта: Оплата по среднему заработку

Если вид начисления был создан неверно и уже применялся, потребуется перенастройка с последующим пересчётом остатков отпусков через документ «Начальные данные для расчёта отпусков».

Ошибка 2: Отсутствие или неправильное заполнение условий труда в карточке должности

Система 1С:ЗУП 3.1 начисляет дополнительный отпуск за вредность только тогда, когда в позиции штатного расписания (или в карточке сотрудника) явно указаны вредные условия труда с классом 3.1 и выше. Если это поле пустое или установлен класс 2 («допустимые»), программа просто не знает, что работнику положен дополнительный отпуск.

Алгоритм проверки и исправления

  1. Откройте Кадры → Штатное расписание, найдите нужную позицию.
  2. На вкладке «Условия труда» проверьте поле «Класс условий труда» — должно быть 3.1, 3.2, 3.3, 3.4 или 4.
  3. В поле «Дополнительный отпуск» укажите количество дней согласно СОУТ и коллективному договору (минимум 7 к.д.).
  4. Сохраните изменения и проведите документ «Изменение штатного расписания» с нужной датой.

Важно: изменения в штатном расписании не пересчитывают уже проведённые документы начисления. Для корректировки прошлых периодов используйте документ «Перерасчёт отпуска».

Ошибка 3: Неправильный расчёт рабочего года для вредного отпуска

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

Типичная ошибка — установка параметра расчёта стажа «Как для основного отпуска». В этом случае сотрудник, проболевший три месяца, получит дополнительные дни как за полный год работы во вредных условиях, что противоречит статье 121 ТК РФ.

Правильная настройка расчёта стажа

В карточке вида начисления, вкладка «Стаж»:

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

Расчёт пропорции: если в году 249 рабочих дней, а работник отработал 187, то дополнительный отпуск = 7 × (187 / 249) = 5,25 дня (округляется в пользу работника до 6 дней).

Ошибка 4: Некорректная настройка графика работы — дни «сгорают»

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

Диагностика проблемы через код

Следующая процедура поможет выявить расхождение между накопленными и начисленными днями по всем сотрудникам организации:

// Процедура диагностики остатков дополнительного отпуска за вредность
// Запускается из консоли запросов или внешней обработки

Процедура ПроверитьОстаткиОтпускаЗаВредность()

	// Формируем запрос к регистру накопления остатков отпусков
	Запрос = Новый Запрос;
	Запрос.Текст =
		"ВЫБРАТЬ
		|	ОстаткиОтпусков.Сотрудник КАК Сотрудник,
		|	ОстаткиОтпусков.ВидОтпуска КАК ВидОтпуска,
		|	ОстаткиОтпусков.ДнейОстатокОстаток КАК ДнейОстаток,
		|	ОстаткиОтпусков.ДнейНакопленоОстаток КАК ДнейНакоплено
		ИЗ
		|	РегистрНакопления.ОстаткиОтпусков.Остатки КАК ОстаткиОтпусков
		ГДЕ
		|	ОстаткиОтпусков.ВидОтпуска.КатегорияОтпуска
		|		= ЗНАЧЕНИЕ(Перечисление.КатегорииОтпусков.ДополнительныйПредусмотренныйЗаконодательством)
		УПОРЯДОЧИТЬ ПО
		|	ОстаткиОтпусков.Сотрудник";

	Результат = Запрос.Выполнить();
	Выборка = Результат.Выбрать();

	// Выводим результат в окно сообщений
	Пока Выборка.Следующий() Цикл

		Если Выборка.ДнейОстаток <> Выборка.ДнейНакоплено Тогда
			// Найдено расхождение — выводим предупреждение
			Сообщить(
				"Расхождение: " + Выборка.Сотрудник
				+ " | Остаток: " + Выборка.ДнейОстаток
				+ " | Накоплено: " + Выборка.ДнейНакоплено
			);
		КонецЕсли;

	КонецЦикла;

КонецПроцедуры

Исправление настройки графика

Для сменных работников рекомендуется устанавливать единицу предоставления отпуска в рабочих днях по графику. Это обеспечивает корректный перевод накопленных дней в календарные при оформлении документа «Отпуск».

Ошибка 5: Неверная дата начала действия вредных условий труда

Дата, с которой сотруднику начинает начисляться дополнительный отпуск за вредность, критически важна для корректного расчёта стажа. Типичные ошибки:

  • Дата приёма на работу вместо даты утверждения результатов СОУТ
  • Дата подписания дополнительного соглашения к трудовому договору вместо даты введения в действие новых условий
  • Отсутствие даты окончания при переводе сотрудника на другую должность

В 1С:ЗУП 3.1 дата начала вредных условий устанавливается в документе «Изменение условий труда» (раздел Кадры). Именно от этой даты система начинает отсчёт стажа для дополнительного отпуска.

Проверка корректности дат через запрос

// Функция получения даты начала вредных условий для сотрудника
// Используется для аудита кадровых данных

Функция ПолучитьДатуНачалаВредныхУсловий(СотрудникСсылка) Экспортирует

	Запрос = Новый Запрос;
	Запрос.Текст =
		"ВЫБРАТЬ ПЕРВЫЕ 1
		|	ИсторияРаботы.Период КАК ДатаНачала,
		|	ИсторияРаботы.КлассУсловийТруда КАК КлассУсловий,
		|	ИсторияРаботы.ДополнительныйОтпускДней КАК ДнейОтпуска
		ИЗ
		|	РегистрСведений.ИсторияРаботыСотрудников КАК ИсторияРаботы
		ГДЕ
		|	ИсторияРаботы.Сотрудник = &Сотрудник
		|	И ИсторияРаботы.КлассУсловийТруда >= ЗНАЧЕНИЕ(Перечисление.КлассыУсловийТруда.Класс31)
		УПОРЯДОЧИТЬ ПО
		|	ИсторияРаботы.Период УБЫВ";

	Запрос.УстановитьПараметр("Сотрудник", СотрудникСсылка);

	Результат = Запрос.Выполнить();

	Если Результат.Пустой() Тогда
		// Вредные условия не найдены
		Возврат Неопределено;
	КонецЕсли;

	Выборка = Результат.Выбрать();
	Выборка.Следующий();

	// Возвращаем структуру с данными об условиях труда
	РезультатСтруктура = Новый Структура;
	РезультатСтруктура.Вставить("ДатаНачала", Выборка.ДатаНачала);
	РезультатСтруктура.Вставить("КлассУсловий", Выборка.КлассУсловий);
	РезультатСтруктура.Вставить("ДнейОтпуска", Выборка.ДнейОтпуска);

	Возврат РезультатСтруктура;

КонецФункции

Ошибка 6: Неправильная настройка компенсации при увольнении

При увольнении сотрудника, работавшего во вредных условиях, расчёт компенсации за неиспользованный дополнительный отпуск должен производиться отдельно от компенсации за основной отпуск. Ошибка возникает, когда в настройках вида начисления «Компенсация отпуска при увольнении» не указан вид отпуска, к которому она относится.

Последствия: при увольнении система либо не начисляет компенсацию за вредный отпуск вообще, либо суммирует все остатки в одну строку, что затрудняет проверку и может привести к налоговым ошибкам (компенсация за дополнительный отпуск свыше 28 дней облагается НДФЛ в особом порядке).

Настройка связки «Отпуск — Компенсация»

В разделе Настройка → Начисления для вида начисления «Компенсация за вредный отпуск при увольнении»:

  • Назначение начисления: Компенсация отпуска при увольнении
  • Вид отпуска: выбрать ваш вид «Дополнительный отпуск за вредность»
  • Способ расчёта: По среднему заработку
  • Код дохода НДФЛ: 2013 (компенсация за неиспользованный отпуск)

Также необходимо убедиться, что в документе «Увольнение» на вкладке «Компенсации» отображается строка с дополнительным отпуском. Если строки нет — проверьте, привязан ли вид компенсации к виду отпуска.

Ошибка 7: Ручные корректировки, нарушающие автоматический расчёт

Нередко кадровики, столкнувшись с неверным расчётом, вносят ручные корректировки непосредственно в документ начисления зарплаты или в регистр остатков отпусков. Это «заплатка», которая создаёт ещё больше проблем:

  • При следующем автоматическом расчёте система перезапишет ручные данные
  • В отчётах появляются расхождения между регистрами
  • При проверке трудовой инспекцией невозможно восстановить логику расчёта

Правильный инструмент для корректировки остатков

Для исправления остатков дополнительного отпуска используйте документ «Корректировка учёта отпусков» (Кадры → Все кадровые документы). Этот документ создаёт корректную запись в регистре накопления и не конфликтует с автоматическими расчётами.

// Пример программного создания документа корректировки остатков отпуска
// Используется при массовом исправлении данных после обнаружения ошибки

Процедура СоздатьКорректировкуОстаткаОтпуска(
		СотрудникСсылка,
		ВидОтпускаСсылка,
		КоличествоДней,
		ДатаКорректировки)

	// Начинаем транзакцию для безопасного проведения
	НачатьТранзакцию();

	Попытка

		// Создаём новый документ корректировки
		Документ = Документы.КорректировкаУчётаОтпусков.СоздатьДокумент();
		Документ.Дата = ДатаКорректировки;
		Документ.Организация = СотрудникСсылка.Организация;

		// Заполняем строку табличной части
		НоваяСтрока = Документ.Сотрудники.Добавить();
		НоваяСтрока.Сотрудник = СотрудникСсылка;
		НоваяСтрока.ВидОтпуска = ВидОтпускаСсылка;
		НоваяСтрока.КоличествоДней = КоличествоДней;
		НоваяСтрока.Комментарий = "Корректировка остатка по итогам аудита";

		// Записываем и проводим документ
		Документ.Записать(РежимЗаписиДокумента.Проведение);

		ЗафиксироватьТранзакцию();

		Сообщить("Корректировка создана: " + Документ.Ссылка);

	Исключение

		// При ошибке откатываем транзакцию
		ОтменитьТранзакцию();
		Сообщить("Ошибка создания корректировки: " + ОписаниеОшибки());

	КонецПопытки;

КонецПроцедуры

Комплексный аудит настроек: чек-лист для специалиста

Перед тем как приступать к исправлению ошибок, рекомендуется провести полный аудит текущих настроек. Используйте следующий чек-лист:

Область проверки Что проверяем Где смотреть в 1С:ЗУП 3.1
Вид начисления Категория «Доп. отпуск, предусмотренный законодательством» Настройка → Начисления
Штатное расписание Класс условий труда ≥ 3.1, количество дней Кадры → Штатное расписание
Карточка сотрудника Вкладка «Условия труда», дата начала действия Кадры → Сотрудники
Настройка стажа Только фактически отработанное время Карточка вида начисления → Стаж
Компенсация при увольнении Привязка к виду отпуска, код дохода 2013 Настройка → Начисления
Остатки отпусков Соответствие расчётным данным Отчёты → Остатки отпусков
Регистры накопления Отсутствие ручных корректировок без документов Все функции → Регистры накопления

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

Внутренние совместители

Если сотрудник работает по основному месту работы в нормальных условиях, а по совместительству — во вредных, дополнительный отпуск начисляется только по должности совместителя и пропорционально отработанному времени. В 1С:ЗУП 3.1 для этого необходимо настроить отдельную плановую начислению именно для позиции совместительства.

Перевод с вредной должности на обычную

При переводе важно правильно закрыть период вредных условий. Документ «Кадровый перевод» должен содержать дату окончания вредных условий. Если дата не указана, система продолжит начислять дополнительный отпуск после перевода.

После перевода необходимо проверить, что в регистре ИсторияРаботыСотрудников

Найдите специалиста для решения этой задачи на koderion.ru