|
Отбор в форме списка с условием ИЛИ | ☑ | ||
---|---|---|---|---|
0
AvtorVoprosa
11.09.17
✎
16:09
|
Есть обыкновенная форма списка, допустим номенклатуры, там основаная таблица с типом данных СправочникСписок.Номенклатура.
По вводе в свое поле какой-то строки я осуществляю отбор по этой таблицы таким кодом Процедура ПолеВводаСтрокаДляПоискаПриИзменении(Элемент) Список.Отбор.Наименование.Использование = Истина; Список.Отбор["Наименование"].Значение = ПолеВводаСтрокаДляПоиска; Список.Отбор["Наименование"].ВидСравнения = ВидСравнения.Содержит; КонецПроцедуры Такой код отбирает номенклатуру по наименованию, но есть ли какой-то способ сделать отбор одновременно и по наименованию и по коду. P.S (Не и в коде и в наименовании есть моя строка, а или там или там, (или и там и там:D)) |
|||
1
Lexey_
11.09.17
✎
16:11
|
(0) только по списку ссылок, которые получишь запросом
|
|||
2
AvtorVoprosa
11.09.17
✎
16:13
|
(1) Вы имеете ввиду потом сделать так?: Список.Отбор["Наименование"].ВидСравнения = ВидСравнения.ВСписке;
|
|||
3
Lexey_
11.09.17
✎
16:14
|
(2) да
|
|||
4
AvtorVoprosa
11.09.17
✎
16:14
|
(3) поонятно, спасибо
|
|||
5
Lexey_
11.09.17
✎
16:14
|
(2) нет, Список.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке;
|
|||
6
AvtorVoprosa
11.09.17
✎
16:27
|
насколько я понял не важно какой реквизит
|
|||
7
AvtorVoprosa
11.09.17
✎
16:30
|
То есть у меня получается что-то вроде этого
Запрос = Новый Запрос; Запрос.УстановитьПараметр("СтрокаДляПоиска", СтрокаДляПоиска); Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Наименование |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Код ПОДОБНО &СтрокаДляПоиска | ИЛИ Номенклатура.Артикул ПОДОБНО &СтрокаДляПоиска | ИЛИ Номенклатура.Наименование ПОДОБНО &СтрокаДляПоиска | ИЛИ Номенклатура.НаименованиеПолное ПОДОБНО &СтрокаДляПоиска"; Результат = Запрос.Выполнить().Выгрузить(); //Если Результат.Количество() > 0 Тогда СписокНоменклатур = Новый СписокЗначений; СписокНоменклатур.ЗагрузитьЗначения(Результат.ВыгрузитьКолонку("Наименование")); Список.Отбор.Наименование.Использование = Истина; Список.Отбор["Наименование"].Значение = СписокНоменклатур; Список.Отбор["Наименование"].ВидСравнения = ВидСравнения.ВСписке; |
|||
8
AvtorVoprosa
11.09.17
✎
16:32
|
Не) тут ошибка вот здесь вот:
Список.Отбор["Наименование"].Значение = СписокНоменклатур; |
|||
9
Lexey_
11.09.17
✎
16:38
|
(8) надо прочитать текст ошибки и исправить
|
|||
10
AvtorVoprosa
11.09.17
✎
16:47
|
(9) Ошибка при установке значения атрибута контекста (Значение)
Список.Отбор["Наименование"].Значение = СписокНоменклатур; по причине: Неверный тип значения |
|||
11
AvtorVoprosa
11.09.17
✎
16:47
|
Посмотрел в отладке - и там и там тип данных "СписокЗначений"
|
|||
12
AvtorVoprosa
11.09.17
✎
16:48
|
Но присваивать не хочет
|
|||
13
AvtorVoprosa
11.09.17
✎
16:50
|
А нет, все работает в последнем приведенном коде
|
|||
14
Lexey_
11.09.17
✎
16:50
|
(10) сначала ВидСравнения меняй, потом остальное
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |