How do I enable locked fields, like we used to in Automation Steps? I’m seeing it’s under Customizations now, but I am not seeing a useful walkthrough on this. I want to unlock a date filed on the SO Header when a shipment is created.
2021 R1 Enable Locked Fields
HI
Among other fields yes. Right now, all my dates get locked once a shipment is created, I want to be able to modify those dates. This used to be handled through automation steps. If anyone knows how or has a guide I can use, that’d be aces!
As soon as shipment created and Sales Order will be moved to the “Shipping” and all the document fields will go the non-editable mode.
To enable these fields, we need handle in 2 place.
- Code Level
- Automation Steps screen level
Code Level: We need have a Row_Selected event to enable fields. please find the sample code below.
protected virtual void SOOrder_RowSelected(PXCache cache, PXRowSelectedEventArgs e, PXRowSelected InvokeBaseHandler)
{
InvokeBaseHandler?.Invoke(cache, e);
SOOrder row = e.Row as SOOrder;
if (row != null)
{
PXUIFieldAttribute.SetEnabled<SOOrder.Date>(cache, row, true);
}
}
Automation Steps: Please find the screenshot for reference.
![](https://uploads-us-west-2.insided.com/acumatica-en/attachment/c323267e-4695-479d-81a1-f7c575cef2e3.png)
Hope this helps!!
Is this correct? I was told Automation Steps are now deprecated in 2021 R1. I say this because those are the steps I’ve used previously, but they are no longer working. Here is what Automation Steps says:
![](https://uploads-us-west-2.insided.com/acumatica-en/attachment/5487bbe3-6ca9-4b07-b4d6-085e4a3579b9.png)
I have been informed by my VARs that all this is handled in Customizations, but it seems my VARs have no idea how to do it. This is mission critical for our team, any help is GREATLY appreciated.
Hi
We can even enable the fields in 2021 R1 using workflow mechanism and I have enabled “Order Date“ field when Sales Order is in Shipping status.
Below are the steps and hope this help!!
![](https://uploads-us-west-2.insided.com/acumatica-en/attachment/e782dc14-af87-4d01-a404-946f0315c727.png)
![](https://uploads-us-west-2.insided.com/acumatica-en/attachment/fde421dd-f1d6-45e1-8e10-0972c8214d17.png)
![](https://uploads-us-west-2.insided.com/acumatica-en/attachment/32ac8f8f-476d-4087-94c5-a983bdda2e5d.png)
If you’re ever in Oregon, I owe you a beer good sir! I found the workflows, but didn’t think to make a new one (which explains all my greyed options).
This question relates to 2021. I actually do have the same type of question but it actually is for 2020 R2. I am going to post another question to the forum which is basically the same as
Hi
![](https://uploads-us-west-2.insided.com/acumatica-en/attachment/b888e53b-d477-468d-af0c-db1a086f0a16.png)
![](https://uploads-us-west-2.insided.com/acumatica-en/attachment/58343f85-04d5-42a0-8d40-ecaefe71f779.png)
![](https://uploads-us-west-2.insided.com/acumatica-en/attachment/c9f9ce67-619f-4f63-89fe-c9ab980da6e9.png)
Hi
Apart from this, we also need to enable from code level, then only fields will be enabled on the screen. Here is code and screenshots for your reference.
![](https://uploads-us-west-2.insided.com/acumatica-en/attachment/60364f78-f6d3-48a8-be62-864743dad56f.png)
![](https://uploads-us-west-2.insided.com/acumatica-en/attachment/1d2228b2-ffe0-4431-8563-505c2e689155.png)
protected virtual void ARInvoice_RowSelected(PXCache cache, PXRowSelectedEventArgs e, PXRowSelected InvokeBaseHandler)
{
InvokeBaseHandler?.Invoke(cache, e);
ARInvoice row = e.Row as ARInvoice;
if (row != null)
{
PXUIFieldAttribute.SetEnabled<ARInvoice.invoiceNbr>(cache, row, true);
}
}
Hi
![](https://uploads-us-west-2.insided.com/acumatica-en/attachment/d34d9057-ce04-4653-9451-c0a774386ec1.png)
Hi
Hi
Please find the attached package and screenshot for your reference.
Let me know if this is working for you as well.
![](https://uploads-us-west-2.insided.com/acumatica-en/attachment/569becac-4a08-4a71-8d74-a93d14de974a.png)
Hi
Attached is my package I’m working on.
I appreciate any and all suggestions/help!
Hi
Attached screenshot and customization package for your reference.
![](https://uploads-us-west-2.insided.com/acumatica-en/attachment/62c1d65d-9a99-4989-ac4e-2477cc46e7e3.png)
Hi
Attached screenshot and customization package for your reference.
![](https://uploads-us-west-2.insided.com/acumatica-en/attachment/62c1d65d-9a99-4989-ac4e-2477cc46e7e3.png)
Hi Naveen, I know this post is relatively old, but I got the following error while trying to follow along.
I want to enable the External Reference number on the Open, Pending Approval and Awaiting Payment status.
I added them in the Workflow Engine, but trying to use the code structure you gave leads to this error:
![](https://uploads-us-west-2.insided.com/acumatica-en/attachment/51666525-ddac-4a5d-be91-10e2b41bd845.png)
Any Idea of what I am doing wrong. I tried edCustomerRefNbr as well.
If I check with Inspect Elements or even on the field within the Customization package the format should be SOOrder.CustomerRefNbr
Hi
Attached screenshot and customization package for your reference.
![](https://uploads-us-west-2.insided.com/acumatica-en/attachment/62c1d65d-9a99-4989-ac4e-2477cc46e7e3.png)
Hi Naveen, I know this post is relatively old, but I got the following error while trying to follow along.
I want to enable the External Reference number on the Open, Pending Approval and Awaiting Payment status.
I added them in the Workflow Engine, but trying to use the code structure you gave leads to this error:
![](https://uploads-us-west-2.insided.com/acumatica-en/attachment/51666525-ddac-4a5d-be91-10e2b41bd845.png)
Any Idea of what I am doing wrong. I tried edCustomerRefNbr as well.
If I check with Inspect Elements or even on the field within the Customization package the format should be SOOrder.CustomerRefNbr
Disregard. The issue was SOOrder.CustomerRefNbr needs to be lower case when in <> brackets.
SOOrder.customerRefNbr
I know this is an old post, but I am curious as to why the need for both code and workflow? Isn’t the point of workflow to be a no code solution? It also seems redundant to enable it using workflow and code.
Hi!
I am being charged 5000 to enable my invoice screen to update the default sales person on an invoice once the invoice is released. Salesperson getting credit changes all the time!
It looks like it should be a straight forward workflow change. I do not have the ability to code myself in ACUMATICA but this seems like highway robbery. Thoughts?
Hi,
Regarding the fee to do the customization, I’ve never seen anyone post in this forum anything about pricing for customizations. I think it is kind of a taboo subject as many members of the forum do it for a living. However, that being said, did you mean to type 5K? Or is that a typo?
Reply
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.