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...