BUG? - Ajax setando valores p/ campos lookup ou captura

Bem amigos do forúm (melhores que suporte NM).

Historia: [size=10pt]– aviso apenas leia se tiver um coração saudavel —[/size]
Estou com um problema antigo, dizer que foi falta de testes creio que é injusto. O problema
é em CAMPOS com Lookup ou Captura, mais tem um problema maior nisso tudo, agente compra uma
ferramenta, por sinal ótima, preços altos, pagamos um suporte via ticket com um valor significativo por ser
apenas tickets, esperamos nisso tudo um suporte, vamos ser modestos, “BOM”, quando precisamos do primeiro
ticket nos deparamos com uma demora de no mínimo 5horas, para termos uma respota assim, “Por favor nos envie
uma cópia da sua aplicação e os dumps da tabela, para estarmos fazendos testes.”, poha, pensamos, “que trabalho
vai ser pra eu fazer isso e retornar aquie e enviar isso cara.”, então como não temos opção, enviamos os bentitos, após
amargas 24hrs vem uma resposta, “Por favor faça o procedimento a abaixo e retorne se o erro continuou. Procedimentos:
Fazer um backup, desistalar o scriptcase e instalar novamente e blá blá blá…”, pensamos, “puta merda cara até eu fazer isso tudo,
caralho, pii pii piiiiiiiiiiiiiii etc.”, então oque acontece, após alguns dias fazemos esse procedimentos e retornamos que o erro ainda continua, então vem a reposta, “Estamos analizando seu problema.”, logo depois a grande resposta, “Por Favor envie esse problema para o email de bugs. Para ser identificados se é um bug…”, pronto agora fudeu, vai ser arquivado e acabou minhas esperanças, algumas semanas depois o tempo dos tikets acaba, e não temos nenhuma resposta, nossos tickets são todos encerrados. Ae agente pensa, “Pqp oque vim fazer aqui nessa merda de tickets, se tivesse postado esse erro no forúm teria uma resposta, nem que seja de não consigo, mais terimaos …”. FIM ****** :wink:


Problema:

Em campos que tem lookup ou captura não estão recebendo valores de outros campos com evento ajax.
ex:
Crio um campo com a captura de outra tabela, clico na lupa, busco o registro, clico em selecionar, tudo ocorre perfeitamente como
esperado.
Após isso tenho a necessidade de colocar um campo ajax para informar um valor para esse campo, então vou em um segundo campo,
adicionou um evento ajax( qlquer um), e coloco para retornar um valor para meu campo com lookup ou captura, qoeu acontece??? Nada!!

Se alguem já se deparou com esse problema e descobriu oque fazer, ou se, se trata realmente de um bug, me avisem para não perder oque me resta de cabelo rsrsrs.

Vlw Pessoal!!!

eu uso o lookup mais pra ele pega meu codigo unico e pode indentifica sabe eu uso uma variavel global nem sei se isso te ajuda

itpo assim

Comando Select

pra ele busca no select
SELECT int_codigoproduto, str_descricao
FROM tbproduto
ORDER BY str_descricao

ai eu entro em SQL

Cláusula Where
eu coloco assim isso aqui e do meu banco como fica minha tabela

----- > int_codigounico = [Codigo_Unico] <------- essa e minha variavel Global que difere meus usuarios codigos unicos e tal ele me retorna os valores se minhas outras tabela estiver com alguma variavel Global se o seu caso dele retorna os valores se nao ajudeu descupe :frowning:

Eu estava com um problema parecido, era apenas os parâmetros que estava errado! Verificou os parâmetros da consulta SQL no look up?

Caros amigos,

Veja bem, não identifique problema nenhum no lookup ou captura, o problema está nos campos com evento ajax,
quando solicito um campo com evento ajax a mudar o valor de um campo que tenha lookup ou captura não funciona.

Tipo:
–> campos:
1 campo, evento ajax onchage.
2 campo, tem um lookup que exibe o nome do cliente apartir do id

campo1: ajaxOnchange
{
condicao == condicao{
{campo2} = 5;
}
}

campo2: lookup
SELECT nome
FROM clientes
WHERE id_cliente = ‘campo2’;

O que acontece nesse exemplo, se eu ir no campo1 e fazer uma alteração o valor 5 não vai para o campo2.
Se eu ir no campo2 e adicionar qualquer valor manualmente o lookup funcina normal.

Obrigado!!

Uai mas no exemplo que você colocou aí o campo2 é igual a ele mesmo… no lookup…porque você não usa o evento de recarga ajax no campo1?

Você entendeu, você define um lookup com um where onde a condição é ela mesma…acho que é isso o problema!!

Sim, esse lookup do campo2 é apenas para exibir o nome, para informar oa usuario de quem é aquele ID que o mesmo digitou,
a recarga ajax só funciona quando usamos 2 campos selects, ou pelomenos só consigo usa-la assim.

tipo assim: Vamos usar com base esses exemplos.
Campos:
produto;
preco_venda;
qtde;
total;
int id_fornecedor;
Quando digito o código do produto quero que retore o ajax assim:
produto : eventoAjaxOnchange{
preco_venda = 10,00;
qtde = 5;
total = preco_venda*qtde.
id_fornecedor = 2;
}
O que acontece aqui, os campos preco_venda, qtde e total serão preenchidos automaticamente com o ajax,
nesse exemplo isso funciona perfeitamente.

Esse id_fornecedor vai servir para mostrar para gente de qual fornecedor é o produto, obs ele é do tipo int, ou seja
não vai nos exibir nada, apenas um número. Ai gostariamos de colocar um lookup nesse id, para mostrar para o cliente
o nome do fornecedor, ao digitarmos um id, mais esse id pode ser tanto digitado manualmente ou atribuido pelo evento ajax,
ao atribuirmos manualmente o lookup funciona perfeitamente dando o nome do fornecedor, já quando o evento ajax é processado
nenhum dos campos receberá valor, isso ocorre pq o campo tem lookup, ou seja, campos lookup não recebem valores ajax e ainda não
deixa os outros campos receberem…

Obrigado

Agora eu entendi o que você quer fazer… e sinto em lhe dizer que não é possível só com SC e isso não é um bug é apenas uma limitação do que você esta tentando fazer.

Você esta tentando dispara o lookup via ajax e isso não vai dar certo. Porque o carregamento ajax da certo? Porque o carregamento ajax passa para o campo o que ele recuperou do banco. Explicando melhor o lookup que você coloca no campo alvo do carregamento e jogado fora dele e pra ele só é passado o resultado do lookup.

Pra resolver isso só com eventos javascript feito na mão.

Tipo assim Saulo, creio que isso talvez é falta de empenho da NM, porque digo, pois na minha
lógica é tão simples fazer isso, creio que quando você coloca um valor no campo com lookup ele deve disparar um evento javascript com ajax que cria o valor na frente do campo. Então quando você passa um valor para o campo que tem lookup, poderia via JavaScript disparar esse evento, que executa o lookup do campo. Como você disse, via javascript talvez consiga fazer isso usando as proprias funçoes js do scriptcase, mais precisaria saber a funcão que ele usa para disparar o evento lookup do campo, agora se eu quizer ainda fazer um onchage no campo que me coloca o valor retornado do banco na frente do campo consigo, via javascript, más é muito trabalhozo, como se diz, se chegar um caso que seja muito precisso isso, farei via javascript. :wink:

Agora porquê digo que se trata de um bug, Saulo, porque quando um campo tem lookup você não consgue passar valor nenhum para ele via os eventos ajax do ScriptCase, e se eu fizer um evento ajax manual consigo passar o valor que quizer para ele, apenas não aparecerá o lookup, pois não sei a função que a NM usa e não vou vasculhar para descobrir rsrsrs.

Um exemplo que simularia o lookup do script case em js caso eu chegasse a uma necessidade extrema.

[code][i]HMTL:

JS: simplificando [/i][/code]

Creio que esse exemplo assim simularia o do lookup do scriptcase, mais essa parte é so o javascript(visual), teria que
fazer varias coisas no php para inserir no banco e validar, que daria um trabalho rsrsrs.

Se estiver errado me fale, o código talvez não esteja correto mais é só para termos uma ideia da facilidade.

Vlw Aew.

Eu concordo plenamente com você, tem coisa manca no SC aos montes, normalmente quando esbarro nesse tipo de entrave eu simplesmente repenso minha aplicação e não uso nenhum artifício complicado para superar as barreiras por acho a manutenção complicada. Talvez seja o caso de também partir pra esse lado e simplificar seu desenvolvimento melhorando os relacionamentos de suas tabelas e construção dos formulários, melhor dizendo “pensando do jeito Scriptcase de ser”… se é que entende!!!:slight_smile:

Sim sei o que é isso, estou parado por causa disto e no aguardo:

Ticket # 31942-3508040920
Ticket # 34506-6624041130

https://www.scriptcase.com.br/forum/index.php/topic,6683.0.html

Editado pela moderação.

Boa tarde,

Problema reportado para nossa equipe de bugs.

att,
Bernhard Bernsmann

Opa Bernhard!!!
Vlw!!