0
memogolik
31.01.13
✎
11:38
|
Написан отчет по мотивам видео урока Гилева.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
// Вставить содержимое обработчика.
СтандартнаяОбработка = Ложь;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СУММА(ПоступлениеТоваровУслугТовары.Количество) КАК Количество,
| ПоступлениеТоваровУслугТовары.Номенклатура
|ИЗ
| Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
|
|СГРУППИРОВАТЬ ПО
| ПоступлениеТоваровУслугТовары.Номенклатура";
Результат = Запрос.Выполнить();
ВнешнийНабор = Новый Структура("Табл", Результат);
Настройки = КомпоновщикНастроек.Настройки;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
Макет = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки);
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(Макет, ВнешнийНабор);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
КонецПроцедуры
Сам объект в схеме компоновки имеет тип не "запрос", а "объект".
Добавил два поля: Номенклатура и количество соответствующих типов.
Имя объекта, содержащие данные "Табл".
Сам отчет при этом работает нормально. Теперь хочу сделать простейшую расшифровку по документу.
Добавил основную форму отчета, определил событие в форме:
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
// Вставить содержимое обработчика.
Перем ВыполненноеДействие;
СтандартнаяОбработка=Ложь;
ОбработкаРасшифровки=Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки,Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
ДоступныеДействия=Новый Массив; // заполняем доступные действия, если параметр не указан, то будут доступны все действия
ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Оформить);
ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение);
ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Упорядочить);
Настройки=ОбработкаРасшифровки.Выполнить(Расшифровка,ВыполненноеДействие,ДоступныеДействия);
Если Настройки<>Неопределено Тогда // требуется сформировать отчет с новыми настройками
КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию); // загружаем настройки
ЭлементыФормы.Результат.Очистить(); // очищаем поле табличного документа
СкомпоноватьРезультат(ЭлементыФормы.Результат,ДанныеРасшифровки); // выводим результат
КонецЕсли;
КонецПроцедуры
Но результата нет, даже значка с лупой (соответствующего расшифровке) не появляется, подскажите пожалуйста, как решить проблему?
Заранее спасибо за ответы.
|
|