Вывод в запросе значения перечисления

1. user1089020 14.03.25 11:12 Сейчас в теме
Добрый день!

В запросе нужно вывести несколько реквизитов справочников. Один из реквизитов (Реквизит1) является перечислением. Вот такой способ вывода является корректным? Учитывая что этих значений около 15 + в теории может что-то еще добавиться со временем?

ВЫБОР
КОГДА СправочникТакойТо.Реквизит1 = ЗНАЧЕНИЕ(Перечисление.ТакоеТо.Значение1)
ТОГДА "Значение1"
КОГДА СправочникТакойТо.Реквизит1 = ЗНАЧЕНИЕ(Перечисление.ТакоеТо.Значение2)
ТОГДА "Значение2"
КОГДА СправочникТакойТо.Реквизит1 = ЗНАЧЕНИЕ(Перечисление.ТакоеТо.Значение3)
ТОГДА "Значение3"
ИНАЧЕ ""
КОНЕЦ
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. yispepotri 14.03.25 11:19 Сейчас в теме
(1)
а для чего такое условие? Может быть было бы достаточно проверить что СправочникТакойТо.Реквизит1 является типом значения соответствующего перечисления и тогда его выводить? Если именно это нужно. Тогда и не придется писать для 15+ значений подобный код

СправочникТакойТо.Реквизит1 = ЗНАЧЕНИЕ(Перечисление.ТакоеТо.Значение1)


КОГДА ТипЗначения(СправочникТакойТо.Реквизит1) = Тип(Перечисление.ТакоеТо.Значение1)
ТОГДА СправочникТакойТо.Реквизит1

СправочникТакойТо.Реквизит1 может быть только одним этим перечислением? Тогда почему его нельзя просто выводить, зачем условия
3. user1089020 14.03.25 11:24 Сейчас в теме
(2) Нужно вывести таблицу, в составе которой есть это перечисление (много значений).
4. yispepotri 14.03.25 11:27 Сейчас в теме
(3) я все равно не понимаю, что необходимо сделать. Думаю если более подробно опишите или продемонстрируете наглядно, то вероятность что вам смогут помочь выше.
6. PhoenixAOD 62 14.03.25 11:28 Сейчас в теме
(3) Таблица из чего состоит, ты привел один только выбор и он явно не правильный. Что тебе надо конкретно, для чего и как ты это видишь. Неправильно ТЗ, результат (как у тебя) ХЗ
7. Sashares 33 14.03.25 11:45 Сейчас в теме
(1) Если нужно видеть в результате именно имя значения перечисления, а не его представление, которое задано в синониме значения перечисления, то это рабочий вариант.

Если задача какая-то другая, то опиши, что именно надо получить и для чего.
8. user1936660 14.03.25 11:48 Сейчас в теме
(1) Ну, можешь ещё сформировать таблицу значений с колонками Перечисление - Значение, залить во времянку и приделать ее левым соединением.
9. SlavaKron 14.03.25 12:34 Сейчас в теме
(1)
Вот такой способ вывода является корректным?
Нет, корректным является:
СправочникТакойТо.Реквизит1 КАК Реквизит1
5. starjevschik 14.03.25 11:28 Сейчас в теме
Можно так, конечно. Не совсем понятно, зачем, но с точки зрения запроса SQL это вполне рабочий вариант
10. Said-We 14.03.25 13:21 Сейчас в теме
(1) Цель такого запроса не понятна.
По сути запрос переводит из значения типа перечисление в строковое представление значения перечисления.
Для чего это делается? Для чего в строку переводите?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот