Usuário com melhor resposta
Onchange Não funciona

Pergunta
-
Tenho uma Entidade chamada Informações nela faço o cadastro de informações referentes as cidades.
Nela tenho dois campos o primeiro chamado cw_cidadeid e outro cw_sigladoestado que são de um relacionamento da entidade Região.
No cw_cidadeid tenho a seguinte função:
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;
}
var entidade = 'territory';
var id = crmForm.all.cw_cidadeid.DataValue[0].id;
var campoRetorno = 'description';
var retorno = Buscar(entidade, id, campoRetorno);
crmForm.all.cw_sigladoestado.DataValue = retorno;
Na entidade Informações está função não está funcionando, porém na entidade Atividades de Serviço funciona normalmente.
Por favor me ajudem!
Desde já Muito Obrigado!
Douglas Guilherme
Respostas
-
Olá Douglas,
Como você comentou, você 'copiou' o fonte da entidade Atividade de Serviço para entidade Informações.
Para o código a estrutura das entidades em relação as entidades Cidade e Estado, e também as nomenclatura de todos os campos devem ser idênticas.
Abs,
Ricardo Alves
www.ricardoalves.me- Sugerido como Resposta RicardoAlves quinta-feira, 17 de março de 2011 20:31
- Marcado como Resposta RicardoAlves domingo, 20 de março de 2011 22:30
Todas as Respostas
-
-
Use o comando "debugger;" e verifique todo o processo, passo a passo observando os valores que são retornados (apenas deixe o mouse sobre a variável, e ele lhe informa as informaçoes que esta variável carrega) ...
Eu uso visual studio para isto...
Teclas:
F10 - Executa passo a passo
F11 - Entra na funcão
Obrigado!
-
-
Douglas,
Conforme eu te disse para recuperar um campo via javascript deve tê-lo no form atual, ou seja, todos campos que você faz "crmForm.all.???" deve existir no form. Caso necessite pegar o valor de um campo que não está no form, precisará realizar um fetchXML utilizando o objeto activex (vulgo ajax).
[]'s,
Tiago
-
Olá Douglas,
Como você comentou, você 'copiou' o fonte da entidade Atividade de Serviço para entidade Informações.
Para o código a estrutura das entidades em relação as entidades Cidade e Estado, e também as nomenclatura de todos os campos devem ser idênticas.
Abs,
Ricardo Alves
www.ricardoalves.me- Sugerido como Resposta RicardoAlves quinta-feira, 17 de março de 2011 20:31
- Marcado como Resposta RicardoAlves domingo, 20 de março de 2011 22:30