Имя: Пароль:
1C
1С v8
Выбор нескольких документов с фильтром
0 stmnf
 
11.11.15
21:28
Дано: реквизит на форме типа "Список значений", куда надо записать несколько выбранных пользователем документов.
Если действовать стандартно, в процедуре ВыбранныеДокументыНачалоВыбора прописать
    ЭлементыФормы.ВыбранныеДокументы.Значение = Новый СписокЗначений;
    ЭлементыФормы.ВыбранныеДокументы.Значение.ТипЗначения = Новый ОписаниеТипов(МассивТипов);
то все работает: открывается стандартная, насколько понимаю, форма подбора в список значений.
Но вот вопрос, как сделать фильтр подбираемых документов, скажем, по Организации? Если кто знает, как это сделать в рамках стандартной обработки, сообщите.
Я же попробовал так:
    ЭлементыФормы.ВыбранныеДокументы.Значение = Новый СписокЗначений;
    ЭлементыФормы.ВыбранныеДокументы.Значение.ТипЗначения = Новый ОписаниеТипов(МассивТипов);
    СтандартнаяОбработка = Ложь;
    Форма = Документы[Имя].ПолучитьФормуВыбора ("ФормаВыбора", Элемент);
    Если ЗначениеЗаполнено(Организация) Тогда
        Форма.Отбор.Организация.Установить(Организация, Истина);
        Форма.Отбор.Организация.Использование = Истина;
    КонецЕсли;
    Форма.МножественныйВыбор = Истина;
    Форма.РежимВыбора = Истина;
    Форма.Открыть();
Дальше пытаюсь что-то ловить в ВыбранныеДокументыОбработкаВыбора
Но что-то работает не так: форма выбора закрывается после каждого выбора документа, несмотря на МножественныйВыбор=Истина. Что тут не так? Может, для документов такое не работает?
1 stmnf
 
11.11.15
21:49
Второй способ работает, если в форме выбора документов зажимать Shift, натыкать документов и потом нажать кнопку Выбрать. Но это не слишком удобно, мягко говоря. Как сделать так, чтобы работало аналогично подбору номенклатуры в документы?
2 stmnf
 
11.11.15
22:11
Черт, не заметил свойство
            Форма.ЗакрыватьПриВыборе = Ложь;

Все, теперь все работает как надо :)
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан