|
Подключить обработчик на програмно созданный объект
| ☑ |
0
Borislav
14.05.15
✎
11:39
|
Всем привет!
Вывожу отчет на табличный документ (не на форму) и пытаюсь подключить к нему стандартную процедуру расшифровки.
ДокументРезультат = Новый ТабличныйДокумент;
//...
ДокументРезультат.Показать();
ПодключитьОбработчикИзмененияДанных("ДокументРезультат","РезультатОбработкаРасшифровки",);
//сама процедура
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
СтандартнаяОбработка=Ложь;
ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
ПолеРасшифровки = ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля()[0];
Если ПолеРасшифровки.Поле = "Номенклатура" ИЛИ
ПолеРасшифровки.Поле = "Документ" Тогда
Ссылка = ПолеРасшифровки.Значение;
ОткрытьЗначение(Ссылка);
КонецЕсли;
КонецПроцедуры
как правильно сделать, сам никак не разберусь.
|
|
1
Lexey_
14.05.15
✎
12:37
|
(0) обязательно нужен элемент формы
|
|
2
Borislav
14.05.15
✎
12:51
|
(1) Т.е как к отдельному объекту не получиться привязать.
Да печально - форма просто уже перегружена закладками таблицами, хотелось отдельно.
Ну нет так нет.
|
|
3
tznimble
14.05.15
✎
13:09
|
(1) Не элемент, а реквизит.
(2) Попробуйте сделать ТД реквизитом формы
Однако:
1. Ваша процедура не подходит, т.к.
"Процедура должна иметь один параметр, в который при вызове процедуры будет передана строка - путь к измененным данным, по структуре аналогичная параметру <Имя данных>."
2. В какой момент по Вашему мнению должна срабатывать процедура?
|
|
4
Гёдза
14.05.15
✎
13:11
|
на табличный документ вне формы расшифровку не назначить
|
|
5
Гёдза
14.05.15
✎
13:11
|
Открывай форму с табличным документом
|
|
6
Lexey_
14.05.15
✎
13:52
|
(3) у реквизитов формы нет событий
|
|
7
Lexey_
14.05.15
✎
13:53
|
(3) нужен элемент формы + УстановитьДействие()
|
|
8
tznimble
14.05.15
✎
16:13
|
(6) А у формы - есть. Изменение данных не есть изменение элемента формы
|
|