|
![]() |
#1 |
Участник
|
Цитата:
стандартно не знаю способа, да и нет кажется но есть один "хитрый" путь создать вьюху PurchLineView1 с полями PurchId, PurchStatus, Blocked, RecId1, ItemId и в моем джобе сделать так PHP код:
|
|
![]() |
#2 |
Участник
|
Цитата:
X++: qbds = qbdsPurchTable.addDataSource(tableNum(PurchLine), 'PurchLine_1_1'); |
|
![]() |
#3 |
Участник
|
Цитата:
Но речь о том, что возвращает info(qbdsPurchLineSum.toString()); а именно: SELECT SUM(PurchQty) FROM PurchLine WHERE ((PurchStatus = 1)) AND ((ItemId = N'123')) EXISTS JOIN * FROM PurchTable WHERE PurchLine.PurchId = PurchTable.PurchId AND ((PurchStatus = 1)) NOTEXISTS JOIN * FROM PurchLine WHERE PurchTable.PurchId = PurchLine.PurchId AND ((ItemId = N'123')) AND ((((PurchLine_1_1.PurchStatus != 1) || (PurchLine_1_1.Blocked == 1)))) даже если применить qbds = qbdsPurchTable.addDataSource(tableNum(PurchLine), 'PurchLine_1_1'); 4.0 и ах2009 |
|
![]() |
#4 |
Участник
|
|
|
![]() |
#5 |
Участник
|
Действительно работает. Но вьюха взята не с потолка, именно она очень давно помогла выполнить "замысловатый" запрос. Не могу вспомнить ситуацию, может это было на тройке, или на форме.
|
|
![]() |
#6 |
Участник
|
ну сам запрос получился лучше с View и как запрос select отрабатывает правильно, но через Query и QueryRun система не возврщает записи,
значит что то работает не правильно. да, я мог бы долго мучаться с такими ограничениями, но решил поинтересоваться там где я действительно не пользовался View. но увы задачу пока что это не решает, хотя я самостоятельно упростил первоначальное условия выборки. но пока что цель не достигнута, и я пока не знаю как это сделать в одном запросе, хотя теоритически может и возможно. а вот QueryRun не возвращает значений на 4-ке почему то не работает и через вьюшку а сам запрос я проверил получается правильный. так что задачка по прежнему не решена. я лишь пока что убедился, что в один запрос ее как не решить. так как даже в такой выборке запрос не вернет тех закупок где строк с такой номенклатурой нет. так что только двумя запросами знаю как решить, но одним не получается. |
|
![]() |
#7 |
Участник
|
Цитата:
ниже "проверенный" код X++: qbr.value(strFmt('((%1.%2 != %3) || (%4.%5 == %6))', qbds.name(), fieldId2name(tableNum(PurchLineView1),fieldNum(PurchLineView1,PurchStatus)), enum2int(PurchStatus::Backorder), qbds.name(), fieldId2name(tableNum(PurchLineView1),fieldNum(PurchLineView1,Blocked)), enum2int(NoYes::Yes) ) ) ; |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|