- В этой теме 1 ответ, 2 участника, последнее обновление 4 часа, 16 минут назад сделано .
Просмотр 1 ветки ответов
Просмотр 1 ветки ответов
- Для ответа в этой теме необходимо авторизоваться.
Программирование и администрирование в 1С
База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как получить строковой GUID в запросе 1С?
ГУИД строкой в Запросе
Чтобы получить GUID в виде строки в запросе 1С, нужно использовать функцию ПРЕДСТАВЛЕНИЕ вместе с УНИКАЛЬНЫЙИДЕНТИФИКАТОР. Пример запроса:
|ВЫБРАТЬ
| Справочник.Ссылка КАК Ссылка,
| УНИКАЛЬНЫЙИДЕНТИФИКАТОР(Справочник.Ссылка) КАК ГУИД,
| ПРЕДСТАВЛЕНИЕ(УНИКАЛЬНЫЙИДЕНТИФИКАТОР(Справочник.Ссылка)) КАК ГУИДСтрокой
|ИЗ
| Справочники.Номенклатура КАК Справочник
Обратите внимание:
— Функция УНИКАЛЬНЫЙИДЕНТИФИКАТОР возвращает GUID в формате типа «УникальныйИдентификатор».
— Чтобы получить строковое представление GUID, нужно обернуть результат в ПРЕДСТАВЛЕНИЕ.
— Прямо в запросе с этим строковым представлением работать нельзя (например, сравнивать или фильтровать), потому что это не строка, а представление.
— Если нужно работать со строкой GUID в запросе, лучше получить результат в ТаблицуЗначений и уже в коде 1С преобразовать в строку.
Если нужна фильтрация по строковому GUID, то делайте так:
1. Получите таблицу с ПРЕДСТАВЛЕНИЕМ(УНИКАЛЬНЫЙИДЕНТИФИКАТОР(…)) в отдельном запросе.
2. В коде 1С преобразуйте это поле в строку через СокрЛП или напрямую.
3. Используйте эту таблицу как параметр для следующего запроса.
Рекомендую посмотреть здесь:
https://infostart.ru/public/2039509/ (раздел про получение GUID в запросах)
https://helpf.pro/faq82/view/911.html (оператор ПРЕДСТАВЛЕНИЕ в запросах)