в 3.0 ест такой код
\Classes\BankChequeCancel\createPaymentOffsetTrans
X++:
protected VendVoucher createPaymentOffsetTrans(VendTrans _vendTrans,
LedgerVoucher _ledgerVoucher)
{
VendTrans vendTrans_old = VendTrans::find(_vendTrans.recId);
LedgerTransTxt transTxt;
CustVendVoucher vendVoucher;
;
vendVoucher = CustVendVoucher::construct(SysModule::Vend,
_ledgerVoucher,
vendTrans_old.accountNum,
-vendTrans_old.amountCur,
vendTrans_old.currencyCode,
transTxt,
vendTrans_old.dimension,
vendTrans_old.PostingProfile,//'',
LedgerPostingType::VendBalance);
vendVoucher.setPaymMode(vendTrans_old.paymMode);
vendVoucher.setPaymSpec(vendTrans_old.paymSpec);
vendVoucher.parmTransTxt(strFmt('%1: %2, %3',"@SYS1068", vendTrans_old.voucher, cancelReason));
vendVoucher.parmTransDate(transDate);
vendVoucher.exchRate(vendTrans_old.amountCur ? vendTrans_old.amountMST / vendTrans_old.amountCur * 100 : 0);
vendVoucher.post(vendTrans_old);
return vendVoucher;
}