7 февр. 2021 г.

Переносим логику выполнения кода в модуль внешней обработки

 Бывает затруднено динамическое обновление клиентской базы, поэтому часто програмный код, который "не устойчив" пишу на стороне модуля внешней обработки, который потом вызываю в нужном для себе месте. 

В таком случаи, при нужде оперативного изменения логики, логика изменятся во внешней обработке, а потом просто выполняю обновление данной обработки во внешних обработках.

В результате выходт, как бы "онлайн" изменения логики без нужды обновление конфигурации.

Пример вызова процедуры из параметрами, которая находиться в модуле внешней обработки 

с именем "[ИС] Внешние процедуры и функции".

    Попытка
        //получение обработки   
        ОбработкаОбъект = исОбщегоНазначения.ОбработаОбъектПолучить("[ИС] Внешние процедуры и функции");
        Если ОбработкаОбъект = Неопределено Тогда 
            Возврат
        КонецЕсли;
        //запуск процедуры в обработке  
        СтруктураПараметров = Новый Структура("ЗначениеДляПеревода, КодЯзыкаПоУмолчанию, ВозвратПустогоЗначенияЕслиНетПеревода, УспешноОбработанАлгоритм, ТекстНовоеЗначение", ЗначениеДляПеревода, КодЯзыкаПоУмолчанию, ВозвратПустогоЗначенияЕслиНетПеревода, Ложь, ТекстНовоеЗначение);
        ОбменДаннымиСервер.ВыполнитьПроцедуруОбработки(ОбработкаОбъект, "ОткрытьФормуПеревода", СтруктураПараметров);   
        УспешноОбработанАлгоритм = СтруктураПараметров.УспешноОбработанАлгоритм;
        //удалим внешнюю временную обработку        
        УдалитьФайлы(ОбработкаОбъект.ИспользуемоеИмяФайла); 
    Исключение  
    КонецПопытки;

Общий модуль "исОбщегоНазначения" можно посмотреть в этой публикации

Комментариев нет:

Отправить комментарий

 

CopyPaste Copyright © 2017 - |- Шаблон создан O Pregador - |- Отредактирован myr4ik07