Почему в 1С:ЗУП 3.1 в печатной форме Т-7 (График отпусков) выводятся не все сотрудники и как это исправить?

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

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

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

Выясняем причину: почему пропадают сотрудники в форме Т-7

Давайте разберем по шагам, что именно происходит внутри системы. В более ранних версиях программы (например, в ветке 3.1.7) сортировка сотрудников в графике отпусков осуществлялась строго по алфавиту (по ФИО). Это было привычно и удобно, но разработчики решили оптимизировать отчет. Начиная с релиза 3.1.8.113, алгоритм формирования печатной формы Т-7 был изменен: сортировку по умолчанию перенастроили по дате начала отпуска, чтобы график визуально выглядел хронологически правильным.

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

В результате работы СКД происходило следующее:

  1. Система анализировала таблицу плановых отпусков.
  2. При обнаружении записей с абсолютно одинаковой датой начала отпуска у разных сотрудников алгоритм группировки воспринимал эти строки как дублирующие по ключевому полю.
  3. Программа производила сворачивание («схлопывание») данных. На печать выводился только один сотрудник (первый по порядку выборки базы данных), а остальные сотрудники, имеющие ту же дату начала отпуска, просто отбрасывались.

Данная проблема была официально зарегистрирована фирмой «1С» как Ошибка № 10202471.

Помимо этого, в проблемных релизах пользователи часто сталкивались со смежными трудностями. Например, при формировании альтернативного отчета через раздел «Кадры» — «Кадровые отчеты» — «График отпусков (Т-7)» отчет мог выводиться абсолютно пустым из-за некорректной обработки границ планируемого года или жестко заданных скрытых отборов. Также полностью блокировалась возможность пользовательской перенастройки сортировки по ФИО.

---

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

Самый надежный и правильный метод решения проблемы — это обновление вашей информационной базы. Разработчики оперативно исправили ошибку в запросе СКД печатной формы.

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

---

Способ 2. Временное решение через изменение настроек СКД (без обновления)

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

Рассмотрим подробнее по шагам, как скорректировать структуру отчета:

  1. Откроем документ «График отпусков», в котором наблюдается проблема с выводом сотрудников, либо перейдем в раздел «Кадры» -> «Кадровые отчеты» -> «График отпусков (Т-7)».
  2. В окне отчета или печатной формы нажмем кнопку «Еще» (расположенную в правом верхнем углу панели инструментов) и выберем пункт «Прочее», а затем — «Изменить вариант отчета...». Перед нами откроется окно настройки схемы компоновки данных.
  3. Перейдем в верхнее окно на вкладку «Структура». Здесь отображается иерархия группировок нашего отчета. Нам необходимо найти строку группируемого поля с именем «Дата начала».
  4. Выделим строку «Дата начала» и обратим внимание на нижнее окно настроек. Перейдем на вкладку «Состав группировки» (в некоторых интерфейсах она называется «Поля группировки»).
  5. В этой вкладке нам нужно принудительно указать программе, что группировать данные нужно не только по дате, но и по конкретному физлицу. Нажмем кнопку «Добавить» и выберем из списка доступных полей поле «Сотрудник» (или Сотрудник.Ссылка). Таким образом, система перестанет объединять разных людей с одинаковыми датами.
  6. Теперь настроим сортировку, чтобы вернуть отчету читаемый вид. Перейдем на вкладку «Поля и сортировки» в правом нижнем углу формы настройки варианта отчета.
  7. В списке сортировки добавим поле «Дата начала» и с помощью стрелок переместим его в самый верх списка приоритетов. Ниже добавим поле «Сотрудник» (для сортировки по алфавиту внутри одной даты).
  8. Нажмем кнопку «Завершить редактирование».

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

Важный совет: Чтобы кадровикам не приходилось выполнять данную процедуру настройки каждый раз при открытии документа, обязательно сохраните измененную настройку. Для этого нажмите «Еще» -> «Вариант отчета» -> «Сохранить как...» и укажите понятное название, например, «График отпусков Т-7 (исправленный)», сделав его доступным для всех пользователей программы.

---

Способ 3. Быстрое «костыльное» решение для небольших организаций

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

Поскольку «схлопывание» происходит только при совпадении дат начала отпуска день в день, мы можем временно обойти ограничение системы следующим образом:

  1. В самом документе «График отпусков» временно установим всем сотрудникам разные даты начала отпуска (например, сдвинув даты у «пересекающихся» коллег на 1 день вперед или назад).
  2. Сформируем печатную форму Т-7. Теперь система корректно выведет абсолютно всех сотрудников, так как уникальность дат соблюдена.
  3. В окне предварительного просмотра печатной формы нажмем кнопку «Редактирование» (иконка с карандашом на панели инструментов) и вручную исправим даты отпусков на реальные (первоначальные) значения.
  4. Отправим скорректированную форму на печать или сохраним в файл.
  5. Вернемся в документ «График отпусков» и вернем сотрудникам их настоящие даты проведения отпусков для корректного ведения последующего учета и расчетов.

Разумеется, этот способ совершенно неудобен для средних и крупных предприятий, где списки сотрудников исчисляются десятками и сотнями, поэтому приоритетными остаются Способ 1 (обновление) и Способ 2 (настройка структуры СКД).

← На главную