Cambios varios git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@1169 0c75b7a4-871f-7646-8a2f-f78d34cc349f
219 lines
6.6 KiB
ObjectPascal
219 lines
6.6 KiB
ObjectPascal
{
|
|
===============================================================================
|
|
Copyright (©) 2006. Rodax Software.
|
|
===============================================================================
|
|
Los contenidos de este fichero son propiedad de Rodax Software titular del
|
|
copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado,
|
|
en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
|
|
acuerdo con los términos y condiciones establecidas en el acuerdo/contrato
|
|
bajo el que se suministra.
|
|
-----------------------------------------------------------------------------
|
|
Web: www.rodax-software.com
|
|
===============================================================================
|
|
Fecha primera versión: 22-05-2006
|
|
Versión actual: 1.0.0
|
|
Fecha versión actual: 22-05-2006
|
|
===============================================================================
|
|
Modificaciones:
|
|
|
|
Fecha Comentarios
|
|
---------------------------------------------------------------------------
|
|
===============================================================================
|
|
}
|
|
|
|
unit uEditorFormaPago;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
Grids, DBGrids, StdCtrls, Mask, DBCtrls, DB,
|
|
uBizFormasPago, uBizFormasPagoPlazos,
|
|
uFormasPagoController, uFormasPagoPlazosController,
|
|
uDADataTable, uIEditorFormaPago, ActnList, ExtCtrls, JvExControls,
|
|
JvComponent, JvEnterTab, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
|
cxDataStorage, cxEdit, cxDBData, cxSpinEdit, cxGridCustomTableView,
|
|
cxGridTableView, cxGridDBTableView, cxGridLevel, cxClasses, cxControls,
|
|
cxGridCustomView, cxGrid, uDAInterfaces;
|
|
|
|
type
|
|
TfEditorFormaPago = class(TForm, IEditorFormaPago)
|
|
ActionList1: TActionList;
|
|
dsFormaPago: TDADataSource;
|
|
actAnadir: TAction;
|
|
actEliminar: TAction;
|
|
actAceptar: TAction;
|
|
actCancelar: TAction;
|
|
bAceptar: TButton;
|
|
bCancelar: TButton;
|
|
actCerrar: TAction;
|
|
actModificar: TAction;
|
|
eReferencia: TDBEdit;
|
|
eDescripcion: TDBEdit;
|
|
dsPlazos: TDADataSource;
|
|
Label1: TLabel;
|
|
Bevel1: TBevel;
|
|
Label2: TLabel;
|
|
Label3: TLabel;
|
|
Label11: TLabel;
|
|
Bevel3: TBevel;
|
|
Bevel4: TBevel;
|
|
bAnadir: TButton;
|
|
bEliminar: TButton;
|
|
JvEnterAsTab1: TJvEnterAsTab;
|
|
ListaFormasPagoDBTableView1: TcxGridDBTableView;
|
|
ListaFormasPagoLevel1: TcxGridLevel;
|
|
ListaFormasPago: TcxGrid;
|
|
ListaFormasPagoDBTableView1NUM_DIAS: TcxGridDBColumn;
|
|
ListaFormasPagoDBTableView1PORCENTAJE: TcxGridDBColumn;
|
|
procedure FormShow(Sender: TObject);
|
|
|
|
procedure actAnadirExecute(Sender: TObject);
|
|
procedure actEliminarExecute(Sender: TObject);
|
|
procedure actAceptarExecute(Sender: TObject);
|
|
procedure actCancelarExecute(Sender: TObject);
|
|
procedure actCerrarExecute(Sender: TObject);
|
|
procedure actAnadirUpdate(Sender: TObject);
|
|
procedure actEliminarUpdate(Sender: TObject);
|
|
protected
|
|
FFormaPago: IBizFormaPago;
|
|
FPlazos : IBizFormaPagoPlazos;
|
|
FController : IFormasPagoController;
|
|
FPlazosController: IFormasPagoPlazosController;
|
|
function GetFormaPago: IBizFormaPago;
|
|
procedure SetFormaPago(const Value: IBizFormaPago);
|
|
public
|
|
constructor Create(AOwner: TComponent); override;
|
|
destructor Destroy; override;
|
|
property FormaPago: IBizFormaPago read GetFormaPago write SetFormaPago;
|
|
end;
|
|
|
|
|
|
implementation
|
|
{$R *.dfm}
|
|
|
|
{ TfEditorFormasPago }
|
|
|
|
uses
|
|
Dialogs, uDialogUtils, uDataModuleFormasPago;
|
|
|
|
function TfEditorFormaPago.GetFormaPago: IBizFormaPago;
|
|
begin
|
|
Result := FFormaPago;
|
|
end;
|
|
|
|
procedure TfEditorFormaPago.SetFormaPago(const Value: IBizFormaPago);
|
|
begin
|
|
FFormaPago := Value;
|
|
if Assigned(FFormaPago) then
|
|
begin
|
|
FPlazos := FFormaPago.Plazos;
|
|
dsFormaPago.DataTable := FFormaPago.DataTable;
|
|
dsPlazos.DataTable := FPlazos.DataTable;
|
|
dsFormaPago.DataTable.Open;
|
|
dsPlazos.DataTable.Open;
|
|
end
|
|
else begin
|
|
dsFormaPago.DataTable := NIL;
|
|
dsPlazos.DataTable := NIL;
|
|
end;
|
|
end;
|
|
|
|
procedure TfEditorFormaPago.actAnadirExecute(Sender: TObject);
|
|
begin
|
|
if Assigned(FFormaPago) and (FFormaPago.State = dsInsert) then
|
|
FController.Guardar(FFormaPago);
|
|
|
|
FPlazos.Append;
|
|
end;
|
|
|
|
procedure TfEditorFormaPago.actEliminarExecute(Sender: TObject);
|
|
begin
|
|
FPlazos.Delete;
|
|
end;
|
|
|
|
procedure TfEditorFormaPago.actEliminarUpdate(Sender: TObject);
|
|
begin
|
|
(Sender as TAction).Enabled := False;
|
|
|
|
// No operar con los plazos
|
|
{(Sender as TAction).Enabled := Assigned(FPlazos) and
|
|
FPlazos.DataTable.Active and
|
|
(FPlazos.DataTable.RecordCount > 0);}
|
|
end;
|
|
|
|
constructor TfEditorFormaPago.Create(AOwner: TComponent);
|
|
begin
|
|
inherited;
|
|
FController := TFormasPagoController.Create;
|
|
FPlazosController := TFormasPagoPlazosController.Create;
|
|
end;
|
|
|
|
destructor TfEditorFormaPago.Destroy;
|
|
begin
|
|
FFormaPago := NIL;
|
|
FPlazosController := NIL;
|
|
FController := NIL;
|
|
inherited;
|
|
end;
|
|
|
|
procedure TfEditorFormaPago.actAceptarExecute(Sender: TObject);
|
|
begin
|
|
{if (ListaFormasPago.ActiveView.DataController.RecordCount = 0) then
|
|
if (ShowConfirmMessage('Forma de pago sin plazos', 'No ha indicado plazos de pago para esta forma de pago por lo tanto no se podrán generarar los recibos correspondientes.' + #10#13 + '¿Desea continuar guardando la forma de pago?') = IDNO) then
|
|
Exit;}
|
|
|
|
if (FPlazos.RecordCount > 0) then
|
|
begin
|
|
FPlazos.Last;
|
|
while FPlazos.RecordCount > 0 do
|
|
begin
|
|
FPlazos.Delete;
|
|
end;
|
|
end;
|
|
|
|
if FController.Guardar(FFormaPago) then
|
|
actCerrar.Execute;
|
|
end;
|
|
|
|
procedure TfEditorFormaPago.actCancelarExecute(Sender: TObject);
|
|
begin
|
|
FController.DescartarCambios(FFormaPago);
|
|
actCerrar.Execute;
|
|
end;
|
|
|
|
procedure TfEditorFormaPago.actCerrarExecute(Sender: TObject);
|
|
begin
|
|
Close;
|
|
end;
|
|
|
|
procedure TfEditorFormaPago.actAnadirUpdate(Sender: TObject);
|
|
begin
|
|
(Sender as TAction).Enabled := Assigned(FPlazos) and
|
|
FPlazos.DataTable.Active;
|
|
end;
|
|
|
|
procedure TfEditorFormaPago.FormShow(Sender: TObject);
|
|
begin
|
|
// Ocultar los plazos
|
|
Label11.Visible := False;
|
|
Bevel3.Visible := False;
|
|
ListaFormasPago.Visible := False;
|
|
|
|
bAnadir.Visible := False;
|
|
bEliminar.Visible := False;
|
|
|
|
actAnadir.Enabled := False;
|
|
actEliminar.Enabled := False;
|
|
|
|
if not FFormaPago.DataTable.Active then
|
|
FFormaPago.DataTable.Active := True;
|
|
|
|
if FFormaPago.EsNuevo then
|
|
Self.Caption := 'Nueva forma de pago'
|
|
else
|
|
Self.Caption := 'Modificar forma de pago';
|
|
end;
|
|
|
|
end.
|