如何在 Dynamics Nav 2016 中设置更改日志条目用户

How to set change log entries user in Dynamics Nav 2016

我已经编写了一些代码来查询 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 table 启用了 'Change Log Entries'。但是,当上面的代码执行时,更改日志条目中显示的用户是MyUser@example.com。是否可以自己明确设置此用户?

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

ChangeLogEntry."User ID" := USERID;

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