Не отрабатывает обработка выбора

1. user1200515 30.09.21 11:46 Сейчас в теме
Добрый день! Я на форме сделала элемент, при его активации открывается форма контактной информации, в события процедуры привязаны, но не отрабатывает обработка выбора

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

&НаКлиенте
Процедура ПредставлениеАдресаМестаРаботыОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	Если ТипЗнч(ВыбранноеЗначение)<>Тип("Структура") Тогда
		// Отказ от выбора, данные неизменны
		Возврат;
	КонецЕсли;
	ПредставлениеАдресаМестаРаботы = ВыбранноеЗначение.Представление;
	Объект.АдресМестаРаботы = ВыбранноеЗначение.КонтактнаяИнформация;
	ЭтаФорма.Модифицированность = Истина;
	
КонецПроцедуры
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. DBV 30.09.21 12:26 Сейчас в теме
(1) Точку останова если поставить, заходит в процедуру?

Если заходит проверьте, какое значение в ВыбранноеЗначение
4. spacecraft 30.09.21 13:23 Сейчас в теме
(1)
УправлениеКонтактнойИнформациейКлиент.ОткрытьФормуКонтактнойИнформации(ПараметрыОткрытия, Элемент);

У этой процедуры есть 3-й параметр, оповещение о завершении выбора.
В итоге можно сделать так:
...
Оповещение = Новый ОписаниеОповещения("ОткрытьФормуКонтактнойИнформацииЗавершение", ЭтотОбъект);
УправлениеКонтактнойИнформациейКлиент.ОткрытьФормуКонтактнойИнформации(ПараметрыОткрытия,, Оповещение);
...

&НаКлиенте
Процедура ОткрытьФормуКонтактнойИнформацииЗавершение(Результат, ДополнительныеПараметры) Экспорт
	
	Если ТипЗнч(Результат) = Тип("Структура") Тогда
		Модифицированность          = Истина;
		Объект.АдресМестаРаботы = Результат.Значение;
		ПредставлениеАдресаМестаРаботы = Результат.Представление;
	КонецЕсли;
	
КонецПроцедуры
Показать
5. DBV 30.09.21 13:30 Сейчас в теме
(4) Но обработка выбора должна же работать?
6. spacecraft 30.09.21 13:32 Сейчас в теме
(5) если есть возможность использовать ОписаниеОповещения, то лучше им и воспользоваться.
7. DBV 30.09.21 13:35 Сейчас в теме
(6) это где-то написано, что лучше использовать ОписаниеОповещения?

никогда об этом не задумывался
8. spacecraft 30.09.21 13:41 Сейчас в теме
(7) это опыт. Ссылки на "где-то написано" не держу.
И Лучше не означает что только так. Но как показывает практика, так надежнее и более предсказуемо.
9. DBV 30.09.21 13:48 Сейчас в теме
(8) Спасибо что ответили
2. Release 30.09.21 12:13 Сейчас в теме
Возможно потому, что ОткрытьФормуКонтактнойИнформации() не открывает форму выбора, а основную форму обработки ВводКонтактнойИнформации, поэтому события выбора не происходит.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот