![]() |
#1 |
Участник
|
![]()
День добрыЙ!
Есть: Query по двум таблицам: главная InventTrans и подчиненная InventTransPosting. Из подчиненной таблицы требуется получать значения только с InventTransPostingType (тип ENUM) равным 1. Для этого создаю Range для этого поля и в значений Value ставлю 1. При выполнении запроса получаю ошибку: "[Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column name "Финансовый" " и сам запрос вида: create view OLAPTST5_INVENTTRANSPOSTING as select A.* from INVENTTRANSPOSTING A where A.DATAAREAID = {fn LCASE('tst')} AND A.INVENTTRANSPOSTINGTYPE = Финансовый Т.е. вместо Enum_ID в запрос подставляется соответствующее ему значение. Вопрос: Каким образом все-таки можно в запросе отфильтровать данные по Enum полю? |
|
![]() |
#2 |
1C
|
А если попробовать поставить не 1, а брать значение из BaseEnum. Например MyEnum::Value1
|
|
![]() |
#3 |
Участник
|
![]()
Если значение в поле VALUE должно выглядеть именно так:
InventTransPostingType::Финансовый, то я это попробовал, ошибка также присутствует: [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column name '__ILLEGAL_VALUE__'. ![]() |
|
![]() |
#4 |
1C
|
Ой ложанулся я. Нужно вот так enum2str(MyEnum::Value1).
|
|
![]() |
#5 |
Участник
|
![]() О! Спасибо, YVAS!! Вот так работает!!! |
|
![]() |
#6 |
Участник
|
![]()
Я тож ложанулся, данная конструкция также не работает с той же ошибкой
![]() |
|
![]() |
#7 |
Модератор
|
попробуте так:
PHP код:
|
|
![]() |
#8 |
Участник
|
![]() ![]() Ситуация все равно та-же самая. "create view OLAPTST5_INVENTTRANSPOSTING as select A.* from INVENTTRANSPOSTING A where A.DATAAREAID = {fn LCASE('tst')} AND A.INVENTTRANSPOSTINGTYPE = __ILLEGAL_VALUE__" Дело в том, что я использую этот запрос для создания OLAP куба и создаю его не через X++, а в дереве AOT. |
|
![]() |
#9 |
Участник
|
Если пользуешься Analysis Services, то проще и быстрее сделать view средствами сиквела.
Как я слышал, у 2.5 и у 3.0 родной OLAP глючит с enum? |
|