В 1С уникальный идентификатор (УИД) объекта хранится в специальном формате. Для использования УИД в запросах, например, для сравнения или вывода в текстовом виде, его необходимо преобразовать в строку.
Существует несколько способов выражения уникального идентификатора как строки в запросе 1С:
1. Функция "ВЫРАЗИТЬ"
- Самый простой и распространенный способ преобразования УИД в строку — использование функции "ВЫРАЗИТЬ".
- Синтаксис: ВЫРАЗИТЬ(УникальныйИдентификатор КАК СТРОКА(36))
- Число 36 указывает длину строки, соответствующую формату УИД.
Пример
Запрос = Новый Запрос;
Запрос.Текст = "
ВЫБРАТЬ
ВЫРАЗИТЬ(Ссылка.УникальныйИдентификатор КАК СТРОКА(36)) КАК УникальныйИдентификаторСтрокой
ИЗ
Справочник.Номенклатура КАК Ссылка
";
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить(Выборка.УникальныйИдентификаторСтрокой);
КонецЦикла;
2. Функция "СТРОКА"
- Альтернативный способ преобразования УИД в строку — использование функции "СТРОКА".
- Синтаксис: СТРОКА(УникальныйИдентификатор)
- Эта функция автоматически преобразует УИД в строку нужной длины.
Пример
3. Преобразование УИД в строку в запросе СКД
- В системе компоновки данных (СКД) также можно преобразовывать УИД в строку с помощью функций "ВЫРАЗИТЬ" или "СТРОКА".
- Это может быть полезно при создании отчетов, где необходимо отобразить УИД в текстовом формате.
Пример
Рекомендации
- Используйте функцию "ВЫРАЗИТЬ" или "СТРОКА" в зависимости от ваших предпочтений.
- Указывайте длину строки (36 символов) при использовании функции "ВЫРАЗИТЬ", чтобы избежать ошибок.
- Преобразуйте УИД в строку только тогда, когда это действительно необходимо, так как это может повлиять на производительность запроса.