Чтобы завершить решение этой проблемы, в этом случае я обнаружил, что нет необходимости включать полную строку заказа на продажу с помощью шагов автоматизации, а затем отключать ее с помощью SOLine_RowSelect. Однако необходимо было добавить поле Заказ на продажу> Заказ Nbr к шагам автоматизации (чтобы сделать документ Сохранить доступным после изменения строки Заказа на продажу). И как ни странно, нам также было необходимо дать этому проекту настройки более высокий уровень, чем другим, реализующим его, после других настроек, которые могли вносить изменения в тот же экран или объекты.
public class SOOrderEntry_Extension : PXGraphExtension<SOOrderEntry>
{
protected void SOOrder_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
{
sender.AllowUpdate = true;
Base.Transactions.Cache.AllowUpdate = true;
}
protected void SOLine_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
{
if (Base.Document.Current != null)
{
PXUIFieldAttribute.SetEnabled<SOLine.salesPersonID>(sender, e.Row, true);
PXUIFieldAttribute.SetEnabled<SOLine.commissionable>(sender, e.Row, true);
}
}
}