Показать сообщение отдельно
Старый 27.04.2005, 19:24   #4  
Sanya is offline
Sanya
Участник
 
172 / 11 (1) +
Регистрация: 24.04.2003
Адрес: Киев
Ошибку удалось исправить смодификацией метода 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>
Вопрос - на сколько это корректно?