Solved

Can we add Side Panel for Processing screens?


Userlevel 7
Badge +17

Hello Everyone,

We have a specific requirement to add side panels to the default Acumatica Processing screen (Prepare Replinishment -IN508000)? Is this possible?

icon

Best answer by Dana Moffat 20 March 2023, 21:30

View original

16 replies

Userlevel 3
Badge

Hey Naveen,

It’s not perfect, but you should be able to open side panels from the graph with the following code:

throw new PXRedirectToGIRequiredException("Component Inventory", parameters) { Mode = PXBaseRedirectException.WindowMode.Layer };

This for example, will open the “Component Inventory” GI in a side panel because it’s window mode is set to Layer.

Unfortunately however, I cannot figure out how to house this logic in a nice way that creates the side panel buttons like you would see when you create side panels on GIs or other screens via the project browser wizard. As far as I know, you’d have to house this logic in a standard button, which when pressed would then open the side panel which feels kind of clunky in my opinion, especially if you need multiple side panels. If you or anyone else figures out how to do this more elegantly, I’d love to know as well.


As a side note for general information for the curious, if you use this code segment on a screen that already has side panels configured, this code will simply redirect your current side panel according to your Redirect Exception.​​​​​​​ When used in conjunction with a javascript script to identify which panel is currently open, this can be very useful to update side panels automatically! This also allows for side panels to accept detail level parameters. Very Handy!

Userlevel 7
Badge +17

Hi, @jknauf Thanks a lot for the response.

I just checked this and able to open the side panel but it is different from the default Acumatica side panel behavior (Not able to close the side panel).. Please find the screenshot for reference.

I would like to add around 6 side panels for this screen. When I add from the customization project, the Side Panel option is NOT showing for this “Prepare Replenishment” screen.

 




 

 

Userlevel 3
Badge

@Naveen B Yeah, that’s what I meant by it being clunky. As far as I know you’d have to make a menu folder for all your side panel actions, and users could change the side panel with those buttons, but I don’t even know how you’d hide the side panel with this kind of method.

I imagine it’s possible to make a nice looking side panel from code considering we can get this far, but I couldn’t figure it out. figured I’d share as far as I got.

Userlevel 7
Badge +17

Hi @jknauf  Understood and thanks a lot for sharing this info.

However, I have raised a support ticket with Acumatica on this and will share the info once I get the response from Acumatica.

Userlevel 3
Badge

Hey @Naveen B I’ve actually been digging around myself and found some interesting information. I think we may be able to find a creative solution with this. Anyway, I tried creating a side panel navigation action by directly editing the XML through the customization project browser. When I did this, I got a side panel to appear properly with all the buttons as it would be  when you create the action with a wizard. The issue is the buttons were dead, they didn’t do anything.

But here is where things get interesting. This is the same functionality that these buttons have on any other screen when creating a new record, but once the record is saved the side panel button behave as expected. This leads me to believe the side panel buttons require a reference to an instance of the screen’s graph’s primary DAC. Without one the code probably receives and catches a null reference exception, which would explain why the buttons are dead while creating a new record. And that’s why the processing screens likely have side panel navigation disabled, since their primary DAC’s are always filters.

Knowing this I have a few ideas that might make this functional.

first, we could try to find and directly override the logic that catches the null exception (if that is what’s actually happening)

or we could use javascript to listen for side panel actions to be called and run the code snippet I showed earlier to force a redirect with custom logic. Since I now know we can create the buttons for the side panels with the XML, this solution seems a lot more viable to me.

Userlevel 7
Badge +17

Hi @jknauf ,

Yes, after some R&D I found this info that Side Panel will be only will work for data entry with Primary DAC view.


For this, I have changed the “Prepare Replenishment” processing screen to the normal “Form Details” screen, where I can add some dummy Primary DAC and View but still NOT working. :( 

Userlevel 3
Badge

Hi @jknauf ,

Yes, after some R&D I found this info that Side Panel will be only will work for data entry with Primary DAC view.


For this, I have changed the “Prepare Replenishment” processing screen to the normal “Form Details” screen, where I can add some dummy Primary DAC and View but still NOT working. :( 

 

I’m sorry Naveen, my company doesn’t actually use Replenishments so I’m not even familiar with this screen.

Also, my javascript solution doesn’t seem to work either / :
I build a mock-proof of concept project. I am able to get the side panel with buttons, and the side panel even opens, but only for a brief second. It then automatically closes itself and gets stuck that way. Sorry I wasn’t able to help more

Userlevel 7
Badge +2

Hi @Naveen B - curious to know what information you’re wanting to include as a side panel in this processing screen and why?  What is the business requirement that you’re needing to solve?

Thanks,

-Dana

@Dana Moffat, I would like to do this as well.  It would be beneficial to have this on the “Dead Stock” and “Prepare Replenishment” processing screens so that the user does not have to bounce around to see open and historical transactions while reviewing the item data on these screens.

Userlevel 5
Badge +1

This would be useful for a couple of my customers as well. As they review the Prepare Replenishment screen, they would like to be able to make adjustments right then, to the replenishment parameters on the Stock Item.

Userlevel 7
Badge

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

Userlevel 7
Badge +2

Hi community followers of this thread.  Side panels are not currently supported on the processing screens. 

 

 

Userlevel 7
Badge +8

@Dana Moffat 

Is Acumatica planning to add functionality to pass parameters from form details to side panels? I know its possible with some messy mix of C# and JS workaround but I am asking for out-of-box possibility if is in the road map.

Userlevel 7
Badge +2

Hi @aaghaei , this is a common request from community members.  It would require a platform change to support the ability to pass parameters from a transactional detail line to a side panel that would then use that parameter.  Some members, such as @jknauf have devised clever customization solutions to accomplish this.  I invite you to watch this Community Meetup that we did last year featuring Acumatica Community members who explain and show their creative solutions.

-Dana

Userlevel 7
Badge +8

@Dana Moffat 

I was in this meet-up session last year which is why I mentioned in my previous comment “mix of JS and C#”. Acumatica really needs to take something like this seriously with all these demands and needs raised from multiple sources.

Userlevel 7
Badge +2

I would like to explore business requirements/needs with posters on this thread. 

Let’s talk about why you think Side Panels are the answer to the business requirement.

If you’re interested in meeting me, indicate your interest here.

 

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