none
Mostrar campo Cod. Agencia Bancaria RRS feed

  • Pergunta

  • Pessoal,

    Duvida que talvez seja simples para os mais experientes no Dynamics CRM.

    Na entidade Prospect existe um campo chamado Agencia Bancaria, que esta relacionada a entidade Agencia Bancaria onde existe o campo Regional Bancaria.

    Só que este campo apresenta o nome da Regional e preciso mostrar nas Exibições o Codigo. Tenho como mostra este campo nas exibições? Ou vou ter que criar um novo campo na entidade agencia bancaria só pra gravar o codigo para que eu consiga colocar ele nas exibições ?

    quinta-feira, 5 de agosto de 2010 12:57

Respostas

  • Geraldo,

     

    Só confirmando, você tem o seguinte relacionamento Prospect -> Agencia Bancaria -> Regional Bancaria. Você precisa mostrar o código da regional no formulário de exibição associada da entidade Agencia Bancaria para Propesct. Correto?

     

    Infelizmente sim, neste formulário de exibição associada você só consegue colocar atributo que estejam na própria entidade Agencia Bancaria. Ou seja, você terá que criar o campo na entidade Agencia Bancaria e fazer o preenchimento manual ou programaticamente.

     

    Abraço,

     


    Ricardo Alves
    www.ricardoalves.me
    • Sugerido como Resposta RicardoAlves quinta-feira, 5 de agosto de 2010 13:39
    • Marcado como Resposta RicardoAlves sábado, 2 de outubro de 2010 17:59
    quinta-feira, 5 de agosto de 2010 13:36
  • Geraldo,

     

    Neste caso (LookupControlItem), você está apenas criando um objeto do tipo lookup... Para fazer a busca você tem que usar desenvolvimento .NET, fetchXml ou httpRequest para acessar o CrmService (webservice do CRM).

     

    Mas eu criei um método genérico para fazer esse tipo de busca... ajustei para você, colocar no OnChange do campo new_regionalbancariaid, testa ai...

     

    function Buscar(entidade, id, campoRetorno) {
    
      var XMLRequest = "" +
      "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
      "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">" +
      GenerateAuthenticationHeader() +
      " <soap:Body>" +
      " <RetrieveMultiple xmlns=\"http://schemas.microsoft.com/crm/2007/WebServices\">" +
      " <query xmlns:q1=\"http://schemas.microsoft.com/crm/2006/Query\" xsi:type=\"q1:QueryExpression\">" +
      " <q1:EntityName>" + entidade + "</q1:EntityName>" +
      " <q1:ColumnSet xsi:type=\"q1:ColumnSet\">" +
      " <q1:Attributes>" +
      " <q1:Attribute>" + campoRetorno + "</q1:Attribute>" +
      " </q1:Attributes>" +
      " </q1:ColumnSet>" +
      " <q1:Distinct>false</q1:Distinct>" +
      " <q1:Criteria>" +
      " <q1:FilterOperator>And</q1:FilterOperator>" +
      " <q1:Conditions>" +
      " <q1:Condition>" +
      " <q1:AttributeName>" + entidade + "id" + "</q1:AttributeName>" +
      " <q1:Operator>Equal</q1:Operator>" +
      " <q1:Values>" +
      " <q1:Value xsi:type=\"xsd:string\">" +
      id +
      "</q1:Value>" +
      "</q1:Values>" +
      " </q1:Condition>" +
      " </q1:Conditions>" +
      " </q1:Criteria>" +
      " </query>" +
      " </RetrieveMultiple>" +
      " </soap:Body>" +
      "</soap:Envelope>" +
      "";
    
      var xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
      xmlHttpRequest.Open("POST", "/mscrmservices/2007/CrmService.asmx", false);
      xmlHttpRequest.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/crm/2007/WebServices/RetrieveMultiple");
      xmlHttpRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
      xmlHttpRequest.setRequestHeader("Content-Length", XMLRequest.length);
      xmlHttpRequest.send(XMLRequest);
    
      var Result = xmlHttpRequest.responseXML;
      var BusinessEntityNodes = Result.selectNodes("//RetrieveMultipleResult/BusinessEntities/BusinessEntity");
    
      if (BusinessEntityNodes.length != 0) {
        return BusinessEntityNodes[0].firstChild.text;
      }
    
      return null;
    }
    
    
    if (crmForm.all.new_regionalbancariaid.DataValue != null) {
      var retorno = Buscar("new_regionalbancaria", crmForm.all.new_regionalbancariaid.DataValue[0].id, "new_codigodaregional");
      crmForm.all.new_codregionalbancaria.DataValue = retorno;
    }
    

     

    Abraço,

     


    Ricardo Alves
    www.ricardoalves.me

    Se for útil, por favor marque ;)
    sexta-feira, 6 de agosto de 2010 14:30

Todas as Respostas

  • Geraldo,

     

    Só confirmando, você tem o seguinte relacionamento Prospect -> Agencia Bancaria -> Regional Bancaria. Você precisa mostrar o código da regional no formulário de exibição associada da entidade Agencia Bancaria para Propesct. Correto?

     

    Infelizmente sim, neste formulário de exibição associada você só consegue colocar atributo que estejam na própria entidade Agencia Bancaria. Ou seja, você terá que criar o campo na entidade Agencia Bancaria e fazer o preenchimento manual ou programaticamente.

     

    Abraço,

     


    Ricardo Alves
    www.ricardoalves.me
    • Sugerido como Resposta RicardoAlves quinta-feira, 5 de agosto de 2010 13:39
    • Marcado como Resposta RicardoAlves sábado, 2 de outubro de 2010 17:59
    quinta-feira, 5 de agosto de 2010 13:36
  • Isso mesmo Ricardo.

     

    É, infelizmente vou ter que adotar essa maneira.

    Vou criar o campo na entidade Agencia Bancaria e fazer com que o codigo seja preenchido automaticamente ao informar a Regional bancaria, pelo menos assim o usuario nao terá trabalho adicional.

    Muito obrigado pela ajuda Ricardo.

     

     

    quinta-feira, 5 de agosto de 2010 14:38
  • Por nada!

     

    Abraço,

     


    Ricardo Alves
    www.ricardoalves.me
    • Sugerido como Resposta RicardoAlves sexta-feira, 6 de agosto de 2010 00:38
    quinta-feira, 5 de agosto de 2010 14:42
  • Ricardo,

    Consegue me tirar uma duvida?

    É referente ainda a mesma duvida postada anteriormente, pois estou com dificuldades aqui.

    Como consigo pegar o conteudo de um campo Lookup e desse conteudo (Nome da regional) eu disparar em outro campo o codigo dessa Regional selecionada? 

    Segue o codigo que estou testando, mas nao esta rolando.

    var lookReg = crmForm.all.new_regionalbancariaid.DataValue;
          lookReg = lookReg[0].id;
    alert( lookReg);


    var lookItem= new Array();
    lookItem [0] = new LookupControlItem ( lookReg , 10006 , crmForm.all.new_codigodaregional.DataValue );
    crmForm.all.new_codregionalbancaria.DataValue = lookItem;

    Obrigado!

    Geraldo.

    sexta-feira, 6 de agosto de 2010 13:38
  • Geraldo,

     

    Neste caso (LookupControlItem), você está apenas criando um objeto do tipo lookup... Para fazer a busca você tem que usar desenvolvimento .NET, fetchXml ou httpRequest para acessar o CrmService (webservice do CRM).

     

    Mas eu criei um método genérico para fazer esse tipo de busca... ajustei para você, colocar no OnChange do campo new_regionalbancariaid, testa ai...

     

    function Buscar(entidade, id, campoRetorno) {
    
      var XMLRequest = "" +
      "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
      "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">" +
      GenerateAuthenticationHeader() +
      " <soap:Body>" +
      " <RetrieveMultiple xmlns=\"http://schemas.microsoft.com/crm/2007/WebServices\">" +
      " <query xmlns:q1=\"http://schemas.microsoft.com/crm/2006/Query\" xsi:type=\"q1:QueryExpression\">" +
      " <q1:EntityName>" + entidade + "</q1:EntityName>" +
      " <q1:ColumnSet xsi:type=\"q1:ColumnSet\">" +
      " <q1:Attributes>" +
      " <q1:Attribute>" + campoRetorno + "</q1:Attribute>" +
      " </q1:Attributes>" +
      " </q1:ColumnSet>" +
      " <q1:Distinct>false</q1:Distinct>" +
      " <q1:Criteria>" +
      " <q1:FilterOperator>And</q1:FilterOperator>" +
      " <q1:Conditions>" +
      " <q1:Condition>" +
      " <q1:AttributeName>" + entidade + "id" + "</q1:AttributeName>" +
      " <q1:Operator>Equal</q1:Operator>" +
      " <q1:Values>" +
      " <q1:Value xsi:type=\"xsd:string\">" +
      id +
      "</q1:Value>" +
      "</q1:Values>" +
      " </q1:Condition>" +
      " </q1:Conditions>" +
      " </q1:Criteria>" +
      " </query>" +
      " </RetrieveMultiple>" +
      " </soap:Body>" +
      "</soap:Envelope>" +
      "";
    
      var xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
      xmlHttpRequest.Open("POST", "/mscrmservices/2007/CrmService.asmx", false);
      xmlHttpRequest.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/crm/2007/WebServices/RetrieveMultiple");
      xmlHttpRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
      xmlHttpRequest.setRequestHeader("Content-Length", XMLRequest.length);
      xmlHttpRequest.send(XMLRequest);
    
      var Result = xmlHttpRequest.responseXML;
      var BusinessEntityNodes = Result.selectNodes("//RetrieveMultipleResult/BusinessEntities/BusinessEntity");
    
      if (BusinessEntityNodes.length != 0) {
        return BusinessEntityNodes[0].firstChild.text;
      }
    
      return null;
    }
    
    
    if (crmForm.all.new_regionalbancariaid.DataValue != null) {
      var retorno = Buscar("new_regionalbancaria", crmForm.all.new_regionalbancariaid.DataValue[0].id, "new_codigodaregional");
      crmForm.all.new_codregionalbancaria.DataValue = retorno;
    }
    

     

    Abraço,

     


    Ricardo Alves
    www.ricardoalves.me

    Se for útil, por favor marque ;)
    sexta-feira, 6 de agosto de 2010 14:30
  • Ricardo,

    Funcionou perfeitamente, salvou minha semana (risos).

    Muito Obrigado mesmo.

    Abraços.

     

    sexta-feira, 6 de agosto de 2010 14:45
  • Fico feliz em ter ajudado!

     

    Abraço,

     


    Ricardo Alves
    www.ricardoalves.me

    Se for útil, por favor marque ;)
    sexta-feira, 6 de agosto de 2010 16:11