我需要将Notes字段设置为CRM 2011表单中其他实体中的Notes字段值。所以,我需要知道如何使用Javascript获取和设置Notes字段。而且我无法在该部分中获得Notes字段的名称,如下图所示。
答案 0 :(得分:2)
CRM中的注释被称为“注释”。您可以像创建任何其他CRM记录类型一样创建注释,然后将该注释与感兴趣的实体记录相关联。我没有尝试明确地从javascript中检索笔记字段(我通常是通过插件来完成的,这在SDK中有记录)。但是,我认为没有理由不能执行oData查询来检索关联实体记录的实体类型为X的注释。
答案 1 :(得分:2)
好的,这里需要两种方法。
@Philip_Rich指出,现有记录的注释一旦失去焦点就会被创建,因此可以被查询。您应该能够很容易地找到现有代码(如果没有,请在此处询问)。
您自己承认,对于新的(未保存的)记录,在保存父记录之前不会保存注释。此时没有受支持的方法来访问notes字段中的值,但是这段令人讨厌的代码应该获得您寻找的值。请注意,由于它不受支持,因此容易受到表单中DOM更改的影响:
var myNotesText = document.getElementById("notescontrol").contentWindow.document.getElementById("NotesTable").children[1].children[4].children[0].innerText;
答案 2 :(得分:1)
在JS中,您不需要分配,只需创建一个注释。
但是你可以先定义一个创建的实体,然后才能附加一个注释。
注释可以是注释和附件两种类型。
以下是如何从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)。
主题 - (字符串)注释的主题。
文字 - (字符串)笔记正文。
如果要附加MS office文档,则需要更改 isdocument 和 mimetype 参数。