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

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

КД 2. Выгрузка из плана обмена

КД 2. Выгрузка из плана обмена
Я
   Aswed
 
18.10.18 - 13:31
Написал собственные правила обмена между двумя конфигурациями.
Выборка документов была сделана по периоду. Теперь возникла необходимость обмениваться изменёнными объектами.

Для этого создал ПланОбмена, написал для него регистрацию объектов.

Но теперь ни как не могу найти статью как имеющиеся правила обмена переделать так, что бы они брали данные для выгрузки из плана обмена.
Ткните носом пжалста или даже лучше дайте пример.
 
 
   Aswed
 
1 - 18.10.18 - 14:37
АП
   scanduta
 
2 - 18.10.18 - 14:45
(0)Элементарно. Делай правила выгрузки данных по произвольному алгоритму
   Chikko
 
3 - 18.10.18 - 14:51
Если руками запускать из обработки "обмен в формате хмл" то да, как в (2), а если как в типовой-там все само сделается средствами бсп, тока правила подсунь, как настроить-в демке бсп обмен УОП.
   Aswed
 
4 - 18.10.18 - 15:45
(2) Нет. Лишнее.
   Aswed
 
5 - 18.10.18 - 15:45
Вот полностью рабочий код. Правила обмена теже самые что и были. Просто при выгрузке указываю нужный мне узел и всё.


Процедура КнопкаВыполнитьНажатие(Кнопка)
    
    УникальныйИдентификатор_  = Новый УникальныйИдентификатор();
    ИмяВременногоФайлаПротоколаОбмена = КаталогВременныхФайлов() + УникальныйИдентификатор_ + ".txt";
    
    
    ИмяФайлаДанных = "C:\ДанныеОбменаДанными\ДанныеОбменаАльянсЮг.xml";
    ИмяФайлаПравил = "C:\ПравилаОбменаДанными\ПравилаОбменаДанными_АльянсЮг.xml";    //ПЕРЕДЕЛАТЬ через внутреннее хранение

    
    Обработка = Обработки.УниверсальныйОбменДаннымиXML.Создать();
    Обработка.ИмяФайлаОбмена                             = ИмяФайлаДанных;
    Обработка.РежимОбмена                                 = "Выгрузка";
    Обработка.ИмяФайлаПравилОбмена                        = ИмяФайлаПравил;
    Обработка.ВыводВПротоколСообщенийОбОшибках         = Истина;
    Обработка.ВыводВПротоколИнформационныхСообщений = Ложь;
    Обработка.ИмяФайлаПротоколаОбмена               = ИмяВременногоФайлаПротоколаОбмена;
    
    Обработка.НеВыводитьНикакихИнформационныхСообщенийПользователю    = Ложь;        //Истина

    Обработка.ВыводВОкноСообщенийИнформационныхСообщений             = Истина;    //Ложь

    
    Обработка.ЗагрузитьПравилаОбмена();    
    
    Узел = ОбменДанными.ПолучитьУзелОбмена(Организация);
    
    //Обработка параметров пакета

    УстановитьУзелОбменаУСтрокДерева(Обработка.ТаблицаПравилВыгрузки.Строки, Узел);
    
    ДатаНачалаВыгрузки = ТекущаяДатаСеанса();
    
    УстановитьПривилегированныйРежим(Истина);
    Обработка.ВыполнитьВыгрузку();
    ВыгрузкаВыполнена = НЕ Обработка.ФлагОшибки;
    УстановитьПривилегированныйРежим(Ложь);

    Сообщить("Выгрузка закончена!");
    
КонецПроцедуры

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

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