Имя: Пароль:
1C
 
v8.2 Создать подчиненный элемент
0 hexed
 
14.06.10
13:40
На управляемой форме размещен справочник владелец и динамический список с данными подчиненного справочника (заполняется через произвольный запрос). Проблема в том, что при интерактивном добавлении нового элемента в список подчиненного автоматически не устанавливается владелец. Как правильно решить задачу?
1 hexed
 
14.06.10
18:49
разобрался сам. задача решается через использование параметров формы.

Клиенты - справочник владелец;
СписокКонтактныхЛиц - динамический список подчиненных объектов;
Делаем структуру данных для заполнения (в моем случае значение одно - "Владелец").
Потом структуру параметров формы (их может быть четыре: ЗначениеКопирования, ЗначенияЗаполнения, Ключ )

&НаКлиенте
Процедура СписокКонтактныхЛицПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа)
   Отказ = Истина;
   СписокЗначенийДляЗаполнения = Новый Структура("Владелец", Элементы.Клиенты.ТекущаяСтрока);
   ПараметрыФормы = Новый Структура("ЗначенияЗаполнения", СписокЗначенийДляЗаполнения);
   ОткрытьФорму("Справочник.КонтактныеЛица.ФормаОбъекта", ПараметрыФормы);
КонецПроцедуры

з.ы. Подробнее об использовании параметров формы можно прочитать в синтакс-помощнике: Интерфейс (управляемый) - Управляемая форма - Расширение объектов - Параметры формы.
2 hexed
 
14.06.10
18:55
разобрался сам. задача решается через использование параметров формы.

Клиенты - справочник владелец;
СписокКонтактныхЛиц - динамический список подчиненных объектов;
Делаем структуру данных для заполнения (в моем случае значение одно - "Владелец").
Потом создаем структуру с предопределенным параметром формы "ЗначенияЗаполнения" (еще есть три: ЗначениеКопирования, Ключ, Основание) в качестве ключа и первой структурой в качестве значения.
И передаем эту структуру вторым параметром метода открыть форму.
На  выходе получаем новый элемент подчиненного справочника с заполненным значением реквизита "Владелец"

Код:


&НаКлиенте
Процедура СписокКонтактныхЛицПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа)
   Отказ = Истина;
   СписокЗначенийДляЗаполнения = Новый Структура("Владелец", Элементы.Клиенты.ТекущаяСтрока);
   ПараметрыФормы = Новый Структура("ЗначенияЗаполнения", СписокЗначенийДляЗаполнения);
   ОткрытьФорму("Справочник.КонтактныеЛица.ФормаОбъекта", ПараметрыФормы);
КонецПроцедуры


з.ы. Подробнее об использовании параметров формы можно прочитать в синтакс-помощнике: Интерфейс (управляемый) - Управляемая форма - Расширение объектов - Параметры формы.