发票关闭时,自定义字段保持只读状态

时间:2019-01-18 00:01:18

标签: acumatica

所以我试图向SOInvoiceEntry图添加一个小的bool字段,以便可以将其公开给API。即使关闭并释放了文档,它也必须保持可编辑状态。我将DAC字段设置为:

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 :(得分:0)

该问题是由SOInvoiceEntry屏幕上的一个自动化步骤引起的,该操作将ARInvoice表设置为“禁用”,这覆盖了我添加的逻辑。