Имя: Пароль:
1C
1С v8
В расширении не получается перехватить процедуру в модуле формы
0 distorter
 
30.06.25
10:29
Задача: Выполнить свой код в модуле формы до выполнения команды и после.
У формы есть команда ВыполнитьОперациюВыемка, которую добавил в расширение и создал собственную процедуру Вместо, вызываемую через палитру свойств. Она отрабатывает корректно и переходит к исходной процедуре через ПродолжитьВызов().

Проблема: Далее по коду этой процедуры вызывается еще одна процедура ВыполнитьОперациюВыемкаЗавершение, после которой необходимо выполнить еще одну свою процедуру.
Так вот с этой Процедурой никак не срабатывает расширение с директивой &После.

Куда копать?
1 Garykom
 
гуру
30.06.25
11:08
Не используй &Вместо и ПродолжитьВызов()
Используй &ИзменениеИКонтроль
2 Garykom
 
гуру
30.06.25
11:09
Возможно это баг платформы
Проверь создав новое другое расширение, там &После для ВыполнитьОперациюВыемкаЗавершение отрабатывает?
При вызове через ПродолжитьВызов() из первого расширения
3 Garykom
 
гуру
30.06.25
11:10
Ну или банально запутался в процедурах
4 distorter
 
30.06.25
12:21
(1) Спасибо, попробую, не встречал в документации.

(2) Проблему решил так - добавил процедуру &После не руками, а через щелчок правой кнопкой на исходной процедуре "Добавить в расширение". Теперь только так и буду делать.
5 Прохожий
 
30.06.25
11:48
в свойствах формы в расширении процедура прописана или просто называется как надо? К событиям на форме процедура расширения привязана?
6 2S
 
30.06.25
11:51
(5) Скорее всего так и есть, типичная ошибка.
7 distorter
 
30.06.25
12:19
(5) Непосредственно к событиям на форме она не привязана. Могло быть дело в том, что она Экспортная? Про свойства формы не понял - где там процедуры прописывать.
8 Ненавижу 1С
 
гуру
30.06.25
14:24
Проверьте, что сигнатура метода в расширении соответствует конфигурации
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс