{*******************************************************} { } { Administración de puntos de venta } { } { Copyright (C) 2006 Rodax Software S.L. } { } {*******************************************************} unit uDataModuleVentasProceso; interface uses {vcl:} SysUtils, Classes, DB, uDMBase, {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.