1. Kongo2019 25.03.20 08:16 Сейчас в теме

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

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

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

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

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



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

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

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


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

Вакансии

Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству

Программист 1С
Новосибирск
зарплата от 30 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 100 000 руб. до 150 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Специалист внедрения и сопровождения 1С
Москва
зарплата от 80 000 руб.
Полный день