ВыгрузитьРезультатСКДПоМакету в ТаблицуЗначений с Ссылкой на документ

1. One_Assembler 23.01.22 02:45 Сейчас в теме
Есть Макет СКД. Выгружаю результат в ТаблицуЗначений.
Ссылку там так понимаю использовать нельзя судя по ИТС https://its.1c.ru/db/v8320doc#bookmark:dev:TI000000626
Но ,как мне отобрать по ссылке на документ до вывода результата в ТаблицуЗначений?
Пока код в таком виде........... что то можно вставить, что бы решить это???
СхемаКомпоновкиДанных     =Документы.НАЗВАНИЕ_ДОКУМЕНТА.ПолучитьМакет("МойМакетСКД");    
КомпоновщикНастроекДанных = Новый КомпоновщикНастроекКомпоновкиДанных;
КомпоновщикНастроекДанных.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
КомпоновщикНастроекДанных.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
///////////////////////////////////////////////////////////
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки   = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроекДанных.ПолучитьНастройки(),  ,, Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));

ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки);
ТабДокумент=новый ТаблицаЗначений;

ТабДокумент.Очистить();  
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ПроцессорВывода.УстановитьОбъект(ТабДокумент);

ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных, Истина);
Возврат ТабДокумент;
Показать
Вознаграждение за ответ
Показать полностью
Найденные решения
4. ImHunter 333 23.01.22 17:38 Сейчас в теме +0.25 $m
(3) В запросе схемы МойМакетСКД, вероятно, нужно указать условие отбора типа
....
ГДЕ ТаблицаДокументов.Ссылка = &ДокументСсылка

Затем добавить этот параметр в настройки:
НастройкиОтчета = КомпоновщикНастроекДанных.ПолучитьНастройки();
НастройкиОтчета.ПараметрыДанных.УстановитьЗначениеПараметра("ДокументСсылка", ДокументСсылка);

И эти настройки отчета использовать в КомпоновщикМакета.Выполнить(...).
One_Assembler; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. glek 119 23.01.22 08:34 Сейчас в теме +0.14 $m
(1) Не совсем понял, почему на этапе формирования "отчета" нельзя установить отбор. Что-то новенькое.
Просто надо обработать компоновщик настроек (установить отборы, параметры, при необходимости изменить структуру вывода) и дальше - в компоновку.
3. One_Assembler 23.01.22 16:40 Сейчас в теме +0.25 $m
(2) Спасибо! Так понимаю при создании МакетаСКД в запросе я могу прописать параметр "ссылка" на документ? + дальше его устанавливать в строке?
КомпоновщикНастроекДанных.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);

Блин, а можно кодом? Что мне вставить и куда воткнуть ссылку на документ?
5. glek 119 23.01.22 17:41 Сейчас в теме
(3) Дальше
Настройки = КомпоновщикНастроек.ПолучитьНастройки()
Дальше, если БСП, то (вроде)
ОбщегоНазначенияКЛиентсСервер.УстановитьЭлементОтбораКомпоновкиДанных(Настройки.Отбор, "Ссылка", МойДокумент, ВидСравненияКомпоновкиДанных.Равно) - могу ошибиться с поседовательностью
и дальше
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки.....)
4. ImHunter 333 23.01.22 17:38 Сейчас в теме +0.25 $m
(3) В запросе схемы МойМакетСКД, вероятно, нужно указать условие отбора типа
....
ГДЕ ТаблицаДокументов.Ссылка = &ДокументСсылка

Затем добавить этот параметр в настройки:
НастройкиОтчета = КомпоновщикНастроекДанных.ПолучитьНастройки();
НастройкиОтчета.ПараметрыДанных.УстановитьЗначениеПараметра("ДокументСсылка", ДокументСсылка);

И эти настройки отчета использовать в КомпоновщикМакета.Выполнить(...).
One_Assembler; +1 Ответить
6. One_Assembler 23.01.22 18:06 Сейчас в теме
Ребята БЛАГОДАРЮ! Итог таков по коду.....(конечно ссылку на документ в запросе СКД я вытащил)

	СхемаКомпоновкиДанных     =Документы.НАЗВАНИЕ_ДОКУМЕНТА.ПолучитьМакет("МойМакет");    
	КомпоновщикНастроекДанных = Новый КомпоновщикНастроекКомпоновкиДанных;
	КомпоновщикНастроекДанных.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
	КомпоновщикНастроекДанных.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
	НастройкиОтчета = КомпоновщикНастроекДанных.ПолучитьНастройки();
	НастройкиОтчета.ПараметрыДанных.УстановитьЗначениеПараметра("Ссылка", ССЫЛКАнаДОКУМЕНТ);
	
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
	МакетКомпоновки   = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиОтчета,  ,, Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
	
	ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки);
	Результат=новый ТаблицаЗначений;
	Результат.Очистить();  
	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
	ПроцессорВывода.УстановитьОбъект(Результат);
	ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных, Истина);
	
	Возврат Результат;
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот