Varela_PuntosVenta/Source/Modulos/VentasProceso/Cliente/uDataModuleVentasProceso.pas

114 lines
3.4 KiB
ObjectPascal

{*******************************************************}
{ }
{ Administración de puntos de venta }
{ }
{ Copyright (C) 2006 Rodax Software S.L. }
{ }
{*******************************************************}
unit uDataModuleVentasProceso;
interface
uses {vcl:} SysUtils, Classes, DB, uDataModuleBase,
{RemObjects:} uDAClientDataModule, uROClient, uROServiceComponent,
uRORemoteService, uDADataTable, uDAScriptingProvider, uDACDSDataTable,
uBizControlVentasProceso, uBizVentasProceso, uDARemoteDataAdapter,
uDADataStreamer, uDABinAdapter;
const
CATEGORIA_VENTAS_PROCESO = 'VENTAPROCESO';
type
TdmVentasEnProceso = class(TDAClientDataModule)
RemoteService: TRORemoteService;
tbl_VentasEnProcesoPendientes: TDACDSDataTable;
tbl_VentasEnProcesoPendientes2: TDACDSDataTable;
DARemoteDataAdapter: TDARemoteDataAdapter;
DARemoteDataAdapter2: TDARemoteDataAdapter;
DABinDataStreamer2: TDABinDataStreamer;
procedure DAClientDataModuleCreate(Sender: TObject);
protected
function GetItems : IBizVentasProceso;
public
function GetNameColumns: String;
function GetControl: IBizControlVentasProceso;
end;
var
dmVentasEnProceso: TdmVentasEnProceso;
implementation
{$R *.DFM}
uses
Controls, Forms, uDataTableUtils,
uDataModuleControles, schVentasEnProcesoClient_Intf, Dialogs, cxControls;
procedure TdmVentasEnProceso.DAClientDataModuleCreate(Sender: TObject);
begin
RemoteService.Channel := dmBase.Channel;
RemoteService.Message := dmBase.Message;
end;
function TdmVentasEnProceso.GetControl: IBizControlVentasProceso;
var
aDataTable : TDACDSDataTable;
begin
aDataTable := dmControles.GetItems(CATEGORIA_VENTAS_PROCESO);
aDataTable.BusinessRulesID := BIZ_CONTROL_VENTASPROCESO;
(aDataTable as IBizControlVentasProceso).Items := GetItems;
Result := (aDataTable as IBizControlVentasProceso);
end;
function TdmVentasEnProceso.GetItems: IBizVentasProceso;
var
dtVentas: TDACDSDataTable;
begin
ShowHourglassCursor;
try
dtVentas := TDACDSDataTable.Create(NIL);
CloneDataTable(tbl_VentasEnProcesoPendientes2, dtVentas);
dtVentas.Fields.AssignFieldCollection(tbl_VentasEnProcesoPendientes.Fields);
dtVentas.BusinessRulesID := BIZ_VENTASPROCESO;
dtVentas.FieldByName(fld_VentasEnProcesoPendientesNUMINF).Visible := False;
dtVentas.FieldByName(fld_VentasEnProcesoPendientesCLAVE1).Visible := False;
dtVentas.FieldByName(fld_VentasEnProcesoPendientesCLAVE2).Visible := False;
dtVentas.FieldByName(fld_VentasEnProcesoPendientesCLAVE3).Visible := False;
dtVentas.LoadSchema;
Result := (dtVentas as IBizVentasProceso);
finally
HideHourglassCursor;
end;
end;
function TdmVentasEnProceso.GetNameColumns: String;
var
AList : TStringList;
i : integer;
begin
AList := TStringList.Create;
try
for i := 0 to tbl_VentasEnProcesoPendientes.FieldCount - 1 do
if tbl_VentasEnProcesoPendientes.Fields[i].Visible then
AList.Add(tbl_VentasEnProcesoPendientes.Fields[i].Name);
Result := AList.CommaText;
finally
FreeAndNil(AList);
end;
end;
initialization
dmVentasEnProceso := TdmVentasEnProceso.Create(nil);
finalization
FreeAndNil(dmVentasEnProceso);
end.