![]() |
![]() |
![]() |
|
Заполнение значения с одной формы в другую | ☑ | ||
---|---|---|---|---|
0
gaur777
12.07.17
✎
08:44
|
Помогите. У справочника есть форма элемента и форма произвольная
На произвольной форме есть список значений с реквизитами name и guid На форме элемента по нажатию кнопки (заполнить) переходит к этому списку значений, но выбрав нужное значение - на форме элемента строки (name) и (guid) не заполняются. Подскажите, где и что необходимо исправить/добавить Код формы элемента: &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Если Не ЗначениеЗаполнено(Объект.Ссылка) Тогда Объект.Код = Параметры.Код; Объект.Наименование = Параметры.Наименование; Объект.НаименованиеПолное = Параметры.НаименованиеПолное; Объект.МеждународноеСокращение = Параметры.МеждународноеСокращение; КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ЗаполнитьПоДаннымВЕТИС(Команда) Оповещение = Новый ОписаниеОповещения("ЗаполнитьПоДанным", ЭтаФорма); ОткрытьФорму("Справочник.КлассификаторЕдиницИзмерения.Форма.ФормаПодбораИзКлассификатораВЕТИС",,ЭтаФорма,,,,Оповещение); КонецПроцедуры &НаКлиенте Процедура ЗаполнитьПоДанным(Результат, Параметры) Экспорт КонецПроцедуры Код произвольной формы: Перем Прокси; &НаКлиенте Процедура Заполнить(Команда) ЗаполнитьНаСервере(); КонецПроцедуры Процедура ЗаполнитьНаСервере() Прокси = ОбменВЕТИС.ПолучитьПроксиDictionary(); ListOptions = ОбменВЕТИС.ПолучитьListOptionsИзПрокси(Прокси); ListOptions.count = 4; Смещение = 0; //СписокЕдиницИзмерения.Очистить(); Пока Истина Цикл ListOptions.offset = Смещение; СписокВетис = Прокси.GetUnitList(ListOptions); Если ТипЗнч(СписокВетис) <> Тип("ОбъектXDTO") Тогда Прервать; КонецЕсли; Если СписокВетис.count = 0 Тогда Прервать; КонецЕсли; Для Каждого стр из СписокВетис.unit Цикл стр1 = СписокЕдиницИзмерения.Добавить(); ЗаполнитьЗначенияСвойств(стр1, стр); стр1.ЕдиницаИзмерения = ОбменВЕТИС.ПолучитьОбъект1сПоGUID(стр1.GUID); КонецЦикла; Если СписокВетис.count + Смещение >= СписокВетис.total Тогда Прервать; КонецЕсли; Смещение = Смещение + ListOptions.Count; КонецЦикла; КонецПроцедуры Процедура ПередОткрытием(Отказ, СтандартнаяОбработка) //ЭтаФорма.Заголовок = ЭтотОбъект.Метаданные().Представление(); //Прокси = ОбменВЕТИС.ПолучитьПроксиDictionary(); КонецПроцедуры &НаКлиенте Процедура СписокЕдиницИзмеренияВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) ОповеститьОВыборе(ВыбраннаяСтрока); СтандартнаяОбработка = Ложь; КонецПроцедуры |
|||
1
FIXXXL
12.07.17
✎
08:57
|
при закрытии выбора - надо Оповестить
в форме-получателе пиши обработку оповещения |
|||
2
gaur777
12.07.17
✎
09:13
|
(1) чувствую, что требуется немного пояснений(
|
|||
3
gaur777
12.07.17
✎
09:23
|
у меня же уже есть обработка оповещения
&НаКлиенте Процедура СписокЕдиницИзмеренияВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) ОповеститьОВыборе(ВыбраннаяСтрока); СтандартнаяОбработка = Ложь; КонецПроцедуры |
|||
4
gaur777
12.07.17
✎
09:32
|
(1) в форме элемента создаю обработку оповещения
&НаКлиенте Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) КонецПроцедуры А что в ней прописывать?:( |
|||
5
FIXXXL
12.07.17
✎
11:01
|
(3) нужно через
Оповестить(<ИмяСобытия>, <Параметр>, <Источник>) тогда и ОбработкаОповещения(ИмяСобытия, Параметр, Источник) заработает |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |