Hi,
My application releases payment via this event
Is there opportunity to return Checks and Payments item status from “Closed” to “Balanced” ?
Best answer by markusray17
View originalHi,
My application releases payment via this event
Is there opportunity to return Checks and Payments item status from “Closed” to “Balanced” ?
Best answer by markusray17
View originalYou need to set the current adjustment that is going to be reversed. I believe Acumatica just changed the naming but in 2021 R2 the view is called APPost. Its the view under the Application History tab.
If the method doesn’t find a current application it doesn’t do anything.
The version of Acumatica is 2020R2
Can you please clarify what adjustment should be taken and where to set it ?
I did not see such parameter at Checks and Payments item fields values
You need to set the current adjustment that is going to be reversed. I believe Acumatica just changed the naming but in 2021 R2 the view is called APPost. Its the view under the Application History tab.
If the method doesn’t find a current application it doesn’t do anything.
It sounds like ReverseApplication is what you are looking for. Voiding will void(cancel) the payment.
There must be something that I am missing
After that code was executed, the payment remains being closed
It sounds like ReverseApplication is what you are looking for. Voiding will void(cancel) the payment.
ReverseApplication just reverses the currently selected application which is the adjustment that applies x amount from the check to a document(usually an AP Invoice).
If you are trying to void a check there is a voidCheck action that you can call in the same way.
You are also not searching for APInvoice.refNbr you should be searching for APPayment.refNbr.
Hi
I need to clarify one moment. My goal is to return “closed” item to “Open” state. The requirement is to return payment to previous state in case if User made the mistake and payment was not performed for definite item, so in that case Checks and Payments item must be returned and be available until the payment will be performed.
Firstly I thought it should be done via voidCheck, but now due to your response I think ReverseApplication is what should be used. Suggest, please, which approach will be better for my aim
ReverseApplication just reverses the currently selected application which is the adjustment that applies x amount from the check to a document(usually an AP Invoice).
If you are trying to void a check there is a voidCheck action that you can call in the same way.
You are also not searching for APInvoice.refNbr you should be searching for APPayment.refNbr.
That looks mostly correct but that is the wrong graph if you are trying to reverse an application.
ReverseApplication is an action on the APPaymentEntry graph. You will typically call an action as
APPaymentEntry.reverseApplication.Press(adapter)
The adapter is optional you can also just call Press(). The case does matter as reverseApplication is the PXAction and ReverseApplication is the handler(you can call this directly but it is generally advisable to use the action, and calling it directly you will have to supply an adapter).
I changed type of graph as you mentioned
Will such code make this item “Void” ?
string referenceNbr = "001571";
APPaymentEntry graph = PXGraph.CreateInstance<APPaymentEntry>();
graph.Document.Current = graph.Document.Search<APInvoice.refNbr>(referenceNbr);
graph.reverseApplication.Press();
That looks mostly correct but that is the wrong graph if you are trying to reverse an application.
ReverseApplication is an action on the APPaymentEntry graph. You will typically call an action as
APPaymentEntry.reverseApplication.Press(adapter)
The adapter is optional you can also just call Press(). The case does matter as reverseApplication is the PXAction and ReverseApplication is the handler(you can call this directly but it is generally advisable to use the action, and calling it directly you will have to supply an adapter).
Void will void the check and it creates a Voided Check document to cancel out the original check.
Via the APPaymentEntry graph the action is called ReverseApplication so yes you can invoke it programmatically. It creates an inverted application against the check that will move it from closed → open once released. You can invoke actions on graphs by using [Graph(Instance)].[Action].Press().
Edit: if you are making a process screen you will likely want to use PXGraph.CreateInstance to get an instance of the APPaymentEntry graph. You can then set the current document to whatever APPayment you are handling and invoke the necessary actions.
Hi
Can you provide help with this part :
“if you are making a process screen you will likely want to use PXGraph.CreateInstance to get an instance of the APPaymentEntry graph. You can then set the current document to whatever APPayment you are handling and invoke the necessary actions. ”
I wrote the following way, where I send to graph instance ReferenceNbr of item that must be Voided
string referenceNbr = "023675";
APInvoiceEntry graph = PXGraph.CreateInstance<APInvoiceEntry>();
graph.Document.Current = graph.Document.Search<APInvoice.refNbr>(referenceNbr);
graph.ReverseApplication();
That is how it should be done, firstly I send reference Nbe to instance and after that I call the action, right ?
Void will void the check and it creates a Voided Check document to cancel out the original check.
Via the APPaymentEntry graph the action is called ReverseApplication so yes you can invoke it programmatically. It creates an inverted application against the check that will move it from closed → open once released. You can invoke actions on graphs by using [Graph(Instance)].[Action].Press().
Edit: if you are making a process screen you will likely want to use PXGraph.CreateInstance to get an instance of the APPaymentEntry graph. You can then set the current document to whatever APPayment you are handling and invoke the necessary actions.
Yes, it is possible.
you can invoke form Base graph like below.
Base.putonhold.Press();
Base.ReleaseFromHold.Press();
In previous comment where I replied to markusray17 I described that I need it to call from code that is called by Acumatica Automation Schedule that will open folder and check files which will have list of Checks and Payment Items that must be returned to Open status. I think it will not be available to call Base graph and there should be list of parameters for Void methods where I define which Item to process ( For example send ReferenceNbr to parameters in method)
You can reverse the applications that closed the check to bring it back to an OPEN state but you cannot get it back to a BALANCED state.
BALANCED → OPEN for AR/AP Documents involves posting to the GL at that point you would need to void(or create a canceling document) instead of deleting or changing the document.
Voiding a check will move it to the voided status.
Hi
It looks good. Is it possible to call Void and bring item back to OPEN state programmatically ?
I have code that is executed according to automation schedule, that will open folder and checks files which will have list of Checks and Payment Items that must be returned to Open status.
Yes, it is possible.
you can invoke form Base graph like below.
Base.putonhold.Press();
Base.ReleaseFromHold.Press();
Hi
now it looks real it implement, I checked void option, all data is saved after void action
Firstly it makes “Hold” status
After that I can remove it from hold
is it possible to call Void and remove Hold status programmatically ?
You can reverse the applications that closed the check to bring it back to an OPEN state but you cannot get it back to a BALANCED state.
BALANCED → OPEN for AR/AP Documents involves posting to the GL at that point you would need to void(or create a canceling document) instead of deleting or changing the document.
Voiding a check will move it to the voided status.
Hi
Hi
.
Hi
If I make it void once, will be it possible to to close it after void ?
Hi
.
Enter your username or e-mail address. We'll send you an e-mail with instructions to reset your password.