Ver Mensaje Individual
  #1  
Antiguo 15-03-2008
smessina smessina is offline
Miembro
 
Registrado: ene 2006
Posts: 51
Reputación: 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