none
Customização de páginas padrões criadas pelo Dynamics CRM - "dlg_closeopp.aspx" RRS feed

  • Pergunta

  • Pessoal,

     

    Preciso fazer uma customização na página de fechamento de Oportunidade, andei procurando e descobri o arquivo:  "dlg_closeapp.aspx" que fica no diretório: /SFA/opps responsável pelas ações de fechamento. Então adicionei um IFRAME contendo informações de controle: tipo atividades que estão abertas ou outros flags que customizei na oportunidade. Consegui passar o ID da oportunidade só que agora preciso do ID do usuário que está executando esta ação. Em busca na NET encontrei o RemoteCommand.js que possui alguns métodos de conexão com o WS, tentei adicioná-lo à página em questão, no entanto não consigo importar o arquivo javascript.

     

    O Dynamics CRM bloqueia esse tipo de funcionalidade nos arquivos padrão?

     

    Conhecem outra forma que eu possa implementar esta solução?

     


    Fernando Ferreira
    quinta-feira, 3 de março de 2011 15:18

Respostas

Todas as Respostas

  • Fernando,

     

    O que está fazendo é totalmente não suportado, qualquer rollup que for instalado no server poderá destruir o que fez bem como prejudicar a aplicação em si. Recomendo fortemente que não faça nenhum tipo de alteração no aspx e js do CRM.

    O que pretende fazer? Ai tentamos encontrar outra solução, como plugins e workflows...

    Att,

    Tiago Cardoso

    quinta-feira, 3 de março de 2011 15:39
    Moderador
  • Tiago,

     

    O que pretendo fazer é inibir o fechamento da oportunidade baseada em alguns flags, alguns deles são:

    * Somente o proprietário da oportunidade pode fechá-la;

    * Todas as atividades relacionadas devem estar concluidas;

    * Tenho alguns entidades personalizadas e preciso verificar alguns flags.

    * Dentre outras...

     

    E cada verificação destes flags era acompanhada por um IFRAME  que identificaria quais passos não satisfaziam, mostrando ao executor da ação o que estava incompleto para o fechamento da oppty.  Bom o que estava tentando fazer era adicionar um complemento ao fechamento da oportunidade atendendo à minha necessidade.


    Não imaginei que fosse tão arriscado esse tipo de alteração, mas tudo bem vou aceitar a recomendação.

    Eu posso adicionar adicionar os mesmos parâmetros que existem no "dlg_closeopp.aspx" no evento de CLOSE da oportunidade através de plugins?? Outra questão é se dá para eu retirar a opção de fechamento da oppty padrão do CRM (tipo um disable no menu) e então criar uma nova página, ou então o usuário só conseguir abrir a opção "Fechar Oportunidade" apenas quando todas as condições satisfeitas.


    Grato,

    Fernando Ferreira
    quinta-feira, 3 de março de 2011 16:58
  • Caramba rapaz, não tinha nada mais difícil para fazer não? rs

    Um plugin irá resolver então...

    Já trabalhou com plugins? Tem o sdk?

    http://archive.msdn.microsoft.com/crmplugin/Release/ProjectReleases.aspx?ReleaseId=2010

    http://www.microsoft.com/downloads/en/details.aspx?FamilyID=82e632a7-faf9-41e0-8ec1-a2662aae9dfb&displaylang=en

    Depois de tudo isso, precisa registrar um plugin na entidade"opportunity" na message "win" em "pre state".

    Através dos parâmetros retornados da oportunidade poderá verificar se o usuário que está fechando é o proprietário (ou melhor ainda configure nos direitos de acesso, para que somente seja aceito update por que criou a oportunidade)

    Depois procure por todas as atividades que estão relacionadas com sua oportunidade e confirme se estão fechadas. Por fim verifique suas entidades personalizadas.

    Caso qualquer condição não seja atendida "chame" a exception "InvalidPluginExecutionException" e informe o que desejar, visualmente aparecerá um alert para o usuário.

    Ufa, acabei...

    Vê se te ajuda, muito trabalho há de vir...

    Avise-nos sobre os resultados...


    []'s

    Tiago Cardoso

     

    quinta-feira, 3 de março de 2011 17:33
    Moderador
  • Trabalhão esse hein?? hehe

     

    Então... Eu já tenho um pouco de conhecimento com os plugins e sdk's, só que a minha proposta inicial foi criar uma interface onde estariam dispostas as etapas de fechamento detalhando o motivo de certa etapa falhar, porque vários usuários vão utilizar e quero deixar o mais detalhado possível.

    Tipo Assim:

    ********************

     - Etapa 1 - Owner da oportunidade - OK

     +Etapa 2 - Todas as atividades Concluidas - X

           Atividade Y está aberta favor fechar

     

    E assim a validação com as outras etapas.

    Acho que com o plugin vai dar certo através da exception posso emitir os detalhes das etapas, mas sabe como é usuário.. hehe

    Analisando o plugin registration tool na área de message observei 3 eventos que podem corresponder ao que estou querendo:

    • Win "Como vc informou"
    • Lose
    • Close

    Todos os 3 representam formas de fechamento de oportunidade? Desta forma então tenho registrar 2 plugins para Oportunidade Ganha e Perdida?

     

    Vlw pelas dicas. \o/

     

     

     

     


    Fernando Ferreira
    quinta-feira, 3 de março de 2011 18:21
  • Isso mesmo se quiser o ganha e perdida terá que registrar a dll nas duas, se precisar das regras apenas para as ganhas já sabe...

    Beleza, agora é fazer...

    Marque como resposta depois.

    []'s,

     

    Tiago Cardoso

    quinta-feira, 3 de março de 2011 18:58
    Moderador
  • Isso mesmo... Vlw demais!!!
    Fernando Ferreira
    quinta-feira, 3 de março de 2011 19:36