문제

CRM 2011 형식의 다른 엔티티의 Notes 필드 값으로 Notes 필드를 설정해야합니다.따라서 JavaScript를 사용하여 Notes 필드를 얻고 설정하는 방법을 알아야합니다.그리고 아래 이미지에서 볼 수 있듯이 섹션 내부의 Notes 필드의 이름을 얻을 수 없습니다.

여기에 이미지 설명

도움이 되었습니까?

해결책

OK 여기에 두 가지 방법이 필요합니다.

@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의 Annotation을 검색하기 위해 Odata 쿼리를 수행 할 수없는 이유가 없습니다.

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 매개 변수를 변경해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top