Пользовательское поле остается только для чтения, когда счет закрыт - PullRequest
0 голосов
/ 18 января 2019

поэтому я пытаюсь добавить небольшое графическое поле в граф 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, и он работает нормально. Я тестировал разные способы установки поля как включенного, но пока не повезло.

Любая помощь будет потрясающей. Спасибо

1 Ответ

0 голосов
/ 22 января 2019

Проблема была вызвана шагом автоматизации на экране SOInvoiceEntry, который устанавливал таблицу ARInvoice как отключенную, что переопределяло логику, которую я добавлял.

...