Почему в Табеле 1С:ЗУП 3.1 появляются лишние часы явки в выходной день?

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

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

Такая ситуация блокирует проведение документа Табель, так как система видит противоречие в данных и выдает ошибки. Давайте подробно разберем, почему это происходит и как устранить проблему, проанализировав внутренние механизмы учета времени в системе.

Шаг 1. Анализ регистров накопления

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

  1. Данные оперативного учета рабочего времени сотрудников: Это ключевой регистр. Именно здесь фиксируются все движения по времени. Если в нем зависли записи от удаленных документов или некорректных корректировок, Табель будет подтягивать эти данные.
  2. Данные табельного учета рабочего времени сотрудников: Посмотрим, попадают ли туда эти злополучные 11 часов. Как показывает практика, если при проведении Табеля вылетают ошибки, значит, в этом регистре данные еще не зафиксированы окончательно, но "предварительные" записи уже конфликтуют.
  3. Данные индивидуальных графиков сотрудников: Даже если вы уверены, что индивидуальный график не создавался, стоит проверить этот регистр. Возможно, документ был создан и помечен на удаление, но записи в регистре сохранились из-за программного сбоя.

Рассмотрим пример запроса или логики, которую использует система при чтении данных из этих регистров (условно):


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

Шаг 2. Проверка механизма вытеснения и видов времени

Выясним причину, по которой "Явка" не вытесняется "Работой в выходные дни". В норме вид времени "РВ" (Работа в выходные) должен перекрывать любые плановые начисления, но так как в выходной день плановой явки быть не должно, система может воспринимать эти 11 часов как дополнительную нагрузку.

Проанализируем настройки справочника Виды использования рабочего времени. Необходимо проверить:

Шаг 3. Исключение влияния "Подработок" и совмещений

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

Шаг 4. Особенности релиза 3.1.27 и выше

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

Также стоит обратить внимание на документ Изменение графиков работы списком. Даже если индивидуальный график не создавался на одного человека, сотрудник мог попасть в общий список изменений, где по ошибке выходной день был отмечен как рабочий с количеством часов 11.

Шаг 5. Технические методы решения

Если анализ регистров не выявил явного документа-виновника, воспользуемся техническими методами очистки системы:

  1. Очистка кэша: Часто динамическое обновление конфигурации приводит к тому, что программный код заполнения Табеля работает некорректно на конкретном рабочем месте.
  2. Перезаполнение через "Подбор": Вместо использования кнопки Заполнить в Табеле, попробуем удалить строку сотрудника и добавить её заново через кнопку Подбор. Это заставляет систему заново пересчитать оперативные данные по конкретному физическому лицу.
  3. Тестирование и исправление: Если записи в регистрах "зависли" (документ удален, а запись осталась), поможет запуск процедуры Тестирование и исправление информационной базы с включенной опцией "Очистка ссылок" и "Пересчет итогов".

Шаг 6. Влияние суммированного учета

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

Важный момент: Если в документе Работа в выходные и праздничные дни выбрано условие компенсации "Отгул", а не повышенная оплата, система иногда некорректно связывает право на отгул с текущей явкой, что приводит к визуальному дублированию строк. Попробуйте временно изменить способ компенсации на "Повышенную оплату" и проверить, исчезнут ли лишние 11 часов из Табеля.

Итоговые рекомендации

Для оперативного исправления ситуации прямо сейчас, выполните следующие действия:

← На главную