Pergunta

Preciso definir o campo Notas para o valor do campo Notas em outra entidade no formulário CRM 2011.Então, preciso saber como obter e definir o campo Notas usando Javascript.E não consigo colocar o nome do campo Notas dentro da seção como você pode ver na imagem abaixo.

enter image description here

Foi útil?

Solução

OK, existem duas abordagens necessárias aqui.

@Philip_Rich apontou que as anotações para registros existentes são criadas assim que perdem o foco e, portanto, podem ser consultadas.Você deve conseguir encontrar o código existente para isso com bastante facilidade (se não, pergunte aqui).

Você mesmo reconheceu que, para registros novos (não salvos), as anotações não são salvas até que o registro pai seja salvo.Não há nenhuma maneira suportada de acessar o valor no campo de notas neste momento, no entanto, esse código desagradável deve obter o valor que você procura.Tenha em atenção que, uma vez que não é suportado, é vulnerável a alterações de DOM nos formulários:

var myNotesText = document.getElementById("notescontrol").contentWindow.document.getElementById("NotesTable").children[1].children[4].children[0].innerText;

Outras dicas

Notas no CRM são chamados de 'anotações' sob o capô.Você cria uma anotação como qualquer outro tipo de registro de CRM e, em seguida, associar essa anotação com o registro de juros da entidade.Eu não tentei recuperar campos de notas de JavaScript explicitamente (eu normalmente fiz isso através de um plug-in, que é documentado no SDK).No entanto, não vejo razão para que você não pudesse executar uma consulta ODATA para recuperar anotações onde o registro da entidade associada era do tipo de entidade X, por exemplo.

Em JS você não precisa atribuir, basta criar uma nota.

Mas você definitivamente precisa de uma entidade criada antes de anexar uma nota a ela.

As notas podem ser de dois tipos: nota e anexo.

Aqui está um exemplo de como você pode criar uma nota (anotação) simples (de texto) a partir de 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);
}

Onde:

entidade - (EntityReference) da entidade à qual deseja anexar uma nota.

assunto - (String) Assunto de uma nota.

texto - (String) Corpo de uma nota.

Se você deseja anexar um documento do MS Office, você precisa alterar édocumento e tipo MIME parâmetros.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top