Application Studio custom event "Locked" from editing

Hi all,

I have been developing a custom Layer in Application Studio for the Purchase Order Entry screen (Erp.POSuggEntry.UI) and recently encountered an issue where one of my custom events suddenly lost all workflow widgets and was placed in a “Locked” state.

I am familiar with how Epicor’s base events are “Locked” (so we need to use Before/After triggers), but in this case the event that is “Locked” is my own custom event. I have a ticket open with Epicor Support, but was curious to know if anyone else has experienced this, or knows what would cause a custom user event to become locked out?

Thank you!

@hmwillett feels your pain

1 Like

Hang in there @hmwillett we will be onboard too in 2025 once you hash out all the bugs :slight_smile:

1 Like

Sounds like there are others who have experienced a few “quirks” in Application Studio. I have to admit, I was quite proud of my custom event and how complex it had become, but that’s still no reason for the Kinetic system to be so greedy and lock the event as if it was it’s own! :rofl:

1 Like

So, I can’t tell you why it happened randomly, but I can tell you what’s causing the lock.

If you flip that to “true” the lock will go away.
Obviously, the easiest (but not condoned method) would be to just update it in SQL.

It’s possible you can do it with an updateable BAQ to where you pull XXXDef.SysCharacter03 and modify the event content that way.

2 Likes

Ice.Lib.MetaFX would be the service to use.
There’s a GetLayer and SaveApp that would probably work to update it via uBAQ.

You’ll need to import Epicor.MetaFX.Core too to form the EpMetaFxLayerRequest object.

1 Like

Wasn’t there also a known bug and someone on the forums received a fix from Support. I swear someone else had this same issue and linked to a PROBLEM #.

1 Like

Not sure about the locking issue, but there’s a known bug where it won’t save your event and it will occasionally “eat” your widgets. I reached out to someone at Epicor and they’ve made that priority 1 and will be creating a retro fix for older versions, which is pretty dope.

3 Likes

You can also pull the XXXDef.SysCharacter03 field and peep the JSON to see if your widgets are truly gone. There might be a way to get them back without redoing them if you published your layer before they disappeared. The published JSON lives in XXXDef.Content. If they’re in Content, but not SysCharacter03, you could copy Content over to SysCharacter03 which should restore them in App Studio.

1 Like

Thank you @hmwillett for providing insight and possible solutions! Our environment is cloud, however, your responses led me to review some of the underlying metadata and determine that the Solution Workbench CAB file I exported for Epicor support has the published version of my custom Layer (before being locked), where the “Locked” version within Application Studio is currently a draft. I may be able to import the published version and essentially restore a previous version to start from.

I am also going to review the metadata further behind the “Locked” draft since it appears maybe the “customizable” property is missing from the metadata. I do see the property on my other custom events, but not the “Locked” event.

Thanks for your assistance!

1 Like