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

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

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

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

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

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

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

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

Программист 1С:ERP
Москва
зарплата от 100 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 200 000 руб. до 300 000 руб.
Полный день

Программист 1С (удаленно)
Самара
зарплата от 230 000 руб. до 230 000 руб.
Полный день

Руководитель группы разработки 1С
Москва
зарплата от 250 000 руб. до 250 000 руб.
Полный день