Importación inicial

git-svn-id: https://192.168.0.254/svn/Proyectos.AlonsoYSal_FactuGES/trunk@5 9a1d36f3-7752-2d40-8ccb-50eb49674c68
This commit is contained in:
David Arranz 2007-06-21 16:02:50 +00:00
parent 10ce77818b
commit 32153cd070
1464 changed files with 186931 additions and 0 deletions

Binary file not shown.

BIN
BD/BASEDATOS.FDB Normal file

Binary file not shown.

View File

@ -0,0 +1,46 @@
DROP TABLE FORMASPAGO;
DROP TABLE CONTADORES;
DROP TABLE PROVINCIAS;
DROP TABLE DETALLECONTADORES;
DROP TABLE POBLACIONES;
DROP TABLE TIPOSLIBROS;
DROP TABLE CONTACTOS;
DROP TABLE CATEGORIAS;
DROP TABLE ALMACENES;
DROP TABLE ARTICULOS;
DROP TABLE PRESUPUESTOS;
DROP TABLE DETALLESPRESUPUESTOS;
DROP TABLE OBRAS;
DROP TABLE PEDIDOS;
DROP TABLE DETALLESPEDIDOS;
DROP TABLE FICHABENEFICIOS;
DROP TABLE ALBARANPAGO;
DROP TABLE DETALLESALBARANPAGO;
DROP TABLE FACTURASCLIENTE;
DROP TABLE DETALLESFACTURASCLIENTE;
DROP TABLE SUCURSALESCONTACTO;
DROP TABLE CONTACTOSCATEGORIAS;
DROP TABLE EMPRESAS;

360
BD/BaseDatos.sql Normal file
View File

@ -0,0 +1,360 @@
/*
CREATED 27/07/2004
MODIFIED 03/10/2005
PROJECT FACTUGES ARRIBAS
MODEL
COMPANY RODAX SOFTWARE
AUTHOR
VERSION 1.1
DATABASE INTERBASE 6 SQL 3
*/
CREATE DOMAIN "BANCOS" AS VARCHAR(100);
CREATE DOMAIN "CALLES" AS VARCHAR(150);
CREATE DOMAIN "CANTIDADES" AS NUMERIC(9,2);
CREATE DOMAIN "CODIGOS" AS SMALLINT;
CREATE DOMAIN "CODIGOSESPECIALES" AS VARCHAR(10);
CREATE DOMAIN "CODIGOSPOSTALES" AS VARCHAR(5);
CREATE DOMAIN "CODIGOSCORTOS" AS NUMERIC(3,0);
CREATE DOMAIN "CORREOS" AS VARCHAR(60);
CREATE DOMAIN "DESCRIPCIONES" AS VARCHAR(2000);
CREATE DOMAIN "FAMILIAS" AS VARCHAR(50);
CREATE DOMAIN "FECHAS" AS DATE;
CREATE DOMAIN "FORMASPAGO" AS VARCHAR(50);
CREATE DOMAIN "IMPORTES2" AS NUMERIC(11,2) DEFAULT 0;
CREATE DOMAIN "IMPORTES4" AS NUMERIC(13,4) DEFAULT 0;
CREATE DOMAIN "IMPORTES6" AS NUMERIC(15,6) DEFAULT 0;
CREATE DOMAIN "NIFCIFS" AS VARCHAR(10);
CREATE DOMAIN "NOMBRES" AS VARCHAR(100);
CREATE DOMAIN "OBSERVACIONES" AS BLOB SUB_TYPE 1 SEGMENT SIZE 100;
CREATE DOMAIN "POBLACIONES" AS VARCHAR(40);
CREATE DOMAIN "PORCENTAJES" AS FLOAT;
CREATE DOMAIN "PROVINCIAS" AS VARCHAR(30);
CREATE DOMAIN "REFERENCIAS" AS VARCHAR(20);
CREATE DOMAIN "SITUACIONES" AS VARCHAR(30);
CREATE DOMAIN "TELEFONOS" AS VARCHAR(30);
CREATE DOMAIN "TIPOENTRADALIBRO" AS CHAR(1);
CREATE DOMAIN "NOMBRESTABLAS" AS VARCHAR(20);
CREATE DOMAIN "SERIADOS" AS VARCHAR(3);
CREATE DOMAIN "TIPOSLIBROS" AS CHAR(1);
CREATE DOMAIN "CODIGOSLARGOS" AS INTEGER;
CREATE TABLE "FORMASPAGO" (
"DESCRIPCION" "FORMASPAGO" NOT NULL,
CONSTRAINT "PK_FORMASPAGO" PRIMARY KEY ("DESCRIPCION")
);
CREATE TABLE "CONTADORES" (
"CODIGOTABLA" SMALLINT NOT NULL,
"TABLA" VARCHAR(20) NOT NULL COLLATE ES_ES,
"COMUN" SMALLINT DEFAULT 0 NOT NULL,
"LONGITUD" SMALLINT DEFAULT 0,
CONSTRAINT "PK_CONTADORES" PRIMARY KEY ("CODIGOTABLA")
);
CREATE TABLE "PROVINCIAS" (
"CODIGO" VARCHAR(2) NOT NULL COLLATE ES_ES,
"DESCRIPCION" "PROVINCIAS",
CONSTRAINT "PK_PROVINCIAS" PRIMARY KEY ("CODIGO")
);
CREATE TABLE "DETALLECONTADORES" (
"CODIGOTABLA" SMALLINT NOT NULL,
"SERIADO" "SERIADOS",
"DIA" SMALLINT,
"MES" SMALLINT,
"ANO" SMALLINT,
"CONTADOR" INTEGER DEFAULT 0 NOT NULL,
"CONTDIA" VARCHAR(2) COLLATE ES_ES,
"CONTMES" VARCHAR(2) COLLATE ES_ES,
"CONTANO" VARCHAR(2) COLLATE ES_ES
);
CREATE TABLE "POBLACIONES" (
"CODIGOPROVINCIA" VARCHAR(2) NOT NULL COLLATE ES_ES,
"CODIGOPOBLACION" VARCHAR(5) NOT NULL COLLATE ES_ES,
"DESCRIPCION" "POBLACIONES",
CONSTRAINT "PK_POBLACIONES" PRIMARY KEY ("CODIGOPROVINCIA","CODIGOPOBLACION")
);
CREATE TABLE "TIPOSLIBROS" (
"DESCRIPCION" "TIPOSLIBROS" NOT NULL,
CONSTRAINT "PK_TIPOSLIBROS" PRIMARY KEY ("DESCRIPCION")
);
CREATE TABLE "CONTACTOS" (
"CODIGOEMPRESA" "CODIGOSCORTOS" NOT NULL,
"CODIGO" "CODIGOS" NOT NULL,
"FECHAALTA" "FECHAS" NOT NULL,
"USUARIO" "NOMBRES" NOT NULL,
"NIFCIF" "NIFCIFS",
"NOMBRE" "NOMBRES" NOT NULL,
"OBSERVACIONES" "OBSERVACIONES",
CONSTRAINT "PK_CONTACTOS" PRIMARY KEY ("CODIGOEMPRESA","CODIGO")
);
CREATE TABLE "CATEGORIAS" (
"CODIGO" "CODIGOSCORTOS" NOT NULL,
"DESCRIPCION" "NOMBRES" NOT NULL,
CONSTRAINT "PK_CATEGORIAS" PRIMARY KEY ("CODIGO")
);
CREATE TABLE "ALMACENES" (
"CODIGOEMPRESA" "CODIGOSCORTOS" NOT NULL,
"CODIGO" "CODIGOSCORTOS" NOT NULL UNIQUE,
"FECHAALTA" "FECHAS" NOT NULL,
"USUARIO" "NOMBRES" NOT NULL,
"NOMBRE" "NOMBRES" NOT NULL,
"CALLE" "CALLES",
"PROVINCIA" "PROVINCIAS",
"POBLACION" "POBLACIONES",
"CODIGOPOSTAL" "CODIGOSPOSTALES",
"TELEFONO" "TELEFONOS",
"MOVIL" "TELEFONOS",
"FAX" "TELEFONOS",
"PERSONACONTACTO" "NOMBRES",
"OBSERVACIONES" "OBSERVACIONES",
CONSTRAINT "PK_ALMACENES" PRIMARY KEY ("CODIGOEMPRESA","CODIGO")
);
CREATE TABLE "ARTICULOS" (
"CODIGOEMPRESA" "CODIGOSCORTOS" NOT NULL,
"CODIGO" "CODIGOSLARGOS" NOT NULL UNIQUE,
"CODIGOALMACEN" "CODIGOSCORTOS" NOT NULL,
"CODIGOPEDIDO" "CODIGOS" NOT NULL,
"CODIGOOBRA" "CODIGOS" NOT NULL,
"DESCRIPCION" "NOMBRES",
CONSTRAINT "PK_ARTICULOS" PRIMARY KEY ("CODIGOEMPRESA","CODIGO")
);
CREATE TABLE "PRESUPUESTOS" (
"CODIGOEMPRESA" "CODIGOSCORTOS" NOT NULL,
"CODIGO" "CODIGOS" NOT NULL UNIQUE,
"FECHAALTA" "FECHAS" NOT NULL,
"USUARIO" "NOMBRES" NOT NULL,
"CODIGOCONTACTO" "CODIGOS" NOT NULL,
"REFERENCIA" "NOMBRES",
"TIPO" "CODIGOSCORTOS" NOT NULL,
"FECHAPRESUPUESTO" "FECHAS" NOT NULL,
"VIGENCIAPRESUPUESTO" "FECHAS",
"SITUACION" "SITUACIONES" NOT NULL,
"FECHADECISION" "FECHAS",
"BASEIMPONIBLE" "IMPORTES4",
"DESCUENTO" "PORCENTAJES",
"IMPORTEDESCUENTO" "IMPORTES4",
"IVA" "PORCENTAJES",
"IMPORTEIVA" "IMPORTES4",
"IMPORTETOTAL" "IMPORTES2",
"OBSERVACIONES" "OBSERVACIONES",
"PLAZOENTREGA" "OBSERVACIONES",
"FORMAPAGO" "OBSERVACIONES",
CONSTRAINT "PK_PRESUPUESTOS" PRIMARY KEY ("CODIGOEMPRESA","CODIGO")
);
CREATE TABLE "DETALLESPRESUPUESTOS" (
"CODIGOEMPRESA" "CODIGOSCORTOS" NOT NULL,
"CODIGOPRESUPUESTO" "CODIGOS" NOT NULL,
"NUMCONCEPTO" "CODIGOSCORTOS" NOT NULL,
"DESCRIPCION" "DESCRIPCIONES",
"CANTIDAD" "CANTIDADES",
"IMPORTEUNIDAD" "IMPORTES6",
"IMPORTETOTAL" "IMPORTES6",
"TIPO" CHAR(1),
CONSTRAINT "PK_DETALLESPRESUPUESTOS" PRIMARY KEY ("CODIGOEMPRESA","CODIGOPRESUPUESTO","NUMCONCEPTO")
);
CREATE TABLE "OBRAS" (
"CODIGOEMPRESA" "CODIGOSCORTOS" NOT NULL,
"CODIGO" "CODIGOS" NOT NULL UNIQUE,
"FECHAALTA" "FECHAS" NOT NULL,
"USUARIO" "NOMBRES" NOT NULL,
"CODIGOPRESUPUESTO" "CODIGOS" NOT NULL,
"CODIGOCONTACTO" "CODIGOS" NOT NULL,
"REFERENCIA" "NOMBRES",
"FECHAINICIO" "FECHAS" NOT NULL,
"FECHAFIN" "FECHAS",
"SITUACION" "SITUACIONES" NOT NULL,
"OBSERVACIONES" "OBSERVACIONES",
CONSTRAINT "PK_OBRAS" PRIMARY KEY ("CODIGOEMPRESA","CODIGO")
);
CREATE TABLE "PEDIDOS" (
"CODIGOEMPRESA" "CODIGOSCORTOS" NOT NULL,
"CODIGO" "CODIGOS" NOT NULL UNIQUE,
"FECHAALTA" "FECHAS" NOT NULL,
"USUARIO" "NOMBRES" NOT NULL,
"CODIGOCONTACTO" "CODIGOS" NOT NULL,
"CODIGOALMACEN" "CODIGOSCORTOS" NOT NULL,
"CODIGOOBRA" "CODIGOS" NOT NULL,
"REFERENCIA" "NOMBRES",
"FECHAPEDIDO" "FECHAS" NOT NULL,
"FECHACONFIRMACION" "FECHAS",
"SITUACION" "SITUACIONES" NOT NULL,
"FECHAENTREGA" "FECHAS",
"OBSERVACIONES" "OBSERVACIONES",
"IMPORTETOTAL" "IMPORTES2",
"DIRECCIONCOMPLETA" "OBSERVACIONES",
"INCIDENCIAS" "OBSERVACIONES",
CONSTRAINT "PK_PEDIDOS" PRIMARY KEY ("CODIGOEMPRESA","CODIGO")
);
CREATE TABLE "DETALLESPEDIDOS" (
"CODIGOEMPRESA" "CODIGOSCORTOS" NOT NULL,
"CODIGOPEDIDO" "CODIGOS" NOT NULL,
"NUMCONCEPTO" "CODIGOSCORTOS" NOT NULL,
"DESCRIPCION" "DESCRIPCIONES",
"CANTIDAD" "CANTIDADES",
"IMPORTEUNIDAD" "IMPORTES6",
"IMPORTETOTAL" "IMPORTES6",
CONSTRAINT "PK_DETALLESPEDIDOS" PRIMARY KEY ("CODIGOEMPRESA","CODIGOPEDIDO","NUMCONCEPTO")
);
CREATE TABLE "FICHABENEFICIOS" (
"CODIGOEMPRESA" "CODIGOSCORTOS" NOT NULL,
"CODIGOOBRA" "CODIGOS" NOT NULL,
"NUMCONCEPTO" "CODIGOSCORTOS" NOT NULL,
"DESCRIPCION" "NOMBRES" NOT NULL,
"MODELO" "NOMBRES",
"PROVEEDOR" "NOMBRES",
"COMPRA" "IMPORTES2",
"VENTA" "IMPORTES2",
CONSTRAINT "PK_FICHABENEFICIOS" PRIMARY KEY ("CODIGOEMPRESA","CODIGOOBRA","NUMCONCEPTO")
);
CREATE TABLE "ALBARANPAGO" (
"CODIGOEMPRESA" "CODIGOSCORTOS" NOT NULL,
"CODIGO" "CODIGOSESPECIALES" NOT NULL UNIQUE,
"FECHAALTA" "FECHAS" NOT NULL,
"USUARIO" "NOMBRES" NOT NULL,
"CODIGOCONTACTO" "CODIGOS" NOT NULL,
"FECHAALBARAN" "FECHAS" NOT NULL,
"SITUACION" "SITUACIONES" NOT NULL,
"FECHAPAGO" "FECHAS",
"BASEIMPONIBLE" "IMPORTES4",
"DESCUENTO" "PORCENTAJES",
"IMPORTEDESCUENTO" "IMPORTES4",
"IVA" "PORCENTAJES",
"IMPORTEIVA" "IMPORTES4",
"IMPORTETOTAL" "IMPORTES2",
"OBSERVACIONES" "OBSERVACIONES",
"FORMAPAGO" "OBSERVACIONES",
CONSTRAINT "PK_ALBARANPAGO" PRIMARY KEY ("CODIGOEMPRESA","CODIGO")
);
CREATE TABLE "DETALLESALBARANPAGO" (
"CODIGOEMPRESA" "CODIGOSCORTOS" NOT NULL,
"CODIGOALBARAN" "CODIGOSESPECIALES" NOT NULL,
"NUMCONCEPTO" "CODIGOSCORTOS" NOT NULL,
"DESCRIPCION" "DESCRIPCIONES",
"CANTIDAD" "CANTIDADES",
"IMPORTEUNIDAD" "IMPORTES6",
"IMPORTETOTAL" "IMPORTES6",
CONSTRAINT "PK_DETALLESALBARANPAGO" PRIMARY KEY ("CODIGOEMPRESA","CODIGOALBARAN","NUMCONCEPTO")
);
CREATE TABLE "FACTURASCLIENTE" (
"CODIGOEMPRESA" "CODIGOSCORTOS" NOT NULL,
"CODIGO" "CODIGOSESPECIALES" NOT NULL UNIQUE,
"FECHAALTA" "FECHAS" NOT NULL,
"USUARIO" "NOMBRES" NOT NULL,
"FECHAFACTURA" "FECHAS" NOT NULL,
"BASEIMPONIBLE" "IMPORTES4",
"DESCUENTO" "PORCENTAJES",
"IMPORTEDESCUENTO" "IMPORTES4",
"IVA" "PORCENTAJES",
"IMPORTEIVA" "IMPORTES4",
"IMPORTETOTAL" "IMPORTES2",
"OBSERVACIONES" "OBSERVACIONES",
"FORMAPAGO" "OBSERVACIONES",
"CODIGOCONTACTO" "CODIGOS" NOT NULL,
"NIFCIF" "NIFCIFS",
"NOMBRE" "NOMBRES",
"CALLE" "CALLES",
"PROVINCIA" "PROVINCIAS",
"CODIGOPOSTAL" "CODIGOSPOSTALES",
"POBLACION" "POBLACIONES",
CONSTRAINT "PK_FACTURASCLIENTE" PRIMARY KEY ("CODIGOEMPRESA","CODIGO")
);
CREATE TABLE "DETALLESFACTURASCLIENTE" (
"CODIGOEMPRESA" "CODIGOSCORTOS" NOT NULL,
"CODIGOFACTURA" "CODIGOSESPECIALES" NOT NULL,
"NUMCONCEPTO" "CODIGOSCORTOS" NOT NULL,
"DESCRIPCION" "DESCRIPCIONES",
"CANTIDAD" "CANTIDADES",
"IMPORTEUNIDAD" "IMPORTES6",
"IMPORTETOTAL" "IMPORTES6",
CONSTRAINT "PK_DETALLESFACTURASCLIENTE" PRIMARY KEY ("CODIGOEMPRESA","CODIGOFACTURA","NUMCONCEPTO")
);
CREATE TABLE "SUCURSALESCONTACTO" (
"CODIGOEMPRESA" "CODIGOSCORTOS" NOT NULL,
"CODIGOCONTACTO" "CODIGOS" NOT NULL,
"CALLE" "CALLES",
"PROVINCIA" "PROVINCIAS",
"CODIGOPOSTAL" "CODIGOSPOSTALES",
"POBLACION" "POBLACIONES",
"TELEFONO1" "TELEFONOS",
"TELEFONO2" "TELEFONOS",
"MOVIL" "TELEFONOS",
"FAX" "TELEFONOS",
"CORREO" "CORREOS",
"PAGINAWEB" "NOMBRES",
"PERSONACONTACTO" "NOMBRES",
CONSTRAINT "PK_SUCURSALESCONTACTO" PRIMARY KEY ("CODIGOEMPRESA","CODIGOCONTACTO")
);
CREATE TABLE "CONTACTOSCATEGORIAS" (
"CODIGOEMPRESA" "CODIGOSCORTOS" NOT NULL,
"CODIGOCONTACTO" "CODIGOS" NOT NULL,
"CODIGOCATEGORIA" "CODIGOSCORTOS" NOT NULL,
CONSTRAINT "PK_CONTACTOSCATEGORIAS" PRIMARY KEY ("CODIGOEMPRESA","CODIGOCONTACTO","CODIGOCATEGORIA")
);
CREATE TABLE "EMPRESAS" (
"CODIGO" "CODIGOSCORTOS" NOT NULL,
"NOMBRE" "NOMBRES",
CONSTRAINT "PK_EMPRESAS" PRIMARY KEY ("CODIGO")
);
ALTER TABLE "DETALLECONTADORES" ADD CONSTRAINT "FK_DETALLECONTADORES" FOREIGN KEY ("CODIGOTABLA") REFERENCES "CONTADORES" ("CODIGOTABLA") ON UPDATE NO ACTION ON DELETE CASCADE;
ALTER TABLE "POBLACIONES" ADD CONSTRAINT "FK__CHILDENTITYNAME___PARENTENT" FOREIGN KEY ("CODIGOPROVINCIA") REFERENCES "PROVINCIAS" ("CODIGO") ON UPDATE CASCADE ON DELETE CASCADE;
ALTER TABLE "PRESUPUESTOS" ADD CONSTRAINT "FK_PRESUPUESTOS_CONTACTOS" FOREIGN KEY ("CODIGOEMPRESA","CODIGOCONTACTO") REFERENCES "CONTACTOS" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE "PEDIDOS" ADD CONSTRAINT "FK_PEDIDOS_CONTACTOS" FOREIGN KEY ("CODIGOEMPRESA","CODIGOCONTACTO") REFERENCES "CONTACTOS" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE "ALBARANPAGO" ADD CONSTRAINT "FK_ALBARANPAGO_CONTACTOS" FOREIGN KEY ("CODIGOEMPRESA","CODIGOCONTACTO") REFERENCES "CONTACTOS" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE "OBRAS" ADD CONSTRAINT "FK_OBRAS_CONTACTOS" FOREIGN KEY ("CODIGOEMPRESA","CODIGOCONTACTO") REFERENCES "CONTACTOS" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE "FACTURASCLIENTE" ADD CONSTRAINT "FK_FACTURASCLIENTE_CONTACTOS" FOREIGN KEY ("CODIGOEMPRESA","CODIGOCONTACTO") REFERENCES "CONTACTOS" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE "SUCURSALESCONTACTO" ADD CONSTRAINT "FK_SUCURSALESCONTACTO_CONTACTOS" FOREIGN KEY ("CODIGOEMPRESA","CODIGOCONTACTO") REFERENCES "CONTACTOS" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE "CONTACTOSCATEGORIAS" ADD CONSTRAINT "FK_CONTACTOSCATEGORIAS_CONTACTO" FOREIGN KEY ("CODIGOEMPRESA","CODIGOCONTACTO") REFERENCES "CONTACTOS" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE "CONTACTOSCATEGORIAS" ADD CONSTRAINT "FK_CONTACTOSCATEGORIAS_CATEGORI" FOREIGN KEY ("CODIGOCATEGORIA") REFERENCES "CATEGORIAS" ("CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE "ARTICULOS" ADD CONSTRAINT "FK_ARTICULOS_ALMACENES" FOREIGN KEY ("CODIGOEMPRESA","CODIGOALMACEN") REFERENCES "ALMACENES" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE "PEDIDOS" ADD CONSTRAINT "FK_PEDIDOS_ALMACENES" FOREIGN KEY ("CODIGOEMPRESA","CODIGOALMACEN") REFERENCES "ALMACENES" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE "DETALLESPRESUPUESTOS" ADD CONSTRAINT "FK_DETALLESPRESUPUESTOS_PRESUPU" FOREIGN KEY ("CODIGOEMPRESA","CODIGOPRESUPUESTO") REFERENCES "PRESUPUESTOS" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE "OBRAS" ADD CONSTRAINT "FK_OBRAS_PRESUPUESTOS" FOREIGN KEY ("CODIGOEMPRESA","CODIGOPRESUPUESTO") REFERENCES "PRESUPUESTOS" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE "ARTICULOS" ADD CONSTRAINT "FK_ARTICULOS_OBRAS" FOREIGN KEY ("CODIGOEMPRESA","CODIGOOBRA") REFERENCES "OBRAS" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE "FICHABENEFICIOS" ADD CONSTRAINT "FK_FICHABENEFICIOS_OBRAS" FOREIGN KEY ("CODIGOEMPRESA","CODIGOOBRA") REFERENCES "OBRAS" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE "PEDIDOS" ADD CONSTRAINT "FK_PEDIDOS_OBRAS" FOREIGN KEY ("CODIGOEMPRESA","CODIGOOBRA") REFERENCES "OBRAS" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE "DETALLESPEDIDOS" ADD CONSTRAINT "FK_DETALLESPEDIDOS_PEDIDOS" FOREIGN KEY ("CODIGOEMPRESA","CODIGOPEDIDO") REFERENCES "PEDIDOS" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE "ARTICULOS" ADD CONSTRAINT "FK_ARTICULOS_PEDIDOS" FOREIGN KEY ("CODIGOEMPRESA","CODIGOPEDIDO") REFERENCES "PEDIDOS" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE "DETALLESALBARANPAGO" ADD CONSTRAINT "FK_DETALLESPRESUPUESTOS2_ALBARA" FOREIGN KEY ("CODIGOEMPRESA","CODIGOALBARAN") REFERENCES "ALBARANPAGO" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE "DETALLESFACTURASCLIENTE" ADD CONSTRAINT "FK_DETALLESFACTURASCLIENTE_FACT" FOREIGN KEY ("CODIGOEMPRESA","CODIGOFACTURA") REFERENCES "FACTURASCLIENTE" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE "CONTACTOS" ADD CONSTRAINT "FK_CONTACTOS_EMPRESAS" FOREIGN KEY ("CODIGOEMPRESA") REFERENCES "EMPRESAS" ("CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE "FACTURASCLIENTE" ADD CONSTRAINT "FK_FACTURASCLIENTE_EMPRESAS" FOREIGN KEY ("CODIGOEMPRESA") REFERENCES "EMPRESAS" ("CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE "ALBARANPAGO" ADD CONSTRAINT "FK_ALBARANPAGO_EMPRESAS" FOREIGN KEY ("CODIGOEMPRESA") REFERENCES "EMPRESAS" ("CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE "ALMACENES" ADD CONSTRAINT "FK_ALMACENES_EMPRESAS" FOREIGN KEY ("CODIGOEMPRESA") REFERENCES "EMPRESAS" ("CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE "ARTICULOS" ADD CONSTRAINT "FK_ARTICULOS_EMPRESAS" FOREIGN KEY ("CODIGOEMPRESA") REFERENCES "EMPRESAS" ("CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE "PEDIDOS" ADD CONSTRAINT "FK_PEDIDOS_EMPRESAS" FOREIGN KEY ("CODIGOEMPRESA") REFERENCES "EMPRESAS" ("CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE "OBRAS" ADD CONSTRAINT "FK_OBRAS_EMPRESAS" FOREIGN KEY ("CODIGOEMPRESA") REFERENCES "EMPRESAS" ("CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE "PRESUPUESTOS" ADD CONSTRAINT "FK_PRESUPUESTOS_EMPRESAS" FOREIGN KEY ("CODIGOEMPRESA") REFERENCES "EMPRESAS" ("CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
CREATE ROLE "USUARIOS";

93
BD/serverlog.txt Normal file
View File

@ -0,0 +1,93 @@
[07/04/2007 15:26:32]
[Application: ]
: [Connect]
>
[07/04/2007 15:26:32]
[Application: ]
: [Prepare] SELECT
ID
FROM
USUARIOS
WHERE USUARIO = :USUARIO AND
PASS = :PASS AND
ACTIVO = 1
Plan: PLAN (USUARIOS NATURAL)
>
[07/04/2007 15:26:32]
[Application: ]
: [Start transaction]
>
[07/04/2007 15:26:32]
[Application: ]
: [Prepare] Select F.RDB$COMPUTED_BLR, F.RDB$DEFAULT_VALUE, R.RDB$DEFAULT_VALUE, R.RDB$FIELD_NAME from RDB$RELATION_FIELDS R, RDB$FIELDS F where R.RDB$RELATION_NAME = :RELATION and R.RDB$FIELD_SOURCE = F.RDB$FIELD_NAME and ((not F.RDB$COMPUTED_BLR is NULL) or (not (F.RDB$DEFAULT_VALUE is NULL and R.RDB$DEFAULT_VALUE is NULL)))
Plan: PLAN JOIN (R INDEX (RDB$INDEX_4), F INDEX (RDB$INDEX_2))
>
[07/04/2007 15:26:32]
[Application: ]
: [Execute] Select F.RDB$COMPUTED_BLR, F.RDB$DEFAULT_VALUE, R.RDB$DEFAULT_VALUE, R.RDB$FIELD_NAME from RDB$RELATION_FIELDS R, RDB$FIELDS F where R.RDB$RELATION_NAME = :RELATION and R.RDB$FIELD_SOURCE = F.RDB$FIELD_NAME and ((not F.RDB$COMPUTED_BLR is NULL) or (not (F.RDB$DEFAULT_VALUE is NULL and R.RDB$DEFAULT_VALUE is NULL)))
RELATION = USUARIOS
>
[07/04/2007 15:26:32]
[Application: ]
: [Prepare] SELECT RDB$FIELD_NAME, RDB$FIELD_POSITION FROM RDB$RELATION_CONSTRAINTS RR JOIN RDB$INDEX_SEGMENTS RI ON RR.RDB$INDEX_NAME = RI.RDB$INDEX_NAME WHERE RDB$RELATION_NAME = :relation_name AND RDB$CONSTRAINT_TYPE = 'PRIMARY KEY ' ORDER BY RDB$FIELD_POSITION
Plan: PLAN SORT (JOIN (RR INDEX (RDB$INDEX_42), RI INDEX (RDB$INDEX_6)))
>
[07/04/2007 15:26:32]
[Application: ]
: [Execute] SELECT RDB$FIELD_NAME, RDB$FIELD_POSITION FROM RDB$RELATION_CONSTRAINTS RR JOIN RDB$INDEX_SEGMENTS RI ON RR.RDB$INDEX_NAME = RI.RDB$INDEX_NAME WHERE RDB$RELATION_NAME = :relation_name AND RDB$CONSTRAINT_TYPE = 'PRIMARY KEY ' ORDER BY RDB$FIELD_POSITION
RELATION_NAME = USUARIOS
>
[07/04/2007 15:26:32]
[Application: ]
: [Commit (Hard commit)]
>
[07/04/2007 15:26:32]
[Application: ]
: [Execute] SELECT
ID
FROM
USUARIOS
WHERE USUARIO = :USUARIO AND
PASS = :PASS AND
ACTIVO = 1
USUARIO = admin
PASS = 1
>
[07/04/2007 15:26:57]
[Application: ]
: [Connect]
>
[07/04/2007 15:26:57]
[Application: ]
[Error] -206 335544569 Dynamic SQL Error
SQL error code = -206
Column unknown
USUARIO
At line 5, column 9
>
[07/04/2007 15:27:04]
[Application: ]
[Error] -206 335544569 Dynamic SQL Error
SQL error code = -206
Column unknown
USUARIO
At line 5, column 9
>

492
Base/BaseD7.bdsproj Normal file
View File

@ -0,0 +1,492 @@
<?xml version="1.0" encoding="utf-8"?>
<BorlandProject>
<PersonalityInfo>
<Option>
<Option Name="Personality">Delphi.Personality</Option>
<Option Name="ProjectType">VCLApplication</Option>
<Option Name="Version">1.0</Option>
<Option Name="GUID">{D329EFC0-D1B6-4463-B8C1-062F86B28A08}</Option>
</Option>
</PersonalityInfo>
<Delphi.Personality>
<Source>
<Source Name="MainSource">BaseD7.dpk</Source>
</Source>
<FileVersion>
<FileVersion Name="Version">7.0</FileVersion>
</FileVersion>
<Compiler>
<Compiler Name="A">8</Compiler>
<Compiler Name="B">0</Compiler>
<Compiler Name="C">1</Compiler>
<Compiler Name="D">1</Compiler>
<Compiler Name="E">0</Compiler>
<Compiler Name="F">0</Compiler>
<Compiler Name="G">1</Compiler>
<Compiler Name="H">1</Compiler>
<Compiler Name="I">1</Compiler>
<Compiler Name="J">0</Compiler>
<Compiler Name="K">0</Compiler>
<Compiler Name="L">1</Compiler>
<Compiler Name="M">0</Compiler>
<Compiler Name="N">1</Compiler>
<Compiler Name="O">0</Compiler>
<Compiler Name="P">1</Compiler>
<Compiler Name="Q">0</Compiler>
<Compiler Name="R">0</Compiler>
<Compiler Name="S">0</Compiler>
<Compiler Name="T">0</Compiler>
<Compiler Name="U">0</Compiler>
<Compiler Name="V">1</Compiler>
<Compiler Name="W">1</Compiler>
<Compiler Name="X">1</Compiler>
<Compiler Name="Y">1</Compiler>
<Compiler Name="Z">1</Compiler>
<Compiler Name="ShowHints">True</Compiler>
<Compiler Name="ShowWarnings">True</Compiler>
<Compiler Name="UnitAliases">WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;</Compiler>
<Compiler Name="NamespacePrefix"></Compiler>
<Compiler Name="GenerateDocumentation">False</Compiler>
<Compiler Name="DefaultNamespace"></Compiler>
<Compiler Name="SymbolDeprecated">True</Compiler>
<Compiler Name="SymbolLibrary">True</Compiler>
<Compiler Name="SymbolPlatform">True</Compiler>
<Compiler Name="SymbolExperimental">True</Compiler>
<Compiler Name="UnitLibrary">True</Compiler>
<Compiler Name="UnitPlatform">True</Compiler>
<Compiler Name="UnitDeprecated">True</Compiler>
<Compiler Name="UnitExperimental">True</Compiler>
<Compiler Name="HResultCompat">True</Compiler>
<Compiler Name="HidingMember">True</Compiler>
<Compiler Name="HiddenVirtual">True</Compiler>
<Compiler Name="Garbage">True</Compiler>
<Compiler Name="BoundsError">True</Compiler>
<Compiler Name="ZeroNilCompat">True</Compiler>
<Compiler Name="StringConstTruncated">True</Compiler>
<Compiler Name="ForLoopVarVarPar">True</Compiler>
<Compiler Name="TypedConstVarPar">True</Compiler>
<Compiler Name="AsgToTypedConst">True</Compiler>
<Compiler Name="CaseLabelRange">True</Compiler>
<Compiler Name="ForVariable">True</Compiler>
<Compiler Name="ConstructingAbstract">True</Compiler>
<Compiler Name="ComparisonFalse">True</Compiler>
<Compiler Name="ComparisonTrue">True</Compiler>
<Compiler Name="ComparingSignedUnsigned">True</Compiler>
<Compiler Name="CombiningSignedUnsigned">True</Compiler>
<Compiler Name="UnsupportedConstruct">True</Compiler>
<Compiler Name="FileOpen">True</Compiler>
<Compiler Name="FileOpenUnitSrc">True</Compiler>
<Compiler Name="BadGlobalSymbol">True</Compiler>
<Compiler Name="DuplicateConstructorDestructor">True</Compiler>
<Compiler Name="InvalidDirective">True</Compiler>
<Compiler Name="PackageNoLink">True</Compiler>
<Compiler Name="PackageThreadVar">True</Compiler>
<Compiler Name="ImplicitImport">True</Compiler>
<Compiler Name="HPPEMITIgnored">True</Compiler>
<Compiler Name="NoRetVal">True</Compiler>
<Compiler Name="UseBeforeDef">True</Compiler>
<Compiler Name="ForLoopVarUndef">True</Compiler>
<Compiler Name="UnitNameMismatch">True</Compiler>
<Compiler Name="NoCFGFileFound">True</Compiler>
<Compiler Name="ImplicitVariants">True</Compiler>
<Compiler Name="UnicodeToLocale">True</Compiler>
<Compiler Name="LocaleToUnicode">True</Compiler>
<Compiler Name="ImagebaseMultiple">True</Compiler>
<Compiler Name="SuspiciousTypecast">True</Compiler>
<Compiler Name="PrivatePropAccessor">True</Compiler>
<Compiler Name="UnsafeType">False</Compiler>
<Compiler Name="UnsafeCode">False</Compiler>
<Compiler Name="UnsafeCast">False</Compiler>
<Compiler Name="OptionTruncated">True</Compiler>
<Compiler Name="WideCharReduced">True</Compiler>
<Compiler Name="DuplicatesIgnored">True</Compiler>
<Compiler Name="UnitInitSeq">True</Compiler>
<Compiler Name="LocalPInvoke">True</Compiler>
<Compiler Name="MessageDirective">True</Compiler>
<Compiler Name="CodePage"></Compiler>
</Compiler>
<Linker>
<Linker Name="MapFile">3</Linker>
<Linker Name="OutputObjs">0</Linker>
<Linker Name="GenerateHpps">False</Linker>
<Linker Name="ConsoleApp">1</Linker>
<Linker Name="DebugInfo">False</Linker>
<Linker Name="RemoteSymbols">False</Linker>
<Linker Name="GenerateDRC">False</Linker>
<Linker Name="MinStackSize">16384</Linker>
<Linker Name="MaxStackSize">1048576</Linker>
<Linker Name="ImageBase">4194304</Linker>
<Linker Name="ExeDescription"></Linker>
</Linker>
<Directories>
<Directories Name="OutputDir"></Directories>
<Directories Name="UnitOutputDir">.\</Directories>
<Directories Name="PackageDLLOutputDir">..\Output\Cliente</Directories>
<Directories Name="PackageDCPOutputDir">.\</Directories>
<Directories Name="SearchPath">$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Servidor</Directories>
<Directories Name="Packages">vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;dclOfficeXP;CEToolsPkgd7;FR7;FRIBX7;Hydra_Core_D7;Hydra_RO_D7;fqb70;frx7;frxADO7;frxBDE7;frxDB7;frxDBX7;frxe7;frxIBX7;fs7;fsADO7;fsBDE7;fsDB7;fsIBX7;DataAbstract_Core_D7;DataAbstract_IDE_D7</Directories>
<Directories Name="Conditionals"></Directories>
<Directories Name="DebugSourceDirs"></Directories>
<Directories Name="UsePackages">False</Directories>
</Directories>
<Parameters>
<Parameters Name="RunParams"></Parameters>
<Parameters Name="HostApplication"></Parameters>
<Parameters Name="Launcher"></Parameters>
<Parameters Name="UseLauncher">False</Parameters>
<Parameters Name="DebugCWD"></Parameters>
<Parameters Name="Debug Symbols Search Path"></Parameters>
<Parameters Name="LoadAllSymbols">True</Parameters>
<Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
</Parameters>
<Language>
<Language Name="ActiveLang"></Language>
<Language Name="ProjectLang">$00000000</Language>
<Language Name="RootDir">C:\Archivos de programa\Borland\Delphi7\Bin\</Language>
</Language>
<VersionInfo>
<VersionInfo Name="IncludeVerInfo">True</VersionInfo>
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
<VersionInfo Name="MajorVer">1</VersionInfo>
<VersionInfo Name="MinorVer">0</VersionInfo>
<VersionInfo Name="Release">0</VersionInfo>
<VersionInfo Name="Build">0</VersionInfo>
<VersionInfo Name="Debug">False</VersionInfo>
<VersionInfo Name="PreRelease">False</VersionInfo>
<VersionInfo Name="Special">False</VersionInfo>
<VersionInfo Name="Private">False</VersionInfo>
<VersionInfo Name="DLL">False</VersionInfo>
<VersionInfo Name="Locale">3082</VersionInfo>
<VersionInfo Name="CodePage">1252</VersionInfo>
</VersionInfo>
<VersionInfoKeys>
<VersionInfoKeys Name="CompanyName"></VersionInfoKeys>
<VersionInfoKeys Name="FileDescription"></VersionInfoKeys>
<VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
<VersionInfoKeys Name="InternalName"></VersionInfoKeys>
<VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys>
<VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
<VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys>
<VersionInfoKeys Name="ProductName"></VersionInfoKeys>
<VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
<VersionInfoKeys Name="Comments"></VersionInfoKeys>
</VersionInfoKeys>
</Delphi.Personality>
<!-- EurekaLog First Line
[Exception Log]
EurekaLog Version=519
Activate=0
Activate Handle=1
Save Log File=1
Foreground Tab=0
Freeze Activate=0
Freeze Timeout=0
Freeze Message=The application seems to be frozen.
SMTP From=eurekalog@email.com
SMTP Host=
SMTP Port=25
SMTP UserID=
SMTP Password=
Append to Log=0
Show TerminateBtn=1
TerminateBtn Operation=1
Errors Number=32
Errors Terminate=3
Email Address=
Email Object=
Email Send Options=0
Output Path=
Encrypt Password=
AutoCloseDialogSecs=0
WebSendMode=0
SupportULR=
HTMLLayout Count=15
HTMLLine0="%3Chtml%3E"
HTMLLine1=" %3Chead%3E"
HTMLLine2=" %3C/head%3E"
HTMLLine3=" %3Cbody TopMargin=10 LeftMargin=10%3E"
HTMLLine4=" %3Ctable width="100%%" border="0"%3E"
HTMLLine5=" %3Ctr%3E"
HTMLLine6=" %3Ctd nowrap%3E"
HTMLLine7=" %3Cfont face="Lucida Console, Courier" size="2"%3E"
HTMLLine8=" %3C%%HTML_TAG%%%3E"
HTMLLine9=" %3C/font%3E"
HTMLLine10=" %3C/td%3E"
HTMLLine11=" %3C/tr%3E"
HTMLLine12=" %3C/table%3E"
HTMLLine13=" %3C/body%3E"
HTMLLine14="%3C/html%3E"
AutoCrashOperation=1
AutoCrashNumber=10
AutoCrashMinutes=1
WebURL=
WebUserID=
WebPassword=
WebPort=0
AttachedFiles=
Count=0
EMail Message Line Count=0
loNoDuplicateErrors=0
loAppendReproduceText=0
loDeleteLogAtVersionChange=0
loAddComputerNameInLogFileName=0
loSaveModulesSection=1
loSaveCPUSection=1
soAppStartDate=1
soAppName=1
soAppVersionNumber=1
soAppParameters=1
soAppCompilationDate=1
soExcDate=1
soExcAddress=1
soExcModule=1
soExcType=1
soExcMessage=1
soActCtlsFormClass=1
soActCtlsFormText=1
soActCtlsControlClass=1
soActCtlsControlText=1
soCmpName=1
soCmpUser=1
soCmpTotalMemory=1
soCmpFreeMemory=1
soCmpTotalDisk=1
soCmpFreeDisk=1
soCmpSysUpTime=1
soCmpProcessor=1
soCmpDisplayMode=1
soOSType=1
soOSBuildN=1
soOSUpdate=1
soOSLanguage=1
soNetIP=1
soNetSubmask=1
soNetGateway=1
soNetDNS1=1
soNetDNS2=1
soNetDHCP=1
sndShowSendDialog=1
sndShowSuccessFailureMsg=0
sndSendEntireLog=0
sndSendXMLLogCopy=0
sndSendScreenshot=0
sndUseOnlyActiveWindow=0
sndSendLastHTMLPage=1
sndSendInSeparatedThread=0
sndAddDateInFileName=0
sndCompressAllFiles=0
edoShowExceptionDialog=1
edoSendEmailChecked=1
edoAttachScreenshotChecked=1
edoShowCopyToClipOption=1
edoShowDetailsButton=1
edoShowInDetailedMode=0
edoShowInTopMostMode=0
edoUseEurekaLogLookAndFeel=1
csoShowDLLs=1
csoShowBPLs=1
csoShowBorlandThreads=1
csoShowWindowsThreads=1
csoShowProcedureOffset=0
boActivateCrashDetection=0
boPauseBorlandThreads=0
boDoNotPauseMainThread=0
boPauseWindowsThreads=0
boUseMainModuleOptions=1
boCopyLogInCaseOfError=1
boSaveCompressedCopyInCaseOfError=0
Count mtInformationMsgCaption=1
mtInformationMsgCaption0="Information."
Count mtQuestionMsgCaption=1
mtQuestionMsgCaption0="Question."
Count mtDialog_Caption=1
mtDialog_Caption0="Error."
Count mtDialog_ErrorMsgCaption=2
mtDialog_ErrorMsgCaption0="An error has occurred during program execution."
mtDialog_ErrorMsgCaption1="Please read the following information for further details."
Count mtDialog_GeneralCaption=1
mtDialog_GeneralCaption0="General"
Count mtDialog_GeneralHeader=1
mtDialog_GeneralHeader0="General Information"
Count mtDialog_CallStackCaption=1
mtDialog_CallStackCaption0="Call Stack"
Count mtDialog_CallStackHeader=1
mtDialog_CallStackHeader0="Call Stack Information"
Count mtDialog_ModulesCaption=1
mtDialog_ModulesCaption0="Modules"
Count mtDialog_ModulesHeader=1
mtDialog_ModulesHeader0="Modules Information"
Count mtDialog_CPUCaption=1
mtDialog_CPUCaption0="CPU"
Count mtDialog_CPUHeader=1
mtDialog_CPUHeader0="CPU Information"
Count mtDialog_CustomDataCaption=1
mtDialog_CustomDataCaption0="Other"
Count mtDialog_CustomDataHeader=1
mtDialog_CustomDataHeader0="Other Information"
Count mtDialog_OKButtonCaption=1
mtDialog_OKButtonCaption0="%26OK"
Count mtDialog_TerminateButtonCaption=1
mtDialog_TerminateButtonCaption0="%26Terminate"
Count mtDialog_RestartButtonCaption=1
mtDialog_RestartButtonCaption0="%26Restart"
Count mtDialog_DetailsButtonCaption=1
mtDialog_DetailsButtonCaption0="%26Details"
Count mtDialog_SendMessage=1
mtDialog_SendMessage0="%26Send this error via Internet"
Count mtDialog_ScreenshotMessage=1
mtDialog_ScreenshotMessage0="%26Attach a Screenshot image"
Count mtDialog_CopyMessage=1
mtDialog_CopyMessage0="%26Copy to Clipboard"
Count mtDialog_SupportMessage=1
mtDialog_SupportMessage0="Go to the Support Page"
Count mtLog_AppHeader=1
mtLog_AppHeader0="Application"
Count mtLog_AppStartDate=1
mtLog_AppStartDate0="Start Date"
Count mtLog_AppName=1
mtLog_AppName0="Name/Description"
Count mtLog_AppVersionNumber=1
mtLog_AppVersionNumber0="Version Number"
Count mtLog_AppParameters=1
mtLog_AppParameters0="Parameters"
Count mtLog_AppCompilationDate=1
mtLog_AppCompilationDate0="Compilation Date"
Count mtLog_ExcHeader=1
mtLog_ExcHeader0="Exception"
Count mtLog_ExcDate=1
mtLog_ExcDate0="Date"
Count mtLog_ExcAddress=1
mtLog_ExcAddress0="Address"
Count mtLog_ExcModule=1
mtLog_ExcModule0="Module"
Count mtLog_ExcType=1
mtLog_ExcType0="Type"
Count mtLog_ExcMessage=1
mtLog_ExcMessage0="Message"
Count mtLog_ActCtrlsHeader=1
mtLog_ActCtrlsHeader0="Active Controls"
Count mtLog_ActCtrlsFormClass=1
mtLog_ActCtrlsFormClass0="Form Class"
Count mtLog_ActCtrlsFormText=1
mtLog_ActCtrlsFormText0="Form Text"
Count mtLog_ActCtrlsControlClass=1
mtLog_ActCtrlsControlClass0="Control Class"
Count mtLog_ActCtrlsControlText=1
mtLog_ActCtrlsControlText0="Control Text"
Count mtLog_CmpHeader=1
mtLog_CmpHeader0="Computer"
Count mtLog_CmpName=1
mtLog_CmpName0="Name"
Count mtLog_CmpUser=1
mtLog_CmpUser0="User"
Count mtLog_CmpTotalMemory=1
mtLog_CmpTotalMemory0="Total Memory"
Count mtLog_CmpFreeMemory=1
mtLog_CmpFreeMemory0="Free Memory"
Count mtLog_CmpTotalDisk=1
mtLog_CmpTotalDisk0="Total Disk"
Count mtLog_CmpFreeDisk=1
mtLog_CmpFreeDisk0="Free Disk"
Count mtLog_CmpSystemUpTime=1
mtLog_CmpSystemUpTime0="System Up Time"
Count mtLog_CmpProcessor=1
mtLog_CmpProcessor0="Processor"
Count mtLog_CmpDisplayMode=1
mtLog_CmpDisplayMode0="Display Mode"
Count mtLog_OSHeader=1
mtLog_OSHeader0="Operating System"
Count mtLog_OSType=1
mtLog_OSType0="Type"
Count mtLog_OSBuildN=1
mtLog_OSBuildN0="Build #"
Count mtLog_OSUpdate=1
mtLog_OSUpdate0="Update"
Count mtLog_OSLanguage=1
mtLog_OSLanguage0="Language"
Count mtLog_NetHeader=1
mtLog_NetHeader0="Network"
Count mtLog_NetIP=1
mtLog_NetIP0="IP Address"
Count mtLog_NetSubmask=1
mtLog_NetSubmask0="Submask"
Count mtLog_NetGateway=1
mtLog_NetGateway0="Gateway"
Count mtLog_NetDNS1=1
mtLog_NetDNS10="DNS 1"
Count mtLog_NetDNS2=1
mtLog_NetDNS20="DNS 2"
Count mtLog_NetDHCP=1
mtLog_NetDHCP0="DHCP"
Count mtLog_CustInfoHeader=1
mtLog_CustInfoHeader0="Custom Information"
Count mtCallStack_Address=1
mtCallStack_Address0="Address"
Count mtCallStack_Name=1
mtCallStack_Name0="Module"
Count mtCallStack_Unit=1
mtCallStack_Unit0="Unit"
Count mtCallStack_Class=1
mtCallStack_Class0="Class"
Count mtCallStack_Procedure=1
mtCallStack_Procedure0="Procedure/Method"
Count mtCallStack_Line=1
mtCallStack_Line0="Line"
Count mtCallStack_MainThread=1
mtCallStack_MainThread0="Main"
Count mtCallStack_ExceptionThread=1
mtCallStack_ExceptionThread0="Exception Thread"
Count mtCallStack_RunningThread=1
mtCallStack_RunningThread0="Running Thread"
Count mtCallStack_CallingThread=1
mtCallStack_CallingThread0="Calling Thread"
Count mtCallStack_ThreadID=1
mtCallStack_ThreadID0="ID"
Count mtCallStack_ThreadPriority=1
mtCallStack_ThreadPriority0="Priority"
Count mtCallStack_ThreadClass=1
mtCallStack_ThreadClass0="Class"
Count mtSendDialog_Caption=1
mtSendDialog_Caption0="Send."
Count mtSendDialog_Message=1
mtSendDialog_Message0="Message"
Count mtSendDialog_Resolving=1
mtSendDialog_Resolving0="Resolving DNS..."
Count mtSendDialog_Connecting=1
mtSendDialog_Connecting0="Connecting with server..."
Count mtSendDialog_Connected=1
mtSendDialog_Connected0="Connected with server."
Count mtSendDialog_Sending=1
mtSendDialog_Sending0="Sending message..."
Count mtReproduceDialog_Caption=1
mtReproduceDialog_Caption0="Request"
Count mtReproduceDialog_Request=1
mtReproduceDialog_Request0="Please describe the steps to reproduce the error:"
Count mtReproduceDialog_OKButtonCaption=1
mtReproduceDialog_OKButtonCaption0="%26OK"
Count mtModules_Handle=1
mtModules_Handle0="Handle"
Count mtModules_Name=1
mtModules_Name0="Name"
Count mtModules_Description=1
mtModules_Description0="Description"
Count mtModules_Version=1
mtModules_Version0="Version"
Count mtModules_Size=1
mtModules_Size0="Size"
Count mtModules_LastModified=1
mtModules_LastModified0="Modified"
Count mtModules_Path=1
mtModules_Path0="Path"
Count mtCPU_Registers=1
mtCPU_Registers0="Registers"
Count mtCPU_Stack=1
mtCPU_Stack0="Stack"
Count mtCPU_MemoryDump=1
mtCPU_MemoryDump0="Memory Dump"
Count mtSend_SuccessMsg=1
mtSend_SuccessMsg0="The message was sent successfully."
Count mtSend_FailureMsg=1
mtSend_FailureMsg0="Sorry, sending the message didn't work."
EurekaLog Last Line -->
</BorlandProject>

45
Base/BaseD7.cfg Normal file
View File

@ -0,0 +1,45 @@
-$A8
-$B-
-$C+
-$D+
-$E-
-$F-
-$G+
-$H+
-$I+
-$J-
-$K-
-$L+
-$M-
-$N+
-$O-
-$P+
-$Q-
-$R-
-$S-
-$T-
-$U-
-$V+
-$W+
-$X+
-$YD
-$Z1
-GD
-cg
-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
-H+
-W+
-M
-$M16384,1048576
-K$00400000
-N".\"
-LE"..\Output\Cliente"
-LN".\"
-U"c:\archivos de programa\borland\delphi7\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Servidor"
-O"c:\archivos de programa\borland\delphi7\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Servidor"
-I"c:\archivos de programa\borland\delphi7\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Servidor"
-R"c:\archivos de programa\borland\delphi7\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Servidor"
-Z
-w-UNSAFE_TYPE
-w-UNSAFE_CODE
-w-UNSAFE_CAST

BIN
Base/BaseD7.dcp Normal file

Binary file not shown.

518
Base/BaseD7.dof Normal file
View File

@ -0,0 +1,518 @@
[FileVersion]
Version=7.0
[Compiler]
A=8
B=0
C=1
D=1
E=0
F=0
G=1
H=1
I=1
J=0
K=0
L=1
M=0
N=1
O=0
P=1
Q=0
R=0
S=0
T=0
U=0
V=1
W=1
X=1
Y=1
Z=1
ShowHints=1
ShowWarnings=1
UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
NamespacePrefix=
SymbolDeprecated=1
SymbolLibrary=1
SymbolPlatform=1
UnitLibrary=1
UnitPlatform=1
UnitDeprecated=1
HResultCompat=1
HidingMember=1
HiddenVirtual=1
Garbage=1
BoundsError=1
ZeroNilCompat=1
StringConstTruncated=1
ForLoopVarVarPar=1
TypedConstVarPar=1
AsgToTypedConst=1
CaseLabelRange=1
ForVariable=1
ConstructingAbstract=1
ComparisonFalse=1
ComparisonTrue=1
ComparingSignedUnsigned=1
CombiningSignedUnsigned=1
UnsupportedConstruct=1
FileOpen=1
FileOpenUnitSrc=1
BadGlobalSymbol=1
DuplicateConstructorDestructor=1
InvalidDirective=1
PackageNoLink=1
PackageThreadVar=1
ImplicitImport=1
HPPEMITIgnored=1
NoRetVal=1
UseBeforeDef=1
ForLoopVarUndef=1
UnitNameMismatch=1
NoCFGFileFound=1
MessageDirective=1
ImplicitVariants=1
UnicodeToLocale=1
LocaleToUnicode=1
ImagebaseMultiple=1
SuspiciousTypecast=1
PrivatePropAccessor=1
UnsafeType=0
UnsafeCode=0
UnsafeCast=0
[Linker]
MapFile=3
OutputObjs=0
ConsoleApp=1
DebugInfo=0
RemoteSymbols=0
MinStackSize=16384
MaxStackSize=1048576
ImageBase=4194304
ExeDescription=
[Directories]
OutputDir=
UnitOutputDir=.\
PackageDLLOutputDir=..\Output\Cliente
PackageDCPOutputDir=.\
SearchPath=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Servidor
Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;dclOfficeXP;CEToolsPkgd7;FR7;FRIBX7;Hydra_Core_D7;Hydra_RO_D7;fqb70;frx7;frxADO7;frxBDE7;frxDB7;frxDBX7;frxe7;frxIBX7;fs7;fsADO7;fsBDE7;fsDB7;fsIBX7;DataAbstract_Core_D7;DataAbstract_IDE_D7
Conditionals=
DebugSourceDirs=
UsePackages=0
[Parameters]
RunParams=
HostApplication=
Launcher=
UseLauncher=0
DebugCWD=
[Language]
ActiveLang=
ProjectLang=
RootDir=C:\Archivos de programa\Borland\Delphi7\Bin\
[Version Info]
IncludeVerInfo=1
AutoIncBuild=0
MajorVer=1
MinorVer=0
Release=0
Build=0
Debug=0
PreRelease=0
Special=0
Private=0
DLL=0
Locale=3082
CodePage=1252
[Version Info Keys]
CompanyName=
FileDescription=
FileVersion=1.0.0.0
InternalName=
LegalCopyright=
LegalTrademarks=
OriginalFilename=
ProductName=
ProductVersion=1.0.0.0
Comments=
[Excluded Packages]
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxTreeListVCLD7.bpl=ExpressQuantumTreeList 4 (VCL Edition) by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxThemeD7.bpl=Express XP Theme Manager by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxLibraryVCLD7.bpl=Express Cross Platform Library (VCL Edition) by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxExportVCLD7.bpl=Express Cross Platform Export Library (VCL Edition) by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxEditorsVCLD7.bpl=ExpressEditors Library 5 (VCL Edition) by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxDataD7.bpl=ExpressDataController by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxExtEditorsVCLD7.bpl=ExpressExtendedEditors Library 5 (VCL Edition) by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxGridVCLD7.bpl=ExpressQuantumGrid 5 (VCL Edition) by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxPageControlVCLD7.bpl=Express Cross Platform PageControl (VCL Edition) by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxSchedulerVCLD7.bpl=ExpressScheduler 2 (VCL Edition) by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxsbD7.bpl=ExpressSideBar by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxComnD7.bpl=ExpressCommonLibrary by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxBarD7.bpl=ExpressBars by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxBarDBNavD7.bpl=ExpressBars DBNavigator by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxBarExtDBItemsD7.bpl=ExpressBars extended DB items by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxBarExtItemsD7.bpl=ExpressBars extended items by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxDockingD7.bpl=ExpressDocking Library by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxLayoutControlD7.bpl=ExpressLayout Control by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxNavBarD7.bpl=ExpressNavBar by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxGDIPlusD7.bpl=ExpressGDI+ Library by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxPSCoreD7.bpl=ExpressPrinting System by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxVerticalGridVCLD7.bpl=ExpressVerticalGrid (VCL Edition) by Developer Express Inc.
c:\archivos de programa\borland\delphi7\Projects\Bpl\RodaxFrameD7.bpl=Frames Acana (D7)
C:\WINDOWS\system32\dclShX_Namespace_V3D7.bpl=(untitled)
C:\WINDOWS\system32\vclShX_Namespace_v3D7.bpl=(untitled)
[HistoryLists\hlDebugSourcePath]
Count=1
Item0=D:\Proyectos\Componentes\GUISDK\Sources\;D:\Proyectos\Componentes\PluginSDK\Source\;D:\Proyectos\FactuGES (Estudio)\Codigo\Modulos\Contactos\Cliente;D:\Proyectos\FactuGES (Estudio)\Codigo\Modulos\Contactos\Reglas
[HistoryLists\hlUnitAliases]
Count=1
Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
[HistoryLists\hlSearchPath]
Count=16
Item0=..\Modulos\Presupuestos\Reglas;..\Modulos\Contactos\Reglas;..\Base;..\Configuracion;..\Usuarios;..\Modulos\Albaranes de cliente\Reglas
Item1=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Base;..\Configuracion;..\Usuarios;..\Modulos\Intervalos;..\Modulos\Documentos asociados;..\Modulos\Contactos\Cliente;..\Modulos\Contactos\Reglas;..\Modulos\Presupuestos\Cliente;..\Modulos\Presupuestos\Reglas;..\Modulos\Albaranes de cliente\Cliente;..\Modulos\Albaranes de cliente\Reglas;..\Modulos\Facturas de cliente\Cliente;..\Modulos\Facturas de cliente\Reglas;..\Modulos\Pedidos a proveedor\Cliente;..\Modulos\Pedidos a proveedor\Reglas;..\Modulos\Facturas de proveedor\Cliente;..\Modulos\Facturas de proveedor\Reglas;..\Modulos\Montajes\Reglas;..\Modulos\Montajes\Cliente;..\Modulos\Articulos\Cliente;..\Modulos\Articulos\Reglas;..\Modulos\Almacenes\Reglas;..\Modulos\Almacenes\Cliente;..\Modulos\Pagos\Reglas;..\Modulos\Pagos\Cliente;..\Modulos\Cuentas\Reglas;..\Modulos\Cuentas\Cliente;..\Modulos\Asientos\Reglas;..\Modulos\Asientos\Cliente;..\Modulos\Calendarios\Cliente;..\Modulos\Calendarios\Reglas
Item2=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\Presupuestos\Cliente;..\..\..\Usuarios;..\..\Albaranes de cliente\Cliente;..\..\Documentos asociados;..\..\Pagos\Cliente;..\..\Intervalos\Cliente;..\..\Asientos\Cliente;..\..\Cuentas\Cliente
Item3=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\Presupuestos\Cliente;..\..\..\Usuarios;..\..\Albaranes de cliente\Cliente;..\..\Documentos asociados;..\..\Pagos\Cliente;..\..\Intervalos\Cliente;..\..\Asientos\Cliente
Item4=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\Presupuestos\Cliente;..\..\..\Usuarios;..\..\Albaranes de cliente\Cliente;..\..\Documentos asociados;..\..\Pagos\Cliente;..\..\Intervalos\Cliente
Item5=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\Presupuestos\Cliente;..\..\..\Usuarios;..\..\Albaranes de cliente\Cliente;..\..\Documentos asociados;..\..\Pagos\Cliente
Item6=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\..\Usuarios;..\..\Montajes\Cliente;..\..\Documentos asociados;..\..\Contactos\Cliente;..\..\Almacenes\Cliente
Item7=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\..\Usuarios;..\..\Documentos asociados
Item8=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\..\Usuarios;..\..\Montajes\Cliente;..\..\Documentos asociados;..\..\Contactos\Cliente
Item9=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\..\Usuarios;..\..\Montajes\Cliente;..\..\Documentos asociados
Item10=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\..\Usuarios;..\..\Montajes\Cliente
Item11=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\..\Usuarios;..\..\Documentos asociados;..\..\Montajes\Cliente;..\..\Almacenes\Cliente
Item12=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\..\Usuarios;..\..\Documentos asociados;..\..\Montajes\Cliente
Item13=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Servidor
Item14=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\base;..\Modulos\Calendarios\Cliente;..\Modulos\Calendarios\Reglas
Item15=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\Base;..\..\Servidor;..\..\Contactos\Cliente;..\..\..\Usuarios
[HistoryLists\hlUnitOutputDirectory]
Count=1
Item0=.\
[HistoryLists\hlOutputDirectorry]
Count=2
Item0=..\Output\Servidor
Item1=..\Output\Cliente
[HistoryLists\hlBPLOutput]
Count=3
Item0=..\..\..\Output\Cliente
Item1=..\Output\Cliente
Item2=..\..\Output\Cliente
[HistoryLists\hlDCPOutput]
Count=1
Item0=.\
[Exception Log]
EurekaLog Version=519
Activate=1
Activate Handle=1
Save Log File=1
Foreground Tab=0
Freeze Activate=0
Freeze Timeout=0
Freeze Message=The application seems to be frozen.
SMTP From=eurekalog@email.com
SMTP Host=
SMTP Port=25
SMTP UserID=
SMTP Password=
Append to Log=0
Show TerminateBtn=1
TerminateBtn Operation=1
Errors Number=32
Errors Terminate=3
Email Address=
Email Object=
Email Send Options=0
Output Path=
Encrypt Password=
AutoCloseDialogSecs=0
WebSendMode=0
SupportULR=
HTMLLayout Count=15
HTMLLine0="%3Chtml%3E"
HTMLLine1=" %3Chead%3E"
HTMLLine2=" %3C/head%3E"
HTMLLine3=" %3Cbody TopMargin=10 LeftMargin=10%3E"
HTMLLine4=" %3Ctable width="100%%" border="0"%3E"
HTMLLine5=" %3Ctr%3E"
HTMLLine6=" %3Ctd nowrap%3E"
HTMLLine7=" %3Cfont face="Lucida Console, Courier" size="2"%3E"
HTMLLine8=" %3C%%HTML_TAG%%%3E"
HTMLLine9=" %3C/font%3E"
HTMLLine10=" %3C/td%3E"
HTMLLine11=" %3C/tr%3E"
HTMLLine12=" %3C/table%3E"
HTMLLine13=" %3C/body%3E"
HTMLLine14="%3C/html%3E"
AutoCrashOperation=1
AutoCrashNumber=10
AutoCrashMinutes=1
WebURL=
WebUserID=
WebPassword=
WebPort=0
AttachedFiles=
Count=0
EMail Message Line Count=0
loNoDuplicateErrors=0
loAppendReproduceText=0
loDeleteLogAtVersionChange=0
loAddComputerNameInLogFileName=0
loSaveModulesSection=1
loSaveCPUSection=1
soAppStartDate=1
soAppName=1
soAppVersionNumber=1
soAppParameters=1
soAppCompilationDate=1
soExcDate=1
soExcAddress=1
soExcModule=1
soExcType=1
soExcMessage=1
soActCtlsFormClass=1
soActCtlsFormText=1
soActCtlsControlClass=1
soActCtlsControlText=1
soCmpName=1
soCmpUser=1
soCmpTotalMemory=1
soCmpFreeMemory=1
soCmpTotalDisk=1
soCmpFreeDisk=1
soCmpSysUpTime=1
soCmpProcessor=1
soCmpDisplayMode=1
soOSType=1
soOSBuildN=1
soOSUpdate=1
soOSLanguage=1
soNetIP=1
soNetSubmask=1
soNetGateway=1
soNetDNS1=1
soNetDNS2=1
soNetDHCP=1
sndShowSendDialog=1
sndShowSuccessFailureMsg=0
sndSendEntireLog=0
sndSendXMLLogCopy=0
sndSendScreenshot=0
sndUseOnlyActiveWindow=0
sndSendLastHTMLPage=1
sndSendInSeparatedThread=0
sndAddDateInFileName=0
sndCompressAllFiles=0
edoShowExceptionDialog=1
edoSendEmailChecked=1
edoAttachScreenshotChecked=1
edoShowCopyToClipOption=1
edoShowDetailsButton=1
edoShowInDetailedMode=0
edoShowInTopMostMode=0
edoUseEurekaLogLookAndFeel=1
csoShowDLLs=1
csoShowBPLs=1
csoShowBorlandThreads=1
csoShowWindowsThreads=1
csoShowProcedureOffset=0
boActivateCrashDetection=0
boPauseBorlandThreads=0
boDoNotPauseMainThread=0
boPauseWindowsThreads=0
boUseMainModuleOptions=1
boCopyLogInCaseOfError=1
boSaveCompressedCopyInCaseOfError=0
Count mtInformationMsgCaption=1
mtInformationMsgCaption0="Information."
Count mtQuestionMsgCaption=1
mtQuestionMsgCaption0="Question."
Count mtDialog_Caption=1
mtDialog_Caption0="Error."
Count mtDialog_ErrorMsgCaption=2
mtDialog_ErrorMsgCaption0="An error has occurred during program execution."
mtDialog_ErrorMsgCaption1="Please read the following information for further details."
Count mtDialog_GeneralCaption=1
mtDialog_GeneralCaption0="General"
Count mtDialog_GeneralHeader=1
mtDialog_GeneralHeader0="General Information"
Count mtDialog_CallStackCaption=1
mtDialog_CallStackCaption0="Call Stack"
Count mtDialog_CallStackHeader=1
mtDialog_CallStackHeader0="Call Stack Information"
Count mtDialog_ModulesCaption=1
mtDialog_ModulesCaption0="Modules"
Count mtDialog_ModulesHeader=1
mtDialog_ModulesHeader0="Modules Information"
Count mtDialog_CPUCaption=1
mtDialog_CPUCaption0="CPU"
Count mtDialog_CPUHeader=1
mtDialog_CPUHeader0="CPU Information"
Count mtDialog_CustomDataCaption=1
mtDialog_CustomDataCaption0="Other"
Count mtDialog_CustomDataHeader=1
mtDialog_CustomDataHeader0="Other Information"
Count mtDialog_OKButtonCaption=1
mtDialog_OKButtonCaption0="%26OK"
Count mtDialog_TerminateButtonCaption=1
mtDialog_TerminateButtonCaption0="%26Terminate"
Count mtDialog_RestartButtonCaption=1
mtDialog_RestartButtonCaption0="%26Restart"
Count mtDialog_DetailsButtonCaption=1
mtDialog_DetailsButtonCaption0="%26Details"
Count mtDialog_SendMessage=1
mtDialog_SendMessage0="%26Send this error via Internet"
Count mtDialog_ScreenshotMessage=1
mtDialog_ScreenshotMessage0="%26Attach a Screenshot image"
Count mtDialog_CopyMessage=1
mtDialog_CopyMessage0="%26Copy to Clipboard"
Count mtDialog_SupportMessage=1
mtDialog_SupportMessage0="Go to the Support Page"
Count mtLog_AppHeader=1
mtLog_AppHeader0="Application"
Count mtLog_AppStartDate=1
mtLog_AppStartDate0="Start Date"
Count mtLog_AppName=1
mtLog_AppName0="Name/Description"
Count mtLog_AppVersionNumber=1
mtLog_AppVersionNumber0="Version Number"
Count mtLog_AppParameters=1
mtLog_AppParameters0="Parameters"
Count mtLog_AppCompilationDate=1
mtLog_AppCompilationDate0="Compilation Date"
Count mtLog_ExcHeader=1
mtLog_ExcHeader0="Exception"
Count mtLog_ExcDate=1
mtLog_ExcDate0="Date"
Count mtLog_ExcAddress=1
mtLog_ExcAddress0="Address"
Count mtLog_ExcModule=1
mtLog_ExcModule0="Module"
Count mtLog_ExcType=1
mtLog_ExcType0="Type"
Count mtLog_ExcMessage=1
mtLog_ExcMessage0="Message"
Count mtLog_ActCtrlsHeader=1
mtLog_ActCtrlsHeader0="Active Controls"
Count mtLog_ActCtrlsFormClass=1
mtLog_ActCtrlsFormClass0="Form Class"
Count mtLog_ActCtrlsFormText=1
mtLog_ActCtrlsFormText0="Form Text"
Count mtLog_ActCtrlsControlClass=1
mtLog_ActCtrlsControlClass0="Control Class"
Count mtLog_ActCtrlsControlText=1
mtLog_ActCtrlsControlText0="Control Text"
Count mtLog_CmpHeader=1
mtLog_CmpHeader0="Computer"
Count mtLog_CmpName=1
mtLog_CmpName0="Name"
Count mtLog_CmpUser=1
mtLog_CmpUser0="User"
Count mtLog_CmpTotalMemory=1
mtLog_CmpTotalMemory0="Total Memory"
Count mtLog_CmpFreeMemory=1
mtLog_CmpFreeMemory0="Free Memory"
Count mtLog_CmpTotalDisk=1
mtLog_CmpTotalDisk0="Total Disk"
Count mtLog_CmpFreeDisk=1
mtLog_CmpFreeDisk0="Free Disk"
Count mtLog_CmpSystemUpTime=1
mtLog_CmpSystemUpTime0="System Up Time"
Count mtLog_CmpProcessor=1
mtLog_CmpProcessor0="Processor"
Count mtLog_CmpDisplayMode=1
mtLog_CmpDisplayMode0="Display Mode"
Count mtLog_OSHeader=1
mtLog_OSHeader0="Operating System"
Count mtLog_OSType=1
mtLog_OSType0="Type"
Count mtLog_OSBuildN=1
mtLog_OSBuildN0="Build #"
Count mtLog_OSUpdate=1
mtLog_OSUpdate0="Update"
Count mtLog_OSLanguage=1
mtLog_OSLanguage0="Language"
Count mtLog_NetHeader=1
mtLog_NetHeader0="Network"
Count mtLog_NetIP=1
mtLog_NetIP0="IP Address"
Count mtLog_NetSubmask=1
mtLog_NetSubmask0="Submask"
Count mtLog_NetGateway=1
mtLog_NetGateway0="Gateway"
Count mtLog_NetDNS1=1
mtLog_NetDNS10="DNS 1"
Count mtLog_NetDNS2=1
mtLog_NetDNS20="DNS 2"
Count mtLog_NetDHCP=1
mtLog_NetDHCP0="DHCP"
Count mtLog_CustInfoHeader=1
mtLog_CustInfoHeader0="Custom Information"
Count mtCallStack_Address=1
mtCallStack_Address0="Address"
Count mtCallStack_Name=1
mtCallStack_Name0="Module"
Count mtCallStack_Unit=1
mtCallStack_Unit0="Unit"
Count mtCallStack_Class=1
mtCallStack_Class0="Class"
Count mtCallStack_Procedure=1
mtCallStack_Procedure0="Procedure/Method"
Count mtCallStack_Line=1
mtCallStack_Line0="Line"
Count mtCallStack_MainThread=1
mtCallStack_MainThread0="Main"
Count mtCallStack_ExceptionThread=1
mtCallStack_ExceptionThread0="Exception Thread"
Count mtCallStack_RunningThread=1
mtCallStack_RunningThread0="Running Thread"
Count mtCallStack_CallingThread=1
mtCallStack_CallingThread0="Calling Thread"
Count mtCallStack_ThreadID=1
mtCallStack_ThreadID0="ID"
Count mtCallStack_ThreadPriority=1
mtCallStack_ThreadPriority0="Priority"
Count mtCallStack_ThreadClass=1
mtCallStack_ThreadClass0="Class"
Count mtSendDialog_Caption=1
mtSendDialog_Caption0="Send."
Count mtSendDialog_Message=1
mtSendDialog_Message0="Message"
Count mtSendDialog_Resolving=1
mtSendDialog_Resolving0="Resolving DNS..."
Count mtSendDialog_Connecting=1
mtSendDialog_Connecting0="Connecting with server..."
Count mtSendDialog_Connected=1
mtSendDialog_Connected0="Connected with server."
Count mtSendDialog_Sending=1
mtSendDialog_Sending0="Sending message..."
Count mtReproduceDialog_Caption=1
mtReproduceDialog_Caption0="Request"
Count mtReproduceDialog_Request=1
mtReproduceDialog_Request0="Please describe the steps to reproduce the error:"
Count mtReproduceDialog_OKButtonCaption=1
mtReproduceDialog_OKButtonCaption0="%26OK"
Count mtModules_Handle=1
mtModules_Handle0="Handle"
Count mtModules_Name=1
mtModules_Name0="Name"
Count mtModules_Description=1
mtModules_Description0="Description"
Count mtModules_Version=1
mtModules_Version0="Version"
Count mtModules_Size=1
mtModules_Size0="Size"
Count mtModules_LastModified=1
mtModules_LastModified0="Modified"
Count mtModules_Path=1
mtModules_Path0="Path"
Count mtCPU_Registers=1
mtCPU_Registers0="Registers"
Count mtCPU_Stack=1
mtCPU_Stack0="Stack"
Count mtCPU_MemoryDump=1
mtCPU_MemoryDump0="Memory Dump"
Count mtSend_SuccessMsg=1
mtSend_SuccessMsg0="The message was sent successfully."
Count mtSend_FailureMsg=1
mtSend_FailureMsg0="Sorry, sending the message didn't work."

115
Base/BaseD7.dpk Normal file
View File

@ -0,0 +1,115 @@
package BaseD7;
{$R *.res}
{$ALIGN 8}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO ON}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION OFF}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES ON}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$RUNONLY}
{$IMPLICITBUILD OFF}
requires
rtl,
vcl,
vcldb,
GUISDK_D7,
vcljpg,
dbrtl,
dsnap,
vcldb,
PNG_D7,
PngComponentsD7,
JvCoreD7R,
JvStdCtrlsD7R,
JvPageCompsD7R,
cxLibraryVCLD7,
dxThemeD7,
cxEditorsVCLD7,
cxDataD7,
cxExtEditorsVCLD7,
cxGridVCLD7,
cxPageControlVCLD7,
tb2k_d7,
tbx_d7,
vclx,
vclactnband,
designide,
cxExportVCLD7,
adortl,
JvSystemD7R,
dxPSCoreD7,
dxPScxCommonD7,
dxPScxGridLnkD7,
cxIntlPrintSys3D7,
dxBarD7,
dxBarExtItemsD7,
cxIntl5D7,
DataAbstract_D7,
dxPsPrVwAdvD7,
ccpack70,
JvMMD7R,
JvCtrlsD7R,
dxLayoutControlD7,
teeui,
tee,
fsTee7,
fs7,
frxTee7,
frx7,
frxe7;
contains
uDataModuleBase in 'uDataModuleBase.pas' {dmBase: TDAClientDataModule},
uEditorBase in 'uEditorBase.pas' {fEditorBase},
uEditorGrid in 'uEditorGrid.pas' {fEditorGrid},
uEditorItem in 'uEditorItem.pas' {fEditorItem},
uDataTableUtils in 'uDataTableUtils.pas',
uEditorUtils in 'uEditorUtils.pas',
uEditorPreview in 'uEditorPreview.pas' {fEditorPreview},
uViewPreview in 'uViewPreview.pas' {frViewPreview: TFrame},
uViewBase in 'uViewBase.pas' {frViewBase: TCustomView},
uViewCategorias in 'uViewCategorias.pas' {frViewCategorias: TCustomView},
uViewDireccion in 'uViewDireccion.pas' {frViewDireccion: TCustomView},
uViewGrid in 'uViewGrid.pas' {frViewGrid: TCustomView},
uViewInternet in 'uViewInternet.pas' {frViewInternet: TCustomView},
uViewTelefonos in 'uViewTelefonos.pas' {frViewTelefonos: TCustomView},
uEditorDBBase in 'uEditorDBBase.pas' {fEditorDBBase: TCustomEditor},
uEditorDBItem in 'uEditorDBItem.pas' {fEditorDBItem: TCustomEditor},
uViewMensaje in 'uViewMensaje.pas' {frViewMensaje: TFrame},
uExceptions in 'uExceptions.pas',
uViewContenido in 'uViewContenido.pas' {frViewContenido: TFrame},
uViewBarraSeleccion in 'uViewBarraSeleccion.pas' {frViewBarraSeleccion: TFrame},
uBizImportesDetalleBase in 'uBizImportesDetalleBase.pas',
uBizImportesCabeceraBase in 'uBizImportesCabeceraBase.pas',
uViewFormaPago in 'uViewFormaPago.pas' {frViewFormaPago: TFrame},
uViewObservaciones in 'uViewObservaciones.pas' {frViewObservaciones: TFrame},
uViewPlazoEntrega in 'uViewPlazoEntrega.pas' {frViewPlazoEntrega: TFrame},
uViewTotales in 'uViewTotales.pas' {frViewTotales: TFrame},
uDBSelectionList in 'uDBSelectionList.pas',
uConfigurarConexion in 'uConfigurarConexion.pas' {fConfigurarConexion},
uViewDetallesFamilias in 'uViewDetallesFamilias.pas' {frViewDetallesFamilias: TFrame},
uBizInformesBase in 'uBizInformesBase.pas',
uViewDetallesNormales in 'uViewDetallesNormales.pas' {frViewDetallesNormales: TFrame},
uVentanaEspera in 'uVentanaEspera.pas' {Form1},
uSysFunc in 'uSysFunc.pas',
InfoProject in 'InfoProject.pas',
uViewFiltroBase in 'uViewFiltroBase.pas' {frViewFiltroBase: TFrame};
end.

16
Base/BaseD7.drc Normal file
View File

@ -0,0 +1,16 @@
/* VER150
Generated by the Borland Delphi Pascal Compiler
because -GD or --drc was supplied to the compiler.
This file contains compiler-generated resources that
were bound to the executable.
If this file is empty, then no compiler-generated
resources were bound to the produced executable.
*/
#define uROWinInetHttpChannel_sxInvalidURLformat 65520
STRINGTABLE
BEGIN
uROWinInetHttpChannel_sxInvalidURLformat, "Invalid URL format"
END

BIN
Base/BaseD7.res Normal file

Binary file not shown.

View File

@ -0,0 +1,179 @@
object frViewFiltroBase: TfrViewFiltroBase
Left = 0
Top = 0
Width = 565
Height = 107
TabOrder = 0
Visible = False
object TBXDock1: TTBXDock
Left = 0
Top = 0
Width = 565
Height = 104
object TBXDockablePanel1: TTBXDockablePanel
Left = 0
Top = 0
Caption = 'TBXDockablePanel1'
CloseButton = False
CloseButtonWhenDocked = False
DockedHeight = 100
DockMode = dmCannotFloatOrChangeDocks
ShowCaption = False
ShowCaptionWhenDocked = False
SupportedDocks = [dkStandardDock, dkMultiDock]
TabOrder = 0
object dxLayoutControl1: TdxLayoutControl
Left = 0
Top = 0
Width = 561
Height = 99
Align = alTop
ParentBackground = True
TabOrder = 0
AutoContentSizes = [acsWidth, acsHeight]
object txtFiltroTodo: TcxTextEdit
Left = 86
Top = 10
Properties.OnChange = OnCamposFiltroChange
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.HotTrack = False
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 0
Width = 273
end
object edtFechaIniFiltro: TcxDateEdit
Left = 86
Top = 37
Properties.OnChange = OnCamposFiltroChange
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.HotTrack = False
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
Style.ButtonStyle = bts3D
Style.PopupBorderStyle = epbsFrame3D
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 1
Width = 121
end
object edtFechaFinFiltro: TcxDateEdit
Left = 347
Top = 37
Properties.OnChange = OnCamposFiltroChange
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.HotTrack = False
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
Style.ButtonStyle = bts3D
Style.PopupBorderStyle = epbsFrame3D
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 2
Width = 121
end
object bQuitarFiltro: TBitBtn
Left = 10
Top = 64
Width = 163
Height = 25
Caption = 'Quitar filtros y ver todo'
TabOrder = 3
OnClick = bQuitarFiltroClick
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000000000000000000000000000000000000FF00FF00FF00
FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00A505
E1007204CA00FE00FF00FF00FF00FF00FF00E800F5003E09C100FF00FF00FF00
FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00AB17
F900161DC600C400E700FF00FF00FF00FF00520DC9000F30D600D71BCF00942A
8A004D493C004D493C00942A8A00D71BCF00FF00FF00FF00FF00D71BCF008B2C
92002843B900141B980070208D004615BA000F30D600C20BF80069605800F8D5
AD00F8C89000F8C89000E7AB63004D493C00FF00FF00FF00FF0069605800F8D5
AD00C8ACA6001036E4002125A6000F30D600B20EF600FF00FF0069605800FFD8
C000F8D5AD00F8C89000F8C890004D493C004D493C004D493C0069605800FFD8
C000EFCDAD005F65C6000A38ED002637A300927C6C00FF00FF0069605800F0F0
F000FFD8C000F8D5AD00F8C8900069605800696058006960580069605800FFF8
FF008372B1000F30D6002750F7000F30D60025256F00FF00FF00942A8A006960
58006960580069605800942A8A00D71BCF00FF00FF00FF00FF00D71BCF004F24
9E000F30D600434D8A00605D6C004D69E3000F30D6006D05CC00FF00FF006648
54004D493C00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF000F30
D6008F1FF300FF00FF00FF00FF00C811FD003154EB000024D300FF00FF00FF00
FF00664854004D493C00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
FF00FF00FF00FF00FF00FF00FF004D493C004D493C00FF00FF00FF00FF00FF00
FF00FF00FF0066485400696058004D493C00FF00FF00FF00FF00FF00FF00FF00
FF00FF00FF00FF00FF00FF00FF00696058004D493C00FF00FF00FF00FF00FF00
FF00FF00FF00FF00FF0066485400D419D000FF00FF00FF00FF00FF00FF00FF00
FF00FF00FF00FF00FF00FF00FF00A8658D0069605800FF00FF00FF00FF00FF00
FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00}
end
object dxLayoutControl1Group_Root: TdxLayoutGroup
ShowCaption = False
Hidden = True
ShowBorder = False
object dxLayoutControl1Item1: TdxLayoutItem
Caption = 'Que contenga:'
Control = txtFiltroTodo
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Group1: TdxLayoutGroup
ShowCaption = False
Hidden = True
LayoutDirection = ldHorizontal
ShowBorder = False
object dxLayoutControl1Item2: TdxLayoutItem
AutoAligns = [aaVertical]
AlignHorz = ahClient
Caption = 'Entre la fecha:'
Control = edtFechaIniFiltro
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Item3: TdxLayoutItem
AutoAligns = [aaVertical]
AlignHorz = ahClient
Caption = 'y'
Control = edtFechaFinFiltro
ControlOptions.ShowBorder = False
end
end
object dxLayoutControl1Item4: TdxLayoutItem
AutoAligns = [aaVertical]
ShowCaption = False
Control = bQuitarFiltro
ControlOptions.ShowBorder = False
end
end
end
end
end
object dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList
Left = 136
Top = 16
end
end

View File

@ -0,0 +1,123 @@
unit uViewFiltroBase;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxMaskEdit, cxDropDownEdit, cxCalendar, dxLayoutControl,
cxContainer, cxEdit, cxTextEdit, dxLayoutLookAndFeels, cxControls,
StdCtrls, Buttons, cxRadioGroup, TBXDkPanels, TB2ExtItems, TBXExtItems,
TBX, TB2Item, TB2Dock, TB2Toolbar;
type
IViewFiltroBase = interface
['{0D0EA630-BF93-4BA1-93C2-FD5A5B0CBEED}']
function GetFiltrosChange: TNotifyEvent;
procedure SetFiltrosChange(const Value: TNotifyEvent);
property OnFiltrosChange: TNotifyEvent read GetFiltrosChange write SetFiltrosChange;
function GetVerFiltros: Boolean;
procedure SetVerFiltros(const Value: Boolean);
property VerFiltros: Boolean read GetVerFiltros write SetVerFiltros;
end;
TfrViewFiltroBase = class(TFrame, IViewFiltroBase)
dxLayoutControl1Group_Root: TdxLayoutGroup;
dxLayoutControl1: TdxLayoutControl;
dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList;
dxLayoutControl1Item1: TdxLayoutItem;
txtFiltroTodo: TcxTextEdit;
dxLayoutControl1Item2: TdxLayoutItem;
edtFechaIniFiltro: TcxDateEdit;
dxLayoutControl1Item3: TdxLayoutItem;
edtFechaFinFiltro: TcxDateEdit;
dxLayoutControl1Group1: TdxLayoutGroup;
dxLayoutControl1Item4: TdxLayoutItem;
bQuitarFiltro: TBitBtn;
TBXDock1: TTBXDock;
TBXDockablePanel1: TTBXDockablePanel;
procedure bQuitarFiltroClick(Sender: TObject);
procedure OnCamposFiltroChange(Sender: TObject);
private
FOnFiltrosChange: TNotifyEvent;
function GetFiltrosChange: TNotifyEvent;
procedure SetFiltrosChange(const Value: TNotifyEvent);
function GetVerFiltros: Boolean;
procedure SetVerFiltros(const Value: Boolean);
protected
procedure LimpiarCampos; virtual;
function ValidarCampos: Boolean; virtual;
public
property OnFiltrosChange: TNotifyEvent read GetFiltrosChange write SetFiltrosChange;
property VerFiltros: Boolean read GetVerFiltros write SetVerFiltros;
end;
implementation
{$R *.dfm}
{ TfrViewFiltroBase }
function TfrViewFiltroBase.GetFiltrosChange: TNotifyEvent;
begin
Result := FOnFiltrosChange;
end;
procedure TfrViewFiltroBase.SetFiltrosChange(const Value: TNotifyEvent);
begin
FOnFiltrosChange := Value;
end;
procedure TfrViewFiltroBase.bQuitarFiltroClick(Sender: TObject);
begin
LimpiarCampos;
if Assigned(FOnFiltrosChange) then
FOnFiltrosChange(Sender);
end;
function TfrViewFiltroBase.GetVerFiltros: Boolean;
begin
Result := Self.Visible;
end;
procedure TfrViewFiltroBase.SetVerFiltros(const Value: Boolean);
begin
Self.Visible := Value;
if not Self.Visible then
bQuitarFiltro.Click;
end;
procedure TfrViewFiltroBase.LimpiarCampos;
begin
txtFiltroTodo.Clear;
edtFechaIniFiltro.Clear;
edtFechaFinFiltro.Clear;
end;
procedure TfrViewFiltroBase.OnCamposFiltroChange(Sender: TObject);
begin
if ValidarCampos then
if Assigned(FOnFiltrosChange) then
FOnFiltrosChange(Sender);
end;
function TfrViewFiltroBase.ValidarCampos: Boolean;
begin
Result := True;
if not VarIsNull(edtFechaIniFiltro.EditValue) and not VarIsNull(edtFechaFinFiltro.EditValue) then
begin
if (edtFechaIniFiltro.EditValue > edtFechaFinFiltro.EditValue) then
begin
ShowMessage('La fecha de inicio debe ser anterior a la fecha final');
edtFechaIniFiltro.SetFocus;
Result := False;
end
end;
end;
end.

187
Base/InfoProject.pas Normal file
View File

@ -0,0 +1,187 @@
{
===============================================================================
Copyright (©) 2005. 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: 17-05-2005
Versión actual: 1.0.0
Fecha versión actual: 17-05-2005
===============================================================================
Modificaciones:
Fecha Comentarios
---------------------------------------------------------------------------
===============================================================================
}
unit InfoProject;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type
TInfoProject = class(TComponent)
private
{ Private declarations }
FFVIBuff: Pointer;
FFVISize: DWord;
FHandle: DWord;
FFileName: String;
FLanguage: Word;
FCodePage: Word;
FLanguageCodePage: String;
FCompanyName: String;
FFileDescription: String;
FFileVersion: String;
FInternalName: String;
FLegalCopyright: String;
FLegalTradeMarks: String;
FOriginalFileName: String;
FProductName: String;
FProductVersion: String;
FComments: String;
procedure ReadFixedFileInfo;
function GetLangCPage: String;
function GetStringFileInfo(S: String): String;
procedure SetFileName(const Value: String);
protected
{ Protected declarations }
public
{ Public declarations }
constructor Create(AOwner: TComponent); override;
function LanguageStr(Language: Word): String;
property FileName: String read FFileName write SetFileName;
property Language: Word read FLanguage;
property CodePage: Word read FCodePage;
property LanguageCodePage: String read FLanguageCodePage;
property CompanyName: String read FCompanyName;
property FileDescription: String read FFileDescription;
property FileVersion: String read FFileVersion;
property InternalName: String read FInternalName;
property LegalCopyright: String read FLegalCopyright;
property LegalTradeMarks: String read FLegalTradeMarks;
property OriginalFileName: String read FOriginalFileName;
property ProductName: String read FProductName;
property ProductVersion: String read FProductVersion;
property Comments: String read FComments;
published
{ Published declarations }
end;
implementation
{ TInfoProject }
constructor TInfoProject.Create(AOwner: TComponent);
begin { of TInfoProject.Create }
inherited Create(AOwner);
{ build current EXE filename }
FileName := ParamStr(0);
end; { of TInfoProject.Create }
procedure TInfoProject.ReadFixedFileInfo;
begin { of TInfoProject.ReadFixedFileInfo }
{ determine size of buffer required }
FFVISize := GetFileVersionInfoSize(PChar(FileName), FHandle);
{ create buffer }
GetMem(FFVIBuff, FFVISize);
try
{ load buffer }
GetFileVersionInfo(PChar(FileName), FHandle, FFVISize, FFVIBuff);
{ extract the language/codepage info }
FLanguageCodePage := GetLangCPage;
{ extract the other info }
FCompanyName := GetStringFileInfo('CompanyName');
FFileDescription := GetStringFileInfo('FileDescription');
FFileVersion := GetStringFileInfo('FileVersion');
FInternalName := GetStringFileInfo('InternalName');
FLegalCopyright := GetStringFileInfo('LegalCopyright');
FLegalTradeMarks := GetStringFileInfo('LegalTradeMarks');
FOriginalFileName := GetStringFileInfo('OriginalFileName');
FProductName := GetStringFileInfo('ProductName');
FProductVersion := GetStringFileInfo('ProductVersion');
FComments := GetStringFileInfo('Comments');
finally
{ dispose buffer }
FreeMem(FFVIBuff, FFVISize);
end;
end; { of TInfoProject.ReadFixedFileInfo }
function TInfoProject.LanguageStr(Language: Word): String;
var
P: array[0..255] of Char;
Len: Word;
begin { of TInfoProject.LanguageStr }
Len := VerLanguageName(Language, P, SizeOf(P));
if (Len > SizeOf(P)) then
begin
{ if this occurs then the P buffer is too small }
{ so we will truncate the returned string }
Len := SizeOf(P);
end;
SetString(Result, P, Len);
end; { of TInfoProject.LanguageStr }
function TInfoProject.GetLangCPage: String;
var
SearchString: String;
FVILang: array of Byte;
Len: DWORD;
begin { of TInfoProject.GetLangCPage }
Result := '00000000';
if (FFVIBuff <> NIL) then
begin
SearchString := '\VarFileInfo\Translation';
if VerQueryValue(FFVIBuff, PChar(SearchString),
Pointer(FVILang), Len) then
begin
FLanguage := FVILang[0] + FVILang[1]*$100;
FCodePage := FVILang[2] + FVILang[3]*$100;
Result := IntToHex(FLanguage, 4) + IntToHex(FCodePage, 4);
end;
end;
end; { of TInfoProject.GetLangCPage }
function TInfoProject.GetStringFileInfo(S: String): String;
var
SearchString: String;
P: PChar;
Len: DWORD;
begin { of TInfoProject.GetStringFileInfo }
Result := '';
if (FFVIBuff <> NIL) then
begin
SearchString := '\StringFileInfo\'+FLanguageCodePage+'\'+S;
if VerQueryValue(FFVIBuff, PChar(SearchString), Pointer(P), Len) then
begin
{ coded with StrLen to ditch the trailing #0 character }
SetString(Result, P, StrLen(P));
end;
end;
end; { of TInfoProject.GetStringFileInfo }
procedure TInfoProject.SetFileName(const Value: String);
begin { of TInfoProject.SetFileName }
FFileName := ExpandUNCFileName(Value);
{ read fileinfo from this new file }
ReadFixedFileInfo;
end; { of TInfoProject.SetFileName }
end.

0
Base/serverlog.txt Normal file
View File

View File

@ -0,0 +1,166 @@
unit uBizImportesCabeceraBase;
interface
uses
uDAInterfaces, uDADataTable;
type
IBizImportesCabecera = interface(IDAStronglyTypedDataTable)
['{566EE7D3-EE6D-4B01-B327-92E288A0C5A0}']
procedure RecalcularImporte;
end;
TBizIVAFieldRules = class(TDAFieldRules)
protected
procedure OnChange(Sender: TDACustomField); override;
end;
TBizDescuentoFieldRules = class(TDAFieldRules)
protected
procedure OnChange(Sender: TDACustomField); override;
end;
TBizBaseImponibleFieldRules = class(TDAFieldRules)
protected
procedure OnChange(Sender: TDACustomField); override;
end;
procedure RecalcularImportesCabecera(aDataTable : TDADataTable); overload;
procedure RecalcularImportesCabecera(aMasterTable, aDetailTable : TDADataTable); overload;
implementation
uses
SysUtils, DB, uBizImportesDetalleBase;
const
fld_BASEIMPONIBLE = 'BASEIMPONIBLE';
fld_IVA = 'IVA';
fld_IMPORTEIVA = 'IMPORTEIVA';
fld_DESCUENTO = 'DESCUENTO';
fld_IMPORTEDESCUENTO = 'IMPORTEDESCUENTO';
fld_IMPORTETOTAL = 'IMPORTETOTAL';
procedure RecalcularImportesCabecera(aDataTable : TDADataTable);
{ Recalcula todos los importes de la cabecera a partir de la base imponible }
var
BIField : TDAField;
IDField : TDAField;
DTOField : TDAField;
IVAField : TDAField;
IIField : TDAField;
ITField : TDAField;
EnEdicion : Boolean;
begin
BIField := aDataTable.FindField(fld_BASEIMPONIBLE);
if not Assigned(BIField) then
raise Exception.Create('Campo BASEIMPONIBLE no encontrado (CalcularImportes)');
IDField := aDataTable.FindField(fld_IMPORTEDESCUENTO);
if not Assigned(IDField) then
raise Exception.Create('Campo IMPORTEDESCUENTO no encontrado (CalcularImportes)');
DTOField := aDataTable.FindField(fld_DESCUENTO);
if not Assigned(DTOField) then
raise Exception.Create('Campo DESCUENTO no encontrado (CalcularImportes)');
IVAField := aDataTable.FindField(fld_IVA);
if not Assigned(IVAField) then
raise Exception.Create('Campo IVA no encontrado (CalcularImportes)');
IIField := aDataTable.FindField(fld_IMPORTEIVA);
if not Assigned(IIField) then
raise Exception.Create('Campo IMPORTEIVA no encontrado (CalcularImportes)');
ITField := aDataTable.FindField(fld_IMPORTETOTAL);
if not Assigned(ITField) then
raise Exception.Create('Campo IMPORTETOTAL no encontrado (CalcularImportes)');
// ¿Viene en modo edición?
EnEdicion := (aDataTable.State in dsEditModes);
if not EnEdicion then
aDataTable.Edit;
IDField.Value := BIField.AsCurrency * (DTOField.AsInteger/100);
ITField.Value := BIField.AsCurrency - IDField.AsCurrency;
IIField.Value := ITField.AsCurrency * (IVAField.AsInteger/100);
ITField.Value := ITField.AsCurrency + IIField.AsCurrency;
if EnEdicion then
aDataTable.Edit; // Para dejar la tabla como estaba otra vez
end;
procedure RecalcularImportesCabecera(aMasterTable, aDetailTable : TDADataTable);
{ Recalcula todos los importes de la cabecera a partir de los detalles }
var
aDetalle : IBizImportesDetalle;
BIField : TDAField;
EnEdicion : Boolean;
begin
BIField := aMasterTable.FindField(fld_BASEIMPONIBLE);
if not Assigned(BIField) then
raise Exception.Create('Campo BASEIMPONIBLE no encontrado (CalcularImportes)');
// ¿Viene en modo edición?
EnEdicion := (aMasterTable.State in dsEditModes);
if not EnEdicion then
aMasterTable.Edit;
BIField.Value := 0;
if aDetailTable.RecordCount > 0 then
if Supports(aDetailTable, IBizImportesDetalle, aDetalle) then
BIField.Value := aDetalle.DarSumaTotalImportes;
RecalcularImportesCabecera(aMasterTable);
if EnEdicion then
aMasterTable.Edit; // Para dejar la tabla como estaba otra vez
end;
{ TBizIVAFieldRules }
procedure TBizIVAFieldRules.OnChange(Sender: TDACustomField);
var
aCabecera : IBizImportesCabecera;
begin
inherited;
if Supports(DataTable, IBizImportesCabecera, aCabecera) then
aCabecera.RecalcularImporte;
end;
{ TBizDescuentoFieldRules }
procedure TBizDescuentoFieldRules.OnChange(Sender: TDACustomField);
var
aCabecera : IBizImportesCabecera;
begin
inherited;
if Supports(DataTable, IBizImportesCabecera, aCabecera) then
aCabecera.RecalcularImporte;
end;
{ TBizBaseImponibleFieldRules }
procedure TBizBaseImponibleFieldRules.OnChange(Sender: TDACustomField);
var
aCabecera : IBizImportesCabecera;
begin
inherited;
if Supports(DataTable, IBizImportesCabecera, aCabecera) then
aCabecera.RecalcularImporte;
end;
initialization
RegisterFieldRules('Client.Field.Descuento', TBizDescuentoFieldRules);
RegisterFieldRules('Client.Field.IVA', TBizIVAFieldRules);
RegisterFieldRules('Client.Field.BaseImponible', TBizBaseImponibleFieldRules);
finalization
end.

File diff suppressed because it is too large Load Diff

14
Base/uBizInformesBase.pas Normal file
View File

@ -0,0 +1,14 @@
unit uBizInformesBase;
interface
type
IBizInformesAware = interface
['{98AD6541-199F-4155-B394-ED0316298759}']
procedure Preview;
procedure Print;
end;
implementation
end.

View File

@ -0,0 +1,111 @@
object fConfigurarConexion: TfConfigurarConexion
Left = 425
Top = 509
Width = 399
Height = 179
ActiveControl = edtServer
Caption = 'Configuraci'#243'n de la conexi'#243'n'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
Position = poScreenCenter
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object bProbar: TButton
Left = 8
Top = 113
Width = 105
Height = 25
Caption = '&Probar la conexi'#243'n'
TabOrder = 1
OnClick = bProbarClick
end
object GroupBox1: TGroupBox
Left = 8
Top = 8
Width = 375
Height = 97
Caption = 'Servidor de FactuGES'
TabOrder = 0
DesignSize = (
375
97)
object Label1: TLabel
Left = 18
Top = 30
Width = 97
Height = 13
Caption = 'Nombre del servidor:'
end
object Label2: TLabel
Left = 18
Top = 60
Width = 93
Height = 13
Caption = 'Puerto de escucha:'
end
object edtServer: TEdit
Left = 128
Top = 24
Width = 231
Height = 21
Anchors = [akLeft, akTop, akRight]
TabOrder = 0
end
object edtPort: TEdit
Left = 128
Top = 56
Width = 116
Height = 21
Anchors = [akLeft, akTop, akRight]
TabOrder = 1
Text = '8099'
end
end
object bAceptar: TButton
Left = 219
Top = 113
Width = 75
Height = 25
Caption = '&Aceptar'
Default = True
ModalResult = 1
TabOrder = 2
end
object bCancelar: TButton
Left = 307
Top = 113
Width = 75
Height = 25
Cancel = True
Caption = '&Cancelar'
ModalResult = 2
TabOrder = 3
end
object HTTPChannel: TROWinInetHTTPChannel
ServerLocators = <>
DispatchOptions = []
ProbeServers = False
ProbeFrequency = 60000
UserAgent = 'FactuGES'
TargetURL = 'http://localhost:8099/BIN'
Left = 120
Top = 112
end
object ROBinMessage: TROBinMessage
Left = 152
Top = 112
end
object CoService: TRORemoteService
ServiceName = 'srvLogin'
Message = ROBinMessage
Channel = HTTPChannel
Left = 184
Top = 112
end
end

View File

@ -0,0 +1,78 @@
unit uConfigurarConexion;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, uROClient, uROWinInetHttpChannel, uRODynamicRequest,
uROServiceComponent, uRORemoteService, uROBinMessage;
type
TfConfigurarConexion = class(TForm)
bProbar: TButton;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
edtServer: TEdit;
edtPort: TEdit;
bAceptar: TButton;
bCancelar: TButton;
HTTPChannel: TROWinInetHTTPChannel;
ROBinMessage: TROBinMessage;
CoService: TRORemoteService;
procedure bProbarClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
function GetTargetURL: String;
procedure SetTargetURL(const Value: String);
{ Private declarations }
public
property TargetURL : String read GetTargetURL write SetTargetURL;
end;
var
fConfigurarConexion: TfConfigurarConexion;
implementation
uses
StrUtils, JclStrings, FactuGES_Intf, uDataModuleBase;
{$R *.dfm}
{ TfConfigurarConexion }
function TfConfigurarConexion.GetTargetURL: String;
begin
Result := 'http://' + edtServer.Text + ':' + edtPort.Text + '/bin';
end;
procedure TfConfigurarConexion.SetTargetURL(const Value: String);
var
s : String;
begin
s := StrAfter('http://', Value);
s := StrBefore(':', s);
edtServer.Text := s;
s := StrAfter(edtServer.Text + ':', Value);
s := StrBefore('/bin', s);
edtPort.Text := s;
end;
procedure TfConfigurarConexion.bProbarClick(Sender: TObject);
begin
try
HTTPChannel.TargetURL := TargetURL;
(CoService as IsrvLogin).Ping;
Application.MessageBox('Conexión válida con el servidor.', 'FactuGES', MB_OK);
finally
end;
end;
procedure TfConfigurarConexion.FormCreate(Sender: TObject);
begin
HTTPChannel.OnFailure := dmBase.ROChannelFailure;
end;
end.

125
Base/uDBSelectionList.pas Normal file
View File

@ -0,0 +1,125 @@
unit uDBSelectionList;
interface
uses
uDADataTable, Classes, DB;
type
TSelectedRowList = class;
ISelectedRowList = interface
['{1886B04A-DB0D-40AE-BCAE-DA57CD4CD582}']
function GetSelectedRows : TSelectedRowList;
property SelectedRows : TSelectedRowList read GetSelectedRows;
end;
TSelectedRowList = class
private
FDataTable: TDADataTable;
FList: TList;
function GetCount: Integer;
function GetCurrentRowSelected: Boolean;
function GetItem(Index: Integer): TBookmark;
procedure SetCurrentRowSelected(Value: Boolean);
protected
function CurrentRow: TBookmark;
function Compare(const Item1, Item2: TBookmark): Boolean;
public
constructor Create(ADataTable : TDADataTable);
destructor Destroy; override;
procedure Clear; // free all bookmarks
function Find(const Item: TBookmark; var Index: Integer): Boolean;
function IndexOf(const Item: TBookmark): Integer;
property Count: Integer read GetCount;
property CurrentRowSelected: Boolean read GetCurrentRowSelected
write SetCurrentRowSelected;
property Items[Index: Integer]: TBookmark read GetItem; default;
end;
implementation
uses
DBConsts;
{ TSelectedRowList }
constructor TSelectedRowList.Create(ADataTable : TDADataTable);
begin
inherited Create;
FList := TList.Create;
FDataTable := ADataTable;
end;
destructor TSelectedRowList.Destroy;
begin
Clear;
FList.Free;
FDataTable := NIL;
inherited Destroy;
end;
procedure TSelectedRowList.Clear;
begin
if FList.Count = 0 then
Exit;
FList.Clear;
end;
function TSelectedRowList.Compare(const Item1, Item2: TBookmark): Boolean;
begin
Result := (Item1 = Item2);
end;
function TSelectedRowList.CurrentRow: TBookmark;
begin
if not FDataTable.Active then
raise EDatabaseError.Create(sDataSetClosed);
Result := FDataTable.GetBookMark
end;
function TSelectedRowList.GetCurrentRowSelected: Boolean;
var
Index: Integer;
begin
Result := Find(CurrentRow, Index);
end;
function TSelectedRowList.Find(const Item: TBookmark; var Index: Integer): Boolean;
begin
Index := FList.IndexOf(Item);
Result := (Index > -1)
end;
function TSelectedRowList.GetCount: Integer;
begin
Result := FList.Count;
end;
function TSelectedRowList.GetItem(Index: Integer): TBookmark;
begin
Result := FList[Index];
end;
function TSelectedRowList.IndexOf(const Item: TBookmark): Integer;
begin
Result := FList.IndexOf(Item);
end;
procedure TSelectedRowList.SetCurrentRowSelected(Value: Boolean);
var
Index: Integer;
Current: TBookmark;
begin
Current := CurrentRow;
if (Find(Current, Index) = Value) then
Exit;
if Value then
FList.Add(Current)
else
FList.Delete(Index);
end;
end.

BIN
Base/uDataModuleBase.ddp Normal file

Binary file not shown.

1660
Base/uDataModuleBase.dfm Normal file

File diff suppressed because it is too large Load Diff

216
Base/uDataModuleBase.pas Normal file
View File

@ -0,0 +1,216 @@
unit uDataModuleBase;
interface
uses
Controls, PngImageList, JvComponent, JvNavigationPane, TBXSwitcher,
TBXOffice2003Theme, Classes, ImgList, uROClient, uROBinMessage,
uROServiceComponent, uRORemoteService, uROWinInetHttpChannel,
DataAbstract_Intf, uDADataTable, uDABINAdapter, cxintl, cxIntlPrintSys3,
FactuGES_Intf, JvAppStorage, JvAppRegistryStorage, SysUtils,
JvComponentBase;
type
TdmBase = class(TDataModule)
ROChannel: TROWinInetHTTPChannel;
SmallImages: TPngImageList;
StyleManager: TJvNavPaneStyleManager;
TBXSwitcher: TTBXSwitcher;
cxIntl: TcxIntl;
cxIntlPrintSys3: TcxIntlPrintSys3;
ROMessage: TROBinMessage;
DABINAdapter: TDABINAdapter;
JvAppRegistryStorage: TJvAppRegistryStorage;
RORemoteService: TRORemoteService;
procedure DAClientDataModuleCreate(Sender: TObject);
procedure ROChannelFailure(Sender: TROTransportChannel;
anException: Exception; var Retry: Boolean);
procedure ROChannelProgress(iSender: TObject; iType: TProgressType;
iDirection: TProgressDirection; iTransferred, iTotal: Integer);
private
FOnThemeChange: TNotifyEvent;
function GetAdapter: TDABINAdapter;
function GetChannel: TROWinInetHTTPChannel;
function GetCodigoEmpresa: Integer;
function GetMessage: TROBinMessage;
procedure InitStyleManager;
procedure OnTBXThemeChange(Sender: TObject);
procedure LeerConfiguracion;
procedure SalvarConfiguracion;
public
procedure ConfigurarConexion;
property Adapter: TDABINAdapter read GetAdapter;
property Channel: TROWinInetHTTPChannel read GetChannel;
property CodigoEmpresa: Integer read GetCodigoEmpresa;
property Message: TROBinMessage read GetMessage;
property OnThemeChange: TNotifyEvent read FOnThemeChange write
FOnThemeChange;
function darRutaDocumentos: Variant;
function darVersion: String;
end;
var
dmBase: TdmBase;
implementation
{$R *.DFM}
uses
Dialogs, Variants, TBX, TBXThemes, uConfigurarConexion, WinInet, Forms, Windows,
uVentanaEspera, InfoProject;
const
SERVER_URL = 'http://localhost:8099/bin';
IE_OFFLINE_ERROR = 'Unexpected error in WinInet HTTP Channel (2)';
{
*********************************** TdmBase ************************************
}
procedure TdmBase.ConfigurarConexion;
begin
with TfConfigurarConexion.Create(NIL) do
try
TargetURL := ROChannel.TargetURL;
if ShowModal = mrOk then
begin
ROChannel.TargetURL := TargetURL;
ROChannel.Connected := False;
ROChannel.Connected := True;
SalvarConfiguracion;
end;
finally
Free;
end;
end;
procedure TdmBase.DAClientDataModuleCreate(Sender: TObject);
begin
TBXSwitcher.OnThemeChange := OnTBXThemeChange;
TBXSetTheme('Office2003');
LeerConfiguracion;
end;
function TdmBase.GetAdapter: TDABINAdapter;
begin
Result := DABinAdapter;
end;
function TdmBase.GetChannel: TROWinInetHTTPChannel;
begin
Result := ROChannel;
end;
function TdmBase.GetCodigoEmpresa: Integer;
begin
Result := 1;
end;
function TdmBase.GetMessage: TROBinMessage;
begin
Result := ROMessage;
end;
procedure TdmBase.InitStyleManager;
begin
if not USE_THEMES then
begin
TBXSwitcher.EnableXPStyles := False;
StyleManager.Theme := nptStandard;
end
else begin
TBXSwitcher.EnableXPStyles := True;
with StyleManager do
begin
if CurrentTheme is TTBXOffice2003Theme then
begin
case GetOffice2003Scheme of
osBlue : Theme := nptXPBlue;
osMetallic : Theme := nptXPSilver;
osGreen : Theme := nptXPOlive;
else
Theme := nptStandard;
end;
end;
end;
end;
end;
procedure TdmBase.LeerConfiguracion;
begin
ROChannel.TargetURL := JvAppRegistryStorage.ReadString('ServerURL', SERVER_URL);
end;
procedure TdmBase.OnTBXThemeChange(Sender: TObject);
begin
InitStyleManager;
if Assigned(FOnThemeChange) then
FOnThemeChange(Sender);
end;
procedure TdmBase.SalvarConfiguracion;
begin
JvAppRegistryStorage.BeginUpdate;
try
JvAppRegistryStorage.WriteString('ServerURL', ROChannel.TargetURL);
finally
JvAppRegistryStorage.EndUpdate;
end;
end;
procedure TdmBase.ROChannelFailure(Sender: TROTransportChannel;
anException: Exception; var Retry: Boolean);
begin
if (Pos(anException.Message, IE_OFFLINE_ERROR) > 0) then
begin
// Preguntar al usuario si se quiere conectar
if InternetGoOnline(PAnsiChar(ROChannel.TargetURL), GetDesktopWindow(), 0) then
Retry := True // Si el usuario pulsa en 'Conectar' reintentar la operación
else
Abort; // Si el usuario pulsa en 'Seguir desconectado' parar todo
end
else
raise Exception.Create(anException.Message);
end;
procedure TdmBase.ROChannelProgress(iSender: TObject; iType: TProgressType;
iDirection: TProgressDirection; iTransferred, iTotal: Integer);
begin
{ if iType = ptInProgress then
begin
if not Form1.Visible then
Form1.Show;
end
else
Form1.Hide;}
end;
function TdmBase.darRutaDocumentos: Variant;
var
Ruta: String;
begin
Ruta := (RORemoteService as IsrvConfiguracion).darRutaDocumentos;
if DirectoryExists(Ruta)
then Result := Ruta
else Result := Null;
end;
function TdmBase.darVersion: String;
var
InfoProject : TInfoProject;
begin
InfoProject := TInfoProject.Create(Self);
Result := 'v' + InfoProject.FileVersion;
FreeAndNil(InfoProject);
end;
initialization
dmBase := TdmBase.Create(NIL);
finalization
dmBase.Free;
end.

167
Base/uDataTableUtils.pas Normal file
View File

@ -0,0 +1,167 @@
unit uDataTableUtils;
interface
uses
uDACDSDataTable, uDADataTable, uDAInterfaces;
procedure CloneDataTable(const ASource : TDACDSDataTable;
var ATarget : TDACDSDataTable); overload;
procedure DeleteAllTable(const ADataTable : TDADataTable);
function DeltaValuesAreDifferent(const aDelta : IDADelta): boolean;
implementation
uses
uDAClasses, SysUtils;
procedure DeleteAllTable(const ADataTable : TDADataTable);
var
i : Integer;
begin
ADataTable.ClearRows;
{ if ADataTable.RecordCount > 0 then
begin
ADataTable.DisableControls;
//ADataTable.DisableEventHandlers; <- No descomentar
try
repeat begin
ADataTable.Last;
ADataTable.Delete;
end
until ADataTable.BOF;
finally
ADataTable.EnableControls;
//ADataTable.EnableEventHandlers; <- No descomentar
end;
end;}
end;
procedure CloneDataTable(const ASource : TDACDSDataTable;
var ATarget : TDACDSDataTable);
var
i : Integer;
begin
with ATarget do
begin
RemoteService := ASource.GetRemoteService;
Adapter := ASource.GetAdapter;
BusinessRulesID := ASource.BusinessRulesID;
Randomize;
Name := ASource.Name + '_' + IntToStr(Random(MAXINT));
LogicalName := ASource.LogicalName;
Params.AssignParamCollection(ASource.Params);
with SchemaCall do
begin
MethodName := ASource.SchemaCall.MethodName;
for i := 0 to ASource.SchemaCall.Params.Count - 1 do
begin
with Params.Add do begin
Name := ASource.SchemaCall.Params[i].Name;
ParamType := ASource.SchemaCall.Params[i].ParamType;
DataType := ASource.SchemaCall.Params[i].DataType;
Value := ASource.SchemaCall.Params[i].Value;
UserClassName := ASource.SchemaCall.Params[i].UserClassName;
end;
end;
end;
ATarget.LoadSchema; // o también ATarget.Fields.AssignFieldCollection(ASource.Fields);
with DataUpdateCall do
begin
MethodName := ASource.DataUpdateCall.MethodName;
for i := 0 to ASource.DataUpdateCall.Params.Count - 1 do
begin
with Params.Add do begin
Name := ASource.DataUpdateCall.Params[i].Name;
ParamType := ASource.DataUpdateCall.Params[i].ParamType;
DataType := ASource.DataUpdateCall.Params[i].DataType;
Value := ASource.DataUpdateCall.Params[i].Value;
UserClassName := ASource.DataUpdateCall.Params[i].UserClassName;
end;
end;
end;
with ScriptCall do
begin
MethodName := ASource.ScriptCall.MethodName;
for i := 0 to ASource.ScriptCall.Params.Count - 1 do
begin
with Params.Add do begin
Name := ASource.ScriptCall.Params[i].Name;
ParamType := ASource.ScriptCall.Params[i].ParamType;
DataType := ASource.ScriptCall.Params[i].DataType;
Value := ASource.ScriptCall.Params[i].Value;
UserClassName := ASource.ScriptCall.Params[i].UserClassName;
end;
end;
end;
with DataRequestCall do
begin
MethodName := ASource.DataRequestCall.MethodName;
for i := 0 to ASource.DataRequestCall.Params.Count - 1 do
begin
with Params.Add do begin
begin
Name := ASource.DataRequestCall.Params[i].Name;
ParamType := ASource.DataRequestCall.Params[i].ParamType;
DataType := ASource.DataRequestCall.Params[i].DataType;
Value := ASource.DataRequestCall.Params[i].Value;
UserClassName := ASource.DataRequestCall.Params[i].UserClassName;
end;
end;
end;
end;
with MasterParamsMappings do
for i := 0 to ASource.MasterParamsMappings.Count - 1 do
Add(ASource.MasterParamsMappings.Strings[i]);
with MasterRequestMappings do
for i := 0 to ASource.MasterRequestMappings.Count - 1 do
Add(ASource.MasterRequestMappings.Strings[i]);
MasterMappingMode := ASource.MasterMappingMode;
MasterFields := ASource.MasterFields;
MasterOptions := ASource.MasterOptions;
DetailFields := ASource.DetailFields;
DetailOptions := ASource.DetailOptions;
RemoteUpdatesOptions := ASource.RemoteUpdatesOptions;
StreamingOptions := ASource.StreamingOptions;
RemoteFetchEnabled := ASource.RemoteFetchEnabled;
end;
end;
function DeltaValuesAreDifferent(const aDelta : IDADelta): boolean;
var
i, x : integer;
OldNewAreDifferent: boolean;
begin
OldNewAreDifferent := FALSE;
for i := 0 to (aDelta.Count-1) do
begin
for x := 0 to (aDelta.LoggedFieldCount-1) do
begin
OldNewAreDifferent := (aDelta.Changes[i].OldValues[x] <> aDelta.Changes[i].NewValues[x]);
if OldNewAreDifferent then
Break; // Abandon iteration at the first difference between old and new.
end;
if OldNewAreDifferent then
Break; // Abandon iteration at the first difference between old and new.
end;
result := OldNewAreDifferent;
end;
end.

BIN
Base/uEditorBase.ddp Normal file

Binary file not shown.

1621
Base/uEditorBase.dfm Normal file

File diff suppressed because it is too large Load Diff

198
Base/uEditorBase.pas Normal file
View File

@ -0,0 +1,198 @@
unit uEditorBase;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uGUIBase, uCustomEditor, ToolWin, ComCtrls, JvExControls,
JvComponent, JvNavigationPane, ActnList, TB2Dock, TB2Toolbar, TBX,
TB2Item, ImgList, PngImageList, StdActns, JvFormAutoSize, AppEvnts,
uCustomView, uViewBase, uViewMensaje, JvAppStorage, JvAppRegistryStorage,
JvFormPlacement, pngimage, ExtCtrls, JvComponentBase;
type
IEditorBase = interface(ICustomEditor)
['{CB8CDE00-B225-4A1D-9A5C-EC6FBE2C854B}']
function ShowModal : Integer;
end;
TfEditorBase = class(TCustomEditor, IEditorBase)
actAcercaDe: TAction;
actAnterior: TAction;
actBuscar: TAction;
actCancelarCambios: TAction;
actCerrar: TAction;
actConfPagina: TAction;
actCopiar: TEditCopy;
actCortar: TEditCut;
actDeshacer: TEditUndo;
actEliminar: TAction;
actGuardar: TAction;
actGuardarCerrar: TAction;
actImprimir: TAction;
actLimpiar: TEditDelete;
actModificar: TAction;
actNuevo: TAction;
actPegar: TEditPaste;
actPrevisualizar: TAction;
actRefrescar: TAction;
actSeleccionarTodo: TEditSelectAll;
actSiguiente: TAction;
EditorActionList: TActionList;
JvNavPanelHeader: TJvNavPanelHeader;
LargeImages: TPngImageList;
SmallImages: TPngImageList;
TBXDock: TTBXDock;
TBXItem1: TTBXItem;
TBXItem10: TTBXItem;
TBXItem11: TTBXItem;
TBXItem12: TTBXItem;
TBXItem13: TTBXItem;
TBXItem14: TTBXItem;
TBXItem15: TTBXItem;
TBXItem16: TTBXItem;
TBXItem17: TTBXItem;
TBXItem18: TTBXItem;
TBXItem19: TTBXItem;
TBXItem2: TTBXItem;
TBXItem20: TTBXItem;
TBXItem21: TTBXItem;
TBXItem22: TTBXItem;
TBXItem23: TTBXItem;
TBXItem24: TTBXItem;
TBXItem25: TTBXItem;
TBXItem26: TTBXItem;
TBXItem27: TTBXItem;
TBXItem28: TTBXItem;
TBXItem29: TTBXItem;
TBXItem3: TTBXItem;
TBXItem30: TTBXItem;
TBXItem31: TTBXItem;
TBXItem32: TTBXItem;
TBXItem4: TTBXItem;
TBXItem5: TTBXItem;
TBXItem6: TTBXItem;
TBXItem8: TTBXItem;
TBXItem9: TTBXItem;
tbxMain: TTBXToolbar;
tbxMenu: TTBXToolbar;
TBXSeparatorItem1: TTBXSeparatorItem;
TBXSeparatorItem10: TTBXSeparatorItem;
TBXSeparatorItem11: TTBXSeparatorItem;
TBXSeparatorItem12: TTBXSeparatorItem;
TBXSeparatorItem13: TTBXSeparatorItem;
TBXSeparatorItem2: TTBXSeparatorItem;
TBXSeparatorItem3: TTBXSeparatorItem;
TBXSeparatorItem4: TTBXSeparatorItem;
TBXSeparatorItem5: TTBXSeparatorItem;
TBXSeparatorItem6: TTBXSeparatorItem;
TBXSeparatorItem7: TTBXSeparatorItem;
TBXSeparatorItem8: TTBXSeparatorItem;
TBXSeparatorItem9: TTBXSeparatorItem;
TBXSubmenuItem1: TTBXSubmenuItem;
TBXSubmenuItem4: TTBXSubmenuItem;
TBXSubmenuItem5: TTBXSubmenuItem;
TBXSubmenuItem6: TTBXSubmenuItem;
TBXSubmenuItem7: TTBXSubmenuItem;
StatusBar: TStatusBar;
JvFormStorage: TJvFormStorage;
JvAppRegistryStorage: TJvAppRegistryStorage;
Image1: TImage;
procedure actCerrarExecute(Sender: TObject);
procedure actGuardarCerrarExecute(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
protected
function ModifiedQuery : Boolean;
public
constructor Create(AOwner: TComponent); override;
published
procedure FormShow(Sender: TObject); virtual;
end;
TfEditorBaseClass = class of TfEditorBase;
implementation
{$R *.dfm}
uses
Menus, uDataModuleBase;
{
********************************* TfEditorBase *********************************
}
procedure TfEditorBase.actCerrarExecute(Sender: TObject);
begin
Close;
end;
procedure TfEditorBase.actGuardarCerrarExecute(Sender: TObject);
var
ACursor: TCursor;
begin
ACursor := Screen.Cursor;
Screen.Cursor := crHourGlass;
Application.ProcessMessages;
try
if actGuardar.Execute then
actCerrar.Execute;
finally
Screen.Cursor := ACursor;
end;
end;
constructor TfEditorBase.Create(AOwner: TComponent);
begin
inherited;
JvFormStorage.AppStoragePath := Name;
JvNavPanelHeader.StyleManager := dmBase.StyleManager;
end;
procedure TfEditorBase.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if Valid then
CanClose := ModifiedQuery
else
CanClose := False;
end;
procedure TfEditorBase.FormShow(Sender: TObject);
begin
if Assigned(Parent) then
begin
StatusBar.Visible := False;
actCerrar.ShortCut := 0
end
else begin
StatusBar.Visible := True;
actCerrar.ShortCut := ShortCut(VK_ESCAPE, []);
end;
end;
function TfEditorBase.ModifiedQuery: Boolean;
var
Respuesta: Integer;
begin
Result := True;
if Modified then
begin
Respuesta := Application.MessageBox('Se han producido cambios.' + #10#13 +
'¿Desea guardarlos antes de salir?', 'Atención', MB_YESNOCANCEL);
case Respuesta of
IDYES : actGuardar.Execute;
IDNO : actCancelarCambios.Execute;
else
Result := False;
end;
end
{ else
actCancelarCambios.Execute;}
end;
initialization
RegisterClass(TfEditorBase);
finalization
UnRegisterClass(TfEditorBase);
end.

BIN
Base/uEditorDBBase.ddp Normal file

Binary file not shown.

48
Base/uEditorDBBase.dfm Normal file
View File

@ -0,0 +1,48 @@
inherited fEditorDBBase: TfEditorDBBase
Left = 310
Caption = 'fEditorDBBase'
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
inherited Image1: TImage
Picture.Data = {00}
end
end
inherited EditorActionList: TActionList
inherited actModificar: TAction
OnUpdate = actModificarUpdate
end
inherited actGuardar: TAction
OnExecute = actGuardarExecute
end
inherited actEliminar: TAction
OnExecute = actEliminarExecute
OnUpdate = actEliminarUpdate
end
inherited actPrevisualizar: TAction
OnUpdate = actPrevisualizarUpdate
end
inherited actImprimir: TAction
OnUpdate = actImprimirUpdate
end
inherited actRefrescar: TAction
OnExecute = actRefrescarExecute
OnUpdate = actRefrescarUpdate
end
inherited actAnterior: TAction
OnExecute = actAnteriorExecute
OnUpdate = actAnteriorUpdate
end
inherited actSiguiente: TAction
OnExecute = actSiguienteExecute
OnUpdate = actSiguienteUpdate
end
inherited actCancelarCambios: TAction
OnExecute = actCancelarCambiosExecute
end
end
object dsDataTable: TDADataSource
Left = 40
Top = 88
end
end

334
Base/uEditorDBBase.pas Normal file
View File

@ -0,0 +1,334 @@
unit uEditorDBBase;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uEditorItem, ImgList, PngImageList, StdActns, ActnList, TBX,
TB2Item, TB2Dock, TB2Toolbar, ComCtrls, JvExControls, JvComponent,
JvNavigationPane, DB, uDADataTable, uEditorBase, JvFormAutoSize,
uDAScriptingProvider, uDACDSDataTable, AppEvnts, uCustomView, uViewBase,
uViewMensaje, JvAppStorage, JvAppRegistryStorage, JvFormPlacement,
pngimage, ExtCtrls, JvComponentBase, dxLayoutLookAndFeels;
type
IEditorDBBase = interface(IEditorBase)
['{497AE4CE-D061-4F75-A29A-320F8565FF54}']
end;
TfEditorDBBase = class(TfEditorBase, IEditorDBBase)
dsDataTable: TDADataSource;
procedure actRefrescarExecute(Sender: TObject);
procedure actAnteriorExecute(Sender: TObject);
procedure actSiguienteExecute(Sender: TObject);
procedure actAnteriorUpdate(Sender: TObject);
procedure actSiguienteUpdate(Sender: TObject);
procedure actRefrescarUpdate(Sender: TObject);
procedure actCancelarCambiosExecute(Sender: TObject);
procedure actGuardarExecute(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); virtual;
procedure actEliminarExecute(Sender: TObject);
procedure actEliminarUpdate(Sender: TObject);
procedure actModificarUpdate(Sender: TObject);
procedure actPrevisualizarUpdate(Sender: TObject);
procedure actImprimirUpdate(Sender: TObject);
private
{ Private declarations }
protected
function GetModified: Boolean; override;
published
end;
var
fEditorDBBase: TfEditorDBBase;
implementation
uses uExceptions, uDataTableUtils, uBizInformesBase,
uDAInterfaces, uBizImportesDetalleBase;
{$R *.dfm}
procedure TfEditorDBBase.actRefrescarExecute(Sender: TObject);
var
ACursor: TCursor;
ABookmark : TBookmark;
begin
inherited;
if Assigned(dsDataTable.DataTable) then
begin
if (dsDataTable.DataTable.IsEmpty) or (not ModifiedQuery) then
Exit; // No continuar con el refresco
ABookmark := dsDataTable.DataTable.GetBookMark;
// dsDataTable.DataTable.DisableControls; <- No descomentar
ACursor := Screen.Cursor;
Screen.Cursor := crHourGlass;
try
dsDataTable.DataTable.Refresh;
if dsDataTable.DataTable.Dataset.BookmarkValid(ABookmark) then
dsDataTable.DataTable.GotoBookmark(ABookmark);
finally
dsDataTable.DataTable.FreeBookmark(ABookmark);
// dsDataTable.DataTable.EnableControls; <- No descomentar
Screen.Cursor := ACursor;
end;
end;
end;
procedure TfEditorDBBase.actAnteriorExecute(Sender: TObject);
begin
inherited;
if Assigned(dsDataTable.DataTable) then
begin
if (not ModifiedQuery) then
Exit;
dsDataTable.DataTable.Prior;
end;
end;
procedure TfEditorDBBase.actSiguienteExecute(Sender: TObject);
begin
inherited;
if Assigned(dsDataTable.DataTable) then
begin
if (not ModifiedQuery) then
Exit;
dsDataTable.DataTable.Next;
end;
end;
procedure TfEditorDBBase.actAnteriorUpdate(Sender: TObject);
begin
inherited;
if Assigned(dsDataTable.DataTable) then
(Sender as TAction).Enabled := not dsDataTable.DataTable.BOF
else
(Sender as TAction).Enabled := False;
end;
procedure TfEditorDBBase.actSiguienteUpdate(Sender: TObject);
begin
inherited;
if Assigned(dsDataTable.DataTable) then
(Sender as TAction).Enabled := not dsDataTable.DataTable.EOF
else
(Sender as TAction).Enabled := False;
end;
procedure TfEditorDBBase.actRefrescarUpdate(Sender: TObject);
begin
inherited;
if Assigned(dsDataTable.DataTable) and
(not (dsDataTable.DataTable.State = dsInsert)) then
(Sender as TAction).Enabled := not (dsDataTable.DataTable.Fetching or
dsDataTable.DataTable.Opening or
dsDataTable.DataTable.Closing)
else
(Sender as TAction).Enabled := False;
end;
procedure TfEditorDBBase.actCancelarCambiosExecute(Sender: TObject);
var
dtDetails : TList;
i : integer;
ABookmark : TBookmark;
ACursor : TCursor;
AParche : IParche;
begin
inherited;
AParche := NIL;
if Assigned(dsDataTable.DataTable) then
begin
ABookmark := dsDataTable.DataTable.GetBookMark;
dsDataTable.DataTable.DisableControls;
// dsDataTable.DataTable.DisableEventHandlers; <- No descomentar
ACursor := Screen.Cursor;
Screen.Cursor := crHourGlass;
{ No lo pongo en try..finally para ver posibles errores }
//try
dsDataTable.DataTable.Cancel;
dtDetails := dsDataTable.DataTable.GetDetailDataTables;
for i := 0 to dtDetails.Count - 1 do
begin
(TDADataTable(dtDetails.Items[i])).Cancel;
{ PARCHE **********************************
OJO: Está pensado para que sólo una de las tablas detalle
soporte el interfaz de IParche }
if not Assigned(AParche) and
Supports((TDADataTable(dtDetails.Items[i])), IParche, AParche) then
AParche.DesactivarEventos;
end;
dsDataTable.DataTable.CancelUpdates;
{ Comprobar si el bookmark no es válido cuando estamos cancelando la
inserción de una fila nueva.
CUIDADO!! Si no es válido salta una excepción. NO devuelve false!!!}
try
if (Assigned(ABookmark)) and
(dsDataTable.DataTable.Dataset.BookmarkValid(ABookmark)) then
dsDataTable.DataTable.GotoBookmark(ABookmark);
except
end;
{ PARCHE ********************************** }
if Assigned(AParche) then
begin
AParche.ActivarEventos;
AParche.Refrescar;
AParche := NIL;
end;
//finally
dsDataTable.DataTable.EnableControls;
dsDataTable.DataTable.FreeBookmark(ABookmark);
// dsDataTable.DataTable.EnableEventHandlers; <- No descomentar
Screen.Cursor := ACursor;
//end;
end;
end;
procedure TfEditorDBBase.actGuardarExecute(Sender: TObject);
var
dtDetails : TList;
i : integer;
begin
inherited;
if Assigned(dsDataTable.DataTable) then
begin
if dsDataTable.DataTable.Editing then
dsDataTable.DataTable.Post;
dtDetails := dsDataTable.DataTable.GetDetailDataTables;
for i := 0 to dtDetails.Count - 1 do
if (TDADataTable(dtDetails.Items[i])).Editing then
(TDADataTable(dtDetails.Items[i])).Post;
dsDataTable.DataTable.ApplyUpdates;
Modified := False;
end;
end;
function TfEditorDBBase.GetModified: Boolean;
var
dtDetails : TList;
i : integer;
bCambiado : Boolean;
begin
bCambiado := False;
if Assigned(dsDataTable.DataTable) then
begin
bCambiado := (dsDataTable.DataTable.State = dsEdit) or
DeltaValuesAreDifferent(dsDataTable.DataTable.Delta);
if (not bCambiado) then
begin
dtDetails := dsDataTable.DataTable.GetDetailDataTables;
for i := 0 to dtDetails.Count - 1 do
begin
bCambiado := bCambiado or
((TDADataTable(dtDetails.Items[i])).State = dsEdit) or
DeltaValuesAreDifferent((TDADataTable(dtDetails.Items[i])).Delta);
if bCambiado then
Break;
end;
end;
end;
if (not bCambiado) then
bCambiado := inherited GetModified;
Result := bCambiado;
end;
procedure TfEditorDBBase.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
{ Para resetear el estado de la tabla en el caso de hacer un insert
sin meter ningún dato. }
if Assigned(dsDataTable.DataTable) and (not Modified) then
dsDataTable.DataTable.Cancel;
inherited;
end;
procedure TfEditorDBBase.actEliminarExecute(Sender: TObject);
var
aObj : IApplyUpdateFailedException;
ACursor: TCursor;
begin
inherited;
ACursor := Screen.Cursor;
Screen.Cursor := crHourGlass;
try
if dsDataTable.DataTable.State in dsEditModes then
dsDataTable.DataTable.Cancel;
dsDataTable.DataTable.Delete;
try
dsDataTable.DataTable.ApplyUpdates;
Modified := False;
except
on E: EDAApplyUpdateFailed do
begin
dsDataTable.DataTable.CancelUpdates;
actRefrescar.Execute;
if Supports(dsDataTable.DataTable, IApplyUpdateFailedException, aObj) then
aObj.ShowApplyUpdateFailed(E);
end
else
raise; // Generic exception
end;
finally
Screen.Cursor := ACursor;
end;
end;
procedure TfEditorDBBase.actEliminarUpdate(Sender: TObject);
begin
inherited;
if Assigned(dsDataTable.DataTable) then
(Sender as TAction).Enabled := (not dsDataTable.DataTable.IsEmpty)
and not (dsDataTable.DataTable.State = dsInsert)
else
(Sender as TAction).Enabled := False;
end;
procedure TfEditorDBBase.actModificarUpdate(Sender: TObject);
begin
inherited;
if Assigned(dsDataTable.DataTable) then
(Sender as TAction).Enabled := (not dsDataTable.DataTable.IsEmpty)
else
(Sender as TAction).Enabled := False;
end;
procedure TfEditorDBBase.actPrevisualizarUpdate(Sender: TObject);
begin
inherited;
if Assigned(dsDataTable.DataTable) then
(Sender as TAction).Enabled := (not dsDataTable.DataTable.IsEmpty)
and not (dsDataTable.DataTable.State = dsInsert)
else
(Sender as TAction).Enabled := False;
end;
procedure TfEditorDBBase.actImprimirUpdate(Sender: TObject);
begin
inherited;
if Assigned(dsDataTable.DataTable) then
(Sender as TAction).Enabled := (not dsDataTable.DataTable.IsEmpty)
and not (dsDataTable.DataTable.State = dsInsert)
else
(Sender as TAction).Enabled := False;
end;
end.

BIN
Base/uEditorDBItem.ddp Normal file

Binary file not shown.

50
Base/uEditorDBItem.dfm Normal file
View File

@ -0,0 +1,50 @@
inherited fEditorDBItem: TfEditorDBItem
Left = 482
Top = 315
Caption = 'fEditorDBItem'
PixelsPerInch = 96
TextHeight = 13
inherited TBXDock: TTBXDock
inherited tbxMain: TTBXToolbar
inherited TBXItem26: TTBXItem
Visible = False
end
inherited TBXItem25: TTBXItem
Visible = False
end
end
inherited tbxMenu: TTBXToolbar
inherited TBXSubmenuItem1: TTBXSubmenuItem
Visible = False
end
end
end
object pgPaginas: TPageControl [2]
Left = 0
Top = 76
Width = 662
Height = 383
ActivePage = pagGeneral
Align = alClient
TabOrder = 2
object pagGeneral: TTabSheet
Caption = 'General'
end
end
inherited EditorActionList: TActionList
Top = 112
inherited actEliminar: TAction
ShortCut = 0
end
inherited actPrevisualizar: TAction
OnExecute = actPrevisualizarExecute
end
inherited actImprimir: TAction
OnExecute = actImprimirExecute
end
end
inherited dsDataTable: TDADataSource
Left = 48
Top = 112
end
end

90
Base/uEditorDBItem.pas Normal file
View File

@ -0,0 +1,90 @@
unit uEditorDBItem;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uEditorItem, ImgList, PngImageList, StdActns, ActnList, TBX,
TB2Item, TB2Dock, TB2Toolbar, ComCtrls, JvExControls, JvComponent,
JvNavigationPane, DB, uDADataTable, uEditorDBBase, JvFormAutoSize,
StdCtrls, uDAScriptingProvider, uDACDSDataTable, AppEvnts, uCustomView,
uViewBase, uViewMensaje, JvAppStorage, JvAppRegistryStorage,
JvFormPlacement, pngimage, ExtCtrls, JvComponentBase;
type
IEditorDBItem = interface(IEditorDBBase)
['{497AE4CE-D061-4F75-A29A-320F8565FF54}']
end;
TfEditorDBItem = class(TfEditorDBBase, IEditorDBItem)
pgPaginas: TPageControl;
pagGeneral: TTabSheet;
procedure actEliminarExecute(Sender: TObject);
procedure actPrevisualizarExecute(Sender: TObject);
procedure actImprimirExecute(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fEditorDBItem: TfEditorDBItem;
implementation
uses uBizInformesBase;
{$R *.dfm}
procedure TfEditorDBItem.actEliminarExecute(Sender: TObject);
begin
inherited;
actCerrar.Execute;
end;
procedure TfEditorDBItem.actPrevisualizarExecute(Sender: TObject);
var
Respuesta: Integer;
aInf : IBizInformesAware;
begin
inherited;
if Modified then
begin
if (Application.MessageBox('Se han producido cambios y no se puede previsualizar hasta que no se guarden.' + #10#13 +
'¿Desea guardarlos ahora?', 'Atención', MB_YESNO) = IDYES) then
actGuardar.Execute
else begin
Application.MessageBox('Recuerde guardar los cambios si quiere previsualizar o imprimir.', 'FactuGES', MB_OK);
Exit;
end;
end;
if Assigned(dsDataTable.DataTable) and
Supports(dsDataTable.DataTable, IBizInformesAware, aInf) then
aInf.Preview;
end;
procedure TfEditorDBItem.actImprimirExecute(Sender: TObject);
var
Respuesta: Integer;
aInf : IBizInformesAware;
begin
inherited;
if Modified then
begin
if (Application.MessageBox('Se han producido cambios y no se puede imprimir hasta que no se guarden.' + #10#13 +
'¿Desea guardarlos ahora?', 'Atención', MB_YESNO) = IDYES) then
actGuardar.Execute
else begin
Application.MessageBox('Recuerde guardar los cambios si quiere previsualizar o imprimir.', 'FactuGES', MB_OK);
Exit;
end;
end;
if Assigned(dsDataTable.DataTable) and
Supports(dsDataTable.DataTable, IBizInformesAware, aInf) then
aInf.Print;
end;
end.

BIN
Base/uEditorGrid.ddp Normal file

Binary file not shown.

1460
Base/uEditorGrid.dfm Normal file

File diff suppressed because it is too large Load Diff

249
Base/uEditorGrid.pas Normal file
View File

@ -0,0 +1,249 @@
unit uEditorGrid;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uEditorBase, ToolWin, ComCtrls, JvExControls, JvComponent,
JvNavigationPane, ActnList, TB2Dock, TB2Toolbar, TBX, TB2Item,
ImgList, PngImageList, StdActns, TB2ExtItems, TBXExtItems, uViewGrid,
uEditorDBBase, DB, uDADataTable, Menus, JvFormAutoSize,
uDAScriptingProvider, uDACDSDataTable, AppEvnts, JvAppStorage,
JvAppRegistryStorage, JvFormPlacement, pngimage, ExtCtrls,
JvComponentBase;
type
IEditorGrid = interface(IEditorDBBase)
['{CB8CDE00-B225-4A1D-9A5C-EC6FBE2C854B}']
end;
TfEditorGrid = class(TfEditorDBBase, IEditorGrid)
tbxEditFiltro: TTBXEditItem;
tbxFiltro: TTBXToolbar;
TBXItem7: TTBXItem;
GridPopupMenu: TPopupMenu;
Modificar1: TMenuItem;
Eliminar1: TMenuItem;
N1: TMenuItem;
Nuevo1: TMenuItem;
TBXLabelItem1: TTBXLabelItem;
actQuitarFiltro: TAction;
N2: TMenuItem;
Previsualizar1: TMenuItem;
Imprimir1: TMenuItem;
TBXSeparatorItem14: TTBXSeparatorItem;
TBXItem33: TTBXItem;
actDuplicar: TAction;
TBXSeparatorItem15: TTBXSeparatorItem;
TBXItem34: TTBXItem;
Duplicar1: TMenuItem;
actAnchoAuto: TAction;
TBXItem35: TTBXItem;
actFiltrar: TAction;
TBXItem37: TTBXItem;
procedure tbxEditFiltroChange(Sender: TObject; const Text: String);
procedure FormShow(Sender: TObject);
procedure actPrevisualizarExecute(Sender: TObject);
procedure actConfPaginaExecute(Sender: TObject);
procedure actImprimirExecute(Sender: TObject);
procedure actQuitarFiltroExecute(Sender: TObject);
procedure actModificarExecute(Sender: TObject);
procedure actEliminarExecute(Sender: TObject);
procedure actDuplicarUpdate(Sender: TObject);
procedure actDuplicarExecute(Sender: TObject);
procedure JvFormStorageSavePlacement(Sender: TObject);
procedure JvFormStorageRestorePlacement(Sender: TObject);
procedure actRefrescarExecute(Sender: TObject);
procedure actAnchoAutoExecute(Sender: TObject);
procedure actFiltrarExecute(Sender: TObject);
procedure actFiltrarUpdate(Sender: TObject);
private
FViewGrid : IViewGrid;
protected
procedure SetViewGrid(const Value : IViewGrid); virtual;
function GetViewGrid: IViewGrid;
public
property ViewGrid: IViewGrid read GetViewGrid write SetViewGrid;
constructor Create(AOwner : TComponent); override;
destructor Destroy; override;
end;
implementation
uses
uDataModuleBase, uCustomEditor, cxGridTableView;
{$R *.dfm}
{
********************************* TfEditorGrid *********************************
}
destructor TfEditorGrid.Destroy;
begin
FViewGrid := NIL;
inherited;
end;
function TfEditorGrid.GetViewGrid: IViewGrid;
begin
Result := FViewGrid;
end;
procedure TfEditorGrid.SetViewGrid(const Value: IViewGrid);
begin
FViewGrid := Value;
if Assigned(FViewGrid) then
begin
FViewGrid.PopupMenu := GridPopupMenu;
FViewGrid.OnDblClick := actModificar.OnExecute;
end;
end;
procedure TfEditorGrid.tbxEditFiltroChange(Sender: TObject; const Text: String);
begin
if Assigned(ViewGrid) then
ViewGrid.Filter := Text;
end;
procedure TfEditorGrid.FormShow(Sender: TObject);
begin
inherited;
if Assigned(ViewGrid) then
ViewGrid.ShowEmbedded(Self);
end;
procedure TfEditorGrid.actPrevisualizarExecute(Sender: TObject);
begin
inherited;
ViewGrid.Preview;
end;
procedure TfEditorGrid.actConfPaginaExecute(Sender: TObject);
begin
inherited;
ViewGrid.PrintSetup;
end;
procedure TfEditorGrid.actImprimirExecute(Sender: TObject);
begin
inherited;
ViewGrid.Print;
end;
procedure TfEditorGrid.actQuitarFiltroExecute(Sender: TObject);
begin
if Assigned(ViewGrid) then
begin
tbxEditFiltro.Text := '';
ViewGrid.Filter := '';
end;
end;
procedure TfEditorGrid.actModificarExecute(Sender: TObject);
begin
inherited;
ViewGrid.SyncFocusedRecordsFromGrid;
end;
procedure TfEditorGrid.actEliminarExecute(Sender: TObject);
begin
ViewGrid.SyncFocusedRecordsFromGrid; // Esto va ANTES del inherited. No cambiar.
inherited;
end;
constructor TfEditorGrid.Create(AOwner: TComponent);
begin
inherited;
actModificar.ShortCut := ShortCut(VK_RETURN, []);
end;
procedure TfEditorGrid.actDuplicarUpdate(Sender: TObject);
begin
if Assigned(dsDataTable.DataTable) then
(Sender as TAction).Enabled := (not dsDataTable.DataTable.IsEmpty)
and not (dsDataTable.DataTable.State = dsInsert)
else
(Sender as TAction).Enabled := False;
end;
procedure TfEditorGrid.actDuplicarExecute(Sender: TObject);
begin
ViewGrid.SyncFocusedRecordsFromGrid; // Esto va ANTES del inherited. No cambiar.
inherited;
end;
procedure TfEditorGrid.JvFormStorageSavePlacement(Sender: TObject);
begin
inherited;
if Assigned(ViewGrid) then
ViewGrid.StoreToRegistry;
end;
procedure TfEditorGrid.JvFormStorageRestorePlacement(Sender: TObject);
begin
inherited;
if Assigned(ViewGrid) then
ViewGrid.RestoreFromRegistry;
end;
procedure TfEditorGrid.actRefrescarExecute(Sender: TObject);
var
FocusedRow, TopRow : Integer;
begin
ViewGrid.SyncFocusedRecordsFromGrid;
TopRow := (ViewGrid.Grid.ActiveView.Controller as TcxGridTableController).TopRowIndex;
FocusedRow := ViewGrid.Grid.ActiveView.DataController.FocusedRowIndex;
inherited;
ViewGrid.Grid.ActiveView.DataController.FocusedRowIndex := FocusedRow;
(ViewGrid.Grid.ActiveView.Controller as TcxGridTableController).TopRowIndex := TopRow;
// ViewGrid.Grid.ActiveView.Controller.TopRowIndex := TopRow;
// ViewGrid.SyncFocusedRecordsFromDataSet;
end;
procedure TfEditorGrid.actAnchoAutoExecute(Sender: TObject);
begin
inherited;
if Assigned(ViewGrid) then
ViewGrid.AjustarAncho;
end;
procedure TfEditorGrid.actFiltrarExecute(Sender: TObject);
begin
inherited;
if Assigned(ViewGrid) then
ViewGrid.ActivarDesactivarFiltros;
if Assigned(ViewGrid) then
if ViewGrid.EstanFiltrosVisible then
begin
tbxEditFiltro.Visible := False;
TBXItem7.Visible := False;
end
else
begin
tbxEditFiltro.Text := '';
tbxEditFiltro.Visible := True;
TBXItem7.Visible := True;
end;
end;
procedure TfEditorGrid.actFiltrarUpdate(Sender: TObject);
begin
inherited;
if Assigned(ViewGrid) then
(Sender as TAction).Checked := ViewGrid.EstanFiltrosVisible
end;
initialization
RegisterClass(TfEditorGrid);
finalization
UnRegisterClass(TfEditorGrid);
end.

BIN
Base/uEditorItem.ddp Normal file

Binary file not shown.

53
Base/uEditorItem.dfm Normal file
View File

@ -0,0 +1,53 @@
inherited fEditorItem: TfEditorItem
Left = 457
Top = 278
Width = 686
Height = 535
Caption = 'fEditorItem'
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
Width = 678
Visible = False
inherited Image1: TImage
Left = 651
end
end
object pgPaginas: TPageControl [1]
Left = 0
Top = 76
Width = 678
Height = 406
ActivePage = pagGeneral
Align = alClient
TabOrder = 1
object pagGeneral: TTabSheet
Caption = 'General'
end
end
inherited TBXDock: TTBXDock
Width = 678
inherited tbxMain: TTBXToolbar
inherited TBXItem5: TTBXItem
Visible = False
end
end
inherited tbxMenu: TTBXToolbar
inherited TBXSubmenuItem4: TTBXSubmenuItem
inherited TBXItem10: TTBXItem
Visible = False
end
end
end
end
inherited StatusBar: TStatusBar
Top = 482
Width = 678
end
inherited EditorActionList: TActionList
Top = 104
inherited actEliminar: TAction
ShortCut = 0
end
end
end

40
Base/uEditorItem.pas Normal file
View File

@ -0,0 +1,40 @@
unit uEditorItem;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uEditorBase, ActnList, JvExControls, JvComponent,
JvNavigationPane, ComCtrls, StdActns, TB2Dock, TB2Toolbar, TBX, TB2Item,
ImgList, PngImageList, JvFormAutoSize, JvAppStorage,
JvAppRegistryStorage, JvFormPlacement, pngimage, ExtCtrls;
type
IEditorItem = interface(IEditorBase)
['{F6A412D1-59AA-41D2-ADD5-C92687CD5387}']
end;
TfEditorItem = class(TfEditorBase, IEditorItem)
pagGeneral: TTabSheet;
pgPaginas: TPageControl;
end;
var
fEditorItem: TfEditorItem;
implementation
uses uDataModuleBase;
{$R *.dfm}
initialization
RegisterClass(TfEditorItem);
finalization
UnRegisterClass(TfEditorItem);
end.

15
Base/uEditorPSPreview.dfm Normal file
View File

@ -0,0 +1,15 @@
object Form1: TForm1
Left = 580
Top = 506
Width = 320
Height = 240
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = True
PixelsPerInch = 96
TextHeight = 13
end

24
Base/uEditorPSPreview.pas Normal file
View File

@ -0,0 +1,24 @@
unit uEditorPSPreview;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, dxPSPrVw;
type
TForm1 = class(TCustomdxPSPreviewWindow)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
end.

BIN
Base/uEditorPreview.ddp Normal file

Binary file not shown.

797
Base/uEditorPreview.dfm Normal file
View File

@ -0,0 +1,797 @@
inherited fEditorPreview: TfEditorPreview
Left = 248
Top = 277
Caption = 'Previsualizar'
WindowState = wsMaximized
OnDestroy = FormDestroy
OnResize = FormResize
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
Visible = False
end
inherited TBXDock: TTBXDock
Height = 75
inherited tbxMain: TTBXToolbar
Top = 49
DefaultDock = TBXDock
Visible = False
end
object TBXToolbar1: TTBXToolbar
Left = 0
Top = 23
Caption = 'TBXToolbar1'
DefaultDock = TBXDock
DragHandleStyle = dhNone
ParentShowHint = False
ShowHint = True
TabOrder = 2
object TBXItem39: TTBXItem
Action = actImprimir
DisplayMode = nbdmImageAndText
Images = SmallImages
end
object TBXSeparatorItem18: TTBXSeparatorItem
end
object tbxMano: TTBXItem
Action = actToolHand
AutoCheck = True
Checked = True
DisplayMode = nbdmImageAndText
GroupIndex = 1
Images = PreviewSmallImageList
end
object TBXSeparatorItem14: TTBXSeparatorItem
end
object tbxZoom: TTBXItem
Action = actToolZoom
AutoCheck = True
DisplayMode = nbdmImageAndText
GroupIndex = 1
Images = PreviewSmallImageList
end
object TBXItem42: TTBXItem
Action = actTodaPagina
Images = PreviewSmallImageList
end
object TBXItem41: TTBXItem
Action = actAnchoPagina
Images = PreviewSmallImageList
end
object TBXItem40: TTBXItem
Action = actZoomOut
Images = PreviewSmallImageList
end
object cbZoom: TTBXComboBoxItem
Caption = 'Zoom'
ReadOnly = True
OnItemClick = cbZoomItemClick
end
object TBXItem37: TTBXItem
Action = actZoomIn
Images = PreviewSmallImageList
end
object TBXSeparatorItem17: TTBXSeparatorItem
end
object TBXSeparatorItem16: TTBXSeparatorItem
end
object TBXItem35: TTBXItem
Action = actPrimeraPagina
Images = PreviewSmallImageList
end
object TBXItem34: TTBXItem
Action = actPaginaAnterior
Images = PreviewSmallImageList
end
object TBXItem33: TTBXItem
Action = actPaginaSiguiente
Images = PreviewSmallImageList
end
object TBXItem36: TTBXItem
Action = actUltimaPagina
Images = PreviewSmallImageList
end
object TBXSeparatorItem15: TTBXSeparatorItem
end
object TBXItem7: TTBXItem
Action = actCerrar
Images = SmallImages
end
end
end
inherited EditorActionList: TActionList
Top = 104
inherited actImprimir: TAction
OnExecute = actImprimirExecute
end
end
inherited SmallImages: TPngImageList
Left = 43
Top = 104
end
inherited LargeImages: TPngImageList
Left = 75
Top = 104
end
inherited JvFormStorage: TJvFormStorage
Left = 376
Top = 136
end
inherited JvAppRegistryStorage: TJvAppRegistryStorage
Left = 408
Top = 136
end
object PreviewActionList: TActionList
Images = PreviewSmallImageList
Left = 344
Top = 104
object actPrimeraPagina: TAction
Category = 'Preview'
Caption = 'Primera p'#225'gina'
ImageIndex = 0
OnExecute = actPrimeraPaginaExecute
end
object actUltimaPagina: TAction
Category = 'Preview'
Caption = #218'ltima p'#225'gina'
ImageIndex = 3
OnExecute = actUltimaPaginaExecute
end
object actPaginaAnterior: TAction
Category = 'Preview'
Caption = 'P'#225'gina anterior'
ImageIndex = 1
OnExecute = actPaginaAnteriorExecute
end
object actPaginaSiguiente: TAction
Category = 'Preview'
Caption = 'P'#225'gina siguiente'
ImageIndex = 2
OnExecute = actPaginaSiguienteExecute
end
object actZoomIn: TAction
Category = 'Zoom'
Caption = 'M'#225's zoom'
ImageIndex = 8
OnExecute = actZoomInExecute
end
object actZoomOut: TAction
Category = 'Zoom'
Caption = 'Menos zoom'
ImageIndex = 9
OnExecute = actZoomOutExecute
end
object actTodaPagina: TAction
Category = 'Zoom'
Caption = 'Toda la p'#225'gina'
ImageIndex = 4
OnExecute = actTodaPaginaExecute
end
object actAnchoPagina: TAction
Category = 'Zoom'
Caption = 'Ancho de p'#225'gina'
ImageIndex = 5
OnExecute = actAnchoPaginaExecute
end
object actToolHand: TAction
Category = 'Tools'
Caption = 'Mano'
ImageIndex = 10
OnExecute = actToolHandExecute
end
object actToolZoom: TAction
Category = 'Tools'
Caption = 'Zoom'
ImageIndex = 6
OnExecute = actToolZoomExecute
end
end
object PreviewSmallImageList: TPngImageList
PngImages = <
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000000F14944415478DA
C5D2A10EC2301006E01B4F30893C39C59619EC70937B843D014C829B0339DEA0
1289638EC9C9E1160C9553A43882A0B45DC80223A30112CE346DFA7F697A6770
CEE19B327E0A8C663BB5A14506348D8CE7CBDEB4E0DBB96D7402518010C5A405
C8B0840F9B493710FA08F1E21190E1D0B7C5F9F23D10780849D200F7705102AC
D73A8023005203F73065A08022D3003C0B81AC08A0E3810C33115600156BAE01
3888E2A9F50BDC71CE07EE105875025A01B09268007D01A4CD1F48E4DAB3809D
657F35001440963E764122C78BA50798268ACF6ACF8142F6F97B400E8B9AC617
93887EC23B814FEAFFC00D0E3CD3E1153EE1F30000000049454E44AE426082}
Name = 'PngImage1'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000000A34944415478DA
63FCFFFF3F032580912606303232628839545CF8BFBF5D9F912C03409A1F5C38
C0707F7B3EE90680342778E83334744C24DD0098E60B371818366C20D10098E6
071F18C0065C384082018E9517C19A3F0035830D7800A44F90E802A3BC13FFF5
8CCC193EBCF8C8F0E00503C3871B0B480F039021FF9834183EFC00721E906100
CC9077BF34C837006EC8AD13E41B00020A1E13FE136D002960E00D000045F48A
E13771044B0000000049454E44AE426082}
Name = 'PngImage0'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000000A44944415478DA
63FCFFFF3F03258091260638565EFC7FA0C380115D1C9B5A9C067CFAF683E1DC
240B46B20D48F0D06798B4EE248A21241BF0E10703C3A26D0843483220C0419F
E1C10706860F407CE91AC410920C70B0506078F0829FE1C2838F0C1F1E3C009A
7480E1FEF67C46A20D30D0506038708301AEF9C18E02D25C202020C070E1C207
B86692C3800118800F6E2034936CC0830BA89A493680A294480A18780300CF22
A8E18A4EF6A30000000049454E44AE426082}
Name = 'PngImage3'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000000EC4944415478DA
C5D2A10EC2301405D0DB2FA012F9246E95C8E290FB04FE8049703890842F5850
2882021CB5185210044725B220086E74908D40C252020937A97BF7A479792C49
127C13F673A0D65E27AA27D8EBA06CE97C70D10D5821703A5FB01A54D92B1085
84A813633F6B16038D7A80C178F984A440A34EE8F43C017B0186D3079202A124
F4FB1E402803180B58F736DB3B72038403620F405609E65082364758639CA440
42425608F1C803106E50ED9097CD3CBAFD40106132F10038E7D0DAE6E56C07A2
EC80B90700B740B37B9433801CA07C00A39FCB19C039412B0FE0DD25A6709A42
E0D3FC1FB8020318D0E1923D9C4B0000000049454E44AE426082}
Name = 'PngImage2'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD2520000017E4944415478DA
630C9B1C9ACFC0C03081813C50C00834E07F7E400E51AAFFFEFBC3F0EBDF7786
9F7F2138C9268F01C58073FBBF113444C9EA0B58F38469B3192E2DBB8C69404E
AC07568DBFFE303058F86431D44EB264F8053460DACC25B80DA89FBC1FC38092
144706FBC02C86F27E03B00BE6CE594B9C0B4036FFFC0DA15D43B31872BB95C0
062C5FB09B341764C4383278476631A4754882BDB076F111FC2E40B619860363
B318125A05187E026362CBD2B3A4B92036D491212C218B21B2999DE1C7DF6F0C
7B565CC76E4072B807D8E6BFFF1036FFFE0BA16352B218021BFE82C3E0F0EA07
080372FC3218FEFEFFCD70E5D07F8698200F86FE79982E08F4756448CAC862F0
AA05A5836F0CA7D6BD421890E6130F36F5DE311E86303F0F145B616C1048C9CC
6270AE7A05567B71E3678401F19E6160C1A7274519E62DDD843725DA943F04BB
E0C696BF080322DC7CC151034BE390F4FE0DCA47D07FFEFF01D37F81F4EDAD8C
0803829C5DC04993540033207F57D36EB2B2B35B9D6B0100103839527F8C36D7
0000000049454E44AE426082}
Name = 'PngImage5'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000001714944415478DA
630C9B1C9ACFC0C03081813C50C00834E07F7E400E51AAFFFEFBC3F0EBDF7786
9F7F2138C9268F016EC099973B18F253E4198E6ED6C4A9D9CEFF36C3C4390F19
64793519264C9BCD7069D9658801D6962A60CDC40290216B171F411880CF05BF
A0CE05D17E619FC09A05D8C519E6CE598B6AC0B9FDDF8876018BEE6986E50B76
631A9013EB8153D3AF3F0C0C3F7F3330D807663124B40A607A016640FDE4FD58
0D2849716458B86607C3BCA59B18229BD919B62C3D4B9C0B603683E8E51B2006
0436FC65D8B3E23A692EC888716458BB05628057ED1786C3AB1F200CC8F1CB60
B878F0178A0B906D86E1CD3B20063857BD6238B5EE15C280349F7886EB8799F1
BA2036D49161C76E880136E50F192E6EFC8C3020DE338CE1DE311EB001D86CFE
FD1742EFDB0F31C0B4E43AC38D2D7F110644B8F9323C3D29CA901CEE81A219A6
11C63E7604628051F16586DB5B1911060439BB304C9BB984E88404033003F277
35ED262B3BBBD5B9160000C8E01B524AB937870000000049454E44AE426082}
Name = 'PngImage4'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
61000000097048597300000AEB00000AEB01828B0D5A000002E64944415478DA
8D936B4893511CC6FF67DA74BAC9BC9478C9357338CC4B0EBC1709F929A25414
A13E48082D8CFC20267E1B925DD004B3120C75919AA99B5DADD485E56DA2791D
739ABA2D9DB7A953379D6EEF5EDFDE14859C810F3C5F0ECFF33BFFF38783E0FF
425902A13B668448DCB4C5B658709C40D8F0A4563120A97FB1B61F3AAC291008
EDB1630ED7ECECA97C6F7F6FAEABB72BCDB46902B54CAD5BD4CCF7AAC68772C5
6F8A06C8286E05484EAEB3F10BB6A49FE2B2F2C2628318E0C440063300410050
910596D4B344F7BBB63169FBA7B4D6E65AA915205320E47A9EF4ECB89A7CCE85
CDA021950141E2BD2E9049645029E683BB3301EB2AE5F657E15B4955457EAA15
205B5095CD8BE33D0C8BE0523C1002B50120E5C12EE03509D8A60078386EC1B7
F2066DA3A89C8FFE1DBF9076CADFADFA4A467C829E70829C82AE43B79B97150D
B3522956F3F4C9B3030001DD87C3AE49C84CBCBC646640FCA5D29DF3A0B8A09D
09F62469E1C3A4B4D7F2EAF1A3DA834FA064DC2D2D8E4DB9984E63F922ED2A02
161DE04EE1EE13D4ED7CB090CB5CD9C6E1439978A3FE655189D50E52D37263CE
4486374725C5D2168DF6C88E2CE414ED02942400030246C6A7087149C5688DF0
7EC63EE0F38DB3C79974A8ECB70B7459649E0F64F17854767800C588D390830D
02172A19226F5E58D211DFEB9AF40DD5CFCB46E5DD0568AFECC6C43FFA470747
2CEBF420D2048072C57ED3CB2F846005F9D19CBD4E80C96882B9F16942D1DBA7
FBD15C2B960F77159355056AB919E0E3E24C17F9C58487E1737218966D429386
01F235CB8589854D87D3DCD0448613938D61669B89B1C1099552DEB9AA9B9790
E559D204FA99C5EBF78D0A0FB5D5ABA0BF6F0D7AA66CA1757CC4B862D808E9D6
9826C990236927D236A4B748AF92C6F6FF82243F890861AE817CC8001D6A0A74
2A478D1AFD7A926CC6FC058E20743BEDFA2F1ECC70B45A0CDA2614CB5AFDFAAD
BE19B3E828E51D009FCFE710C6F546ED680F473DFF3B7E70DAFCFEA8E5BFFA03
503A4EA60D6AAC070000000049454E44AE426082}
Name = 'PngImage6'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
61000000097048597300000AEB00000AEB01828B0D5A000002E44944415478DA
8D936B48D35118C6DFB379D9D4C9BC94A8CB399B38CC4B0E9C9A45427D8C5251
82FA2021B430F08398F4258650145A615642A12E4A31AF6565795958A69B685E
C7BCB4B92D9D3AA74E7771BAFD37FFFDA728E40A7CE0FDF6FC9E73DE877310FC
5FA850200CC22C90ECB06EB1EC76870347D8F88C6E7244D4F8D2B06FFA172910
082998BBD7154F8A079F11C5E0043002A8D64D2BA8A56AFDB2463BA8928F1537
BF2D1B21AC0E9780ECEC06323BCE9E17CE61DE4D4C8BA5812F0D996C00380EE0
81ECB0A25EC0FBDFF74C4B7E7CCAEDEEAC97B8041408849C906321BD97B24FFB
B36854A43221106B01ECCE007780203F1CCC2AE576BBF09DA8A6BA24C725A048
5053C43DCFBD9F98C4210523046A13C0D0320099BCBBF0360920D87B0BBE56B5
E8DA9AAAF8E8EFEB3FA2864705D65ECC4FCF30E2BE70BB54ECD28F542485D676
3E2C482458DDD327CF0E04087CC222597519059917566C34B8F358BC031C94A8
8B0F339241FBEB870FEA0FAE40CABFF5A23CEDF2B93C2A3302E9D611307D0002
29006EC4D529A4DD2ED6B61DF0A1B279A3F15559854B0739B9C5A92792799D29
5969D4650B05791200C31B804A74E046B831C061423E8B3757544FD509EFE5EF
077CBE76F208DD07DE0C7BC6F82FD3CFC430B95C0F162F9A64715091171981BF
0761224E5E5AD1E3DF1A3A8C2DB5CF2BA764FDA5680F0EA43B3E469D8A4B5AD5
1BA149130DCA35CA66283B1E67C6B2A97EA147C16AB1C2A27C0E9F1C1CD27FEF
AC6F968D8BCB097412755D8F0EF3F7F36962A7F2121D8B3218976E4287860632
83FDAC6269D3EB38272193E64B6761988DAC981E55A894B2BE75BD5644C00BC4
E0E867217738228597E06654C1F090010666DDA05B3E6159336DC4F76BAC3384
8968007C8971BE842D62D6C159C5DE5F109564E1F17403C8C64CD0AB26419F72
CAA2319AB3A4F3B62F7008A19BB9577F71613E52A7C3A04731B9AA339A6F0CCD
DB9A0E03EF04F0F9FC48DC626ED34D0D44AAB5BFD347E76CAD87859DFA0386D8
3FA68502A9830000000049454E44AE426082}
Name = 'PngImage7'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000000E14944415478DA
63FCFFFF3F032580717019C0C8C8086787B4DDF8FFEBD76F869F3F7F33EC6C37
824BA05B88D300BF86CBFFA3A35419A6CFB8C870A0CF9C7403DC2BCFFD8F88D4
66983DEB34C3B12936C41910DA7E13EE6C100E0D37609837E7180358EC0708FF
6278B0218011A701FE8D57C0CEFEF68391E1DB770630FD1D88BF7C07E26F8C0C
6B17AE6178B1230CB7011E55E7FF836C86B9C23FC48661C9BC5D609B7F40F187
0331B80D400E03DDF85DFF3D039D1856CEDFCCF0706320E981A816BEF5BF8BBF
07D8D92F7786936E80BCFFFAFF30677F3C184B9C01E480616000007F3BB6E1E0
0AF3B40000000049454E44AE426082}
Name = 'PngImage8'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000000714944415478DA
63FCFFFF3F03258071D4002A1B10DA7E13CC01897DFDFA83E1DBB71F60FAFBB7
9F0C9F3F7F03E3F7FBA219F11A1013A500E77FFCCCC8F0EA1D23C38BB74C0CCF
5E3131AC9E3397E1F7E914DC0684B4DDF88FCBE62F9FBF33FCF9F397E1FFF974
DC060C7C208E1A401E0000EFE473E127272ED00000000049454E44AE426082}
Name = 'PngImage9'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000001C74944415478DA
A5934D4B5B411885CF5D9982288874EB0F306E5CBA9A646514E33536264AE456
5184528AE0424A043751FCC08228E24788894631D5D6D12C5C08EA2A74512AD8
E4070822EE44A3E255CC386F24264AAE5978609881B9E739EFCCBC571142E03D
5208A0284ADECDA08FB9E4342087EFF3C04124772F139C1790319614C3DCE456
B116E2D0EF11CF051502FCD7BA54F37A98C3E951110E70783A5584FC3C2E0155
0501DB534C34389F92DD9A342E7068DD2A96FC1CD296AE44F3EE470C019B934C
A8AE6CF2E29C9C3B6C5809EEC0EEA84194C7E212506508D8F8C144735B36D93F
232B69B72212DE43BDBD1A5BBFFFA1C7B7AF3C03424396C6B252F08714709184
F94311E22DEDD9E4C0FC0E9CEE1AFC8AC4505B5789E876025F867300D1694BFA
CCA49FCB1C046AD5B2C94B813D383E3D25334B0576778FF17524074047C8944D
A2B3BB3C36E8BA8E3BFD363DEEEF74DC5C5F2179718ED89F4B7C1B7B0520AD8E
3241C9F4B191F93A798943F90EBDE37900A4908F0987CB6A6826FD3D02FA260C
0024FF201374DBF9CCA767B7F28E4CF07C7F03409AF532411796319391747266
C2C77298651F240AFE4C53FD4CA4E48BA464FBD1CBD09ACCB29D132F5AF93D7A
04D7A238F0C903C3480000000049454E44AE426082}
Name = 'PngImage10'
Background = clWindow
end>
PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled]
Left = 371
Top = 104
Bitmap = {}
end
object PreviewLargeImageList: TPngImageList
Height = 24
Width = 24
PngImages = <
item
PngImage.Data = {
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
F80000000970485973000017120000171201679FD252000001894944415478DA
63FCFFFF3F032D01E3F0B4C0B1F2228AE0810E03467C8638545CF8BFBF5D1FAB
1A9C1604D9E980D97D93A6303CD851C088CFF007170E30DCDF9E4F7D0B408683
D481D450DD0298E1DF7EFE679831732A752D4036FCDBAF7F0C8BE64F27CF82AF
3FFE33CC9C3515C50274C3BF03E9D5CB66906E81BB9936C3E7EFFF18962D9E0E
B7009BE1DF7FFD67D8B26626E91658E96A022DF8CFB079CD0CB005B80CFFF693
8161DF66322CD055D160F80C0CA2035B663228183830E032FC0B50CDA9DDB348
B74041469DE1D3B77F0CE7F6CD06FBC028EFC47F1F6B430CC3BFFEF8C770F5F0
1CD22D10125265F8F0F53FC3BD9373E07100B2C44A4F1FC5F0AF400B1F9C9A4B
BA054CEC2A0C1F813E787B791E4A2A0259A222AF07371C64D19B4BF348B7E0F3
5F25A00FFE31FCBDB700231F802CE113D0061B0EC23F6ECD27DD82C79F1418FE
FE03721E2CC09A9341967C63D064F8018C0F901A922D78F04101C2C16101CC92
77BF34686701DC925B27C8B0005804C3003E0B4040C163C27F922CA02618B580
200000A0D9B0E00198A13A0000000049454E44AE426082}
Name = 'PngImage1'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
F80000000970485973000017120000171201679FD252000000FA4944415478DA
63FCFFFF3F032D01E3F0B680919111AF66878A0BFFF7B7EBE35544B60520C31F
5C38C0707F7B3EF52D00191E64A7C3D037690AF52D8019FEEDE77F861933A752
D70264C3BFFDFAC7B068FE74EA59806EF87720BD7AD90CEA5880CDF0EFBFFE33
6C593393720B7019FEED2703C3BECD145AE0587911A7E15F7EFC6738B57B16E5
3E30CA3BF1DFC7DA10C3F0AF3FFE315C3D3C873A7100B2C44A4F1FC5F0AF400B
1F9C9A4BBD5404B244455E0F6E38C8A23797E651371F802CE113D0061B0EC23F
6ECDA77E4E0659F28D4193E107303E181E2CA04D5904B2E4DD2F0DDA5900B7E4
D609DA5900020A1E13FE53640135C0A805040100D3AF21E00AC8E9BE00000000
49454E44AE426082}
Name = 'PngImage0'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
F80000000970485973000017120000171201679FD2520000012E4944415478DA
63FCFFFF3F032D01E3F0B6C0B1F2E2FF031D068CF80C20E440BC16D8955FF9FF
F5C7578673932C705A429105B6400BF2037518DA979FC469094516D8945DFD5F
10A40D66E3B284220BACCBAEFD2F0CD202B37FFDF9CFD0BBFA148625145A701D
688126D8F0EFBFFE337CFBF99F61C18E33289650648155E98DFF39FEEA70C3C1
F8D73F862D47CFC32DA1C802CBD29BFF533C55510CFFFE13E29B63972E822DA1
C8028B929BFFA39D55300CFFF69381E1CB8FFF0CA776CF62B8BF3D9F916C0BCC
4B6EFD0FB251C269F8831D0594F9C0ACF8F67F4F73799C86531C07A6C577FE3B
1AC8E2349C620B4C8AEEFEB7D496C66938152CB8F75F5F450AA7E1145B605C74
FFBF8A8C044EC329B6C0A8F0C1FFF73736E2349C620B0C0B1FFEBF30418176F5
0135C0A80504010058FB49E08BBA20470000000049454E44AE426082}
Name = 'PngImage3'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
F80000000970485973000017120000171201679FD252000001C24944415478DA
63FCFFFF3F032D01E3F0B4C0B1F2E2FF031D068CF834DA965D46D178A85307AB
7AAC16D8955FF9FFF5C7578673932C705A02B220D44113CCEE9B3485E1FEF67C
E22DB0055A901FA8C3D0BEFC244E4B28B2C0A6ECEAFF82206D301B9725145960
5D76ED7F61901698FDEBCF7F86DED5A7302CA1D082EB400B34C1867FFFF59FE1
DBCFFF0C0B769C41B10466C1D71FFF1966CE9A4A9A0556A537FEE7F8ABC30D07
E35FFF18B61C3D0FB7046481978506C3E7EFFF18962D9E4E9A0596A537FFA778
AAA218FEFD27C437C72E5D045B02B2C0565F0D68C17F86CD6B6690668145C9CD
FFD1CE2A18867FFBC9C0F0051824A776CF6290D5736630505365F80CE41FD832
93340BCC4B6EFD0FB251C269F8831D05601F28CBA9307CFAF68FE1DCBED9A459
60567CFBBFA7B93C4EC36171202AA2C4F0E1EB7F867B27E790668169F19DFF8E
06B2380D8759C0CAA9C8F011E883B797E791668149D1DDFF96DAD2380D8759F0
EDBF3CD007FF18FEDE5B40AA05F7FEEBAB48E1341C66C1B32FB20C7FFF01390F
48B4C0B8E8FE7F1519099C86C32C78FC4916C221D502A3C207FFDFDFD888D370
8A2D302C7CF8FFC2040582F5C1E34B7BE17C922CA02618B5802000000BFCA8E0
E6ADB53E0000000049454E44AE426082}
Name = 'PngImage2'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
F80000000970485973000017120000171201679FD252000002344944415478DA
63FCFFFF3F032D0123C882F02961F940F6042A9B5DB03267D5449805FFF30372
C832E51FC35F863FFF7E31FCFEF713887F41D9BF18526C0A19DEBF7ACF489105
7FFE430C86190AA3A74C5FC87069D965FC169CDBFF8D24CB642C5EC32D993173
397116E4C47AE035F4EFBFFF0CBFFFFC65B0F2CB63A89C680CF7C1DCD96B29B7
0066F89C957B18E62DDDC450DAAF0BF7C1C2B99B89B7A07EF27E9C9614275932
2C5A77006C4141AF3ADC07CBE6EF24DF073097FFFAFD87E1F7EFBF0CCB371F06
5B90D3AD08F7C1AA85FBA9E383CC48638635DB8F812D48ED9060F8FD1F62C1C6
C52748F701BACB21ECBF0C9BF69C045B90D02E04CF0FDB969EA78E0FA2FD7418
761D3A0BB620A695079ED9762FBF8ADF0250EEBCB0FF27D8825F409722BB18CE
868AEF3F7E016C4178332B3C0EF6AFBC8DDB0258D6BF72F03F435AA42B43EBF4
43387D10E8AAC670E4F465B005418DFFE1417464F523EC1620972B370FB33124
8638E174394CFCD4856B600BFCEA7FC283E8E4DA179816E40664A2145AF78EF2
30C404D8E3351CC43E7FF526D802F79AF7607D20FD17367CC2B420D32F19A544
7C745C8821CCDB06AFE120F6959B77C0163855BD84177C5736FDC0B420C93B12
A5447C794A9A21D0CD9261FDAEE30C8400C802DB8A4770BD37B7FCC3B420D633
18A5D87D7B4611AC915860597607ACF7DFFFBF0CB7B732625A10E9EE8BE20314
1AADDCC7C506190E02582D087175A78AE1382D087076045714D402E816E4EF6A
DA4DD54ADFADCE1551E9D31200008EE53CFED5D704CB0000000049454E44AE42
6082}
Name = 'PngImage5'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
F80000000970485973000017120000171201679FD252000003154944415478DA
B5956D48536114C7CFC89022883E288415547E48F243651451425A6A929361A2
0E13D14553985AA411944A5A4804622AE9AC25CBDCD0125F4B526CD87C2F75E8
544C83B23EE45829E6667AEFEEEDDE3377756D6B1BD98167CFB37BEEF9FFCE39
CF81CBA3691A783C1ED8B300F1043D28F5B3EF64ED50390D9A14877ED4667F62
4B633298FF45EB9D1FB579B8EFF7CF71A8CFBE33D8DF0931A20E7BEE2B3592DA
0716009D2190709EF43BDE902EF48562E5B45544F12D1DFAD65B5CC401C8CA96
425BFD4E20A8152099C5EE974E5D8539DD1CCF066011D7FDF400EF1D24279428
914177B39FD99FE08BCFBECC52603018F15C505803F5B55B51BCB44C0E238A51
5BC049FE04C88B4428CE9A716909F4FA1F60342E81EC5987154037E7012B0401
8B8B065CEC595AF91A140A0ACAA54AFB00D658C8FD7C3127AEFF6E0634B60E73
80E4A85D306FF0E4C4170D06A8AC56A1385B81EC519D7DC090CA5C6E5AE16748
BB1C0125152D56FD7E98B91764EA3D78B1164B8A0F42F1A7B907711A57F6F580
5CD6EC182049388781BCC352F3A80D8BED4E1045D1B029A002CFF36F13813499
20242E0BC4F77C40C1B4CA29C002B10760C54913059EC71E73E2CA66353CA96E
02518117D4CA55AE011C65CE8A13A4094892427182D95FB47623E0E2DD6DD058
D5E71C905BA202572C5578940199A0A1BD0F01B1F99BE155F5B0FB15B0D912A6
D5AC194182A902AB612B61CE2D6F061010759B8676E5987B007BE224D722F36A
530F22203277195435531BD7A278BE3FDE87AA578380F0EC05E87A3EE35A05AE
646EB96CF5BB11049CBDA987FEBA6FB68034412A6854CB1CC01D7176927A87C6
1010786306340D0BB680D44811683B6904B041F9659D2EB52832D817C7F4FDC8
04024E5C9F066DD32F5B40F279214C756D811461A85B9913ABEF69C63F20E068
E6384CB650B68084F00BF0A9673B2445075B055314E5549C7DAE9D9C46C0916B
A330F592670B1086F1E16B9F1724084E637071D5804B2D0A3ABE1B77A780E890
30981DF001213FD02AB3BF5D36C5C45ACC29407026083F141B657F0232DAF2DA
8BFE5D76CD427342D63EFAFFD37E031AD161FE86E3B8C60000000049454E44AE
426082}
Name = 'PngImage4'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
F8000000097048597300000AEB00000AEB01828B0D5A0000053A4944415478DA
AD956B50546518C79F73CE2ECB5ED9B3ECB22C48800A02CA45101BBCA005D9D4
4C17758C6FD57899FAE0D4871AB3CC6B5FD2748CA91877600AB3A949CA4427E3
A65C1409729565B92CEEB2807B935DD80BECB2B773F6F4420A5841493D33E7D3
7BDEDFEF39FFF799F760F058C5601F2BAB443E079B0C077DF250304086432117
CDC6AD3EA77FACAC6CAF77EAA5B93BB07F8B3EFD55A37872CC95C7E5725E6671
584F4570D871188E7182815068D2E3354E38DC17273C8E2B9DC33A4D735599E7
B10495E76FC63B6CCED7F8A4708F58267A429620C5C4B1628C601310F006C06E
1A656CF7ECA151B3ADDB366256EA07BB2EFEF4CD19FBF427FF13FCA4F29214A3
88BD9218F2CDB4DCA531B1F1122C40B0C11B02A0C37F74C822502A011F63EA37
33BACEBB8377BBD5A75B9B7EF956A3B9E15C50B063C77922AF20622B29979CC8
29484D4C7F428647E038DCF703BC70E826681A34F0F9B15720398F0452C0000F
0FC1B0C640AB9A3ABA55ED8DEFFD5C5D797541C1A7E5D5F2E024766C59CEB29D
F96B5388380E0BC351CFEE2040E187B3024516096C1680044958FE71467D4D1D
AAABAE52B65D6F38BAA0E0E8890B05B21871E5AAC28C94D8043926A601F80480
651260DB47B382F47C12BC14008ED6A2793458D4FDE196CBB53D576BBE7B635E
C1543C2B32A8ED4B33932A5617670929161F761EB9396F330F6519EB49A06C56
4655D3EA3A5B7162DF0282C3112969A9AFA7E7A794E61467478E072360FD66E5
CC7A6671E634746E4D0956AD2301BC4EE8ACFDD5AF2C3DF2C9BC824D9B0EB30A
3624EF589EBDBC3CB7389B1F2004A06A76CEAC2B5BFA66BA9E5B1B3693601DB6
30B7EB5B3D155F1C2B5DF00C0E1CAE2C8C8E8B399BFB744EA2302E16333B3020
D08E680EC09EE3B367B0BD98041A4D2A9A5AF08469E8EAE8635A2E5D19BCF07D
D9A90505EF1CA84814F1F92757ADCFDC96929F8A8F4DA2F9F7014421C1C62DCA
9958B622C154518866754E80A6454D55559EA96F69AA3E3EAF40B57FCB726D50
C0D2466DD9268D4F7C376B6396589A28C7EC1E0218344D7DEDB371BD84040CC6
80C31F64746A1DEABECE5873F9EBB33A9DFAB3BF15B41F78A690C7659A3D9152
D044AE8500AE08B1F83266C593692C91428A071836BA0470E0A2B1E4A10747E1
38C6BD8C65C014EEBCFE9BA3B1EEC7DAB6EB57CA298A6AFB8BA0637FF18B3C11
5D91B03A534684ECA0712583C61D0316271EE408E4DEA495295162B904E39242
60B1D998DFE367D04507F6210BD577476DBD73BBF9467B5BED799FC7D38470EE
47041D1F146D1788C22715B9EB92843C0A5CDA4EE8B708A163221E8C7E4269F3
B0FB2339FC2269AC224D1EAF904444B2591E97276C1A1A720E1B740383035DB7
7A7B54F5341DB88D702E987BD94D752E10D3A58ABC8D4922AE7F1A6E30B2C130
26048DD50A23E38EE7CBEB354D19196B93A3158A748C2696D1B43F0AC5002EF7
98C334ACEFF47ADD030835821EDF432EF630733E9FFA217ECD3A998817828981
2ED0E93130B824A0350D41B7590F6E7FF0B9BA2E67CD833DE8E6017410403CE0
4C4D68706A90E0CF3F1CD5C1E2A24801D1B0243707F85C149AF60E188609E877
4483D6A8875E8BDEE5F4516F35F6B8CEC1220AEB39FE2CB3247B25F0055C14CB
2D1834B2C0E010836678007AAD7ABBCB1B3C78AD775CB918F8B4A0FE5409B366
752A50860E1832A1CC4705A0351B416DEC7721F8FBD7FAC6CF2C163E2D38B4EF
6D2647781F12682F82F3A0CF6C821EF3008C7A03AF2E36964704BB77EF629688
F9407A6CE01CB987E006704FFA76D575BBBFFCAFF06941494949915020688811
F1E15E4F2BD82CFA5D63DDEE732A80D0FF21F81D69327688E78891A000000000
49454E44AE426082}
Name = 'PngImage7'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
F8000000097048597300000AEB00000AEB01828B0D5A000005234944415478DA
AD956B4C53671880DF7329BD9CB6B4A5174A454005112F205E16DCD46C3097ED
C7B2690CFFB665BAE80FB3FDD8E2DC8C739AFD984EE3C8326203D9702E5B069B
139D8E9B82283299454AB9147B81DA9BB4D00BB4F476DAB3AF80896E02D3ED24
5F4E4ECEF99EE7FDDEEF7DBF83C1135D0CF6B9BA4E18F2B0C4896848118B46C4
8958CC1767E1CE90373C5E59B92F98FCE8E119D8BF459FFAB6553435EE5BC7E5
B25F23D9E4F3296C56068663EC6824169B0A04AD931EFFF9C980E7728FC5A0BB
5657197822414DED4D95C7E57D93120BDE11C9848B6599524C942EC208160191
6004DCB631C675CF1D1BB3BBFA5CA376B571B8F7FCAFDF9F764F2F7921F809F5
05294613FB2472F1DEFCE225F27495048B102C08C600E2899908490265251262
6C4376C6D07377F86E9FF65447DBEF3FE87437BCF30A76EEAC25D695A4BC2E56
488E1795E465AD582CC353701CEE870106BD00D1F84C0E481C40CC678087C7C0
A233C7356D5D7D9A5BAD1F5EAAAFB932AFE0CBAA7A45740A3BBAB468E9DB1B36
E612196C12C311D11F05E81E07F044101F9B192C12408224647882D15ED5C69A
EAEBD49DD75B8ECC2B3872FC5C894C2EAA59B5A520373D53818950C41401E098
0218F2CD940B8F35B38A200D80A37769BC3838B44389F68B8DFD571A7EDC33A7
20999EE505F48E25ABB3ABD796AD11D024056EEFC2BBC6E502D02E27A369E8F0
9DA93EBE7F1EC1E194DCFCBCB7566CC8AD282A2BE44C445360EF6737E704EB5A
7470E9B73D4071D043D00B3D8D7F84D5159F7E31A760EBD6C364C973393B9715
2EAB2A2E2BA422041F4AB6AAE78D3E295009019C1607D3DDDC11A8FEFA68C5BC
0B3E78B8664B5A86FC4CF10B4559828C74ECBE77E1B6C9498D436FD720D37EE1
F2F0B99F2A4FCE3BE3FD83D559428A3AB1EAD9D5DB7337E4E1E353A8FE4300A9
6C00394A059B98ED83590A8DEE4EEF24E8DAB5745DCDE9E6F6B6FA63730A3407
B62DD347F9A43E75DB76A92AEB83359BD788A4590ACC1D208041D5244896650A
2A4FD4033896DC7C063CE12863D01A50F44DD6868BDF9D3118B45F3D5670EBE0
8B5B785CE65A8023051D67234470658CA464CCF267F249A1528A4718549B0C0E
5CB4021E1A3824C03311641C265BA2E7FA9F9ED6A65F1A3BAF5FAEA269BAF31F
82AE0365AFF284F1EACCB5AB6544CC0D3A5F0EE8FC727078F1289BAF0866AFCC
4D15292418572C0092C5C2C28130830E3A708F38E8C13B5AE79DEE6B376E7536
D68602813684F33F22E8FAB874075F9838A12CDE942DE0D1E0D3F7C09043005D
932AB08609B52BC01AE2B0A95269BA325FA1524A52382C32E00B246C23235E8B
D9601A36F5DE1EE8D734C7E3916E8443ADF850DB2423E78BE215CA759BB385DC
F034DC6C6581795C003AA71346273CAF5435EBDA0A0A36E6A429952BB038B134
1E0FA7A23480CF3FEEB1598C3DC1A0DF8450A368841E70B10739A728FA67D5FA
4D32212F0693A65E30183130FB24A0B78D409FDD08FE70F4E5A65E6FC3EC1CB4
C5903C2488590E3A57219A2C24F8FB0F4773A8AC94C3275A1615170185DADCAF
BF03660B01439E34D05B8D30E030FABC21FADDD67EDFD9059BE03117D67FEC25
6651E14AA0F85C9496DB306C25C1EC1181CE628201A7D1ED0B460F5D1D98503F
0D7C5AD07CB29C59BF360F6873178CD850CEC7F8A0B75B416B1DF221F8475707
274E3F2D7C5AF0C9FEF79822C17DC88C07119C0783761BF4DB4D30168CBCF1B4
697944B07BF72E6691880271C005DED17B086E06FF546857539FFF9BFF0A9F16
949797970AF8FC16B990827BFD1DE07218778DF7F9CF6A0062FF87E02F9F6855
88E7298D620000000049454E44AE426082}
Name = 'PngImage6'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
F80000000970485973000017120000171201679FD252000001324944415478DA
63FCFFFF3F032D0123DD2C606464C4A9C8A5EF22862BF614E9E3D480EC68A22D
C8F05765F8FDE72F10FF63888B5ECEC0702183BA16247B2B810DFF03B424297E
15F52D887357001B0EB2243D790DF52D887296051B0E0AA69CF4F5D4B720D45E
1A6CF89FBF7F190AB23651DF82006B09B0E1205F94E66D21DD02D7FE4B783384
8F85283C88AA8AB633B8C459E254BBBB508F11AB05C8491116A1B06081B1C172
28FCBF0CBF7E0331880DA4174F3ECBF0FF7C3A760B909322398683D82B675CC0
6D01725224C770107BFD9CCBB82DD8B3E838F6480686B7A52637DCF0DEC683F8
A20BBB05845291892A27DCE5935A8F503F99EA2BB2C1836546D771EA5BA025CB
0C0FE7797DA7A86F818A04034A52A4BA057222A84991EA1648F2FF42498A54B7
002309936A01ADC0D0B700000ADFCFE01EDA3C000000000049454E44AE426082}
Name = 'PngImage8'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
F80000000970485973000017120000171201679FD2520000007C4944415478DA
63FCFFFF3F032D01E3A805A3168C5A80B0C0B5FF12D56CDA5DA8C788D5829C20
751485BFFFFC65F8F1F30FC38F5FBF19BE83E89F501ACAFFF6E317C3B7EFBF21
F40F087D68CD3D86FFE7D3095B408EE13F7EFD6138B5E911610BC8351C04F05A
B067D171AAC401560B6805462D18B560D4023A5800007B57E2D1072B1BE80000
000049454E44AE426082}
Name = 'PngImage9'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
F80000000970485973000017120000171201679FD252000002E84944415478DA
A5957D48144118C69F2B29B3FA23222C02598AA48F3B4A304A839C120C925022
4AA2F2B3B313FB80A0C20E333F52FC2348C24AC49490D4C414394D4D4F33112B
C1F0233090C9D0142BA920AFDA73DAD975E5923BDDB5178679776EEFF9CD3CF3
CEAC8131061E0683010B457126392175D699C7CC186B6BB9BBF7544D595727A0
373A21D238D8DF83CE4EDA27014CFF0D5067BD7C198CD3D3C0C9984870404707
057FF6F242DFDCD5E805CCCEFA5517C5A93805D0DE4E117F4EC9E7AE4617E071
2E615167668520C1E4BCAD8DE26C929237355124E7B41A160528CD21CCD59658
B392DBED1489C94ADED048B1CA0758B254B12BFABABD5C33E0D12DC2DCD9D2DC
4C61B9A0E4F5CF284E4707E3F3F8A86C9704306906487BC03CD992743102EF07
DEC2564761B61CC4C8872154D7505CB96337680614A513E6C9164B72388606FB
516B93C0E6FD181B19465535C5B53C1D80C234C23CD992981486E1A141D4D44A
D6252816555651A4DCD5012848254C8B2DB171BB31F96502159514D67C378092
AC03EA356094DA6C5DDFB712A6DAF2E923C5BED07088E21F74B5352260AF620B
1FF73706E0C7B749943DA148BDE71E201F289EAB1B6A4E6F35E4A710C66DE1EF
BD68A8C19E9030389D22DEBC6C812930184E0936D0F31A9BB79AE4F1E29277B8
F1C03D40AE163554CFF975C06D718AA23C732EA2E4A22CAEF4A23CFECB3185D2
328A9B051E5610142418FD77ECFA07A2568B1671DE2AAAC69151E86193F98686
84085021FC37AD3397DBD4149EDABE23AB689E2AE29E87860AD8B27DA76E7187
E3276CCF45643F5CA04CF3AE1276284C80DF267F5DE27CBCBE05C829D1700E6E
5F262CFCB080F51BFD348B8F8E39F05BF4764877D10A4D072DF71261114704AC
59BB6E41711E9DDDC0065F44E9BA4DB3CF1376345280CFCAD5F38AABB397D240
09D0AF19C023C342D8F163829C7B12EFEEF586691BA2F8A773511FFD34B3B492
085F7C9D1897055DC3555C2D6FDD001ED678C2F8C99E96FEC2783F93BB8ACF05
FC0592430CFE3F77C7A70000000049454E44AE426082}
Name = 'PngImage10'
Background = clWindow
end>
PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled]
Left = 403
Top = 104
Bitmap = {}
end
object frxReport1: TfrxReport
Version = '3.23.7'
DotMatrixReport = False
EngineOptions.DoublePass = True
IniFile = '\Software\Fast Reports'
PreviewOptions.Buttons = [pbPrint, pbLoad, pbSave, pbExport, pbZoom, pbFind, pbOutline, pbPageSetup, pbTools, pbEdit, pbNavigator]
PreviewOptions.Zoom = 1.000000000000000000
PrintOptions.Printer = 'Default'
ReportOptions.CreateDate = 38658.858023541660000000
ReportOptions.LastChange = 38658.858023541660000000
ScriptLanguage = 'PascalScript'
ScriptText.Strings = (
'begin'
''
'end.')
StoreInDFM = False
Left = 16
Top = 200
Datasets = <>
Variables = <>
Style = <>
end
object frxBarCodeObject1: TfrxBarCodeObject
Left = 16
Top = 240
end
object frxOLEObject1: TfrxOLEObject
Left = 48
Top = 240
end
object frxChartObject1: TfrxChartObject
Left = 16
Top = 272
end
object frxRichObject1: TfrxRichObject
Left = 48
Top = 272
end
object frxCrossObject1: TfrxCrossObject
Left = 80
Top = 240
end
object frxCheckBoxObject1: TfrxCheckBoxObject
Left = 80
Top = 272
end
object frxGradientObject1: TfrxGradientObject
Left = 16
Top = 304
end
object frxDotMatrixExport1: TfrxDotMatrixExport
UseFileCache = True
ShowProgress = True
EscModel = 0
GraphicFrames = False
SaveToFile = False
UseIniSettings = True
Left = 48
Top = 304
end
object frxDialogControls1: TfrxDialogControls
Left = 80
Top = 304
end
object frxTIFFExport1: TfrxTIFFExport
ShowDialog = False
UseFileCache = True
ShowProgress = True
Monochrome = True
Left = 144
Top = 240
end
object frxPDFExport1: TfrxPDFExport
ShowDialog = False
UseFileCache = True
ShowProgress = True
PrintOptimized = False
Outline = False
Author = 'FastReport'#174
Subject = 'FastReport'#174' PDF export'
Background = False
Creator = 'FastReport'#174' (http://www.fast-report.com)'
HTMLTags = False
Left = 144
Top = 280
end
object frxBMPExport1: TfrxBMPExport
ShowDialog = False
UseFileCache = True
ShowProgress = True
Monochrome = True
Left = 144
Top = 320
end
end

308
Base/uEditorPreview.pas Normal file
View File

@ -0,0 +1,308 @@
unit uEditorPreview;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uEditorBase, ImgList, PngImageList, StdActns, ActnList, TBX,
TB2Item, TB2Dock, TB2Toolbar, JvExControls, JvComponent, JvNavigationPane,
TB2ExtItems, TBXExtItems, uViewPreview, frxClass, ComCtrls, frxPreview,
JvFormAutoSize, JvAppStorage, JvAppRegistryStorage, JvFormPlacement,
pngimage, frxExportImage, frxExportPDF, frxDCtrl, frxDMPExport,
frxGradient, frxChBox, frxCross, frxRich, frxChart, frxOLE, frxBarcode,
ExtCtrls, JvComponentBase;
type
IEditorPreview = interface(IEditorBase)
['{7E79BEFC-C817-43D9-A60F-9573D1777068}']
function GetReport: TfrxReport;
property Report: TfrxReport read GetReport;
procedure LoadFromStream(AStream : TStream);
function ExportToFile : String;
end;
TfEditorPreview = class(TfEditorBase, IEditorPreview)
TBXToolbar1: TTBXToolbar;
TBXItem7: TTBXItem;
TBXItem33: TTBXItem;
TBXItem34: TTBXItem;
TBXItem39: TTBXItem;
TBXSeparatorItem14: TTBXSeparatorItem;
TBXSeparatorItem15: TTBXSeparatorItem;
TBXSeparatorItem16: TTBXSeparatorItem;
cbZoom: TTBXComboBoxItem;
PreviewActionList: TActionList;
PreviewSmallImageList: TPngImageList;
PreviewLargeImageList: TPngImageList;
actPrimeraPagina: TAction;
actUltimaPagina: TAction;
actPaginaAnterior: TAction;
actPaginaSiguiente: TAction;
TBXItem35: TTBXItem;
TBXItem36: TTBXItem;
actZoomIn: TAction;
actZoomOut: TAction;
actTodaPagina: TAction;
actAnchoPagina: TAction;
TBXSeparatorItem17: TTBXSeparatorItem;
TBXItem37: TTBXItem;
TBXItem40: TTBXItem;
TBXItem41: TTBXItem;
TBXItem42: TTBXItem;
frxReport1: TfrxReport;
actToolHand: TAction;
actToolZoom: TAction;
tbxZoom: TTBXItem;
tbxMano: TTBXItem;
TBXSeparatorItem18: TTBXSeparatorItem;
frxBarCodeObject1: TfrxBarCodeObject;
frxOLEObject1: TfrxOLEObject;
frxChartObject1: TfrxChartObject;
frxRichObject1: TfrxRichObject;
frxCrossObject1: TfrxCrossObject;
frxCheckBoxObject1: TfrxCheckBoxObject;
frxGradientObject1: TfrxGradientObject;
frxDotMatrixExport1: TfrxDotMatrixExport;
frxDialogControls1: TfrxDialogControls;
frxTIFFExport1: TfrxTIFFExport;
frxPDFExport1: TfrxPDFExport;
frxBMPExport1: TfrxBMPExport;
procedure FormShow(Sender: TObject);
procedure actPrimeraPaginaExecute(Sender: TObject);
procedure actUltimaPaginaExecute(Sender: TObject);
procedure actPaginaAnteriorExecute(Sender: TObject);
procedure actPaginaSiguienteExecute(Sender: TObject);
procedure actZoomInExecute(Sender: TObject);
procedure actTodaPaginaExecute(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormResize(Sender: TObject);
procedure actImprimirExecute(Sender: TObject);
procedure actAnchoPaginaExecute(Sender: TObject);
procedure actZoomOutExecute(Sender: TObject);
procedure cbZoomItemClick(Sender: TObject);
procedure actToolHandExecute(Sender: TObject);
procedure actToolZoomExecute(Sender: TObject);
private
FPreview : TfrViewPreview;
function GetReport: TfrxReport;
procedure OnPageChanged(Sender: TfrxPreview; PageNo: Integer);
procedure UpdateZoom;
public
constructor Create(AOwner: TComponent); override;
property Report: TfrxReport read GetReport;
procedure Print;
procedure LoadFromStream(AStream : TStream);
function ExportToFile : String;
end;
var
fEditorPreview: TfEditorPreview;
implementation
uses
frxRes, frxUtils, frxPrinter, uCustomEditor, uSysFunc,
frxFormUtils;
{$R *.dfm}
{ TfEditorBase1 }
function TfEditorPreview.GetReport: TfrxReport;
begin
Result := frxReport1;
end;
procedure TfEditorPreview.FormShow(Sender: TObject);
begin
inherited;
UpdateZoom;
actPrimeraPagina.Execute;
FPreview.ShowEmbedded(Self);
Report.ShowPreparedReport;
end;
procedure TfEditorPreview.actPrimeraPaginaExecute(Sender: TObject);
begin
inherited;
FPreview.Preview.First;
end;
procedure TfEditorPreview.actUltimaPaginaExecute(Sender: TObject);
begin
inherited;
FPreview.Preview.Last;
end;
procedure TfEditorPreview.actPaginaAnteriorExecute(Sender: TObject);
begin
inherited;
FPreview.Preview.Prior;
end;
procedure TfEditorPreview.actPaginaSiguienteExecute(Sender: TObject);
begin
inherited;
FPreview.Preview.Next;
end;
procedure TfEditorPreview.actZoomInExecute(Sender: TObject);
begin
inherited;
FPreview.Preview.Zoom := FPreview.Preview.Zoom + 0.25;
end;
procedure TfEditorPreview.UpdateZoom;
begin
cbZoom.Text := IntToStr(Round(FPreview.Preview.Zoom * 100)) + '%';
end;
procedure TfEditorPreview.actTodaPaginaExecute(Sender: TObject);
begin
inherited;
FPreview.Preview.ZoomMode := zmWholePage;
UpdateZoom;
end;
procedure TfEditorPreview.FormDestroy(Sender: TObject);
begin
inherited;
FPreview.Free;
end;
procedure TfEditorPreview.FormResize(Sender: TObject);
begin
inherited;
UpdateZoom;
end;
procedure TfEditorPreview.actImprimirExecute(Sender: TObject);
begin
inherited;
if not frxPrinters.HasPhysicalPrinters then
frxErrorMsg(frxResources.Get('clNoPrinters'))
else
FPreview.Preview.Print;
Enabled := True;
end;
procedure TfEditorPreview.actAnchoPaginaExecute(Sender: TObject);
begin
inherited;
FPreview.Preview.ZoomMode := zmPageWidth;
UpdateZoom;
end;
procedure TfEditorPreview.actZoomOutExecute(Sender: TObject);
begin
inherited;
FPreview.Preview.Zoom := FPreview.Preview.Zoom - 0.25;
end;
procedure TfEditorPreview.cbZoomItemClick(Sender: TObject);
var
s: String;
begin
FPreview.Preview.SetFocus;
if cbZoom.ItemIndex = 6 then
actAnchoPagina.Execute
else if cbZoom.ItemIndex = 7 then
actTodaPagina.Execute
else
begin
s := cbZoom.Text;
if Pos('%', s) <> 0 then
s[Pos('%', s)] := ' ';
while Pos(' ', s) <> 0 do
Delete(s, Pos(' ', s), 1);
if s <> '' then
FPreview.Preview.Zoom := frxStrToFloat(s) / 100;
end;
UpdateZoom;
end;
procedure TfEditorPreview.actToolHandExecute(Sender: TObject);
begin
if tbxMano.Checked then
FPreview.Preview.Tool := ptHand
end;
procedure TfEditorPreview.actToolZoomExecute(Sender: TObject);
begin
if tbxZoom.Checked then
FPreview.Preview.Tool := ptZoom;
end;
procedure TfEditorPreview.OnPageChanged(Sender: TfrxPreview;
PageNo: Integer);
var
FirstPass: Boolean;
begin
FirstPass := False;
if Sender.PreviewPages <> nil then
FirstPass := not Sender.PreviewPages.Engine.FinalPass;
if FirstPass then
StatusBar.Panels[0].Text := frxResources.Get('clFirstPass') +
IntToStr(Sender.PageCount)
else
StatusBar.Panels[0].Text := Format(frxResources.Get('clPageOf'),
[PageNo, Sender.PageCount]);
end;
constructor TfEditorPreview.Create(AOwner: TComponent);
begin
inherited;
with cbZoom.Strings do
begin
Clear;
Add('25%');
Add('50%');
Add('75%');
Add('100%');
Add('150%');
Add('200%');
Add(frxResources.Get('zmPageWidth'));
Add(frxResources.Get('zmWholePage'));
end;
FPreview := TfrViewPreview.Create(Self);
Report.Preview := FPreview.Preview;
FPreview.Preview.OnPageChanged := OnPageChanged;
end;
procedure TfEditorPreview.Print;
begin
actImprimir.Execute;
end;
function TfEditorPreview.ExportToFile: String;
var
AFile : String;
begin
Result := '';
AFile := DarFicheroTIFFTemporal;
frxTIFFExport1.SeparateFiles := False;
frxTIFFExport1.DefaultPath := ExtractFilePath(AFile);
frxTIFFExport1.FileName := ExtractFileName(AFile);
try
if Report.Export(frxTIFFExport1) then
Result := AFile;
finally
frxTIFFExport1.DefaultPath := '';
frxTIFFExport1.FileName := '';
end;
end;
procedure TfEditorPreview.LoadFromStream(AStream: TStream);
begin
Report.PreviewPages.LoadFromStream(AStream);
end;
end.

108
Base/uEditorUtils.pas Normal file
View File

@ -0,0 +1,108 @@
unit uEditorUtils;
interface
uses
uEditorItem, uDADataTable, Controls;
type
TFuncItemEditor = function(ABizObject : TDADataTableRules) : TModalResult;
TProcItemEditor = procedure(ABizObject : TDADataTableRules);
TFuncGetEditor = function : IEditorItem;
TEditorType = (etItem, etItems, etSelectItems);
procedure RegisterEditor(const IID : TGUID; const AFuncItemEditor : TFuncItemEditor;
const AType : TEditorType);
function ShowEditor(const IID : TGUID; ABizObject : TDADataTableRules;
const AType : TEditorType) : TModalResult;
implementation
uses
Dialogs, Classes, ComObj, SysUtils;
var
FBizEditorsList : TList;
type
PBizEditorsRec = ^TBizEditorsRec;
TBizEditorsRec = record
IID : String;
ItemEditor : TFuncItemEditor;
ItemsEditor : TFuncItemEditor;
SelectItemsEditor : TFuncItemEditor;
end;
function FindBizEditors(const IID : TGUID) : PBizEditorsRec;
var
P: PBizEditorsRec;
I: Integer;
AIID : String;
begin
Result := NIL;
AIID := GUIDToString(IID);
if FBizEditorsList <> nil then
for I := 0 to FBizEditorsList.Count-1 do
begin
P := FBizEditorsList[I];
if (AIID = P^.IID) then
begin
Result := P;
Break;
end;
end;
end;
procedure RegisterEditor(const IID : TGUID; const AFuncItemEditor : TFuncItemEditor;
const AType : TEditorType);
var
P: PBizEditorsRec;
begin
P := NIL;
if FBizEditorsList = nil then
FBizEditorsList := TList.Create;
P := FindBizEditors(IID);
if not Assigned(P) then
New(P);
try
P^.IID := GUIDToString(IID);
case AType of
etItem : P^.ItemEditor := AFuncItemEditor;
etItems : P^.ItemsEditor := AFuncItemEditor;
etSelectItems : P^.SelectItemsEditor := AFuncItemEditor;
end;
FBizEditorsList.Insert(0, P);
except
on E: EConvertError do
ShowMessage(E.Message);
end;
end;
function ShowEditor(const IID : TGUID; ABizObject : TDADataTableRules;
const AType : TEditorType) : TModalResult;
var
P: PBizEditorsRec;
begin
P := FindBizEditors(IID);
if Assigned(P) then
case AType of
etItem : Result := P.ItemEditor(ABizObject);
etItems : Result := P.ItemsEditor(ABizObject);
etSelectItems : Result := P.SelectItemsEditor(ABizObject);
end;
end;
initialization
FBizEditorsList := TList.Create;
finalization
FBizEditorsList.Free;
end.

20
Base/uExceptions.pas Normal file
View File

@ -0,0 +1,20 @@
unit uExceptions;
interface
uses
uDADataTable;
const
AUF_FKVIOLATION = 'violation of FOREIGN KEY';
AUF_HAVEVALUE = 'must have a value';
type
IApplyUpdateFailedException = interface
['{B090A762-3D65-405E-A810-14DB4F6E8F82}']
procedure ShowApplyUpdateFailed (const Error: EDAApplyUpdateFailed);
end;
implementation
end.

249
Base/uSysFunc.pas Normal file
View File

@ -0,0 +1,249 @@
{
===============================================================================
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: 01-11-2002
Versión actual: 1.0.0
Fecha versión actual: 01-11-2002
===============================================================================
Modificaciones:
Fecha Comentarios
---------------------------------------------------------------------------
===============================================================================
}
unit uSysFunc;
interface
{ Funciones del sistema }
function Ejecutar (const LineaComando: String; Oculto, Esperar: Boolean) : Boolean;
function DarRutaTemporal : String;
function DarFicheroTemporal : String;
function DarFicheroBMPTemporal : String;
function DarFicheroTIFFTemporal : String;
function DarFicheroExportar (var Fichero : String) : Boolean;
function DarVersionFichero (Executable : String) : String;
function DarFechaFichero (Executable : String) : String;
procedure CopiarFichero(const Origen, Destino: string);
procedure DoDelTree( TheDir : String);
procedure Deltree(DirToKill : String; KillChoosenDir : Boolean);
implementation
uses
SysUtils, Windows, Dialogs,
Messages, Classes, Graphics, Controls, Forms,
StdCtrls;
function Ejecutar (const LineaComando: String; Oculto, Esperar: Boolean): Boolean;
var
StartupInfo : TStartupInfo;
ProcessInfo : TProcessInformation;
begin
{setup the startup information for the application }
FillChar(StartupInfo, SizeOf(TStartupInfo), 0);
with StartupInfo do
begin
cb := SizeOf(TStartupInfo);
dwFlags:= STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK;
if Oculto then
wShowWindow:= SW_HIDE
else
wShowWindow:= SW_SHOWNORMAL;
end;
Result := CreateProcess(nil,PChar(LineaComando), nil, nil, False,
NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo);
if Esperar then
if Result then
begin
WaitForInputIdle(ProcessInfo.hProcess, INFINITE);
WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
end;
end;
function DarRutaTemporal: String;
var
nBufferLength : DWORD; // size, in characters, of the buffer
lpBuffer : PChar; // address of buffer for temp. path
begin
nBufferLength := MAX_PATH + 1; // initialize
GetMem( lpBuffer, nBufferLength );
try
if GetTempPath( nBufferLength, lpBuffer ) <> 0 then
Result := StrPas( lpBuffer )
else
Result := '';
finally
FreeMem( lpBuffer );
end;
end;
function DarFicheroTemporal : String;
var
Buf: array [0..MAX_PATH] of Char;
RutaTmp : string;
begin
RutaTmp := DarRutaTemporal;
if GetTempFileName(PChar(RutaTmp), 'tmp', 0, Buf) <> 0 then
SetString(Result, Buf, StrLen(Buf))
else
Result := '';
end;
function DarFicheroTIFFTemporal : String;
var
Cadena : String;
begin
Cadena := DarFicheroTemporal;
Result := Copy(Cadena, 0, (Length(Cadena)-3)) + 'tif';
end;
function DarFicheroBMPTemporal : String;
var
Cadena : String;
begin
Cadena := DarFicheroTemporal;
Result := Copy(Cadena, 0, (Length(Cadena)-3)) + 'bmp';
end;
function DarFicheroExportar (var Fichero : String) : Boolean;
var
DialogoSalvar : TSaveDialog;
begin
Result := False;
DialogoSalvar := TSaveDialog.Create(NIL);
try
with DialogoSalvar do
begin
DefaultExt := 'doc';
Filter := 'Documento de Word (*.doc)|*.doc';
FilterIndex := 0;
Options := [ofOverwritePrompt, ofHideReadOnly, ofPathMustExist, ofEnableSizing];
end;
Result := DialogoSalvar.Execute;
if Result then
Fichero := DialogoSalvar.FileName;
finally
DialogoSalvar.Free;
end;
end;
function DarVersionFichero (Executable : String) : String;
var
Size, Size2: DWord;
Pt, Pt2: Pointer;
begin
Size := GetFileVersionInfoSize(PChar (Executable), Size2);
if Size > 0 then
begin
GetMem (Pt, Size);
try
GetFileVersionInfo (PChar (Executable), 0, Size, Pt);
VerQueryValue (Pt, '\', Pt2, Size2);
with TVSFixedFileInfo (Pt2^) do
begin
Result:= IntToStr (HiWord (dwFileVersionMS)) + '.' +
IntToStr (LoWord (dwFileVersionMS)) + '.' +
IntToStr (HiWord (dwFileVersionLS)) + '.' +
IntToStr (LoWord (dwFileVersionLS));
end;
finally
FreeMem (Pt);
end;
end;
end;
function DarFechaFichero (Executable : String) : String;
var
FileTime, LocalFileTime : TFileTime;
SystemTime : TSystemTime;
hFile : Integer;
begin
hFile := FileOpen(Executable, fmShareDenyNone);
try
if hFile <> -1 then
begin
Windows.GetFileTime( hFile, nil, nil, @FileTime ); // ftLasWriteTime
// Change the file time to local time
FileTimeToLocalFileTime( FileTime, LocalFileTime );
if FileTimeToSystemTime(LocalFileTime, SystemTime) then
Result := DateTimeToStr(SystemTimeToDateTime(SystemTime));
end; // if hFile <> 0
finally
FileClose( hFile );
end; // try
end;
procedure CopiarFichero(const Origen, Destino: string);
var
lpMsgBuf : pchar;
begin
CopyFile(PChar(Origen), PChar(Destino), FALSE);
end;
procedure DoDelTree(TheDir : String);
Var
Search : TSearchRec;
rec : word;
Begin
If TheDir[Length(TheDir)] <> '\' Then TheDir := TheDir + '\';
rec := SysUtils.FindFirst(TheDir + '*.*', faAnyFile, Search);
While rec = 0 Do
Begin
If Search.Name[1] <> '.' Then
Begin
// Is this a directory?
If (Search.Attr And faDirectory) = faDirectory Then
Begin
// If so, lets call DelTree again using this new
// directory as the TheDir parameter.
DoDelTree(TheDir + Search.Name);
// Not that all of the files are gone from this directoy,
// we can remove the directory.
RmDir(TheDir + Search.Name);
End
Else
Begin
// We found a file.
// Now lets reset its attributes so we don't have any problems
// deleting them.
SysUtils.FileSetAttr(TheDir + Search.Name, 0);
SysUtils.DeleteFile(TheDir + Search.Name);
Application.ProcessMessages;
End;
End;
rec := SysUtils.FindNext(Search);
End;
SysUtils.FindClose(Search);
End;
procedure Deltree(DirToKill : String; KillChoosenDir : Boolean);
begin
{$I-}
DoDelTree(DirToKill);
// If we want to delete the choosen directory.
If KillChoosenDir Then
RmDir(DirToKill);
//modified
if IOResult <> 0 then
ShowMessage('Could not delete ' + DirToKill);
//{$I}
end;
end.

28
Base/uVentanaEspera.dfm Normal file
View File

@ -0,0 +1,28 @@
object Form1: TForm1
Left = 825
Top = 391
Width = 299
Height = 129
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
Position = poOwnerFormCenter
OnClose = FormClose
OnHide = FormHide
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 13
object JvAnimate1: TJvAnimate
Left = 8
Top = 16
Width = 272
Height = 60
CommonAVI = aviCopyFiles
StopFrame = 81
end
end

52
Base/uVentanaEspera.pas Normal file
View File

@ -0,0 +1,52 @@
unit uVentanaEspera;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, JvExComCtrls, JvAnimate;
type
TForm1 = class(TForm)
JvAnimate1: TJvAnimate;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure FormHide(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
if not JvAnimate1.Active then
JvAnimate1.Active := True;
end;
procedure TForm1.FormHide(Sender: TObject);
begin
JvAnimate1.Active := False
end;
initialization
// Application.CreateForm(TForm1, Form1);
finalization
{ if Assigned(Form1) then
Form1.Close;}
end.

Binary file not shown.

View File

@ -0,0 +1,53 @@
inherited frViewBarraSeleccion: TfrViewBarraSeleccion
Width = 439
Height = 19
Align = alBottom
AutoScroll = False
Visible = False
object pnlSeleccion: TPanel
Left = 0
Top = -18
Width = 439
Height = 37
Align = alBottom
BevelOuter = bvNone
ParentBackground = True
TabOrder = 0
DesignSize = (
439
37)
object bSeleccionar: TButton
Left = 264
Top = 7
Width = 74
Height = 23
Action = actSeleccionar
Anchors = [akRight]
Default = True
ModalResult = 1
TabOrder = 0
end
object bCancelar: TButton
Left = 343
Top = 7
Width = 74
Height = 23
Action = actCancelar
Anchors = [akRight]
Cancel = True
ModalResult = 2
TabOrder = 1
end
end
object ActionListSeleccion: TActionList
Left = 8
Top = 5
object actSeleccionar: TAction
Caption = '&Seleccionar'
end
object actCancelar: TAction
Caption = '&Cancelar'
OnExecute = actCancelarExecute
end
end
end

View File

@ -0,0 +1,37 @@
unit uViewBarraSeleccion;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, StdCtrls, ActnList, ExtCtrls;
type
TfrViewBarraSeleccion = class(TfrViewBase)
pnlSeleccion: TPanel;
bSeleccionar: TButton;
bCancelar: TButton;
ActionListSeleccion: TActionList;
actSeleccionar: TAction;
actCancelar: TAction;
procedure actCancelarExecute(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frViewBarraSeleccion: TfrViewBarraSeleccion;
implementation
{$R *.dfm}
procedure TfrViewBarraSeleccion.actCancelarExecute(Sender: TObject);
begin
inherited;
//
end;
end.

BIN
Base/uViewBase.ddp Normal file

Binary file not shown.

14
Base/uViewBase.dfm Normal file
View File

@ -0,0 +1,14 @@
object frViewBase: TfrViewBase
Left = 0
Top = 0
Width = 302
Height = 222
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 0
ReadOnly = False
end

33
Base/uViewBase.pas Normal file
View File

@ -0,0 +1,33 @@
unit uViewBase;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uGUIBase, uCustomView, JvComponent, JvFormAutoSize;
type
IViewInicio = interface(ICustomView)
['{B567620D-8FE7-4ADC-B9BD-AFC639ED1923}']
function Control : TControl;
end;
IViewBase = interface(ICustomView)
['{E1E559AC-31E8-4E5F-8655-428D12467518}']
end;
TfrViewBase = class(TCustomView, IViewBase)
published
property Modified;
property OnGetModified;
property ReadOnly;
property Valid;
end;
implementation
{$R *.dfm}
{ TfrViewBase }
end.

20
Base/uViewCategorias.dfm Normal file
View File

@ -0,0 +1,20 @@
inherited frViewCategorias: TfrViewCategorias
Width = 256
object DBGrid1: TDBGrid [0]
Left = 8
Top = 8
Width = 241
Height = 121
DataSource = DADataSource
TabOrder = 0
TitleFont.Charset = DEFAULT_CHARSET
TitleFont.Color = clWindowText
TitleFont.Height = -11
TitleFont.Name = 'MS Sans Serif'
TitleFont.Style = []
end
object DADataSource: TDADataSource
Left = 8
Top = 136
end
end

30
Base/uViewCategorias.pas Normal file
View File

@ -0,0 +1,30 @@
unit uViewCategorias;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, StdCtrls, DBCtrls, DB, uDADataTable, Grids, DBGrids,
JvComponent, JvFormAutoSize;
type
TfrViewCategorias = class(TfrViewBase)
DADataSource: TDADataSource;
DBGrid1: TDBGrid;
end;
var
frViewCategorias: TfrViewCategorias;
implementation
{$R *.dfm}
initialization
RegisterClass(TfrViewCategorias);
finalization
UnRegisterClass(TfrViewCategorias);
end.

182
Base/uViewContenido.dfm Normal file
View File

@ -0,0 +1,182 @@
inherited frViewContenido: TfrViewContenido
Width = 443
Height = 270
Align = alClient
object cxGrid: TcxGrid
Left = 0
Top = 25
Width = 443
Height = 245
Align = alClient
TabOrder = 0
LookAndFeel.Kind = lfOffice11
LookAndFeel.NativeStyle = True
object cxGridView: TcxGridDBTableView
NavigatorButtons.ConfirmDelete = False
FilterBox.Visible = fvNever
DataController.DataSource = DADataSource
DataController.Filter.Options = [fcoCaseInsensitive]
DataController.Options = [dcoAnsiSort, dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoSortByDisplayText, dcoFocusTopRowAfterSorting]
DataController.Summary.DefaultGroupSummaryItems = <>
DataController.Summary.FooterSummaryItems = <
item
Format = ',0.00 '#8364';-,0.00 '#8364
Kind = skSum
end>
DataController.Summary.SummaryGroups = <>
OptionsBehavior.AlwaysShowEditor = True
OptionsBehavior.CellHints = True
OptionsBehavior.FocusCellOnTab = True
OptionsBehavior.GoToNextCellOnEnter = True
OptionsBehavior.BestFitMaxRecordCount = 20
OptionsBehavior.FocusCellOnCycle = True
OptionsCustomize.ColumnFiltering = False
OptionsCustomize.ColumnGrouping = False
OptionsCustomize.ColumnMoving = False
OptionsCustomize.ColumnSorting = False
OptionsCustomize.DataRowSizing = True
OptionsData.Appending = True
OptionsSelection.MultiSelect = True
OptionsSelection.UnselectFocusedRecordOnExit = False
OptionsView.CellEndEllipsis = True
OptionsView.CellAutoHeight = True
OptionsView.ColumnAutoWidth = True
OptionsView.Footer = True
OptionsView.GridLineColor = cl3DLight
OptionsView.GroupByBox = False
OptionsView.HeaderEndEllipsis = True
OptionsView.Indicator = True
OptionsView.NewItemRowInfoText = 'Click here to add a new row'
Styles.ContentEven = cxStyleEven
Styles.ContentOdd = cxStyleOdd
Styles.Inactive = cxStyleSelection
Styles.Selection = cxStyleSelection
end
object cxGridLevel: TcxGridLevel
GridView = cxGridView
end
end
object ToolBar1: TToolBar
Left = 0
Top = 0
Width = 443
Height = 25
Caption = 'ToolBar1'
EdgeBorders = []
EdgeInner = esNone
EdgeOuter = esNone
Flat = True
Images = ContenidoImageList
List = True
ShowCaptions = True
TabOrder = 1
end
object ActionListContenido: TActionList
Left = 8
Top = 104
object actAnadir: TAction
Caption = 'A'#241'adir'
ImageIndex = 0
OnExecute = actAnadirExecute
end
object actEliminar: TAction
Caption = 'Eliminar'
ImageIndex = 1
OnExecute = actEliminarExecute
OnUpdate = actEliminarUpdate
end
object actSubir: TAction
Caption = 'Subir'
ImageIndex = 2
OnExecute = actSubirExecute
OnUpdate = actSubirUpdate
end
object actBajar: TAction
Caption = 'Bajar'
ImageIndex = 3
OnExecute = actBajarExecute
OnUpdate = actBajarUpdate
end
end
object DADataSource: TDADataSource
DataTable = dmPresupuestos.tbl_DetallesPresupuestos
Left = 8
Top = 136
end
object ContenidoImageList: TPngImageList
PngImages = <
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000000D04944415478DA
6364C0062630FCC72A5EC0C0882EC488CB80191909706EDDBA750CAF767D6260
5830240DF8F9FB3743EBE6CD780CC011602003409A7F0071EF8E1D10030C30D5
31A23B1706609AB1E23F7FC0F4FA2967B01B408CE6A3B76E815D856100319ABF
FFFAC570EEC103540340218D0C92EDECE01AD79E398335ACE106305CC0942CAC
77871BB0F5E2454820620138A331D3CB09EEECBD57AF929E0E629DADC106FCF9
F70F1E602419106A67C6F01DE40260805D7AFC9874037C2C0D194EDDBD8B1260
241900A6D103178B01000648ED7B1FCA93F30000000049454E44AE426082}
Name = 'PngImage0'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD2520000006E4944415478DA
63FCFFFF3F03258071D40006C6397A1214990036203925952CCD73E7CCC66100
C85BBF7F32307CFDC4C0F0FD2B03C33710FD05487F46E0374F19E6FE964032E0
CF6F840120CD200D5F3F43357E42F0416C90013FBFA119B0B099742FC00CA028
10073E1D0C7D030077CE5E397DD56C480000000049454E44AE426082}
Name = 'PngImage1'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000000E14944415478DA
63FCFFFF3F032580717019C0C8C88822E9D770F9FFA6065D1441740B711A00D2
1C1DA5CA307DC64586037DE68C241900D3FCF10B23C39123CF19AE5EBECF7076
B623235106206BFEF899114C3FBAFB94E1C4D1AB0CB7567A33E235C0BFF1CAFF
9F3F7F3380B0B7BF2158F3BB8F4C0C7B36EE60F8F9E317C30F207EB1238C91A0
17AC728EFC77F234076BFEF2E631C3C1BDE7191E6E0C24CE0B20609CBAFFBFB9
A31DD0004606B6DF8F18766E3DC9F0726738F106E8C6EFFA6F68AC0617DFB8F6
30C3C783B1C41BA016BEF53FCCCF30FCF364326103C801C3C00000BEA5B3E15D
7F64240000000049454E44AE426082}
Name = 'PngImage2'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000000DF4944415478DA
63FCFFFF3F032580717019C0C8C808A643DA6E80057FFDFACDF0F327041FE833
074BA25B88D380982805869FBF18183E7E61645830EF34C3B12936C41BE0D770
F97F74942A58F39123CF19AE5EBECF7076B623F106B8579EFB1F1CAACDF0F133
23C3E58BCF18CE9FBDC57079A11B6103FC1BAFFC87F9D9DBDF10EC8247779F32
9C387A95E1E78F5F0C3F80F8C58E3046BC2E70283AF91FA6F9DD472620666460
FBFD8861E7D6930C2F77863312E505E3D4FDFFCD1DED3034131D0620A016BEF5
BF85B5368A66920C000171F795FF91351334801C300C0C00007FBCB4E1E577C7
9A0000000049454E44AE426082}
Name = 'PngImage3'
Background = clWindow
end>
Left = 8
Top = 64
Bitmap = {}
end
object cxStyleRepository: TcxStyleRepository
Left = 8
Top = 168
object cxStyleEven: TcxStyle
end
object cxStyleOdd: TcxStyle
AssignedValues = [svColor]
Color = 16119285
end
object cxStyleSelection: TcxStyle
AssignedValues = [svColor, svTextColor]
Color = clHighlight
TextColor = clHighlightText
end
end
end

134
Base/uViewContenido.pas Normal file
View File

@ -0,0 +1,134 @@
unit uViewContenido;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, cxStyles, ComCtrls, ToolWin, ActnList, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData,
uDADataTable, cxGridLevel, cxClasses, cxControls, cxGridCustomView,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ImgList,
PngImageList, cxGrid;
type
IViewContenido = interface(IViewBase)
['{AF7F3CD1-3CD1-4F87-A4B4-FCB1320104F7}']
end;
TfrViewContenido = class(TfrViewBase, IViewContenido)
ActionListContenido: TActionList;
cxGrid: TcxGrid;
cxGridView: TcxGridDBTableView;
cxGridLevel: TcxGridLevel;
DADataSource: TDADataSource;
actAnadir: TAction;
actEliminar: TAction;
actSubir: TAction;
actBajar: TAction;
ContenidoImageList: TPngImageList;
ToolBar1: TToolBar;
cxStyleRepository: TcxStyleRepository;
cxStyleEven: TcxStyle;
cxStyleOdd: TcxStyle;
cxStyleSelection: TcxStyle;
procedure actAnadirExecute(Sender: TObject);
procedure actEliminarExecute(Sender: TObject);
procedure actEliminarUpdate(Sender: TObject);
procedure actSubirUpdate(Sender: TObject);
procedure actBajarExecute(Sender: TObject);
procedure actBajarUpdate(Sender: TObject);
procedure actSubirExecute(Sender: TObject);
private
protected
public
end;
implementation
uses uBizImportesDetalleBase, uDAInterfaces;
{$R *.dfm}
procedure TfrViewContenido.actAnadirExecute(Sender: TObject);
begin
inherited;
if Assigned(DADataSource.DataTable) then
DADataSource.DataTable.Insert
end;
procedure TfrViewContenido.actEliminarExecute(Sender: TObject);
begin
inherited;
{ Este cambio nos permite poder eliminar varios conceptos de una sola vez
y no de uno en uno como antes. }
with cxGrid.ActiveView.DataController do
begin
DeleteSelection;
SelectRows(FocusedRowIndex, FocusedRowIndex);
end;
{ if Assigned(DADataSource.DataTable) then
DADataSource.DataTable.Delete;}
end;
procedure TfrViewContenido.actEliminarUpdate(Sender: TObject);
begin
if Assigned(DADataSource.DataTable) then
(Sender as TAction).Enabled := (not DADataSource.DataTable.IsEmpty)
else
(Sender as TAction).Enabled := False;
end;
procedure TfrViewContenido.actSubirUpdate(Sender: TObject);
begin
inherited;
if Assigned(cxGridView.Controller.FocusedRow) then
(Sender as TAction).Enabled := not (cxGridView.Controller.FocusedRow.IsFirst)
else
(Sender as TAction).Enabled := False;
end;
procedure TfrViewContenido.actBajarExecute(Sender: TObject);
var
AField : TDAField;
begin
inherited;
if Assigned(DADataSource.DataTable) then
begin
AField := DADataSource.DataTable.FindField(fld_POSICION);
// Por si el registro está recién insertado y la posición todavía
// no ha sido asignada.
if (AField.AsInteger < 0) then
DADataSource.DataTable.Post;
IntercambiarPosiciones(DADataSource.DataTable, AField.AsInteger, AField.AsInteger + 1);
end;
end;
procedure TfrViewContenido.actBajarUpdate(Sender: TObject);
begin
inherited;
if Assigned(cxGridView.Controller.FocusedRow) then
(Sender as TAction).Enabled := not (cxGridView.Controller.FocusedRow.IsLast)
else
(Sender as TAction).Enabled := False;
end;
procedure TfrViewContenido.actSubirExecute(Sender: TObject);
var
AField : TDAField;
begin
inherited;
if Assigned(DADataSource.DataTable) then
begin
AField := DADataSource.DataTable.FindField(fld_POSICION);
// Por si el registro está recién insertado y la posición todavía
// no ha sido asignada.
if (AField.AsInteger < 0) then
DADataSource.DataTable.Post;
IntercambiarPosiciones(DADataSource.DataTable, AField.AsInteger, AField.AsInteger - 1);
end;
end;
end.

Binary file not shown.

View File

@ -0,0 +1,430 @@
inherited frViewDetallesFamilias: TfrViewDetallesFamilias
Width = 638
inherited cxGrid: TcxGrid
Top = 22
Width = 638
Height = 248
inherited cxGridView: TcxGridDBTableView
OnEditing = cxGridViewEditing
OptionsView.Footer = False
object cxGridViewPOSICION: TcxGridDBColumn
DataBinding.FieldName = 'POSICION'
Visible = False
SortIndex = 0
SortOrder = soAscending
end
object cxGridViewTIPO: TcxGridDBColumn
DataBinding.FieldName = 'TIPO'
PropertiesClassName = 'TcxImageComboBoxProperties'
Properties.Images = TipoPngImageList
Properties.Items = <
item
Description = 'Concepto'
ImageIndex = 0
Value = 'C'
end
item
Description = 'T'#237'tulo de cap'#237'tulo'
ImageIndex = 1
Tag = 1
Value = 'T'
end
item
Description = 'Total de cap'#237'tulo'
ImageIndex = 2
Tag = 2
Value = 'S'
end>
Properties.LargeImages = TipoPngImageList
BestFitMaxWidth = 64
Styles.OnGetContentStyle = cxGridViewTIPOStylesGetContentStyle
Width = 56
end
object cxGridViewDESCRIPCION: TcxGridDBColumn
DataBinding.FieldName = 'DESCRIPCION'
PropertiesClassName = 'TcxTextEditProperties'
Styles.OnGetContentStyle = cxGridViewTIPOStylesGetContentStyle
Width = 224
end
object cxGridViewCANTIDAD: TcxGridDBColumn
DataBinding.FieldName = 'CANTIDAD'
PropertiesClassName = 'TcxMaskEditProperties'
BestFitMaxWidth = 64
HeaderAlignmentHorz = taRightJustify
Styles.OnGetContentStyle = cxGridViewTIPOStylesGetContentStyle
Width = 130
end
object cxGridViewIMPORTEUNIDAD: TcxGridDBColumn
DataBinding.FieldName = 'IMPORTEUNIDAD'
PropertiesClassName = 'TcxTextEditProperties'
Properties.Alignment.Horz = taRightJustify
BestFitMaxWidth = 120
HeaderAlignmentHorz = taRightJustify
Styles.OnGetContentStyle = cxGridViewTIPOStylesGetContentStyle
Width = 130
end
object cxGridViewIMPORTETOTAL: TcxGridDBColumn
DataBinding.FieldName = 'IMPORTETOTAL'
PropertiesClassName = 'TcxTextEditProperties'
Properties.Alignment.Horz = taRightJustify
Properties.ReadOnly = True
BestFitMaxWidth = 120
HeaderAlignmentHorz = taRightJustify
Options.Editing = False
Styles.Content = cxStyle_IMPORTETOTAL
Styles.OnGetContentStyle = cxGridViewTIPOStylesGetContentStyle
Width = 130
end
object cxGridViewVISIBLE: TcxGridDBColumn
Caption = 'Visible'
DataBinding.FieldName = 'VISIBLE'
PropertiesClassName = 'TcxCheckBoxProperties'
Properties.DisplayChecked = 'S'
Properties.DisplayUnchecked = 'N'
Properties.Glyph.Data = {
92030000424D9203000000000000920100002800000020000000100000000100
08000000000000020000120B0000120B0000570000005700000000000000FFFF
FF0040384000703840008048500090586000C0606000A0505000804040006030
30009050500070404000A060600090606000A0707000B0808000C09090004030
3000E0B0B000B0909000FFF0F000FF787000E0787000C0686000FF9890009048
4000A0585000D0888000E0989000E0706000FF80700080484000A0686000FFA0
9000FF887000B060500070484000FFB0A000C0989000D0A8A000E0B8B000FF98
8000A0605000FFC0B000F0C0B00080686000F0D8D000B0908000E0C8B000E0D8
D000FFE0C000FFF8F000F0E0C000FFF0D000FFF8E00020283000FEFEFE00FAFA
FA00F7F7F700F3F3F300F1F1F100F0F0F000EDEDED00EAEAEA00E7E7E700E6E6
E600E3E3E300E0E0E000DADADA00D7D7D700D3D3D300D0D0D000CDCDCD00C9C9
C900C6C6C600C4C4C400C3C3C300C0C0C000BEBEBE00BCBCBC00B9B9B900B7B7
B700B3B3B300AEAEAE00ACACAC00A6A6A600FFFFFF0056565656565656565656
5656565656565656565656565656565656565656565656565656565656565656
5656565656565656565656565656565656565656565656565656565656565656
5656565656565656565656565656565656565656565656565656565656565656
5656565656565656565656565656565656565656565656565656404040444C4C
463D5656565656565656122830262D2D2F325656565644444444433E4145474A
50463B404456101010102734181D061A242F35122656564646443A3F434A544C
49493A3C4646560F0F10362C1507110A2320362E0F0F56564845394341535554
44473944484856560E13331C21023711161714260E0E5656564A3E403E38544A
4344464B4B565656560D31122B01111A1E1B0F050556565656564E49423F4343
434A4E4E565656565656040C2925221E1E2A04045656565656565650504F4D4F
50505056565656565656560B0B1F19080B0B0B56565656565656565652505151
505656565656565656565656090B03030B565656565656565656565656565656
5656565656565656565656565656565656565656565656565656565656565656
5656565656565656565656565656565656565656565656565656565656565656
5656565656565656565656565656565656565656565656565656565656565656
56565656565656565656565656565656565656565656}
Properties.GlyphCount = 2
Properties.ImmediatePost = True
Properties.NullStyle = nssUnchecked
Properties.ValueChecked = 'S'
Properties.ValueUnchecked = 'N'
end
end
end
inherited ToolBar1: TToolBar
Width = 638
Height = 22
ButtonWidth = 105
object ToolButton1: TToolButton
Left = 0
Top = 0
Action = actAnadirCap
AutoSize = True
end
object ToolButton2: TToolButton
Left = 102
Top = 0
Action = actAnadir
AutoSize = True
end
object ToolButton7: TToolButton
Left = 211
Top = 0
Width = 8
Caption = 'ToolButton7'
ImageIndex = 5
Style = tbsSeparator
end
object ToolButton3: TToolButton
Left = 219
Top = 0
Action = actEliminar
AutoSize = True
end
object ToolButton4: TToolButton
Left = 286
Top = 0
Width = 8
Caption = 'ToolButton4'
ImageIndex = 3
Style = tbsSeparator
end
object ToolButton5: TToolButton
Left = 294
Top = 0
Action = actSubir
AutoSize = True
end
object ToolButton6: TToolButton
Left = 349
Top = 0
Action = actBajar
AutoSize = True
end
object ToolButton8: TToolButton
Left = 405
Top = 0
Width = 8
Caption = 'ToolButton8'
ImageIndex = 4
Style = tbsSeparator
end
object ToolButton9: TToolButton
Left = 413
Top = 0
Action = actRecalcular
AutoSize = True
end
end
inherited ActionListContenido: TActionList
Images = ContenidoImageList
object actAnadirCap: TAction [0]
Caption = 'A'#241'adir cap'#237'tulo'
ImageIndex = 5
OnExecute = actAnadirCapExecute
end
inherited actAnadir: TAction
Caption = 'A'#241'adir concepto'
ImageIndex = 4
end
object actRecalcular: TAction
Caption = 'Recalcular'
ImageIndex = 6
OnExecute = actRecalcularExecute
end
end
inherited ContenidoImageList: TPngImageList
PngImages = <
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000000E14944415478DA
63FCFFFF3F032580717019C0C8C8086787B4DDF8FFEBD76F869F3F7F33EC6C37
824BA05B88D300BF86CBFFA3A35419A6CFB8C870A0CF9C7403DC2BCFFD8F88D4
66983DEB34C3B12936C41910DA7E13EE6C100E0D37609837E7180358EC0708FF
6278B0218011A701FE8D57C0CEFEF68391E1DB770630FD1D88BF7C07E26F8C0C
6B17AE6178B1230CB7011E55E7FF836C86B9C23FC48661C9BC5D609B7F40F187
0331B80D400E03DDF85DFF3D039D1856CEDFCCF0706320E981A816BEF5BF8BBF
07D8D92F7786936E80BCFFFAFF30677F3C184B9C01E480616000007F3BB6E1E0
0AF3B40000000049454E44AE426082}
Name = 'PngImage0'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000000714944415478DA
63FCFFFF3F03258071D4002A1B10DA7E13CC01897DFDFA83E1DBB71F60FAFBB7
9F0C9F3F7F03E3F7FBA219F11A1013A500E77FFCCCC8F0EA1D23C38BB74C0CCF
5E3131AC9E3397E1F7E914DC0684B4DDF88FCBE62F9FBF33FCF9F397E1FFF974
DC060C7C208E1A401E0000EFE473E127272ED00000000049454E44AE426082}
Name = 'PngImage1'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000000E14944415478DA
63FCFFFF3F032580717019C0C8C88822E9D770F9FFA6065D1441740B711A00D2
1C1DA5CA307DC64586037DE68C241900D3FCF10B23C39123CF19AE5EBECF7076
B623235106206BFEF899114C3FBAFB94E1C4D1AB0CB7567A33E235C0BFF1CAFF
9F3F7F3380B0B7BF2158F3BB8F4C0C7B36EE60F8F9E317C30F207EB1238C91A0
17AC728EFC77F234076BFEF2E631C3C1BDE7191E6E0C24CE0B20609CBAFFBFB9
A31DD0004606B6DF8F18766E3DC9F0726738F106E8C6EFFA6F68AC0617DFB8F6
30C3C783B1C41BA016BEF53FCCCF30FCF364326103C801C3C00000BEA5B3E15D
7F64240000000049454E44AE426082}
Name = 'PngImage2'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000000DF4944415478DA
63FCFFFF3F032580717019C0C8C808A643DA6E80057FFDFACDF0F327041FE833
074BA25B88D380982805869FBF18183E7E61645830EF34C3B12936C41BE0D770
F97F74942A58F39123CF19AE5EBECF7076B623F106B8579EFB1F1CAACDF0F133
23C3E58BCF18CE9FBDC57079A11B6103FC1BAFFC87F9D9DBDF10EC8247779F32
9C387A95E1E78F5F0C3F80F8C58E3046BC2E70283AF91FA6F9DD472620666460
FBFD8861E7D6930C2F77863312E505E3D4FDFFCD1DED3034131D0620A016BEF5
BF85B5368A66920C000171F795FF91351334801C300C0C00007FBCB4E1E577C7
9A0000000049454E44AE426082}
Name = 'PngImage3'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000002354944415478DA
9D93DF4B936114C73FEF9CDB9C947A23A546E185062E4308122AB5488942A18B
A2A228229088EEBA0B83EECCCBCAEA1FA8ABD29B0CACB0FC1176538ACA963FA6
A2AEF9966E6E367CF7EEDDF3F4CEB5B4B640FAC281E7E19CF339E73987479152
92D2A34BCAC6650B9A8FD4A0A40089E42BCDE941D128E85AD212E7A896B48F83
9B00FF939CB703C6BC26A0FD22D25AB0F5B68DE0467242EB804CD535B352DF32
DC5C75B2737B1E617D8D79DF0ACD53605FAEA1B6AA8FDEA15F1D24DE9249B3B9
2B6837B2B853DD4457749496960ECE8D5772F9C0C8BAFF3720530709B97F404B
EE3E6E1D69E04DC0C3BDD6573CC986DD0EFE0DE80F43DC489E8716E175693977
8F37D1A90E71FFF65BAE9AF32ACB379D0246A7F7A7034A3C4E6A5DE568868112
55282B2DA4B278179EC0570606A6D0A5412CC7C062B130F9594D071CF617F2F0
CC35A2C4889B65E644800955C52A159CDBEC84D734739506934195DEC75FD201
F5C162AE379EE4933A8B61221CD2865D5AF9160AE38F8430AC122104B3A12526
9E2F86FE00E83AB8A60BC8D31CB8BD7E8840757D298D27AA189CF4F2B27B98AC
A0056C906DCB425F886F74D0FEC0BE0E99710884397DCC389F90F8CE17D15053
C188DF47F7B331EADC7BE8B14DD791F80139C495B6B3F68E40ECE0E94C6B5C72
4418BCB0485D4539E30195F79D1E0C8FA8902FA43B15A36CFE8D7F4B69558EBA
F616F714951430B3FA9D85FE006BC3B163B243BEDB1AA04D39E4CCB775E95E03
2324B0080B22224EC9A7F2432AE627BA3D288D657888700000000049454E44AE
426082}
Name = 'PngImage4'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
61000000097048597300000B3A00000B3A01647F570D000002604944415478DA
8DD25B48D35100C7F1EF7FEA9C96A60F4A362DF141C399E59BD05D4ABA5A60D9
5BF8522F4119F4926610425A4F121145CFF5605E085C299A5D347AE8E2D0E5C8
B55AA5CD69CD369DEEF2DFFFF4DFC4E122B3DFDBE19CF3F9712E5273C3C54AA0
95D81CABA96F6C638508219054409C3AAE8D99B8FB20F05FC8B2C012E4AF5161
694560B984E16501CFAC60D01262D4AE44C69FA46FB46418C94A4DC3139C637C
7C9AD3C12AF2A49CC8FCB94B57A518E0F96B1969D645D906071AB5A3F797933B
B93E2E975660F40F535FDFCEC3555964DA1DF45931D70E884D5120DC6EECD772
247788345D00110A31ECF9495DF60C17B697D3E3B270ADE9112F9232E97F3269
56FB8EAA802D0A2CB627660C1394154420C0E0948BC7C5095CD953418773901B
75BD9C55774ECCD2D5524813A98422C089FD09D1F6FCA94E761615E09355D02F
919F9749B13E078BEB3B03031F09089960928C46A3C1FACEB97089F9B99A85B3
677FA174CEC4CDAA6AFC0409A1F0557131EA74122F24925312F1CCFBF0FB64AC
D34E7A6E9BDD1160F35A1729B66E821376CE1FD273A6F2006F9D766495D0092D
89229E49B70787D78D1C2F501405BBFB07A3AD130B80B7AB31FACEB7AAD359E3
D331627380174AF7E671785F09AFAC363ABB4DC44D6B407DB4046D1C81B11052
F8332C8D542B6DE30D71E822C32D2527D73797EF3030E418A7FBBE19C5A4D4B0
1A13E16D49EA25FE09C4600D52A1A144FF7E97A1800F2E27CF3A2CC816C520DA
C44874CD3F81266977D1467DDFBAEC743ECF4C31D6EF62DE142C13EDE2E9FF01
D7A5ADC9695A63C02623BB15348A06C5AB1C14F7C4CBC535BF015419481881D7
D75A0000000049454E44AE426082}
Name = 'PngImage5'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000001974944415478DA
63FCFFFF3F43E6CC1FFD37181E163090003418E4274C4FE728640419E038F3E6
7F85130788D6CC671BCF70785511C3B91DD318510C489DAA8BA1F8C7D71F0CDF
BE7E63F8FEFD3BC3F7AFDF198E6F956738FADA8481E54E297E03FEFEFE0BD608
D6FC0DA2F9CFEF3F0C170E68E03680434183282F6035205E5B99E1FB4F6465FF
187EFCFAC9C0C2CC0914FF8F82F79FFB8BDB002995BF0C010B1E30F499493128
69B181D90DDA8A0C75C637197ECD2A63C8935FCF70FC0A1E03B28EDC6560D8B0
83A1BF3D92A1F0E47B30BBBC2483A1F14A00C3828E1D0C47277C67B8701BA701
BF197EFEFEC9F0EF1F37D8A93F7E3120399D01CEBFFBF41F76033E7CF9C2A0A8
C90976768D86228389C57F303B51589EC1DF9711CC76FF2FCBF0ECCD7FEC06BC
FBF49FA1F8F43DB0B38B0B33187AEF3F00B32363D319967F7E0866DB79A432BC
FF8CC380A7AFFFE174368C0FF31A5603407EC3E5ECC0CA6C860B172E301C5D7C
041CC9580DB872EF2F4E676B055833CC9871814197FB0B6E03FA56FC242A2562
1800CACE27D71791949D81200068C04600978A82F0182DA2F50000000049454E
44AE426082}
Name = 'PngImage6'
Background = clWindow
end>
Bitmap = {}
end
object cxStyleRepository1: TcxStyleRepository
Left = 264
Top = 80
object cxStyle_IMPORTETOTAL: TcxStyle
AssignedValues = [svColor, svTextColor]
Color = clInactiveCaptionText
TextColor = clHotLight
end
object cxStyle_SUBTOTAL: TcxStyle
AssignedValues = [svColor, svFont, svTextColor]
Color = clInactiveCaptionText
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
TextColor = clHotLight
end
object cxStyle_TITULO: TcxStyle
AssignedValues = [svColor, svFont, svTextColor]
Color = clInactiveCaption
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
TextColor = clHighlightText
end
end
object TipoPngImageList: TPngImageList
PngImages = <
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000001094944415478DA
63FCFFFF3F03258011993323818124D39E7C75421800D21C9B8AA9E8D74F28FE
C1C0F0134603F1C913480690A3995F8281E1EA5DA00120CD2C82C43BFBCF7B84
667018E0B21D64D3CFEF501A8A412E387306E2743BC37D0C87CE435D00122005
80348300DC006C2E8081BF7F81CEFECDC0F0FB17C445376E20E4081A00D2F41B
A8F9CF2F087BCD1A0E06358D1F0C6C2C441880AE19E48A0D1B391814948106B0
32800DC1690036CD20BC651B0783943CC40520434E5CC662002ECD20F6CE3D1C
0C22D21003AEDC71626859BD8F11C5007C9A41E2FB0E7230F089FF6078F004A2
19251DCC9CCA415414BEFB6D05D70C36A02F8A631D503090D83480AC196C00A5
D919005F65CFBFE56F19230000000049454E44AE426082}
Name = 'PngImage0'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
61000000097048597300000B3A00000B3A01647F570D000001A24944415478DA
9D923B2C43511CC6BFEB158B129341A283342241448C44D46222418C2261A0F1
58BD26A193C482A18B8DC463D284A5212D121D3CDB26A452214A5295287A1FBD
F738E75EBDE90DD5C6B7DC9C73CFF7FBFEFFFF39DCE2EC4417804D18D53D3E63
DF42061142C0510019EC2930FC706C885941D2025220BF8A82B98C807462E0B4
80B77782D3808CEB9092156C6C7A9E33000EBC0970EF51B4568491C3B104058A
2000220F598883C822129F3104BC41B86E7035E921353A80A53BDD05E8305FA0
A450A4876528A20042CD8A48CD920459E221BCBEC1B1F37845F33A2920A80392
E96DE6B096CCF3DF66FA9544D55CBC3482E3061B4B5F9D3A44BF3E83DEF67C3D
DD94F70992A01508C664066B3977E2EC641F73265B2505047580C59CA3F55E7E
A7F54C01321F87427B6E3E5A330CCE6A2DC5827D1BB8B4713AA0AE2C8AA2E01E
A4A7D08F490FE5FA30DA6731ECADAC7BE075FB412E86B55BF8D8B5A7BDAA8D2A
0DE07B88E039164724A63DB097DBB00A51CBF84BF5037EC200AEC0FD0FB35A41
360036B8A41A9BAA75335B6704A48AAB5D560F27CDFF02A49A99BE008A302DB4
AC93694C0000000049454E44AE426082}
Name = 'PngImage1'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
61000000097048597300000B3A00000B3A01647F570D000001784944415478DA
8DD1BF4BC3401407F0EFF9B38BC5D141B10E1637FF02A988205550C15FB3829B
A06EFE9C0A767170712A82B33FA0A08576A92D220EA2C5522D562B75B175A918
AA4DDA26E725DAC38049F38684E4EE7DDEBD7764C7B33A01E008FA985CDAF41E
A346504A411840E7A79A740BBEC39225C410F883FC1B0C263501A35061434028
50C492325219C512B6B8B1457440F4AA0252C863A0338BE661BF2584036AF5C0
7913C61C71B4DA4A08C7DE30B476A96D0AACF4C0D56D835C1621BD0BF09DBE26
D8EFF1F50B3C71A05A7DD09165BD29504411670C717B6E35E464B9037D5DF548
DE64107EC43E4B9EE533987137F2EAF6862FD04A095412A1948A88C4F318D94E
6B887FCE8EBB07A15A3DCD01A7A3EEA7F7F6172892043040168B506406B19344
EF058CEEE63464DA89E0410A6EDD2DF4B6E5D1920EA19CCB180EEB3A0B2C84F8
67BF3A730E7C06BDA6937EFE00F612FA647E02F5617A4D84B8D82B524D66FBA3
BA7533A056B229602999106A0698F7F61BDF228CEAE9FA9FA3C1000000004945
4E44AE426082}
Name = 'PngImage2'
Background = clWindow
end>
Left = 72
Top = 64
Bitmap = {}
end
end

View File

@ -0,0 +1,143 @@
unit uViewDetallesFamilias;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewContenido, cxStyles, cxCustomData, cxGraphics, cxFilter,
cxData, cxDataStorage, cxEdit, DB, cxDBData, cxDropDownEdit, cxTextEdit,
cxSpinEdit, cxCurrencyEdit, ImgList, PngImageList, uDADataTable,
ExtActns, StdActns, ActnList, ComCtrls, ToolWin, cxGridLevel,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
cxControls, cxGridCustomView, cxGrid, cxImageComboBox,
uBizImportesCabeceraBase, cxCheckBox, TB2Item, TBX, TB2Dock, TB2Toolbar,
JvExComCtrls, JvToolBar, cxMaskEdit;
type
IViewDetallesFamilias = interface(IViewContenido)
['{FFE0D3C1-F05C-4F28-9393-03F344CA6EBA}']
end;
TfrViewDetallesFamilias = class(TfrViewContenido, IViewDetallesFamilias)
cxStyleRepository1: TcxStyleRepository;
cxStyle_IMPORTETOTAL: TcxStyle;
cxStyle_SUBTOTAL: TcxStyle;
TipoPngImageList: TPngImageList;
cxGridViewDESCRIPCION: TcxGridDBColumn;
cxGridViewCANTIDAD: TcxGridDBColumn;
cxGridViewIMPORTEUNIDAD: TcxGridDBColumn;
cxGridViewIMPORTETOTAL: TcxGridDBColumn;
cxGridViewTIPO: TcxGridDBColumn;
cxGridViewPOSICION: TcxGridDBColumn;
cxGridViewVISIBLE: TcxGridDBColumn;
actAnadirCap: TAction;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
cxStyle_TITULO: TcxStyle;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
actRecalcular: TAction;
procedure cxGridViewEditing(Sender: TcxCustomGridTableView;
AItem: TcxCustomGridTableItem; var AAllow: Boolean);
procedure cxGridViewTIPOStylesGetContentStyle(
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
procedure actAnadirCapExecute(Sender: TObject);
procedure actRecalcularExecute(Sender: TObject);
private
protected
public
end;
implementation
uses uBizImportesDetalleBase, uDAInterfaces;
{$R *.dfm}
procedure TfrViewDetallesFamilias.cxGridViewEditing(
Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem;
var AAllow: Boolean);
var
IndiceCol : Integer;
begin
IndiceCol := (Sender as TcxGridDBTableView).GetColumnByFieldName(fld_DESCRIPCION).Index;
if AItem.Index <= IndiceCol then
AAllow := True
else begin
IndiceCol := (Sender as TcxGridDBTableView).GetColumnByFieldName(fld_TIPODETALLE).Index;
if (UpperCase(AItem.GridView.Items[IndiceCol].EditValue) = TIPODETALLE_SUBTOTAL) then
AAllow := False
else begin
if (UpperCase(AItem.GridView.Items[IndiceCol].EditValue) = TIPODETALLE_TITULO) then
begin
IndiceCol := (Sender as TcxGridDBTableView).GetColumnByFieldName(fld_VISIBLE).Index;
if AItem.Index = IndiceCol then
AAllow := True
else
AAllow := False
end;
end;
end;
end;
procedure TfrViewDetallesFamilias.cxGridViewTIPOStylesGetContentStyle(
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
var
IndiceCol : Integer;
ATipo : String;
begin
if Assigned(ARecord) then
begin
IndiceCol := (Sender as TcxGridDBTableView).GetColumnByFieldName(fld_TIPODETALLE).Index;
ATipo := VarToStr(ARecord.Values[IndiceCol]);
if ATipo = TIPODETALLE_SUBTOTAL then
AStyle := cxStyle_SUBTOTAL;
if ATipo = TIPODETALLE_TITULO then
AStyle := cxStyle_TITULO;
end;
end;
procedure TfrViewDetallesFamilias.actAnadirCapExecute(Sender: TObject);
var
AFieldTIPO : TDAField;
AFieldDES : TDAField;
begin
if Assigned(DADataSource.DataTable) then
begin
AFieldTIPO := DADataSource.DataTable.FindField(fld_TIPODETALLE);
AFieldDES := DADataSource.DataTable.FindField(fld_DESCRIPCION);
DADataSource.DataTable.Append;
AFieldDES.AsString := 'Capítulo de...';
AFieldTIPO.Value := TIPODETALLE_TITULO;
if DADataSource.DataTable.State in dsEditModes then
DADataSource.DataTable.Post;
DADataSource.DataTable.Next;
DADataSource.DataTable.Insert;
AFieldTIPO.Value := TIPODETALLE_CONCEPTO;
if DADataSource.DataTable.State in dsEditModes then
DADataSource.DataTable.Post;
DADataSource.DataTable.Next;
DADataSource.DataTable.Insert;
AFieldDES.AsString := 'Total del capítulo';
AFieldTIPO.Value := TIPODETALLE_SUBTOTAL;
if DADataSource.DataTable.State in dsEditModes then
DADataSource.DataTable.Post;
end;
end;
procedure TfrViewDetallesFamilias.actRecalcularExecute(Sender: TObject);
begin
RecalcularTodo(DADataSource.DataTable);
end;
end.

Binary file not shown.

View File

@ -0,0 +1,92 @@
inherited frViewDetallesNormales: TfrViewDetallesNormales
inherited ToolBar1: TToolBar
ButtonWidth = 63
object ToolButton1: TToolButton
Left = 0
Top = 0
Action = actAnadir
end
object ToolButton2: TToolButton
Left = 63
Top = 0
Action = actEliminar
end
object ToolButton3: TToolButton
Left = 126
Top = 0
Width = 8
Caption = 'ToolButton3'
ImageIndex = 2
Style = tbsSeparator
end
object ToolButton4: TToolButton
Left = 134
Top = 0
Action = actSubir
end
object ToolButton5: TToolButton
Left = 197
Top = 0
Action = actBajar
end
end
inherited ContenidoImageList: TPngImageList
PngImages = <
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000000E14944415478DA
63FCFFFF3F032580717019C0C8C8086787B4DDF8FFEBD76F869F3F7F33EC6C37
824BA05B88D300BF86CBFFA3A35419A6CFB8C870A0CF9C7403DC2BCFFD8F88D4
66983DEB34C3B12936C41910DA7E13EE6C100E0D37609837E7180358EC0708FF
6278B0218011A701FE8D57C0CEFEF68391E1DB770630FD1D88BF7C07E26F8C0C
6B17AE6178B1230CB7011E55E7FF836C86B9C23FC48661C9BC5D609B7F40F187
0331B80D400E03DDF85DFF3D039D1856CEDFCCF0706320E981A816BEF5BF8BBF
07D8D92F7786936E80BCFFFAFF30677F3C184B9C01E480616000007F3BB6E1E0
0AF3B40000000049454E44AE426082}
Name = 'PngImage0'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000000714944415478DA
63FCFFFF3F03258071D4002A1B10DA7E13CC01897DFDFA83E1DBB71F60FAFBB7
9F0C9F3F7F03E3F7FBA219F11A1013A500E77FFCCCC8F0EA1D23C38BB74C0CCF
5E3131AC9E3397E1F7E914DC0684B4DDF88FCBE62F9FBF33FCF9F397E1FFF974
DC060C7C208E1A401E0000EFE473E127272ED00000000049454E44AE426082}
Name = 'PngImage1'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000000E14944415478DA
63FCFFFF3F032580717019C0C8C88822E9D770F9FFA6065D1441740B711A00D2
1C1DA5CA307DC64586037DE68C241900D3FCF10B23C39123CF19AE5EBECF7076
B623235106206BFEF899114C3FBAFB94E1C4D1AB0CB7567A33E235C0BFF1CAFF
9F3F7F3380B0B7BF2158F3BB8F4C0C7B36EE60F8F9E317C30F207EB1238C91A0
17AC728EFC77F234076BFEF2E631C3C1BDE7191E6E0C24CE0B20609CBAFFBFB9
A31DD0004606B6DF8F18766E3DC9F0726738F106E8C6EFFA6F68AC0617DFB8F6
30C3C783B1C41BA016BEF53FCCCF30FCF364326103C801C3C00000BEA5B3E15D
7F64240000000049454E44AE426082}
Name = 'PngImage2'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000000DF4944415478DA
63FCFFFF3F032580717019C0C8C808A643DA6E80057FFDFACDF0F327041FE833
074BA25B88D380982805869FBF18183E7E61645830EF34C3B12936C41BE0D770
F97F74942A58F39123CF19AE5EBECF7076B623F106B8579EFB1F1CAACDF0F133
23C3E58BCF18CE9FBDC57079A11B6103FC1BAFFC87F9D9DBDF10EC8247779F32
9C387A95E1E78F5F0C3F80F8C58E3046BC2E70283AF91FA6F9DD472620666460
FBFD8861E7D6930C2F77863312E505E3D4FDFFCD1DED3034131D0620A016BEF5
BF85B5368A66920C000171F795FF91351334801C300C0C00007FBCB4E1E577C7
9A0000000049454E44AE426082}
Name = 'PngImage3'
Background = clWindow
end>
end
end

View File

@ -0,0 +1,34 @@
unit uViewDetallesNormales;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewContenido, cxStyles, cxCustomData, cxGraphics, cxFilter,
cxData, cxDataStorage, cxEdit, DB, cxDBData, ImgList, PngImageList,
uDADataTable, ActnList, ToolWin, ComCtrls, cxGridLevel, cxClasses,
cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxGrid;
type
IViewDetallesNormales = interface(IViewContenido)
['{7E9FEF3B-2A2E-404C-BF1E-7C103E671AFE}']
end;
TfrViewDetallesNormales = class(TfrViewContenido, IViewDetallesNormales)
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
private
{ Private declarations }
public
{ Public declarations }
end;
implementation
{$R *.dfm}
end.

114
Base/uViewDireccion.dfm Normal file
View File

@ -0,0 +1,114 @@
inherited frViewDireccion: TfrViewDireccion
Width = 300
Height = 140
Constraints.MinHeight = 140
Constraints.MinWidth = 300
DesignSize = (
300
140)
object lblCalle: TLabel
Left = 16
Top = 34
Width = 27
Height = 13
Caption = 'Calle:'
end
object lblProvincia: TLabel
Left = 16
Top = 106
Width = 47
Height = 13
Caption = 'Provincia:'
end
object lblPoblacion: TLabel
Left = 16
Top = 58
Width = 49
Height = 13
Caption = 'Poblaci'#243'n:'
end
object lblCodigoPostal: TLabel
Left = 16
Top = 82
Width = 69
Height = 13
Caption = 'C'#243'digo postal:'
end
object Label5: TLabel
Left = 8
Top = 8
Width = 55
Height = 13
Caption = 'Direcci'#243'n'
Font.Charset = DEFAULT_CHARSET
Font.Color = clActiveCaption
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
end
object Bevel1: TBevel
Left = 72
Top = 8
Width = 216
Height = 9
Anchors = [akLeft, akTop, akRight]
Shape = bsBottomLine
end
object eCalle: TcxDBTextEdit
Left = 100
Top = 30
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'CALLE'
DataBinding.DataSource = DADataSource
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 0
Width = 185
end
object ePoblacion: TcxDBTextEdit
Left = 100
Top = 54
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'POBLACION'
DataBinding.DataSource = DADataSource
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 1
Width = 185
end
object eProvincia: TcxDBTextEdit
Left = 100
Top = 102
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'PROVINCIA'
DataBinding.DataSource = DADataSource
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 3
Width = 185
end
object eCodigoPostal: TcxDBTextEdit
Left = 100
Top = 78
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'CODIGOPOSTAL'
DataBinding.DataSource = DADataSource
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 2
Width = 185
end
object DADataSource: TDADataSource
Left = 24
Top = 32
end
end

40
Base/uViewDireccion.pas Normal file
View File

@ -0,0 +1,40 @@
unit uViewDireccion;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, StdCtrls, Mask, DBCtrls, DB, uDADataTable, ExtCtrls,
JvComponent, JvFormAutoSize, cxControls, cxContainer, cxEdit, cxTextEdit,
cxDBEdit;
type
TfrViewDireccion = class(TfrViewBase)
Bevel1: TBevel;
DADataSource: TDADataSource;
Label5: TLabel;
lblCalle: TLabel;
lblCodigoPostal: TLabel;
lblPoblacion: TLabel;
lblProvincia: TLabel;
eCalle: TcxDBTextEdit;
ePoblacion: TcxDBTextEdit;
eProvincia: TcxDBTextEdit;
eCodigoPostal: TcxDBTextEdit;
protected
end;
var
frViewDireccion: TfrViewDireccion;
implementation
{$R *.dfm}
initialization
RegisterClass(TfrViewDireccion);
finalization
UnRegisterClass(TfrViewDireccion);
end.

BIN
Base/uViewFiltroBase.ddp Normal file

Binary file not shown.

198
Base/uViewFiltroBase.dfm Normal file
View File

@ -0,0 +1,198 @@
object frViewFiltroBase: TfrViewFiltroBase
Left = 0
Top = 0
Width = 565
Height = 102
TabOrder = 0
Visible = False
object TBXDock1: TTBXDock
Left = 0
Top = 0
Width = 565
Height = 102
object TBXDockablePanel1: TTBXDockablePanel
Left = 0
Top = 0
Caption = 'TBXDockablePanel1'
CloseButton = False
CloseButtonWhenDocked = False
DockedHeight = 98
DockMode = dmCannotFloatOrChangeDocks
ShowCaption = False
ShowCaptionWhenDocked = False
SupportedDocks = [dkStandardDock, dkMultiDock]
TabOrder = 0
object dxLayoutControl1: TdxLayoutControl
Left = 0
Top = 0
Width = 561
Height = 68
Align = alTop
ParentBackground = True
TabOrder = 0
AutoContentSizes = [acsWidth, acsHeight]
object txtFiltroTodo: TcxTextEdit
Left = 86
Top = 10
Properties.OnChange = OnCamposFiltroChange
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.HotTrack = False
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 0
Width = 273
end
object edtFechaIniFiltro: TcxDateEdit
Left = 86
Top = 37
Properties.OnChange = OnCamposFiltroChange
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.HotTrack = False
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
Style.ButtonStyle = bts3D
Style.PopupBorderStyle = epbsFrame3D
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 1
Width = 121
end
object edtFechaFinFiltro: TcxDateEdit
Left = 347
Top = 37
Properties.OnChange = OnCamposFiltroChange
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.HotTrack = False
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
Style.ButtonStyle = bts3D
Style.PopupBorderStyle = epbsFrame3D
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 2
Width = 121
end
object dxLayoutControl1Group_Root: TdxLayoutGroup
ShowCaption = False
Hidden = True
ShowBorder = False
object dxLayoutControl1Item1: TdxLayoutItem
Caption = 'Que contenga:'
Control = txtFiltroTodo
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Group1: TdxLayoutGroup
ShowCaption = False
Hidden = True
LayoutDirection = ldHorizontal
ShowBorder = False
object dxLayoutControl1Item2: TdxLayoutItem
AutoAligns = [aaVertical]
AlignHorz = ahClient
Caption = 'Entre la fecha:'
Control = edtFechaIniFiltro
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Item3: TdxLayoutItem
AutoAligns = [aaVertical]
AlignHorz = ahClient
Caption = 'y'
Control = edtFechaFinFiltro
ControlOptions.ShowBorder = False
end
end
end
end
object TBXAlignmentPanel1: TTBXAlignmentPanel
Left = 0
Top = 68
Width = 561
Height = 30
Align = alTop
Margins.Left = 10
TabOrder = 1
object tbxBotones: TTBXToolbar
Left = 10
Top = 0
Width = 551
Height = 30
Align = alTop
AutoResize = False
BorderStyle = bsNone
Caption = 'tbxBotones'
ChevronHint = 'M'#225's botones|'
DockMode = dmCannotFloatOrChangeDocks
DockPos = -23
DockRow = 1
DragHandleStyle = dhNone
ParentShowHint = False
ShowHint = True
TabOrder = 0
object TBXItem2: TTBXItem
Action = actQuitarFiltro
DisplayMode = nbdmImageAndText
Images = PngImageList
end
end
end
end
end
object dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList
Left = 136
Top = 16
end
object ActionList1: TActionList
Images = PngImageList
Left = 384
Top = 72
object actQuitarFiltro: TAction
Caption = 'Quitar filtros y ver todo'
ImageIndex = 0
OnExecute = actQuitarFiltroExecute
end
end
object PngImageList: TPngImageList
PngImages = <
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000001B04944415478DA
63FCFFFF3F03258071D400064674018780D0A7823C7C09EB97CCDD8D4B535EC3
C493AF1EDC305BB1603A2323BA66090111A9272F9F301CD9BE99119701110999
FF616A189135FFF9F9430A9F4618B0F1F405FB1B6E0021CDD70CF8FF0B09B0D7
481C78D50AE2FF7295B1FBC82F7AF0C585F30C8C96EE5ED3E425E533618A1F3E
7F385D4A5A79C3DA79937781F8C149B96E6627F7F4F8B23ED3DD226BC2F04840
96A19CE72DC3E7E387182EDEF8389911E49F1913DA192EBCE06778FBF727C3E3
CF0C0C276614A2B860F98C690C9BAA5A1854F7F530282A4830DC7FF08261E657
318689B76F33820DC8A89806D70C026B1A43E19A65C46518C0F25F3F3048CE28
6050BFBC9A61DB7F198693AE390C535AF220068496F6C3355F7EFC9EE1E6BC34
782CC0E47F5EBFC060D7E5C170E8BD208301F73B06BE7F1FFD642E316C6604F9
F1D9D3BB01CC4CCCE070F8FBEF2F4618FC7D723D22F3EF93C4FB37DE301C1296
D9E8FBE68198BED87F4BFEBF1FED084619087CB4178BB974FFD3D42B8F7E7801
6D390A12DB28C4BA51558ECB8F2803D6F1B2C67CFEF5C728EEE7FF62A006701A
98C0C0202ECBCDB00A00547CD715F016991D0000000049454E44AE426082}
Name = 'PngImage0'
Background = clWindow
end>
Left = 424
Top = 72
Bitmap = {}
end
end

144
Base/uViewFiltroBase.pas Normal file
View File

@ -0,0 +1,144 @@
unit uViewFiltroBase;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxMaskEdit, cxDropDownEdit, cxCalendar, dxLayoutControl,
cxContainer, cxEdit, cxTextEdit, dxLayoutLookAndFeels, cxControls,
StdCtrls, Buttons, cxRadioGroup, TBXDkPanels, TB2ExtItems, TBXExtItems,
TBX, TB2Item, TB2Dock, TB2Toolbar, ActnList, ImgList, PngImageList;
type
IViewFiltroBase = interface
['{0D0EA630-BF93-4BA1-93C2-FD5A5B0CBEED}']
function GetFiltrosChange: TNotifyEvent;
procedure SetFiltrosChange(const Value: TNotifyEvent);
property OnFiltrosChange: TNotifyEvent read GetFiltrosChange write SetFiltrosChange;
function GetVerFiltros: Boolean;
procedure SetVerFiltros(const Value: Boolean);
property VerFiltros: Boolean read GetVerFiltros write SetVerFiltros;
function GetTexto: String;
procedure SetTexto(const Value: String);
property Texto: String read GetTexto write SetTexto;
end;
TfrViewFiltroBase = class(TFrame, IViewFiltroBase)
dxLayoutControl1Group_Root: TdxLayoutGroup;
dxLayoutControl1: TdxLayoutControl;
dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList;
dxLayoutControl1Item1: TdxLayoutItem;
txtFiltroTodo: TcxTextEdit;
dxLayoutControl1Item2: TdxLayoutItem;
edtFechaIniFiltro: TcxDateEdit;
dxLayoutControl1Item3: TdxLayoutItem;
edtFechaFinFiltro: TcxDateEdit;
dxLayoutControl1Group1: TdxLayoutGroup;
TBXDock1: TTBXDock;
TBXDockablePanel1: TTBXDockablePanel;
ActionList1: TActionList;
actQuitarFiltro: TAction;
PngImageList: TPngImageList;
tbxBotones: TTBXToolbar;
TBXItem2: TTBXItem;
TBXAlignmentPanel1: TTBXAlignmentPanel;
procedure OnCamposFiltroChange(Sender: TObject);
procedure actQuitarFiltroExecute(Sender: TObject);
private
FOnFiltrosChange: TNotifyEvent;
function GetFiltrosChange: TNotifyEvent;
procedure SetFiltrosChange(const Value: TNotifyEvent);
function GetVerFiltros: Boolean;
procedure SetVerFiltros(const Value: Boolean);
function GetTexto: String;
procedure SetTexto(const Value: String);
protected
procedure LimpiarCampos; virtual;
function ValidarCampos: Boolean; virtual;
public
property OnFiltrosChange: TNotifyEvent read GetFiltrosChange write SetFiltrosChange;
property VerFiltros: Boolean read GetVerFiltros write SetVerFiltros;
property Texto: String read GetTexto write SetTexto;
end;
implementation
{$R *.dfm}
{ TfrViewFiltroBase }
function TfrViewFiltroBase.GetFiltrosChange: TNotifyEvent;
begin
Result := FOnFiltrosChange;
end;
procedure TfrViewFiltroBase.SetFiltrosChange(const Value: TNotifyEvent);
begin
FOnFiltrosChange := Value;
end;
function TfrViewFiltroBase.GetVerFiltros: Boolean;
begin
Result := Self.Visible;
end;
procedure TfrViewFiltroBase.SetVerFiltros(const Value: Boolean);
begin
Self.Visible := Value;
if not Self.Visible then
actQuitarFiltro.Execute;
end;
procedure TfrViewFiltroBase.LimpiarCampos;
begin
txtFiltroTodo.Clear;
edtFechaIniFiltro.Clear;
edtFechaFinFiltro.Clear;
end;
procedure TfrViewFiltroBase.OnCamposFiltroChange(Sender: TObject);
begin
if ValidarCampos then
if Assigned(FOnFiltrosChange) then
FOnFiltrosChange(Sender);
end;
function TfrViewFiltroBase.ValidarCampos: Boolean;
begin
Result := True;
if not VarIsNull(edtFechaIniFiltro.EditValue) and not VarIsNull(edtFechaFinFiltro.EditValue) then
begin
if (edtFechaIniFiltro.EditValue > edtFechaFinFiltro.EditValue) then
begin
ShowMessage('La fecha de inicio debe ser anterior a la fecha final');
edtFechaIniFiltro.SetFocus;
Result := False;
end
end;
end;
procedure TfrViewFiltroBase.actQuitarFiltroExecute(Sender: TObject);
begin
LimpiarCampos;
if Assigned(FOnFiltrosChange) then
FOnFiltrosChange(Sender);
end;
function TfrViewFiltroBase.GetTexto: String;
begin
Result := txtFiltroTodo.Text;
end;
procedure TfrViewFiltroBase.SetTexto(const Value: String);
begin
txtFiltroTodo.Text := Value;
end;
end.

BIN
Base/uViewFormaPago.ddp Normal file

Binary file not shown.

47
Base/uViewFormaPago.dfm Normal file
View File

@ -0,0 +1,47 @@
inherited frViewFormaPago: TfrViewFormaPago
Width = 300
Constraints.MinWidth = 300
DesignSize = (
300
222)
object Label5: TLabel
Left = 8
Top = 8
Width = 85
Height = 13
Caption = 'Forma de pago'
Font.Charset = DEFAULT_CHARSET
Font.Color = clActiveCaption
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
end
object Bevel1: TBevel
Left = 96
Top = 8
Width = 192
Height = 9
Anchors = [akLeft, akTop, akRight]
Shape = bsBottomLine
end
object memFormaPago: TcxDBMemo
Left = 16
Top = 32
Anchors = [akLeft, akTop, akRight, akBottom]
DataBinding.DataField = 'FORMAPAGO'
DataBinding.DataSource = DADataSource
Properties.ScrollBars = ssVertical
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 0
Height = 175
Width = 269
end
object DADataSource: TDADataSource
Left = 16
Top = 48
end
end

26
Base/uViewFormaPago.pas Normal file
View File

@ -0,0 +1,26 @@
unit uViewFormaPago;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, DB, uDADataTable, cxMemo, cxDBEdit, cxControls,
cxContainer, cxEdit, cxTextEdit, ExtCtrls, StdCtrls;
type
TfrViewFormaPago = class(TfrViewBase)
DADataSource: TDADataSource;
memFormaPago: TcxDBMemo;
Label5: TLabel;
Bevel1: TBevel;
private
{ Private declarations }
public
{ Public declarations }
end;
implementation
{$R *.dfm}
end.

BIN
Base/uViewGrid.ddp Normal file

Binary file not shown.

151
Base/uViewGrid.dfm Normal file
View File

@ -0,0 +1,151 @@
inherited frViewGrid: TfrViewGrid
Width = 443
Height = 270
Align = alClient
object cxGrid: TcxGrid
Left = 0
Top = 102
Width = 443
Height = 168
Align = alClient
TabOrder = 0
LookAndFeel.Kind = lfOffice11
LookAndFeel.NativeStyle = True
object cxGridView: TcxGridDBTableView
OnDblClick = cxGridViewDblClick
NavigatorButtons.ConfirmDelete = False
FilterBox.Visible = fvNever
DataController.DataModeController.SmartRefresh = True
DataController.DataModeController.SyncMode = False
DataController.DataSource = DADataSource
DataController.Filter.Options = [fcoCaseInsensitive]
DataController.Options = [dcoAnsiSort, dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoSortByDisplayText, dcoFocusTopRowAfterSorting]
DataController.Summary.DefaultGroupSummaryItems = <>
DataController.Summary.FooterSummaryItems = <>
DataController.Summary.SummaryGroups = <>
DataController.OnSortingChanged = cxGridViewDataControllerSortingChanged
OptionsBehavior.CellHints = True
OptionsBehavior.BestFitMaxRecordCount = 20
OptionsCustomize.ColumnFiltering = False
OptionsCustomize.ColumnGrouping = False
OptionsData.Deleting = False
OptionsData.DeletingConfirmation = False
OptionsData.Editing = False
OptionsData.Inserting = False
OptionsSelection.CellSelect = False
OptionsSelection.UnselectFocusedRecordOnExit = False
OptionsView.CellEndEllipsis = True
OptionsView.CellAutoHeight = True
OptionsView.ColumnAutoWidth = True
OptionsView.Footer = True
OptionsView.FooterAutoHeight = True
OptionsView.GridLineColor = cl3DLight
OptionsView.GroupByBox = False
OptionsView.HeaderEndEllipsis = True
OptionsView.NewItemRowInfoText = 'Click here to add a new row'
Styles.ContentEven = cxStyleEven
Styles.ContentOdd = cxStyleOdd
Styles.Inactive = cxStyleSelection
Styles.Selection = cxStyleSelection
end
object cxGridLevel: TcxGridLevel
GridView = cxGridView
end
end
inline frViewFiltroBase1: TfrViewFiltroBase
Left = 0
Top = 0
Width = 443
Height = 102
Align = alTop
TabOrder = 1
Visible = False
inherited TBXDock1: TTBXDock
Width = 443
inherited TBXDockablePanel1: TTBXDockablePanel
inherited dxLayoutControl1: TdxLayoutControl
Width = 439
inherited txtFiltroTodo: TcxTextEdit
Left = 87
end
inherited edtFechaIniFiltro: TcxDateEdit
Left = 87
end
inherited edtFechaFinFiltro: TcxDateEdit
Left = 275
end
end
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
Width = 439
inherited tbxBotones: TTBXToolbar
Width = 429
end
end
end
end
end
object DADataSource: TDADataSource
Left = 368
Top = 96
end
object ActionList1: TActionList
Left = 336
Top = 96
end
object dxComponentPrinter: TdxComponentPrinter
CurrentLink = dxComponentPrinterLink
PreviewOptions.EnableOptions = [peoCanChangeMargins, peoPageBackground, peoPageSetup, peoPreferences, peoPrint]
PreviewOptions.VisibleOptions = [pvoPageBackground, pvoPageSetup, pvoPreferences, pvoPrint, pvoPrintStyles, pvoReportFileOperations, pvoPageMargins]
PreviewOptions.WindowState = wsMaximized
Version = 0
Left = 368
Top = 128
object dxComponentPrinterLink: TdxGridReportLink
Active = True
Component = cxGrid
PrinterPage.DMPaper = 9
PrinterPage.Footer = 6350
PrinterPage.Header = 6350
PrinterPage.Margins.Bottom = 12700
PrinterPage.Margins.Left = 12700
PrinterPage.Margins.Right = 12700
PrinterPage.Margins.Top = 12700
PrinterPage.PageSize.X = 210000
PrinterPage.PageSize.Y = 297000
PrinterPage._dxMeasurementUnits_ = 0
PrinterPage._dxLastMU_ = 2
ReportDocument.CreationDate = 39213.688278530090000000
OptionsCharts.Transparent = True
OptionsFormatting.SuppressBackgroundBitmaps = True
OptionsOnEveryPage.Caption = False
OptionsOnEveryPage.FilterBar = False
OptionsSize.AutoWidth = True
OptionsView.Caption = False
OptionsView.ExpandButtons = False
OptionsView.FilterBar = False
OptionsView.GroupFooters = False
BuiltInReportLink = True
end
end
object dxPSEngineController1: TdxPSEngineController
LookAndFeel = pslfOffice11
UseNativeLookAndFeel = False
Left = 336
Top = 128
end
object cxStyleRepository1: TcxStyleRepository
Left = 296
Top = 128
object cxStyleEven: TcxStyle
end
object cxStyleOdd: TcxStyle
AssignedValues = [svColor]
Color = clInactiveCaptionText
end
object cxStyleSelection: TcxStyle
AssignedValues = [svColor, svTextColor]
Color = clHighlight
TextColor = clHighlightText
end
end
end

499
Base/uViewGrid.pas Normal file
View File

@ -0,0 +1,499 @@
unit uViewGrid;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, uDADataTable, cxGridLevel,
cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxGrid, Menus, ActnList, Grids,
DBGrids, JvComponent, JvFormAutoSize, dxPSGlbl, dxPSUtl, dxPSEngn,
dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGridLnk, dxPrnDlg,
cxIntlPrintSys3, dxPSPrvwAdv, uViewFiltroBase;
type
IViewGrid = interface(IViewBase)
['{07468FAD-4891-42E6-B646-51F17F0033F5}']
function GetDblClick: TNotifyEvent;
function GetFilter: string;
function GetPopupMenu: TPopupMenu;
function GetGrid : TcxGrid;
procedure Preview;
procedure Print;
procedure PrintSetup;
procedure GotoFirst;
procedure GotoLast;
procedure SetDblClick(const Value: TNotifyEvent);
procedure SetFilter(const Value: string);
procedure SetPopupMenu(const Value: TPopupMenu);
procedure RefreshGrid;
function GetMultiSelection: Boolean;
procedure SetMultiSelection(const Value: Boolean);
property Filter: string read GetFilter write SetFilter;
property OnDblClick: TNotifyEvent read GetDblClick write SetDblClick;
property PopupMenu: TPopupMenu read GetPopupMenu write SetPopupMenu;
property MultiSelection : Boolean read GetMultiSelection write SetMultiSelection;
property Grid : TcxGrid read GetGrid;
procedure SyncFocusedRecordsFromGrid;
procedure SyncFocusedRecordsFromDataSet;
procedure StoreToRegistry;
procedure RestoreFromRegistry;
procedure AjustarAncho;
procedure ActivarDesactivarFiltros;
function EstanFiltrosVisible: Boolean;
end;
TfrViewGrid = class(TfrViewBase, IViewGrid)
ActionList1: TActionList;
cxGrid: TcxGrid;
cxGridLevel: TcxGridLevel;
cxGridView: TcxGridDBTableView;
DADataSource: TDADataSource;
dxComponentPrinter: TdxComponentPrinter;
dxComponentPrinterLink: TdxGridReportLink;
dxPSEngineController1: TdxPSEngineController;
cxStyleRepository1: TcxStyleRepository;
cxStyleEven: TcxStyle;
cxStyleOdd: TcxStyle;
cxStyleSelection: TcxStyle;
frViewFiltroBase1: TfrViewFiltroBase;
procedure cxGridViewDblClick(Sender: TObject);
procedure cxGridViewDataControllerSortingChanged(Sender: TObject);
procedure SelectionChanged(Sender: TcxCustomGridTableView); virtual; abstract;
private
FViewFiltros: IViewFiltroBase;
FFilter: string;
// FOnFilterChanged : TNotifyEvent;
FOnDblClick: TNotifyEvent;
FPopupMenu: TPopupMenu;
procedure FiltrarGrid(TextoFiltro : String);
function GetViewFiltros: IViewFiltroBase;
procedure SetViewFiltros(const Value: IViewFiltroBase);
procedure OnChangeFiltros(Sender: TObject);
protected
function GetGrid : TcxGrid;
function GetDblClick: TNotifyEvent; virtual;
function GetFilter: string; virtual;
function GetPopupMenu: TPopupMenu; virtual;
function GetMultiSelection: Boolean; virtual;
procedure SetDblClick(const Value: TNotifyEvent); virtual;
procedure SetPopupMenu(const Value: TPopupMenu); virtual;
procedure SetMultiSelection(const Value: Boolean); virtual;
procedure SetFilter(const Value: string); virtual;
procedure RefrescarFiltro;
procedure AnadirOtrosFiltros; virtual;
function AddFilterGrid(const Operator: tcxFilterBoolOperatorKind): TcxFilterCriteriaItemList;
public
procedure ShowEmbedded(const AParent : TWinControl); override;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure Preview;
procedure Print;
procedure PrintSetup;
procedure GotoFirst;
procedure GotoLast;
procedure StoreToRegistry; virtual;
procedure RestoreFromRegistry; virtual;
property OnDblClick: TNotifyEvent read GetDblClick write SetDblClick;
property PopupMenu: TPopupMenu read GetPopupMenu write SetPopupMenu;
property Grid : TcxGrid read GetGrid;
procedure SyncFocusedRecordsFromGrid;
procedure SyncFocusedRecordsFromDataSet;
property MultiSelection : Boolean read GetMultiSelection write SetMultiSelection;
property ViewFiltros: IViewFiltroBase read GetViewFiltros write SetViewFiltros;
property Filter: string read GetFilter write SetFilter;
procedure ActivarDesactivarFiltros;
function EstanFiltrosVisible: Boolean;
procedure RefreshGrid;
procedure AjustarAncho;
end;
procedure Register;
var
frViewGrid: TfrViewGrid;
implementation
uses
CCReg, uDataModuleBase, uDBSelectionList;
{$R *.dfm}
{ TfrViewGrid }
procedure Register;
begin
RegisterCustomContainer(TfrViewGrid);
end;
{
********************************* TfrViewGrid **********************************
}
constructor TfrViewGrid.Create(AOwner: TComponent);
begin
inherited;
ViewFiltros := frViewFiltroBase1;
FFilter := '';
// FOnFilterChanged := FilterChanged;
GotoFirst;
end;
procedure TfrViewGrid.cxGridViewDblClick(Sender: TObject);
begin
if Assigned(FOnDblClick) then
FOnDblClick(Sender);
end;
procedure TfrViewGrid.FiltrarGrid(TextoFiltro : String);
var
Columna: TcxGridDBColumn;
i: Integer;
AItemList: TcxFilterCriteriaItemList;
AItemList2: TcxFilterCriteriaItemList;
EsPrimera: Boolean;
begin
with cxGridView.DataController.Filter do
begin
BeginUpdate;
try
Options := [fcoCaseInsensitive, fcoSoftCompare];
Root.Clear;
if Length(TextoFiltro) > 0 then
begin
EsPrimera := True;
for i:=0 to (cxGridView as TcxGridDBTableView).ColumnCount - 1 do
begin
Columna := (cxGridView as TcxGridDBTableView).Columns[i];
if Columna.Visible then
begin
if EsPrimera then
begin
AItemList := Root;
AItemList.BoolOperatorKind := fboAnd;
AItemList2 := AItemList.AddItemList(fboAnd);
AItemList := AItemList2;
AItemList2 := AItemList.AddItemList(fboOr);
AItemList := AItemList2;
AItemList.AddItem(Columna, foLike, '%'+TextoFiltro+'%', IntToStr(i));
EsPrimera := False;
end
else begin
AItemList2 := AItemList.AddItemList(fboOr);
AItemList2.AddItem(Columna, foLike, '%'+TextoFiltro+'%', IntToStr(i));
AItemList := AItemList2;
end;
end;
end;
Active := True;
end
else
Active := False;
finally
EndUpdate;
end;
end;
end;
function TfrViewGrid.GetDblClick: TNotifyEvent;
begin
Result := FOnDblClick;
end;
function TfrViewGrid.GetFilter: string;
begin
Result := FFilter;
end;
function TfrViewGrid.GetPopupMenu: TPopupMenu;
begin
Result := FPopupMenu;
end;
procedure TfrViewGrid.GotoFirst;
begin
cxGridView.DataController.GotoFirst;
end;
procedure TfrViewGrid.GotoLast;
begin
cxGridView.DataController.GotoLast;
end;
procedure TfrViewGrid.SetDblClick(const Value: TNotifyEvent);
begin
FOnDblClick := Value;
end;
procedure TfrViewGrid.SetFilter(const Value: string);
begin
FFilter := Value;
//Así tendremos el mismo valor en el filtro simple que en el filtro en detalle
if Assigned(ViewFiltros) then
ViewFiltros.Texto := FFilter;
FiltrarGrid(FFilter);
//Obliga a generar todos los filtros de las vista hija
AnadirOtrosFiltros;
end;
procedure TfrViewGrid.SetPopupMenu(const Value: TPopupMenu);
begin
FPopupMenu := Value;
cxGridView.PopupMenu := FPopupMenu;
end;
procedure TfrViewGrid.cxGridViewDataControllerSortingChanged(
Sender: TObject);
var
i: Integer;
AFields: array of String;
ADirections: array of TDASortDirection;
ABookmark : Pointer;
begin
inherited;
with cxGridView do
begin
for i := 0 to SortedItemCount - 1 do
begin
SetLength(AFields, i+1);
AFields[i] := (SortedItems[i] as TcxGridDBColumn).DataBinding.FieldName;
SetLength(ADirections, i+1);
case (SortedItems[i] as TcxGridDBColumn).SortOrder of
soAscending : ADirections[i] := sdAscending;
soDescending : ADirections[i] := sdDescending;
end;
end;
end;
if Assigned(DADataSource.DataTable) then
with DADataSource.DataTable do
begin
DisableControls;
ABookmark := GetBookMark;
try
Sort(AFields, ADirections);
GotoBookmark(ABookmark);
finally
FreeBookmark(ABookmark);
EnableControls;
end;
end;
end;
function TfrViewGrid.GetGrid: TcxGrid;
begin
Result := cxGrid;
end;
procedure TfrViewGrid.ShowEmbedded(const AParent : TWinControl);
begin
inherited;
if not DADataSource.DataTable.Active then
DADataSource.DataTable.Active := True;
with Grid do
begin
ActiveView.DataController.GotoFirst;
ActiveView.Focused := True;
if (ActiveView.ViewData as TcxCustomGridTableViewData).RecordCount > 0 then
begin
(ActiveView.ViewData as TcxCustomGridTableViewData).Records[0].Selected := True;
(ActiveView.ViewData as TcxCustomGridTableViewData).Records[0].Focused := True;
end;
{ if (ActiveView is TcxCustomGridTableView) then
(ActiveView as TcxCustomGridTableView).ApplyBestFit;}
end;
end;
procedure TfrViewGrid.Preview;
begin
dxComponentPrinter.Preview;
end;
procedure TfrViewGrid.Print;
begin
dxComponentPrinter.Print(True, nil, nil);
end;
procedure TfrViewGrid.PrintSetup;
begin
dxComponentPrinter.PageSetup(nil);
end;
procedure TfrViewGrid.RefreshGrid;
var
FocusedRow, TopRow : Integer;
begin
{ Refrescar las filas del grid a partir del dataset y colocar la fila
seleccionada donde estaba }
if DADataSource.DataTable.State = dsBrowse then
begin
TopRow := cxGridView.Controller.TopRowIndex;
FocusedRow := cxGridView.DataController.FocusedRowIndex;
cxGridView.DataController.UpdateItems(False); // <- Refresco
cxGridView.DataController.FocusedRowIndex := FocusedRow;
cxGridView.Controller.TopRowIndex := TopRow;
end;
end;
procedure TfrViewGrid.SyncFocusedRecordsFromDataSet;
var
AIndex : Integer;
begin
{ for AIndex := 0 to cxGridView.DataController.RecordCount - 1 do
begin
if (MessageBox(0, PChar(cxGridView.DataController.GetDisplayText(AIndex, 1)), '',
MB_ICONQUESTION or MB_YESNO or MB_DEFBUTTON1) = idYes) then
begin
cxGridView.DataController.SelectAll;
cxGridView.DataController.SelectRows(AIndex, AIndex);
cxGridView.DataController.FocusSelectedRow(0);
Break;
end;
end;}
end;
procedure TfrViewGrid.SyncFocusedRecordsFromGrid;
var
AValue : Variant;
i: Integer;
aObj : ISelectedRowList;
Clave : String;
begin
if not Supports(DADataSource.DataTable, ISelectedRowList, aObj) then
raise Exception.Create('La tabla no soporta el interfaz ISelectedRowList (SyncFocusedRecords)');
Clave := cxGridView.DataController.KeyFieldNames;
if Length(Clave) = 0 then
raise Exception.Create('Falta indicar los campos clave de la tabla en la vista del grid (SyncFocusedRecords)');
DADataSource.DataTable.DisableControls;
// DADataSource.DataTable.DisableEventHandlers; <- No descomentar
try
for i := 0 to cxGridView.Controller.SelectedRecordCount - 1 do
begin
AValue := cxGridView.Controller.SelectedRows[i].Values[cxGridView.GetColumnByFieldName(Clave).Index];
DADataSource.DataTable.First;
if DADataSource.DataTable.Locate(Clave, AValue, []) then
aObj.SelectedRows.CurrentRowSelected := True;
end;
finally
// DADataSource.DataTable.EnableEventHandlers; <- No descomentar
DADataSource.DataTable.EnableControls;
end;
end;
function TfrViewGrid.GetMultiSelection: Boolean;
begin
Result := (cxGrid.ActiveView as TcxGridDBTableView).OptionsSelection.MultiSelect;
end;
procedure TfrViewGrid.SetMultiSelection(const Value: Boolean);
begin
(cxGrid.ActiveView as TcxGridDBTableView).OptionsSelection.MultiSelect := True;
(cxGrid.ActiveView as TcxGridDBTableView).OnSelectionChanged := SelectionChanged;
end;
procedure TfrViewGrid.RestoreFromRegistry;
begin
cxGridView.RestoreFromRegistry('Software\\FactuGES\\GridSettings\\' + Self.Name, False, False, []);
end;
procedure TfrViewGrid.StoreToRegistry;
begin
cxGridView.StoreToRegistry('Software\\FactuGES\\GridSettings\\' + Self.Name, True, []);
end;
{
procedure TfrViewGrid.FilterChanged(Sender: TObject);
begin
//
end;
}
destructor TfrViewGrid.Destroy;
begin
// FOnFilterChanged := Nil;
ViewFiltros := NIL;
inherited;
end;
procedure TfrViewGrid.AjustarAncho;
begin
cxGridView.ApplyBestFit;
end;
function TfrViewGrid.AddFilterGrid(const Operator: tcxFilterBoolOperatorKind): TcxFilterCriteriaItemList;
var
AItemList: TcxFilterCriteriaItemList;
begin
AItemList := cxGridView.DataController.Filter.Root;
Result := AItemList.AddItemList(Operator);
end;
procedure TfrViewGrid.RefrescarFiltro;
begin
//De esta forma obligaremos a que se creen nuevamente todos los filtros, cuando llamemos a este metodo
if Assigned(ViewFiltros) then
Filter := ViewFiltros.Texto;
end;
function TfrViewGrid.GetViewFiltros: IViewFiltroBase;
begin
Result := FViewFiltros;
end;
procedure TfrViewGrid.SetViewFiltros(const Value: IViewFiltroBase);
begin
if Assigned(Value) then
begin
FViewFiltros := Value;
FViewFiltros.OnFiltrosChange := OnChangeFiltros;
end
else
begin
FViewFiltros.OnFiltrosChange := Nil;
FViewFiltros := Value;
end;
end;
procedure TfrViewGrid.OnChangeFiltros(Sender: TObject);
begin
cxGridView.DataController.Filter.BeginUpdate;
RefrescarFiltro;
cxGridView.DataController.Filter.EndUpdate;
end;
procedure TfrViewGrid.ActivarDesactivarFiltros;
begin
if Assigned(ViewFiltros) then
ViewFiltros.VerFiltros := not ViewFiltros.VerFiltros;
end;
function TfrViewGrid.EstanFiltrosVisible: Boolean;
begin
Result := ViewFiltros.VerFiltros;
end;
procedure TfrViewGrid.AnadirOtrosFiltros;
begin
//
end;
end.

94
Base/uViewInternet.dfm Normal file
View File

@ -0,0 +1,94 @@
inherited frViewInternet: TfrViewInternet
Width = 300
Height = 115
Constraints.MinHeight = 115
Constraints.MinWidth = 300
DesignSize = (
300
115)
object Label5: TLabel
Left = 8
Top = 8
Width = 45
Height = 13
Caption = 'Internet'
Font.Charset = DEFAULT_CHARSET
Font.Color = clActiveCaption
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
end
object Bevel1: TBevel
Left = 56
Top = 8
Width = 233
Height = 9
Anchors = [akLeft, akTop, akRight]
Shape = bsBottomLine
end
object lblParticular: TLabel
Left = 16
Top = 34
Width = 76
Height = 13
Caption = 'E-mail personal:'
end
object lblTrabajo: TLabel
Left = 16
Top = 58
Width = 70
Height = 13
Caption = 'E-mail trabajo:'
end
object lblMovil: TLabel
Left = 16
Top = 82
Width = 59
Height = 13
Caption = 'P'#225'gina web:'
end
object ePaginaWeb: TcxDBTextEdit
Left = 100
Top = 78
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'PAGINAWEB'
DataBinding.DataSource = DADataSource
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 2
Width = 185
end
object eMailTrabajo: TcxDBTextEdit
Left = 100
Top = 54
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'CORREO2'
DataBinding.DataSource = DADataSource
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 1
Width = 185
end
object eMailParticular: TcxDBTextEdit
Left = 100
Top = 30
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'CORREO1'
DataBinding.DataSource = DADataSource
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 0
Width = 185
end
object DADataSource: TDADataSource
Left = 16
Top = 32
end
end

39
Base/uViewInternet.pas Normal file
View File

@ -0,0 +1,39 @@
unit uViewInternet;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, DB, uDADataTable, StdCtrls, Mask, DBCtrls, ExtCtrls,
JvComponent, JvFormAutoSize, cxControls, cxContainer, cxEdit, cxTextEdit,
cxDBEdit;
type
TfrViewInternet = class(TfrViewBase)
Bevel1: TBevel;
DADataSource: TDADataSource;
Label5: TLabel;
lblMovil: TLabel;
lblParticular: TLabel;
lblTrabajo: TLabel;
ePaginaWeb: TcxDBTextEdit;
eMailTrabajo: TcxDBTextEdit;
eMailParticular: TcxDBTextEdit;
end;
var
frViewInternet: TfrViewInternet;
implementation
{$R *.dfm}
initialization
RegisterClass(TfrViewInternet);
finalization
UnRegisterClass(TfrViewInternet);
end.

104
Base/uViewMensaje.dfm Normal file
View File

@ -0,0 +1,104 @@
inherited frViewMensaje: TfrViewMensaje
Width = 443
Height = 22
Align = alTop
Visible = False
object TBXAlignmentPanel1: TTBXAlignmentPanel
Left = 0
Top = 0
Width = 443
Height = 22
Align = alClient
AutoSize = True
Color = clInfoBk
Margins.Left = 2
Margins.Top = 2
Margins.Right = 2
Margins.Bottom = 2
TabOrder = 0
object Image1: TImage
Left = 2
Top = 2
Width = 19
Height = 18
Align = alLeft
Picture.Data = {
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001000
00001008060000001FF3FF61000000097048597300000AEB00000AEB01828B0D
5A0000000467414D410000B18E7CFB51930000027F4944415478DA95926D4853
5118C79FDB268AA54485D62C4C50962CDC87F5416D9AB966CEA440A4E84D828C
304C89B217DB87D00F65252B69422F9A4161D6A0507C6D595A645083CC557871
29CE19949B6DD3DDEDDE9D73BABB561835D3030FCF39E739FFDFF3C2A1608EF5
A1467A415632783A589C100254B0A0EB5A623A9392DCD365B89DBEFF3CBC5830
C0DD9DD726922B34EFDAEB5B53F75972170470D4C8E461DB724D78091139AC66
F4FC5E9BA24007FDF3064C75E6DE7DE94BD8DBDC4A834615014B5DBD8D6985E3
7BE6056074D2B544934357DCFA1CD2FBEA1B6C908742E96EAFBFFB7E5FE2A15A
18FA2FC0F978B35E9CBAE94895EE2DB474D82053B918CA4BA2A1BFD37823B3D8
79784E80BB36298ADA98368C97937043F3185CACA1E164F12AD89E1509132316
E659BB39A14807B6A000E74365A5282D43EB67BFC020FD1D76159AC0502785D8
984580B8691830BEA9561F634EFC1340AAA4111E55C60817859611E4038EF342
56FE6BE86C5A0F807D4010035F2DA3EE1EA32DEEA81EEC7F0126EF288E87A8D5
97389F8DC28280858ACB9FE06C690CBFF702E60DB153E463EF70C5D632EEDC1F
00FA6A7CA824397D888B46AB671EF300CC826DDC092B5710411CB0406C62D86E
EFEA72C69DAA07F76FC0645DD241B15A7D93E3C6A85FE2471D5E686872C1CE1C
2FE46BF0AC2A1842F7B9CBB2CFF8AB05007900A26949819995E075184D43A0FF
400B95575CD0FED4010A9907AAB5E1BC9801EC9FA9C261656D03467FFC8106E2
A55C7A591EA551197CC84A1121BB4FC8346AF540CB1307A895046225E8670B8C
D01E6611B198C445D9E5DC75EABD7E4DA32B322C05630F3F15BE5482788F788F
F9E9FB679D9110C781FBC077B753433BB478CB0F7C3B8CF0987D51CF00000000
49454E44AE426082}
end
object lblMensaje: TLabel
Left = 21
Top = 2
Width = 398
Height = 18
Align = alClient
Caption = 'Mensaje'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = [fsBold]
ParentFont = False
Transparent = True
Layout = tlCenter
end
object bClose: TJvNavIconButton
Left = 419
Top = 2
Height = 18
Align = alRight
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = [fsBold]
ParentFont = False
ButtonType = nibClose
Colors.ButtonColorFrom = clWhite
Colors.ButtonColorTo = 12435133
Colors.ButtonHotColorFrom = 13009540
Colors.ButtonHotColorTo = 13009540
Colors.ButtonSelectedColorFrom = 14602190
Colors.ButtonSelectedColorTo = 14602190
Colors.SplitterColorFrom = 13026246
Colors.SplitterColorTo = 9211532
Colors.DividerColorFrom = 15725551
Colors.DividerColorTo = 13026246
Colors.HeaderColorFrom = 8684164
Colors.HeaderColorTo = 8684164
Colors.FrameColor = 8684676
Colors.ToolPanelHeaderColorFrom = clWhite
Colors.ToolPanelHeaderColorTo = 12435133
ImageIndex = 0
StyleManager = dmBase.StyleManager
ParentStyleManager = False
OnClick = bCloseClick
end
end
object ApplicationEvents: TApplicationEvents
OnException = ApplicationEventsException
Left = 104
end
end

49
Base/uViewMensaje.pas Normal file
View File

@ -0,0 +1,49 @@
unit uViewMensaje;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, StdCtrls, pngimage, ExtCtrls, TBXDkPanels, AppEvnts,
JvExControls, JvComponent, JvButton, JvNavigationPane;
type
TfrViewMensaje = class(TfrViewBase)
TBXAlignmentPanel1: TTBXAlignmentPanel;
Image1: TImage;
lblMensaje: TLabel;
ApplicationEvents: TApplicationEvents;
bClose: TJvNavIconButton;
procedure ApplicationEventsException(Sender: TObject; E: Exception);
procedure bCloseClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frViewMensaje: TfrViewMensaje;
implementation
uses uDataModuleBase;
{$R *.dfm}
procedure TfrViewMensaje.ApplicationEventsException(Sender: TObject;
E: Exception);
begin
inherited;
lblMensaje.Caption := E.Message;
if not Visible then
Visible := True;
end;
procedure TfrViewMensaje.bCloseClick(Sender: TObject);
begin
inherited;
Visible := False;
end;
end.

View File

@ -0,0 +1,47 @@
inherited frViewObservaciones: TfrViewObservaciones
Width = 300
Constraints.MinWidth = 300
DesignSize = (
300
226)
object Label5: TLabel
Left = 8
Top = 8
Width = 85
Height = 13
Caption = 'Observaciones'
Font.Charset = DEFAULT_CHARSET
Font.Color = clActiveCaption
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
end
object Bevel1: TBevel
Left = 96
Top = 8
Width = 192
Height = 9
Anchors = [akLeft, akTop, akRight]
Shape = bsBottomLine
end
object memObservaciones: TcxDBMemo
Left = 16
Top = 32
Anchors = [akLeft, akTop, akRight, akBottom]
DataBinding.DataField = 'OBSERVACIONES'
DataBinding.DataSource = DADataSource
Properties.ScrollBars = ssVertical
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 0
Height = 179
Width = 269
end
object DADataSource: TDADataSource
Left = 16
Top = 48
end
end

View File

@ -0,0 +1,26 @@
unit uViewObservaciones;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, DB, uDADataTable, cxMemo, cxDBEdit, cxControls,
cxContainer, cxEdit, cxTextEdit, ExtCtrls, StdCtrls;
type
TfrViewObservaciones = class(TfrViewBase)
Label5: TLabel;
Bevel1: TBevel;
memObservaciones: TcxDBMemo;
DADataSource: TDADataSource;
private
{ Private declarations }
public
{ Public declarations }
end;
implementation
{$R *.dfm}
end.

View File

@ -0,0 +1,47 @@
inherited frViewPlazoEntrega: TfrViewPlazoEntrega
Width = 300
Constraints.MinWidth = 300
DesignSize = (
300
240)
object Label5: TLabel
Left = 8
Top = 8
Width = 97
Height = 13
Caption = 'Plazo de entrega'
Font.Charset = DEFAULT_CHARSET
Font.Color = clActiveCaption
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
end
object Bevel1: TBevel
Left = 112
Top = 8
Width = 176
Height = 9
Anchors = [akLeft, akTop, akRight]
Shape = bsBottomLine
end
object memPlazoEntrega: TcxDBMemo
Left = 16
Top = 32
Anchors = [akLeft, akTop, akRight, akBottom]
DataBinding.DataField = 'PLAZOENTREGA'
DataBinding.DataSource = DADataSource
Properties.ScrollBars = ssVertical
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 0
Height = 193
Width = 269
end
object DADataSource: TDADataSource
Left = 16
Top = 48
end
end

View File

@ -0,0 +1,26 @@
unit uViewPlazoEntrega;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, DB, uDADataTable, cxMemo, cxDBEdit, cxControls,
cxContainer, cxEdit, cxTextEdit, ExtCtrls, StdCtrls;
type
TfrViewPlazoEntrega = class(TfrViewBase)
Label5: TLabel;
Bevel1: TBevel;
memPlazoEntrega: TcxDBMemo;
DADataSource: TDADataSource;
private
{ Private declarations }
public
{ Public declarations }
end;
implementation
{$R *.dfm}
end.

10
Base/uViewPreview.dfm Normal file
View File

@ -0,0 +1,10 @@
inherited frViewPreview: TfrViewPreview
object frxPreview: TfrxPreview
Left = 0
Top = 0
Width = 320
Height = 240
Align = alClient
OutlineVisible = False
end
end

43
Base/uViewPreview.pas Normal file
View File

@ -0,0 +1,43 @@
unit uViewPreview;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, frxClass, frxPreview, JvComponent, JvFormAutoSize;
type
IViewPreview = interface(IViewBase)
['{F9A96948-4005-4E9B-8045-7B4874A05D19}']
function GetPreview: TfrxPreview;
property Preview : TfrxPreview read GetPreview;
end;
TfrViewPreview = class(TfrViewBase, IViewPreview)
frxPreview: TfrxPreview;
private
function GetPreview: TfrxPreview;
public
property Preview : TfrxPreview read GetPreview;
end;
implementation
{$R *.dfm}
{ TfrViewPreview }
function TfrViewPreview.GetPreview: TfrxPreview;
begin
Result := frxPreview;
end;
initialization
RegisterClass(TfrViewPreview);
finalization
UnRegisterClass(TfrViewPreview);
end.
end.

114
Base/uViewTelefonos.dfm Normal file
View File

@ -0,0 +1,114 @@
inherited frViewTelefonos: TfrViewTelefonos
Width = 300
Height = 140
Constraints.MinHeight = 140
Constraints.MinWidth = 300
DesignSize = (
300
140)
object Label5: TLabel
Left = 8
Top = 8
Width = 57
Height = 13
Caption = 'Tel'#233'fonos'
Font.Charset = DEFAULT_CHARSET
Font.Color = clActiveCaption
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
end
object Bevel1: TBevel
Left = 72
Top = 8
Width = 217
Height = 9
Anchors = [akLeft, akTop, akRight]
Shape = bsBottomLine
end
object lblParticular: TLabel
Left = 16
Top = 34
Width = 49
Height = 13
Caption = 'Particular:'
end
object lblTrabajo: TLabel
Left = 16
Top = 58
Width = 41
Height = 13
Caption = 'Trabajo:'
end
object lblMovil: TLabel
Left = 16
Top = 82
Width = 73
Height = 13
Caption = 'Tel'#233'fono m'#243'vil:'
end
object lblFax: TLabel
Left = 16
Top = 106
Width = 75
Height = 13
Caption = 'N'#250'mero de fax:'
end
object eTlfParticular: TcxDBTextEdit
Left = 100
Top = 30
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'TELEFONO1'
DataBinding.DataSource = DADataSource
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 0
Width = 185
end
object eTlfTrabajo: TcxDBTextEdit
Left = 100
Top = 54
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'TELEFONO2'
DataBinding.DataSource = DADataSource
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 1
Width = 185
end
object eTlfMovil: TcxDBTextEdit
Left = 100
Top = 78
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'MOVIL'
DataBinding.DataSource = DADataSource
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 2
Width = 185
end
object eFax: TcxDBTextEdit
Left = 100
Top = 102
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'FAX'
DataBinding.DataSource = DADataSource
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 3
Width = 185
end
object DADataSource: TDADataSource
Left = 16
Top = 32
end
end

41
Base/uViewTelefonos.pas Normal file
View File

@ -0,0 +1,41 @@
unit uViewTelefonos;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, DB, uDADataTable, StdCtrls, Mask, DBCtrls, ExtCtrls,
JvComponent, JvFormAutoSize, cxControls, cxContainer, cxEdit, cxTextEdit,
cxDBEdit;
type
TfrViewTelefonos = class(TfrViewBase)
Bevel1: TBevel;
DADataSource: TDADataSource;
Label5: TLabel;
lblFax: TLabel;
lblMovil: TLabel;
lblParticular: TLabel;
lblTrabajo: TLabel;
eTlfParticular: TcxDBTextEdit;
eTlfTrabajo: TcxDBTextEdit;
eTlfMovil: TcxDBTextEdit;
eFax: TcxDBTextEdit;
end;
var
frViewTelefonos: TfrViewTelefonos;
implementation
{$R *.dfm}
initialization
RegisterClass(TfrViewTelefonos);
finalization
UnRegisterClass(TfrViewTelefonos);
end.

271
Base/uViewTotales.dfm Normal file
View File

@ -0,0 +1,271 @@
inherited frViewTotales: TfrViewTotales
Width = 730
Height = 122
Align = alBottom
Constraints.MaxHeight = 122
Constraints.MinHeight = 122
Constraints.MinWidth = 730
object TabControl1: TTabControl
Left = 0
Top = 0
Width = 730
Height = 122
Align = alClient
TabOrder = 0
object GroupBox1: TGroupBox
Left = 8
Top = 8
Width = 713
Height = 105
Caption = 'Importes totales'
Font.Charset = DEFAULT_CHARSET
Font.Color = clActiveCaption
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = [fsBold]
ParentFont = False
TabOrder = 0
object Label1: TLabel
Left = 16
Top = 25
Width = 74
Height = 13
Caption = 'Base imponible:'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
end
object Label2: TLabel
Left = 248
Top = 25
Width = 77
Height = 13
Caption = 'Descuento (%):'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
end
object Label3: TLabel
Left = 282
Top = 49
Width = 43
Height = 13
Caption = 'IVA (%):'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
end
object Label4: TLabel
Left = 483
Top = 25
Width = 76
Height = 13
Caption = 'Importe de dto:'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
end
object Label5: TLabel
Left = 482
Top = 49
Width = 77
Height = 13
Caption = 'Importe de IVA:'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
end
object Label7: TLabel
Left = 479
Top = 73
Width = 80
Height = 13
Caption = 'Importe total:'
Font.Charset = DEFAULT_CHARSET
Font.Color = clActiveCaption
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = [fsBold]
ParentFont = False
end
object lblBase: TcxDBCurrencyEdit
Left = 96
Top = 21
AutoSize = False
DataBinding.DataField = 'BASEIMPONIBLE'
DataBinding.DataSource = DADataSource
Enabled = False
ParentFont = False
Properties.Alignment.Horz = taRightJustify
Properties.ReadOnly = True
Properties.UseLeftAlignmentOnEditing = False
Properties.UseThousandSeparator = True
Style.Font.Charset = DEFAULT_CHARSET
Style.Font.Color = clWindowText
Style.Font.Height = -11
Style.Font.Name = 'Tahoma'
Style.Font.Style = []
Style.LookAndFeel.NativeStyle = True
Style.TextColor = clWindowText
StyleDisabled.LookAndFeel.NativeStyle = True
StyleDisabled.TextColor = clWindowText
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 0
Height = 21
Width = 137
end
object cxCurrencyEdit3: TcxDBCurrencyEdit
Left = 562
Top = 21
AutoSize = False
DataBinding.DataField = 'IMPORTEDESCUENTO'
DataBinding.DataSource = DADataSource
Enabled = False
ParentFont = False
Properties.Alignment.Horz = taRightJustify
Properties.ReadOnly = True
Properties.UseLeftAlignmentOnEditing = False
Properties.UseThousandSeparator = True
Style.Font.Charset = DEFAULT_CHARSET
Style.Font.Color = clWindowText
Style.Font.Height = -11
Style.Font.Name = 'Tahoma'
Style.Font.Style = []
Style.LookAndFeel.NativeStyle = True
Style.TextColor = clWindowText
StyleDisabled.LookAndFeel.NativeStyle = True
StyleDisabled.TextColor = clWindowText
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 3
Height = 21
Width = 137
end
object cxCurrencyEdit4: TcxDBCurrencyEdit
Left = 562
Top = 45
AutoSize = False
DataBinding.DataField = 'IMPORTEIVA'
DataBinding.DataSource = DADataSource
Enabled = False
ParentFont = False
Properties.Alignment.Horz = taRightJustify
Properties.ReadOnly = True
Properties.UseLeftAlignmentOnEditing = False
Properties.UseThousandSeparator = True
Style.Font.Charset = DEFAULT_CHARSET
Style.Font.Color = clWindowText
Style.Font.Height = -11
Style.Font.Name = 'Tahoma'
Style.Font.Style = []
Style.LookAndFeel.NativeStyle = True
Style.TextColor = clWindowText
StyleDisabled.LookAndFeel.NativeStyle = True
StyleDisabled.TextColor = clWindowText
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 4
Height = 21
Width = 137
end
object cxCurrencyEdit5: TcxDBCurrencyEdit
Left = 562
Top = 69
AutoSize = False
DataBinding.DataField = 'IMPORTETOTAL'
DataBinding.DataSource = DADataSource
Enabled = False
ParentFont = False
Properties.Alignment.Horz = taRightJustify
Properties.ReadOnly = True
Properties.UseLeftAlignmentOnEditing = False
Properties.UseThousandSeparator = True
Style.Font.Charset = DEFAULT_CHARSET
Style.Font.Color = clWindowText
Style.Font.Height = -11
Style.Font.Name = 'Tahoma'
Style.Font.Style = []
Style.LookAndFeel.NativeStyle = True
Style.TextColor = clActiveCaption
Style.TextStyle = [fsBold]
StyleDisabled.LookAndFeel.NativeStyle = True
StyleDisabled.TextColor = clWindowText
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 5
Height = 21
Width = 137
end
object cxCurrencyEdit1: TcxDBSpinEdit
Left = 328
Top = 21
AutoSize = False
DataBinding.DataField = 'DESCUENTO'
DataBinding.DataSource = DADataSource
ParentFont = False
Properties.Alignment.Horz = taRightJustify
Properties.DisplayFormat = ',0.00 %;-,0.00 %'
Properties.ImmediatePost = True
Properties.MaxValue = 100.000000000000000000
Style.Font.Charset = DEFAULT_CHARSET
Style.Font.Color = clWindowText
Style.Font.Height = -11
Style.Font.Name = 'Tahoma'
Style.Font.Style = []
Style.LookAndFeel.NativeStyle = True
Style.TextColor = clWindowText
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 1
Height = 21
Width = 137
end
object cxCurrencyEdit2: TcxDBSpinEdit
Left = 328
Top = 45
AutoSize = False
DataBinding.DataField = 'IVA'
DataBinding.DataSource = DADataSource
ParentFont = False
Properties.Alignment.Horz = taRightJustify
Properties.AssignedValues.MinValue = True
Properties.DisplayFormat = ',0.00 %;-,0.00 %'
Properties.ImmediatePost = True
Properties.MaxValue = 100.000000000000000000
Style.Font.Charset = DEFAULT_CHARSET
Style.Font.Color = clWindowText
Style.Font.Height = -11
Style.Font.Name = 'Tahoma'
Style.Font.Style = []
Style.LookAndFeel.NativeStyle = True
Style.TextColor = clWindowText
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 2
Height = 21
Width = 137
end
end
end
object DADataSource: TDADataSource
Left = 80
end
end

40
Base/uViewTotales.pas Normal file
View File

@ -0,0 +1,40 @@
unit uViewTotales;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, ExtCtrls, StdCtrls, DB, uDADataTable, cxGraphics,
cxTextEdit, cxMaskEdit, cxDropDownEdit, cxDBEdit, cxControls,
cxContainer, cxEdit, cxLabel, cxDBLabel, cxCurrencyEdit, cxSpinEdit,
ComCtrls;
type
TfrViewTotales = class(TfrViewBase)
DADataSource: TDADataSource;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label7: TLabel;
lblBase: TcxDBCurrencyEdit;
cxCurrencyEdit3: TcxDBCurrencyEdit;
cxCurrencyEdit4: TcxDBCurrencyEdit;
cxCurrencyEdit5: TcxDBCurrencyEdit;
cxCurrencyEdit1: TcxDBSpinEdit;
cxCurrencyEdit2: TcxDBSpinEdit;
TabControl1: TTabControl;
private
{ Private declarations }
public
{ Public declarations }
end;
implementation
{$R *.dfm}
end.

492
Cliente/FactuGES.bdsproj Normal file
View File

@ -0,0 +1,492 @@
<?xml version="1.0" encoding="utf-8"?>
<BorlandProject>
<PersonalityInfo>
<Option>
<Option Name="Personality">Delphi.Personality</Option>
<Option Name="ProjectType">VCLApplication</Option>
<Option Name="Version">1.0</Option>
<Option Name="GUID">{7BF5D401-6E6D-4403-99B4-1336E0900DA3}</Option>
</Option>
</PersonalityInfo>
<Delphi.Personality>
<Source>
<Source Name="MainSource">FactuGES.dpr</Source>
</Source>
<FileVersion>
<FileVersion Name="Version">7.0</FileVersion>
</FileVersion>
<Compiler>
<Compiler Name="A">8</Compiler>
<Compiler Name="B">0</Compiler>
<Compiler Name="C">1</Compiler>
<Compiler Name="D">1</Compiler>
<Compiler Name="E">0</Compiler>
<Compiler Name="F">0</Compiler>
<Compiler Name="G">1</Compiler>
<Compiler Name="H">1</Compiler>
<Compiler Name="I">1</Compiler>
<Compiler Name="J">0</Compiler>
<Compiler Name="K">0</Compiler>
<Compiler Name="L">1</Compiler>
<Compiler Name="M">0</Compiler>
<Compiler Name="N">1</Compiler>
<Compiler Name="O">1</Compiler>
<Compiler Name="P">1</Compiler>
<Compiler Name="Q">0</Compiler>
<Compiler Name="R">0</Compiler>
<Compiler Name="S">0</Compiler>
<Compiler Name="T">0</Compiler>
<Compiler Name="U">0</Compiler>
<Compiler Name="V">1</Compiler>
<Compiler Name="W">0</Compiler>
<Compiler Name="X">1</Compiler>
<Compiler Name="Y">1</Compiler>
<Compiler Name="Z">1</Compiler>
<Compiler Name="ShowHints">True</Compiler>
<Compiler Name="ShowWarnings">True</Compiler>
<Compiler Name="UnitAliases">WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;</Compiler>
<Compiler Name="NamespacePrefix"></Compiler>
<Compiler Name="GenerateDocumentation">False</Compiler>
<Compiler Name="DefaultNamespace"></Compiler>
<Compiler Name="SymbolDeprecated">True</Compiler>
<Compiler Name="SymbolLibrary">True</Compiler>
<Compiler Name="SymbolPlatform">True</Compiler>
<Compiler Name="SymbolExperimental">True</Compiler>
<Compiler Name="UnitLibrary">True</Compiler>
<Compiler Name="UnitPlatform">True</Compiler>
<Compiler Name="UnitDeprecated">True</Compiler>
<Compiler Name="UnitExperimental">True</Compiler>
<Compiler Name="HResultCompat">True</Compiler>
<Compiler Name="HidingMember">True</Compiler>
<Compiler Name="HiddenVirtual">True</Compiler>
<Compiler Name="Garbage">True</Compiler>
<Compiler Name="BoundsError">True</Compiler>
<Compiler Name="ZeroNilCompat">True</Compiler>
<Compiler Name="StringConstTruncated">True</Compiler>
<Compiler Name="ForLoopVarVarPar">True</Compiler>
<Compiler Name="TypedConstVarPar">True</Compiler>
<Compiler Name="AsgToTypedConst">True</Compiler>
<Compiler Name="CaseLabelRange">True</Compiler>
<Compiler Name="ForVariable">True</Compiler>
<Compiler Name="ConstructingAbstract">True</Compiler>
<Compiler Name="ComparisonFalse">True</Compiler>
<Compiler Name="ComparisonTrue">True</Compiler>
<Compiler Name="ComparingSignedUnsigned">True</Compiler>
<Compiler Name="CombiningSignedUnsigned">True</Compiler>
<Compiler Name="UnsupportedConstruct">True</Compiler>
<Compiler Name="FileOpen">True</Compiler>
<Compiler Name="FileOpenUnitSrc">True</Compiler>
<Compiler Name="BadGlobalSymbol">True</Compiler>
<Compiler Name="DuplicateConstructorDestructor">True</Compiler>
<Compiler Name="InvalidDirective">True</Compiler>
<Compiler Name="PackageNoLink">True</Compiler>
<Compiler Name="PackageThreadVar">True</Compiler>
<Compiler Name="ImplicitImport">True</Compiler>
<Compiler Name="HPPEMITIgnored">True</Compiler>
<Compiler Name="NoRetVal">True</Compiler>
<Compiler Name="UseBeforeDef">True</Compiler>
<Compiler Name="ForLoopVarUndef">True</Compiler>
<Compiler Name="UnitNameMismatch">True</Compiler>
<Compiler Name="NoCFGFileFound">True</Compiler>
<Compiler Name="ImplicitVariants">True</Compiler>
<Compiler Name="UnicodeToLocale">True</Compiler>
<Compiler Name="LocaleToUnicode">True</Compiler>
<Compiler Name="ImagebaseMultiple">True</Compiler>
<Compiler Name="SuspiciousTypecast">True</Compiler>
<Compiler Name="PrivatePropAccessor">True</Compiler>
<Compiler Name="UnsafeType">False</Compiler>
<Compiler Name="UnsafeCode">False</Compiler>
<Compiler Name="UnsafeCast">False</Compiler>
<Compiler Name="OptionTruncated">True</Compiler>
<Compiler Name="WideCharReduced">True</Compiler>
<Compiler Name="DuplicatesIgnored">True</Compiler>
<Compiler Name="UnitInitSeq">True</Compiler>
<Compiler Name="LocalPInvoke">True</Compiler>
<Compiler Name="MessageDirective">True</Compiler>
<Compiler Name="CodePage"></Compiler>
</Compiler>
<Linker>
<Linker Name="MapFile">3</Linker>
<Linker Name="OutputObjs">0</Linker>
<Linker Name="GenerateHpps">False</Linker>
<Linker Name="ConsoleApp">1</Linker>
<Linker Name="DebugInfo">False</Linker>
<Linker Name="RemoteSymbols">False</Linker>
<Linker Name="GenerateDRC">False</Linker>
<Linker Name="MinStackSize">16384</Linker>
<Linker Name="MaxStackSize">1048576</Linker>
<Linker Name="ImageBase">4194304</Linker>
<Linker Name="ExeDescription"></Linker>
</Linker>
<Directories>
<Directories Name="OutputDir">..\Output\Cliente</Directories>
<Directories Name="UnitOutputDir">.\</Directories>
<Directories Name="PackageDLLOutputDir"></Directories>
<Directories Name="PackageDCPOutputDir"></Directories>
<Directories Name="SearchPath">$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Base;..\Configuracion;..\Usuarios;..\Modulos\Intervalos;..\Modulos\Documentos asociados;..\Modulos\Contactos\Cliente;..\Modulos\Contactos\Reglas;..\Modulos\Presupuestos\Cliente;..\Modulos\Presupuestos\Reglas;..\Modulos\Albaranes de cliente\Cliente;..\Modulos\Albaranes de cliente\Reglas;..\Modulos\Facturas de cliente\Cliente;..\Modulos\Facturas de cliente\Reglas;..\Modulos\Pedidos a proveedor\Cliente;..\Modulos\Pedidos a proveedor\Reglas;..\Modulos\Facturas de proveedor\Cliente;..\Modulos\Facturas de proveedor\Reglas;..\Modulos\Montajes\Reglas;..\Modulos\Montajes\Cliente;..\Modulos\Articulos\Cliente;..\Modulos\Articulos\Reglas;..\Modulos\Almacenes\Reglas;..\Modulos\Almacenes\Cliente;..\Modulos\Pagos\Reglas;..\Modulos\Pagos\Cliente;..\Modulos\Cuentas\Reglas;..\Modulos\Cuentas\Cliente;..\Modulos\Asientos\Reglas;..\Modulos\Asientos\Cliente;..\Modulos\Calendarios\Cliente;..\Modulos\Calendarios\Reglas</Directories>
<Directories Name="Packages">PluginSDK_D7R;GUISDK_D7;BaseD7;Configuracion;Usuarios</Directories>
<Directories Name="Conditionals"></Directories>
<Directories Name="DebugSourceDirs"></Directories>
<Directories Name="UsePackages">True</Directories>
</Directories>
<Parameters>
<Parameters Name="RunParams"></Parameters>
<Parameters Name="HostApplication"></Parameters>
<Parameters Name="Launcher"></Parameters>
<Parameters Name="UseLauncher">False</Parameters>
<Parameters Name="DebugCWD"></Parameters>
<Parameters Name="Debug Symbols Search Path"></Parameters>
<Parameters Name="LoadAllSymbols">True</Parameters>
<Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
</Parameters>
<Language>
<Language Name="ActiveLang"></Language>
<Language Name="ProjectLang">$00000000</Language>
<Language Name="RootDir">C:\Archivos de programa\Borland\Delphi7\Bin\</Language>
</Language>
<VersionInfo>
<VersionInfo Name="IncludeVerInfo">True</VersionInfo>
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
<VersionInfo Name="MajorVer">1</VersionInfo>
<VersionInfo Name="MinorVer">2</VersionInfo>
<VersionInfo Name="Release">0</VersionInfo>
<VersionInfo Name="Build">0</VersionInfo>
<VersionInfo Name="Debug">False</VersionInfo>
<VersionInfo Name="PreRelease">False</VersionInfo>
<VersionInfo Name="Special">False</VersionInfo>
<VersionInfo Name="Private">False</VersionInfo>
<VersionInfo Name="DLL">False</VersionInfo>
<VersionInfo Name="Locale">3082</VersionInfo>
<VersionInfo Name="CodePage">1252</VersionInfo>
</VersionInfo>
<VersionInfoKeys>
<VersionInfoKeys Name="CompanyName">Rodax Software S.L.</VersionInfoKeys>
<VersionInfoKeys Name="FileDescription"></VersionInfoKeys>
<VersionInfoKeys Name="FileVersion">1.2.0.0</VersionInfoKeys>
<VersionInfoKeys Name="InternalName">FactuGES</VersionInfoKeys>
<VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys>
<VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
<VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys>
<VersionInfoKeys Name="ProductName">FactuGES</VersionInfoKeys>
<VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
<VersionInfoKeys Name="Comments"></VersionInfoKeys>
</VersionInfoKeys>
</Delphi.Personality>
<!-- EurekaLog First Line
[Exception Log]
EurekaLog Version=519
Activate=0
Activate Handle=1
Save Log File=1
Foreground Tab=0
Freeze Activate=0
Freeze Timeout=0
Freeze Message=The application seems to be frozen.
SMTP From=eurekalog@email.com
SMTP Host=
SMTP Port=25
SMTP UserID=
SMTP Password=
Append to Log=0
Show TerminateBtn=1
TerminateBtn Operation=1
Errors Number=32
Errors Terminate=3
Email Address=
Email Object=
Email Send Options=0
Output Path=
Encrypt Password=
AutoCloseDialogSecs=0
WebSendMode=0
SupportULR=
HTMLLayout Count=15
HTMLLine0="%3Chtml%3E"
HTMLLine1=" %3Chead%3E"
HTMLLine2=" %3C/head%3E"
HTMLLine3=" %3Cbody TopMargin=10 LeftMargin=10%3E"
HTMLLine4=" %3Ctable width="100%%" border="0"%3E"
HTMLLine5=" %3Ctr%3E"
HTMLLine6=" %3Ctd nowrap%3E"
HTMLLine7=" %3Cfont face="Lucida Console, Courier" size="2"%3E"
HTMLLine8=" %3C%%HTML_TAG%%%3E"
HTMLLine9=" %3C/font%3E"
HTMLLine10=" %3C/td%3E"
HTMLLine11=" %3C/tr%3E"
HTMLLine12=" %3C/table%3E"
HTMLLine13=" %3C/body%3E"
HTMLLine14="%3C/html%3E"
AutoCrashOperation=1
AutoCrashNumber=10
AutoCrashMinutes=1
WebURL=
WebUserID=
WebPassword=
WebPort=0
AttachedFiles=
Count=0
EMail Message Line Count=0
loNoDuplicateErrors=0
loAppendReproduceText=0
loDeleteLogAtVersionChange=0
loAddComputerNameInLogFileName=0
loSaveModulesSection=1
loSaveCPUSection=1
soAppStartDate=1
soAppName=1
soAppVersionNumber=1
soAppParameters=1
soAppCompilationDate=1
soExcDate=1
soExcAddress=1
soExcModule=1
soExcType=1
soExcMessage=1
soActCtlsFormClass=1
soActCtlsFormText=1
soActCtlsControlClass=1
soActCtlsControlText=1
soCmpName=1
soCmpUser=1
soCmpTotalMemory=1
soCmpFreeMemory=1
soCmpTotalDisk=1
soCmpFreeDisk=1
soCmpSysUpTime=1
soCmpProcessor=1
soCmpDisplayMode=1
soOSType=1
soOSBuildN=1
soOSUpdate=1
soOSLanguage=1
soNetIP=1
soNetSubmask=1
soNetGateway=1
soNetDNS1=1
soNetDNS2=1
soNetDHCP=1
sndShowSendDialog=1
sndShowSuccessFailureMsg=0
sndSendEntireLog=0
sndSendXMLLogCopy=0
sndSendScreenshot=0
sndUseOnlyActiveWindow=0
sndSendLastHTMLPage=1
sndSendInSeparatedThread=0
sndAddDateInFileName=0
sndCompressAllFiles=0
edoShowExceptionDialog=1
edoSendEmailChecked=1
edoAttachScreenshotChecked=1
edoShowCopyToClipOption=1
edoShowDetailsButton=1
edoShowInDetailedMode=0
edoShowInTopMostMode=0
edoUseEurekaLogLookAndFeel=1
csoShowDLLs=1
csoShowBPLs=1
csoShowBorlandThreads=1
csoShowWindowsThreads=1
csoShowProcedureOffset=0
boActivateCrashDetection=0
boPauseBorlandThreads=0
boDoNotPauseMainThread=0
boPauseWindowsThreads=0
boUseMainModuleOptions=1
boCopyLogInCaseOfError=1
boSaveCompressedCopyInCaseOfError=0
Count mtInformationMsgCaption=1
mtInformationMsgCaption0="Information."
Count mtQuestionMsgCaption=1
mtQuestionMsgCaption0="Question."
Count mtDialog_Caption=1
mtDialog_Caption0="Error."
Count mtDialog_ErrorMsgCaption=2
mtDialog_ErrorMsgCaption0="An error has occurred during program execution."
mtDialog_ErrorMsgCaption1="Please read the following information for further details."
Count mtDialog_GeneralCaption=1
mtDialog_GeneralCaption0="General"
Count mtDialog_GeneralHeader=1
mtDialog_GeneralHeader0="General Information"
Count mtDialog_CallStackCaption=1
mtDialog_CallStackCaption0="Call Stack"
Count mtDialog_CallStackHeader=1
mtDialog_CallStackHeader0="Call Stack Information"
Count mtDialog_ModulesCaption=1
mtDialog_ModulesCaption0="Modules"
Count mtDialog_ModulesHeader=1
mtDialog_ModulesHeader0="Modules Information"
Count mtDialog_CPUCaption=1
mtDialog_CPUCaption0="CPU"
Count mtDialog_CPUHeader=1
mtDialog_CPUHeader0="CPU Information"
Count mtDialog_CustomDataCaption=1
mtDialog_CustomDataCaption0="Other"
Count mtDialog_CustomDataHeader=1
mtDialog_CustomDataHeader0="Other Information"
Count mtDialog_OKButtonCaption=1
mtDialog_OKButtonCaption0="%26OK"
Count mtDialog_TerminateButtonCaption=1
mtDialog_TerminateButtonCaption0="%26Terminate"
Count mtDialog_RestartButtonCaption=1
mtDialog_RestartButtonCaption0="%26Restart"
Count mtDialog_DetailsButtonCaption=1
mtDialog_DetailsButtonCaption0="%26Details"
Count mtDialog_SendMessage=1
mtDialog_SendMessage0="%26Send this error via Internet"
Count mtDialog_ScreenshotMessage=1
mtDialog_ScreenshotMessage0="%26Attach a Screenshot image"
Count mtDialog_CopyMessage=1
mtDialog_CopyMessage0="%26Copy to Clipboard"
Count mtDialog_SupportMessage=1
mtDialog_SupportMessage0="Go to the Support Page"
Count mtLog_AppHeader=1
mtLog_AppHeader0="Application"
Count mtLog_AppStartDate=1
mtLog_AppStartDate0="Start Date"
Count mtLog_AppName=1
mtLog_AppName0="Name/Description"
Count mtLog_AppVersionNumber=1
mtLog_AppVersionNumber0="Version Number"
Count mtLog_AppParameters=1
mtLog_AppParameters0="Parameters"
Count mtLog_AppCompilationDate=1
mtLog_AppCompilationDate0="Compilation Date"
Count mtLog_ExcHeader=1
mtLog_ExcHeader0="Exception"
Count mtLog_ExcDate=1
mtLog_ExcDate0="Date"
Count mtLog_ExcAddress=1
mtLog_ExcAddress0="Address"
Count mtLog_ExcModule=1
mtLog_ExcModule0="Module"
Count mtLog_ExcType=1
mtLog_ExcType0="Type"
Count mtLog_ExcMessage=1
mtLog_ExcMessage0="Message"
Count mtLog_ActCtrlsHeader=1
mtLog_ActCtrlsHeader0="Active Controls"
Count mtLog_ActCtrlsFormClass=1
mtLog_ActCtrlsFormClass0="Form Class"
Count mtLog_ActCtrlsFormText=1
mtLog_ActCtrlsFormText0="Form Text"
Count mtLog_ActCtrlsControlClass=1
mtLog_ActCtrlsControlClass0="Control Class"
Count mtLog_ActCtrlsControlText=1
mtLog_ActCtrlsControlText0="Control Text"
Count mtLog_CmpHeader=1
mtLog_CmpHeader0="Computer"
Count mtLog_CmpName=1
mtLog_CmpName0="Name"
Count mtLog_CmpUser=1
mtLog_CmpUser0="User"
Count mtLog_CmpTotalMemory=1
mtLog_CmpTotalMemory0="Total Memory"
Count mtLog_CmpFreeMemory=1
mtLog_CmpFreeMemory0="Free Memory"
Count mtLog_CmpTotalDisk=1
mtLog_CmpTotalDisk0="Total Disk"
Count mtLog_CmpFreeDisk=1
mtLog_CmpFreeDisk0="Free Disk"
Count mtLog_CmpSystemUpTime=1
mtLog_CmpSystemUpTime0="System Up Time"
Count mtLog_CmpProcessor=1
mtLog_CmpProcessor0="Processor"
Count mtLog_CmpDisplayMode=1
mtLog_CmpDisplayMode0="Display Mode"
Count mtLog_OSHeader=1
mtLog_OSHeader0="Operating System"
Count mtLog_OSType=1
mtLog_OSType0="Type"
Count mtLog_OSBuildN=1
mtLog_OSBuildN0="Build #"
Count mtLog_OSUpdate=1
mtLog_OSUpdate0="Update"
Count mtLog_OSLanguage=1
mtLog_OSLanguage0="Language"
Count mtLog_NetHeader=1
mtLog_NetHeader0="Network"
Count mtLog_NetIP=1
mtLog_NetIP0="IP Address"
Count mtLog_NetSubmask=1
mtLog_NetSubmask0="Submask"
Count mtLog_NetGateway=1
mtLog_NetGateway0="Gateway"
Count mtLog_NetDNS1=1
mtLog_NetDNS10="DNS 1"
Count mtLog_NetDNS2=1
mtLog_NetDNS20="DNS 2"
Count mtLog_NetDHCP=1
mtLog_NetDHCP0="DHCP"
Count mtLog_CustInfoHeader=1
mtLog_CustInfoHeader0="Custom Information"
Count mtCallStack_Address=1
mtCallStack_Address0="Address"
Count mtCallStack_Name=1
mtCallStack_Name0="Module"
Count mtCallStack_Unit=1
mtCallStack_Unit0="Unit"
Count mtCallStack_Class=1
mtCallStack_Class0="Class"
Count mtCallStack_Procedure=1
mtCallStack_Procedure0="Procedure/Method"
Count mtCallStack_Line=1
mtCallStack_Line0="Line"
Count mtCallStack_MainThread=1
mtCallStack_MainThread0="Main"
Count mtCallStack_ExceptionThread=1
mtCallStack_ExceptionThread0="Exception Thread"
Count mtCallStack_RunningThread=1
mtCallStack_RunningThread0="Running Thread"
Count mtCallStack_CallingThread=1
mtCallStack_CallingThread0="Calling Thread"
Count mtCallStack_ThreadID=1
mtCallStack_ThreadID0="ID"
Count mtCallStack_ThreadPriority=1
mtCallStack_ThreadPriority0="Priority"
Count mtCallStack_ThreadClass=1
mtCallStack_ThreadClass0="Class"
Count mtSendDialog_Caption=1
mtSendDialog_Caption0="Send."
Count mtSendDialog_Message=1
mtSendDialog_Message0="Message"
Count mtSendDialog_Resolving=1
mtSendDialog_Resolving0="Resolving DNS..."
Count mtSendDialog_Connecting=1
mtSendDialog_Connecting0="Connecting with server..."
Count mtSendDialog_Connected=1
mtSendDialog_Connected0="Connected with server."
Count mtSendDialog_Sending=1
mtSendDialog_Sending0="Sending message..."
Count mtReproduceDialog_Caption=1
mtReproduceDialog_Caption0="Request"
Count mtReproduceDialog_Request=1
mtReproduceDialog_Request0="Please describe the steps to reproduce the error:"
Count mtReproduceDialog_OKButtonCaption=1
mtReproduceDialog_OKButtonCaption0="%26OK"
Count mtModules_Handle=1
mtModules_Handle0="Handle"
Count mtModules_Name=1
mtModules_Name0="Name"
Count mtModules_Description=1
mtModules_Description0="Description"
Count mtModules_Version=1
mtModules_Version0="Version"
Count mtModules_Size=1
mtModules_Size0="Size"
Count mtModules_LastModified=1
mtModules_LastModified0="Modified"
Count mtModules_Path=1
mtModules_Path0="Path"
Count mtCPU_Registers=1
mtCPU_Registers0="Registers"
Count mtCPU_Stack=1
mtCPU_Stack0="Stack"
Count mtCPU_MemoryDump=1
mtCPU_MemoryDump0="Memory Dump"
Count mtSend_SuccessMsg=1
mtSend_SuccessMsg0="The message was sent successfully."
Count mtSend_FailureMsg=1
mtSend_FailureMsg0="Sorry, sending the message didn't work."
EurekaLog Last Line -->
</BorlandProject>

46
Cliente/FactuGES.cfg Normal file
View File

@ -0,0 +1,46 @@
-$A8
-$B-
-$C+
-$D+
-$E-
-$F-
-$G+
-$H+
-$I+
-$J-
-$K-
-$L+
-$M-
-$N+
-$O+
-$P+
-$Q-
-$R-
-$S-
-$T-
-$U-
-$V+
-$W-
-$X+
-$YD
-$Z1
-GD
-cg
-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
-H+
-W+
-M
-$M16384,1048576
-K$00400000
-E"..\Output\Cliente"
-N".\"
-LE"c:\archivos de programa\borland\delphi7\Projects\Bpl"
-LN"c:\archivos de programa\borland\delphi7\Projects\Bpl"
-U"c:\archivos de programa\borland\delphi7\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Base;..\Configuracion;..\Usuarios;..\Modulos\Intervalos;..\Modulos\Documentos asociados;..\Modulos\Contactos\Cliente;..\Modulos\Contactos\Reglas;..\Modulos\Presupuestos\Cliente;..\Modulos\Presupuestos\Reglas;..\Modulos\Albaranes de cliente\Cliente;..\Modulos\Albaranes de cliente\Reglas;..\Modulos\Facturas de cliente\Cliente;..\Modulos\Facturas de cliente\Reglas;..\Modulos\Pedidos a proveedor\Cliente;..\Modulos\Pedidos a proveedor\Reglas;..\Modulos\Facturas de proveedor\Cliente;..\Modulos\Facturas de proveedor\Reglas;..\Modulos\Montajes\Reglas;..\Modulos\Montajes\Cliente;..\Modulos\Articulos\Cliente;..\Modulos\Articulos\Reglas;..\Modulos\Almacenes\Reglas;..\Modulos\Almacenes\Cliente;..\Modulos\Pagos\Reglas;..\Modulos\Pagos\Cliente;..\Modulos\Cuentas\Reglas;..\Modulos\Cuentas\Cliente;..\Modulos\Asientos\Reglas;..\Modulos\Asientos\Cliente;..\Modulos\Calendarios\Cliente;..\Modulos\Calendarios\Reglas"
-O"c:\archivos de programa\borland\delphi7\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Base;..\Configuracion;..\Usuarios;..\Modulos\Intervalos;..\Modulos\Documentos asociados;..\Modulos\Contactos\Cliente;..\Modulos\Contactos\Reglas;..\Modulos\Presupuestos\Cliente;..\Modulos\Presupuestos\Reglas;..\Modulos\Albaranes de cliente\Cliente;..\Modulos\Albaranes de cliente\Reglas;..\Modulos\Facturas de cliente\Cliente;..\Modulos\Facturas de cliente\Reglas;..\Modulos\Pedidos a proveedor\Cliente;..\Modulos\Pedidos a proveedor\Reglas;..\Modulos\Facturas de proveedor\Cliente;..\Modulos\Facturas de proveedor\Reglas;..\Modulos\Montajes\Reglas;..\Modulos\Montajes\Cliente;..\Modulos\Articulos\Cliente;..\Modulos\Articulos\Reglas;..\Modulos\Almacenes\Reglas;..\Modulos\Almacenes\Cliente;..\Modulos\Pagos\Reglas;..\Modulos\Pagos\Cliente;..\Modulos\Cuentas\Reglas;..\Modulos\Cuentas\Cliente;..\Modulos\Asientos\Reglas;..\Modulos\Asientos\Cliente;..\Modulos\Calendarios\Cliente;..\Modulos\Calendarios\Reglas"
-I"c:\archivos de programa\borland\delphi7\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Base;..\Configuracion;..\Usuarios;..\Modulos\Intervalos;..\Modulos\Documentos asociados;..\Modulos\Contactos\Cliente;..\Modulos\Contactos\Reglas;..\Modulos\Presupuestos\Cliente;..\Modulos\Presupuestos\Reglas;..\Modulos\Albaranes de cliente\Cliente;..\Modulos\Albaranes de cliente\Reglas;..\Modulos\Facturas de cliente\Cliente;..\Modulos\Facturas de cliente\Reglas;..\Modulos\Pedidos a proveedor\Cliente;..\Modulos\Pedidos a proveedor\Reglas;..\Modulos\Facturas de proveedor\Cliente;..\Modulos\Facturas de proveedor\Reglas;..\Modulos\Montajes\Reglas;..\Modulos\Montajes\Cliente;..\Modulos\Articulos\Cliente;..\Modulos\Articulos\Reglas;..\Modulos\Almacenes\Reglas;..\Modulos\Almacenes\Cliente;..\Modulos\Pagos\Reglas;..\Modulos\Pagos\Cliente;..\Modulos\Cuentas\Reglas;..\Modulos\Cuentas\Cliente;..\Modulos\Asientos\Reglas;..\Modulos\Asientos\Cliente;..\Modulos\Calendarios\Cliente;..\Modulos\Calendarios\Reglas"
-R"c:\archivos de programa\borland\delphi7\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Base;..\Configuracion;..\Usuarios;..\Modulos\Intervalos;..\Modulos\Documentos asociados;..\Modulos\Contactos\Cliente;..\Modulos\Contactos\Reglas;..\Modulos\Presupuestos\Cliente;..\Modulos\Presupuestos\Reglas;..\Modulos\Albaranes de cliente\Cliente;..\Modulos\Albaranes de cliente\Reglas;..\Modulos\Facturas de cliente\Cliente;..\Modulos\Facturas de cliente\Reglas;..\Modulos\Pedidos a proveedor\Cliente;..\Modulos\Pedidos a proveedor\Reglas;..\Modulos\Facturas de proveedor\Cliente;..\Modulos\Facturas de proveedor\Reglas;..\Modulos\Montajes\Reglas;..\Modulos\Montajes\Cliente;..\Modulos\Articulos\Cliente;..\Modulos\Articulos\Reglas;..\Modulos\Almacenes\Reglas;..\Modulos\Almacenes\Cliente;..\Modulos\Pagos\Reglas;..\Modulos\Pagos\Cliente;..\Modulos\Cuentas\Reglas;..\Modulos\Cuentas\Cliente;..\Modulos\Asientos\Reglas;..\Modulos\Asientos\Cliente;..\Modulos\Calendarios\Cliente;..\Modulos\Calendarios\Reglas"
-LUPluginSDK_D7R;GUISDK_D7;BaseD7;Configuracion;Usuarios
-w-UNSAFE_TYPE
-w-UNSAFE_CODE
-w-UNSAFE_CAST

522
Cliente/FactuGES.dof Normal file
View File

@ -0,0 +1,522 @@
[FileVersion]
Version=7.0
[Compiler]
A=8
B=0
C=1
D=1
E=0
F=0
G=1
H=1
I=1
J=0
K=0
L=1
M=0
N=1
O=1
P=1
Q=0
R=0
S=0
T=0
U=0
V=1
W=0
X=1
Y=1
Z=1
ShowHints=1
ShowWarnings=1
UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
NamespacePrefix=
SymbolDeprecated=1
SymbolLibrary=1
SymbolPlatform=1
UnitLibrary=1
UnitPlatform=1
UnitDeprecated=1
HResultCompat=1
HidingMember=1
HiddenVirtual=1
Garbage=1
BoundsError=1
ZeroNilCompat=1
StringConstTruncated=1
ForLoopVarVarPar=1
TypedConstVarPar=1
AsgToTypedConst=1
CaseLabelRange=1
ForVariable=1
ConstructingAbstract=1
ComparisonFalse=1
ComparisonTrue=1
ComparingSignedUnsigned=1
CombiningSignedUnsigned=1
UnsupportedConstruct=1
FileOpen=1
FileOpenUnitSrc=1
BadGlobalSymbol=1
DuplicateConstructorDestructor=1
InvalidDirective=1
PackageNoLink=1
PackageThreadVar=1
ImplicitImport=1
HPPEMITIgnored=1
NoRetVal=1
UseBeforeDef=1
ForLoopVarUndef=1
UnitNameMismatch=1
NoCFGFileFound=1
MessageDirective=1
ImplicitVariants=1
UnicodeToLocale=1
LocaleToUnicode=1
ImagebaseMultiple=1
SuspiciousTypecast=1
PrivatePropAccessor=1
UnsafeType=0
UnsafeCode=0
UnsafeCast=0
[Linker]
MapFile=3
OutputObjs=0
ConsoleApp=1
DebugInfo=0
RemoteSymbols=0
MinStackSize=16384
MaxStackSize=1048576
ImageBase=4194304
ExeDescription=
[Directories]
OutputDir=..\Output\Cliente
UnitOutputDir=.\
PackageDLLOutputDir=
PackageDCPOutputDir=
SearchPath=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Base;..\Configuracion;..\Usuarios;..\Modulos\Intervalos;..\Modulos\Documentos asociados;..\Modulos\Contactos\Cliente;..\Modulos\Contactos\Reglas;..\Modulos\Presupuestos\Cliente;..\Modulos\Presupuestos\Reglas;..\Modulos\Albaranes de cliente\Cliente;..\Modulos\Albaranes de cliente\Reglas;..\Modulos\Facturas de cliente\Cliente;..\Modulos\Facturas de cliente\Reglas;..\Modulos\Pedidos a proveedor\Cliente;..\Modulos\Pedidos a proveedor\Reglas;..\Modulos\Facturas de proveedor\Cliente;..\Modulos\Facturas de proveedor\Reglas;..\Modulos\Montajes\Reglas;..\Modulos\Montajes\Cliente;..\Modulos\Articulos\Cliente;..\Modulos\Articulos\Reglas;..\Modulos\Almacenes\Reglas;..\Modulos\Almacenes\Cliente;..\Modulos\Pagos\Reglas;..\Modulos\Pagos\Cliente;..\Modulos\Cuentas\Reglas;..\Modulos\Cuentas\Cliente;..\Modulos\Asientos\Reglas;..\Modulos\Asientos\Cliente;..\Modulos\Calendarios\Cliente;..\Modulos\Calendarios\Reglas
Packages=PluginSDK_D7R;GUISDK_D7;BaseD7;Configuracion;Usuarios
Conditionals=
DebugSourceDirs=
UsePackages=1
[Parameters]
RunParams=
HostApplication=
Launcher=
UseLauncher=0
DebugCWD=
[Language]
ActiveLang=
ProjectLang=
RootDir=C:\Archivos de programa\Borland\Delphi7\Bin\
[Version Info]
IncludeVerInfo=1
AutoIncBuild=0
MajorVer=1
MinorVer=4
Release=0
Build=0
Debug=0
PreRelease=0
Special=0
Private=0
DLL=0
Locale=3082
CodePage=1252
[Version Info Keys]
CompanyName=Rodax Software S.L.
FileDescription=
FileVersion=1.4.0.0
InternalName=FactuGES
LegalCopyright=
LegalTrademarks=
OriginalFilename=
ProductName=FactuGES
ProductVersion=1.0.0.0
Comments=
[Excluded Packages]
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxTreeListVCLD7.bpl=ExpressQuantumTreeList 4 (VCL Edition) by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxThemeD7.bpl=Express XP Theme Manager by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxLibraryVCLD7.bpl=Express Cross Platform Library (VCL Edition) by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxExportVCLD7.bpl=Express Cross Platform Export Library (VCL Edition) by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxEditorsVCLD7.bpl=ExpressEditors Library 5 (VCL Edition) by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxDataD7.bpl=ExpressDataController by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxExtEditorsVCLD7.bpl=ExpressExtendedEditors Library 5 (VCL Edition) by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxGridVCLD7.bpl=ExpressQuantumGrid 5 (VCL Edition) by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxPageControlVCLD7.bpl=Express Cross Platform PageControl (VCL Edition) by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxSchedulerVCLD7.bpl=ExpressScheduler 2 (VCL Edition) by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxsbD7.bpl=ExpressSideBar by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxComnD7.bpl=ExpressCommonLibrary by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxBarD7.bpl=ExpressBars by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxBarDBNavD7.bpl=ExpressBars DBNavigator by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxBarExtDBItemsD7.bpl=ExpressBars extended DB items by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxBarExtItemsD7.bpl=ExpressBars extended items by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxDockingD7.bpl=ExpressDocking Library by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxLayoutControlD7.bpl=ExpressLayout Control by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxNavBarD7.bpl=ExpressNavBar by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxGDIPlusD7.bpl=ExpressGDI+ Library by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxPSCoreD7.bpl=ExpressPrinting System by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxVerticalGridVCLD7.bpl=ExpressVerticalGrid (VCL Edition) by Developer Express Inc.
C:\Archivos de programa\Clever Components\Database Comparer\Delphi 7\Lib\ComparerD7.bpl=Database Comparer VCL
C:\Archivos de programa\Clever Components\Database Comparer\Delphi 7\Lib\ComparerBdeD7.bpl=Database Comparer VCL BDE
C:\Archivos de programa\Clever Components\Database Comparer\Delphi 7\Lib\ComparerDBXD7.bpl=Database Comparer VCL DBX
C:\Archivos de programa\Clever Components\Database Comparer\Delphi 7\Lib\ComparerIbxD7.bpl=Database Comparer VCL IBX
C:\Archivos de programa\Clever Components\Database Comparer\Delphi 7\Lib\ComparerAdoD7.bpl=Database Comparer VCL ADO
C:\WINDOWS\system32\dclShX_Namespace_V3D7.bpl=(untitled)
C:\WINDOWS\system32\vclShX_Namespace_v3D7.bpl=(untitled)
[HistoryLists\hlDebugSourcePath]
Count=1
Item0=D:\Proyectos\Componentes\GUISDK\Sources\;D:\Proyectos\Componentes\PluginSDK\Source\;D:\Proyectos\FactuGES (Estudio)\Codigo\Modulos\Contactos\Cliente;D:\Proyectos\FactuGES (Estudio)\Codigo\Modulos\Contactos\Reglas
[HistoryLists\hlUnitAliases]
Count=1
Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
[HistoryLists\hlSearchPath]
Count=16
Item0=..\Modulos\Presupuestos\Reglas;..\Modulos\Contactos\Reglas;..\Base;..\Configuracion;..\Usuarios;..\Modulos\Albaranes de cliente\Reglas
Item1=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Base;..\Configuracion;..\Usuarios;..\Modulos\Intervalos;..\Modulos\Documentos asociados;..\Modulos\Contactos\Cliente;..\Modulos\Contactos\Reglas;..\Modulos\Presupuestos\Cliente;..\Modulos\Presupuestos\Reglas;..\Modulos\Albaranes de cliente\Cliente;..\Modulos\Albaranes de cliente\Reglas;..\Modulos\Facturas de cliente\Cliente;..\Modulos\Facturas de cliente\Reglas;..\Modulos\Pedidos a proveedor\Cliente;..\Modulos\Pedidos a proveedor\Reglas;..\Modulos\Facturas de proveedor\Cliente;..\Modulos\Facturas de proveedor\Reglas;..\Modulos\Montajes\Reglas;..\Modulos\Montajes\Cliente;..\Modulos\Articulos\Cliente;..\Modulos\Articulos\Reglas;..\Modulos\Almacenes\Reglas;..\Modulos\Almacenes\Cliente;..\Modulos\Pagos\Reglas;..\Modulos\Pagos\Cliente;..\Modulos\Cuentas\Reglas;..\Modulos\Cuentas\Cliente;..\Modulos\Asientos\Reglas;..\Modulos\Asientos\Cliente;..\Modulos\Calendarios\Cliente;..\Modulos\Calendarios\Reglas
Item2=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\Presupuestos\Cliente;..\..\..\Usuarios;..\..\Albaranes de cliente\Cliente;..\..\Documentos asociados;..\..\Pagos\Cliente;..\..\Intervalos\Cliente;..\..\Asientos\Cliente;..\..\Cuentas\Cliente
Item3=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\Presupuestos\Cliente;..\..\..\Usuarios;..\..\Albaranes de cliente\Cliente;..\..\Documentos asociados;..\..\Pagos\Cliente;..\..\Intervalos\Cliente;..\..\Asientos\Cliente
Item4=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\Presupuestos\Cliente;..\..\..\Usuarios;..\..\Albaranes de cliente\Cliente;..\..\Documentos asociados;..\..\Pagos\Cliente;..\..\Intervalos\Cliente
Item5=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\Presupuestos\Cliente;..\..\..\Usuarios;..\..\Albaranes de cliente\Cliente;..\..\Documentos asociados;..\..\Pagos\Cliente
Item6=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\..\Usuarios;..\..\Montajes\Cliente;..\..\Documentos asociados;..\..\Contactos\Cliente;..\..\Almacenes\Cliente
Item7=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\..\Usuarios;..\..\Documentos asociados
Item8=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\..\Usuarios;..\..\Montajes\Cliente;..\..\Documentos asociados;..\..\Contactos\Cliente
Item9=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\..\Usuarios;..\..\Montajes\Cliente;..\..\Documentos asociados
Item10=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\..\Usuarios;..\..\Montajes\Cliente
Item11=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\..\Usuarios;..\..\Documentos asociados;..\..\Montajes\Cliente;..\..\Almacenes\Cliente
Item12=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\..\Usuarios;..\..\Documentos asociados;..\..\Montajes\Cliente
Item13=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Servidor
Item14=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\base;..\Modulos\Calendarios\Cliente;..\Modulos\Calendarios\Reglas
Item15=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\Base;..\..\Servidor;..\..\Contactos\Cliente;..\..\..\Usuarios
[HistoryLists\hlUnitOutputDirectory]
Count=1
Item0=.\
[HistoryLists\hlOutputDirectorry]
Count=2
Item0=..\Output\Servidor
Item1=..\Output\Cliente
[HistoryLists\hlBPLOutput]
Count=3
Item0=..\..\..\Output\Cliente
Item1=..\Output\Cliente
Item2=..\..\Output\Cliente
[HistoryLists\hlDCPOutput]
Count=1
Item0=.\
[Exception Log]
EurekaLog Version=519
Activate=0
Activate Handle=1
Save Log File=1
Foreground Tab=0
Freeze Activate=0
Freeze Timeout=0
Freeze Message=The application seems to be frozen.
SMTP From=eurekalog@email.com
SMTP Host=
SMTP Port=25
SMTP UserID=
SMTP Password=
Append to Log=0
Show TerminateBtn=1
TerminateBtn Operation=1
Errors Number=32
Errors Terminate=3
Email Address=
Email Object=
Email Send Options=0
Output Path=
Encrypt Password=
AutoCloseDialogSecs=0
WebSendMode=0
SupportULR=
HTMLLayout Count=15
HTMLLine0="%3Chtml%3E"
HTMLLine1=" %3Chead%3E"
HTMLLine2=" %3C/head%3E"
HTMLLine3=" %3Cbody TopMargin=10 LeftMargin=10%3E"
HTMLLine4=" %3Ctable width="100%%" border="0"%3E"
HTMLLine5=" %3Ctr%3E"
HTMLLine6=" %3Ctd nowrap%3E"
HTMLLine7=" %3Cfont face="Lucida Console, Courier" size="2"%3E"
HTMLLine8=" %3C%%HTML_TAG%%%3E"
HTMLLine9=" %3C/font%3E"
HTMLLine10=" %3C/td%3E"
HTMLLine11=" %3C/tr%3E"
HTMLLine12=" %3C/table%3E"
HTMLLine13=" %3C/body%3E"
HTMLLine14="%3C/html%3E"
AutoCrashOperation=1
AutoCrashNumber=10
AutoCrashMinutes=1
WebURL=
WebUserID=
WebPassword=
WebPort=0
AttachedFiles=
Count=0
EMail Message Line Count=0
loNoDuplicateErrors=0
loAppendReproduceText=0
loDeleteLogAtVersionChange=0
loAddComputerNameInLogFileName=0
loSaveModulesSection=1
loSaveCPUSection=1
soAppStartDate=1
soAppName=1
soAppVersionNumber=1
soAppParameters=1
soAppCompilationDate=1
soExcDate=1
soExcAddress=1
soExcModule=1
soExcType=1
soExcMessage=1
soActCtlsFormClass=1
soActCtlsFormText=1
soActCtlsControlClass=1
soActCtlsControlText=1
soCmpName=1
soCmpUser=1
soCmpTotalMemory=1
soCmpFreeMemory=1
soCmpTotalDisk=1
soCmpFreeDisk=1
soCmpSysUpTime=1
soCmpProcessor=1
soCmpDisplayMode=1
soOSType=1
soOSBuildN=1
soOSUpdate=1
soOSLanguage=1
soNetIP=1
soNetSubmask=1
soNetGateway=1
soNetDNS1=1
soNetDNS2=1
soNetDHCP=1
sndShowSendDialog=1
sndShowSuccessFailureMsg=0
sndSendEntireLog=0
sndSendXMLLogCopy=0
sndSendScreenshot=0
sndUseOnlyActiveWindow=0
sndSendLastHTMLPage=1
sndSendInSeparatedThread=0
sndAddDateInFileName=0
sndCompressAllFiles=0
edoShowExceptionDialog=1
edoSendEmailChecked=1
edoAttachScreenshotChecked=1
edoShowCopyToClipOption=1
edoShowDetailsButton=1
edoShowInDetailedMode=0
edoShowInTopMostMode=0
edoUseEurekaLogLookAndFeel=1
csoShowDLLs=1
csoShowBPLs=1
csoShowBorlandThreads=1
csoShowWindowsThreads=1
csoShowProcedureOffset=0
boActivateCrashDetection=0
boPauseBorlandThreads=0
boDoNotPauseMainThread=0
boPauseWindowsThreads=0
boUseMainModuleOptions=1
boCopyLogInCaseOfError=1
boSaveCompressedCopyInCaseOfError=0
Count mtInformationMsgCaption=1
mtInformationMsgCaption0="Information."
Count mtQuestionMsgCaption=1
mtQuestionMsgCaption0="Question."
Count mtDialog_Caption=1
mtDialog_Caption0="Error."
Count mtDialog_ErrorMsgCaption=2
mtDialog_ErrorMsgCaption0="An error has occurred during program execution."
mtDialog_ErrorMsgCaption1="Please read the following information for further details."
Count mtDialog_GeneralCaption=1
mtDialog_GeneralCaption0="General"
Count mtDialog_GeneralHeader=1
mtDialog_GeneralHeader0="General Information"
Count mtDialog_CallStackCaption=1
mtDialog_CallStackCaption0="Call Stack"
Count mtDialog_CallStackHeader=1
mtDialog_CallStackHeader0="Call Stack Information"
Count mtDialog_ModulesCaption=1
mtDialog_ModulesCaption0="Modules"
Count mtDialog_ModulesHeader=1
mtDialog_ModulesHeader0="Modules Information"
Count mtDialog_CPUCaption=1
mtDialog_CPUCaption0="CPU"
Count mtDialog_CPUHeader=1
mtDialog_CPUHeader0="CPU Information"
Count mtDialog_CustomDataCaption=1
mtDialog_CustomDataCaption0="Other"
Count mtDialog_CustomDataHeader=1
mtDialog_CustomDataHeader0="Other Information"
Count mtDialog_OKButtonCaption=1
mtDialog_OKButtonCaption0="%26OK"
Count mtDialog_TerminateButtonCaption=1
mtDialog_TerminateButtonCaption0="%26Terminate"
Count mtDialog_RestartButtonCaption=1
mtDialog_RestartButtonCaption0="%26Restart"
Count mtDialog_DetailsButtonCaption=1
mtDialog_DetailsButtonCaption0="%26Details"
Count mtDialog_SendMessage=1
mtDialog_SendMessage0="%26Send this error via Internet"
Count mtDialog_ScreenshotMessage=1
mtDialog_ScreenshotMessage0="%26Attach a Screenshot image"
Count mtDialog_CopyMessage=1
mtDialog_CopyMessage0="%26Copy to Clipboard"
Count mtDialog_SupportMessage=1
mtDialog_SupportMessage0="Go to the Support Page"
Count mtLog_AppHeader=1
mtLog_AppHeader0="Application"
Count mtLog_AppStartDate=1
mtLog_AppStartDate0="Start Date"
Count mtLog_AppName=1
mtLog_AppName0="Name/Description"
Count mtLog_AppVersionNumber=1
mtLog_AppVersionNumber0="Version Number"
Count mtLog_AppParameters=1
mtLog_AppParameters0="Parameters"
Count mtLog_AppCompilationDate=1
mtLog_AppCompilationDate0="Compilation Date"
Count mtLog_ExcHeader=1
mtLog_ExcHeader0="Exception"
Count mtLog_ExcDate=1
mtLog_ExcDate0="Date"
Count mtLog_ExcAddress=1
mtLog_ExcAddress0="Address"
Count mtLog_ExcModule=1
mtLog_ExcModule0="Module"
Count mtLog_ExcType=1
mtLog_ExcType0="Type"
Count mtLog_ExcMessage=1
mtLog_ExcMessage0="Message"
Count mtLog_ActCtrlsHeader=1
mtLog_ActCtrlsHeader0="Active Controls"
Count mtLog_ActCtrlsFormClass=1
mtLog_ActCtrlsFormClass0="Form Class"
Count mtLog_ActCtrlsFormText=1
mtLog_ActCtrlsFormText0="Form Text"
Count mtLog_ActCtrlsControlClass=1
mtLog_ActCtrlsControlClass0="Control Class"
Count mtLog_ActCtrlsControlText=1
mtLog_ActCtrlsControlText0="Control Text"
Count mtLog_CmpHeader=1
mtLog_CmpHeader0="Computer"
Count mtLog_CmpName=1
mtLog_CmpName0="Name"
Count mtLog_CmpUser=1
mtLog_CmpUser0="User"
Count mtLog_CmpTotalMemory=1
mtLog_CmpTotalMemory0="Total Memory"
Count mtLog_CmpFreeMemory=1
mtLog_CmpFreeMemory0="Free Memory"
Count mtLog_CmpTotalDisk=1
mtLog_CmpTotalDisk0="Total Disk"
Count mtLog_CmpFreeDisk=1
mtLog_CmpFreeDisk0="Free Disk"
Count mtLog_CmpSystemUpTime=1
mtLog_CmpSystemUpTime0="System Up Time"
Count mtLog_CmpProcessor=1
mtLog_CmpProcessor0="Processor"
Count mtLog_CmpDisplayMode=1
mtLog_CmpDisplayMode0="Display Mode"
Count mtLog_OSHeader=1
mtLog_OSHeader0="Operating System"
Count mtLog_OSType=1
mtLog_OSType0="Type"
Count mtLog_OSBuildN=1
mtLog_OSBuildN0="Build #"
Count mtLog_OSUpdate=1
mtLog_OSUpdate0="Update"
Count mtLog_OSLanguage=1
mtLog_OSLanguage0="Language"
Count mtLog_NetHeader=1
mtLog_NetHeader0="Network"
Count mtLog_NetIP=1
mtLog_NetIP0="IP Address"
Count mtLog_NetSubmask=1
mtLog_NetSubmask0="Submask"
Count mtLog_NetGateway=1
mtLog_NetGateway0="Gateway"
Count mtLog_NetDNS1=1
mtLog_NetDNS10="DNS 1"
Count mtLog_NetDNS2=1
mtLog_NetDNS20="DNS 2"
Count mtLog_NetDHCP=1
mtLog_NetDHCP0="DHCP"
Count mtLog_CustInfoHeader=1
mtLog_CustInfoHeader0="Custom Information"
Count mtCallStack_Address=1
mtCallStack_Address0="Address"
Count mtCallStack_Name=1
mtCallStack_Name0="Module"
Count mtCallStack_Unit=1
mtCallStack_Unit0="Unit"
Count mtCallStack_Class=1
mtCallStack_Class0="Class"
Count mtCallStack_Procedure=1
mtCallStack_Procedure0="Procedure/Method"
Count mtCallStack_Line=1
mtCallStack_Line0="Line"
Count mtCallStack_MainThread=1
mtCallStack_MainThread0="Main"
Count mtCallStack_ExceptionThread=1
mtCallStack_ExceptionThread0="Exception Thread"
Count mtCallStack_RunningThread=1
mtCallStack_RunningThread0="Running Thread"
Count mtCallStack_CallingThread=1
mtCallStack_CallingThread0="Calling Thread"
Count mtCallStack_ThreadID=1
mtCallStack_ThreadID0="ID"
Count mtCallStack_ThreadPriority=1
mtCallStack_ThreadPriority0="Priority"
Count mtCallStack_ThreadClass=1
mtCallStack_ThreadClass0="Class"
Count mtSendDialog_Caption=1
mtSendDialog_Caption0="Send."
Count mtSendDialog_Message=1
mtSendDialog_Message0="Message"
Count mtSendDialog_Resolving=1
mtSendDialog_Resolving0="Resolving DNS..."
Count mtSendDialog_Connecting=1
mtSendDialog_Connecting0="Connecting with server..."
Count mtSendDialog_Connected=1
mtSendDialog_Connected0="Connected with server."
Count mtSendDialog_Sending=1
mtSendDialog_Sending0="Sending message..."
Count mtReproduceDialog_Caption=1
mtReproduceDialog_Caption0="Request"
Count mtReproduceDialog_Request=1
mtReproduceDialog_Request0="Please describe the steps to reproduce the error:"
Count mtReproduceDialog_OKButtonCaption=1
mtReproduceDialog_OKButtonCaption0="%26OK"
Count mtModules_Handle=1
mtModules_Handle0="Handle"
Count mtModules_Name=1
mtModules_Name0="Name"
Count mtModules_Description=1
mtModules_Description0="Description"
Count mtModules_Version=1
mtModules_Version0="Version"
Count mtModules_Size=1
mtModules_Size0="Size"
Count mtModules_LastModified=1
mtModules_LastModified0="Modified"
Count mtModules_Path=1
mtModules_Path0="Path"
Count mtCPU_Registers=1
mtCPU_Registers0="Registers"
Count mtCPU_Stack=1
mtCPU_Stack0="Stack"
Count mtCPU_MemoryDump=1
mtCPU_MemoryDump0="Memory Dump"
Count mtSend_SuccessMsg=1
mtSend_SuccessMsg0="The message was sent successfully."
Count mtSend_FailureMsg=1
mtSend_FailureMsg0="Sorry, sending the message didn't work."

24
Cliente/FactuGES.dpr Normal file
View File

@ -0,0 +1,24 @@
program FactuGES;
uses
Forms,
uLoginForm,
uPantallaPrincipal in 'uPantallaPrincipal.pas' {fPantallaPrincipal},
uMenuUtils in 'uMenuUtils.pas',
uSplash in 'uSplash.pas' {SplashScreen},
uAcercaDe in 'uAcercaDe.pas' {fAcercaDe},
schPresupuestosClient_Intf in '..\Modulos\Presupuestos\Reglas\schPresupuestosClient_Intf.pas',
schPresupuestosServer_Intf in '..\Modulos\Presupuestos\Reglas\schPresupuestosServer_Intf.pas';
{$R *.res}
begin
Application.Initialize;
Application.Title := 'FactuGES';
Application.CreateForm(TfPantallaPrincipal, fPantallaPrincipal);
Application.CreateForm(TfAcercaDe, fAcercaDe);
Application.Run;
Application.Terminate;
end.

14
Cliente/FactuGES.drc Normal file
View File

@ -0,0 +1,14 @@
/* VER150
Generated by the Borland Delphi Pascal Compiler
because -GD or --drc was supplied to the compiler.
This file contains compiler-generated resources that
were bound to the executable.
If this file is empty, then no compiler-generated
resources were bound to the produced executable.
*/
STRINGTABLE
BEGIN
END

BIN
Cliente/FactuGES.res Normal file

Binary file not shown.

10
Cliente/PluginSDK_D7R.drc Normal file
View File

@ -0,0 +1,10 @@
/* VER150
Generated by the Borland Delphi Pascal Compiler
because -GD or --drc was supplied to the compiler.
This file contains compiler-generated resources that
were bound to the executable.
If this file is empty, then no compiler-generated
resources were bound to the produced executable.
*/

1090
Cliente/uAcercaDe.dfm Normal file

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More