Вход | Регистрация
 

Обмен по правилам КД 2

Обмен по правилам КД 2
Я
   Niang
 
21.09.20 - 11:06
Добрый день! Нужен совет. Есть правила обмена между БП 3.0 и УНФ. Правила написаны на КД 2.0, обмениваемся через обработки, что не удобно (из одной базы выгрузи, во вторую зайди, загрузи). Нужно сделать чтобы обмен можно было совершать из БП, без дополнительных манипуляций. Вариант с подменой правил в типовом плане обмена не подходит, т.к. типовой обмен через КД 3.0. Вариант с написанием своего плана обмена тоже не подошел, т.к. БП не дописанная, а через расширение добавить план обмена не получилось. Возможно ли как-то обработкой из БП обратиться к УНФ (например через COM) и выгрузить необходимые мне документы по правилам без плана обмена?
   zippygrill
 
1 - 21.09.20 - 11:13
например через файл xml
    
        //2.Выгрузка

    
    ИмяФайлаВыгрузки = "\\srv\ERP_SYNC\ERP_UPP\MessageERP_UPP.xml";
    Если ПроверитьСуществованиеФайла(ИмяФайлаВыгрузки) Тогда//Не прочитано другой программой. Необходимо ждать пока другая программа прочитает, загрузит данные и удалит файл.

        Возврат;
    КонецЕсли;
    
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    з_ОбменДаннымиСУПП.Ссылка
        |ИЗ
        |    ПланОбмена.з_ОбменДаннымиСУПП КАК з_ОбменДаннымиСУПП
        |ГДЕ
        |    з_ОбменДаннымиСУПП.Ссылка <> &Ссылка";
    
    Запрос.УстановитьПараметр("Ссылка", ПланыОбмена.з_ОбменДаннымиСУПП.ЭтотУзел());
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Если ВыборкаДетальныеЗаписи.Следующий() Тогда         
        ОбъектОБработки = Обработки.УниверсальныйОбменДаннымиXML.Создать();
        ОбъектОБработки.ИмяФайлаПравилОбмена   =  "\\srv\ERP_SYNC\ERP_UPP\ERP_UPP_Rules.xml";
        ОбъектОБработки.ЗагрузитьПравилаОбмена();
        ОбъектОБработки.ТипУдаленияРегистрацииИзмененийДляУзловОбменаПослеВыгрузки = 1;
        ОбъектОБработки.ИмяФайлаОбмена = ИмяФайлаВыгрузки;
        УстановитьУзелОбменаУСтрокДерева(ОбъектОБработки.ТаблицаПравилВыгрузки.Строки, ВыборкаДетальныеЗаписи.Ссылка);
        ОбъектОБработки.ВыполнитьВыгрузку();
    КонецЕсли;
   Андроны едут
 
2 - 21.09.20 - 11:18
(0) обмен через ком можно делать, если объемы небольшие.
   zippygrill
 
3 - 21.09.20 - 11:19
А что тебе мешает использовать план обмена от КД3?
Прочитал изменения из плана СинхронизацияДанныхЧерезУниверсальныйФормат и удалил. Если не используете конечно. Или создай  доп.узел в этом плане
   zippygrill
 
4 - 21.09.20 - 11:23
к тому же, в БП3 последняя вроде режим совместимости такой что план обмена в расширении ТОЧНО можно добавить.
   Niang
 
5 - 21.09.20 - 11:25
(3) у меня не типовые правила. Через план обмена все выгружается через универсальный формат
   RomanYS
 
6 - 21.09.20 - 11:26
(5) План обмена - это регистрация изменений. Выгружать ты можешь как хочешь
   zippygrill
 
7 - 21.09.20 - 11:28
(5) ну епрст, план нужен только для того чтобы изменения регистрировать
   Niang
 
8 - 21.09.20 - 11:30
(7) разве не в плане прописывается через какие правила выгружать?
   Pro-tone
 
9 - 21.09.20 - 11:31
(0) могу предложить свою нетленку, которая реализует регулярный обмен по правилам КД2 в автоматическом режиме http://catalog.mista.ru/public/461158/
   Niang
 
10 - 21.09.20 - 11:37
(9) зачем мне готовое платное решение? Лучше бы советом помог, в какую сторону копать...
   Обработка
 
11 - 21.09.20 - 11:43
(6) С фига ли.
С помощью плана сначала выгружаешь!
А при загрузке схема выгрузки не нужно ибо в файле обмена уже они сидят.
   Pro-tone
 
12 - 21.09.20 - 11:50
(10) затем что оно проверено временем и является решением "под ключ" чтоб не допиливать обработки еще полгода

по поводу совета куда копать: делай регзадание в каждой базе, чтоб дергало выгрузку и загрузку, по СОМ обращаться тоже можно, но это менее надежный способ чем автономные обработки в каждой базе
   zippygrill
 
13 - 21.09.20 - 12:02
(10) в расширении создай уже свой план обмена и регай свои данные. а через регл задание/внешняя доп.обработка вызов выгрузки и код в (1)
   Lexandr
 
14 - 21.09.20 - 14:59
Я на основе этой статьи сделал http://catalog.mista.ru/public/86109/. Только параметры изменил на непосредственное подключение к другой базе.
   breezee
 
15 - 21.09.20 - 18:51
План обмена - прошлый век. Делайте регистр в расширении. Пишите в него и выгружайте из него
   Обработка
 
16 - 22.09.20 - 10:03
(15) Это еще что за схема такая?
   zippygrill
 
17 - 22.09.20 - 10:08
(16) похоже у него голова - прошлый век..странное утверждение.
   GANR
 
18 - 22.09.20 - 10:09
(0) [а через расширение добавить план обмена не получилось] ну и что, что расширением не получилось? Сбоку добавить да и всё - при обновлениях он мешать не будет. В своё время на БСП 3 обмен на КД 3 сделал - изменений типовых объектов там пренебрежимо мало получается.
   Fedor-1971
 
19 - 22.09.20 - 10:11
(16) Это один из способов регистрации изменённых документов для обмена
Если не нужно регистрировать всё изменённое и есть сложные условия регистрации к обмену, то, по удобству работы, РС несколько удобнее.
   uzerp2
 
20 - 22.09.20 - 10:14
добавь http сервис через расширение
и пуляй запрос из источника в этот сервис
а уже на той стороне куда пульнул запрос обрабатывай что пульнул

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