CRM 2011 JavaScriptでメモフィールドを設定して取得します
-
12-12-2019 - |
質問
CRM 2011フォームの他のエンティティのNotesフィールド値にNotesフィールドを設定する必要があります。そのため、JavaScriptを使用してNotesフィールドをどのように取得して設定するかを知る必要があります。そして、下の画像で見られるようにセクション内にNotesフィールドの名前を取得できません。
解決
OKここでは2つのアプローチがあります。
@philip_rich既存のレコードの注釈は、フォーカスを失うとすぐに承認されると承認される可能性があります。これは簡単にこのために既存のコードを見つけることができるはずです(そうでない場合は、ここで尋ねる)。
あなた自身は、新規(未保存)レコードの場合、親レコードが保存されるまでアノテーションは保存されません。この時点でNotesフィールドの値にアクセスするためのサポートされている方法はありませんが、この厄介なコードはあなたが求める価値を得るべきです。サポートされていないので、フォームのDOMの変更に対して脆弱です。
var myNotesText = document.getElementById("notescontrol").contentWindow.document.getElementById("NotesTable").children[1].children[4].children[0].innerText;
. 他のヒント
CRMの注意事項は、フードの下の「注釈」と呼ばれています。他のCRMレコードの種類があるとおりに注釈を作成し、その注釈を関心のあるエンティティレコードに関連付けます。JavaScriptからNotesフィールドを明示的に取得しようとしていません(通常はプラグインを介してこれをSDKに文書化されています)。ただし、関連エンティティレコードがエンティティタイプXのアノテーションを取得するためにODATAクエリを実行できなかった理由はありません。
jsの割り当てが必要な場合は、メモを作成するだけです。
あなたがそれにメモを添付する前に、創造されたエンティティを確実に必要とする。
注意事項は、メモと添付ファイルの2種類にすることができます。
JSから単純な(テキスト)ノート(注釈)を作成する方法の例です。
function _createAnnotation(entity, subject, text) {
var orgService = GetOrganizationService();
var annotation = {};
annotation.Name = "annotation";
annotation._properties = [];
annotation._propertyTypes = [];
annotation._properties['objectid'] = entity;
annotation._propertyTypes['objectid'] = 'lookup';
annotation._properties['subject'] = subject;
annotation._propertyTypes['subject'] = 'string';
annotation._properties['notetext'] = text;
annotation._propertyTypes['notetext'] = 'string';
annotation._properties['isdocument'] = 'false';
annotation._propertyTypes['isdocument'] = 'boolean';
annotation._properties['mimetype'] = 'text/html';
annotation._propertyTypes['mimetype'] = 'string';
orgService.Create(annotation);
}
.
ここで:
エンティティ - (EntityReference)メモを添付したいエンティティの(EntityReference)
対象 - (String)メモの件名
テキスト - (文字列)メモの本体
MS Office文書を添付したい場合は、 isDocument と mimeType パラメータを変更する必要があります。