Книга: Разработка сложных отчетов в «1С:Предприятии 8». Система компоновки данных
Назад: Вывод всех дат в периоде
Дальше: Пользовательские поля

Пример 13

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

Рис. 2.193. Требуемый вид отчета

Создадим новый объект конфигурации Отчет и назовем его ОказаниеУслуг. Откроем конструктор схемы компоновки данных и добавим новый набор данных – запрос. Откроем конструктор запроса. В качестве источника данных для запроса выберем объектную таблицу справочника Номенклатура. В список полей перенесем поля из этой таблицы:

Поле Ссылка нам понадобится в качестве ссылки на вложенную схему компоновки данных. Перейдем на закладку Условия, раскроем таблицу Номенклатура и перетащим мышью поле ВидНоменклатуры в список условий. Оставим предложенное условие по умолчанию. Это условие нам нужно, чтобы в отчете отражались только услуги из справочника номенклатуры (рис. 2.194).

Рис. 2.194. Создание условия запроса

Нажмем ОК и вернемся в конструктор схемы компоновки данных. На закладке Параметры мы видим параметры компоновки данных, созданные платформой. Для параметра ВидНоменклатуры по умолчанию установлен тип ПеречислениеСсылка.ВидыНоменклатуры и установлена его недоступность для пользователя. Зададим значение параметра по умолчанию – Перечисление.ВидыНоменклатуры.Услуги (рис. 2.195).

Рис. 2.195. Параметры компоновки данных, созданные платформой

Определим структуру отчета. На закладке Настройки выделим корневой элемент Отчет и добавим группировку без указания группировочного поля ДетальныеЗаписи. Затем на закладке Выбранные поля перенесем из списка доступных полей поля (рис. 2.196):

Рис. 2.196. Определение полей и группировок отчета

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

Нажмем кнопку Добавить и введем в колонку Выражение следующий текст (листинг 2.31).

Листинг 2.31. Выражение для упорядочивания поля «Наименование»

Выбор Когда Наименование = "Ремонт компьютера" Тогда 1 Иначе 2 Конец

Укажем Тип упорядочивания – По возрастанию. Нажмем еще раз кнопку Добавить и выберем в колонке Выражение поле Код. Укажем Тип упорядочивания – По убыванию. Таким образом, мы установили, что первой в списке услуг должна располагаться услуга с наименованием Ремонт компьютера, а остальные записи в отчете должны располагаться по мере убывания кода услуги. В результате окно диалога примет вид (рис. 2.197).

Рис. 2.197. Задание выражения упорядочивания

В результате выражение упорядочивания для поля Наименование примет вид (рис. 2.198).

Рис. 2.198. Выражение упорядочивания для поля «Наименование»

Назад: Вывод всех дат в периоде
Дальше: Пользовательские поля