【问题标题】:How to set change log entries user in Dynamics Nav 2016如何在 Dynamics Nav 2016 中设置更改日志条目用户
【发布时间】:2017-10-17 13:28:15
【问题描述】:

我编写了一些代码来查询 Dynamics Nav 2016 中的 ODATA 端点。我通过创建 ODATA connected service 来做到这一点。我写了以下代码来添加一条记录:

var navision = new Navision(
    new Uri("http://navision:7048/navision/OData/Company('Company1')"))
{
    Credentials = new NetworkCredential("MyUser@example.com", "password")
};
navision.AddToFoo(new Foo() { Name = "Bar" });
navision.SaveChangesAsync();

我为Foo 表启用了“更改日志条目”。但是,执行上述代码时,更改日志条目中显示的用户是MyUser@example.com。是否可以自己显式设置此用户?

【问题讨论】:

  • 呃...更改凭据!究竟是什么问题?
  • 如果您真的想要答案,没有标准的方法可以做到这一点。你可以开发一切。
  • 我的公司正在将其 API 中的导航表暴露给 Android 应用程序。这些用户没有导航凭据。

标签: c# odata microsoft-dynamics navision dynamics-nav


【解决方案1】:

没有标准的方法来进行这种替换。更改日志条目创建如下。 USERID 是返回登录用户名的系统函数。

ChangeLogEntry."User ID" := USERID;

如果您可以在您的系统上进行开发,那么您需要将navision.AddToFoo(new Foo() { Name = "Bar" }); 更改为navision.AddToFoo(new Foo() { Name = "Bar", ChangedBy = "RealUserName"}); 并将此字段添加到表Foo 中。这至少可以让您看到最后更改记录的用户。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-03
    • 1970-01-01
    • 1970-01-01
    • 2020-03-28
    • 2018-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多