Почему в печатной форме № Т-7 (График отпусков) нарушается порядок дат и как это исправить?

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

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

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

Почему происходит сбой сортировки в форме Т-7?

Выясним причину, почему данные в печатной форме могут выводиться с нарушением хронологии:

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

Вариант 1. Подключение внешней печатной формы или расширения

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

Проанализируем порядок действий при формировании внешней печатной формы:

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

Вариант 2. Настройка пользовательского варианта отчета

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

Разберем по шагам порядок настройки:

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

Обратите внимание: пользовательские настройки варианта отчета, сохраненные в кадровых отчетах, не меняют поведение встроенной кнопки печати непосредственно из формы документа «График отпусков», так как кнопка печати использует жестко зашитый в модуле алгоритм формирования.

Вариант 3. Пересортировка строк в самом документе

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

  1. Открываем документ «График отпусков».
  2. Кликаем по заголовку колонки Дата начала (или Период), чтобы отсортировать строки табличной части по возрастанию дат.
  3. Перепроводим документ и повторно вызываем печатную форму № Т-7.

Резюме

Оптимальным решением для обеспечения корректного вывода печатной формы Т-7 прямо из документа без изменения типовой конфигурации является использование расширения или внешней печатной формы. Это гарантирует сохранение правил сортировки (ФИО по алфавиту, отпуска по дате начала) при любых обновлениях программы 1С.

← На главную