2017-10-17 9 views
1

Dynamics NAV2016のODATAエンドポイントを照会するコードをいくつか作成しましたが、ODATA connected serviceを作成しました。私はFooテーブルのために「変更ログ・エントリ」を有効にしているDynamics Nav 2016での変更ログエントリの設定方法

var navision = new Navision(
    new Uri("http://navision:7048/navision/OData/Company('Company1')")) 
{ 
    Credentials = new NetworkCredential("[email protected]", "password") 
}; 
navision.AddToFoo(new Foo() { Name = "Bar" }); 
navision.SaveChangesAsync(); 

:私は、レコードを追加するには、次のコードを書きました。ただし、上記のコードを実行すると、変更ログのエントリに表示されるユーザーは[email protected]になります。このユーザーを明示的に設定することは可能ですか?

+0

...資格情報を変更してください!何が問題なの? –

+0

本当に答えが必要な場合は、標準的な方法はありません。あなたはすべてを開発することができます。 –

+0

私の会社は、APIの1つでNavテーブルをAndroidアプリに公開しています。これらのユーザーにはNav資格情報がありません。 –

答えて

1

この種の置換を行う標準的な方法はありません。変更ログ項目は次のように作成されます。 USERIDは、ログインしたユーザー名を返すシステム機能です。

ChangeLogEntry."User ID" := USERID;

あなたのシステム上での開発を持つことができるなら、あなたはnavision.AddToFoo(new Foo() { Name = "Bar", ChangedBy = "RealUserName"});のようなものにnavision.AddToFoo(new Foo() { Name = "Bar" });を変更すると、このフィールドは、テーブルのFooに追加する必要があります。これで少なくともレコードを変更した最後のユーザーを見ることができます。

関連する問題