diff --git a/Source/Modulos/Articulos/Controller/uControllerDetallesArticulos.pas b/Source/Modulos/Articulos/Controller/uControllerDetallesArticulos.pas index c437830d..23eb4e57 100644 --- a/Source/Modulos/Articulos/Controller/uControllerDetallesArticulos.pas +++ b/Source/Modulos/Articulos/Controller/uControllerDetallesArticulos.pas @@ -14,7 +14,7 @@ type IControllerDetallesArticulos = interface(IControllerDetallesBase) ['{6E156796-DB1F-4727-BBFB-FBAEF2E5C098}'] - procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable); + procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; const ANuevaFila :Boolean = True); function AnadirArticulo(ADetalles: IDAStronglyTypedDataTable; Referencia: String; TipoReferencia: TEnumReferencia; AClienteID: Integer = -1): Boolean; overload; function AnadirArticulo(ADetalles: IDAStronglyTypedDataTable; IDArticulo: Integer; AClienteID: Integer = -1): Boolean; overload; procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo); @@ -39,7 +39,7 @@ type public function AnadirArticulo(ADetalles: IDAStronglyTypedDataTable; Referencia: String; TipoReferencia: TEnumReferencia; AClienteID: Integer = -1): Boolean; overload; function AnadirArticulo(ADetalles: IDAStronglyTypedDataTable; IDArticulo: Integer; AClienteID: Integer = -1): Boolean; overload; - procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable); virtual; + procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; const ANuevaFila :Boolean = True); virtual; procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo); procedure CambiarSignoDetalles(ADetalles: IDAStronglyTypedDataTable); procedure AnadirConceptoInicial(ADetalles: IDAStronglyTypedDataTable; AConcepto: String); @@ -70,7 +70,7 @@ begin ADetalles.DataTable.First; with ADetalles.DataTable do begin - while not Eof do + while not EOF do begin Edit; AArticulos.DataTable.First; @@ -155,7 +155,8 @@ begin end; end; -procedure TControllerDetallesArticulos.AnadirArticulos(ADetalles: IDAStronglyTypedDataTable); +procedure TControllerDetallesArticulos.AnadirArticulos( + ADetalles: IDAStronglyTypedDataTable; const ANuevaFila: Boolean); var AArticulos: IBizArticulo; begin @@ -164,7 +165,10 @@ begin try AArticulos := (FArticulosController.BuscarTodos as IBizArticulo); AArticulos := FArticulosController.ElegirArticulos(AArticulos, 'Elija los artículos que desea añadir', True); - Add(ADetalles, AArticulos); + if ANuevaFila then + Add(ADetalles, AArticulos) + else + RellenarDetalle(ADetalles, AArticulos); finally AArticulos := Nil; end;