如何在 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。这至少可以让您看到最后一个更改记录的用户。
我已经编写了一些代码来查询 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。这至少可以让您看到最后一个更改记录的用户。