Ver Mensaje Individual
  #7  
Antiguo 14-10-2008
marcoev marcoev is offline
Miembro
 
Registrado: may 2003
Ubicación: Nogales, Sonora, Mex.
Posts: 57
Reputación: 22
marcoev Va por buen camino
pues creo que me habia hecho bolas con lo que intentaba hacer, pero ya lo resolvi y creo que de buena forma.

en total hago 3 querys, el primer query marca los hijos del primer padre como saldados si estos ya no tienen "saldo" pendiente

el segundo query verifica si la factura tiene hijos pendientes de saldar, dependiendo del resultado salda o no la factura

y el tercero hace lo mismo que el anterior pero con las entradas y las facturas.

Este es el codigo que finalmente utilize para el proceso...

Código Delphi [-]
      //Registra las salidas y marca o desmarca como saldada...
      qAccion.Close;
      qAccion.SQL.Text:='Update FacturasDet Set Salidas = Salidas + '+
        FloatToStr(edCantidad.FloatValue-CantTmp)+', Saldada = IF(Salidas = CantRec, True, False)' +
        ' Where FolioDet = '+qSalidasDet.FieldByName('FolioDet').AsString;
      qAccion.Execute;

      //Marca o demarca como saldada la factura
      qAccion.Close;
      qAccion.SQL.Text:='Update Facturas Set Saldada = If((Select Count(Saldada) As Total From '+
        'FacturasDet Where Folio = '+FDFolio+' and Saldada = False)>0, False, True)';
      qAccion.Execute;

      //Marca o demarca como saldada la entrada
      qAccion.Close;
      qAccion.SQL.Text:='Update Entradas Set Saldada = If((Select Count(Saldada) As Total From '+
        'Facturas Where NoEntrada = '+QuotedStr(FDEntrada)+' and Saldada = False)>0, False, True)';
      qAccion.Execute;

de igual forma, muchas gracias por su apoyo.
__________________
saludos a todos y gracias por compartir sus conocimientos y experiencias... ;-)
Responder Con Cita