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

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

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


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

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

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