|ИЗ
| РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты
|
|УПОРЯДОЧИТЬ ПО
| Доход УБЫВ";
КонецПроцедуры
По сравнению с предыдущими отчетами, текст запроса довольно прост; единственным интересным местом, на которое следует обратить внимание, является поле "Доход", являющееся результатом вычисления выражения:
...
| ПродажиОбороты.ВыручкаОборот - ПродажиОбороты.СтоимостьОборот КАК Доход
...
Теперь обработаем результат запроса таким образом, чтобы данные отобразились в диаграмме, расположенной в форме отчета.
Добавим в процедуру следующий текст (добавленный текст выделен жирным шрифтом):
Процедура Сформировать()
// Вставить содержимое обработчика.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПродажиОбороты.Клиент.Представление КАК Клиент,
| ПродажиОбороты.ВыручкаОборот - ПродажиОбороты.СтоимостьОборот КАК Доход
|ИЗ
| РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты [201]
|
|УПОРЯДОЧИТЬ ПО
| Доход УБЫВ";
ВыборкаРезультатаЗапроса = Запрос.Выполнить().Выбрать();
Диаграмма = ЭлементыФормы.Диаграмма;
//запретить обновление и автотранспонирование диаграммы
Диаграмма.Обновление = Ложь;
Диаграмма.АвтоТранспонирование = Ложь;
//создать единственную точку диаграммы
ТочкаДиаграммы = Диаграмма.УстановитьТочку("Доход");
//перебрать выборку результата запроса и создать серии
//и значения
Пока ВыборкаРезультатаЗапроса.Следующий() Цикл
ТекущаяСерияДиаграммы = Диаграмма.УстановитьСерию(ВыборкаРезультатаЗапроса.Клиент);