none
CRM 2011 - Atualizar registro a partir do ID com Plugin RRS feed

  • Pergunta

  • Como faço pra atualizar um registro a partir de seu ID, ou seja, tenho o ID do registro, quero alterar os dados e posteriormente atualizar com o método "UPDATE" ?

    não sei se estou no caminho correto, mas:

    Tenho que criar um objeto que faz referencia a um registro já criado, correto? seria com o EntityReference ? se for quais parâmetros tenho que passar?

    terça-feira, 27 de novembro de 2012 11:03

Respostas

  • Daniel,

    Primeiro faça uma consulta na entidade que precisa recuperar pelo ID, depois com a entity "carregada", faça suas alterações e dê o update.

    Um exemplo:

    RetrieveMultipleRequest retriveMultiple;
    String fetchXml;
    EntityCollection entityCollection;
    Entity entity = null;
    
    // Consulta
    fetchXml = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>" +
    	"<entity name='ENTIDADE'>" +
    		"<attribute name='ATRIBUTO' />" +
    		"<attribute name='ATRIBUTO' />" +
    		"<attribute name='ATRIBUTO' />" +
    		"<filter type='and'>" +
    			"<condition attribute='ATRIBUTOID' operator='eq' uitype='ENTIDADE' value='ID' />" +
    		"</filter>" +
    	"</entity>" +
    "</fetch>";
    
    // Build fetch request and obtain results.
    retriveMultiple = new RetrieveMultipleRequest()
    {
    	Query = new FetchExpression(fetchXml)
    };
    
    // Recupera o Resultado do FetchXml
    entityCollection = ((RetrieveMultipleResponse)localContext.OrganizationService.Execute(retriveMultiple)).EntityCollection;
    
    // Percorre o Resultado
    if (entityCollection.Entities.Count > 0)
    	entity = entityCollection.Entities[0];
    
    // FAÇA AS ALTERAÇÔES
    entity["..."] = "";

    Att,


    Tiago Michelini Cardoso MVP - MCC - MCTS
    https://tiagomcardoso.wordpress.com/



    terça-feira, 27 de novembro de 2012 11:09
    Moderador

Todas as Respostas

  • Daniel,

    Primeiro faça uma consulta na entidade que precisa recuperar pelo ID, depois com a entity "carregada", faça suas alterações e dê o update.

    Um exemplo:

    RetrieveMultipleRequest retriveMultiple;
    String fetchXml;
    EntityCollection entityCollection;
    Entity entity = null;
    
    // Consulta
    fetchXml = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>" +
    	"<entity name='ENTIDADE'>" +
    		"<attribute name='ATRIBUTO' />" +
    		"<attribute name='ATRIBUTO' />" +
    		"<attribute name='ATRIBUTO' />" +
    		"<filter type='and'>" +
    			"<condition attribute='ATRIBUTOID' operator='eq' uitype='ENTIDADE' value='ID' />" +
    		"</filter>" +
    	"</entity>" +
    "</fetch>";
    
    // Build fetch request and obtain results.
    retriveMultiple = new RetrieveMultipleRequest()
    {
    	Query = new FetchExpression(fetchXml)
    };
    
    // Recupera o Resultado do FetchXml
    entityCollection = ((RetrieveMultipleResponse)localContext.OrganizationService.Execute(retriveMultiple)).EntityCollection;
    
    // Percorre o Resultado
    if (entityCollection.Entities.Count > 0)
    	entity = entityCollection.Entities[0];
    
    // FAÇA AS ALTERAÇÔES
    entity["..."] = "";

    Att,


    Tiago Michelini Cardoso MVP - MCC - MCTS
    https://tiagomcardoso.wordpress.com/



    terça-feira, 27 de novembro de 2012 11:09
    Moderador
  • Tiago, pode me dar um norte de como fazer essa consulta via plugin, pois somente usei ate hoje via JavaScript + SOAP.
    terça-feira, 27 de novembro de 2012 11:12
  • Daniel, eu atualizei com um exemplo, veja.

    Tiago Michelini Cardoso MVP - MCC - MCTS
    https://tiagomcardoso.wordpress.com/

    terça-feira, 27 de novembro de 2012 11:20
    Moderador
  • Muito obrigado, vou testar aqui e retorno assim que possível.
    terça-feira, 27 de novembro de 2012 11:51