Макеты оформления компоновки данных предназначены для оформления отчетов. При помощи макетов оформления можно указывать различным областям отчета определенные цвета фона, текста, шрифты и т.д.
Выводимый отчет можно разделить на области, указанные на рис. 1
Отчет
Информация
Элемент отчета 2
.
Группировка
Информация
Заголовок группировки уровень 1
.
Детальные записи
.
Подвал группировки уровень 1
/*
Группировку отчета, отображаемую в виде списка, можно представить в виде областей, указанных на рис. 3
Группировка списка
Информация
Заголовок группировки списка уровень 2
.
Детальные записи списка
.
Подвал группировки списка уровень 1
Таблица
Информация
Заголовок группировки колонки уровень 1
Заголовок группировки уровень 1
Заголовок группировки уровень 2
.
Ресурсы заголовка группировки уровень N
Ресурсы детальных записей
Ресурсы подвала группировки уровень N
.
Ресурсы подвала группировки уровень 2
Ресурсы подвала группировки уровень 1
Использование макетов оформления в отчетах
Система компоновки данных позволяет использовать различные макеты оформления в отчете. Причем существует возможность использования нескольких макетов оформления для различных элементов отчета. Для управления макетами оформления используются настройки компоновки данных. При использовании конструктора схемы компоновки данных необходимо перейти на закладку " Настройки " , а затем выбрать закладку " Другие настройки " . На данной закладке находится параметр Макет оформления , позволяющий указывать используемый макет оформления в отчете.
Существуют следующие предопределенные макеты оформления :
Без оформления ;
Основной — макет оформления по умолчанию ;
Яркий ;
Море ;
Арктика ;
Зеленый ;
Античный.
Создание собственного макета оформления
Собственный макет оформления можно создать, используя конструктор макетов. Для этого необходимо добавить новый макет в папку Общие макеты , находящейся в папке Общие дерева объектов конфигурации. В открывшемся конструкторе макетов необходимо установить тип макета Макет оформления компоновки данных .
Открывшийся редактор макетов оформления позволяет редактировать цвета фона, текста и границы, шрифты, отступы и т.д. областей макета оформления. При этом имена областей, содержащих оформления областей, выделяются жирным шрифтом. Стоит отметить, что существует возможность использования предопределенного макета оформления — для этого необходимо использовать команду Стандартный макет. . Также существует возможность загрузки и сохранения макетов оформления в XML — формате.
Использование макетов оформления из встроенного языка
Для обращения к макетам оформления из встроенного языка предназначено свойство глобального контекста БиблиотекаМакетовОформленияКомпоновкиДанных . Данное свойство является коллекцией макетов оформления и содержит предопределенные макеты оформления, а также макеты оформления, определенные в общих макетах дерева конфигурации.
Данная коллекция имеет следующие методы :
Индекс( ) — получает индекс элемента в библиотеке макетов оформления компоновки данных ;
Количество() — возвращает количество элементов в библиотеке макетов оформления компоновки данных ;
Найти( ) — осуществляет поиск элемента библиотеки макетов оформления компоновки данных по имени ;
Получить( ) — получает элемент библиотеки макетов оформления компоновки данных по индексу.
Элементами библиотеки макетов оформления компоновки данных являются объекты типа ЭлементБиблиотекиМакетовОформленияКомпоновкиДанных . Данный объект имеет следующие свойства :
Имя — имя макета оформления ;
Представление — представление макета оформления.
Также данный объект имеет метод ПолучитьМакет() , который возвращает объект типа МакетОформленияКомпоновкиДанных .
Для редактирования макетов оформления предназначен объект встроенного языка КонструкторМакетаОформленияКомпоновкиДанных . Данный объект можно создать при помощи конструктора, который имеет необязательный параметр — макет оформления. Если макет оформления не указан, то создается новый макет, иначе открывается для редактирования указанный макет оформления. Конструктор макетов оформления имеет следующие методы:
ПолучитьМакет() — данный метод предназначен для получения редактируемого макета оформления и возвращает значение типа МакетОформленияКомпоновкиДанных ;
Редактировать( ) — данный метод открывает окно конструктора макета оформления. Параметр является необязательным и может содержать значение типа Форма — форму-владельца окна конструктора макетов оформления. При завершении редактирования и нажатии кнопки ОК, конструктор макета оформления вызывает у формы-владельца обработчик события "Обработка выбора". В обработчике данного события можно получить редактируемый макет оформления ;
УстановитьМакет( ) — данный метод предназначен для установки макета оформления для редактирования и имеет один параметр — типа МакетОформленияКомпоновкиДанных .
Поясним использование конструктора макета оформления на следующем примере. Пусть необходимо добавить возможность создания собственного макета оформления в отчете о продажах. Для этого необходимо создать собственную форму отчета, добавить в командную панель данной формы кнопку создания макета оформления, а также переопределить действие по кнопке Сформировать .
В обработчике нажатия на кнопку " Создать макет оформления " происходит создание конструктора макета оформления :
Пример формы конструктора показан на указанном ниже рисунке.
В обработчике события ОбработкаВыбора формы происходить запоминание созданного в конструкторе макета оформления.
В обработчике нажатия на кнопку " Сформировать " происходит формирование отчета :
Очередь просмотра
Очередь
Удалить все
Отключить
YouTube Premium
Хотите сохраните это видео?
Пожаловаться
Пожаловаться на видео?
Выполните вход, чтобы сообщить о неприемлемом контенте.
Понравилось?
Не понравилось?
Текст видео
В этом ролике мы научимся использовать макеты отчетов в СКД. После просмотра видео Вы узнаете: 1) Как создать макет в схеме компоновки данных; 2) Как привязать области макетов к группировкам СКД; 3) Как связываются параметры макетов с полями СКД.
Задание для самостоятельной работы: сделайте так, чтобы параметры заголовка документа (Номер и Дата) заполнялись автоматически, после выбора ячеек.
Прими участие в бесплатном онлайн-практикуме: «Построение отчетов в СКД. 10 лучших инструментов».
Во время мероприятия ты построишь отчеты на СКД вместе с действующими программистами Profession Store с опытом в разработке более 15 лет.
Только три дня — 19, 21 и 26 марта в 20:00 по МСК.
Регистрируйтесь на онлайн-практикум по ссылке ниже 👇🏽. Все зарегистрировавшиеся получат подарок.
Одна из задач автоматизации — ускорение работы пользователя, что во многом достигается путем сокращения повторяющихся рутинных действий. У многих пользователей есть постоянные отчеты, для открытия которых они находят команду в меню, вводят отборы и параметры в открывшейся форме, нажимают «сформировать». В таких случаях разработчик 1С может создать команды программного запуска отчета с открытием и настройкой, что позволит сразу получить готовый отчет, а механизм системы компоновки данных, называемый в сокращении СКД, представляет ему для этого обширный инструментарий. В этой статье мы познакомимся с несколькими методами программного запуска отчета с открытием и различной настройкой, из которых каждый сможет выбрать наиболее подходящий.
Сначала получаем форму.
Если отчет хранится в базе тогда выполняем на клиенте код:
Если нужен не «вариант по умолчанию»
Далее получаем настройки:
Через серверный вызов получаем настройки и если нужно заполняем параметры Компоновщика в отдельной процедуре.
Загружаем измененные настройки в компоновщик
Код выполняется на клиенте, сначала мы формируем структуру с необходимыми параметрами формы, а потом вызываем процедуру открытия. Часто используемые параметры в данном случае это:
СформироватьПриОткрытии — нужен чтобы отчет открылся сразу сформированным.
Отбор — Устанавливает отбор на результат СКД.
КлючВарианта — Имя варианта настроек для отчетов с несколькими вариантами.
Сначала получаем схему компоновки данных. Схема может быть получена из разных источников: общий макет, макет прикладного объекта, такого как справочник или отчет, макет из внешней обработки.
Код выполняется на сервере.
Получение локального макета
Получение макета произвольного отчета
Получение макета во внешней обработке
Получение макета из внешней обработки или отчета
Далее мы получаем настройки. Настройки СКД могут быть взяты из разных источников. Мы можем их получить из самой СКД:
Мы можем создать новый компоновщик настроек на основе схемы и получить настройки из него.
Мы можем получить настройки с отдельного компоновщика настроек, добавленного на произвольную форму.
И когда будем формировать
Далее программно заполняем параметры Компоновщика. Об этом подробно в разделе 4 .
Объявляем создаем необходимые объекты:
Создаем макет компоновки с помощью компоновщика макета:
Если результат выполнения СКД нужно вывести в таблицу значений то соответствующий тип генератора нужно указать в параметрах:
Инициализируем процессор компоновки данных
Создаем процессор вывода:
Для вывода в таблицу значений используется другой процессор вывода:
Запускаем процесс вывода:
Теперь мы можем проводить нужные операции с полученными данными.
Если вывод в таблицу значений завершился ошибкой “Не поддерживается вывод таблиц и диаграмм в универсальную коллекцию значений” значит настройки СКД не подходят для такой выгрузки, и нужно их изменить, об этом ниже.
При программном формировании СКД как в пункте 2 у нас есть огромное количество возможностей по управлению отчетом. Опишем самые часто используемые из них.
После того, как присвоено значение переменной СхемаКомпоновкиДанных — через нее мы можем получить доступ к формирующим запросам схемы через свойство коллекцию НаборыДанных . Элемент набора данных имеет интересующее нас свойство Запрос . Это текстовый параметр, содержащий в себе запрос. С помощью функций редактирования текста, его можно изменить, например, добавить отбор по недоступному через КомпоновщикНастроек полю.
Или если с добавлением нового параметра
Также при получении настроек можно выбрать не «настройки по умолчанию», а один из вариантов настроек.
Переменная Настройки содержит в себе всю палитру настроек которая доступна в редакторе СКД в разделе “Настройки”. Наиболее часто из них программно редактируются отборы, параметры и структура, в случае когда отчет с табличной структурой надо вывести в таблицу значений. Рассмотрим их подробнее.
Параметры
Все параметры создаются при создании исходного отчета, исключение если параметр был добавлен при редактировании запроса. Значение существующего параметра устанавливается следующим образом:
Добавление параметра делается следующим образом
Отбор
У отборов нет специальных функций по установке значений. Поэтому нужно перебирать коллекцию циклом.
Этот код установит значение для отбора, а если такого отбора нет в настройках, то добавит. В случае если точно известно, есть или нет такой отбор — то код можно упростить.
Структура
Для адаптации отчета к выводу в таблицу значений нужно очистить структуру группировок отчета и создать поле группировки “Детальные записи”.
Система компоновки данных была создана для ускорения разработки отчетов и упрощения работы пользователей. Программные изменения помогают усилить этот эффект. Программист может создать выгрузки и по сути свои отчеты на основании типовых отчетов. К примеру, выгрузка заработной платы в управленческую базу. Структура базы может сильно изменена, но поля в отчете “Расчетная ведомость Т-51” будут называться так же, и сам отчет вряд ли переименуется. Да и если что-то переименуется — выгрузку исправить будет очень просто.
Программист может упростить работу пользователя по вводу параметров и отборов если есть некоторая закономерность в них, но они всё таки не фиксированы. К примеру, сравнительный отчет по продажам за этот месяц этого года и аналогичные месяца трех предыдущих годов.
Приведенные примеры кода были протестированы на платформе 1С:Предприятие 8.3 (8.3.13.1690).