Имя: Пароль:
1C
1С v8
8.3 Отбор из списка значений в УФ
0 Nickilerka
 
08.12.16
17:59
Доброго вечера. Надеюсь на вашу помощь. Есть справочник, у него форма списка, нужно отобрать значения из списка значений, но наименование в самом справочнике длинное, поэтому нужно реализовать что то типа: НачинветсяС. У меня в списке пример: IRK43, а на форме IRK43-01-94-567, поэтому решил НачинаетсяС. Так вот, HELP, что не так?->
    
Спис = Новый СписокЗначений();
Спис.Добавить("IRK43");
Спис.Добавить("IRK-43");
Спис.Добавить("TB43");
            
НовЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));

НовЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Наименование");

НовЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.НачинаетсяС;

НовЭлементОтбора.Использование = Истина;
    
НовЭлементОтбора.ПравоеЗначение = Спис;
1 Defender aka LINN
 
08.12.16
18:11
Группа ИЛИ
2 Nickilerka
 
08.12.16
18:13
(1) Конкретнее, что?
3 Nickilerka
 
08.12.16
19:28
(2) Сделал вот так, тож чот не то:
ГруппаОтбор = Список.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
        ГруппаОтбор.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИЛИ;

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

        Отбор = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        Отбор.Родитель = ГруппаОтбор;
        Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Наименование");
        Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Содержит;
        Отбор.Использование = Истина;
        Отбор.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
        Отбор.ПравоеЗначение = "IRK43";
4 Nickilerka
 
08.12.16
19:54
Всем "спасибо" за ответы. Кстати (1) спасибо за правильный курс. Кому интересно:
ЭлементыОтбора = Список.Отбор.Элементы;
        ЭлементыОтбора.Очистить();
        Группа = ЭлементыОтбора.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
        Группа.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли;
    
        ЭлементОтбора = Группа.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        НовыйПолеКомпоновкиДанных    = Новый ПолеКомпоновкиДанных("Наименование");
        ЭлементОтбора.Использование  = Истина;
        ЭлементОтбора.ЛевоеЗначение  = НовыйПолеКомпоновкиДанных;
        ЭлементОтбора.ВидСравнения   = ВидСравненияКомпоновкиДанных.Содержит;
        ЭлементОтбора.ПравоеЗначение = "IRK43";

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