|
Поиск элемента справочника по GUID через OLE
| ☑ |
0
bvb
23.01.14
✎
17:11
|
Сделал обработку OLE запускаемую из УТ и обращающуся к БП.
Нужно в OLE базе БП найти элемент справочника используя GUID.
Беру ГУИД элемента в базе базе источника
Строка(ЭлементСправочника.УникальныйИдентификатор()) - "0f79fb2f-ea11-11e2-b77d-ac162db2dc64"
Смотрю в OLE базе БП регистр "СоответствиеОбъектовДляОбмена" - там данному элементу справочника соотвествуют аж две записи :
со значением реквизита "Ссылка в другой ИБ" :
{"#",44a01d39-c2b6-4751-85e6-06fdc2f23043,100:b77dac162db2dc6411e2f9dcb96a75f9}
{"#",44a01d39-c2b6-4751-85e6-06fdc2f23043,100:b77dac162db2dc6411e31492f6ef848f}
И как мне эти GUIDы сопоставлять ?
|
|
1
GRAF_84
23.01.14
✎
17:14
|
СсылкаОбъекта = Справочники[ТипОбъета].ПолучитьСсылку(Новый УникальныйИдентификатор(СокрЛП(ГУИД)));
СсылкаОбъекта2 = ЗначениеИзСтрокиВнутр(СсылкаВДругойИБ);
|
|
2
bvb
23.01.14
✎
17:58
|
Т.е. нужно вызвать в базе OLE :
V8.Справочники[ТипОбъета].ПолучитьСсылку(Новый УникальныйИдентификатор(СокрЛП(ГУИД)))
А как запустить конструктор Новый УникальныйИдентификатор(СокрЛП(ГУИД)) в базе OLE ?
|
|
3
Михаил Козлов
23.01.14
✎
18:20
|
стрGUID = Источник.String(докТС.УникальныйИдентификатор());
GUID = Приемник.NewObject("УникальныйИдентификатор", стрGUID);
докСсылка = Приемник.Документы[имяТипаДокумента].ПолучитьСсылку(GUID);
Если ЗначениеЗаполнено(докСсылка.Номер) Тогда
докОб = докСсылка.ПолучитьОбъект();
Иначе
докОб = БД.Документы[имяТипаДокумента].СоздатьДокумент();
докОб.УстановитьСсылкуНового(докСсылка);
КонецЕсли;
|
|
4
bvb
23.01.14
✎
18:53
|
(3) Спасибо
Написал вот так :
ИмяСправочника = Ссылка.Метаданные().Имя;
GUID = Ссылка.УникальныйИдентификатор();
GUID_OLE = V8.NewObject("УникальныйИдентификатор", Строка(GUID));
СсылкаOLE = V8.Справочники[ИмяСправочника].ПолучитьСсылку(V8.NewObject("УникальныйИдентификатор", Строка(GUID)));
Возврат СсылкаOLE;
|
|
5
bvb
23.01.14
✎
18:57
|
Работает но некоторые элемены не находит - т.е. видимо в регистре другой ГУИД. В частности организацию. Что бы это значило ?
|
|