Dev ›
GUID в 1С 8.3 - как с ними быть ›
#6
12.02.24 10:16
п1. XMLСтрока - жжет однозначно, а еще позволяет получить Идентификатор (т.е. Значение) перечисления так, как оно указано в конфигураторе!
п2. вместо Справочники[ВидСправочника].ПолучитьСсылку(ГУИД)
можно более универсально при помощи функциональной формы оператора Новый:
Возврат Вычислить( СтрШаблон( "Новый %1Ссылка.%2(Новый УникальныйИдентификатор(""%3""))" ,ТипОбъекта,ВидОбъекта,ГУИДОбъекта) );
- это позволит избежать условного ветвления по вариантам Справочники, Документы, ПВХ ...
п3. еще вариант ПустаяСтрока(Ссылка.ВерсияДанных)
- а вообще по поводу более "правильного" и/или "производительного" способа проверки битых ссылок споры на просторах ведутся издревле еще с 8.0.
п4. а тут лучше предусмотреть возврат не одиночного значения, а массива, т.к. платформа не гарантирует уникальность ГУИД в пределах ИБ (уникальность гарантируется только в пределах таблицы). при традиционном вводе данных в ИБ платформа лишь старается выдавать уникальные ид-шники. но абсолютно не помешает Вам при обмене загрузить один ГУИД из базы источника в несколько объектов целевой ИБ.
п5. судя по последним тенденциям при выпуске новых релизов Бух и ЗУП - скоро мы и в ЕРП доживем до конфигурации работающей без режима совместимости - так что можно уже потихоньку брать метод в оборот... тем более что вроде как есть "честный метод обхода" режима совместимости без снятия с поддержки, смс и регистрации.
п6. видимо Ваша функция специально нужна для получения ГУИД зная только представление битой ссылки ?
ведь программно можно обойтись более традиционными методами
Справочники.Валюты.ПолучитьСсылку(Новый УникальныйИдентификатор("7602b761-2f0f-430d-9bee-58bdc0c95e27")).УникальныйИдентификатор()
или
XMLСтрока(Справочники.Валюты.ПолучитьСсылку(Новый УникальныйИдентификатор("7602b761-2f0f-430d-9bee-58bdc0c95e27")))