14.04.2008, 11:21
|
#5
|
Участник
Регистрация: 28.11.2005
Адрес: Москва
|
Цитата:
Сообщение от Dronas
Таблица RPDocument, поля: Field1 (NoYesId), Field2 (EmplId)
при:
X++: range.value(strFmt('%1.Field1==%2&&(%1.Field2=="")', qbdsJoin.name(), NoYes::Yes)); Всё работает
Какой запрос формируется у вас в этом случае? Точно ли он работает так, как вы предполагаете? Вообще, при формировании запросов лучше использовать методы из SysQuery, вроде queryValue() и SysQuery::valueEmptyString()
Цитата:
Сообщение от Dronas
при добавлении скобок
X++: '((%1.SelectedDivergence==%2)&&(%1.SelectedSupeVisor==""))' Уже не работает, выдаёт:
SELECT * FROM ERG_RPDocument WHERE SalesPickingListJournalTable.PickingListId = ERG_RPDocument.PickingListId AND ((((ERG_RPDocument_1.SelectedDivergence==Да)&&(ERG_RPDocument_1.SelectedSupeVisor==""))))
Ошибка расширенного диапазона запроса: Ожидается правая круглая скобка рядом с 0
Ну правильно, у вас сформированное значение range не распарсилось и ушло на SQL в исходном виде. SQL использует мнемонические обозначение логических операций вместо && || и одиночный знак равенства вместо двойного... На всякий случай, посмотрите внимательно раздел axaptapedia на эту тему. Кроме того, обратите внимание, что в автоматически сформированной части запроса у вас таблица называется ERG_RPDocument, а в сформированном Range - ERG_RPDocument_1, это как-то странно...
Цитата:
Сообщение от Dronas
Ах3 MSSQL2008 вроде
- тук-тук!
- кто там?
- да ведь это же я!
- кто "я"? "я" бывают разные!(с) м/ф про Винни-Пуха
Так вот, AX3 тоже бывают разные какая именно у вас версия ядра?
|
|