Имя: Пароль:
1C
1С v8
Событие обработка выбора для УФ
0 Новичок1С Учится
 
04.03.19
08:41
Добрый день. Конфигурация бух 3.0. Помогите пожалуйста разобраться  с событием обработка выбора. При выборе значения из подчинённой формы не происходит действий на основной форме. Почему так? В основной форме открывается форма списка по команде:

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

В форме выбора такой код:

Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)

    ОповеститьОВыборе(ВыбранноеЗначение);
        СтандартнаяОбработка = Ложь;

КонецПроцедуры

Так же в основной форме есть процедура обработка выбора

Процедура ОбработкаВыбора(ЗначениеВыбора, Источник)

    Если  ТипЗнч(ЗначениеВыбора) = Тип("СправочникСсылка.ТиповыеМаршрутыЗаявок_ЕО") и ЗначениеЗаполнено(ЗначениеВыбора) Тогда
       ОбработатьЗаполнениеСпискаЭтапов(ЗначениеВыбора, Объект.Дата);
        КонецЕсли;  

КонецПроцедуры

И последующее заполнение табличной части основной формы:

&НаКлиенте
Процедура  ОбработатьЗаполнениеСпискаЭтапов(Маршрут, Дата)
    
    Для Каждого ТекСтрока из  Маршрут.Этапы Цикл
        НовСтрока = Объект.ЭтапыРабот.Добавить();
        НовСтрока.Этап = ТекСтрока.Этап;
        НовСтрока.ВерсияЭтапа = 1;
        НовСтрока.СледующийЭтап =ТекСтрока.СледующийЭтап;
        НовСтрока.ВерсияСледующегоЭтапа = 1;
        НовСтрока.ПервыйЭтап =ТекСтрока.ПервыйЭтап;
        НовСтрока.Срок = ТекСтрока.Срок;
        НовСтрока.ИсполнительРоль = ПолучитьИсполнителя(ТекСтрока.Этап, Дата);
        НовСтрока.НазваниеДокумента = ТекСтрока.Этап.НазваниеДокументаРезультата;
    КонецЦикла
    
КонецПроцедуры

Где моя ошибка?
1 D3O
 
04.03.19
08:47
ошибка в использовании подхода, применяемого в обычных формах.
не нужно открывать форму так как тут. для УФ реализовали ОткрытьФорму - в нем можно указать владельца формы - конкретный элемент текущей. тогда из формы выбора платформа автоматом передаст выбранное значение. и вот тогда сработает событие ОбработкаВыбора конкретного элемента
2 Новичок1С Учится
 
04.03.19
09:19
(1) Спасибо Огромное!
3 Новичок1С Учится
 
04.03.19
09:54
(1) И ещё небольшой дополнительный вопрос. бух 2.0 после выбора элемента в форме выбора переменная "ЗначениеВыбора" в процедуре "ОбработкаВыбора" принимается как ссылка на выбранный элемент, т.е. я могу обращаться к реквизитам : Актуальность, ВерсияДанных, Ссылка и т.д. Как я понял это реализовано через такой механизм формы выбора :

Процедура ПриОткрытии()
    
    РаботаСДиалогами.ИзменитьПредставлениеКнопкиВыбораСвойств(ЭтаФорма, РаботаСДиалогами.ПолучитьОписаниеЗначенийСвойствОбъекта(ЭлементыФормы.СправочникСписок.ТекущаяСтрока));
    
КонецПроцедуры

В бух 3.0 таких модулей я не обнаружил... Может я конечно и ошибаюсь, но как ещё можно получить значение выбора с возможностью обращения к реквизитам полученного объекта?
4 hhhh
 
04.03.19
10:40
(3)  РаботаСДиалогами.ИзменитьПредставлениеКнопкиВыбораСвойств(ЭтаФорма, РаботаСДиалогами.ПолучитьОписаниеЗначенийСвойствОбъекта(ЭлементыФормы.СправочникСписок.ТекущаяСтрока));

это вообще из другой оперы

возможность обращения к реквизитам полученного объекта есть всегда.
5 hhhh
 
04.03.19
10:41
(3) но в бух 3.0 это надо делать в процедуре &НаСервере, а вы наверно &НаКлиенте
6 Новичок1С Учится
 
04.03.19
10:54
(5) Точно... Спасибо!