Имя: Пароль:
1C
1С v8
Загрузка данных XML
0 alexandrius
 
13.03.12
14:45
Всем привет!
Очень нужна помощь кто сталкивался с такой байдой:

Задача: выгрузить из идентичной базы в другую.
Решение:
Есть стандартная обработка ВыгрузкаЗагрузкаДанныхXML,
выгружаю данные все ок, все по ссылкам и уидам совпадает с источником.
Пытаюсь загрузить, на одни объекты он грузит нормально(т.е ID источника = ID приемника), а другие не совпадают.
В результате в ссылающихся даннных он мне пищет Объект не найден(ID), лезу в справочник такой элемент есть но ID у него другой.

Все обменивается методами:
Запись:
Объект = Ссылка.ПолучитьОбъект();
ЗаписатьXML(ЗаписьXML, Объект);

Чтение:
ПрочитатьXML(ЧтениеXML);

Если повторно  грузить то эти объекты начинают естественно задваиваться(вся шутка что не все данные)
1 sda553
 
13.03.12
14:47
>>лезу в справочник такой элемент есть но ID у него другой.

А почему вы тогда решили что это ТАКОЙ элемент? По каким признакам?
2 alexandrius
 
13.03.12
15:04
Я выгружаю выборочно, т.е беру по отбору один элемент, вторая база пустая, выгружаю-загружаю, и получаю другой элемент(все одинаковое кроме UIDa), загружаю повторно(еще один и т.д)
3 ptrtss
 
13.03.12
15:07
Ну значит так обмениваться нельзя. Какую обработку не используй, уиды от этого равны не станут
4 alexandrius
 
13.03.12
15:18
(3) вот как раз эта обработка и позицианируется как полностью перенос данных вместе с уидом.
пример:
http://www.1s-portal.ru/index.php/besplatnye-materialy/stati/obmendannymi/12-xml/71-prostoi-perenos-dannyh-xml.html
5 Serginio1
 
13.03.12
15:33
6 ptrtss
 
13.03.12
15:34
(4) Обработка то работает, к ней претензий нету: нет уида в базе - создаем. Базы не подходят для обработки
7 ptrtss
 
13.03.12
15:35
А! Подожди...

То есть ты выгружаешь элемент с одним гуидом а он прилетает с другим, и далее плодит и плодит новые?
8 ptrtss
 
13.03.12
15:36
То есть, прилетает с тем же, а записывается с другим?
9 Serginio1
 
13.03.12
15:36
Смотри в модуле при записи. Проследи весь путь
10 Serginio1
 
13.03.12
15:37
Вернее передЗаписью
11 ptrtss
 
13.03.12
15:38
Была такая хрень когда-то... Уид ссылки вроде содержит префикс таблицы откуда эта ссылка есть. Префиксы иногда меняются при реструктуризациях. Одна из баз видимо пережила реструктуризацию
12 alexandrius
 
13.03.12
15:45
(10) вот это спасибо огромное, готов даже проставить пива!
ну не пипец, 4 часа убил, а там перед записью

НоваяСсылка = мМенеджерОбъекта.ПолучитьСсылку(Новый УникальныйИдентификатор);
ЭтотОбъект.УстановитьСсылкуНового(НоваяСсылка);

которая всю малину портила!
13 Serginio1
 
13.03.12
15:55
(12) На здоровье. А так не пью, но рад что помог. Удачи.
14 alexandrius
 
13.03.12
15:59
(13) еще раз спасибо!
2 + 2 = 3.9999999999999999999999999999999...