How To Enable Some Control In Acumatica
07 June 2019
Hello everybody,
today I want to leave a short note for the following situation:
Imagine that you need to enable some control in Acumatica ( for example Mark for PO ) on page Sales orders ( SO301000 ).
As usually for enabling control there are two ways:
- RowSelected
- Automation steps.
Recently I found third option, when neither 1 nor 2 did work. After spending some time I found third option: Cache has property AllowUpdate. After I've set it to true, I was able to modify lines in Document details.
In your code it may look like this:
protected void SOLine_RowSelected(PXCache cache, PXRowSelectedEventArgs e, PXRowSelected del) { if (del != null) del(cache, e); SOLine row = (SOLine)e.Row; if (row == null) return; Base.Transactions.Cache.AllowUpdate = true; PXUIFieldAttribute.SetEnabled<SOLine.pOCreate>(cache, row, true); PXUIFieldAttribute.SetEnabled<SOLine.shipDate>(cache, row, true); }
you still may need Row_Selected event handler, but not forget to add AllowUpdate = true.