![]() |
#1 |
Moderator
|
Сравнение полей в запросе
Добрый вечер!
Хотел бы сравнивть в запросе два поля по абсолютной величине (inventJournalTrans.Qty[оно в рамках задачи всегда меньше нуля] и inventJournalTrans.QtyRegistered) Написал: PHP код:
Написал: PHP код:
Ну, второе еще понятно - заведомо. Но решения не нашел.. |
|
![]() |
#2 |
Участник
|
а так?
PHP код:
|
|
![]() |
#3 |
NavAx
|
Попробуйте скобочек добавить... так вроде.
__________________
Особые лекарства... меня не прут!.. |
|
![]() |
#4 |
Участник
|
![]()
Во-первых,
X++: qbds = query.addDataSource(tableNum(InventJournalTrans),"InventJournalTrans"); В-третьих, слегка извращенно это получится так X++: qbrQty.value("((inventJournalTrans.JournalId == \"" + _inventJournalTable.JournalId + "\") && (inventJournalTrans.Qty - inventJournalTrans.Qty < inventJournalTrans.Qty + inventJournalTrans.QtyRegistered))"); X++: while select inventJournalTrans where inventJournalTrans.JournalId == _inventJournalTable.JournalId && inventJournalTrans.Qty - inventJournalTrans.Qty < inventJournalTrans.Qty + inventJournalTrans.QtyRegistered
__________________
Axapta v.3.0 sp5 kr2 Последний раз редактировалось AndyD; 08.02.2006 в 18:35. |
|
|
За это сообщение автора поблагодарили: DreamCreator (2). |
![]() |
#5 |
Moderator
|
Это что-то у вас с полем QtyRegistered не то. Если написать глупый запрос
Код: while select inventJournalTrans where inventJournalTrans.JournalId == _inventJournalTable.JournalId && - inventJournalTrans.Qty < inventJournalTrans.SalesAmount Во втором случае в скобках не нужно указывать "inventJournalTrans": PHP код:
__________________
Андрей. |
|
![]() |
#6 |
Moderator
|
Спасибо за советы -- сейчас пробую!
Цитата:
Сообщение от mit
а так?
2 Ivan Mischenko, AndyD Сейчас пробую. Спасибо! 2 Dron AKA andy У меня и на этот запрос ругается аналогично! |
|
![]() |
#7 |
Moderator
|
Цитата:
Сообщение от AndyD
Во-вторых, JournalId надо тоже добавлять в расширенный диапазон, иначе соединение получается ч/з OR, а не AND
.. PS. Select можно построить по этому-же принципу X++: while select inventJournalTrans where inventJournalTrans.JournalId == _inventJournalTable.JournalId && inventJournalTrans.Qty - inventJournalTrans.Qty < inventJournalTrans.Qty + inventJournalTrans.QtyRegistered ![]() PHP код:
PHP код:
|
|
![]() |
#8 |
----------------
|
Уже когда-то писал
PHP код:
|
|
![]() |
#9 |
Moderator
|
Работает!
![]() |
|
![]() |
#10 |
----------------
|
Аналогично
PHP код:
|
|
![]() |
#11 |
Участник
|
Это не надо. Уже включено в расширенный диапазон
qbds.addRange(fieldNum(InventJournalTrans,JournalId)).value(inventJournalTable.JournalId); Прошу прощения, перенос я вставил только для того, чтобы строка нормально читалась в браузере. На самом деле надо так X++: qbrQty.value("((inventJournalTrans.JournalId == " + "\"" + _inventJournalTable.JournalId + "\") && " + "(inventJournalTrans.Qty - inventJournalTrans.Qty < " + "inventJournalTrans.Qty + inventJournalTrans.QtyRegistered))"); Если IncompleteDelivery тоже должно быть ч/з AND, то его необходимо внести в расширенный Range
__________________
Axapta v.3.0 sp5 kr2 |
|
![]() |
#12 |
----------------
|
AndyD Не надо ничего добавлять в расширенный range. Надо просто его сделать по правильному полю и тогда все условия будут через AND
|
|
|
За это сообщение автора поблагодарили: axaLearner (2), DreamCreator (2), AndyD (2). |
![]() |
#13 |
Moderator
|
Оба варианта с query корректно сработали!
Wamr и AndyD спасибо и респект! ![]() |
|
Теги |
query, запрос (query) |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|