|
![]() |
#1 |
Участник
|
DAX 4.0 SP2 - занятный код
Наткнулся недавно на интересный кусок кода на SYS слое в форме COSCalcTrans , отнести это к багам язык не повернулся, скорее можно рассматривать как пример mauvais ton в реализации :
Forms\COSCalcTrans\Data Sources\COSCalcTrans\Methods\executeQuery: X++: public void executeQuery() { ... // date From and To if(dateFrom.dateValue() && dateTo.dateValue()) { qbds.addRange(fieldnum(COSCalcTrans,TransDate)).value(queryValue(dateFrom.dateValue())+"@SYS35672"+"@SYS35672"+queryValue(dateTo.dateValue())); } else { if(dateFrom.dateValue() && ! dateTo.dateValue()) { qbds.addRange(fieldnum(COSCalcTrans,TransDate)).value(queryValue(dateFrom.dateValue())); } } super(); } |
|
|
За это сообщение автора поблагодарили: kashperuk (3). |
![]() |
#2 |
MCITP
|
![]()
Data Dictionary \ Maps \ PriceDiscHeading \ Methods
X++: server void updateFinalDisc(PriceDiscLine priceDiscLine) { PriceDisc priceDisc; InventTableModule inventTableModule; AmountCur balanceEndDisc; ModuleInventPurchSales moduleType = priceDiscLine.moduleType(); ; while select sum(LineAmount) from priceDiscLine group by ItemId where priceDiscLine.SalesPurchId == this.SalesPurchId && priceDiscLine.ItemId join inventTableModule group by EndDisc where inventTableModule.ItemId == priceDiscLine.ItemId && inventTableModule.ModuleType == moduleType && inventTableModule.EndDisc == NoYes::Yes { balanceEndDisc += priceDiscLine.LineAmount; } ......................................... Явно не для производительности... ![]() Разве это не эквивалентно чему-то вроде вот этого: (или я туплю?) X++: select sum(LineAmount) from priceDiscLine where priceDiscLine.SalesPurchId == this.SalesPurchId && priceDiscLine.ItemId join tableId from inventTableModule where inventTableModule.ItemId == priceDiscLine.ItemId && inventTableModule.ModuleType == moduleType && inventTableModule.EndDisc == NoYes::Yes; balanceEndDisc = priceDiscLine.LineAmount;
__________________
Zhirenkov Vitaly |
|
Теги |
bug report, баг, ошибка, dynamics |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|