|
Программное формирование СКД в УФ не идет | ☑ | ||
---|---|---|---|---|
0
patapum
07.01.12
✎
18:02
|
Хочется сделать обработку, которая в качестве табличной части выдаст результат запроса. Запрос должен предоставлять отборы, поэтому я взял отчет и СКД. Дальше соответственно надо из СКД вывести в таблицу значений. Написал код, но он валится с непонятной ошибкой. Подскажите, что ей вообще не нравится?
{Форма.ФормаОтчета.Форма(29)}: Ошибка при вызове метода контекста (Вывести) ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); по причине: Ошибка вывода результата по причине: Неизвестный тип макета А вот код. &НаКлиенте Процедура ОбновитьДанные(Команда) ОбновитьДанныеСервер(); КонецПроцедуры &НаСервере Процедура ОбновитьДанныеСервер() СхемаКомпоновкиДанных = РеквизитФормыВЗначение("Отчет").ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); Отчет.КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных)); Настройки = Отчет.КомпоновщикНастроек.ПолучитьНастройки(); КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки); СерииТЗ = Новый ТаблицаЗначений; ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; ПроцессорВывода.УстановитьОбъект(СерииТЗ); Отчет.КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных)); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); КонецПроцедуры |
|||
1
H A D G E H O G s
07.01.12
✎
18:05
|
УТ11?
|
|||
2
patapum
07.01.12
✎
18:06
|
ага
|
|||
3
1с-кин
07.01.12
✎
18:07
|
(0) МакетКомпоновки старый?
|
|||
4
H A D G E H O G s
07.01.12
✎
18:07
|
скинь обработку, гляну.
|
|||
5
patapum
07.01.12
✎
18:16
|
(4) скинул, спасибо
(3) не понял, он у меня что, прокис? отчет делаю с нуля |
|||
6
H A D G E H O G s
07.01.12
✎
18:51
|
Тоже чето ниче не получается, пардон.
|
|||
7
patapum
07.01.12
✎
19:28
|
ясно, тогда сделаю по образцу подбора номенклатуры. в любом случае спасибо!
|
|||
8
sbabay
14.01.12
✎
14:53
|
(0)
Вместо: МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки); вот так напиши: МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки,,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); |
|||
9
Stepa86
14.01.12
✎
15:00
|
(0) попробуй вот эту функцию
//Формирует и возвращает таблицу значений по СКД //Параметры: //СКД - схема компоновки данных, //ВнешниеНаборыДанных - Тип: Структура. Ключ структуры соответствует имени внешнего набора данных. Значение структуры - внешнему набору данных. // Функция ТаблицаСКД( СКД , ВнешниеНаборыДанных = Неопределено ) Экспорт КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить( СКД , СКД.НастройкиПоУмолчанию ,,, Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать( МакетКомпоновки , ВнешниеНаборыДанных ); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; ТаблицаЗначений = Новый ТаблицаЗначений; ПроцессорВывода.УстановитьОбъект(ТаблицаЗначений); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); Возврат ТаблицаЗначений; КонецФункции |
|||
10
Stepa86
14.01.12
✎
15:02
|
и ИсточникДоступныхНастроекКомпоновкиДанных инициировать на УФ можно только через адрес. Я вот так делаю, когда надо его на форму кинуть
скдОтборПродукции = СКД_ОтборПродукции(); АдресСКД = ПоместитьВоВременноеХранилище( скдОтборПродукции, УникальныйИдентификатор ); источникДанных = Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСКД); Отчет.КомпоновщикНастроекДляОтбораПродукции.Инициализировать( источникДанных ); Отчет.КомпоновщикНастроекДляОтбораПродукции.ЗагрузитьНастройки( скдОтборПродукции.НастройкиПоУмолчанию ); Отчет.КомпоновщикНастроекДляОтбораПродукции.Восстановить(); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |