Показать сообщение отдельно
Старый 11.11.2008, 12:19   #8  
player is offline
player
Участник
 
107 / 69 (3) ++++
Регистрация: 25.08.2007
В 2009 почти то же самое (без российского функционала)
X++:
public void checkFixSettlement(InventConsistencyCheck_Trans inventConsistencyCheck_Trans)
{
    InventSettlement    inventSettlement;

    setprefix("@SYS55578");

    while select forupdate inventSettlement
        where inventSettlement.TransRecId == this.RecId
    {
        setprefix(#prefixField(inventSettlement,RecId));

        if (inventSettlement.ItemId         != this.ItemId                  ||
            inventSettlement.InventTransId  != this.InventTransId)
        {
            checkFailed("@SYS67934",'', SysInfoAction_TableField::newBufferField(inventSettlement, fieldnum(InventSettlement, RecId)));
            if (inventConsistencyCheck_Trans.checkFix() == CheckFix::Fix)
            {
                inventSettlement.doDelete();
                inventConsistencyCheck_Trans.updateCorrected();
            }
            else
                inventConsistencyCheck_Trans.updateNotCorrected();
        }
    }

    select sum(QtySettled),sum(CostAmountSettled),sum(CostAmountAdjustment) from inventSettlement
        where inventSettlement.TransRecId   == this.RecId   &&
              inventSettlement.Cancelled    == NoYes::No    &&
              inventSettlement.SettleModel  != InventSettleModel::PhysicalValue;

    if (inventSettlement.QtySettled != this.QtySettled)
    {
        checkFailed("@SYS67938",'', SysInfoAction_TableField::newBufferField(this, fieldnum(InventTrans, QtySettled)));
        if(inventConsistencyCheck_Trans.checkFix() == CheckFix::Fix)
        {
            this.QtySettled = inventSettlement.QtySettled;
            this.doUpdate();

            inventConsistencyCheck_Trans.updateCorrected();
        }
        else
            inventConsistencyCheck_Trans.updateNotCorrected();
    }

    if (inventSettlement.CostAmountSettled != this.CostAmountSettled)
    {
        checkFailed("@SYS67939",'', SysInfoAction_TableField::newBufferField(this, fieldnum(InventTrans, CostAmountSettled)));
        if (inventConsistencyCheck_Trans.checkFix() == CheckFix::Fix)
        {
            this.CostAmountSettled = inventSettlement.CostAmountSettled;
            this.doUpdate();

            inventConsistencyCheck_Trans.updateCorrected();
        }
        else
            inventConsistencyCheck_Trans.updateNotCorrected();
    }


    if (inventSettlement.CostAmountAdjustment != this.CostAmountAdjustment)
    {
        checkFailed("@SYS67940",'', SysInfoAction_TableField::newBufferField(this, fieldnum(InventTrans, CostAmountAdjustment)));
        if (inventConsistencyCheck_Trans.checkFix() == CheckFix::Fix)
        {
            this.CostAmountAdjustment = inventSettlement.CostAmountAdjustment;
            this.doUpdate();

            inventConsistencyCheck_Trans.updateCorrected();
        }
        else
            inventConsistencyCheck_Trans.updateNotCorrected();
    }
}
За это сообщение автора поблагодарили: miklenew (2).