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

1С:Предприятие :: 1С:Предприятие 8 общая

Программное использование "Универсального обмена XML" с Планом Обмена

Программное использование "Универсального обмена XML" с Планом Обмена
Я
   Midasu
 
05.09.16 - 16:26
Добрый день, товарищи.
Типовая обработка "УниверсальныйОбменДаннымиXML".
Требуется её программный вызов с использованием плана обмена.

УОД_XML = Обработки.УниверсальныйОбменДаннымиXML.Создать();
УОД_XML.РежимОбмена = "Выгрузка";
УОД_XML.ИмяФайлаПравилОбмена = ИмяФайлаПравилОбмена;
УОД_XML.ИмяФайлаОбмена = ИмяФайлаОбмена;
УОД_XML.ЗагрузитьПравилаОбмена();

Пытаюсь заполнить поля с узлами плана обмена:
Для каждого Строк из УОД_XML.ТаблицаПравилВыгрузки.Строки Цикл
   Для каждого СтрокЭлем из Строк.Строки Цикл
      СтрокЭлем.СсылкаНаУзелОбмена = ПланыОбмена.План.НайтиПоКоду("План").Ссылка;
   КонецЦикла;                             
КонецЦикла;

В табло вижу, что узлы заполнены чем надо.
Но при выгрузке план обмена не оказывает влияния и выгружает всё по всем элементам.

Подскажите, товарищи, как программно передать план обмена этой обработке.
Очень нужно, верю в Вас. :3
 
 
   FIXXXL
 
1 - 05.09.16 - 17:29
там много на интерактив и ПостроительОтчета завязано
ставь точки останова в форме, смотри что происходит при указании узлов
   Александр_Тверь
 
2 - 05.09.16 - 17:37
Если интересно, можешь взять как образец:
http://catalog.mista.ru/public/465898/
   Fragster
 
3 - 05.09.16 - 18:50
БСП?
   Midasu
 
4 - 06.09.16 - 09:45
(1) Дичь там дикая, не хочется в канализацию лезть.
Вот и спрашивал опыта.

(2) Не могу, мне нужен УОД XML.

(3) Да.

Эх, а всего-то лишь нужен человек с опытом использования УОД XML в варианте правила+план обмена... Ищу Вас.
   Midasu
 
5 - 06.09.16 - 09:48
С опытом программного использования*
На клиенте в форме работает как надо.
   Serg_1960
 
6 - 06.09.16 - 10:39
Не знаю у кого как, а меня в обработке ТаблицаПравилВыгрузки - дерево. И заполняются строки дерева рекурсивным обходом (функция из УниверсальныйОбменДаннымиXML):

Процедура УстановитьУзелОбменаУСтрокДерева(Дерево, УзелОбмена)
    
    Для Каждого Строка Из Дерево Цикл
        
        Если Строка.ЭтоГруппа Тогда
            
            УстановитьУзелОбменаУСтрокДерева(Строка.Строки, УзелОбмена);
            
        Иначе
            
            Строка.СсылкаНаУзелОбмена = УзелОбмена;
            
        КонецЕсли;
        
    КонецЦикла;
    
КонецПроцедуры
   Serg_1960
 
7 - 06.09.16 - 11:04
"Но при выгрузке план обмена не оказывает влияния и выгружает всё по всем элементам."- может быть у тебя в плане обмена зарегистрированы все элементы? Проверь регистрацию изменений в плане.

Перед началом выгрузки реквизиту обработки "ТипУдаленияРегистрацииИзмененийДляУзловОбменаПослеВыгрузки" присвой значение 2(число). Если при повторной выгрузке в файле сообщений не будет объектов, то регистрация изменений из план обмена (и сам план обмена) всё-таки работают, не игнорируются.
   Fragster
 
8 - 06.09.16 - 12:59
   Fragster
 
9 - 06.09.16 - 12:59
код из (0) и (6) точно не нужен
   Midasu
 
10 - 06.09.16 - 16:22
(6) (7) Кстати, уже утром разобрался, забыл, что не все объекты по группам, и некоторым элементам без иерархии в итоге план обмена не присваивается. (6) - правильный код.

(9) Скудно про УОД_XML там, точнее ничего, как раз по правильному пути я шёл, только чуть косячнул. В (6) всё правильно.
 
 Рекламное место пустует
   Fragster
 
11 - 06.09.16 - 16:28
(10) выполнить все, что там "скудное" есть, и всё будет работать, включая обмен по вебсервисам по расписанию или электронной почте
   Fragster
 
12 - 06.09.16 - 16:29
без кода из (6)
   Fragster
 
14 - 06.09.16 - 16:29
и (0)
   Midasu
 
15 - 07.09.16 - 09:28
(11) Нельзя мне по веб-сервисам, нужен локальный обмен через xml.
   Serg_1960
 
16 - 07.09.16 - 10:02
Имхо: сканируешь регистрацию изменений по плану обмена; добавляешь в таблицу обработки объекты; делаешь выгрузку; очищаешь регистрацию (можно при загрузке данных). Таким образом универсальный обмен даже не догадывается о плане обмена.
   Fragster
 
17 - 07.09.16 - 11:02
(15) локальный, конечно же, тоже работает. и через com, и через файлы.
   vi0
 
18 - 07.09.16 - 11:09
(0) а разве не обработку ОбменДаннымиXML нужно использовать?
   Midasu
 
19 - 09.09.16 - 08:54
(17) Ок, тогда спасибо, будет время - освою, пока УОД_XML спас.

(18) Может кому-то нужно, у меня УОД_XML неплохо справился с задачей.

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