Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-03-2008
smessina smessina is offline
Miembro
 
Registrado: ene 2006
Posts: 51
Poder: 19
smessina Va por buen camino
Extraño comportamiento de delphi 7

Como estan? el tema es el siguiente:
trabajo con Delphi 7 - Mysql 5.0 mediane Zeos - Campos Calculados

debo exportar a Excel el detalle del libro iva Ventas, la Exportacion la Hago de la siguiente manera :
Código Delphi [-]
procedure Tflibrosiva.btnexportarventasClick(Sender: TObject);
var excel,libro:variant; sino:string;
x,y:integer;
fila:integer;
saldo:currency;
fecha1,fecha2:string;
begin   //stock actual
     Excel := CreateOleObject('Excel.Application');

    //Añade un Libro
    Excel.WorkBooks.add;

    //Pone Visible La Ventana
    Excel.visible:=True;
    Libro := Excel.WorkBooks[1].WorkSheets['Hoja1'];
    //Pongo Titulos
    excel.range['a1:g1'].Merge;
    excel.range['a1']:='  IVA VENTAS del período '+ inttostr(calventas.Month)+'/'+inttostr(calventas.Year)    +' al  '+ datetostr(date)+' a hs. '+ timetostr(time);
    Excel.Range['A1'].Font.Name := 'Verdana';
    Excel.Range['A1'].Font.FontStyle := 'Bold';
    excel.range['a1'].font.Color := clgreen;




    Excel.Range['a3:m3'].Font.Name := 'Verdana';
    Excel.Range['a3:m3'].Font.FontStyle := 'Bold';
    excel.range['a3:m3'].font.Color := clgreen;
    excel.Range['A3','m3'].Value:=VarArrayOf(['Fecha','Tipo', 'Número','Razón Social','CUIT', 'Imp. Neto Grab.', '% IVA','Imp. IVA Fact.', 'Imp. Resp.No Insc.', 'Concep. No Grab.','Exentas','Pagos a Cta', 'Total Facturado']);
    fila:=4;  
  // excel.range['g:h'].NumberFormat := '$#.##0,00';
     qventas.First; 
     while qventas.eof=false   do  
   begin        excel.Range['A'+inttostr(fila+3),'m'+inttostr(fila+3)].Value:=VarArrayOf([qventas.FieldByName('fecha').value,qventas.FieldByName('tipolibroiva').value, qventas.FieldByName('Numero').value, qventas.FieldByName('apynombre').value,qventas.FieldByName('CUIT').value, qventas.FieldByName('Calc_netograbado').value,qventas.FieldByName('pocimpuesto').value,qventas.Field  ByName('calc_ivafact').value, qventas.FieldByName('noinscripto').value, qventas.FieldByName('ConcepNoGrab').value,qventas.FieldByName('exenta').value, qventas.FieldByName('pagoacuenta').value, qventas.FieldByName('calc_total').value ]);


     fila:=fila+1;
     qventas.Next;
    end;
  qventas.EnableControls;
  excel.Range['a3'].Select;
  excel.Selection.AutoFilter;
  excel.range['a:z'].Columns.AutoFit;

el error lo tengo en los valores que asume la variable fila, los cuales son absurdos ya que toma primero un valor de 256 todas las veces que se ejecuta dentro del while aunque a veces toma un numero 32 mil y algo, al query lo tengo asociado a dbgrid de los componentes suipack
y en el evento de qventas oncalcfields que es un query de zeos :

Código Delphi [-]
procedure Tflibrosiva.qventasCalcFields(DataSet: TDataSet);
var cadena:string;
begin cadena:=StringOfChar('0', 4-Length(qventas.fieldbyname('puntoventa').asstring))+qventas.fieldbyname('puntoventa').asstring;
cadena:=cadena +'-'+ stringofchar('0',8-Length(qventas.fieldbyname('NumComprobante').asstring))+qventas.fieldbyname('NumComprobante').asstri  ng;
qventas.FieldByName('noinscripto').value:=0;
qventas.FieldByName('numero').value:=cadena;
if (qventas.Fieldbyname('idcomprobante').value=9) or (qventas.FieldByName('idcomprobante').value=11) then begin   qventas.FieldByName('calc_netograbado').Value:= qventas.fieldbyname('trenglon').Value*-1;
  qventas.FieldByName('calc_ivafact').Value:=qventas.fieldbyname('trengloiva').Value*-1;
  qventas.FieldByName('calc_total').value:= (qventas.fieldbyname('trenglon').Value*-1)+(qventas.fieldbyname('trengloiva').Value*-1);
  end else begin       qventas.FieldByName('calc_netograbado').Value:= qventas.fieldbyname('trenglon').Value;
      qventas.FieldByName('calc_ivafact').Value:=qventas.fieldbyname('trengloiva').Value;
      qventas.FieldByName('calc_total').value:= (qventas.fieldbyname('trenglon').Value)+(qventas.fieldbyname('trengloiva').Value);
      end;

end;
yo culpo a los campos calculados puede que no sea ahi el problema pero delphi se comporta de una manera extraña, ya rebice varias veces el codigo y no encuentro ningun error.

alguna idea?

gracias de Antemano.

Última edición por smessina fecha: 15-03-2008 a las 21:01:31. Razón: no aparecen bin tabulados
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
Comportamiento extraño en StringList MaMu Varios 7 19-06-2007 19:07:07
Un comportamiento extraño en delphi... uper Varios 1 07-08-2004 00:44:14
Comportamiento extraño de Delphi walrus Varios 3 05-08-2004 10:04:32
Comportamiento extraño dataModule brandolin OOP 9 08-07-2004 14:25:47
Comportamiento extraño de cds con dbExpress mosorio Varios 0 01-09-2003 17:11:38


La franja horaria es GMT +2. Ahora son las 16:04:39.


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