Question

Performance Issue in Form-ParentGrid-ChildGrid Structure

  • 12 January 2023
  • 5 replies
  • 80 views

Userlevel 7
Badge +8

Bakground:

I have a business need that requires tracking and storing changes made to Projects Cost Projection which is way beyond the Acumatic’s out-of-box features and functionality. I tried to customize Acumatica’s out-of-box screen but the changes where too much and also I faced screen crashing almost every other time loading the screen or making changes as it was very very very slow . So I decided to create a brand new screen. The performance of this new screen is much better than out-of-box customized one but still is not satisfactory from my perspective. Below I have attached the screenshot of the new screen. On a side note there are more columns in the screen and about 450 Lines in the Parent Grid: 

 

Business Logic:

As you can see the screen has 3 major DataViews. From Top I will call them here “Form”, “Parent Grid” and “Child Grid”. The “Parent Grid” is all read-only values and all of them are Bound fields stored in DB. When User wants a New Projection either copies one of the previous ones or initiates a new one and the methods I have developed calculate and fill the “Parent Grid” and “Child Grid”. So far everything is perfect and works flawless. 

Now the user (typically Project Managers) start reviewing the drafted projection. The way the screen works they Insert/Update/Delete the “Child Grid” and SumCalc<> function of PXFormulas which are set on DAC fields do the rest of the work. In other word, SumCalc of the “Child Grid” Updates the parent row of “Parent Grid” and SumCalc of the “Parent Grid” row updates the “Form” fields.

 

Issue:

Initiation of new record in the “Child Grid” is also works perfect. The issue starts showing up when user hits the tab to insert a new record into the “Child Grid” or basically saves the “Child Grid” record that triggers updating “Parent Grid” and accordingly “Form”. When I trace the Insert/Update/Delete of the modified records happens quickly but then platform tries to refresh the whole “Parent grid” that runs a “RowSelecting” and “RowSelected” on all records of the “Parent Grid” that causes the performance degradation (4-5 seconds impact).

Initially I though the SumCalc is causing the performance issue so I removed all Formulas from “Parent Grid” (So I am not updating the “Form”). The only SumCalc I left was on the “Total Cost” of “Child Grid” to update “Forecasted Cost Adjustment” of the “parent Grid” but it didn’t make any change. I was wondering what can I do to improve the performance. 

 

 

@joelhoffman @mike.gillum FYI in case you are interested in seeing what I have developed ignoring the inquiry here.

 


5 replies

Userlevel 7
Badge +8

@Hughes Beausejour @Dmitrii Naumov 

Userlevel 7
Badge +8

Circulating to top that hopefully I can get some advice on how to overcome performance issue.

Userlevel 7
Badge

Hi @aaghaei  were you able to find a solution? Thank you!

Userlevel 7
Badge +8

No unfortunately I have not. Unfortunately I didn’t receive any input or suggestions either.

Userlevel 3

Sounds to me like you just need to uncommit the child grid fields, that way they aren’t generated into the Cache. 

Reply


About Acumatica ERP system
Acumatica Cloud ERP provides the best business management solution for transforming your company to thrive in the new digital economy. Built on a future-proof platform with open architecture for rapid integrations, scalability, and ease of use, Acumatica delivers unparalleled value to small and midmarket organizations. Connected Business. Delivered.
© 2008 — 2024  Acumatica, Inc. All rights reserved