Hello, Acumatica Community!
I'm experiencing an issue with setting the visibility of a custom field in the SOOrder screen within my Acumatica ERP customization. Despite my attempts to control its visibility through both DAC extensions and the graph extension logic, the field does not display as expected under certain conditions. I'm looking for guidance on how to ensure visibility in a specific context while using a RowSelected event.
Here's what I'm trying to achieve:
- Custom Field: I have a custom field,
UsrAISIsSOWContent, added to theSOOrderDAC through theSOOrderExtension. - On
UsrAISIsSOWContentI set the Visible Properties to false on Screen settings.
- Visibility Requirement:
- The field should be visible only for the order type "QT" (Quote) and when a certain boolean field,
UsrAISIsSOW, is set to true.

- The field should be visible only for the order type "QT" (Quote) and when a certain boolean field,
Here's a snippet of my code for the graph extension:
protected virtual void SOOrder_RowSelected(PXCache sender, PXRowSelectedEventArgs e, PXRowSelected baseMethod)
{
baseMethod?.Invoke(sender, e);
SOOrder curr = Base.Document.Current;
if (curr.GetExtension<SOOrderExtension>().UsrAISIsSOWContent == null)
{
curr.GetExtension<SOOrderExtension>().UsrAISIsSOWContent = SOWAgreement;
}
if (curr == null)
{
return;
}
if (curr.OrderType == "QT")
{
SetFieldVisibility(true);
SetSectionVisibility(curr.GetExtension<SOOrderExtension>().UsrAISIsSOW == true);
}
else
{
SetFieldVisibility(false);
}
}
public virtual void SetFieldVisibility(bool val)
{
PXUIFieldAttribute.SetVisible<SOOrderExtension.usrAISIsSOW>(Base.Document.Cache, null, val);
PXUIFieldAttribute.SetVisible<SOOrderExtension.usrAISIsDemo>(Base.Document.Cache, null, val);
PXUIFieldAttribute.SetVisible<SOOrderExtension.usrAISIsE2Shield>(Base.Document.Cache, null, val);
}
public virtual void SetSectionVisibility(bool val)
{
PXUIFieldAttribute.SetVisible<SOOrderExtension.usrAISIsSOWContent>(Base.Document.Cache, null, val);
}Things I've Checked:
- The field is defined in the DAC with a
PXUIFieldattribute for visibility. - The ASPX page includes the field within the layout.
- Confirmed the graph extension is invoked correctly, as it is interacting with other fields as expected.
Despite these efforts, UsrAISIsSOWContent does not appear when it should. Could there be something I'm missing in the customization setup, or is there an overlooked aspect within Acumatica's handling of visibility logic?
I appreciate any insights or advice you might provide.
Thank you!


