Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 20-05-2008
Paulao Paulao is offline
Miembro
 
Registrado: sep 2003
Ubicación: Rua D 31 Casa 1 - Inhoaíba - Rio de Janeiro - RJ - Brasil
Posts: 637
Poder: 23
Paulao Va por buen camino
Esta no es mi Unit, pero si mi Procedure para hacer el cerre. Abajo una Procedure de INSERT comentada erriba. Mismo con error en la transacion, este Insert esta acontecendo, mismo que la transacion va a RollBack, pues esto estas acontecendo.
Código Delphi [-]
procedure TFrmEncerramento.AtualizaFunv;
const
  MAX_CD_FUN = '99999';
var
  sCd_Fun, sCD_FunDev: string;
begin
   //..> Obtem Valor das Vendas agrupadas por Vendedor.
   CDS.Close;
   CDS.CommandText  := 'SELECT'+
                       '  TB_SAC_NF_CAPEADOR.CD_FUNC,'+
                       '  SUM(COALESCE(TB_SAC_NF_CAPEADOR.VL_BRUTO,0) + COALESCE(TB_SAC_NF_CAPEADOR.VL_DESC_ACR,0)) AS VL_LIQ'+
                       ' FROM'+
                       '  TB_SAC_NF_CAPEADOR'+
                       ' WHERE'+
                       '  (TB_SAC_NF_CAPEADOR.CD_FUNC <> 99999) AND'+
                       '  (TB_SAC_NF_CAPEADOR.ST_CANC = 0) AND'+
                       '  ((TB_SAC_NF_CAPEADOR.SR_NF = ''D2'') OR  ((TB_SAC_NF_CAPEADOR.SR_NF = ''B2'') AND'+
                       '  (TB_SAC_NF_CAPEADOR.CD_CFOP = 6102)))'+
                       ' GROUP BY'+
                       '  TB_SAC_NF_CAPEADOR.CD_FUNC';
   CDS.Open;
   //..> Obtem Valor das Devoluções agrupadas por Vendedor.
   CDSDEV.Close;
   CDSDEV.CommandText  := ' SELECT'+
                          '  TB_SAC_NF_CAPEADOR.CD_FUNC,'+
                          '   SUM(COALESCE(TB_SAC_NF_CAPEADOR.VL_BRUTO,0) + COALESCE(TB_SAC_NF_CAPEADOR.VL_DESC_ACR,0)) AS VL_DEV '+
                          ' FROM' +
                          '  TB_SAC_NF_CAPEADOR' +
                          ' WHERE' +
                          '  (TB_SAC_NF_CAPEADOR.CD_FUNC <> 99999) AND' +
                          '  (TB_SAC_NF_CAPEADOR.ST_CANC = 0) AND' +
                          '  (TB_SAC_NF_CAPEADOR.SR_NF = ''E2'')' +
                          ' GROUP BY'+
                          '  TB_SAC_NF_CAPEADOR.CD_FUNC';
   CDSDEV.Open;
   //..> Carrega variável de Funcionarios.
   if CDS.Eof then begin
     sCD_Fun := MAX_CD_FUN;
   end
   else begin
     sCD_Fun := IntToStr(CDS.FieldByName('CD_FUNC').AsInteger);
   end;
   if cdsdev.Eof then begin
     sCD_FunDev := MAX_CD_FUN;
   end
   else begin
     sCD_FunDev := IntToStr(CDSDEV.FieldByName('CD_FUNC').AsInteger);
   end;
   //..> Loop.
   while Not (sCD_Fun = MAX_CD_FUN) or Not (sCD_FunDev = MAX_CD_FUN) do
   begin
     if sCD_Fun < sCD_FunDev then begin
       sacp_Funv_ins(sCD_FUN,
                     FormatDateTime('DD/MM/YYYY', gDat),
                     cds.FieldByName('VL_LIQ').AsFloat);
       CDS.Next;
     end
     else if sCD_Fun = sCD_FunDev then begin
         sacp_Funv_ins(sCD_FUN,
                       FormatDateTime('DD/MM/YYYY', gDat),
                       (CDS.FieldByName('VL_LIQ').AsFloat - CDSDEV.FieldByName('VL_DEV').AsFloat));
         CDS.Next;
         CDSDEV.Next;
     end
     else begin
         sacp_Funv_ins(sCD_FunDev,
                       FormatDateTime('DD/MM/YYYY', gDat),
                       ((-1) * CDSDEV.FieldByName('VL_DEV').AsFloat));
         CDSDEV.Next;
     end;
     if cds.Eof then begin
       sCD_Fun := MAX_CD_FUN;
     end
     else begin
       sCD_Fun := CDS.FieldByName('CD_FUNC').AsString;
     end;
     if cdsdev.Eof then begin
       sCD_FunDev := MAX_CD_FUN;
     end
     else begin
       sCD_FunDev := CDSDEV.FieldByName('CD_FUNC').AsString;
     end;
   end;
   CDS.Close;
   CDSDEV.Close;
end;
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
tamaño de una transacion en firebird felixgo Firebird e Interbase 0 09-03-2005 13:29:27
Como si hubo un error en una transacion JODELSA Varios 1 09-12-2004 19:26:07
transacion electronica edi davidelkata Internet 0 12-07-2003 11:52:09


La franja horaria es GMT +2. Ahora son las 13:06:07.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi