AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.06.2004, 12:05   #1  
Aleksandr Parfenov is offline
Aleksandr Parfenov
Участник
 
13 / 10 (1) +
Регистрация: 19.09.2005
Адрес: г. Екатеринбург
Вопрос возникает следующий.
Мне нужно сделать выборку (здесь все только для примера) и поместить ее во вьюшку. Выборка в 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
Только не предлагайте посчитать результат именно этого запроса по иному (как выкрутится вэтом конкретном случае я и сам знаю), именно этот запрос приведен только для примера, вопрос задан для того чтобы понять возможно ли делать такую выборку в аксапте или нет.
Старый 28.06.2004, 12:18   #2  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от shura
Мне нужно сделать выборку (здесь все только для примера) и поместить ее во вьюшку. Выборка в 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

Вопрос задан для того чтобы понять возможно ли делать такую выборку в аксапте или нет.
Нет
__________________
-ТСЯ или -ТЬСЯ ?
Старый 28.06.2004, 12:19   #3  
Aleksandr Parfenov is offline
Aleksandr Parfenov
Участник
 
13 / 10 (1) +
Регистрация: 19.09.2005
Адрес: г. Екатеринбург
Цитата:
Сообщение от Vadik
Нет
хм... жаль.. очень жаль... а в некоторых случаях былобы удобно...
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 03:32.