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

Acumatica 无法在案例中启用自定义字段,acumatica,Acumatica,我正在尝试启用自定义字段,以防状态处于关闭状态。我正在为Acumatica版本20.114.0020(2020 R1)进行定制 我已经在CRCase DAC中创建了一个自定义字段usrIsNotBillable [PXDBBool] [PXUIField(DisplayName="Confirmed Not Billable", Enabled = true)] public virtual bool? UsrIsNotBillable { get; set; } publi

我正在尝试启用自定义字段,以防状态处于关闭状态。我正在为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> { }
[PXDBBool]
[PXUIField(DisplayName=“已确认不计费”,Enabled=true)]
公共虚拟图书馆?usrisnotbilable{get;set;}
公共抽象类usrisnotbilable:PX.Data.BQL.BqlBool.Field{}
当箱子处于非关闭状态时,它完全可以正常工作。但当案例结束时,所有其他属性都将被禁用。但我希望此字段设置为启用。因此,我覆盖了CRCaseMaint图的行选择方法,如下所示:

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);
    }
protectedvoid CRCase\u RowSelected(PXCache缓存、PXRowSelectedEventArgs e、PXRowSelected InvokeBaseHandler)
{
InvokeBaseHandler?.Invoke(缓存,e);
CRCase行=(CRCase)e.行;
if(row==null)返回;
Base.CaseCurrent.Cache.AllowUpdate=true;
Base.CaseCurrent.AllowUpdate=true;
PXUIFieldAttribute.SetEnabled(缓存,行,真);
}
如果我使用其他DAC字段,如IsBillable,如下所示:

PXUIFieldAttribute.SetEnabled<CRCase.isBillable>(cache, row, true);
PXUIFieldAttribute.SetEnabled(缓存,行,真);
它很好用

我也检查了其他示例,实现与此类似。我只是不知道为什么它在这种情况下不起作用

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

任何帮助都将不胜感激


谢谢。

除了编写代码以启用选定事件中的字段外,在工作流中添加处于关闭状态的字段也很重要


但是,如果这也不起作用,则删除CstDesigner of project的内容会起作用。

检查是否有自动化步骤或工作流,在状态关闭时禁用缓存。我也遇到过类似的问题,采购订单接收行的自动化步骤是禁用我的扩展缓存。这些层位于编程代码之上。我查看了自动化步骤,没有任何明确的内容是禁用字段甚至缓存。然后我检查了工作流,看起来它不允许我覆盖默认工作流。奇怪的是,State Identifier字段被禁用了,只是试图向我添加新的工作流抛出异常。下面是屏幕截图的链接:看起来项目中没有添加工作流,因此没有任何可编辑的内容。据我所知,没有必要为这个问题添加它,但是您可以在工作流截图中进行编辑之前添加工作流。也许他们会在未来的版本中清理UI,但现在看来你的问题不是我所熟悉的。是的。因此,如果没有现有的工作流可能会覆盖我的定制,我想知道会出现什么问题。感谢您的见解。仅在此处添加执行应用更新也无法解决此问题。