395 lines
13 KiB
ObjectPascal
395 lines
13 KiB
ObjectPascal
|
|
{
|
|||
|
|
===============================================================================
|
|||
|
|
Copyright (<EFBFBD>) 2002. Rodax Software.
|
|||
|
|
===============================================================================
|
|||
|
|
Los contenidos de este fichero son propiedad de Rodax Software titular del
|
|||
|
|
copyright. Este fichero s<EFBFBD>lo podr<EFBFBD> ser copiado, distribuido y utilizado,
|
|||
|
|
en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
|
|||
|
|
acuerdo con los t<EFBFBD>rminos y condiciones establecidas en el acuerdo/contrato
|
|||
|
|
bajo el que se suministra.
|
|||
|
|
-----------------------------------------------------------------------------
|
|||
|
|
Web: www.rodax-software.com
|
|||
|
|
===============================================================================
|
|||
|
|
Fecha primera versi<EFBFBD>n: 03-11-2002
|
|||
|
|
Versi<EFBFBD>n actual: 1.0.0
|
|||
|
|
Fecha versi<EFBFBD>n actual: 03-11-2002
|
|||
|
|
===============================================================================
|
|||
|
|
Modificaciones:
|
|||
|
|
|
|||
|
|
Fecha Comentarios
|
|||
|
|
---------------------------------------------------------------------------
|
|||
|
|
===============================================================================
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
unit TablaSucursalesCliente;
|
|||
|
|
|
|||
|
|
interface
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
//Generales
|
|||
|
|
SysUtils, Classes, Controls, IBSQL, cxGridDBTableView, cxCustomData, DB,
|
|||
|
|
//Particulares
|
|||
|
|
Contnrs, cxGridDBCardView, cxButtonEdit, cxEdit,
|
|||
|
|
|
|||
|
|
//Aplicacion
|
|||
|
|
Framework, StrFunc, Entidades, Constantes, BaseDatos;
|
|||
|
|
|
|||
|
|
type
|
|||
|
|
////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
//TDatosSucursal
|
|||
|
|
////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
TDatosSucursal = class(TPersistent)
|
|||
|
|
public
|
|||
|
|
NIFCIF : String;
|
|||
|
|
Nombre : String;
|
|||
|
|
Calle : String;
|
|||
|
|
Numero : String;
|
|||
|
|
Piso : String;
|
|||
|
|
CodigoPostal : String;
|
|||
|
|
Poblacion : String;
|
|||
|
|
Provincia : String;
|
|||
|
|
Telefono1 : String;
|
|||
|
|
Telefono2 : String;
|
|||
|
|
Movil1 : String;
|
|||
|
|
Movil2 : String;
|
|||
|
|
Fax : String;
|
|||
|
|
Correo : String;
|
|||
|
|
PersonaContacto : String;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
TListaSucursales = class(TPersistent)
|
|||
|
|
private
|
|||
|
|
FLista : TObjectList;
|
|||
|
|
FCodigoCliente : String;
|
|||
|
|
function GetCount : Integer;
|
|||
|
|
function GetSucursal(Index: Integer): TDatosSucursal;
|
|||
|
|
protected
|
|||
|
|
procedure ObtenerLista; virtual;
|
|||
|
|
public
|
|||
|
|
constructor Create(CodigoCliente : String);
|
|||
|
|
destructor Destroy; override;
|
|||
|
|
property Count : Integer read GetCount;
|
|||
|
|
property Sucursal[Index: Integer] : TDatosSucursal read GetSucursal;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
//TdmTablaSucursalesCliente
|
|||
|
|
////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
TdmTablaSucursalesCliente = class(TDataModule)
|
|||
|
|
private
|
|||
|
|
procedure IniciarSQL;
|
|||
|
|
public
|
|||
|
|
sqlInsertar : TStrings;
|
|||
|
|
sqlModificar : TStrings;
|
|||
|
|
sqlConsultar : TStrings;
|
|||
|
|
sqlEliminar : TStrings;
|
|||
|
|
sqlGrid : TStrings;
|
|||
|
|
function FormatearCodigo(Codigo : String) : String;
|
|||
|
|
constructor Create (AOwner : TComponent); override;
|
|||
|
|
destructor Destroy; override;
|
|||
|
|
procedure InicializarGridSucursales (var vGrid: TcxGridDBCardView);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
var
|
|||
|
|
dmTablaSucursalesCliente: TdmTablaSucursalesCliente;
|
|||
|
|
|
|||
|
|
implementation
|
|||
|
|
|
|||
|
|
{$R *.DFM}
|
|||
|
|
|
|||
|
|
constructor TdmTablaSucursalesCliente.Create (AOwner : TComponent);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
sqlInsertar := TStringList.Create;
|
|||
|
|
sqlModificar := TStringList.Create;
|
|||
|
|
sqlConsultar := TStringList.Create;
|
|||
|
|
sqlEliminar := TStringList.Create;
|
|||
|
|
sqlGrid := TStringList.Create;
|
|||
|
|
IniciarSQL;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
destructor TdmTablaSucursalesCliente.Destroy;
|
|||
|
|
begin
|
|||
|
|
sqlInsertar.Free;
|
|||
|
|
sqlModificar.Free;
|
|||
|
|
sqlConsultar.Free;
|
|||
|
|
sqlEliminar.Free;
|
|||
|
|
sqlGrid.Free;
|
|||
|
|
inherited;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TdmTablaSucursalesCliente.IniciarSQL;
|
|||
|
|
begin
|
|||
|
|
with sqlInsertar do
|
|||
|
|
begin
|
|||
|
|
Add('INSERT INTO SUCURSALESCLIENTE (');
|
|||
|
|
Add('CODIGOCLIENTE, CODIGO, TIPO, FECHAALTA, ');
|
|||
|
|
Add('NIFCIF, NOMBRE, CALLE, NUMERO, PISO, ');
|
|||
|
|
Add('CODIGOPOSTAL, POBLACION, PROVINCIA, ');
|
|||
|
|
Add('TELEFONO1, TELEFONO2, MOVIL1, MOVIL2, ');
|
|||
|
|
Add('FAX, CORREO, PERSONACONTACTO, USUARIO) ');
|
|||
|
|
Add('VALUES (:CODIGOCLIENTE, :CODIGO, :TIPO, ');
|
|||
|
|
Add(':FECHAALTA, :NIFCIF, :NOMBRE, :CALLE, ');
|
|||
|
|
Add(':NUMERO, :PISO, :CODIGOPOSTAL, ');
|
|||
|
|
Add(':POBLACION, :PROVINCIA, :TELEFONO1, ');
|
|||
|
|
Add(':TELEFONO2, :MOVIL1, :MOVIL2, ');
|
|||
|
|
Add(':FAX, :CORREO, :PERSONACONTACTO, :USUARIO)');
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
with sqlModificar do
|
|||
|
|
begin
|
|||
|
|
Add('UPDATE SUCURSALESCLIENTE SET ');
|
|||
|
|
Add('NIFCIF = :NIFCIF, ');
|
|||
|
|
Add('NOMBRE = :NOMBRE, ');
|
|||
|
|
Add('CALLE = :CALLE, ');
|
|||
|
|
Add('NUMERO = :NUMERO, ');
|
|||
|
|
Add('PISO = :PISO, ');
|
|||
|
|
Add('CODIGOPOSTAL = :CODIGOPOSTAL, ');
|
|||
|
|
Add('POBLACION = :POBLACION, ');
|
|||
|
|
Add('PROVINCIA = :PROVINCIA, ');
|
|||
|
|
Add('TELEFONO1 = :TELEFONO1, ');
|
|||
|
|
Add('TELEFONO2 = :TELEFONO2, ');
|
|||
|
|
Add('MOVIL1 = :MOVIL1, ');
|
|||
|
|
Add('MOVIL2 = :MOVIL2, ');
|
|||
|
|
Add('FAX = :FAX, ');
|
|||
|
|
Add('CORREO = :CORREO, ');
|
|||
|
|
Add('PERSONACONTACTO = :PERSONACONTACTO ');
|
|||
|
|
Add('WHERE (CODIGOCLIENTE = :CODIGOCLIENTE) AND ');
|
|||
|
|
Add('(CODIGO = :CODIGO)');
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
with sqlEliminar do
|
|||
|
|
begin
|
|||
|
|
Add('delete from SUCURSALESCLIENTE ');
|
|||
|
|
Add('where CODIGO = :CODIGO and ');
|
|||
|
|
Add('CODIGOCLIENTE = :CODIGOCLIENTE');
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
with sqlConsultar do
|
|||
|
|
begin
|
|||
|
|
Add('select CODIGOCLIENTE, CODIGO, TIPO, FECHAALTA, ');
|
|||
|
|
Add('NIFCIF, NOMBRE, CALLE, NUMERO, PISO, CODIGOPOSTAL, POBLACION, ');
|
|||
|
|
Add('PROVINCIA, TELEFONO1, TELEFONO2, MOVIL1, MOVIL2, FAX, CORREO, ');
|
|||
|
|
Add('PERSONACONTACTO, USUARIO');
|
|||
|
|
Add('from SUCURSALESCLIENTE ');
|
|||
|
|
Add('where CODIGO = :CODIGO and ');
|
|||
|
|
Add('CODIGOCLIENTE = :CODIGOCLIENTE');
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
with sqlGrid do
|
|||
|
|
begin
|
|||
|
|
Add('select CODIGOCLIENTE, CODIGO, TIPO, FECHAALTA, ');
|
|||
|
|
Add('NIFCIF, NOMBRE, CALLE, NUMERO, PISO, CODIGOPOSTAL, POBLACION, ');
|
|||
|
|
Add('PROVINCIA, TELEFONO1, TELEFONO2, MOVIL1, MOVIL2, FAX, CORREO, ');
|
|||
|
|
Add('PERSONACONTACTO, USUARIO');
|
|||
|
|
Add('from SUCURSALESCLIENTE ');
|
|||
|
|
Add('where CODIGOCLIENTE = :CODIGOCLIENTE ');
|
|||
|
|
Add('order by CODIGO');
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TdmTablaSucursalesCliente.FormatearCodigo(Codigo : String) : String;
|
|||
|
|
begin
|
|||
|
|
Result := StrPadLeft(Codigo, 10, '0');
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TdmTablaSucursalesCliente.InicializarGridSucursales (var vGrid: TcxGridDBCardView);
|
|||
|
|
var
|
|||
|
|
Columna : TcxGridDBCardViewRow;
|
|||
|
|
begin
|
|||
|
|
with vGrid do begin
|
|||
|
|
{Columna RDB$DB_KEY}
|
|||
|
|
{ Columna := CreateRow;
|
|||
|
|
Columna.DataBinding.FieldName := 'RDB$DB_KEY';
|
|||
|
|
Columna.Caption := 'RDB$DB_KEY';
|
|||
|
|
Columna.Visible := False;}
|
|||
|
|
{Columna CODIGO}
|
|||
|
|
Columna := CreateRow;
|
|||
|
|
Columna.DataBinding.FieldName := 'CODIGO';
|
|||
|
|
Columna.Caption := 'C<>digo';
|
|||
|
|
Columna.CaptionAlignmentHorz := taRightJustify;
|
|||
|
|
Columna.Visible := False;
|
|||
|
|
{Columna CODIGOCLIENTE}
|
|||
|
|
Columna := CreateRow;
|
|||
|
|
Columna.DataBinding.FieldName := 'CODIGOCLIENTE';
|
|||
|
|
Columna.Caption := 'C<>d.Cliente';
|
|||
|
|
Columna.CaptionAlignmentHorz := taRightJustify;
|
|||
|
|
Columna.Visible := False;
|
|||
|
|
{Columna NIFCIF}
|
|||
|
|
Columna := CreateRow;
|
|||
|
|
Columna.DataBinding.FieldName := 'NIFCIF';
|
|||
|
|
Columna.Caption := 'NIF/CIF';
|
|||
|
|
Columna.CaptionAlignmentHorz := taRightJustify;
|
|||
|
|
{Columna NOMBRE}
|
|||
|
|
Columna := CreateRow;
|
|||
|
|
Columna.DataBinding.FieldName := 'NOMBRE';
|
|||
|
|
Columna.Caption := 'Nombre';
|
|||
|
|
Columna.CaptionAlignmentHorz := taRightJustify;
|
|||
|
|
{Columna CALLE}
|
|||
|
|
Columna := CreateRow;
|
|||
|
|
Columna.DataBinding.FieldName := 'CALLE';
|
|||
|
|
Columna.Caption := 'Calle';
|
|||
|
|
Columna.CaptionAlignmentHorz := taRightJustify;
|
|||
|
|
{Columna NUMERO}
|
|||
|
|
Columna := CreateRow;
|
|||
|
|
Columna.DataBinding.FieldName := 'NUMERO';
|
|||
|
|
Columna.Caption := 'N<>mero';
|
|||
|
|
Columna.CaptionAlignmentHorz := taRightJustify;
|
|||
|
|
{Columna PISO}
|
|||
|
|
Columna := CreateRow;
|
|||
|
|
Columna.DataBinding.FieldName := 'PISO';
|
|||
|
|
Columna.Caption := 'Piso';
|
|||
|
|
Columna.CaptionAlignmentHorz := taRightJustify;
|
|||
|
|
{Columna CODIGOPOSTAL}
|
|||
|
|
Columna := CreateRow;
|
|||
|
|
Columna.DataBinding.FieldName := 'CODIGOPOSTAL';
|
|||
|
|
Columna.Caption := 'C<>d. postal';
|
|||
|
|
Columna.CaptionAlignmentHorz := taRightJustify;
|
|||
|
|
{Columna PROVINCIA}
|
|||
|
|
Columna := CreateRow;
|
|||
|
|
Columna.DataBinding.FieldName := 'PROVINCIA';
|
|||
|
|
Columna.Caption := 'Provincia';
|
|||
|
|
Columna.CaptionAlignmentHorz := taRightJustify;
|
|||
|
|
Columna.PropertiesClassName := 'TcxButtonEditProperties';
|
|||
|
|
with TcxButtonEditProperties(Columna.Properties) do
|
|||
|
|
begin
|
|||
|
|
Buttons[0].Kind := bkEllipsis;
|
|||
|
|
end;
|
|||
|
|
{Columna POBLACION}
|
|||
|
|
Columna := CreateRow;
|
|||
|
|
Columna.DataBinding.FieldName := 'POBLACION';
|
|||
|
|
Columna.Caption := 'Poblaci<63>n';
|
|||
|
|
Columna.CaptionAlignmentHorz := taRightJustify;
|
|||
|
|
Columna.PropertiesClassName := 'TcxButtonEditProperties';
|
|||
|
|
with TcxButtonEditProperties(Columna.Properties) do
|
|||
|
|
begin
|
|||
|
|
Buttons[0].Kind := bkEllipsis;
|
|||
|
|
end;
|
|||
|
|
{Columna TELEFONO1}
|
|||
|
|
Columna := CreateRow;
|
|||
|
|
Columna.DataBinding.FieldName := 'TELEFONO1';
|
|||
|
|
Columna.Caption := 'Tlf. 1';
|
|||
|
|
Columna.CaptionAlignmentHorz := taRightJustify;
|
|||
|
|
{Columna TELEFONO2}
|
|||
|
|
Columna := CreateRow;
|
|||
|
|
Columna.DataBinding.FieldName := 'TELEFONO2';
|
|||
|
|
Columna.Caption := 'Tlf. 2';
|
|||
|
|
Columna.CaptionAlignmentHorz := taRightJustify;
|
|||
|
|
{Columna MOVIL1}
|
|||
|
|
Columna := CreateRow;
|
|||
|
|
Columna.DataBinding.FieldName := 'MOVIL1';
|
|||
|
|
Columna.Caption := 'M<>vil 1';
|
|||
|
|
Columna.CaptionAlignmentHorz := taRightJustify;
|
|||
|
|
{Columna MOVIL2}
|
|||
|
|
Columna := CreateRow;
|
|||
|
|
Columna.DataBinding.FieldName := 'MOVIL2';
|
|||
|
|
Columna.Caption := 'M<>vil 2';
|
|||
|
|
Columna.CaptionAlignmentHorz := taRightJustify;
|
|||
|
|
{Columna FAX}
|
|||
|
|
Columna := CreateRow;
|
|||
|
|
Columna.DataBinding.FieldName := 'FAX';
|
|||
|
|
Columna.Caption := 'Fax';
|
|||
|
|
Columna.CaptionAlignmentHorz := taRightJustify;
|
|||
|
|
{Columna CORREO}
|
|||
|
|
Columna := CreateRow;
|
|||
|
|
Columna.DataBinding.FieldName := 'CORREO';
|
|||
|
|
Columna.Caption := 'Correo electr<74>nico';
|
|||
|
|
Columna.CaptionAlignmentHorz := taRightJustify;
|
|||
|
|
{Columna PERSONACONTACTO}
|
|||
|
|
Columna := CreateRow;
|
|||
|
|
Columna.DataBinding.FieldName := 'PERSONACONTACTO';
|
|||
|
|
Columna.Caption := 'Pers. de contacto';
|
|||
|
|
Columna.CaptionAlignmentHorz := taRightJustify;
|
|||
|
|
{Columna USUARIO}
|
|||
|
|
Columna := CreateRow;
|
|||
|
|
Columna.DataBinding.FieldName := 'USUARIO';
|
|||
|
|
Columna.Caption := 'Usuario';
|
|||
|
|
Columna.Visible := False;
|
|||
|
|
Columna.CaptionAlignmentHorz := taRightJustify;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
{ TListaSucursales }
|
|||
|
|
|
|||
|
|
constructor TListaSucursales.Create(CodigoCliente: String);
|
|||
|
|
begin
|
|||
|
|
FCodigoCliente := CodigoCliente;
|
|||
|
|
FLista := TObjectList.Create;
|
|||
|
|
ObtenerLista;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
destructor TListaSucursales.Destroy;
|
|||
|
|
begin
|
|||
|
|
FLista.Free;
|
|||
|
|
FLista := NIL;
|
|||
|
|
inherited;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TListaSucursales.GetCount: Integer;
|
|||
|
|
begin
|
|||
|
|
Result := FLista.Count;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TListaSucursales.GetSucursal(Index: Integer): TDatosSucursal;
|
|||
|
|
begin
|
|||
|
|
Result := TDatosSucursal(FLista.Items[Index]);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TListaSucursales.ObtenerLista;
|
|||
|
|
var
|
|||
|
|
oSQL : TIBSQL;
|
|||
|
|
Sucursal : TDatosSucursal;
|
|||
|
|
begin
|
|||
|
|
oSQL := TIBSQL.Create(nil);
|
|||
|
|
with oSQL do
|
|||
|
|
begin
|
|||
|
|
Database := dmBaseDatos.BD;
|
|||
|
|
Transaction := dmBaseDatos.Transaccion;
|
|||
|
|
SQL.Add('select CODIGOCLIENTE, CODIGO, TIPO, ');
|
|||
|
|
SQL.Add('FECHAALTA, USUARIO, NIFCIF, ');
|
|||
|
|
SQL.Add('NOMBRE, CALLE, NUMERO, ');
|
|||
|
|
SQL.Add('PISO, CODIGOPOSTAL, POBLACION, ');
|
|||
|
|
SQL.Add('PROVINCIA, TELEFONO1, TELEFONO2, ');
|
|||
|
|
SQL.Add('MOVIL1, MOVIL2, FAX, ');
|
|||
|
|
SQL.Add('CORREO, PERSONACONTACTO ');
|
|||
|
|
SQL.Add('from SUCURSALESCLIENTE ');
|
|||
|
|
SQL.Add('where CODIGOCLIENTE = :CODIGOCLIENTE and ');
|
|||
|
|
SQL.Add('TIPO = ''S'' ');
|
|||
|
|
SQL.Add('order by CODIGO');
|
|||
|
|
try
|
|||
|
|
ParamByName('CODIGOCLIENTE').AsString := FCodigoCliente;
|
|||
|
|
Prepare;
|
|||
|
|
ExecQuery;
|
|||
|
|
while not EOF do begin
|
|||
|
|
Sucursal := TDatosSucursal.Create;
|
|||
|
|
with Sucursal do
|
|||
|
|
begin
|
|||
|
|
NIFCIF := FieldByName('NIFCIF').AsString;
|
|||
|
|
Nombre := FieldByName('NOMBRE').AsString;
|
|||
|
|
Calle := FieldByName('CALLE').AsString;
|
|||
|
|
Numero := FieldByName('NUMERO').AsString;
|
|||
|
|
Piso := FieldByName('PISO').AsString;
|
|||
|
|
CodigoPostal := FieldByName('CODIGOPOSTAL').AsString;
|
|||
|
|
Poblacion := FieldByName('POBLACION').AsString;
|
|||
|
|
Provincia := FieldByName('PROVINCIA').AsString;
|
|||
|
|
Telefono1 := FieldByName('TELEFONO1').AsString;
|
|||
|
|
Telefono2 := FieldByName('TELEFONO2').AsString;
|
|||
|
|
Movil1 := FieldByName('MOVIL1').AsString;
|
|||
|
|
Movil2 := FieldByName('MOVIL2').AsString;
|
|||
|
|
Fax := FieldByName('FAX').AsString;
|
|||
|
|
Correo := FieldByName('CORREO').AsString;
|
|||
|
|
PersonaContacto := FieldByName('PERSONACONTACTO').AsString;
|
|||
|
|
end;
|
|||
|
|
FLista.Add(Sucursal);
|
|||
|
|
Next;
|
|||
|
|
end;
|
|||
|
|
finally
|
|||
|
|
Close;
|
|||
|
|
Transaction := NIL;
|
|||
|
|
Free;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
end.
|