Autocomplete preenchido no onChange de outro campo

Fala galera,

Tive problemas em encontrar uma solução para preencher um campo autocomplete no onChange de outro campo, buscando aqui no fórum vi muitas pessoas com o mesmo problema e sem solução.

Eu encontrei uma solução e venho aqui compartilhar com todos.

Meu caso:
Inclusão de itens de uma Nota Fiscal(produtos) em um form Grid Editável(view).
campos: {idProduto}, {idUnidade}, {valor}, {quantidade}.

Criei o campo {descricao} que será meu autocomplete, no meu caso não armazeno ele no Banco pois o idProduto é o suficiente para mim.
Criei o campo {linha} que recebe no onLoadRecord o número da linha pela variável “$sc_seq_vert”;

Método Javascript:
Define o nome como “defineDescricao” com dois parâmetros($desc, $linha). Os nomes dos parâmetros falam por si.

document.getElementById(“id_sc_field_descricao_”+linha).value = desc; // “id_sc_field_descricao_X” essa é a ID do campo Autocomplete onde X é a linha da Grid Editável.
document.getElementById(“id_ac_descricao_”+linha).value = desc; // “id_ac_descricao_X” essa é a ID do campo Autocomplete que fica Oculto onde X é a linha da Grid Editável.

Evento onChange do campo {idProduto}:

sc_lookup(des,“SELECT descricao FROM produtos WHERE id = {idProduto}”);

// Call javascript function
$a = {des[0][0]};
$b = {linha};
sc_ajax_javascript(‘defineDescricao’, array($a, $b));

Obs: Como o campo Autocomplete não grava no Banco devo colocar no evento onLoadRecord o valor inicial do campo:

sc_lookup(des,“SELECT descricao FROM produtos WHERE id = {idProduto}”);
{descricao} = {des[0][0]};

Já fui muito ajudado aqui no Fórum e por isso estou tentando ajudar também. É a minha primeira contribuição galera, críticas e melhorias a solução apresentada são bem vindas.

Obrigado por compartilhar com todos…

Parabéns Pedro Mikosz! Compartilhar sempre é bom, pra todos! Abraço.