unit uDataModuleFacturasProveedor; interface uses {vcl:} SysUtils, Classes, DB, DBClient, {RemObjects:} uDAClientDataModule, uDADataTable, uDABINAdapter, uROServiceComponent, uRORemoteService, uROClient, uROBinMessage, uROWinInetHttpChannel, uDAScriptingProvider, uDACDSDataTable, uDADesigntimeCall, uBizFacturasProveedor; type TdmFacturasProveedor = class(TDAClientDataModule) RORemoteService: TRORemoteService; tbl_FacturasProveedor: TDACDSDataTable; ds_FacturasProveedor: TDADataSource; DADesigntimeCall1: TDADesigntimeCall; procedure DAClientDataModuleCreate(Sender: TObject); private { Private declarations } public function GetNextAutoinc : integer; function GetItem: IBizFacturasProveedor; function GetItems: IBizFacturasProveedor; function PuedoEliminarFactura (CodigoFactura : Integer) : Boolean; end; var dmFacturasProveedor: TdmFacturasProveedor; implementation {$R *.DFM} uses Forms, Controls, uDataTableUtils, uBizContacto, uDataModuleContactos, uDataModuleBase, FactuGES_Intf, uEditorPreview, uROTypes, schFacturasProveedorClient_Intf; { TDAClientDataModule1 } function TdmFacturasProveedor.GetItems: IBizFacturasProveedor; var dtCabecera: TDACDSDataTable; ACursor: TCursor; begin ACursor := Screen.Cursor; Screen.Cursor := crHourGlass; try dtCabecera := TDACDSDataTable.Create(NIL); CloneDataTable(tbl_FacturasProveedor, dtCabecera); with dtCabecera do begin BusinessRulesID := BIZ_FACTURASPROVEEDOR; FieldByName(fld_FacturasProveedorDESCUENTO).BusinessRulesID := 'Client.Field.Descuento'; FieldByName(fld_FacturasProveedorIVA).BusinessRulesID := 'Client.Field.IVA'; FieldByName(fld_FacturasProveedorBASEIMPONIBLE).BusinessRulesID := 'Client.Field.BaseImponible'; end; Result := (dtCabecera as IBizFacturasProveedor); finally Screen.Cursor := ACursor; end; end; procedure TdmFacturasProveedor.DAClientDataModuleCreate(Sender: TObject); begin RORemoteService.Channel := dmBase.Channel; RORemoteService.Message := dmBase.Message; Adapter := dmBase.Adapter; end; function TdmFacturasProveedor.GetItem: IBizFacturasProveedor; var dtCabecera: TDACDSDataTable; dtDetalles: TDACDSDataTable; ACursor: TCursor; begin { ACursor := Screen.Cursor; Screen.Cursor := crHourGlass; try dtCabecera := TDACDSDataTable.Create(NIL); CloneDataTable(tbl_AlbaranCliente, dtCabecera); with dtCabecera do begin BusinessRulesID := BIZ_ALBARANCLIENTE; FieldByName(fld_AlbaranClienteDESCUENTO).BusinessRulesID := 'Client.Field.Descuento'; FieldByName(fld_AlbaranClienteIVA).BusinessRulesID := 'Client.Field.IVA'; end; dtDetalles := TDACDSDataTable.Create(NIL); CloneDataTable(tbl_DetallesAlbaranProveedor, dtDetalles); with dtDetalles do begin BusinessRulesID := BIZ_DETALLESALBARANCLIENTE; DetailOptions := DetailOptions - [dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates]; FieldByName(fld_DetallesAlbaranClienteCANTIDAD).BusinessRulesID := 'Client.Field.Cantidad'; FieldByName(fld_DetallesAlbaranClienteIMPORTEUNIDAD).BusinessRulesID := 'Client.Field.ImporteUnidad'; FieldByName(fld_DetallesAlbaranClienteTIPO).BusinessRulesID := 'Client.Field.TipoDetalle'; end; with (dtAlbaranes as IBizAlbaranesCliente) do begin Detalles := (dtDetalles as IBizDetallesAlbaranCliente); end; Result := (dtAlbaranes as IBizAlbaranesCliente); finally Screen.Cursor := ACursor; end;} end; function TdmFacturasProveedor.GetNextAutoinc: integer; begin Result := (RORemoteService as IsrvFacturasProveedor).GetNextAutoinc; end; function TdmFacturasProveedor.PuedoEliminarFactura(CodigoFactura: Integer): Boolean; begin Result := (RORemoteService as IsrvFacturasProveedor).PuedoEliminarFactura(CodigoFactura); end; initialization dmFacturasProveedor := TdmFacturasProveedor.Create(nil); finalization FreeAndNil(dmFacturasProveedor); end.