Имя: Пароль:
1C
1С v8
Обмен между различными конфигурациями
0 held88
 
10.04.15
07:30
Добрый день!

Есть две различные конфигурации. Сделал между ними обмен как в книжке пособие для разработкика радченко.

Поставил на авторегистрацию один справочник Склад. Так вот если справочники идентичны то обмен происходит нормально, но если справочники отличаются, то при загрузке обмена вылетает ошибка об ошибке парсинга хмл.

У меня вопрос. Как сделать обмен между двумя разными конфами?
1) Возможно ли программно производить регистрацию объектов и регистрировать для обмена только половину полей справочника?
2) Возможно ли где то вот тут ПланыОбмена.СоздатьЧтениеСообщения();
Скормить плану обмена правила обмена созданные через конфу конвертация, чтобы 1ска знала как парсить обмен?????
1 Альбатрос
 
10.04.15
07:32
1) Да
2) Что за хрень?
Текст ошибки огласи.
2 ДенисЧ
 
10.04.15
07:32
1. регистрацию можно, половину полей нельзя.
2. Именно правила обмена и нужны.
3 held88
 
10.04.15
07:44
(2) Ну как бы вопрос второй о том как скормить плану обмена правила обмена???

(1)       Хрень следующая.    

ЧтениеXML = Новый ЧтениеXML;
        ЧтениеXML.ОткрытьФайл(Путь2);
        
        // Загрузить из найденного файла
        // *** Инфраструктура сообщений
        ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения();
                        
        // Читать заголовок сообщения обмена данными – файла XML
        ЧтениеСообщения.НачатьЧтение(ЧтениеXML);

        // Сообщение предназначено не для этого узла
        Если ЧтениеСообщения.Отправитель <> Ссылка Тогда ВызватьИсключение "Неверный узел";
        КонецЕсли;
        
         // Удаляем регистрацию изменений для узла отправителя сообщения.
        // *** Служба регистрации изменений
             ПланыОбмена.УдалитьРегистрациюИзменений(ЧтениеСообщения.Отправитель,ЧтениеСообщения.НомерПринятого);
         // Читаем данные из сообщения *** XML-сериализация
        Пока ВозможностьЧтенияXML(ЧтениеXML) Цикл
            // Читаем очередное значение
            Данные = ПрочитатьXML(ЧтениеXML);
            // Не переносим изменение, полученное в главный из неглавного, если есть регистрация изменения
            Если Не ЧтениеСообщения.Отправитель.Главный И
                ПланыОбмена.ИзменениеЗарегистрировано(ЧтениеСообщения.Отправитель, Данные) Тогда
                Сообщение = Новый СообщениеПользователю;
                Сообщение.Текст = " – Изменения отклонены";
                Сообщение.Сообщить();
                Продолжить;
            КонецЕсли;
            // Записать полученные данные
            Данные.ОбменДанными.Отправитель = ЧтениеСообщения.Отправитель;
            Данные.ОбменДанными.Загрузка = Истина;
            Данные.Записать();
        КонецЦикла;

        ЧтениеСообщения.ЗакончитьЧтение();
        
        ЧтениеXML.Закрыть();
4 Альбатрос
 
10.04.15
07:47
(3) Непонятно... У тебя 2 конфы не идентичных конфигураций, ты сделал между ними план обмена, но не сделал правила обмена?
5 Альбатрос
 
10.04.15
07:47
Правила обмена не нужно программно загружать, они прекрасно загружаются интерактивно, в настройках
6 held88
 
10.04.15
07:52
(5) в какое место?????? Вот я открываю план обмена. Там есть закладка основные, в ней состав, там я могу раставить галочки что включать в обмен. Все более я ничего не вижу. Подскажите куда грузить правила.
7 Альбатрос
 
10.04.15
07:53
(6) Конфигурации типовые?
8 held88
 
10.04.15
07:55
(7) Нет. Одна из них вернее типовая. Но загрузить данные нужно во в вторую в которой половины полей нет. Так как обратно, думаю, из конфу с меньшем количсвом полей в конфу с большим количеством полей обмен пройдет нормально, ну конечно, при условии наличия всех полей в двух конфах.
9 Альбатрос
 
10.04.15
07:57
Для типовой:

http://savepic.net/6659704.htm
10 Альбатрос
 
10.04.15
07:59
Для выгрузки из не типовой пробуй использовать универсальный обмен данными.
11 held88
 
10.04.15
07:59
(9) Спасибо - это я в курсе. Как сделать это не для типовой??????
12 Альбатрос
 
10.04.15
07:59
Если в ней нет подобного как в (9)
13 held88
 
10.04.15
08:03
(12) Ну и это тоже понятно. Вопрос был как плану обмена скормить правила для обмена, чтобы потом использовать авторегистрацию. А так это и ежу ясно. Только не уверен что на мобильном приложении обработки из состава "Конвертация данных" будут работать и то что я смогу его там использовать, этот универсальный обмен. А пишу как раз приложение для мобилки, которое должна получить список номенклатуры, а выгрузить список заказов. Понятное дело что обмен можно сделать хоть через эксель. Хотелось бы сделать это через механизмы планов обмена.
14 hhhh
 
10.04.15
08:11
(13) ну в типовых посмотрите как сделано.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший