Print Invoice Custom Layer Not Loading by Default

Hello all! I made a layer on the Kinetic Print Invoice screen. The Print Invoice screen can be loaded from Financial Management → Accounts Receivable → Reports → “Mass Print AR Invoices” path, but it can also be loaded by simply clicking Invoice → Print Invoice in the AR Invoice Entry screen:

I can get my layer loaded just fine when it’s loaded from the menu, but when users use "Print Invoice’ button from the AR Invoice Entry screen, my new layer does not load. I tried creating a process and was able to set that process to load my new layer, but that failed too. How do I get a layer to load by default when its opened from a screen?

I’ve been scratching my head on this one, especially after creating the process didn’t work…

I have NOT tried this Jeremy, but I wonder if it is the same as classic? :thinking:

In Classic, we have to create a customization name that has the same name as the sub-form customization - even if it is blank. So, you could try creating a layer on the AR Group with the same name. :person_shrugging:

2 Likes

I remember that ol’ chestnut! lol, I’ll give it a try and report back. Thank you for your help Mark!

1 Like

Alas, it did not work… :cry:

So… has anyone been able to load a customized Layer by default when calling a subform?

You have to create a layer for the parent form and then find the event that opens the subform and override it/disable and create your own to call the app-open widget with your custom layer.

3 Likes

For clarity, and to help anyone in the future, here is a full description of the issue:

I made a Layer on the Print Invoice screen, this layer loads by default just fine when I open the form from the menu.
MenuID: ARRP6600
Form: Erp.UIRpt.ARInvForm
Layer Name: PrintInvoice
Screenshot from the menu:

This same Form is opened in AR Invoice Entry, when you click Invoice → Print Invoice:

When I open the form from AR Invoice Entry, my layer does not load by default:

I know it’s the same form, because I can open application studio right in the form I loaded above and see my layer:

I can’t be the first human to try and get a layer to load on a subform by default in Kinetic… right? As Mr. Wonsil suggested, I made a layer and set it to load by default in Menu Maint on the AR Invoice Entry screen, I even tried creating a process calling maint record:

Neither worked… Anyway, I hope maybe this detailed desc of the issue will help those in the future.

Lol, I just read this after my superlong issue post. Thank you for the direction! I will look into this and post a solution if/once I find it.

I have impeccable timing. :wink:

I’d also like to say that this face is making me giggle way too much. :sweat_smile:

image

2 Likes

My artistic ability knows no bounds.

1 Like

So close, yet so far away. I have been able to disable the OOTB opening of the ARInvFrom (Event: OpenARInvForm):
image

After digging, I found the event that calls OpenARInvForm and created an identical version of that OOTB event.

I can get my custom layer to open just fine:

Alas though, I can only get it to open when I remove my LFOs. If I add in the exact LFO Kinetic used, I go to Runtime-error-ville:

This has me stumped b/c I’m doing the same thing Kinetic is, or at least I think I am. Perhaps I’ve missed something? I don’t think I need anything on the subscreen, right? It’s already setup to retrieve these LFOs that Epicor sends it.

Lol, nope. You have to do that too.

Well… aint that somethin’. Was just reading a thread from last year regarding a post very similar to mine (minus the out of the box report part).

“Syntax matters” :joy:

Sorry to bother about this. It’s a dead horse to you. I’ll wrap up, and post a summary when I can. Hopefully, it answers a lot of people’s questions going forward thereby helping you. I appreciate your help in this.

1 Like

Got it working. I assumed since I was passing the same LFOs to the subscreen that Epicor was OOTB, that I didn’t have to do anything else. Obviously, I was wrong. I had to dump the Launch Options (LFOs) Epicor had in the AR Invoice Entry screen entirely, and create on my own.

{
    "options": {
        "contextValue": {
            "CalledFrom": "Erp.UI.ARInvoiceEntry",
            "InvoiceNum": "{InvcHead.InvoiceNum}"
        }
    }
}

Then, in the Print Invoice Form (my subscreen), I created an event hooked up to BaseLoad. There, I created a condition that checks to see if there are Launch Options passed in, and if so, I set ReportParam.InvoiceNum = the .InvoiceNum LFO.

Worked perfectly after that! Hopefully, the horse-beating stops :slight_smile:

2 Likes