При работе с табелем учета рабочего времени по форме Т-13 в программе 1С:Зарплата и Управление Персоналом 3 пользователи часто сталкиваются с ситуацией, когда по сотрудникам с видом времени "ОН" (Оплачиваемый нерабочий день) не заполняются итоговые колонки. В графах "Отработано" и "Неявки" пусто, хотя в самом табеле по дням отметка "ОН" стоит. Это вызывает вопросы у кадровиков и бухгалтеров, которые ожидают увидеть суммарное количество дней и часов. Давайте разберемся, почему программа ведет себя именно так, и как можно настроить отчет под требования вашей организации.
Для начала проанализируем, почему стандартный отчет Т-13 не выводит итоги по коду "ОН". Это не ошибка, а заложенная методология, основанная на статусе этого вида времени.
Код "ОН" был введен для обозначения оплачиваемых нерабочих дней, установленных на государственном уровне (например, указами Президента в период пандемии). Ключевая особенность этого периода в том, что он не является ни рабочим временем, ни классической неявкой (как отпуск, больничный или прогул).
Унифицированная форма Т-13 имеет четкую структуру:
Поскольку "ОН" не относится ни к первой, ни ко второй категории, программа логично не включает эти дни в стандартные итоговые графы. В печатной форме по дням месяца код "ОН" и соответствующее количество часов отображаются, но в сводные данные они не попадают. Такое поведение является методологически верным.
Важно понимать, как эти дни влияют на расчеты:
Часто возникает вопрос: а как быть с теми, кто в эти "нерабочие" дни продолжал трудиться дистанционно? В этом случае проставлять в табеле код "ОН" некорректно. Если сотрудник выполнял свои трудовые обязанности, то в табеле должен стоять код "Я" (Явка) с указанием фактически отработанных часов. Факт удаленной работы должен быть оформлен соответствующими документами, например, дополнительным соглашением к трудовому договору.
Несмотря на методологическую верность стандартного поведения, руководство или главный бухгалтер могут потребовать, чтобы в табеле отображались итоговые данные по дням "ОН". Такое требование является частным и требует доработки типового отчета. Рассмотрим, как это можно реализовать.
Цель доработки — заставить программу считать дни и часы с кодом "ОН" и выводить их в одну из итоговых граф, чаще всего в графу "Неявки", создав для них отдельную колонку.
Рекомендуемый способ — доработка через расширение конфигурации. Этот метод позволяет вносить изменения, не снимая программу с поддержки, что критически важно для своевременного получения обновлений.
Если вы не используете расширения, можно внести изменения напрямую в код отчета, но будьте готовы к сложностям при обновлении.
Разберем пример кода, который можно добавить в модуль объекта отчета ТабельУчетаРабочегоВремениТ13, в процедуру ЗаполнитьДанныеПоСотруднику. Код следует вставить после цикла обхода детальных записей за день (в типовой конфигурации это примерно после строки 494).
Логика кода заключается в том, чтобы "перехватить" вид времени ОплачиваемыеНерабочиеДни и принудительно добавить его в коллекцию отклонений (неявок) для последующего суммирования.
Посмотрим на пример кода:
// ... фрагмент типового кода процедуры ЗаполнитьДанныеПоСотруднику
// После строки вида: Если Не ЭтоОтклонение Тогда ...
Если ДетальныеЗаписиЗаДень.ВидУчетаВремени = ВидВремениОплачиваемыеНерабочиеДни Тогда
ОтклоненияПоВидуВремени = ОтклоненияПоСотруднику.Добавить();
ОтклоненияПоВидуВремени.ВидВремени = ДетальныеЗаписиЗаДень.ВидУчетаВремени;
ОтклоненияПоВидуВремени.БуквенныйКод = ДетальныеЗаписиЗаДень[ИмяПоляБуквенныйКод];
ОтклоненияПоВидуВремени.Дней = 1;
Если ДанныеОВремениНаДату.Строки.Количество > 1 Тогда
ОтклоненияПоВидуВремени.Часов = ДетальныеЗаписиЗаДень.Часы;
Иначе
ОтклоненияПоВидуВремени.Часов = ДанныеОВремениНаДату.Часы;
КонецЕсли;
ЭтоОтклонение = Истина;
КонецЕсли;
// ... далее по тексту типовой процедуры
Разберем, что делает этот код:
Если ДетальныеЗаписиЗаДень.ВидУчетаВремени = ВидВремениОплачиваемыеНерабочиеДни Тогда — проверяем, что текущий вид времени является оплачиваемым нерабочим днем.ОтклоненияПоВидуВремени = ОтклоненияПоСотруднику.Добавить(); — добавляем новую строку в таблицу данных об отклонениях (неявках) по сотруднику.ЭтоОтклонение = Истина; — устанавливаем флаг, чтобы этот день не был обработан как явка.После внесения таких изменений отчет Т-13 начнет суммировать дни и часы с кодом "ОН" и выводить их в разделе неявок, как, например, отпуск (ОТ) или больничный (Б).
Прежде чем вносить изменения в код, важно помнить об ответственности. Модифицированная форма Т-13 перестает быть унифицированной. Чтобы обезопасить себя как исполнителя, следуйте простым правилам:
1. Получите официальное техническое задание. Попросите главного бухгалтера или руководителя, который требует изменений, составить служебную записку или техническое задание. В этом документе должно быть четко прописано, как именно должен выглядеть табель. Это снимет с вас ответственность за несоответствие отчета стандартной форме.
2. Утвердите форму локальным нормативным актом. Организация имеет право использовать собственные формы первичных документов, в том числе и модифицированный табель. Для этого необходимо утвердить новую форму приказом руководителя.
Такой подход защитит и вас, и компанию в случае проверок со стороны контролирующих органов. Часто фраза "в 1С реализовано все по закону, а любые отклонения требуют официального утверждения" помогает убедить руководство в необходимости формализовать свои требования.