СКД отборы(отбор по номенклатуре)

1. Az18011993 20.04.20 10:27 Сейчас в теме
Добрый день,уважаемые форумчане!
Есть у меня написанная функция заполнения таблицы, нужно написать возможность отбора по номенклатуре.
Сделал макет СКД,инициализировал его и настройки в коде
СКД = РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет");
	АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(СКД,УникальныйИдентификатор);
	ИсточникНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресВоВременномХранилище);
	ЭтотОбъект.ОтборНоменклатуры.Инициализировать(ИсточникНастроек);
	ЭтотОбъект.ОтборНоменклатуры.ЗагрузитьНастройки(СКД.НастройкиПоУмолчанию;


Нужно чтобы таблица заполнялась по отбору
Вот сам код заполнения таблицы
Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	Номенклатура.Ссылка КАК Наименование,
	|	Номенклатура.Артикул КАК Артикул,
	|	Номенклатура.Родитель.Ссылка КАК ГруппаНоменклатуры
	|ПОМЕСТИТЬ ДанныеНоменклатурыВТ
	|ИЗ
	|	Справочник.Номенклатура КАК Номенклатура
	|ГДЕ
	|	Номенклатура.ЭтоГруппа = ЛОЖЬ
	|	И Номенклатура.Ссылка В Иерархии (&ОтборПапкаНоменклатуры)
	|;
	|
	|////////////////////////////////////////////////////////////­////////////////////
	|ВЫБРАТЬ
	|	ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
	|	ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура
	|ПОМЕСТИТЬ ЦенаНоменклатурыВТ
	|ИЗ
	|	РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних
	|;
	|
	|////////////////////////////////////////////////////////////­////////////////////
	|ВЫБРАТЬ
	|	ДанныеНоменклатурыВТ.Наименование КАК Наименование,
	|	ДанныеНоменклатурыВТ.Артикул КАК Артикул,
	|	ДанныеНоменклатурыВТ.ГруппаНоменклатуры КАК ГруппаНоменклатуры,
	|	ЦенаНоменклатурыВТ.Цена КАК Цена
	|ИЗ
	|	ДанныеНоменклатурыВТ КАК ДанныеНоменклатурыВТ
	|		ЛЕВОЕ СОЕДИНЕНИЕ ЦенаНоменклатурыВТ КАК ЦенаНоменклатурыВТ
	|		ПО ДанныеНоменклатурыВТ.Наименование.Ссылка = ЦенаНоменклатурыВТ.Номенклатура.Ссылка";
	Запрос.УстановитьПараметр("Период",Объект.ПериодВыбораЦен);
	Запрос.УстановитьПараметр("ВидЦены",Объект.ВидЦеныНоменклатуры);	
	РезультатЗапроса = Запрос.Выполнить();
	ТаблицаНоменклатуры = РезультатЗапроса.Выгрузить();
	Для Каждого СтрокаТЧ из ТаблицаНоменклатуры Цикл
		НоваяСтрока = Объект.КаталогНСИ.Добавить();
		НоваяСтрока.Наименование = СтрокаТЧ.Наименование;
		НоваяСтрока.Артикул = СтрокаТЧ.Артикул;
		НоваяСтрока.ГруппаНоменклатуры = СтрокаТЧ.ГруппаНоменклатуры;
		НоваяСтрока.Цена = СтрокаТЧ.Цена;
	КонецЦикла;
Показать

Не подскажите как реализовать?(
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. VictorRGB2 14 20.04.20 10:59 Сейчас в теме
(1)
&ОтборПапкаНоменклатуры


так передайте в этот параметр результат выполнения добавленной настройки СКД
программно выполнили и в параметр запроса закинули
3. Az18011993 20.04.20 11:52 Сейчас в теме
(2)У меня тут другая еще поблема,не отображаются поля в настройке отбора(
СхемаКомпоновкиДанных = РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет");
	АдресСхемыКомпоновкиДанных = ПоместитьВоВременноеХранилище(СхемаКомпоновкиДанных, УникальныйИдентификатор);
	ЭтотОбъект.ОтборНоменклатуры.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемыКомпоновкиДанных));
	ЭтотОбъект.ОтборНоменклатуры.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
4. VictorRGB2 14 20.04.20 11:56 Сейчас в теме
(3) на это не подскажу, программно отборы никогда не добавлял, но где-то тут, в смысле на инфостарте, читал статью, как можно любыми настройками СКД управлять программно
5. Az18011993 20.04.20 12:44 Сейчас в теме
Непонятно...
Прикрепленные файлы:
Оставьте свое сообщение

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