Имя: Пароль:
1C
1С v8
&После("ОбработкаПроведения") в расширении не выполняется
Ø (Фрэнки 30.06.2022 14:01)
, ilou
0 vdeemer
 
30.06.22
09:25
Добрый день!
Добавляю в расширение документ, в модуле пишу процедуру обработки проведения с аннотацией &После("ОбработкаПроведения"), а она не запускается. Подскажите, пожалуйста, куда можно глянуть и где палочкой потыкать?
Спасибо.
1 mikecool
 
30.06.22
09:26
а другие процедуры После выполняются? а то может у тебя режим совместимости тухлый
2 vdeemer
 
30.06.22
09:41
(1) А там она одна, других нет. Режим совместимости расширения привел к родной базе, не помогло. Причем это же самое расширение, но на клиент-серверной базе работает. А размер файла базы ушел за 10 гигабайт, это может влиять?
3 arsik
 
гуру
30.06.22
09:53
(2) В файловой без пользователя не крутится. Только вебсервер еще может у себя крутить.
4 arsik
 
гуру
30.06.22
09:54
+(3)  Сорян. Веткой промахнулся
5 youalex
 
30.06.22
10:05
Может все таки не применилось? Посмотри в Предприятии, в О программе - есть там твое расширение?
6 Momus
 
30.06.22
10:07
Безопасный режим стоит?
7 titan_aleks
 
30.06.22
10:13
сделайте &Перед
8 Dmitrii
 
гуру
30.06.22
10:18
А подписки на события уже не модно?
Зачем применять столь неочевидные решения, которые потом хрен кто найдёт, разбираясь в том почему косячит проведение?

Или у вас режим совместимости не позволяет добавлять в расширении подписки на события?
9 СвинТуз
 
30.06.22
10:22
Палочкой неприятные вещи ворошат.

Мода она такая. Напишут потом палочкой.
(8) нормально сказал.
10 ptiz
 
30.06.22
10:26
(0) Покажи точно как пишешь процедуру, строки после директивы &После
11 ptiz
 
30.06.22
10:27
(0) И проверь, что 1С вообще заходит в ОбработкаПроведения в модуле документа.
12 mikecool
 
30.06.22
10:29
(8) если не можешь найти расширение - то какой ты спец? )
13 Dmitrii
 
гуру
30.06.22
10:37
(12) Ну да, ну да.

Часть подписок на проведение в самой конфигурации, часть подписок в разных расширениях с разными назначениями (дополнение, исправление, адаптация), в этих же расширениях расширения обработчиков проведения &Перед/&После/&Вместо в модулях объектов...
А потом пришедший спец должен за пять минут во всём этом *овнопрограммировании разобраться и понять в какой последовательности вообще тут что-то происходит и почему.
Для полного счастья не хватает только в обработке проведения вкорячить код, изменяющий и перезаписывающий объект документа по данным этого проведения.
14 Ryzeman
 
30.06.22
10:39
(13) типичная УТ11 с доработками)
15 vdeemer
 
30.06.22
10:43
(8) Конфигурация на замке, самое очевидное решение допроведения по добавленным в расширение регистрам - ОбработкаПроведения в модуле документа в расширении. Лепить подписку в расширении в данном конкретном случае?
(10)(11) Вообще туда не заходит
Все началось после обновления БП 3.0.113.17 на 3.0.115.15, до этого момента полтора года (начиная с релиза 3.0.84.46) все работало изЮмительно. Откатил базу на копию до обновления релиза, сейчас обновляю на стенде с другой платформой.
16 Фрэнки
 
30.06.22
10:49
(15) так она у тебя в файловой не заходит тоже?
17 Фрэнки
 
30.06.22
10:50
(15) платформу тоже обновлял, чтоб накатить актуальную БП ?
Скорей всего, что режим отладки на сервере надо рестартануть
18 mikecool
 
30.06.22
10:51
(13) а это уже уровень пришедшего спеца...
19 vdeemer
 
30.06.22
10:52
(16) (17) База файловая, см.(2). Другая платформа на другом ПК, куда перенес файл базы.
20 vdeemer
 
30.06.22
10:55
На другом ПК обновил конфу, запускаю - все работает. Чудеса...
21 Dmitrii
 
гуру
30.06.22
10:57
(15) >>  Конфигурация на замке.

Вообще к теме не относится.
Замочковый фетишизм - это к докторам.
Ради чего вообще делать такие доработки в расширении - личная проблема авторов идеи. Объяснения которой, кроме болезненной жажды видеть замочки, они найти вряд ли смогут.

>> Лепить подписку в расширении в данном конкретном случае?

Я не настаиваю. Делайте так, как считаете нужным. Может у вас там так принято.
Но было бы логичным делать, руководствуясь здравым смыслом.
Если для какого-то события есть возможность создать подписку и обработчик этой подписки, то зачем извращаться и прятать код в неочевидных местах, - для меня загадка.
Единственное что может помешать - режим совместимости расширения и конфигурации, т.к. (если я ничего не путаю) создавать подписки на объекты в расширении стало возможным только с какой-то конкретной версии платформы.
22 Dmitrii
 
гуру
30.06.22
11:00
Как добавляли обработчик в расширение?

Я надеюсь в модуле объекта основной конфигурации нажали правую кнопку мыши на процедуре ОбработкаПроведения и в контекстном меню выбрали пункт "Добавить в расширение", за тем выбрали "После"?
Или тупо в модуле объекта в расширении начали что-то писать?

Если вдруг (ну мало ли?) второй вариант, то попробуйте всё удалить и сделать как я написал (ПКМ на процедуре ОбработкаПроведения и в контекстном меню выбрать пункт "Добавить в расширение").
23 vdeemer
 
30.06.22
11:06
(21)(22) Ну лепить подписки можно тоже назвать подписочным фетишизмом, так как очевидных выгод этого подхода не вижу, неудобство же чтения логики доработки налицо. В расширении содержатся новые объекты и средства их обработки, поэтому Ваш пиетет к подпискам не могу поддержать. Соответственно, здравый смысл тоже мимо.
Смена режима совместимости не помогла. Повторюсь, все работало до последней смены релиза (БП 3.0.113.17 на 3.0.115.15) и при повторе обновления резервной копии на другом компьютере все прошло на ура. Сейчас пришло в голову почистить кэш, но базу - работать людям надо - уже вернул на копию до обновления.
24 1Сергей
 
30.06.22
12:17
(0) Через ПКМ делал?
25 Aleksey
 
30.06.22
13:12
У обработчиков событий в расширении есть свои нюансы. Их нужно прописывать в самом расширение
26 Aleksey
 
30.06.22
13:13
Перехват обработчиков событий и собственные обработчики в модулях объектов, менеджеров и т.п.
Перехват любых методов в этих модулях выполняется точно так же, как было описано в начале. Однако если перехватываемая процедура является обработчиком события, существуют некоторые особенности. Эти особенности связаны с тем, что в этих модулях все обработчики событий имеют фиксированные имена.

https://wonderland.v8.1c.ru/blog/rasshirenie-moduley/
27 Гений 1С
 
гуру
30.06.22
13:21
(0) в журнале регистрации ошибки посмотри. Может расширение в целом отключено
28 ptiz
 
30.06.22
13:31
(15) Ну раз у тебя программа не заходит в ОбработкаПроведения() основного кода, то конечно она не зайдет в ОбработкаПроведения() расширения.
29 vdeemer
 
30.06.22
13:44
(24) Если ПКМ="Правая кнопка мыши", то нет. Обычный диалог добавления обработчика модуля объекта в расширении с выбором аннотации.
(26) По этому я в курсе, в (0) указал аннотацию.
(27) Расширение включено, ошибок в ЖР нет, другая часть расширения (изменение заимствованных объектов и добавление новых) работает.
(28) Речь идет именно о модуле расширения, с модулем в основной конфигурации проблем нет.
Вопрос решен обходным путем (обновление на другой платформе), причина гнусного поведения не определена, т.к. база восстановлена из резервной копии и почистить кэш не представляется возможным. Всем спасибо.
Независимо от того, куда вы едете — это в гору и против ветра!