Preencher campos automaticamente

Olá amigos, estou com uma dúvida e não consegui encontrar um tópico relacionado:
Tenho um cadastro de pedidos com seus ítens, no formulário dos ítens, queria chamar o código do produto e que fosse preenchido automaticamente alguns campos, como: valor, qtde_caixa, ipi, vindo do cadastro de produtos.

Pode ser uma dúvida simples, mas to perdido.
Grato
André

evento ajax onchange no campo código do produto, executar um select no produto e alimentar os demais campos.

Estou com essa mesma dúvida, mas Haroldo ao chegar no onChange como descreveria esse código?

No meu caso, tenho 2 campos:

CODIGO_CONTA e BANCO

O Campo “codigo_conta” é um select onde o usuário escolhe a conta bancária, e o campo “banco” é apenas um campo do tipo texto, onde automaticamente tem que aparecer o nome da conta (no caso o nome do banco a que se refere a conta) após o usuário ter escolhido no campo “codigo_conta”.

Ai fui lá no Evento Ajax, mas não sei descrever (o código fonte) como colocar no local em branco que tem lá.

Pode me ajudar?

Obrigado.

Só completando o que o Haroldo Falou

sc_lookup(dataset, "SELECT seus campos FROM sua tabela WHERE codigo = ‘{codigo}’ ");

{valor} = {dataset[0][0]};
{quant} = {dataset[0][1]};
{ect} = {dataset[0][2]};
{etc} = {dataset[0][3]};

1 Curtida

Andrade até o c_lookup(dataset, "SELECT conta_caixa FROM contas_receber WHERE codigo = ‘{codigo}’ "); (é assim que esta os meus campos)

Eu entendi, mas não entendi a parte da matriz:

{valor} = {dataset[0][0]};
{quant} = {dataset[0][1]};
{ect} = {dataset[0][2]};
{etc} = {dataset[0][3]};

Como é essa lógica?

{valor} = {dataset[0][0]};
[primeiro_registro_encontrado][primeiro_campo_do_select]

{valor} = {dataset[0][1]};
[primeiro_registro_encontrado][segundo_campo_do_select]

{valor} = {dataset[1][0]};
[segundo_registro_encontrado][primeiro_campo_do_select]

{valor} = {dataset[1][2]};
[segundo_registro_encontrado][segundo_campo_do_select]

e por aí vai

Hum…

Ok… vamos lá…

Tenho 2 campos ( um chamado de CONTA_CAIXA, que é um select ou outro é BANCO do tipo texto mesmo.) Eles estão na tabela “contas_receber”.

Então criei um evento ajax no campo CONTA_CAIXA e coloquei: c_lookup(dataset, "SELECT banco FROM contas_receber WHERE conta_caixa = ‘{conta_caixa}’ ");

Onde:
banco é o campo que quero que apareça o nome do Banco.
contas_receber é a tabela que se encontra esses dois campos.
conta_caixa é justamente a conta corrente, onde o usuário escolhe a conta corrente através do select e o outro campo banco se auto completa com a descrição do banco.

Porém esta dando um erro:

Fatal error: Call to undefined function c_lookup() in C:\Program Files (x86)\NetMake\v6\wwwroot\scriptcase\app\WebEntulhos\form_contas_receber\form_contas_receber_apl.php on line 3935

Onde estou errando nesse caso?

Vc quer mostrar 2 campos é isso?

se for é o seguinte:

sc_lookup(dataset, "SELECT conta_caixa, banco FROM contas_receber WHERE codigo = ‘{codigo}’ ");

{conta_caixa} = {dataset[0][0]};
{banco} = {dataset[0][1]};

Dário na verdade quero escolher a Conta Corrente no campo select “conta_caixa” e ele alimentar o outro campo com o nome do banco da conta corrente no campo “banco”.

Fiz assim:

sc_lookup(dataset, "SELECT banco FROM contas_receber WHERE codigo = ‘{codigo}’ ");

{banco} = {dataset [ 0 ][ 0 ]};

Não deu mais erro, porém o campo “banco” não aparece nada, selecionei a conta: (Ex: 1339, e no campo “banco” era pra aparecer “Itaú”) Mas fica em branco. Porém o erro desapareceu.

Alguma sugestão?

Qual o tipo do campo na tabela?

WHERE codigo

No caso o campo que substituiria o WHERE codigo ?

Não entendi de onde veio esse codigo!

Tenta isso:

sc_lookup(dataset, “SELECT banco FROM contas_receber WHERE codigo = '” . {codigo} . "’ ");

Fiz assim e nada:

sc_lookup(dataset, “SELECT banco FROM contas_receber WHERE codigo = '” . {codigo} . "’ ");

{banco} = {dataset [ 0 ][ 0 ]};

=/…

Tenta isso:

vamos ver se tá retornando alguma coisa

$check_sql = “SELECT banco”
. " FROM contas_receber"
. " WHERE codigo = ‘" . {codigo} . "’";
sc_lookup(rs, $check_sql);

if (isset({rs[0][0]}))
{
sc_error_message(“Encontrou”);

}
else
{
sc_error_message(“Não encontrou”);
}

Apareceu: Não encontrou!

o.O…

Logo imaginei…

Deve ter algo errado…

Vc está buscando os campos corretos?

na tabela contas_receber tem lancamentos com o código que vc tá buscando?

se tiver o TeamViewer posso te ajudar remotamente

Fred, sei que não é o tipo de resposta que quer receber, mas, humildemente te pergunto: Não seria o caso de você dar uma estudada básica no manual do sc, pelo menos nas funcionalidades e macros mais comuns, talvez rever a lógica das suas tabelas e um pouquinho de php?

Sei que todo começo no sc é difícil, já passei por isso.

O sc só vai te ajudar se vc tiver alguma bagagem de php e modelagem de banco.
Outra coisa que pode te ajudar muito é a pesquisa do forum.

Por favor não me leve a mal, estou aqui pra ajudar.
Rodrigo

De forma alguma Rodrigo, tenho maturidade suficiente para entender seu ponto de vista, e estou estudando sim, sou novato no SC e estou me esforçando ao máximo para aprender. Desculpa se estou poluindo o fórum com perguntas sem nexo ou totalmente leigas. Mas como diz o ditado" A necessidade faz o homem".

Sobre o acesso remoto eu tenho sim Dário, me adiciona no Skype e conversamos.

Abração.

Skype: fredkeyster

Fred, posta o dump das tabelas, te ajudo no que for necessário também.