2016-11-23 9 views
0

私のCRM 2011には、Phone Callという名前のエンティティがあります。CRM 2011 - エンティティ全体を保存せずにjavascriptを使用してエンティティ属性を更新する

この電話通話エンティティには、外部APIにリクエストを送信するボタンがあります。このボタンは、エンティティレコードに対して1回だけ押すことができます。

このボタンを押すと、このボタンが押された時のCRMにも保存されます。しかし同時に、エンティティは編集モードになり、ユーザは編集中である可能性があります。

したがって、エンティティ全体を保存する必要はありません。ユーザーが「保存」ボタンを押すと、エンティティ全体が保存されます。

「保存」ボタンを押すのを待たずに属性を保存するにはどうすればよいですか?

+1

質問にコードを追加すると、回答が得られる可能性が高くなります。求めているときは必ず覚えておいてください! – geisterfurz007

答えて

1

唯一の別のオプションは、JavaScriptを使用してUpdateレコードになります。また、ユーザーが事実の後にレコードを保存する場合には、同じ値を持つフォームの属性値を設定することを忘れないでください。これにより、ユーザーの保存で属性値を上書きしないようにします。

など。通話エンティティの電話番号属性を更新します。

PATCH [Organization URI]/api/data/v8.2/phonecalls(00000000-0000-0000-0000-000000000001)/phonenumber HTTP/1.1 
Content-Type: application/json 
OData-MaxVersion: 4.0 
OData-Version: 4.0 

{"value": "123-456-7890"} 
+1

'PUT'を 'PATCH'に置き換えます。 PUTは部分更新のために使用されますが、PUTはエンティティエンティティを置き換えようとします – Yoram

+0

@Yoram、更新されました。 – dynamicallyCRM

+0

私のやり方は、javascriptを使ってエンティティレコードを作成することです。このエンティティレコードには、(私の実際のターゲットエンティティレコードの)guid値と、設定したい属性の値を渡しています。プラグインがあります。このエンティティのPreSaveに書かれています。このプラグインは入力GUIDとその値を読み取り、C#コードからターゲットエンティティへの更新を行います –

関連する問題