Почему в ЗУП 3.1 при формировании табеля Т-13 пропадают данные из документов «Данные для расчета зарплаты»?

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

В конфигурации Зарплата и управление персоналом 3.1 пользователи часто сталкиваются с ситуацией, когда фактически отработанное время, заведенное через документы Данные для расчета зарплаты, отображается в табеле Т-13 некорректно или «слетает» после проведения аналогичного документа по другому сотруднику. Рассмотрим подробнее, почему это происходит и как настроить систему для правильного учета времени.

Механизм формирования табеля Т-13 и приоритеты данных

Для начала разберем, откуда программа берет данные для заполнения печатной формы Т-13. В отличие от простых отчетов, Т-13 в ЗУП 3.1 — это сложный инструмент, который анализирует сразу несколько источников данных в строго определенном порядке приоритетности:

  1. Документ «Табель»: Если в системе создан и проведен документ Табель, данные из него имеют высший приоритет. Все остальные сведения игнорируются.
  2. Документы отклонений: Сведения о больничных, отпусках, прогулах и командировках замещают плановое время.
  3. Оперативный учет времени: Данные, введенные через документы Данные для расчета зарплаты. Эти сведения попадают в специализированный регистр Данные оперативного учета рабочего времени сотрудников.
  4. График работы: Если по сотруднику нет ни табеля, ни отклонений, ни оперативных данных, система заполняет Т-13 согласно его основному или индивидуальному графику.

Проблема, которую мы анализируем, заключается в том, что данные из третьего пункта (оперативный учет) внезапно пропадают, и система «откатывается» к четвертому пункту — графику работы.

Анализ регистра «Параметры зарегистрированных данных учета времени сотрудников»

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

Если при проведении нового документа записи по другим сотрудникам или за другие периоды очищаются, это означает, что программа выполняет замещение набора записей. Рассмотрим основные причины такого поведения:

  1. Отсутствие документа-основания: Если в регистре колонка Документ основание остается пустой, система считает эти данные «общими» для периода. При записи нового набора данных с пустым измерением Документ основание старые записи просто затираются.
  2. Настройка показателя: Это ключевой момент. В настройках расчета зарплаты для каждого показателя существует переключатель: «вводится единоразово» или «накапливается по нескольким документам».

Корректировка настроек шаблона ввода исходных данных

Чтобы документы не конфликтовали друг с другом, нам необходимо проверить настройки в справочнике Шаблоны ввода исходных данных. Выполним следующие шаги:

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

Шаг 2. Настройка накопления данных. Найдем показатель, отвечающий за время (например, ОтработаноЧасов или пользовательский показатель). В настройках самого показателя должен быть установлен флаг «Накапливается по нескольким документам в течение периода». Если выбрано «Вводится единовременно», то каждый новый документ будет считаться окончательным, обнуляя все предыдущие значения за месяц.

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

Особенности старых релизов (3.1.6 — 3.1.8)

Проанализируем техническую сторону вопроса на примере релиза 3.1.6.54, упомянутого в обсуждении. В версиях веток 3.1.6 и 3.1.7 наблюдалась программная ошибка в процедуре проведения документов Данные для расчета зарплаты. При формировании набора записей регистра ПараметрыЗарегистрированныхДанныхУчетаВремениСотрудников не всегда корректно заполнялся отбор по регистратору или сотруднику.

В результате при проведении документа по одному сотруднику система инициировала очистку записей по всей организации за указанный месяц. Если вы столкнулись с таким поведением на старом релизе, наиболее эффективным решением будет обновление конфигурации до актуальной версии (не ниже 3.1.10), где механизмы работы с оперативным учетом времени были существенно переработаны и оптимизированы.

Практические рекомендации по решению проблемы

Если оперативное обновление невозможно, рассмотрим альтернативные варианты стабилизации учета времени:

Таким образом, мы выяснили, что «странности» Т-13 — это не случайный сбой, а следствие работы алгоритма замещения данных в регистре параметров. Проверьте настройки накопления показателей и рассмотрите возможность обновления системы для исправления потенциальных багов платформенного уровня.

← На главную