Имя: Пароль:
1C
1С v8
Обмен данными и версионирование. Конфликт.
0 Федор Сумкин
 
20.04.15
18:12
Всех приветствую!

Вобщем, есть две "старенькие" идентичные конфигурации УТ 11.0.7.
В одной создаются Заказы и некоторые из них должны мигрировать в соседнюю базу. Я для этого решил воспользоваться планами обмена.
В одной базе регистрирую Заказ на план обмена, выгружаю "пакет", по "ОЛЕ" запускаю вторую базу, и пытаюсь прочитать.
Далее:
- при отсутствии подписки на событие (запись объектов, оно же "Версионирование") все проходит гладко;
- при наличии подписки - ошибка (Ошибка при выполнении обработчика - 'ПриЗаписи'. Попытка передачи с клиента на сервер мутабельного значения 1-го параметра метода МеханизмВерсионированияОбъектов_ПриЗаписиОбъекта ().).
Текст(ы):
Б8 = Новый COMОбъект("V82.Application");
Открыта = Б8.Connect(СтрокаКоннекта);
...
ЗаписатьИзмененияЦБ(Стр); //Тут формируется "пакет обмена" (xml)
...
ЧтениеСообщения = Б8.ПланыОбмена.СоздатьЧтениеСообщения();
ЧтениеXML = Б8.NewObject("ЧтениеXML");
ЧтениеXML.ОткрытьФайл(Стр.ФайлОбмена);
ЧтениеСообщения.НачатьЧтение(ЧтениеXML);
Пока Б8.ВозможностьЧтенияXML(ЧтениеXML) Цикл
    Данные = Б8.ПрочитатьXML(ЧтениеXML);
    Данные.ОбменДанными.Отправитель = ЧтениеСообщения.Отправитель;
    Данные.ОбменДанными.Загрузка = Истина;
    Данные.Записать(); // !!!! ТУТ ВОЗНИКАЕТ ОШИБКА
КонецЦикла;

При записи пытается попасть в процедуру регистрации версии:
Процедура МеханизмВерсионированияОбъектов_ПриЗаписиОбъекта(Источник, Отказ) Экспорт
И тут же спотыкается, так и не попав в нее.
Процедура в общем модуле, на модуле стоят галки "Сервер", "Внешнее подключение", "Вызов сервера".
Я так понимаю, что параметр "Источник" приходит в нее не как Объект, а как COM-Объект. И как побороть?
1 Гёдза
 
20.04.15
18:16
ты аппликйшн юзаешь, а нуж ком коннектшн
2 Федор Сумкин
 
20.04.15
18:28
(1) Блин, да, псиб.
А в чем, собсно, такая разница. Почему на аппликейшне не хочет?
З.Ы. Попробовать через КомКоннектор было быстрее, чем писать вопрос по теме... )))