none
CRM 2011 - Plugin ou javascript que altera campo para registros selecionados RRS feed

  • Pergunta

  • Preciso alterar um campo de determinados registros em uma pesquisa avançada.

    EX: faço uma pesquisa avançada de 10 oportunidades, e seleciono 5, clico em algum botão e o código Javascript pega o ID destas oportunidades e altera o status.

    Tem como fazer isso via JS ou o melhor e ir para um Plugin?


    quinta-feira, 22 de novembro de 2012 19:10

Respostas

Todas as Respostas

  • Daniel, veja a resposta que coloquei na sua pergunta anterior. o processo seria o mesmo.

    Atenciosamente,
    Rodrigo Hentz - MCP.MCPS.MCNPS.MCTS.MBSS.MBSP.MCITP
    Profile
    Blog

    quinta-feira, 22 de novembro de 2012 19:49
    Moderador
  • Rodrigo, gostaria aqui de saber se posso alterar campos via JS ou Plugin de registros selecionados em uma localização avançada?
    sexta-feira, 23 de novembro de 2012 11:47
  • Veja este link http://crm-dev.blogspot.com.br/2011/04/crm-2011-add-mapping-to-advanced-find.html ele faz o que você está querendo colocar. claro para um outro propósito mas adiciona o botão.

    Atenciosamente,
    Rodrigo Hentz - MCP.MCPS.MCNPS.MCTS.MBSS.MBSP.MCITP
    Profile
    Blog

    sexta-feira, 23 de novembro de 2012 12:02
    Moderador
  • Tudo bem Rodrigo, vou estudar aqui e volto assim que possível.
    sexta-feira, 23 de novembro de 2012 18:53
  • Senhores, estou quase..

    srsrssrsrsrsrsrs

    Estudando o link acima notei que a consulta nas entidades do CRM 2011 e feita atravez de fetchXml.

    bom, a linha que quero seguir e:

    Registrar um plugin que e registrado no Update.

    toda vez que tiver uma alteração no pedido, o plugin vai no campo Y e verifica se e igual a sim.
    se for ele faz uma consulta via fetchXml de quais os ids dos produtos que fazem parte do pedido e altera o status dos Produtos do pedido.

    Com a ajuda de todos do forum ja consigo criar um plugin registrar no evento Update e alterar quando necessario o status do produto do pedido.

    Agora e partir para consulta via fetchXml.

    Estou estudando aqui, se alguem conhecer um material bacana de estudo eu agradeço.

    sexta-feira, 23 de novembro de 2012 19:17
  • Novamente tenho problemas na parte de atualizar  em um registro via Plugin.

    Hoje criei um Plugin no Evento Update e vai ser executado no Pos-Operation;

    para pegar a entidade alvo usei os códigos abaixo:

    IPluginExecutionContext context = localContext.PluginExecutionContext;
                ITracingService tracingService = localContext.TracingService;
                IOrganizationService service = localContext.OrganizationService;
    Entity contrato = (Entity)context.InputParameters["Target"];

    Para atualizar os dados usei o comando abaixo:

    contrato["new_name"] = "Teste Atualizado,Sucesso"; OptionSetValue o = new OptionSetValue(); o.Value = 100000000;

     contrato["new_integrar"] = o;

    E finalmente mando atualizar os dados inseridos:

    localContext.OrganizationService.Update(contrato);

    Mas me apresenta o erro abaixo:

    Uma duvida também me persegue, 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" ?

    segunda-feira, 26 de novembro de 2012 17:05
  • Daniel, isso vai acontecer mesmo. você realmente esta fazendo um loop de update infinito.

    No inicio do seu código verifique o atributo Depth. ele vai incrementando a cada update.

    no inicio coloque :

    if 

    (localContext.Depth > 1) return;


    Atenciosamente,
    Rodrigo Hentz - MCP.MCPS.MCNPS.MCTS.MBSS.MBSP.MCITP
    Profile
    Blog

    segunda-feira, 26 de novembro de 2012 17:17
    Moderador
  • Rodrigo então estou fazendo algo errado, pois não tenho um atributo Depth e o objeto localContext nao me apresenta o objeto Depth.

    Mas em todo caso se ele esta dando update infinito nao estou dando update no objeto correto, pois somente quero dar update no objeto Contrato.

    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" ?


    segunda-feira, 26 de novembro de 2012 17:29
  • tente em localContext.PluginExecutionContext.Depth a propriedade existe sim

    Atenciosamente,
    Rodrigo Hentz - MCP.MCPS.MCNPS.MCTS.MBSS.MBSP.MCITP
    Profile
    Blog

    • Marcado como Resposta Daniel Jonathan terça-feira, 27 de novembro de 2012 11:01
    segunda-feira, 26 de novembro de 2012 17:52
    Moderador
  • Rodrigo, funcionou perfeitamente, 

    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?


    segunda-feira, 26 de novembro de 2012 18:44
  • aí você tem que usar a Query ou um Retrieve passando o Guid e os campos que precisa, mas aí é outro assunto fora do seu tópico. Feche este e abra um outro tudo bem?

    Atenciosamente,
    Rodrigo Hentz - MCP.MCPS.MCNPS.MCTS.MBSS.MBSP.MCITP
    Profile
    Blog

    segunda-feira, 26 de novembro de 2012 19:24
    Moderador