【问题标题】:Turn ON / OFF a Custom Page / Feature based on Tenant in Acumatica根据 Acumatica 中的租户打开/关闭自定义页面/功能
【发布时间】:2020-07-01 08:35:56
【问题描述】:

我想创建一个设置功能,我可以在其中根据租户打开/关闭特定的自定义功能或页面。例如,我有 4 家公司,其中公司 2 和 3 需要一组功能,而 4 和 5 不需要,反之亦然。

我尝试过实现Modular Graph ExtensionsConditionally Activate Extensions,不幸的是它只适用于扩展图或DAC。不能在主图上使用。

我正在考虑在 RowSelected 事件上放置一个条件语句,但它不能真正隐藏页面或功能。

任何建议或意见都会有所帮助。谢谢。

【问题讨论】:

  • 为什么不能使用 Features.xml 并基于 Tenant 禁用?如果你使用Features.xml,你不能去每个租户的Enable/Disable features,然后对每个租户进行相应的设置吗?
  • @JosephCaruana 是的,您是对的,但我们在许可期间遇到了问题。

标签: acumatica


【解决方案1】:

您可以创建一个带有复选框的设置屏幕,该复选框将控制您是否启用该功能。在屏幕中创建一个 PXSetup 视图并在构造函数中检查激活标志。如果它不是活动的,则抛出 PXSetupNotEnteredException。这将使页面空白并为用户提供您选择的消息。

    public PXSetup<CustomSettings> CustomerSettings;
    public GraphName()
    {
        CustomSettingssettings = CustomerSettings.Current;
        if (!(settings.IsthisActive?? false))
        {
            throw new PXSetupNotEnteredException("This is not enabled, typeof(CustomSettings), "Graphname");
        }
        
    }

【讨论】:

  • 感谢您的回复,我对此解决方案有疑问,我将其应用于项目,当我尝试禁用然后启用设置时它工作得很好。但如果我再次尝试禁用它,设置将无法正常工作。尝试调试它,它只传递给构造函数两次(从禁用到启用)然后尝试再次禁用它,它不会传递给构造函数。知道如何修改它吗?
  • 所以涉及到两个屏幕对吧?有设置屏幕和您尝试启用/禁用的屏幕。我不认为我对此很清楚。
  • 嘿帕特里克,解决了这个问题。感谢您的解决方案。 :) 我的问题是由覆盖的持久方法引起的。所以我刚刚删除了它,现在它工作得很好。非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-04
  • 2021-08-09
  • 2012-12-13
  • 1970-01-01
  • 1970-01-01
  • 2013-07-05
相关资源
最近更新 更多