20% OFF para compra e renovação →

Autor Tópico: NÃO CONSIGO RESOLVER - RESOLVIDO  (Lida 2264 vezes)

Ricardo Xavier

  • Novato
  • *
  • Mensagens: 47
    • Email
NÃO CONSIGO RESOLVER - RESOLVIDO
« Online: Setembro 15, 2010, 12:22:00 pm »
Pessoal, estou com um problema e não sei se o mesmo está acontecendo com vcs. Criei dois Métodos PHP (funcionando corretamente, pois no before insert quando chamo os métodos funciona perfeitamente). Criei um Evento Ajax no onChange e chamo os métodos só que não funciona. Como é que resolvo isso PELO AMOR DE DEUS. Não sei se é cabeçada minha ou se é coisa do SC5.
« Última modificação: Setembro 16, 2010, 01:48:01 pm por Ricardo Xavier »

Haroldo

  • Expert
  • *****
  • Mensagens: 8642
  • Conhecimento diminui limitações.△TFA△
    • InfinitusWeb Software de Gestãol/Gestão ITIL/Consultoria Scriptcase
Re: NÃO CONSIGO RESOLVER
« Responder #1 Online: Setembro 15, 2010, 01:21:51 pm »
Seria bom, que especificasse no título do tópico o problema.

Primeiro, teríamos que avaliar o conteúdo desses métodos.

Diogo Toscano

  • Administrator
  • Expert
  • *****
  • Mensagens: 613
    • :: ScriptCase ::
    • Email
Re: NÃO CONSIGO RESOLVER
« Responder #2 Online: Setembro 15, 2010, 03:33:17 pm »
Seria bom, que especificasse no título do tópico o problema.

Primeiro, teríamos que avaliar o conteúdo desses métodos.


[2]

Ricardo Xavier

  • Novato
  • *
  • Mensagens: 47
    • Email
Re: NÃO CONSIGO RESOLVER
« Responder #3 Online: Setembro 15, 2010, 06:51:06 pm »
Ok, vamos lá.

Método 1
CalculaAdquirir
{ESTOQUEAADQUIRIR}= {ESTOQUERECOMENDADO} - {ESTOQUEATUAL};

Método 2
CalculaRecomendado
sc_lookup(dataset, "select sum((comunidadebancosemente.qtdprodutor)*comunidadebancosemente.indicecultura) from comunidadebancosemente
         inner join escritorioemater on escritorioemater.idescritorioemater = comunidadebancosemente.idescritorioemater
         where escritorioemater.idregionalemater = '{idregionalemater}'");

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



e lá no OnChange do Evento_Ajax do campo EstoqueAtual chamei desse jeito:
CalculaRecomendado();
CalculaAdquirir();


Não seria para acontecer os cálculos que estão nos métodos? Lembrando que os campos {ESTOQUERECOMENDADO} e {ESTOQUEAADQUIRIR} são campos da própria tabela.

Acho que ficou mais claro agora.

Haroldo

  • Expert
  • *****
  • Mensagens: 8642
  • Conhecimento diminui limitações.△TFA△
    • InfinitusWeb Software de Gestãol/Gestão ITIL/Consultoria Scriptcase
Re: NÃO CONSIGO RESOLVER
« Responder #4 Online: Setembro 15, 2010, 08:33:18 pm »
e {EstoqueAtual}?
em qual campo aplicou OnChange Ajax?
Você checa o resultset da query select?
Rodou em modo DEBUG?

Você disse que funciona depois de AFTERINSERT, quer dizer que o registro ainda não era válido, não tinha dados buferizados?


Cleyton Euler

  • Expert
  • *****
  • Mensagens: 1149
    • Associação de Usuários Scriptcase
    • Email
Re: NÃO CONSIGO RESOLVER
« Responder #5 Online: Setembro 15, 2010, 08:40:05 pm »
Aqui tem um erro de notação no SC:

Errado:
{ESTOQUERECOMENDADO} = {dataset}[0][0];

Correto:
{ESTOQUERECOMENDADO} = {dataset[0][0]};

Não entendi pq vc fez dois métodos. Eu faria tudo na janela de código do evento ajax.
Supondo que todos estes campos estejam na aplicação:

sc_lookup(dataset, "select sum((comunidadebancosemente.qtdprodutor)*comunidadebancosemente.indicecultura) from comunidadebancosemente
         inner join escritorioemater on escritorioemater.idescritorioemater = comunidadebancosemente.idescritorioemater
         where escritorioemater.idregionalemater = '{idregionalemater}'");

{ESTOQUERECOMENDADO} = {dataset[0][0]};
{ESTOQUEAADQUIRIR} = {ESTOQUERECOMENDADO} - {ESTOQUEATUAL};
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: NÃO CONSIGO RESOLVER
« Responder #6 Online: Setembro 15, 2010, 08:54:44 pm »
Simulei o cenário com um controle:

Campos
ESTOQUERECOMENDADO (número)
ESTOQUEATUAL (número)
ESTOQUEAADQUIRIR (número)
EVENTO (select) manual Sim = 1; Não = 2

Coloquei o código abaixo no evento ajax onChange do campo EVENTO:
{ESTOQUEAADQUIRIR} = {ESTOQUERECOMENDADO} - {ESTOQUEATUAL};

Rodando a aplicação, 100 no campo ESTOQUERECOMENDADO e 50 no campo ESTOQUEATUAL, quando mudo o valor do campo EVENTO o cálculo e executado perfeitamente.

como o Harold comentou, teste seu dataset para ter certeza que ele esteja retornando valor válido.
Associação de Usuários Scriptcase
http://www.auscriptcase.com.br

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

Ricardo Xavier

  • Novato
  • *
  • Mensagens: 47
    • Email
Re: NÃO CONSIGO RESOLVER
« Responder #7 Online: Setembro 16, 2010, 12:50:37 pm »
Pessoal, consegui identificar, o Dataset não está retornando nada, mais no banco ele executa normalmente. E agora? Algum macete? Só queria avisar que sou novatíssimo nesta ferramente, por isso estou apanhando tanto.

Haroldo

  • Expert
  • *****
  • Mensagens: 8642
  • Conhecimento diminui limitações.△TFA△
    • InfinitusWeb Software de Gestãol/Gestão ITIL/Consultoria Scriptcase
Re: NÃO CONSIGO RESOLVER
« Responder #8 Online: Setembro 16, 2010, 01:22:38 pm »
Coloque em modo debug e verifique as querys.

Cleyton Euler

  • Expert
  • *****
  • Mensagens: 1149
    • Associação de Usuários Scriptcase
    • Email
Re: NÃO CONSIGO RESOLVER - RESOLVIDO
« Responder #9 Online: Setembro 16, 2010, 03:16:24 pm »
Se no banco está rodando, talvez o problema seja no parâmetro que vc coloca na where. Vc está usando um campo: {idregionalemater}. Este campo tem um valor válido?

Teste a query com um valor fixo válido, 1 por exemplo, supondo que exista no banco um registro com esse ID.

sc_lookup(dataset, "select sum((comunidadebancosemente.qtdprodutor)*comunidadebancosemente.indicecultura) from comunidadebancosemente
         inner join escritorioemater on escritorioemater.idescritorioemater = comunidadebancosemente.idescritorioemater
         where escritorioemater.idregionalemater = '1'");
Associação de Usuários Scriptcase
http://www.auscriptcase.com.br

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