Неизвестный тип макета 1с процессорвывода вывести

Обновлено: 04.07.2024

Использование макетов оформления

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

Типы областей макета оформления

Выводимый отчет можно разделить на области, указанные на рис. 1

На указанном рисунке:

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

Группировку отчета можно представить в виде областей, указанных на рис. 2

На указанном рисунке:

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

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

Группировку отчета, отображаемую в виде списка, можно представить в виде областей, указанных на рис. 3

На указанном рисунке:

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

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

Таблицу можно представить в виде областей, указанных на рис. 4

На указанном рисунке:

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

Таким образом, в макете оформления существуют следующие типы областей :

  1. ЗаголовокГруппировки (GroupHeader) - область заголовка группировки . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
  2. ПодвалГруппировки (GroupFooter) - область подвала группировки . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
  3. ЗаголовокИерархическойГруппировки (HierarchicalGroupHeader) - область заголовка иерархической группировки . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
  4. ПодвалИерархическойГруппировки (HierarchicalGroupFooter) - область подвала иерархической группировки . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
  5. ЗаголовокГруппировкиСписка (ListGroupHeader) - область заголовка группировки списка . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
  6. ПодвалГруппировкиСписка (ListGroupFooter) - область подвала группировки списка . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
  7. ЗаголовокИерархическойГруппировкиСписка (ListHierarchicalGroupHeader) - область заголовка иерархической группировки списка . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
  8. ПодвалИерархическойГруппировкиСписка (ListHierarchicalGroupFooter) - область подвала иерархической группировки списка . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
  9. ЗаголовокГруппировкиКолонки (ColumnGroupHeader) - область заголовка колонки таблицы . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
  10. ПодвалГруппировкиКолонки (ColumnGroupFooter) - область подвала колонки таблицы . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
  11. ЗаголовокИерархическойГруппировкиКолонки (ColumnHierarchicalGroupHeader) - область заголовка иерархической колонки таблицы . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
  12. ПодвалИерархическойГруппировкиКолонки (ColumnHierarchicalGroupFooter) - область подвала иерархической колонки таблицы . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
  13. ДетальныеЗаписи (Detail) - область детальных записей. Для данной области значение уровня должно быть всегда равным 0;
  14. ДетальныеЗаписиСписка (ListDetail) - область детальных записей списка. Для данной области значение уровня должно быть всегда равным 0.
  15. РесурсыЗаголовкаГруппировки (ResourcesGroupHeader) - область ресурсов заголовка группировки . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
  16. РесурсыПодвалаГруппировки (ResourcesGroupFooter) - область ресурсов подвала группировки . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
  17. РесурсыЗаголовкаИерархическойГруппировки (ResourcesHierarchicalGroupHeader) - область ресурсов заголовка иерархической группировки . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
  18. РесурсыПодвалаИерархическойГруппировки (ResourcesHierarchicalGroupFooter) - область ресурсов подвала иерархической группировки . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
  19. РесурсыДетальныхЗаписей (ResourcesDetail) - область ресурсов детальных записей. Для данной области значение уровня должно быть всегда равным 0;
  20. ИтогПоРесурсамЗаголовкаГруппировки (ResourcesTotalGroupHeader) - область итогов по ресурсам заголовка группировки;
  21. ИтогПоРесурсамПодвалаГруппировки (ResourcesTotalGroupFooter) - область итогов по ресурсам подвала группировки;
  22. ИтогПоРесурсамЗаголовкаИерархическойГруппировки (ResourcesTotalHierarchicalGroupHeader) - область итогов по ресурсам заголовка иерархической группировки;
  23. ИтогПоРесурсамПодвалаИерархическойГруппировки (ResourcesTotalHierarchicalGroupFooter) - область итогов по ресурсам заголовка колонки таблицы;
  24. ИтогПоРесурсамДетальныхЗаписей (ResourcesTotalDetail) - область итога по ресурсам детальных записей. Для данной области значение уровня должно быть всегда равным 0;
  25. ОбщиеИтогиПоВертикали (VerticalOverall) - область общего итога по вертикали . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
  26. ОбщиеИтогиПоВертикалиСписка (ListVerticalOverall) - область общего итога по вертикали списка . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
  27. ЗаголовокТаблицы (TableHeader) - область заголовка таблицы или группировки. Для данной области значение уровня должно быть всегда равным 0;
  28. ПоУмолчанию (Default) - область по умолчании. Для данной области значение уровня должно быть всегда равным 0;
  29. Заголовок (Title) - область заголовка отчета . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
  30. Информация (Information) - область информации . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию .

Существуют следующие особенности вывода заголовков и подвалов группировок :

  • Если не задана область подвала неиерархической группировки, то в качестве области подвала выводится область заголовка группировки ;
  • Если для иерархической группировки не задана область заголовка, то в качестве области заголовка выводится область заголовка неиерархической группировки ;
  • Если не задана область подвала иерархической группировки, то в качестве области подвала выводится область заголовка иерархической группировки. Если же она не задана, то выводится область подвала неиерархической группировки . Если и эта область не задана, то выводится область заголовка неиерархической группировки.

Использование макетов оформления в отчетах

Система компоновки данных позволяет использовать различные макеты оформления в отчете. Причем существует возможность использования нескольких макетов оформления для различных элементов отчета. Для управления макетами оформления используются настройки компоновки данных. При использовании конструктора схемы компоновки данных необходимо перейти на закладку " Настройки " , а затем выбрать закладку " Другие настройки " . На данной закладке находится параметр Макет оформления , позволяющий указывать используемый макет оформления в отчете.


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

  • Без оформления ;
  • Основной - макет оформления по умолчанию ;
  • Яркий ;
  • Море ;
  • Арктика ;
  • Зеленый ;
  • Античный.

Создание собственного макета оформления

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


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


Использование макетов оформления из встроенного языка

Для обращения к макетам оформления из встроенного языка предназначено свойство глобального контекста БиблиотекаМакетовОформленияКомпоновкиДанных . Данное свойство является коллекцией макетов оформления и содержит предопределенные макеты оформления, а также макеты оформления, определенные в общих макетах дерева конфигурации.

Данная коллекция имеет следующие методы :

  • Индекс( <Макет> ) - получает индекс элемента в библиотеке макетов оформления компоновки данных ;
  • Количество() - возвращает количество элементов в библиотеке макетов оформления компоновки данных ;
  • Найти( <Имя> ) - осуществляет поиск элемента библиотеки макетов оформления компоновки данных по имени ;
  • Получить( <Индекс> ) - получает элемент библиотеки макетов оформления компоновки данных по индексу.

Элементами библиотеки макетов оформления компоновки данных являются объекты типа ЭлементБиблиотекиМакетовОформленияКомпоновкиДанных . Данный объект имеет следующие свойства :

  • Имя - имя макета оформления ;
  • Представление - представление макета оформления.

Также данный объект имеет метод ПолучитьМакет() , который возвращает объект типа МакетОформленияКомпоновкиДанных .

Для редактирования макетов оформления предназначен объект встроенного языка КонструкторМакетаОформленияКомпоновкиДанных . Данный объект можно создать при помощи конструктора, который имеет необязательный параметр - макет оформления. Если макет оформления не указан, то создается новый макет, иначе открывается для редактирования указанный макет оформления. Конструктор макетов оформления имеет следующие методы:

  • ПолучитьМакет() - данный метод предназначен для получения редактируемого макета оформления и возвращает значение типа МакетОформленияКомпоновкиДанных ;
  • Редактировать( <Форма> ) - данный метод открывает окно конструктора макета оформления. Параметр <Форма> является необязательным и может содержать значение типа Форма - форму-владельца окна конструктора макетов оформления. При завершении редактирования и нажатии кнопки ОК, конструктор макета оформления вызывает у формы-владельца обработчик события "Обработка выбора". В обработчике данного события можно получить редактируемый макет оформления ;
  • УстановитьМакет( <Макет оформления> ) - данный метод предназначен для установки макета оформления для редактирования и имеет один параметр - <Макет оформления> типа МакетОформленияКомпоновкиДанных .

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


В обработчике нажатия на кнопку " Создать макет оформления " происходит создание конструктора макета оформления :

Пример формы конструктора показан на указанном ниже рисунке.


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

В обработчике нажатия на кнопку " Сформировать " происходит формирование отчета :

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

title

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

title

Теперь добавляем новое поле группировки, поля группировок не выбираем (Детальные записи), удаляем поле "Авто", переносим наш параметр.

title

Переходим на вкладку "Макет", рисуем шапку. Добавляем Заголовок группировки. Мы можем использовать Имя группировки, если заранее задали его в схеме компоновки, или выбрать из доступных полей. После этого определяем область в табличном документе. Далее, прописываем наш параметр на макете, потом необходимо будет установить в свойствах этой ячейки свойство "Заполнение" - "Параметр". И в окне параметров макета связать наш параметр с параметром СКД.

Теперь немного кода. Создаем форму отчета. Отключаем видимость у Основной Командной Панели и Компоновщика Настроек. Создаем нашу команду "Сформировать", реквизит формы "Дата", перетаскиваем все это на форму. Пишем код в модуле формы:

title

После этого, если все правильно сделали, результат отчета должен выглядеть вот так:

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

title

Заготовка для отчета выглядит так:

title

Пример результата:

Теперь создаем свой макет:

title

1. Добавляем шапку по аналогии с прошлым примером. Устанавливаем макет оформления "Без оформления". Итоги по номенклатуре выводить не будем, поэтому ставим у таблицы настройку "Расположение общих итогов по горизонтали" - "Нет".

title

2. Теперь создаем макет, прописываем параметры, настраиваем дополнительные свойства ячеек. Например, для номенклатуры можно выставить в свойстве "Размещение текста" значение "Переносить" вместо "Авто", а так же указать параметры расшифровки.

title

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

title

Начинаем создавать области, параметры при этом будут автоматически сопоставляться по именам. В итоге должно получиться следующее:

title

Проверяем отчет, должно получиться следующее:

4. Пишем код по аналогии с прошлым примером:
Код 1C v 8.2 УП

title

В итоге у нас получается следующее:

title

Кстати, при последующем открытии отчета, вы увидите, что компоновка перестроила макет по-своему.

Это вполне нормально, не стоит беспокоиться.

Читайте также: