Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Программно отключить выполнение расширения

Программно отключить выполнение расширения
Я
   Logitech3004
 
04.07.19 - 07:59
Расширение должно срабатывать только при определенных условиях, необходимо программно отключить выполнение расширения или вернуть выполнение заимствованных процедур.
Есть у кого-нибудь догадки? Возможно ли вообще такое.
 
 
   shuhard
 
1 - 04.07.19 - 08:03
(0) что мешает дописать код самого расширения ?
   Logitech3004
 
2 - 04.07.19 - 08:10
(1) Если содержимое заимствованной процедуры изменится в следующих обновлениях, это не сыграет нам на руку.
   Индиго
 
3 - 04.07.19 - 08:20
Если программно, то все равно где ты это напишешь ,в любом месте если что "оно не сыграет на руку". Так что логичнее писать в расширении
   unregistered
 
4 - 04.07.19 - 08:45
(0) Невозможно включить или выключить расширение "на лету". Оно в принципе либо включено, либо нет. Так что см.(1) - в расширении дописывайте проверку своих условий.
Что касается вопроса изменения заимствованных и расширенных процедур, то ваша ситуация никак не усложнит и не упростит жизнь, т.к. работоспособность и корректность работы и совместимости расширения с новой версией конфы поставщика нужно проверять всегда и пожизненно.
Либо рассмотрите какие-либо другие подходы. Например, отказ от расширения или в принципе иной способ решения вашей задачи.
   lxs
 
5 - 04.07.19 - 08:50
(0) Почитай про разработку расширения и про методы процедур. Там есть такая фишка, например, как ПродолжитьВызов().

В (4) тебе верно сказали, расширение так не работает, да и смысл какой его "передёргивать"? У тебя логика хромает.
   МимохожийОднако
 
6 - 04.07.19 - 09:00
(0) Озвучь хотя бы примерное условие )
   Logitech3004
 
7 - 04.07.19 - 09:16
(6) Например, мое условие проверяет версию продукта. Если версия будет больше заданной в условии, процедура расширения выполняться не должна. Все это условие для функции ПродолжитьВызов().
   unregistered
 
8 - 04.07.19 - 09:22
(7) Если речь об одной единственной процедуре, то вообще не вижу никаких проблем. Я думал, что у вас там масштабный геморрой с переписыванием десятков процедур, куда надо повтыкать проверку условий.
   Logitech3004
 
9 - 04.07.19 - 09:33
(8) Попробую более полно описать проблему.
Если версия меньше требуемой, выполнится функция ПродолжитьВызов(), с переданными параметрами выполнится моя процедура.
Если версия стала равна требуемой, моя процедура выполниться не должна, должна выполниться заимствованная процедура из основной конфигурации. Здесь было бы резонно прописать код этой процедуры в блоке Иначе. И все бы ничего, если не произойдет обновление и код исходной процедуры подвергнется изменению.
   Akela has missed
 
10 - 04.07.19 - 09:34
(4) Да? Тогда каким образом во время процедуры обновления ИБ расширение не выполняется?
   unregistered
 
11 - 04.07.19 - 09:43
(10) Чтобы ответить на этот вопрос, нужен конкретный пример.
Включение или выключение расширения подразумевает под собой неявное динамическое обновление конфигурации. Постоянное включение/выключение расширения в качестве решение задачи автора ветки рассматривать нельзя.
   тарам пам пам
 
12 - 04.07.19 - 10:11
Если я правильно понимаю, то пилится патч с помощью расширения, который соответственно должен срабатывать только на определенных версиях конфы.

В последних БСП (3 и выше) вроде что-то есть на эту тему - беглый поиск нашел некий макет "СкриптУдаленияПатчей" в обработке УстановкаОбновлений.
   Akela has missed
 
13 - 04.07.19 - 10:13
(11) Ну возьми например процедуру УправлениеДоступомПереопределяемый.ПриЗаполненииВидовДоступа() - она 100% выполняется во время обновления ИБ.
Если вносить изменения по старинке - все ок. Но делать через расширение - ничего не происходит.
Значит где-то перед запуском процедур обновления расширения временно отрубаются.
   Logitech3004
 
14 - 04.07.19 - 11:24
(12) ПродолжитьВызов()
Описание:
Вызывает переопределенный метод или обработчик события из расширяемой конфигурации.

По сути это и было нужно, сразу не сообразил. Мысль со со скриптом из БСП тоже интересная. Спасибо за ответы.
   shuhard
 
15 - 04.07.19 - 12:31

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.