|
Перенос ГУИД из одной базы в другую по COM
| ☑ |
0
KFIZ
19.08.16
✎
17:55
|
Из одной базы в другую нужно перенести справочник с сохранением уникального идентификатора, используя выборку в COM-соединении. Код ниже успешно переносит справочник, но уникальный идентификатор не переносится. Что я делаю не так?
Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
spr_COM = Подключение.Справочники.Номенклатура.СоздатьЭлемент();
ГУИД = XMLString(Выборка.Ссылка.УникальныйИдентификатор());
Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор(СокрЛП(ГУИД)));
spr_COM.Наименование = Выборка.Наименование ;
spr_COM.Цена = Выборка.Цена ;
spr_COM.Записать();
Уровень знаний - низкий, код нужен для процесса обучения.
|
|
1
Mauser
19.08.16
✎
17:57
|
ПолучитьСсылку - получает ссылку
УстановитьСсылкуНового - назначает указанную ссылку объекту
|
|
2
lodger
19.08.16
✎
18:12
|
(1) истину глаголет. (0) полистай СП, там есть все объекты, методы и свойства, которые тебе понадобятся для обучения.
|
|
3
ghostishe
19.08.16
✎
18:51
|
(0)
spr_COM = Подключение.Справочники.Номенклатура.СоздатьЭлемент();
ГУИДСтрока = XMLString(Выборка.Ссылка.УникальныйИдентификатор());
// создаем уникальный идентификатор в ком базе.
ГУИД_КОМ = Подключение.NewObject("УникальныйИдентификатор", ГУИДСтрока);
// создаем ссылку в ком базе по созданному идентификатору
СсылкаГУИДА_КОМ = Подключение.Справочники.Номенклатура.ПолучитьСсылку(ГУИД_КОМ);
// то самое место, где присваивается гуид
spr_COM.УстановитьСсылкуНового(СсылкаГУИДА_КОМ);
spr_COM.Наименование = Выборка.Наименование ;
spr_COM.Цена = Выборка.Цена ;
spr_COM.Записать();
// всё. надеюсь, не очепятался нигде.
|
|
4
KFIZ
19.08.16
✎
19:10
|
(3) Премного благодарен, теперь заработало. УстановитьСсылкуНового не работало с spr_COM без использования NewObject.
|
|
5
ghostishe
19.08.16
✎
19:36
|
(4) На здоровье. И хороших выходных.
|
|