【问题标题】:Acumatica hide branch lookup from menuAcumatica 从菜单中隐藏分支查找
【发布时间】:2020-11-13 22:28:45
【问题描述】:

美好的一天

是否可以删除顶部菜单(功能区)中的分支选择器?

我们只想让用户访问其他分支仓库,但我们不希望他们有权访问分支本身。

【问题讨论】:

    标签: acumatica


    【解决方案1】:

    不确定这是否可行,但如果您只希望用户访问单个分支,则应将其权限限制为单个分支。然后,您可以通过 使用 (new PXReadBranchRestrictedScope()) 进行自定义以启用对其他分支的访问。

    public virtual IEnumerable myView()
    {
        using (new PXReadBranchRestrictedScope())
        {
            PXResultset<MyDAC> Results = SelectFrom<MyDAC>
                .Where<MyDAC.inventoryID>.IsEqual<InventoryItem.inventoryID.FromCurrent>>
                .View.Select(Base);
    
            foreach (PXResult<MyDAC> result in Results)
            {
                MyDAC myDAC = result;
    
                yield return new PXResult<MyDAC>(myDAC); 
            }
        }
    }
    

    在 MyDAC 中,包含一个用 BranchIDAttribute 修饰的 BranchID 字段。

    #region UsrBranchID
    [Branch(IsKey = true)]
    [PXDefault(typeof(AccessInfo.branchID))]
    [PXUIField(DisplayName = Messages.FldUsrBranchID)]
    public virtual int? UsrBranchID { get; set; }
    public abstract class usrBranchID : PX.Data.BQL.BqlInt.Field<usrBranchID> { }
    #endregion
    

    using (new PXReadBranchRestrictedScope()) 将覆盖通常伴随用户定义的访问和返回所有分支的数据的分支限制。到目前为止,我只需要在一个地方执行此操作,因此修改范围并不大。

    你可以在How do I return data for other branches for a user with access to only one branch?看到我有类似需求的更多细节

    【讨论】:

    • 这不是有趣的,感谢您提供的信息。
    猜你喜欢
    • 2021-06-02
    • 2020-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多