Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Странное поведение поиска по УИДу через ОЛЕ. (http://forums.kuban.ru/f1040/strannoe_povedenie_poiska_po_uidu_cherez_ole-5396913.html)

megabax 14.02.2014 13:13

Странное поведение поиска по УИДу через ОЛЕ.
 
Добрый день.
Делаю так:
строкаТип = АОбъект.Метаданные().ПолноеИмя();
поз = Найти(строкаТип, ".");
типСтрокой = мСоответствияЕдЧМнЧ[Лев(строкаТип, поз - 1)];
лЗнач=мБаза[типСтрокой][Сред(строкаТип, поз +1)].ПолучитьСсылку(мБаза.NewObject("УникальныйИдентификатор", Сокрлп(Выборка.УИД)));
лПредставление=мБаза.String(лЗнач);
если Найти(нрег(лПредставление),"объект не найден")>0 тогда
сообщить("для "+строкаТип+" "+строка(АОбъект)+" кривое соотвествие "+лПредставление,СтатусСообщения.Важное);
сообщить("ИБ="+строка(мВнешняяБаза),СтатусСообщения.Внимание);
сообщить("УИД="+Выборка.УИД,СтатусСообщения.Внимание);
возврат Неопределено;
конецесли;


и почему то для существующих объектов возвращает ненайденные ссылки типа ""<Объект не найден> (62:be7fbcee7b4e9a0c11e3840e470b6b86)""
То что реально объект в базе есть видно по другому участку кода:
Запись=РегистрыСведений.шапСоответствиеВыгружаемыхОбъектов.СоздатьМенеджерЗаписи();
Запись.ИБ=мВнешняяБаза;
Запись.Объект=АОбъект;
Запись.УИД=лОбработка.УИД;
Запись.НазваниеОбъектаВПриемнике=лОбработка.ОбъектВБазе;
Запись.Записать();

строкаТип = АОбъект.Метаданные().ПолноеИмя();
поз = Найти(строкаТип, ".");
типСтрокой = мСоответствияЕдЧМнЧ[Лев(строкаТип, поз - 1)];
лЗнач=мБаза[типСтрокой][Сред(строкаТип, поз +1)].ПолучитьСсылку(мБаза.NewObject("УникальныйИдентификатор", лОбработка.УИД));
возврат лЗнач;


в этом случае возвращает нормальное значение при том же УИД-е (конкретно проверил в отладчике и сравнил их).
Подскажите пожалуйста, как лечить?

roma n 14.02.2014 15:13

Да кто же тебя знает чего там у тебя живёт, например, в Выборка.УИД

ЗЫ А чего так сложно-то? Базы совпадают по именам объектов метаданных, но идентификаторы этих объектов отличаются? Если базы совпадают с точностью до метаданных мБаза.ЗначениеИзСтрокиВнутр(ЗначениеВСтрокуВнутр(СсылкаЗдесь))

vah1 15.02.2014 14:16

раньше префиксИБ ещё вроде был
из кода не понятно что за платформа


Текущее время: 23:36. Часовой пояс GMT +3.