|
|
|
|
#1 |
|
Участник
|
После изменения энума ModuleInventPurchSales чтоб он был Extensible, нашли такой код в классе MCRCatalogAreaAnalysisDP, так как стал валится Compiler Warning: ExtensibleEnumInNumericalAssignment
X++: AmountMST cost = this.itemPrice(ModuleInventPurchSales::Invent);
AmountMST sales = this.itemPrice(ModuleInventPurchSales::Sales);
...
//Avoid division by zero
if (this.itemPrice(ModuleInventPurchSales::Sales == 0))
{
mcrCatalogAreaAnalysisTmp.CogsPercent = 0;
}
else
{
mcrCatalogAreaAnalysisTmp.CogsPercent = cost / Sales;
}![]() Последний раз редактировалось kashperuk; 17.07.2017 в 12:26. |
|
|
|
| За это сообщение автора поблагодарили: Stitch_MS (2), gl00mie (2), skuull (2), macklakov (1). | |
|
|
#2 |
|
Участник
|
|
|
|
|
|
#3 |
|
Участник
|
Цитата:
Это изменение отревьюило 2 человека.. То есть втроем, с учетом того что сам девелопер тоже правил, они не смогли нормально скобочки сосчитать, и их никак не удивила эта странная констркция со сравнением двух энумов..
|
|
|
|
|
#4 |
|
Участник
|
Цитата:
|
|
|
|
|
#5 |
|
Участник
|
Цитата:
|
|
|
|
|
#6 |
|
Banned
|
Цитата:
![]() X++: AmountMST cost = this.itemPrice(ModuleInventPurchSales::Invent);
AmountMST sales = this.itemPrice(ModuleInventPurchSales::Sales);
...
//Avoid division by zero
if (sales == 0)
{
mcrCatalogAreaAnalysisTmp.CogsPercent = 0;
}
else
{
mcrCatalogAreaAnalysisTmp.CogsPercent = cost / sales;
} |
|
|
|
| За это сообщение автора поблагодарили: S.Kuskov (2). | |
|
|
#7 |
|
NavAx
|
Цитата:
if (this.itemPrice(ModuleInventPurchSales::Sales) == 0) Такое случается по запаре. Ничего особенного. Но вот фикс шедеврален! Это же человек не просто колотил код на скорость. Это вдумчиво выловили баг, подумали над его природой и исправили. Кажется я начинаю понимать почему местный саппорт так неохотно репортит даже доказанные баги с указанием где что и как поломано в продуктовую команду.
__________________
Isn't it nice when things just work? |
|
|
|
| За это сообщение автора поблагодарили: S.Kuskov (2). | |
|
|
#8 |
|
Участник
|
Как раз не вдумчиво. Механически заменили константу 0 на его аналог в енуме. Это чистой воды копи-пастинговый, рутинный подход. Программисты любят копи-паст, как ни крути.
__________________
Мои утилиты для Аксапты версий 3.0-2012: http://aceofdatabase.blogspot.com/ |
|
|
|
|
#9 |
|
Участник
|
Да нет, не копи паст это. Просто человек пишет компилятор, фреймворк для екстеншенов для енумов. Он не знает и/или скорее всего не хочет знать ничего про цены и прочие MCR - этим кодом владеет команда MCR(условно говоря). Сейчас он поменял что-то в компиляторе и у него в некоторых местах ошибки компилятора. Править чужой код он не может, но надо сделать чтоб компилилось. Вот он и заменил цифру на енум, хоть оно и бестолково. По хорошему должен был кинуть багу на MCR что код походу неправильный. Но опять же, не факт что команда MCR будет править код, ведь клиенты баги не репортят, а там мало ли что кому кажется.
|
|
|
|
| За это сообщение автора поблагодарили: Vadik (1), fed (1), macklakov (1), trud (1), Ace of Database (1). | |