|
ВыполнитьОбработкуОповещения игнорирует замену процедуры общего модуля? |
☑ |
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
|
Понял по информации для тех поддержки, там на все процедуры ругань шла.
|
|