unit uViewDireccionEntregaAlbaranCliente; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uViewBase, uBizAlbaranesCliente, cxGraphics, dxLayoutControl, cxMemo, cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxDropDownEdit, cxLookupEdit, cxDBLookupEdit, cxDBLookupComboBox, StdCtrls, cxControls, DB, uDADataTable, ActnList, uAlbaranesClienteController, Buttons, cxDBEdit; type IViewDireccionEntregaAlbaranCliente = interface(IViewBase) ['{C23A361A-98CA-450C-9F29-2DA7877601EE}'] function GetAlbaranCliente: IBizAlbaranCliente; procedure SetAlbaranCliente(const Value: IBizAlbaranCliente); property AlbaranCliente: IBizAlbaranCliente read GetAlbaranCliente write SetAlbaranCliente; end; TfrViewDireccionEntregaAlbaranCliente = class(TfrViewBase, IViewDireccionEntregaAlbaranCliente) dxLayoutControl1: TdxLayoutControl; dxLayoutGroup1: TdxLayoutGroup; dsAlbaran: TDADataSource; dsAlmacenes: TDADataSource; dxLayoutControl1Item1: TdxLayoutItem; eCalle: TcxDBTextEdit; dxLayoutControl1Item2: TdxLayoutItem; ePoblacion: TcxDBTextEdit; dxLayoutControl1Item3: TdxLayoutItem; eProvincia: TcxDBTextEdit; dxLayoutControl1Item4: TdxLayoutItem; eCodigoPostal: TcxDBTextEdit; dxLayoutControl1Item5: TdxLayoutItem; eTlfTrabajo: TcxDBTextEdit; dxLayoutControl1Item6: TdxLayoutItem; ePersonaContacto: TcxDBTextEdit; dxLayoutControl1Group3: TdxLayoutGroup; dxLayoutControl1Group1: TdxLayoutGroup; dxLayoutControl1Group5: TdxLayoutGroup; dxLayoutControl1Group4: TdxLayoutGroup; procedure cbListaPropertiesValidate(Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean); protected // FAlmacenesController : IAlmacenesController; // FAlmacenes: IBizAlmacen; FAlbaran : IBizAlbaranCliente; FController : IAlbaranesClienteController; function GetAlbaranCliente: IBizAlbaranCliente; procedure SetAlbaranCliente(const Value: IBizAlbaranCliente); procedure RefrescarDireccion; public property AlbaranCliente: IBizAlbaranCliente read GetAlbaranCliente write SetAlbaranCliente; constructor Create(AOwner: TComponent); override; destructor Destroy; override; end; implementation {$R *.dfm} uses uEditorRegistryUtils; procedure TfrViewDireccionEntregaAlbaranCliente.cbListaPropertiesValidate( Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean); begin { if Assigned(FAlbaran) and (FAlbaran.ID_ALMACEN <> FAlmacenes.ID) then begin FAlbaran.Edit; FAlbaran.CALLE := FAlmacenes.CALLE; FAlbaran.POBLACION := FAlmacenes.POBLACION; FAlbaran.POBLACION := FAlmacenes.POBLACION; FAlbaran.PROVINCIA := FAlmacenes.PROVINCIA; FAlbaran.CODIGO_POSTAL := FAlmacenes.CODIGO_POSTAL; FAlbaran.PERSONA_CONTACTO := FAlmacenes.PERSONA_CONTACTO; FAlbaran.TELEFONO := FAlmacenes.TELEFONO; RefrescarDireccion; end;} end; constructor TfrViewDireccionEntregaAlbaranCliente.Create(AOwner: TComponent); begin inherited; FAlbaran := NIL; { FController := TAlbaranesClienteController.Create; FAlmacenesController := TAlmacenesController.Create; FAlmacenes := FAlmacenesController.BuscarTodos; FAlmacenes.DataTable.Active := True; dsAlmacenes.DataTable := FAlmacenes.DataTable;} end; destructor TfrViewDireccionEntregaAlbaranCliente.Destroy; begin { cbLista.Properties.OnValidate := Nil; FAlmacenesController := Nil; FAlmacenes := Nil; FController := NIL; } FAlbaran := NIL; inherited; end; function TfrViewDireccionEntregaAlbaranCliente.GetAlbaranCliente: IBizAlbaranCliente; begin Result := FAlbaran; end; procedure TfrViewDireccionEntregaAlbaranCliente.RefrescarDireccion; begin { memDireccion.Lines.Clear; if Assigned(FAlbaran) then begin memDireccion.Lines.Add(FAlbaran.CALLE); memDireccion.Lines.Add(FAlbaran.CODIGO_POSTAL + ' ' + FPedido.POBLACION); memDireccion.Lines.Add(FAlbaran.PROVINCIA); end;} end; procedure TfrViewDireccionEntregaAlbaranCliente.SetAlbaranCliente( const Value: IBizAlbaranCliente); begin FAlbaran := Value; if Assigned(FAlbaran) then dsAlbaran.DataTable := FAlbaran.DataTable else dsAlbaran.DataTable := NIL; { cbLista.Properties.OnValidate := NIL; dsAlbaran.DataTable := nil; FAlbaran := Value; if not FAlbaran.EsNuevo then RefrescarDireccion; // Esto al final para que no salten los eventos del cxComboBox dsAlbaran.DataTable := FAlbaran.DataTable; cbLista.Properties.OnValidate := cbListaPropertiesValidate;} end; end.