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

时间:2017-10-17 13:28:16

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

我已经编写了一些代码来查询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。是否可以自己设置此用户?

1 个答案:

答案 0 :(得分:1)

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

ChangeLogEntry."User ID" := USERID;

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