Acumatica 为什么我的覆盖字段在CractivityMain上不生效

Acumatica 为什么我的覆盖字段在CractivityMain上不生效,acumatica,Acumatica,我可能看起来迷路了,但我觉得我的代码是正确的,但它不起作用。我实现了自己的PXStringListAttribute,从而删除了现有PXStringListAttribute的基本属性,但它似乎不起作用 [PXRemoveBaseAttribute(typeof(ActivityStatusListAttribute))] [CustomStatusApproval] [PXUIField(DisplayName="test")] protected virtual void CRActivit

我可能看起来迷路了,但我觉得我的代码是正确的,但它不起作用。我实现了自己的PXStringListAttribute,从而删除了现有PXStringListAttribute的基本属性,但它似乎不起作用

[PXRemoveBaseAttribute(typeof(ActivityStatusListAttribute))]
[CustomStatusApproval]
[PXUIField(DisplayName="test")]
protected virtual void CRActivity_TimeActivity_ApprovalStatus_CacheAttached(PXCache cache)
{

}

您试图自定义的字段是PMTimeActivity.ApprovalStatus,因此缓存附加的方法名称没有指向正确的引用以覆盖属性

查看字段属性可以看到dac和应使用的字段:

这将导致PMTimeActivity\u ApprovalStatus\u CacheAttached的缓存附加方法名称(使用DataClass\u DataField\u CacheAttached的命名约定)

以下是一个工作示例:

public class CRActivityMaintExtension : PXGraphExtension<PX.Objects.EP.CRActivityMaint>
{
    [PXRemoveBaseAttribute(typeof(PX.Objects.CR.ActivityStatusListAttribute))]
    [PXStringList(new[]
            {
                PX.Objects.CR.ActivityStatusListAttribute.Draft,
                PX.Objects.CR.ActivityStatusListAttribute.Open,
                PX.Objects.CR.ActivityStatusListAttribute.InProcess,
                PX.Objects.CR.ActivityStatusListAttribute.Completed,
                PX.Objects.CR.ActivityStatusListAttribute.Approved,
                PX.Objects.CR.ActivityStatusListAttribute.Rejected,
                PX.Objects.CR.ActivityStatusListAttribute.Canceled,
                PX.Objects.CR.ActivityStatusListAttribute.PendingApproval,
                PX.Objects.CR.ActivityStatusListAttribute.Released,
                "T1",
                "T2"
            },
            new[]
            {
                PX.Objects.EP.Messages.Draft,
                PX.Objects.EP.Messages.Open,
                PX.Objects.EP.Messages.InProcess,
                PX.Objects.EP.Messages.Completed,
                PX.Objects.EP.Messages.Approved,
                PX.Objects.EP.Messages.Rejected,
                PX.Objects.EP.Messages.Canceled,
                PX.Objects.EP.Messages.Balanced,
                PX.Objects.EP.Messages.Released,
                "TEST1",
                "TEST2"
            })]
    [PXUIField(DisplayName = "Some Test")]
    protected virtual void PMTimeActivity_ApprovalStatus_CacheAttached(PXCache cache)
    {

    }
}
公共类CractivityIntextension:PXGrapherExtension
{
[PXRemoveBaseAttribute(typeof(PX.Objects.CR.ActivityStatusListAttribute))]
[PXStringList(新[]
{
PX.Objects.CR.ActivityStatusListAttribute.Draft,
PX.Objects.CR.ActivityStatusListAttribute.Open,
PX.Objects.CR.ActivityStatusListAttribute.InProcess,
PX.Objects.CR.ActivityStatusListAttribute.Completed,
PX.Objects.CR.ActivityStatusListAttribute.Approved,
PX.Objects.CR.ActivityStatusListAttribute.Rejected,
PX.Objects.CR.ActivityStatusListAttribute.Cancelled,
PX.Objects.CR.ActivityStatusListAttribute.PendingApproval,
PX.Objects.CR.ActivityStatusListAttribute.Released,
“T1”,
“T2”
},
新[]
{
PX.Objects.EP.Messages.Draft,
PX.Objects.EP.Messages.Open,
PX.Objects.EP.Messages.InProcess,
PX.Objects.EP.Messages.Completed,
PX.Objects.EP.Messages.Approved,
PX.Objects.EP.Messages.Rejected,
PX.Objects.EP.Messages.cancelled,
PX.Objects.EP.Messages.Balanced,
PX.Objects.EP.Messages.Released,
“测试1”,
“测试2”
})]
[PXUIField(DisplayName=“Some Test”)]
受保护的虚拟无效PMTimeActivity\u ApprovalStatus\u CacheAttached(PXCache缓存)
{
}
}

您试图自定义的字段是PMTimeActivity.ApprovalStatus,因此缓存附加的方法名称没有指向正确的引用以覆盖属性

查看字段属性可以看到dac和应使用的字段:

这将导致PMTimeActivity\u ApprovalStatus\u CacheAttached的缓存附加方法名称(使用DataClass\u DataField\u CacheAttached的命名约定)

以下是一个工作示例:

public class CRActivityMaintExtension : PXGraphExtension<PX.Objects.EP.CRActivityMaint>
{
    [PXRemoveBaseAttribute(typeof(PX.Objects.CR.ActivityStatusListAttribute))]
    [PXStringList(new[]
            {
                PX.Objects.CR.ActivityStatusListAttribute.Draft,
                PX.Objects.CR.ActivityStatusListAttribute.Open,
                PX.Objects.CR.ActivityStatusListAttribute.InProcess,
                PX.Objects.CR.ActivityStatusListAttribute.Completed,
                PX.Objects.CR.ActivityStatusListAttribute.Approved,
                PX.Objects.CR.ActivityStatusListAttribute.Rejected,
                PX.Objects.CR.ActivityStatusListAttribute.Canceled,
                PX.Objects.CR.ActivityStatusListAttribute.PendingApproval,
                PX.Objects.CR.ActivityStatusListAttribute.Released,
                "T1",
                "T2"
            },
            new[]
            {
                PX.Objects.EP.Messages.Draft,
                PX.Objects.EP.Messages.Open,
                PX.Objects.EP.Messages.InProcess,
                PX.Objects.EP.Messages.Completed,
                PX.Objects.EP.Messages.Approved,
                PX.Objects.EP.Messages.Rejected,
                PX.Objects.EP.Messages.Canceled,
                PX.Objects.EP.Messages.Balanced,
                PX.Objects.EP.Messages.Released,
                "TEST1",
                "TEST2"
            })]
    [PXUIField(DisplayName = "Some Test")]
    protected virtual void PMTimeActivity_ApprovalStatus_CacheAttached(PXCache cache)
    {

    }
}
公共类CractivityIntextension:PXGrapherExtension
{
[PXRemoveBaseAttribute(typeof(PX.Objects.CR.ActivityStatusListAttribute))]
[PXStringList(新[]
{
PX.Objects.CR.ActivityStatusListAttribute.Draft,
PX.Objects.CR.ActivityStatusListAttribute.Open,
PX.Objects.CR.ActivityStatusListAttribute.InProcess,
PX.Objects.CR.ActivityStatusListAttribute.Completed,
PX.Objects.CR.ActivityStatusListAttribute.Approved,
PX.Objects.CR.ActivityStatusListAttribute.Rejected,
PX.Objects.CR.ActivityStatusListAttribute.Cancelled,
PX.Objects.CR.ActivityStatusListAttribute.PendingApproval,
PX.Objects.CR.ActivityStatusListAttribute.Released,
“T1”,
“T2”
},
新[]
{
PX.Objects.EP.Messages.Draft,
PX.Objects.EP.Messages.Open,
PX.Objects.EP.Messages.InProcess,
PX.Objects.EP.Messages.Completed,
PX.Objects.EP.Messages.Approved,
PX.Objects.EP.Messages.Rejected,
PX.Objects.EP.Messages.cancelled,
PX.Objects.EP.Messages.Balanced,
PX.Objects.EP.Messages.Released,
“测试1”,
“测试2”
})]
[PXUIField(DisplayName=“Some Test”)]
受保护的虚拟无效PMTimeActivity\u ApprovalStatus\u CacheAttached(PXCache缓存)
{
}
}