无法在个案中启用自定义字段

Unable to enable a custom field in Cases

我正在尝试在状态处于关闭状态时在案例中启用自定义字段。我正在为 Acumatica 版本 20.114.0020 (2020 R1) 进行定制。

我在 CRCase DAC 中创建了自定义字段 usrIsNotBillable。

[PXDBBool]
[PXUIField(DisplayName="Confirmed Not Billable", Enabled = true)]
public virtual bool? UsrIsNotBillable { get; set; }
public abstract class usrIsNotBillable : PX.Data.BQL.BqlBool.Field<usrIsNotBillable> { }

当案例处于关闭状态以外的其他状态时,它完全可以正常工作。但是当案件结案时,每隔 属性 就会被禁用。但我希望将此字段设置为启用。因此,我重写了 CRCaseMaint 图的 Row Selected 方法,如下所示:

protected void CRCase_RowSelected(PXCache cache, PXRowSelectedEventArgs e, PXRowSelected InvokeBaseHandler)
    {
            InvokeBaseHandler?.Invoke(cache, e);
            CRCase row = (CRCase) e.Row;
            if (row == null) return;
            Base.CaseCurrent.Cache.AllowUpdate = true;
            Base.CaseCurrent.AllowUpdate = true;
            PXUIFieldAttribute.SetEnabled<CRCaseExt.usrIsNotBillable>(cache, row, true);
    }

如果我像这样使用其他 DAC 字段,例如 IsBillable:

PXUIFieldAttribute.SetEnabled<CRCase.isBillable>(cache, row, true);

一切正常。

其他的例子我也查了,实现也是类似的。我只是不确定为什么它在这种情况下不起作用。

我还检查了此屏幕是否有任何现有的工作流程,但没有。

如有任何帮助,我们将不胜感激。

谢谢。

除了编写代码启用RowSelected事件中的字段外,在Workflow中添加处于Closed状态的字段也很重要。

但是,如果这也不起作用,则删除项目的 CstDesigner 内容即可。