Microsoft Dynamics CRM 2011 を使用しており、注釈を作成して JavaScript 内の潜在顧客に添付する必要があります。現時点では、次のようなオブジェクトがあります。
var note = new Object();
note.subject = "some text";
note.notetext = "some other text";
しかし、注釈とリードの間のリンクをどのように定義するかについてはよくわかりません。関連するメモとして、これらのエンティティをコミットする場合、OData サービスを使用して "POST" しますか?
ありがとう
編集 #1: Jason の投稿の情報を使用して、次のコードを取得しましたが、ノードを追加しているようには見えません。誰かが私が間違っているところを指摘できますか?
var note = new Object();
note.subject = "Test Note";
note.notetext = "some test text";
note.objectid = { id: selectedItemId, logicalname: "lead", name: "A Name" };
var postRequest = new XMLHttpRequest();
postRequest.open( "POST", url + "/LeadSet(guid'" + selectedItemId.toString() + "')", true );
postRequest.setRequestHeader( "Accept", "application/json" );
postRequest.setRequestHeader( "Content-Type", "application/json;charset=utf-8" );
postRequest.setRequestHeader( "X-HTTP-Method", "MERGE" );
postRequest.onreadystatechange = function() {
if( this.readyState == 4 )
{
var text = "complete";
}
};
postRequest.send(note.toString());
「selectedItemId」は、関数に渡される GUID です。「readystate」フィールドが 4 に設定されると、それを含む「status」は 400 に設定されます。
編集 #2: 次の文字列を渡そうとしましたが、まだ 400 (Bad Request) 応答が返されます。
{ObjectTypeCode: 4, Subject: \"test note\", NoteText: \"text\", ObjectId: { ObjectIdTypeCode: 4, Id: \"" + selectedItemId + "\", LogicalName: \"lead\", Name: \"A Name\" } }
編集 #3:「X-HTTP-METHOD」行を削除し、「ObjectTypeCode」番号 4 を引用符で囲み、「ObjectIdTypeCode」を削除すると、500 (内部エラー) と「」のコードが返されます。 -2147217150".