28.06.2004, 12:05 | #1 |
Участник
|
Вопрос возникает следующий.
Мне нужно сделать выборку (здесь все только для примера) и поместить ее во вьюшку. Выборка в Oracle выглядела бы так select sum(((v.PurchPrice*i.qty)-v.DiscAmount*i.Qty)-(((v.PurchPrice*i.qty)-v.DiscAmount*i.Qty)*v.DiscPercent/100)) as ResultField , i.inventdimid from vendinvoicetrans v ,inventtrans i where v.inventtransid =i.inventtransid group by i.inventdimid возможно ли сие сделать средствами Аксапты? Т.е. если создать в Аксапте вьюшку , сказать что выбери поля PurchPrice, DiscAmount, discPercent просуммировав их, а по полю InventdimId сделай группировку, а затем создать display метод: display AmountCur LineAmount() { return this.purchPrice*this.qty; } display AmountCur method1 () { return (this.LineAmount()-this.DiscAmount*this.Qty)-((this.LineAmount()-this.DiscAmount*this.Qty)*this.DiscPercent/100); } То его результат будет не верен, так как скидки действуют по каждой строке, но не по их сумме. т.е. если имеем 1 строка цена 111,11 скидка 10% 2 строка цена 100 скидка 0 то в результате моего запроса получим сумма = 200 а вот display метод вернет 190 Только не предлагайте посчитать результат именно этого запроса по иному (как выкрутится вэтом конкретном случае я и сам знаю), именно этот запрос приведен только для примера, вопрос задан для того чтобы понять возможно ли делать такую выборку в аксапте или нет. |
|