我需要将Notes字段设置为CRM 2011表单中的其他实体中的Notes字段值。所以,我需要知道如何使用JavaScript获取和设置Notes字段。而且我无法在下面的图像中看到的部分内找到Notes字段的名称。

有帮助吗?

解决方案

好的,这里需要两种方法。

@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中)。但是,我认为没有理由为什么无法执行OData查询以检索关联实体记录是实体类型x的注释。

在js中,您不需要分配,您只需创建一个注释。

但是您在您可以将注释附加之前,您可以肯定需要创建的实体。

notes可以是两个类型的音符和附件。

这是如何从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)。

主题 - (String)注意题。

文本 - (字符串)正文的音符。

如果要附加MS Office文档,则需要更改 ISDocument MimeType 参数。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top