Remove Action Menu from Actions Drop-down

Hi All, Show example for you today – how to remove action from menu based on example of ChangeID function in CustomerMaint graph. Problem If you take VendorMaint and try to find who ChangeID is declared there you will be able to find following code: So you can see here that ChangeID button is added as a menu to the Action button. This works pretty well accordingly to example with adding sub-menu actions here. Now the question – what if we need to remove or hide this action? We can’t use automation steps as they cannot make button invisible. We cannot use PXUIFieldAttribute on ChangeID as this button is already… Read more

Open a Report in Acumatica

Hi All, Following a previous post about redirection architecture I want to show you an example of how can you use it to open a report. Here we need to use PXReportRequiredException, as it designed to open reports. But also we need to provide a report name and report parameters. Report Name is just a Screen ID that you can find in the sitemap Report Parameters is a Dictionary<string, string> that is basically a key-value pair. Key is a parameter name and value is a value. Parameter names are taken directly from the report. Here is the example code to create a button for report. I get this code from… Read more

Redirection and Dialog in Acumatica

Hi All, In the web application is mostly one-way communication – Browser send request, server receives it and response. This means If we don’t use a special technologies like a Web Sockets, that there is no way for server to communicate tho the browser Also if we don’t really know where is the user and if he still will interact with us. So here we have 2 major questions: How to return control to user when server logic needs it? Prevent data further data modifications? For example if dialog is required when user clicked save. In Acumatica we have solved these problems with exceptions. When we need to rise a… Read more

“This Form Cannot be Automated” – Investigation

Hi Everyone, I think everyone have seen this error message at leas once. This error message can appear as on customized Acumatica screens as on standard screens as well. But what is the reason of this error and what to do with it? Explanations This error is related to screen layout. When Acumatica need to perform any of the screen automations (like, scheduling, notifications, import/export data, web-services API calls, automation steps and so on), Acumatica parse screen layout and generates in-memory screen structure based on ASPX markup. This is needed to identify how many controls, forms, grids are located on the screen, what type of controls and how can they… Read more

Non-Programming Customization with Automation Step

Hi all, As you many know about this ” Some Acumatica ERP functionality is implemented through automation steps, which are steps to be executed on an Acumatica ERP form for specific records or objects generated in the system, depending on the properties of the record or object. For a data entry Acumatica ERP form, you can create any number of automation steps that redefine the functionality of toolbar actions, add values to combo box lists, or provide default values for the form elements, based on the properties of the records under processing. ” – Help Document Today I would like to share with you about the ability to do customization with… Read more

Grids Master-Detail Relationship

Hi Everyone, Sometimes you need to have a screen with 2 grids that depend on each other. When you change line in one grid, it should refresh records in another. In this case you need to establish Grids Master-Detail relationship. In general master-detail relationship for grids is almost the same as for form-grid. You can read more about it in T200 Framework Fundamentials Training Guide, Example 2.2, Setting Up the Master-Detail Relationship Between DataAs a summary from the training, we need to do 3 points Put PXDBDefault attributes in child DAC to auto-initialize dependent keys. Put PXParent attribute in child DAC to allow cascade deletion and few other functions. Use… Read more

Common Issues in Addon Solution Architecture

Hi Everyone, During past time, I used to review several ISV solutions and have collected some common issues that may significantly complicate development and support. Unsplittable Code Problem – Some ISV Solutions code and Acumatica code are very heavily connected and looks like “yin yang”. That means that there is no clear boarder between Acumatica and ISV solution that gives hard time to understand where exactly is the problem – Acumatica or Customization. And this leads to even bigger problem – unsplittable code makes impossible for ISV team to investigate bugs and issues – are they related to Acumatica or Custom code. In the end it makes impossible to escalate… Read more