150 lines
4.6 KiB
ObjectPascal
150 lines
4.6 KiB
ObjectPascal
|
|
unit uBizComisiones;
|
|||
|
|
|
|||
|
|
interface
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
Classes, uDAInterfaces, uDADataTable, schComisionesClient_Intf, uDBSelectionListUtils;
|
|||
|
|
|
|||
|
|
const
|
|||
|
|
BIZ_CLIENT_COMISIONES = 'Client.Comisiones';
|
|||
|
|
BIZ_CLIENT_FACTURAS_COMISION = 'Client.FacturasComisiones';
|
|||
|
|
BIZ_CLIENT_VENDEDORES_COMISION = 'Client.VendedoresComisiones';
|
|||
|
|
|
|||
|
|
type
|
|||
|
|
IBizFacturasComision = interface(IFacturas_Comision)
|
|||
|
|
['{C2AB9B3F-BCAA-4F99-BDEC-105365BFB364}']
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
IBizVendedoresComision = interface(IVendedores_Comision)
|
|||
|
|
['{8F74E0CA-5988-4ABD-8F99-31915C1C1B97}']
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
IBizComisiones = interface(IComisiones)
|
|||
|
|
['{40E2637E-C002-42AB-8DD5-7A438490C23D}']
|
|||
|
|
function GetFacturas: IBizFacturasComision;
|
|||
|
|
procedure SetFacturas(const Value: IBizFacturasComision);
|
|||
|
|
property Facturas: IBizFacturasComision read GetFacturas write SetFacturas;
|
|||
|
|
function GetVendedores: IBizVendedoresComision;
|
|||
|
|
procedure SetVendedores(const Value: IBizVendedoresComision);
|
|||
|
|
property Vendedores: IBizVendedoresComision read GetVendedores write SetVendedores;
|
|||
|
|
function EsNuevo : Boolean;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
TBizFacturasComision = class(TFacturas_ComisionDataTableRules, IBizFacturasComision)
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
TBizVendedoresComision = class(TVendedores_ComisionDataTableRules, IBizVendedoresComision)
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
TBizComisiones = class(TComisionesDataTableRules, IBizComisiones, ISeleccionable)
|
|||
|
|
protected
|
|||
|
|
FFacturas: IBizFacturasComision;
|
|||
|
|
FFacturasLink : TDADataSource;
|
|||
|
|
FVendedores: IBizVendedoresComision;
|
|||
|
|
FVendedoresLink : TDADataSource;
|
|||
|
|
FSeleccionableInterface : ISeleccionable;
|
|||
|
|
|
|||
|
|
function GetFacturas: IBizFacturasComision;
|
|||
|
|
procedure SetFacturas(const Value: IBizFacturasComision);
|
|||
|
|
function GetVendedores: IBizVendedoresComision;
|
|||
|
|
procedure SetVendedores(const Value: IBizVendedoresComision);
|
|||
|
|
|
|||
|
|
procedure OnNewRecord(Sender: TDADataTable); override;
|
|||
|
|
public
|
|||
|
|
property SeleccionableInterface : ISeleccionable read FSeleccionableInterface
|
|||
|
|
write FSeleccionableInterface implements ISeleccionable;
|
|||
|
|
property Facturas: IBizFacturasComision read GetFacturas write SetFacturas;
|
|||
|
|
property Vendedores: IBizVendedoresComision read GetVendedores write SetVendedores;
|
|||
|
|
|
|||
|
|
procedure IniciarValoresComisionLiquidacionNuevo; virtual;
|
|||
|
|
function EsNuevo : Boolean;
|
|||
|
|
constructor Create(aDataTable: TDADataTable); override;
|
|||
|
|
destructor Destroy; override;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
implementation
|
|||
|
|
|
|||
|
|
uses SysUtils, uDataTableUtils, uDataModuleUsuarios, uFactuGES_App;
|
|||
|
|
|
|||
|
|
{ TBizComisiones }
|
|||
|
|
|
|||
|
|
constructor TBizComisiones.Create(aDataTable: TDADataTable);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
FFacturas := Nil;
|
|||
|
|
FFacturasLink := TDADataSource.Create(NIL);
|
|||
|
|
FFacturasLink.DataTable := aDataTable;
|
|||
|
|
|
|||
|
|
FVendedores := Nil;
|
|||
|
|
FVendedoresLink := TDADataSource.Create(NIL);
|
|||
|
|
FVendedoresLink.DataTable := aDataTable;
|
|||
|
|
|
|||
|
|
FSeleccionableInterface := TSeleccionable.Create(aDataTable);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
destructor TBizComisiones.Destroy;
|
|||
|
|
begin
|
|||
|
|
FFacturas := Nil;
|
|||
|
|
FFacturasLink.Free;
|
|||
|
|
FVendedores := Nil;
|
|||
|
|
FVendedoresLink.Free;
|
|||
|
|
FSeleccionableInterface := NIL;
|
|||
|
|
inherited;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TBizComisiones.EsNuevo: Boolean;
|
|||
|
|
begin
|
|||
|
|
Result := (ID < 0);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TBizComisiones.GetFacturas: IBizFacturasComision;
|
|||
|
|
begin
|
|||
|
|
Result := FFacturas;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TBizComisiones.GetVendedores: IBizVendedoresComision;
|
|||
|
|
begin
|
|||
|
|
Result := FVendedores;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TBizComisiones.IniciarValoresComisionLiquidacionNuevo;
|
|||
|
|
begin
|
|||
|
|
ID_EMPRESA := AppFactuGES.EmpresaActiva.ID;
|
|||
|
|
USUARIO := AppFactuGES.UsuarioActivo.UserName;
|
|||
|
|
FECHA := Date;
|
|||
|
|
DESCRIPCION := 'Liquidaci<63>n de comisiones del mes de ' + UpperCase(FormatDateTime('mmmm', date));
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TBizComisiones.OnNewRecord(Sender: TDADataTable);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
IniciarValoresComisionLiquidacionNuevo;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TBizComisiones.SetFacturas(const Value: IBizFacturasComision);
|
|||
|
|
begin
|
|||
|
|
FFacturas := Value;
|
|||
|
|
EnlazarMaestroDetalle(FFacturasLink, FFacturas);
|
|||
|
|
|
|||
|
|
if Assigned(FFacturas) then
|
|||
|
|
if not FFacturas.DataTable.Active then
|
|||
|
|
FFacturas.DataTable.Active := True;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TBizComisiones.SetVendedores(const Value: IBizVendedoresComision);
|
|||
|
|
begin
|
|||
|
|
FVendedores := Value;
|
|||
|
|
EnlazarMaestroDetalle(FVendedoresLink, FVendedores);
|
|||
|
|
|
|||
|
|
if Assigned(FVendedores) then
|
|||
|
|
if not FVendedores.DataTable.Active then
|
|||
|
|
FVendedores.DataTable.Active := True;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
initialization
|
|||
|
|
RegisterDataTableRules(BIZ_CLIENT_COMISIONES, TBizComisiones);
|
|||
|
|
RegisterDataTableRules(BIZ_CLIENT_FACTURAS_COMISION, TBizFacturasComision);
|
|||
|
|
RegisterDataTableRules(BIZ_CLIENT_VENDEDORES_COMISION, TBizVendedoresComision);
|
|||
|
|
|
|||
|
|
end.
|