Академический Документы
Профессиональный Документы
Культура Документы
42
ББК 65.29
Х95
Подписано в печать 19.09.2008. Формат 60x84 1/16. Усл.-печ. л. 32,25. Тираж 5000 экз. Заказ D-3590
Налоговая льгота - общероссийский классификатор продукции
ОК 005-93, том 2; 95 3005 - литература учебная.
Фирма «1С»
123056, Москва, а/я 64, Селезневская ул., 21.
Тел.: (495) 737-92-57, факс: (495) 681-44-07, e-mail: 1c@1c.ru, URL: http://www.1c.ru
Издательство ООО «1С-Паблишинг»
127473, Москва, ул. Достоевского, 1/21, строение 1.
Тел.: (495) 681-02-21, факс: (495) 681-44-07, e-mail: publishing@1c.ru
Отпечатано с оригиналов ООО «1С-Паблишинг».
Казанский производственный комбинат программных средств
420044, Казань, ул. Ямашева, 36.
Оглавление
Предисловие 7
Кому предназначена эта книга 7
Особенности 7
Как читать 8
Структура 9
Что находится на компакт-диске 10
Поля 363
Автоматическое заполнение полей наборов данных 363
Использование автополей 369
Переопределение представления поля набора данных 373
Вычисляемые поля 376
Пользовательские поля 380
Роли полей 382
Ресурсы 385
Параметры 390
Использование дат 390
Использование стандартных периодов 391
Макеты 394
Предопределенные макеты 395
Макеты оформления 408
Н а с т р о й к и отчета 421
Использование конструктора настроек 421
Сохранение и загрузка настроек отчета 424
Упорядочивание 426
Отбор 431
Расположение реквизитов 437
Настройка группировок 439
Расположение ресурсов 453
Расположение группы выбранных полей 455
Заголовки выбранных полей 458
Расположение общих итогов 458
Отображение заголовков, параметров данных и отборов 463
Настройки диаграмм 467
Условное оформление 469
Работа с с и с т е м о й к о м п о н о в к и с р е д с т в а м и
встроенного языка 473
Программная установка схемы компоновки данных 473
Программная работа с параметрами схемы
компоновки данных 475
Редактирование стандартных настроек 477
Редактирование настроек схемы компоновки 478
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
6
Предисловие
Особенности
При создании этой книги использовались различные источники
информации:
материалы информационно-технологической поддержки
(ИТС) фирмы «1С»;
материалы конференции партнеров-разработчиков с сайта
http://partners.v8.1c.ru;
материалы независимых интернет-конференций, посвящен-
ных разработке в системе 1С:Предприятие 8.
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Как читать
В книге доступно, «шаг за шагом», описана работа с системой
компоновки данных. Рассматривается ее общее назначение; на
многочисленных примерах, основанных на реальных задачах и
построенных по принципу «от простого к сложному», демонс-
трируются ее разнообразные свойства. Примеры содержатся
в демонстрационной информационной базе, прилагающейся
к книге. Кроме того, даны ответы на вопросы разработчиков,
наиболее часто встречающиеся на партнерских конференциях
и других интернет-форумах по данной теме.
8
Предисловие
Структура
В первой главе подробно разбирается пример создания отчета
с помощью системы компоновки данных. Он целиком основан
на использовании визуальных средств разработки «без единой
строчки кода». Здесь последовательно показываются и объ-
ясняются все действия разработчика по конструированию
отчета. Поэтому книгу лучше изучать последовательно, так как
некоторые повторяющиеся действия при разработке отчетов,
детально описанные в этой главе, в дальнейшем лишь кратко
перечисляются. Эта глава будет полезна как читателям, не
знакомым с системой компоновки данных, так и тем, кто хочет
вспомнить некоторые моменты процесса разработки отчетов.
Во второй главе содержится теоретическая информация о
системе компоновки данных, описываются общие принципы
работы этого механизма, рассматривается последовательность
и назначение каждого этапа компоновки.
В третьей главе демонстрируются основные возможности
системы компоновки данных. Изучение этой главы позволит
разработчикам быстро и легко создавать свои собственные
отчеты, не особенно вдаваясь в тонкости механизма.
Четвертая глава содержит набор практических примеров по
созданию и модификации отчетов. Она будет полезна разработ-
чикам, желающим получить реальные навыки по разработке
отчетов с помощью системы компоновки данных.
Пятая глава посвящена детальному рассмотрению отдельных
возможностей системы компоновки данных. Она предназна-
чена в первую очередь разработчикам, уже знакомым с азами
разработки отчетов и желающим получить более глубокую
и конкретную информацию по тем или иным возможностям
системы компоновки данных.
9
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Что находится
на компакт-диске
setup.exe - комплект поставки демонстрационной базы с
примерами отчетов, описанных в книге.
10
Глава 1
Простой отчет
«без программирования»
11
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Добавление отчета
Для визуального конструирования отчетов с использованием
системы компоновки данных предназначен объект конфигу-
рации Отчет. Выделим в дереве объектов конфигурации ветвь
Отчеты и добавим новый отчет (рис. 1.1).
ПРИМЕЧАНИЕ
12
Глава 1. Простой отчет «без программирования»
Создание схемы
компоновки данных
В появившемся окне редактирования зададим имя отчета Остат-
киНоменклатуры и создадим схему компоновки данных отчета,
нажав кнопку Открыть схему компоновки данных или кнопку
открытия со значком лупы (рис. 1.2).
ПРИМЕЧАНИЕ
13
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
ПРИМЕЧАНИЕ
Здесь можно изменить имя схемы, так как в общем случае отчет
может иметь несколько схем компоновки данных. Мы оставим
имя схемы, предложенное по умолчанию, и нажмем кнопку
Готово (рис. 1.3).
14
Глава 1. Простой отчет «без программирования»
Редактирование схемы
компоновки данных
Затем конструктор макета откроет окно конструктора схемы
компоновки данных. В нем происходит основная работа по
визуальному конструированию отчета. Для этого конструк-
тор предоставляет массу разнообразных возможностей. Но мы
пока рассмотрим лишь те из них, которые понадобятся в нашем
отчете. Остальные возможности по мере усложнения будут
представлены в других примерах.
Любой отчет основывается на данных, извлекаемых из каких-
либо «источников» по определенным условиям и параметрам.
15
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
ПРИМЕЧАНИЯ
ПРИМЕЧАНИЕ
Создание запроса
Нажмем кнопку Конструктор запроса (рис. 1.6).
17
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
ПРИМЕЧАНИЕ
18
Глава 1. Простой отчет «без программирования»
Автоматическое заполнение
доступных полей
Процесс создания нашего запроса завершен. Нажмем ОК и
вернемся в конструктор схемы компоновки данных (рис. 1.9).
ПРИМЕЧАНИЕ
Создание стандартных
настроек отчета
Пока мы не будем рассматривать другие возможности конс-
труктора компоновки данных, а приступим к настройке отчета,
то есть к формированию его структуры и внешнего вида.
ПРИМЕЧАНИЕ
20
Глава 1. Простой отчет «без программирования»
ВНИМАНИЕ!
ПРИМЕЧАНИЕ
21
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
22
Глава 1. Простой отчет «без программирования»
ПРИМЕЧАНИЕ
23
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Рис. 1.14.
Конструктор
настроек.
Шаг 2
25
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Редактирование
настроек отчета в режиме
«1С:Предприятие»
Для графического представления данных продемонстрируем их
вывод в диаграмму. Дополним настройки отчета, нажав кнопку
Настройки в командной панели формы отчета. В открыв-
шемся окне настроек добавим в структуру отчета элемент
Диаграмма.
ПРИМЕЧАНИЕ
26
Глава 1. Простой отчет «без программирования»
ПРИМЕЧАНИЕ
ПРИМЕЧАНИЕ
28
Глава 1. Простой отчет «без программирования»
ВНИМАНИЕ!
29
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
30
Глава 1. Простой отчет «без программирования»
ПРИМЕЧАНИЕ
ПРИМЕЧАНИЕ
32
Глава 2
Устройство системы
компоновки данных
Получение данных
для отчета
При исполнении отчета с помощью системы компоновки данных
из «источника» данных, например из информационной базы
данных, извлекаются данные для отчета. В базе данных они
представлены в виде таблиц. Соответственно, все эти данные
построчно можно вывести в отчет. Это детальные записи.
33
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
34
Глава 2. Устройство системы компоновки данных
36
Глава 2. Устройство системы компоновки данных
• Ресурсы.
Ресурсы являются групповыми итоговыми данными (стр.
385). Обычно данные в отчете группируются по каким-то
позициям, например, по номенклатуре. Смысл группировки
не только в определенном расположении данных, но и в выводе
итоговых данных - ресурсов по этой группировке. На основании
значений ресурсов формируются общие итоги отчета.
В приведенном примере детальные записи группируют-
ся по складам и выводятся групповые и общие итоги отчета
(рис. 2.4).
40
Глава 2. Устройство системы компоновки данных
• Вложенные схемы.
Часто бывает, что нужно использовать данные одного отчета
внутри другого. Разработав схему компоновки одного отчета,
можно затем многократно использовать ее в других отчетах,
42
Глава 2. Устройство системы компоновки данных
46
Глава 2. Устройство системы компоновки данных
Настройки отчета
Отчет, полученный с помощью системы компоновки данных,
представляет собой сложную иерархическую структуру, куда
входят и простые детальные записи, и группировки, и таблицы,
и диаграммы. Например, отчет Остатки номенклатуры имеет
такой вид (рис. 2.19).
48
Глава 2. Устройство системы компоновки данных
49
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
50
Глава 2. Устройство системы компоновки данных
Примеры основных
возможностей системы
компоновки данных
Исходные данные
для примеров
Разрабатываемые нами отчеты будут базироваться на данных
о хозяйственной деятельности небольшой фирмы, которая
оказывает услуги по сборке, ремонту и продаже компьютеров
и комплектующих к ним.
55
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
56
Глава 3. Примеры основных возможностей системы компоновки данных
Рис. 3.4.
Конструктор
настроек. Шаг 1
59
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
60
Глава 3. Примеры основных возможностей системы компоновки данных
61
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
62
Глава 3. Примеры основных возможностей системы компоновки данных
64
Глава 3. Примеры основных возможностей системы компоновки данных
68
Глава 3. Примеры основных возможностей системы компоновки данных
п
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
ВНИМАНИЕ!
76
Глава 3. Примеры основных возможностей системы компоновки данных
77
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
78
Глава 3. Примеры основных возможностей системы компоновки данных
79
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Пример 4.
Набор данных - объединение
Набор данных - объединение предназначен для разработки
отчета, содержащего объединенную информацию из различных
наборов данных. Такой набор содержит два или более подчи-
ненных набора данных, но информация в них не связывается,
а объединяется.
80
Глава 3. Примеры основных возможностей системы компоновки данных
81
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Номенклатура,
Количество,
Цена.
86
Глава 3. Примеры основных возможностей системы компоновки данных
87
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Пример 5. Характеристики.
Вывод данных в диаграмму
В платформе 1С:Предприятия есть специальный объект -План
видов характеристик, с помощью которого можно создавать
механизмы для того, чтобы пользователь имел возможность
создавать и описывать произвольные характеристики для каких-
либо объектов информационной базы. Например, для описания
свойств номенклатуры пользователь может создать такие виды
характеристик, как Цвет, Качество и т. п. и задать их значения.
Система компоновки данных позволяет использовать эти
характеристики при разработке отчетов (стр. 305). То есть
пользователь может отобразить поля характеристик в отчете,
установить по ним отбор, условное оформление и т. д. Для
извлечения характеристик из базы данных в языке запросов
разработано специальное расширение, применяющееся только
в системе компоновки данных.
В нашей конфигурации реализована возможность добавления
дополнительных свойств к элементам справочника Контраген-
ты, таких как Надежный партнер? (да/нет) и Регион. Создадим
отчет, отражающий информацию о продажах контрагентам, и
отразим в отчете эти характеристики контрагентов. Затем мы
выведем полученные данные в диаграмму с помощью конс-
труктора настроек.
Создадим новый объект конфигурации Отчет и назовем его
ПродажиКонтрагентам. Откроем конструктор схемы компонов-
ки данных и добавим новый набор данных - запрос. Откроем
конструктор запроса. В качестве источника данных для запроса
выберем виртуальную таблицу регистра сведений Прода-
жи.Обороты. В список полей перенесем поля из этой таблицы
(рис. 3.44):
Контрагент,
СтоимостьОборот.
88
Глава 3. Примеры основных возможностей системы компоновки данных
ВНИМАНИЕ!
92
Глава 3. Примеры основных возможностей системы компоновки данных
93
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
94
Глава 3. Примеры основных возможностей системы компоновки данных
95
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Рис. 3.56.
Сохранение
пол ьзовател ьских
настроек
96
Глава 3. Примеры основных возможностей системы компоновки данных
97
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
100
Глава 3. Примеры основных возможностей системы компоновки данных
Рис. 3.65.
Результат отчета
с выделением
вложенных
отчетов
102
Глава 3. Примеры основных возможностей системы компоновки данных
103
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
104
Глава 3. Примеры основных возможностей системы компоновки данных
Рис. 3.69.
Конструктор
настроек. Шаг 1
105
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
106
Глава 3. Примеры основных возможностей системы компоновки данных
107
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
108
Глава 3. Примеры основных возможностей системы компоновки данных
109
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
112
Глава 3. Примеры основных возможностей системы компоновки данных
113
Глава 4
Примеры
разработки отчетов
115
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
118
Глава 4. Примеры разработки отчетов
ВНИМАНИЕ!
122
Глава 4. Примеры разработки отчетов
124
Глава 4. Примеры разработки отчетов
125
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
126
Глава 4. Примеры разработки отчетов
129
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
131
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
СтоимостьРасход - СтоимостьПриход
134
Глава 4. Примеры разработки отчетов
135
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
137
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
139
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Рис. 4.42.
Конструктор формы
отчета
140
Глава 4. Примеры разработки отчетов
Рис. 4.44.
Добавление
табличного
поля в форму
141
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
143
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
144
Глава 4. Примеры разработки отчетов
145
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
спрНоменклатура.ЭтоГруппа = Ложь
СОВЕТ
146
Глава 4. Примеры разработки отчетов
СОВЕТ
147
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
148
Глава 4. Примеры разработки отчетов
149
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Рис. 4.58.
Конструктор формы
справочника
Рис. 4.59.
Добавление
кнопки
в форму
150
Глава 4. Примеры разработки отчетов
151
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
153
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
154
Глава 4. Примеры разработки отчетов
155
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Пример 5. Отчет
«Продажи номенклатуры»
Рассмотрим пример отчета, который будет отражать инфор-
мацию по продажам номенклатуры за указанный период
(рис. 4.65).
156
Глава 4. Примеры разработки отчетов
158
Глава 4. Примеры разработки отчетов
КонецПериода(&КонецПериода, "День")
159
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
160
Глава 4. Примеры разработки отчетов
161
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
СОВЕТ
168
Глава 4. Примеры разработки отчетов
169
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
170
Глава 4. Примеры разработки отчетов
171
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
172
Глава 4. Примеры разработки отчетов
173
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
176
Глава 4. Примеры разработки отчетов
177
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
ДФ = ММММ.уууу
179
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
180
Глава 4. Примеры разработки отчетов
&Период.ДатаНачала
&Период.ДатаОкончания
181
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
182
Глава 4. Примеры разработки отчетов
183
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
184
Глава 4. Примеры разработки отчетов
186
Глава 4. Примеры разработки отчетов
187
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
188
Глава 4. Примеры разработки отчетов
Рис. 4.117.
Требуемый вид
отчета
190
Глава 4. Примеры разработки отчетов
193
Разработка сложных отчетов в 1 С:Предприятии 8. Система компоновки данных
КонецПериода(&КонецПериода, "День")
Дата,
Номер,
Количество,
Стоимость.
ДФ = dd.MM.yyyy
196
Глава 4. Примеры разработки отчетов
198
Глава 4. Примеры разработки отчетов
199
Разработка сложных отчетов в 1 С:Предприятии 8. Система компоновки данных
200
Глава 4. Примеры разработки отчетов
201
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
203
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
204
Глава 4. Примеры разработки отчетов
206
Глава 4. Примеры разработки отчетов
ВНИМАНИЕ!
207
Разработка сложных отчетов в 1 С:Предприятии 8. Система компоновки данных
209
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
210
Глава 4. Примеры разработки отчетов
211
Разработка сложных отчетов в 1 С:Предприятии 8. Система компоновки данных
213
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
ВНИМАНИЕ!
214
Глава 4. Примеры разработки отчетов
215
Разработка сложных отчетов в 1 С:Предприятии 8. Система компоновки данных
216
Глава 4. Примеры разработки отчетов
КонецПериода(&ДатаОкончания, "День")
219
Разработка сложных отчетов в 1 С:Предприятии 8. Система компоновки данных
221
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Рис. 4.169.
Результат отчета
222
Глава 4. Примеры разработки отчетов
223
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
224
Глава 4. Примеры разработки отчетов
225
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Сумма,
Количество.
227
Разработка сложных отчетов в 1 С:Предприятии 8. Система компоновки данных
228
Глава 4. Примеры разработки отчетов
231
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
232
Глава 4. Примеры разработки отчетов
233
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Рис. 4.185.
Создание нового
макета оформления
235
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
236
Глава 4. Примеры разработки отчетов
СОВЕТ
Чтобы приобрести необходимый опыт, можно после оформления
каждой области проверять получившийся результат. Если вы ука-
зали оформление не той области, которая отображается в отчете,
она будет выводиться без оформления либо в виде оформления
области по умолчанию, если оно задано.
240
Глава 4. Примеры разработки отчетов
241
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
склад:[Склад]
242
Глава 4. Примеры разработки отчетов
ВНИМАНИЕ!
244
Глава 4. Примеры разработки отчетов
245
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
246
Глава 4. Примеры разработки отчетов
247
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
248
Глава 4. Примеры разработки отчетов
Рис. 4.200.
Требуемый вид
отчета
249
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
250
Глава 4. Примеры разработки отчетов
251
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
252
Глава 4. Примеры разработки отчетов
253
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
ВНИМАНИЕ!
254
Глава 4. Примеры разработки отчетов
&Период.ДатаНачала
&Период.ДатаОкончания
258
Глава 4. Примеры разработки отчетов
259
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
260
Глава 4. Примеры разработки отчетов
261
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Настройки = КомпоновщикНастроек.Настройки;
262
Глава 4. Примеры разработки отчетов
263
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
264
Глава 4. Примеры разработки отчетов
265
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
266
Глава 4. Примеры разработки отчетов
Рис. 4.219.
Требуемый
вид отчета
ПРИМЕЧАНИЕ
ЧЦ = 6; ЧДЦ = 0
272
Глава 4. Примеры разработки отчетов
273
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
274
Глава 4. Примеры разработки отчетов
275
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
СОВЕТ
СхемаКомпоновкиДанных = ПолучитьМакет("АнализЦенКомплектующих");
УстановитьНастройки();
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
277
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
278
Глава 4. Примеры разработки отчетов
279
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
// СхемаКомпоновкиДанных = ПолучитьМакет("АнализЦенКомплектующих");
УстановитьСхему();
УстановитьНастройки();
280
Глава 4. Примеры разработки отчетов
281
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
ПолеЗ.Заголовок = "Количество";
Поле1 = На6ор2.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных"));
Поле1.Поле = "Номенклатура";
Поле1.ПутьКДанным = "Номенклатура";
Поле1.3аголовок = "Номенклатура";
Поле2 = Набор2.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных"));
Поле2.Поле = "ЦенаПриход";
Поле2.ПутьКДанным = "ЦенаПриход";
Поле2.Заголовок = "Цена";
ПолеЗ = Набор2.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных"));
ПолеЗ.Поле = "Поступило";
ПолеЗ.ПутьКДанным = "Поступило";
ПолеЗ.Заголовок = "Количество";
282
Глава 4. Примеры разработки отчетов
283
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
286
Глава 4. Примеры разработки отчетов
287
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
<dcsset:field>PerncTpaTop</dcsset:field>
Рис. 4.230.
Создание основной
формы обработки
289
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
290
Глава 4. Примеры разработки отчетов
291
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Справочник разработчика
Общие возможности
Получение итогов по всем датам
в выбранном периоде
При разработке отчетов с использованием системы компоновки
данных, имея детальные записи, мы можем надстраивать над
ними итоговые записи, формируя их по какому-то признаку.
Если детальные записи обладают периодичностью (например,
имеют поле Дата), то мы можем формировать итоговые записи,
суммируя значения детальных записей, например, за каждый
293
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
295
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
296
Глава 5. Справочник разработчика
300
Глава 5. Справочник разработчика
302
Глава 5. Справочник разработчика
304
Глава 5. Справочник разработчика
Характеристики
В платформе 1С:Предприятия 8 есть специальный объект -
План видов характеристик, с помощью которого можно
создавать механизмы для того, чтобы пользователь имел воз-
можность создавать и описывать произвольные характеристики
для каких-либо объектов информационной базы. Например, для
описания свойств номенклатуры пользователь может создать
такие виды характеристик, как Цвет, Качество и т. п. и задать
их значения.
Система компоновки данных позволяет использовать эти
характеристики при разработке отчетов. То есть пользователь
может отобразить поля характеристик в отчете, установить
по ним отбор, условное оформление и т. д. Однако применить
характеристики можно только после запуска отчета из режима
1С:Предприятие. Это связано с тем, что сначала должен быть
выполнен запрос, извлекающий характеристики из базы
данных.
306
Глава 5. Справочник разработчика
307
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
308
Глава 5. Справочник разработчика
309
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
310
Глава 5. Справочник разработчика
311
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
313
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Использование категорий
При помощи механизма характеристик системы компоновки
данных можно описывать и категории-характеристики, не имеющие
значений, а имеющие лишь признак наличия/отсутствия.
Для примера добавим в план видов характеристик катего-
рию Лучший покупатель и выведем ее в отчете Список контра-
гентов.
Откроем схему компоновки данных отчета и в конструкторе
запроса опишем характеристики (рис. 5.26).
314
Глава 5. Справочник разработчика
315
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Рис. 5.34.
Результат отчета
Иерархия
Система компоновки данных позволяет выводить в отчет иерар-
хические данные. Иерархия может строиться:
• Для групп иерархического справочника (рис. 5.35).
318
Глава 5. Справочник разработчика
Иерархические группировки
Для примера рассмотрим отчет Продажи контрагентам, который
выводит информацию об объемах продаж по контрагентам.
Справочник Контрагенты имеет следующую иерархическую
структуру (рис. 5.38):
320
Глава 5. Справочник разработчика
Рис. 5.42.
Результат отчета
321
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Отбор «В группе»
Система компоновки данных позволяет отбирать записи,
которые находятся в иерархии некоторого элемента. Для этого
в системе предусмотрен вид сравнения В группе (во встроен-
ном языке данный вид сравнения называется ВИерархии). При
установке данного отбора в результат будут выводиться записи,
имеющие значение, равное указанному, и все записи, распола-
гающиеся ниже по иерархии.
Вызовем окно настроек и на закладке Отбор установим отбор
Контрагент в группе «Покупатели» (рис. 5.45).
322
Глава 5. Справочник разработчика
324
Глава 5. Справочник разработчика
СОВЕТ
Поскольку поля иерархического набора данных нужны только для
построения иерархии, имеет смысл скрыть их от пользователя.
Для этого следует отключить у этих полей доступность настройки.
Делается это на закладке Наборы ДЭННЫХ конструктора схемы
компоновки данных (рис. 5.50).
Рис. 5.51.
Настройка
иерархической
группировки
Рис. 5.52.
Результат отчета
327
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Рис. 5.57.
Результат
отчета
331
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
333
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
334
Глава 5. Справочник разработчика
335
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
ВНИМАНИЕ!
336
Глава 5. Справочник разработчика
338
Глава 5. Справочник разработчика
Рис. 5.70.
Результат
отчета
Расчет итогов
Система компоновки позволяет выводить в отчет данные из
нескольких наборов. При этом в некоторые группировки могут
попадать записи некоторого набора данных по нескольку раз.
Однако в случае использования связанных наборов данных,
при расчете итога, каждая запись будет учтена только один
раз. Если отчет получен с использованием связи двух таблиц в
запросе, общий итог будет содержать суммы по всем строкам,
что неверно.
Для примера рассмотрим вывод отчета с использованием двух
связанных наборов данных.
340
Глава 5. Справочник разработчика
ВЫБРАТЬ
Остатки НоменклатурыОстатки. Номенклатура,
ОстаткиНоменклатурыОстатки.Склад,
ОстаткиНоменклатурыОстатки.КоличествоОстаток
ИЗ
РегистрНакопления.ОстаткиНоменклатуры. Остатки
КАК ОстаткиНоменклатурыОстатки
341
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
ВЫБРАТЬ
ПродажиОбороты. Контрагент,
ПродажиОбороты. Номенклатура,
ПродажиОбороты.КоличествоОборот,
ПродажиОбороты.СтоимостьОборот
ИЗ
РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты
342
Глава 5. Справочник разработчика
Расшифровка
Система компоновки данных предоставляет возможность рас-
шифровать информацию, содержащуюся в отчете. То есть,
выполнив отчет и выделив одну из его ячеек, пользователь
может получить другой отчет, связанный со значением, находя-
щимся в этой ячейке.
344
Глава 5. Справочник разработчика
345
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
346
Глава 5. Справочник разработчика
347
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Рис. 5.82.
Обработчик события
«ОбработкаРасшифровки»
для поля табличного
документа «Результат»
348
Глава 5. Справочник разработчика
Настройки = КомпоновщикНастроек.Настройки;
349
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Рис. 5.83.
Результат отчета
350
Глава 5. Справочник разработчика
351
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
ВНИМАНИЕ!
В случае использования произвольных форм для вывода результа-
та отчета нужно определять действия по расшифровке в обработ-
чике события Выбор() для поля Результат, так как стандартная
расшифровка и событие ОбработкаРасшифровки() вызывают-
ся только для форм типа Форма отчета.
Рис. 5.87.
Создание новой
схемы компоновки
данных
353
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
354
Глава 5. Справочник разработчика
355
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Многоязычные отчеты
Система компоновки данных поддерживает работу в многоязыч-
ной среде. Дело в том, что с одной и той же информационной
базой могут работать пользователи, родным языком для которых
является не русский, а другой, например, английский.
В этом случае хотелось бы, чтобы пользователь видел отчет
(вернее «оформление» этого отчета) на привычном ему языке.
При этом мы не рассматриваем вопрос того, как хранить собс-
твенно данные на двух языках (например, русское и английское
название номенклатуры). Здесь мы рассматриваем задачу, как
предоставить англоязычному пользователю, например, воз-
можность видеть заголовок, шапку отчета на английском языке,
пользоваться возможностями отборов, сортировки, настройки
отчета также на своем родном языке.
356
Глава 5. Справочник разработчика
357
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
358
Глава 5. Справочник разработчика
359
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
360
Глава 5. Справочник разработчика
361
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Рис. 5.102.
Результат отчета
в англоязычной
среде
362
Глава 5. Справочник разработчика
Поля
Автоматическое заполнение полей
наборов данных
В конструкторе схемы компоновки данных на закладке
Наборы данных находится флаг, который позволяет управлять
свойством Автозаполнение (рис. 5.104).
363
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
ВЫБРАТЬ
ПродажиОбороты.ПериодДень,
ПродажиОбороты. ПериодМесяц,
ПродажиОбороты.Контрагент,
ПродажиОбороты.СтоимостьОборот КАК Стоимость
ИЗ
РегистрНакопления.Продажи.Обороты({&Начало}, {&Конец}, Авто,)
КАК ПродажиОбороты
367
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
368
Глава 5. Справочник разработчика
Использование автополей
При разработке отчетов система компоновки данных генериру-
ет Автополе для списка выбранных полей и списка сортировки
группировок. При формировании отчета Автополе будет пре-
образовано в набор полей группировки.
Формирование набора автополей группировки происходит
следующим образом. Берутся используемые выбранные поля
со следующими условиями:
• они доступны для использования в полях группировки;
• не являются ресурсами;
• не зависят от других выбранных полей;
• не зависят от уже существующих полей группировки.
Если поле уже включено в набор автополя группировки,
повторно оно не добавляется.
Автополе можно использовать как есть, а можно раскрыть,
чтобы посмотреть, какие поля система туда включила, и при
желании их изменить. Чтобы раскрыть список автополя, нужно
выделить его, вызвать его контекстное меню и выбрать пункт
Развернуть.
371
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Рис. 5.117.
Выражение
представления
для поля
«Контрагент»
374
Глава 5. Справочник разработчика
375
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Вычисляемые поля
При разработке отчетов не всегда хватает полей, определенных
в наборе данных. Довольно часто бывает нужно отразить какие-
то другие поля, которые рассчитываются на основе имеющихся
по определенному алгоритму. Например, выручку как разницу
между доходами и расходами и т. п.
Для этого в системе компоновки данных есть возможность
определения вычисляемого поля. Вычисляемые поля представ-
ляют собой дополнительные поля схемы, значения которых
будут вычисляться по некоторой формуле. В настройках ком-
поновки данных вычисляемое поле будет фигурировать под
именем, указанным в пути к данным этого поля. Пользова-
тель сможет работать с вычисляемым полем точно так же, как
и с полем набора данных.
Для того чтобы система смогла получить значение вычисляе-
мого поля, необходимо указать выражение вычисляемого поля.
Оно описывается на языке выражений компоновки данных.
В выражениях вычисляемого поля есть ограничение: в нем
нельзя использовать вычисляемые поля. В остальном ограниче-
ний нет - можно использовать все синтаксические конструкции
языка выражений, можно использовать поля наборов данных,
а также функции общих модулей конфигурации.
Для вычисляемого поля можно определить заголовок, огра-
ничение доступности, выражение представления, выражения
упорядочивания, тип значения, доступные значения и офор-
мление так же, как для полей наборов данных. Кроме того,
вычисляемое поле может быть определено как ресурс. Для
этого необходимо добавить данное поле в список ресурсов
и указать выражение, по которому будет вычисляться итог.
Для примера рассмотрим отчет Отчет по системным блокам.
Откроем схему компоновки данных и на закладке Вычисляе-
376
Глава 5. Справочник разработчика
СтоимостьРасход - СтоимостьПриход
378
Глава 5. Справочник разработчика
379
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Пользовательские поля
Система компоновки данных позволяет определять в отчете
Пользовательские поля, используя либо собственные
выражения, либо наборы вариантов с условиями их выбора.
Пользовательские поля являются аналогом вычисляемых полей,
но в упрощенном варианте. Они могут задаваться как в режиме
Конфигуратор, так и в режиме 1С:Предприятие, но в выраже-
ниях пользовательских полей нельзя использовать функции
общих модулей. Поэтому пользовательские поля предназначе-
ны скорее для пользователя, чем для разработчика.
Для примера рассмотрим отчет Оказание услуг. Откроем
закладку Настройки схемы компоновки данных и на закладке
Пользовательские поля нажмем кнопку Добавить. Добавим
новое поле - Выбор. Зададим собственный заголовок поля и
создадим условия отбора для различных вариантов его пред-
ставления (рис. 5.126).
380
Глава 5. Справочник разработчика
Рис. 5.128.
Результат
отчета
381
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Роли полей
В системе компоновки данных можно задать Роль для каждого
поля набора данных. Роль поля указывает, каким образом
следует интерпретировать поле при компоновке отчета.
Некоторые свойства роли платформа задает автоматически. Для
их редактирования в конструкторе схемы компоновки данных
на закладке Наборы данных нужно нажать кнопку выбора
в поле Роль нужного поля набора данных (рис. 5.129).
382
Глава 5. Справочник разработчика
384
Глава 5. Справочник разработчика
Ресурсы
Под полями-ресурсами в системе компоновки данных подразу-
меваются поля, значения которых рассчитываются на основании
детальных записей, входящих в группировку. По сути, ресурсы
являются групповыми или общими итогами отчета. В при-
веденном примере в отчет выводятся ресурсы Количество
и Стоимость (рис. 5.130).
386
Глава 5. Справочник разработчика
387
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
388
Глава 5. Справочник разработчика
389
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Параметры
Пользователя, как правило, интересуют данные о хозяйственной
деятельности за определенный период. Поэтому практичес-
ки в любом отчете используются параметры, задающие начало
и конец отчетного периода. В схеме компоновки данных
параметры отчета задаются на закладке Параметры. При
использовании свойства Автозаполнение параметры виртуаль-
ных таблиц и параметры, указанные в запросе, автоматически
добавляются в список параметров отчета.
Использование дат
Для примера рассмотрим отчет Отчет по системным блокам. Мы
видим, что платформа по умолчанию добавила два параметра -
НачалоПериода и КонецПериода и в колонке Доступные типы
задала для них значение Дата (рис. 5.137).
КонецПериода(&КонецПериода, "День")
Использование
стандартных периодов
Система компоновки данных позволяет использовать стандарт-
ные периоды для указания периода отчета.
391
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
&Период.ДатаНачала
&Период.ДатаОкончания
392
Глава 5. Справочник разработчика
Макеты
Понятие «макеты» очень часто встречается в системе компонов-
ки данных. Существует макет как элемент системы компоновки
существуют предопределенные макеты, существуют макеты
оформления...
По умолчанию внешний вид отчета формируется системой
автоматически. «Внешне» отчет состоит из набора стандартных
областей, которые система сама располагает, в зависимос-
ти от вида отчета. Но разработчик может задать собственное
расположение и оформление различных областей. Это и есть
предопределенные макеты.
Система самостоятельно оформляет стандартные области
отчета. Но разработчик может задать собственные правила,
по которым будут оформляться эти стандартные области. Для
этого ему потребуется создать свой макет оформления.
Таким образом, задать свой вариант оформления можно в
обоих случаях. Но в предопределенных макетах можно также
изменить расположение полей отчета, задать их размеры,
изменить порядок следования, тип заполнения, используя
шаблон ячейки, в которой расположено поле, задать события
для ячейки и т. п. Но в отличие от макетов оформления, пре-
допределенные макеты «привязаны» к одному отчету, его
конкретным полям и структуре.
394
Глава 5. Справочник разработчика
Предопределенные макеты
Предопределенные макеты могут создаваться при помощи
конструктора схемы компоновки данных. Для этого предна-
значена закладка Макеты. Макет представлен в виде обычного
табличного документа, областям которого можно задать нужное
оформление.
Для примера рассмотрим отчет Остатки номенклатуры.
Откроем схему компоновки данных ПредопределенныйМа-
кет. Сначала мы должны установить имена группировок, чтобы
мы могли самостоятельно указать, в какую именно область
нашего макета будет выводиться эта группировка. На закладке
Настройки выделим нужную группировку и вызовем ее кон-
текстное меню. Выберем в нем пункт Установить имя и зададим
имена группировок (рис. 5.141).
395
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Макет поля
Данный макет предназначен для оформления определенных
выводимых полей (рис. 5.143).
396
Глава 5. Справочник разработчика
397
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Макет группировки
Данный макет предназначен для оформления значений группи-
ровки (рис. 5.146).
398
Глава 5. Справочник разработчика
400
Глава 5. Справочник разработчика
ВНИМАНИЕ!
Рис. 5.150.
Макет заголовка
группировки
«Склад»
401
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
402
Глава 5. Справочник разработчика
403
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Макет ресурсов
Данный макет предназначен для оформления ресурсов
таблицы. Ресурсами таблицы называется область отчета, содер-
жащая значения полей ресурсов группировок или детальных
записей. Для каждого макета ресурсов необходимо указать, для
какой группировки строки и колонки таблицы он создается.
Таким образом, макет ресурсов создается как бы на пересече-
нии соответствующей строки и колонки таблицы. Для примера
рассмотрим отчет с таблицей, в которой колонками являются
Склады, а строками - Номенклатура (рис. 5.157).
Макеты оформления
Макеты оформления компоновки данных предназначены для
оформления отчетов. При помощи макетов оформления можно
указывать различным областям отчета определенные цвета
фона, текста, шрифты и т. д.
Система компоновки данных позволяет задавать различные
макеты оформления как для всего отчета в целом, так и для
его отдельных группировок. Для этого в режиме настроек
конструктора схемы компоновки данных, на закладке Другие
настройки, нужно перейти в режим настроек нужной группи-
ровки или глобального отчета и установить для них значение
параметра Макет оформления. В приведенном примере для
группировки Контрагент параметр Макет оформления уста-
новлен в значение Море (рис. 5.161).
409
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Элемент отчета 1.
Элемент отчета 2.
414
Глава 5. Справочник разработчика
Использование макетов
оформления из встроенного языка
Для редактирования макетов оформления предназначен объект
встроенного языка КонструкторМакетаОформленияКомпо-
новкиДанных. Данный объект можно создать при помощи
конструктора, который имеет необязательный параметр - макет
оформления. Если макет оформления не указан, то создается
новый макет, иначе открывается для редактирования указанный
макет оформления. Конструктор макетов оформления имеет
следующие методы:
ПолучитьМакет() - данный метод предназначен для
получения редактируемого макета оформления и возвраща-
ет значение типа МакетОформленияКомпоновкиДанных.
Редактировать(<Форма>) - данный метод открывает окно
конструктора макета оформления. Параметр <Форма>
является необязательным и может содержать значение
типа Форма - форму-владельца окна конструктора макетов
оформления. При завершении редактирования и нажатии
415
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
416
Глава 5. Справочник разработчика
417
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
420
Глава 5. Справочник разработчика
ВНИМАНИЕ!
Настройки отчета
Использование конструктора настроек
Конструктор настроек облегчает процесс создания простых
стандартных настроек, определяющих, как будет выводиться
информация в отчет. Конструктор не предназначен для того,
чтобы создать любые настройки отчета. Он позволяет сделать
только несколько наиболее типичных сценариев. Это инстру-
мент, предназначенный в первую очередь для пользователя.
А также им может пользоваться и разработчик, если нужно
быстро настроить отчет «без хитростей», или чтобы просто
посмотреть данные, выдаваемые отчетом. Работа с конструкто-
ром настроек на конкретных примерах подробно рассмотрена в
3-й главе (стр. 55).
421
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
422
Глава 5. Справочник разработчика
Рис. 5.174.
Конструктор
настроек. Шаг 3
Рис. 5.175.
Конструктор
настроек. Шаг 3
423
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Сохранение
и загрузка настроек отчета
В системе компоновки данных есть возможность сохранить
настройки отчета в XML-файл. Для этого нужно нажать кнопку
0, расположенную в командной панели конструктора схемы
компоновки данных на закладке Настройки, и ввести имя файла
для сохранения настроек (рис. 5.177).
424
Глава 5. Справочник разработчика
425
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Упорядочивание
Так как в отчет может выводиться множество группиро-
вок и таблиц, упорядочивание в системе компоновки данных
желательно выполнять средствами самой системы компонов-
ки данных, а не средствами языка запросов. В запросе также
можно упорядочить записи в отчете, но, во-первых, система
компоновки предоставляет для этого больше возможностей,
которые будут рассмотрены ниже; а во-вторых, упорядочива-
ние в запросе делает отчет менее гибким с точки зрения его
дальнейшей настройки пользователем.
Упорядочивание группировок
По умолчанию каждая группировка будет упорядочена по
полям группировки. Например, в отчете есть группировка
по полю Номенклатура и не указан порядок. В таком случае
упорядочивание группировки будет осуществляться по полю
Номенклатура (рис. 5.179).
Рассмотрим другой пример. В отчете есть группировка по
полю Номенклатура и в глобальном упорядочивании, то есть
426
Глава 5. Справочник разработчика
427
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Упорядочивание полей
Для упорядочивания ссылочных полей система компоновки
получает поля, по которым следует упорядочивать таблицу, на
которую осуществляется ссылка, и использует вместо упоря-
дочивания по самому полю упорядочивание по полученным
полям.
Например, нужно упорядочить отчет по полю Номенкла-
тура, которое является ссылкой на справочник Номенклатура,
тот, в свою очередь, является иерархическим справочником
с основным представлением в виде наименования. В таком
случае система компоновки будет получать поля ЭтоГруппа,
Наименование, Ссылка для значения ссылки и упорядочивать
по этим полям. При этом поле Ссылка уже будет сравниваться
в соответствии с правилами сравнения ссылок.
428
Глава 5. Справочник разработчика
429
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
430
Глава 5. Справочник разработчика
Отбор
По тем же причинам, что и упорядочивание (см. стр. 426), отбор
в системе компоновки данных желательно выполнять средства-
ми самой системы компоновки данных, а не средствами языка
запросов.
В настройках компоновки данных возможно указание главного
отбора и отбора группировок. Главный отбор устанавливается
для всего отчета в целом. Отбор группировок устанавливается
у конкретной группировки.
432
Глава 5. Справочник разработчика
Отбор группировок
Отбор группировок используется для фильтрации записей, вы-
водимых в группировке. При этом отбор распространяется на
саму группировку, на вложенные группировки и не влияет на
другие группировки, имеющиеся в отчете.
В приведенном примере в отчет выводится таблица с груп-
пировкой по полю Номенклатура в ее строках и группировка
Детальные записи. Отбор установлен в режиме настроек груп-
пировки Номенклатура и будет применяться только к ней
(рис. 5.187).
433
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
В результате фильтруют-
ся детальные записи, и в
отчет выводятся только
продажи услуг со сто-
имостью больше 3000
(рис. 5.190).
Рис. 5.190. Результат отчета
435
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
436
Глава 5. Справочник разработчика
Расположение реквизитов
Реквизитами поля в системе компоновки данных называются
все его подчиненные поля, доступные через точку. Например,
для поля Номенклатура реквизитом является поле Номенклату-
ра. Код. Дополнительные характеристики объектов, например,
Регион, Надежный партнер также являются реквизитами поля
Контрагент, с точки зрения системы компоновки данных.
Управлять расположением реквизитов можно, используя
настройки компоновки данных. Для этого в режиме настроек
конструктора схемы компоновки данных нужно перейти на
закладку Другие настройки и установить значение параметра
Расположение реквизитов (рис. 5.193).
437
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
438
Глава 5. Справочник разработчика
Настройка группировок
Расположение полей группировок
Управлять расположением группировок можно, используя
настройки компоновки данных. Для этого в режиме настроек
конструктора схемы компоновки данных нужно перейти на
закладку Другие настройки и установить значение параметра
Расположение полей группировок (рис. 5.198).
440
Глава 5. Справочник разработчика
Заголовки группировок
Для каждой группировки можно указать собственный заголовок,
который будет выводиться перед выводом ее значений. Для
этого нужно перейти в режим настроек отдельной группи-
ровки и на закладке Другие настройки ввести нужный текст
в строку Заголовок. В приведенном примере для группировок
Контрагент и Номенклатура указаны собственные заголовки
(рис. 5.202, 5.203).
441
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Рис. 5.204.
Вывод заголовков
группировок
443
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
445
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
446
Глава 5. Справочник разработчика
447
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Группировки-периоды
Часто в отчетах требуется вывести данные за период с про-
межуточными итогами по дням, месяцам, полугодиям и т. п.
Для этого нужно сгруппировать данные по этим периодам. При
разработке отчета в схеме компоновки данных нужно добавить
в набор доступных полей поля-периоды и создать группировки
по этим полям в настройках отчета. Затем вывести в отчет поля
ресурсов отчета, чтобы для каждой группировки были подсчи-
таны промежуточные итоги.
Для примера рассмотрим Отчет по продажам. Данные в нем
сгруппированы по периодам Месяц и День.
450
Глава 5. Справочник разработчика
451
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
452
Глава 5. Справочник разработчика
Расположение ресурсов
Система компоновки данных позволяет настраивать отобра-
жение полей ресурсов в отчете. Управлять расположением
ресурсов можно при помощи настройки компоновки данных.
Для этого в режиме настроек конструктора схемы компоновки
данных нужно перейти на закладку Другие настройки и устано-
вить значение параметра Расположение ресурсов (рис. 5.222).
453
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
454
Глава 5. Справочник разработчика
Расположение группы
выбранных полей
Система компоновки данных предоставляет возможность
изменять расположение групп выбранных полей. Управлять
расположением группы выбранных полей можно, используя
настройки компоновки данных. Для этого в режиме настроек
конструктора схемы компоновки данных нужно перейти на
закладку Выбранные поля. Если на данной закладке в табличном
поле, отображающем выбранные поля, сделать активной
какую-либо группу, то справа от нее появится колонка Распо-
ложение, позволяющая управлять расположением выбранных
полей в группе. В приведенном примере создана группа полей
Реквизиты и в нее добавлены поля Номенклатура.Код и Номен-
клатура.ВидНоменклатуры (рис. 5.225).
455
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
456
Глава 5. Справочник разработчика
457
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
459
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
461
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
462
Глава 5. Справочник разработчика
Отображение заголовков,
параметров данных и отборов
Система компоновки данных позволяет настраивать отобра-
жение заголовков, параметров данных и отборов. Управлять
отображением заголовков, параметров данных и отборов
можно при помощи настройки компоновки данных. Для
этого в режиме настроек конструктора схемы компоновки
данных нужно перейти на закладку Другие настройки и уста-
новить значения параметров Заголовок, Выводить заголовок,
Выводить параметры данных и Выводить отбор (рис. 5.241).
463
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
464
Глава 5. Справочник разработчика
Рис. 5.243.
Вывод
параметров
отчета
465
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
466
Глава 5. Справочник разработчика
Настройки диаграмм
Система компоновки данных предоставляет возможнос-
ти для настройки различных свойств отображаемых в отчете
диаграмм. Для этого в конструкторе схемы компоновки данных
нужно перейти в режим настройки диаграммы и на закладке
Другие настройки установить ее параметры.
Логически Диаграмма является совокупностью Точек, Серий
и значений серий в точке. В качестве значений выступает один
из ресурсов отчета, в качестве точек - объекты, для которых мы
получаем значения характеристик, в качестве серий - характе-
ристики, значения которых нас интересуют.
Прежде всего, исходя из эффективности графического пред-
ставления результатов отчета, выбирается Тип диаграммы:
график, гистограмма, измерительная, круговая и т. д. Например,
для демонстрации изменения каких-либо значений характерис-
тик во времени лучше всего выбрать тип диаграммы График,
где точками будут моменты времени, а сериями - характеристи-
ки, например продажи товаров. Для демонстрации доли объема
продаж каждого контрагента подходит Круговая диаграмма
и т. д. Далее можно настроить ряд свойств диаграммы, таких
как расположение легенды, состав подписей, вывод таблицы
значений и др.
Так, например, для отчета Продажи контрагентам в настрой-
ках диаграммы задан тип диаграммы - Круговая объемная,
параметр Состав подписей установлен в значение Серия +
процент, а параметр Размещение легенды - в значение Верх
(рис. 5.245, 5.246).
467
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
468
Глава 5. Справочник разработчика
Условное оформление
Для более наглядного представления данных в отчете система
компоновки данных позволяет задавать условное оформле-
ние областей отчета. При помощи условного оформления
можно изменить цвет текста или фона, шрифт, горизонталь-
ное или вертикальное положение и т. п. как отчета в целом, так
и его отдельных областей. Условное оформление применяется
к отчету при определенных условиях, например, когда остаток
товара равен нулю, соответствующие строки номенклатуры
выводятся красным цветом.
Для управления условным оформлением используются
настройки компоновки данных. В конструкторе схемы компо-
новки данных нужно перейти в режим настройки отчета или его
отдельной группировки и открыть закладку Условное оформ-
ление.
469
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
470
Глава 5. Справочник разработчика
472
Глава 5. Справочник разработчика
474
Глава 5. Справочник разработчика
Программная работа
с параметрами схемы компоновки данных
Часто бывает нужно задать значения параметров схемы ком-
поновки данных по умолчанию. Чтобы установить значение
параметра, нужно получить ссылку на него по индексу в
коллекции элементов. Если параметров много, как, например,
параметров вывода, ссылка на параметр возвращается методом
НайтиЗначениеПараметра().
В приведенном примере задаются значения параметров начала
и окончания отчетного периода как начало года и конец месяца,
значение параметра вывода ВыводитьОтбор установлено в по-
ложение Нет, а также задается признак использования этих
параметров в отчете. Этот код следует расположить в про-
цедуре открытия отчетной формы перед формированием отчета
(листинг 5.43).
475
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
ВНИМАНИЕ!
476
Глава 5. Справочник разработчика
Редактирование
стандартных настроек
Стандартные настройки - это настройки, которые делает
разработчик в схеме компоновки данных. Средствами встро-
енного языка можно получить и изменить стандартные
настройки схемы компоновки данных. Более подробно этот
процесс описан в 4-й главе (пример 11 на стр. 267). В приведен-
ном примере создается группировка по полю Номенклатура
и полю Период и создается Автополе для этой группиров-
ки. Затем в общий список выбранных полей добавляется поле
Цена (листинг 5.44).
Листинг 5.44. Процедура программной установки настроек
477
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Редактирование
настроек схемы компоновки
Стандартные настройки схемы компоновки могут изменяться
пользователем в режиме 1С:Предприятие. Средствами встро-
енного языка можно получить и изменить эти настройки.
В приведенном примере создается отбор по номенклатуре из
группы Комплектующие и отключается вывод информации об
отборе (листинг 5.45).
Листинг 5.45. Процедура программной установки настроек
Вывод отчета
средствами встроенного языка
После того как установлена схема компоновки данных и ее
настройки, можно программно сформировать и вывести отчет
(листинг 5.46).
Листинг 5.46. Программное формирование отчета
478
Глава 5. Справочник разработчика
479
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
480
Глава 5. Справочник разработчика
Исполнение отчета
Каждый элемент системы компоновки данных имеет собс-
твенное декларативное описание, возможность программного
доступа и возможность сериализации в/из XML. Такой подход
позволяет гибко управлять различными этапами выполнения
отчета.
XML-сериализация - это процесс преобразования данных
1С:Предприятия 8 в последовательность данных формата
XML, и наоборот, преобразование последовательности данных
формата XML в данные 1С:Предприятия 8, если существует
подходящий тип данных.
481
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
482
Глава 5. Справочник разработчика
483
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
484
Глава 5. Справочник разработчика
485
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
486
Глава 5. Справочник разработчика
487
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
488
Глава 5. Справочник разработчика
489
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
490
Глава 5. Справочник разработчика
491
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
492
Глава 5. Справочник разработчика
493
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
494
Глава 5. Справочник разработчика
495
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
496
Глава 6
498
Глава 6. Культура создания отчетов с использованием системы компоновки данных
501
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
502
Глава 6. Культура создания отчетов с использованием системы компоновки данных
503
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
504
Глава 6. Культура создания отчетов с использованием системы компоновки данных
505
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
Рис. 6.8.
Создание
основной формы
отчета
Рис. 6.11.
Добавление
в форму
флажков
507
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
509
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
510
Глава 6. Культура создания отчетов с использованием системы компоновки данных
511
Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных
512
Глава 6. Культура создания отчетов с использованием системы компоновки данных
513
Для заметок