【发布时间】:2017-02-08 14:11:31
【问题描述】:
我们开始使用 Epicor 10,我们希望利用 DLL/服务与 Epicor 对话。这样我们就可以从自定义应用程序中添加/更新信息。到目前为止,一切进展顺利,但是当我们想要为特定工厂添加工作时遇到了一个问题。它似乎总是希望将用户上次通过客户端应用程序登录的植物保存到植物中。
例如——假设用户的最后一个植物是植物“A”。我希望我的自定义应用程序登录 Epicor(创建会话)并为工厂“B”创建工作。我可以很好地添加作业,但它会将它放在工厂“A”而不是“B”下,即使我在创建会话时登录到工厂“B”。
我们正在调用 SetPlant 并传入我们想要的正确植物,但 Epicor 似乎总是覆盖将其保存为的植物。有没有其他人遇到过这种情况?我们也与公司有这个问题。 SetCompany 似乎根本不起作用。
更多信息: - 我们正在使用 net.tcp:///ERP/ICE/Lib/SessionMod.svc 服务。 - 我们可以使用 Login() 正常登录并返回 SessionId - 即使在 Session 对象上调用 GetValues() 也表明我们已登录到工厂“B”,即使 Epicor 仍将使用工厂“A”。
我们能想出的唯一解决方法是,按公司和工厂划分应用程序用户,这样我们就可以保证将数据保存到哪个公司和工厂。这会起作用,但并不理想。
有人对如何让系统接管新公司或新工厂有任何建议吗?
【问题讨论】:
-
我知道这是一个基本问题,但有时它让我们很容易。您是否检查过您正在使用的用户是否具有对两家公司的访问权限?取出代码,以该用户身份登录,看看是否可以更新两家公司的记录。
-
是的,用户确实有权访问公司和工厂。