сторно делается через признак коррекции.
его можно так установить так
ledgerVoucher.findLedgerVoucherObject().parmCorrection(true);
X++:
//
ledgerVoucher = LedgerVoucher::newLedgerPost(DetailSummary::Detail,
SysModule::Cust,
"001");
ledgerVoucherObject = LedgerVoucherObject::newVoucher(Voucher, TransDate);
ledgerVoucherObject.newTaxReference(DetailSummary::Summary);
ledgerVoucher.AddVoucher(ledgerVoucherObject);
ledgerVoucher.findLedgerVoucherObject().parmCorrection(true);
ledgerBondClient = ledgerVoucherObject.ledgerBondClient_RU();
select LedgerTrans order by BondBatchTrans_RU, Crediting where ;
ledgerBondClient.addNewLogObject();
bond = LedgerTrans.BondBatchTrans_RU;
while (LedgerTrans)
{
ledgerVoucherObject.AddTrans(LedgerVoucherTransObject::newCreateTrans(
ledgerVoucherObject,
LedgerTrans.Posting,
LedgerTrans.AccountNum,
LedgerTrans.Dimension,
+/- LedgerTrans.CurrencyCode,
LedgerTrans.AmountCur,
0));
next LedgerTrans;
if (bond != LedgerTrans.BondBatchTrans_RU)
{
ledgerBondClient.bondLastVRef2CurrentLog();
if (LedgerTrans)
ledgerBondClient.addNewLogObject();
bond = LedgerTrans.BondBatchTrans_RU;
}
}
ledgerVoucher.end();
типа такого