|
Программно отключить выполнение расширения | ☑ | ||
---|---|---|---|---|
0
Logitech3004
04.07.19
✎
07:59
|
Расширение должно срабатывать только при определенных условиях, необходимо программно отключить выполнение расширения или вернуть выполнение заимствованных процедур.
Есть у кого-нибудь догадки? Возможно ли вообще такое. |
|||
1
shuhard
04.07.19
✎
08:03
|
(0) что мешает дописать код самого расширения ?
|
|||
2
Logitech3004
04.07.19
✎
08:10
|
(1) Если содержимое заимствованной процедуры изменится в следующих обновлениях, это не сыграет нам на руку.
|
|||
3
Индиго
04.07.19
✎
08:20
|
Если программно, то все равно где ты это напишешь ,в любом месте если что "оно не сыграет на руку". Так что логичнее писать в расширении
|
|||
4
unregistered
04.07.19
✎
08:45
|
(0) Невозможно включить или выключить расширение "на лету". Оно в принципе либо включено, либо нет. Так что см.(1) - в расширении дописывайте проверку своих условий.
Что касается вопроса изменения заимствованных и расширенных процедур, то ваша ситуация никак не усложнит и не упростит жизнь, т.к. работоспособность и корректность работы и совместимости расширения с новой версией конфы поставщика нужно проверять всегда и пожизненно. Либо рассмотрите какие-либо другие подходы. Например, отказ от расширения или в принципе иной способ решения вашей задачи. |
|||
5
lxs
04.07.19
✎
08:50
|
(0) Почитай про разработку расширения и про методы процедур. Там есть такая фишка, например, как ПродолжитьВызов().
В (4) тебе верно сказали, расширение так не работает, да и смысл какой его "передёргивать"? У тебя логика хромает. |
|||
6
Мимохожий Однако
04.07.19
✎
09:00
|
(0) Озвучь хотя бы примерное условие )
|
|||
7
Logitech3004
04.07.19
✎
09:16
|
(6) Например, мое условие проверяет версию продукта. Если версия будет больше заданной в условии, процедура расширения выполняться не должна. Все это условие для функции ПродолжитьВызов().
|
|||
8
unregistered
04.07.19
✎
09:22
|
(7) Если речь об одной единственной процедуре, то вообще не вижу никаких проблем. Я думал, что у вас там масштабный геморрой с переписыванием десятков процедур, куда надо повтыкать проверку условий.
|
|||
9
Logitech3004
04.07.19
✎
09:33
|
(8) Попробую более полно описать проблему.
Если версия меньше требуемой, выполнится функция ПродолжитьВызов(), с переданными параметрами выполнится моя процедура. Если версия стала равна требуемой, моя процедура выполниться не должна, должна выполниться заимствованная процедура из основной конфигурации. Здесь было бы резонно прописать код этой процедуры в блоке Иначе. И все бы ничего, если не произойдет обновление и код исходной процедуры подвергнется изменению. |
|||
10
Akela has missed
04.07.19
✎
09:34
|
(4) Да? Тогда каким образом во время процедуры обновления ИБ расширение не выполняется?
|
|||
11
unregistered
04.07.19
✎
09:43
|
(10) Чтобы ответить на этот вопрос, нужен конкретный пример.
Включение или выключение расширения подразумевает под собой неявное динамическое обновление конфигурации. Постоянное включение/выключение расширения в качестве решение задачи автора ветки рассматривать нельзя. |
|||
12
тарам пам пам
04.07.19
✎
10:11
|
Если я правильно понимаю, то пилится патч с помощью расширения, который соответственно должен срабатывать только на определенных версиях конфы.
В последних БСП (3 и выше) вроде что-то есть на эту тему - беглый поиск нашел некий макет "СкриптУдаленияПатчей" в обработке УстановкаОбновлений. |
|||
13
Akela has missed
04.07.19
✎
10:13
|
(11) Ну возьми например процедуру УправлениеДоступомПереопределяемый.ПриЗаполненииВидовДоступа() - она 100% выполняется во время обновления ИБ.
Если вносить изменения по старинке - все ок. Но делать через расширение - ничего не происходит. Значит где-то перед запуском процедур обновления расширения временно отрубаются. |
|||
14
Logitech3004
04.07.19
✎
11:24
|
(12) ПродолжитьВызов()
Описание: Вызывает переопределенный метод или обработчик события из расширяемой конфигурации. По сути это и было нужно, сразу не сообразил. Мысль со со скриптом из БСП тоже интересная. Спасибо за ответы. |
|||
15
shuhard
04.07.19
✎
12:31
|
(14) + красивая картинка
https://wonderland.v8.1c.ru/blog/rasshirenie-moduley/?sphrase_id=5493 |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |