diff --git a/Database/FACTUGES.FDB b/Database/FACTUGES.FDB
index af8ce708..b68cf4e9 100644
Binary files a/Database/FACTUGES.FDB and b/Database/FACTUGES.FDB differ
diff --git a/Database/scripts/factuges.sql b/Database/scripts/factuges.sql
index 1ec82639..ff540a6c 100644
--- a/Database/scripts/factuges.sql
+++ b/Database/scripts/factuges.sql
@@ -6,8 +6,7 @@ SET SQL DIALECT 3;
SET NAMES ISO8859_1;
-CREATE DATABASE 'FACTUGES.FDB'
-PAGE_SIZE 4096
+CREATE DATABASE 'FACTUGES.FDB' PAGE_SIZE 4096
DEFAULT CHARACTER SET ISO8859_1;
@@ -144,9 +143,6 @@ SET GENERATOR GEN_FORMAS_PAGO_ID TO 1;
CREATE GENERATOR GEN_FORMAS_PAGO_PLAZOS_ID;
SET GENERATOR GEN_FORMAS_PAGO_PLAZOS_ID TO 1;
-CREATE GENERATOR GEN_F_PERFILES_ID;
-SET GENERATOR GEN_F_PERFILES_ID TO 1;
-
CREATE GENERATOR GEN_INFORMES_ID;
SET GENERATOR GEN_INFORMES_ID TO 1;
@@ -204,260 +200,32 @@ SET GENERATOR GEN_USUARIOS_ID TO 1;
CREATE GENERATOR GEN_UNIDADES_MEDIDA_ID;
SET GENERATOR GEN_UNIDADES_MEDIDA_ID TO 1;
+CREATE GENERATOR GEN_CLIENTES_GRUPOS_ID;
+SET GENERATOR GEN_CLIENTES_GRUPOS_ID TO 1;
-SET TERM ^ ;
+CREATE GENERATOR GEN_PROVEEDORES_GRUPOS_ID;
+SET GENERATOR GEN_PROVEEDORES_GRUPOS_ID TO 1;
+CREATE GENERATOR GEN_EMPLEADOS_GRUPOS_ID;
+SET GENERATOR GEN_EMPLEADOS_GRUPOS_ID TO 1;
+CREATE GENERATOR GEN_CONFIGURACION_ID;
+SET GENERATOR GEN_CONFIGURACION_ID TO 1;
-/******************************************************************************/
-/**** Stored Procedures ****/
-/******************************************************************************/
+CREATE GENERATOR GEN_FAMILIAS_ID;
+SET GENERATOR GEN_FAMILIAS_ID TO 1;
-SET TERM ^ ;
+CREATE GENERATOR GEN_EMPRESAS_CONTACTOS_ID;
+SET GENERATOR GEN_EMPRESAS_CONTACTOS_ID TO 1;
-CREATE PROCEDURE PRO_PRES_CAPITULOS (
- aid integer)
-returns (
- id integer,
- id_presupuesto integer,
- posicion integer,
- tipo_detalle varchar(10),
- concepto varchar(2000),
- importe_total numeric(11,2),
- visible smallint)
-as
-declare variable num_filas integer;
-declare variable contador integer;
-declare variable existe numeric(11,2);
-declare variable total_acumulado numeric(11,2);
-begin
- existe = 0;
- total_acumulado = 0.0;
- contador = 0;
- num_filas = 0;
+CREATE GENERATOR GEN_EMPRESAS_USUARIOS_ID;
+SET GENERATOR GEN_EMPRESAS_USUARIOS_ID TO 1;
- /* ¿Existe el presupuesto? */
- for select count(*)
- from presupuestos_cliente_detalles
- where id_presupuesto = :AID
- into :num_filas
- do
- begin
- if (num_filas = 0) then
- suspend;
- end
+CREATE GENERATOR GEN_PERMISOS_ID;
+SET GENERATOR GEN_PERMISOS_ID TO 1;
- /* Ver si hay conceptos al principio sin capitulos */
- for select id, id_presupuesto, posicion, tipo_detalle
- from presupuestos_cliente_detalles
- where id_presupuesto = :AID
- order by id_presupuesto, posicion
- rows 1
- into :ID, :ID_PRESUPUESTO, :POSICION, :TIPO_DETALLE
- do
- begin
- if (TIPO_DETALLE = 'Concepto') then
- EXISTE = 1;
- end
-
- if (existe = 1) then
- begin
- contador = 0;
- /* Existen conceptos sin capitulo */
- for select tipo_detalle, importe_total, coalesce(visible, 1)
- from presupuestos_cliente_detalles
- where id_presupuesto = :AID
- order by id_presupuesto, posicion
- into :TIPO_DETALLE, :IMPORTE_TOTAL, :VISIBLE
- do
- begin
- contador = contador + 1;
- if ((tipo_detalle <> 'Concepto') or (contador = num_filas)) then
- begin
- importe_total = total_acumulado;
- tipo_detalle = 'Titulo';
- concepto = 'General';
- visible = 1;
- ID = -1;
- posicion = -1;
- suspend;
- break;
- end
- else begin
- if (visible <> 0) then
- total_acumulado = total_acumulado + importe_total;
- end
- end
- end
-
-
- for select id, id_presupuesto, posicion, tipo_detalle, F_RTFTOTEXT(concepto) as concepto,
- importe_total, coalesce(visible, 1)
- from presupuestos_cliente_detalles
- where tipo_detalle <> 'Concepto' and id_presupuesto = :AID
- order by id_presupuesto, posicion
- into :ID, :ID_PRESUPUESTO, :POSICION, :TIPO_DETALLE, :CONCEPTO,
- :IMPORTE_TOTAL, :VISIBLE
- do
- suspend;
-
-end^
-
-SET TERM ; ^
-GRANT SELECT ON PRESUPUESTOS_CLIENTE_DETALLES TO PROCEDURE PRO_PRES_CAPITULOS;
-GRANT EXECUTE ON PROCEDURE PRO_PRES_CAPITULOS TO TO "PUBLIC";
-
-SET TERM ^ ;
-
-CREATE PROCEDURE PRO_PRES_CAPITULOS_CONCEPTOS (
- aid integer)
-returns (
- id integer,
- id_presupuesto integer,
- posicion integer,
- tipo_detalle varchar(10),
- id_capitulo integer,
- id_articulo integer,
- referencia varchar(255),
- concepto varchar(2000),
- cantidad integer,
- importe_unidad numeric(11,2),
- descuento float,
- importe_porte numeric(11,2),
- importe_total numeric(11,2),
- visible smallint)
-as
-declare variable capitulo_actual integer;
-begin
-capitulo_actual = -1;
-ID_CAPITULO = -1;
-for select pre.id, pre.id_presupuesto, pre.posicion, pre.tipo_detalle,
- pre.id_articulo, articulos.referencia, pre.concepto, pre.cantidad,
- pre.importe_unidad, pre.descuento, pre.importe_porte,
- pre.importe_total, coalesce(pre.visible, 1)
- from presupuestos_cliente_detalles pre
- left join articulos on (pre.id_articulo = articulos.id)
- where pre.id_presupuesto = :AID
- order by pre.id_presupuesto, pre.posicion
- into :ID, :ID_PRESUPUESTO, :POSICION, :TIPO_DETALLE, :ID_ARTICULO,
- :REFERENCIA, :CONCEPTO, :CANTIDAD, :IMPORTE_UNIDAD, :DESCUENTO,
- :IMPORTE_PORTE, :IMPORTE_TOTAL, :VISIBLE
-do
- begin
- if (:tipo_detalle <> 'Concepto') then
- begin
- capitulo_actual = :ID;
- ID_CAPITULO = capitulo_actual;
- end
- else
- suspend;
- end
-end^
-
-SET TERM ; ^
-
-GRANT SELECT ON PRESUPUESTOS_CLIENTE_DETALLES TO PROCEDURE PRO_PRES_CAPITULOS_CONCEPTOS;
-GRANT SELECT ON ARTICULOS TO PROCEDURE PRO_PRES_CAPITULOS_CONCEPTOS;
-GRANT EXECUTE ON PROCEDURE PRO_PRES_CAPITULOS_CONCEPTOS TO "PUBLIC";
-
-
-SET TERM ^ ;
-
-CREATE PROCEDURE PRO_PRES_RESUMEN (
- aid integer)
-returns (
- id integer,
- id_presupuesto integer,
- posicion integer,
- tipo_detalle varchar(10),
- concepto varchar(2000),
- importe_total numeric(11,2),
- visible smallint)
-as
-declare variable num_capitulos integer;
-declare variable num_filas integer;
-declare variable contador integer;
-declare variable existe numeric(11,2);
-declare variable total_acumulado numeric(11,2);
-declare variable concepto_capitulo varchar(2000) character set iso8859_1;
-begin
- existe = 0;
- total_acumulado = 0.0;
- contador = 0;
- num_filas = 0;
- num_capitulos = 0;
- concepto_capitulo = '';
-
- /* ¿Existe el presupuesto? */
- for select count(*)
- from presupuestos_cliente_detalles
- where id_presupuesto = :AID
- into :num_filas
- do
- begin
- if (num_filas = 0) then
- suspend;
- end
-
- /* Ver si hay conceptos al principio sin capitulos */
- for select id, id_presupuesto, posicion, tipo_detalle
- from presupuestos_cliente_detalles
- where id_presupuesto = :AID
- order by id_presupuesto, posicion
- rows 1
- into :ID, :ID_PRESUPUESTO, :POSICION, :TIPO_DETALLE
- do
- begin
- if (TIPO_DETALLE = 'Concepto') then
- EXISTE = 1;
- end
-
- if (existe = 1) then
- begin
- contador = 0;
- /* Existen conceptos sin capitulo */
- for select tipo_detalle, importe_total, coalesce(visible, 1)
- from presupuestos_cliente_detalles
- where id_presupuesto = :AID
- order by id_presupuesto, posicion
- into :TIPO_DETALLE, :IMPORTE_TOTAL, :VISIBLE
- do
- begin
- contador = contador + 1;
- if ((tipo_detalle <> 'Concepto') or (contador = num_filas)) then
- begin
- importe_total = total_acumulado;
- tipo_detalle = 'Titulo';
- concepto = 'General';
- visible = 1;
- ID = -1;
- posicion = -1;
- suspend;
- break;
- end
- else begin
- if (visible <> 0) then
- total_acumulado = total_acumulado + importe_total;
- end
- end
- end
-
-
- /* Tratar el resto de las filas */
- for select id, id_presupuesto, posicion, tipo_detalle, F_RTFTOTEXT(concepto) as concepto,
- importe_total, coalesce(visible, 1)
- from presupuestos_cliente_detalles
- where tipo_detalle = 'Subtotal' and id_presupuesto = :AID
- order by id_presupuesto, posicion
- into :ID, :ID_PRESUPUESTO, :POSICION, :TIPO_DETALLE, :CONCEPTO,
- :IMPORTE_TOTAL, :VISIBLE
- do
- suspend;
-end^
-
-SET TERM ; ^
-GRANT SELECT ON PRESUPUESTOS_CLIENTE_DETALLES TO PROCEDURE PRO_PRES_RESUMEN;
-GRANT EXECUTE ON PROCEDURE PRO_PRES_RESUMEN TO "PUBLIC";
+CREATE GENERATOR GEN_PERMISOSEX_ID;
+SET GENERATOR GEN_PERMISOSEX_ID TO 1;
/******************************************************************************/
@@ -482,6 +250,7 @@ CREATE TABLE ALBARANES_CLIENTE (
ID_ALMACEN TIPO_ID,
ID_PEDIDO TIPO_ID,
ID_FACTURA TIPO_ID,
+ TIPO VARCHAR(1),
REFERENCIA VARCHAR(255),
CALLE VARCHAR(255),
CODIGO_POSTAL VARCHAR(10),
@@ -536,6 +305,7 @@ CREATE TABLE ALBARANES_PROVEEDOR (
FECHA_ALBARAN DATE,
ID_PEDIDO TIPO_ID,
ID_FACTURA TIPO_ID,
+ TIPO VARCHAR(1),
REFERENCIA VARCHAR(255),
CALLE VARCHAR(255),
CODIGO_POSTAL VARCHAR(10),
@@ -607,7 +377,7 @@ CREATE TABLE ARTICULOS (
REFERENCIA VARCHAR(255),
DESCRIPCION VARCHAR(255),
FAMILIA VARCHAR(255),
- UNIDAD_MEDIDA VARCHAR(255),
+ UNIDAD_MEDIDA VARCHAR(255),
IMAGEN TIPO_BINARIO,
COMISIONABLE TIPO_BOOLEANO,
ID_PROVEEDOR TIPO_ID,
@@ -657,6 +427,7 @@ CREATE TABLE CLIENTES_DTOS_PROVEEDORES (
CREATE TABLE CLIENTES_GRUPOS (
+ ID TIPO_ID NOT NULL,
DESCRIPCION VARCHAR(255)
);
@@ -676,6 +447,7 @@ CREATE TABLE COMISIONES_LIQUIDADAS (
CREATE TABLE CONFIGURACION (
+ ID TIPO_ID NOT NULL,
CODIGO VARCHAR(50) NOT NULL,
VALOR VARCHAR(255) NOT NULL,
ID_EMPRESA TIPO_ID
@@ -759,7 +531,8 @@ CREATE TABLE EMPLEADOS_DATOS (
CREATE TABLE EMPLEADOS_GRUPOS (
- DESCRIPCION VARCHAR(255)
+ ID TIPO_ID NOT NULL,
+ DESCRIPCION VARCHAR(255)
);
@@ -791,8 +564,9 @@ CREATE TABLE EMPRESAS (
CREATE TABLE EMPRESAS_CONTACTOS (
- ID_EMPRESA TIPO_ID NOT NULL,
- ID_CONTACTO TIPO_ID NOT NULL
+ ID TIPO_ID NOT NULL,
+ ID_EMPRESA TIPO_ID NOT NULL,
+ ID_CONTACTO TIPO_ID NOT NULL
);
@@ -810,6 +584,7 @@ CREATE TABLE EMPRESAS_DATOS_BANCO (
CREATE TABLE EMPRESAS_USUARIOS (
+ ID TIPO_ID NOT NULL,
ID_EMPRESA TIPO_ID NOT NULL,
ID_USUARIO TIPO_ID NOT NULL
);
@@ -939,6 +714,7 @@ CREATE TABLE FACTURAS_PROVEEDOR_DETALLES (
CREATE TABLE FAMILIAS (
+ ID TIPO_ID NOT NULL,
DESCRIPCION VARCHAR(255)
);
@@ -1125,6 +901,7 @@ CREATE TABLE PEDIDOS_PROVEEDOR_DETALLES (
CREATE TABLE PERMISOS (
+ ID TIPO_ID NOT NULL,
ID_USUARIO TIPO_ID,
MODULO VARCHAR(50),
NOMBRECOMP VARCHAR(50),
@@ -1133,6 +910,7 @@ CREATE TABLE PERMISOS (
CREATE TABLE PERMISOSEX (
+ ID TIPO_ID NOT NULL,
ID_USUARIO TIPO_ID,
MODULO VARCHAR(50),
NOMBRECOMP VARCHAR(50),
@@ -1205,7 +983,8 @@ CREATE TABLE PROVEEDORES_DATOS (
CREATE TABLE PROVEEDORES_GRUPOS (
- DESCRIPCION VARCHAR(255)
+ ID TIPO_ID NOT NULL,
+ DESCRIPCION VARCHAR(255)
);
@@ -1307,6 +1086,12 @@ CREATE TABLE TIPOS_IVA (
);
+CREATE TABLE UNIDADES_MEDIDA (
+ ID TIPO_ID NOT NULL,
+ DESCRIPCION VARCHAR(255)
+);
+
+
CREATE TABLE USUARIOS (
ID TIPO_ID NOT NULL,
USERNAME VARCHAR(30),
@@ -1345,11 +1130,6 @@ CREATE TABLE USUARIOS_LOGON (
);
-CREATE TABLE UNIDADES_MEDIDA (
- ID TIPO_ID NOT NULL,
- DESCRIPCION VARCHAR(255)
-);
-
/******************************************************************************/
@@ -1389,7 +1169,7 @@ SELECT ALBARANES_PROVEEDOR_DETALLES.ID_ALBARAN,
SUM (COALESCE(ALBARANES_PROVEEDOR_DETALLES.CANTIDAD, 0)) AS CANTIDAD
FROM ALBARANES_PROVEEDOR_DETALLES
-LEFT JOIN ALBARANES_PROVEEDOR
+INNER JOIN ALBARANES_PROVEEDOR
ON (ALBARANES_PROVEEDOR_DETALLES.ID_ALBARAN = ALBARANES_PROVEEDOR.ID)
/*Mantenemos los articulos inventariables y aquellos que no existan en nuestro catálogo con el fin de no falsear la situación de los pedidos
@@ -1458,7 +1238,7 @@ SELECT
ALBARANES_CLIENTE.FECHA_ALBARAN,
ALBARANES_CLIENTE.REFERENCIA,
ALBARANES_CLIENTE.REFERENCIA_CLIENTE,
- CASE WHEN (ALBARANES_CLIENTE.IMPORTE_TOTAL < 0) THEN 'D' ELSE 'A' END AS TIPO,
+ ALBARANES_CLIENTE.TIPO,
V_ALB_CLI_SITUACION.SITUACION,
ALBARANES_CLIENTE.ID_ALMACEN,
ALMACENES.NOMBRE AS NOMBRE_ALMACEN,
@@ -1548,7 +1328,7 @@ SELECT
ALBARANES_PROVEEDOR.FECHA_ALBARAN,
ALBARANES_PROVEEDOR.REFERENCIA,
ALBARANES_PROVEEDOR.REFERENCIA_PROVEEDOR,
- CASE WHEN (ALBARANES_PROVEEDOR.IMPORTE_TOTAL < 0) THEN 'D' ELSE 'A' END AS TIPO,
+ ALBARANES_PROVEEDOR.TIPO,
ALBARANES_PROVEEDOR.ID_ALMACEN,
ALMACENES.NOMBRE AS NOMBRE_ALMACEN,
ALBARANES_PROVEEDOR.ID_PEDIDO,
@@ -1593,7 +1373,7 @@ CREATE VIEW V_ARTICULOS(
ID_EMPRESA,
REFERENCIA,
DESCRIPCION,
- UNIDAD_MEDIDA,
+ UNIDAD_MEDIDA,
FAMILIA,
IMAGEN,
COMISIONABLE,
@@ -2406,10 +2186,10 @@ SELECT
PEDIDOS_PROVEEDOR.ID_FORMA_PAGO
FROM
PEDIDOS_PROVEEDOR
- LEFT OUTER JOIN V_PROVEEDORES ON (PEDIDOS_PROVEEDOR.ID_PROVEEDOR = V_PROVEEDORES.ID)
+ INNER JOIN V_PROVEEDORES ON (PEDIDOS_PROVEEDOR.ID_PROVEEDOR = V_PROVEEDORES.ID)
+ INNER JOIN V_PED_PROV_SITUACION ON (V_PED_PROV_SITUACION.ID_PEDIDO = PEDIDOS_PROVEEDOR.ID)
LEFT OUTER JOIN ALMACENES ON (ALMACENES.ID = PEDIDOS_PROVEEDOR.ID_ALMACEN)
- LEFT OUTER JOIN PEDIDOS_CLIENTE ON (PEDIDOS_CLIENTE.ID = PEDIDOS_PROVEEDOR.ID_PEDIDO_CLIENTE)
- LEFT OUTER JOIN V_PED_PROV_SITUACION ON (V_PED_PROV_SITUACION.ID_PEDIDO = PEDIDOS_PROVEEDOR.ID)
+ LEFT OUTER JOIN PEDIDOS_CLIENTE ON (PEDIDOS_CLIENTE.ID = PEDIDOS_PROVEEDOR.ID_PEDIDO_CLIENTE)
;
@@ -2693,9 +2473,9 @@ ALTER TABLE CONTACTOS_DATOS_BANCO ADD CONSTRAINT PK_CONTACTOS_DATOS_BANCO PRIMAR
ALTER TABLE CONTACTOS_DIRECCIONES ADD CONSTRAINT PK_CONTACTOS_DIR PRIMARY KEY (ID);
ALTER TABLE EMPLEADOS_DATOS ADD CONSTRAINT PK_EMPLEADOS_DATOS PRIMARY KEY (ID_EMPLEADO);
ALTER TABLE EMPRESAS ADD CONSTRAINT PK_EMPRESAS PRIMARY KEY (ID);
-ALTER TABLE EMPRESAS_CONTACTOS ADD CONSTRAINT PK_EMPRESAS_CONTACTOS PRIMARY KEY (ID_EMPRESA, ID_CONTACTO);
+ALTER TABLE EMPRESAS_CONTACTOS ADD CONSTRAINT PK_EMPRESAS_CONTACTOS PRIMARY KEY (ID);
ALTER TABLE EMPRESAS_DATOS_BANCO ADD CONSTRAINT PK_EMPRESAS_DATOS_BANCO PRIMARY KEY (ID);
-ALTER TABLE EMPRESAS_USUARIOS ADD CONSTRAINT PK_EMPRESAS_USUARIOS PRIMARY KEY (ID_EMPRESA, ID_USUARIO);
+ALTER TABLE EMPRESAS_USUARIOS ADD CONSTRAINT PK_EMPRESAS_USUARIOS PRIMARY KEY (ID);
ALTER TABLE FACTURAS_CLIENTE ADD CONSTRAINT PK_FACTURAS_CLIENTE PRIMARY KEY (ID);
ALTER TABLE FACTURAS_CLIENTE_DETALLES ADD CONSTRAINT PK_FACTURAS_CLIENTE_DETALLES PRIMARY KEY (ID);
ALTER TABLE FACTURAS_PROVEEDOR ADD CONSTRAINT PK_FACTURAS_PROVEEDOR PRIMARY KEY (ID);
@@ -2724,6 +2504,13 @@ ALTER TABLE TIPOS_IVA ADD PRIMARY KEY (ID);
ALTER TABLE USUARIOS ADD CONSTRAINT PK_USUARIOS PRIMARY KEY (ID);
ALTER TABLE USUARIOS_LOGON ADD CONSTRAINT PK_USUARIOS_LOGON PRIMARY KEY (LOGONID);
ALTER TABLE UNIDADES_MEDIDA ADD PRIMARY KEY (ID);
+ALTER TABLE CLIENTES_GRUPOS ADD CONSTRAINT PK_CLIENTES_GRUPOS PRIMARY KEY (ID);
+ALTER TABLE PROVEEDORES_GRUPOS ADD CONSTRAINT PK_PROVEEDORES_GRUPOS PRIMARY KEY (ID);
+ALTER TABLE CONFIGURACION ADD CONSTRAINT PK_CONFIGURACION PRIMARY KEY (ID);
+ALTER TABLE EMPLEADOS_GRUPOS ADD CONSTRAINT PK_EMPLEADOS_GRUPOS PRIMARY KEY (ID);
+ALTER TABLE FAMILIAS ADD CONSTRAINT PK_FAMILIAS PRIMARY KEY (ID);
+ALTER TABLE PERMISOS ADD CONSTRAINT PK_PERMISOS PRIMARY KEY (ID);
+ALTER TABLE PERMISOSEX ADD CONSTRAINT PK_PERMISOSEX PRIMARY KEY (ID);
/******************************************************************************/
@@ -2770,11 +2557,13 @@ ALTER TABLE TIENDA_WEB ADD CONSTRAINT FK_EMPRESAS_TIENDA_WEB FOREIGN KEY (ID_EMP
CREATE INDEX IDX_AGENTES_COMISIONES1 ON AGENTES_COMISIONES (ID_AGENTE);
CREATE INDEX IDX_AGENTES_COMISIONES2 ON AGENTES_COMISIONES (ID_PROVEEDOR);
-CREATE INDEX IDX_ALBARANES_CLIENTE ON ALBARANES_CLIENTE (ID_FORMA_PAGO);
+CREATE INDEX IDX_ALBARANES_CLIENTE1 ON ALBARANES_CLIENTE (ID_FORMA_PAGO);
+CREATE INDEX IDX_ALBARANES_CLIENTE2 ON ALBARANES_CLIENTE (TIPO);
CREATE INDEX IDX_ALBARANES_CLIENTE_DETALLES ON ALBARANES_CLIENTE_DETALLES (ID_ARTICULO);
CREATE INDEX IDX_ALBARANES_CLIENTE_DETALLES1 ON ALBARANES_CLIENTE_DETALLES (ID_ALBARAN);
-CREATE INDEX IDX_ALBARANES_PROVEEDOR ON ALBARANES_PROVEEDOR (ID_ALMACEN);
-CREATE INDEX IDX_ALBARANES_PROVEEDOR1 ON ALBARANES_PROVEEDOR (ID_FORMA_PAGO);
+CREATE INDEX IDX_ALBARANES_PROVEEDOR1 ON ALBARANES_PROVEEDOR (ID_ALMACEN);
+CREATE INDEX IDX_ALBARANES_PROVEEDOR2 ON ALBARANES_PROVEEDOR (ID_FORMA_PAGO);
+CREATE INDEX IDX_ALBARANES_PROVEEDOR3 ON ALBARANES_PROVEEDOR (TIPO);
CREATE INDEX IDX_ALBARANES_PROV_DETALLES ON ALBARANES_PROVEEDOR_DETALLES (ID_ALBARAN);
CREATE INDEX IDX_ALBARANES_PROV_DETALLES1 ON ALBARANES_PROVEEDOR_DETALLES (ID_ARTICULO);
CREATE INDEX IDX_ARTICULOS ON ARTICULOS (ID_PROVEEDOR);
@@ -2789,6 +2578,8 @@ CREATE INDEX IDX_CONTACTOS_CATEGORIAS ON CONTACTOS_CATEGORIAS (ID_CONTACTO);
CREATE INDEX IDX_CONTACTOS_CATEGORIAS1 ON CONTACTOS_CATEGORIAS (ID_CATEGORIA);
CREATE INDEX IDX_CONTACTOS_DATOS_BANCO ON CONTACTOS_DATOS_BANCO (ID_CONTACTO);
CREATE INDEX IDX_CONTACTOS_DIR_ID_CONTACTO ON CONTACTOS_DIRECCIONES (ID_CONTACTO);
+CREATE INDEX IDX_EMPRESAS_CONTACTOS ON EMPRESAS_CONTACTOS (ID_EMPRESA, ID_CONTACTO);
+CREATE INDEX IDX_EMPRESAS_USUARIOS ON EMPRESAS_USUARIOS (ID_EMPRESA, ID_USUARIO);
CREATE INDEX IDX_FACTURAS_CLIENTE ON FACTURAS_CLIENTE (ID_FORMA_PAGO);
CREATE INDEX IDX_FACTURAS_CLIENTE1 ON FACTURAS_CLIENTE (ID_TIPO_IVA);
CREATE INDEX IDX_FACTURAS_CLIENTE2 ON FACTURAS_CLIENTE (ID_COMISION_LIQUIDADA);
@@ -2799,9 +2590,9 @@ CREATE INDEX IDX_FACTURAS_PROVEEDOR ON FACTURAS_PROVEEDOR (ID_PROVEEDOR);
CREATE INDEX IDX_FACTURAS_PROVEEDOR1 ON FACTURAS_PROVEEDOR (ID_FORMA_PAGO);
CREATE INDEX IDX_FACTURAS_PROVEEDOR2 ON FACTURAS_PROVEEDOR (ID_TIPO_IVA);
CREATE INDEX IDX_FACTURAS_PROVEEDOR_DETALLES ON FACTURAS_PROVEEDOR_DETALLES (ID_ARTICULO);
-CREATE INDEX FORMAS_PAGO_PLAZOS_IDX1 ON FORMAS_PAGO_PLAZOS (ID_FORMA_PAGO);
+CREATE INDEX IDX_FORMAS_PAGO_PLAZOS ON FORMAS_PAGO_PLAZOS (ID_FORMA_PAGO);
CREATE INDEX IDX_INFORMES ON INFORMES (ID_EMPRESA);
-CREATE INDEX MOVIMIENTOS_IDX1 ON MOVIMIENTOS (TIPO);
+CREATE INDEX IDX_MOVIMIENTOS ON MOVIMIENTOS (TIPO);
CREATE INDEX IDX_PEDIDOS_CLIENTE ON PEDIDOS_CLIENTE (ID_FORMA_PAGO);
CREATE INDEX IDX_PEDIDOS_CLIENTE_DETALLES ON PEDIDOS_CLIENTE_DETALLES (ID_PEDIDO);
CREATE INDEX IDX_PEDIDOS_CLIENTE_DETALLES1 ON PEDIDOS_CLIENTE_DETALLES (ID_ARTICULO);
@@ -2825,17 +2616,17 @@ CREATE INDEX IDX_REMESAS_PROVEEDOR ON REMESAS_PROVEEDOR (ID_DATOS_BANCO);
SET TERM ^ ;
-ALTER PROCEDURE PRO_PRES_CAPITULOS (
- AID INTEGER)
-RETURNS (
- ID INTEGER,
- ID_PRESUPUESTO INTEGER,
- POSICION INTEGER,
- TIPO_DETALLE VARCHAR(10),
- CONCEPTO VARCHAR(2000),
- IMPORTE_TOTAL NUMERIC(11,2),
- VISIBLE SMALLINT)
-AS
+CREATE PROCEDURE PRO_PRES_CAPITULOS (
+ aid integer)
+returns (
+ id integer,
+ id_presupuesto integer,
+ posicion integer,
+ tipo_detalle varchar(10),
+ concepto varchar(2000),
+ importe_total numeric(11,2),
+ visible smallint)
+as
declare variable num_filas integer;
declare variable contador integer;
declare variable existe numeric(11,2);
@@ -2904,34 +2695,40 @@ begin
for select id, id_presupuesto, posicion, tipo_detalle, F_RTFTOTEXT(concepto) as concepto,
importe_total, coalesce(visible, 1)
from presupuestos_cliente_detalles
- where tipo_detalle <> 'Concepto' and id_presupuesto = :AID
+ where tipo_detalle = 'Titulo' and id_presupuesto = :AID
order by id_presupuesto, posicion
into :ID, :ID_PRESUPUESTO, :POSICION, :TIPO_DETALLE, :CONCEPTO,
:IMPORTE_TOTAL, :VISIBLE
do
suspend;
-end
-^
+end^
-ALTER PROCEDURE PRO_PRES_CAPITULOS_CONCEPTOS (
- AID INTEGER)
-RETURNS (
- ID INTEGER,
- ID_PRESUPUESTO INTEGER,
- POSICION INTEGER,
- TIPO_DETALLE VARCHAR(10),
- ID_CAPITULO INTEGER,
- ID_ARTICULO INTEGER,
- REFERENCIA VARCHAR(255),
- CONCEPTO VARCHAR(2000),
- CANTIDAD INTEGER,
- IMPORTE_UNIDAD NUMERIC(11,2),
- DESCUENTO FLOAT,
- IMPORTE_PORTE NUMERIC(11,2),
- IMPORTE_TOTAL NUMERIC(11,2),
- VISIBLE SMALLINT)
-AS
+SET TERM ; ^
+
+GRANT SELECT ON PRESUPUESTOS_CLIENTE_DETALLES TO PROCEDURE PRO_PRES_CAPITULOS;
+GRANT EXECUTE ON PROCEDURE PRO_PRES_CAPITULOS TO "PUBLIC";
+
+SET TERM ^ ;
+
+CREATE PROCEDURE PRO_PRES_CAPITULOS_CONCEPTOS (
+ aid integer)
+returns (
+ id integer,
+ id_presupuesto integer,
+ posicion integer,
+ tipo_detalle varchar(10),
+ id_capitulo integer,
+ id_articulo integer,
+ referencia varchar(255),
+ concepto varchar(2000),
+ cantidad integer,
+ importe_unidad numeric(11,2),
+ descuento float,
+ importe_porte numeric(11,2),
+ importe_total numeric(11,2),
+ visible smallint)
+as
declare variable capitulo_actual integer;
begin
capitulo_actual = -1;
@@ -2957,8 +2754,109 @@ do
else
suspend;
end
-end
-^
+end^
+
+SET TERM ; ^
+
+GRANT SELECT ON PRESUPUESTOS_CLIENTE_DETALLES TO PROCEDURE PRO_PRES_CAPITULOS_CONCEPTOS;
+GRANT SELECT ON ARTICULOS TO PROCEDURE PRO_PRES_CAPITULOS_CONCEPTOS;
+GRANT EXECUTE ON PROCEDURE PRO_PRES_CAPITULOS_CONCEPTOS TO "PUBLIC";
+
+SET TERM ^ ;
+
+CREATE PROCEDURE PRO_PRES_RESUMEN (
+ aid integer)
+returns (
+ id integer,
+ id_presupuesto integer,
+ posicion integer,
+ tipo_detalle varchar(10),
+ concepto varchar(2000),
+ importe_total numeric(11,2),
+ visible smallint)
+as
+declare variable num_capitulos integer;
+declare variable num_filas integer;
+declare variable contador integer;
+declare variable existe numeric(11,2);
+declare variable total_acumulado numeric(11,2);
+declare variable concepto_capitulo varchar(2000) character set iso8859_1;
+begin
+ existe = 0;
+ total_acumulado = 0.0;
+ contador = 0;
+ num_filas = 0;
+ num_capitulos = 0;
+ concepto_capitulo = '';
+
+ /* ¿Existe el presupuesto? */
+ for select count(*)
+ from presupuestos_cliente_detalles
+ where id_presupuesto = :AID
+ into :num_filas
+ do
+ begin
+ if (num_filas = 0) then
+ suspend;
+ end
+
+ /* Ver si hay conceptos al principio sin capitulos */
+ for select id, id_presupuesto, posicion, tipo_detalle
+ from presupuestos_cliente_detalles
+ where id_presupuesto = :AID
+ order by id_presupuesto, posicion
+ rows 1
+ into :ID, :ID_PRESUPUESTO, :POSICION, :TIPO_DETALLE
+ do
+ begin
+ if (TIPO_DETALLE = 'Concepto') then
+ EXISTE = 1;
+ end
+
+ if (existe = 1) then
+ begin
+ contador = 0;
+ /* Existen conceptos sin capitulo */
+ for select tipo_detalle, importe_total, coalesce(visible, 1)
+ from presupuestos_cliente_detalles
+ where id_presupuesto = :AID
+ order by id_presupuesto, posicion
+ into :TIPO_DETALLE, :IMPORTE_TOTAL, :VISIBLE
+ do
+ begin
+ contador = contador + 1;
+ if ((tipo_detalle <> 'Concepto') or (contador = num_filas)) then
+ begin
+ importe_total = total_acumulado;
+ tipo_detalle = 'Titulo';
+ concepto = 'General';
+ visible = 1;
+ ID = -1;
+ posicion = -1;
+ suspend;
+ break;
+ end
+ else begin
+ if (visible <> 0) then
+ total_acumulado = total_acumulado + importe_total;
+ end
+ end
+ end
-SET TERM ; ^
\ No newline at end of file
+ /* Tratar el resto de las filas */
+ for select id, id_presupuesto, posicion, tipo_detalle, F_RTFTOTEXT(concepto) as concepto,
+ importe_total, coalesce(visible, 1)
+ from presupuestos_cliente_detalles
+ where tipo_detalle = 'Subtotal' and id_presupuesto = :AID
+ order by id_presupuesto, posicion
+ into :ID, :ID_PRESUPUESTO, :POSICION, :TIPO_DETALLE, :CONCEPTO,
+ :IMPORTE_TOTAL, :VISIBLE
+ do
+ suspend;
+end^
+
+SET TERM ; ^
+
+GRANT SELECT ON PRESUPUESTOS_CLIENTE_DETALLES TO PROCEDURE PRO_PRES_RESUMEN;
+GRANT EXECUTE ON PROCEDURE PRO_PRES_RESUMEN TO "PUBLIC";
diff --git a/Database/scripts/factuges_sysdata.sql b/Database/scripts/factuges_sysdata.sql
index 04313688..2066b0f2 100644
--- a/Database/scripts/factuges_sysdata.sql
+++ b/Database/scripts/factuges_sysdata.sql
@@ -117,3 +117,8 @@ INSERT INTO UNIDADES_MEDIDA (ID, DESCRIPCION) VALUES (15, 'COCINA');
INSERT INTO UNIDADES_MEDIDA (ID, DESCRIPCION) VALUES (16, 'ARMARIOS');
SET GENERATOR GEN_UNIDADES_MEDIDA_ID TO 17;
COMMIT WORK;
+
+
+INSERT INTO EMPRESAS (ID, NIF_CIF, NOMBRE, RAZON_SOCIAL, CALLE, POBLACION, PROVINCIA, CODIGO_POSTAL, TELEFONO_1, TELEFONO_2, MOVIL_1, MOVIL_2, FAX, EMAIL_1, EMAIL_2, PAGINA_WEB, FECHA_ALTA, FECHA_MODIFICACION, USUARIO, REGISTRO_MERCANTIL, IVA) VALUES (1, 'B81747396', 'TECSITEL S.L.', 'TECSITEL S.L.', 'C\ Buendía, 25', 'MADRID', 'MADRID', '28053', '91-507-56-92 / 63', NULL, NULL, NULL, '91-785-96-35', 'tecsitel@tecsitel.com', NULL, 'www.tecsitel.com', '2008-01-14 11:53:52', NULL, 'Administrador', 'Insc. en el Reg. Merc. de Madrid, Tomo 12.291, Libro 0, Folio 131, Sección 8, Hoja M-194886 CIF: B81747396', NULL);
+SET GENERATOR GEN_EMPRESAS_ID TO 2;
+COMMIT WORK;
diff --git a/Source/Base/Base.dproj b/Source/Base/Base.dproj
index 8cd78f35..c89094a1 100644
--- a/Source/Base/Base.dproj
+++ b/Source/Base/Base.dproj
@@ -44,8 +44,6 @@
Package
FalseTrueFalseLibreria base de FactuGESTrueFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0
-
-
Microsoft Office 2000 Sample Automation Server Wrapper Components
Microsoft Office XP Sample Automation Server Wrapper Components
Base.dpk
@@ -55,57 +53,57 @@
MainSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
TForm
diff --git a/Source/Cliente/FactuGES.rc b/Source/Cliente/FactuGES.rc
index 3a2145a3..4be492fe 100644
--- a/Source/Cliente/FactuGES.rc
+++ b/Source/Cliente/FactuGES.rc
@@ -15,8 +15,7 @@ BEGIN
VALUE "CompanyName", "Rodax Software S.L.\0"
VALUE "FileVersion", "1.0.0.0\0"
VALUE "InternalName", "FactuGES\0"
- VALUE "ProductName", "FactuGES\0"
- VALUE "ProductVersion", "2.1.4\0"
+ VALUE "ProductVersion", "1.0.0.0\0"
END
END
BLOCK "VarFileInfo"
diff --git a/Source/Cliente/FactuGES.res b/Source/Cliente/FactuGES.res
index 35af6f79..ef367642 100644
Binary files a/Source/Cliente/FactuGES.res and b/Source/Cliente/FactuGES.res differ
diff --git a/Source/GUIBase/GUIBase.dproj b/Source/GUIBase/GUIBase.dproj
index 37767160..429c936b 100644
--- a/Source/GUIBase/GUIBase.dproj
+++ b/Source/GUIBase/GUIBase.dproj
@@ -58,22 +58,22 @@
MainSource
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.dfm b/Source/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.dfm
index 62353d58..4932ad2c 100644
--- a/Source/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.dfm
+++ b/Source/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.dfm
@@ -577,6 +577,10 @@ object srvAlbaranesCliente: TsrvAlbaranesCliente
Name = 'FECHA_ALBARAN'
Value = ''
end
+ item
+ Name = 'TIPO'
+ Value = ''
+ end
item
Name = 'REFERENCIA'
Value = ''
@@ -700,22 +704,22 @@ object srvAlbaranesCliente: TsrvAlbaranesCliente
TargetTable = 'ALBARANES_CLIENTE'
SQL =
'INSERT'#10' INTO ALBARANES_CLIENTE'#10' (ID, ID_EMPRESA, ID_CLIENTE,' +
- ' FECHA_ALBARAN, REFERENCIA,'#10' REFERENCIA_CLIENTE, ID_ALMACEN,' +
- ' ID_PEDIDO, ID_FACTURA, CALLE,'#10' CODIGO_POSTAL, POBLACION, PR' +
- 'OVINCIA, PERSONA_CONTACTO, '#10' TELEFONO, IMPORTE_NETO, IMPORTE' +
- '_PORTE, DESCUENTO, IMPORTE_DESCUENTO, '#10' BASE_IMPONIBLE, IVA,' +
- ' IMPORTE_IVA, IMPORTE_TOTAL, OBSERVACIONES, '#10' INCIDENCIAS, I' +
- 'NCIDENCIAS_ACTIVAS, FECHA_ALTA, FECHA_MODIFICACION, '#10' USUARI' +
- 'O, ID_FORMA_PAGO, FECHA_PREVISTA_ENVIO, FECHA_ENVIO, '#10' FECHA' +
- '_RECEPCION)'#10' VALUES'#10' (:ID, :ID_EMPRESA, :ID_CLIENTE, :FECHA_' +
- 'ALBARAN, :REFERENCIA,'#10' :REFERENCIA_CLIENTE, :ID_ALMACEN, :ID' +
- '_PEDIDO, :ID_FACTURA, :CALLE,'#10' :CODIGO_POSTAL, :POBLACION, :' +
- 'PROVINCIA, :PERSONA_CONTACTO,'#10' :TELEFONO, :IMPORTE_NETO, :IM' +
- 'PORTE_PORTE, :DESCUENTO, :IMPORTE_DESCUENTO,'#10' :BASE_IMPONIBL' +
- 'E, :IVA, :IMPORTE_IVA, :IMPORTE_TOTAL, :OBSERVACIONES,'#10' :INC' +
- 'IDENCIAS, :INCIDENCIAS_ACTIVAS, :FECHA_ALTA, :FECHA_MODIFICACION' +
- ','#10' :USUARIO, :ID_FORMA_PAGO, :FECHA_PREVISTA_ENVIO, :FECHA_E' +
- 'NVIO, :FECHA_RECEPCION)'#10' '#10' '#10#10
+ ' FECHA_ALBARAN, TIPO, REFERENCIA,'#10' REFERENCIA_CLIENTE, ID_AL' +
+ 'MACEN, ID_PEDIDO, ID_FACTURA, CALLE,'#10' CODIGO_POSTAL, POBLACI' +
+ 'ON, PROVINCIA, PERSONA_CONTACTO, '#10' TELEFONO, IMPORTE_NETO, I' +
+ 'MPORTE_PORTE, DESCUENTO, IMPORTE_DESCUENTO, '#10' BASE_IMPONIBLE' +
+ ', IVA, IMPORTE_IVA, IMPORTE_TOTAL, OBSERVACIONES, '#10' INCIDENC' +
+ 'IAS, INCIDENCIAS_ACTIVAS, FECHA_ALTA, FECHA_MODIFICACION, '#10' ' +
+ 'USUARIO, ID_FORMA_PAGO, FECHA_PREVISTA_ENVIO, FECHA_ENVIO, '#10' ' +
+ ' FECHA_RECEPCION)'#10' VALUES'#10' (:ID, :ID_EMPRESA, :ID_CLIENTE, :' +
+ 'FECHA_ALBARAN, :TIPO, :REFERENCIA,'#10' :REFERENCIA_CLIENTE, :ID' +
+ '_ALMACEN, :ID_PEDIDO, :ID_FACTURA, :CALLE,'#10' :CODIGO_POSTAL, ' +
+ ':POBLACION, :PROVINCIA, :PERSONA_CONTACTO,'#10' :TELEFONO, :IMPO' +
+ 'RTE_NETO, :IMPORTE_PORTE, :DESCUENTO, :IMPORTE_DESCUENTO,'#10' :' +
+ 'BASE_IMPONIBLE, :IVA, :IMPORTE_IVA, :IMPORTE_TOTAL, :OBSERVACION' +
+ 'ES,'#10' :INCIDENCIAS, :INCIDENCIAS_ACTIVAS, :FECHA_ALTA, :FECHA' +
+ '_MODIFICACION,'#10' :USUARIO, :ID_FORMA_PAGO, :FECHA_PREVISTA_EN' +
+ 'VIO, :FECHA_ENVIO, :FECHA_RECEPCION)'#10' '#10' '#10#10
StatementType = stSQL
ColumnMappings = <>
end>
@@ -740,10 +744,6 @@ object srvAlbaranesCliente: TsrvAlbaranesCliente
end
item
Params = <
- item
- Name = 'ID'
- Value = ''
- end
item
Name = 'ID_EMPRESA'
Value = ''
@@ -756,6 +756,10 @@ object srvAlbaranesCliente: TsrvAlbaranesCliente
Name = 'FECHA_ALBARAN'
Value = ''
end
+ item
+ Name = 'TIPO'
+ Value = ''
+ end
item
Name = 'REFERENCIA'
Value = ''
@@ -882,25 +886,25 @@ object srvAlbaranesCliente: TsrvAlbaranesCliente
Default = True
TargetTable = 'ALBARANES_CLIENTE'
SQL =
- 'UPDATE ALBARANES_CLIENTE'#10' SET '#10' ID = :ID,'#10' ID_EMPRESA = :' +
- 'ID_EMPRESA, '#10' ID_CLIENTE = :ID_CLIENTE, '#10' FECHA_ALBARAN = ' +
- ':FECHA_ALBARAN,'#10' REFERENCIA = :REFERENCIA, '#10' REFERENCIA_CL' +
- 'IENTE = :REFERENCIA_CLIENTE, '#10' ID_ALMACEN = :ID_ALMACEN,'#10' ' +
- 'ID_PEDIDO = :ID_PEDIDO,'#10' ID_FACTURA = :ID_FACTURA,'#10' CALLE ' +
- '= :CALLE,'#10' CODIGO_POSTAL = :CODIGO_POSTAL, '#10' POBLACION = :' +
- 'POBLACION, '#10' PROVINCIA = :PROVINCIA, '#10' PERSONA_CONTACTO = ' +
- ':PERSONA_CONTACTO, '#10' TELEFONO = :TELEFONO, '#10' IMPORTE_NETO ' +
- '= :IMPORTE_NETO, '#10' IMPORTE_PORTE = :IMPORTE_PORTE, '#10' DESCU' +
- 'ENTO = :DESCUENTO, '#10' IMPORTE_DESCUENTO = :IMPORTE_DESCUENTO, ' +
- #10' BASE_IMPONIBLE = :BASE_IMPONIBLE, '#10' IVA = :IVA, '#10' IMP' +
- 'ORTE_IVA = :IMPORTE_IVA, '#10' IMPORTE_TOTAL = :IMPORTE_TOTAL, '#10' ' +
- ' OBSERVACIONES = :OBSERVACIONES, '#10' INCIDENCIAS = :INCIDENCI' +
- 'AS, '#10' INCIDENCIAS_ACTIVAS = :INCIDENCIAS_ACTIVAS, '#10' FECHA_' +
- 'ALTA = :FECHA_ALTA, '#10' FECHA_MODIFICACION = :FECHA_MODIFICACIO' +
- 'N, '#10' USUARIO = :USUARIO, '#10' ID_FORMA_PAGO = :ID_FORMA_PAGO,' +
- ' '#10' FECHA_PREVISTA_ENVIO = :FECHA_PREVISTA_ENVIO, '#10' FECHA_E' +
- 'NVIO = :FECHA_ENVIO, '#10' FECHA_RECEPCION = :FECHA_RECEPCION'#10' W' +
- 'HERE'#10' (ID = :OLD_ID)'#10
+ 'UPDATE ALBARANES_CLIENTE'#10' SET '#10' ID_EMPRESA = :ID_EMPRESA,'#10' ' +
+ ' ID_CLIENTE = :ID_CLIENTE, '#10' FECHA_ALBARAN = :FECHA_ALBARAN,' +
+ #10' TIPO = :TIPO,'#10' REFERENCIA = :REFERENCIA, '#10' REFERENCIA' +
+ '_CLIENTE = :REFERENCIA_CLIENTE, '#10' ID_ALMACEN = :ID_ALMACEN,'#10' ' +
+ ' ID_PEDIDO = :ID_PEDIDO,'#10' ID_FACTURA = :ID_FACTURA,'#10' CAL' +
+ 'LE = :CALLE,'#10' CODIGO_POSTAL = :CODIGO_POSTAL, '#10' POBLACION ' +
+ '= :POBLACION, '#10' PROVINCIA = :PROVINCIA, '#10' PERSONA_CONTACTO' +
+ ' = :PERSONA_CONTACTO, '#10' TELEFONO = :TELEFONO, '#10' IMPORTE_NE' +
+ 'TO = :IMPORTE_NETO, '#10' IMPORTE_PORTE = :IMPORTE_PORTE, '#10' DE' +
+ 'SCUENTO = :DESCUENTO, '#10' IMPORTE_DESCUENTO = :IMPORTE_DESCUENT' +
+ 'O, '#10' BASE_IMPONIBLE = :BASE_IMPONIBLE, '#10' IVA = :IVA, '#10' ' +
+ 'IMPORTE_IVA = :IMPORTE_IVA, '#10' IMPORTE_TOTAL = :IMPORTE_TOTAL,' +
+ ' '#10' OBSERVACIONES = :OBSERVACIONES, '#10' INCIDENCIAS = :INCIDE' +
+ 'NCIAS, '#10' INCIDENCIAS_ACTIVAS = :INCIDENCIAS_ACTIVAS, '#10' FEC' +
+ 'HA_ALTA = :FECHA_ALTA, '#10' FECHA_MODIFICACION = :FECHA_MODIFICA' +
+ 'CION, '#10' USUARIO = :USUARIO, '#10' ID_FORMA_PAGO = :ID_FORMA_PA' +
+ 'GO, '#10' FECHA_PREVISTA_ENVIO = :FECHA_PREVISTA_ENVIO, '#10' FECH' +
+ 'A_ENVIO = :FECHA_ENVIO, '#10' FECHA_RECEPCION = :FECHA_RECEPCION'#10 +
+ ' WHERE'#10' (ID = :OLD_ID)'#10
StatementType = stSQL
ColumnMappings = <>
end>
diff --git a/Source/Modulos/Contactos/Data/uDataModuleClientes.dfm b/Source/Modulos/Contactos/Data/uDataModuleClientes.dfm
index f53d5462..ff0aea99 100644
--- a/Source/Modulos/Contactos/Data/uDataModuleClientes.dfm
+++ b/Source/Modulos/Contactos/Data/uDataModuleClientes.dfm
@@ -473,11 +473,20 @@ inherited DataModuleClientes: TDataModuleClientes
object tbl_GruposCliente: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
+ item
+ Name = 'ID'
+ DataType = datAutoInc
+ GeneratorName = 'GEN_CLIENTES_GRUPOS_ID'
+ Required = True
+ DictionaryEntry = 'GruposCliente_ID'
+ InPrimaryKey = True
+ end
item
Name = 'DESCRIPCION'
DataType = datString
Size = 255
- DisplayLabel = 'Descripci'#195#179'n'
+ DisplayLabel = 'Descripci'#243'n'
+ DictionaryEntry = 'GruposCliente_DESCRIPCION'
end>
Params = <>
StreamingOptions = [soDisableEventsWhileStreaming]
diff --git a/Source/Modulos/Contactos/Data/uDataModuleEmpleados.dfm b/Source/Modulos/Contactos/Data/uDataModuleEmpleados.dfm
index d80d16ea..fbc9a308 100644
--- a/Source/Modulos/Contactos/Data/uDataModuleEmpleados.dfm
+++ b/Source/Modulos/Contactos/Data/uDataModuleEmpleados.dfm
@@ -386,11 +386,20 @@ inherited DataModuleEmpleados: TDataModuleEmpleados
object tbl_GruposEmpleado: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
+ item
+ Name = 'ID'
+ DataType = datAutoInc
+ GeneratorName = 'GEN_EMPLEADOS_GRUPOS_ID'
+ Required = True
+ DictionaryEntry = 'GruposEmpleado_ID'
+ InPrimaryKey = True
+ end
item
Name = 'DESCRIPCION'
DataType = datString
Size = 255
- DisplayLabel = 'Descripci'#195#179'n'
+ DisplayLabel = 'Descripci'#243'n'
+ DictionaryEntry = 'GruposEmpleado_DESCRIPCION'
end>
Params = <>
StreamingOptions = [soDisableEventsWhileStreaming]
diff --git a/Source/Modulos/Contactos/Data/uDataModuleProveedores.dfm b/Source/Modulos/Contactos/Data/uDataModuleProveedores.dfm
index acc78d38..1b6a286f 100644
--- a/Source/Modulos/Contactos/Data/uDataModuleProveedores.dfm
+++ b/Source/Modulos/Contactos/Data/uDataModuleProveedores.dfm
@@ -13,11 +13,20 @@ inherited DataModuleProveedores: TDataModuleProveedores
object tbl_GruposProveedor: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
+ item
+ Name = 'ID'
+ DataType = datAutoInc
+ GeneratorName = 'GEN_PROVEEDORES_GRUPOS_ID'
+ Required = True
+ DictionaryEntry = 'GruposProveedor_ID'
+ InPrimaryKey = True
+ end
item
Name = 'DESCRIPCION'
DataType = datString
Size = 255
- DisplayLabel = 'Descripci'#195#179'n'
+ DisplayLabel = 'Descripci'#243'n'
+ DictionaryEntry = 'GruposProveedor_DESCRIPCION'
end>
Params = <>
StreamingOptions = [soDisableEventsWhileStreaming]
diff --git a/Source/Modulos/Contactos/Model/Contactos_model.dproj b/Source/Modulos/Contactos/Model/Contactos_model.dproj
index 9374c0a5..e85714a2 100644
--- a/Source/Modulos/Contactos/Model/Contactos_model.dproj
+++ b/Source/Modulos/Contactos/Model/Contactos_model.dproj
@@ -50,17 +50,16 @@
MainSource
-
-
-
-
-
+
+
+
+
@@ -70,11 +69,12 @@
+