Имя: Пароль:
1C
1С v8
Как сделать отбор списка по двум реквизитам? 1с 8.3
0 Geroy
 
04.02.15
11:49
Работает отбор по 1 реквизиту

&НаКлиенте
Процедура ОтборЭлектронныйЧекАвтоПодбор(Элемент, Текст, ДанныеВыбора, Параметры, Ожидание, СтандартнаяОбработка)
    
    
    Если СтрДлина(Элементы.ОтборЭлектронныйЧек.ТекстРедактирования)=13 тогда
        
        ОтборСостояниеПриИзменении(Элемент);
        
        ТекОтбор = Список.Отбор.Элементы;
        
        ТекОтбор.Очистить();
        УсловиеОтбора = ТекОтбор.Добавить(тип("ЭлементОтбораКомпоновкиДанных"));
        УсловиеОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ЭлектронныйЧек");
        УсловиеОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
        УсловиеОтбора.ПравоеЗначение = Элементы.ОтборЭлектронныйЧек.ТекстРедактирования;
        
        
    КонецЕсли;
    
КонецПроцедуры

&НаКлиенте
Процедура ОтборЭлектронныйЧекОчистка(Элемент, СтандартнаяОбработка)
      Список.Отбор.Элементы.Очистить();
КонецПроцедуры

Нужно добавить еще одно условие

УсловиеОтбора.ПравоеЗначение=Перечисления.СостоянияЗаказовПокупателей.ОжидаетсяРезервирование;
1 deniseek
 
04.02.15
11:52
(0) Ну так и добавь рядо с твоим отбором еще 1, то есть:  УсловиеОтбора = ТекОтбор.Добавить(тип("ЭлементОтбораКомпоновкиДанных")); и т.д.
2 Geroy
 
04.02.15
11:53
(1) УсловиеОтбора.ПравоеЗначение=Перечисления.СостоянияЗаказовПокупателей.ОжидаетсяРезервирование;

НаКлиенте не выполняется
Как задать значение
Перечисления.СостоянияЗаказовПокупателей.ОжидаетсяРезервирование;
3 Geroy
 
04.02.15
12:25
Сделал уже

&НаКлиенте
Процедура ОтборЭлектронныйЧекАвтоПодбор(Элемент, Текст, ДанныеВыбора, Параметры, Ожидание, СтандартнаяОбработка)
    
    
    Если СтрДлина(Элементы.ОтборЭлектронныйЧек.ТекстРедактирования)=13 тогда
        

        
        ТекОтбор = Список.Отбор.Элементы;
        
        ТекОтбор.Очистить();
        УсловиеОтбора = ТекОтбор.Добавить(тип("ЭлементОтбораКомпоновкиДанных"));
        УсловиеОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ЭлектронныйЧек");
        УсловиеОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
        УсловиеОтбора.ПравоеЗначение = Элементы.ОтборЭлектронныйЧек.ТекстРедактирования;
        
        УсловиеОтбора = ТекОтбор.Добавить(тип("ЭлементОтбораКомпоновкиДанных"));
        УсловиеОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Состояние");
        УсловиеОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
        УсловиеОтбора.ПравоеЗначение =ПредопределенноеЗначение("Перечисление.СостоянияЗаказовПокупателей.ОжидаетсяРезервирование");
                    
                
    КонецЕсли;
    
КонецПроцедуры

&НаКлиенте
Процедура ОтборЭлектронныйЧекОчистка(Элемент, СтандартнаяОбработка)
      Список.Отбор.Элементы.Очистить();
КонецПроцедуры
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший