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

140 lines
4.5 KiB
ObjectPascal
Raw Blame History

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, uViewSubCuentaContacto;
type
TfEditorCliente = class(TfEditorContacto, IEditorCliente)
frViewCliente1: TfrViewCliente;
pagDirecciones: TTabSheet;
frViewDireccionesEntrega1: TfrViewDireccionesEntrega;
actGruposCliente: TAction;
TBXItem7: TTBXItem;
pagDescuentos: TTabSheet;
frViewClienteDescuentos1: TfrViewClienteDescuentos;
pagDatosComerciales: TTabSheet;
frViewClienteDatosComerciales1: TfrViewClienteDatosComerciales;
pagContabilidad: TTabSheet;
frViewSubCuentaContacto1: TfrViewSubCuentaContacto;
procedure FormShow(Sender: TObject);
procedure actGruposClienteExecute(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}
uses
uEditorItem, uEditorBase, uDataModuleUsuarios, uEditorDBItem, cxDBEdit,
uGruposClienteController, uBizGruposCliente, uEditorDBBase, uDialogUtils;
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;
constructor TfEditorCliente.Create(AOwner: TComponent);
begin
inherited;
ViewContacto := frViewCliente1;
{$IFDEF CONTABILIDAD}
pagContabilidad.TabVisible := true;
{$ELSE}
pagContabilidad.TabVisible := false;
{$ENDIF}
end;
procedure TfEditorCliente.EliminarInterno;
begin
if (ShowConfirmMessage('<27>Desea borrar este cliente?', '') = IDYES) then
inherited;
end;
procedure TfEditorCliente.FormShow(Sender: TObject);
begin
inherited;
pgPaginas.ActivePageIndex := 0;
end;
procedure TfEditorCliente.GuardarInterno;
begin
//Si estamos modificando un cliente y se activa la contabilidad, debemos avisar que se asignar<61> una subcuenta al cliente
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 cliente' + #10#13 + '<27>Esta seguro que desea continuar?') = IDNO) then
frViewSubCuentaContacto1.cbIgnorarContabilidad.EditValue := 1;
inherited;
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;
frViewClienteDatosComerciales1.Contacto := Contacto;
frViewSubCuentaContacto1.Contacto := Contacto;
end
else begin
frViewDireccionesEntrega1.dsDetalles.DataTable := NIL;
frViewClienteDescuentos1.dsDetalles.DataTable := NIL;
frViewClienteDatosComerciales1.Contacto := NIL;
frViewSubCuentaContacto1.Contacto := NIL;
end;
end;
end.