![]() |
|
БП 3.0 Перехватить ПриСозданииНаСервере в модуле типа Переопределяемый | ☑ | ||
---|---|---|---|---|
0
bvb
25.01.24
✎
14:34
|
Добрый день
Цель : Хочу переопределить события создания формы на сервере для программного создания нужных реквизитов в расширении Думал переопределить метод ПОСЛЕ ПриСозданииНаСервере из модуля ПрослеживаемостьСобытияФормПереопределяемый а он не вызывается. // Возникает на сервере при создании формы. // // Параметры: // Форма - УправляемаяФорма - создаваемая форма, // Отказ - Булево - признак отказа от создания формы, // СтандартнаяОбработка - Булево - признак выполнения стандартной обработки. // Процедура ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка) Экспорт Возврат; КонецПроцедуры Или я нет так понял технологию использования переопределяемого модуля ? Для сравнения в УТ 11.4 Расширяю в модуле СобытияФорм Процедура Расш1_ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка, ДополнительныеПараметры) //Иконка рядом с датой в измененых документах Если Форма.ИмяФормы = "Документ.ЗаказНаВнутреннееПотребление.Форма.ФормаДокумента" ИЛИ Форма.ИмяФормы = "Документ.ЗаказНаПеремещение.Форма.ФормаДокумента" Тогда НоваяДекорация = Форма.Элементы....... |
|||
1
Волшебник
25.01.24
✎
14:38
|
а где же ваше ПОСЛЕ?
|
|||
2
bvb
25.01.24
✎
15:45
|
(1)
Если в УТ то не попало в копипасту. А так все работает &После("ПриСозданииНаСервере") Процедура Расш1_ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка, ДополнительныеПараметры) Если Форма.ИмяФормы = "Документ.ЗаказНаВнутреннееПотребление.Форма.ФормаДокумента" а В БП я прежде чем писать хотел бы увидеть останов на точке останова Я вообще не очень понимаю назначение модулей содержащих в название "Переопределяемый". Зачем они нужны если метод можно дополнить / переопределить в расширении |
|||
3
unenu
25.01.24
✎
15:56
|
(2) Так понятнее?
Процедура ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка) Экспорт МетодГдеМеняВоткнулиУникальный_АКодВнутриМеняПереопределяемый(Форма); Возврат; КонецПроцедуры |
|||
4
bvb
25.01.24
✎
16:03
|
(3)Да понятно.
Т.е. предполагается что в этом случае на конфе нужно включать возможность изменения ? |
|||
5
bvb
25.01.24
✎
16:09
|
т.е. это анахронизм оставшийся от времен когда не было механизма расширений ?
|
|||
6
ДедМорроз
25.01.24
✎
16:39
|
Модули Переопределяемый используются для расширения функционала,чтобы в расширениях можно было переопределить действие и никак не пересекаться с кодом модуля,который в новых версиях будет меняться.
Другими словами,это аналог подписки на определенные разработчиком события,что напрямую реализовать в коде конфигурации достаточно сложно. |
|||
7
bvb
25.01.24
✎
16:58
|
(6) Я тоже так думал но отладчиком при открытии документа в эту процедуру не входит.
Тогда какой смысл ее переопределять и что тогда переопределять ? |
|||
8
ДедМорроз
25.01.24
✎
17:15
|
Она изначально пустая.
Поэтому,в расширении часто пишут Вместо. |
|||
9
bvb
25.01.24
✎
18:50
|
(8) Я понял. Это все замечательно.
но в конфигурации он не вызывается. ПриСоздании на сервере из ПодключаемыеКоманды вызывается а из ПрослеживаемостьСобытияФормПереопределяемый нет. В чем тогда смысл я не понимаю? |
|||
10
bvb
25.01.24
✎
18:56
|
А все понял.
Слово прослеживаемые означает что этот модуль вызывается только из документов касающихся прослеживаемых товаров. Из других не вызывается. Следовательно изначальный посыл дополнить ПодключаемыеКоманды был правильный. Поясню : я хочу собрать все доработки форм в одном модуле а не дополнять при ПриСозданииНаСервере в каждом документе |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |