Tratar retorno sc_lookup em evento ajax

(LuisGustavo) #1

Boa Tarde Sr(a)s.

Tenho um campo select trabalhando com um evento ajax on change… ele faz o seguinte, baseado na opção seleciona ele puxa as informações em tabelas no banco para preencher os campos do formulario. ok! esta funcionando parcialmente.
O problema é que quando em alguma tabela não é retornado nenhum valor, ele não preenche nenhum dos campos ao invés de só deixar só o campo que não tem valor em branco.
Ai tentei fazer em diversas formas como mostrado abaixo, porem nenhuma funcionou.
Alguem tem alguma idéia?

// Pega Lote da Resina (Caso esteja em branco era para preencher com NA)
sc_lookup(lote, "SELECT lote_num_op, lote_num_lote_resina, lote_resp_abastecimento  FROM tb_ordem_producao_lote WHERE (lote_num_op = '{tran_op}')");

if(isset({lote})){
	{tran_lote} 	 	      = {lote[0][1]};
	{tran_resp_abastecimento} = {lote[0][2]};

} else {
	{tran_lote} 	 	  = "NA";
	{tran_resp_abastecimento} = "NA";

} 

e tentei dessa maneira tbm.

if(isset({lote[0][1]})){
	{tran_lote} 	 	      = {lote[0][1]};
	{tran_resp_abastecimento} = {lote[0][2]};

} else {
	{tran_lote} 	 	      = "NA";
	{tran_resp_abastecimento} = "NA";

} 

Nenhum das duas funcionou. tentei trocar no if por if({lote[0][1]} ==’’), porem não funcionou tbm.

(Diogo Toscano) #2

Era pra funcionar, esta preenchendo com o que na interface? Tentar concatenar, possa ser que esta vindo algo do banco … para testar:

if(isset({lote[0][0]}) && !empty({lote[0][0]})){
{tran_lote} = "Retornou: " . {lote[0][1]};
{tran_resp_abastecimento} = "Retornou: " . {lote[0][2]};

} else {
{tran_lote} = “NA”;
{tran_resp_abastecimento} = “NA”;

}

(LuisGustavo) #3

Não entendi direito, mas só o fato de colocar && !empty({lote[0][0]}))
no if ja funcionou…

O engraçado é que na tabela eu realmente não estava retornando nada no exemplo que passou para concatenar… não era para o isset funcionar?

Mas esta resolvido.

Obrigado.

(Diogo Toscano) #4

so testando o recordset, mas o isset so testa a posição … embora a posição possa estar vazia sem registro.