Почему в 1С:ЗУП не работает настройка «Проверять соответствие фактического времени плановому»?

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

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

Как включить и активировать проверку

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

Рассмотрим ситуацию: вы установили настройку, но старый документ Табель по-прежнему проводится без ошибок. Выясним причину. Как показывает практика и обсуждения экспертов, программный код 1С проверяет значение этой константы в момент инициализации сессии или при создании нового объекта. Чтобы настройка «подхватилась», рекомендуется выполнить следующие шаги:

  1. Установить флажок в настройках расчета зарплаты.
  2. Полностью закрыть документ Табель, если он был открыт.
  3. В идеале — перезапустить сеанс работы с программой (выйти и зайти заново).
  4. Создать новый документ Табель. Попытка перезаполнить старый документ не всегда приводит к активации механизма контроля из-за кэширования данных в форме.

Что именно проверяет система (Виды времени vs Количество часов)

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

Проверка срабатывает на несоответствие видов времени:

Проверка НЕ срабатывает на изменение количества часов в рамках одного вида времени:

Если в графике запланирована «Явка» 8 часов, а вы в табеле меняете это значение на 10 или 12 часов, программа проведет документ без лишних вопросов. С точки зрения логики системы, вид времени (Явка) соответствует плановому, а изменение объема часов считается допустимым (например, как работа, не требующая специального приказа, или просто уточнение факта). Если вам требуется запретить именно изменение количества часов, стандартная настройка здесь не поможет.

Влияние оправдательных документов на логику проверки

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

Например, если на субботу (выходной по графику) оформлен документ Работа в выходные и праздники, то ввод кода Я (или РВ) в табеле в этот день не вызовет ошибки. Программа понимает, что план был официально изменен данным документом.

Как запретить изменение количества часов?

Рассмотрим вопрос, который часто задают бухгалтеры: «Как запретить ставить 12 часов вместо 8 в обычный рабочий день?». Поскольку штатная «галка» этого не делает, можно использовать следующие подходы:

  1. Ограничение прав доступа: Лишить пользователей прав на редактирование документа Табель после его первоначального автоматического заполнения.
  2. Дата запрета изменения: Использовать механизм даты запрета редактирования, чтобы после проверки табеля никто не мог внести в него правки.
  3. Доработка (Расширение): Написание небольшого расширения, которое будет программно сравнивать часы. Рассмотрим пример логики, которую можно заложить в процедуру ПередЗаписью документа:

// Пример логики для расширения
Для Каждого СтрокаТайбеля Из Объект.ДанныеОВремени Цикл
    ПлановоеВремя = ПолучитьПлановоеВремя(СтрокаТайбеля.Сотрудник, СтрокаТайбеля.Дата);
    Если СтрокаТайбеля.Часы <> ПлановоеВремя.Часы Тогда
        Отказ = Истина;
        Сообщение = Новый СообщениеПользователю;
        Сообщение.Текст = "Нельзя менять количество часов для " + СтрокаТайбеля.Сотрудник;
        Сообщение.Сообщить();
    КонецЕсли;
КонецЦикла;

Нужен ли табель вообще?

Разберем важный методологический аспект. В 1С:ЗУП 3.1 реализован принцип «расчета по отклонениям». Это означает, что если у сотрудника обычный график и нет пропусков, документ Табель вводить не обязательно. Зарплата прекрасно рассчитается на основании его графика работы.

Использование документа Табель оправдано только в случаях:

В остальных случаях избыточное использование табеля только создает риск возникновения ошибок, которые потом сложно отследить при расчете НДФЛ и среднего заработка. Настройка соответствия факта плану — это лишь вспомогательный фильтр, призванный минимизировать «человеческий фактор» при ручном вводе данных, которые принципиально противоречат кадровым приказам и графикам.

← На главную