![]() |
#7 |
Участник
|
Вот переписанный ваш запрос.
X++: display SalesLineAmount nds18() // НИКАКИХ real. Только Extended Data Type = EDT { TaxItemGroup nds; // НИКАКИХ str. Только Extended Data Type = EDT SalesLineAmount nds18; // НИКАКИХ real. Только Extended Data Type = EDT ; while select SalesLine where salesLIne.InventTransId==inventtrans.inventTransId && salesline.TaxItemGroup == 'НДС18' // сразу сокращайте выборку, не надо тянуть с сервера лишние записи { nds18 += SalesLine.LineAmount; } return nds18 ; } X++: display SalesLineAmount nds18() // НИКАКИХ real. Только Extended Data Type = EDT { TaxItemGroup nds; // НИКАКИХ str. Только Extended Data Type = EDT ; select sum(lineAmount) from SalesLine where salesLIne.InventTransId==inventtrans.inventTransId && salesline.TaxItemGroup == 'НДС18' // сразу сокращайте выборку, не надо тянуть с сервера лишние записи ; nds18 = SalesLine.LineAmount; .... return nds18 ; } но даже после такой модификации все равно написано плохо, поскольку в display-методах не должно быть обращений к базе. Не может такого быть! |
|