Как вывести пустые строки в отчете СКД и настроить формат страницы?

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

При разработке печатных форм и печатных отчетов в системе 1С на базе Системы компоновки данных (СКД) часто возникает задача вывести в конце таблицы несколько пустых строк. Это необходимо для того, чтобы пользователи могли дописать информацию вручную на распечатанном документе. Кроме того, часто требуется настроить особый формат печати — например, сделать отчет в формате «Альбом А5».

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

Способ 1. Использование собственного макета группировки в СКД

Использование механизмов макетов оформления СКД является самым простым и стандартным способом. Нам достаточно описать отдельную группировку и задать для нее пустой макет строки.

  1. Разберем настройку макета: перейдем на вкладку Макеты в схеме компоновки данных.
  2. Добавим макет группировки для нужного поля или иерархии.
  3. В табличной части макета нарисуем пустые ячейки с нужными границами и оформлением.
  4. Добавим дополнительную пустую группировку в настройках отчета, к которой применится созданный макет.

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

Способ 2. Добавление пустых строк непосредственно в запросе

Если необходимо добавить фиксированное количество пустых строк без использования пользовательских макетов, можно объединить основной результат запроса с генератором пустых строк с помощью конструкции ОБЪЕДИНИТЬ ВСЕ.

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


ВЫБРАТЬ
    Номенклатура.Ссылка КАК Ссылка,
    Номенклатура.Наименование КАК Наименование,
    Номенклатура.Артикул КАК Артикул
ИЗ
    Справочник.Номенклатура КАК Номенклатура

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    "",
    "",
    ""
ИЗ
    (ВЫБРАТЬ 1 КАК a ОБЪЕДИНИТЬ ВЫБРАТЬ 2) КАК Т1,
    (ВЫБРАТЬ 1 КАК b ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3) КАК Т2

В данном примере декартово произведение временных таблиц Т1 и Т2 генерирует 6 пустых строк (2 × 3). При необходимости количество пустых строк можно регулировать числом записей во вспомогательных выборках.

Способ 3. Программное добавление строк или использование внешнего набора данных

Посмотрим на другие варианты решения задачи, если требуется динамическое количество пустых строк:

  1. Программный вывод в событии ПриКомпоновкеРезультата: мы можем установить параметр СтандартнаяОбработка = Ложь в модуле объекта отчета, самостоятельно скомпоновать результат и в цикле добавить нужное количество пустых областей в ДокументРезультат.
  2. Набор данных «Объект»: сформировать таблицу значений в коде, добавить в нее требуемое количество пустых строк и передать в СКД как внешний набор данных.

Настройка формата бумаги А5 и альбомной ориентации

Выясним, как перевести готовый отчет из стандартного формата «Портрет А4» в «Альбом А5». В СКД для этого предусмотрены стандартные настройки параметров вывода.

Вариант 1. Интерактивная настройка в схеме компоновки данных

  1. Перейдем на вкладку Настройки в СКД, а затем на вкладку Другие настройки.
  2. Найдем параметр Ориентация страницы и установим значение Ландшафт.
  3. Найдем параметр Размер бумаги и выберем значение A5.

Вариант 2. Программная установка параметров страницы

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


ДокументРезультат.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ДокументРезультат.РазмерСтраницы = "A5";

Важно учитывать: если конфигурация построена на базе Библиотеки Стандартных Подсистем (БСП), настройки печати могут переопределяться подсистемой вариантов отчетов. В этом случае параметры страницы необходимо сохранять в настройках варианта отчета. Также корректный вывод формата А5 зависит от настроек установленного в системе драйвера принтера.

← На главную