unit uViewMontaje; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uViewBase, ExtCtrls, StdCtrls, Buttons, DB, uDADataTable, DBCtrls, Grids, DBGrids, uBizMontajes, Mask, ComCtrls, uCustomView, JvComponent, JvFormAutoSize, cxControls, cxContainer, cxEdit, cxTextEdit, cxDBEdit, cxGraphics, cxMaskEdit, cxDropDownEdit, cxImageComboBox, cxCalendar, dxLayoutControl, uViewDatosYSeleccionCliente; type IViewMontaje = interface(IViewBase) ['{A9189F38-9832-4919-9B98-56F345C2AACA}'] function GetMontaje: IBizMontaje; procedure SetMontaje(const Value: IBizMontaje); property Montaje: IBizMontaje read GetMontaje write SetMontaje; function GetViewClienteMontaje: TfrViewDatosYSeleccionCliente; procedure SetViewClienteMontaje(const Value: TfrViewDatosYSeleccionCliente); property ViewClienteMontaje: TfrViewDatosYSeleccionCliente read GetViewClienteMontaje; end; TfrViewMontaje = class(TfrViewBase, IViewMontaje) DADataSource: TDADataSource; cbSituacion: TcxDBComboBox; edtFechaFin: TcxDBDateEdit; dxLayoutControlMontajeGroup_Root: TdxLayoutGroup; dxLayoutControlMontaje: TdxLayoutControl; dxLayoutControlMontajeGroup1: TdxLayoutGroup; dxLayoutControlMontajeItem1: TdxLayoutItem; dxLayoutControlMontajeItem3: TdxLayoutItem; dxLayoutControlMontajeItem4: TdxLayoutItem; frViewClienteMontaje: TfrViewDatosYSeleccionCliente; dxLayoutControlMontajeGroup2: TdxLayoutGroup; dxLayoutControlMontajeItem5: TdxLayoutItem; edtFechaInicio: TcxDBDateEdit; dxLayoutControlMontajeGroup3: TdxLayoutGroup; procedure cbSituacionPropertiesInitPopup(Sender: TObject); procedure CustomViewCreate(Sender: TObject); procedure CustomViewDestroy(Sender: TObject); protected FMontaje: IBizMontaje; FViewClienteMontaje : TfrViewDatosYSeleccionCliente; function GetMontaje: IBizMontaje; procedure SetMontaje(const Value: IBizMontaje); virtual; function GetViewClienteMontaje: TfrViewDatosYSeleccionCliente; procedure SetViewClienteMontaje(const Value: TfrViewDatosYSeleccionCliente); public property Montaje: IBizMontaje read GetMontaje write SetMontaje; property ViewClienteMontaje: TfrViewDatosYSeleccionCliente read GetViewClienteMontaje; end; implementation uses uDataModuleMontajes, uDataModuleContactos; {$R *.dfm} { TfrViewMontajes } { ******************************* TfrViewMontajes ******************************** } procedure TfrViewMontaje.cbSituacionPropertiesInitPopup(Sender: TObject); begin inherited; with cbSituacion.Properties.Items do begin if Count = 0 then begin BeginUpdate; try Clear; AddStrings(Montaje.DarListaSituaciones); finally EndUpdate; end; end; end; end; procedure TfrViewMontaje.CustomViewCreate(Sender: TObject); begin inherited; FViewClienteMontaje := frViewClienteMontaje; FViewClienteMontaje.MsgElegirCliente := 'Elija el cliente al que se le realizará el montaje.'; end; procedure TfrViewMontaje.CustomViewDestroy(Sender: TObject); begin FViewClienteMontaje := Nil; inherited; end; function TfrViewMontaje.GetMontaje: IBizMontaje; begin Result := FMontaje; end; function TfrViewMontaje.GetViewClienteMontaje: TfrViewDatosYSeleccionCliente; begin Result := FViewClienteMontaje; end; procedure TfrViewMontaje.SetMontaje(const Value: IBizMontaje); begin FMontaje := Value; if Assigned(FMontaje) then DADataSource.DataTable := FMontaje.DataTable else DADataSource.DataTable := NIL; frViewClienteMontaje.Cliente := FMontaje.Cliente; end; procedure TfrViewMontaje.SetViewClienteMontaje(const Value: TfrViewDatosYSeleccionCliente); begin FViewClienteMontaje := Value; end; end.