|
Отбор по списку значений в построителе запроса | ☑ | ||
---|---|---|---|---|
0
1snik_d
10.06.21
✎
14:33
|
Всем привет! Никак не получается организовать отбор по списку значений в построителе запроса.
ПостроительЗапроса.Текст = "ВЫБРАТЬ | ОтчетКомитентуОПродажах.Ссылка КАК Документ, | ОтчетКомитентуОПродажах.Контрагент КАК Контрагент, | КонтрагентыКонтактнаяИнформация.Представление КАК СписокЭлектронныхАдресов |ИЗ | Документ.ОтчетКомитентуОПродажах КАК ОтчетКомитентуОПродажах | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты.КонтактнаяИнформация КАК КонтрагентыКонтактнаяИнформация | ПО ОтчетКомитентуОПродажах.Контрагент = КонтрагентыКонтактнаяИнформация.Ссылка | И (КонтрагентыКонтактнаяИнформация.Тип = &ТипКонтактнойИнформации) | И (КонтрагентыКонтактнаяИнформация.Вид = &ВидКонтактнойИнформации) |ГДЕ | ОтчетКомитентуОПродажах.Дата МЕЖДУ &НачалоПериода И &КонецПериода |{ГДЕ | ОтчетКомитентуОПродажах.Контрагент.*}"; Если ЗначениеЗаполнено(Объект.Контрагент) Тогда ОтборПоКонтрагенту = ПостроительЗапроса.Отбор.Добавить("Контрагент"); ОтборПоКонтрагенту.Значение = Объект.Контрагент; ОтборПоКонтрагенту.ВидСравнения = ВидСравнения.ВСписке; ОтборПоКонтрагенту.Использование = Истина; КонецЕсли; Ругается на неверный тип в отборе. Как это сделать? |
|||
1
1snik_d
10.06.21
✎
14:34
|
Да, "Контрагент" - Это реквизит обработки с типом "СписокЗначений"
|
|||
2
Timon1405
10.06.21
✎
14:45
|
ОтборПоКонтрагенту.Значение = Объект.Контрагент.ВыгрузитьЗначения();
|
|||
3
1snik_d
10.06.21
✎
14:46
|
(2) Так тоже ругается на тип значения. Он ждет Тип значения "КонтрагентСсылка", а я не пойму как ему список пихнуть
|
|||
4
1snik_d
10.06.21
✎
14:47
|
Если передать конкретного контрагента, то все отрабатывает правильно
|
|||
5
youalex
10.06.21
✎
14:47
|
Местами попробуй поменять строчки с ВидСравнения и Значение
(вроде был такой прикол) |
|||
6
1snik_d
10.06.21
✎
14:49
|
(5) Бл..ть, так работает. Огромное мерси!
|
|||
7
ДенисЧ
10.06.21
✎
14:49
|
"ОтборПоКонтрагенту.Значение = Объект.Контрагент;
ОтборПоКонтрагенту.ВидСравнения = ВидСравнения.ВСписке; " Абрам Моисеевич, Вы или трусики наденьте, или крестик снимите... В смысле - если указываешь "в списке", Так и передеавай список... |
|||
8
1snik_d
10.06.21
✎
14:50
|
(7) Так и передаю, там прикол в порядке строк в коде
|
|||
9
Малыш Джон
10.06.21
✎
15:01
|
(6) По умолчанию ВидСравнения - это ВидСравнения.Равно, поэтому когда туда передается список он преобразуется к единичному значению и когда потом устанавливается ВидСравнения.ВСписке происходит такая ошибка. Поэтому всегда надо сначала ВидСравнения устнавливать, а потом Значение.
Это не только в построителе запроса, это вообще везде, где используется Отбор. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |