|
![]() |
#1 |
Участник
|
Ошибку удалось исправить смодификацией метода calcMarkedCostValue таблицы InventTrans
<div class='XPPtop'>X++</div><div class='XPP'> [color=:blue]static[/color] [color=:blue]container[/color] calcMarkedCostValue( InventRefTransId _refTransId, ItemId _itemId, InventDimId _inventDimId, Boolean _inclPhysicalCostValue ) { InventTrans inventTrans; InventQty qty; CostAmount value; [color=:blue]select[/color] [color=:blue]sum[/color](qty),[color=:blue]sum[/color](costAmountPosted),[color=:blue]sum[/color](costAmountAdjustment) [color=:blue]from[/color] inventTrans [color=:blue]index[/color] hint TransIdIdx [color=:blue]where[/color] inventTrans.inventTransId [color=:blue]==[/color] _refTransId && inventTrans.statusIssue [color=:blue]==[/color] StatusIssue::None && inventTrans.statusReceipt [color=:blue]==[/color] StatusReceipt::Purchased && [color=:green]//добавил проверку --> [/color] inventTrans.PackingSlipReturned [color=:blue]==[/color] NoYes::No && [color=:green]//добавил проверку <-- [/color] inventTrans.ItemId [color=:blue]==[/color] _itemId; qty += inventTrans.qty; value += inventTrans.costValue(); [color=:blue]if[/color] (_inclPhysicalCostValue) { [color=:blue]select[/color] [color=:blue]sum[/color](qty),[color=:blue]sum[/color](costAmountPhysical) [color=:blue]from[/color] inventTrans [color=:blue]index[/color] hint TransIdIdx [color=:blue]where[/color] inventTrans.inventTransId [color=:blue]==[/color] _refTransId && inventTrans.statusIssue [color=:blue]==[/color] StatusIssue::None && inventTrans.statusReceipt [color=:blue]==[/color] StatusReceipt::Received && inventTrans.ItemId [color=:blue]==[/color] _itemId; qty += inventTrans.qty; value += inventTrans.CostAmountPhysical; } [color=:blue]return[/color] [qty,value]; }</div> Вопрос - на сколько это корректно? |
|