unit uViewReciboCliente; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uViewBase, uBizRecibosCliente, DB, uDADataTable, dxLayoutControl, cxControls, cxCurrencyEdit, cxDBEdit, cxMemo, cxMaskEdit, cxDropDownEdit, cxCalendar, cxContainer, cxEdit, cxTextEdit, dxLayoutLookAndFeels, ExtCtrls, uDAInterfaces, uCustomView, uViewDatosYSeleccionCliente, uRecibosClienteController, uViewTienda, uViewClienteRecibo, uViewObservaciones; type IViewReciboCliente = interface(IViewBase) ['{5DDA0CF0-1A57-492E-B7AE-614E6A7236B5}'] function GetController : IRecibosClienteController; procedure SetController (const Value : IRecibosClienteController); property Controller : IRecibosClienteController read GetController write SetController; function GetRecibo: IBizRecibosCliente; procedure SetRecibo(const Value: IBizRecibosCliente); property Recibo: IBizRecibosCliente read GetRecibo write SetRecibo; end; TfrViewReciboCliente = class(TfrViewBase, IViewReciboCliente) DADataSource: TDADataSource; dxLayoutControl1Group_Root: TdxLayoutGroup; dxLayoutControl1: TdxLayoutControl; dxLayoutControl1Item1: TdxLayoutItem; eReferencia: TcxDBTextEdit; dxLayoutControl1Item2: TdxLayoutItem; eSituacion: TcxDBTextEdit; dxLayoutControl1Item3: TdxLayoutItem; edtFechaVencimiento: TcxDBDateEdit; dxLayoutControl1Group1: TdxLayoutGroup; dxLayoutControl1Item7: TdxLayoutItem; eFechaEmision: TcxDBTextEdit; dxLayoutControl1Item9: TdxLayoutItem; eImporteTotal: TcxDBCurrencyEdit; dxLayoutControlFactura: TdxLayoutGroup; dxLayoutControl1Item10: TdxLayoutItem; eNombreCliente: TcxDBTextEdit; dxLayoutControl1Item11: TdxLayoutItem; eNifCif: TcxDBTextEdit; dxLayoutControl1Group8: TdxLayoutGroup; dxLayoutControl1Item16: TdxLayoutItem; eRemesa: TcxDBTextEdit; dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList; dxLayoutOfficeLookAndFeel1: TdxLayoutOfficeLookAndFeel; dxLayoutControl1Group7: TdxLayoutGroup; dxLayoutControl1Item19: TdxLayoutItem; edtFechaEmision: TcxDBDateEdit; dxLayoutControl1Item4: TdxLayoutItem; rRefReciboCompensado: TcxDBTextEdit; dxLayoutControl1Group2: TdxLayoutGroup; dxLayoutControl1Group3: TdxLayoutGroup; dxLayoutControlClienteModif: TdxLayoutGroup; dxLayoutControl1Item17: TdxLayoutItem; eDescripcion: TcxDBTextEdit; dxLayoutControl1Item18: TdxLayoutItem; frViewTienda1: TfrViewTienda; dxLayoutControl1Group5: TdxLayoutGroup; dxLayoutControl1Item6: TdxLayoutItem; frViewClienteRecibo1: TfrViewClienteRecibo; dxLayoutControl1Group4: TdxLayoutGroup; frViewObservaciones1: TfrViewObservaciones; dxLayoutControl1Item5: TdxLayoutItem; private FRecibo : IBizRecibosCliente; FController : IRecibosClienteController; function GetRecibo: IBizRecibosCliente; procedure SetRecibo(const Value: IBizRecibosCliente); function GetController : IRecibosClienteController; procedure SetController (const Value : IRecibosClienteController); public property Recibo: IBizRecibosCliente read GetRecibo write SetRecibo; property Controller : IRecibosClienteController read GetController write SetController; end; var frViewReciboCliente: TfrViewReciboCliente; implementation {$R *.dfm} { TfrViewReciboCliente } function TfrViewReciboCliente.GetController: IRecibosClienteController; begin Result := FController; end; function TfrViewReciboCliente.GetRecibo: IBizRecibosCliente; begin Result := FRecibo; end; procedure TfrViewReciboCliente.SetController(const Value: IRecibosClienteController); begin FController := Value; if Assigned(FController) then frViewClienteRecibo1.Controller := FController.ClienteController; end; procedure TfrViewReciboCliente.SetRecibo(const Value: IBizRecibosCliente); begin FRecibo := Value; //Por defecto dxLayoutControlFactura.Visible := true; dxLayoutControlClienteModif.Visible := false; eDescripcion.Enabled := False; if Assigned(FRecibo) then begin DADataSource.DataTable := FRecibo.DataTable; frViewTienda1.DataItem := FRecibo.DataTable; if FRecibo.SinFactura then begin dxLayoutControlFactura.Visible := false; dxLayoutControlClienteModif.Visible := true; eDescripcion.Enabled := True; end; end else DADataSource.DataTable := NIL; end; end.