SeSe añade en el pago del recibo la columna remesa para guardar la remesa a la que estuvo asociado el recibo en un determinado momento, en el caso de quitar el recibo de la remesa manualmente no queda reflejado porque es como si se hubiera equivocado al hacer la remesa, solo queda reflejado en el caso de añadir un pago (en este caso devolución) para poderlo añadir atra remesa

git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES2/trunk@166 b2cfbe5a-eba1-4a0c-8b32-7feea0a119f2
This commit is contained in:
roberto 2012-07-30 15:15:52 +00:00
parent 82f10e77f4
commit a52a393fb7
5 changed files with 24 additions and 16 deletions

Binary file not shown.

View File

@ -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;

View File

@ -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;

View File

@ -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'

View File

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