Почему в табеле Т-13 в 1С:ЗУП не отображаются итоги по дням с кодом "ОН" и как это исправить?

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

При работе с табелем учета рабочего времени по форме Т-13 в программе 1С:Зарплата и Управление Персоналом 3 пользователи часто сталкиваются с ситуацией, когда по сотрудникам с видом времени "ОН" (Оплачиваемый нерабочий день) не заполняются итоговые колонки. В графах "Отработано" и "Неявки" пусто, хотя в самом табеле по дням отметка "ОН" стоит. Это вызывает вопросы у кадровиков и бухгалтеров, которые ожидают увидеть суммарное количество дней и часов. Давайте разберемся, почему программа ведет себя именно так, и как можно настроить отчет под требования вашей организации.

Стандартное поведение 1С:ЗУП и его обоснование

Для начала проанализируем, почему стандартный отчет Т-13 не выводит итоги по коду "ОН". Это не ошибка, а заложенная методология, основанная на статусе этого вида времени.

Код "ОН" был введен для обозначения оплачиваемых нерабочих дней, установленных на государственном уровне (например, указами Президента в период пандемии). Ключевая особенность этого периода в том, что он не является ни рабочим временем, ни классической неявкой (как отпуск, больничный или прогул).

Унифицированная форма Т-13 имеет четкую структуру:

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

Поскольку "ОН" не относится ни к первой, ни ко второй категории, программа логично не включает эти дни в стандартные итоговые графы. В печатной форме по дням месяца код "ОН" и соответствующее количество часов отображаются, но в сводные данные они не попадают. Такое поведение является методологически верным.

Важно понимать, как эти дни влияют на расчеты:

Сотрудники на удаленной работе

Часто возникает вопрос: а как быть с теми, кто в эти "нерабочие" дни продолжал трудиться дистанционно? В этом случае проставлять в табеле код "ОН" некорректно. Если сотрудник выполнял свои трудовые обязанности, то в табеле должен стоять код "Я" (Явка) с указанием фактически отработанных часов. Факт удаленной работы должен быть оформлен соответствующими документами, например, дополнительным соглашением к трудовому договору.

Как доработать отчет Т-13 для вывода итогов по коду "ОН"

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

Цель доработки — заставить программу считать дни и часы с кодом "ОН" и выводить их в одну из итоговых граф, чаще всего в графу "Неявки", создав для них отдельную колонку.

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

Если вы не используете расширения, можно внести изменения напрямую в код отчета, но будьте готовы к сложностям при обновлении.

Разберем пример кода, который можно добавить в модуль объекта отчета ТабельУчетаРабочегоВремениТ13, в процедуру ЗаполнитьДанныеПоСотруднику. Код следует вставить после цикла обхода детальных записей за день (в типовой конфигурации это примерно после строки 494).

Логика кода заключается в том, чтобы "перехватить" вид времени ОплачиваемыеНерабочиеДни и принудительно добавить его в коллекцию отклонений (неявок) для последующего суммирования.

Посмотрим на пример кода:


// ... фрагмент типового кода процедуры ЗаполнитьДанныеПоСотруднику
// После строки вида: Если Не ЭтоОтклонение Тогда ...

Если ДетальныеЗаписиЗаДень.ВидУчетаВремени = ВидВремениОплачиваемыеНерабочиеДни Тогда
	
	ОтклоненияПоВидуВремени = ОтклоненияПоСотруднику.Добавить();
	ОтклоненияПоВидуВремени.ВидВремени = ДетальныеЗаписиЗаДень.ВидУчетаВремени;
	ОтклоненияПоВидуВремени.БуквенныйКод = ДетальныеЗаписиЗаДень[ИмяПоляБуквенныйКод];
	ОтклоненияПоВидуВремени.Дней = 1;
	
	Если ДанныеОВремениНаДату.Строки.Количество > 1 Тогда
		ОтклоненияПоВидуВремени.Часов = ДетальныеЗаписиЗаДень.Часы;
	Иначе
		ОтклоненияПоВидуВремени.Часов = ДанныеОВремениНаДату.Часы;
	КонецЕсли;
	
	ЭтоОтклонение = Истина;
	
КонецЕсли;

// ... далее по тексту типовой процедуры

Разберем, что делает этот код:

  1. Если ДетальныеЗаписиЗаДень.ВидУчетаВремени = ВидВремениОплачиваемыеНерабочиеДни Тогда — проверяем, что текущий вид времени является оплачиваемым нерабочим днем.
  2. ОтклоненияПоВидуВремени = ОтклоненияПоСотруднику.Добавить(); — добавляем новую строку в таблицу данных об отклонениях (неявках) по сотруднику.
  3. Далее заполняем поля этой строки: вид времени, буквенный код ("ОН"), количество дней (1) и количество часов из данных за день.
  4. ЭтоОтклонение = Истина; — устанавливаем флаг, чтобы этот день не был обработан как явка.

После внесения таких изменений отчет Т-13 начнет суммировать дни и часы с кодом "ОН" и выводить их в разделе неявок, как, например, отпуск (ОТ) или больничный (Б).

Важные организационные моменты

Прежде чем вносить изменения в код, важно помнить об ответственности. Модифицированная форма Т-13 перестает быть унифицированной. Чтобы обезопасить себя как исполнителя, следуйте простым правилам:

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

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

Такой подход защитит и вас, и компанию в случае проверок со стороны контролирующих органов. Часто фраза "в 1С реализовано все по закону, а любые отклонения требуют официального утверждения" помогает убедить руководство в необходимости формализовать свои требования.

← На главную