FactuGES2/Source/Modulos/Remesas de proveedor/Views/uViewRecibosRemesaProveedor.pas
roberto c7d80d66b7 Se arregla el editorgridbase para que su getmodified siempre devuelva false y asi no salga la pregunta desea guardar los cambios.
Tambien se modifica viewfiltrobase para que herede de viewbase en lugar de tframe.
Se arreglan las remesas de cliente y proveedor para que la lista de recibos a añadir en la remesa no aparezcan los que ya estén añadidos (ya que todo esta en memosria y hasta que no se guarde no pasa a bd y no se sabe que tiene o no tiene la remesa)

git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES2/trunk@426 f4e31baf-9722-1c47-927c-6f952f962d4b
2009-07-09 09:23:03 +00:00

147 lines
4.4 KiB
ObjectPascal

unit uViewRecibosRemesaProveedor;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewDetallesGenerico, cxStyles, cxCustomData, cxGraphics, cxFilter,
cxData, cxDataStorage, cxEdit, DB, cxDBData, ActnList, ImgList, PngImageList,
uDADataTable, ComCtrls, ToolWin, cxGridLevel, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView,
cxGrid, cxImageComboBox, cxCurrencyEdit,
uBizRemesasProveedor, uRemesasProveedorController, uDAInterfaces;
type
IViewRecibosRemesaProveedor = interface
['{033DF6AF-C694-4C15-A48E-C7BA42DFF9FE}']
function GetRemesaProveedor: IBizRemesaProveedor;
procedure SetRemesaProveedor(const Value: IBizRemesaProveedor);
property RemesaProveedor: IBizRemesaProveedor read GetRemesaProveedor write SetRemesaProveedor;
function GetController : IRemesasProveedorController;
procedure SetController (const Value : IRemesasProveedorController);
property Controller : IRemesasProveedorController read GetController write SetController;
end;
TfrViewRecibosRemesaProveedor = class(TfrViewDetallesGenerico, IViewRecibosRemesaProveedor)
cxGridViewIMPORTE: TcxGridDBColumn;
cxGridViewOTROS_GASTOS: TcxGridDBColumn;
cxGridViewIMPORTE_TOTAL: TcxGridDBColumn;
procedure CustomViewShow(Sender: TObject);
protected
FHayCambios : Boolean;
FRemesa : IBizRemesaProveedor;
FController : IRemesasProveedorController;
FListaRecibosIniciales: TStringList;
procedure AnadirInterno; override;
procedure EliminarInterno; override;
function GetRemesaProveedor: IBizRemesaProveedor;
procedure SetRemesaProveedor(const Value: IBizRemesaProveedor);
function GetModified: Boolean; override;
procedure SetModified(const Value: Boolean); override;
function GetController : IRemesasProveedorController;
procedure SetController (const Value : IRemesasProveedorController);
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
property RemesaProveedor: IBizRemesaProveedor read GetRemesaProveedor write SetRemesaProveedor;
property Controller : IRemesasProveedorController read GetController write SetController;
end;
implementation
{$R *.dfm}
uses
uBizRecibosProveedor, uCustomView;
{ TfrViewRecibosRemesaProveedor }
procedure TfrViewRecibosRemesaProveedor.AnadirInterno;
begin
//inherited; // No hacer el comportamiento normal
if FController.ElegirRecibosProveedor(RemesaProveedor, FListaRecibosIniciales) then
begin
Modified := True;
end;
end;
constructor TfrViewRecibosRemesaProveedor.Create(AOwner: TComponent);
begin
inherited;
FHayCambios := False;
FListaRecibosIniciales := TStringList.Create;
end;
procedure TfrViewRecibosRemesaProveedor.CustomViewShow(Sender: TObject);
begin
inherited;
FRemesa.Recibos.DataTable.First;
while not FRemesa.Recibos.DataTable.eof do
begin
FListaRecibosIniciales.Add(IntToStr(FRemesa.Recibos.ID));
FRemesa.Recibos.DataTable.next;
end;
FRemesa.Recibos.DataTable.First;
end;
destructor TfrViewRecibosRemesaProveedor.Destroy;
begin
FListaRecibosIniciales.Free;
inherited;
end;
procedure TfrViewRecibosRemesaProveedor.EliminarInterno;
begin
//inherited; // No hacer el comportamiento normal
FController.EliminarReciboProveedor(RemesaProveedor);
Modified := True;
end;
function TfrViewRecibosRemesaProveedor.GetController: IRemesasProveedorController;
begin
Result := FController;
end;
function TfrViewRecibosRemesaProveedor.GetModified: Boolean;
begin
Result := FHayCambios or inherited GetModified;
end;
function TfrViewRecibosRemesaProveedor.GetRemesaProveedor: IBizRemesaProveedor;
begin
Result := FRemesa;
end;
procedure TfrViewRecibosRemesaProveedor.SetController(
const Value: IRemesasProveedorController);
begin
FController := Value;
end;
procedure TfrViewRecibosRemesaProveedor.SetModified(const Value: Boolean);
begin
FHayCambios := Value;
inherited;
end;
procedure TfrViewRecibosRemesaProveedor.SetRemesaProveedor(
const Value: IBizRemesaProveedor);
begin
FRemesa := Value;
FHayCambios := False;
if Assigned(FRemesa) then
dsDetalles.DataTable := FRemesa.Recibos.DataTable
else
dsDetalles.DataTable := NIL;
end;
end.