During one of my presentations at Acumatica Summit 2017, entitled Business Intelligence for Business Leaders, I showed an example of how you can use the new Navigation feature in Acumatica 6 to create “drill down” behavior in generic inquiries.
Click here for the slides and other information from that presentation.
In order to achieve the “drill down”, “drill across”, and “drill up” behavior, we need to create multiple generic inquiries, then come back and link them together using the new Navigation tab in Acumatica 6.
Before we dive into the “how to”, let’s step back and take a look at the end result that we want to achieve.
First, we want to have a Generic Inquiry that gives us a list of customers with a few pieces of information about them (screenshot below).
Then, we want to be able to “drill in” to a customer to see the invoices for that customer using the Drill Down hyperlink pictured below.
The result of clicking the Drill Down hyperlink is that the user will “feel” like they are moving into the screen to “see” the list of Invoices that are “hiding” behind the customer. When, actually, all that is happening is that the user is taken to another generic inquiry, but a filter is automatically applied based on the customer row that the user clicked on.
The result of clicking Drill Down in the first screenshot is that you are taken to the Invoices generic inquiry which looks like this:
When the user clicks the Drill Down hyperlink in the screenshot above, they are then taken to a third generic inquiry and a filter is applied, but again they “feel” like they are drilling into more detail, this time to see the invoice lines that are hiding behind the invoice that they clicked on which is handled by the Invoice Lines generic inquiry.
When the user clicks on the Drill Up (not Drill Down) hyperlink in the screenshot above, they are returned to the list of Invoices. So now they feel like they are “drilling out”.
Back at the Invoices level, there is also a hyperlink called Print Invoice that will give the user the impression that they are “drilling across” to see the actual printed version of an invoice.
Of course, you could go and run this report manually, but it’s nice to have it available to you within a generic inquiry at the click of a button.
Alright, that’s enough for an overview. Now let’s dive into creating these generic inquiries and setting up the Navigation functionality to have them interact with each other.
Note: I put all three generic inquiries in the FINANCE -> Accounts Receivable -> Work Area -> EXPLORE section of the Acumatica Menu (Site Map), but you could put them anywhere you’d like.
Step 1: Build the Customers Generic Inquiry
In order to build the Customers generic inquiry, I populated the following data in the Generic Inquiry screen in Acumatica.
Each screenshot is showing you the data on each tab. There are two screenshots for the Relations tab because the bottom section changes depending on which row you have highlighted in the top section.
Step 2: Build the Invoices Generic Inquiry
More of the same here with screenshots of what I put into the Generic Inquiry screen for the Invoices generic inquiry.
Step 3: Build the Invoice Lines Generic Inquiry
One more to go, the Invoice Lines generic inquiry. Here are some more screenshots:
Alright, so now you’ve got your three generic inquiries.
Now for the cool part.
On the Navigation tab we define what Acumatica screen we want to navigate to in the Screens section. Then, we decide what filter to apply after the navigation is complete using the Navigation Parameters section. The Navigation Parameters section is where you would populate report parameters if the destination screen is a report or populate fields if the destination screen is a data entry screen.
Note: Currently, the Screens section only allows you to choose an Acumatica screen, but it would be nice in the future if it had the pencil icon like the Data Field column on the Results Grid tab which would allow you to construct a hyperlink using the Expression Editor. This would make it possible to construct any dynamic URL to take the user anywhere, not just to another screen inside of Acumatica.
Once we have defined how the navigation is going to work using the Navigation tab, we then need to determine which fields to use the navigation in (basically, which fields do we want a hyperlink on). You get to decide on a field by field basis back on the Results Grid tab.
If the Default Navigation checkbox is checked in the screenshot above, then Acumatica will apply it’s normal “try to figure out what an appropriate hyperlink would be” navigation technique.
But you can override the default hyperlink behavior on a field or set a hyperlink on a field that normally would not even have one.
In the Navigate To column in the screenshot above, you can see that we are applying are navigation to only one field (it could be more than one if we wanted) and the field that we are applying it to isn’t even a field value, it’s just a hardcoded value of “Drill Down” which is why we will get a Drill Down hyperlink.
Ok, enough writing, let’s go ahead and add navigation to the three generic inquiries that we created earlier. Here are the screenshots:
And that’s it, finally you are finished!
Note: Navigation is a feature that first became available in Acumatica 6 so you won’t find it in Acumatica 5.3. However, since Acumatica 6.1 is now on the Long Term Support path as of the time of this writing, it seems like a lot more Acumatica customers will be getting Navigation soon.