При работе в конфигурации 1С:Зарплата и Управление Персоналом (ЗУП) редакции 3.0 и 3.1 многие пользователи сталкиваются с жесткой логикой программы: система не позволяет провести документ Табель, если указанные в нем данные не совпадают с плановым графиком работы сотрудника. Например, если по графику у сотрудника «Явка», а вы вручную ставите в табеле «Выходной», программа выдает критическую ошибку: «Вид времени Выходные дни не совпадает с плановыми данными Явка».
В этой статье мы подробно разберем, почему возникает эта проблема, рассмотрим несколько способов ее решения — от штатных настроек до изменения программного кода, и выясним, как это влияет на расчет заработной платы и среднего заработка.
Проанализируем архитектуру программы. В отличие от старой редакции 2.5, где Табель был «самым главным» документом, определяющим начисления, в ЗУП 3.0 приоритет отдан графикам работы (плановым данным). Разработчики 1С заложили методологию, согласно которой любое отклонение от графика должно подтверждаться первичным документом: приказом на отпуск, больничным листом или документом Работа в выходные и праздничные дни. Свободное редактирование табеля «от руки» воспринимается системой как ошибка учета.
Начиная с релиза 3.0.22, разработчики добавили возможность смягчить эту проверку. Рассмотрим, как это сделать в интерфейсе программы:
После снятия этой настройки система позволит проводить Табель с любыми видами времени, даже если они противоречат графику. Однако стоит помнить, что это отключает контроль над всеми сотрудниками. Разберем последствия: если расчетчик случайно поставит явку во время отпуска, программа может не выдать предупреждение, что приведет к переплате.
Если мы не хотим отключать общую проверку, проанализируем ситуацию с использованием документа Индивидуальный график. Это «правильный» с точки зрения методологии 1С путь.
Когда мы создаем Индивидуальный график на месяц, он полностью замещает собой общий график сотрудника. Если в конкретный день нужно вместо рабочей смены поставить выходной (и при этом не уменьшать норму времени, либо наоборот — уменьшить ее), мы фиксируем это в графике. Проблема здесь в том, что Индивидуальный график пересчитывает норму рабочего времени. Если вместо 21 рабочего дня мы укажем 20, то оклад за месяц будет выплачен в полном объеме за 20 дней, так как норма теперь равна факту.
Рассмотрим хитрость, предложенную пользователями (Message 1):
Индивидуальный график, где проставляем нужные выходные/явки.Табель.Индивидуальный график.
В результате Табель остается проведенным, а расчет зарплаты (норма времени) подтягивается из основного графика. Однако этот метод является «костылем» и может привести к ошибкам при пересчете зарплаты в будущем.
Посмотрим на ситуацию с точки зрения трудового законодательства. Если сотрудник не вышел в свой рабочий день, это не просто «выходной», а отсутствие. Выясним, как это оформить правильно:
Отпуск без сохранения оплаты. В табеле автоматически появится код «ДО» или «НВ».Отгул.Если вы работаете на старом релизе или по каким-то причинам не можете использовать стандартные настройки, проанализируем код модуля. Основная проверка выполняется в общем модуле УчетРабочегоВремени.
Найдем процедуру СоздатьВТДопустимыеСочетанияПлановогоИФактическогоВремени. Чтобы разрешить сочетание явки и выходного, можно внести изменения в формирование таблицы соответствий. Рассмотрим пример кода, который снимает ограничение:
// В модуле УчетРабочегоВремени находим формирование таблицы ТаблицаСоответствия
// Комментируем жесткие условия проверки
// Если Выборка.ОсновноеВремя <> ВидВремениВыходной Тогда
СтрокаТаблицы = ТаблицаСоответствия.Добавить();
СтрокаТаблицы.ВидВремениПлановый = ВидВремениЯвка;
СтрокаТаблицы.ВидВремениФактический = Выборка.ОсновноеВремя;
// Добавляем возможность ставить явку в выходной
СтрокаТаблицы = ТаблицаСоответствия.Добавить();
СтрокаТаблицы.ВидВремениПлановый = ВидВремениВыходной;
СтрокаТаблицы.ВидВремениФактический = Выборка.ОсновноеВремя;
Будьте осторожны при внесении изменений в типовые конфигурации. Рекомендуем использовать механизм расширений, чтобы сохранить возможность беспрепятственного обновления программы.
Разберем важный нюанс: любые манипуляции с видами времени в табеле напрямую влияют на расчет среднего заработка для отпусков и командировок. Если вы ставите «Явку» (код Я) вместо «Выходного» (код В), эти часы и дни включаются в отработанное время. Если же вы ставите выходной в рабочий день без оформления официального отсутствия, это может привести к занижению среднего заработка в будущем.
Также проанализируем влияние на стаж для СФР (бывший ПФР). Коды «Явка» и «Выходной» обычно не прерывают стаж, но если вы начнете использовать специфические коды (например, «НН» — неявка по невыясненным причинам), это может отразиться в отчетности ЕФС-1 (ранее СЗВ-СТАЖ) как разрыв стажа или особый период.
Выясним, какой путь лучше выбрать: