СКД отборы(отбор по номенклатуре)
Добрый день,уважаемые форумчане!
Есть у меня написанная функция заполнения таблицы, нужно написать возможность отбора по номенклатуре.
Сделал макет СКД,инициализировал его и настройки в коде
Нужно чтобы таблица заполнялась по отбору
Вот сам код заполнения таблицы
Не подскажите как реализовать?(
Есть у меня написанная функция заполнения таблицы, нужно написать возможность отбора по номенклатуре.
Сделал макет СКД,инициализировал его и настройки в коде
СКД = РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет");
АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(СКД,УникальныйИдентификатор);
ИсточникНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресВоВременномХранилище);
ЭтотОбъект.ОтборНоменклатуры.Инициализировать(ИсточникНастроек);
ЭтотОбъект.ОтборНоменклатуры.ЗагрузитьНастройки(СКД.НастройкиПоУмолчанию;
Нужно чтобы таблица заполнялась по отбору
Вот сам код заполнения таблицы
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка КАК Наименование,
| Номенклатура.Артикул КАК Артикул,
| Номенклатура.Родитель.Ссылка КАК ГруппаНоменклатуры
|ПОМЕСТИТЬ ДанныеНоменклатурыВТ
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.ЭтоГруппа = ЛОЖЬ
| И Номенклатура.Ссылка В Иерархии (&ОтборПапкаНоменклатуры)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
| ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура
|ПОМЕСТИТЬ ЦенаНоменклатурыВТ
|ИЗ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДанныеНоменклатурыВТ.Наименование КАК Наименование,
| ДанныеНоменклатурыВТ.Артикул КАК Артикул,
| ДанныеНоменклатурыВТ.ГруппаНоменклатуры КАК ГруппаНоменклатуры,
| ЦенаНоменклатурыВТ.Цена КАК Цена
|ИЗ
| ДанныеНоменклатурыВТ КАК ДанныеНоменклатурыВТ
| ЛЕВОЕ СОЕДИНЕНИЕ ЦенаНоменклатурыВТ КАК ЦенаНоменклатурыВТ
| ПО ДанныеНоменклатурыВТ.Наименование.Ссылка = ЦенаНоменклатурыВТ.Номенклатура.Ссылка";
Запрос.УстановитьПараметр("Период",Объект.ПериодВыбораЦен);
Запрос.УстановитьПараметр("ВидЦены",Объект.ВидЦеныНоменклатуры);
РезультатЗапроса = Запрос.Выполнить();
ТаблицаНоменклатуры = РезультатЗапроса.Выгрузить();
Для Каждого СтрокаТЧ из ТаблицаНоменклатуры Цикл
НоваяСтрока = Объект.КаталогНСИ.Добавить();
НоваяСтрока.Наименование = СтрокаТЧ.Наименование;
НоваяСтрока.Артикул = СтрокаТЧ.Артикул;
НоваяСтрока.ГруппаНоменклатуры = СтрокаТЧ.ГруппаНоменклатуры;
НоваяСтрока.Цена = СтрокаТЧ.Цена;
КонецЦикла;
ПоказатьНе подскажите как реализовать?(
По теме из базы знаний
- Программное заполнение пользовательских параметров и отборов СКД
- Три способа создания одного отчета на СКД
- Работа с запросами в 1С СКД. Особенности работы запросов в СКД. Часть 3
- Реализация отборов на форме с помощью СКД
- Расширение: Быстрые отборы через буфер [Alt+C] Копировать список, [Alt+V] Вставить список, [Ctrl+C] Копировать из файлов
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)У меня тут другая еще поблема,не отображаются поля в настройке отбора(
СхемаКомпоновкиДанных = РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет");
АдресСхемыКомпоновкиДанных = ПоместитьВоВременноеХранилище(СхемаКомпоновкиДанных, УникальныйИдентификатор);
ЭтотОбъект.ОтборНоменклатуры.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемыКомпоновкиДанных));
ЭтотОбъект.ОтборНоменклатуры.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот