Имя: Пароль:
1C
 
Обмен по правилам КД 2
,
0 Niang
 
21.09.20
11:06
Добрый день! Нужен совет. Есть правила обмена между БП 3.0 и УНФ. Правила написаны на КД 2.0, обмениваемся через обработки, что не удобно (из одной базы выгрузи, во вторую зайди, загрузи). Нужно сделать чтобы обмен можно было совершать из БП, без дополнительных манипуляций. Вариант с подменой правил в типовом плане обмена не подходит, т.к. типовой обмен через КД 3.0. Вариант с написанием своего плана обмена тоже не подошел, т.к. БП не дописанная, а через расширение добавить план обмена не получилось. Возможно ли как-то обработкой из БП обратиться к УНФ (например через COM) и выгрузить необходимые мне документы по правилам без плана обмена?
1 zippygrill
 
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) обмен через ком можно делать, если объемы небольшие.
3 zippygrill
 
21.09.20
11:19
А что тебе мешает использовать план обмена от КД3?
Прочитал изменения из плана СинхронизацияДанныхЧерезУниверсальныйФормат и удалил. Если не используете конечно. Или создай  доп.узел в этом плане
4 zippygrill
 
21.09.20
11:23
к тому же, в БП3 последняя вроде режим совместимости такой что план обмена в расширении ТОЧНО можно добавить.
5 Niang
 
21.09.20
11:25
(3) у меня не типовые правила. Через план обмена все выгружается через универсальный формат
6 RomanYS
 
21.09.20
11:26
(5) План обмена - это регистрация изменений. Выгружать ты можешь как хочешь
7 zippygrill
 
21.09.20
11:28
(5) ну епрст, план нужен только для того чтобы изменения регистрировать
8 Niang
 
21.09.20
11:30
(7) разве не в плане прописывается через какие правила выгружать?
9 Pro-tone
 
21.09.20
11:31
(0) могу предложить свою нетленку, которая реализует регулярный обмен по правилам КД2 в автоматическом режиме http://catalog.mista.ru/public/461158/
10 Niang
 
21.09.20
11:37
(9) зачем мне готовое платное решение? Лучше бы советом помог, в какую сторону копать...
11 Обработка
 
21.09.20
11:43
(6) С фига ли.
С помощью плана сначала выгружаешь!
А при загрузке схема выгрузки не нужно ибо в файле обмена уже они сидят.
12 Pro-tone
 
21.09.20
11:50
(10) затем что оно проверено временем и является решением "под ключ" чтоб не допиливать обработки еще полгода

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