unit uViewPresupuestoMontaje; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uViewPresupuestoRelacionado, ImgList, PngImageList, ActnList, cxControls, cxContainer, cxEdit, cxTextEdit, ComCtrls, ToolWin, ExtCtrls, StdCtrls, cxDBEdit, DB, uDADataTable; type TfrViewPresupuestoMontaje = class(TfrViewPresupuestoRelacionado) procedure actElegirPresupuestoExecute(Sender: TObject); private public end; var frViewPresupuestoMontaje: TfrViewPresupuestoMontaje; implementation {$R *.dfm} uses uBizPresupuestosCliente, uDataModulePresupuestos; procedure TfrViewPresupuestoMontaje.actElegirPresupuestoExecute(Sender: TObject); var APresupuesto : IBizPresupuestos; begin inherited; if Length(edtlReferencia.Text) > 0 then if (MessageBox(0, 'Este montaje ya tiene asociado un presupuesto. '+#13+#10+ 'Si elige otro presupuesto, se cambiará en este montaje el cliente para '+ 'hacerlo coincidir con el presupuesto elegido. '+#13+#10+ '¿Desea continuar?', 'Confirmación', MB_ICONQUESTION or MB_YESNO) = idNo) then Exit; APresupuesto := dmPresupuestos.GetPresupuestosSinMontaje; try if APresupuesto.ShowForSelect = mrOK then begin APresupuesto := dmPresupuestos.GetItemsSeleccionados(APresupuesto); APresupuesto.DataTable.Active := True; Self.Presupuesto := APresupuesto; end; finally APresupuesto := NIL; end; end; end.