Ну как вариант разбить проводку на две
X++:
void splitVendTransOpen(VendTrans _vendTrans)
{
VendTransOpen vendTransOpen;
VendTransOpen newVendTransOpen;
;
if (this.dutyamount())
{
vendTransOpen = _vendTrans.transOpen(dateNull(), true);
vendTransOpen.AmountCur = -(taxAmount + this.chargeAmount());
vendTransOpen.AmountMST = vendTransOpen.AmountCur;
vendTransOpen.NV_Txt = this.txtTaxAdminCharge();
vendTransOpen.doUpdate();
newVendTransOpen.data(vendTransOpen);
newVendTransOpen.AmountCur = -this.dutyamount();
newVendTransOpen.AmountMST = newVendTransOpen.AmountCur;
newVendTransOpen.NV_Txt = this.txtDuty();
newVendTransOpen.DueDate = newVendTransOpen.DueDate + 1;
newVendTransOpen.doInsert();
}
}