Показать сообщение отдельно
Старый 28.12.2011, 17:01   #12  
Cardagant is offline
Cardagant
Участник
 
317 / 54 (2) ++++
Регистрация: 11.10.2011
Вот код этого метода в системе:

X++:
boolean  mustBeBookedFinancially()
{
    InventDim   inventDimTo;
    InventDim   inventDimFrom;
    ;
    if (CompanyInfo::features_W() == CRSEFeatures_W::RU && !InventParameters::find().EnableTransferFinancialPosting_RU)
    {
        inventDimFrom = inventJournalTrans.inventDim();
        inventDimTo = inventJournalTrans.toInventDim();
        if (inventDimFrom.InventProfileId_RU == inventDimTo.InventProfileId_RU)
        {
            return false;
        }
    }

        if (InventParameters::find().InventPosting_ZTR)
    {
        if (this.accountBalanceSheet() == this.accountOperations())/* || this.accountOperations() && this.storno_RU()*/)//!!storno_RU
            return false;
        return true;
    }
    else if (!InventParameters::find().EnableTransferFinancialPosting_RU)
    {
        return false;
    }
   
    if (inventJournalTrans.InventTransId == inventJournalTrans.ToInventTransId || !inventJournalTrans.ToInventTransId)
        return false;

    if (!super())
        return false;

    inventDimFrom = inventJournalTrans.inventDim();
    inventDimTo = inventJournalTrans.toInventDim();

    if (CompanyInfo::features_W() == CRSEFeatures_W::RU && inventDimFrom.InventProfileId_RU != inventDimTo.InventProfileId_RU)
    {
        return true;
    }

    if (inventDimFrom.InventSiteId != inventDimTo.InventSiteId)
    {
        return true;
    }

    if (!InventDim::isInventDimEqualItemDim(this.dimGroupId(), inventDimFrom, inventDimTo))
    {
        return true;
    }

    return false;
}