Autor Tópico: Resolvido * Exibir valor do campo de uma tabela em outro form  (Lida 7443 vezes)

AdrianoBr

  • Novato
  • *
  • Mensagens: 5
    • Email
Resolvido * Exibir valor do campo de uma tabela em outro form
« Online: Abril 28, 2010, 03:06:17 pm »
Boas,

Estou com a seguinte dificuldade:
Criei o seguinte método:
sc_lookup(dtdescricao,"SELECT descricao from tb_produtos
WHERE id_produtos = {id_produtos}");

if(!empty({dtdescricao}))
{
   {descricao} = {dtdescricao[0][0]};
}

else
{
   {descricao} = "<font color='red'> Produto não cadastrado!</font>";
}
Coloquei ele no evento OnChange e OnLoad.
Até aqui td bem. Ocorre q, depois de efetuado o cadastrado, ao sair e entrar novamente no cadastro, a descrição desaparece. O campo é um label. O q acontece? Esqueci alguma coisa?
Abraços
« Última modificação: Abril 29, 2010, 02:59:49 pm por AdrianoBr »

robsonsilva

  • Visitante
Re: Exibir valor do campo de uma tabela em outro form
« Responder #1 Online: Abril 28, 2010, 03:22:50 pm »
Adriano, boa tarde!

Coloque o mesmo código no evento onRefresh, acredito que isso deverá resolver o problema..
Se não resolver, experimente nos eventos onAfterUpdate e onAfterInsert...

Abraços

waae

  • Avançado
  • ****
  • Mensagens: 292
    • Email
Re: Exibir valor do campo de uma tabela em outro form
« Responder #2 Online: Abril 28, 2010, 03:30:37 pm »
explique melhor....
Isso é um cadastro de que???
se for tipo um "pedido de venda" onde vc coloca o codigo do produto e ele traz a descrição do produto pra tela... é melhor você criar somente um evento Ajax (onchange) do campo "código" e colocar esse mesmo código que vc fez.

pq.. se vc colocou esse código no onload.... ele vai tentar atualizar esse campo sempre que ele for exibir o cadastro.. pode ser por isso que ele tá sumindo!!

Att

AdrianoBr

  • Novato
  • *
  • Mensagens: 5
    • Email
Re: Exibir valor do campo de uma tabela em outro form
« Responder #3 Online: Abril 29, 2010, 11:28:09 am »
Jaqueline,

O que eu preciso é que apareça a descrição do produto que estou cadastrando, buscando-a de outra tabela chamada produtos, e quando o usuário for pesquisar os preços nesta outra tabela apareça a descrição do produto. Como não existe a necessidade de manter a descrição nesta tabela, eu utilizei um campo do tipo label, só p/ que apareça a descrição do produto. Eu aproveitei um código pronto e já conferi tudo. Não estou encontrando onde está o erro.
Fiz o que você sugeriu e não funcionou.

Robson,

Segui a sua sugestão e não funcionou...
Alguma sugestão?

Abs a ambos e obrigado pela ajuda!

Eduardo Alves

  • Avançado
  • ****
  • Mensagens: 262
    • SLords Informatica
    • Email
Re: Resolvido * Exibir valor do campo de uma tabela em outro form
« Responder #4 Online: Julho 19, 2010, 09:51:52 am »
Eu estou com um problema parecido.. a instrução que estou dando funciona perfeitamente no onfocus, mais quando uso o onchange não funciona.. ele não carrega o campo. por exemplo, ao digitar o pedido, quero que venha o valor gravado em uma tabela. Quando dou o SQL no onfocus, ele seta o valor corretamente, copiei e colei o mesmo SQL agora em um evento onchange, ele não seta o valor (o campo fica em branco). O que poderia ser ??? Obrigado e aguardo a atenção de vocês.
Eduardo Alves
Gestor de TI e Segurança de Dados
Tel: (11) 8400-0224 (TIM) – Nextel: Id: 5 * 4522
email: analista@slords.com.br skype: analista.slords
www.slords.com.br

Cleyton Euler

  • Expert
  • *****
  • Mensagens: 1149
    • Associação de Usuários Scriptcase
    • Email
Re: Resolvido * Exibir valor do campo de uma tabela em outro form
« Responder #5 Online: Julho 19, 2010, 03:10:21 pm »
Eu estou com um problema parecido.. a instrução que estou dando funciona perfeitamente no onfocus, mais quando uso o onchange não funciona.. ele não carrega o campo. por exemplo, ao digitar o pedido, quero que venha o valor gravado em uma tabela. Quando dou o SQL no onfocus, ele seta o valor corretamente, copiei e colei o mesmo SQL agora em um evento onchange, ele não seta o valor (o campo fica em branco). O que poderia ser ??? Obrigado e aguardo a atenção de vocês.

Posta seu código
Associação de Usuários Scriptcase
http://www.auscriptcase.com.br

Consultoria Scriptcase Versão 5
http://www.infinitusweb.com.br

Eduardo Alves

  • Avançado
  • ****
  • Mensagens: 262
    • SLords Informatica
    • Email
Re: Resolvido * Exibir valor do campo de uma tabela em outro form
« Responder #6 Online: Julho 19, 2010, 04:07:00 pm »
Agora, No caso do OnFocus, que foi outra tentativa que eu fiz, o mesmo não passa os parametros nem para campo Numero Auto-Complet (Ajax) nem para campo SELECT. Passa somente para o campo Numerico. Ou seja, eu consigo "passar" o ID mais para consulta dele na tela, não consigo fazer com que apareça o LOOKUP, ou seja, o NOMEDOCLIENTE, para ficar mais amigavel para o usuario. Tentei fazer uma aplicação de captura para quando o valor setado no campo Id_cliente aparecer, que carregasse o NomeDoCliente, mais mesmo assim não aparece...O On-Change, nem carregou.

Segue o codigo funcionando no on_focus, com os problemas acima citados:

/* Macro sc_lookup */

sc_select(codigo, "
SELECT
   adm_os.id_cliente,
   adm_clientes.ClienteId,
   adm_clientes.NomeCliente
FROM
   adm_os,
   adm_clientes
WHERE
   (adm_os.id = '{qru}')
");

   while (!$codigo->EOF) {
   /* Utilize a linha abaixo como exemplo
      para atribuir os valores do banco a seus campos. */

      {id_cliente} = $codigo->fields[0];


      $codigo->MoveNext();
   }
   $codigo->Close();


Se puder me dar uma mão, sou eternamente grato...estou quebrando a cabeça com essa duplicação de dados / Orçamento / Novo Orçamento (duplicando dados, com Novo ID auto increment
« Última modificação: Julho 19, 2010, 04:10:36 pm por Eduardo Alves »
Eduardo Alves
Gestor de TI e Segurança de Dados
Tel: (11) 8400-0224 (TIM) – Nextel: Id: 5 * 4522
email: analista@slords.com.br skype: analista.slords
www.slords.com.br

Cleyton Euler

  • Expert
  • *****
  • Mensagens: 1149
    • Associação de Usuários Scriptcase
    • Email
Re: Resolvido * Exibir valor do campo de uma tabela em outro form
« Responder #7 Online: Julho 19, 2010, 04:42:28 pm »
Deixa eu ver se entendi.

Você chega no seu escritório de manhã e cria uma lista de produtos do dia que os parceiros pode tem acesso para pedir somente produtos desta lista. Cada conjunto de pedidos desta lista - um conjunto de cada cliente - gera um pedido.

É isso?
Associação de Usuários Scriptcase
http://www.auscriptcase.com.br

Consultoria Scriptcase Versão 5
http://www.infinitusweb.com.br

Cleyton Euler

  • Expert
  • *****
  • Mensagens: 1149
    • Associação de Usuários Scriptcase
    • Email
Re: Resolvido * Exibir valor do campo de uma tabela em outro form
« Responder #8 Online: Julho 19, 2010, 05:08:26 pm »
Agora, No caso do OnFocus, que foi outra tentativa que eu fiz, o mesmo não passa os parametros nem para campo Numero Auto-Complet (Ajax) nem para campo SELECT. Passa somente para o campo Numerico. Ou seja, eu consigo "passar" o ID mais para consulta dele na tela, não consigo fazer com que apareça o LOOKUP, ou seja, o NOMEDOCLIENTE, para ficar mais amigavel para o usuario. Tentei fazer uma aplicação de captura para quando o valor setado no campo Id_cliente aparecer, que carregasse o NomeDoCliente, mais mesmo assim não aparece...O On-Change, nem carregou.

Segue o codigo funcionando no on_focus, com os problemas acima citados:

/* Macro sc_lookup */

sc_select(codigo, "
SELECT
   adm_os.id_cliente,
   adm_clientes.ClienteId,
   adm_clientes.NomeCliente
FROM
   adm_os,
   adm_clientes
WHERE
   (adm_os.id = '{qru}')
");

   while (!$codigo->EOF) {
   /* Utilize a linha abaixo como exemplo
      para atribuir os valores do banco a seus campos. */

      {id_cliente} = $codigo->fields[0];


      $codigo->MoveNext();
   }
   $codigo->Close();


Se puder me dar uma mão, sou eternamente grato...estou quebrando a cabeça com essa duplicação de dados / Orçamento / Novo Orçamento (duplicando dados, com Novo ID auto increment

Este campo que vc tem SELECT é criado ou baseado em tabela?
Associação de Usuários Scriptcase
http://www.auscriptcase.com.br

Consultoria Scriptcase Versão 5
http://www.infinitusweb.com.br

Eduardo Alves

  • Avançado
  • ****
  • Mensagens: 262
    • SLords Informatica
    • Email
Re: Resolvido * Exibir valor do campo de uma tabela em outro form
« Responder #9 Online: Julho 19, 2010, 05:13:39 pm »
baseado na tabela... eu dou carga em um ID de orçamento mais o mesmo não carrega se o campo que ira receber os dados estiver SELECT.
Eduardo Alves
Gestor de TI e Segurança de Dados
Tel: (11) 8400-0224 (TIM) – Nextel: Id: 5 * 4522
email: analista@slords.com.br skype: analista.slords
www.slords.com.br

Cleyton Euler

  • Expert
  • *****
  • Mensagens: 1149
    • Associação de Usuários Scriptcase
    • Email
Re: Resolvido * Exibir valor do campo de uma tabela em outro form
« Responder #10 Online: Julho 19, 2010, 05:28:41 pm »
Na verdade, o caso é o seguinte: eu faço varios orçamentos para um certo cliente, mais esse mesmo cliente pede sempre orçamentos parecidos onde eu posso aproveitar os mesmos dados digitados do orçamento anterior. O que eu queria é aproveitar as "digitações" gravados no que eu fiz  carregando esses campos nesse novo orçamento, mudando somente o ID (auto-increment) (que seria um numero de orçamento novo), ou seja DUPLICAR DOS DADOS DO ORÇAMENTO para um NOVO ORÇAMENTO, vindo alguns dados ja gravados nesse orçamento, podendo ser alterado manualmente e finalmente gravando com outro ID.

resumindo: Isso para os usuarios terem maior rapidez aproveitando orçamentos ja preenchidos para fazerem novos orçamentos (aproveitando dados gravados). Ou seja, se tivesse um campo DUPLICAR ORÇAMENTO, e clicando nesse campo, eu tivesse o mesmo orçamento, com todos os mesmos dados gravados na tabela, somente com aguardando novo ID na gravação, FECHOU....

Tentei fazer isso com o OnFocus, mais alguns campos são Numero Auto-Increment (Ajax) que não carrega com o on focus, para ao inves de aparecer o ID_Cliente, apareça para consulta o NomeCliente, para ficar mais "amigavel" ao usuario final


Tenta usar o botão do tipo RUN
Associação de Usuários Scriptcase
http://www.auscriptcase.com.br

Consultoria Scriptcase Versão 5
http://www.infinitusweb.com.br

Eduardo Alves

  • Avançado
  • ****
  • Mensagens: 262
    • SLords Informatica
    • Email
Re: Resolvido * Exibir valor do campo de uma tabela em outro form
« Responder #11 Online: Julho 19, 2010, 05:42:42 pm »
Tentei fazer um botão PHP com o mesmo codigo do on focus, ele busca certinho (no echo) mais não carrega ao voltar para o formulario o campo ID_Cliente. Como seria esse botão RUN ???
Eduardo Alves
Gestor de TI e Segurança de Dados
Tel: (11) 8400-0224 (TIM) – Nextel: Id: 5 * 4522
email: analista@slords.com.br skype: analista.slords
www.slords.com.br

Eduardo Alves

  • Avançado
  • ****
  • Mensagens: 262
    • SLords Informatica
    • Email
Re: Resolvido * Exibir valor do campo de uma tabela em outro form
« Responder #12 Online: Julho 19, 2010, 06:21:40 pm »
Ou melhor explicando, se tivesse no Atribuir Valores / Valor de Banco de Dados, um AUTO-INCREMENT na atualização tb, eu chamaria com uma consulta o  Orçamento que necessito e, ao atualiza-lo, ele viria igualzinho ao outro, so que com o ID alterado. Entendeu ?
Eduardo Alves
Gestor de TI e Segurança de Dados
Tel: (11) 8400-0224 (TIM) – Nextel: Id: 5 * 4522
email: analista@slords.com.br skype: analista.slords
www.slords.com.br

Cleyton Euler

  • Expert
  • *****
  • Mensagens: 1149
    • Associação de Usuários Scriptcase
    • Email
Re: Resolvido * Exibir valor do campo de uma tabela em outro form
« Responder #13 Online: Julho 19, 2010, 09:38:42 pm »
Eu ainda não usei o Botão do Tipo RUN em consultas, mas acho que ele resolve o seu problema:

No código do botão, vc faz uma sc_lookup para ler o último ID da tabela orçamento e manda uma sc_sql_exec para gravar no banco com um incremento no ID de retorno. Esse código vai ser executado em cada linha marcada. Assim vc duplica somente os produtos que vc quer com novo ID de orçamento. Depois busca o novo orçamento.

Uma primeira idéia poderia ser algo como isto:

tab_orcamento
ID
DATA

tab_orcamento_itens
ID
ID_ORCAMENTO
ID_PRODUTO
QUANTIDADE
VALORUNIT



Aqui vc escreve uma sc_exec_sql gerando um novo orçamento

sc_lookup retornando 31 como último id de orçamento

$orcamento = 31+1

Aqui vc faz outra sc_exec_sql gravando os produtos marcado na grid na tabela de itens do orçamento usando $orcamento para o campo ID_ORCAMENTO

Não analisei concorrência ou outro impacto da idéia, lendo o seu relato foi o que veio na cabeça. Tem que ir implementando para ver. Mas acho que a forma mais fácil vai ser usando o Botão do tipo RUN na grid.
Associação de Usuários Scriptcase
http://www.auscriptcase.com.br

Consultoria Scriptcase Versão 5
http://www.infinitusweb.com.br

Eduardo Alves

  • Avançado
  • ****
  • Mensagens: 262
    • SLords Informatica
    • Email
Re: Resolvido * Exibir valor do campo de uma tabela em outro form
« Responder #14 Online: Julho 20, 2010, 09:08:24 am »
Pra ficar melhor, não preciso acessar da consulta mais sim, direto do cadastro. Por ex. abri o Orçamento ID 31, eu enxergo ele todo na tela (todos os campos da tabela), seria um botão DUPLICAR ORÇAMENTO, onde ele repetiria todo o mesmo orçamento somente acrescentando um auto-increment (ultimo ID +1) com os mesmos dados da tela. Teria uma forma mais facil de fazer isso ?
Eduardo Alves
Gestor de TI e Segurança de Dados
Tel: (11) 8400-0224 (TIM) – Nextel: Id: 5 * 4522
email: analista@slords.com.br skype: analista.slords
www.slords.com.br