Random Value cannot be null error on implementing EPApprovalAutomation.

It took me weeks to figure out what is happening on my screen when I implement the Standard approval automation on my customized screen. The Culprit: The NoteID field with [PXDBGuid()] which is the default attribute when you generate new dac via Customization Project. just change it to [PXNote] because NoteID is required in EPApprovalAutomation class for the reference of Document to Document relationship. Happy Coding!

Implement PXTransactionScope

Sometimes, part of your coding requires you to revert any transactions that were processed in the middle of a transaction. Acumatica Framework has the function to cope with that. That is using the PXTransactionScope(); As mentioned also in the Blog before by Sergey Marenich (ctrl + click to follow link : https://asiablog.acumatica.com/2015/11/using-scopes-in-acumatica.html) PXTransactionScope– this scope will initialize new transaction, so you can wrap-up some changes into transaction, when system will revert all changes together on any exception. Do not forget to call commit for the transaction scope before dispose it. Sample code snippet below is one of the many ways you can implement the PXTransactionScope. You must call the method ts.Complete(); to… Read more

Restoring database and create an instance.

Hi guys, I want to share on how you will restore an instance from an existing database file. We usually use the snapshot function of Acumatica, if the system has too many tenants, you will make a snapshot every single out of it, which will make it very tiring task for you also added if the database data is so large. Note: This is only good if you have access on the database itself with management tools, like SQL Management Studio for SQL Server, or Any GUI for MySQL/MariaDB Servers which will produce a .bak File or a .SQL File for you to restore. How to Create an Instance from… Read more

Easier way on adding Action Menu in Existing Graph

Hi Guys, to help you with coding or adding a Menu Action to an existing screen. Level: Basic Example Scenarios: Grouping Customized Reports  Organized Action Buttons Folder instead of displaying all buttons in toolbar First we need to define our Action Buttons Folder Action Action1 Action2 Then we override the screen’s Initialize() or Initialization Process Using public override void Initialize() then we add the Actions to the Action Folder with  this.ButtonFolder.AddMenuAction(ButtonItem1); Furthermore, please include  MenuAutoOpen = true to make the button not clickable as button and will act as a dropdown button. Please refer to the code below: Just publish the Customization Project, and it will apply accordingly. That’s it, have a nice… Read more