unit uEditorCliente; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, uEditorContacto, ImgList, PngImageList, StdActns, ActnList, TBX, TB2Item, TB2Dock, TB2Toolbar, ComCtrls, JvExControls, JvComponent, JvNavigationPane, uViewCliente, uBizContactos, DB, uDADataTable, JvFormAutoSize, uDAScriptingProvider, uDACDSDataTable, uCustomView, uViewBase, JvAppStorage, JvAppRegistryStorage, JvFormPlacement, ExtCtrls, pngimage, JvComponentBase, uViewContacto, StdCtrls, uIEditorCliente, TBXStatusBars, JvExComCtrls, JvStatusBar, uViewEmpleado, uViewDireccionesEntrega, uViewDetallesGenerico, uViewClienteDescuentos, uViewContactoDatosBancarios, dxLayoutLookAndFeels, uViewClienteDatosComerciales, uDAInterfaces, uViewContactoListaDatosBancarios, uViewPersonalContacto, cxControls, cxContainer, cxEdit, cxLabel, uViewClienteDescuentosArticulos, uViewSucursalesContacto; type TfEditorCliente = class(TfEditorContacto, IEditorCliente) frViewCliente1: TfrViewCliente; pagDirecciones: TTabSheet; frViewDireccionesEntrega1: TfrViewDireccionesEntrega; actGruposCliente: TAction; TBXItem7: TTBXItem; pagDescuentos: TTabSheet; frViewClienteDescuentos1: TfrViewClienteDescuentos; pagDatosComerciales: TTabSheet; frViewClienteDatosComerciales1: TfrViewClienteDatosComerciales; TBXSubmenuItem2: TTBXSubmenuItem; TBXSubmenuItem3: TTBXSubmenuItem; TBXItem33: TTBXItem; TBXSeparatorItem6: TTBXSeparatorItem; actDocumentosPedidos: TAction; actDocumentosAlbaranes: TAction; actDocumentosFacturas: TAction; TBXSubmenuItem8: TTBXSubmenuItem; TBXItem34: TTBXItem; TBXItem35: TTBXItem; TBXItem36: TTBXItem; TBXItem37: TTBXItem; TBXItem38: TTBXItem; TBXItem39: TTBXItem; TBXItem40: TTBXItem; actDocumentosRecibos: TAction; TBXItem41: TTBXItem; frViewClienteDescuentosArticulos1: TfrViewClienteDescuentosArticulos; actTiposCliente: TAction; TBXItem42: TTBXItem; tabSucursales: TTabSheet; frViewSucursalesContacto1: TfrViewSucursalesContacto; procedure FormShow(Sender: TObject); procedure actGruposClienteExecute(Sender: TObject); procedure actDocumentosFacturasExecute(Sender: TObject); procedure actDocumentosPedidosExecute(Sender: TObject); procedure actDocumentosAlbaranesExecute(Sender: TObject); procedure actDocumentosRecibosExecute(Sender: TObject); procedure actTiposClienteExecute(Sender: TObject); protected procedure EliminarInterno; override; procedure SetContacto(const Value: IBizContacto); override; public constructor Create(AOwner: TComponent); override; procedure PonerTitulos(const ATitulo: string = ''); override; end; implementation uses uEditorItem, uEditorBase, uDataModuleUsuarios, uEditorDBItem, uGruposClienteController, uBizGruposCliente, uTiposClienteController, uBizTiposCliente, uEditorDBBase, uDialogUtils, uClientesController; {$R *.dfm} procedure TfEditorCliente.actDocumentosAlbaranesExecute(Sender: TObject); begin inherited; (FController as IClientesController).VerAlbaranesDeCliente(IBizCliente(FContacto)); end; procedure TfEditorCliente.actDocumentosFacturasExecute(Sender: TObject); begin inherited; (FController as IClientesController).VerFacturasDeCliente(IBizCliente(FContacto)); end; procedure TfEditorCliente.actDocumentosPedidosExecute(Sender: TObject); begin inherited; (FController as IClientesController).VerPedidosDeCliente(IBizCliente(FContacto)); end; procedure TfEditorCliente.actDocumentosRecibosExecute(Sender: TObject); begin inherited; (FController as IClientesController).VerRecibosDeCliente(IBizCliente(FContacto)); end; procedure TfEditorCliente.actGruposClienteExecute(Sender: TObject); var AGruposController : IGruposClienteController; AGrupos : IBizGrupoCliente; begin AGruposController := TGruposClienteController.Create; try AGrupos := (AGruposController.BuscarTodos as IBizGrupoCliente); AGruposController.VerTodos(AGrupos); finally AGrupos := NIL; AGruposController := NIL; end; end; procedure TfEditorCliente.actTiposClienteExecute(Sender: TObject); var ATiposClienteController : ITiposClienteController; ATiposCliente : IBizTipoCliente; begin ATiposClienteController := TTiposClienteController.Create; try ATiposCliente := (ATiposClienteController.BuscarTodos as IBizTipoCliente); ATiposClienteController.VerTodos(ATiposCliente); finally ATiposCliente := NIL; ATiposClienteController := NIL; end; end; constructor TfEditorCliente.Create(AOwner: TComponent); begin inherited; ViewContacto := frViewCliente1; end; procedure TfEditorCliente.EliminarInterno; begin if (ShowConfirmMessage('¿Desea borrar este cliente?', '') = IDYES) then inherited; end; procedure TfEditorCliente.FormShow(Sender: TObject); begin inherited; pgPaginas.ActivePageIndex := 0; end; procedure TfEditorCliente.PonerTitulos(const ATitulo: string); var FTitulo : String; begin if Assigned(Contacto) then begin if Contacto.EsNuevo then FTitulo := 'Nuevo cliente' else FTitulo := 'Cliente'; end; inherited PonerTitulos(FTitulo); if (Contacto as IBizCliente).BLOQUEADO = 1 then JvNavPanelHeader.Caption := JvNavPanelHeader.Caption + ' (Bloqueado)'; end; procedure TfEditorCliente.SetContacto(const Value: IBizContacto); begin inherited; if Assigned(Contacto) then begin frViewDireccionesEntrega1.dsDetalles.DataTable := Contacto.Direcciones.DataTable; frViewClienteDescuentos1.dsDetalles.DataTable := (Contacto as IBizCliente).Descuentos.DataTable; frViewClienteDescuentosArticulos1.dsDetalles.DataTable := (Contacto as IBizCliente).DescuentosArt.DataTable; frViewClienteDatosComerciales1.Contacto := Contacto; frViewSucursalesContacto1.Central := (Contacto as IBizCliente); if Assigned((FContacto as IBizCliente).Sucursales) then frViewSucursalesContacto1.dsDetalles.DataTable := (FContacto as IBizCliente).Sucursales.DataTable else frViewSucursalesContacto1.dsDetalles.DataTable := NIL; end else begin frViewDireccionesEntrega1.dsDetalles.DataTable := NIL; frViewClienteDescuentos1.dsDetalles.DataTable := NIL; frViewClienteDescuentosArticulos1.dsDetalles.DataTable := NIL; frViewClienteDatosComerciales1.Contacto := NIL; frViewCliente1.frViewDatosYSeleccionCentral1.ID_Cliente := Null; end; end; end.