|
СКД программно создать запустить и выгрузить результаты | ☑ | ||
---|---|---|---|---|
0
vladnet
25.10.11
✎
17:15
|
Есть код написанный с помощью ПостроителяОтчета, подскажите как это сделать с помощью СКД:
лПостроительОтчета=Новый ПостроительОтчета; лПостроительОтчета.Текст="Выбрать 1"; лПостроительОтчета.Выполнить(); лПостроительОтчета.Результат; С помощью отчета понятно как сделать, но нужно полностью программно, с программным заданием запроса. Куда копать? |
|||
1
vladnet
25.10.11
✎
17:18
|
Вроде разобрался ) через объект СхемаКомпоновкиДанных
|
|||
2
vladnet
25.10.11
✎
17:32
|
К сожалению разобрался только как создать компоновку с нужными характеристиками, как сформировать, а главное выгрузить результат?
|
|||
3
ll13
25.10.11
✎
17:36
|
Я конечно понимаю, что документацию ты принципиально не читаешь...
Но если вдруг снизойдешь до этого постыдного занятия то "Руководство разработчика. Глава 10." |
|||
4
vladnet
25.10.11
✎
17:45
|
(3) И на том спасибо. Руководство не нашел, но нашел СКД Разработка сложных отчетов, там есть этот пункт.
|
|||
5
acsent
25.10.11
✎
17:47
|
где то у меня на инфостарте есть пример
|
|||
6
Жан Пердежон
25.10.11
✎
17:48
|
(4) там даже пример есть
|
|||
7
vladnet
25.10.11
✎
17:54
|
(5) ссылка есть?
Да там много, оказывается наскоком там не сделать ))) Сейчас с источниками разбираюсь |
|||
8
vladnet
25.10.11
✎
19:39
|
Что получилось, возможно понадобится кому:
лТекстЗапросаКомпоновки= "ВЫБРАТЬ РАЗРЕШЕННЫЕ | Объект.Ссылка КАК Ссылка |ИЗ | Справочник.Номенклатура КАК Объект"; лДеревоРезультата=Новый ДеревоЗначений; лСхемаКомпоновкиДанных=Новый СхемаКомпоновкиДанных; лИсточникДанных=лСхемаКомпоновкиДанных.ИсточникиДанных.Добавить(); лИсточникДанных.Имя="ИсточникДанных"; лИсточникДанных.ТипИсточникаДанных="Local"; лНаборДанныхЗапрос=лСхемаКомпоновкиДанных.НаборыДанных.Добавить(Тип("НаборДанныхЗапросСхемыКомпоновкиДанных")); лНаборДанныхЗапрос.Имя="НаборДанных1"; лНаборДанныхЗапрос.Запрос=лТекстЗапросаКомпоновки; лНаборДанныхЗапрос.ИсточникДанных="ИсточникДанных"; лПоле1=лНаборДанныхЗапрос.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных")); лПоле1.Поле="Ссылка"; лПоле1.ПутьКДанным="Ссылка"; лНастройкаКомпоновки=лСхемаКомпоновкиДанных.НастройкиПоУмолчанию; лГруппировкаНоменклатуры=лНастройкаКомпоновки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных")); лПолеНоменклатура=лГруппировкаНоменклатуры.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных")); лПолеНоменклатура.Поле=Новый ПолеКомпоновкиДанных("Ссылка"); лВыбранныеПоляНоменклатура=лГруппировкаНоменклатуры.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных")); лКомпоновщикМакета=Новый КомпоновщикМакетаКомпоновкиДанных; лМакетКомпоновкиДанных=лКомпоновщикМакета.Выполнить(лСхемаКомпоновкиДанных, лНастройкаКомпоновки,,, Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); лПроцессорКомпоновкиДанных=Новый ПроцессорКомпоновкиДанных; лПроцессорКомпоновкиДанных.Инициализировать(лМакетКомпоновкиДанных); лПроцессорВывода=Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; лПроцессорВывода.УстановитьОбъект(лДеревоРезультата); лПроцессорВывода.Вывести(лПроцессорКомпоновкиДанных); Сообщить("ффффффф: "+лДеревоРезультата.Строки.Количество()); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |