Условие в запросе

1. crog 13.04.23 14:34 Сейчас в теме
Здравствуйте.

Есть справочник "Идентификаторы объектов метаданных".

Есть поле "Родитель" в котором есть значение "Роли" (ссылочный тип), но не могу понять как прописать условие в секции ГДЕ, чтобы значение было равно "Роли"?
По теме из базы знаний
Найденные решения
14. user1936670 14.04.23 10:36 Сейчас в теме
(2) Выброси своё левое соединение.

ГДЕ
    ИдентификаторыОбъектовМетаданных.Родитель В (
        ВЫБРАТЬ 
            Ссылка
        ИЗ
            Справочник.ИдентификаторыОбъектовМетаданных
        ГДЕ
            Наименование = &НаименованиеРоли
)
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
16. glek 119 14.04.23 11:07 Сейчас в теме
(1) А что вообще хотите сделать?
19. crog 14.04.23 11:24 Сейчас в теме
(16) Да вытащил в динамический список все роли.

Обработку делаю навроде этой https://infostart.ru/public/552933/
2. crog 13.04.23 14:40 Сейчас в теме
Сделал так

ГДЕ
	ИдентификаторыОбъектовМетаданных.Родитель.Наименование = "Роли"


Но мне кажется это не оч красивое решение.
DesertPunk; +1 Ответить
3. nomad_irk 76 13.04.23 14:57 Сейчас в теме
(2)какой тип значения у Роли?
4. crog 13.04.23 15:00 Сейчас в теме
(3) СправочникСсылка.ИдентификаторыОбъектовМетаданных
5. nomad_irk 76 13.04.23 15:11 Сейчас в теме
(4)Если оно не предопределенное, то только так, как указали.
Если предопределенное, то можно так:

ГДЕ
    ИдентификаторыОбъектовМетаданных.Родитель = ЗНАЧЕНИЕ(Справочник.ИдентификаторыОбъектовМетаданных.Роли)
6. crog 13.04.23 15:34 Сейчас в теме
(5)
ИдентификаторыОбъектовМетаданных.Родитель = ЗНАЧЕНИЕ(Справочник.ИдентификаторыОбъектовМетаданных.Роли)


Неверные параметры "Справочник.ИдентификаторыОбъектовМетаданных.Роли"
ИдентификаторыОбъектовМетаданных.Родитель = ЗНАЧЕНИЕ(<<?>>Справочник.ИдентификаторыОбъектовМетаданных.Роли)
7. nomad_irk 76 13.04.23 15:49 Сейчас в теме
(6)вроде по-русски ж написал, что так можно делать в случае, когда сам элемент - предопределенный.
Ошибка говорит о том, что нет предопределенного элемента "Роли" в Справочник.ИдентификаторыОбъектовМетаданных
8. crog 13.04.23 16:00 Сейчас в теме
(7) Невнимательно прочел. Да, такая запись только с предопределенным значением.
9. DesertPunk 13.04.23 16:04 Сейчас в теме
(2)Мысль верная, но, к сожалению, если иных уникальных реквизитов у элемента справочника нет, то придется. Главное не искать по коду или GUID.
10. anton13m 2 13.04.23 16:15 Сейчас в теме
(2)
А параметры в запросе использовать нельзя?
11. crog 13.04.23 16:32 Сейчас в теме
(5) Можно конечно предать, но получится тоже самое, что и


ИдентификаторыОбъектовМетаданных.Родитель.Наименование = "Роли"

12. Alexwarsis 14.04.23 09:22 Сейчас в теме
(11)
жно конечно предать, но получится тоже самое, что и

Разве можно же ссылку на сам родитель передать и тогда не будет обращения через точку и будет быстрее
13. nomad_irk 76 14.04.23 09:59 Сейчас в теме
(12)Получение ссылки - это дополнительный запрос к БД.
15. Alexwarsis 14.04.23 10:41 Сейчас в теме
(13) Если это в цикле или ещё где применяется то лучше раз его получить и все а если разово то да... (Хотя опять таки можно закешить его в повторяемом модуле если частые обращаения к этой функции, примерно так и работают на уровне платформы предопределенные если кто читал этот вопрос)
14. user1936670 14.04.23 10:36 Сейчас в теме
(2) Выброси своё левое соединение.

ГДЕ
    ИдентификаторыОбъектовМетаданных.Родитель В (
        ВЫБРАТЬ 
            Ссылка
        ИЗ
            Справочник.ИдентификаторыОбъектовМетаданных
        ГДЕ
            Наименование = &НаименованиеРоли
)
Показать
18. crog 14.04.23 11:16 Сейчас в теме
(14)

 
ИдентификаторыОбъектовМетаданных.Родитель В (
        ВЫБРАТЬ 
            Ссылка
        ИЗ
            Справочник.ИдентификаторыОбъектовМетаданных
        ГДЕ
           Наименование = &НаименованиеРоли
)
Показать



Да, это идеальное решение!
20. nomad_irk 76 14.04.23 11:46 Сейчас в теме
(18)чем не понравилось решение из (2)?
Решения идентичны по своей сути.
17. crog 14.04.23 11:09 Сейчас в теме
Да я уже так сделал

ГДЕ
	СправочникИдентификаторыОбъектовМетаданных.Ссылка В ИЕРАРХИИ
			(ВЫБРАТЬ
				ИдентификаторыОбъектовМетаданных.Родитель КАК Родитель
			ИЗ
				Справочник.ИдентификаторыОбъектовМетаданных КАК ИдентификаторыОбъектовМетаданных
			ГДЕ
				ИдентификаторыОбъектовМетаданных.Родитель.Наименование = "Роли")

Показать
Оставьте свое сообщение

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