0
- 14.02.2014 - 13:13
|
Добрый день. Делаю так: строкаТип = АОбъект.Метаданные().ПолноеИмя(); поз = Найти(строкаТип, "."); типСтрокой = мСоответствияЕдЧМнЧ[Лев(строкаТип, поз - 1)]; лЗнач=мБаза[типСтрокой][Сред(строкаТип, поз +1)].ПолучитьСсылку(мБаза.NewObject("УникальныйИдентиф икатор", Сокрлп(Выборка.УИД))); лПредставление=мБаза.String(лЗнач); если Найти(нрег(лПредставление),"объект не найден")>0 тогда сообщить("для "+строкаТип+" "+строка(АОбъект)+" кривое соотвествие "+лПредставление,СтатусСообщения.Важное); сообщить("ИБ="+строка(мВнешняяБаза),СтатусСообщени я.Внимание); сообщить("УИД="+Выборка.УИД,СтатусСообщения.Вниман ие); возврат Неопределено; конецесли; и почему то для существующих объектов возвращает ненайденные ссылки типа ""<Объект не найден> (62:be7fbcee7b4e9a0c11e3840e470b6b86)"" То что реально объект в базе есть видно по другому участку кода: Запись=РегистрыСведений.шапСоответствиеВыгружаемых Объектов.СоздатьМенеджерЗаписи(); Запись.ИБ=мВнешняяБаза; Запись.Объект=АОбъект; Запись.УИД=лОбработка.УИД; Запись.НазваниеОбъектаВПриемнике=лОбработка.Объект ВБазе; Запись.Записать(); строкаТип = АОбъект.Метаданные().ПолноеИмя(); поз = Найти(строкаТип, "."); типСтрокой = мСоответствияЕдЧМнЧ[Лев(строкаТип, поз - 1)]; лЗнач=мБаза[типСтрокой][Сред(строкаТип, поз +1)].ПолучитьСсылку(мБаза.NewObject("УникальныйИдентиф икатор", лОбработка.УИД)); возврат лЗнач; в этом случае возвращает нормальное значение при том же УИД-е (конкретно проверил в отладчике и сравнил их). Подскажите пожалуйста, как лечить? | |
1
- 14.02.2014 - 15:13
|
Да кто же тебя знает чего там у тебя живёт, например, в Выборка.УИД ЗЫ А чего так сложно-то? Базы совпадают по именам объектов метаданных, но идентификаторы этих объектов отличаются? Если базы совпадают с точностью до метаданных мБаза.ЗначениеИзСтрокиВнутр(ЗначениеВСтрокуВнутр(С сылкаЗдесь)) | |
2
- 15.02.2014 - 14:16
|
раньше префиксИБ ещё вроде был из кода не понятно что за платформа | |
| Интернет-форум Краснодарского края и Краснодара |