Custom Field with UI Behavior Like "Promise Date"

In PO Entry, most fields are disabled once the PO is Approved. Promise Date is an exception to this, because the Promise Date can change after the PO is Approved, and we try to maintain this field to help us know when to expect receipt of materials.

We have added a custom field to PORel that is supposed to behave just like Promise Date. Unfortunately, the field is automatically set to ReadOnly when the PO is Approved, regardless of the setting in the ‘State’ properties of the component in Application Studio.

I have searched through the Row Rules in Application Studio, and found one rule related to PromiseDate, but it is not exactly the behavior I’m looking for. I can’t figure out how Epicor is doing it.. maybe it is hard-coded somehow?

I have tried forcing the ReadOnly property to false using a Row Rule, but haven’t been successful.

I have a thought about binding the UI Component to a TransView field (to prevent it from being disabled automatically upon PO Approval), and “sync” that TransView field to the PORel field using a combination of events. I haven’t tried this yet, and I’d really like to avoid it if there is a better option.

Anyone have any ideas?

I have been down this unsuccesful road and believe this is hardcoded. Even if you put it in transview you will have to unapprove and reapprove the po in the background to save the data to the ud field. Another solution is to put it in a whole nother ud table. Link by sysrowid just like their ud fields but it won’t turn read only. I would love to learn there is another way to do this.

Think its this one. It says “partially editable”… so try adding in your UD column to the exceptions and see if it will stay awake.

It works! thank you David!

The ‘Partially Editable’ Row Rules must be a new feature in 2025.1, because I wasn’t able to do it in our production system, which is still running 2024.1

One more reason to pull the trigger on our upgrade.

Side Note: I tried creating a copy of the Row Rule in our 2024.1 system, and add the field I wanted to keep enabled. Unfortunately, that didn’t work. I think it is probably a conflict between the system Row Rule, and my custom one?

@aosemwengie1 if you still have a need for this, you have a working solution available.

Yeah, I tried to work around it in previous versions as well… but like you said, there was no way to override the system rule and I suppose if one makes it readonly, the other (custom) rule doesn’t overrule the base.

But, yeah, this is the first time I’ve seen “Partially editable” as well! Very nice new feature which gives us more control!!

We don’t have 2025 yet so I can’t test this . . . but does this work for due date? Because that would be amazing.

It doesn’t seem to. I just tried adding DueDate to the list of exceptions but it still remains read-only on the form. I’m assuming there must be other rules/logic in play because adding it here doesn’t seem to do the trick.

@andrew.johnson, how did this zzOrderApproved work on your PORel UD field? Doesn’t this rule only work on POHeader fields?
I have a similar situation with a UD field for PORel table that becomes read only when a PO gets approved. There are 2 other rules that potentially can do the trick. disablePORelApprove supposedly accepts some changes but does not save my column in the Actions exceptions. On the other hand disablePORelView allows to save the added column, but does not keep my field editable after a PO is approved.