git-svn-id: https://192.168.0.254/svn/Proyectos.Noviseda_FactuGES2/trunk@118 f33bb606-9f5c-448d-9c99-757f00063c96
151 lines
4.3 KiB
ObjectPascal
151 lines
4.3 KiB
ObjectPascal
unit uBizComisiones;
|
|
|
|
interface
|
|
|
|
uses
|
|
uDAInterfaces, uDADataTable, schComisionesClient_Intf, uDBSelectionListUtils, Classes;
|
|
// uBizContactos, uBizDetallesFacturaCliente
|
|
|
|
const
|
|
BIZ_CLIENT_COMISIONES = 'Client.Comisiones';
|
|
BIZ_CLIENT_FACTURASCOMISION = 'Client.FacturasComision';
|
|
|
|
type
|
|
IBizFacturasComision = interface(IFacturasComision)
|
|
['{341B5CD1-2BCD-43F5-8F0C-AF72C1780512}']
|
|
end;
|
|
|
|
IBizComision = interface(IComisiones)
|
|
['{78E17CC4-F4A6-489D-99C3-2D56F8730A33}']
|
|
|
|
function GetFacturasComision: IBizFacturasComision;
|
|
procedure SetFacturasComision(Value: IBizFacturasComision);
|
|
property FacturasComision: IBizFacturasComision read GetFacturasComision write SetFacturasComision;
|
|
|
|
procedure CalcularImporteTotal;
|
|
end;
|
|
|
|
TBizFacturasComision = class(TFacturasComisionDataTableRules, IBizFacturasComision)
|
|
end;
|
|
|
|
TBizComision = class(TComisionesDataTableRules, IBizComision, ISeleccionable)
|
|
private
|
|
FSeleccionableInterface : ISeleccionable;
|
|
procedure CalcularComision;
|
|
|
|
protected
|
|
FFacturasComision : IBizFacturasComision;
|
|
FFacturasComisionLink : TDADataSource;
|
|
|
|
function GetFacturasComision: IBizFacturasComision;
|
|
procedure SetFacturasComision(Value: IBizFacturasComision);
|
|
|
|
procedure COMISIONOnChange(Sender: TDACustomField);
|
|
|
|
public
|
|
procedure CalcularImporteTotal;
|
|
|
|
property FacturasComision: IBizFacturasComision read GetFacturasComision write SetFacturasComision;
|
|
property SeleccionableInterface : ISeleccionable read FSeleccionableInterface write FSeleccionableInterface implements ISeleccionable;
|
|
|
|
constructor Create(aDataTable: TDADataTable); override;
|
|
destructor Destroy; override;
|
|
end;
|
|
|
|
implementation
|
|
|
|
uses
|
|
SysUtils, uDataTableUtils, DB, uDateUtils, DateUtils, uDataModuleUsuarios,
|
|
Variants, cxDateUtils, uFactuGES_App;
|
|
|
|
{ TBizComision }
|
|
|
|
procedure TBizComision.CalcularComision;
|
|
begin
|
|
{ if not Self.DataTable.Editing then
|
|
Edit;
|
|
IMPORTE_COMISION := (COMISION / 100) * BASE_IMPONIBLE;
|
|
}
|
|
end;
|
|
|
|
{procedure TBizComision.CalcularDescuento;
|
|
begin
|
|
if not Self.DataTable.Editing then
|
|
Edit;
|
|
IMPORTE_DESCUENTO := (DESCUENTO / 100) * IMPORTE_NETO;
|
|
end;}
|
|
|
|
procedure TBizComision.CalcularImporteTotal;
|
|
begin
|
|
{ DataTable.DisableControls;
|
|
DataTable.Fields.FieldEventsDisabled := True;
|
|
try
|
|
|
|
if not Self.DataTable.Editing then
|
|
Edit;
|
|
IMPORTE_TOTAL := BASE_IMPONIBLE + IMPORTE_IVA + IMPORTE_RE;
|
|
finally
|
|
DataTable.Fields.FieldEventsDisabled := False;
|
|
DataTable.EnableControls;
|
|
end;
|
|
}
|
|
end;
|
|
|
|
|
|
procedure TBizComision.COMISIONOnChange(Sender: TDACustomField);
|
|
begin
|
|
CalcularImporteTotal;
|
|
end;
|
|
|
|
constructor TBizComision.Create(aDataTable: TDADataTable);
|
|
begin
|
|
inherited;
|
|
{
|
|
with DataTable do
|
|
begin
|
|
FieldByName(fld_FacturasClienteID_TIPO_IVA).OnChange := ID_TIPO_IVAOnChange;
|
|
FieldByName(fld_FacturasClienteRECARGO_EQUIVALENCIA).OnChange := RECARGO_EQUIVALENCIAOnChange;
|
|
|
|
FieldByName(fld_FacturasClienteIMPORTE_NETO).OnChange := IMPORTE_NETOOnChange;
|
|
FieldByName(fld_FacturasClienteIMPORTE_PORTE).OnChange := IMPORTE_PORTEOnChange;
|
|
FieldByName(fld_FacturasClienteDESCUENTO).OnChange := DESCUENTOOnChange;
|
|
FieldByName(fld_FacturasClienteDESCUENTO2).OnChange := DESCUENTO2OnChange;
|
|
FieldByName(fld_FacturasClienteCOMISION).OnChange := COMISIONOnChange;
|
|
FieldByName(fld_FacturasClienteIVA).OnChange := IVAOnChange;
|
|
FieldByName(fld_FacturasClienteRE).OnChange := REOnChange;
|
|
end;
|
|
}
|
|
FFacturasComisionLink := TDADataSource.Create(NIL);
|
|
FFacturasComisionLink.DataTable := aDataTable;
|
|
|
|
FSeleccionableInterface := TSeleccionable.Create(aDataTable);
|
|
end;
|
|
|
|
destructor TBizComision.Destroy;
|
|
begin
|
|
FFacturasComision := NIL;
|
|
FFacturasComisionLink.Free;
|
|
FSeleccionableInterface := NIL;
|
|
inherited;
|
|
end;
|
|
|
|
function TBizComision.GetFacturasComision: IBizFacturasComision;
|
|
begin
|
|
Result := FFacturasComision;
|
|
end;
|
|
|
|
procedure TBizComision.SetFacturasComision(Value: IBizFacturasComision);
|
|
begin
|
|
FFacturasComision := Value;
|
|
EnlazarMaestroDetalle(FFacturasComisionLink, FFacturasComision);
|
|
end;
|
|
|
|
initialization
|
|
RegisterDataTableRules(BIZ_CLIENT_COMISIONES, TBizComision);
|
|
RegisterDataTableRules(BIZ_CLIENT_FACTURASCOMISION, TBizFacturasComision);
|
|
|
|
finalization
|
|
|
|
end.
|
|
|