12.03.2006, 17:48 | #1 |
Участник
|
Range на Query
есть запрос типа:
InvetnTrans it1, it2; ... where .. it2.Qty == -it1.Qty ... Возможно ли такое условие впихнуть в Query? Я пишу: qbDS.addRange(fieldnum(InventTrans, Qty)).value("(it2.Qty == -it1.Qty)"); Ругается... при выполнении. И еще вопрос по ходу. Создаю запрос в query отчета типа: InventTable (Group by itemId) InventTrans_1 (InnerJoin)FetchMode на всех DS 1:1InventDim (InnerJoin)InventLocation (InnerJoin)InventTrans_2 (ExistsJoin) Если смотрю запрос qbdS.toString() - то вроде все прилично, но в реальности (Profiler)InventTrans_2 вообще не цепляется. И как люди вообще делают свод по внутреннему складскому движению (обороты между складами), типа: номенклатура, склад Откуда, склад Куда, количество? Расходные и приходные проводки из inventTrans нормально не джойнятся. Переборы которые я использую работают жутко медленно. Может кто совет дать? |
|
13.03.2006, 02:12 | #2 |
Участник
|
Для начала попробуйте просто в еще одни скобки взять - "((it2.Qty = -it1.Qty))"
А вообще, насколько я понмю, где-то пробегало, что с минусами не очень, то есть нужно писать не -it1.Qty, а 01*it1.Qty и ставить слева от знака "=" Удачи |
|
13.03.2006, 11:08 | #3 |
Developer
|
kashperuk наверное имел в виду не "01*it1.Qty" а "-1*it1.Qty"
Кстати, а почему именно слева от знака = ? У меня и справа все работает... |
|
13.03.2006, 15:33 | #4 |
Участник
|
Да, -1 конечно же
"Работает? Не трогай!" ) Такая особенность парсера видимо. Но раз работает, то может я и не прав. |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|