Почему в печатной форме табеля Т-13 в 1С:ЗУП 3.1 появляются лишние отсутствия и как это исправить?

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

При работе в программе 1С:Зарплата и управление персоналом (редакция 3.1) пользователи иногда сталкиваются с крайне неприятной ситуацией: при выводе на печать унифицированной формы Т-13 из документа Табель в графе 10 (и некоторых других) откуда-то появляются «фантомные» записи об отсутствиях, неявках или командировках сотрудников. При этом в самом документе Табель на экране всё заполнено абсолютно корректно, и никаких лишних записей нет. Более того, эта проблема начинает проявляться даже в старых, давно проведенных документах за прошлые периоды.

В этой статье мы подробно разберем, почему возникает данная ошибка, проанализируем её технические причины, а также рассмотрим по шагам все возможные способы решения и обхода этой проблемы.

Выясняем причину ошибки

Описанное поведение программы не является следствием неправильных действий пользователя или повреждения базы данных. Это официальный зарегистрированный баг фирмы «1С» под номером 10202188 (код публикации — 000047702).

Давайте проанализируем, почему это происходит. Ошибка впервые массово проявилась в релизе 3.1.8.113 конфигураций «1С:Зарплата и управление персоналом» и «1С:Зарплата и кадры государственного учреждения». Сбой кроется в логике работы модуля менеджера документа Табель.

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

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


Способ 1. Использование стандартного отчета (Основной обходной путь)

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

Секрет заключается в том, чтобы формировать печатную форму Т-13 не из самого документа Табель, а через специализированный отчет по зарплате. Давайте разберем этот процесс по шагам:

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

Почему этот способ работает? При формировании табеля через панель отчетов программа использует совершенно другие алгоритмы, построенные на Системе компоновки данных (СКД). Эти алгоритмы напрямую обращаются к регистрам накопления и сведений по учету рабочего времени и не задействуют ошибочный код из модуля менеджера документа Табель. В результате форма Т-13 формируется корректно и без ошибок.


Способ 2. Обновление конфигурации

Поскольку ошибка 10202188 является критической для регламентированного кадрового учета, разработчики «1С» оперативно выпустили исправление. Если вы столкнулись с этой проблемой, наиболее правильным и долгосрочным решением будет обновление программы до актуальной версии.

Рассмотрим, как правильно обновить конфигурацию, чтобы решить проблему:

  1. Убедимся, что все пользователи вышли из информационной базы.
  2. Перед началом любых процедур обновления обязательно создадим резервную копию базы данных. Для этого зайдем в программу в режиме Конфигуратор, выберем пункт меню Администрирование -> Выгрузить информационную базу и сохраним файл резервной копии.
  3. Выполним обновление конфигурации на релиз, в котором данная ошибка уже исправлена (например, на более поздние сборки ветки 3.1.8, такие как 3.1.8.137 и выше, либо перейдем на актуальные стабильные релизы веток 3.1.10, 3.1.14 или текущие версии 3.1).
  4. После успешного завершения обновления зайдем в базу в режиме 1С:Предприятие, дождемся завершения процедур обновления данных и проверим печать Т-13 из документа Табель — фантомные отсутствия должны исчезнуть.

Способ 3. Исправление ошибки с помощью расширения (для программистов)

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

Механизм расширений позволяет переопределить поведение ошибочного метода без изменения основной конфигурации, что сохраняет базу на автоматическом обновлении.

Проанализируем, как это можно реализовать:

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

Такой подход позволяет мгновенно восстановить работоспособность печати Т-13 непосредственно из документов для всех пользователей, не прибегая к глобальному обновлению программного продукта.

Резюме

Мы подробно разобрали неприятную ошибку с выводом ложных отсутствий в табеле Т-13 в 1С:ЗУП 3.1.8. Если вы столкнулись с этим багом, не стоит паниковать и пытаться вручную перебивать документы. Достаточно использовать стандартный отчет Табель учета рабочего времени (Т-13) из раздела «Отчеты по зарплате» в качестве временной меры, а при первой возможности — обновить программу до актуального стабильного релиза.

← На главную