Имя: Пароль:
1C
 
Миграция предопределенных объектов при использовании плана обмена
,
0 vi0
 
27.08.15
08:10
Добрый день

Есть две разных базы, между которыми настраиваю миграцию объектов с одинаковой структурой. Хочу задействовать план обмена, чтобы корректно работало подтверждение доставки (в файле выгрузки при этом отправляется номер сообщения). Появилась сложность выгрузки реквизитов, ссылающихся на предопределенные элементы, т.к. у них разные УИДы в разных базах – в реквизите приемника появляется битая ссылка.
Если задействовать конвертацию данных + план обмена то не работает подтверждение - в файле выгрузки не отправляется номер сообщения.
Поделитесь, кто как решает этот вопрос?

Стандартный код который использовал при выгрузке:
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьФайл(ИмяФайлаВыгрузки);
ЗаписьXML.ЗаписатьОбъявлениеXML();
ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения();
ЗаписьСообщения.НачатьЗапись(ЗаписьXML, Узел);

ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(ЗаписьСообщения.Получатель, ЗаписьСообщения.НомерСообщения);

Пока ВыборкаИзменений.Следующий() Цикл
    
    ЗаписатьXML(ЗаписьXML, ВыборкаИзменений.Получить());
    
КонецЦикла;

ЗаписьСообщения.ЗакончитьЗапись();
ЗаписьXML.Закрыть();


Заголовок XML файла с номерами отправленных и принятых сообщений:

<?xml version="1.0" encoding="UTF-8"?>
<v8msg:Message xmlns:v8msg="http://v8.1c.ru/messages">;
    <v8msg:Header>
        <v8msg:ExchangePlan>ПланОбмена1</v8msg:ExchangePlan>
        <v8msg:To>ЦентральнаяБаза</v8msg:To>
        <v8msg:From>ПерифирийнаяБаза1</v8msg:From>
        <v8msg:MessageNo>3</v8msg:MessageNo>
        <v8msg:ReceivedNo>5</v8msg:ReceivedNo>
    </v8msg:Header>
    <v8msg:Body/>
</v8msg:Message>
1 Апош
 
27.08.15
08:11
правильно говорить "пирифирийная"
2 kosts
 
27.08.15
08:21
OFF: переферейная
3 Апош
 
27.08.15
08:23
пиреферийная
4 kosts
 
27.08.15
08:28
Что бы работал типовой обмен по правилам.
Необходимо организовать двухсторонний обмен.
В обратку хотя бы пустой файл, что бы программа получала подтверждение о успешном обмене.
5 dmpl
 
27.08.15
08:28
(0) Конфигурации одинаковые? Вообще, можно для этой цели использовать РС для сопоставления ссылок, но загрузку придется немного усложнить.
6 kosts
 
27.08.15
08:29
В конвертации есть сопоставление предопределенных объектов.
7 vi0
 
27.08.15
08:32
(6) мне нужно подтверждение отправки - отправитель удаляет регистрацию отправленных данных, когда получает подтверждение, что приемник получил данные
с конвертаций есть такая возможность?
8 kosts
 
27.08.15
08:37
Обмен встроенный в типовые конфигурации именно так и работает.
Для настройки обмена достаточно  
1.План обмена.
2.Добавить объекты которые будут переноситься (автоматическая регистрация в простейшем случае).
3.В конфигурации конвертации разработать свои правила (одинаковые или разные для туда и обратно)
4.В режиме предприятия сделать настройку

вроде так...
9 kosts
 
27.08.15
08:38
1-2 в конфигураторе
10 vi0
 
27.08.15
08:43
(8) так делал
в файле выгрузки нет номеров сообшение
подтвержнение не работает
11 vi0
 
27.08.15
08:44
+(8) у тебя работает?
при получении файла выгрузки от приемника регистрация объектов удаляется?
12 kosts
 
27.08.15
08:46
Я делаю обмен типовыми средствами 1С. Т.е. ввожу настройку в справочнике Настройки обмена.
13 vi0
 
27.08.15
08:46
(5) хочу сделать без своего РС
с минимальным своим кодом
14 vi0
 
27.08.15
08:47
(12) у меня нетиповые конфигурации
15 kosts
 
27.08.15
08:51
Если у тебя проблема только в предопределенных, то можно попробовать привести их коды к идентичным.
Для этого привести конфигурации к идентичному виду, путем загрузки конфигурации.
Для того, что бы в ссылки предопределенных стали одинаковыми.
И последующей операции "поиск и замена ссылок".
А так же в 8.3 можно менять ссылки предопределенных средствами предприятия (т.е. сделать попроще чем в 8.2).
16 vi0
 
27.08.15
10:17
вижу, что в конвертации возможен on-line обмен (термин из конвертации), который как раз подразумевает наличие подтверждение доставки
кто в курсе, это нужно БСП устанавливать или можно без? как настраивается?
17 kosts
 
27.08.15
10:22
(16) Конвертация работает c типовым механизмом, если у тебя самописная конфа, то конвертация тебе не поможет.
Либо встраивай в свою конфу подсистему из той же БСП.
Закон Брукера: Даже маленькая практика стоит большой теории.