【问题标题】:Change Current Branch Programmatically以编程方式更改当前分支
【发布时间】:2018-03-09 00:20:56
【问题描述】:

是否可以在运行时使用代码 (AEF) 更改分支?你怎么能在运行时做到这一点?假设我有一个自定义操作,点击后我想使用代码更改公司,我该怎么做?

【问题讨论】:

  • 如果你想选择或查看另一家公司的数据,这篇文章应该会给你一些想法...stackoverflow.com/questions/42073983/…
  • 对于分支,我假设如果您正在更新/插入数据,您可以在文档中发送 branchID 值。我从未尝试为用户更改“当前”默认分支,所以这里没有太多帮助。
  • 您能否澄清一下,您想以编程方式设置 CompanyID 还是 BranchID?您还可以告诉您需要明确设置 BranchID(或 CompanyID)的文档(例如销售订单)吗?
  • 对不起,我不清楚。我的意思是当前会话的分支。不更改文档的分支。假设我在一个特定的屏幕中,我想以编程方式更改会话的当前分支。有可能吗?

标签: acumatica


【解决方案1】:

以下是可以通过编程更改当前分支的代码。

using PX.Common;
using PX.Data;
using PX.Objects.CS;
using System.Collections;
using System.Web;

namespace AccessInfoChange
{
    public class BranchMaintExtension : PXGraphExtension<BranchMaint>
    {
        public PXAction<BranchMaint.BranchBAccount> changeBranch;
        [PXUIField(DisplayName = "Change Branch")]
        [PXButton]
        public virtual IEnumerable ChangeBranch(PXAdapter adapter)
        {
                int branchObj = 5; //BranchID of Branch you would like to switch to
                PXContext.SetBranchID(branchObj);
                HttpCookie branchCooky = HttpContext.Current.Response.Cookies["UserBranch"];
                if (branchCooky == null)
                    HttpContext.Current.Response.Cookies.Add(new HttpCookie("UserBranch", "MAIN"));//BranchCD of Branch to switch
                else branchCooky.Value = branchObj.ToString();//String of IntegerID for BranchID to switch
            return adapter.Get();
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-28
    • 1970-01-01
    • 2014-11-14
    • 2013-05-05
    • 2010-12-08
    • 2014-04-20
    • 2016-08-12
    相关资源
    最近更新 更多