|
Присвоить тип для пустого значения в запросе | ☑ | ||
---|---|---|---|---|
0
MAPATNK2
naïve
19.11.19
✎
09:26
|
Всем доброго дня ут 10.3
Есть запрос ,который для объекта выводит свойства. Но вот проблема, там, где свойства не заполнены, при выгрузке запроса в таблицу нужно выбирать тип значения, а потом прописывать само значение. Можно ли как то пустому значению в запросе присвоить тип свойства, чтобы не нужно было его выбирать в таблице значений? |ВЫБРАТЬ РАЗЛИЧНЫЕ РАЗРЕШЕННЫЕ | СвойстваОбъектов.Наименование КАК СвойстваОбъектовНаименование, | СвойстваОбъектов.Ссылка КАК Свойство, | РегистрСведений.ЗначенияСвойствОбъектов.Значение КАК Значение | |ИЗ |// Отбираются свойства, предназначенные для заданного типа объектов. | ( | ВЫБРАТЬ | ПланВидовХарактеристик.СвойстваОбъектов.Ссылка КАК Ссылка, | ПланВидовХарактеристик.СвойстваОбъектов.Наименование КАК Наименование, | ПланВидовХарактеристик.СвойстваОбъектов.ПометкаУдаления КАК ПометкаУдаления | | ИЗ | ПланВидовХарактеристик.СвойстваОбъектов | | ГДЕ | ПланВидовХарактеристик.СвойстваОбъектов.НазначениеСвойства В ( &НазначениеСвойств ) | | ) КАК СвойстваОбъектов | |ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ |// Присоединяются значения свойств, назначенные для заданного объекта. | РегистрСведений.ЗначенияСвойствОбъектов |ПО | РегистрСведений.ЗначенияСвойствОбъектов.Свойство = СвойстваОбъектов.Ссылка | И | РегистрСведений.ЗначенияСвойствОбъектов.Объект = &ОбъектОтбораЗначений | |ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ |// Присоединяются группы, которым назначено свойство, для отбора свойств. |// Если свойству назначено значение, оно отбирается в любом случае. | РегистрСведений.НазначенияСвойствОбъектов |ПО | РегистрСведений.НазначенияСвойствОбъектов.Свойство = СвойстваОбъектов.Ссылка | И | РегистрСведений.ЗначенияСвойствОбъектов.Значение ЕСТЬ NULL | |ГДЕ |// Если значение свойства не задано, свойство должно быть назанчено |// или всем объектам, или одной из групп - родителей объекта. | РегистрСведений.НазначенияСвойствОбъектов.Объект ЕСТЬ NULL | ИЛИ | РегистрСведений.НазначенияСвойствОбъектов.Объект В ( &СписокНазначенийСвойств ) | |УПОРЯДОЧИТЬ ПО | СвойстваОбъектовНаименование |"; |
|||
1
ДенисЧ
19.11.19
✎
09:29
|
ВЫБОР КОГДА РегистрСведений.ЗначенияСвойствОбъектов.Значение = НЕОПРЕДЕЛЕНО Тогда ЗНАЧЕНИЕ(Справочник.ТвойСправочник.ПустаяСсылка)
ИНАЧЕ РегистрСведений.ЗначенияСвойствОбъектов.Значение КОНЕЦ КАК Значение Справочник.ТвойСправочник заменить на нжуный тип |
|||
2
MAPATNK2
naïve
19.11.19
✎
09:31
|
(1) Спасибо
|
|||
3
yzimin
19.11.19
✎
09:31
|
или так
ЕСТЬNULL(РегистрСведений.ЗначенияСвойствОбъектов.Значение, Значение(Справочник.Номенклатура.ПустаяСсылка)) КАК Значение |
|||
4
MAPATNK2
naïve
19.11.19
✎
09:34
|
(1) (3) хотя стоп, что то не то. тут ведь мы получаем тип значения конкретного объекта конфигурации. А я не знаю ведь наперед какой тип имеет свойства. Мне нужно чтобы присваивался тип свойства
|
|||
5
ДенисЧ
19.11.19
✎
09:36
|
(4) Какой именно тип тебе нужен?
|
|||
6
MAPATNK2
naïve
19.11.19
✎
09:36
|
(5) Откуда мне знать? Типы у свойств разные. Мне нужно получать пустое значение типа свойства
|
|||
7
MAPATNK2
naïve
19.11.19
✎
09:37
|
(5) ВЫБОР
КОГДА ЗначенияСвойствОбъектов.Значение=неопределено ТОГДА ЗНАЧЕНИЕ(СвойстваОбъектов.Ссылка) ИНАЧЕ ЗначенияСвойствОбъектов.Значение КОНЕЦ Типа того...только так нельзя XD |
|||
8
MAPATNK2
naïve
19.11.19
✎
09:39
|
ТипЗначения.ПривестиЗначение() только как в запрос такое засунуть?
|
|||
9
MAPATNK2
naïve
19.11.19
✎
09:44
|
Т.е. я заранее не знаю, какого типа будет свойство. Оно определится только во время выполнения запроса. Дак вот мне нужно получать пустую ссылку с типом значения свойства в ЗАпросе)
|
|||
10
dka80
19.11.19
✎
09:47
|
ВЫБОР
КОГДА ЗначенияСвойствОбъектов.Значение Ссылка Справочник.Номенклатура Тогда Значение(Справочник.Номенклатура.ПустаяСсылка) ... КОНЕЦ |
|||
11
dka80
19.11.19
✎
09:48
|
СправочникСсылка.Номенклатура
|
|||
12
MAPATNK2
naïve
19.11.19
✎
09:51
|
(10) Зачем мне тип значения справочника номенклатуры. Мне нужен тип значения свойства.
|
|||
13
MAPATNK2
naïve
19.11.19
✎
09:51
|
Ладно, забыли, всем спасибо ,видимо не возможно в 1С определять, заранее неизвестный. Сделал постобработку запроса с помощью ТипЗначения.ПривестиЗначение()
|
|||
14
dka80
19.11.19
✎
09:53
|
(12) затем, что в запросе ты тип определить не можешь и сравниваешь твой тип с заранее известными тебе
КОГДА ЗначенияСвойствОбъектов.Значение Ссылка Справочник.Номенклатура Тогда Значение(Справочник.Номенклатура.ПустаяСсылка) КОГДА ЗначенияСвойствОбъектов.Значение Ссылка Справочник.Контрагенты Тогда Значение(Справочник.Контрагенты .ПустаяСсылка) и так далее, перечисляя все возможные типы твоего значения |
|||
15
sqr4
19.11.19
✎
09:56
|
(13) Видимо просто ты не умеешь даже читать внимательно
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |