|
Передать ТЗ как внешний набор данных в СКД | ☑ | ||
---|---|---|---|---|
0
mzelensky
09.02.15
✎
15:40
|
Доброго всем! Задача вроде избитая, но все найденные решения как-то не помогают.
Отчет на СКД. Управляемые формы. В СКД есть несколько наборов данных типа "Запрос". Добавил еще один типа "Объект" - задал имя и прописал имена полей. В этот набор данных передаю таблицу значений ,которую формирую отдельно: //ФОРМИРУЮ: Массив = Новый Массив; Массив.Добавить(Тип("Дата")); ОписаниеТиповД = Новый ОписаниеТипов(Массив); Массив = Новый Массив; Массив.Добавить(Тип("Число")); ОписаниеТиповЧ = Новый ОписаниеТипов(Массив, , ,Новый КвалификаторыЧисла(12,2)); Массив = Новый Массив; Массив.Добавить(Тип("СправочникСсылка.Магазины")); ОписаниеТиповМагазин = Новый ОписаниеТипов(Массив); ТЗ_ПланыПродажПОДням = новый ТаблицаЗначений; ТЗ_ПланыПродажПОДням.Колонки.Добавить("ПериодДень2",ОписаниеТиповД); ТЗ_ПланыПродажПОДням.Колонки.Добавить("Магазин",ОписаниеТиповМагазин); //ТЗ_ПланыПродажПОДням.Колонки.Добавить("ПланПродаж",ОписаниеТиповЧ); ТЗ_ПланыПродажПОДням.Колонки.Добавить("ПланПродажВДень",ОписаниеТиповЧ); ,,,ЗАПОЛНЯЮ... //ВЫВОЖУ: ВнешниеНаборыДанных = Новый Структура; ВнешниеНаборыДанных.Вставить("ТЗ_ПланыПродажПОДням",ТЗ_ПланыПродажПОДням); //СхемаКомпоновкиДанных = ТекОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); //Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных); СкомпоноватьРезультат(); |
|||
1
mzelensky
09.02.15
✎
15:41
|
При формировании отчета получаю ошибку "Не найден внешний набор данных "ТЗ_ПланыПродажПОДням""
Как сделать правильно? |
|||
2
mzelensky
09.02.15
✎
15:52
|
ап
|
|||
3
Сергиус
09.02.15
✎
15:54
|
(1) из какого места ты запускаешь данный код?
|
|||
4
Сергиус
09.02.15
✎
15:56
|
+(3)В идеале должна быть твоя процедура, которая была бы подцеплена к стандартной кнопке Сформировать у формы отчета.
|
|||
5
mzelensky
09.02.15
✎
16:01
|
(4) это все ивызывается в этой самой кнопке
|
|||
6
mzelensky
09.02.15
✎
16:01
|
Подправил вот так:
ВнешниеНаборыДанных = Новый Структура; ВнешниеНаборыДанных.Вставить("ТЗ_ПланыПродажПОДням",ТЗ_ПланыПродажПОДням); СхемаКомпоновкиДанных = ТекОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ,Истина); //ТабДок = Новый ТабличныйДокумент; //ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; //ПроцессорВывода.УстановитьДокумент(ТабДок); //ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(Результат); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); Вроде что-то выводит, но как-то не так... |
|||
7
hhhh
09.02.15
✎
16:19
|
а есть там этот набор ТЗ_ПланыПродажПОДням в скд?
|
|||
8
Fram
09.02.15
✎
16:21
|
(6) выводит не так - это уже другой вопрос, к ТЗ отношения не имеющий
|
|||
9
mzelensky
09.02.15
✎
16:24
|
(7) Есть
|
|||
10
mzelensky
09.02.15
✎
16:25
|
Сейчас вроде получилось запустить. Вариант в (6) но пришлось убрать вот это:
СкомпоноватьРезультат(); и вместо него вот так: ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(Результат); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |