Имя: Пароль:
1C
 
ПостроительЗапроса. Как программно добавить отбор
0 r2d24
 
08.07.15
14:49
Пытался сделать по разному:

НСтр = ПостроительЗапросаФильтрТоварыАссортимент.Отбор.Добавить();
НСтр.Значение = Справочники.Номенклатура.НайтиПоКоду("ЯТ055583");


НСтр = ПостроительЗапросаФильтрТоварыАссортимент.Отбор.Добавить("Номенклатура");

НСтр = ПостроительЗапросаФильтрТоварыАссортимент.Отбор.Добавить().Значение = Справочники.Номенклатура.НайтиПоКоду("ЯТ055583");

Я толком и не знаю что такое построитель, в первый раз сталкиваюсь.
Как правильно добавить отбор в построитель?
1 KrabCore
 
08.07.15
14:51
МассивОтбора = Новый Массив;
        МассивОтбора.Добавить("Номенклатура");
        МассивОтбора.Добавить("ТипЦен");
        МассивОтбора.Добавить("ЦеноваяГруппа");
        
        Для Каждого ЭлементОтбора Из МассивОтбора Цикл
            Если ПостроительОтчета.Отбор.Найти(ЭлементОтбора) = Неопределено Тогда
                ПостроительОтчета.Отбор.Добавить(ЭлементОтбора);
            КонецЕсли;
        КонецЦикла;
2 KrabCore
 
08.07.15
14:51
(1)+
кусок из рабочего отчета
3 Лефмихалыч
 
08.07.15
14:53
ПостроительЗапросаФильтрТоварыАссортимент.Отбор.Добавить("Номенклатура");
ПостроительЗапросаФильтрТоварыАссортимент.Отбор.Номенклатура.Установить(Справочники.Номенклатура.НайтиПоКоду("ЯТ055583"));
4 r2d24
 
08.07.15
14:57
(3) этот вариант работает не так как нужно.
Он устанавливает отбор с одной номенклатуры, а мне нужно что бы несколько позиций было установлено.
5 Ёпрст
 
08.07.15
15:00
(4) устанавливай тип сравнения в списке и значение -  список пихай.
6 Лефмихалыч
 
08.07.15
15:00
(4) наглеешь

ЗначенияОтбора = Новый СписокЗначений;
ЗначенияОтбора.ДОбавить();
ЗначенияОтбора.ДОбавить();

ЭлементОтбора = ПостроительЗапросаФильтрТоварыАссортимент.Отбор.Добавить("Номенклатура");
ЭлементОтбора.ВидСравнения = ВидыСравнения.ВСписке;
ЭлементОтбора.Значение = ЗначенияОтбора;
ЭлементОтбора.Использование = Истина;
7 r2d24
 
08.07.15
17:16
Не могу понять, можете еще помочь?
Новый список значения у меня не используется, куда его вставить, я не понимаю?
Конструкция кода примерно такая:
ПостроительЗапросаФильтрТоварыАссортимент.Параметры.Вставить("Дата",ДатаЗаказа);
ПостроительЗапросаФильтрТоварыАссортимент.Выполнить();
//Здесь, мне и нужно как нибудь добавить отбор, спискаЗначений, здесь никакого нет
МассивНоменклатуры=ТаблицаАссортимента.ВыгрузитьКолонку("Номенклатура");
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший