diff --git a/Build/Build.fbl6 b/Build/Build.fbl6 index bd1bd96..bb1702f 100644 Binary files a/Build/Build.fbl6 and b/Build/Build.fbl6 differ diff --git a/Source/Modulos/Recibos de proveedor/Controller/uPagosProveedorController.pas b/Source/Modulos/Recibos de proveedor/Controller/uPagosProveedorController.pas index 8dab8bc..d40341c 100644 --- a/Source/Modulos/Recibos de proveedor/Controller/uPagosProveedorController.pas +++ b/Source/Modulos/Recibos de proveedor/Controller/uPagosProveedorController.pas @@ -32,8 +32,8 @@ uses type IPagosProveedorController = interface(ISujeto) ['{4F907D80-B184-4557-BAB7-9FDA23260E64}'] - function Anadir(APagosProveedor: IBizPagosProveedor; Const Fecha: String = ''): Boolean; - procedure Modificar(APagosProveedor: IBizPagosProveedor; Const Fecha: String); + function Anadir(APagosProveedor: IBizPagosProveedor; Const Fecha: String = ''; Const Remesa: String = ''): Boolean; + procedure Modificar(APagosProveedor: IBizPagosProveedor; Const Fecha: String; Const Remesa: String = ''); function Eliminar(APagoCliente : IBizPagosProveedor): Boolean; function EliminarTodo(APagossCliente : IBizPagosProveedor): Boolean; end; @@ -46,8 +46,8 @@ type public constructor Create; override; destructor Destroy; override; - function Anadir(APagosProveedor: IBizPagosProveedor; Const Fecha: String = ''): Boolean; - procedure Modificar(APagosProveedor: IBizPagosProveedor; Const Fecha: String); + function Anadir(APagosProveedor: IBizPagosProveedor; Const Fecha: String = ''; Const Remesa: String = ''): Boolean; + procedure Modificar(APagosProveedor: IBizPagosProveedor; Const Fecha: String; Const Remesa: String = ''); function Eliminar(APagoCliente : IBizPagosProveedor): Boolean; function EliminarTodo(APagosProveedor : IBizPagosProveedor): Boolean; end; @@ -62,7 +62,7 @@ uses { TPagosProveedorController } -function TPagosProveedorController.Anadir(APagosProveedor: IBizPagosProveedor; Const Fecha: String = ''): Boolean; +function TPagosProveedorController.Anadir(APagosProveedor: IBizPagosProveedor; Const Fecha: String = ''; Const Remesa: String = ''): Boolean; { Si el pago introducido es un pago y no una devolución devolvemos true en caso de ser una devolución devolvemos false} begin @@ -72,6 +72,9 @@ begin else APagosProveedor.FECHA_PAGO := StrToDate(Fecha); + if Length(Remesa) <> 0 then + APagosProveedor.TITULAR := Remesa; + if (APagosProveedor.DataTable.RecordCount = 0) or ((APagosProveedor.DataTable.RecordCount mod 2) = 0) then APagosProveedor.TIPO := CTE_PAGO @@ -133,10 +136,14 @@ begin end; end; -procedure TPagosProveedorController.Modificar(APagosProveedor: IBizPagosProveedor; const Fecha: String); +procedure TPagosProveedorController.Modificar(APagosProveedor: IBizPagosProveedor; const Fecha: String; Const Remesa: String = ''); begin APagosProveedor.DataTable.Edit; APagosProveedor.FECHA_PAGO := StrToDate(Fecha); + + if Length(Remesa) <> 0 then + APagosProveedor.TITULAR := Remesa; + APagosProveedor.DataTable.Post; end; diff --git a/Source/Modulos/Recibos de proveedor/Controller/uRecibosProveedorController.pas b/Source/Modulos/Recibos de proveedor/Controller/uRecibosProveedorController.pas index 2784938..ad89fc3 100644 --- a/Source/Modulos/Recibos de proveedor/Controller/uRecibosProveedorController.pas +++ b/Source/Modulos/Recibos de proveedor/Controller/uRecibosProveedorController.pas @@ -39,7 +39,7 @@ type property PagosController: IPagosProveedorController read GetPagosController write SetPagosController; procedure Anadir(ARecibosProveedor : IBizRecibosProveedor); - function AnadirPago(ARecibosProveedor : IBizRecibosProveedor; FechaPago: String =''): Boolean; + function AnadirPago(ARecibosProveedor : IBizRecibosProveedor; FechaPago: String =''; Remesa: String=''): Boolean; procedure ModificarPago(ARecibosProveedor : IBizRecibosProveedor); function Eliminar(ARecibosProveedor : IBizRecibosProveedor): Boolean; function EliminarPago(ARecibosProveedor : IBizRecibosProveedor): Boolean; @@ -65,7 +65,7 @@ type procedure Ver(ARecibosProveedor: IBizRecibosProveedor); function ExtraerSeleccionados(ARecibosProveedor: IBizRecibosProveedor) : IBizRecibosProveedor; - procedure AsignarRemesa(ARecibos : IBizRecibosProveedor; ID_REMESA: Integer); + procedure AsignarRemesa(ARecibos : IBizRecibosProveedor; ID_REMESA: Integer; Referencia: String); procedure QuitarRemesa(ARecibos : IBizRecibosProveedor); procedure SetSituacionCobrados(ARecibos : IBizRecibosProveedor; WithDeltas: Boolean=False); function ElegirRecibos(ARecibos : IBizRecibosProveedor; AMensaje: String; AMultiSelect: Boolean): IBizRecibosProveedor; @@ -108,7 +108,7 @@ type procedure RecuperarCliente(AReciboProveedor : IBizRecibosProveedor); procedure Anadir(ARecibosProveedor : IBizRecibosProveedor); - function AnadirPago(ARecibosProveedor : IBizRecibosProveedor; FechaPago: String =''): Boolean; + function AnadirPago(ARecibosProveedor : IBizRecibosProveedor; FechaPago: String =''; Remesa: String=''): Boolean; procedure ModificarPago(ARecibosProveedor : IBizRecibosProveedor); function Eliminar(ARecibosProveedor : IBizRecibosProveedor): Boolean; function EliminarPago(ARecibosProveedor : IBizRecibosProveedor): Boolean; @@ -136,7 +136,7 @@ type function ElegirRecibos(ARecibos : IBizRecibosProveedor; AMensaje: String; AMultiSelect: Boolean): IBizRecibosProveedor; function ElegirRecibosCompensados(ARecibo : IBizRecibosProveedor): Boolean; - procedure AsignarRemesa(ARecibos : IBizRecibosProveedor; ID_REMESA: Integer); + procedure AsignarRemesa(ARecibos : IBizRecibosProveedor; ID_REMESA: Integer; Referencia: String); procedure QuitarRemesa(ARecibos : IBizRecibosProveedor); procedure QuitarReciboCompensado(ARecibo : IBizRecibosProveedor); @@ -166,7 +166,7 @@ begin ARecibosProveedor.Insert; end; -function TRecibosProveedorController.AnadirPago(ARecibosProveedor: IBizRecibosProveedor; FechaPago: String =''): Boolean; +function TRecibosProveedorController.AnadirPago(ARecibosProveedor: IBizRecibosProveedor; FechaPago: String =''; Remesa: String=''): Boolean; var AEditor : IEditorFechaPagoProveedor; begin @@ -191,7 +191,7 @@ begin Exit; //Finalmente añadimos el pago (pago o devolucion) - if PagosController.Anadir(ARecibosProveedor.Pagos, FechaPago) then + if PagosController.Anadir(ARecibosProveedor.Pagos, FechaPago, Remesa) then begin ARecibosProveedor.Edit; ARecibosProveedor.SITUACION := CTE_PAGADO; @@ -211,7 +211,7 @@ begin FDataModule := TDataModuleRecibosProveedor.Create(Nil); end; -procedure TRecibosProveedorController.AsignarRemesa(ARecibos: IBizRecibosProveedor; ID_REMESA: Integer); +procedure TRecibosProveedorController.AsignarRemesa(ARecibos: IBizRecibosProveedor; ID_REMESA: Integer; Referencia: String); begin if Assigned(ARecibos) then begin @@ -225,7 +225,7 @@ begin ARecibos.Edit; //Añadimos el cobro automatico por la remesa y volvemos a asignar ID //para que asigne un ID nuevo para el pago, porque aqui si hay maestro-detalle - AnadirPago(ARecibos, DateToStr(Date)); //->Ojo el orden es importante + AnadirPago(ARecibos, DateToStr(Date), Referencia); //->Ojo el orden es importante ARecibos.ID_REMESA := ID_REMESA; end; Next; diff --git a/Source/Modulos/Recibos de proveedor/Views/uViewPagosProveedor.dfm b/Source/Modulos/Recibos de proveedor/Views/uViewPagosProveedor.dfm index 359cb9b..b0d9147 100644 --- a/Source/Modulos/Recibos de proveedor/Views/uViewPagosProveedor.dfm +++ b/Source/Modulos/Recibos de proveedor/Views/uViewPagosProveedor.dfm @@ -15,6 +15,7 @@ inherited frViewPagosProveedor: TfrViewPagosProveedor Align = alClient ParentBackground = True TabOrder = 0 + TabStop = False AutoContentSizes = [acsWidth, acsHeight] LookAndFeel = dxLayoutOfficeLookAndFeel1 object ListaPagosProveedor: TcxGrid @@ -84,8 +85,8 @@ inherited frViewPagosProveedor: TfrViewPagosProveedor Width = 100 end object ListaPagosProveedorDBTableView1TITULAR: TcxGridDBColumn + Caption = 'Remesa' DataBinding.FieldName = 'TITULAR' - Visible = False end object ListaPagosProveedorDBTableView1ENTIDAD: TcxGridDBColumn DataBinding.FieldName = 'ENTIDAD' diff --git a/Source/Modulos/Remesas de proveedor/Controller/uRemesasProveedorController.pas b/Source/Modulos/Remesas de proveedor/Controller/uRemesasProveedorController.pas index 763e672..c5a7a38 100644 --- a/Source/Modulos/Remesas de proveedor/Controller/uRemesasProveedorController.pas +++ b/Source/Modulos/Remesas de proveedor/Controller/uRemesasProveedorController.pas @@ -557,7 +557,7 @@ begin //Si todo ha ido bien, asignamos la remesa a los recibos asociados //Como no están declarados como maestro-detalles debemos hacer el applyupdates nosotros - RecibosProveedorController.AsignarRemesa(ARemesaProveedor.Recibos, ARemesaProveedor.ID); + RecibosProveedorController.AsignarRemesa(ARemesaProveedor.Recibos, ARemesaProveedor.ID, ARemesaProveedor.REFERENCIA); ARemesaProveedor.Recibos.DataTable.ApplyUpdates; //En este applyupdates tambien se realizarán todos los cambios acumulados sobre los recibos asociados (EliminarReciboProveedor/ ElegirRecibosProveedor) //Es necesario ya que no se refrescan bien los deltas y despues del applyupdates siguen