Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как вернуть выбранное значение из формы списка Справочника в вызвавшую форму элемента другого справочника ?
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
andrew76
Добрый вечер !

Имеется форма элемента справочника.На нажатию кнопки,расположенной на этой форме,запускается форма
списка другого справочника.На это форме по двойному клику или нажатию клавиши Enter обрабатываю событие
Выбор.Мне нужно передать значение реквизита Наименование (выбранный элемент по клику или Enter'у)
в реквизит Наименование вызвавшей формы первого справочника.Как это реализовать ?
Т.е. я должен заменить значение реквизита Наименование выбранным значением из другого справочника.
Vofka
andrew76, есть несколько вариантов:
1. Если форма открывается модально, то в открываемой форме можно передать что-то через Закрыть(ЧтоТо), а в форме источнике получить это значение, как результат вызова функции ОткрытьМодально;
2. Если в открываемой форме происходит стандартный для формы выбор, то словить это значение можно в обработчике ОбработкаВыбора;
3. Если у вас какая-то своя логика выбора значения или работы с формой, можно использовать Оповестить в форме, которая открывается и ОбработкаОповещения в форме источнике.
andrew76
Vofka @ Сегодня, 10:20 необходимо зарегистрироваться для просмотра ссылки ,

Вышел из положения следующим образом,прописал следующий код в обработке Выбора табличного поля второго справочника:
Некрасиво,но работает.

СтандартнаяОбработка=Ложь;
Режим = РежимДиалогаВопрос.ДаНет;
Ответ = Вопрос("Заменить фамилию "+СокрЛП(ЭтаФорма.ВладелецФормы.Наименование)+Символы.ПС+" на фамилию "+СокрЛП(Элемент.ТекущаяСтрока.Ссылка.Наименование), Режим, 0);
Если Ответ = КодВозвратаДиалога.Да Тогда
       ЭтаФорма.ВладелецФормы.Наименование=Элемент.ТекущаяСтрока.Ссылка.Наименование;
       ЭтаФорма.ВладелецФормы.Таб_ОК=Элемент.ТекущаяСтрока.Ссылка.Код;
ИначеЕсли Ответ = КодВозвратаДиалога.Нет Тогда
      Возврат;
КонецЕсли;
getnight
andrew76 @ 14.10.19, 16:51 необходимо зарегистрироваться для просмотра ссылки ,
Почему "некрасиво"? Очень даже красиво.

Правда, я бы добавил предварительно проверку, а та ли форма вызвала справочник?
А вызвала ли его вообще другая форма? или справочник открыт из общего списка?
Как-то так:

Если ТипЗнч(ВладелецФормы)=Тип("Форма") И ВладелецФормы.Заголовок="Контрагенты" Тогда


или

Если ТипЗнч(ВладелецФормы)=Тип("ПолеВвода") И ВладелецФормы.Подсказка="Основной поставщик" Тогда
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.