0
adawa3
12.04.17
✎
12:19
|
1С 8.3, формы управляемые.
Есть табличная часть в документе, в ней есть реквизит.
В обработчике начала выбора этого реквизита устанавливаю ложь для стандартной обработки и открываю модально нужную форму, где выбирается значение (нужно это для отбора).
Затем это значение нужно вернуть в тот реквизит табличной части, из которого форма и вызывалась. Но как узнать куда возвращать выбранное значение? Допустим если модальная форма вызвана из строки 3, как узнать, что надо вернуть в строку 3?
Код:
&НаКлиенте
Процедура ИнфПолеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = ложь;
ПолучитьСписокДоступныхИнфПолей();
ФиксНастройки = Новый НастройкиКомпоновкиДанных;
эОтбор = фиксНастройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
эОтбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
эОтбор.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
эОтбор.ПравоеЗначение = ЭтаФорма.ДоступныеИнформационныеПоля;
эОтбор.Использование = Истина;
эОтбор.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ФиксированныеНастройки", фиксНастройки);
ЗначениеВыбора = ОткрытьФормуМодально("Справочник.ИнфПоля.Форма.ФормаВыбора", ПараметрыФормы);
КонецПроцедуры
|
|
4
lodger
12.04.17
✎
12:30
|
(0) вы все делаете неправильно. вернитесь в обычные формы, или почитайте гайды\посмотрите в типовых как работать с блокирующими окнами, форма - форма.владелец.
|
|