unit uDataModuleRecepciones; interface uses {vcl:} SysUtils, Classes, DB, DBClient, {RemObjects:} uDAClientDataModule, uDADataTable, uDAScriptingProvider, uDACDSDataTable, uDABINAdapter, uDataModuleBase, uROClient, uROServiceComponent, uRORemoteService, uBizRecepciones, uDARemoteDataAdapter, uDAInterfaces; type TdmRecepciones = class(TDAClientDataModule) RORemoteService: TRORemoteService; tbl_Recepciones: TDACDSDataTable; ds_Recepciones: TDADataSource; tbl_RecepcionesAprobadas: TDACDSDataTable; ds_RecepcionesAprobadas: TDADataSource; tbl_RecepcionesPendientes: TDACDSDataTable; ds_RecepcionesPendientes: TDADataSource; tbl_RecepcionesAlbaran: TDACDSDataTable; ds_RecepcionesAlbaran: TDADataSource; DARemoteDataAdapter: TDARemoteDataAdapter; procedure DAClientDataModuleCreate(Sender: TObject); private { Private declarations } public function GetItems : IBizRecepciones; overload; function GetItems(const AEstado : TInvRecepcionEstado) : IBizRecepciones; overload; function GetItemsAlbaran : IBizRecepcionesAlbaran; overload; function GetItemsAlbaran(const AEstado : TInvRecepcionAlbaranEstado) : IBizRecepcionesAlbaran; overload; end; var dmRecepciones: TdmRecepciones; implementation {$R *.DFM} uses Forms, Windows, Controls, VARELA_Intf, uEditorPreview, uDataTableUtils, uROTypes, cxControls; procedure TdmRecepciones.DAClientDataModuleCreate(Sender: TObject); begin RORemoteService.Channel := dmBase.Channel; RORemoteService.Message := dmBase.Message; end; function TdmRecepciones.GetItems: IBizRecepciones; var dtLista: TDACDSDataTable; begin ShowHourglassCursor; try dtLista := TDACDSDataTable.Create(NIL); CloneDataTable(tbl_Recepciones, dtLista); dtLista.BusinessRulesID := BIZ_RECEPCIONES; Result := (dtLista as IBizRecepciones); finally HideHourglassCursor; end; end; function TdmRecepciones.GetItems( const AEstado: TInvRecepcionEstado): IBizRecepciones; var dtLista: TDACDSDataTable; begin ShowHourglassCursor; try dtLista := TDACDSDataTable.Create(NIL); case AEstado of tirPendiente : CloneDataTable(tbl_RecepcionesPendientes, dtLista); tirAprobado : CloneDataTable(tbl_RecepcionesAprobadas, dtLista); end; dtLista.BusinessRulesID := BIZ_RECEPCIONES; Result := (dtLista as IBizRecepciones); finally HideHourglassCursor; end; end; function TdmRecepciones.GetItemsAlbaran: IBizRecepcionesAlbaran; var dtLista: TDACDSDataTable; begin ShowHourglassCursor; try dtLista := TDACDSDataTable.Create(NIL); CloneDataTable(tbl_RecepcionesAlbaran, dtLista); dtLista.BusinessRulesID := BIZ_RECEPCIONESALBARAN; Result := (dtLista as IBizRecepcionesAlbaran); finally HideHourglassCursor; end; end; function TdmRecepciones.GetItemsAlbaran(const AEstado: TInvRecepcionAlbaranEstado): IBizRecepcionesAlbaran; var dtLista: IBizRecepcionesAlbaran; begin ShowHourglassCursor; try dtLista := GetItemsAlbaran; with dtLista.DataTable.Where do begin Clear; case AEstado of tiraPendiente : AddCondition('ESTADOALBARAN', cEqual, 'P'); tiraRecibido : AddCondition('ESTADOALBARAN', cEqual, 'R'); end; end; Result := dtLista; finally HideHourglassCursor; end; end; initialization dmRecepciones := TdmRecepciones.Create(nil); finalization FreeAndNil(dmRecepciones); end.