Feature.xml 更改未显示在 Enable/Disable 自定义功能 UI 中?

Feature.xml changes are not showing in Enable/Disable custom feature UI?

添加自定义功能复选框未显示在自定义功能中 UI,我的发现

var featureAttributes = cache.GetAttributes(null, field).OfType<FeatureAttribute>();

提供 0 个特征属性,这就是为什么当我按照文档中的建议添加了带有适当标签的 Features.xml 文件时它不可见的原因,还有什么我遗漏的吗?

您只需要 FeatureSet table 的 table 扩展。这是一个例子:

public sealed class FeaturesSetExtension : PXCacheExtension<PX.Objects.CS.FeaturesSet>
{
    #region UsrMyNewFeature
    public abstract class usrMyNewFeature : PX.Data.BQL.BqlBool.Field<usrMyNewFeature> { }

    [Feature(false, DisplayName = "MY NEW FEATURE")]
    public bool? UsrMyNewFeature { get; set; }
    #endregion
}

我得到以下结果:

您将创建一个 Feature.xml 文件来限制与新功能开关相关的页面。

如果您需要访问交换机(在添加到 features.xml 之前可能不会注册):

PXAccess.FeatureInstalled<FeaturesSetExtension.usrMyNewFeature>()
  1. Feature.XML 应该在我们项目的根目录下。
  2. 属性 [Feature(false, DisplayName = "MY NEW FEATURE")], 应该总是 那里。
  3. 如果想在根下查看"MY NEW FEATURE"然后查看 下面的代码。

    区域 UsrMyNewFeature

    public 摘要 class usrMyNewModuleFeature : PX.Data.BQL.BqlBool.Field { }

    [功能(假,显示名称 = "MY Module FEATURE")] public布尔? UsrMyNewModuleFeature { 得到;放; }

    结束区域

    区域 UsrMyNewFeature

    public 摘要 class usrMyNewFeature : PX.Data.BQL.BqlBool.Field { }

    [功能(假,typeof(usrMyNewModuleFeature),显示名称= "MY NEW FEATURE")] public布尔? UsrMyNewFeature { 得到;放; }

    结束区域