我已经编写了一些代码来查询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
。是否可以自己设置此用户?
答案 0 :(得分:1)
没有标准的方法来进行这种替换。更改日志条目创建如下。 USERID
是系统函数,它将返回登录的用户名。
ChangeLogEntry."User ID" := USERID;
如果您可以在系统上进行开发,则需要将navision.AddToFoo(new Foo() { Name = "Bar" });
更改为类似navision.AddToFoo(new Foo() { Name = "Bar", ChangedBy = "RealUserName"});
的内容,并将此字段添加到表Foo中。这至少可以让您看到更改记录的最后一个用户。