Skip to main content
Solved

How to block the Unit price field

  • 19 March 2021
  • 7 replies
  • 199 views

Hello everyone, Can someone show me how to block the Unit price field in Sales Ordes Screen? 
Thanks in advance!

7 replies

Userlevel 7
Badge +19

Hi @jenniferflores43,

Do you want to make the Unit Price field to Read-Only/Non Editable field? 

Hello Naveen,

Yes, I do. 

I want to make the Unit Price field to Read-Only/Non Editable field.

 

 

Userlevel 7
Badge +19

@jenniferflores43 You can use the below customization to make it a read-only field.

 

 

public class SOOrderEntryExt : PXGraphExtension<SOOrderEntry>
        {
            protected virtual void SOLine_RowSelected(PXCache cache, PXRowSelectedEventArgs e, PXRowSelected InvokeBaseHandler)
            {
                InvokeBaseHandler?.Invoke(cache, e);
                SOLine row = e.Row as SOLine;
                if (row != null)
                {
                    PXUIFieldAttribute.SetEnabled<SOLine.curyUnitPrice>(cache, row, false);
                }
            }
        }

 

Thank you very much Naveen for your prompt response. I'm going to try and let you know how it looks. 

Userlevel 7
Badge +19

Sure @jenniferflores43 

Userlevel 7
Badge +19

@jenniferflores43  You can also achieve this by configuring the Automation Steps for required  Step ID (Without any code). Please find the screenshot for reference.

 

Thanks Naveen the customization you sent me worked out :wink:

 

 

public class SOOrderEntryExt : PXGraphExtension<SOOrderEntry>
        {
            protected virtual void SOLine_RowSelected(PXCache cache, PXRowSelectedEventArgs e, PXRowSelected InvokeBaseHandler)
            {
                InvokeBaseHandler?.Invoke(cache, e);
                SOLine row = e.Row as SOLine;
                if (row != null)
                {
                    PXUIFieldAttribute.SetEnabled<SOLine.curyUnitPrice>(cache, row, false);
                }
            }
        }

Reply