|
8.2 Вывод данных в таблицу значений внешней обработки используя СКД | ☑ | ||
---|---|---|---|---|
0
DSSS
03.09.11
✎
12:13
|
Доброго дня.
УТ 11.0.5.4, 8.2.14.519 Братцы, помогите решить такую задачку: Есть внешняя обработка, у которой есть макет СКД, содержащий вот такой простенький запрос: ВЫБРАТЬ ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура, ТоварыНаСкладахОстатки.Склад КАК Склад, ТоварыНаСкладахОстатки.ВНаличииОстаток КАК Остаток {ВЫБРАТЬ Номенклатура.*, Склад.*, Остаток} ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки(, {(Склад), (Номенклатура)}) КАК ТоварыНаСкладахОстатки На форме обработки расположен реквизит Отбор, путь к данным КомпоновщикНастроек.Настройки.Отбор, есть реквизит КомпоновщикНастроек тип КомпоновщикНастроекКомпоновкиДанных. Еще на форме есть таблица значений, с колонками номенклатура и остаток. Так вот, нужно, чтобы эта таблица значений заполнилась с учетом отборов, которые проставит пользователь на форме. Что делаю: по полной аналогии с обработкой печать этикеток в УТ пишу в модуле формы: СхемаКомпоновкиДанных = ПолучитьИзВременногоХранилища(АдресСхемыКомпоновкиДанных); // Подготовка компоновщика макета компоновки данных. Компоновщик = Новый КомпоновщикНастроекКомпоновкиДанных; Компоновщик.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных)); Компоновщик.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию); Компоновщик.Настройки.Отбор.Элементы.Очистить(); Если КомпоновщикНастроек <> Неопределено Тогда ОбщегоНазначенияУТКлиентСервер.СкопироватьЭлементы(Компоновщик.Настройки.Отбор, КомпоновщикНастроек.Настройки.Отбор); КонецЕсли; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Компоновщик.Настройки,,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); Запрос = Новый Запрос(МакетКомпоновкиДанных.НаборыДанных.НаборДанных.Запрос); Для каждого Параметр Из МакетКомпоновкиДанных.ЗначенияПараметров Цикл Запрос.Параметры.Вставить(Параметр.Имя, Параметр.Значение); КонецЦикла; ТЗ = Запрос.Выполнить().Выгрузить(); Все валится на строке Запрос = Новый Запрос(МакетКомпоновкиДанных.НаборыДанных.НаборДанных.Запрос); из-за того, что МакетКомпоновкиДанных не содержит ни одного набора данных. Подскажите, кто в курсе, что еще нужно сделать, чтобы в МакетКомпоновкиДанных появился нужный набор данных? Спасибо. |
|||
1
Alexandr Puzakov
03.09.11
✎
13:51
|
Это делается не так...
|
|||
2
nicxxx
03.09.11
✎
14:14
|
||||
3
DSSS
03.09.11
✎
15:31
|
(2) Спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |