Почему в графике отпусков (форма Т-7) отображаются не все сотрудники при совпадении дат?

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

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

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

Рассмотрим механику формирования печатной формы. В версиях 1С:ЗУП ветки 3.1.8 (в частности, в релизе 3.1.8.137) была допущена программная ошибка, зафиксированная под номером 30164673. Суть проблемы кроется в схеме компоновки данных (СКД), которая отвечает за сбор сведений для формы Т-7.

Проанализируем работу алгоритма: при построении выборки система обращается к данным документа и группирует их для вывода в таблицу. Из-за некорректно настроенных связей в запросе, поле ДатаНачала отпуска ошибочно использовалось в качестве уникального ключа группировки. Если у нескольких сотрудников даты начала отпуска совпадали (например, пять человек уходят отдыхать 15.05.2019), система воспринимала их как одну повторяющуюся запись. В результате в форму выводился только один «первый попавшийся» сотрудник, а остальные записи просто игнорировались («схлопывались»).

Способ 1. Обновление конфигурации (рекомендуемое решение)

Самый правильный и надежный метод борьбы с данной ошибкой — обновление программы до релиза, в котором разработчики 1С официально внесли исправления. Посмотрим на список релизов, где проблема была устранена:

  1. Версия 3.1.8.185 и выше.
  2. Версия 3.1.9.82 и выше (для тех, кто перешел на более новую ветку развития).

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

Способ 2. Установка исправления (патча) без полного обновления

Если организация не может оперативно обновиться на новый релиз (например, из-за наличия существенных доработок в коде или жесткого регламента обновлений), разберем альтернативный вариант. Фирма 1С часто выпускает критические исправления в виде патчей (расширений с расширением .cfe).

Для установки такого исправления выполним следующие шаги:

  1. Перейдем в раздел Администрирование — Обслуживание.
  2. Найдем пункт Обновление программы и выберем Установленные исправления (патчи).
  3. Если программа имеет доступ к интернету, она сама предложит загрузить исправление для ошибки 30164673.
  4. Если доступа к сети нет, патч можно скачать с портала поддержки 1С и установить вручную через кнопку Установить исправление.

Способ 3. Использование внешней печатной формы

В ситуациях, когда до сдачи графика остались считанные часы, а обновить базу нет возможности, проанализируем возможность подключения внешней печатной формы. На профессиональных ресурсах доступны исправленные варианты формы Т-7, где в запросе СКД добавлена группировка по ссылке на сотрудника или по номеру строки документа.

Рассмотрим, как подключить такую форму:

  1. Скачайте файл внешней обработки (расширение .epf).
  2. Зайдите в меню Администрирование — Печатные формы, отчеты и обработки — Дополнительные отчеты и обработки.
  3. Нажмите Добавить из файла и выберите скачанный объект.
  4. В настройках укажите, что форма должна вызываться для документа График отпусков.

Почему форма Т-7 остается пустой даже после обновления?

Иногда пользователи жалуются, что обновились до версии 3.1.8.216 или более поздней, но форма все равно формируется пустой. Разберем возможные причины этой ситуации, которые не связаны с вышеописанной ошибкой:

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

2. Контроль прав доступа (RLS). Если у пользователя включено ограничение доступа на уровне записей по подразделениям или организациям, он может видеть сотрудников в документе, но СКД при формировании отчета отсечет «невидимые» для него данные из регистра. Попробуем сформировать форму под учетной записью с полными правами.

3. Сбой при записи в регистр. Проанализируем состояние регистра сведений. Если документ проведен, но в регистре Плановые ежегодные отпуска пусто, попробуйте отменить проведение и провести документ заново. Это инициирует перезапись движений.

Временная мера («лайфхак» для срочной печати)

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

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

← На главную