FactuGES2/Source/Modulos/Contactos/Views/uEditorProveedor.pas

126 lines
3.9 KiB
ObjectPascal
Raw Blame History

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('<27>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<61> una subcuenta al proveedor
if not Contacto.EsNuevo
and (frViewSubCuentaContacto1.cbIgnorarContabilidad.EditValue = 0) then
if (ShowConfirmMessage('Confirmaci<63>n de subcuenta', 'Se crear<61> una nueva subcuenta para el proveedor' + #10#13 + '<27>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.