Имя: Пароль:
1C
1С v8
Изменить обработчик-события
0 Sem0709
 
02.10.18
08:33
Добрый день.
Полю ввода назначен обработчик события "ПриИзменении".
Можно его при открытии формы получить, изменить и установить заново?
1 Mankubus
 
02.10.18
08:37
(0)
ПолеФормы (FormField)
УстановитьДействие (SetAction)
Синтаксис:

УстановитьДействие(<ИмяСобытия>, <Действие>)
Параметры:

<ИмяСобытия> (обязательный)

Тип: Строка.
Имя события, для которого устанавливается новое действие.
<Действие> (обязательный)

Тип: Строка.
Указывается имя обработчика.
Описание:

Устанавливает обработчик события.

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

Сервер, мобильное приложение(сервер).
2 Sem0709
 
02.10.18
08:46
(1) Мне нужна цепочка действий при открытии формы... получить текущий обработчик, изменить его и присвоить.

ЭлементыФормы.ПолеВвода1.ПолучитьДействие("ПриИзменении");
...
Получение текста процедуры действия изменить его
...
ЭлементыФормы.ПолеВвода1.УстановитьДействие("ПриИзменении", Новый Действие("МОЯ_ИЗМЕНЁНАЯ_ПРОЦЕДУРА"));
3 Мимохожий Однако
 
02.10.18
08:47
(2) Расскажи полностью свою задачу.
4 Mankubus
 
02.10.18
08:51
(2) зачем тебе получать и изменять? сразу присваивание делай
5 Sem0709
 
02.10.18
08:53
(4) Так а если он уже назначен ? Мне нужно к старому обработчику добавить свой алгоритм.
6 Sem0709
 
02.10.18
08:55
(3) В поле ввода при выбора контрагента выполнить алгоритм разработчика и мой добавить.
7 Мимохожий Однако
 
02.10.18
08:57
(6) Или используй расширение или после процедур разработчика добавь свои. Главное-найди, где этот загадочный код
8 НЕА123
 
02.10.18
08:57
ЭлементыФормы.ПолеВвода1.УстановитьДействие("ПриИзменении", Новый Действие("МОЯ_ИЗМЕНЁНАЯ_ПРОЦЕДУРА"));

Процедура МОЯ_ИЗМЕНЁНАЯ_ПРОЦЕДУРА()
ПриИзмененииПолеВвода1();
------
9 Cool_Profi
 
02.10.18
08:58
(6) Сделай расширение и там сделай &После (вроде так пишется)
10 Sem0709
 
02.10.18
09:14
(8) Всё гениальное просто) Спасибо!)
11 Sem0709
 
02.10.18
09:15
Всем спасибо!)
Ошибка? Это не ошибка, это системная функция.