unit uEditorProveedor; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, uEditorContacto, uCustomView, uViewBase, uViewContacto, uViewProveedor, JvAppStorage, JvAppRegistryStorage, JvComponentBase, JvFormPlacement, DB, uDADataTable, ImgList, PngImageList, StdActns, ActnList, ComCtrls, TBX, TB2Item, TB2Dock, TB2Toolbar, ExtCtrls, JvExControls, JvComponent, JvNavigationPane, uIEditorProveedor, cxControls, cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxSpinEdit, cxDBEdit, pngimage, TBXStatusBars, JvExComCtrls, JvStatusBar, dxLayoutLookAndFeels, uViewContactoDatosBancarios, uBizContactos, uViewProveedorDatosComerciales, uViewDetallesGenerico, uViewDireccionesEntrega, uDAInterfaces, uViewSubCuentaContacto; type TfEditorProveedor = class(TfEditorContacto, IEditorProveedor) frViewProveedor1: TfrViewProveedor; pagDatosComerciales: TTabSheet; frViewProveedorDatosComerciales1: TfrViewProveedorDatosComerciales; pagDirecciones: TTabSheet; frViewDireccionesEntrega1: TfrViewDireccionesEntrega; actGruposProveedor: TAction; PagContabilidad: TTabSheet; frViewSubCuentaContacto1: TfrViewSubCuentaContacto; procedure actGruposProveedorExecute(Sender: TObject); protected procedure GuardarInterno; override; procedure EliminarInterno; override; procedure SetContacto(const Value: IBizContacto); override; public constructor Create(AOwner: TComponent); override; procedure PonerTitulos(const ATitulo: string = ''); override; end; implementation {$R *.dfm} {$INCLUDE ..\..\..\FactuGES.inc} { TfEditorProveedor } uses uDialogUtils, uGruposProveedorController, uBizGruposProveedor; procedure TfEditorProveedor.actGruposProveedorExecute(Sender: TObject); var AGruposController : IGruposProveedorController; AGrupos : IBizGrupoProveedor; begin AGruposController := TGruposProveedorController.Create; try AGrupos := (AGruposController.BuscarTodos as IBizGrupoProveedor); AGruposController.VerTodos(AGrupos); finally AGrupos := NIL; AGruposController := NIL; end; end; constructor TfEditorProveedor.Create(AOwner: TComponent); begin inherited; ViewContacto := frViewProveedor1; {$IFDEF CONTABILIDAD} pagContabilidad.TabVisible := true; {$ELSE} pagContabilidad.TabVisible := false; {$ENDIF} end; procedure TfEditorProveedor.EliminarInterno; begin if (ShowConfirmMessage('¿Desea borrar este proveedor?', '') = IDYES) then inherited; end; procedure TfEditorProveedor.GuardarInterno; begin //Si estamos modificando un proveedor y se activa la contabilidad, debemos avisar que se asignará una subcuenta al proveedor if not Contacto.EsNuevo and (frViewSubCuentaContacto1.cbIgnorarContabilidad.EditValue = 0) then if (ShowConfirmMessage('Confirmación de subcuenta', 'Se creará una nueva subcuenta para el proveedor' + #10#13 + '¿Esta seguro que desea continuar?') = IDNO) then frViewSubCuentaContacto1.cbIgnorarContabilidad.EditValue := 1; inherited; end; procedure TfEditorProveedor.PonerTitulos(const ATitulo: string); var FTitulo : String; begin if Assigned(Contacto) then begin if Contacto.EsNuevo then FTitulo := 'Nuevo proveedor' else FTitulo := 'Proveedor'; end; inherited PonerTitulos(FTitulo); end; procedure TfEditorProveedor.SetContacto(const Value: IBizContacto); begin inherited; if Assigned(Contacto) then begin frViewDireccionesEntrega1.dsDetalles.DataTable := Contacto.Direcciones.DataTable; frViewProveedorDatosComerciales1.Contacto := Contacto; frViewSubCuentaContacto1.Contacto := Contacto; end else begin frViewProveedorDatosComerciales1.Contacto := NIL; frViewDireccionesEntrega1.dsDetalles.DataTable := NIL; frViewSubCuentaContacto1.Contacto := NIL; end; end; end.