Нестандартная форма выбора не возвращает значение.

1. Kongo2019 25.03.20 08:16 Сейчас в теме
Доброго.
Нужно было сделать сложный отбор, плюс с запрос свой.
Сделал форму выбора, для нужного справочника. Добавил параметры формы, чтобы передавать нужные данные для условия запроса. В Динамическом списке сделал свой произвольный запрос. Параметры для запроса приходят из формы которая вызывает.
Параметры приходят, запрос работает нужную инфу показывает.
Но обратно в форму которая вызвала выбор данные не возвращает
Что в принципе логично, так как мне пришлось в обработчике НачалоВыбора
СтандартнаяОбработка = Ложь;
Сделать. Иначе мне форма выбора два раза открывалась, она пустая, вторая нужная.
Теперь форма выбора не возвращает значение.
В общем, чего я упустил?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. tusv 211 25.03.20 08:30 Сейчас в теме
(1)
В общем, чего я упустил?

Событие ОбработкаВыбора
3. user5300 1010 25.03.20 08:31 Сейчас в теме
(1) У формы должен быть метод "ОповеститьОВыборе(ВыбранноеЗначение)"
а у владельца формы - экспортная процедура для этого оповещения
4. user5300 1010 25.03.20 08:40 Сейчас в теме
Процедура ОткрытьФормуВыбора(Команда)
	ПараметрыОткрытия = новый Структура;
	ПараметрыОткрытия.Вставить("Отбор,ЗакрыватьПриВыборе","Отбор",Истина);
ОткрытьФорму("Обработка.ТЕСТ.Форма.ФормаПодбора",ПараметрыОткрытия,ЭтаФорма, , , ,
			Новый ОписаниеОповещения(
				"ОбработатьВыбранноеЗначение", 
				ЭтаФорма, 
				"Подбор"));

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

&НаКлиенте
Процедура ОбработатьВыбранноеЗначение(ВыбранноеЗначение, Параметр2) экспорт
	Реквизит = ВыбранноеЗначение;	
КонецПроцедуры
Показать



И форма выбора:
ОповеститьОВыборе(ВыбранноеЗначение)
mrChOP93; +1 Ответить
9. tusv 211 25.03.20 09:14 Сейчас в теме
(4)Как у Вас сложно. Достаточно

&НаКлиенте
Процедура ТЧКонтрагентНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
	Форма = ОткрытьФорму("ВнешняяОбработка.ВнешняяОбработка1.Форма.ФормаВыбора",,Элемент);
	Форма.ЗакрыватьПриВыборе = Истина;
КонецПроцедуры

&НаКлиенте
Процедура ТЧКонтрагентОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
	Элементы.ТЧ.ТекущиеДанные.Контрагент = ВыбранноеЗначение;
КонецПроцедуры
Показать
Прикрепленные файлы:
ВнешняяОбработка1.epf
5. user5300 1010 25.03.20 08:41 Сейчас в теме
6. Kongo2019 25.03.20 08:44 Сейчас в теме
(1)(2)
Не въехал. Где-то подробнее об этом почитать есть?
7. Kongo2019 25.03.20 08:55 Сейчас в теме
Да что-то не получается. Это событие на ФормеВыбора.
&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
РезультатВыбора = Элементы.Список.ТекущиеДанные.Ссылка;
ОповеститьОВыборе(РезультатВыбора);
КонецПроцедуры


Ошибка.
Поле объекта не обнаружено (Ссылка)
8. koln 25.03.20 09:03 Сейчас в теме
А тут указали свою форму выбора?
Прикрепленные файлы:
user1836622; +1 Ответить
10. Kongo2019 25.03.20 09:29 Сейчас в теме
Понял. Недостаточно Динамический список задать, но и обязано вывести это на форму. А то у меня только наименование было.
11. Kongo2019 25.03.20 09:47 Сейчас в теме
Надо еще и владельца указать при открытии формы. Все работает.
Оставьте свое сообщение

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