none
[CRM 2013 Online] Ocultar Log de "Modificado Por" ativado em Workflows RRS feed

  • Pergunta

  • Bom dia a todos !

    Estou com um problema em particular, nas minhas Oportunidades (tomando como exemplo esta entidade) sempre registra as alterações tanto feitas pelos usuários proprietários das oportunidades como feitas pelo meu usuário administrador baseado nos Workflows que são processados, no caso se o usuário faz uma alteração que ativa uma condição de algum Workflow, o campo "Modificado por" passa a ser CRM System, e para fins de visualização rápida eu gostaria que essas alterações automáticas feitas pelo administrador dos worlflows tivesse de alguma maneira de ocultar para os registros de Log do "Modificado por" e que apenas as alterações feitas pelos usuários seja mostrada no campo de "Modificado por"

    alguém tem ideia de como fazer isso ? desde já agradeço

    quinta-feira, 30 de outubro de 2014 11:44

Respostas

  • Boas Thiago,

    A primeira vista a melhor solução seria tu criares um campo novo (modifybyuser) nas oportunidades em que atualizas em cada save e create do formulário (javascript). Depois tiras o campo modified by de sistema e substituis pelo teu novo campo. O que achas?

    Espero ter ajudado.
    Se respondi a sua pergunta por favor marque como resposta e\ou como útil.


    Pedro Azevedo Crm Specialist 4.0\2011

    • Sugerido como Resposta Azevedo PedroMVP quinta-feira, 30 de outubro de 2014 14:51
    • Marcado como Resposta Thiago_Lima quinta-feira, 6 de novembro de 2014 14:30
    quinta-feira, 30 de outubro de 2014 14:51
  • Boas Thiago,

    Você quer apenas colocar o utilizador que modificar o formulário, certo? Para isso pode utilizar este troço de JS e coloca esse código no evento onsave:

    function changeCustomModifiedBy(){
        if(Xrm.Page.data.entity.getIsDirty()){
            var lookup = new Array();
            lookup[0] = new Object();
            lookup[0].id = Xrm.Page.context.getUserId();
            lookup[0].entityType = "systemuser";
            Xrm.Page.getAttribute("new_custommodifiedbyid").setValue(lookup);
        }
    }
    Espero ter ajudado.
    Se respondi a sua pergunta por favor marque como resposta e\ou como útil.


    Pedro Azevedo Crm Specialist 4.0\2011

    • Sugerido como Resposta Azevedo PedroMVP sexta-feira, 31 de outubro de 2014 00:28
    • Marcado como Resposta Thiago_Lima quinta-feira, 6 de novembro de 2014 14:30
    sexta-feira, 31 de outubro de 2014 00:28
  • Boas Thiago,

    Eu esqueci-me de referir que o meu campo não é um campo de texto mas sim um lookup para a tabela de utilizadores, basicamente realizei uma relação N:1 na entidade oportunidade. Isto para recriar totalmente o campo modifiedby. Se quiseres posso adaptar o código JS para colocar num campo de texto. Vê-la como preferes.

    Espero ter ajudado.
    Se respondi a sua pergunta por favor marque como resposta e\ou como útil.


    Pedro Azevedo Crm Specialist 4.0\2011

    • Sugerido como Resposta Azevedo PedroMVP terça-feira, 4 de novembro de 2014 13:48
    • Marcado como Resposta Thiago_Lima quinta-feira, 6 de novembro de 2014 14:30
    terça-feira, 4 de novembro de 2014 13:48

Todas as Respostas

  • Boas Thiago,

    A primeira vista a melhor solução seria tu criares um campo novo (modifybyuser) nas oportunidades em que atualizas em cada save e create do formulário (javascript). Depois tiras o campo modified by de sistema e substituis pelo teu novo campo. O que achas?

    Espero ter ajudado.
    Se respondi a sua pergunta por favor marque como resposta e\ou como útil.


    Pedro Azevedo Crm Specialist 4.0\2011

    • Sugerido como Resposta Azevedo PedroMVP quinta-feira, 30 de outubro de 2014 14:51
    • Marcado como Resposta Thiago_Lima quinta-feira, 6 de novembro de 2014 14:30
    quinta-feira, 30 de outubro de 2014 14:51
  • Ola Pedro,

    Mas ai neste caso como ficaria em JS essa associação com o novo campo ? to sem ideia pra associar o registro de alterações a este novo campo.

    quinta-feira, 30 de outubro de 2014 18:57
  • Boas Thiago,

    Você quer apenas colocar o utilizador que modificar o formulário, certo? Para isso pode utilizar este troço de JS e coloca esse código no evento onsave:

    function changeCustomModifiedBy(){
        if(Xrm.Page.data.entity.getIsDirty()){
            var lookup = new Array();
            lookup[0] = new Object();
            lookup[0].id = Xrm.Page.context.getUserId();
            lookup[0].entityType = "systemuser";
            Xrm.Page.getAttribute("new_custommodifiedbyid").setValue(lookup);
        }
    }
    Espero ter ajudado.
    Se respondi a sua pergunta por favor marque como resposta e\ou como útil.


    Pedro Azevedo Crm Specialist 4.0\2011

    • Sugerido como Resposta Azevedo PedroMVP sexta-feira, 31 de outubro de 2014 00:28
    • Marcado como Resposta Thiago_Lima quinta-feira, 6 de novembro de 2014 14:30
    sexta-feira, 31 de outubro de 2014 00:28
  • Boas Pedro,

    Implementei o JS e no ato Onsave me veio o alerta que está impedindo o save;

    terça-feira, 4 de novembro de 2014 12:19
  • Boas Thiago,

    Eu esqueci-me de referir que o meu campo não é um campo de texto mas sim um lookup para a tabela de utilizadores, basicamente realizei uma relação N:1 na entidade oportunidade. Isto para recriar totalmente o campo modifiedby. Se quiseres posso adaptar o código JS para colocar num campo de texto. Vê-la como preferes.

    Espero ter ajudado.
    Se respondi a sua pergunta por favor marque como resposta e\ou como útil.


    Pedro Azevedo Crm Specialist 4.0\2011

    • Sugerido como Resposta Azevedo PedroMVP terça-feira, 4 de novembro de 2014 13:48
    • Marcado como Resposta Thiago_Lima quinta-feira, 6 de novembro de 2014 14:30
    terça-feira, 4 de novembro de 2014 13:48
  • Boas Pedro,

    Atendeu perfeitamente, grato pela dica :)

    quinta-feira, 6 de novembro de 2014 14:30