- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们开始使用 Epicor 10,并且希望利用 DLL/服务与 Epicor 进行通信。这样我们就可以从自定义应用程序添加/更新信息。到目前为止,一切进展顺利,但当我们想要为特定工厂添加一个工作时,我们遇到了一个问题。它似乎总是想保存到用户上次通过客户端应用程序登录的工厂。
例如 - 假设用户的最后一个植物是植物“A”。我希望我的自定义应用程序登录 Epicor(创建 session )并为工厂“B”创建作业。我可以很好地添加作业,但它会将其放在工厂“A”而不是“B”下,即使我在创建 session 时登录到工厂“B”。
我们正在调用 SetPlant 并传入我们想要的正确植物,但 Epicor 似乎总是覆盖将其另存为的植物。还有其他人遇到过这种情况吗?我们也向公司提出了这个问题。 SetCompany 似乎根本不起作用。
更多信息: - 我们正在使用 net.tcp:///ERP/ICE/Lib/SessionMod.svc 服务。 - 我们可以使用 Login() 正常登录并获取 SessionId - 即使在 Session 对象上调用 GetValues() 也表示我们已登录到工厂“B”,即使 Epicor 仍将使用工厂“A”。
我们能想到的唯一解决办法(我们不想这样做)是按公司和工厂划分应用程序用户,这样我们就可以保证数据保存到哪家公司和工厂。这会起作用,但并不理想。
有人对如何让系统接受新公司或工厂有任何建议吗?
最佳答案
正如 user463132 指出的,您可以使用临时 session 上下文包装服务连接:
using (CallContext.Current.TemporarySessionCreator.SetCompanyID("YourCompanyHere").SetPlantID("B").Create())
{
}
我还要补充一点,如果您使用 UI 适配器,您可以简单地从 oTrans 对象实例中获取 session ,并在此处设置控制 oTrans 如何与数据交互的属性。
Ice.Core.Session s1 = (Ice.Core.Session)this.oTrans.Session;
s1.CompanyID = "YourCompanyHere";
s1.PlantID = "B";
关于epicorerp - Epicor 10 - 更改当前 session 的植物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42115411/
我知道有人问过这个问题several times但是,他们没有帮助我。我有以下测试: public class PlantCatalogTests { @Autowired Plant
我是一名优秀的程序员,十分优秀!