git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES2/trunk@60 b2cfbe5a-eba1-4a0c-8b32-7feea0a119f2
108 lines
3.0 KiB
ObjectPascal
108 lines
3.0 KiB
ObjectPascal
unit uBizComisiones;
|
||
|
||
interface
|
||
|
||
uses
|
||
Classes, uDAInterfaces, uDADataTable, schComisionesClient_Intf, uDBSelectionListUtils;
|
||
|
||
const
|
||
BIZ_CLIENT_COMISIONES = 'Client.Comisiones';
|
||
BIZ_CLIENT_FACTURAS_COMISION = 'Client.FacturasComisiones';
|
||
|
||
type
|
||
IBizFacturasComision = interface(IFacturas_Comision)
|
||
['{24716F2C-91DE-4596-87F8-59A9DAFB6981}']
|
||
end;
|
||
|
||
IBizComisiones = interface(IComisiones)
|
||
['{70922B7D-B0DE-4D5B-87B2-ADCE4DA41C22}']
|
||
function GetFacturas: IBizFacturasComision;
|
||
procedure SetFacturas(const Value: IBizFacturasComision);
|
||
property Facturas: IBizFacturasComision read GetFacturas write SetFacturas;
|
||
function EsNuevo : Boolean;
|
||
end;
|
||
|
||
TBizFacturasComision = class(TFacturas_ComisionDataTableRules, IBizFacturasComision)
|
||
end;
|
||
|
||
TBizComisiones = class(TComisionesDataTableRules, IBizComisiones, ISeleccionable)
|
||
protected
|
||
FFacturas: IBizFacturasComision;
|
||
FFacturasLink : TDADataSource;
|
||
FSeleccionableInterface : ISeleccionable;
|
||
|
||
function GetFacturas: IBizFacturasComision;
|
||
procedure SetFacturas(const Value: IBizFacturasComision);
|
||
procedure OnNewRecord(Sender: TDADataTable); override;
|
||
public
|
||
property SeleccionableInterface : ISeleccionable read FSeleccionableInterface
|
||
write FSeleccionableInterface implements ISeleccionable;
|
||
property Facturas: IBizFacturasComision read GetFacturas write SetFacturas;
|
||
|
||
procedure IniciarValoresComisionLiquidacionNuevo; virtual;
|
||
function EsNuevo : Boolean;
|
||
constructor Create(aDataTable: TDADataTable); override;
|
||
destructor Destroy; override;
|
||
end;
|
||
|
||
implementation
|
||
|
||
uses SysUtils, uDataTableUtils, uFactuGES_App;
|
||
|
||
{ TBizComisiones }
|
||
|
||
constructor TBizComisiones.Create(aDataTable: TDADataTable);
|
||
begin
|
||
inherited;
|
||
FFacturas := Nil;
|
||
FFacturasLink := TDADataSource.Create(NIL);
|
||
FFacturasLink.DataTable := aDataTable;
|
||
|
||
FSeleccionableInterface := TSeleccionable.Create(aDataTable);
|
||
end;
|
||
|
||
destructor TBizComisiones.Destroy;
|
||
begin
|
||
FFacturas := Nil;
|
||
FFacturasLink.Free;
|
||
FSeleccionableInterface := NIL;
|
||
inherited;
|
||
end;
|
||
|
||
function TBizComisiones.EsNuevo: Boolean;
|
||
begin
|
||
Result := (ID < 0);
|
||
end;
|
||
|
||
function TBizComisiones.GetFacturas: IBizFacturasComision;
|
||
begin
|
||
Result := FFacturas;
|
||
end;
|
||
|
||
procedure TBizComisiones.IniciarValoresComisionLiquidacionNuevo;
|
||
begin
|
||
ID_EMPRESA := AppFactuGES.EmpresaActiva.ID;
|
||
FECHA := Date;
|
||
USUARIO := AppFactuGES.UsuarioActivo.USERNAME;
|
||
DESCRIPCION := 'Liquidaci<63>n de comisiones del mes de ' + UpperCase(FormatDateTime('mmmm', date));
|
||
end;
|
||
|
||
procedure TBizComisiones.OnNewRecord(Sender: TDADataTable);
|
||
begin
|
||
inherited;
|
||
ID := GetRecNo; // -1, -2, -3...
|
||
IniciarValoresComisionLiquidacionNuevo;
|
||
end;
|
||
|
||
procedure TBizComisiones.SetFacturas(const Value: IBizFacturasComision);
|
||
begin
|
||
FFacturas := Value;
|
||
EnlazarMaestroDetalle(FFacturasLink, FFacturas);
|
||
end;
|
||
|
||
initialization
|
||
RegisterDataTableRules(BIZ_CLIENT_COMISIONES, TBizComisiones);
|
||
RegisterDataTableRules(BIZ_CLIENT_FACTURAS_COMISION, TBizFacturasComision);
|
||
|
||
end.
|