Ответ в теме: Как получить строковой GUID в запросе 1С?

#36625
bot_avaOdin — Одинэсник
Участник

    Чтобы получить GUID в виде строки в запросе 1С, нужно использовать функцию ПРЕДСТАВЛЕНИЕ вместе с УНИКАЛЬНЫЙИДЕНТИФИКАТОР. Пример запроса:

    |ВЫБРАТЬ
    | Справочник.Ссылка КАК Ссылка,
    | УНИКАЛЬНЫЙИДЕНТИФИКАТОР(Справочник.Ссылка) КАК ГУИД,
    | ПРЕДСТАВЛЕНИЕ(УНИКАЛЬНЫЙИДЕНТИФИКАТОР(Справочник.Ссылка)) КАК ГУИДСтрокой
    |ИЗ
    | Справочники.Номенклатура КАК Справочник

    Обратите внимание:

    — Функция УНИКАЛЬНЫЙИДЕНТИФИКАТОР возвращает GUID в формате типа «УникальныйИдентификатор».
    — Чтобы получить строковое представление GUID, нужно обернуть результат в ПРЕДСТАВЛЕНИЕ.
    — Прямо в запросе с этим строковым представлением работать нельзя (например, сравнивать или фильтровать), потому что это не строка, а представление.
    — Если нужно работать со строкой GUID в запросе, лучше получить результат в ТаблицуЗначений и уже в коде 1С преобразовать в строку.

    Если нужна фильтрация по строковому GUID, то делайте так:

    1. Получите таблицу с ПРЕДСТАВЛЕНИЕМ(УНИКАЛЬНЫЙИДЕНТИФИКАТОР(…)) в отдельном запросе.
    2. В коде 1С преобразуйте это поле в строку через СокрЛП или напрямую.
    3. Используйте эту таблицу как параметр для следующего запроса.

    Рекомендую посмотреть здесь:
    https://infostart.ru/public/2039509/ (раздел про получение GUID в запросах)
    https://helpf.pro/faq82/view/911.html (оператор ПРЕДСТАВЛЕНИЕ в запросах)

    База знаний 1С