Регистрация Правила Главная форума Поиск |
0
- 15.01.2012 - 14:42
|
Пробую конструкцию вида Выбрать Оборудование, ВидОборудования(Оборудование) из РегистрСведений,... У меня Оборудование - это составной тип и поэтому во втором поле хочется получить Вид справочника, для этого я, скажем должен сделать внешнюю ф-цию, которая будет возвращать вид справочника в зависимости от элемента поля "Оборудование" Как это можно сделать? | |
1
- 15.01.2012 - 15:19
|
ВЫБОР КОГДА ВидОборудования ССЫЛКА Справочник.ТвойСправочник ТОГДА ""ТвойСправочник"" КОГДА ВидОборудования ССЫЛКА Справочник.ДругойСправочник ТОГДА ""ДругойСправочник"" КОНЕЦ | |
2
- 15.01.2012 - 15:50
| Спасибо 8-) | |
3
- 15.01.2012 - 16:04
|
А как получить значение реквизита через точку У меня Регистр ОбщиеПодключения (Измерения - ОбъектИСПДн (справочник), ПодключаемыйОбъект (справочник); Ресурс - Подключено(булево)) Выбрать РС.ОбъектИСПДн, РС.ПодключаемыйОбъект, ВЫБОР Когда РС.ПодключаемыйОбъект Ссылка Справочник.Оборудование Тогда РС.ПодключаемыйОбъект.ВидУстройства.Наименование КОНЕЦ Как ВидУстройства Из РегистрСведений.ОбщиеПодключения Как РС Почему-то в поле "ВидУстройства" значение Null, хотя у любого ПодключаемогоОбъекта, когда он имеет тип ("Оборудование") реквизит ВидУстройства имеет строго определённое значение | |
4
- 15.01.2012 - 16:38
| (2) У тебя ТИПЗНАЧЕНИЯ отобрали??? | |
5
- 15.01.2012 - 17:24
|
5-Reaper >:))) Ага, мы не любим лёгких путей :) Новый год же :) | |
6
- 15.01.2012 - 17:36
| | |
7
- 15.01.2012 - 18:00
|
7-Reaper >А если серьёзно, то посмотри на следующие: Запрос в 1С: ВЫБРАТЬ ТИПЗНАЧЕНИЯ(РасходнаяНакладная.Заказ) КАК Поле1 ИЗ Документ.РасходнаяНакладная КАК РасходнаяНакладная На скуль уходит: SELECT CASE WHEN (T1._Fld2378_TYPE) = 0x08 AND (T1._Fld2378_RTRef) = 0x00000054 THEN 0x0800000054 WHEN (T1._Fld2378_TYPE) = 0x08 AND (T1._Fld2378_RTRef) = 0x00000055 THEN 0x0800000055 ELSE 0x00 END FROM _Document119 T1 WITH(NOLOCK) Запрос в 1С: ВЫБРАТЬ ВЫБОР КОГДА РасходнаяНакладная.Заказ ССЫЛКА Документ.ЗаказПокупателя ТОГДА ""ЗаказПокупателя"" КОГДА РасходнаяНакладная.Заказ ССЫЛКА Документ.ЗаказПоставщику ТОГДА ""ЗаказПоставщику"" ИНАЧЕ ""Неопределено"" КОНЕЦ КАК Поле1 ИЗ Документ.РасходнаяНакладная КАК РасходнаяНакладная На скуль уходит: SELECT CASE WHEN (T1._Fld2378_TYPE = 0x08 AND T1._Fld2378_RTRef = 0x00000054) THEN N'ЗаказПокупателя' WHEN (T1._Fld2378_TYPE = 0x08 AND T1._Fld2378_RTRef = 0x00000055) THEN N'ЗаказПоставщику' ELSE N'Неопределено' END FROM _Document119 T1 WITH(NOLOCK) Разницу видишь? | |
8
- 15.01.2012 - 18:42
| (8) Разница в том, что я при необходимости еще один тип данных в реквизит добавлю и не будет необходимости запрос переписывать. | |
9
- 15.01.2012 - 18:44
|
9-Reaper >Вот именно! Смотреть надо по ситуации :) А топикстартеру это вообще не нужно, судя по (4). | |
| Интернет-форум Краснодарского края и Краснодара |