почему бы вам не использовать Webapi, если вы используете crm 2016 или более позднюю версию, лучше переходите с Webapi.
Ниже приведен фрагмент кода для webapi, который создает заметку.
var entity = {};
entity.subject = "Test from webapi";
entity.notetext = "just add some text";
var req = new XMLHttpRequest();
req.open("POST", Xrm.Page.context.getClientUrl() + "/api/data/v9.1/annotations", false);
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.onreadystatechange = function() {
if (this.readyState === 4) {
req.onreadystatechange = null;
if (this.status === 204) {
var uri = this.getResponseHeader("OData-EntityId");
var regExp = /\(([^)]+)\)/;
var matches = regExp.exec(uri);
var newEntityId = matches[1];
} else {
Xrm.Utility.alertDialog(this.statusText);
}
}
};
req.send(JSON.stringify(entity));
А теперь с XrmserviceToolkit
var entity = {};
entity.Subject = "Test from webapi 1234";
entity.NoteText = "just add some text 1234";
XrmServiceToolkit.Rest.Create(entity, "AnnotationSet", function(result) {
var newEntityId = result.AnnotationId;
}, function(error) {
Xrm.Utility.alertDialog(error.message);
}, false);
Кроме того, в чем проблема с вашим кодом?
Если вы посмотрите мой код выше для XrmserviceToolkit, вам нужно дать имя Entity как AnnotationSet
. Также вам не нужен Id, потому что CRM создаст Id после создания записи.