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

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 Сейчас в теме
Непонятно...
Прикрепленные файлы:
Оставьте свое сообщение

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