Имя: Пароль:
1C
1С v8
как программно открыть форму выбора
0 picom
 
08.02.12
08:39
в 8.2 в табличной части документа есть колонка с типом документ.
При ручном выборе открывается форма журнала выбора и все выбирается корректно.
Но нужно сделать это с фильтром по контрагенту, поэтому я открываю журнал так, но поле не заполняется при выборе (
..

Процедура ДокументыДокументСервисаНачалоВыбора(Элемент, СтандартнаяОбработка)
   Если СокрЛП(Контрагент) <> "" Тогда
       СтандартнаяОбработка = Ложь;
   
       ФормаВыбора = Документы.СервисноеОбслуживание.ПолучитьФормуВыбора(, ЭтаФорма);
       
       ОтборПоКонтрагенту = ФормаВыбора.Отбор.Контрагент;
       ОтборПоКонтрагенту.ВидСравнения  = ВидСравнения.Равно;
       ОтборПоКонтрагенту.Значение      = Контрагент;
       ОтборПоКонтрагенту.Использование = Истина;
       
           ФормаВыбора.Открыть(); //Тут надо как-то по другому открывать и получать значение выбора

   КонецЕсли;
КонецПроцедуры
1 kosts
 
08.02.12
08:43
(0) 1-й способ выбора - модально

значение = ФормаВыбора.ОткрытьМодально();
2 kosts
 
08.02.12
08:45
(0) 2-й примерно так


Процедура ДокументыДокументСервисаНачалоВыбора(Элемент, СтандартнаяОбработка)
...
ФормаВыбора = Документы.СервисноеОбслуживание.ПолучитьФормуВыбора(, ЭтаФорма, владелец);
           ФормаВыбора.Открыть(); //Тут надо как-то по другому открывать и получать значение выбора
...
КонецПроцедуры

Процедура ФормаОбработкаВыбора(... значение)

КонецПроцедуры
3 picom
 
08.02.12
08:48
(1) Спасибо большое
Сделал так

ЭлементыФормы.Документы.ТекущиеДанные.ДокументСервиса = ФормаВыбора.ОткрытьМодально();
4 kosts
 
08.02.12
08:53
(3) Не забудь, что бывает закрытие формы без выбора
Закон Брукера: Даже маленькая практика стоит большой теории.