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