поэтому я пытаюсь добавить небольшое графическое поле в граф SOInvoiceEntry, чтобы оно могло быть доступно API. Он должен оставаться редактируемым даже после того, как документ был закрыт и выпущен. Я установил поле ЦАП как:
public class ARRegisterExt : PXCacheExtension<PX.Objects.AR.ARRegister>
{
[PXDBBool]
[PXUIField(DisplayName="Has been integrated", Visibility = PXUIVisibility.Visible, Enabled = true)]
public virtual bool? UsrIsIntegrated { get; set; }
public abstract class usrIsIntegrated : IBqlField { }
}
И добавлены события RowSelected, которые, по идее, должны устанавливать для поля включенное:
public class SOInvoiceEntry_Extensions : PXGraphExtension<SOInvoiceEntry>
{
[PXOverride]
public void SOInvoice_RowSelected(PXCache sender, PXRowSelectedEventArgs e, PXRowSelected baseMethod)
{
baseMethod?.Invoke(sender, e);
if (e.Row == null) return;
PXUIFieldAttribute.SetEnabled<ARRegisterExt.usrIsIntegrated>(sender, e.Row, true);
}
}
Однако поле остается доступным только для закрытых счетов. Я проверил это на графике ARInvoiceEntry и выставил его API, и он работает нормально. Я тестировал разные способы установки поля как включенного, но пока не повезло.
Любая помощь будет потрясающей.
Спасибо