unit uViewFacturaCliente; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uViewBase, DB, uDADataTable, uCustomView, uViewDatosYSeleccionContacto, uViewDatosFacturaCliente, uViewObservaciones, uViewFormaPago, AppEvnts, uBizFacturasCliente, cxControls, cxContainer, cxEdit, cxTextEdit, cxDBEdit, uViewTotales, dxLayoutControl, uViewDatosYSeleccionContacto2; type IViewFacturaCliente = interface(IViewBase) ['{3A95930C-20B3-41E9-93CB-21138ADB5B70}'] function GetFacturaCliente: IBizFacturasCliente; procedure SetFacturaCliente(const Value: IBizFacturasCliente); property FacturaCliente: IBizFacturasCliente read GetFacturaCliente write SetFacturaCliente; end; TfrViewFacturaCliente = class(TfrViewBase, IViewFacturaCliente) DADataSource: TDADataSource; dxLayoutControl1Group_Root: TdxLayoutGroup; dxLayoutControl1: TdxLayoutControl; dxLayoutControl1Item1: TdxLayoutItem; frViewDatosFacturaCliente1: TfrViewDatosFacturaCliente; dxLayoutControl1Item2: TdxLayoutItem; frViewDatosYSeleccionContacto21: TfrViewDatosYSeleccionContacto2; dxLayoutControl1Item3: TdxLayoutItem; dxLayoutControl1Group1: TdxLayoutGroup; procedure frViewDatosYSeleccionContacto21actElegirContactoExecute(Sender: TObject); procedure frViewDatosYSeleccionContacto21actAnadirContactoExecute(Sender: TObject); procedure frViewDatosYSeleccionContacto21actVerContactoExecute(Sender: TObject); procedure frViewDatosYSeleccionContacto21edtlNombrePropertiesEditValueChanged(Sender: TObject); // procedure frViewObraFactura1actElegirObraExecute(Sender: TObject); private FFacturaCliente : IBizFacturasCliente; procedure OnContactoChanged (Sender : TObject); // procedure OnObraChanged(Sender : TObject); protected function GetFacturaCliente: IBizFacturasCliente; procedure SetFacturaCliente(const Value: IBizFacturasCliente); public property FacturaCliente: IBizFacturasCliente read GetFacturaCliente write SetFacturaCliente; end; var frViewFacturaCliente: TfrViewFacturaCliente; implementation uses uBizContacto, uExceptions, uDataModuleContactos, schFacturasClienteClient_Intf; {$R *.dfm} { TfrViewFacturaCliente } function TfrViewFacturaCliente.GetFacturaCliente: IBizFacturasCliente; begin Result := FFacturaCliente; end; procedure TfrViewFacturaCliente.OnContactoChanged(Sender: TObject); begin FFacturaCliente.Cliente := (frViewDatosYSeleccionContacto21.Contacto as IBizContacto); end; procedure TfrViewFacturaCliente.SetFacturaCliente(const Value: IBizFacturasCliente); begin FFacturaCliente := Value; if Assigned(FFacturaCliente) then begin DADataSource.DataTable := FFacturaCliente.DataTable; //Solo se deshabilita al insertar, luego la referencia será modificable // if FFacturaCliente.DataTable.State = dsInsert then // frViewDatosFacturaCliente1.eReferencia.Enabled := False; end else DADataSource.DataTable := NIL; frViewDatosFacturaCliente1.DADataSource.DataTable := DADataSource.DataTable; // frViewObservaciones1.DADataSource.DataTable := DADataSource.DataTable; // frViewFormaPago1.DADataSource.DataTable := DADataSource.DataTable; frViewDatosYSeleccionContacto21.Contacto := FFacturaCliente.Cliente; frViewDatosYSeleccionContacto21.OnContactoChanged := OnContactoChanged; { frViewObraFactura1.Obra := FFacturaCliente.Obra; frViewObraFactura1.OnObraChanged := OnObraChanged;} end; procedure TfrViewFacturaCliente.frViewDatosYSeleccionContacto21actElegirContactoExecute( Sender: TObject); begin inherited; frViewDatosYSeleccionContacto21.actElegirContactoExecute(Sender); end; procedure TfrViewFacturaCliente.frViewDatosYSeleccionContacto21actAnadirContactoExecute( Sender: TObject); begin inherited; frViewDatosYSeleccionContacto21.actAnadirContactoExecute(Sender); end; procedure TfrViewFacturaCliente.frViewDatosYSeleccionContacto21actVerContactoExecute( Sender: TObject); var AContacto : IBizContacto; begin inherited; AContacto := dmContactos.GetContacto(FFacturaCliente.CODIGOCONTACTO); try AContacto.Show; finally AContacto := NIL; end; end; procedure TfrViewFacturaCliente.frViewDatosYSeleccionContacto21edtlNombrePropertiesEditValueChanged(Sender: TObject); begin inherited; with (Sender as TcxDBTextEdit) do Enabled := (FFacturaCliente.CODIGOCONTACTO <> 0) end; {procedure TfrViewFacturaCliente.OnObraChanged(Sender: TObject); begin FFacturaCliente.Obra := frViewObraFactura1.Obra; frViewDatosYSeleccionContacto21.Contacto := FFacturaCliente.Obra.Cliente; end;} {procedure TfrViewFacturaCliente.frViewObraFactura1actElegirObraExecute(Sender: TObject); begin // frViewObraFactura1.actElegirObra.Execute; end;} end.