[RESOLVIDO]Campo select 'Usar Ajax para recarregar outros campos do tipo Select'

Quando um campo select é carregado através de um campo anterior 'Usar Ajax para recarregar outros campos do tipo Select, Duplo Select, Radio e Checkbox. ’ letras acentuadas ficam com problema na exibição.

É a quarta vez que atualizo para a versão para 9.2 e estou voltando para a 9.1.

Olá George,

Qual o problema de exibição que aparece? Isso acontece em outras aplicações?

O setor de ‘Bug’s’ da NM está com as informações.

Fiquei pasmo hoje ao receber uma sugestão do suporte:

O senhor poderia testar se alterando o charset da aplicação os assentos são mostrados normalmente?
Também poderia testar alterar o client_encoding da sua conexão nas configurações avançada da mesma?

Minhas aplicações funcionam perfeitamente na versão 9.1 porque tenho modificar o charset e client_encoding para funcionar na 9.2???

Lembrando que o problema de acentuação só ocorre em campos select carregado através do Ajax.

Aqueles que igual eu não podem voltar a versão da aplicação rs.
Fica uma dica para solução ate sair uma correção.

Abre dentro do código fonte a aplicação ex: ‘minhaaplicacao_apl.php’

Busca dentro do código o SELECT do campo ajax.

Provavelmente logo abaixo vai ter um WHILE assim:

while (!$rs->EOF) 
       { 
              $aLookup[] = array(atd_form_arqmov_pack_protect_string(NM_charset_to_utf8($rs->fields[0])) => $this->form_encode_input($rs->fields[1]));
              $nmgp_def_dados .= $rs->fields[1] . "?#?" ; 
              $nmgp_def_dados .= $rs->fields[0] . "?#?N?@?" ; 
              $_SESSION['sc_session'][$this->Ini->sc_page]['atd_form_arqmov']['looksup_campo'][] = $rs->fields[0];
              $rs->MoveNext() ; 
       } 

Comentei a linha $aLookup, dupliquei e coloquei a funcao utf8_encode:

       while (!$rs->EOF) 
       { 
              // $aLookup[] = array(atd_form_arqmov_pack_protect_string(NM_charset_to_utf8($rs->fields[0])) => $this->form_encode_input($rs->fields[1]));
              $aLookup[] = array($rs->fields[0] => utf8_encode($rs->fields[1]));
              $nmgp_def_dados .= $rs->fields[1] . "?#?" ; 
              $nmgp_def_dados .= $rs->fields[0] . "?#?N?@?" ; 
              $_SESSION['sc_session'][$this->Ini->sc_page]['atd_form_arqmov']['looksup_campo'][] = $rs->fields[0];
              $rs->MoveNext() ; 
       } 

Pra mim funcionou

Meu código:

while (!$rs->EOF) { $rs->fields[0] = str_replace(',', '.', $rs->fields[0]); $rs->fields[0] = (strpos(strtolower($rs->fields[0]), "e")) ? (float)$rs->fields[0] : $rs->fields[0]; $rs->fields[0] = (string)$rs->fields[0]; $aLookup[] = array(control_pack_protect_string(NM_charset_to_utf8($rs->fields[0])) => $this->form_encode_input($rs->fields[1])); $nmgp_def_dados .= $rs->fields[1] . "?#?" ; $nmgp_def_dados .= $rs->fields[0] . "?#?N?@?" ; $_SESSION['sc_session'][$this->Ini->sc_page]['control']['Lookup_especialidade_id'][] = $rs->fields[0]; $rs->MoveNext() ; }

Seria aqui a alteração?

Esse sempre foi o nível do Suporte NM George, não se acostumou ainda?

Eu vivo falando que a língua utilizada pelo pessoal de suporte da NM é outra totalmente diferente da nossa.

Pois as respostas do suporte são absurdamente infantis e nada a ver com que se reporta.

Particularmente não gosto desse tipo de solução. Mexer direto no código gerado.

Para mim, toda ação, inclusive até as paleativas devem ser trabalhadas pela IDE.

Muitos casos deixei de usar o recarregamento ajax e monto o select dinamicamente.

Evento ajax do primeiro campo, criar o do segundo campo e reescreve seu conteúdo com jquery.

É amigo Haroldo, apesar de acostumado as vezes revolta.

Como tenho o projeto na versão 9.1 copiei (copiei mesmo, joguei por cima da app gerada pela 9.2) uma das app para a 9.2 e funcionou.

Não vai servir está gambiarra para mim, tenho no minimo 20 aplicações que carregam um campo select via ajax e ficar copiando as app da 9.1 para 9.2 não é a solução.

Obrigado pelo apoio de todos.

Enviei os códigos das app (9.1 e 9.2) para o suporte analisar, melhor do que isso para acharem o erro é impossível.

O suporte de primeiro nível não acha o erro com certeza, pois ele nem entenderam o erro. E a coisa é tão obvia.
Provavelmente vão enviar para o depto de desenvolvimento para “Analisar o Erro”.

Risos, mandei tudo detalhado desde o início, bco de dados, aplicações, varias imagens com o erro ocorrendo, justamente por saber a deficiência do suporte, não culpo o pessoal, acho que falta mais treinamentos e supervisão.

É falta de contratação de mão de obra qualificada juntando com o que você já disse George.
Falta ITIL na NM. Eles tem medo dessa palavra, pois ITIL mede o nível de atendimento do suporte, mede a velocidade com que o suporte reconhece o problema e retorna com a solução efetiva. ITIL cria base de conhecimento baseada nos reportes feitos pelos clientes e nas soluções dadas pela prestadora do serviço. ITIL é transparência, acompanhamento, cobrança efetiva interna nas soluções efetivas dos problemas reportados, avalia a real necessidade do produto diante seus usuários.

O suporte esta fazendo o que mais sabe fazer de melhor, ficar calado.

Não tenho mas retorno do problema.

Suporte NM: Depois de alguns testes foi constatado o problema e o mesmo já foi solucionado programado para sair na próxima release do Scriptcase.

Me foi enviado um arquivo e substitui o existente, funcionou.

Corrigido na release 9.2.013.

Versão disponível para download e atualização.