This repository has been archived on 2024-12-02. You can view files and clone it, but cannot push or open issues or pull requests.
FactuGES/BaseDatos/TablaSucursalesCliente.pas

395 lines
13 KiB
ObjectPascal
Raw Permalink Normal View History

{
===============================================================================
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.