Varela_PuntosVenta/Source/Modulos/VentasTerminadas/Reglas/uBizVentas.pas
2007-08-01 16:16:26 +00:00

116 lines
3.1 KiB
ObjectPascal

unit uBizVentas;
interface
uses
Classes, DB, SysUtils, uROClasses, uDADataTable, uDAInterfaces,
DataAbstract_Intf, uROTypes;
const
BIZ_VENTAS = 'Client.Ventas';
{ ListaInformesPorCategoria fields }
fld_VentasCLAVE1 = 'CLAVE1';
fld_VentasCLAVE2 = 'CLAVE2';
fld_VentasCLAVE3 = 'CLAVE3';
fld_VentasNUMINF = 'NUMINF';
type
{ IRDX_ARTVEN }
IBizVentas = interface(IDAStronglyTypedDataTable)
['{E82C7F84-0CD4-4A27-80FB-BD608FDCA091}']
function GetVisibleColumns: String;
procedure SetVisibleColumns(AValue : String);
procedure Show;
property VisibleColumns : String read GetVisibleColumns write SetVisibleColumns;
end;
{ TRDX_ARTVENDataTableRules }
TBIZ_VENTASDataTableRules = class(TDADataTableRules, IBizVentas)
private
FVisibleColumns : String;
FDateParams : TDADatasetParamArray;
protected
function GetVisibleColumns: String;
procedure SetVisibleColumns(AValue : String);
procedure OnBeforeDataRequestCall(DataTable: TDADataTable;
Request: TDARemoteRequest);
procedure OnBeforeSchemaCall(DataTable: TDADataTable;
Request: TDARemoteRequest);
public
constructor Create(aDataTable: TDADataTable); override;
procedure Show;
property VisibleColumns : String read GetVisibleColumns write SetVisibleColumns;
destructor Destroy; override;
end;
implementation
{ TBIZ_VENTASDataTableRules }
uses
Dialogs, uEditorUtils, uDataModuleVentas;
constructor TBIZ_VENTASDataTableRules.Create(aDataTable: TDADataTable);
begin
inherited;
FDateParams := TDADatasetParamArray.Create;
if Assigned(DataTable) then
begin
DataTable.OnBeforeDataRequestCall := OnBeforeDataRequestCall;
DataTable.OnBeforeSchemaCall := OnBeforeSchemaCall;
end;
end;
destructor TBIZ_VENTASDataTableRules.Destroy;
begin
FreeAndNIL(FDateParams);
inherited;
end;
function TBIZ_VENTASDataTableRules.GetVisibleColumns: String;
begin
if Length(FVisibleColumns) = 0 then
FVisibleColumns := dmVentas.GetNameColumns;
Result := FVisibleColumns
end;
procedure TBIZ_VENTASDataTableRules.OnBeforeDataRequestCall(
DataTable: TDADataTable; Request: TDARemoteRequest);
begin
Request.ParamByName('Columns').AsString := VisibleColumns;
FDateParams.Clear;
NewDatasetParam(FDateParams, 'FECHAINI', DataTable.ParamByName('FECHAINI').AsDateTime);
NewDatasetParam(FDateParams, 'FECHAFIN', DataTable.ParamByName('FECHAFIN').AsDateTime);
Request.ParamByName('Params').AsComplexType := FDateParams;
end;
procedure TBIZ_VENTASDataTableRules.OnBeforeSchemaCall(
DataTable: TDADataTable; Request: TDARemoteRequest);
begin
Request.ParamByName('Columns').AsString := VisibleColumns;
end;
procedure TBIZ_VENTASDataTableRules.SetVisibleColumns(AValue: String);
begin
if Length(AValue) > 0 then
FVisibleColumns := Avalue
else
FVisibleColumns := dmVentas.GetNameColumns;
end;
procedure TBIZ_VENTASDataTableRules.Show;
begin
ShowEditor(IBizVentas, Self, etItem);
end;
initialization
RegisterDataTableRules(BIZ_VENTAS, TBIZ_VENTASDataTableRules);
finalization
end.