Re: [firebase-br] Não grava registro em um determinado periodo..

Dimas Bolognani dimas em dbsoftinformatica.com.br
Qui Fev 8 10:01:42 -03 2007


SIM É O IBO.


DBSOFT INFORMÁTICA LTDA
OURO FINO - MG
TEL.(35)3441-5254
Dimas Bolognani
----- Original Message ----- 
From: "Campus" <campus em sinos.net>
To: "FireBase" <lista em firebase.com.br>
Sent: Thursday, February 08, 2007 9:34 AM
Subject: Re: [firebase-br] Não grava registro em um determinado periodo..


è o IBO que está controlando a transação ?

Tu não está comitando ela, depois do  DM.IBCaixA.ExecSQL;


----- Original Message ----- 
From: "Dimas Bolognani" <dimas em dbsoftinformatica.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Thursday, February 08, 2007 9:35 AM
Subject: Re: [firebase-br] Não grava registro em um determinado periodo..


Marcelo
O componente de uso é o IBO e nele esta configurado Read Committed, mas a
intenção é abrir a fechar a transação a cada rotina ficando a transação
aberto o mesmo tempo possivel.
a rotina q usa p/ gravar os dados na tabela q as vezes não grava o registro
e assim:

      DM.IBCaixa.Unprepare;
      DM.IBCaixa.Close;
      DM.IBCaixa.SQL.Clear;
      DM.IBCaixa.SQL.Add('INSERT INTO CAIXA ');

DM.IBCaixa.SQL.Add('(CX_DATAMOV,CX_HORAMOV,CX_CRED_DEB,CX_DESCLANCAMENTO,');

DM.IBCaixa.SQL.Add('CX_TIPOENTRADA,CX_VALORDINHEIRO,CX_VALORCHEQUE,CX_VALORC
ARTAO,CX_VALORPRAZO,');

DM.IBCaixa.SQL.Add('CX_VALORTROCO,CX_NUMEROTERMINAL,CX_CODVENDEDOR,CX_NPEDID
O,CX_NCOMPROVANTE,');

DM.IBCaixa.SQL.Add('CX_NUMEROCUPOMECF,CX_CAIXAFECHADO,CX_CODFORMAPAGTO,EMPRE
SA)');
      DM.IBCaixa.SQL.Add('VALUES');
      DM.IBCaixa.SQL.Add('(:DATAMOV,:HORAMOV,:CRED_DEB,:DESCLANCAMENTO,');

DM.IBCaixa.SQL.Add(':TIPOENTRADA,:VALORDINHEIRO,:VALORCHEQUE,:VALORCARTAO,:V
ALORPRAZO,');

DM.IBCaixa.SQL.Add(':VALORTROCO,:NUMEROTERMINAL,:CODVENDEDOR,:NPEDIDO,:NCOMP
ROVANTE,');

DM.IBCaixa.SQL.Add(':NUMEROCUPOMECF,:CAIXAFECHADO,:CODFORMAPAGTO,:EMPRESA)')
;

      DM.IBCaixa.Prepare;
      DM.IBCaixa.ParamByName('DATAMOV').AsDate := datadosupervisor;
      DM.IBCaixa.ParamByName('HORAMOV').AsDateTime := TIME;
      DM.IBCaixa.ParamByName('DESCLANCAMENTO').AsString := EditCliente.Text;
      DM.IBCaixa.ParamByName('VALORDINHEIRO').AsDouble := 0;
      DM.IBCaixa.ParamByName('VALORCHEQUE').AsDouble := 0;
      DM.IBCaixa.ParamByName('VALORCARTAO').AsDouble := 0;
      DM.IBCaixa.ParamByName('VALORPRAZO').AsDouble := 0;
      DM.IBCaixa.ParamByName('VALORTROCO').AsDouble := 0;
      DM.IBCaixa.ParamByName('NUMEROTERMINAL').AsInteger := VTERMINAL;
      DM.IBCaixa.ParamByName('CODVENDEDOR').AsInteger := VUSUARIO;
      DM.IBCaixa.ParamByName('CRED_DEB').AsString := Edit_C_D.Text;
      DM.IBCaixa.ParamByName('TIPOENTRADA').AsString := Edit_R_V.Text;
      DM.IBCaixa.ParamByName('NPEDIDO').AsInteger := 0;
      DM.IBCaixa.ParamByName('NCOMPROVANTE').AsInteger :=
strtoint(NUMERACAO);
      DM.IBCaixa.ParamByName('NUMEROCUPOMECF').AsInteger := 0;
      DM.IBCaixa.ParamByName('CAIXAFECHADO').AsString := 'N';
      DM.IBCaixa.ParamByName('CODFORMAPAGTO').AsInteger :=
trunc(CodFormaPagto.Value);
      DM.IBCaixa.ParamByName('EMPRESA').AsInteger := VEMPRESA;
      DM.IBCaixa.ParamByName('VALORDINHEIRO').AsDouble :=
NEditDinheiro.Value;
      DM.IBCaixa.ParamByName('VALORCHEQUE').AsDouble := NEditCheque.Value;
      DM.IBCaixa.ParamByName('VALORCARTAO').AsDouble := NEditCartao.value;
      DM.IBCaixa.ParamByName('VALORTROCO').AsDouble := NEditTroco.Value;

      DM.IBCaixA.ExecSQL;
      DM.IBCaixa.SQL.Clear;


DBSOFT INFORMÁTICA LTDA
OURO FINO - MG
TEL.(35)3441-5254
Dimas Bolognani
----- Original Message ----- 
From: "Marcelo Silva" <marcvan em ig.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Thursday, February 08, 2007 8:29 AM
Subject: Re: [firebase-br] Não grava registro em um determinado periodo..


Será que vc não está esquecendo de algum post ???
Por exemplo as vezes voces pode estar dando o post na mesma primeira tabela
e esquecendo da segunda, por ter usado o famoso Ctrl+C e Ctrl+V ... isso
ocorre muito :)

Ex.
tabela1.append;
tabela1campo.astipo = valor;
tabela1.post;

tabela2.append;
tabela2campo.astipo = valor;
tabela1.post; <- olha aqui o esquecimento o post na tabela 1 denovo ou sem
post

transacao.commit;


Outro detalhe... visto que esta usando COMMIT ao inves de COMMITRETAINNING
lembre-se de que o Commit fecha a comunicação com o banco logo em seguida,
ou seja se ele estiver "entre" o primeiro e o segundo POST o segundo não vai
ser executado pois a transação estará fechada.

Apesar de o try ajudar muito, muitas vezes ele pode ser o vilão da história
ocultando os erros :) verifique-os

----------------------
Marcelo Silva
(11) 9693-4251
(11) 6723-3106 - LESTCRED
MSN: marcvan em ig.com.br

----- Original Message ----- 
From: "Dimas Bolognani" <dimas em dbsoftinformatica.com.br>
To: "Antonio Carlos" <a.lima.silva em terra.com.br>; "FireBase"
<lista em firebase.com.br>
Sent: Thursday, February 08, 2007 8:09 AM
Subject: Re: [firebase-br] Não grava registro em um determinado periodo..


NÃO DA ERRO NENHUM....


DBSOFT INFORMÁTICA LTDA
OURO FINO - MG
TEL.(35)3441-5254
Dimas Bolognani
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa




______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa


-- 
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.432 / Virus Database: 268.17.29/673 - Release Date: 06/02/2007
17:52



______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa






Mais detalhes sobre a lista de discussão lista