Добрый день!

Сохранились только ссылки ?ref, а метаданные не сохранены.

Есть ли возможность найти собственно куда ссылается ref программным перебором?
---
Так ведь мы получили не обычную ссылку, а текстовую типа УИД, это не объект, чтобы у него ссылку пробовать получить.

"e1cib/data/" + Перебор.ТипОбъектаДокументооборота + "?ref=" + НавигационныйУИД

Это же все равно обычная текстовая строка, ее надо как-то в объект пробовать преобразовать.

    ПерваяТочка = Найти(НС, "e1cib/data/");
    ВтораяТочка = Найти(НС, "?ref=");

    ПредставлениеТипа = Сред(НС, ПерваяТочка + 11, ВтораяТочка - ПерваяТочка - 11);
    ШаблонЗначения = ЗначениеВСтрокуВнутр(ПредопределенноеЗначение(ПредставлениеТипа + ".ПустаяСсылка"));
    ЗначениеСсылки = СтрЗаменить(ШаблонЗначения, "00000000000000000000000000000000", Сред(НС, ВтораяТочка + 5));
    Ссылка = ЗначениеИзСтрокиВнутр(ЗначениеСсылки);

Проверю.
---
Есть ли возможность найти собственно куда ссылается ref программным перебором?

Если найти в базе, откуда они были выгружены, то можно (правда не всегда - теоретически guid разных объектов может быть задублирован).
Если эти "ссылки" нужно загрузить в другую базу, то нет
---
Можно... Наверняка тут (на ИС) есть уже готовые внешки.
---
Добрый день. Ссылка вида ?ref=8ca0000d8843cd1b11dc8d043d71007f.? Если да тогда никак
---
Да, именно так.

А почему?
---
неверно
---
перевести GUID в UUID, затем для каждого документа или справочника получить ссылку методом .ПолучитьСсылку()
---
Так данных в базе нет что можно вытащить по 8ca0000d8843cd1b11dc8d043d71007f ?
---
я не думал, что можно было бы задать настолько глупый вопрос, чтобы по одной лишь строке "8ca0000d8843cd1b11dc8d043d71007f" получить контрагента, например :) Поэтому предположил, что у тс есть строка с ref и он хочет найти ссылку
---
Данные в базе есть.

УИД = ДанныеДляИнтеграциииСДО.ИдентификаторОбъекта;

НавигационныйУИД = Сред(УИД,20,4)+Сред(УИД,25,12)+Сред(УИД,15,4)+Сред(УИД,10,4) + Сред(УИД,1,8);
*******

Но для программы, это чем может помочь?
---
сорри
---
дык перебирай метаданные и формируй ссылку из уида, если не пустая - бинго..
---
Битая ссылка всегда непустая. Так-то!
Ваш К.О.
---
Возможно, чего-то не понимаю.
Ссылку для УИДа я сформирую, и руками ее даже запустить смогу.

А как программно это сделать?
---
Запустить цикл по всем метаданным сылочного типа. Внутри - построить ссылку нужного типа через .ПолучитьСсылку и твою строку с представлением уникального идентификатора. Выполнить запрос к базе на проверку существования такой ссылки или вызвать БСПшный метод СсылкаСуществует. Для оптимизации можно обрабатывать в запросе несколько метаданных через объединение таблиц, в каждой - отбор по равенству ссылки параметру.

Или за тебя, беспомощного, надо все написать и зарплату твою получить?
---
Так ведь мы получили не обычную ссылку, а текстовую типа УИД, это не объект, чтобы у него ссылку пробовать получить.

"e1cib/data/" + Перебор.ТипОбъектаДокументооборота + "?ref=" + НавигационныйУИД

Это же все равно обычная текстовая строка, ее надо как-то в объект пробовать преобразовать.

    ПерваяТочка = Найти(НС, "e1cib/data/");
    ВтораяТочка = Найти(НС, "?ref=");

    ПредставлениеТипа = Сред(НС, ПерваяТочка + 11, ВтораяТочка - ПерваяТочка - 11);
    ШаблонЗначения = ЗначениеВСтрокуВнутр(ПредопределенноеЗначение(ПредставлениеТипа + ".ПустаяСсылка"));
    ЗначениеСсылки = СтрЗаменить(ШаблонЗначения, "00000000000000000000000000000000", Сред(НС, ВтораяТочка + 5));
    Ссылка = ЗначениеИзСтрокиВнутр(ЗначениеСсылки);

Проверю.
---
```1c
    .ПолучитьОбъект()
```
 у ссылки и сравнить с
```1c
    Неопределенно
```
 , это прям не так сложно, mr. КО ? RTFM
---
.ПолучитьОбъект() Слабак!
Тут же недавно в одной соседней теме выяснили, что надо приводить к строке и сравнивать её с представлением битой ссылки!
---
больше кода, сестра!