Ver Mensaje Individual
  #4  
Antiguo 06-08-2014
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Reputación: 20
oscarac Va por buen camino
tienes razon
estoy haciendo esto

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var sqlstr :string;
  _anio, _mes, _libro, _voucher, _CuentaGasto, _t_Analis, _Documento, _Anexo :String;
  _Suma, _pagos ouble;
  excel:Variant;
  fila,columna:Integer;
  Data : TDataSet;
begin
qryData104.Open;
ProgressBar1.Min := 0;
ProgressBar1.Max := qryData104.RecordCount;
while not qryData104.eof do
  begin
    Application.ProcessMessages;
    _pagos := qryData104Importe.AsFloat;
    ProgressBar1.Position := ProgressBar1.Position + 1;
    _t_Analis := '';
    _Anexo := '';

    sqlstr := 'Select * from DetalleCuenta104 where ' +
              'uanio = ' + QuotedStr(qryData104uanio.AsString)  +
              ' and umes = ' + QuotedStr(qryData104umes.AsString)  +
              ' and ulibro = ' + QuotedStr(qryData104ulibro.AsString)  +
              ' and uvoucher = ' + QuotedStr(qryData104uvoucher.AsString)  +
              ' and left(Cuentagasto,2) = ' + QuotedStr( Izquierda (qryData104CuentaGasto.AsString,2)) +
              ' and haber <> 0' +
              ' Order by anio, mes, libro, voucher';
    qryTemporal.SQL.Clear;
    qryTemporal.SQL.Add(sqlstr);
    qryTemporal.Open;
    qryTemporal.First;
    _Anio := qryTemporalanio.AsString;
    _mes := qryTemporalmes.AsString;
    _libro := qryTemporalLibro.AsString;
    _voucher := qryTemporalVoucher.AsString;
    _suma := 0;
    while not qryTemporal.eof do
    begin
      if (_anio = qryTemporalanio.AsString) and
         (_mes = qryTemporalmes.AsString) and
         (_libro = qryTemporalLibro.AsString) and
         (_voucher = qryTemporalVoucher.AsString) then
      begin
        if qryTemporalHaber.AsFloat <> 0 then
        begin
          if Izquierda(qryTemporalCuentaGasto.AsString,2) =  Izquierda(qryData104CuentaGasto.AsString,2) then
          Begin
            _Suma := _Suma + qryTemporalHaber.AsFloat;
            _CuentaGasto := qryTemporalCuentaGasto.AsString;
            _Documento := qryTemporalDocumento.AsString;
          End;
        end;
      end;
      qryTemporal.Next;
    end;
    if (_pagos - _Suma <> 0)  then  // Pagos Solos o incompletos
    Begin
      cdsDiferentes.Append;
      cdsDiferentesCuenta10.Value := qryData104cuenta10.AsString;
      cdsDiferentesuanio.Value :=  qryData104uanio.AsString;
      cdsDiferentesumes.Value := qryData104umes.AsString;
      cdsDiferentesulibro.Value := qryData104ulibro.AsString;
      cdsDiferentesuvoucher.Value := qryData104uvoucher.AsString;
      cdsDiferentesPago.Value := qryData104Importe.AsFloat;
      cdsDiferentesGasto.Value := _Suma;
      cdsDiferentest_analis.Value := _t_Analis;
      cdsDiferentesCuentaGasto.Value := _CuentaGasto;
      cdsDiferentesDocumento.Value := _Documento;
      cdsDiferentesAnexo.Value := _Anexo;
      cdsDiferentes.Post;
    End;
    qryData104.Next;
  end;

lo que esta resaltado
la idea es buscar en una tabla unos vouchers contables y verificar si la suma del haber cuadra con lo que esta en el queryData104
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita