{ =============================================================================== Copyright (©) 2002. Rodax Software. =============================================================================== Los contenidos de este fichero son propiedad de Rodax Software titular del copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado, en su totalidad o en parte, con el permiso escrito de Rodax Software, o de acuerdo con los términos y condiciones establecidas en el acuerdo/contrato bajo el que se suministra. ----------------------------------------------------------------------------- Web: www.rodax-software.com =============================================================================== Fecha primera versión: 03-11-2002 Versión actual: 1.0.2 Fecha versión actual: 05-08-2004 =============================================================================== Modificaciones: Fecha Comentarios --------------------------------------------------------------------------- 30-07-2004 p284. Se han añadido los datos de inscripción del Registro Mercantil a la tabla de empresas. 05-08-2004 P279. Añadido el campo 'MODELOINFORME' para determinar por empresa qué formato usarán los informes (no internos). =============================================================================== } unit TablaEmpresas; interface uses //Generales SysUtils, Classes, Controls, IBSQL, cxGridDBTableView, cxCustomData, DB, //Particulares IBCustomDataSet, Graphics, IBQuery, Forms, //Aplicacion Framework, StrFunc, Entidades, Constantes, BaseDatos, RdxEmpresaActiva; type TdmTablaEmpresas = class(TDataModule) private procedure IniciarSQL; public sqlInsertar : TStrings; sqlModificar : TStrings; sqlConsultar : TStrings; sqlEliminar : TStrings; sqlGrid : TStrings; function DarNuevoCodigo : String; constructor Create (AOwner : TComponent); override; destructor Destroy; override; end; var dmTablaEmpresas: TdmTablaEmpresas; implementation {$R *.DFM} uses Literales; constructor TdmTablaEmpresas.Create (AOwner : TComponent); begin inherited; sqlInsertar := TStringList.Create; sqlModificar := TStringList.Create; sqlConsultar := TStringList.Create; sqlEliminar := TStringList.Create; sqlGrid := TStringList.Create; IniciarSQL; end; destructor TdmTablaEmpresas.Destroy; begin sqlInsertar.Free; sqlModificar.Free; sqlConsultar.Free; sqlEliminar.Free; sqlGrid.Free; inherited; end; procedure TdmTablaEmpresas.IniciarSQL; begin with sqlInsertar do begin Add('INSERT INTO EMPRESAS (CODIGO, NOMBRE, NIFCIF, '); Add('CALLE, NUMERO, CODIGOPOSTAL, POBLACION, PROVINCIA, TELEFONO, FAX, '); Add('CORREO, WEB, LOGOTIPO, REGISTROMERCANTIL, MODELOINFORME) '); Add('VALUES (:CODIGO, :NOMBRE, :NIFCIF, '); Add(':CALLE, :NUMERO, :CODIGOPOSTAL, :POBLACION, :PROVINCIA, :TELEFONO, :FAX, '); Add(':CORREO, :WEB, :LOGOTIPO, :REGISTROMERCANTIL, :MODELOINFORME)'); end; with sqlModificar do begin Add('UPDATE EMPRESAS SET'); Add('NOMBRE = :NOMBRE, '); Add('NIFCIF = :NIFCIF, '); Add('CALLE = :CALLE, '); Add('NUMERO = :NUMERO, '); Add('CODIGOPOSTAL = :CODIGOPOSTAL, '); Add('POBLACION = :POBLACION, '); Add('PROVINCIA = :PROVINCIA, '); Add('TELEFONO = :TELEFONO, '); Add('FAX = :FAX, '); Add('CORREO = :CORREO, '); Add('WEB = :WEB, '); Add('REGISTROMERCANTIL = :REGISTROMERCANTIL, '); Add('MODELOINFORME = :MODELOINFORME, '); Add('LOGOTIPO = :LOGOTIPO '); Add('WHERE (CODIGO = :CODIGO)'); end; with sqlEliminar do begin Add('delete from EMPRESAS '); Add('where CODIGO = :CODIGO'); end; with sqlConsultar do begin Add('select * from EMPRESAS '); Add('where CODIGO = :CODIGO'); end; with sqlGrid do begin Add('select CODIGO, NIFCIF, NOMBRE, LOGOTIPO, CALLE'); Add('from EMPRESAS '); end; end; function TdmTablaEmpresas.DarNuevoCodigo : String; var oSQL : TIBSQL; begin Result := '0'; oSQL := TIBSQL.Create(Self); with oSQL do begin Database := dmBaseDatos.BD; Transaction := dmBaseDatos.Transaccion; SQL.Add('select max(CODIGO) + 1 '); SQL.Add('from EMPRESAS '); try Prepare; ExecQuery; if not esCadenaVacia(Fields[0].AsString) then Result := Fields[0].AsString; finally Close; Transaction := NIL; Free; end; end; end; end.