|
УФ : Программное добавление/ изменение реквизитов для различных форм в одном модуле |
☑ |
0
bvb
26.01.23
✎
14:06
|
Добрый день
Покритикуйте меня, ибо нет уверенности что делаю правильно.
Мне нужно в расширении в различных формах документах и списках документов добавлять / менять внешний вид реквизитов.
Для этого ранее я добавлял форму в расширении и в процедуре добавлял
&НаСервере
Процедура Расш_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
НовыйЭлемент = Элементы.Вставить……
Это не удобно :
Нужно добавлять все изменяемые формы в расширении (а их много), а так как они меняются почти с каждым обновлением, то в расширении тоже нужно жать кнопку обновить.
И я решил сделать это все в одно месте :
При создании на сервере всегда вызывается ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
Я добавил в расширение модуль “Подключаемые команды”
Добавил в нем к ПриСозданииНаСервере
&После("ПриСозданииНаСервере")
Процедура Расш_ПриСозданииНаСервере(Форма, ПараметрыРазмещения)
Если Форма.ИмяФормы = "Документ.ГТДИмпорт.Форма.ФормаДокумента" Тогда НовыйЭлемент = Форма.Элементы.Вставить…
правильно ли я сделал ?
|
|
1
Fedor-1971
26.01.23
✎
14:20
|
(0) А что смущает?
|
|
2
Мультук
гуру
26.01.23
✎
14:59
|
(0) Все зависит от конфигурации
Например в УТ почти в каждой "ФормаДокумента" есть вызовы
СобытияФорм.ПриСозданииНаСервере(ЭтаФорма, Отказ, СтандартнаяОбработка);
ПодключаемыеКоманды.ПриСозданииНаСервере(...)
А вот в форме документ.КассоваяСмена.ФормаДокумента этих вызовов нет. Печаль.
В остальном -- "все так делают".
|
|
3
mistеr
26.01.23
✎
15:26
|
(0) Случайно не аналог допреквизитов из БСП велосипедишь?
Кстати, можно туда встроиться.
|
|
4
bvb
26.01.23
✎
15:30
|
(1) Перованачальная была задумка использовать подписку на события.
|
|
5
bvb
26.01.23
✎
15:31
|
Теперь бы вот как то перехватить обработчики события реквизитов
без затаскивания формы в расширения
&НаКлиенте
Процедура Расш_ТоварыНоменклатураНачалоВыбораПосле(Элемент, ДанныеВыбора, СтандартнаяОбработка)
|
|
6
Мультук
гуру
26.01.23
✎
15:52
|
(5)
Это не про 1С
Ты можешь программно подменить обработчик реквизита на другой обработчик, но лежать он должен в модуле формы, увы.
|
|
7
FIXXXL
26.01.23
✎
17:02
|
(5) сейчас нет ЕРП под рукой, насколько помню делал что-то типа:
Обработчиком назначал процедуру родной формы Подключаемый_ЧегоТоТам, она заходила в переопределяемый модуль, далее перенаправление в мой общий модуль, где уже парсил через попытку кто пришел и откуда и вызывал уже нужную процедуру моего модуля
|
|
8
bvb
27.01.23
✎
11:03
|
(8)Звучит очень круто но непонятно ничего
|
|