Имя: Пароль:
1C
1С v8
Как отрыть форму выбора УФ с отбором по "ИЛИ"?
0 sebi
 
30.04.19
12:20
ПараметрыОтбора = Новый Структура;
ЭлементНаименование  = УбратьСлужебныеСимволы("ООО Тест1");
НаименованиеМассив = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ЭлементНаименование , " ");
ПараметрыОтбора.Вставить("Наименование", НаименованиеМассив);

ПараметрыОткрытия = Новый Структура;
ПараметрыОткрытия.Вставить("Отбор", ПараметрыОтбора);

ОткрытьФорму("Справочник."+ТекущаяСтрока.ИмяСправочника+".ФормаВыбора",ПараметрыОткрытия,ЭтаФорма,,,,Новый ОписаниеОповещения("ВыборЭлементаЭлементВТекущейБазеЗавершение",ЭтаФорма),РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс);

Форма открывается с обором по "ООО" И "Тест1". Как сделать "ООО" Или "Тест1"?
1 Вафель
 
30.04.19
12:26
получить ссылку на форму, потом настроить отборы.
через параметры нельзя
2 ssh2006
 
30.04.19
12:34
(0) Попробуй через параметр формы ФиксированныеНастройки
3 ssh2006
 
30.04.19
12:35
Пример из типовой:

    ФиксированныеНастройки = Новый НастройкиКомпоновкиДанных;
    ЭлементНастройки = ФиксированныеНастройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементНастройки.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
    ЭлементНастройки.ВидСравнения = ВидСравненияКомпоновкиДанных.НеВСписке;
    СписокСуществующих = Новый Массив;
    Для Каждого Настройка Из СуществующиеНастройки Цикл
        СписокСуществующих.Добавить(Настройка.ВладелецФайла);
    КонецЦикла;
    ЭлементНастройки.ПравоеЗначение = СписокСуществующих;
    ЭлементНастройки.Использование = Истина;
    ЭлементНастройки.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
    ПараметрыФормыВыбора.Вставить("ФиксированныеНастройки", ФиксированныеНастройки);
4 sebi
 
30.04.19
12:45
Всем спасибо!
Сделал так:
    СтандартнаяОбработка = Ложь;
    ФормаСправочника = ПолучитьФорму("Справочник."+ТекущаяСтрока.ИмяСправочника+".ФормаВыбора");
    ОтборЭлементы = ФормаСправочника.Список.Отбор.Элементы;
    ОтборЭлементы.Очистить();
    
    
    // отбор наименования по ИЛИ
    ЭлементНаименованиеВ = УбратьСлужебныеСимволы(ТекущаяСтрока.ЭлементНаименование);
    НаименованиеМассив = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ЭлементНаименование, " ");

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