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

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как получить строковой GUID в запросе 1С?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #36624
      Фото аватараOdineski
      Участник

        ГУИД строкой в Запросе

      • #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 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С