unit uDataModuleMontajesDetalle; interface uses Classes, DB, uDADataTable, uDAScriptingProvider, uDACDSDataTable, uDADesigntimeCall, uDABINAdapter, uROClient, uROServiceComponent, uRORemoteService, uROBinMessage, uROWinInetHttpChannel, uBizMontajesDetalles, uIDataModuleMontajesDetalle, uDataModuleMontajes; type TDataModuleMontajesDetalles = class(TDataModuleMontajes, IDataModuleMontajesDetalle) tbl_Montajes_Detalles: TDACDSDataTable; ds_Montajes_Detalles: TDADataSource; protected function _GetDetalles : IBizDetallesMontaje; procedure AsignarClaseNegocio(var AMontaje: TDACDSDataTable); override; function darNombreGenerador(DataSetName: String): String; override; end; implementation {$R *.dfm} uses cxControls, schMontajesClient_Intf; { TDataModuleMontajes } procedure TDataModuleMontajesDetalles.AsignarClaseNegocio(var AMontaje: TDACDSDataTable); begin AMontaje.BusinessRulesID := BIZ_CLIENT_MONTAJE_DETALLES; with TBizMontajeDetalles(AMontaje.BusinessEventsObj) do begin Detalles := _GetDetalles; end; end; function TDataModuleMontajesDetalles.darNombreGenerador(DataSetName: String): String; begin Result := inherited darNombreGenerador(DataSetName); if DataSetName = nme_Montajes_Detalles then Result := 'GEN_MONTAJES_DETALLES_ID'; end; function TDataModuleMontajesDetalles._GetDetalles: IBizDetallesMontaje; var ADetalles : TDACDSDataTable; begin ShowHourglassCursor; try ADetalles := _CloneDataTable(tbl_Montajes_Detalles); with ADetalles do begin BusinessRulesID := BIZ_CLIENT_DETALLES_MONTAJE; DetailOptions := DetailOptions - [dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates]; end; Result := (ADetalles as IBizDetallesMontaje); finally HideHourglassCursor; end; end; end.