AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.01.2009, 10:33   #1  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от hated8 Посмотреть сообщение
Не помогло!

...
qbds = this.query().dataSourceTable(tablenum(RAssetTransferTable));
qbds.addDataSource(tablenum(RAssetLocation));
qbds.addRange( FieldNum( RAssetTransferTable, recId) ).value( "((RAssetTransferTable.NewLocation = RAssetLocation.Location || RAssetTransferTable.OldLocation = RAssetLocation.Location))" );
...

Ошибка расширенного диапазона запроса: RAssetLocation.Location не является корректной парой datasource.field рядом с 64.
А "равно" разве не "==" пишется в аксапте?
Расширенные ренджи также буквально вчера обсуждались: Расширенный фильтр в запрос или как то так

+ Всегда можно сделать info(qbds.toString()) и посмотреть что за кверю вы там наваяли...
__________________
Zhirenkov Vitaly
Старый 16.01.2009, 11:18   #2  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от ZVV Посмотреть сообщение
А "равно" разве не "==" пишется в аксапте?
Это, наверное, будет следующей обнаруженной ошибкой
А пока, судя по позиции "64", похоже, компилятор хочет, чтобы внутренние сравнения, которые соединяются по ||, взяли в скобки.
X++:
"((RAssetTransferTable.NewLocation==RAssetLocation.Location)|| 
(RAssetTransferTable.OldLocation==RAssetLocation.Location))"
Старый 16.01.2009, 11:21   #3  
DAX is offline
DAX
Участник
 
28 / 18 (1) ++
Регистрация: 03.12.2008
Цитата:
Сообщение от ZVV Посмотреть сообщение
А "равно" разве не "==" пишется в аксапте?
Расширенные ренджи также буквально вчера обсуждались: Расширенный фильтр в запрос или как то так

+ Всегда можно сделать info(qbds.toString()) и посмотреть что за кверю вы там наваяли...
я как то тестил, вроде именно в рендже было всёравно и так и так работало) вот нашел 1 рабочий пример, там тоже "=".

А по теме, не пробуя, мне кажется проблема в скобках

вместо "((RAssetTransferTable.NewLocation = RAssetLocation.Location || RAssetTransferTable.OldLocation = RAssetLocation.Location))"

надо
"((RAssetTransferTable.NewLocation = RAssetLocation.Location) || (RAssetTransferTable.OldLocation = RAssetLocation.Location))"
За это сообщение автора поблагодарили: Gustav (3).
Старый 16.01.2009, 11:25   #4  
hated8 is offline
hated8
Участник
Аватар для hated8
Злыдни
 
133 / 18 (1) ++
Регистрация: 27.06.2008
Фсё перепробоваал!!!
Фанарь!

У меня почему-то даже
qbds = this.query().dataSourceTable(tablenum(RAssetTransferTable));
qbds.addRange(fieldNum(RAssetTransferTable, recid)).value("((RAssetTransferTable.NewLocation == '1 01 01 00 12'))" );

возращает ошибку!

Последний раз редактировалось hated8; 16.01.2009 в 11:39.
Старый 16.01.2009, 11:28   #5  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от hated8 Посмотреть сообщение
("((RAssetTransferTable.NewLocation == '1 01 01 00 12'))" );
Кавычки внутри выражения должны быть обязательно двойные. Меняйте наоборот. И скобок достаточно одних:
X++:
...value.('(RAssetTransferTable.NewLocation=="1 01 01 00 12")');
Старый 16.01.2009, 11:30   #6  
DAX is offline
DAX
Участник
 
28 / 18 (1) ++
Регистрация: 03.12.2008
;)
2 человека уже написали рабочий вариант... почему бы его не попробовать?
Старый 16.01.2009, 11:36   #7  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от DAX Посмотреть сообщение
2 человека уже написали рабочий вариант... почему бы его не попробовать?
Это слишком лёгкий путь...
А так всё перепробует и запомнит на всю жизнь (надеюсь).
__________________
Zhirenkov Vitaly
Старый 16.01.2009, 11:57   #8  
hated8 is offline
hated8
Участник
Аватар для hated8
Злыдни
 
133 / 18 (1) ++
Регистрация: 27.06.2008
да не в том дело!

Все примеры работают с
qbds = query.addDataSource(tablenum(RAssetTransferTable));
, а мне необходимо
qbds = this.query().dataSourceTable(tablenum(RAssetTransferTable));!

как только меняешь одно на другое сразу получаеш:
Ошибка расширенного диапазона запроса: RAssetLocation.Location не является корректной парой datasource.field рядом с 60.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как преобразовать запрос в SQL-инструкцию Oloops DAX: Программирование 7 07.07.2008 20:38
Поймать SQL запрос при формировании отчета Qaz Qwerty DAX: Программирование 7 12.06.2008 01:46
SQL мониторинг + прямой запрос к SQL Alex_KD DAX: Программирование 17 29.05.2007 03:58
SQL Запрос Александр Костоусов DAX: Программирование 5 24.09.2004 12:15
Собственный SQL запрос в FormDataSource Alexey DAX: База знаний и проекты 0 20.12.2001 00:35

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:39.