Показать сообщение отдельно
Старый 26.02.2007, 14:52   #8  
Jony is offline
Jony
Участник
 
99 / 22 (1) +++
Регистрация: 25.06.2003
Адрес: г. Барнаул
попробуй на основе этого чегонить слепить... должно получиться
X++:
static void Job56(Args _args)
{
    numberSeq       numberSeq;
    ledgerVoucher   ledgerVoucher;
    voucher         voucher;
    ledgerVoucherObject ledgerVoucherObject;
    ledgerBondClient_RU    ledgerBondClient;
    ledgerTrans             ledgerTrans;
    transDate           _transDate;
    voucher             _ExchAdjVoucher;
    currencyCode        currencyCodeMST;
    ledgerVoucherTransObject    transObject;
    ;


    numberSeq = NumberSeq::newGetVoucher(VendParameters::numRefVendExchAdjVoucher());

    ledgerVoucher = ledgerVoucher::newLedgerPost(DetailSummary::Summary,
                                                 SysModule::Vend,
                                                 numberSeq.parmVoucherSequenceCode());
    voucher   = numberSeq.voucher();

    ledgerVoucherObject = LedgerVoucherObject::newVoucher(
                        voucher,
                        systemDateget(),
                        SysModule::Vend,
                        LedgerTransType::ExchAdjustment);
    ledgerVoucher.addVoucher(ledgerVoucherObject);
    ledgerVoucher.findLedgerVoucherObject().parmCorrection(true);
    ledgerBondClient = ledgerVoucher.findLedgerVoucherObject().ledgerBondClient_RU();

    while select ledgerTrans index hint VoucherDateIdx
    where ledgerTrans.TransDate == _transDate &&
          ledgerTrans.Voucher   == _exchAdjVoucher &&
          !ledgerTrans.crediting
    {
        if(ledgerBondClient)
            ledgerBondClient.addNewLogObject();

        transObject = ledgerVoucherTransObject::newCreateTrans(ledgerVoucherObject,
                                                                ledgerTrans.Posting,
                                                                ledgerTrans.AccountNum,
                                                                ledgerTrans.Dimension,
                                                                currencyCodeMST,
                                                                -ledgerTrans.AmountMST, // тут минус так как сторно
                                                                0);
        ledgerVoucher.addTrans(transObject);

        transObject = ledgerVoucherTransObject::newCreateTrans(ledgerVoucherObject,
                                                                ledgerTrans.Posting,
                                                                ledgerTrans.bondedLedgerTrans_RU().AccountNum,
                                                                ledgerTrans.bondedLedgerTrans_RU().Dimension,
                                                                currencyCodeMST,
                                                                ledgerTrans.AmountMST,
                                                                0);
        ledgerVoucher.addTrans(transObject);

        if(ledgerBondClient)
        {
            ledgerBondClient.bondLastVRef2CurrentLog();
            ledgerBondClient.removeCurrentLogObject();
        }
    }
    ledgerVoucher.end();
}
это не работающий джоб, это пример, вроде ничего тут не упустил.

Последний раз редактировалось Jony; 26.02.2007 в 14:57. Причина: PS
За это сообщение автора поблагодарили: Sada (1).