unit uDataModuleCuentas; interface uses {vcl:} SysUtils, Classes, DB, DBClient, {RemObjects:} uDAClientDataModule, uDADataTable, uDABINAdapter, uROServiceComponent, uRORemoteService, uROClient, uROBinMessage, uROWinInetHttpChannel, uDAScriptingProvider, uDACDSDataTable, uBizCuentas; type TdmCuentas = class(TDAClientDataModule) DABINAdapter: TDABINAdapter; RORemoteService: TRORemoteService; tbl_Cuentas: TDACDSDataTable; ds_Cuentas: TDADataSource; procedure DAClientDataModuleCreate(Sender: TObject); private public function GetItems: IBizCuenta; function GetItem(Codigo : Integer): IBizCuenta; function PuedoEliminarCuenta(Codigo : Integer) : Boolean; end; var dmCuentas: TdmCuentas; implementation {$R *.DFM} uses Controls, Forms, uDAInterfaces, DataAbstract_Intf, FactuGES_Intf, uDataTableUtils, uROTypes, uEditorPreview, Dialogs, schCuentasClient_Intf, uDataModuleBase, uDBSelectionList; procedure TdmCuentas.DAClientDataModuleCreate(Sender: TObject); begin RORemoteService.Channel := dmBase.Channel; RORemoteService.Message := dmBase.Message; end; function TdmCuentas.GetItems: IBizCuenta; var dtCuentas: TDACDSDataTable; ACursor: TCursor; begin ACursor := Screen.Cursor; Screen.Cursor := crHourGlass; try dtCuentas := TDACDSDataTable.Create(NIL); CloneDataTable(tbl_Cuentas, dtCuentas); dtCuentas.BusinessRulesID := BIZ_CUENTA; Result := (dtCuentas as IBizCuenta); finally Screen.Cursor := ACursor; end; end; function TdmCuentas.GetItem(Codigo: Integer): IBizCuenta; var ACuenta: IBizCuenta; begin ACuenta := GetItems; with ACuenta.DataTable do begin if Active then Active := False; Where.Clear; Where.AddCondition(fld_CuentasCODIGO, cEqual, Codigo); Active := True; end; Result := ACuenta; end; function TdmCuentas.PuedoEliminarCuenta(Codigo: Integer): Boolean; begin Result := (RORemoteService as IsrvCuentas).PuedoEliminarCuenta(Codigo); end; initialization dmCuentas := TdmCuentas.Create(nil); finalization FreeAndNil(dmCuentas); end.