unit uViewPresupuesto; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uViewBase, uBizPresupuestos, cxControls, cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxDropDownEdit, cxCalendar, cxDBEdit, DB, uDADataTable, StdCtrls, Mask, DBCtrls, ExtCtrls, cxGraphics, uCustomView, uViewDatosYSeleccionCliente, AppEvnts, dxLayoutControl, cxMemo, cxImageComboBox, dxLayoutLookAndFeels, cxSpinEdit, cxLabel; type IViewPresupuesto = interface(IViewBase) ['{7FDBC909-C3F2-4778-9FE3-1D813FEA7FC1}'] function GetPresupuesto: IBizPresupuesto; procedure SetPresupuesto(const Value: IBizPresupuesto); property Presupuesto: IBizPresupuesto read GetPresupuesto write SetPresupuesto; end; TfrViewPresupuesto = class(TfrViewBase, IViewPresupuesto) DADataSource: TDADataSource; dxLayoutControl1Group_Root: TdxLayoutGroup; dxLayoutControl1: TdxLayoutControl; dxLayoutControl1Item1: TdxLayoutItem; frViewClientePresupuesto1: TfrViewDatosYSeleccionCliente; dxLayoutControl1Group1: TdxLayoutGroup; dxLayoutControl1Group2: TdxLayoutGroup; dxLayoutControl1Group3: TdxLayoutGroup; dxLayoutControl1Group4: TdxLayoutGroup; dxLayoutControl1Group5: TdxLayoutGroup; dxLayoutControl1Group6: TdxLayoutGroup; dxLayoutControl1Group7: TdxLayoutGroup; dxLayoutControl1Group9: TdxLayoutGroup; dxLayoutControl1Item2: TdxLayoutItem; eReferencia: TcxDBTextEdit; dxLayoutControl1Item4: TdxLayoutItem; edtFechaPresupuesto: TcxDBDateEdit; dxLayoutControl1Item7: TdxLayoutItem; edtFechaDecision: TcxDBDateEdit; dxLayoutControl1Item8: TdxLayoutItem; memFormaPago: TcxDBMemo; dxLayoutControl1Item9: TdxLayoutItem; memPlazoEntrega: TcxDBMemo; dxLayoutControl1Item10: TdxLayoutItem; memObservaciones: TcxDBMemo; dxLayoutControl1Group10: TdxLayoutGroup; edtVigencia: TcxDBSpinEdit; dxLayoutControl1Item11: TdxLayoutItem; cbSituacion: TcxDBComboBox; dxLayoutControl1Item13: TdxLayoutItem; Label1: TLabel; dxLayoutControl1Item5: TdxLayoutItem; procedure edtVigenciaPropertiesChange(Sender: TObject); procedure edtFechaPresupuestoPropertiesChange(Sender: TObject); procedure cbSituacionPropertiesInitPopup(Sender: TObject); procedure OnCreate(Sender: TObject); private FPresupuesto: IBizPresupuesto; protected function GetPresupuesto: IBizPresupuesto; procedure SetPresupuesto(const Value: IBizPresupuesto); public property Presupuesto: IBizPresupuesto read GetPresupuesto write SetPresupuesto; end; implementation uses uBizContactos, DateUtils; {$R *.dfm} procedure TfrViewPresupuesto.cbSituacionPropertiesInitPopup(Sender: TObject); begin inherited; with cbSituacion.Properties.Items do begin if Count = 0 then begin BeginUpdate; try Clear; AddStrings(Presupuesto.DarListaSituaciones); finally EndUpdate; end; end; end; end; procedure TfrViewPresupuesto.edtFechaPresupuestoPropertiesChange( Sender: TObject); begin inherited; // lblFechaVigencia.Caption := 'Validez hasta: ' + DateToStr(DateOf(FPresupuesto.FECHA_VIGENCIA)); end; procedure TfrViewPresupuesto.edtVigenciaPropertiesChange(Sender: TObject); begin inherited; // lblFechaVigencia.Caption := 'Validez hasta: ' + DateToStr(DateOf(FPresupuesto.FECHA_VIGENCIA)); end; function TfrViewPresupuesto.GetPresupuesto: IBizPresupuesto; begin Result := FPresupuesto; end; procedure TfrViewPresupuesto.OnCreate(Sender: TObject); begin frViewClientePresupuesto1.MsgElegirCliente := 'Elija el cliente al que se le realizará el presupuesto.'; end; procedure TfrViewPresupuesto.SetPresupuesto(const Value: IBizPresupuesto); begin FPresupuesto := Value; if Assigned(FPresupuesto) then DADataSource.DataTable := FPresupuesto.DataTable else DADataSource.DataTable := NIL; frViewClientePresupuesto1.Cliente := FPresupuesto.Cliente; end; end.