Имя: Пароль:
1C
1С v8
Выбор значения в элемент формы
0 Сергей Д
 
15.10.15
11:11
Доброго всем дня
Продолжаю вникать в управляемые формы. Итак, задача.
Есть управляемая форма со списком (формируется запросом). Пишу ее вызов:

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

Данная процедура будет вызываться в обработчике события ПриНачалеВыбора в поле ввода.
Вопрос. Раньше у Элемента обычной формы было Значение. У элемента управляемой формы его нет. Куда передать выбранное значение (т.е. как написать закомментированный кусок кода)?
1 Горогуля
 
15.10.15
11:13
поройся в букваре
Отладка стандартных команд
2 Cyberhawk
 
15.10.15
11:13
В дочерней форме Закрыть(Результат)
3 Zamestas
 
15.10.15
11:16
(0) Если изучаете УФ, то отвыкайте от использования модальных окон.
4 Сергей Д
 
15.10.15
11:18
(2) В форме ВыборДоговораПоКонтрагенту вот такой обработчик кнопки выбора:
&НаКлиенте
Процедура Выбрать(Команда)
    Если Элементы.Договора.ТекущиеДанные<>Неопределено Тогда
        ЭтаФорма.Закрыть(Элементы.Договора.ТекущиеДанные.Договор);
    Иначе
        Предупреждение("Выберите договор");
    КонецЕсли;
КонецПроцедуры
5 Горогуля
 
15.10.15
11:22
НужныйРеквизит=Результат
6 Горогуля
 
15.10.15
11:22
Объект.НужныйРеквизит=Результат
7 Сергей Д
 
15.10.15
11:24
(5) Вот я тоже смотрел, смотрел... и склоняюсь к тому, что видимо придется добавить еще один параметр в процедуру: реквизит формы. Возможно вместо элемента формы.
8 cw014
 
15.10.15
11:24
Элементы.Договора.ТекущиеДанные.Договор = Результат;
9 Cyberhawk
 
15.10.15
12:51
(4) И?
10 hhhh
 
15.10.15
12:57
(7) писать процедуру

Процедура ПриНачалеВыбораДоговораПоКонтрагенту(Элемент,СтандартнаяОбработка,Организация,Контрагент,ВидДоговора) Экспорт

в упрвляемых формах это нереальный бред. Это в обычных формах были такие процедуры.

в УФ всё разруливается проставением галочек
11 aleks_default
 
15.10.15
13:02
Так ты форму с установленным отбором хочешь открыть? Тогда в (0) бред.
12 Горогуля
 
15.10.15
13:09
(10) а какие галки расставить для фильтрации договоров по дате заключения в пятницу 13го?
13 mikeA
 
15.10.15
13:18
ПараметрыВыбора= Новый Структура;
        
        ПараметрыВыбора.Вставить("Организация", Организация);
        ПараметрыВыбора.Вставить("Контрагент", Контрагент);
        ПараметрыВыбора.Вставить("ВидДоговора", ВидДоговора);
        ПараметрыВыбора.Вставить("ЗакрыватьПриЗакрытииВладельца", Истина);
        
    ОткрытьФорму("ОбщаяФорма.ВыборДоговораПоКонтрагентуУпр", ПараметрыВыбора, Элемент);
14 Сергей Д
 
15.10.15
14:02
(10) Почему, если выполняются одинаковые действия во многих местах?
15 Сергей Д
 
15.10.15
14:08
(13) Форма открывается, но реквизиты не заполнены. Их надо заполнять вручную при открытии? Если да, то какое преимущество перед кодом в (0)?
16 mikeA
 
15.10.15
15:43
(15) Параметры отбора и другие параметры заполняются автоматически по соответствию имён реквизитов структуры.
Остальные реквизиты надо заполнять в процедуре модуля открываемой формы ПриСозданииНаСервере.
Из преимуществ:
Вызов немодальный т.е. будет работать в браузере например.
Параметры заполняются автоматически в простых случаях.
Ну ещё там что есть пусть коллеги скажут.