Имя: Пароль:
1C
 
События элемента формы
0 selenat
 
20.09.07
17:11
А что, нет возможности программно задавать обработку событий у элемента формы?
1 ОператорПК
 
20.09.07
17:13
можно
2 selenat
 
20.09.07
17:23
(1) На форме есть ПолеТабличногоДокумента. Могу в его свойства - События - обработка расшифровки поставить вызов нужной процедуры.
Программно в отладчике смотрю ЭлементыФормы.ПолеТабличногоДокумента. Не нахожу ничего для управления этими вещами...
3 mikecool
 
20.09.07
17:25
(2) рискну предположить - может у самой формы?
4 zbv
 
20.09.07
17:27
Посмотри: УстановитьДействие()
5 selenat
 
20.09.07
17:27
(3) ну я ведь вижу у какого объекта прописываю свойства. Именно у  ПолеТабличногоДокумента...
6 ОператорПК
 
20.09.07
17:28
ЭлементыФормы.ПолеТабличногоДокумента.ЭлементУправления.УстановитьДействие() попробуй
7 selenat
 
20.09.07
17:29
(4,6) ага. Вот оно что. Щас попробую.
8 ave-kuban
 
20.09.07
17:33
(0) иожно
9 selenat
 
21.09.07
10:31
Так. Следующий вопрос. Можно ли получить (опять же программно) названия доступных событий? А то УстановитьДействие("ОбработкаРасшифровки",...) ругается
Недопустимое значение параметра (параметр номер "1")
Т.е. я его видимо называю как-то не так. И метод ПолучитьДействие, и УстановитьДействие требуют названия события, а их описания я нигде не вижу...
10 selenat
 
21.09.07
10:37
+9 правда, уточню. Теперь я применяю метод УстановитьДействие не для ПолеТабличногоДокумента, а для ОбластьЯчеекТабличногоДокумента. Но по идее должно же быть для него это событие...
11 selenat
 
21.09.07
10:43
если ставлю УстановитьДействие("ПриИзменении",...) не ругается.
А вот "ОбработкаРасшифровки" не понимает... Как называется это событие? И как вообще получить список названий доступных событий?
12 selenat
 
21.09.07
10:53
ап
13 Всеяд
 
21.09.07
10:58
Если мне память не изменяет, обработка расшифровки - это событие именно поля ТД, а не области. Поэтому неудивительно, что не хочет.
14 selenat
 
21.09.07
11:01
(13) абыдно если так. Не хотел создавать еще форму и помещать на нее поле. Хотел сформировать ТабличныйДокумент полностью программно...
15 Всеяд
 
21.09.07
11:15
Своя обработка расшифровки - только на форме. Увы.
16 selenat
 
21.09.07
11:15
Мда. Для ПолеТабличногоДокумента метод ПолучитьДействие("ОбработкаРасшифровки") все правильно возвращает. Похоже, действительно для ОбластьЯчеекТабличногоДокумента не определено такое событие.
Есть идеи как повесить обработчик на расшифровку ячейки для табличного документа, формируемого программно? Возможно ли это?
17 selenat
 
21.09.07
11:16
(15) очень жаль...
18 selenat
 
21.09.07
11:24
Щас попробую какие-нить еще события типа ПриНачалеРедактирования или еще чего задействовать для этого...
19 selenat
 
21.09.07
11:36
Такое впечатление, что у ОбластьЯчеекТабличногоДокумента практически вообще событий нет...
20 selenat
 
21.09.07
11:49
Пока нашел только событие ПриИзменении. Но использовать не получается..
21 selenat
 
21.09.07
12:07
Кстати. у ячейки макета есть галочка Гиперссылка. А где можно указать обработчик нажатия, если она включена?
22 selenat
 
21.09.07
12:16
В СП написано по поводу Гиперссылки:
"Если значение свойства Истина, то текст надписи выводится с подчеркиванием, и при нажатии на надпись возникает событие Нажатие."
Но на ЭлементУправления.УстановитьДействие("Нажатие",..) ругается
Недопустимое значение параметра (параметр номер "1")
23 selenat
 
21.09.07
12:28
ап. Кто подскажет?
24 selenat
 
21.09.07
12:39
и снова ап
25 selenat
 
21.09.07
12:48
неужели никто не работал с гиперссылками?
26 selenat
 
21.09.07
12:55
вверх
27 selenat
 
21.09.07
13:04
аааап!
28 hhhh
 
21.09.07
13:06
в области табличного документа есть метод "УстановитьЭлементУправления". Может сначала задать области соттветствующее поле ТД, а потом этому полю назначить "Обработку расшифровки"?
29 selenat
 
21.09.07
13:12
(28) щас. Перевариваю...
30 selenat
 
21.09.07
13:20
ОбластьМакета.Области.МояЯчейка.УстановитьЭлементУправления(Тип("ПолеТабличногоДокумента"));
ОбластьМакета.Области.МояЯчейка.ЭлементУправления.УстановитьДействие("ОбработкаРасшифровки", Новый Действие("ПолеТабличногоДокументаОбработкаРасшифровки"));

Я правильно тебя понял? Не ругается, но и не срабатывает. Т.е. расшифровка стандартная отрабатывает. В мою процедуру ПолеТабличногоДокументаОбработкаРасшифровки не заходит...
31 selenat
 
21.09.07
13:26
+30 При этом в отладчике
ОбластьМакета.Области.МояЯчейка.ЭлементУправления.ПолучитьДействие("ОбработкаРасшифровки") имеет тип "действие"  и значение "ПолеТабличногоДокументаОбработкаРасшифровки". Т.е. вроде как код все отработал правильно...
32 selenat
 
21.09.07
13:54
еще идеи есть?
33 selenat
 
21.09.07
14:02
похоже, никак?
34 hhhh
 
21.09.07
14:05
(30) а почему в макете делаешь? Надо же в табличном документе.
35 Hadgehogs
 
21.09.07
14:07
Дык в свойствах у элемента формы "ПолеТабличногоДокумента"
есть обработчик события "ОбработкаРасшифровки"???
36 Hadgehogs
 
21.09.07
14:07
8 различных обработчиков событий...
37 hhhh
 
21.09.07
14:09
(35) Поля табличного документа нет. Есть ТабДок, который выводится командой ТабДок.Показать()
38 selenat
 
21.09.07
14:10
(34) у табличного документа нет свойства ЭлементУправления.
(35) есть. Но я не хочу создвавать для этого форму и помещать на нее ПолеТабличногоДокумента. Просто беру макет и программно создаю по нему табличный документ...
39 selenat
 
21.09.07
14:10
(37) точно.
40 Hadgehogs
 
21.09.07
14:11
И где он должен обрабатывать событие?
41 selenat
 
21.09.07
14:15
(40) по нажатию на ячейку в сформированном табличном документе. Т.е. нужен свой обработчик Расшифровки.
42 Hadgehogs
 
21.09.07
14:20
к 30 попробуйте добавить
ОбластьМакета.Области.МояЯчейка.УстановитьЭлементУправления(Тип("ПолеТабличногоДокумента"));
ОбластьМакета.Области.МояЯчейка.ЭлементУправления.УстановитьДействие("ОбработкаРасшифровки", Новый Действие("ПолеТабличногоДокументаОбработкаРасшифровки"));

Процедура ПолеТабличногоДокументаОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка) Экспорт
//и здесь отладчиком тормозить
КОнецПроцедуры
43 selenat
 
21.09.07
14:21
(42) ну так так и есть. Я ж говорю, не заходит в процедуру ПолеТабличногоДокументаОбработкаРасшифровки...
44 selenat
 
21.09.07
14:37
еще идеи есть?
45 Hadgehogs
 
21.09.07
14:46
Помоему никак. Не получается. По разному пробовал.
46 selenat
 
21.09.07
15:30
(45) похоже, что никак. Ладно, придется мутить форму и ПТД...
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн