Имя: Пароль:
1C
1С v8
Обработка события для программно добавленного реквизита на форму
0 Solitar
 
07.08.13
22:52
Есть новый реквизит. Дабы не насиловать типовую форму, добавил его программно на форму

НовыйЭлемент = Форма.ЭлементыФормы.Добавить(Тип("ПолеВвода"), "поле_Договор",  Истина, ТекущаяПанель);

Поле_Договор - ссылка на справочник Договоры контрагентов.

На форму так же программно добавлено поле с контрагентом.

Нужно, чтобы "поле_Договор" открывалось с отбором по владельцу. Перелазил все свойства, такого нет.

Можно ли как то обработать событие при выборе договора, чтобы назначить отбор по контрагенту?
1 welwel
 
07.08.13
22:59
связи параметров выбора?
2 Solitar
 
07.08.13
23:29
(1) такого свойства нет у программно созданного элемента.

Процедура добавления новых элементов расположена в новой модуле. Попытался сделать через НовыйЭлемент.УстановитьДействие

но не сработало.

Не ужели придется размещать весь код по формированию элемента в модуле формы, чтобы можно было задать свой обработчик события для наложения отбора?
3 welwel
 
07.08.13
23:35
Расширение поля формы для поля ввода (Form field extension for a text box)
СвязиПараметровВыбора (ChoiceParameterLinks)
Использование:

Чтение и запись.
Описание:

Тип: ФиксированныйМассив.
Параметры выбора.
Фиксированный массив из элементов типа СвязьПараметраВыбора.
Пример:
НоваяСвязь = Новый СвязьПараметраВыбора("Отбор.Владелец", "Объект.Контрагент");
НовыйМассив = Новый Массив();
НовыйМассив.Добавить(НоваяСвязь);
НовыеСвязи = Новый ФиксированныйМассив(НовыйМассив);
Элементы.Реквизит1.СвязиПараметровВыбора = НовыеСвязи;



Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент.
Примечание:

Свойство доступно на запись только на сервере.
4 Поросенок Петр
 
08.08.13
00:37
С динамическим созданием элементов на форме в обычном режиме две ж0пы: Связь по владельцу и стандартные кнопки в КП. В УФ ж0па с реквизитами реквизитов формы в ПутиКДанным.
Короче чо угодно программно нельзя собрать нигде (
5 Solitar
 
08.08.13
10:12
(3) это для УФ. Я забыл указать, что делаю все для обычных форм.

почему свойства у НовыйЭлемент и Форма.ЭлементыФормы.поле_Договор различаются? типы то одинаковы...

Форма.ЭлементыФормы.поле_Договор.ВыборПоВладельцу = Форма.ЭлементыФормы.Поле_Контрагент.Значение; это работает только в том случае, если контрагент заполнен на этапе открытия формы.
6 Solitar
 
08.08.13
10:41
все таки победил.

переназначил событие через УстановитьДействие и в ней назначил связь по владельцу, как оказалось новая процедура должна располагаться в модуле формы.
7 cw014
 
08.08.13
10:49
(6) А ты ее где располагал???
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший