Показать сообщение отдельно
Старый 23.10.2009, 12:14   #2  
Starling is offline
Starling
Участник
Дети Юза
 
530 / 76 (4) ++++
Регистрация: 20.10.2005
Адрес: Kiev
Делаю следующие изменения в коде:
X++:
public CostAmountSecCur_RU updateLedgerFinancialSecCur_RU(LedgerVoucher         _ledgerVoucher,
                                                          InventUpd_Financial   _updateNow)
{
    CostAmountSecCur_RU     costAmountSecCur;
    LedgerVoucherObject     ledgerVoucherObject = _ledgerVoucher.findLedgerVoucherObject();
    LedgerBondClient_RU     ledgerBondClient = ledgerVoucherObject.ledgerBondClient_RU();

    if (this.mustBeBookedFinancially() && this.mustBeBookedOnhandSecCur_RU())
    {
....
    }
//исправление -->
    else
    {
        if(this.mustBeBookedOnhandSecCur_RU())
        {
            costAmountSecCur = Currency::amount(_updateNow.parmCostAmountCurSecCur_RU(),
                                                CompanyInfo::secondaryCurrency_RU());
            if (costAmountSecCur)
            {
                _updateNow.updOperationsAmountSecCurLedger_RU(-costAmountSecCur);
            }
            else
            {
                _updateNow.updOperationsAmountSecCurLedger_RU(0);
            }
        }
    }
//исправление <--

    return costAmountSecCur;
}
На первый взгляд все работает. В том числе и коррекция при закрытии склада нормально протягивается.
Может, кто скажет, на сколько данные изменения имеют право на жизнь?
З.Ы.: код это для DAX2009 без RU3, так как его нет под рукой, но там я делал то же самое, с такими же результатами.