Имя: Пароль:
1C
 
ВыполнитьОбработкуОповещения игнорирует замену процедуры общего модуля?
,
0 Гений 1С
 
гуру
20.06.22
14:09
Вроде бы получается так, что если ВыполнитьОбработкуОповещения  вызывает процедуру ВыгрузкаТоваровЗавершение, то она игнорирует, что эта процедура замещена расширением.
Это так или нет?
1 vicof
 
20.06.22
14:11
Пять строчек кода можно написать, чтобы проверить.
2 Гений 1С
 
гуру
20.06.22
14:12
(1) ну хз, я увидел в отладчике, что процедура заходит в типовую функцию, а не в замещенную. Это капец
3 Ryzeman
 
20.06.22
14:15
По идее не должна. А как ты замещающую описал? Директивой и явным указанием или наименованием?
4 Гений 1С
 
гуру
20.06.22
15:16
(3) в общем пришлось вот такой сон разума писать:

Процедура ВыгрузкаТоваровЗавершение(Результат, ДополнительныеПараметры) Экспорт
    //Осипов - расширение не перехватывает непосредстенный вызов процедуры, нужно вмешиваться в код
    Выполнить("ОфлайнОборудованиеАтолККМКлиент.дор_ВыгрузкаТоваровЗавершение(Результат, ДополнительныеПараметры)"); Возврат;
КонецПроцедуры

Причем именно экспорт надо делать, если без имени модуля объявить, то даже в этом модуле не увидит.
Хотя по идее можно было и без Выполнить.

это жесть.

По ходу, если функция вызывается непосредственно по имени, она не замещается, возможно и в обработках оповещений. вот тебе бабка, и расширения.

То бишь переназначение процедур работает не всегда. Надо иметь ввиду
5 Ненавижу 1С
 
гуру
20.06.22
15:41
(4) "если функция вызывается непосредственно по имени" - разверни мысль

у тебя же конкретно спросили, как ты замещал: через директивы или через события?
6 Гений 1С
 
гуру
20.06.22
16:32
(5) мне некогда разбираться, я поправил.
но по сути вызов ВыполнитьОбработкуОповещения вызывает непосредственно ту процедуру, что в нем указана и игнорирует расширение.
7 Ненавижу 1С
 
гуру
20.06.22
17:36
(6) "мне некогда разбираться, я поправил."

Повесь как девиз
8 Гений 1С
 
гуру
20.06.22
17:42
(7) занесу в технический долг
9 Гений 1С
 
гуру
20.06.22
19:20
Написал тест на релизе:  8.3.18.1520 - работает
Надо будет погонять на проблемном релизе: 8.3.19.1741
Режим совместимости: 8.3.16
10 Гений 1С
 
гуру
20.06.22
20:15
Короче, понял, что там измененияиконтроль не срабатывали. Почему - не понятно.
Оставил процедуры в расширении, заменил измененияиконтроль временно на вместо.
Может позже верну в нормальное русло, говорят релизы более высокие нормально работают.
11 Гений 1С
 
гуру
20.06.22
20:15
Понял по информации для тех поддержки, там на все процедуры ругань шла.