Ver Mensaje Individual
  #13  
Antiguo 26-04-2010
Avatar de sierraja
sierraja sierraja is offline
Miembro
 
Registrado: sep 2004
Posts: 281
Reputación: 22
sierraja Va por buen camino
buen dia,

El procedimiento como tal no lo estoy ejecutando desde delphi, lo hago desde ibexpert, esto lo hacia para ir filtrando posibles conflictos. Ahora bien, las sugerencias de cloayza, quedan descartadas ya que estoy incluyendo en los parametros, exactamente los campos almacenados en cuanto a las tarifas y tipo de factura. Despues de todo esto he adicionado una rutina en el momento de facturar de manera que pueda arreglar cada suscriptor, aparentemente en el grid despues de realizar la rutina, aparecen los datos correctos, pero luego de cerrar el programa y volver a entrar no aparecen, con esto da la impresion que fuera cuestion del componente transaction, aqui dejo el codigo:

========================================

Código SQL [-]
dm.ibds_facturar.DisableControls;
          dm.ibds_facturar.First;
          while not dm.ibds_facturar.Eof do
          begin
            DecodeDate(StrToDaTE(VarToStr(dm.ibds_facturar.FieldValues['fecha'])),x__year,x__month,x__day);
            if ((StrToInt(VarToStr(x__month))>=4) and (StrToInt(VarToStr(x__year))>=2009)) or ((StrToInt(VarToStr(x__month))<=2) and (StrToInt(VarToStr(x__year))>=2010)) then
            Begin
              if (dm.ibds_facturar.FieldValues['tipo_tarifa']='Residencial')then
              Begin
                dm.ibds_facturar.Edit;
                if VarToStr(dm.ibds_facturar.FieldValues['cloaca'])<>'' then dm.ibds_facturar.FieldByName('base_imponible').AsFloat:=StrToFloat(VarToStr(dm.ibds_facturar.FieldVa  lues['cloaca']));
                if VarToStr(dm.ibds_facturar.FieldValues['consumo_agua'])<>'' then dm.ibds_facturar.FieldByName('excento').AsFloat:=StrToFloat(VarToStr(dm.ibds_facturar.FieldValues['consumo_agua']));
                dm.ibds_facturar.Post;
              end;
              if (dm.ibds_facturar.FieldValues['tipo_tarifa']='Especial')then
              Begin
                dm.ibds_facturar.Edit;
                if VarToStr(dm.ibds_facturar.FieldValues['cloaca'])<>'' then dm.ibds_facturar.FieldByName('base_imponible').AsFloat:=StrToFloat(VarToStr(dm.ibds_facturar.FieldVa  lues['cloaca']));
                if VarToStr(dm.ibds_facturar.FieldValues['consumo_agua'])<>'' then dm.ibds_facturar.FieldByName('excento').AsFloat:=StrToFloat(VarToStr(dm.ibds_facturar.FieldValues['consumo_agua']));
                dm.ibds_facturar.Post;
              end;
            end;
            dm.ibds_facturar.Next;
          end;
          dm.ibds_facturar.Close;
          dm.IBTransaction1.CommitRetaining;
          dm.ibds_facturar.Open;
          dm.ibds_facturar.Last;
          dm.ibds_facturar.EnableControls;
===========================================




Nuevamente les agradezco su valioso tiempo...
Responder Con Cita