unit uDataModuleMontajesCompleto; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uDataModuleMontajesDetalle, DB, uDADataTable, uDAScriptingProvider, uDACDSDataTable, uROClient, uROBinMessage, uROWinInetHttpChannel, uDADesigntimeCall, uDABINAdapter, uROServiceComponent, uRORemoteService, uIDataModuleMontajesCompleto, uBizMontajesCompleto; type TDataModuleMontajesCompleto = class(TDataModuleMontajesDetalles, IDataModuleMontajesCompleto) tbl_Montajes_Gastos: TDACDSDataTable; ds_Montajes_Gastos: TDADataSource; protected function _GetGastos : IBizGastosMontaje; procedure AsignarClaseNegocio(var AMontaje: TDACDSDataTable); override; function darNombreGenerador(DataSetName: String): String; override; end; implementation {$R *.dfm} uses cxControls, uBizMontajesDetalles, schMontajesClient_Intf; { TDataModuleMontajesCompleto } procedure TDataModuleMontajesCompleto.AsignarClaseNegocio(var AMontaje: TDACDSDataTable); begin AMontaje.BusinessRulesID := BIZ_CLIENT_MONTAJE_COMPLETO; with TBizMontajeCompleto(AMontaje.BusinessEventsObj) do begin Detalles := _GetDetalles; Gastos := _GetGastos; end; end; function TDataModuleMontajesCompleto.darNombreGenerador(DataSetName: String): String; begin Result := inherited darNombreGenerador(DataSetName); if DataSetName = nme_Montajes_Gastos then Result := 'GEN_MONTAJES_GASTOS_ID'; end; function TDataModuleMontajesCompleto._GetGastos: IBizGastosMontaje; var AGastos : TDACDSDataTable; begin ShowHourglassCursor; try AGastos := _CloneDataTable(tbl_Montajes_Gastos); with AGastos do begin BusinessRulesID := BIZ_CLIENT_GASTOS_MONTAJE; DetailOptions := DetailOptions - [dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates]; end; Result := (AGastos as IBizGastosMontaje); finally HideHourglassCursor; end; end; end.