|   |   | 
| 
 | Программно отключить выполнение расширения | ☑ | ||
|---|---|---|---|---|
| 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 | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |