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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
fConfigurarConexion
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 - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + +
fDialogBase
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 @@ +