Показать сообщение отдельно
Старый 30.03.2019, 00:33   #1  
Blog bot is offline
Blog bot
Участник
 
25,644 / 848 (80) +++++++
Регистрация: 28.10.2006
d365technext: Customer Cancel Payment Transaction
Источник: http://d365technext.blogspot.com/201...ansaction.html
==============




Customer Cancel Payment Transaction



Using following code you can cancel the customer Invoice payment


class TMV_CustomerPaymentCancel
{



public static void main(Args _args)
{
LedgerJournalTrans _ledgerJournalTrans;
TMV_CustomerPaymentCancel objCancelPayment=new TMV_CustomerPaymentCancel();
objCancelPayment.cancelpaymentExecution('R00007404',_ledgerJournalTrans);
}

public void cancelpaymentExecution(InvoiceId _invoiceid,LedgerJournalTrans _ledgerJournalTrans)
{

CustTrans custTransOffset;

ReasonTable reasonTable;
ReasonCode reasonCode;
ReasonRefRecID reasonRefRecID;

Args args;

;


custTransOffset= this.findPaymentReference(_invoiceid);


if(custTransOffset.RecId>0)
{
this.CancelPayment(custTransOffset, _ledgerJournalTrans);
}

}

public CustTrans findPaymentReference(InvoiceId _invoiceid)
{
CustTrans custTrans,custTransOffset;

custTrans = CustTrans::findFromInvoice(_invoiceid);
select custTransOffset
where custTransOffset.OffsetRecid==custTrans.RecId
&& custTransOffset.TransType==LedgerTransType::Payment;
return custTransOffset;
}

public void CancelPayment(CustTrans custTransOffset,LedgerJournalTrans _ledgerJournalTrans)
{
CustVendPDCManager custVendPDCManager;
BankPaymCancel bankPaymCancel;
Args localArgs;
if(custTransOffset.RecId)
{

infolog.clear();
try
{
localArgs = new Args();

bankPaymCancel = BankPaymCancel::newBankPaymCancel(custTransOffset);

// bankPaymCancel.parmReason(reasonTable.Reason);
// bankPaymCancel.parmReasonComment(reasonTable.Description);
bankPaymCancel.parmTransDate(systemDateGet());

localArgs.caller(bankPaymCancel);
localArgs.record(custTransOffset);
BankPaymCancel::serverRun(localArgs);

}
catch
{



}

}
}



public str getErrorStr()
{
SysInfologEnumerator enumerator;
SysInfologMessageStruct msgStruct;
Exception exception;
str error;
enumerator = SysInfologEnumerator::newData(infolog.cut());
while (enumerator.moveNext())
{
msgStruct = new SysInfologMessageStruct(enumerator.currentMessage());
exception = enumerator.currentException();
error = strfmt("%1 %2", error, msgStruct.message());
}
return error;
}

}

Источник: http://d365technext.blogspot.com/201...ansaction.html
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.