Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 37185ea098 |
635
Build/Build.fbp5
635
Build/Build.fbp5
File diff suppressed because it is too large
Load Diff
0
Build/Build.fbw
Normal file
0
Build/Build.fbw
Normal file
@ -523,7 +523,6 @@ CREATE TABLE [RDX_DEVOLUCION_AJUSTES] (
|
||||
[COLOR] varchar(10) NOT NULL,
|
||||
[APROBADO] char(1) NULL,
|
||||
[FECHACAMBIO] datetime NULL,
|
||||
[CANT36] numeric(15, 0) NULL,
|
||||
[CANT38] numeric(15, 0) NULL,
|
||||
[CANT40] numeric(15, 0) NULL,
|
||||
[CANT42] numeric(15, 0) NULL,
|
||||
@ -568,7 +567,6 @@ CREATE TABLE [RDX_RECEPCION_AJUSTES] (
|
||||
[COLOR] varchar(10) NOT NULL,
|
||||
[APROBADO] char(1) NULL,
|
||||
[FECHACAMBIO] datetime NULL,
|
||||
[CANT36] numeric(15, 0) NULL,
|
||||
[CANT38] numeric(15, 0) NULL,
|
||||
[CANT40] numeric(15, 0) NULL,
|
||||
[CANT42] numeric(15, 0) NULL,
|
||||
@ -617,7 +615,6 @@ CREATE TABLE [RDX_TRASPASOS_AJUSTES] (
|
||||
[OBSERVACIONES] varchar(255) NULL,
|
||||
[CONTABILIZAR] char(1) NULL,
|
||||
[FECHACAMBIO] datetime NULL,
|
||||
[CANT36] numeric(15, 0) NULL,
|
||||
[CANT38] numeric(15, 0) NULL,
|
||||
[CANT40] numeric(15, 0) NULL,
|
||||
[CANT42] numeric(15, 0) NULL,
|
||||
@ -876,102 +873,6 @@ ON [RDX_VENTASEDI]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
|
||||
/*--------------- SQL ---------------*/
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_USUARIOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
|
||||
DROP TABLE [RDX_USUARIOS]
|
||||
GO
|
||||
|
||||
CREATE TABLE [RDX_USUARIOS](
|
||||
[ID] int NOT NULL,
|
||||
[USERNAME] varchar(30) NULL,
|
||||
[LOGIN] varchar(30) NULL,
|
||||
[PASS] varchar(255) NULL,
|
||||
[PASSEXPIRED] datetime NULL,
|
||||
[BLOQUEADO] smallint NULL,
|
||||
[EMAIL] varchar(150) NULL,
|
||||
[USERDAYSSUN] int NULL,
|
||||
[PRIVILEGED] int NULL,
|
||||
[TIPO] char(1) NULL,
|
||||
[ID_PERFIL] int NULL,
|
||||
[CHECKSUM] varchar(250) NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
ALTER TABLE [RDX_USUARIOS]
|
||||
ADD CONSTRAINT [RDX_USUARIOS_PK]
|
||||
PRIMARY KEY CLUSTERED ([ID])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_USUARIOS_EVENTOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
|
||||
DROP TABLE [RDX_USUARIOS_EVENTOS]
|
||||
GO
|
||||
|
||||
CREATE TABLE [RDX_USUARIOS_EVENTOS](
|
||||
[APLICACION] VARCHAR(250),
|
||||
[ID_USUARIO] INT,
|
||||
[FECHA] CHAR(10),
|
||||
[HORA] CHAR(8),
|
||||
[FORM] VARCHAR(250),
|
||||
[TITULO_FORM] VARCHAR(100),
|
||||
[EVENTO] VARCHAR(50),
|
||||
[NOTAS] TEXT,
|
||||
[TNAME] VARCHAR(20)
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_USUARIOS_LOGON]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
|
||||
DROP TABLE [RDX_USUARIOS_LOGON]
|
||||
GO
|
||||
|
||||
CREATE TABLE [RDX_USUARIOS_LOGON] (
|
||||
[LOGONID] CHAR(38) NOT NULL,
|
||||
[ID_USUARIO] INT,
|
||||
[APLICACION] VARCHAR(50),
|
||||
[EQUIPO] VARCHAR(50),
|
||||
[DATA] VARCHAR(14)
|
||||
)
|
||||
GO
|
||||
|
||||
ALTER TABLE [RDX_USUARIOS_LOGON]
|
||||
ADD CONSTRAINT [RDX_USUARIOS_LOGON_PK]
|
||||
PRIMARY KEY CLUSTERED ([LOGONID])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_PERMISOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
|
||||
DROP TABLE [RDX_PERMISOS]
|
||||
GO
|
||||
|
||||
|
||||
CREATE TABLE [RDX_PERMISOS] (
|
||||
[ID_USUARIO] INT,
|
||||
[MODULO] VARCHAR(50),
|
||||
[NOMBRECOMP] VARCHAR(50),
|
||||
[CHECKSUM] VARCHAR(250)
|
||||
)
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_PERMISOSEX]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
|
||||
DROP TABLE [RDX_PERMISOSEX]
|
||||
GO
|
||||
|
||||
|
||||
CREATE TABLE [RDX_PERMISOSEX] (
|
||||
[ID_USUARIO] INT,
|
||||
[MODULO] VARCHAR(50),
|
||||
[NOMBRECOMP] VARCHAR(50),
|
||||
[NOMBREFORM] VARCHAR(50),
|
||||
[CHECKSUM] VARCHAR(250)
|
||||
)
|
||||
GO
|
||||
|
||||
/* EOF */
|
||||
|
||||
|
||||
|
||||
@ -1,104 +1,79 @@
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_TRASPASOS_AJUSTES_DESGLOSADO]'))
|
||||
DROP VIEW [RDX_V_TRASPASOS_AJUSTES_DESGLOSADO]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_HOJAS_TRASPASOS]'))
|
||||
DROP VIEW [RDX_V_HOJAS_TRASPASOS]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO]'))
|
||||
DROP VIEW [RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_CONTROL_RECEPCION_DESGLOSADO]'))
|
||||
DROP VIEW [RDX_V_CONTROL_RECEPCION_DESGLOSADO]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_RECEPCION_AJUSTES_DESGLOSADO]'))
|
||||
DROP VIEW [RDX_V_RECEPCION_AJUSTES_DESGLOSADO]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_CONTROL_DEVOLUCIONES]'))
|
||||
DROP VIEW [RDX_V_CONTROL_DEVOLUCIONES]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_DEVOLUCIONES]'))
|
||||
DROP VIEW [RDX_V_DEVOLUCIONES]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_HOJAS_DEVOLUCIONES]'))
|
||||
DROP VIEW [RDX_V_HOJAS_DEVOLUCIONES]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_CONTROL_RECEPCION_ALBARANES]'))
|
||||
DROP VIEW [RDX_V_CONTROL_RECEPCION_ALBARANES]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_ALBARANES_PENDIENTES]'))
|
||||
DROP VIEW [RDX_V_ALBARANES_PENDIENTES]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_CONTROL_RECEPCION]'))
|
||||
DROP VIEW [RDX_V_CONTROL_RECEPCION]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_RECEPCION]'))
|
||||
DROP VIEW [RDX_V_RECEPCION]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_ALBARANES]'))
|
||||
DROP VIEW [RDX_V_ALBARANES]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_CONTROL_TRASPASOS]'))
|
||||
DROP VIEW [RDX_V_CONTROL_TRASPASOS]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_TRASPASOS]'))
|
||||
DROP VIEW [RDX_V_TRASPASOS]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_TRASPASO_SALIDA]'))
|
||||
DROP VIEW [RDX_V_TRASPASO_SALIDA]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_TRASPASO_ENTRADA]'))
|
||||
DROP VIEW [RDX_V_TRASPASO_ENTRADA]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_INVENTARIOEDI_TRASPASO_SALIDA]'))
|
||||
DROP VIEW [RDX_V_INVENTARIOEDI_TRASPASO_SALIDA]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA]'))
|
||||
DROP VIEW [RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_INVENTARIOEDI_TRASPASO]'))
|
||||
DROP VIEW [RDX_V_INVENTARIOEDI_TRASPASO]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA]'))
|
||||
DROP VIEW [RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_INVENTARIOEDI_RECEPCION]'))
|
||||
DROP VIEW [RDX_V_INVENTARIOEDI_RECEPCION]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_INVENTARIO_MAXFECHAS]'))
|
||||
DROP VIEW [RDX_V_INVENTARIO_MAXFECHAS]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_ULTIMO_INVENTARIO]'))
|
||||
DROP VIEW [RDX_V_ULTIMO_INVENTARIO]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_INVENTARIOEDI_PESADA]'))
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[RDX_V_INVENTARIOEDI_PESADA]'))
|
||||
DROP VIEW [RDX_V_INVENTARIOEDI_PESADA]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_INVENTARIOEDI]'))
|
||||
DROP VIEW [RDX_V_INVENTARIOEDI]
|
||||
GO
|
||||
|
||||
@ -367,9 +342,6 @@ SELECT
|
||||
FECHA = RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.FECHA,
|
||||
|
||||
/* CANTIDADES ENVIADAS DESDE EL CENTRO*/
|
||||
T36 = SUM(CASE WHEN RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.TALLA = 36 THEN
|
||||
ISNULL(RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.CANTIDAD, 0)
|
||||
END),
|
||||
T38 = SUM(CASE WHEN ((RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.TALLA = 38) OR (UPPER(RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.TALLA) = 'S')) THEN
|
||||
ISNULL(RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.CANTIDAD, 0)
|
||||
END),
|
||||
@ -420,9 +392,6 @@ SELECT
|
||||
FECHA = RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.FECHA,
|
||||
|
||||
/* CANTIDADES ENVIADAS DESDE EL CENTRO*/
|
||||
T36 = SUM(CASE WHEN RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.TALLA = 36 THEN
|
||||
ISNULL(RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.CANTIDAD, 0)
|
||||
END),
|
||||
T38 = SUM(CASE WHEN ((RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.TALLA = 38) OR (UPPER(RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.TALLA) = 'S')) THEN
|
||||
ISNULL(RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.CANTIDAD, 0)
|
||||
END),
|
||||
@ -469,7 +438,6 @@ SELECT
|
||||
PRODUCTO,
|
||||
COLOR,
|
||||
FECHA,
|
||||
T36,
|
||||
T38,
|
||||
T40,
|
||||
T42,
|
||||
@ -489,7 +457,6 @@ SELECT
|
||||
PRODUCTO,
|
||||
COLOR,
|
||||
FECHA,
|
||||
T36,
|
||||
T38,
|
||||
T40,
|
||||
T42,
|
||||
@ -518,7 +485,6 @@ SELECT
|
||||
RDX_V_TRASPASOS.CODIGO,
|
||||
RDX_V_TRASPASOS.PRODUCTO,
|
||||
RDX_V_TRASPASOS.COLOR,
|
||||
RDX_V_TRASPASOS.T36,
|
||||
RDX_V_TRASPASOS.T38,
|
||||
RDX_V_TRASPASOS.T40,
|
||||
RDX_V_TRASPASOS.T42,
|
||||
@ -526,7 +492,6 @@ SELECT
|
||||
RDX_V_TRASPASOS.T46,
|
||||
RDX_V_TRASPASOS.T48,
|
||||
RDX_V_TRASPASOS.TOTAL,
|
||||
TR36 = ISNULL(RDX_TRASPASOS_AJUSTES.CANT36, RDX_V_TRASPASOS.T36),
|
||||
TR38 = ISNULL(RDX_TRASPASOS_AJUSTES.CANT38, ISNULL(RDX_TRASPASOS_AJUSTES.CANT_S, RDX_V_TRASPASOS.T38)),
|
||||
TR40 = ISNULL(RDX_TRASPASOS_AJUSTES.CANT40, ISNULL(RDX_TRASPASOS_AJUSTES.CANT_M, RDX_V_TRASPASOS.T40)),
|
||||
TR42 = ISNULL(RDX_TRASPASOS_AJUSTES.CANT42, ISNULL(RDX_TRASPASOS_AJUSTES.CANT_L, RDX_V_TRASPASOS.T42)),
|
||||
@ -534,7 +499,6 @@ SELECT
|
||||
TR46 = ISNULL(RDX_TRASPASOS_AJUSTES.CANT46, RDX_V_TRASPASOS.T46),
|
||||
TR48 = ISNULL(RDX_TRASPASOS_AJUSTES.CANT48, RDX_V_TRASPASOS.T48),
|
||||
TOTAL_RECT =
|
||||
ISNULL(ISNULL(RDX_TRASPASOS_AJUSTES.CANT36, RDX_V_TRASPASOS.T36), 0) +
|
||||
ISNULL(ISNULL(RDX_TRASPASOS_AJUSTES.CANT38, ISNULL(RDX_TRASPASOS_AJUSTES.CANT_S, RDX_V_TRASPASOS.T38)), 0) +
|
||||
ISNULL(ISNULL(RDX_TRASPASOS_AJUSTES.CANT40, ISNULL(RDX_TRASPASOS_AJUSTES.CANT_M, RDX_V_TRASPASOS.T40)), 0) +
|
||||
ISNULL(ISNULL(RDX_TRASPASOS_AJUSTES.CANT42, ISNULL(RDX_TRASPASOS_AJUSTES.CANT_L, RDX_V_TRASPASOS.T42)), 0) +
|
||||
@ -561,28 +525,10 @@ SELECT
|
||||
FATURAMENTO.NOME_CLIFOR AS FILIAL,
|
||||
PRODUTOS_BARRA.CODIGO_BARRA,
|
||||
FATURAMENTO_PROD.PRODUTO AS CODIGO,
|
||||
FATURAMENTO_PROD.F1,
|
||||
FATURAMENTO_PROD.F2,
|
||||
FATURAMENTO_PROD.F3,
|
||||
FATURAMENTO_PROD.F4,
|
||||
FATURAMENTO_PROD.F5,
|
||||
FATURAMENTO_PROD.F6,
|
||||
PRODUCTO = PRODUTOS.DESC_PRODUTO,
|
||||
PRODUTOS_BARRA.COR_PRODUTO AS COLOR,
|
||||
PRODUTOS_BARRA.GRADE AS TALLA,
|
||||
CASE
|
||||
WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN
|
||||
CASE UPPER(PRODUTOS_BARRA.GRADE)
|
||||
WHEN '36' THEN F1
|
||||
WHEN '38' THEN F2
|
||||
WHEN '40' THEN F3
|
||||
WHEN '42' THEN F4
|
||||
WHEN '44' THEN F5
|
||||
WHEN '46' THEN F6
|
||||
WHEN '48' THEN F7
|
||||
END
|
||||
ELSE
|
||||
CASE UPPER(PRODUTOS_BARRA.GRADE)
|
||||
CANTIDAD = CASE UPPER(PRODUTOS_BARRA.GRADE)
|
||||
WHEN '38' THEN F1
|
||||
WHEN 'S' THEN F1
|
||||
WHEN '40' THEN F2
|
||||
@ -593,8 +539,7 @@ SELECT
|
||||
WHEN 'XL' THEN F4
|
||||
WHEN '46' THEN F5
|
||||
WHEN '48' THEN F6
|
||||
END
|
||||
END AS CANTIDAD,
|
||||
END,
|
||||
RDX_AJUSTES_ALBARAN.ESTADO,
|
||||
RDX_AJUSTES_ALBARAN.OBSERVACIONES,
|
||||
CONTABILIZAR = ISNULL(RDX_AJUSTES_ALBARAN.CONTABILIZAR, 'S')
|
||||
@ -604,28 +549,27 @@ INNER JOIN FATURAMENTO ON
|
||||
(FATURAMENTO.SERIE_NF = FATURAMENTO_PROD.SERIE_NF))
|
||||
INNER JOIN FATURAMENTO_TIPO ON
|
||||
(LTRIM(RTRIM(FATURAMENTO.TIPO_FATURAMENTO)) = FATURAMENTO_TIPO.TIPO_FATURAMENTO)
|
||||
INNER JOIN PRODUTOS ON
|
||||
(PRODUTOS.PRODUTO = FATURAMENTO_PROD.PRODUTO)
|
||||
LEFT OUTER JOIN PRODUTOS_BARRA ON
|
||||
(((PRODUTOS_BARRA.PRODUTO = FATURAMENTO_PROD.PRODUTO) AND
|
||||
(PRODUTOS_BARRA.COR_PRODUTO = FATURAMENTO_PROD.COR_PRODUTO)) AND
|
||||
((PRODUTOS_BARRA.GRADE = CASE WHEN (FATURAMENTO_PROD.F1 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '36' ELSE '38' END END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (FATURAMENTO_PROD.F1 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '36' ELSE 'S' END END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (FATURAMENTO_PROD.F2 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '38' ELSE '40' END END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (FATURAMENTO_PROD.F2 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '38' ELSE 'M' END END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (FATURAMENTO_PROD.F3 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '40' ELSE '42' END END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (FATURAMENTO_PROD.F3 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '40' ELSE 'L' END END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (FATURAMENTO_PROD.F4 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '42' ELSE '44' END END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (FATURAMENTO_PROD.F4 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '42' ELSE 'XL' END END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (FATURAMENTO_PROD.F5 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '44' ELSE '46' END END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (FATURAMENTO_PROD.F6 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '46' ELSE '48' END END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (FATURAMENTO_PROD.F7 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '48' ELSE NULL END END)))
|
||||
LEFT OUTER JOIN RDX_AJUSTES_ALBARAN ON
|
||||
(RDX_AJUSTES_ALBARAN.ALBARAN = FATURAMENTO.NF_SAIDA)
|
||||
LEFT OUTER JOIN FILIAIS ON
|
||||
(FILIAIS.FILIAL = FATURAMENTO.NOME_CLIFOR)
|
||||
LEFT OUTER JOIN RDX_FILIALES ON
|
||||
(RDX_FILIALES.CODFILIAL = FILIAIS.COD_FILIAL)
|
||||
LEFT OUTER JOIN PRODUTOS_BARRA ON
|
||||
(((PRODUTOS_BARRA.PRODUTO = FATURAMENTO_PROD.PRODUTO) AND
|
||||
(PRODUTOS_BARRA.COR_PRODUTO = FATURAMENTO_PROD.COR_PRODUTO)) AND
|
||||
((PRODUTOS_BARRA.GRADE = CASE WHEN (FATURAMENTO_PROD.F1 <> 0) THEN '38' END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (FATURAMENTO_PROD.F1 <> 0) THEN 'S' END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (FATURAMENTO_PROD.F2 <> 0) THEN '40' END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (FATURAMENTO_PROD.F2 <> 0) THEN 'M' END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (FATURAMENTO_PROD.F3 <> 0) THEN '42' END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (FATURAMENTO_PROD.F3 <> 0) THEN 'L' END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (FATURAMENTO_PROD.F4 <> 0) THEN '44' END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (FATURAMENTO_PROD.F4 <> 0) THEN 'XL' END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (FATURAMENTO_PROD.F5 <> 0) THEN '46' END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (FATURAMENTO_PROD.F6 <> 0) THEN '48' END)))
|
||||
LEFT OUTER JOIN PRODUTOS ON
|
||||
(PRODUTOS.PRODUTO = PRODUTOS_BARRA.PRODUTO)
|
||||
LEFT OUTER JOIN RDX_AJUSTES_ALBARAN ON
|
||||
(RDX_AJUSTES_ALBARAN.ALBARAN = FATURAMENTO.NF_SAIDA)
|
||||
WHERE FATURAMENTO_TIPO.INDICADOR_TIPO = 'VTPT' /* ALBARANES DE PRODUCTOS TERMINADOS */
|
||||
AND FATURAMENTO.NOME_CLIFOR LIKE '%INGLES%' /* ALBARANES PARA CENTROS DEL CORTE INGLES */
|
||||
AND FATURAMENTO.EMISSAO >= convert(datetime, '20060601', 112) /* PARA NO COGER AÑOS ANTERIORES */
|
||||
@ -649,9 +593,6 @@ SELECT
|
||||
CONTABILIZAR_ALBARAN = ISNULL(RDX_V_ALBARANES.CONTABILIZAR, 'S'),
|
||||
|
||||
/* CANTIDADES ENVIADAS DESDE VARELA */
|
||||
E36 = SUM(CASE WHEN RDX_V_ALBARANES.TALLA = 36 THEN
|
||||
ISNULL(RDX_V_ALBARANES.CANTIDAD, 0)
|
||||
END),
|
||||
E38 = SUM(CASE WHEN ((RDX_V_ALBARANES.TALLA = 38) OR (UPPER(RDX_V_ALBARANES.TALLA) = 'S')) THEN
|
||||
ISNULL(RDX_V_ALBARANES.CANTIDAD, 0)
|
||||
END),
|
||||
@ -678,9 +619,6 @@ SELECT
|
||||
),
|
||||
|
||||
/* CANTIDADES RECIBIDAS EN EL CENTRO*/
|
||||
R36 = SUM(CASE WHEN RDX_V_INVENTARIOEDI_RECEPCION.TALLA = 36 THEN
|
||||
ISNULL(RDX_V_INVENTARIOEDI_RECEPCION.CANTIDAD, 0)
|
||||
END),
|
||||
R38 = SUM(CASE WHEN ((RDX_V_INVENTARIOEDI_RECEPCION.TALLA = 38) OR (UPPER(RDX_V_INVENTARIOEDI_RECEPCION.TALLA) = 'S')) THEN
|
||||
ISNULL(RDX_V_INVENTARIOEDI_RECEPCION.CANTIDAD, 0)
|
||||
END),
|
||||
@ -748,13 +686,12 @@ SELECT
|
||||
RDX_V_RECEPCION.CONTABILIZAR_ALBARAN,
|
||||
|
||||
/* CANTIDADES ENVIADAS DESDE VARELA */
|
||||
E36, E38, E40, E42, E44, E46, E48, RDX_V_RECEPCION.ENVIADO,
|
||||
E38, E40, E42, E44, E46, E48, RDX_V_RECEPCION.ENVIADO,
|
||||
|
||||
/* CANTIDADES RECIBIDAS EN EL CENTRO*/
|
||||
R36, R38, R40, R42, R44, R46, R48, RDX_V_RECEPCION.RECIBIDO,
|
||||
R38, R40, R42, R44, R46, R48, RDX_V_RECEPCION.RECIBIDO,
|
||||
|
||||
/* CANTIDADES RECIBIDAS RECTIFICADAS */
|
||||
RR36 = ISNULL(RDX_RECEPCION_AJUSTES.CANT36, R36),
|
||||
RR38 = ISNULL(RDX_RECEPCION_AJUSTES.CANT38, ISNULL(RDX_RECEPCION_AJUSTES.CANT_S, R38)),
|
||||
RR40 = ISNULL(RDX_RECEPCION_AJUSTES.CANT40, ISNULL(RDX_RECEPCION_AJUSTES.CANT_M, R40)),
|
||||
RR42 = ISNULL(RDX_RECEPCION_AJUSTES.CANT42, ISNULL(RDX_RECEPCION_AJUSTES.CANT_L, R42)),
|
||||
@ -763,7 +700,6 @@ SELECT
|
||||
RR48 = ISNULL(RDX_RECEPCION_AJUSTES.CANT48, R48),
|
||||
|
||||
RECIBIDO_RECT =
|
||||
ISNULL(RDX_RECEPCION_AJUSTES.CANT36, ISNULL(R36, 0)) +
|
||||
ISNULL(RDX_RECEPCION_AJUSTES.CANT38, ISNULL(RDX_RECEPCION_AJUSTES.CANT_S, ISNULL(R38, 0))) +
|
||||
ISNULL(RDX_RECEPCION_AJUSTES.CANT40, ISNULL(RDX_RECEPCION_AJUSTES.CANT_M, ISNULL(R40, 0))) +
|
||||
ISNULL(RDX_RECEPCION_AJUSTES.CANT42, ISNULL(RDX_RECEPCION_AJUSTES.CANT_L, ISNULL(R42, 0))) +
|
||||
@ -772,7 +708,7 @@ SELECT
|
||||
ISNULL(RDX_RECEPCION_AJUSTES.CANT48, ISNULL(R48, 0)),
|
||||
|
||||
DIFERENCIA =
|
||||
( ISNULL(RDX_RECEPCION_AJUSTES.CANT46, ISNULL(R36, 0)) +
|
||||
(
|
||||
ISNULL(RDX_RECEPCION_AJUSTES.CANT38, ISNULL(RDX_RECEPCION_AJUSTES.CANT_S, ISNULL(R38, 0))) +
|
||||
ISNULL(RDX_RECEPCION_AJUSTES.CANT40, ISNULL(RDX_RECEPCION_AJUSTES.CANT_M, ISNULL(R40, 0))) +
|
||||
ISNULL(RDX_RECEPCION_AJUSTES.CANT42, ISNULL(RDX_RECEPCION_AJUSTES.CANT_L, ISNULL(R42, 0))) +
|
||||
@ -810,7 +746,7 @@ select RDX_V_CONTROL_RECEPCION.ALBARAN
|
||||
WHEN 'N' THEN 'PENDIENTE'
|
||||
WHEN 'S' THEN 'APROBADO'
|
||||
END
|
||||
, CENTRO, FILIAL, FECHA, CODIGO, PRODUCTO, COLOR, E36, E38, E40, E42, E44, E46, E48
|
||||
, CENTRO, FILIAL, FECHA, CODIGO, PRODUCTO, COLOR, E38, E40, E42, E44, E46, E48
|
||||
from RDX_V_CONTROL_RECEPCION
|
||||
left join RDX_V_ALBARANES_PENDIENTES
|
||||
on (RDX_V_CONTROL_RECEPCION.ALBARAN = RDX_V_ALBARANES_PENDIENTES.ALBARAN)
|
||||
@ -832,19 +768,7 @@ SELECT
|
||||
PRODUCTO = ISNULL(PRODUTOS.DESC_PRODUTO, '*** ERROR REFERENCIA ****'),
|
||||
PRODUTOS_BARRA.COR_PRODUTO AS COLOR,
|
||||
PRODUTOS_BARRA.GRADE AS TALLA,
|
||||
CASE
|
||||
WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN
|
||||
CASE UPPER(PRODUTOS_BARRA.GRADE)
|
||||
WHEN '36' THEN EN1
|
||||
WHEN '38' THEN EN2
|
||||
WHEN '40' THEN EN3
|
||||
WHEN '42' THEN EN4
|
||||
WHEN '44' THEN EN5
|
||||
WHEN '46' THEN EN6
|
||||
WHEN '48' THEN EN7
|
||||
END
|
||||
ELSE
|
||||
CASE UPPER(PRODUTOS_BARRA.GRADE)
|
||||
CANTIDAD = CASE UPPER(PRODUTOS_BARRA.GRADE)
|
||||
WHEN '38' THEN EN1
|
||||
WHEN 'S' THEN EN1
|
||||
WHEN '40' THEN EN2
|
||||
@ -855,28 +779,26 @@ SELECT
|
||||
WHEN 'XL' THEN EN4
|
||||
WHEN '46' THEN EN5
|
||||
WHEN '48' THEN EN6
|
||||
END
|
||||
END AS CANTIDAD,
|
||||
END,
|
||||
RDX_AJUSTES_HOJA_DEVOLUCIONES.ESTADO,
|
||||
RDX_AJUSTES_HOJA_DEVOLUCIONES.OBSERVACIONES,
|
||||
CONTABILIZAR = ISNULL(RDX_AJUSTES_HOJA_DEVOLUCIONES.CONTABILIZAR, 'S')
|
||||
FROM LOJA_SAIDAS_PRODUTO
|
||||
INNER JOIN LOJA_SAIDAS ON (LOJA_SAIDAS.ROMANEIO_PRODUTO = LOJA_SAIDAS_PRODUTO.ROMANEIO_PRODUTO)
|
||||
INNER JOIN PRODUTOS on (PRODUTOS.PRODUTO = LOJA_SAIDAS_PRODUTO.PRODUTO)
|
||||
INNER JOIN PRODUTOS_BARRA on
|
||||
(((PRODUTOS_BARRA.PRODUTO = LOJA_SAIDAS_PRODUTO.PRODUTO) AND
|
||||
(PRODUTOS_BARRA.COR_PRODUTO = LOJA_SAIDAS_PRODUTO.COR_PRODUTO)) AND
|
||||
((PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN1 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '36' ELSE '38' END END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN1 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '36' ELSE 'S' END END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN2 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '38' ELSE '40' END END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN2 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '38' ELSE 'M' END END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN3 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '40' ELSE '42' END END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN3 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '40' ELSE 'L' END END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN4 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '42' ELSE '44' END END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN4 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '42' ELSE 'XL' END END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN5 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '44' ELSE '46' END END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN6 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '46' ELSE '48' END END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN7 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '48' ELSE NULL END END)))
|
||||
((PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN1 <> 0) THEN '38' END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN1 <> 0) THEN 'S' END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN2 <> 0) THEN '40' END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN2 <> 0) THEN 'M' END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN3 <> 0) THEN '42' END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN3 <> 0) THEN 'L' END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN4 <> 0) THEN '44' END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN4 <> 0) THEN 'XL' END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN5 <> 0) THEN '46' END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN6 <> 0) THEN '48' END)))
|
||||
INNER JOIN PRODUTOS on (PRODUTOS.PRODUTO = PRODUTOS_BARRA.PRODUTO)
|
||||
INNER JOIN FILIAIS AS FILIAIS_ORI ON (FILIAIS_ORI.FILIAL = LOJA_SAIDAS.FILIAL)
|
||||
INNER JOIN RDX_FILIALES AS RDX_FILIALES_ORI ON (RDX_FILIALES_ORI.CODFILIAL = FILIAIS_ORI.COD_FILIAL)
|
||||
INNER JOIN FILIAIS AS FILIAIS_DES ON (FILIAIS_DES.FILIAL = LOJA_SAIDAS.FILIAL_DESTINO)
|
||||
@ -906,9 +828,6 @@ SELECT
|
||||
CONTABILIZAR_HOJA = ISNULL(RDX_V_HOJAS_DEVOLUCIONES.CONTABILIZAR, 'S'),
|
||||
|
||||
/* CANTIDADES SOLICITADAS DESDE VARELA */
|
||||
S36 = SUM(CASE WHEN RDX_V_HOJAS_DEVOLUCIONES.TALLA = 36 THEN
|
||||
ISNULL(RDX_V_HOJAS_DEVOLUCIONES.CANTIDAD, 0)
|
||||
END),
|
||||
S38 = SUM(CASE WHEN ((RDX_V_HOJAS_DEVOLUCIONES.TALLA = 38) OR (RDX_V_HOJAS_DEVOLUCIONES.TALLA = 'S')) THEN
|
||||
ISNULL(RDX_V_HOJAS_DEVOLUCIONES.CANTIDAD, 0)
|
||||
END),
|
||||
@ -935,9 +854,6 @@ SELECT
|
||||
),
|
||||
|
||||
/* CANTIDADES ENVIADAS DESDE EL CENTRO*/
|
||||
E36 = SUM(CASE WHEN RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.TALLA = 36 THEN
|
||||
ISNULL(RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.CANTIDAD, 0)
|
||||
END),
|
||||
E38 = SUM(CASE WHEN ((RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.TALLA = 38) OR (RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.TALLA = 'S')) THEN
|
||||
ISNULL(RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.CANTIDAD, 0)
|
||||
END),
|
||||
@ -1005,13 +921,12 @@ SELECT
|
||||
RDX_V_DEVOLUCIONES.CONTABILIZAR_HOJA,
|
||||
|
||||
/* CANTIDADES SOLICITADAS DESDE VARELA */
|
||||
S36, S38, S40, S42, S44, S46, S48, RDX_V_DEVOLUCIONES.SOLICITADO,
|
||||
S38, S40, S42, S44, S46, S48, RDX_V_DEVOLUCIONES.SOLICITADO,
|
||||
|
||||
/* CANTIDADES ENVIADAS DESDE EL CENTRO*/
|
||||
E36, E38, E40, E42, E44, E46, E48, RDX_V_DEVOLUCIONES.ENVIADO,
|
||||
E38, E40, E42, E44, E46, E48, RDX_V_DEVOLUCIONES.ENVIADO,
|
||||
|
||||
/* CANTIDADES ENVIADAS RECTIFICADAS */
|
||||
ER36 = ISNULL(RDX_DEVOLUCION_AJUSTES.CANT36, E36),
|
||||
ER38 = ISNULL(RDX_DEVOLUCION_AJUSTES.CANT38, ISNULL(RDX_DEVOLUCION_AJUSTES.CANT_S, E38)),
|
||||
ER40 = ISNULL(RDX_DEVOLUCION_AJUSTES.CANT40, ISNULL(RDX_DEVOLUCION_AJUSTES.CANT_M, E40)),
|
||||
ER42 = ISNULL(RDX_DEVOLUCION_AJUSTES.CANT42, ISNULL(RDX_DEVOLUCION_AJUSTES.CANT_L, E42)),
|
||||
@ -1020,7 +935,6 @@ SELECT
|
||||
ER48 = ISNULL(RDX_DEVOLUCION_AJUSTES.CANT48, E48),
|
||||
|
||||
ENVIADO_RECT =
|
||||
ISNULL(RDX_DEVOLUCION_AJUSTES.CANT36, ISNULL(E36, 0)) +
|
||||
ISNULL(RDX_DEVOLUCION_AJUSTES.CANT38, ISNULL(RDX_DEVOLUCION_AJUSTES.CANT_S, ISNULL(E38, 0))) +
|
||||
ISNULL(RDX_DEVOLUCION_AJUSTES.CANT40, ISNULL(RDX_DEVOLUCION_AJUSTES.CANT_M, ISNULL(E40, 0))) +
|
||||
ISNULL(RDX_DEVOLUCION_AJUSTES.CANT42, ISNULL(RDX_DEVOLUCION_AJUSTES.CANT_L, ISNULL(E42, 0))) +
|
||||
@ -1030,7 +944,6 @@ SELECT
|
||||
|
||||
DIFERENCIA =
|
||||
(
|
||||
ISNULL(RDX_DEVOLUCION_AJUSTES.CANT46, ISNULL(E36, 0)) +
|
||||
ISNULL(RDX_DEVOLUCION_AJUSTES.CANT38, ISNULL(RDX_DEVOLUCION_AJUSTES.CANT_S, ISNULL(E38, 0))) +
|
||||
ISNULL(RDX_DEVOLUCION_AJUSTES.CANT40, ISNULL(RDX_DEVOLUCION_AJUSTES.CANT_M, ISNULL(E40, 0))) +
|
||||
ISNULL(RDX_DEVOLUCION_AJUSTES.CANT42, ISNULL(RDX_DEVOLUCION_AJUSTES.CANT_L, ISNULL(E42, 0))) +
|
||||
@ -1060,7 +973,6 @@ SELECT
|
||||
RDX_RECEPCION_AJUSTES.COLOR,
|
||||
RDX_TALLAS.TALLA,
|
||||
CANTIDAD = CASE UPPER(RDX_TALLAS.TALLA)
|
||||
WHEN '36' THEN RDX_RECEPCION_AJUSTES.CANT36
|
||||
WHEN '38' THEN RDX_RECEPCION_AJUSTES.CANT38
|
||||
WHEN '40' THEN RDX_RECEPCION_AJUSTES.CANT40
|
||||
WHEN '42' THEN RDX_RECEPCION_AJUSTES.CANT42
|
||||
@ -1077,7 +989,6 @@ LEFT OUTER JOIN RDX_FILIALES ON (RDX_FILIALES.CODBARRA = RDX_RECEPCION_AJUSTES.C
|
||||
LEFT OUTER JOIN FILIAIS ON (FILIAIS.COD_FILIAL = RDX_FILIALES.CODFILIAL)
|
||||
LEFT OUTER JOIN PRODUTOS ON (PRODUTOS.PRODUTO = RDX_RECEPCION_AJUSTES.CODIGO)
|
||||
WHERE CASE RDX_TALLAS.TALLA
|
||||
WHEN '36' THEN RDX_RECEPCION_AJUSTES.CANT36
|
||||
WHEN '38' THEN RDX_RECEPCION_AJUSTES.CANT38
|
||||
WHEN '40' THEN RDX_RECEPCION_AJUSTES.CANT40
|
||||
WHEN '42' THEN RDX_RECEPCION_AJUSTES.CANT42
|
||||
@ -1135,7 +1046,6 @@ SELECT
|
||||
RDX_DEVOLUCION_AJUSTES.COLOR,
|
||||
RDX_TALLAS.TALLA,
|
||||
CANTIDAD = CASE RDX_TALLAS.TALLA
|
||||
WHEN '36' THEN RDX_DEVOLUCION_AJUSTES.CANT36
|
||||
WHEN '38' THEN RDX_DEVOLUCION_AJUSTES.CANT38
|
||||
WHEN '40' THEN RDX_DEVOLUCION_AJUSTES.CANT40
|
||||
WHEN '42' THEN RDX_DEVOLUCION_AJUSTES.CANT42
|
||||
@ -1152,7 +1062,6 @@ LEFT OUTER JOIN RDX_FILIALES ON (RDX_FILIALES.CODBARRA = RDX_DEVOLUCION_AJUSTES.
|
||||
LEFT OUTER JOIN FILIAIS ON (FILIAIS.COD_FILIAL = RDX_FILIALES.CODFILIAL)
|
||||
LEFT OUTER JOIN PRODUTOS ON (PRODUTOS.PRODUTO = RDX_DEVOLUCION_AJUSTES.CODIGO)
|
||||
WHERE CASE RDX_TALLAS.TALLA
|
||||
WHEN '36' THEN RDX_DEVOLUCION_AJUSTES.CANT36
|
||||
WHEN '38' THEN RDX_DEVOLUCION_AJUSTES.CANT38
|
||||
WHEN '40' THEN RDX_DEVOLUCION_AJUSTES.CANT40
|
||||
WHEN '42' THEN RDX_DEVOLUCION_AJUSTES.CANT42
|
||||
@ -1182,7 +1091,6 @@ SELECT
|
||||
PRODUTOS_BARRA.COR_PRODUTO AS COLOR,
|
||||
PRODUTOS_BARRA.GRADE AS TALLA,
|
||||
CANTIDAD = CASE UPPER(PRODUTOS_BARRA.GRADE)
|
||||
WHEN '36' THEN EN7
|
||||
WHEN '38' THEN EN1
|
||||
WHEN 'S' THEN EN1
|
||||
WHEN '40' THEN EN2
|
||||
@ -1199,8 +1107,7 @@ INNER JOIN LOJA_SAIDAS ON (LOJA_SAIDAS.ROMANEIO_PRODUTO = LOJA_SAIDAS_PRODUTO.RO
|
||||
INNER JOIN PRODUTOS_BARRA on
|
||||
(((PRODUTOS_BARRA.PRODUTO = LOJA_SAIDAS_PRODUTO.PRODUTO) AND
|
||||
(PRODUTOS_BARRA.COR_PRODUTO = LOJA_SAIDAS_PRODUTO.COR_PRODUTO)) AND
|
||||
((PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN7 <> 0) THEN '36' END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN1 <> 0) THEN '38' END) OR
|
||||
((PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN1 <> 0) THEN '38' END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN1 <> 0) THEN 'S' END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN2 <> 0) THEN '40' END) OR
|
||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN2 <> 0) THEN 'M' END) OR
|
||||
@ -1234,7 +1141,6 @@ SELECT
|
||||
RDX_TRASPASOS_AJUSTES.COLOR,
|
||||
RDX_TALLAS.TALLA,
|
||||
CANTIDAD = CASE UPPER(RDX_TALLAS.TALLA)
|
||||
WHEN '36' THEN RDX_TRASPASOS_AJUSTES.CANT36
|
||||
WHEN '38' THEN RDX_TRASPASOS_AJUSTES.CANT38
|
||||
WHEN '40' THEN RDX_TRASPASOS_AJUSTES.CANT40
|
||||
WHEN '42' THEN RDX_TRASPASOS_AJUSTES.CANT42
|
||||
@ -1253,7 +1159,6 @@ LEFT OUTER JOIN RDX_FILIALES AS RDX_FILIALES2 ON (RDX_FILIALES2.CODBARRA = RDX_T
|
||||
LEFT OUTER JOIN FILIAIS AS FILIAIS2 ON (FILIAIS2.COD_FILIAL = RDX_FILIALES2.CODFILIAL)
|
||||
LEFT OUTER JOIN PRODUTOS ON (PRODUTOS.PRODUTO = RDX_TRASPASOS_AJUSTES.CODIGO)
|
||||
WHERE CASE RDX_TALLAS.TALLA
|
||||
WHEN '36' THEN RDX_TRASPASOS_AJUSTES.CANT36
|
||||
WHEN '38' THEN RDX_TRASPASOS_AJUSTES.CANT38
|
||||
WHEN '40' THEN RDX_TRASPASOS_AJUSTES.CANT40
|
||||
WHEN '42' THEN RDX_TRASPASOS_AJUSTES.CANT42
|
||||
|
||||
@ -1,36 +1,28 @@
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_VENTASTERMINADAS]'))
|
||||
DROP VIEW [RDX_V_VENTASTERMINADAS]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_VENTASPROCESOPENDIENTES]'))
|
||||
DROP VIEW [RDX_V_VENTASPROCESOPENDIENTES]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_VENTASPROCESO]'))
|
||||
DROP VIEW [RDX_V_VENTASPROCESO]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_REFERENCIA_GENERICA]'))
|
||||
DROP VIEW [RDX_V_REFERENCIA_GENERICA]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_VENTASEDI_ERRONEAS]'))
|
||||
DROP VIEW [RDX_V_VENTASEDI_ERRONEAS]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_VENTASEDI_RESUELTAS]'))
|
||||
DROP VIEW [RDX_V_VENTASEDI_RESUELTAS]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_REFERENCIAS_RESUELTAS]'))
|
||||
DROP VIEW [RDX_V_REFERENCIAS_RESUELTAS]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_VENTASEDI_PESADA]'))
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[RDX_V_VENTASEDI_PESADA]'))
|
||||
DROP VIEW [RDX_V_VENTASEDI_PESADA]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_VENTASEDI]'))
|
||||
DROP VIEW [RDX_V_VENTASEDI]
|
||||
GO
|
||||
|
||||
@ -149,13 +141,11 @@ SELECT
|
||||
GRUPO_PRODUTO = ISNULL(PRODUTOS.GRUPO_PRODUTO, RDX_V_VENTASEDI.GRUPO_PRODUTO),
|
||||
PRODUTOS.COLECAO,
|
||||
DESC_COLECAO = ISNULL(COLECOES.DESC_COLECAO, RDX_V_VENTASEDI.DESC_COLECAO),
|
||||
VALVEN = ISNULL(RDX_V_REFERENCIAS_RESUELTAS.VALVEN, RDX_V_VENTASEDI.VALVEN),
|
||||
CANVEN = ISNULL(RDX_V_REFERENCIAS_RESUELTAS.CANVEN, RDX_V_VENTASEDI.CANVEN),
|
||||
RDX_V_VENTASEDI.VALVEN,
|
||||
RDX_V_VENTASEDI.CANVEN,
|
||||
RDX_V_VENTASEDI.CANDEV,
|
||||
CANVENNET = ISNULL(RDX_V_REFERENCIAS_RESUELTAS.CANVENNET, RDX_V_VENTASEDI.CANVENNET),
|
||||
|
||||
CANESP = ISNULL(RDX_V_REFERENCIAS_RESUELTAS.CANESP, RDX_V_VENTASEDI.CANESP)
|
||||
|
||||
RDX_V_VENTASEDI.CANVENNET,
|
||||
RDX_V_VENTASEDI.CANESP
|
||||
FROM RDX_V_VENTASEDI
|
||||
LEFT JOIN RDX_V_REFERENCIAS_RESUELTAS ON (
|
||||
(RDX_V_REFERENCIAS_RESUELTAS.NUMINF = RDX_V_VENTASEDI.NUMINF) AND
|
||||
@ -290,7 +280,6 @@ SELECT
|
||||
COLECAO AS COLECCION,
|
||||
COR_PRODUTO AS COLOR,
|
||||
GRADE AS TALLA,
|
||||
TALLA36 = CASE WHEN (GRADE = 36) THEN ISNULL(CANVEN, 0) + ISNULL(CANVENNET, 0) ELSE NULL END,
|
||||
TALLA38 = CASE WHEN ((GRADE = 38) OR (UPPER(GRADE) = 'S')) THEN ISNULL(CANVEN, 0) + ISNULL(CANVENNET, 0) ELSE NULL END,
|
||||
TALLA40 = CASE WHEN ((GRADE = 40) OR (UPPER(GRADE) = 'M')) THEN ISNULL(CANVEN, 0) + ISNULL(CANVENNET, 0) ELSE NULL END,
|
||||
TALLA42 = CASE WHEN ((GRADE = 42) OR (UPPER(GRADE) = 'L')) THEN ISNULL(CANVEN, 0) + ISNULL(CANVENNET, 0) ELSE NULL END,
|
||||
|
||||
@ -1,32 +1,17 @@
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_CONTROL_INVENTARIO]'))
|
||||
DROP VIEW [RDX_V_CONTROL_INVENTARIO]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_INVENTARIO_STOCK_DESGLOSADO]'))
|
||||
DROP VIEW [RDX_V_INVENTARIO_STOCK_DESGLOSADO]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_STOCK_CALCULADO_DESGLOSADO]'))
|
||||
DROP VIEW [RDX_V_STOCK_CALCULADO_DESGLOSADO]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_STOCK_CALCULADO]'))
|
||||
DROP VIEW [RDX_V_STOCK_CALCULADO]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_STOCK]'))
|
||||
DROP VIEW [RDX_V_STOCK]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_STOCK_VENTAS]'))
|
||||
DROP VIEW [RDX_V_STOCK_VENTAS]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_STOCK_INVENTARIO]'))
|
||||
DROP VIEW [RDX_V_STOCK_INVENTARIO]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_STOCK_VARELA]'))
|
||||
DROP VIEW [RDX_V_STOCK_VARELA]
|
||||
GO
|
||||
|
||||
@ -41,14 +26,14 @@ SELECT ESTOQUE_PRODUTOS.FILIAL,
|
||||
PRODUTOS.TIPO_PRODUTO,
|
||||
PRODUTOS.GRUPO_PRODUTO,
|
||||
COLECCION = PRODUTOS.COLECAO,
|
||||
CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN ESTOQUE_PRODUTOS.ES1 ELSE 0 END AS K36,
|
||||
CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN ESTOQUE_PRODUTOS.ES2 ELSE ESTOQUE_PRODUTOS.ES1 END AS K38,
|
||||
CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN ESTOQUE_PRODUTOS.ES3 ELSE ESTOQUE_PRODUTOS.ES2 END AS K40,
|
||||
CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN ESTOQUE_PRODUTOS.ES4 ELSE ESTOQUE_PRODUTOS.ES3 END AS K42,
|
||||
CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN ESTOQUE_PRODUTOS.ES5 ELSE ESTOQUE_PRODUTOS.ES4 END AS K44,
|
||||
CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN ESTOQUE_PRODUTOS.ES6 ELSE ESTOQUE_PRODUTOS.ES5 END AS K46,
|
||||
CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN ESTOQUE_PRODUTOS.ES7 ELSE ESTOQUE_PRODUTOS.ES6 END AS K48,
|
||||
ESTOQUE_PRODUTOS.ES1 as K38,
|
||||
ESTOQUE_PRODUTOS.ES2 as K40,
|
||||
ESTOQUE_PRODUTOS.ES3 as K42,
|
||||
ESTOQUE_PRODUTOS.ES4 as K44,
|
||||
ESTOQUE_PRODUTOS.ES5 as K46,
|
||||
ESTOQUE_PRODUTOS.ES6 as K48,
|
||||
ESTOQUE_PRODUTOS.ESTOQUE as KT
|
||||
|
||||
FROM ESTOQUE_PRODUTOS
|
||||
LEFT OUTER JOIN PRODUTOS ON (PRODUTOS.PRODUTO = ESTOQUE_PRODUTOS.PRODUTO)
|
||||
WHERE FILIAL LIKE '%VARELA IMAGEN Y DISEÑO%'
|
||||
@ -94,7 +79,8 @@ FULL OUTER JOIN RDX_V_TRASPASOS_AJUSTES_DESGLOSADO ON
|
||||
(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.CODIGO = RDX_V_INVENTARIOEDI.CODIGO) AND
|
||||
(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.COLOR = RDX_V_INVENTARIOEDI.COLOR) AND
|
||||
(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.TALLA = RDX_V_INVENTARIOEDI.TALLA) AND
|
||||
(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.FECHA = RDX_V_INVENTARIOEDI.FECHA)
|
||||
(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.FECHA = RDX_V_INVENTARIOEDI.FECHA) AND
|
||||
(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.TIPO = RDX_V_INVENTARIOEDI.TIPOCANT)
|
||||
FULL OUTER JOIN RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO ON
|
||||
(RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.CENTRO = RDX_V_INVENTARIOEDI.CENTRO) AND
|
||||
(RDX_V_INVENTARIOEDI.CENTRO = RDX_V_INVENTARIOEDI.CENTRO2) AND
|
||||
@ -149,24 +135,6 @@ SELECT
|
||||
GRUPO_PRODUCTO = PRODUTOS.GRUPO_PRODUTO,
|
||||
COLECCION = PRODUTOS.COLECAO,
|
||||
COLOR = ISNULL(RDX_V_STOCK_INVENTARIO.COLOR, RDX_V_STOCK_VENTAS.COLOR),
|
||||
E36 = SUM(CASE ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA)
|
||||
WHEN '36' THEN
|
||||
CASE RDX_V_STOCK_INVENTARIO.OPERACION
|
||||
WHEN 'RM' THEN 0
|
||||
WHEN 'R' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
|
||||
WHEN 'E' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
+
|
||||
CASE
|
||||
WHEN (RDX_V_STOCK_VENTAS.CANTIDAD < 0) THEN
|
||||
RDX_V_STOCK_VENTAS.CANTIDAD * (-1)
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
END),
|
||||
|
||||
E38 = SUM(CASE
|
||||
WHEN ((ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA) = '38') OR (UPPER(ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA)) = 'S')) THEN
|
||||
CASE RDX_V_STOCK_INVENTARIO.OPERACION
|
||||
@ -275,24 +243,6 @@ SELECT
|
||||
END
|
||||
END),
|
||||
|
||||
S36 = SUM(CASE ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA)
|
||||
WHEN '36' THEN
|
||||
CASE RDX_V_STOCK_INVENTARIO.OPERACION
|
||||
WHEN 'D' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
|
||||
WHEN 'S' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
|
||||
WHEN 'T' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
+
|
||||
CASE
|
||||
WHEN (RDX_V_STOCK_VENTAS.CANTIDAD > 0) THEN
|
||||
RDX_V_STOCK_VENTAS.CANTIDAD * (-1)
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
END),
|
||||
|
||||
S38 = SUM(CASE
|
||||
WHEN ((ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA) = '38') OR (UPPER(ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA)) = 'S')) THEN
|
||||
CASE RDX_V_STOCK_INVENTARIO.OPERACION
|
||||
@ -435,30 +385,27 @@ SELECT
|
||||
GRUPO_PRODUCTO,
|
||||
COLECCION,
|
||||
COLOR,
|
||||
E36,
|
||||
E38,
|
||||
E40,
|
||||
E42,
|
||||
E44,
|
||||
E46,
|
||||
E48,
|
||||
TE = ISNULL(E36, 0) + ISNULL(E38, 0) + ISNULL(E40, 0) + ISNULL(E42, 0) + ISNULL(E44, 0) + ISNULL(E46, 0) + ISNULL(E48, 0),
|
||||
S36,
|
||||
TE = ISNULL(E38, 0) + ISNULL(E40, 0) + ISNULL(E42, 0) + ISNULL(E44, 0) + ISNULL(E46, 0) + ISNULL(E48, 0),
|
||||
S38,
|
||||
S40,
|
||||
S42,
|
||||
S44,
|
||||
S46,
|
||||
S48,
|
||||
TS = ISNULL(S36, 0) + ISNULL(S38, 0) + ISNULL(S40, 0) + ISNULL(S42, 0) + ISNULL(S44, 0) + ISNULL(S46, 0) + ISNULL(S48, 0),
|
||||
K36 = ISNULL(E36, 0) + ISNULL(S36, 0),
|
||||
TS = ISNULL(S38, 0) + ISNULL(S40, 0) + ISNULL(S42, 0) + ISNULL(S44, 0) + ISNULL(S46, 0) + ISNULL(S48, 0),
|
||||
K38 = ISNULL(E38, 0) + ISNULL(S38, 0),
|
||||
K40 = ISNULL(E40, 0) + ISNULL(S40, 0),
|
||||
K42 = ISNULL(E42, 0) + ISNULL(S42, 0),
|
||||
K44 = ISNULL(E44, 0) + ISNULL(S44, 0),
|
||||
K46 = ISNULL(E46, 0) + ISNULL(S46, 0),
|
||||
K48 = ISNULL(E48, 0) + ISNULL(S48, 0),
|
||||
KT = ISNULL(E36, 0) + ISNULL(E38, 0) + ISNULL(S38, 0) + ISNULL(E40, 0) + ISNULL(S40, 0) +
|
||||
KT = ISNULL(E38, 0) + ISNULL(S38, 0) + ISNULL(E40, 0) + ISNULL(S40, 0) +
|
||||
ISNULL(E42, 0) + ISNULL(S42, 0) + ISNULL(E44, 0) + ISNULL(S44, 0) +
|
||||
ISNULL(E46, 0) + ISNULL(S46, 0) + ISNULL(E48, 0) + ISNULL(S48, 0)
|
||||
|
||||
@ -481,7 +428,6 @@ SELECT FECHA,
|
||||
COLOR,
|
||||
RDX_TALLAS.TALLA,
|
||||
CANTIDAD = CASE RDX_TALLAS.TALLA
|
||||
WHEN '36' THEN RDX_V_STOCK_CALCULADO.K36
|
||||
WHEN '38' THEN RDX_V_STOCK_CALCULADO.K38
|
||||
WHEN '40' THEN RDX_V_STOCK_CALCULADO.K40
|
||||
WHEN '42' THEN RDX_V_STOCK_CALCULADO.K42
|
||||
@ -537,13 +483,7 @@ select
|
||||
TIPO_PRODUCTO,
|
||||
GRUPO_PRODUCTO,
|
||||
COLECCION,
|
||||
I36 = SUM(CASE TALLA
|
||||
WHEN '36' THEN
|
||||
CANTIDAD_INVENTARIO
|
||||
ELSE 0
|
||||
END)
|
||||
|
||||
,I38 = SUM(CASE TALLA
|
||||
I38 = SUM(CASE TALLA
|
||||
WHEN '38' THEN
|
||||
CANTIDAD_INVENTARIO
|
||||
ELSE 0
|
||||
@ -579,12 +519,6 @@ select
|
||||
ELSE 0
|
||||
END)
|
||||
|
||||
,K36 = SUM(CASE TALLA
|
||||
WHEN '36' THEN
|
||||
CANTIDAD_STOCK
|
||||
ELSE 0
|
||||
END)
|
||||
|
||||
,K38 = SUM(CASE TALLA
|
||||
WHEN '38' THEN
|
||||
CANTIDAD_STOCK
|
||||
|
||||
@ -113,7 +113,7 @@ BEGIN
|
||||
VENDEDOR = ISNULL(LTRIM(RTRIM(LOJA_VENDEDORES.NOME_VENDEDOR)) + ' ' + LTRIM(RTRIM(LOJA_VENDEDORES.VENDEDOR_APELIDO)), RDX_ARTVEN.EANVEN),
|
||||
RDX_ARTVEN.EANART,
|
||||
RDX_ARTVEN.CODCOM,
|
||||
ISNULL(produtos.PRODUTO, '107CH.EN.01') AS PRODUTO,
|
||||
produtos.PRODUTO,
|
||||
ISNULL(produtos.DESC_PRODUTO, '*** ERROR REFERENCIA **** LLAMAR AL CI') AS DESC_PRODUTO,
|
||||
PRODUTOS_BARRA.COR_PRODUTO,
|
||||
PRODUTOS_BARRA.GRADE,
|
||||
@ -126,6 +126,7 @@ BEGIN
|
||||
RDX_ARTVEN.CANVENNET,
|
||||
RDX_ARTVEN.CANESP,
|
||||
RDX_CABVEN.IGNORAR
|
||||
|
||||
FROM
|
||||
RDX_ARTVEN
|
||||
INNER JOIN RDX_LUGVEN ON (RDX_ARTVEN.CLAVE1 = RDX_LUGVEN.CLAVE1 AND RDX_ARTVEN.CLAVE2 = RDX_LUGVEN.CLAVE2)
|
||||
@ -138,7 +139,8 @@ BEGIN
|
||||
LEFT OUTER JOIN COLECOES on (COLECOES.COLECAO = PRODUTOS.COLECAO)
|
||||
WHERE RDX_CABVEN.CARGADO IS NULL
|
||||
|
||||
IF @@error = 0
|
||||
|
||||
IF @@ERROR = 0
|
||||
UPDATE RDX_CABVEN SET
|
||||
CARGADO = 1
|
||||
WHERE CARGADO IS NULL
|
||||
|
||||
@ -1,44 +0,0 @@
|
||||
INSERT INTO [RDX_TALLAS] ([TALLA], [TIPO_TALLAJE])
|
||||
VALUES (N'38', 1)
|
||||
GO
|
||||
|
||||
INSERT INTO [RDX_TALLAS] ([TALLA], [TIPO_TALLAJE])
|
||||
VALUES (N'40', 1)
|
||||
GO
|
||||
|
||||
INSERT INTO [RDX_TALLAS] ([TALLA], [TIPO_TALLAJE])
|
||||
VALUES (N'42', 1)
|
||||
GO
|
||||
|
||||
INSERT INTO [RDX_TALLAS] ([TALLA], [TIPO_TALLAJE])
|
||||
VALUES (N'44', 1)
|
||||
GO
|
||||
|
||||
INSERT INTO [RDX_TALLAS] ([TALLA], [TIPO_TALLAJE])
|
||||
VALUES (N'46', 1)
|
||||
GO
|
||||
|
||||
INSERT INTO [RDX_TALLAS] ([TALLA], [TIPO_TALLAJE])
|
||||
VALUES (N'48', 1)
|
||||
GO
|
||||
|
||||
INSERT INTO [RDX_TALLAS] ([TALLA], [TIPO_TALLAJE])
|
||||
VALUES (N'S', 2)
|
||||
GO
|
||||
|
||||
INSERT INTO [RDX_TALLAS] ([TALLA], [TIPO_TALLAJE])
|
||||
VALUES (N'M', 2)
|
||||
GO
|
||||
|
||||
INSERT INTO [RDX_TALLAS] ([TALLA], [TIPO_TALLAJE])
|
||||
VALUES (N'L', 2)
|
||||
GO
|
||||
|
||||
INSERT INTO [RDX_TALLAS] ([TALLA], [TIPO_TALLAJE])
|
||||
VALUES (N'XL', 2)
|
||||
GO
|
||||
|
||||
INSERT INTO [RDX_TALLAS] ([TALLA], [TIPO_TALLAJE])
|
||||
VALUES (N'36', 1)
|
||||
GO
|
||||
|
||||
178
Database/ANTERIOR/Script Datos.sql
Normal file
178
Database/ANTERIOR/Script Datos.sql
Normal file
@ -0,0 +1,178 @@
|
||||
--------------- SQL ---------------
|
||||
CREATE USER [usuario_gft]
|
||||
FOR LOGIN [usuario_gft]
|
||||
WITH DEFAULT_SCHEMA = [dbo]
|
||||
GO
|
||||
|
||||
COMMIT
|
||||
GO
|
||||
|
||||
INSERT INTO [RDX_FILIALES] ([CODFILIAL], [CODBARRA])
|
||||
VALUES
|
||||
('010082','8422416200065')
|
||||
GO
|
||||
|
||||
INSERT INTO [RDX_FILIALES] ([CODFILIAL], [CODBARRA])
|
||||
VALUES
|
||||
('010083','8422416200058')
|
||||
GO
|
||||
|
||||
INSERT INTO [RDX_FILIALES] ([CODFILIAL], [CODBARRA])
|
||||
VALUES
|
||||
('010086','8422416200041')
|
||||
GO
|
||||
|
||||
INSERT INTO [RDX_FILIALES] ([CODFILIAL], [CODBARRA])
|
||||
VALUES
|
||||
('010089','8422416200102')
|
||||
GO
|
||||
|
||||
INSERT INTO [RDX_FILIALES] ([CODFILIAL], [CODBARRA])
|
||||
VALUES
|
||||
('010090','8422416200126')
|
||||
GO
|
||||
|
||||
INSERT INTO [RDX_FILIALES] ([CODFILIAL], [CODBARRA])
|
||||
VALUES
|
||||
('010091','8422416200133')
|
||||
GO
|
||||
|
||||
INSERT INTO [RDX_FILIALES] ([CODFILIAL], [CODBARRA])
|
||||
VALUES
|
||||
('010092','8422416200188')
|
||||
GO
|
||||
|
||||
INSERT INTO [RDX_FILIALES] ([CODFILIAL], [CODBARRA])
|
||||
VALUES
|
||||
('010244','8422416101256')
|
||||
GO
|
||||
|
||||
INSERT INTO [RDX_FILIALES] ([CODFILIAL], [CODBARRA])
|
||||
VALUES
|
||||
('010094','8422416200959')
|
||||
GO
|
||||
|
||||
INSERT INTO [RDX_FILIALES] ([CODFILIAL], [CODBARRA])
|
||||
VALUES
|
||||
('010096','8422416209068')
|
||||
GO
|
||||
|
||||
INSERT INTO [RDX_FILIALES] ([CODFILIAL], [CODBARRA])
|
||||
VALUES
|
||||
('010088','8422416200089')
|
||||
GO
|
||||
|
||||
INSERT INTO [RDX_FILIALES] ([CODFILIAL], [CODBARRA])
|
||||
VALUES
|
||||
('010103','8422416200140')
|
||||
GO
|
||||
|
||||
INSERT INTO [RDX_FILIALES] ([CODFILIAL], [CODBARRA])
|
||||
VALUES
|
||||
('010087','8422416200072')
|
||||
GO
|
||||
|
||||
INSERT INTO [RDX_FILIALES] ([CODFILIAL], [CODBARRA])
|
||||
VALUES
|
||||
('000001','8435159800003')
|
||||
GO
|
||||
|
||||
COMMIT
|
||||
GO
|
||||
|
||||
|
||||
|
||||
--------------- SQL ---------------
|
||||
CREATE TABLE [RDX_TALLAS] (
|
||||
[TALLA] char(2) NOT NULL
|
||||
)
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_TALLAS]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
INSERT INTO [RDX_TALLAS] ([TALLA])
|
||||
VALUES
|
||||
('38')
|
||||
GO
|
||||
|
||||
INSERT INTO [RDX_TALLAS] ([TALLA])
|
||||
VALUES
|
||||
('40')
|
||||
GO
|
||||
|
||||
INSERT INTO [RDX_TALLAS] ([TALLA])
|
||||
VALUES
|
||||
('42')
|
||||
GO
|
||||
|
||||
INSERT INTO [RDX_TALLAS] ([TALLA])
|
||||
VALUES
|
||||
('44')
|
||||
GO
|
||||
|
||||
INSERT INTO [RDX_TALLAS] ([TALLA])
|
||||
VALUES
|
||||
('46')
|
||||
GO
|
||||
|
||||
INSERT INTO [RDX_TALLAS] ([TALLA])
|
||||
VALUES
|
||||
('48')
|
||||
GO
|
||||
|
||||
COMMIT
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* Códigos de barra de ECI que son referencias nulas */
|
||||
|
||||
INSERT INTO [PRODUTOS_BARRA] ([CODIGO_BARRA], [PRODUTO], [COR_PRODUTO], [TAMANHO], [GRADE], [DATA_PARA_TRANSFERENCIA], [CODIGO_BARRA_PADRAO], [NOME_CLIFOR])
|
||||
VALUES
|
||||
('61800000000','107CH.EN.01','300',1,'38',CURRENT_TIMESTAMP,0,NULL)
|
||||
GO
|
||||
|
||||
INSERT INTO [PRODUTOS_BARRA] ([CODIGO_BARRA], [PRODUTO], [COR_PRODUTO], [TAMANHO], [GRADE], [DATA_PARA_TRANSFERENCIA], [CODIGO_BARRA_PADRAO], [NOME_CLIFOR])
|
||||
VALUES
|
||||
('61810001406','107CH.EN.01','300',1,'38',CURRENT_TIMESTAMP,0,NULL)
|
||||
GO
|
||||
|
||||
INSERT INTO [PRODUTOS_BARRA] ([CODIGO_BARRA], [PRODUTO], [COR_PRODUTO], [TAMANHO], [GRADE], [DATA_PARA_TRANSFERENCIA], [CODIGO_BARRA_PADRAO], [NOME_CLIFOR])
|
||||
VALUES
|
||||
('61810001547','107CH.EN.01','300',1,'38',CURRENT_TIMESTAMP,0,NULL)
|
||||
GO
|
||||
|
||||
INSERT INTO [PRODUTOS_BARRA] ([CODIGO_BARRA], [PRODUTO], [COR_PRODUTO], [TAMANHO], [GRADE], [DATA_PARA_TRANSFERENCIA], [CODIGO_BARRA_PADRAO], [NOME_CLIFOR])
|
||||
VALUES
|
||||
('61810001042','107CH.EN.01','300',1,'38',CURRENT_TIMESTAMP,0,NULL)
|
||||
GO
|
||||
|
||||
INSERT INTO [PRODUTOS_BARRA] ([CODIGO_BARRA], [PRODUTO], [COR_PRODUTO], [TAMANHO], [GRADE], [DATA_PARA_TRANSFERENCIA], [CODIGO_BARRA_PADRAO], [NOME_CLIFOR])
|
||||
VALUES
|
||||
('61810001141','107CH.EN.01','300',1,'38',CURRENT_TIMESTAMP,0,NULL)
|
||||
GO
|
||||
|
||||
INSERT INTO [PRODUTOS_BARRA] ([CODIGO_BARRA], [PRODUTO], [COR_PRODUTO], [TAMANHO], [GRADE], [DATA_PARA_TRANSFERENCIA], [CODIGO_BARRA_PADRAO], [NOME_CLIFOR])
|
||||
VALUES
|
||||
('8300733557232','107CH.EN.01','300',1,'38',CURRENT_TIMESTAMP,0,NULL)
|
||||
GO
|
||||
|
||||
COMMIT
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
519
Database/ANTERIOR/Script Tablas.sql
Normal file
519
Database/ANTERIOR/Script Tablas.sql
Normal file
@ -0,0 +1,519 @@
|
||||
--------------- SQL ---------------
|
||||
CREATE TABLE [RDX_CABINV] (
|
||||
[NUMDOC] varchar(25) NOT NULL,
|
||||
[TIPODOC] varchar(3) NULL,
|
||||
[TIPOLIQ] varchar(3) NULL,
|
||||
[FECHA] datetime NULL,
|
||||
[FECHALIQ] datetime NULL,
|
||||
[EMISOR] varchar(17) NULL,
|
||||
[RECEPTOR] varchar(17) NULL,
|
||||
[DPTO] varchar(3) NULL,
|
||||
[CENTRO] varchar(17) NULL,
|
||||
[FECHA_CARGA] datetime NULL
|
||||
)
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_CABINV]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
ALTER TABLE [RDX_CABINV]
|
||||
ADD PRIMARY KEY CLUSTERED ([NUMDOC])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_CABINV_idx] ON [RDX_CABINV]
|
||||
([FECHALIQ])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_CABINV_idx2] ON [RDX_CABINV]
|
||||
([CENTRO])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
--------------- SQL ---------------
|
||||
CREATE TABLE [RDX_LININV] (
|
||||
[NUMDOC] varchar(25) NOT NULL,
|
||||
[NUMLIN] numeric(6, 0) NOT NULL,
|
||||
[CODART] varchar(17) NULL,
|
||||
[FAMILIA] varchar(17) NULL,
|
||||
[BARRA] varchar(17) NULL,
|
||||
[TALLA] varchar(17) NULL,
|
||||
[MARCA] varchar(25) NULL,
|
||||
[TAMANO] varchar(25) NULL,
|
||||
[SERIE] varchar(25) NULL,
|
||||
[COLOR] varchar(25) NULL,
|
||||
[MODELO] varchar(25) NULL,
|
||||
[DIBUJO] varchar(25) NULL,
|
||||
[DESCRIP] varchar(70) NULL
|
||||
)
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_LININV]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
ALTER TABLE [RDX_LININV]
|
||||
ADD PRIMARY KEY CLUSTERED ([NUMDOC], [NUMLIN])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_LININV_idx] ON [RDX_LININV]
|
||||
([CODART])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
--------------- SQL ---------------
|
||||
CREATE TABLE [RDX_CANTINV] (
|
||||
[NUMDOC] varchar(25) NOT NULL,
|
||||
[NUMLIN] numeric(6, 0) NOT NULL,
|
||||
[NUMCANT] numeric(6, 0) NOT NULL,
|
||||
[TIPOCANT] varchar(3) NULL,
|
||||
[CANTIDAD] numeric(15, 0) NULL,
|
||||
[CENTRO] varchar(17) NULL,
|
||||
[TMOV] varchar(3) NULL,
|
||||
[FACT] varchar(12) NULL,
|
||||
[DEPTO] varchar(3) NULL,
|
||||
[IDVEN] varchar(10) NULL
|
||||
)
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_CANTINV]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
ALTER TABLE [RDX_CANTINV]
|
||||
ADD PRIMARY KEY CLUSTERED ([NUMDOC], [NUMLIN], [NUMCANT])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_CANTINV_idx] ON [RDX_CANTINV]
|
||||
([TIPOCANT])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_CANTINV_idx2] ON [RDX_CANTINV]
|
||||
([IDVEN])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
--------------- SQL ---------------
|
||||
CREATE TABLE [RDX_CABVEN] (
|
||||
[CLAVE1] numeric(10, 0) NOT NULL,
|
||||
[NUMINF] varchar(35) NULL,
|
||||
[FUNCION] varchar(10) NULL,
|
||||
[FECINI] datetime NULL,
|
||||
[FECFIN] datetime NULL,
|
||||
[FECINF] datetime NULL,
|
||||
[PERVENINI] datetime NULL,
|
||||
[PERVENFIN] datetime NULL,
|
||||
[EANOFI] varchar(17) NULL,
|
||||
[EANEMI] varchar(17) NULL,
|
||||
[EANREC] varchar(17) NULL,
|
||||
[EANVEN] varchar(17) NULL,
|
||||
[EANALM] varchar(17) NULL,
|
||||
[EANREP] varchar(17) NULL,
|
||||
[EANPRO] varchar(17) NULL,
|
||||
[EANADMSA] varchar(17) NULL,
|
||||
[EANREPSR] varchar(17) NULL,
|
||||
[ADMVENSA] varchar(35) NULL,
|
||||
[REPDEPSR] varchar(35) NULL,
|
||||
[EMAILSA] varchar(35) NULL,
|
||||
[NUMFAXSA] varchar(35) NULL,
|
||||
[NUMTELSA] varchar(35) NULL,
|
||||
[NUMTLXSA] varchar(35) NULL,
|
||||
[X400SA] varchar(35) NULL,
|
||||
[EMAILSR] varchar(35) NULL,
|
||||
[NUMFAXSR] varchar(35) NULL,
|
||||
[NUMTELSR] varchar(35) NULL,
|
||||
[NUMTLXSR] varchar(35) NULL,
|
||||
[X400SR] varchar(35) NULL,
|
||||
[NUMPRE] varchar(35) NULL,
|
||||
[NUMINFSC] varchar(35) NULL,
|
||||
[NUMCON] varchar(35) NULL,
|
||||
[FECPRE] datetime NULL,
|
||||
[FECINFSC] datetime NULL,
|
||||
[FECCON] datetime NULL,
|
||||
[DIVPED] varchar(3) NULL,
|
||||
[DIVPRE] varchar(3) NULL,
|
||||
[DIVPAG] varchar(3) NULL,
|
||||
[DIVPEDF] varchar(3) NULL,
|
||||
[DIVPREF] varchar(3) NULL,
|
||||
[DIVPAGF] varchar(3) NULL,
|
||||
[TASCAM] numeric(15, 3) NULL,
|
||||
[FECTAS] datetime NULL,
|
||||
[FECHA_CARGA] datetime NULL
|
||||
)
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_CABVEN]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
ALTER TABLE [RDX_CABVEN]
|
||||
ADD PRIMARY KEY CLUSTERED ([CLAVE1])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
--------------- SQL ---------------
|
||||
CREATE TABLE [RDX_LUGVEN] (
|
||||
[CLAVE1] numeric(10, 0) NOT NULL,
|
||||
[CLAVE2] numeric(5, 0) NOT NULL,
|
||||
[EANLUG] varchar(17) NULL,
|
||||
[LUGVEN] varchar(70) NULL,
|
||||
[FECINI] datetime NULL,
|
||||
[FECFIN] datetime NULL,
|
||||
[PERVENINI] datetime NULL,
|
||||
[PERVENFIN] datetime NULL
|
||||
)
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_LUGVEN]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
ALTER TABLE [RDX_LUGVEN]
|
||||
ADD PRIMARY KEY CLUSTERED ([CLAVE1], [CLAVE2])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_LUGVEN_PERVENINI_IDX] ON [RDX_LUGVEN]
|
||||
([PERVENINI])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
ALTER TABLE [RDX_LUGVEN]
|
||||
ADD CONSTRAINT [FK__RDX_LUGVE__CLAVE__4A59F0B5] FOREIGN KEY ([CLAVE1])
|
||||
REFERENCES [RDX_CABVEN] ([CLAVE1])
|
||||
ON UPDATE CASCADE
|
||||
ON DELETE CASCADE
|
||||
GO
|
||||
|
||||
ALTER TABLE [RDX_LUGVEN]
|
||||
NOCHECK CONSTRAINT [FK__RDX_LUGVE__CLAVE__4A59F0B5]
|
||||
GO
|
||||
|
||||
--------------- SQL ---------------
|
||||
CREATE TABLE [RDX_ARTVEN] (
|
||||
[CLAVE1] numeric(10, 0) NOT NULL,
|
||||
[CLAVE2] numeric(5, 0) NOT NULL,
|
||||
[CLAVE3] numeric(5, 0) NOT NULL,
|
||||
[EANART] varchar(17) NULL,
|
||||
[CODCOM] varchar(35) NULL,
|
||||
[NUMVAR] varchar(35) NULL,
|
||||
[CODPRO] varchar(35) NULL,
|
||||
[DESARTCO] varchar(35) NULL,
|
||||
[DESART] varchar(70) NULL,
|
||||
[NUMCON] varchar(35) NULL,
|
||||
[NUMLIS] varchar(35) NULL,
|
||||
[CONESP1] varchar(3) NULL,
|
||||
[CONESP2] varchar(3) NULL,
|
||||
[CONESP3] varchar(3) NULL,
|
||||
[VALVEN] numeric(15, 3) NULL,
|
||||
[PRENETCT] numeric(15, 3) NULL,
|
||||
[PREBRUCT] numeric(15, 3) NULL,
|
||||
[PREINFET] numeric(15, 3) NULL,
|
||||
[PREINFFT] numeric(15, 3) NULL,
|
||||
[PRECALCT] numeric(15, 3) NULL,
|
||||
[PRENETCA] numeric(15, 3) NULL,
|
||||
[PREBRUCA] numeric(15, 3) NULL,
|
||||
[PREINFEA] numeric(15, 3) NULL,
|
||||
[PREINFFA] numeric(15, 3) NULL,
|
||||
[PRECALCA] numeric(15, 3) NULL,
|
||||
[BAPRUN1] numeric(9, 0) NULL,
|
||||
[UNIMED1] varchar(3) NULL,
|
||||
[BAPRUN2] numeric(9, 0) NULL,
|
||||
[UNIMED2] varchar(3) NULL,
|
||||
[BAPRUN3] numeric(9, 0) NULL,
|
||||
[UNIMED3] varchar(3) NULL,
|
||||
[BAPRUN4] numeric(9, 0) NULL,
|
||||
[UNIMED4] varchar(3) NULL,
|
||||
[BAPRUN5] numeric(9, 0) NULL,
|
||||
[UNIMED5] varchar(3) NULL,
|
||||
[CANVEN] numeric(15, 3) NULL,
|
||||
[EXIPRO] numeric(15, 3) NULL,
|
||||
[DESEXI] numeric(15, 3) NULL,
|
||||
[ESPMEDCV] varchar(3) NULL,
|
||||
[ESPMEDEP] varchar(3) NULL,
|
||||
[ESPMEDDE] varchar(3) NULL,
|
||||
[CANDEV] numeric(15, 3) NULL,
|
||||
[EANVEN] varchar(17) NULL,
|
||||
[NOMVEN] varchar(70) NULL,
|
||||
[NUMTALON] varchar(35) NULL,
|
||||
[CANVENNET] numeric(15, 3) NULL,
|
||||
[UMEDVENNET] varchar(3) NULL,
|
||||
[CANESP] numeric(15, 3) NULL,
|
||||
[UMEDESP] varchar(3) NULL
|
||||
)
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_ARTVEN]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
ALTER TABLE [RDX_ARTVEN]
|
||||
ADD PRIMARY KEY CLUSTERED ([CLAVE1], [CLAVE2], [CLAVE3])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
ALTER TABLE [RDX_ARTVEN]
|
||||
ADD CONSTRAINT [FK__RDX_ARTVEN__56BFC79A] FOREIGN KEY ([CLAVE1], [CLAVE2])
|
||||
REFERENCES [RDX_LUGVEN] ([CLAVE1], [CLAVE2])
|
||||
ON UPDATE CASCADE
|
||||
ON DELETE CASCADE
|
||||
GO
|
||||
|
||||
ALTER TABLE [RDX_ARTVEN]
|
||||
NOCHECK CONSTRAINT [FK__RDX_ARTVEN__56BFC79A]
|
||||
GO
|
||||
|
||||
--------------- SQL ---------------
|
||||
CREATE TABLE [RDX_INFORMES] (
|
||||
[ID] smallint IDENTITY(1, 1) NOT NULL,
|
||||
[CATEGORIA] varchar(15) NULL,
|
||||
[ICONO] smallint NULL,
|
||||
[NOMBRE] varchar(50) NULL,
|
||||
[DESCRIPCION] varchar(255) NULL,
|
||||
[ORDEN] smallint NULL,
|
||||
[VISTA] text NULL,
|
||||
[MODIFICABLE] char(1) CONSTRAINT [DF__RDX_INFOR__MODIF__5C78A0F0] DEFAULT 'S' NOT NULL
|
||||
)
|
||||
ON [PRIMARY]
|
||||
TEXTIMAGE_ON [PRIMARY]
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_INFORMES]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
ALTER TABLE [RDX_INFORMES]
|
||||
ADD CONSTRAINT [RDX_INFORMES_pk]
|
||||
PRIMARY KEY CLUSTERED ([ID])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
--------------- SQL ---------------
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_ARTVEN]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_CABINV]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_CABVEN]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_CANTINV]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_LININV]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_LUGVEN]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
|
||||
--------------- SQL ---------------
|
||||
CREATE TABLE [RDX_LOG_CARGA] (
|
||||
[ID] int IDENTITY(1, 1) NOT NULL,
|
||||
[REPORT] varchar(10) NOT NULL,
|
||||
[FECHA] datetime NOT NULL,
|
||||
[OK] bit NOT NULL,
|
||||
[ERROR_MSG] varchar(255) NULL
|
||||
)
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_LOG_CARGA]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
ALTER TABLE [RDX_LOG_CARGA]
|
||||
ADD UNIQUE NONCLUSTERED ([ID])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
--------------- SQL ---------------
|
||||
CREATE TABLE [RDX_REFERENCIA_GENERICA] (
|
||||
[NUMINF] varchar(35) NOT NULL,
|
||||
[CLAVE1] numeric(10, 0) NOT NULL,
|
||||
[CLAVE2] numeric(5, 0) NOT NULL,
|
||||
[CLAVE3] numeric(5, 0) NOT NULL,
|
||||
[FECHACAMBIO] datetime NOT NULL,
|
||||
[ESTADO] char(1) NOT NULL,
|
||||
[CODIGO_BARRA] varchar(25) NULL
|
||||
)
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_REFERENCIA_GENERICA]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
ALTER TABLE [RDX_REFERENCIA_GENERICA]
|
||||
ADD CONSTRAINT [PK__RDX_REFERENCIA_G__68DE77D5]
|
||||
PRIMARY KEY CLUSTERED ([NUMINF], [CLAVE1], [CLAVE2], [CLAVE3])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
--------------- SQL ---------------
|
||||
CREATE TABLE [RDX_AJUSTES_ALBARAN] (
|
||||
[ALBARAN] char(7) NOT NULL,
|
||||
[ESTADO] varchar(15) NULL,
|
||||
[OBSERVACIONES] varchar(255) NULL,
|
||||
[CONTABILIZAR] char(1) NULL
|
||||
)
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_AJUSTES_ALBARAN]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
ALTER TABLE [RDX_AJUSTES_ALBARAN]
|
||||
ADD CONSTRAINT [PK__RDX_AJUSTES_ALBA__1B69F7A2]
|
||||
PRIMARY KEY CLUSTERED ([ALBARAN])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
--------------- SQL ---------------
|
||||
CREATE TABLE [RDX_AJUSTES_HOJA_DEVOLUCIONES] (
|
||||
[NUMHOJA] char(8) NOT NULL,
|
||||
[ESTADO] varchar(20) NULL,
|
||||
[OBSERVACIONES] varchar(255) NULL,
|
||||
[CONTABILIZAR] char(1) CONSTRAINT [DF__RDX_AJUST__CONTA__7BF14C49] DEFAULT 'S' NULL
|
||||
)
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_AJUSTES_HOJA_DEVOLUCIONES]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
ALTER TABLE [RDX_AJUSTES_HOJA_DEVOLUCIONES]
|
||||
ADD CONSTRAINT [PK__RDX_AJUSTES_HOJA__483C9E19]
|
||||
PRIMARY KEY CLUSTERED ([NUMHOJA])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
--------------- SQL ---------------
|
||||
CREATE TABLE [RDX_DEVOLUCION_AJUSTES] (
|
||||
[FECHA] datetime NOT NULL,
|
||||
[CENTRO] varchar(17) NOT NULL,
|
||||
[CODIGO] varchar(12) NOT NULL,
|
||||
[COLOR] varchar(10) NOT NULL,
|
||||
[APROBADO] char(1) NULL,
|
||||
[FECHACAMBIO] datetime NULL,
|
||||
[CANT38] numeric(15, 0) NULL,
|
||||
[CANT40] numeric(15, 0) NULL,
|
||||
[CANT42] numeric(15, 0) NULL,
|
||||
[CANT44] numeric(15, 0) NULL,
|
||||
[CANT46] numeric(15, 0) NULL,
|
||||
[CANT48] numeric(15, 0) NULL
|
||||
)
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_DEVOLUCION_AJUSTES]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
ALTER TABLE [RDX_DEVOLUCION_AJUSTES]
|
||||
ADD CONSTRAINT [PK_RDX_DEVOLUCION_AJUSTES_2F70F04A]
|
||||
PRIMARY KEY CLUSTERED ([FECHA], [CENTRO], [CODIGO], [COLOR])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
--------------- SQL ---------------
|
||||
CREATE TABLE [RDX_RECEPCION_AJUSTES] (
|
||||
[FECHA] datetime NOT NULL,
|
||||
[CENTRO] varchar(17) NOT NULL,
|
||||
[CODIGO] varchar(12) NOT NULL,
|
||||
[COLOR] varchar(10) NOT NULL,
|
||||
[APROBADO] char(1) NULL,
|
||||
[FECHACAMBIO] datetime NULL,
|
||||
[CANT38] numeric(15, 0) NULL,
|
||||
[CANT40] numeric(15, 0) NULL,
|
||||
[CANT42] numeric(15, 0) NULL,
|
||||
[CANT44] numeric(15, 0) NULL,
|
||||
[CANT46] numeric(15, 0) NULL,
|
||||
[CANT48] numeric(15, 0) NULL
|
||||
)
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_RECEPCION_AJUSTES]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
ALTER TABLE [RDX_RECEPCION_AJUSTES]
|
||||
ADD CONSTRAINT [PK_RDX_RECEPCION_AJUSTES_2F70F04F]
|
||||
PRIMARY KEY CLUSTERED ([FECHA], [CENTRO], [CODIGO], [COLOR])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
--------------- SQL ---------------
|
||||
CREATE TABLE [RDX_TRASPASOS_AJUSTES] (
|
||||
[FECHA] datetime NOT NULL,
|
||||
[CENTRO] varchar(17) NOT NULL,
|
||||
[CENTRO2] varchar(17) NOT NULL,
|
||||
[CODIGO] varchar(12) NOT NULL,
|
||||
[COLOR] varchar(10) NOT NULL,
|
||||
[APROBADO] char(1) NULL,
|
||||
[ESTADO] varchar(20) NULL,
|
||||
[OBSERVACIONES] varchar(255) NULL,
|
||||
[CONTABILIZAR] char(1) NULL,
|
||||
[FECHACAMBIO] datetime NULL,
|
||||
[CANT38] numeric(15, 0) NULL,
|
||||
[CANT40] numeric(15, 0) NULL,
|
||||
[CANT42] numeric(15, 0) NULL,
|
||||
[CANT44] numeric(15, 0) NULL,
|
||||
[CANT46] numeric(15, 0) NULL,
|
||||
[CANT48] numeric(15, 0) NULL,
|
||||
[TIPOCANT] varchar(3) NOT NULL
|
||||
)
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_TRASPASOS_AJUSTES]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
ALTER TABLE [RDX_TRASPASOS_AJUSTES]
|
||||
ADD CONSTRAINT [PK_RDX_TRASPASOS_AJUSTES_2F70F04A]
|
||||
PRIMARY KEY CLUSTERED ([FECHA], [CENTRO], [CENTRO2], [CODIGO], [COLOR], [TIPOCANT])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
1156
Database/ANTERIOR/Script Vistas INVRPT.sql
Normal file
1156
Database/ANTERIOR/Script Vistas INVRPT.sql
Normal file
File diff suppressed because it is too large
Load Diff
431
Database/ANTERIOR/Script Vistas STOCK.sql
Normal file
431
Database/ANTERIOR/Script Vistas STOCK.sql
Normal file
@ -0,0 +1,431 @@
|
||||
--
|
||||
-- Definition for view RDX_V_STOCK_VARELA :
|
||||
--
|
||||
|
||||
CREATE VIEW RDX_V_STOCK_VARELA AS
|
||||
SELECT ESTOQUE_PRODUTOS.FILIAL,
|
||||
ESTOQUE_PRODUTOS.PRODUTO AS CODIGO,
|
||||
ESTOQUE_PRODUTOS.COR_PRODUTO AS COLOR,
|
||||
PRODUCTO = PRODUTOS.DESC_PRODUTO,
|
||||
PRODUTOS.TIPO_PRODUTO,
|
||||
PRODUTOS.GRUPO_PRODUTO,
|
||||
COLECCION=COLECOES.DESC_COLECAO,
|
||||
|
||||
ESTOQUE_PRODUTOS.ES1 as K38,
|
||||
ESTOQUE_PRODUTOS.ES2 as K40,
|
||||
ESTOQUE_PRODUTOS.ES3 as K42,
|
||||
ESTOQUE_PRODUTOS.ES4 as K44,
|
||||
ESTOQUE_PRODUTOS.ES5 as K46,
|
||||
ESTOQUE_PRODUTOS.ES6 as K48,
|
||||
ESTOQUE_PRODUTOS.ESTOQUE as KT
|
||||
|
||||
FROM ESTOQUE_PRODUTOS
|
||||
LEFT OUTER JOIN PRODUTOS ON (PRODUTOS.PRODUTO = ESTOQUE_PRODUTOS.PRODUTO)
|
||||
LEFT OUTER JOIN COLECOES ON (PRODUTOS.COLECAO = COLECOES.COLECAO)
|
||||
|
||||
WHERE FILIAL LIKE '%VARELA IMAGEN Y DISEÑO%'
|
||||
GO
|
||||
|
||||
|
||||
|
||||
--
|
||||
-- Definition for view RDX_V_STOCK_VENTAS :
|
||||
--
|
||||
|
||||
CREATE VIEW RDX_V_STOCK_VENTAS AS
|
||||
SELECT
|
||||
PERVENINI AS FECHA,
|
||||
DAY(PERVENINI) AS DIA,
|
||||
DATENAME(DW, PERVENINI) DIASEMANA,
|
||||
DATENAME(MONTH, PERVENINI) AS MES,
|
||||
YEAR(PERVENINI) AS ANO,
|
||||
FILIAL AS CENTRO,
|
||||
CODIGO = ISNULL(PRODUTO, '107CH.EN.01'),
|
||||
DESC_PRODUTO AS PRODUCTO,
|
||||
GRUPO_PRODUTO AS GRUPOPRODUCTO,
|
||||
TIPO_PRODUTO AS TIPOPRODUCTO,
|
||||
DESC_COLECAO AS COLECCION,
|
||||
COLOR = ISNULL(COR_PRODUTO, '300'),
|
||||
GRADE AS TALLA,
|
||||
CANTIDAD = ISNULL(CANVEN, 0) + ISNULL(CANVENNET, 0)
|
||||
FROM
|
||||
RDX_V_VENTASEDI_RESUELTAS
|
||||
WHERE NOT ((DESC_PRODUTO LIKE '%ERROR REFERENCIA%') AND ((VALVEN < 1) AND (VALVEN > 0))) /* QUITAR COMPOSTURAS */
|
||||
GO
|
||||
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_V_STOCK_VENTAS]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
|
||||
--
|
||||
-- Definition for view RDX_V_STOCK_INVENTARIO :
|
||||
--
|
||||
|
||||
CREATE VIEW RDX_V_STOCK_INVENTARIO AS
|
||||
SELECT
|
||||
FECHA = ISNULL(RDX_V_INVENTARIOEDI.FECHA, ISNULL(RDX_V_RECEPCION_AJUSTES_DESGLOSADO.FECHA, ISNULL(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.FECHA, RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.FECHA))),
|
||||
CENTRO = ISNULL(RDX_V_INVENTARIOEDI.FILIAL, ISNULL(RDX_V_RECEPCION_AJUSTES_DESGLOSADO.FILIAL, ISNULL(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.FILIAL, RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.FILIAL))),
|
||||
CODIGO = ISNULL(RDX_V_INVENTARIOEDI.CODIGO, ISNULL(RDX_V_RECEPCION_AJUSTES_DESGLOSADO.CODIGO, ISNULL(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.CODIGO, RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.CODIGO))),
|
||||
PRODUCTO = ISNULL(RDX_V_INVENTARIOEDI.PRODUCTO, ISNULL(RDX_V_RECEPCION_AJUSTES_DESGLOSADO.PRODUCTO, ISNULL(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.PRODUCTO, RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.PRODUCTO))),
|
||||
COLOR = ISNULL(RDX_V_INVENTARIOEDI.COLOR, ISNULL(RDX_V_RECEPCION_AJUSTES_DESGLOSADO.COLOR, ISNULL(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.COLOR, RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.COLOR))),
|
||||
TALLA = ISNULL(RDX_V_INVENTARIOEDI.TALLA, ISNULL(RDX_V_RECEPCION_AJUSTES_DESGLOSADO.TALLA, ISNULL(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.TALLA, RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.TALLA))),
|
||||
CANTIDAD = ISNULL(RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.CANTIDAD, ISNULL(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.CANTIDAD, ISNULL(RDX_V_RECEPCION_AJUSTES_DESGLOSADO.CANTIDAD, RDX_V_INVENTARIOEDI.CANTIDAD))),
|
||||
/*RDX_V_INVENTARIOEDI.CANTIDAD,
|
||||
RDX_V_RECEPCION_AJUSTES_DESGLOSADO.CANTIDAD,
|
||||
RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.CANTIDAD,
|
||||
RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.CANTIDAD,*/
|
||||
OPERACION = CASE RDX_V_INVENTARIOEDI.TIPOCANT
|
||||
WHEN '194' THEN 'R'
|
||||
WHEN '46' THEN 'E'
|
||||
WHEN '145' THEN 'RM'
|
||||
WHEN '48' THEN 'S'
|
||||
WHEN '61' THEN 'D'
|
||||
WHEN '65' THEN 'T'
|
||||
ELSE
|
||||
CASE
|
||||
WHEN RDX_V_RECEPCION_AJUSTES_DESGLOSADO.CANTIDAD IS NOT NULL THEN 'R'
|
||||
WHEN RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.CANTIDAD IS NOT NULL THEN 'D'
|
||||
ELSE RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.TIPO
|
||||
END
|
||||
END
|
||||
FROM RDX_V_INVENTARIOEDI
|
||||
FULL OUTER JOIN RDX_V_INVENTARIO_MAXFECHAS ON
|
||||
(RDX_V_INVENTARIO_MAXFECHAS.CENTRO = RDX_V_INVENTARIOEDI.CENTRO) AND
|
||||
(RDX_V_INVENTARIO_MAXFECHAS.CODIGO = RDX_V_INVENTARIOEDI.CODIGO) AND
|
||||
(RDX_V_INVENTARIO_MAXFECHAS.COLOR = RDX_V_INVENTARIOEDI.COLOR) AND
|
||||
(RDX_V_INVENTARIO_MAXFECHAS.TALLA = RDX_V_INVENTARIOEDI.TALLA)
|
||||
FULL OUTER JOIN RDX_V_RECEPCION_AJUSTES_DESGLOSADO ON
|
||||
(RDX_V_RECEPCION_AJUSTES_DESGLOSADO.CENTRO = RDX_V_INVENTARIOEDI.CENTRO) AND
|
||||
(RDX_V_INVENTARIOEDI.CENTRO = RDX_V_INVENTARIOEDI.CENTRO2) AND
|
||||
(RDX_V_RECEPCION_AJUSTES_DESGLOSADO.CODIGO = RDX_V_INVENTARIOEDI.CODIGO) AND
|
||||
(RDX_V_RECEPCION_AJUSTES_DESGLOSADO.COLOR = RDX_V_INVENTARIOEDI.COLOR) AND
|
||||
(RDX_V_RECEPCION_AJUSTES_DESGLOSADO.TALLA = RDX_V_INVENTARIOEDI.TALLA) AND
|
||||
(RDX_V_RECEPCION_AJUSTES_DESGLOSADO.FECHA = RDX_V_INVENTARIOEDI.FECHA)
|
||||
FULL OUTER JOIN RDX_V_TRASPASOS_AJUSTES_DESGLOSADO ON
|
||||
(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.CENTRO = RDX_V_INVENTARIOEDI.CENTRO) AND
|
||||
(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.CENTRO2 = RDX_V_INVENTARIOEDI.CENTRO2) AND
|
||||
(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.CODIGO = RDX_V_INVENTARIOEDI.CODIGO) AND
|
||||
(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.COLOR = RDX_V_INVENTARIOEDI.COLOR) AND
|
||||
(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.TALLA = RDX_V_INVENTARIOEDI.TALLA) AND
|
||||
(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.FECHA = RDX_V_INVENTARIOEDI.FECHA) AND
|
||||
(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.TIPO = RDX_V_INVENTARIOEDI.TIPOCANT)
|
||||
FULL OUTER JOIN RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO ON
|
||||
(RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.CENTRO = RDX_V_INVENTARIOEDI.CENTRO) AND
|
||||
(RDX_V_INVENTARIOEDI.CENTRO = RDX_V_INVENTARIOEDI.CENTRO2) AND
|
||||
(RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.CODIGO = RDX_V_INVENTARIOEDI.CODIGO) AND
|
||||
(RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.COLOR = RDX_V_INVENTARIOEDI.COLOR) AND
|
||||
(RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.TALLA = RDX_V_INVENTARIOEDI.TALLA) AND
|
||||
(RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.FECHA = RDX_V_INVENTARIOEDI.FECHA)
|
||||
WHERE
|
||||
((RDX_V_INVENTARIO_MAXFECHAS.FECHA IS NULL) /* Puede haber prendas que no se hayan inventariado nunca */
|
||||
OR
|
||||
(ISNULL(RDX_V_INVENTARIOEDI.FECHA, ISNULL(RDX_V_RECEPCION_AJUSTES_DESGLOSADO.FECHA, ISNULL(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.FECHA, RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.FECHA))) >= RDX_V_INVENTARIO_MAXFECHAS.FECHA))
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_V_STOCK_INVENTARIO]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
|
||||
--
|
||||
-- Definition for view RDX_V_STOCK :
|
||||
--
|
||||
|
||||
CREATE VIEW RDX_V_STOCK AS
|
||||
SELECT
|
||||
CENTRO = ISNULL(RDX_V_STOCK_INVENTARIO.CENTRO, RDX_V_STOCK_VENTAS.CENTRO),
|
||||
CODIGO = ISNULL(RDX_V_STOCK_INVENTARIO.CODIGO, RDX_V_STOCK_VENTAS.CODIGO),
|
||||
PRODUCTO = ISNULL(RDX_V_STOCK_INVENTARIO.PRODUCTO, RDX_V_STOCK_VENTAS.PRODUCTO),
|
||||
TIPO_PRODUCTO = PRODUTOS.TIPO_PRODUTO,
|
||||
GRUPO_PRODUCTO = PRODUTOS.GRUPO_PRODUTO,
|
||||
COLECCION = COLECOES.DESC_COLECAO,
|
||||
COLOR = ISNULL(RDX_V_STOCK_INVENTARIO.COLOR, RDX_V_STOCK_VENTAS.COLOR),
|
||||
E38 = SUM(CASE ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA)
|
||||
WHEN '38' THEN
|
||||
CASE RDX_V_STOCK_INVENTARIO.OPERACION
|
||||
WHEN 'RM' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
|
||||
WHEN 'R' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
|
||||
WHEN 'E' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
+
|
||||
CASE
|
||||
WHEN ((RDX_V_STOCK_VENTAS.CANTIDAD * (-1)) > 0) THEN
|
||||
RDX_V_STOCK_VENTAS.CANTIDAD * (-1)
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
END),
|
||||
|
||||
E40 = SUM(CASE ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA)
|
||||
WHEN '40' THEN
|
||||
CASE RDX_V_STOCK_INVENTARIO.OPERACION
|
||||
WHEN 'RM' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
|
||||
WHEN 'R' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
|
||||
WHEN 'E' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
+
|
||||
CASE
|
||||
WHEN ((RDX_V_STOCK_VENTAS.CANTIDAD * (-1)) > 0) THEN
|
||||
RDX_V_STOCK_VENTAS.CANTIDAD * (-1)
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
END),
|
||||
|
||||
E42 = SUM(CASE ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA)
|
||||
WHEN '42' THEN
|
||||
CASE RDX_V_STOCK_INVENTARIO.OPERACION
|
||||
WHEN 'RM' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
|
||||
WHEN 'R' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
|
||||
WHEN 'E' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
+
|
||||
CASE
|
||||
WHEN ((RDX_V_STOCK_VENTAS.CANTIDAD * (-1)) > 0) THEN
|
||||
RDX_V_STOCK_VENTAS.CANTIDAD * (-1)
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
END),
|
||||
|
||||
E44 = SUM(CASE ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA)
|
||||
WHEN '44' THEN
|
||||
CASE RDX_V_STOCK_INVENTARIO.OPERACION
|
||||
WHEN 'RM' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
|
||||
WHEN 'R' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
|
||||
WHEN 'E' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
+
|
||||
CASE
|
||||
WHEN ((RDX_V_STOCK_VENTAS.CANTIDAD * (-1)) > 0) THEN
|
||||
RDX_V_STOCK_VENTAS.CANTIDAD * (-1)
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
END),
|
||||
|
||||
E46 = SUM(CASE ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA)
|
||||
WHEN '46' THEN
|
||||
CASE RDX_V_STOCK_INVENTARIO.OPERACION
|
||||
WHEN 'RM' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
|
||||
WHEN 'R' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
|
||||
WHEN 'E' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
+
|
||||
CASE
|
||||
WHEN ((RDX_V_STOCK_VENTAS.CANTIDAD * (-1)) > 0) THEN
|
||||
RDX_V_STOCK_VENTAS.CANTIDAD * (-1)
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
END),
|
||||
|
||||
E48 = SUM(CASE ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA)
|
||||
WHEN '48' THEN
|
||||
CASE RDX_V_STOCK_INVENTARIO.OPERACION
|
||||
WHEN 'RM' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
|
||||
WHEN 'R' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
|
||||
WHEN 'E' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
+
|
||||
CASE
|
||||
WHEN ((RDX_V_STOCK_VENTAS.CANTIDAD * (-1)) > 0) THEN
|
||||
RDX_V_STOCK_VENTAS.CANTIDAD * (-1)
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
END),
|
||||
|
||||
S38 = SUM(CASE ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA)
|
||||
WHEN '38' THEN
|
||||
CASE RDX_V_STOCK_INVENTARIO.OPERACION
|
||||
WHEN 'D' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
|
||||
WHEN 'S' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
|
||||
WHEN 'T' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
+
|
||||
CASE
|
||||
WHEN ((RDX_V_STOCK_VENTAS.CANTIDAD * (-1)) < 0) THEN
|
||||
RDX_V_STOCK_VENTAS.CANTIDAD * (-1)
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
END),
|
||||
|
||||
S40 = SUM(CASE ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA)
|
||||
WHEN '40' THEN
|
||||
CASE RDX_V_STOCK_INVENTARIO.OPERACION
|
||||
WHEN 'D' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
|
||||
WHEN 'S' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
|
||||
WHEN 'T' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
+
|
||||
CASE
|
||||
WHEN ((RDX_V_STOCK_VENTAS.CANTIDAD * (-1)) < 0) THEN
|
||||
RDX_V_STOCK_VENTAS.CANTIDAD * (-1)
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
END),
|
||||
|
||||
S42 = SUM(CASE ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA)
|
||||
WHEN '42' THEN
|
||||
CASE RDX_V_STOCK_INVENTARIO.OPERACION
|
||||
WHEN 'D' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
|
||||
WHEN 'S' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
|
||||
WHEN 'T' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
+
|
||||
CASE
|
||||
WHEN ((RDX_V_STOCK_VENTAS.CANTIDAD * (-1)) < 0) THEN
|
||||
RDX_V_STOCK_VENTAS.CANTIDAD * (-1)
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
END),
|
||||
|
||||
S44 = SUM(CASE ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA)
|
||||
WHEN '44' THEN
|
||||
CASE RDX_V_STOCK_INVENTARIO.OPERACION
|
||||
WHEN 'D' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
|
||||
WHEN 'S' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
|
||||
WHEN 'T' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
+
|
||||
CASE
|
||||
WHEN ((RDX_V_STOCK_VENTAS.CANTIDAD * (-1)) < 0) THEN
|
||||
RDX_V_STOCK_VENTAS.CANTIDAD * (-1)
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
END),
|
||||
|
||||
S46 = SUM(CASE ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA)
|
||||
WHEN '46' THEN
|
||||
CASE RDX_V_STOCK_INVENTARIO.OPERACION
|
||||
WHEN 'D' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
|
||||
WHEN 'S' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
|
||||
WHEN 'T' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
+
|
||||
CASE
|
||||
WHEN ((RDX_V_STOCK_VENTAS.CANTIDAD * (-1)) < 0) THEN
|
||||
RDX_V_STOCK_VENTAS.CANTIDAD * (-1)
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
END),
|
||||
|
||||
S48 = SUM(CASE ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA)
|
||||
WHEN '48' THEN
|
||||
CASE RDX_V_STOCK_INVENTARIO.OPERACION
|
||||
WHEN 'D' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
|
||||
WHEN 'S' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
|
||||
WHEN 'T' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
+
|
||||
CASE
|
||||
WHEN ((RDX_V_STOCK_VENTAS.CANTIDAD * (-1)) < 0) THEN
|
||||
RDX_V_STOCK_VENTAS.CANTIDAD * (-1)
|
||||
ELSE
|
||||
0
|
||||
END
|
||||
END)
|
||||
FROM
|
||||
RDX_V_STOCK_INVENTARIO
|
||||
FULL OUTER JOIN RDX_V_STOCK_VENTAS ON
|
||||
(RDX_V_STOCK_INVENTARIO.CENTRO = RDX_V_STOCK_VENTAS.CENTRO)
|
||||
AND (RDX_V_STOCK_INVENTARIO.CODIGO = RDX_V_STOCK_VENTAS.CODIGO)
|
||||
AND (RDX_V_STOCK_INVENTARIO.COLOR = RDX_V_STOCK_VENTAS.COLOR)
|
||||
AND (RDX_V_STOCK_INVENTARIO.TALLA = RDX_V_STOCK_VENTAS.TALLA)
|
||||
AND (RDX_V_STOCK_INVENTARIO.FECHA = RDX_V_STOCK_VENTAS.FECHA)
|
||||
LEFT OUTER JOIN PRODUTOS ON
|
||||
(PRODUTOS.PRODUTO = ISNULL(RDX_V_STOCK_INVENTARIO.CODIGO, RDX_V_STOCK_VENTAS.CODIGO))
|
||||
LEFT OUTER JOIN COLECOES ON
|
||||
(COLECOES.COLECAO = PRODUTOS.COLECAO)
|
||||
|
||||
GROUP BY
|
||||
ISNULL(RDX_V_STOCK_INVENTARIO.CENTRO, RDX_V_STOCK_VENTAS.CENTRO),
|
||||
ISNULL(RDX_V_STOCK_INVENTARIO.CODIGO, RDX_V_STOCK_VENTAS.CODIGO),
|
||||
ISNULL(RDX_V_STOCK_INVENTARIO.PRODUCTO, RDX_V_STOCK_VENTAS.PRODUCTO),
|
||||
PRODUTOS.TIPO_PRODUTO,
|
||||
PRODUTOS.GRUPO_PRODUTO,
|
||||
COLECOES.DESC_COLECAO,
|
||||
ISNULL(RDX_V_STOCK_INVENTARIO.COLOR, RDX_V_STOCK_VENTAS.COLOR)
|
||||
GO
|
||||
|
||||
--
|
||||
-- Definition for view RDX_V_STOCK_CALCULADO :
|
||||
--
|
||||
|
||||
CREATE VIEW RDX_V_STOCK_CALCULADO AS
|
||||
SELECT
|
||||
CENTRO,
|
||||
CODIGO,
|
||||
PRODUCTO,
|
||||
TIPO_PRODUCTO,
|
||||
GRUPO_PRODUCTO,
|
||||
COLECCION,
|
||||
COLOR,
|
||||
E38,
|
||||
E40,
|
||||
E42,
|
||||
E44,
|
||||
E46,
|
||||
E48,
|
||||
TE = ISNULL(E38, 0) + ISNULL(E40, 0) + ISNULL(E42, 0) + ISNULL(E44, 0) + ISNULL(E46, 0) + ISNULL(E48, 0),
|
||||
S38,
|
||||
S40,
|
||||
S42,
|
||||
S44,
|
||||
S46,
|
||||
S48,
|
||||
TS = ISNULL(S38, 0) + ISNULL(S40, 0) + ISNULL(S42, 0) + ISNULL(S44, 0) + ISNULL(S46, 0) + ISNULL(S48, 0),
|
||||
K38 = ISNULL(E38, 0) + ISNULL(S38, 0),
|
||||
K40 = ISNULL(E40, 0) + ISNULL(S40, 0),
|
||||
K42 = ISNULL(E42, 0) + ISNULL(S42, 0),
|
||||
K44 = ISNULL(E44, 0) + ISNULL(S44, 0),
|
||||
K46 = ISNULL(E46, 0) + ISNULL(S46, 0),
|
||||
K48 = ISNULL(E48, 0) + ISNULL(S48, 0),
|
||||
KT = ISNULL(E38, 0) + ISNULL(S38, 0) + ISNULL(E40, 0) + ISNULL(S40, 0) +
|
||||
ISNULL(E42, 0) + ISNULL(S42, 0) + ISNULL(E44, 0) + ISNULL(S44, 0) +
|
||||
ISNULL(E46, 0) + ISNULL(S46, 0) + ISNULL(E48, 0) + ISNULL(S48, 0)
|
||||
|
||||
FROM RDX_V_STOCK
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
302
Database/ANTERIOR/Script Vistas.sql
Normal file
302
Database/ANTERIOR/Script Vistas.sql
Normal file
@ -0,0 +1,302 @@
|
||||
--
|
||||
-- Definition for view RDX_V_VENTASEDI :
|
||||
--
|
||||
|
||||
CREATE VIEW RDX_V_VENTASEDI
|
||||
AS
|
||||
SELECT
|
||||
RDX_CABVEN.NUMINF,
|
||||
RDX_ARTVEN.CLAVE1,
|
||||
RDX_ARTVEN.CLAVE2,
|
||||
RDX_ARTVEN.CLAVE3,
|
||||
RDX_LUGVEN.PERVENINI,
|
||||
RDX_ARTVEN.NUMTALON,
|
||||
RDX_LUGVEN.EANLUG,
|
||||
FILIAL = ISNULL(FILIAIS.FILIAL, RDX_LUGVEN.EANLUG),
|
||||
RDX_ARTVEN.EANVEN,
|
||||
LOJA_VENDEDORES.VENDEDOR AS CODVEN,
|
||||
VENDEDOR = ISNULL(LTRIM(RTRIM(LOJA_VENDEDORES.NOME_VENDEDOR)) + ' ' + LTRIM(RTRIM(LOJA_VENDEDORES.VENDEDOR_APELIDO)), RDX_ARTVEN.EANVEN),
|
||||
RDX_ARTVEN.EANART,
|
||||
RDX_ARTVEN.CODCOM,
|
||||
produtos.PRODUTO,
|
||||
ISNULL(produtos.DESC_PRODUTO, '*** ERROR REFERENCIA **** LLAMAR AL CI') AS DESC_PRODUTO,
|
||||
PRODUTOS_BARRA.COR_PRODUTO,
|
||||
PRODUTOS_BARRA.GRADE,
|
||||
produtos.TIPO_PRODUTO,
|
||||
produtos.GRUPO_PRODUTO,
|
||||
COLECOES.DESC_COLECAO,
|
||||
RDX_ARTVEN.VALVEN,
|
||||
RDX_ARTVEN.CANVEN,
|
||||
RDX_ARTVEN.CANDEV,
|
||||
RDX_ARTVEN.CANVENNET,
|
||||
RDX_ARTVEN.CANESP
|
||||
FROM
|
||||
RDX_ARTVEN
|
||||
INNER JOIN RDX_LUGVEN ON (RDX_ARTVEN.CLAVE1 = RDX_LUGVEN.CLAVE1 AND RDX_ARTVEN.CLAVE2 = RDX_LUGVEN.CLAVE2)
|
||||
INNER JOIN RDX_CABVEN ON (RDX_LUGVEN.CLAVE1 = RDX_CABVEN.CLAVE1)
|
||||
left outer join RDX_FILIALES on (RDX_FILIALES.CODBARRA = RDX_LUGVEN.EANLUG)
|
||||
left outer join FILIAIS on (FILIAIS.COD_FILIAL = RDX_FILIALES.CODFILIAL)
|
||||
LEFT OUTER JOIN LOJA_VENDEDORES ON (LOJA_VENDEDORES.RG LIKE '%' + RDX_ARTVEN.EANVEN + '%')
|
||||
LEFT OUTER JOIN PRODUTOS_BARRA ON ((PRODUTOS_BARRA.CODIGO_BARRA = RDX_ARTVEN.EANART) or (PRODUTOS_BARRA.CODIGO_BARRA = RDX_ARTVEN.CODCOM))
|
||||
LEFT OUTER JOIN PRODUTOS on (produtos.PRODUTO = PRODUTOS_BARRA.PRODUTO)
|
||||
LEFT OUTER JOIN COLECOES on (COLECOES.COLECAO = PRODUTOS.COLECAO)
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_V_VENTASEDI]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
--
|
||||
-- Definition for view RDX_V_REFERENCIAS_RESUELTAS :
|
||||
--
|
||||
|
||||
CREATE VIEW RDX_V_REFERENCIAS_RESUELTAS
|
||||
AS
|
||||
SELECT *
|
||||
FROM RDX_REFERENCIA_GENERICA
|
||||
WHERE ESTADO = 'R'
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_V_REFERENCIAS_RESUELTAS]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
|
||||
--
|
||||
-- Definition for view RDX_V_VENTASEDI_RESUELTAS :
|
||||
--
|
||||
|
||||
CREATE VIEW RDX_V_VENTASEDI_RESUELTAS
|
||||
AS
|
||||
SELECT
|
||||
RDX_V_VENTASEDI.NUMINF,
|
||||
RDX_V_VENTASEDI.CLAVE1,
|
||||
RDX_V_VENTASEDI.CLAVE2,
|
||||
RDX_V_VENTASEDI.CLAVE3,
|
||||
RDX_V_VENTASEDI.PERVENINI,
|
||||
RDX_V_VENTASEDI.NUMTALON,
|
||||
RDX_V_VENTASEDI.EANLUG,
|
||||
RDX_V_VENTASEDI.FILIAL,
|
||||
RDX_V_VENTASEDI.EANVEN,
|
||||
RDX_V_VENTASEDI.CODVEN,
|
||||
RDX_V_VENTASEDI.VENDEDOR,
|
||||
EANART = ISNULL(RDX_V_REFERENCIAS_RESUELTAS.CODIGO_BARRA, RDX_V_VENTASEDI.EANART),
|
||||
RDX_V_VENTASEDI.CODCOM,
|
||||
PRODUTO = ISNULL(PRODUTOS_BARRA.PRODUTO, RDX_V_VENTASEDI.PRODUTO),
|
||||
DESC_PRODUTO = ISNULL(PRODUTOS.DESC_PRODUTO, RDX_V_VENTASEDI.DESC_PRODUTO),
|
||||
COR_PRODUTO = ISNULL(PRODUTOS_BARRA.COR_PRODUTO, RDX_V_VENTASEDI.COR_PRODUTO),
|
||||
GRADE = ISNULL(PRODUTOS_BARRA.GRADE, RDX_V_VENTASEDI.GRADE),
|
||||
TIPO_PRODUTO = ISNULL(PRODUTOS.TIPO_PRODUTO, RDX_V_VENTASEDI.TIPO_PRODUTO),
|
||||
GRUPO_PRODUTO = ISNULL(PRODUTOS.GRUPO_PRODUTO, RDX_V_VENTASEDI.GRUPO_PRODUTO),
|
||||
DESC_COLECAO = ISNULL(COLECOES.DESC_COLECAO, RDX_V_VENTASEDI.DESC_COLECAO),
|
||||
RDX_V_VENTASEDI.VALVEN,
|
||||
RDX_V_VENTASEDI.CANVEN,
|
||||
RDX_V_VENTASEDI.CANDEV,
|
||||
RDX_V_VENTASEDI.CANVENNET,
|
||||
RDX_V_VENTASEDI.CANESP
|
||||
FROM RDX_V_VENTASEDI
|
||||
LEFT JOIN RDX_V_REFERENCIAS_RESUELTAS ON (
|
||||
(RDX_V_REFERENCIAS_RESUELTAS.NUMINF = RDX_V_VENTASEDI.NUMINF) AND
|
||||
(RDX_V_REFERENCIAS_RESUELTAS.CLAVE1 = RDX_V_VENTASEDI.CLAVE1) AND
|
||||
(RDX_V_REFERENCIAS_RESUELTAS.CLAVE2 = RDX_V_VENTASEDI.CLAVE2) AND
|
||||
(RDX_V_REFERENCIAS_RESUELTAS.CLAVE3 = RDX_V_VENTASEDI.CLAVE3))
|
||||
LEFT JOIN PRODUTOS_BARRA ON (
|
||||
(PRODUTOS_BARRA.CODIGO_BARRA = ISNULL(RDX_V_REFERENCIAS_RESUELTAS.CODIGO_BARRA, RDX_V_VENTASEDI.EANART)))
|
||||
LEFT JOIN PRODUTOS ON (
|
||||
(PRODUTOS.PRODUTO = PRODUTOS_BARRA.PRODUTO))
|
||||
LEFT JOIN COLECOES ON (
|
||||
(COLECOES.COLECAO = PRODUTOS.COLECAO))
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_V_VENTASEDI_RESUELTAS]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
|
||||
--
|
||||
-- Definition for view RDX_V_VENTASEDI_ERRONEAS :
|
||||
--
|
||||
|
||||
CREATE VIEW RDX_V_VENTASEDI_ERRONEAS
|
||||
AS
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
RDX_V_VENTASEDI
|
||||
WHERE PRODUTO = '107CH.EN.01'
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_V_VENTASEDI_ERRONEAS]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
--
|
||||
-- Definition for view RDX_V_VENTASTERMINADAS :
|
||||
--
|
||||
|
||||
CREATE VIEW RDX_V_VENTASTERMINADAS
|
||||
AS
|
||||
SELECT
|
||||
NUMINF,
|
||||
CLAVE1,
|
||||
CLAVE2,
|
||||
CLAVE3,
|
||||
PERVENINI AS FECHA,
|
||||
DAY(PERVENINI) AS DIA,
|
||||
DATENAME(DW, PERVENINI) DIASEMANA,
|
||||
DATENAME(MONTH, PERVENINI) AS MES,
|
||||
YEAR(PERVENINI) AS ANO,
|
||||
FILIAL AS CENTRO,
|
||||
VENDEDOR,
|
||||
NUMTALON,
|
||||
PRODUTO AS CODIGO,
|
||||
DESC_PRODUTO AS PRODUCTO,
|
||||
GRUPO_PRODUTO AS GRUPOPRODUCTO,
|
||||
TIPO_PRODUTO AS TIPOPRODUCTO,
|
||||
DESC_COLECAO AS COLECCION,
|
||||
COR_PRODUTO AS COLOR,
|
||||
GRADE AS TALLA,
|
||||
TALLA38 = CASE WHEN (GRADE = 38) THEN ISNULL(CANVEN, 0) + ISNULL(CANVENNET, 0) ELSE NULL END,
|
||||
TALLA40 = CASE WHEN (GRADE = 40) THEN ISNULL(CANVEN, 0) + ISNULL(CANVENNET, 0) ELSE NULL END,
|
||||
TALLA42 = CASE WHEN (GRADE = 42) THEN ISNULL(CANVEN, 0) + ISNULL(CANVENNET, 0) ELSE NULL END,
|
||||
TALLA44 = CASE WHEN (GRADE = 44) THEN ISNULL(CANVEN, 0) + ISNULL(CANVENNET, 0) ELSE NULL END,
|
||||
TALLA46 = CASE WHEN (GRADE = 46) THEN ISNULL(CANVEN, 0) + ISNULL(CANVENNET, 0) ELSE NULL END,
|
||||
TALLA48 = CASE WHEN (GRADE = 48) THEN ISNULL(CANVEN, 0) + ISNULL(CANVENNET, 0) ELSE NULL END,
|
||||
VENTAS = CASE WHEN (CANVEN > 0) THEN CANVEN ELSE 0 END +
|
||||
CASE WHEN (CANVENNET > 0) THEN CANVENNET ELSE 0 END,
|
||||
|
||||
DEVOLUCIONES = CASE WHEN (CANVEN < 0) THEN CANVEN ELSE 0 END +
|
||||
CASE WHEN (CANVENNET < 0) THEN CANVENNET ELSE 0 END,
|
||||
|
||||
TOTAL = ISNULL(CANVEN, 0) + ISNULL(CANVENNET, 0),
|
||||
VALVEN = CASE WHEN (VALVEN > 0) THEN VALVEN ELSE 0 END,
|
||||
VALDEV = CASE WHEN (VALVEN < 0) THEN VALVEN ELSE 0 END,
|
||||
VALTOT = VALVEN
|
||||
FROM
|
||||
RDX_V_VENTASEDI_RESUELTAS
|
||||
WHERE NOT ((DESC_PRODUTO LIKE '%ERROR REFERENCIA%') AND ((VALVEN < 1) AND (VALVEN > 0))) /* QUITAR COMPOSTURAS */
|
||||
AND (CANESP IS NULL OR CANESP = 0) /* QUITAR INICIO V.PROCESO */
|
||||
AND (VALVEN IS NOT NULL) /* QUITAR CAMBIO DE TALLA */
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_V_VENTASTERMINADAS]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
|
||||
--
|
||||
-- Definition for view RDX_V_VENTASPROCESO :
|
||||
--
|
||||
|
||||
CREATE VIEW RDX_V_VENTASPROCESO AS
|
||||
SELECT
|
||||
NUMINF,
|
||||
CLAVE1,
|
||||
CLAVE2,
|
||||
CLAVE3,
|
||||
PERVENINI AS FECHA,
|
||||
DAY(PERVENINI) AS DIA,
|
||||
DATENAME(DW, PERVENINI) DIASEMANA,
|
||||
DATENAME(MONTH, PERVENINI) AS MES,
|
||||
YEAR(PERVENINI) AS ANO,
|
||||
FILIAL AS CENTRO,
|
||||
VENDEDOR,
|
||||
NUMTALON,
|
||||
PRODUTO AS CODIGO,
|
||||
DESC_PRODUTO AS PRODUCTO,
|
||||
GRUPO_PRODUTO AS GRUPOPRODUCTO,
|
||||
TIPO_PRODUTO AS TIPOPRODUCTO,
|
||||
DESC_COLECAO AS COLECCION,
|
||||
COR_PRODUTO AS COLOR,
|
||||
GRADE AS TALLA,
|
||||
CANESP AS INICIO,
|
||||
CANVENNET AS FINAL,
|
||||
VALVEN AS IMPORTE
|
||||
FROM
|
||||
RDX_V_VENTASEDI_RESUELTAS
|
||||
WHERE ((CANESP IS NOT NULL) OR (CANVENNET IS NOT NULL))
|
||||
AND NOT ((DESC_PRODUTO LIKE '%ERROR REFERENCIA%') AND ((VALVEN < 1) AND (VALVEN > 0))) /* QUITAR COMPOSTURAS */
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_V_VENTASPROCESO]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
|
||||
--
|
||||
-- Definition for view RDX_V_VENTASPROCESOPENDIENTES :
|
||||
--
|
||||
|
||||
CREATE VIEW RDX_V_VENTASPROCESOPENDIENTES AS
|
||||
SELECT NUMTALON,
|
||||
CODIGO,
|
||||
COLOR,
|
||||
TALLA,
|
||||
SUM(ISNULL(INICIO, 0)) AS INICIO,
|
||||
SUM(ABS(ISNULL(FINAL, 0))) AS FINAL
|
||||
FROM RDX_V_VENTASPROCESO
|
||||
GROUP BY NUMTALON, CODIGO, COLOR, TALLA
|
||||
HAVING ((SUM(ISNULL(INICIO, 0)) <> 0) AND
|
||||
(SUM(ISNULL(INICIO, 0)) > SUM(ABS(ISNULL(FINAL, 0)))))
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_V_VENTASPROCESOPENDIENTES]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
|
||||
|
||||
--------------- SQL ---------------
|
||||
|
||||
--
|
||||
-- Definition for view RDX_V_REFERENCIA_GENERICA :
|
||||
--
|
||||
|
||||
CREATE VIEW RDX_V_REFERENCIA_GENERICA
|
||||
AS
|
||||
SELECT DISTINCT
|
||||
VENTAS.NUMINF,
|
||||
VENTAS.CLAVE1,
|
||||
VENTAS.CLAVE2,
|
||||
VENTAS.CLAVE3,
|
||||
VENTAS.PERVENINI AS FECHA,
|
||||
VENTAS.EANLUG AS CODCENTRO,
|
||||
VENTAS.FILIAL AS CENTRO,
|
||||
VENTAS.EANVEN AS CODVENDEDOR,
|
||||
VENTAS.VENDEDOR,
|
||||
VENTAS.NUMTALON,
|
||||
CODIGO_BARRA = ISNULL(PRODUTOS_BARRA.CODIGO_BARRA, VENTAS.EANART),
|
||||
CODIGO = ISNULL(PRODUTOS_BARRA.PRODUTO, VENTAS.PRODUTO),
|
||||
PRODUCTO = ISNULL(PRODUTOS.DESC_PRODUTO, VENTAS.DESC_PRODUTO),
|
||||
COLOR = ISNULL(PRODUTOS_BARRA.COR_PRODUTO, VENTAS.COR_PRODUTO),
|
||||
TALLA = ISNULL(PRODUTOS_BARRA.GRADE, VENTAS.GRADE),
|
||||
VENTAS.CANESP AS VTAPROCESO,
|
||||
VENTAS.CANVENNET AS VTAFINAL,
|
||||
VTATERM = VENTAS.CANVEN,
|
||||
VALTOT = VENTAS.VALVEN,
|
||||
REF.ESTADO,
|
||||
REF.FECHACAMBIO
|
||||
FROM RDX_V_VENTASEDI_ERRONEAS VENTAS
|
||||
LEFT OUTER JOIN RDX_REFERENCIA_GENERICA REF ON
|
||||
(REF.NUMINF = VENTAS.NUMINF AND REF.CLAVE1 = VENTAS.CLAVE1 AND
|
||||
REF.CLAVE2 = VENTAS.CLAVE2 AND REF.CLAVE3 = VENTAS.CLAVE3)
|
||||
LEFT OUTER JOIN PRODUTOS_BARRA on
|
||||
(PRODUTOS_BARRA.CODIGO_BARRA = REF.CODIGO_BARRA)
|
||||
LEFT OUTER JOIN PRODUTOS ON
|
||||
(PRODUTOS.PRODUTO = PRODUTOS_BARRA.PRODUTO)
|
||||
WHERE NOT ((VENTAS.VALVEN < 1) AND (VENTAS.VALVEN > 0)) /* QUITAR COMPOSTURAS */
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_V_REFERENCIA_GENERICA]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
|
||||
263
Database/SCRIPT MEJORAS TABLAS.SQL
Normal file
263
Database/SCRIPT MEJORAS TABLAS.SQL
Normal file
@ -0,0 +1,263 @@
|
||||
ALTER TABLE [dbo].[RDX_TALLAS]
|
||||
ADD [TIPO_TALLAJE] smallint NULL
|
||||
GO
|
||||
|
||||
update rdx_tallas
|
||||
set TIPO_TALLAJE = 1
|
||||
GO
|
||||
|
||||
insert into rdx_tallas (TALLA, TIPO_TALLAJE)
|
||||
Values('S', 2)
|
||||
GO
|
||||
|
||||
insert into rdx_tallas (TALLA, TIPO_TALLAJE)
|
||||
Values('M', 2)
|
||||
GO
|
||||
|
||||
insert into rdx_tallas (TALLA, TIPO_TALLAJE)
|
||||
Values('L', 2)
|
||||
GO
|
||||
|
||||
insert into rdx_tallas (TALLA, TIPO_TALLAJE)
|
||||
Values('XL', 2)
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[RDX_TRASPASOS_AJUSTES]
|
||||
ADD [CANT_S] numeric(15, 0) NULL
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[RDX_TRASPASOS_AJUSTES]
|
||||
ADD [CANT_M] numeric(15, 0) NULL
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[RDX_TRASPASOS_AJUSTES]
|
||||
ADD [CANT_L] numeric(15, 0) NULL
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[RDX_TRASPASOS_AJUSTES]
|
||||
ADD [CANT_XL] numeric(15, 0) NULL
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[RDX_RECEPCION_AJUSTES]
|
||||
ADD [CANT_S] numeric(15, 0) NULL
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[RDX_RECEPCION_AJUSTES]
|
||||
ADD [CANT_M] numeric(15, 0) NULL
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[RDX_RECEPCION_AJUSTES]
|
||||
ADD [CANT_L] numeric(15, 0) NULL
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[RDX_RECEPCION_AJUSTES]
|
||||
ADD [CANT_XL] numeric(15, 0) NULL
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[RDX_DEVOLUCION_AJUSTES]
|
||||
ADD [CANT_S] numeric(15, 0) NULL
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[RDX_DEVOLUCION_AJUSTES]
|
||||
ADD [CANT_M] numeric(15, 0) NULL
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[RDX_DEVOLUCION_AJUSTES]
|
||||
ADD [CANT_L] numeric(15, 0) NULL
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[RDX_DEVOLUCION_AJUSTES]
|
||||
ADD [CANT_XL] numeric(15, 0) NULL
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE dbo.RDX_P_TIPO_TALLAJE
|
||||
@PRODUCTO VARCHAR(12), @TIPO_TALLAJE smallint OUT
|
||||
AS
|
||||
BEGIN
|
||||
set @TIPO_TALLAJE = (SELECT DISTINCT RDX_TALLAS.TIPO_TALLAJE
|
||||
FROM PRODUTOS_BARRA
|
||||
LEFT JOIN RDX_TALLAS ON (PRODUTOS_BARRA.GRADE = RDX_TALLAS.TALLA)
|
||||
WHERE PRODUTOS_BARRA.PRODUTO = @PRODUCTO)
|
||||
END
|
||||
GO
|
||||
|
||||
/*--------------- SQL ---------------*/
|
||||
|
||||
IF EXISTS (SELECT * FROM sysobjects WHERE id = OBJECT_ID(N'[RDX_INVENTARIOEDI]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
|
||||
DROP TABLE [RDX_INVENTARIOEDI]
|
||||
GO
|
||||
|
||||
CREATE TABLE [RDX_INVENTARIOEDI] (
|
||||
[NUMDOC] varchar(25) NOT NULL,
|
||||
[NUMLIN] numeric(6, 0) NOT NULL,
|
||||
[NUMCANT] numeric(6, 0) NOT NULL,
|
||||
[TIPOCANT] varchar(3) NULL,
|
||||
[FECHA] datetime NULL,
|
||||
[CENTRO] varchar(17) NULL,
|
||||
[FILIAL] varchar(25) NULL,
|
||||
[CODVEN] varchar(10) NULL,
|
||||
[VENDEDOR] varchar(66) NULL,
|
||||
[CODIGO_BARRA] varchar(17) NULL,
|
||||
[CODIGO] varchar(12) NULL,
|
||||
[PRODUCTO] varchar(40) NULL,
|
||||
[COLOR] varchar(10) NULL,
|
||||
[TALLA] varchar(8) NULL,
|
||||
[CANTIDAD] numeric(15, 0) NULL,
|
||||
[CENTRO2] varchar(17) NULL,
|
||||
[FILIAL2] varchar(25) NULL,
|
||||
[ULTIMO_INVENTARIO] char(1) NULL,
|
||||
[IGNORAR] char(1) NULL
|
||||
)
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
ALTER TABLE [RDX_INVENTARIOEDI]
|
||||
ADD CONSTRAINT [RDX_INVENTARIOEDI_pk]
|
||||
PRIMARY KEY CLUSTERED ([NUMDOC], [NUMLIN], [NUMCANT])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_INVENTARIOEDI_idx] ON [RDX_INVENTARIOEDI]
|
||||
([TIPOCANT])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_INVENTARIOEDI_idx2] ON [RDX_INVENTARIOEDI]
|
||||
([FECHA])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_INVENTARIOEDI_idx3] ON [RDX_INVENTARIOEDI]
|
||||
([CENTRO])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_INVENTARIOEDI_idx4] ON [RDX_INVENTARIOEDI]
|
||||
([CODVEN])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_INVENTARIOEDI_idx5] ON [RDX_INVENTARIOEDI]
|
||||
([CODIGO_BARRA])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_INVENTARIOEDI_idx6] ON [RDX_INVENTARIOEDI]
|
||||
([CODIGO])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_INVENTARIOEDI_idx7] ON [RDX_INVENTARIOEDI]
|
||||
([CENTRO2])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_INVENTARIOEDI_idx8] ON [RDX_INVENTARIOEDI]
|
||||
([ULTIMO_INVENTARIO])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_INVENTARIOEDI_idx9] ON [RDX_INVENTARIOEDI]
|
||||
([CENTRO], [CODIGO], [COLOR], [TALLA])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_INVENTARIOEDI]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
/*--------------- SQL ---------------*/
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_VENTASEDI]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
|
||||
DROP TABLE [RDX_VENTASEDI]
|
||||
GO
|
||||
|
||||
CREATE TABLE [RDX_VENTASEDI] (
|
||||
[NUMINF] varchar(35) NOT NULL,
|
||||
[CLAVE1] numeric(10, 0) NOT NULL,
|
||||
[CLAVE2] numeric(5, 0) NOT NULL,
|
||||
[CLAVE3] numeric(5, 0) NOT NULL,
|
||||
[PERVENINI] datetime NULL,
|
||||
[NUMTALON] varchar(35) NULL,
|
||||
[EANLUG] varchar(17) NULL,
|
||||
[FILIAL] varchar(25) NULL,
|
||||
[EANVEN] varchar(17) NULL,
|
||||
[CODVEN] varchar(4) NULL,
|
||||
[VENDEDOR] varchar(66) NULL,
|
||||
[EANART] varchar(17) NULL,
|
||||
[CODCOM] varchar(35) NULL,
|
||||
[PRODUTO] varchar(12) NULL,
|
||||
[DESC_PRODUTO] varchar(40) NULL,
|
||||
[COR_PRODUTO] varchar(10) NULL,
|
||||
[GRADE] varchar(8) NULL,
|
||||
[TIPO_PRODUTO] varchar(25) NULL,
|
||||
[GRUPO_PRODUTO] varchar(25) NULL,
|
||||
[DESC_COLECAO] varchar(40) NULL,
|
||||
[VALVEN] numeric(15, 3) NULL,
|
||||
[CANVEN] numeric(15, 3) NULL,
|
||||
[CANDEV] numeric(15, 3) NULL,
|
||||
[CANVENNET] numeric(15, 3) NULL,
|
||||
[CANESP] numeric(15, 3) NULL,
|
||||
[IGNORAR] char(1) NULL
|
||||
)
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
ALTER TABLE [RDX_VENTASEDI]
|
||||
ADD CONSTRAINT [RDX_VENTASEDI_pk]
|
||||
PRIMARY KEY CLUSTERED ([NUMINF], [CLAVE1], [CLAVE2], [CLAVE3])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_VENTASEDI_idx] ON [RDX_VENTASEDI]
|
||||
([PERVENINI])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_VENTASEDI_idx2] ON [RDX_VENTASEDI]
|
||||
([NUMTALON])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_VENTASEDI_idx3] ON [RDX_VENTASEDI]
|
||||
([EANVEN])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_VENTASEDI_idx4] ON [RDX_VENTASEDI]
|
||||
([CODVEN])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_VENTASEDI_idx5] ON [RDX_VENTASEDI]
|
||||
([EANART])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_VENTASEDI_idx6] ON [RDX_VENTASEDI]
|
||||
([CODCOM])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_VENTASEDI_idx7] ON [RDX_VENTASEDI]
|
||||
([PRODUTO])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
|
||||
ON [RDX_VENTASEDI]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
|
||||
|
||||
UPDATE RDX_CABINV
|
||||
SET CARGADO = NULL;
|
||||
|
||||
UPDATE RDX_CABVEN
|
||||
SET CARGADO = NULL;
|
||||
GO
|
||||
|
||||
|
||||
>>>>>>>>>>><LANZAR PROCEDIMIENTOS DE CARGA
|
||||
434
Database/__Script mejoras.sql
Normal file
434
Database/__Script mejoras.sql
Normal file
@ -0,0 +1,434 @@
|
||||
CREATE NONCLUSTERED INDEX [RDX_REFERENCIA_GENERICA_idx3] ON [dbo].[RDX_REFERENCIA_GENERICA]
|
||||
([ESTADO])
|
||||
WITH (
|
||||
PAD_INDEX = OFF,
|
||||
DROP_EXISTING = OFF,
|
||||
STATISTICS_NORECOMPUTE = OFF,
|
||||
SORT_IN_TEMPDB = OFF,
|
||||
ONLINE = OFF,
|
||||
ALLOW_ROW_LOCKS = ON,
|
||||
ALLOW_PAGE_LOCKS = ON)
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_FILIALES_idx] ON [dbo].[RDX_FILIALES]
|
||||
([CODBARRA])
|
||||
WITH (
|
||||
PAD_INDEX = OFF,
|
||||
DROP_EXISTING = OFF,
|
||||
STATISTICS_NORECOMPUTE = OFF,
|
||||
SORT_IN_TEMPDB = OFF,
|
||||
ONLINE = OFF,
|
||||
ALLOW_ROW_LOCKS = ON,
|
||||
ALLOW_PAGE_LOCKS = ON)
|
||||
GO
|
||||
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_FILIALES_idx2] ON [dbo].[RDX_FILIALES]
|
||||
([CODFILIAL])
|
||||
WITH (
|
||||
PAD_INDEX = OFF,
|
||||
DROP_EXISTING = OFF,
|
||||
STATISTICS_NORECOMPUTE = OFF,
|
||||
SORT_IN_TEMPDB = OFF,
|
||||
ONLINE = OFF,
|
||||
ALLOW_ROW_LOCKS = ON,
|
||||
ALLOW_PAGE_LOCKS = ON)
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [FILIAIS_idx] ON [dbo].[FILIAIS]
|
||||
([COD_FILIAL])
|
||||
WITH (
|
||||
PAD_INDEX = OFF,
|
||||
DROP_EXISTING = OFF,
|
||||
STATISTICS_NORECOMPUTE = OFF,
|
||||
SORT_IN_TEMPDB = OFF,
|
||||
ONLINE = OFF,
|
||||
ALLOW_ROW_LOCKS = ON,
|
||||
ALLOW_PAGE_LOCKS = ON)
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [LOJA_VENDEDORES_idx] ON [dbo].[LOJA_VENDEDORES]
|
||||
([RG])
|
||||
WITH (
|
||||
PAD_INDEX = OFF,
|
||||
DROP_EXISTING = OFF,
|
||||
STATISTICS_NORECOMPUTE = OFF,
|
||||
SORT_IN_TEMPDB = OFF,
|
||||
ONLINE = OFF,
|
||||
ALLOW_ROW_LOCKS = ON,
|
||||
ALLOW_PAGE_LOCKS = ON)
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_CANTINV_idx3] ON [dbo].[RDX_CANTINV]
|
||||
([TIPOCANT])
|
||||
WITH (
|
||||
PAD_INDEX = OFF,
|
||||
DROP_EXISTING = OFF,
|
||||
STATISTICS_NORECOMPUTE = OFF,
|
||||
SORT_IN_TEMPDB = OFF,
|
||||
ONLINE = OFF,
|
||||
ALLOW_ROW_LOCKS = ON,
|
||||
ALLOW_PAGE_LOCKS = ON)
|
||||
GO
|
||||
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_AJUSTES_ALBARAN_idx] ON [dbo].[RDX_AJUSTES_ALBARAN]
|
||||
([ESTADO])
|
||||
WITH (
|
||||
PAD_INDEX = OFF,
|
||||
DROP_EXISTING = OFF,
|
||||
STATISTICS_NORECOMPUTE = OFF,
|
||||
SORT_IN_TEMPDB = OFF,
|
||||
ONLINE = OFF,
|
||||
ALLOW_ROW_LOCKS = ON,
|
||||
ALLOW_PAGE_LOCKS = ON)
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_AJUSTES_ALBARAN_idx2] ON [dbo].[RDX_AJUSTES_ALBARAN]
|
||||
([CONTABILIZAR])
|
||||
WITH (
|
||||
PAD_INDEX = OFF,
|
||||
DROP_EXISTING = OFF,
|
||||
STATISTICS_NORECOMPUTE = OFF,
|
||||
SORT_IN_TEMPDB = OFF,
|
||||
ONLINE = OFF,
|
||||
ALLOW_ROW_LOCKS = ON,
|
||||
ALLOW_PAGE_LOCKS = ON)
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [FATURAMENTO_TIPO_idx] ON [dbo].[FATURAMENTO_TIPO]
|
||||
([INDICADOR_TIPO])
|
||||
WITH (
|
||||
PAD_INDEX = OFF,
|
||||
DROP_EXISTING = OFF,
|
||||
STATISTICS_NORECOMPUTE = OFF,
|
||||
SORT_IN_TEMPDB = OFF,
|
||||
ONLINE = OFF,
|
||||
ALLOW_ROW_LOCKS = ON,
|
||||
ALLOW_PAGE_LOCKS = ON)
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_TALLAS_idx] ON [dbo].[RDX_TALLAS]
|
||||
([TALLA])
|
||||
WITH (
|
||||
PAD_INDEX = OFF,
|
||||
DROP_EXISTING = OFF,
|
||||
STATISTICS_NORECOMPUTE = OFF,
|
||||
SORT_IN_TEMPDB = OFF,
|
||||
ONLINE = OFF,
|
||||
ALLOW_ROW_LOCKS = ON,
|
||||
ALLOW_PAGE_LOCKS = ON)
|
||||
GO
|
||||
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_TRASPASOS_AJUSTES_idx] ON [dbo].[RDX_TRASPASOS_AJUSTES]
|
||||
([APROBADO])
|
||||
WITH (
|
||||
PAD_INDEX = OFF,
|
||||
DROP_EXISTING = OFF,
|
||||
STATISTICS_NORECOMPUTE = OFF,
|
||||
SORT_IN_TEMPDB = OFF,
|
||||
ONLINE = OFF,
|
||||
ALLOW_ROW_LOCKS = ON,
|
||||
ALLOW_PAGE_LOCKS = ON)
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_TRASPASOS_AJUSTES_idx2] ON [dbo].[RDX_TRASPASOS_AJUSTES]
|
||||
([ESTADO])
|
||||
WITH (
|
||||
PAD_INDEX = OFF,
|
||||
DROP_EXISTING = OFF,
|
||||
STATISTICS_NORECOMPUTE = OFF,
|
||||
SORT_IN_TEMPDB = OFF,
|
||||
ONLINE = OFF,
|
||||
ALLOW_ROW_LOCKS = ON,
|
||||
ALLOW_PAGE_LOCKS = ON)
|
||||
GO
|
||||
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_DEVOLUCION_AJUSTES_idx] ON [dbo].[RDX_DEVOLUCION_AJUSTES]
|
||||
([APROBADO])
|
||||
WITH (
|
||||
PAD_INDEX = OFF,
|
||||
DROP_EXISTING = OFF,
|
||||
STATISTICS_NORECOMPUTE = OFF,
|
||||
SORT_IN_TEMPDB = OFF,
|
||||
ONLINE = OFF,
|
||||
ALLOW_ROW_LOCKS = ON,
|
||||
ALLOW_PAGE_LOCKS = ON)
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_DEVOLUCION_AJUSTES_idx2] ON [dbo].[RDX_DEVOLUCION_AJUSTES]
|
||||
([FECHACAMBIO])
|
||||
WITH (
|
||||
PAD_INDEX = OFF,
|
||||
DROP_EXISTING = OFF,
|
||||
STATISTICS_NORECOMPUTE = OFF,
|
||||
SORT_IN_TEMPDB = OFF,
|
||||
ONLINE = OFF,
|
||||
ALLOW_ROW_LOCKS = ON,
|
||||
ALLOW_PAGE_LOCKS = ON)
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [PRODUTOS_idx] ON [dbo].[PRODUTOS]
|
||||
([DESC_PRODUTO])
|
||||
WITH (
|
||||
PAD_INDEX = OFF,
|
||||
DROP_EXISTING = OFF,
|
||||
STATISTICS_NORECOMPUTE = OFF,
|
||||
SORT_IN_TEMPDB = OFF,
|
||||
ONLINE = OFF,
|
||||
ALLOW_ROW_LOCKS = ON,
|
||||
ALLOW_PAGE_LOCKS = ON)
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_ARTVEN_idx] ON [dbo].[RDX_ARTVEN]
|
||||
([EANART])
|
||||
WITH (
|
||||
PAD_INDEX = OFF,
|
||||
DROP_EXISTING = OFF,
|
||||
STATISTICS_NORECOMPUTE = OFF,
|
||||
SORT_IN_TEMPDB = OFF,
|
||||
ONLINE = OFF,
|
||||
ALLOW_ROW_LOCKS = ON,
|
||||
ALLOW_PAGE_LOCKS = ON)
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_ARTVEN_idx2] ON [dbo].[RDX_ARTVEN]
|
||||
([CODCOM])
|
||||
WITH (
|
||||
PAD_INDEX = OFF,
|
||||
DROP_EXISTING = OFF,
|
||||
STATISTICS_NORECOMPUTE = OFF,
|
||||
SORT_IN_TEMPDB = OFF,
|
||||
ONLINE = OFF,
|
||||
ALLOW_ROW_LOCKS = ON,
|
||||
ALLOW_PAGE_LOCKS = ON)
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_ARTVEN_idx4] ON [dbo].[RDX_ARTVEN]
|
||||
([NUMTALON])
|
||||
WITH (
|
||||
PAD_INDEX = OFF,
|
||||
DROP_EXISTING = OFF,
|
||||
STATISTICS_NORECOMPUTE = OFF,
|
||||
SORT_IN_TEMPDB = OFF,
|
||||
ONLINE = OFF,
|
||||
ALLOW_ROW_LOCKS = ON,
|
||||
ALLOW_PAGE_LOCKS = ON)
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_ARTVEN_idx5] ON [dbo].[RDX_ARTVEN]
|
||||
([EANVEN])
|
||||
WITH (
|
||||
PAD_INDEX = OFF,
|
||||
DROP_EXISTING = OFF,
|
||||
STATISTICS_NORECOMPUTE = OFF,
|
||||
SORT_IN_TEMPDB = OFF,
|
||||
ONLINE = OFF,
|
||||
ALLOW_ROW_LOCKS = ON,
|
||||
ALLOW_PAGE_LOCKS = ON)
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_CABVEN_idx] ON [dbo].[RDX_CABVEN]
|
||||
([NUMINF])
|
||||
WITH (
|
||||
PAD_INDEX = OFF,
|
||||
DROP_EXISTING = OFF,
|
||||
STATISTICS_NORECOMPUTE = OFF,
|
||||
SORT_IN_TEMPDB = OFF,
|
||||
ONLINE = OFF,
|
||||
ALLOW_ROW_LOCKS = ON,
|
||||
ALLOW_PAGE_LOCKS = ON)
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_CABVEN_idx2] ON [dbo].[RDX_CABVEN]
|
||||
([IGNORAR])
|
||||
WITH (
|
||||
PAD_INDEX = OFF,
|
||||
DROP_EXISTING = OFF,
|
||||
STATISTICS_NORECOMPUTE = OFF,
|
||||
SORT_IN_TEMPDB = OFF,
|
||||
ONLINE = OFF,
|
||||
ALLOW_ROW_LOCKS = ON,
|
||||
ALLOW_PAGE_LOCKS = ON)
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_INFORMES_idx] ON [dbo].[RDX_INFORMES]
|
||||
([CATEGORIA])
|
||||
WITH (
|
||||
PAD_INDEX = OFF,
|
||||
DROP_EXISTING = OFF,
|
||||
STATISTICS_NORECOMPUTE = OFF,
|
||||
SORT_IN_TEMPDB = OFF,
|
||||
ONLINE = OFF,
|
||||
ALLOW_ROW_LOCKS = ON,
|
||||
ALLOW_PAGE_LOCKS = ON)
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_LUGVEN_idx] ON [dbo].[RDX_LUGVEN]
|
||||
([EANLUG])
|
||||
WITH (
|
||||
PAD_INDEX = OFF,
|
||||
DROP_EXISTING = OFF,
|
||||
STATISTICS_NORECOMPUTE = OFF,
|
||||
SORT_IN_TEMPDB = OFF,
|
||||
ONLINE = OFF,
|
||||
ALLOW_ROW_LOCKS = ON,
|
||||
ALLOW_PAGE_LOCKS = ON)
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_RECEPCION_AJUSTES_idx] ON [dbo].[RDX_RECEPCION_AJUSTES]
|
||||
([FECHACAMBIO])
|
||||
WITH (
|
||||
PAD_INDEX = OFF,
|
||||
DROP_EXISTING = OFF,
|
||||
STATISTICS_NORECOMPUTE = OFF,
|
||||
SORT_IN_TEMPDB = OFF,
|
||||
ONLINE = OFF,
|
||||
ALLOW_ROW_LOCKS = ON,
|
||||
ALLOW_PAGE_LOCKS = ON)
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_RECEPCION_AJUSTES_idx2] ON [dbo].[RDX_RECEPCION_AJUSTES]
|
||||
([APROBADO])
|
||||
WITH (
|
||||
PAD_INDEX = OFF,
|
||||
DROP_EXISTING = OFF,
|
||||
STATISTICS_NORECOMPUTE = OFF,
|
||||
SORT_IN_TEMPDB = OFF,
|
||||
ONLINE = OFF,
|
||||
ALLOW_ROW_LOCKS = ON,
|
||||
ALLOW_PAGE_LOCKS = ON)
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_REFERENCIA_GENERICA_idx] ON [dbo].[RDX_REFERENCIA_GENERICA]
|
||||
([FECHACAMBIO])
|
||||
WITH (
|
||||
PAD_INDEX = OFF,
|
||||
DROP_EXISTING = OFF,
|
||||
STATISTICS_NORECOMPUTE = OFF,
|
||||
SORT_IN_TEMPDB = OFF,
|
||||
ONLINE = OFF,
|
||||
ALLOW_ROW_LOCKS = ON,
|
||||
ALLOW_PAGE_LOCKS = ON)
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_REFERENCIA_GENERICA_idx2] ON [dbo].[RDX_REFERENCIA_GENERICA]
|
||||
([CODIGO_BARRA])
|
||||
WITH (
|
||||
PAD_INDEX = OFF,
|
||||
DROP_EXISTING = OFF,
|
||||
STATISTICS_NORECOMPUTE = OFF,
|
||||
SORT_IN_TEMPDB = OFF,
|
||||
ONLINE = OFF,
|
||||
ALLOW_ROW_LOCKS = ON,
|
||||
ALLOW_PAGE_LOCKS = ON)
|
||||
GO
|
||||
|
||||
CREATE NONCLUSTERED INDEX [RDX_TRASPASOS_AJUSTES_idx3] ON [dbo].[RDX_TRASPASOS_AJUSTES]
|
||||
([FECHACAMBIO])
|
||||
WITH (
|
||||
PAD_INDEX = OFF,
|
||||
DROP_EXISTING = OFF,
|
||||
STATISTICS_NORECOMPUTE = OFF,
|
||||
SORT_IN_TEMPDB = OFF,
|
||||
ONLINE = OFF,
|
||||
ALLOW_ROW_LOCKS = ON,
|
||||
ALLOW_PAGE_LOCKS = ON)
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
CREATE VIEW RDX_V_INVENTARIOEDI AS
|
||||
SELECT
|
||||
RDX_CANTINV.NUMDOC,
|
||||
RDX_CANTINV.NUMLIN,
|
||||
RDX_CANTINV.NUMCANT,
|
||||
RDX_CANTINV.TIPOCANT,
|
||||
RDX_CABINV.FECHALIQ AS FECHA,
|
||||
RDX_CABINV.CENTRO,
|
||||
FILIAL = ISNULL(FILIAIS.FILIAL, RDX_CABINV.CENTRO),
|
||||
RDX_CANTINV.IDVEN AS CODVEN,
|
||||
VENDEDOR = ISNULL(LTRIM(RTRIM(LOJA_VENDEDORES.NOME_VENDEDOR)) + ' ' + LTRIM(RTRIM(LOJA_VENDEDORES.VENDEDOR_APELIDO)), RDX_CANTINV.IDVEN),
|
||||
RDX_LININV.CODART AS CODIGO_BARRA,
|
||||
CODIGO = ISNULL(PRODUTOS.PRODUTO, '107CH.EN.01'),
|
||||
PRODUCTO = ISNULL(PRODUTOS.DESC_PRODUTO, '*** ERROR REFERENCIA **** LLAMAR AL CI'),
|
||||
COLOR = ISNULL(PRODUTOS_BARRA.COR_PRODUTO, 300),
|
||||
TALLA = PRODUTOS_BARRA.GRADE,
|
||||
RDX_CANTINV.CANTIDAD,
|
||||
CENTRO2 = RDX_CANTINV.CENTRO,
|
||||
FILIAL2 = ISNULL(FILIAIS2.FILIAL, RDX_CANTINV.CENTRO)
|
||||
FROM RDX_CANTINV
|
||||
INNER JOIN RDX_LININV ON
|
||||
((RDX_LININV.NUMDOC = RDX_CANTINV.NUMDOC) AND
|
||||
(RDX_LININV.NUMLIN = RDX_CANTINV.NUMLIN))
|
||||
INNER JOIN RDX_CABINV ON
|
||||
(RDX_CABINV.NUMDOC = RDX_LININV.NUMDOC)
|
||||
LEFT OUTER JOIN RDX_FILIALES ON (RDX_FILIALES.CODBARRA = RDX_CABINV.CENTRO)
|
||||
LEFT OUTER JOIN FILIAIS ON (FILIAIS.COD_FILIAL = RDX_FILIALES.CODFILIAL)
|
||||
LEFT OUTER JOIN RDX_FILIALES RDX_FILIALES2 ON (RDX_FILIALES2.CODBARRA = RDX_CANTINV.CENTRO)
|
||||
LEFT OUTER JOIN FILIAIS FILIAIS2 ON (FILIAIS2.COD_FILIAL = RDX_FILIALES2.CODFILIAL)
|
||||
LEFT OUTER JOIN LOJA_VENDEDORES ON (LOJA_VENDEDORES.RG = RDX_CANTINV.IDVEN)
|
||||
LEFT OUTER JOIN PRODUTOS_BARRA ON ((PRODUTOS_BARRA.CODIGO_BARRA = RDX_LININV.CODART))
|
||||
LEFT OUTER JOIN PRODUTOS ON (PRODUTOS.PRODUTO = PRODUTOS_BARRA.PRODUTO)
|
||||
WHERE RDX_CABINV.FECHALIQ >= convert(datetime, '20060601', 112) /* PARA NO COGER AÑOS ANTERIORES */
|
||||
AND (RDX_CABINV.IGNORAR IS NULL) OR (RDX_CABINV.IGNORAR <> 'S')
|
||||
GO
|
||||
|
||||
|
||||
|
||||
create table RDX_INVENTARIOEDI (
|
||||
[NUMDOC]numeric(10, 0) NOT NULL,
|
||||
[NUMLIN]numeric(5, 0) NOT NULL,
|
||||
[NUMCANT]varchar(17) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
|
||||
[TIPOCANT]varchar(70) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
|
||||
[FECHA]datetime NULL,
|
||||
[CENTRO]datetime NULL,
|
||||
[FILIAL]datetime NULL,
|
||||
[CODVEN]datetime NULL,
|
||||
[VENDEDOR]datetime NULL,
|
||||
[CODIGO_BARRA]
|
||||
[CODIGO]
|
||||
[PRODUCTO]
|
||||
[COLOR]
|
||||
[TALLA]
|
||||
[CANTIDAD]
|
||||
[CENTRO2]
|
||||
[FILIAL2]
|
||||
PRIMARY KEY CLUSTERED ([CLAVE1], [CLAVE2]),
|
||||
CONSTRAINT [FK__RDX_LUGVE__CLAVE__4A59F0B5] FOREIGN KEY ([CLAVE1])
|
||||
REFERENCES [dbo].[RDX_CABVEN] ([CLAVE1])
|
||||
ON UPDATE CASCADE
|
||||
ON DELETE CASCADE
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
6
Source/AdminPVGroup.bdsgroup.local
Normal file
6
Source/AdminPVGroup.bdsgroup.local
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<BorlandProject>
|
||||
<Default.Personality>
|
||||
<Projects ActiveProject="ControlesBaseD10.bpl"/>
|
||||
</Default.Personality>
|
||||
</BorlandProject>
|
||||
@ -4,11 +4,11 @@
|
||||
</PropertyGroup>
|
||||
<ItemGroup />
|
||||
<ItemGroup>
|
||||
<Projects Include="ApplicationBase\ApplicationBase.dproj" />
|
||||
<Projects Include="Base\Base.dproj" />
|
||||
<Projects Include="Base\BaseD10.dproj" />
|
||||
<Projects Include="CargaEDI\CargaEDI.dproj" />
|
||||
<Projects Include="Cliente\AdminPV.dproj" />
|
||||
<Projects Include="ControlesBase\ControlesBase.dproj" />
|
||||
<Projects Include="Configuracion\Configuracion.dproj" />
|
||||
<Projects Include="ControlesBase\ControlesBaseD10.dproj" />
|
||||
<Projects Include="Modulos\Devoluciones\Cliente\Devoluciones.dproj" />
|
||||
<Projects Include="Modulos\FicherosEDI\Cliente\FicherosEDI.dproj" />
|
||||
<Projects Include="Modulos\Parametros\Cliente\Parametros.dproj" />
|
||||
@ -19,6 +19,7 @@
|
||||
<Projects Include="Modulos\VentasProceso\Cliente\VentasProceso.dproj" />
|
||||
<Projects Include="Modulos\VentasTerminadas\Cliente\VentasTerminadas.dproj" />
|
||||
<Projects Include="Servidor\AdminPV_Server.dproj" />
|
||||
<Projects Include="Usuarios\Usuarios.dproj" />
|
||||
</ItemGroup>
|
||||
<ProjectExtensions>
|
||||
<Borland.Personality>Default.Personality</Borland.Personality>
|
||||
@ -26,23 +27,32 @@
|
||||
<BorlandProject>
|
||||
<BorlandProject xmlns=""><Default.Personality></Default.Personality></BorlandProject></BorlandProject>
|
||||
</ProjectExtensions>
|
||||
<Target Name="Base">
|
||||
<MSBuild Projects="Base\Base.dproj" Targets="" />
|
||||
<Target Name="AdminPV_Server">
|
||||
<MSBuild Projects="Servidor\AdminPV_Server.dproj" Targets="" />
|
||||
</Target>
|
||||
<Target Name="Base:Clean">
|
||||
<MSBuild Projects="Base\Base.dproj" Targets="Clean" />
|
||||
<Target Name="AdminPV_Server:Clean">
|
||||
<MSBuild Projects="Servidor\AdminPV_Server.dproj" Targets="Clean" />
|
||||
</Target>
|
||||
<Target Name="Base:Make">
|
||||
<MSBuild Projects="Base\Base.dproj" Targets="Make" />
|
||||
<Target Name="AdminPV_Server:Make">
|
||||
<MSBuild Projects="Servidor\AdminPV_Server.dproj" Targets="Make" />
|
||||
</Target>
|
||||
<Target Name="ControlesBase">
|
||||
<MSBuild Projects="ControlesBase\ControlesBase.dproj" Targets="" />
|
||||
<Target Name="BaseD10">
|
||||
<MSBuild Projects="Base\BaseD10.dproj" Targets="" />
|
||||
</Target>
|
||||
<Target Name="ControlesBase:Clean">
|
||||
<MSBuild Projects="ControlesBase\ControlesBase.dproj" Targets="Clean" />
|
||||
<Target Name="BaseD10:Clean">
|
||||
<MSBuild Projects="Base\BaseD10.dproj" Targets="Clean" />
|
||||
</Target>
|
||||
<Target Name="ControlesBase:Make">
|
||||
<MSBuild Projects="ControlesBase\ControlesBase.dproj" Targets="Make" />
|
||||
<Target Name="BaseD10:Make">
|
||||
<MSBuild Projects="Base\BaseD10.dproj" Targets="Make" />
|
||||
</Target>
|
||||
<Target Name="ControlesBaseD10">
|
||||
<MSBuild Projects="ControlesBase\ControlesBaseD10.dproj" Targets="" />
|
||||
</Target>
|
||||
<Target Name="ControlesBaseD10:Clean">
|
||||
<MSBuild Projects="ControlesBase\ControlesBaseD10.dproj" Targets="Clean" />
|
||||
</Target>
|
||||
<Target Name="ControlesBaseD10:Make">
|
||||
<MSBuild Projects="ControlesBase\ControlesBaseD10.dproj" Targets="Make" />
|
||||
</Target>
|
||||
<Target Name="Parametros">
|
||||
<MSBuild Projects="Modulos\Parametros\Cliente\Parametros.dproj" Targets="" />
|
||||
@ -53,14 +63,23 @@
|
||||
<Target Name="Parametros:Make">
|
||||
<MSBuild Projects="Modulos\Parametros\Cliente\Parametros.dproj" Targets="Make" />
|
||||
</Target>
|
||||
<Target Name="ApplicationBase">
|
||||
<MSBuild Projects="ApplicationBase\ApplicationBase.dproj" Targets="" />
|
||||
<Target Name="Usuarios">
|
||||
<MSBuild Projects="Usuarios\Usuarios.dproj" Targets="" />
|
||||
</Target>
|
||||
<Target Name="ApplicationBase:Clean">
|
||||
<MSBuild Projects="ApplicationBase\ApplicationBase.dproj" Targets="Clean" />
|
||||
<Target Name="Usuarios:Clean">
|
||||
<MSBuild Projects="Usuarios\Usuarios.dproj" Targets="Clean" />
|
||||
</Target>
|
||||
<Target Name="ApplicationBase:Make">
|
||||
<MSBuild Projects="ApplicationBase\ApplicationBase.dproj" Targets="Make" />
|
||||
<Target Name="Usuarios:Make">
|
||||
<MSBuild Projects="Usuarios\Usuarios.dproj" Targets="Make" />
|
||||
</Target>
|
||||
<Target Name="Configuracion">
|
||||
<MSBuild Projects="Configuracion\Configuracion.dproj" Targets="" />
|
||||
</Target>
|
||||
<Target Name="Configuracion:Clean">
|
||||
<MSBuild Projects="Configuracion\Configuracion.dproj" Targets="Clean" />
|
||||
</Target>
|
||||
<Target Name="Configuracion:Make">
|
||||
<MSBuild Projects="Configuracion\Configuracion.dproj" Targets="Make" />
|
||||
</Target>
|
||||
<Target Name="FicherosEDI">
|
||||
<MSBuild Projects="Modulos\FicherosEDI\Cliente\FicherosEDI.dproj" Targets="" />
|
||||
@ -152,23 +171,14 @@
|
||||
<Target Name="AdminPV:Make">
|
||||
<MSBuild Projects="Cliente\AdminPV.dproj" Targets="Make" />
|
||||
</Target>
|
||||
<Target Name="AdminPV_Server">
|
||||
<MSBuild Projects="Servidor\AdminPV_Server.dproj" Targets="" />
|
||||
</Target>
|
||||
<Target Name="AdminPV_Server:Clean">
|
||||
<MSBuild Projects="Servidor\AdminPV_Server.dproj" Targets="Clean" />
|
||||
</Target>
|
||||
<Target Name="AdminPV_Server:Make">
|
||||
<MSBuild Projects="Servidor\AdminPV_Server.dproj" Targets="Make" />
|
||||
</Target>
|
||||
<Target Name="Build">
|
||||
<CallTarget Targets="Base;ControlesBase;Parametros;ApplicationBase;FicherosEDI;VentasTerminadas;VentasProceso;ReferenciaGenerica;Recepciones;Devoluciones;Traspasos;Stock;CargaEDI;AdminPV;AdminPV_Server" />
|
||||
<CallTarget Targets="AdminPV_Server;BaseD10;ControlesBaseD10;Parametros;Usuarios;Configuracion;FicherosEDI;VentasTerminadas;VentasProceso;ReferenciaGenerica;Recepciones;Devoluciones;Traspasos;Stock;CargaEDI;AdminPV" />
|
||||
</Target>
|
||||
<Target Name="Clean">
|
||||
<CallTarget Targets="Base:Clean;ControlesBase:Clean;Parametros:Clean;ApplicationBase:Clean;FicherosEDI:Clean;VentasTerminadas:Clean;VentasProceso:Clean;ReferenciaGenerica:Clean;Recepciones:Clean;Devoluciones:Clean;Traspasos:Clean;Stock:Clean;CargaEDI:Clean;AdminPV:Clean;AdminPV_Server:Clean" />
|
||||
<CallTarget Targets="AdminPV_Server:Clean;BaseD10:Clean;ControlesBaseD10:Clean;Parametros:Clean;Usuarios:Clean;Configuracion:Clean;FicherosEDI:Clean;VentasTerminadas:Clean;VentasProceso:Clean;ReferenciaGenerica:Clean;Recepciones:Clean;Devoluciones:Clean;Traspasos:Clean;Stock:Clean;CargaEDI:Clean;AdminPV:Clean" />
|
||||
</Target>
|
||||
<Target Name="Make">
|
||||
<CallTarget Targets="Base:Make;ControlesBase:Make;Parametros:Make;ApplicationBase:Make;FicherosEDI:Make;VentasTerminadas:Make;VentasProceso:Make;ReferenciaGenerica:Make;Recepciones:Make;Devoluciones:Make;Traspasos:Make;Stock:Make;CargaEDI:Make;AdminPV:Make;AdminPV_Server:Make" />
|
||||
<CallTarget Targets="AdminPV_Server:Make;BaseD10:Make;ControlesBaseD10:Make;Parametros:Make;Usuarios:Make;Configuracion:Make;FicherosEDI:Make;VentasTerminadas:Make;VentasProceso:Make;ReferenciaGenerica:Make;Recepciones:Make;Devoluciones:Make;Traspasos:Make;Stock:Make;CargaEDI:Make;AdminPV:Make" />
|
||||
</Target>
|
||||
<Import Condition="Exists('$(MSBuildBinPath)\Borland.Group.Targets')" Project="$(MSBuildBinPath)\Borland.Group.Targets" />
|
||||
</Project>
|
||||
@ -1,40 +0,0 @@
|
||||
-$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
|
||||
-cg
|
||||
-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
|
||||
-H+
|
||||
-W+
|
||||
-M
|
||||
-$M16384,1048576
|
||||
-K$00400000
|
||||
-N0".\"
|
||||
-LE"..\..\..\..\Output\Debug\Cliente"
|
||||
-LN"..\Lib"
|
||||
-U"..\Lib"
|
||||
-O"..\Lib"
|
||||
-I"..\Lib"
|
||||
-R"..\Lib"
|
||||
@ -1,64 +0,0 @@
|
||||
package ApplicationBase;
|
||||
|
||||
{$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}
|
||||
{$IMPLICITBUILD ON}
|
||||
{$DEFINE DEBUG}
|
||||
|
||||
requires
|
||||
rtl,
|
||||
vcl,
|
||||
dbrtl,
|
||||
PluginSDK_D11R,
|
||||
Base,
|
||||
pckMD5,
|
||||
pckUserControl_RT;
|
||||
|
||||
contains
|
||||
uAdminPV_App in 'uAdminPV_App.pas',
|
||||
uIDataModuleUsuarios in 'Usuarios\Model\Data\uIDataModuleUsuarios.pas',
|
||||
uDataModuleUsuarios in 'Usuarios\Data\uDataModuleUsuarios.pas' {DataModuleUsuarios},
|
||||
uUCROConn in 'Usuarios\Data\uUCROConn.pas',
|
||||
uUsuariosController in 'Usuarios\Controller\uUsuariosController.pas',
|
||||
uBizUsuarios in 'Usuarios\Model\uBizUsuarios.pas',
|
||||
uIEditorLogin in 'Usuarios\Controller\View\uIEditorLogin.pas',
|
||||
uEditorLogin in 'Usuarios\Views\uEditorLogin.pas' {fEditorLogin},
|
||||
uUsuariosViewRegister in 'Usuarios\Views\uUsuariosViewRegister.pas',
|
||||
uViewPerfilesUsuario in 'Usuarios\Views\uViewPerfilesUsuario.pas' {frViewPerfilesUsuario: TFrame},
|
||||
uEditorPerfilesUsuario in 'Usuarios\Views\uEditorPerfilesUsuario.pas' {fEditorPerfilesUsuario},
|
||||
uIEditorUsuarios in 'Usuarios\Controller\View\uIEditorUsuarios.pas',
|
||||
uEditorPerfilUsuario in 'Usuarios\Views\uEditorPerfilUsuario.pas' {fEditorPerfilUsuario},
|
||||
uIEditorUsuario in 'Usuarios\Controller\View\uIEditorUsuario.pas',
|
||||
uViewPerfilUsuario in 'Usuarios\Views\uViewPerfilUsuario.pas' {frViewPerfilUsuario: TFrame},
|
||||
uIEditorPerfilesUsuario in 'Usuarios\Controller\View\uIEditorPerfilesUsuario.pas',
|
||||
uIEditorPerfilUsuario in 'Usuarios\Controller\View\uIEditorPerfilUsuario.pas',
|
||||
uEditorUsuarios in 'Usuarios\Views\uEditorUsuarios.pas' {fEditorUsuarios},
|
||||
uViewUsuarios in 'Usuarios\Views\uViewUsuarios.pas' {frViewUsuarios: TFrame},
|
||||
uEditorUsuario in 'Usuarios\Views\uEditorUsuario.pas' {fEditorUsuario: TFrame},
|
||||
uViewUsuario in 'Usuarios\Views\uViewUsuario.pas' {frViewUsuario: TFrame},
|
||||
uEditorCambiarPassword in 'Usuarios\Views\uEditorCambiarPassword.pas' {fEditorCambiarPassword},
|
||||
schUsuariosClient_Intf in 'Usuarios\Model\schUsuariosClient_Intf.pas',
|
||||
schUsuariosServer_Intf in 'Usuarios\Model\schUsuariosServer_Intf.pas',
|
||||
uEditorPermisosUsuario in 'Usuarios\Views\uEditorPermisosUsuario.pas' {fEditorPermisosUsuario};
|
||||
|
||||
end.
|
||||
@ -1,22 +0,0 @@
|
||||
1 VERSIONINFO
|
||||
FILEVERSION 1,0,0,0
|
||||
PRODUCTVERSION 1,0,0,0
|
||||
FILEFLAGSMASK 0x3FL
|
||||
FILEFLAGS 0x00L
|
||||
FILEOS 0x40004L
|
||||
FILETYPE 0x1L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "0C0A04E4"
|
||||
BEGIN
|
||||
VALUE "FileVersion", "1.0.0.0\0"
|
||||
VALUE "ProductVersion", "1.0.0.0\0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x0C0A, 1252
|
||||
END
|
||||
END
|
||||
@ -1,22 +0,0 @@
|
||||
unit uIEditorLogin;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
uEditorBase, uUsuariosController;
|
||||
|
||||
type
|
||||
IEditorLogin = interface
|
||||
['{96513A0B-679D-4DD6-8821-C99003DAD2A3}']
|
||||
function ShowModal : Integer;
|
||||
procedure Release;
|
||||
|
||||
function GetController : IUsuariosController;
|
||||
procedure SetController (const AValue : IUsuariosController);
|
||||
property Controller : IUsuariosController read GetController write SetController;
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
end.
|
||||
@ -1,23 +0,0 @@
|
||||
unit uIEditorPerfilUsuario;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
uEditorDBBase, uBizUsuarios, uUsuariosController;
|
||||
|
||||
type
|
||||
IEditorPerfilUsuario = interface(IEditorDBBase)
|
||||
['{1DE19CC0-E4FA-4FD7-AE70-6430781CAFE4}']
|
||||
function GetPerfilUsuario: IBizPerfilUsuario;
|
||||
procedure SetPerfilUsuario(const Value: IBizPerfilUsuario);
|
||||
property PerfilUsuario: IBizPerfilUsuario read GetPerfilUsuario write SetPerfilUsuario;
|
||||
|
||||
function GetController : IUsuariosController;
|
||||
procedure SetController (const Value : IUsuariosController);
|
||||
property Controller : IUsuariosController read GetController write SetController;
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
end.
|
||||
@ -1,23 +0,0 @@
|
||||
unit uIEditorPerfilesUsuario;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
uEditorDBBase, uBizUsuarios, uUsuariosController;
|
||||
|
||||
type
|
||||
IEditorPerfilesUsuario = interface(IEditorDBBase)
|
||||
['{A4EDC876-8290-4AFF-B307-E935CD750842}']
|
||||
function GetPerfilesUsuario: IBizPerfilUsuario;
|
||||
procedure SetPerfilesUsuario(const Value: IBizPerfilUsuario);
|
||||
property PerfilesUsuario: IBizPerfilUsuario read GetPerfilesUsuario write SetPerfilesUsuario;
|
||||
|
||||
function GetController : IUsuariosController;
|
||||
procedure SetController (const Value : IUsuariosController);
|
||||
property Controller : IUsuariosController read GetController write SetController;
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
end.
|
||||
@ -1,22 +0,0 @@
|
||||
unit uIEditorUsuario;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
uEditorDBItem, uUsuariosController, uBizUsuarios;
|
||||
|
||||
type
|
||||
IEditorUsuario = interface(IEditorDBItem)
|
||||
['{D016C4C2-F204-47AA-9327-00379CFFFB14}']
|
||||
function GetController : IUsuariosController;
|
||||
procedure SetController (const Value : IUsuariosController);
|
||||
property Controller : IUsuariosController read GetController write SetController;
|
||||
|
||||
function GetUsuario: IBizUsuario;
|
||||
procedure SetUsuario(const Value: IBizUsuario);
|
||||
property Usuario: IBizUsuario read GetUsuario write SetUsuario;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
end.
|
||||
@ -1,23 +0,0 @@
|
||||
unit uIEditorUsuarios;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
uEditorGridBase, uUsuariosController, uBizUsuarios;
|
||||
|
||||
type
|
||||
IEditorUsuarios = interface(IEditorGridBase)
|
||||
['{236534A8-F225-4EA0-8917-4228E530C604}']
|
||||
function GetController : IUsuariosController;
|
||||
procedure SetController (const Value : IUsuariosController);
|
||||
property Controller : IUsuariosController read GetController write SetController;
|
||||
|
||||
function GetUsuarios: IBizUsuario;
|
||||
procedure SetUsuarios(const Value: IBizUsuario);
|
||||
property Usuarios: IBizUsuario read GetUsuarios write SetUsuarios;
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
end.
|
||||
@ -1,287 +0,0 @@
|
||||
unit uPerfilesUsuarioController;
|
||||
|
||||
interface
|
||||
|
||||
|
||||
uses
|
||||
Classes, SysUtils, uDADataTable, uControllerBase, uEditorDBItem,
|
||||
uIDataModuleUsuarios, uBizUsuarios;
|
||||
|
||||
type
|
||||
IPerfilesUsuarioController = interface(IObservador)
|
||||
['{3D60BC4E-B244-4C08-9A1A-00A7C3B74558}']
|
||||
function BuscarTodos: IBizPerfilUsuario;
|
||||
procedure VerTodos;
|
||||
procedure Ver(const AIDPerfil : Integer);
|
||||
procedure Anadir(APerfilUsuario : IBizPerfilUsuario);
|
||||
function Eliminar(APerfilUsuario : IBizPerfilUsuario): Boolean; overload;
|
||||
function Eliminar(const AIDPerfil : Integer): Boolean; overload;
|
||||
function Guardar(APerfilUsuario : IBizPerfilUsuario): Boolean;
|
||||
procedure DescartarCambios(APerfilUsuario : IBizPerfilUsuario);
|
||||
function Localizar(APerfilesUsuario: IBizPerfilUsuario; ADescripcion:String): Boolean;
|
||||
function DarListaPerfilesUsuario: TStringList;
|
||||
end;
|
||||
|
||||
TPerfilesUsuarioController = class(TObservador, IPerfilesUsuarioController)
|
||||
protected
|
||||
FDataModule : IDataModuleUsuarios;
|
||||
|
||||
procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); override;
|
||||
function CreateEditor(const AName : String; const IID: TGUID; out Intf): Boolean;
|
||||
|
||||
//Estos son los tres métodos a sobre escribir si se desea heredar toda la logica de
|
||||
//este controller
|
||||
procedure AsignarDataModule; virtual;
|
||||
procedure ValidarObjetos; virtual;
|
||||
|
||||
public
|
||||
constructor Create; override;
|
||||
destructor Destroy; override;
|
||||
|
||||
function Eliminar(APerfilUsuario : IBizPerfilUsuario): Boolean; overload;
|
||||
function Eliminar(const AIDPerfil : Integer): Boolean; overload;
|
||||
function Guardar(APerfilUsuario : IBizPerfilUsuario): Boolean;
|
||||
procedure DescartarCambios(APerfilUsuario : IBizPerfilUsuario); virtual;
|
||||
procedure Anadir(APerfilUsuario : IBizPerfilUsuario);
|
||||
function BuscarTodos: IBizPerfilUsuario;
|
||||
procedure VerTodos;
|
||||
procedure Ver(const AIDPerfil : Integer);
|
||||
function Localizar(APerfilesUsuario: IBizPerfilUsuario; ADescripcion:String): Boolean;
|
||||
function DarListaPerfilesUsuario: TStringList;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
cxControls, DB, uEditorRegistryUtils,
|
||||
uDAInterfaces, uDataTableUtils,
|
||||
uDateUtils, uROTypes, DateUtils, Controls, Windows, schUsuariosClient_Intf,
|
||||
uDataModuleUsuarios, uIEditorPerfilesUsuario, uIEditorPerfilUsuario;
|
||||
|
||||
{ TPerfilesUsuarioController }
|
||||
|
||||
procedure TPerfilesUsuarioController.Anadir(APerfilUsuario: IBizPerfilUsuario);
|
||||
begin
|
||||
APerfilUsuario.Insert;
|
||||
end;
|
||||
|
||||
procedure TPerfilesUsuarioController.AsignarDataModule;
|
||||
begin
|
||||
FDataModule := TDataModuleUsuarios.Create(Nil);
|
||||
end;
|
||||
|
||||
function TPerfilesUsuarioController.BuscarTodos: IBizPerfilUsuario;
|
||||
begin
|
||||
Result := FDataModule.GetPerfiles;
|
||||
end;
|
||||
|
||||
constructor TPerfilesUsuarioController.Create;
|
||||
begin
|
||||
inherited;
|
||||
AsignarDataModule;
|
||||
end;
|
||||
|
||||
function TPerfilesUsuarioController.CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean;
|
||||
begin
|
||||
Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf);
|
||||
end;
|
||||
|
||||
function TPerfilesUsuarioController.DarListaPerfilesUsuario: TStringList;
|
||||
var
|
||||
APerfilesUsuario: IBizPerfilUsuario;
|
||||
begin
|
||||
APerfilesUsuario := BuscarTodos;
|
||||
APerfilesUsuario.DataTable.Active := True;
|
||||
Result := TStringList.Create;
|
||||
try
|
||||
with Result do
|
||||
begin
|
||||
APerfilesUsuario.DataTable.First;
|
||||
while not APerfilesUsuario.DataTable.EOF do
|
||||
begin
|
||||
Add(APerfilesUsuario.USERNAME);
|
||||
APerfilesUsuario.DataTable.Next;
|
||||
end;
|
||||
end;
|
||||
finally
|
||||
APerfilesUsuario := NIL;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TPerfilesUsuarioController.DescartarCambios(APerfilUsuario: IBizPerfilUsuario);
|
||||
begin
|
||||
if not Assigned(APerfilUsuario) then
|
||||
raise Exception.Create ('Perfil no asignado');
|
||||
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
if (APerfilUsuario.State in dsEditModes) then
|
||||
APerfilUsuario.Cancel;
|
||||
|
||||
APerfilUsuario.DataTable.CancelUpdates;
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
destructor TPerfilesUsuarioController.Destroy;
|
||||
begin
|
||||
FDataModule := Nil;
|
||||
inherited;
|
||||
end;
|
||||
|
||||
function TPerfilesUsuarioController.Eliminar(const AIDPerfil: Integer): Boolean;
|
||||
begin
|
||||
|
||||
end;
|
||||
|
||||
procedure TPerfilesUsuarioController.ValidarObjetos;
|
||||
var
|
||||
AEditor : IEditorPerfilesUsuario;
|
||||
APerfilesUsuario: IBizPerfilUsuario;
|
||||
begin
|
||||
APerfilesUsuario := FDataModule.GetPerfiles;
|
||||
if Assigned(APerfilesUsuario) then
|
||||
begin
|
||||
APerfilesUsuario.Active := True;
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
CreateEditor('EditorPerfilesUsuario', IEditorPerfilesUsuario, AEditor);
|
||||
if Assigned(AEditor) then
|
||||
with (AEditor as IEditorPerfilesUsuario) do
|
||||
begin
|
||||
Controller := Self; //OJO ORDEN MUY IMPORTANTE
|
||||
PerfilesUsuario := APerfilesUsuario;
|
||||
ShowEmbedded;
|
||||
end;
|
||||
finally
|
||||
AEditor := NIL;
|
||||
APerfilesUsuario := NIL;
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TPerfilesUsuarioController.Ver(const AIDPerfil: Integer);
|
||||
var
|
||||
AEditor : IEditorPerfilUsuario;
|
||||
FPerfil : IBizPerfilUsuario;
|
||||
begin
|
||||
FPerfil := FDataModule.GetPerfil(AIDPerfil);
|
||||
if Assigned(FPerfil) then
|
||||
begin
|
||||
FPerfil.Active := True;
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
CreateEditor('EditorPerfilUsuario', IEditorPerfilUsuario, AEditor);
|
||||
if Assigned(AEditor) then
|
||||
with (AEditor as IEditorPerfilUsuario) do
|
||||
begin
|
||||
Controller := Self; //OJO ORDEN MUY IMPORTANTE
|
||||
PerfilUsuario := FPerfil;
|
||||
ShowModal;
|
||||
Release;
|
||||
end;
|
||||
finally
|
||||
AEditor := NIL;
|
||||
FPerfil := NIL;
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TPerfilesUsuarioController.VerTodos;
|
||||
var
|
||||
AEditor : IEditorPerfilesUsuario;
|
||||
APerfilesUsuario: IBizPerfilUsuario;
|
||||
begin
|
||||
APerfilesUsuario := FDataModule.GetPerfiles;
|
||||
if Assigned(APerfilesUsuario) then
|
||||
begin
|
||||
APerfilesUsuario.Active := True;
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
CreateEditor('EditorPerfilesUsuario', IEditorPerfilesUsuario, AEditor);
|
||||
if Assigned(AEditor) then
|
||||
with (AEditor as IEditorPerfilesUsuario) do
|
||||
begin
|
||||
Controller := Self; //OJO ORDEN MUY IMPORTANTE
|
||||
PerfilesUsuario := APerfilesUsuario;
|
||||
ShowEmbedded;
|
||||
end;
|
||||
finally
|
||||
AEditor := NIL;
|
||||
APerfilesUsuario := NIL;
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TPerfilesUsuarioController.Eliminar(APerfilUsuario: IBizPerfilUsuario): Boolean;
|
||||
begin
|
||||
Result := False;
|
||||
|
||||
if not Assigned(APerfilUsuario) then
|
||||
raise Exception.Create ('Perfil no asignado');
|
||||
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
if (APerfilUsuario.State in dsEditModes) then
|
||||
APerfilUsuario.Cancel;
|
||||
|
||||
APerfilUsuario.Delete;
|
||||
APerfilUsuario.DataTable.ApplyUpdates;
|
||||
HideHourglassCursor;
|
||||
Result := True;
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TPerfilesUsuarioController.RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable);
|
||||
begin
|
||||
inherited;
|
||||
//
|
||||
end;
|
||||
|
||||
function TPerfilesUsuarioController.Guardar(APerfilUsuario: IBizPerfilUsuario): Boolean;
|
||||
begin
|
||||
Result := False;
|
||||
|
||||
if not Assigned(APerfilUsuario) then
|
||||
raise Exception.Create ('Perfil no asignado');
|
||||
|
||||
ValidarObjetos;
|
||||
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
if (APerfilUsuario.DataTable.State in dsEditModes) then
|
||||
APerfilUsuario.DataTable.Post;
|
||||
|
||||
APerfilUsuario.DataTable.ApplyUpdates;
|
||||
|
||||
Result := True;
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TPerfilesUsuarioController.Localizar(APerfilesUsuario: IBizPerfilUsuario; ADescripcion: String): Boolean;
|
||||
begin
|
||||
Result := True;
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
with APerfilesUsuario.DataTable do
|
||||
begin
|
||||
DisableControls;
|
||||
First;
|
||||
if not Locate(fld_PERFILESUSERNAME, ADescripcion, []) then
|
||||
Result := False;
|
||||
EnableControls;
|
||||
end;
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,426 +0,0 @@
|
||||
inherited DataModuleUsuarios: TDataModuleUsuarios
|
||||
OnCreate = DataModuleCreate
|
||||
Height = 215
|
||||
Width = 331
|
||||
object srvUsuarios: TRORemoteService
|
||||
Message = dmBase.ROMessage
|
||||
Channel = dmBase.ROChannel
|
||||
ServiceName = 'srvUsuarios'
|
||||
Left = 40
|
||||
Top = 80
|
||||
end
|
||||
object UCSettingsSpanish: TUCSettings
|
||||
AppMessages.MsgsForm_BtNew = '&Nuevo Mensaje'
|
||||
AppMessages.MsgsForm_BtReplay = '&Responder'
|
||||
AppMessages.MsgsForm_BtForward = '&Reenviar'
|
||||
AppMessages.MsgsForm_BtDelete = '&Borrar'
|
||||
AppMessages.MsgsForm_BtClose = '&Cerrar'
|
||||
AppMessages.MsgsForm_WindowCaption = 'Mensajes de Sistema'
|
||||
AppMessages.MsgsForm_ColFrom = 'Remitente'
|
||||
AppMessages.MsgsForm_ColSubject = 'Asunto'
|
||||
AppMessages.MsgsForm_ColDate = 'Fecha'
|
||||
AppMessages.MsgsForm_PromptDelete = #191'Est'#225' seguro de eliminar los mensajes seleccionados?'
|
||||
AppMessages.MsgsForm_PromptDelete_WindowCaption = 'Eliminar mensajes'
|
||||
AppMessages.MsgsForm_NoMessagesSelected = '!Ning'#250'n mensaje seleccionado'#161
|
||||
AppMessages.MsgsForm_NoMessagesSelected_WindowCaption = 'Informaci'#243'n'
|
||||
AppMessages.MsgRec_BtClose = '&Cerrar'
|
||||
AppMessages.MsgRec_WindowCaption = 'Mensaje'
|
||||
AppMessages.MsgRec_Title = 'Mensaje Recibido'
|
||||
AppMessages.MsgRec_LabelFrom = 'De:'
|
||||
AppMessages.MsgRec_LabelDate = 'Fecha'
|
||||
AppMessages.MsgRec_LabelSubject = 'Asunto'
|
||||
AppMessages.MsgRec_LabelMessage = 'Mensaje'
|
||||
AppMessages.MsgSend_BtSend = '&Enviar'
|
||||
AppMessages.MsgSend_BtCancel = '&Cancelar'
|
||||
AppMessages.MsgSend_WindowCaption = 'Mensaje'
|
||||
AppMessages.MsgSend_Title = 'Enviar Nuevo Mensaje'
|
||||
AppMessages.MsgSend_GroupTo = 'Para:'
|
||||
AppMessages.MsgSend_RadioUser = 'Usuario:'
|
||||
AppMessages.MsgSend_RadioAll = 'Todos'
|
||||
AppMessages.MsgSend_GroupMessage = 'Mensaje'
|
||||
AppMessages.MsgSend_LabelSubject = 'Asunto'
|
||||
AppMessages.MsgSend_LabelMessageText = 'Texto del mensaje'
|
||||
CommonMessages.AutoLogonError =
|
||||
'Error de Ingreso Autom'#225'tico!'#13#10'Especifique un Usuario y Contrase'#241 +
|
||||
'a V'#225'lidos.'
|
||||
CommonMessages.ChangePasswordError.InvalidCurrentPassword = #161'Contrase'#241'a Actual Incorrecta!'
|
||||
CommonMessages.ChangePasswordError.NewPasswordError =
|
||||
'Los campos Contrase'#241'a Nueva y Confirme Contrase'#241'a deben ser igua' +
|
||||
'les'
|
||||
CommonMessages.ChangePasswordError.NewEqualCurrent = 'Nueva Contrase'#241'a y Contrase'#241'a Actual deben ser diferentes'
|
||||
CommonMessages.ChangePasswordError.PasswordRequired = #161'La Contrase'#241'a es obligatoria!'
|
||||
CommonMessages.ChangePasswordError.MinPasswordLength = 'La Contrase'#241'a debe tener un m'#237'nimo de %d caracteres'
|
||||
CommonMessages.ChangePasswordError.InvalidNewPassword = #161'Prohibido utilizar contrase'#241'as NO Seguras!'
|
||||
CommonMessages.InvalidLogin = 'Usuario y/o Contrase'#241'a Incorrectos!'
|
||||
CommonMessages.InitialMessage.Strings = (
|
||||
'ATENCION! Conecci'#243'n Inicial:'
|
||||
''
|
||||
'Usuario : :user'
|
||||
'Contrase'#241'a : :password'
|
||||
''
|
||||
'Defina permisos para este usuario')
|
||||
CommonMessages.MaxLoginAttemptsError = '%d Intentos de conecci'#243'n inv'#225'lidos !'
|
||||
CommonMessages.PasswordChanged = #161'Se ha cambiado la Contrase'#241'a con '#233'xito!'
|
||||
CommonMessages.BlankPassword = 'Contrase'#241'a vac'#237'a para el Usuario %s'
|
||||
CommonMessages.UsuarioExiste = 'O Usu'#225'rio "%s" j'#225' est'#225' cadastrado no sistema !!'
|
||||
CommonMessages.PasswordExpired = 'Aten'#231#227'o, sua senha expirou, favor troca-la'
|
||||
CommonMessages.ForcaTrocaSenha = 'Mudan'#231'a de senha obrigat'#243'ria'
|
||||
Login.WindowCaption = 'Conecci'#243'n'
|
||||
Login.LabelUser = 'Usuario: '
|
||||
Login.LabelPassword = 'Contrase'#241'a:'
|
||||
Login.BtOk = 'Aceptar'
|
||||
Login.BtCancel = '&Cancelar'
|
||||
Login.LeftImage.Data = {
|
||||
07544269746D617016090000424D160900000000000036040000280000003200
|
||||
0000180000000100080000000000E00400000000000000000000000100000000
|
||||
000000000000000080000080000000808000800000008000800080800000C0C0
|
||||
C000C0DCC000F0CAA6000020400000206000002080000020A0000020C0000020
|
||||
E00000400000004020000040400000406000004080000040A0000040C0000040
|
||||
E00000600000006020000060400000606000006080000060A0000060C0000060
|
||||
E00000800000008020000080400000806000008080000080A0000080C0000080
|
||||
E00000A0000000A0200000A0400000A0600000A0800000A0A00000A0C00000A0
|
||||
E00000C0000000C0200000C0400000C0600000C0800000C0A00000C0C00000C0
|
||||
E00000E0000000E0200000E0400000E0600000E0800000E0A00000E0C00000E0
|
||||
E00040000000400020004000400040006000400080004000A0004000C0004000
|
||||
E00040200000402020004020400040206000402080004020A0004020C0004020
|
||||
E00040400000404020004040400040406000404080004040A0004040C0004040
|
||||
E00040600000406020004060400040606000406080004060A0004060C0004060
|
||||
E00040800000408020004080400040806000408080004080A0004080C0004080
|
||||
E00040A0000040A0200040A0400040A0600040A0800040A0A00040A0C00040A0
|
||||
E00040C0000040C0200040C0400040C0600040C0800040C0A00040C0C00040C0
|
||||
E00040E0000040E0200040E0400040E0600040E0800040E0A00040E0C00040E0
|
||||
E00080000000800020008000400080006000800080008000A0008000C0008000
|
||||
E00080200000802020008020400080206000802080008020A0008020C0008020
|
||||
E00080400000804020008040400080406000804080008040A0008040C0008040
|
||||
E00080600000806020008060400080606000806080008060A0008060C0008060
|
||||
E00080800000808020008080400080806000808080008080A0008080C0008080
|
||||
E00080A0000080A0200080A0400080A0600080A0800080A0A00080A0C00080A0
|
||||
E00080C0000080C0200080C0400080C0600080C0800080C0A00080C0C00080C0
|
||||
E00080E0000080E0200080E0400080E0600080E0800080E0A00080E0C00080E0
|
||||
E000C0000000C0002000C0004000C0006000C0008000C000A000C000C000C000
|
||||
E000C0200000C0202000C0204000C0206000C0208000C020A000C020C000C020
|
||||
E000C0400000C0402000C0404000C0406000C0408000C040A000C040C000C040
|
||||
E000C0600000C0602000C0604000C0606000C0608000C060A000C060C000C060
|
||||
E000C0800000C0802000C0804000C0806000C0808000C080A000C080C000C080
|
||||
E000C0A00000C0A02000C0A04000C0A06000C0A08000C0A0A000C0A0C000C0A0
|
||||
E000C0C00000C0C02000C0C04000C0C06000C0C08000C0C0A000F0FBFF00A4A0
|
||||
A000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
|
||||
FF00FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD525252525252525252525252
|
||||
5252FDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDAFB75E5E5E66666767676F6F6F6FB752FDFDFDFDFD0000FDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
|
||||
BFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6FB7B7B7B7B7776F5EB752FD
|
||||
FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6F6FB7B7
|
||||
B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD
|
||||
0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAF
|
||||
B76767676F6F6FB7B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBF
|
||||
BFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDAFB76767676F6F6F6FB7B7776F5EB752FDFDFDFDFD0000FDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
|
||||
BFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBFB7AFAFB7B7B7B7BFBFBFBFB7B752FD
|
||||
FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDFDAFB76F675E5E5E5E5E5E676FB7A5FDFDFDFDFDFD0000FDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFD
|
||||
FDFDA4F7A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD
|
||||
0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
|
||||
FDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F7A4FDFDFDFDFDFDF707
|
||||
A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDFDFDF707A49AFDFDFDFDA30707A3FDFDFDFDFDFDFD0000FDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6A4
|
||||
A49B9A9AA3A407079AFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6F7F7A4A4F70707A3FDFDFDFD
|
||||
FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDF7F6F6F6F6F607A3FDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7A3A3A3
|
||||
A3A3FDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
|
||||
0000}
|
||||
Login.LabelTentativa = 'Tentativa : '
|
||||
Login.LabelTentativas = 'M'#225'ximo de Tentativas : '
|
||||
Log.WindowCaption = 'Seguridad'
|
||||
Log.LabelDescription = 'Visor de Eventos'
|
||||
Log.LabelUser = 'Usuario:'
|
||||
Log.LabelDate = 'Fecha:'
|
||||
Log.LabelLevel = 'Nivel M'#237'nimo: '
|
||||
Log.ColAppID = 'AppID'
|
||||
Log.ColLevel = 'Nivel'
|
||||
Log.ColMessage = 'Mensaje'
|
||||
Log.ColUser = 'Usuario'
|
||||
Log.ColDate = 'Fecha'
|
||||
Log.BtFilter = '&Aplicar Filtro'
|
||||
Log.BtDelete = '&Borrar Bit'#225'cora'
|
||||
Log.BtClose = '&Cerrar'
|
||||
Log.PromptDelete =
|
||||
#191'Est'#225' seguro de Eliminar todos todos los registros de Bit'#225'cora s' +
|
||||
'eleccionados?'
|
||||
Log.PromptDelete_WindowCaption = 'Confirmaci'#243'n'
|
||||
Log.OptionUserAll = 'Todos'
|
||||
Log.OptionLevelLow = 'Bajo'
|
||||
Log.OptionLevelNormal = 'Normal'
|
||||
Log.OptionLevelHigh = 'Alto'
|
||||
Log.OptionLevelCritic = 'Cr'#237'tico'
|
||||
Log.DeletePerformed =
|
||||
'Borrado de registros de bit'#225'cora realizado: Usuario = "%s" | Fec' +
|
||||
'ha = %s a %s | Nivel <= %s'
|
||||
UsersForm.WindowCaption = 'Seguridad'
|
||||
UsersForm.LabelDescription = 'Administraci'#243'n de Usuarios'
|
||||
UsersForm.ColName = 'Nombre'
|
||||
UsersForm.ColLogin = 'Usuario'
|
||||
UsersForm.ColEmail = 'Correo'
|
||||
UsersForm.BtAdd = '&Nuevo'
|
||||
UsersForm.BtChange = '&Editar'
|
||||
UsersForm.BtDelete = 'E&liminar'
|
||||
UsersForm.PromptDelete = #191'Est'#225' seguro de Eliminar al Usuario "%s"?'
|
||||
UsersForm.PromptDelete_WindowCaption = 'Eliminar usuario'
|
||||
UsersForm.BtRights = '&Accesos'
|
||||
UsersForm.BtPassword = 'C&ontrase'#241'a'
|
||||
UsersForm.BtClose = '&Cerrar'
|
||||
AddChangeUser.WindowCaption = 'Administraci'#243'n de Usuarios'
|
||||
AddChangeUser.LabelAdd = 'Nuevo Usuario'
|
||||
AddChangeUser.LabelChange = 'Editar Usuario'
|
||||
AddChangeUser.LabelName = 'Nombre:'
|
||||
AddChangeUser.LabelLogin = 'Usuario: '
|
||||
AddChangeUser.LabelEmail = 'Correo: '
|
||||
AddChangeUser.LabelPerfil = 'Perfil: '
|
||||
AddChangeUser.CheckPrivileged = 'Usuario Privilegiado'
|
||||
AddChangeUser.BtSave = '&Guardar'
|
||||
AddChangeUser.BtCancel = 'Cancelar'
|
||||
AddChangeUser.CheckExpira = 'Senha do usu'#225'rio n'#227'o expira'
|
||||
AddChangeUser.Day = 'Dias'
|
||||
AddChangeUser.ExpiredIn = 'Expira em'
|
||||
AddChangeProfile.WindowCaption = 'Perfiles de Usuarios'
|
||||
AddChangeProfile.LabelAdd = 'Nuevo Perfil'
|
||||
AddChangeProfile.LabelChange = 'Editar Perfil'
|
||||
AddChangeProfile.LabelName = 'Descripci'#243'n: '
|
||||
AddChangeProfile.BtSave = '&Guardar'
|
||||
AddChangeProfile.BtCancel = 'Cancelar'
|
||||
UsersProfile.WindowCaption = 'Seguridad'
|
||||
UsersProfile.LabelDescription = 'Perfil de Usuario'
|
||||
UsersProfile.ColProfile = 'Perfil'
|
||||
UsersProfile.BtAdd = '&Nuevo'
|
||||
UsersProfile.BtChange = '&Editar'
|
||||
UsersProfile.BtDelete = 'E&liminar'
|
||||
UsersProfile.BtRights = '&Accesos'
|
||||
UsersProfile.PromptDelete =
|
||||
'Existe(n) usuario(s) con el Perfil "%s". '#191'Est'#225' seguro de elimina' +
|
||||
'r el perfil?'
|
||||
UsersProfile.PromptDelete_WindowCaption = 'Eliminar perfil'
|
||||
UsersProfile.BtClose = '&Cerrar'
|
||||
Rights.WindowCaption = 'Seguridad'
|
||||
Rights.LabelUser = 'Permisos de Usuario : '
|
||||
Rights.LabelProfile = 'Permisos del Perfil : '
|
||||
Rights.PageMenu = 'Elementos del Men'#250
|
||||
Rights.PageActions = 'Acciones'
|
||||
Rights.PageControls = 'Controles'
|
||||
Rights.BtUnlock = '&Permitir'
|
||||
Rights.BtLock = '&Bloquear'
|
||||
Rights.BtSave = '&Guardar'
|
||||
Rights.BtCancel = '&Cancelar'
|
||||
ChangePassword.WindowCaption = 'Seguridad'
|
||||
ChangePassword.LabelDescription = 'Cambiar Contrase'#241'a'
|
||||
ChangePassword.LabelCurrentPassword = 'Contrase'#241'a Actual:'
|
||||
ChangePassword.LabelNewPassword = 'Nueva Contrase'#241'a:'
|
||||
ChangePassword.LabelConfirm = 'Confirme Contrase'#241'a:'
|
||||
ChangePassword.BtSave = '&Guardar'
|
||||
ChangePassword.BtCancel = 'Cancelar'
|
||||
ResetPassword.WindowCaption = 'Ingrese Contrase'#241'a de Usuario: "%s"'
|
||||
ResetPassword.LabelPassword = 'Contrase'#241'a: '
|
||||
History.Evento_Insert = 'Nuevo'
|
||||
History.Evento_Delete = 'Eliminar'
|
||||
History.Evento_Edit = 'Editar'
|
||||
History.Evento_NewRecord = 'Nuevo registro'
|
||||
History.Hist_All = 'Todos'
|
||||
History.Msg_LimpHistorico = 'Excluir el contenido entero del hist'#243'rico ?'
|
||||
History.Msg_MensConfirma = 'Confirme'
|
||||
History.Msg_LogEmptyHistory = 'El usuario %s borra la historia de mesa en %s '
|
||||
History.LabelDescricao = 'Hist'#243'rico de tabelas'
|
||||
History.LabelUser = 'Usuario'
|
||||
History.LabelForm = 'Formul'#225'rio'
|
||||
History.LabelEvento = 'Evento'
|
||||
History.LabelTabela = 'Tabela'
|
||||
History.LabelDataEvento = 'Data'
|
||||
History.LabelHoraEvento = 'Hora'
|
||||
History.Msg_NewRecord = '%s Inserte el nuevo registro'
|
||||
History.Hist_MsgExceptPropr = 'Por favor informe la propiedad %s'
|
||||
History.Hist_BtnFiltro = '&Aplicar Filtro'
|
||||
History.Hist_BtnExcluir = '&Borrar Hist'#243'rico'
|
||||
History.Hist_BtnFechar = '&Cerrar'
|
||||
TypeFieldsDB.Type_VarChar = 'VarChar'
|
||||
TypeFieldsDB.Type_Char = 'Char'
|
||||
TypeFieldsDB.Type_Int = 'Int'
|
||||
TypeFieldsDB.Type_MemoField = 'BLOB SUB_TYPE 1 SEGMENT SIZE 1024'
|
||||
Language = ucSpanish
|
||||
Left = 40
|
||||
Top = 16
|
||||
end
|
||||
object rda_Usuarios: TDARemoteDataAdapter
|
||||
GetSchemaCall.RemoteService = srvUsuarios
|
||||
GetDataCall.RemoteService = srvUsuarios
|
||||
UpdateDataCall.RemoteService = srvUsuarios
|
||||
GetScriptsCall.RemoteService = srvUsuarios
|
||||
RemoteService = srvUsuarios
|
||||
DataStreamer = Bin2DataStreamer
|
||||
Left = 176
|
||||
Top = 16
|
||||
end
|
||||
object Bin2DataStreamer: TDABin2DataStreamer
|
||||
Left = 40
|
||||
Top = 144
|
||||
end
|
||||
object tbl_USUARIOS: TDAMemDataTable
|
||||
RemoteUpdatesOptions = []
|
||||
Fields = <
|
||||
item
|
||||
Name = 'ID'
|
||||
DataType = datAutoInc
|
||||
GeneratorName = 'GEN_USUARIOS_ID'
|
||||
Required = True
|
||||
DictionaryEntry = 'USUARIOS_ID'
|
||||
InPrimaryKey = True
|
||||
end
|
||||
item
|
||||
Name = 'USERNAME'
|
||||
DataType = datString
|
||||
Size = 30
|
||||
DisplayLabel = 'Nombre'
|
||||
DictionaryEntry = 'USUARIOS_USERNAME'
|
||||
end
|
||||
item
|
||||
Name = 'LOGIN'
|
||||
DataType = datString
|
||||
Size = 30
|
||||
DisplayLabel = 'Login'
|
||||
DictionaryEntry = 'USUARIOS_LOGIN'
|
||||
end
|
||||
item
|
||||
Name = 'PASS'
|
||||
DataType = datString
|
||||
Size = 250
|
||||
DisplayLabel = 'Password'
|
||||
DictionaryEntry = 'USUARIOS_PASS'
|
||||
end
|
||||
item
|
||||
Name = 'PASSEXPIRED'
|
||||
DataType = datDateTime
|
||||
DisplayLabel = 'Expiraci'#243'n de password'
|
||||
DictionaryEntry = 'USUARIOS_PASSEXPIRED'
|
||||
end
|
||||
item
|
||||
Name = 'BLOQUEADO'
|
||||
DataType = datSmallInt
|
||||
DisplayLabel = 'Bloqueado'
|
||||
DictionaryEntry = 'USUARIOS_BLOQUEADO'
|
||||
end
|
||||
item
|
||||
Name = 'EMAIL'
|
||||
DataType = datString
|
||||
Size = 150
|
||||
DisplayLabel = 'Correo electr'#243'nico'
|
||||
DictionaryEntry = 'USUARIOS_EMAIL'
|
||||
end
|
||||
item
|
||||
Name = 'USERDAYSSUN'
|
||||
DataType = datInteger
|
||||
DisplayLabel = 'USUARIOS_USERDAYSSUN'
|
||||
DictionaryEntry = 'USUARIOS_USERDAYSSUN'
|
||||
end
|
||||
item
|
||||
Name = 'PRIVILEGED'
|
||||
DataType = datInteger
|
||||
DisplayLabel = 'Privilegiado'
|
||||
DictionaryEntry = 'USUARIOS_PRIVILEGED'
|
||||
end
|
||||
item
|
||||
Name = 'TIPO'
|
||||
DataType = datString
|
||||
Size = 1
|
||||
DisplayLabel = 'Tipo'
|
||||
DictionaryEntry = 'USUARIOS_TIPO'
|
||||
end
|
||||
item
|
||||
Name = 'ID_PERFIL'
|
||||
DataType = datInteger
|
||||
DictionaryEntry = 'USUARIOS_ID_PERFIL'
|
||||
end
|
||||
item
|
||||
Name = 'CHECKSUM'
|
||||
DataType = datString
|
||||
Size = 250
|
||||
DisplayLabel = 'Checksum'
|
||||
DictionaryEntry = 'USUARIOS_CHECKSUM'
|
||||
end>
|
||||
Params = <>
|
||||
StreamingOptions = [soDisableEventsWhileStreaming]
|
||||
RemoteDataAdapter = rda_Usuarios
|
||||
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
|
||||
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
|
||||
LogicalName = 'USUARIOS'
|
||||
IndexDefs = <>
|
||||
Left = 176
|
||||
Top = 80
|
||||
end
|
||||
object ds_USUARIOS: TDADataSource
|
||||
DataSet = tbl_USUARIOS.Dataset
|
||||
DataTable = tbl_USUARIOS
|
||||
Left = 176
|
||||
Top = 136
|
||||
end
|
||||
object tbl_PERFILES: TDAMemDataTable
|
||||
RemoteUpdatesOptions = []
|
||||
Fields = <
|
||||
item
|
||||
Name = 'ID'
|
||||
DataType = datAutoInc
|
||||
GeneratorName = 'GEN_USUARIOS_ID'
|
||||
Required = True
|
||||
DictionaryEntry = 'PERFILES_ID'
|
||||
InPrimaryKey = True
|
||||
end
|
||||
item
|
||||
Name = 'USERNAME'
|
||||
DataType = datString
|
||||
Size = 30
|
||||
DisplayLabel = 'Nombre'
|
||||
DictionaryEntry = 'PERFILES_USERNAME'
|
||||
end
|
||||
item
|
||||
Name = 'LOGIN'
|
||||
DataType = datString
|
||||
Size = 30
|
||||
DisplayLabel = 'Login'
|
||||
DictionaryEntry = 'PERFILES_LOGIN'
|
||||
end
|
||||
item
|
||||
Name = 'TIPO'
|
||||
DataType = datString
|
||||
Size = 1
|
||||
DisplayLabel = 'Tipo'
|
||||
DictionaryEntry = 'PERFILES_TIPO'
|
||||
end>
|
||||
Params = <>
|
||||
StreamingOptions = [soDisableEventsWhileStreaming]
|
||||
RemoteDataAdapter = rda_Usuarios
|
||||
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
|
||||
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
|
||||
LogicalName = 'PERFILES'
|
||||
IndexDefs = <>
|
||||
Left = 272
|
||||
Top = 80
|
||||
end
|
||||
object ds_PERFILES: TDADataSource
|
||||
DataSet = tbl_PERFILES.Dataset
|
||||
DataTable = tbl_PERFILES
|
||||
Left = 272
|
||||
Top = 136
|
||||
end
|
||||
end
|
||||
@ -1,465 +0,0 @@
|
||||
unit uDataModuleUsuarios;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
SysUtils, Classes, DB, DBClient, uDADataTable,
|
||||
VARELA_Intf,
|
||||
UCBase, UCDataConnector, uUCROConn, uDARemoteDataAdapter,
|
||||
uDARemoteCommand, uROClient, uRORemoteService, uDADataStreamer,
|
||||
uDABin2DataStreamer, uDAScriptingProvider, uIDataModuleUsuarios, UCSettings,
|
||||
uDataModuleBase, uDAInterfaces, uDAMemDataTable, uBizUsuarios;
|
||||
|
||||
type
|
||||
TDataModuleUsuarios = class(TDataModuleBase, IDataModuleUsuarios)
|
||||
srvUsuarios: TRORemoteService;
|
||||
UCSettingsSpanish: TUCSettings;
|
||||
rda_Usuarios: TDARemoteDataAdapter;
|
||||
Bin2DataStreamer: TDABin2DataStreamer;
|
||||
tbl_USUARIOS: TDAMemDataTable;
|
||||
ds_USUARIOS: TDADataSource;
|
||||
tbl_PERFILES: TDAMemDataTable;
|
||||
ds_PERFILES: TDADataSource;
|
||||
procedure DataModuleCreate(Sender: TObject);
|
||||
private
|
||||
procedure InicializarCamposUserControl(AUserControl: TUserControl);
|
||||
procedure InicializarSettingsUserControl(AUserControl: TUserControl);
|
||||
function CreateConnectorInstance : TUCDataConnector;
|
||||
public
|
||||
function GetUsuario(const ID : Integer) : IBizUsuario;
|
||||
function NuevoUsuario : IBizUsuario;
|
||||
function GetUsuarios : IBizUsuario;
|
||||
|
||||
function NuevoPerfil : IBizPerfilUsuario;
|
||||
function GetPerfiles : IBizPerfilUsuario;
|
||||
function GetPerfil (const ID : Integer) : IBizPerfilUsuario;
|
||||
|
||||
procedure InicializarUserControl (AUserControl : TUserControl);
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.DFM}
|
||||
|
||||
uses
|
||||
Forms, Controls, uDataTableUtils, uDMBase,
|
||||
Dialogs, Windows, cxControls,
|
||||
schUsuariosClient_Intf;
|
||||
|
||||
const
|
||||
ID_NULO = -9000;
|
||||
|
||||
|
||||
{ TDataModuleUsuarios }
|
||||
|
||||
function TDataModuleUsuarios.CreateConnectorInstance: TUCDataConnector;
|
||||
begin
|
||||
// El propietario (Owner) es Application para que se encarge de la
|
||||
// liberación del conector que estamos creando.
|
||||
Result := TUCROConn.Create(Application);
|
||||
with TUCROConn(Result) do
|
||||
begin
|
||||
ROServiceName := srvUsuarios.ServiceName;
|
||||
ROChannel := dmBase.ROChannel;
|
||||
ROMessage := dmBase.ROMessage;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TDataModuleUsuarios.NuevoPerfil: IBizPerfilUsuario;
|
||||
begin
|
||||
Result := GetPerfil(ID_NULO)
|
||||
end;
|
||||
|
||||
function TDataModuleUsuarios.NuevoUsuario: IBizUsuario;
|
||||
begin
|
||||
Result := GetUsuario(ID_NULO)
|
||||
end;
|
||||
|
||||
procedure TDataModuleUsuarios.DataModuleCreate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
srvUsuarios.Channel := dmBase.Channel;
|
||||
srvUsuarios.Message := dmBase.Message;
|
||||
end;
|
||||
|
||||
function TDataModuleUsuarios.GetPerfil(const ID: Integer): IBizPerfilUsuario;
|
||||
begin
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
Result := Self.GetPerfiles;
|
||||
|
||||
with Result.DataTable.DynamicWhere do
|
||||
begin
|
||||
Clear;
|
||||
// (ID = :ID)
|
||||
Expression := NewBinaryExpression(NewField('', fld_PERFILESID), NewConstant(ID, datInteger), dboEqual);
|
||||
end;
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TDataModuleUsuarios.GetPerfiles: IBizPerfilUsuario;
|
||||
var
|
||||
AUsuarios : TDAMemDataTable;
|
||||
begin
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
AUsuarios := CloneDataTable(tbl_PERFILES);
|
||||
AUsuarios.BusinessRulesID := BIZ_CLIENT_PERFIL_USUARIO;
|
||||
|
||||
Result := (AUsuarios as IBizPerfilUsuario);
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TDataModuleUsuarios.GetUsuario(const ID: Integer): IBizUsuario;
|
||||
begin
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
Result := Self.GetUsuarios;
|
||||
|
||||
with Result.DataTable.DynamicWhere do
|
||||
begin
|
||||
Clear;
|
||||
// (ID = :ID)
|
||||
Expression := NewBinaryExpression(NewField('', fld_USUARIOSID), NewConstant(ID, datInteger), dboEqual);
|
||||
end;
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TDataModuleUsuarios.GetUsuarios: IBizUsuario;
|
||||
var
|
||||
AUsuarios : TDAMemDataTable;
|
||||
begin
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
AUsuarios := CloneDataTable(tbl_Usuarios);
|
||||
AUsuarios.BusinessRulesID := BIZ_CLIENT_USUARIO;
|
||||
|
||||
Result := (AUsuarios as IBizUsuario);
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TDataModuleUsuarios.InicializarCamposUserControl(
|
||||
AUserControl: TUserControl);
|
||||
begin
|
||||
if not Assigned(AUserControl) then
|
||||
raise Exception.Create('UserControl no asignado (InicializarUserControl)');
|
||||
|
||||
with AUserControl do
|
||||
begin
|
||||
DataConnector := CreateConnectorInstance;
|
||||
|
||||
with TableUsers do
|
||||
begin
|
||||
TableName := 'RDX_USUARIOS'; //nme_USUARIOS;
|
||||
FieldUserID := fld_USUARIOSID;
|
||||
FieldUserName := fld_USUARIOSUSERNAME;
|
||||
FieldLogin := fld_USUARIOSLOGIN;
|
||||
FieldPassword := fld_USUARIOSPASS;
|
||||
FieldEmail := fld_USUARIOSEMAIL;
|
||||
FieldPrivileged := fld_USUARIOSPRIVILEGED;
|
||||
FieldTypeRec := fld_USUARIOSTIPO;
|
||||
FieldProfile := fld_USUARIOSID_PERFIL;
|
||||
FieldUserExpired := fld_USUARIOSBLOQUEADO;
|
||||
FieldDateExpired := fld_USUARIOSPASSEXPIRED;
|
||||
FieldUserDaysSun := fld_USUARIOSUSERDAYSSUN;
|
||||
FieldKey := fld_USUARIOSCHECKSUM;
|
||||
end;
|
||||
|
||||
with TableRights do
|
||||
begin
|
||||
TableName := 'RDX_PERMISOS'; //nme_PERMISOS;
|
||||
FieldUserID := fld_PERMISOSID_USUARIO;
|
||||
FieldModule := fld_PERMISOSMODULO;
|
||||
FieldComponentName := fld_PERMISOSNOMBRECOMP;
|
||||
FieldFormName := fld_PERMISOSEXNOMBREFORM;
|
||||
FieldKey := fld_PERMISOSCHECKSUM;
|
||||
end;
|
||||
|
||||
with TableUsersLogged do
|
||||
begin
|
||||
TableName := 'RDX_USUARIOS_LOGON'; //nme_USUARIOS_LOGON;
|
||||
FieldLogonID := fld_USUARIOS_LOGONLOGONID;
|
||||
FieldUserID := fld_USUARIOS_LOGONID_USUARIO;
|
||||
FieldApplicationID := fld_USUARIOS_LOGONAPLICACION;
|
||||
FieldMachineName := fld_USUARIOS_LOGONEQUIPO;
|
||||
FieldData := fld_USUARIOS_LOGONDATA;
|
||||
end;
|
||||
|
||||
with TableHistory do
|
||||
begin
|
||||
TableName := 'RDX_USUARIOS_EVENTOS'; //nme_USUARIOS_EVENTOS;
|
||||
FieldApplicationID := fld_USUARIOS_EVENTOSAPLICACION;
|
||||
FieldUserID := fld_USUARIOS_EVENTOSID_USUARIO;
|
||||
FieldEventDate := fld_USUARIOS_EVENTOSFECHA;
|
||||
FieldEventTime := fld_USUARIOS_EVENTOSHORA;
|
||||
FieldForm := fld_USUARIOS_EVENTOSFORM;
|
||||
FieldCaptionForm := fld_USUARIOS_EVENTOSTITULO_FORM;
|
||||
FieldEvent := fld_USUARIOS_EVENTOSEVENTO;
|
||||
FieldObs := fld_USUARIOS_EVENTOSNOTAS;
|
||||
FieldTableName := fld_USUARIOS_EVENTOSTNAME;
|
||||
end;
|
||||
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TDataModuleUsuarios.InicializarSettingsUserControl(
|
||||
AUserControl: TUserControl);
|
||||
var
|
||||
SourceSettings : TUCSettings;
|
||||
begin
|
||||
SourceSettings := UCSettingsSpanish;
|
||||
|
||||
with AUserControl do
|
||||
begin
|
||||
with UserSettings.CommonMessages do
|
||||
begin
|
||||
BlankPassword := SourceSettings.CommonMessages.BlankPassword;
|
||||
PasswordChanged := SourceSettings.CommonMessages.PasswordChanged;
|
||||
InitialMessage.Text := SourceSettings.CommonMessages.InitialMessage.Text;
|
||||
MaxLoginAttemptsError := SourceSettings.CommonMessages.MaxLoginAttemptsError;
|
||||
InvalidLogin := SourceSettings.CommonMessages.InvalidLogin;
|
||||
AutoLogonError := SourceSettings.CommonMessages.AutoLogonError;
|
||||
UsuarioExiste := SourceSettings.CommonMessages.UsuarioExiste; // Luiz Benevenuto 20/04/06
|
||||
PasswordExpired := SourceSettings.CommonMessages.PasswordExpired; // vicente barros leonel
|
||||
ForcaTrocaSenha := SourceSettings.CommonMessages.ForcaTrocaSenha;
|
||||
end;
|
||||
|
||||
with UserSettings.Login do
|
||||
begin
|
||||
BtCancel := SourceSettings.Login.BtCancel;
|
||||
BtOK := SourceSettings.Login.BtOK;
|
||||
LabelPassword := SourceSettings.Login.LabelPassword;
|
||||
LabelUser := SourceSettings.Login.LabelUser;
|
||||
WindowCaption := SourceSettings.Login.WindowCaption;
|
||||
LabelTentativa := SourceSettings.Login.LabelTentativa;
|
||||
LabelTentativas := SourceSettings.Login.LabelTentativas;
|
||||
|
||||
if Assigned(SourceSettings.Login.LeftImage.Bitmap) then
|
||||
LeftImage.Bitmap := SourceSettings.Login.LeftImage.Bitmap
|
||||
else
|
||||
LeftImage.Bitmap := nil;
|
||||
|
||||
if Assigned(SourceSettings.Login.TopImage.Bitmap) then
|
||||
TopImage.Bitmap := SourceSettings.Login.TopImage.Bitmap
|
||||
else
|
||||
TopImage.Bitmap := nil;
|
||||
|
||||
if Assigned(SourceSettings.Login.BottomImage.Bitmap) then
|
||||
BottomImage.Bitmap := SourceSettings.Login.BottomImage.Bitmap
|
||||
else
|
||||
BottomImage.Bitmap := nil;
|
||||
end;
|
||||
|
||||
with UserSettings.UsersForm do
|
||||
begin
|
||||
WindowCaption := SourceSettings.UsersForm.WindowCaption;
|
||||
LabelDescription := SourceSettings.UsersForm.LabelDescription;
|
||||
ColName := SourceSettings.UsersForm.ColName;
|
||||
ColLogin := SourceSettings.UsersForm.ColLogin;
|
||||
ColEmail := SourceSettings.UsersForm.ColEmail;
|
||||
BtAdd := SourceSettings.UsersForm.BtAdd;
|
||||
BtChange := SourceSettings.UsersForm.BtChange;
|
||||
BtDelete := SourceSettings.UsersForm.BtDelete;
|
||||
BtRights := SourceSettings.UsersForm.BtRights;
|
||||
BtPassword := SourceSettings.UsersForm.BtPassword;
|
||||
BtClose := SourceSettings.UsersForm.BtClose;
|
||||
PromptDelete := SourceSettings.UsersForm.PromptDelete;
|
||||
PromptDelete_WindowCaption := SourceSettings.UsersForm.PromptDelete_WindowCaption; //added by fduenas
|
||||
end;
|
||||
|
||||
with UserSettings.UsersProfile do
|
||||
begin
|
||||
WindowCaption := SourceSettings.UsersProfile.WindowCaption;
|
||||
LabelDescription := SourceSettings.UsersProfile.LabelDescription;
|
||||
ColProfile := SourceSettings.UsersProfile.ColProfile;
|
||||
BtAdd := SourceSettings.UsersProfile.BtAdd;
|
||||
BtChange := SourceSettings.UsersProfile.BtChange;
|
||||
BtDelete := SourceSettings.UsersProfile.BtDelete;
|
||||
BtRights := SourceSettings.UsersProfile.BtRights; //added by fduenas
|
||||
BtClose := SourceSettings.UsersProfile.BtClose;
|
||||
PromptDelete := SourceSettings.UsersProfile.PromptDelete;
|
||||
PromptDelete_WindowCaption := SourceSettings.UsersProfile.PromptDelete_WindowCaption; //added by fduenas
|
||||
end;
|
||||
|
||||
with UserSettings.AddChangeUser do
|
||||
begin
|
||||
WindowCaption := SourceSettings.AddChangeUser.WindowCaption;
|
||||
LabelAdd := SourceSettings.AddChangeUser.LabelAdd;
|
||||
LabelChange := SourceSettings.AddChangeUser.LabelChange;
|
||||
LabelName := SourceSettings.AddChangeUser.LabelName;
|
||||
LabelLogin := SourceSettings.AddChangeUser.LabelLogin;
|
||||
LabelEmail := SourceSettings.AddChangeUser.LabelEmail;
|
||||
CheckPrivileged := SourceSettings.AddChangeUser.CheckPrivileged;
|
||||
BtSave := SourceSettings.AddChangeUser.BtSave;
|
||||
BtCancel := SourceSettings.AddChangeUser.BtCancel;
|
||||
CheckExpira := SourceSettings.AddChangeUser.CheckExpira;
|
||||
Day := SourceSettings.AddChangeUser.Day;
|
||||
ExpiredIn := SourceSettings.AddChangeUser.ExpiredIn;
|
||||
end;
|
||||
|
||||
with UserSettings.AddChangeProfile do
|
||||
begin
|
||||
WindowCaption := SourceSettings.AddChangeProfile.WindowCaption;
|
||||
LabelAdd := SourceSettings.AddChangeProfile.LabelAdd;
|
||||
LabelChange := SourceSettings.AddChangeProfile.LabelChange;
|
||||
LabelName := SourceSettings.AddChangeProfile.LabelName;
|
||||
BtSave := SourceSettings.AddChangeProfile.BtSave;
|
||||
BtCancel := SourceSettings.AddChangeProfile.BtCancel;
|
||||
end;
|
||||
|
||||
with UserSettings.Rights do
|
||||
begin
|
||||
WindowCaption := SourceSettings.Rights.WindowCaption;
|
||||
LabelUser := SourceSettings.Rights.LabelUser;
|
||||
LabelProfile := SourceSettings.Rights.LabelProfile;
|
||||
PageMenu := SourceSettings.Rights.PageMenu;
|
||||
PageActions := SourceSettings.Rights.PageActions;
|
||||
PageControls := SourceSettings.Rights.PageControls;
|
||||
BtUnlock := SourceSettings.Rights.BtUnlock;
|
||||
BtLock := SourceSettings.Rights.BtLock;
|
||||
BtSave := SourceSettings.Rights.BtSave;
|
||||
BtCancel := SourceSettings.Rights.BtCancel;
|
||||
end;
|
||||
|
||||
with UserSettings.ChangePassword do
|
||||
begin
|
||||
WindowCaption := SourceSettings.ChangePassword.WindowCaption;
|
||||
LabelDescription := SourceSettings.ChangePassword.LabelDescription;
|
||||
LabelCurrentPassword := SourceSettings.ChangePassword.LabelCurrentPassword;
|
||||
LabelNewPassword := SourceSettings.ChangePassword.LabelNewPassword;
|
||||
LabelConfirm := SourceSettings.ChangePassword.LabelConfirm;
|
||||
BtSave := SourceSettings.ChangePassword.BtSave;
|
||||
BtCancel := SourceSettings.ChangePassword.BtCancel;
|
||||
end;
|
||||
|
||||
with UserSettings.CommonMessages.ChangePasswordError do
|
||||
begin
|
||||
InvalidCurrentPassword := SourceSettings.CommonMessages.ChangePasswordError.InvalidCurrentPassword;
|
||||
NewPasswordError := SourceSettings.CommonMessages.ChangePasswordError.NewPasswordError;
|
||||
NewEqualCurrent := SourceSettings.CommonMessages.ChangePasswordError.NewEqualCurrent;
|
||||
PasswordRequired := SourceSettings.CommonMessages.ChangePasswordError.PasswordRequired;
|
||||
MinPasswordLength := SourceSettings.CommonMessages.ChangePasswordError.MinPasswordLength;
|
||||
InvalidNewPassword := SourceSettings.CommonMessages.ChangePasswordError.InvalidNewPassword;
|
||||
end;
|
||||
|
||||
with UserSettings.ResetPassword do
|
||||
begin
|
||||
WindowCaption := SourceSettings.ResetPassword.WindowCaption;
|
||||
LabelPassword := SourceSettings.ResetPassword.LabelPassword;
|
||||
end;
|
||||
|
||||
with UserSettings.Log do
|
||||
begin
|
||||
WindowCaption := SourceSettings.Log.WindowCaption;
|
||||
LabelDescription := SourceSettings.Log.LabelDescription;
|
||||
LabelUser := SourceSettings.Log.LabelUser;
|
||||
LabelDate := SourceSettings.Log.LabelDate;
|
||||
LabelLevel := SourceSettings.Log.LabelLevel;
|
||||
ColLevel := SourceSettings.Log.ColLevel;
|
||||
ColMessage := SourceSettings.Log.ColMessage;
|
||||
ColUser := SourceSettings.Log.ColUser;
|
||||
ColDate := SourceSettings.Log.ColDate;
|
||||
BtFilter := SourceSettings.Log.BtFilter;
|
||||
BtDelete := SourceSettings.Log.BtDelete;
|
||||
BtClose := SourceSettings.Log.BtClose;
|
||||
PromptDelete := SourceSettings.Log.PromptDelete;
|
||||
PromptDelete_WindowCaption := SourceSettings.Log.PromptDelete_WindowCaption; //added by fduenas
|
||||
OptionUserAll := SourceSettings.Log.OptionUserAll; //added by fduenas
|
||||
OptionLevelLow := SourceSettings.Log.OptionLevelLow; //added by fduenas
|
||||
OptionLevelNormal := SourceSettings.Log.OptionLevelNormal; //added by fduenas
|
||||
OptionLevelHigh := SourceSettings.Log.OptionLevelHigh; //added by fduenas
|
||||
OptionLevelCritic := SourceSettings.Log.OptionLevelCritic; //added by fduenas
|
||||
DeletePerformed := SourceSettings.Log.DeletePerformed; //added by fduenas
|
||||
end;
|
||||
|
||||
with UserSettings.AppMessages do
|
||||
begin
|
||||
MsgsForm_BtNew := SourceSettings.AppMessages.MsgsForm_BtNew;
|
||||
MsgsForm_BtReplay := SourceSettings.AppMessages.MsgsForm_BtReplay;
|
||||
MsgsForm_BtForward := SourceSettings.AppMessages.MsgsForm_BtForward;
|
||||
MsgsForm_BtDelete := SourceSettings.AppMessages.MsgsForm_BtDelete;
|
||||
MsgsForm_BtClose := SourceSettings.AppMessages.MsgsForm_BtClose; //added by fduenas
|
||||
MsgsForm_WindowCaption := SourceSettings.AppMessages.MsgsForm_WindowCaption;
|
||||
MsgsForm_ColFrom := SourceSettings.AppMessages.MsgsForm_ColFrom;
|
||||
MsgsForm_ColSubject := SourceSettings.AppMessages.MsgsForm_ColSubject;
|
||||
MsgsForm_ColDate := SourceSettings.AppMessages.MsgsForm_ColDate;
|
||||
MsgsForm_PromptDelete := SourceSettings.AppMessages.MsgsForm_PromptDelete;
|
||||
MsgsForm_PromptDelete_WindowCaption := SourceSettings.AppMessages.MsgsForm_PromptDelete_WindowCaption; //added by fduenas
|
||||
MsgsForm_NoMessagesSelected := SourceSettings.AppMessages.MsgsForm_NoMessagesSelected; //added by fduenas
|
||||
MsgsForm_NoMessagesSelected_WindowCaption := SourceSettings.AppMessages.MsgsForm_NoMessagesSelected_WindowCaption; //added by fduenas
|
||||
|
||||
MsgRec_BtClose := SourceSettings.AppMessages.MsgRec_BtClose;
|
||||
MsgRec_WindowCaption := SourceSettings.AppMessages.MsgRec_WindowCaption;
|
||||
MsgRec_Title := SourceSettings.AppMessages.MsgRec_Title;
|
||||
MsgRec_LabelFrom := SourceSettings.AppMessages.MsgRec_LabelFrom;
|
||||
MsgRec_LabelDate := SourceSettings.AppMessages.MsgRec_LabelDate;
|
||||
MsgRec_LabelSubject := SourceSettings.AppMessages.MsgRec_LabelSubject;
|
||||
MsgRec_LabelMessage := SourceSettings.AppMessages.MsgRec_LabelMessage;
|
||||
MsgSend_BtSend := SourceSettings.AppMessages.MsgSend_BtSend;
|
||||
MsgSend_BtCancel := SourceSettings.AppMessages.MsgSend_BtCancel;
|
||||
MsgSend_WindowCaption := SourceSettings.AppMessages.MsgSend_WindowCaption;
|
||||
MsgSend_Title := SourceSettings.AppMessages.MsgSend_Title;
|
||||
MsgSend_GroupTo := SourceSettings.AppMessages.MsgSend_GroupTo;
|
||||
MsgSend_RadioUser := SourceSettings.AppMessages.MsgSend_RadioUser;
|
||||
MsgSend_RadioAll := SourceSettings.AppMessages.MsgSend_RadioAll;
|
||||
MsgSend_GroupMessage := SourceSettings.AppMessages.MsgSend_GroupMessage;
|
||||
MsgSend_LabelSubject := SourceSettings.AppMessages.MsgSend_LabelSubject; //added by fduenas
|
||||
MsgSend_LabelMessageText := SourceSettings.AppMessages.MsgSend_LabelMessageText; //added by fduenas
|
||||
end;
|
||||
|
||||
With UserSettings.History do
|
||||
Begin
|
||||
Evento_edit := SourceSettings.History.Evento_edit;
|
||||
Evento_NewRecord := SourceSettings.History.Evento_NewRecord;
|
||||
Evento_Insert := SourceSettings.History.Evento_Insert;
|
||||
Evento_delete := SourceSettings.History.Evento_Delete;
|
||||
LabelTabela := SourceSettings.History.LabelTabela;
|
||||
Msg_LogEmptyHistory := SourceSettings.History.Msg_LogEmptyHistory;
|
||||
Msg_MensConfirma := SourceSettings.History.Msg_MensConfirma;
|
||||
LabelDescricao := SourceSettings.History.LabelDescricao;
|
||||
Hist_BtnExcluir := SourceSettings.History.Hist_BtnExcluir;
|
||||
Hist_BtnFiltro := SourceSettings.History.Hist_BtnFiltro;
|
||||
LabelForm := SourceSettings.History.LabelForm;
|
||||
Hist_BtnFechar := SourceSettings.History.Hist_BtnFechar;
|
||||
LabelDataEvento := SourceSettings.History.LabelDataEvento;
|
||||
LabelEvento := SourceSettings.History.LabelEvento;
|
||||
Msg_NewRecord := SourceSettings.History.Msg_NewRecord;
|
||||
Hist_All := SourceSettings.History.Hist_All;
|
||||
Msg_LimpHistorico := SourceSettings.History.Msg_LimpHistorico;
|
||||
LabelHoraEvento := SourceSettings.History.LabelHoraEvento;
|
||||
LabelUser := SourceSettings.History.LabelUser;
|
||||
Hist_MsgExceptPropr := SourceSettings.History.Hist_MsgExceptPropr;
|
||||
End;
|
||||
|
||||
with UserSettings.TypeFieldsDB do
|
||||
Begin
|
||||
Type_VarChar := SourceSettings.TypeFieldsDB.Type_VarChar;
|
||||
Type_Char := SourceSettings.TypeFieldsDB.Type_Char;
|
||||
Type_Int := SourceSettings.TypeFieldsDB.Type_Int;
|
||||
Type_MemoField := SourceSettings.TypeFieldsDB.Type_MemoField;
|
||||
end;
|
||||
|
||||
UserSettings.WindowsPosition := SourceSettings.WindowsPosition;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TDataModuleUsuarios.InicializarUserControl(AUserControl: TUserControl);
|
||||
begin
|
||||
if Assigned(AUserControl) then
|
||||
begin
|
||||
InicializarCamposUserControl(AUserControl);
|
||||
InicializarSettingsUserControl(AUserControl);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
end.
|
||||
@ -1,224 +0,0 @@
|
||||
{-----------------------------------------------------------------------------
|
||||
Unit Name: UCMidasConn
|
||||
Author : Luiz Benevenuto
|
||||
Date : 31/07/2005
|
||||
Purpose : Midas Suporte ( DataSnap )
|
||||
E-mail : luiz@siffra.com
|
||||
URL : www.siffra.com
|
||||
UC : www.usercontrol.com.br
|
||||
Forum : http://www.usercontrol.com.br/modules.php?name=Forums
|
||||
|
||||
registered in UCMidasConnReg.pas
|
||||
-----------------------------------------------------------------------------}
|
||||
|
||||
unit uUCROConn;
|
||||
|
||||
interface
|
||||
|
||||
//{$I 'UserControl.inc'}
|
||||
|
||||
uses
|
||||
Classes,
|
||||
DB,
|
||||
DBClient,
|
||||
SysUtils,
|
||||
uRORemoteService, uDADataStreamer, uROBinMessage, uROWinInetHttpChannel,
|
||||
uDABin2DataStreamer, uDARemoteDataAdapter, UCDataConnector, uROClient;
|
||||
|
||||
type
|
||||
TUCROConn = class(TUCDataConnector)
|
||||
private
|
||||
FMessage: TROBinMessage;
|
||||
FChannel: TROWinInetHTTPChannel;
|
||||
FRemoteService: TRORemoteService;
|
||||
FDataAdapter : TDARemoteDataAdapter;
|
||||
FDataStreamer : TDABin2DataStreamer;
|
||||
procedure SetServiceName(const Value: String);
|
||||
function GetServiceName: String;
|
||||
procedure SetChannel(const Value: TROWinInetHTTPChannel);
|
||||
procedure SetMessage(const Value: TROBinMessage);
|
||||
protected
|
||||
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
|
||||
procedure RefreshROConnection;
|
||||
public
|
||||
function GetDBObjectName: String; override;
|
||||
function GetTransObjectName: String; override;
|
||||
function UCFindDataConnection: Boolean; override;
|
||||
function UCFindTable(const Tablename: String): Boolean; override;
|
||||
function UCGetSQLDataset(FSQL: String): TDataset; override;
|
||||
procedure UCExecSQL(FSQL: String); override;
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
published
|
||||
property ROServiceName : String read GetServiceName write SetServiceName;
|
||||
property ROMessage : TROBinMessage read FMessage write SetMessage;
|
||||
property ROChannel : TROWinInetHTTPChannel read FChannel write SetChannel;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
Forms, Dialogs, VARELA_Intf, uROTypes, uDAClasses, uDADataTable,
|
||||
uDACDSDataTable, uROEncryption;
|
||||
|
||||
{ TUCROConn }
|
||||
|
||||
constructor TUCROConn.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited;
|
||||
FRemoteService := TRORemoteService.Create(nil);
|
||||
FDataStreamer := TDABin2DataStreamer.Create(nil);
|
||||
FDataAdapter := TDARemoteDataAdapter.Create(nil);
|
||||
FDataAdapter.DataStreamer := FDataStreamer;
|
||||
FDataAdapter.SetupDefaultRequest;
|
||||
end;
|
||||
|
||||
destructor TUCROConn.Destroy;
|
||||
begin
|
||||
FreeAndNil(FRemoteService);
|
||||
FreeAndNil(FDataAdapter);
|
||||
FreeAndNil(FDataStreamer);
|
||||
inherited;
|
||||
end;
|
||||
|
||||
function TUCROConn.GetDBObjectName: String;
|
||||
begin
|
||||
if Assigned(FRemoteService) then
|
||||
begin
|
||||
if Owner = FRemoteService.Owner then
|
||||
Result := FRemoteService.Name
|
||||
else
|
||||
Result := FRemoteService.Owner.Name + '.' + FRemoteService.Name;
|
||||
end
|
||||
else
|
||||
Result := '';
|
||||
end;
|
||||
|
||||
function TUCROConn.GetServiceName: String;
|
||||
begin
|
||||
Result := FRemoteService.ServiceName;
|
||||
end;
|
||||
|
||||
function TUCROConn.GetTransObjectName: String;
|
||||
begin
|
||||
Result := '';
|
||||
end;
|
||||
|
||||
procedure TUCROConn.Notification(AComponent: TComponent; Operation: TOperation);
|
||||
begin
|
||||
if (Operation = opRemove) and (AComponent = FRemoteService) then
|
||||
begin
|
||||
FreeAndNil(FDataAdapter);
|
||||
FRemoteService := nil;
|
||||
end;
|
||||
inherited Notification(AComponent, Operation);
|
||||
end;
|
||||
|
||||
procedure TUCROConn.RefreshROConnection;
|
||||
begin
|
||||
with FRemoteService do
|
||||
begin
|
||||
FRemoteService.Message := FMessage;
|
||||
FRemoteService.Channel := FChannel;
|
||||
|
||||
with FDataAdapter do
|
||||
begin
|
||||
RemoteService := FRemoteService;
|
||||
GetSchemaCall.RemoteService := FRemoteService;
|
||||
GetDataCall.RemoteService := FRemoteService;
|
||||
UpdateDataCall.RemoteService := FRemoteService;
|
||||
GetScriptsCall.RemoteService := FRemoteService;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TUCROConn.SetChannel(const Value: TROWinInetHTTPChannel);
|
||||
begin
|
||||
FChannel := Value;
|
||||
RefreshROConnection;
|
||||
end;
|
||||
|
||||
procedure TUCROConn.SetMessage(const Value: TROBinMessage);
|
||||
begin
|
||||
FMessage := Value;
|
||||
RefreshROConnection;
|
||||
end;
|
||||
|
||||
procedure TUCROConn.SetServiceName(const Value: String);
|
||||
begin
|
||||
FRemoteService.ServiceName := Value;
|
||||
end;
|
||||
|
||||
procedure TUCROConn.UCExecSQL(FSQL: String);
|
||||
var
|
||||
ASQL : String;
|
||||
begin
|
||||
ASQL := AnsiToUtf8(FSQL);
|
||||
(FRemoteService as IsrvUsuarios).SQLExecuteCommand(ASQL);
|
||||
end;
|
||||
|
||||
function TUCROConn.UCFindDataConnection: Boolean;
|
||||
begin
|
||||
Result := False;
|
||||
if Assigned(FRemoteService) then
|
||||
begin
|
||||
FRemoteService.CheckCanConnect;
|
||||
Result := True;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TUCROConn.UCFindTable(const Tablename: String): Boolean;
|
||||
var
|
||||
ASchema : TDASchema;
|
||||
begin
|
||||
ASchema := FDataAdapter.ReadSchema;
|
||||
try
|
||||
Result := Assigned(ASchema.FindDataset(TableName));
|
||||
finally
|
||||
FreeAndNil(ASchema);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
function TUCROConn.UCGetSQLDataset(FSQL: String): TDataset;
|
||||
var
|
||||
AStream: TMemoryStream;
|
||||
ADataStreamer: TDABin2DataStreamer;
|
||||
ADataTable: TDACDSDataTable;
|
||||
begin
|
||||
Result := NIL;
|
||||
ADataStreamer := TDABin2DataStreamer.Create(NIL);
|
||||
AStream := (FRemoteService as IsrvUsuarios).SQLGetData(FSQL, True, -1);
|
||||
|
||||
if AStream <> nil then
|
||||
try
|
||||
ADataTable := TDACDSDataTable.Create(Application);
|
||||
|
||||
// Generar un nombre aleatorio
|
||||
Randomize;
|
||||
ADataTable.Name := 'SQLResult' + '_' + IntToStr(Random(MAXINT));
|
||||
|
||||
ADataTable.LocalDataStreamer := ADataStreamer;
|
||||
ADataTable.RemoteFetchEnabled := False;
|
||||
try
|
||||
ADataStreamer.ReadDataset(AStream, ADataTable, True);
|
||||
ADataTable.Open;
|
||||
|
||||
{ ¡¡OJO!! Trapicheo!!!!!
|
||||
Forzamos a recuperar en Dataset todas las tuplas
|
||||
recorriendonos toda la tabla.}
|
||||
ADataTable.Last;
|
||||
ADataTable.First;
|
||||
|
||||
Result := ADataTable.Dataset;
|
||||
finally
|
||||
//FreeAndNIL(ADataTable); <-- No liberar, lo hace Application
|
||||
end;
|
||||
finally
|
||||
FreeAndNIL(AStream);
|
||||
FreeAndNIL(ADataStreamer);
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
@ -1,25 +0,0 @@
|
||||
unit uIDataModuleUsuarios;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
UCBase, UCSettings, uBizUsuarios;
|
||||
|
||||
type
|
||||
IDataModuleUsuarios = interface
|
||||
['{C0A8481F-4920-414D-A906-EE1EB18DE946}']
|
||||
procedure InicializarUserControl (AUserControl : TUserControl);
|
||||
|
||||
function GetUsuario(const ID : Integer) : IBizUsuario;
|
||||
function NuevoUsuario : IBizUsuario;
|
||||
function GetUsuarios : IBizUsuario;
|
||||
|
||||
function NuevoPerfil : IBizPerfilUsuario;
|
||||
function GetPerfiles : IBizPerfilUsuario;
|
||||
function GetPerfil(const ID : Integer) : IBizPerfilUsuario;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
end.
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,90 +0,0 @@
|
||||
unit uBizUsuarios;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
UCBase, uDAInterfaces, uDADataTable, schUsuariosClient_Intf;
|
||||
|
||||
const
|
||||
BIZ_CLIENT_USUARIO = 'Client.Usuario';
|
||||
BIZ_CLIENT_PERFIL_USUARIO = 'Client.PerfilUsuario';
|
||||
|
||||
type
|
||||
TUsuario = TUCCurrentUser;
|
||||
|
||||
IBizUsuario = interface (IUSUARIOS)
|
||||
['{1DB69F36-969C-4078-B862-6D697670BCFD}']
|
||||
function EsNuevo : Boolean;
|
||||
end;
|
||||
|
||||
IBizPerfilUsuario = interface (IPERFILES)
|
||||
['{D14DF996-A8CD-400A-BF74-C8B660199C74}']
|
||||
function EsNuevo : Boolean;
|
||||
end;
|
||||
|
||||
|
||||
TBizUsuario = class(TUsuariosDataTableRules, IBizUsuario)
|
||||
protected
|
||||
procedure OnNewRecord(Sender: TDADataTable); override;
|
||||
public
|
||||
function EsNuevo : Boolean;
|
||||
procedure IniciarValoresUsuarioNuevo;
|
||||
end;
|
||||
|
||||
TBizPerfilUsuario = class(TPerfilesDataTableRules, IBizPerfilUsuario)
|
||||
protected
|
||||
procedure OnNewRecord(Sender: TDADataTable); override;
|
||||
public
|
||||
function EsNuevo : Boolean;
|
||||
procedure IniciarValoresPerfilNuevo;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
{ TBizUsuario }
|
||||
|
||||
function TBizUsuario.EsNuevo: Boolean;
|
||||
begin
|
||||
Result := (ID < 0);
|
||||
end;
|
||||
|
||||
procedure TBizUsuario.IniciarValoresUsuarioNuevo;
|
||||
begin
|
||||
TIPO := 'U'; // Usuario;
|
||||
end;
|
||||
|
||||
procedure TBizUsuario.OnNewRecord(Sender: TDADataTable);
|
||||
begin
|
||||
inherited;
|
||||
IniciarValoresUsuarioNuevo;
|
||||
end;
|
||||
|
||||
{ TBizPerfilUsuario }
|
||||
|
||||
function TBizPerfilUsuario.EsNuevo: Boolean;
|
||||
begin
|
||||
Result := (ID < 0);
|
||||
end;
|
||||
|
||||
procedure TBizPerfilUsuario.IniciarValoresPerfilNuevo;
|
||||
begin
|
||||
TIPO := 'P'; // Perfil
|
||||
end;
|
||||
|
||||
procedure TBizPerfilUsuario.OnNewRecord(Sender: TDADataTable);
|
||||
begin
|
||||
inherited;
|
||||
IniciarValoresPerfilNuevo;
|
||||
end;
|
||||
|
||||
initialization
|
||||
RegisterDataTableRules(BIZ_CLIENT_USUARIO, TBizUsuario);
|
||||
RegisterDataTableRules(BIZ_CLIENT_PERFIL_USUARIO, TBizPerfilUsuario);
|
||||
|
||||
finalization
|
||||
|
||||
end.
|
||||
|
||||
|
||||
@ -1,600 +0,0 @@
|
||||
object srvUsuarios: TsrvUsuarios
|
||||
OldCreateOrder = True
|
||||
OnCreate = DataAbstractServiceCreate
|
||||
SessionManager = dmServer.SessionManager
|
||||
ServiceSchema = schUsuarios
|
||||
ServiceDataStreamer = Bin2DataStreamer
|
||||
AllowExecuteSQL = True
|
||||
AllowWhereSQL = True
|
||||
ExportedDataTables = <>
|
||||
BeforeAcquireConnection = DataAbstractServiceBeforeAcquireConnection
|
||||
Height = 163
|
||||
Width = 300
|
||||
object Diagrams: TDADiagrams
|
||||
Left = 150
|
||||
Top = 88
|
||||
DiagramData = '<Diagrams>'#13#10'</Diagrams>'#13#10
|
||||
end
|
||||
object DataDictionary: TDADataDictionary
|
||||
Fields = <
|
||||
item
|
||||
Name = 'USUARIOS_ID'
|
||||
DataType = datAutoInc
|
||||
GeneratorName = 'GEN_USUARIOS_ID'
|
||||
Required = True
|
||||
DisplayLabel = 'ID'
|
||||
end
|
||||
item
|
||||
Name = 'USUARIOS_USERNAME'
|
||||
DataType = datString
|
||||
Size = 30
|
||||
DisplayLabel = 'Nombre'
|
||||
end
|
||||
item
|
||||
Name = 'USUARIOS_LOGIN'
|
||||
DataType = datString
|
||||
Size = 30
|
||||
DisplayLabel = 'Login'
|
||||
end
|
||||
item
|
||||
Name = 'USUARIOS_PASS'
|
||||
DataType = datString
|
||||
Size = 250
|
||||
DisplayLabel = 'Password'
|
||||
end
|
||||
item
|
||||
Name = 'USUARIOS_PASSEXPIRED'
|
||||
DataType = datDateTime
|
||||
DisplayLabel = 'Expiraci'#243'n de password'
|
||||
end
|
||||
item
|
||||
Name = 'USUARIOS_BLOQUEADO'
|
||||
DataType = datSmallInt
|
||||
DisplayLabel = 'Bloqueado'
|
||||
end
|
||||
item
|
||||
Name = 'USUARIOS_EMAIL'
|
||||
DataType = datString
|
||||
Size = 150
|
||||
DisplayLabel = 'Correo electr'#243'nico'
|
||||
end
|
||||
item
|
||||
Name = 'USUARIOS_USERDAYSSUN'
|
||||
DataType = datInteger
|
||||
end
|
||||
item
|
||||
Name = 'USUARIOS_PRIVILEGED'
|
||||
DataType = datInteger
|
||||
DisplayLabel = 'Privilegiado'
|
||||
end
|
||||
item
|
||||
Name = 'USUARIOS_TIPO'
|
||||
DataType = datString
|
||||
Size = 1
|
||||
DisplayLabel = 'Tipo'
|
||||
end
|
||||
item
|
||||
Name = 'USUARIOS_ID_PERFIL'
|
||||
DataType = datInteger
|
||||
DisplayLabel = 'ID_PERFIL'
|
||||
end
|
||||
item
|
||||
Name = 'USUARIOS_CHECKSUM'
|
||||
DataType = datString
|
||||
Size = 250
|
||||
DisplayLabel = 'Checksum'
|
||||
end
|
||||
item
|
||||
Name = 'PERFILES_ID'
|
||||
DataType = datAutoInc
|
||||
GeneratorName = 'GEN_USUARIOS_ID'
|
||||
Required = True
|
||||
DisplayLabel = 'ID'
|
||||
end
|
||||
item
|
||||
Name = 'PERFILES_USERNAME'
|
||||
DataType = datString
|
||||
Size = 30
|
||||
DisplayLabel = 'Nombre'
|
||||
end
|
||||
item
|
||||
Name = 'PERFILES_LOGIN'
|
||||
DataType = datString
|
||||
Size = 30
|
||||
DisplayLabel = 'Login'
|
||||
end
|
||||
item
|
||||
Name = 'PERFILES_TIPO'
|
||||
DataType = datString
|
||||
Size = 1
|
||||
DisplayLabel = 'Tipo'
|
||||
end>
|
||||
Left = 150
|
||||
Top = 24
|
||||
end
|
||||
object schUsuarios: TDASchema
|
||||
ConnectionManager = dmServer.ConnectionManager
|
||||
DataDictionary = DataDictionary
|
||||
Diagrams = Diagrams
|
||||
Datasets = <
|
||||
item
|
||||
Params = <>
|
||||
Statements = <
|
||||
item
|
||||
Connection = 'GFT_VARELA'
|
||||
Default = True
|
||||
TargetTable = 'RDX_USUARIOS'
|
||||
SQL =
|
||||
'SELECT'#10' ID, USERNAME, LOGIN, PASS, PASSEXPIRED, BLOQUEADO,'#10' ' +
|
||||
' EMAIL, USERDAYSSUN, PRIVILEGED, TIPO, ID_PERFIL, CHECKSUM'#10' FR' +
|
||||
'OM'#10' RDX_USUARIOS'#10' WHERE TIPO = '#39'U'#39' AND {Where}'#10' ORDER BY US' +
|
||||
'ERNAME'#10
|
||||
StatementType = stSQL
|
||||
ColumnMappings = <
|
||||
item
|
||||
DatasetField = 'ID'
|
||||
TableField = 'ID'
|
||||
end
|
||||
item
|
||||
DatasetField = 'USERNAME'
|
||||
TableField = 'USERNAME'
|
||||
end
|
||||
item
|
||||
DatasetField = 'LOGIN'
|
||||
TableField = 'LOGIN'
|
||||
end
|
||||
item
|
||||
DatasetField = 'PASS'
|
||||
TableField = 'PASS'
|
||||
end
|
||||
item
|
||||
DatasetField = 'PASSEXPIRED'
|
||||
TableField = 'PASSEXPIRED'
|
||||
end
|
||||
item
|
||||
DatasetField = 'BLOQUEADO'
|
||||
TableField = 'BLOQUEADO'
|
||||
end
|
||||
item
|
||||
DatasetField = 'EMAIL'
|
||||
TableField = 'EMAIL'
|
||||
end
|
||||
item
|
||||
DatasetField = 'USERDAYSSUN'
|
||||
TableField = 'USERDAYSSUN'
|
||||
end
|
||||
item
|
||||
DatasetField = 'PRIVILEGED'
|
||||
TableField = 'PRIVILEGED'
|
||||
end
|
||||
item
|
||||
DatasetField = 'TIPO'
|
||||
TableField = 'TIPO'
|
||||
end
|
||||
item
|
||||
DatasetField = 'ID_PERFIL'
|
||||
TableField = 'ID_PERFIL'
|
||||
end
|
||||
item
|
||||
DatasetField = 'CHECKSUM'
|
||||
TableField = 'CHECKSUM'
|
||||
end>
|
||||
end>
|
||||
Name = 'USUARIOS'
|
||||
Fields = <
|
||||
item
|
||||
Name = 'ID'
|
||||
DataType = datAutoInc
|
||||
GeneratorName = 'GEN_USUARIOS_ID'
|
||||
DictionaryEntry = 'USUARIOS_ID'
|
||||
InPrimaryKey = True
|
||||
end
|
||||
item
|
||||
Name = 'USERNAME'
|
||||
DataType = datString
|
||||
Size = 30
|
||||
DictionaryEntry = 'USUARIOS_USERNAME'
|
||||
end
|
||||
item
|
||||
Name = 'LOGIN'
|
||||
DataType = datString
|
||||
Size = 30
|
||||
DictionaryEntry = 'USUARIOS_LOGIN'
|
||||
end
|
||||
item
|
||||
Name = 'PASS'
|
||||
DataType = datString
|
||||
Size = 250
|
||||
DictionaryEntry = 'USUARIOS_PASS'
|
||||
end
|
||||
item
|
||||
Name = 'PASSEXPIRED'
|
||||
DataType = datDateTime
|
||||
DictionaryEntry = 'USUARIOS_PASSEXPIRED'
|
||||
end
|
||||
item
|
||||
Name = 'BLOQUEADO'
|
||||
DataType = datSmallInt
|
||||
DictionaryEntry = 'USUARIOS_BLOQUEADO'
|
||||
end
|
||||
item
|
||||
Name = 'EMAIL'
|
||||
DataType = datString
|
||||
Size = 150
|
||||
DictionaryEntry = 'USUARIOS_EMAIL'
|
||||
end
|
||||
item
|
||||
Name = 'USERDAYSSUN'
|
||||
DataType = datInteger
|
||||
DictionaryEntry = 'USUARIOS_USERDAYSSUN'
|
||||
end
|
||||
item
|
||||
Name = 'PRIVILEGED'
|
||||
DataType = datInteger
|
||||
DictionaryEntry = 'USUARIOS_PRIVILEGED'
|
||||
end
|
||||
item
|
||||
Name = 'TIPO'
|
||||
DataType = datString
|
||||
Size = 1
|
||||
DictionaryEntry = 'USUARIOS_TIPO'
|
||||
end
|
||||
item
|
||||
Name = 'ID_PERFIL'
|
||||
DataType = datInteger
|
||||
DictionaryEntry = 'USUARIOS_ID_PERFIL'
|
||||
end
|
||||
item
|
||||
Name = 'CHECKSUM'
|
||||
DataType = datString
|
||||
Size = 250
|
||||
DictionaryEntry = 'USUARIOS_CHECKSUM'
|
||||
end>
|
||||
end
|
||||
item
|
||||
Params = <>
|
||||
Statements = <
|
||||
item
|
||||
Connection = 'GFT_VARELA'
|
||||
Default = True
|
||||
TargetTable = 'RDX_USUARIOS_EVENTOS'
|
||||
StatementType = stAutoSQL
|
||||
ColumnMappings = <
|
||||
item
|
||||
DatasetField = 'APLICACION'
|
||||
TableField = 'APLICACION'
|
||||
end
|
||||
item
|
||||
DatasetField = 'ID_USUARIO'
|
||||
TableField = 'ID_USUARIO'
|
||||
end
|
||||
item
|
||||
DatasetField = 'FECHA'
|
||||
TableField = 'FECHA'
|
||||
end
|
||||
item
|
||||
DatasetField = 'HORA'
|
||||
TableField = 'HORA'
|
||||
end
|
||||
item
|
||||
DatasetField = 'FORM'
|
||||
TableField = 'FORM'
|
||||
end
|
||||
item
|
||||
DatasetField = 'TITULO_FORM'
|
||||
TableField = 'TITULO_FORM'
|
||||
end
|
||||
item
|
||||
DatasetField = 'EVENTO'
|
||||
TableField = 'EVENTO'
|
||||
end
|
||||
item
|
||||
DatasetField = 'NOTAS'
|
||||
TableField = 'NOTAS'
|
||||
end
|
||||
item
|
||||
DatasetField = 'TNAME'
|
||||
TableField = 'TNAME'
|
||||
end>
|
||||
end>
|
||||
Name = 'USUARIOS_EVENTOS'
|
||||
Fields = <
|
||||
item
|
||||
Name = 'APLICACION'
|
||||
DataType = datString
|
||||
Size = 250
|
||||
end
|
||||
item
|
||||
Name = 'ID_USUARIO'
|
||||
DataType = datInteger
|
||||
end
|
||||
item
|
||||
Name = 'FECHA'
|
||||
DataType = datString
|
||||
Size = 10
|
||||
end
|
||||
item
|
||||
Name = 'HORA'
|
||||
DataType = datString
|
||||
Size = 8
|
||||
end
|
||||
item
|
||||
Name = 'FORM'
|
||||
DataType = datString
|
||||
Size = 250
|
||||
end
|
||||
item
|
||||
Name = 'TITULO_FORM'
|
||||
DataType = datString
|
||||
Size = 100
|
||||
end
|
||||
item
|
||||
Name = 'EVENTO'
|
||||
DataType = datString
|
||||
Size = 50
|
||||
end
|
||||
item
|
||||
Name = 'NOTAS'
|
||||
DataType = datMemo
|
||||
end
|
||||
item
|
||||
Name = 'TNAME'
|
||||
DataType = datString
|
||||
Size = 20
|
||||
end>
|
||||
end
|
||||
item
|
||||
Params = <>
|
||||
Statements = <
|
||||
item
|
||||
Connection = 'GFT_VARELA'
|
||||
TargetTable = 'RDX_USUARIOS_LOGON'
|
||||
StatementType = stAutoSQL
|
||||
ColumnMappings = <
|
||||
item
|
||||
DatasetField = 'LOGONID'
|
||||
TableField = 'LOGONID'
|
||||
end
|
||||
item
|
||||
DatasetField = 'ID_USUARIO'
|
||||
TableField = 'ID_USUARIO'
|
||||
end
|
||||
item
|
||||
DatasetField = 'APLICACION'
|
||||
TableField = 'APLICACION'
|
||||
end
|
||||
item
|
||||
DatasetField = 'EQUIPO'
|
||||
TableField = 'EQUIPO'
|
||||
end
|
||||
item
|
||||
DatasetField = 'DATA'
|
||||
TableField = 'DATA'
|
||||
end>
|
||||
end>
|
||||
Name = 'USUARIOS_LOGON'
|
||||
Fields = <
|
||||
item
|
||||
Name = 'LOGONID'
|
||||
DataType = datString
|
||||
Size = 38
|
||||
Required = True
|
||||
InPrimaryKey = True
|
||||
end
|
||||
item
|
||||
Name = 'ID_USUARIO'
|
||||
DataType = datInteger
|
||||
end
|
||||
item
|
||||
Name = 'APLICACION'
|
||||
DataType = datString
|
||||
Size = 50
|
||||
end
|
||||
item
|
||||
Name = 'EQUIPO'
|
||||
DataType = datString
|
||||
Size = 50
|
||||
end
|
||||
item
|
||||
Name = 'DATA'
|
||||
DataType = datString
|
||||
Size = 14
|
||||
end>
|
||||
end
|
||||
item
|
||||
Params = <>
|
||||
Statements = <
|
||||
item
|
||||
Connection = 'GFT_VARELA'
|
||||
TargetTable = 'RDX_USUARIOS'
|
||||
SQL =
|
||||
'SELECT '#10' ID, USERNAME, LOGIN, TIPO'#10' FROM'#10' RDX_USUARIOS'#10' ' +
|
||||
'WHERE TIPO = '#39'P'#39' AND {Where}'#10' ORDER BY USERNAME'#10
|
||||
StatementType = stSQL
|
||||
ColumnMappings = <
|
||||
item
|
||||
DatasetField = 'ID'
|
||||
TableField = 'ID'
|
||||
end
|
||||
item
|
||||
DatasetField = 'USERNAME'
|
||||
TableField = 'USERNAME'
|
||||
end
|
||||
item
|
||||
DatasetField = 'LOGIN'
|
||||
TableField = 'LOGIN'
|
||||
end
|
||||
item
|
||||
DatasetField = 'TIPO'
|
||||
TableField = 'TIPO'
|
||||
end>
|
||||
end>
|
||||
Name = 'PERFILES'
|
||||
Fields = <
|
||||
item
|
||||
Name = 'ID'
|
||||
DataType = datAutoInc
|
||||
GeneratorName = 'GEN_USUARIOS_ID'
|
||||
DictionaryEntry = 'PERFILES_ID'
|
||||
InPrimaryKey = True
|
||||
end
|
||||
item
|
||||
Name = 'USERNAME'
|
||||
DataType = datString
|
||||
Size = 30
|
||||
DictionaryEntry = 'PERFILES_USERNAME'
|
||||
end
|
||||
item
|
||||
Name = 'LOGIN'
|
||||
DataType = datString
|
||||
Size = 30
|
||||
DictionaryEntry = 'PERFILES_LOGIN'
|
||||
end
|
||||
item
|
||||
Name = 'TIPO'
|
||||
DataType = datString
|
||||
Size = 1
|
||||
DictionaryEntry = 'PERFILES_TIPO'
|
||||
end>
|
||||
end
|
||||
item
|
||||
Params = <>
|
||||
Statements = <
|
||||
item
|
||||
Connection = 'GFT_VARELA'
|
||||
ConnectionType = 'MSSQL'
|
||||
Default = True
|
||||
TargetTable = 'RDX_PERMISOS'
|
||||
StatementType = stAutoSQL
|
||||
ColumnMappings = <
|
||||
item
|
||||
DatasetField = 'ID'
|
||||
TableField = 'ID'
|
||||
end
|
||||
item
|
||||
DatasetField = 'ID_USUARIO'
|
||||
TableField = 'ID_USUARIO'
|
||||
end
|
||||
item
|
||||
DatasetField = 'MODULO'
|
||||
TableField = 'MODULO'
|
||||
end
|
||||
item
|
||||
DatasetField = 'NOMBRECOMP'
|
||||
TableField = 'NOMBRECOMP'
|
||||
end
|
||||
item
|
||||
DatasetField = 'CHECKSUM'
|
||||
TableField = 'CHECKSUM'
|
||||
end>
|
||||
end>
|
||||
Name = 'PERMISOS'
|
||||
Fields = <
|
||||
item
|
||||
Name = 'ID'
|
||||
DataType = datInteger
|
||||
Required = True
|
||||
InPrimaryKey = True
|
||||
end
|
||||
item
|
||||
Name = 'ID_USUARIO'
|
||||
DataType = datInteger
|
||||
end
|
||||
item
|
||||
Name = 'MODULO'
|
||||
DataType = datString
|
||||
Size = 50
|
||||
end
|
||||
item
|
||||
Name = 'NOMBRECOMP'
|
||||
DataType = datString
|
||||
Size = 50
|
||||
end
|
||||
item
|
||||
Name = 'CHECKSUM'
|
||||
DataType = datString
|
||||
Size = 250
|
||||
end>
|
||||
end
|
||||
item
|
||||
Params = <>
|
||||
Statements = <
|
||||
item
|
||||
Connection = 'GFT_VARELA'
|
||||
ConnectionType = 'MSSQL'
|
||||
Default = True
|
||||
TargetTable = 'RDX_PERMISOSEX'
|
||||
StatementType = stAutoSQL
|
||||
ColumnMappings = <
|
||||
item
|
||||
DatasetField = 'ID'
|
||||
TableField = 'ID'
|
||||
end
|
||||
item
|
||||
DatasetField = 'ID_USUARIO'
|
||||
TableField = 'ID_USUARIO'
|
||||
end
|
||||
item
|
||||
DatasetField = 'MODULO'
|
||||
TableField = 'MODULO'
|
||||
end
|
||||
item
|
||||
DatasetField = 'NOMBRECOMP'
|
||||
TableField = 'NOMBRECOMP'
|
||||
end
|
||||
item
|
||||
DatasetField = 'NOMBREFORM'
|
||||
TableField = 'NOMBREFORM'
|
||||
end
|
||||
item
|
||||
DatasetField = 'CHECKSUM'
|
||||
TableField = 'CHECKSUM'
|
||||
end>
|
||||
end>
|
||||
Name = 'PERMISOSEX'
|
||||
Fields = <
|
||||
item
|
||||
Name = 'ID'
|
||||
DataType = datInteger
|
||||
Required = True
|
||||
InPrimaryKey = True
|
||||
end
|
||||
item
|
||||
Name = 'ID_USUARIO'
|
||||
DataType = datInteger
|
||||
end
|
||||
item
|
||||
Name = 'MODULO'
|
||||
DataType = datString
|
||||
Size = 50
|
||||
end
|
||||
item
|
||||
Name = 'NOMBRECOMP'
|
||||
DataType = datString
|
||||
Size = 50
|
||||
end
|
||||
item
|
||||
Name = 'NOMBREFORM'
|
||||
DataType = datString
|
||||
Size = 50
|
||||
end
|
||||
item
|
||||
Name = 'CHECKSUM'
|
||||
DataType = datString
|
||||
Size = 250
|
||||
end>
|
||||
end>
|
||||
JoinDataTables = <>
|
||||
UnionDataTables = <>
|
||||
Commands = <>
|
||||
RelationShips = <>
|
||||
UpdateRules = <>
|
||||
Version = 0
|
||||
Left = 48
|
||||
Top = 24
|
||||
end
|
||||
object Bin2DataStreamer: TDABin2DataStreamer
|
||||
Left = 48
|
||||
Top = 88
|
||||
end
|
||||
end
|
||||
@ -1,65 +0,0 @@
|
||||
unit srvUsuarios_Impl;
|
||||
|
||||
{----------------------------------------------------------------------------}
|
||||
{ This unit was automatically generated by the RemObjects SDK after reading }
|
||||
{ the RODL file associated with this project . }
|
||||
{ }
|
||||
{ This is where you are supposed to code the implementation of your objects. }
|
||||
{----------------------------------------------------------------------------}
|
||||
|
||||
{$I Remobjects.inc}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
{vcl:} Classes, SysUtils,
|
||||
{RemObjects:} uROXMLIntf, uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions,
|
||||
{Required:} uRORemoteDataModule,
|
||||
{Ancestor Implementation:} DataAbstractService_Impl,
|
||||
{Used RODLs:} DataAbstract4_Intf,
|
||||
{Generated:} VARELA_Intf, uDADataStreamer, uDABin2DataStreamer, uDAClasses;
|
||||
|
||||
type
|
||||
{ TsrvUsuarios }
|
||||
TsrvUsuarios = class(TDataAbstractService, IsrvUsuarios)
|
||||
Diagrams: TDADiagrams;
|
||||
Bin2DataStreamer: TDABin2DataStreamer;
|
||||
schUsuarios: TDASchema;
|
||||
DataDictionary: TDADataDictionary;
|
||||
procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject;
|
||||
var aConnectionName: string);
|
||||
procedure DataAbstractServiceCreate(Sender: TObject);
|
||||
private
|
||||
protected
|
||||
{ IsrvUsuarios methods }
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
uses
|
||||
{Generated:} VARELA_Invk, uDataModuleServer;
|
||||
|
||||
procedure Create_srvUsuarios(out anInstance : IUnknown);
|
||||
begin
|
||||
anInstance := TsrvUsuarios.Create(nil);
|
||||
end;
|
||||
|
||||
{ srvUsuarios }
|
||||
procedure TsrvUsuarios.DataAbstractServiceBeforeAcquireConnection(
|
||||
aSender: TObject; var aConnectionName: string);
|
||||
begin
|
||||
ConnectionName := dmServer.ConnectionName;
|
||||
end;
|
||||
|
||||
procedure TsrvUsuarios.DataAbstractServiceCreate(Sender: TObject);
|
||||
begin
|
||||
SessionManager := dmServer.SessionManager;
|
||||
end;
|
||||
|
||||
initialization
|
||||
TROClassFactory.Create('srvUsuarios', Create_srvUsuarios, TsrvUsuarios_Invoker);
|
||||
|
||||
finalization
|
||||
|
||||
end.
|
||||
@ -1,67 +0,0 @@
|
||||
package Usuarios;
|
||||
|
||||
{$R *.res}
|
||||
{$ALIGN 8}
|
||||
{$ASSERTIONS ON}
|
||||
{$BOOLEVAL OFF}
|
||||
{$DEBUGINFO ON}
|
||||
{$EXTENDEDSYNTAX ON}
|
||||
{$IMPORTEDDATA ON}
|
||||
{$IOCHECKS ON}
|
||||
{$LOCALSYMBOLS ON}
|
||||
{$LONGSTRINGS ON}
|
||||
{$OPENSTRINGS ON}
|
||||
{$OPTIMIZATION ON}
|
||||
{$OVERFLOWCHECKS OFF}
|
||||
{$RANGECHECKS OFF}
|
||||
{$REFERENCEINFO ON}
|
||||
{$SAFEDIVIDE OFF}
|
||||
{$STACKFRAMES ON}
|
||||
{$TYPEDADDRESS OFF}
|
||||
{$VARSTRINGCHECKS ON}
|
||||
{$WRITEABLECONST OFF}
|
||||
{$MINENUMSIZE 1}
|
||||
{$IMAGEBASE $400000}
|
||||
{$DESCRIPTION 'Pedidos a proveedor'}
|
||||
{$IMPLICITBUILD ON}
|
||||
{$DEFINE DEBUG}
|
||||
|
||||
requires
|
||||
vcl,
|
||||
vcldb,
|
||||
PngComponentsD10,
|
||||
PNG_D10,
|
||||
vclactnband,
|
||||
vclx,
|
||||
vcljpg,
|
||||
BaseD10;
|
||||
|
||||
contains
|
||||
uUsuariosController in 'Controller\uUsuariosController.pas',
|
||||
uPerfilesUsuarioController in 'Controller\uPerfilesUsuarioController.pas',
|
||||
uUCROConn in 'Data\uUCROConn.pas',
|
||||
uDataModuleUsuarios in 'Data\uDataModuleUsuarios.pas',
|
||||
uBizUsuarios in 'Model\uBizUsuarios.pas',
|
||||
uIEditorUsuarios in 'Controller\View\uIEditorUsuarios.pas',
|
||||
uIEditorLogin in 'Controller\View\uIEditorLogin.pas',
|
||||
uIEditorPerfilesUsuario in 'Controller\View\uIEditorPerfilesUsuario.pas',
|
||||
uIEditorPerfilUsuario in 'Controller\View\uIEditorPerfilUsuario.pas',
|
||||
uIEditorUsuario in 'Controller\View\uIEditorUsuario.pas',
|
||||
uIDataModuleUsuarios in 'Model\Data\uIDataModuleUsuarios.pas',
|
||||
uViewUsuarios in 'Views\uViewUsuarios.pas',
|
||||
uEditorCambiarPassword in 'Views\uEditorCambiarPassword.pas',
|
||||
uEditorLogin in 'Views\uEditorLogin.pas',
|
||||
uEditorPerfilesUsuario in 'Views\uEditorPerfilesUsuario.pas',
|
||||
uEditorPerfilUsuario in 'Views\uEditorPerfilUsuario.pas',
|
||||
uEditorUsuario in 'Views\uEditorUsuario.pas',
|
||||
uEditorUsuarios in 'Views\uEditorUsuarios.pas',
|
||||
uUsuario in 'Views\uUsuario.pas',
|
||||
uUsuarios in 'Views\uUsuarios.pas',
|
||||
uUsuariosViewRegister in 'Views\uUsuariosViewRegister.pas',
|
||||
uViewPerfilesUsuario in 'Views\uViewPerfilesUsuario.pas',
|
||||
uViewPerfilUsuario in 'Views\uViewPerfilUsuario.pas',
|
||||
uViewUsuario in 'Views\uViewUsuario.pas',
|
||||
schUsuariosClient_Intf in 'Model\schUsuariosClient_Intf.pas',
|
||||
schUsuariosServer_Intf in 'Model\schUsuariosServer_Intf.pas';
|
||||
|
||||
end.
|
||||
Binary file not shown.
@ -1,123 +0,0 @@
|
||||
object fEditorCambiarPassword: TfEditorCambiarPassword
|
||||
Left = 398
|
||||
Top = 263
|
||||
BorderStyle = bsDialog
|
||||
Caption = 'Cambiar la contrase'#241'a'
|
||||
ClientHeight = 217
|
||||
ClientWidth = 406
|
||||
Color = clBtnFace
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -11
|
||||
Font.Name = 'MS Sans Serif'
|
||||
Font.Style = []
|
||||
OldCreateOrder = False
|
||||
Position = poScreenCenter
|
||||
OnClose = FormClose
|
||||
OnCloseQuery = FormCloseQuery
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
object Bevel4: TBevel
|
||||
Left = 8
|
||||
Top = 154
|
||||
Width = 388
|
||||
Height = 10
|
||||
Shape = bsBottomLine
|
||||
end
|
||||
object lbConfirma: TLabel
|
||||
Left = 35
|
||||
Top = 88
|
||||
Width = 103
|
||||
Height = 13
|
||||
Alignment = taRightJustify
|
||||
Caption = 'Confirmar contrase'#241'a:'
|
||||
end
|
||||
object lbNovaSenha: TLabel
|
||||
Left = 47
|
||||
Top = 57
|
||||
Width = 91
|
||||
Height = 13
|
||||
Alignment = taRightJustify
|
||||
Caption = 'Nueva contrase'#241'a:'
|
||||
end
|
||||
object lbSenhaAtu: TLabel
|
||||
Left = 49
|
||||
Top = 27
|
||||
Width = 89
|
||||
Height = 13
|
||||
Alignment = taRightJustify
|
||||
Caption = 'Contrase'#241'a actual:'
|
||||
end
|
||||
object Label1: TLabel
|
||||
Left = 19
|
||||
Top = 132
|
||||
Width = 360
|
||||
Height = 13
|
||||
Caption =
|
||||
'Si hace clic en Cancelar, no se realizar'#225' ning'#250'n cambio sobre la' +
|
||||
' contrase'#241'a.'
|
||||
end
|
||||
object bAceptar: TButton
|
||||
Left = 234
|
||||
Top = 178
|
||||
Width = 75
|
||||
Height = 23
|
||||
Action = actAceptar
|
||||
TabOrder = 0
|
||||
end
|
||||
object bCancelar: TButton
|
||||
Left = 319
|
||||
Top = 178
|
||||
Width = 75
|
||||
Height = 23
|
||||
Action = actCancelar
|
||||
Cancel = True
|
||||
ModalResult = 2
|
||||
TabOrder = 1
|
||||
end
|
||||
object EditAtu: TEdit
|
||||
Left = 143
|
||||
Top = 24
|
||||
Width = 202
|
||||
Height = 21
|
||||
Ctl3D = True
|
||||
MaxLength = 10
|
||||
ParentCtl3D = False
|
||||
PasswordChar = '*'
|
||||
TabOrder = 2
|
||||
end
|
||||
object EditConfirma: TEdit
|
||||
Left = 143
|
||||
Top = 85
|
||||
Width = 202
|
||||
Height = 21
|
||||
Ctl3D = True
|
||||
MaxLength = 10
|
||||
ParentCtl3D = False
|
||||
PasswordChar = '*'
|
||||
TabOrder = 4
|
||||
end
|
||||
object EditNova: TEdit
|
||||
Left = 143
|
||||
Top = 54
|
||||
Width = 202
|
||||
Height = 21
|
||||
Ctl3D = True
|
||||
MaxLength = 10
|
||||
ParentCtl3D = False
|
||||
PasswordChar = '*'
|
||||
TabOrder = 3
|
||||
end
|
||||
object ActionList1: TActionList
|
||||
Left = 136
|
||||
Top = 169
|
||||
object actAceptar: TAction
|
||||
Caption = 'C&ambiar'
|
||||
OnExecute = actAceptarExecute
|
||||
end
|
||||
object actCancelar: TAction
|
||||
Caption = '&Cancelar'
|
||||
OnExecute = actCancelarExecute
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -1,101 +0,0 @@
|
||||
unit uEditorCambiarPassword;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Forms, UCBase, ExtCtrls, Classes, ActnList, StdCtrls, Controls, Buttons,
|
||||
uBizUsuarios, uUsuariosController;
|
||||
|
||||
type
|
||||
TfEditorCambiarPassword = class(TForm)
|
||||
lbSenhaAtu: TLabel;
|
||||
lbNovaSenha: TLabel;
|
||||
lbConfirma: TLabel;
|
||||
EditAtu: TEdit;
|
||||
EditNova: TEdit;
|
||||
EditConfirma: TEdit;
|
||||
ActionList1: TActionList;
|
||||
actAceptar: TAction;
|
||||
actCancelar: TAction;
|
||||
Bevel4: TBevel;
|
||||
bAceptar: TButton;
|
||||
bCancelar: TButton;
|
||||
Label1: TLabel;
|
||||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||||
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||
procedure actCancelarExecute(Sender: TObject);
|
||||
procedure actAceptarExecute(Sender: TObject);
|
||||
public
|
||||
Usuario : IBizUsuario;
|
||||
Controller : IUsuariosController;
|
||||
CambioObligatorio : Boolean;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
uses
|
||||
uDialogUtils;
|
||||
|
||||
procedure TfEditorCambiarPassword.FormClose(Sender: TObject; var Action: TCloseAction);
|
||||
begin
|
||||
Action := caHide;
|
||||
end;
|
||||
|
||||
procedure TfEditorCambiarPassword.actAceptarExecute(Sender: TObject);
|
||||
var
|
||||
AuxPass : String;
|
||||
AMensaje : String;
|
||||
begin
|
||||
case Controller.Criptografia of
|
||||
ucStandard: AuxPass := EditAtu.Text;
|
||||
ucMD5: AuxPass := MD5Sum(EditAtu.Text);
|
||||
end;
|
||||
|
||||
if Usuario.PASS <> AuxPass then
|
||||
begin
|
||||
ShowWarningMessage('Cambiar la contraseña', 'La contraseña actual no es correcta.' + #10#13 +
|
||||
'Asegúrese de que la contraseña actual está bien introduccida.');
|
||||
EditAtu.SetFocus;
|
||||
Exit;
|
||||
end;
|
||||
|
||||
if (EditNova.Text <> EditConfirma.Text) then
|
||||
begin
|
||||
ShowWarningMessage('Cambiar la contraseña', 'La contraseña no se confirmó correctamente' + #10#13 +
|
||||
'Asegúrese de que la contraseña y su confirmación sean iguales.');
|
||||
EditNova.SetFocus;
|
||||
Exit;
|
||||
end
|
||||
else begin
|
||||
if not Controller.ValidarPassword(EditNova.Text, Usuario.LOGIN, Usuario.USERNAME, AMensaje) then
|
||||
begin
|
||||
ShowWarningMessage('Cambiar la contraseña', AMensaje);
|
||||
EditNova.SetFocus;
|
||||
Exit;
|
||||
end
|
||||
else begin
|
||||
if CambioObligatorio = True then
|
||||
CambioObligatorio := False;
|
||||
ModalResult := mrOK;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorCambiarPassword.actCancelarExecute(Sender: TObject);
|
||||
begin
|
||||
Close;
|
||||
end;
|
||||
|
||||
procedure TfEditorCambiarPassword.FormCloseQuery(Sender: TObject;
|
||||
var CanClose: Boolean);
|
||||
begin
|
||||
if CambioObligatorio then
|
||||
begin
|
||||
CanClose := False;
|
||||
ShowWarningMessage('Cambiar la contraseña', 'El cambio de la contraseña es obligatorio');
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,140 +0,0 @@
|
||||
unit uEditorLogin;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, StdCtrls, ExtCtrls, ComCtrls, cxGraphics, cxControls,
|
||||
cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxDropDownEdit,
|
||||
cxImageComboBox, ImgList, PngImageList, pngimage, ToolWin, JvExControls,
|
||||
JvComponent, JvGradient, JvGIF, JvComponentBase, JvFormPlacement,
|
||||
JvAppStorage, JvAppRegistryStorage, uIEditorLogin, uUsuariosController;
|
||||
|
||||
type
|
||||
TfEditorLogin = class(TForm, IEditorLogin)
|
||||
Panel1: TPanel;
|
||||
Label3: TLabel;
|
||||
Label4: TLabel;
|
||||
edtPassword: TEdit;
|
||||
bAceptar: TButton;
|
||||
bCancelar: TButton;
|
||||
Label1: TLabel;
|
||||
edtUser: TEdit;
|
||||
JvGradient1: TJvGradient;
|
||||
Button1: TButton;
|
||||
Timer1: TTimer;
|
||||
JvAppRegistryStorage1: TJvAppRegistryStorage;
|
||||
JvFormStorage1: TJvFormStorage;
|
||||
Image1: TImage;
|
||||
procedure bAceptarClick(Sender: TObject);
|
||||
procedure ToolButton4Click(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure Timer1Timer(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormDestroy(Sender: TObject);
|
||||
procedure edtUserKeyPress(Sender: TObject; var Key: Char);
|
||||
private
|
||||
FController : IUsuariosController;
|
||||
FIntentos : Integer;
|
||||
function GetController : IUsuariosController;
|
||||
procedure SetController (const AValue : IUsuariosController);
|
||||
published
|
||||
property Controller : IUsuariosController read GetController write SetController;
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
uAdminPV_App, uDMBase;
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
{
|
||||
********************************* TfEditorLogin **********************************
|
||||
}
|
||||
procedure TfEditorLogin.bAceptarClick(Sender: TObject);
|
||||
var
|
||||
bOk : Boolean;
|
||||
begin
|
||||
Timer1.Enabled := False;
|
||||
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
bOK := FController.ComprobarUsuario(edtUser.Text, edtPassword.Text);
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
|
||||
if bOk then
|
||||
ModalResult := mrOK
|
||||
else begin
|
||||
Application.MessageBox('Usuario no válido. Compruebe si ha escrito correctamente'
|
||||
+ #13 + #10 + 'el usuario y la contraseña.', 'Atención', MB_OK);
|
||||
Inc(FIntentos);
|
||||
if (Controller.MaxIntentosLogin > 0) and (FIntentos = Controller.MaxIntentosLogin) then
|
||||
ModalResult := mrCancel;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorLogin.ToolButton4Click(Sender: TObject);
|
||||
var
|
||||
ATimer : Boolean;
|
||||
begin
|
||||
ATimer := False;
|
||||
if Timer1.Enabled then
|
||||
begin
|
||||
ATimer := True;
|
||||
Timer1.Enabled := False;
|
||||
end;
|
||||
|
||||
dmBase.ConfigurarConexion;
|
||||
|
||||
if ATimer then
|
||||
Timer1.Enabled := True;
|
||||
end;
|
||||
|
||||
procedure TfEditorLogin.edtUserKeyPress(Sender: TObject; var Key: Char);
|
||||
begin
|
||||
// Desactivar el timer cuando el usuario empieza a escribir
|
||||
Timer1.Enabled := False;
|
||||
end;
|
||||
|
||||
procedure TfEditorLogin.FormCreate(Sender: TObject);
|
||||
begin
|
||||
FIntentos := 0;
|
||||
end;
|
||||
|
||||
procedure TfEditorLogin.FormDestroy(Sender: TObject);
|
||||
begin
|
||||
FController := NIL;
|
||||
end;
|
||||
|
||||
procedure TfEditorLogin.FormShow(Sender: TObject);
|
||||
begin
|
||||
Self.Caption := AppAdminPV.AppFullName;
|
||||
JvFormStorage1.RestoreFormPlacement;
|
||||
|
||||
// Hacer login automática si hay usuario/password y no hay más de una base
|
||||
// de datos como opción para conectarse.
|
||||
if ((Length(edtUser.Text) > 0) and (Length(edtPassword.Text) > 0)) then
|
||||
Timer1.Enabled := True;
|
||||
end;
|
||||
|
||||
function TfEditorLogin.GetController: IUsuariosController;
|
||||
begin
|
||||
Result := FController;
|
||||
end;
|
||||
|
||||
procedure TfEditorLogin.SetController(const AValue: IUsuariosController);
|
||||
begin
|
||||
FController := AValue;
|
||||
end;
|
||||
|
||||
procedure TfEditorLogin.Timer1Timer(Sender: TObject);
|
||||
begin
|
||||
Timer1.Enabled := False;
|
||||
bAceptar.Click;
|
||||
end;
|
||||
|
||||
end.
|
||||
@ -1,49 +0,0 @@
|
||||
inherited fEditorPerfilUsuario: TfEditorPerfilUsuario
|
||||
Caption = 'fEditorPerfilUsuario'
|
||||
ExplicitWidth = 320
|
||||
ExplicitHeight = 492
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
inherited TBXDock: TTBXDock
|
||||
inherited tbxMain: TTBXToolbar
|
||||
ExplicitWidth = 273
|
||||
end
|
||||
end
|
||||
inherited StatusBar: TStatusBar
|
||||
Panels = <
|
||||
item
|
||||
Width = 200
|
||||
end>
|
||||
Visible = True
|
||||
end
|
||||
inherited EditorActionList: TActionList
|
||||
inherited actNuevo: TAction
|
||||
Visible = False
|
||||
end
|
||||
inherited actModificar: TAction
|
||||
Visible = False
|
||||
end
|
||||
inherited actPrevisualizar: TAction
|
||||
Visible = False
|
||||
end
|
||||
inherited actImprimir: TAction
|
||||
Visible = False
|
||||
end
|
||||
end
|
||||
inherited dsDataTable: TDADataSource
|
||||
OnDataChange = dsDataTableDataChange
|
||||
end
|
||||
object dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList
|
||||
Left = 248
|
||||
Top = 168
|
||||
object dxLayoutOfficeLookAndFeel1: TdxLayoutOfficeLookAndFeel
|
||||
GroupOptions.CaptionOptions.Font.Charset = DEFAULT_CHARSET
|
||||
GroupOptions.CaptionOptions.Font.Color = clWindowText
|
||||
GroupOptions.CaptionOptions.Font.Height = -11
|
||||
GroupOptions.CaptionOptions.Font.Name = 'Tahoma'
|
||||
GroupOptions.CaptionOptions.Font.Style = [fsBold]
|
||||
GroupOptions.CaptionOptions.TextColor = clHighlight
|
||||
GroupOptions.CaptionOptions.UseDefaultFont = False
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -1,234 +0,0 @@
|
||||
unit uEditorPerfilUsuario;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Menus, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uEditorDBItem, JvAppStorage, JvAppRegistryStorage, DB, uDAInterfaces,
|
||||
uDADataTable, JvComponentBase, JvFormPlacement, ImgList, PngImageList,
|
||||
StdActns, ActnList, ComCtrls, JvExComCtrls, JvStatusBar, TBX, TB2Item,
|
||||
TB2Dock, TB2Toolbar, pngimage, ExtCtrls, JvExControls, JvNavigationPane,
|
||||
uIEditorPerfilUsuario, uUsuariosController, uCustomView, uViewBase,
|
||||
uViewPerfilUsuario, uBizUsuarios, dxLayoutLookAndFeels;
|
||||
|
||||
type
|
||||
TfEditorPerfilUsuario = class(TfEditorDBItem, IEditorPerfilUsuario)
|
||||
dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList;
|
||||
dxLayoutOfficeLookAndFeel1: TdxLayoutOfficeLookAndFeel;
|
||||
procedure actGuardarExecute(Sender: TObject);
|
||||
procedure actGuardarCerrarExecute(Sender: TObject);
|
||||
procedure dsDataTableDataChange(Sender: TObject; Field: TField);
|
||||
procedure FormShow(Sender: TObject);
|
||||
private
|
||||
FController : IUsuariosController;
|
||||
FPerfilUsuario : IBizPerfilUsuario;
|
||||
FViewPerfilUsuario : IViewPerfilUsuario;
|
||||
protected
|
||||
function GetController : IUsuariosController;
|
||||
procedure SetController (const Value : IUsuariosController);
|
||||
|
||||
function GetPerfilUsuario: IBizPerfilUsuario;
|
||||
procedure SetPerfilUsuario(const Value: IBizPerfilUsuario);
|
||||
|
||||
procedure GuardarInterno;
|
||||
procedure EliminarInterno;
|
||||
procedure ActualizarEstadoEditor;
|
||||
|
||||
//Si queremos crear otra vista para el editor heredado solo tendriamos que
|
||||
//sobreescribir este metodo
|
||||
procedure AsignarVista; virtual;
|
||||
procedure PonerTitulos(const ATitulo: string = '');
|
||||
|
||||
function GetViewPerfilUsuario: IViewPerfilUsuario;
|
||||
procedure SetViewPerfilUsuario(const Value: IViewPerfilUsuario);
|
||||
property ViewPerfilUsuario: IViewPerfilUsuario read GetViewPerfilUsuario write SetViewPerfilUsuario;
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
property Controller : IUsuariosController read GetController write SetController;
|
||||
property PerfilUsuario: IBizPerfilUsuario read GetPerfilUsuario write SetPerfilUsuario;
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
{ TfEditorUsuario }
|
||||
|
||||
uses
|
||||
cxControls, uDialogUtils;
|
||||
|
||||
var
|
||||
FIDNuevoGuardado : Integer = -1;
|
||||
|
||||
procedure TfEditorPerfilUsuario.actGuardarCerrarExecute(Sender: TObject);
|
||||
begin
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
if actGuardar.Execute then
|
||||
actCerrar.Execute;
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilUsuario.actGuardarExecute(Sender: TObject);
|
||||
begin
|
||||
if actGuardar.Enabled then
|
||||
begin
|
||||
GuardarInterno;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilUsuario.ActualizarEstadoEditor;
|
||||
begin
|
||||
PonerTitulos;
|
||||
if HayDatos then
|
||||
begin
|
||||
if (Self.Modified) and (dsDataTable.DataTable.State <> dsInsert) then
|
||||
StatusBar.Panels[0].Text := ' Se han producido cambios'
|
||||
else
|
||||
StatusBar.Panels[0].Text := '';
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilUsuario.AsignarVista;
|
||||
var
|
||||
AViewPerfilUsuario: TfrViewPerfilUsuario;
|
||||
begin
|
||||
AViewPerfilUsuario := TfrViewPerfilUsuario.Create(Self);
|
||||
with AViewPerfilUsuario do
|
||||
begin
|
||||
Parent := Self;
|
||||
Align := alClient;
|
||||
dxLayoutControlArticulo.LookAndFeel := dxLayoutOfficeLookAndFeel1;
|
||||
end;
|
||||
ViewPerfilUsuario := AViewPerfilUsuario;
|
||||
end;
|
||||
|
||||
constructor TfEditorPerfilUsuario.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited;
|
||||
AsignarVista;
|
||||
end;
|
||||
|
||||
destructor TfEditorPerfilUsuario.Destroy;
|
||||
begin
|
||||
// Utilizar mejor OnClose;
|
||||
inherited;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilUsuario.dsDataTableDataChange(Sender: TObject;
|
||||
Field: TField);
|
||||
begin
|
||||
inherited;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilUsuario.EliminarInterno;
|
||||
begin
|
||||
if (ShowConfirmMessage('Eliminar el perfil', '¿Desea eliminar este perfil?') = IDYES) then
|
||||
begin
|
||||
inherited;
|
||||
if not FController.EliminarPerfil(FPerfilUsuario) then
|
||||
actRefrescar.Execute;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilUsuario.FormShow(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
ActualizarEstadoEditor;
|
||||
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 TfEditorPerfilUsuario.GetController: IUsuariosController;
|
||||
begin
|
||||
Result := FController;
|
||||
end;
|
||||
|
||||
function TfEditorPerfilUsuario.GetPerfilUsuario: IBizPerfilUsuario;
|
||||
begin
|
||||
Result := FPerfilUsuario;
|
||||
end;
|
||||
|
||||
function TfEditorPerfilUsuario.GetViewPerfilUsuario: IViewPerfilUsuario;
|
||||
begin
|
||||
Result := FViewPerfilUsuario;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilUsuario.GuardarInterno;
|
||||
begin
|
||||
inherited;
|
||||
if FController.GuardarPerfil(FPerfilUsuario) then
|
||||
begin
|
||||
FIDNuevoGuardado := FPerfilUsuario.ID;
|
||||
FPerfilUsuario.DataTable.CancelUpdates;
|
||||
Modified := False;
|
||||
actRefrescar.Execute;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilUsuario.PonerTitulos(const ATitulo: string);
|
||||
var
|
||||
FTitulo : String;
|
||||
begin
|
||||
if Assigned(FPerfilUsuario) then
|
||||
begin
|
||||
if FPerfilUsuario.EsNuevo then
|
||||
FTitulo := 'Nuevo perfil'
|
||||
else
|
||||
FTitulo := 'Perfil';
|
||||
|
||||
if Length(FPerfilUsuario.USERNAME) > 0 then
|
||||
FTitulo := FTitulo + ' - ' + FPerfilUsuario.USERNAME;
|
||||
end;
|
||||
|
||||
if ReadOnly then
|
||||
begin
|
||||
JvNavPanelHeader.Caption := FTitulo + ' (NO MODIFICABLE)';
|
||||
Caption := FTitulo + ' (NO MODIFICABLE)';
|
||||
end
|
||||
else
|
||||
begin
|
||||
JvNavPanelHeader.Caption := FTitulo;
|
||||
Caption := FTitulo;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilUsuario.SetController(const Value: IUsuariosController);
|
||||
begin
|
||||
FController := Value;
|
||||
if Assigned(FViewPerfilUsuario) and Assigned(FController) then
|
||||
FViewPerfilUsuario.Controller := FController;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilUsuario.SetPerfilUsuario(
|
||||
const Value: IBizPerfilUsuario);
|
||||
begin
|
||||
FPerfilUsuario := Value;
|
||||
dsDataTable.DataTable := FPerfilUsuario.DataTable;
|
||||
|
||||
if Assigned(FViewPerfilUsuario) and Assigned(FPerfilUsuario) then
|
||||
FViewPerfilUsuario.PerfilUsuario := FPerfilUsuario;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilUsuario.SetViewPerfilUsuario(const Value: IViewPerfilUsuario);
|
||||
begin
|
||||
FViewPerfilUsuario := Value;
|
||||
|
||||
if Assigned(FViewPerfilUsuario) and Assigned(FPerfilUsuario) then
|
||||
FViewPerfilUsuario.PerfilUsuario := FPerfilUsuario;
|
||||
end;
|
||||
|
||||
end.
|
||||
@ -1,59 +0,0 @@
|
||||
inherited fEditorPerfilesUsuario: TfEditorPerfilesUsuario
|
||||
Caption = 'fEditorPerfilesUsuario'
|
||||
ClientHeight = 493
|
||||
ClientWidth = 840
|
||||
ExplicitWidth = 848
|
||||
ExplicitHeight = 520
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
inherited JvNavPanelHeader: TJvNavPanelHeader
|
||||
Width = 840
|
||||
ExplicitWidth = 840
|
||||
inherited Image1: TImage
|
||||
Left = 813
|
||||
ExplicitLeft = 813
|
||||
end
|
||||
end
|
||||
inherited TBXDock: TTBXDock
|
||||
Width = 840
|
||||
ExplicitWidth = 840
|
||||
inherited tbxMain: TTBXToolbar
|
||||
ExplicitWidth = 213
|
||||
end
|
||||
inherited tbxMenu: TTBXToolbar
|
||||
ExplicitWidth = 840
|
||||
end
|
||||
inherited tbxFiltro: TTBXToolbar
|
||||
Left = 213
|
||||
DockPos = 208
|
||||
Visible = False
|
||||
ExplicitLeft = 213
|
||||
end
|
||||
end
|
||||
inherited StatusBar: TStatusBar
|
||||
Top = 474
|
||||
Width = 840
|
||||
ExplicitTop = 474
|
||||
ExplicitWidth = 840
|
||||
end
|
||||
inherited EditorActionList: TActionList
|
||||
inherited actNuevo: TAction
|
||||
OnExecute = actNuevoExecute
|
||||
end
|
||||
inherited actModificar: TAction
|
||||
OnExecute = actModificarExecute
|
||||
end
|
||||
inherited actPrevisualizar: TAction
|
||||
Visible = False
|
||||
end
|
||||
inherited actImprimir: TAction
|
||||
Visible = False
|
||||
end
|
||||
inherited actDuplicar: TAction
|
||||
Visible = False
|
||||
end
|
||||
end
|
||||
inherited dsDataTable: TDADataSource
|
||||
OnDataChange = dsDataTableDataChange
|
||||
end
|
||||
end
|
||||
@ -1,199 +0,0 @@
|
||||
unit uEditorPerfilesUsuario;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uEditorGridBase, Menus, JvAppStorage, JvAppRegistryStorage, DB,
|
||||
uDAInterfaces, uDADataTable, JvComponentBase, JvFormPlacement, ImgList,
|
||||
PngImageList, StdActns, ActnList, ComCtrls, JvExComCtrls, JvStatusBar, TBX,
|
||||
TB2ExtItems, TBXExtItems, TB2Item, TB2Dock, TB2Toolbar, pngimage, ExtCtrls,
|
||||
JvExControls, JvNavigationPane, uIEditorPerfilesUsuario,
|
||||
uUsuariosController, uBizUsuarios, uViewPerfilesUsuario;
|
||||
|
||||
type
|
||||
TfEditorPerfilesUsuario = class(TfEditorGridBase, IEditorPerfilesUsuario)
|
||||
procedure actNuevoExecute(Sender: TObject);
|
||||
procedure actModificarExecute(Sender: TObject);
|
||||
procedure actEliminarExecute(Sender: TObject);
|
||||
procedure dsDataTableDataChange(Sender: TObject; Field: TField);
|
||||
procedure FormShow(Sender: TObject);
|
||||
private
|
||||
FPerfiles : IBizPerfilUsuario;
|
||||
FController : IUsuariosController;
|
||||
protected
|
||||
function GetController : IUsuariosController;
|
||||
procedure SetController (const Value : IUsuariosController);
|
||||
|
||||
function GetPerfilesUsuario: IBizPerfilUsuario;
|
||||
procedure SetPerfilesUsuario(const Value: IBizPerfilUsuario);
|
||||
|
||||
procedure NuevoInterno;
|
||||
procedure EliminarInterno;
|
||||
procedure ModificarInterno;
|
||||
procedure ActualizarEstadoEditor;
|
||||
//Si queremos crear otra vista para el editor heredado solo tendriamos que
|
||||
//sobreescribir este metodo
|
||||
procedure AsignarVista; virtual;
|
||||
public
|
||||
procedure PonerTitulos(const ATitulo: string = '');
|
||||
property PerfilesUsuario: IBizPerfilUsuario read GetPerfilesUsuario write SetPerfilesUsuario;
|
||||
property Controller : IUsuariosController read GetController write SetController;
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
uses
|
||||
uDialogUtils;
|
||||
|
||||
{ TfEditorUsuarios }
|
||||
|
||||
procedure TfEditorPerfilesUsuario.actEliminarExecute(Sender: TObject);
|
||||
begin
|
||||
if actEliminar.Enabled then
|
||||
begin
|
||||
EliminarInterno;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilesUsuario.actModificarExecute(Sender: TObject);
|
||||
begin
|
||||
if actModificar.Enabled then
|
||||
begin
|
||||
ModificarInterno;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilesUsuario.actNuevoExecute(Sender: TObject);
|
||||
begin
|
||||
if actNuevo.Enabled then
|
||||
begin
|
||||
NuevoInterno;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilesUsuario.ActualizarEstadoEditor;
|
||||
begin
|
||||
PonerTitulos;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilesUsuario.AsignarVista;
|
||||
begin
|
||||
ViewGrid := CreateView(TfrViewPerfilesUsuario) as IViewPerfilesUsuario;
|
||||
end;
|
||||
|
||||
constructor TfEditorPerfilesUsuario.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited;
|
||||
AsignarVista;
|
||||
end;
|
||||
|
||||
destructor TfEditorPerfilesUsuario.Destroy;
|
||||
begin
|
||||
FPerfiles := NIL;
|
||||
FController := NIl;
|
||||
|
||||
inherited;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilesUsuario.dsDataTableDataChange(Sender: TObject;
|
||||
Field: TField);
|
||||
begin
|
||||
inherited;
|
||||
ActualizarEstadoEditor
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilesUsuario.EliminarInterno;
|
||||
begin
|
||||
if (ShowConfirmMessage('Eliminar un perfil', Format('¿Desea eliminar el perfil %s?', [FPerfiles.USERNAME])) = IDYES) then
|
||||
begin
|
||||
inherited;
|
||||
//Para que en el caso de no poderse realizar la operación se refresquen
|
||||
//los datos y no nos permita eliminar un registro a la segunda
|
||||
FController.EliminarPerfil(FPerfiles);
|
||||
actRefrescar.Execute;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilesUsuario.FormShow(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
ActualizarEstadoEditor;
|
||||
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 TfEditorPerfilesUsuario.GetController: IUsuariosController;
|
||||
begin
|
||||
Result := FController;
|
||||
end;
|
||||
|
||||
function TfEditorPerfilesUsuario.GetPerfilesUsuario: IBizPerfilUsuario;
|
||||
begin
|
||||
Result := FPerfiles;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilesUsuario.ModificarInterno;
|
||||
begin
|
||||
inherited;
|
||||
FController.VerPerfil(FPerfiles.ID);
|
||||
actRefrescar.Execute;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilesUsuario.NuevoInterno;
|
||||
var
|
||||
ANuevoPerfil : IBizPerfilUsuario;
|
||||
begin
|
||||
inherited;
|
||||
ANuevoPerfil := FController.NuevoPerfil;
|
||||
FController.VerPerfil(ANuevoPerfil);
|
||||
actRefrescar.Execute;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilesUsuario.PonerTitulos(const ATitulo: string);
|
||||
var
|
||||
FTitulo : String;
|
||||
begin
|
||||
FTitulo := 'Lista de perfiles de usuario';
|
||||
|
||||
if ReadOnly then
|
||||
begin
|
||||
JvNavPanelHeader.Caption := FTitulo + ' (NO MODIFICABLE)';
|
||||
Caption := FTitulo + ' (NO MODIFICABLE)';
|
||||
end
|
||||
else
|
||||
begin
|
||||
JvNavPanelHeader.Caption := FTitulo;
|
||||
Caption := FTitulo;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilesUsuario.SetController(const Value: IUsuariosController);
|
||||
begin
|
||||
FController := Value;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilesUsuario.SetPerfilesUsuario(
|
||||
const Value: IBizPerfilUsuario);
|
||||
begin
|
||||
FPerfiles := Value;
|
||||
dsDataTable.DataTable := FPerfiles.DataTable;
|
||||
if Assigned(ViewGrid) then
|
||||
(ViewGrid as IViewPerfilesUsuario).PerfilesUsuario := FPerfiles;
|
||||
end;
|
||||
|
||||
end.
|
||||
@ -1,425 +0,0 @@
|
||||
object fEditorPermisosUsuario: TfEditorPermisosUsuario
|
||||
Left = 255
|
||||
Top = 154
|
||||
BorderStyle = bsDialog
|
||||
Caption = 'Administraci'#243'n de permisos'
|
||||
ClientHeight = 519
|
||||
ClientWidth = 448
|
||||
Color = clBtnFace
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -11
|
||||
Font.Name = 'MS Sans Serif'
|
||||
Font.Style = []
|
||||
OldCreateOrder = False
|
||||
Position = poMainFormCenter
|
||||
OnDestroy = FormDestroy
|
||||
OnShow = FormShow
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
object Panel3: TPanel
|
||||
Left = 351
|
||||
Top = 0
|
||||
Width = 97
|
||||
Height = 484
|
||||
Align = alRight
|
||||
BevelOuter = bvNone
|
||||
TabOrder = 0
|
||||
ExplicitLeft = 445
|
||||
ExplicitTop = 35
|
||||
end
|
||||
object PC: TPageControl
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 351
|
||||
Height = 484
|
||||
ActivePage = PageControls
|
||||
Align = alClient
|
||||
Style = tsFlatButtons
|
||||
TabOrder = 1
|
||||
Visible = False
|
||||
ExplicitTop = 35
|
||||
ExplicitWidth = 445
|
||||
object PageMenu: TTabSheet
|
||||
Caption = 'Itens do Menu'
|
||||
ExplicitWidth = 437
|
||||
object TreeMenu: TTreeView
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 343
|
||||
Height = 453
|
||||
Align = alClient
|
||||
Ctl3D = True
|
||||
Images = ImageList1
|
||||
Indent = 19
|
||||
ParentCtl3D = False
|
||||
ReadOnly = True
|
||||
RightClickSelect = True
|
||||
TabOrder = 0
|
||||
OnClick = TreeMenuClick
|
||||
OnCollapsing = TreeMenuCollapsing
|
||||
OnExpanding = TreeMenuCollapsing
|
||||
OnKeyPress = TreeMenuKeyPress
|
||||
OnMouseUp = TreeMenuMouseUp
|
||||
ExplicitWidth = 437
|
||||
end
|
||||
end
|
||||
object PageAction: TTabSheet
|
||||
Caption = 'A'#231#245'es'
|
||||
ImageIndex = 1
|
||||
ExplicitWidth = 437
|
||||
object TreeAction: TTreeView
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 343
|
||||
Height = 453
|
||||
Align = alClient
|
||||
Ctl3D = True
|
||||
Images = ImageList1
|
||||
Indent = 19
|
||||
ParentCtl3D = False
|
||||
ReadOnly = True
|
||||
RightClickSelect = True
|
||||
TabOrder = 0
|
||||
OnClick = TreeActionClick
|
||||
OnCollapsing = TreeMenuCollapsing
|
||||
OnExpanding = TreeMenuCollapsing
|
||||
OnKeyPress = TreeMenuKeyPress
|
||||
ExplicitWidth = 437
|
||||
end
|
||||
end
|
||||
object PageControls: TTabSheet
|
||||
Caption = 'Controles'
|
||||
ImageIndex = 2
|
||||
ExplicitWidth = 437
|
||||
end
|
||||
end
|
||||
object Panel2: TPanel
|
||||
Left = 0
|
||||
Top = 484
|
||||
Width = 448
|
||||
Height = 35
|
||||
Align = alBottom
|
||||
BevelOuter = bvNone
|
||||
TabOrder = 2
|
||||
ExplicitWidth = 510
|
||||
DesignSize = (
|
||||
448
|
||||
35)
|
||||
object bAceptar: TButton
|
||||
Left = 272
|
||||
Top = 0
|
||||
Width = 75
|
||||
Height = 25
|
||||
Anchors = [akRight, akBottom]
|
||||
Caption = '&Aceptar'
|
||||
Default = True
|
||||
ModalResult = 1
|
||||
TabOrder = 0
|
||||
OnClick = bAceptarClick
|
||||
end
|
||||
object bCancelar: TButton
|
||||
Left = 363
|
||||
Top = 0
|
||||
Width = 75
|
||||
Height = 25
|
||||
Anchors = [akRight, akBottom]
|
||||
Cancel = True
|
||||
Caption = '&Cancelar'
|
||||
Default = True
|
||||
ModalResult = 2
|
||||
TabOrder = 1
|
||||
OnClick = bCancelarClick
|
||||
end
|
||||
end
|
||||
object GroupBox1: TGroupBox
|
||||
Left = 8
|
||||
Top = 8
|
||||
Width = 431
|
||||
Height = 458
|
||||
Caption = 'Lista de m'#243'dulos'
|
||||
TabOrder = 3
|
||||
object BtLibera: TBitBtn
|
||||
Left = 14
|
||||
Top = 374
|
||||
Width = 112
|
||||
Height = 25
|
||||
Caption = '&Permitir todo'
|
||||
TabOrder = 0
|
||||
OnClick = BtLiberaClick
|
||||
Glyph.Data = {
|
||||
36060000424D3606000000000000360000002800000020000000100000000100
|
||||
18000000000000060000120B0000120B00000000000000000000C8D0D4C8D0D4
|
||||
C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0
|
||||
D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8
|
||||
D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D49FBFD0
|
||||
0060900060900060900060900060900060900060900060900060900060900060
|
||||
909FBFD0C8D0D4C8D0D4C8D0D4C2C8CB8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D
|
||||
8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8DC2C8CBC8D0D4C8D0D4C8D0D40090C8
|
||||
98D8F80090C80090C80090C80090C80090C80090C80090C80090C80090C80090
|
||||
C8006090C8D0D4C8D0D4C8D0D4B5B5B5E7E7E7B6B6B6B5B5B5B5B5B5B5B5B5B5
|
||||
B5B5B5B5B5B6B6B6B5B5B5B5B5B5B5B5B58D8D8DC8D0D4C8D0D4C8D0D40090C8
|
||||
D7EFFD7ACEF774CCF66EC9F55494A840404045879B4EBBF146B7EF42B5EF0090
|
||||
C8006090C8D0D4C8D0D4C8D0D4B5B5B5F5F5F5E1E1E1E0E0E0DDDDDDB1B1B166
|
||||
6666A7A7A7D5D5D5D3D3D3D2D2D2B5B5B58D8D8DC8D0D4C8D0D4C8D0D40090C8
|
||||
D7EFFD83D2F87DD0F777CDF671CAF540404063C5F45AC1F352BDF14AB9F00090
|
||||
C8006090C8D0D4C8D0D4C8D0D4B5B5B5F5F5F5E3E3E3E2E2E2E0E0E0DFDFDF66
|
||||
6666DBDBDBD8D8D8D7D7D7D4D4D4B6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8
|
||||
D7EFFD89D5F983D2F87DD0F740404040404040404063C5F45AC1F352BDF10090
|
||||
C8006090C8D0D4C8D0D4C8D0D4B5B5B5F6F6F6E5E5E5E3E3E3E2E2E267676766
|
||||
6666666666DCDCDCD9D9D9D6D6D6B6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8
|
||||
D7EFFD8FD8FA89D5F983D2F862AABE40404062AABE6BC8F563C5F45AC1F30090
|
||||
C8006090C8D0D4C8D0D4C8D0D4B5B5B5F6F6F6E7E7E7E5E5E5E3E3E3C2C2C266
|
||||
6666C2C2C2DDDDDDDCDCDCD9D9D9B6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8
|
||||
D7EFFD95DBFB8FD8FA89D5F983D2F87DD0F777CDF671CAF56BC8F563C5F40090
|
||||
C8006090C8D0D4C8D0D4C8D0D4B6B6B6F5F5F5E9E9E9E7E7E7E5E5E5E3E3E3E2
|
||||
E2E2E0E0E0DFDFDFDDDDDDDCDCDCB5B5B58D8D8DC8D0D4C8D0D4C8D0D40090C8
|
||||
98D8F8D7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFD98D8
|
||||
F8006090C8D0D4C8D0D4C8D0D4B5B5B5E7E7E7F6F6F6F6F6F6F6F6F6F6F6F6F6
|
||||
F6F6F6F6F6F6F6F6F6F6F6F5F5F5E7E7E78D8D8DC8D0D4C8D0D4C8D0D49FBFD0
|
||||
028DC70090C80090C80090C80090C80090C80090C80090C80090C80090C80090
|
||||
C89FBFD0C8D0D4C8D0D4C8D0D4C2C8CBB4B4B4B6B6B6B6B6B6B6B6B6B5B5B5B5
|
||||
B5B5B5B5B5B6B6B6B6B6B6B5B5B5B5B5B5C2C8CBC8D0D4C8D0D4C8D0D4C8D0D4
|
||||
C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D40090C860C8F8006090C8D0
|
||||
D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8
|
||||
D0D4C8D0D4B6B6B6DDDDDD8D8D8DC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
|
||||
C8D0D40090C8006090006090C8D0D4C8D0D4C8D0D40090C860C8F8006090C8D0
|
||||
D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4B6B6B68D8D8D8D8D8DC8D0D4C8
|
||||
D0D4C8D0D4B6B6B6DDDDDD8D8D8DC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
|
||||
C8D0D40090C8D7EFFD0060909FBFD0C8D0D49FBFD00090C860C8F8006090C8D0
|
||||
D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4B5B5B5F6F6F68D8D8DC2C8CBC8
|
||||
D0D4C2C8CBB5B5B5DDDDDD8D8D8DC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
|
||||
C8D0D47FB1CDD7EFFD98D8F800609000609000609098D8F860C8F8367EA3C8D0
|
||||
D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4BDC2C4F5F5F5E7E7E78D8D8D8E
|
||||
8E8E8D8D8DE7E7E7DDDDDD9EA0A1C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
|
||||
C8D0D49FBFD07FB1CDD7EFFDD7EFFDD7EFFDD7EFFD4DB9EC367EA39FBFD0C8D0
|
||||
D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C2C8CBBDC2C4F6F6F6F6F6F6F6
|
||||
F6F6F6F6F6D3D3D39EA0A1C2C8CBC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
|
||||
C8D0D4C8D0D49FBFD07FB1CD0090C80090C80090C87FB1CD9FBFD0C8D0D4C8D0
|
||||
D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C2C8CBBDC2C4B5B5B5B5
|
||||
B5B5B5B5B5BDC2C4C2C8CBC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4}
|
||||
NumGlyphs = 2
|
||||
end
|
||||
object BtBloqueia: TBitBtn
|
||||
Left = 14
|
||||
Top = 413
|
||||
Width = 112
|
||||
Height = 25
|
||||
Caption = '&Bloquear todo'
|
||||
TabOrder = 1
|
||||
OnClick = BtBloqueiaClick
|
||||
Glyph.Data = {
|
||||
36060000424D3606000000000000360000002800000020000000100000000100
|
||||
18000000000000060000120B0000120B00000000000000000000C8D0D4C8D0D4
|
||||
C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0
|
||||
D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8
|
||||
D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D49FBFD0
|
||||
0060900060900060900060900060900060900060900060900060900060900060
|
||||
909FBFD0C8D0D4C8D0D4C8D0D4C2C8CB8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D
|
||||
8D8D8D8D8D8E8E8E8D8D8D8D8D8D8D8D8DC2C8CBC8D0D4C8D0D4C8D0D40090C8
|
||||
98D8F80090C80090C80090C80090C80090C80090C80090C80090C80090C80090
|
||||
C8006090C8D0D4C8D0D4C8D0D4B6B6B6E7E7E7B5B5B5B6B6B6B5B5B5B5B5B5B5
|
||||
B5B5B6B6B6B5B5B5B5B5B5B6B6B6B6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8
|
||||
D7EFFD7ACEF774CCF66EC9F55494A840404045879B4EBBF146B7EF42B5EF0090
|
||||
C8006090C8D0D4C8D0D4C8D0D4B5B5B5F5F5F5E1E1E1E0E0E0DDDDDDB1B1B166
|
||||
6666A7A7A7D5D5D5D3D3D3D2D2D2B6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8
|
||||
D7EFFD83D2F87DD0F777CDF671CAF540404063C5F45AC1F352BDF14AB9F00090
|
||||
C8006090C8D0D4C8D0D4C8D0D4B6B6B6F6F6F6E3E3E3E2E2E2E0E0E0DFDFDF66
|
||||
6666DCDCDCD9D9D9D7D7D7D4D4D4B6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8
|
||||
D7EFFD89D5F983D2F87DD0F740404040404040404063C5F45AC1F352BDF10090
|
||||
C8006090C8D0D4C8D0D4C8D0D4B5B5B5F5F5F5E5E5E5E3E3E3E2E2E266666666
|
||||
6666666666DCDCDCD8D8D8D6D6D6B5B5B58D8D8DC8D0D4C8D0D4C8D0D40090C8
|
||||
D7EFFD8FD8FA89D5F983D2F862AABE40404062AABE6BC8F563C5F45AC1F30090
|
||||
C8006090C8D0D4C8D0D4C8D0D4B6B6B6F6F6F6E7E7E7E6E6E6E3E3E3C2C2C267
|
||||
6767C2C2C2DDDDDDDBDBDBD9D9D9B6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8
|
||||
D7EFFD95DBFB8FD8FA89D5F983D2F87DD0F777CDF671CAF56BC8F563C5F40090
|
||||
C8006090C8D0D4C8D0D4C8D0D4B5B5B5F6F6F6E9E9E9E7E7E7E6E6E6E3E3E3E2
|
||||
E2E2E0E0E0DFDFDFDDDDDDDBDBDBB6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8
|
||||
98D8F8D7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFD98D8
|
||||
F8006090C8D0D4C8D0D4C8D0D4B5B5B5E7E7E7F6F6F6F6F6F6F6F6F6F6F6F6F6
|
||||
F6F6F6F6F6F6F6F6F6F6F6F6F6F6E7E7E78D8D8DC8D0D4C8D0D4C8D0D49FBFD0
|
||||
0090C80090C80090C80090C80090C80090C80090C80090C80090C80090C80090
|
||||
C89FBFD0C8D0D4C8D0D4C8D0D4C2C8CBB5B5B5B6B6B6B6B6B6B5B5B5B6B6B6B5
|
||||
B5B5B6B6B6B6B6B6B5B5B5B5B5B5B6B6B6C2C8CBC8D0D4C8D0D4C8D0D4C8D0D4
|
||||
C8D0D40090C8D7EFFD006090C8D0D4C8D0D4C8D0D40090C860C8F8006090C8D0
|
||||
D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4B5B5B5F5F5F58D8D8DC8D0D4C8
|
||||
D0D4C8D0D4B5B5B5DDDDDD8D8D8DC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
|
||||
C8D0D40090C8D7EFFD0060909FBFD0C8D0D49FBFD00090C860C8F8006090C8D0
|
||||
D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4B5B5B5F6F6F68D8D8DC2C8CBC8
|
||||
D0D4C2C8CBB5B5B5DEDEDE8D8D8DC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
|
||||
C8D0D47FB1CDD7EFFD98D8F800609000609000609060C8F860C8F8367EA3C8D0
|
||||
D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4BDC2C4F6F6F6E7E7E78D8D8D8D
|
||||
8D8D8D8D8DDEDEDEDDDDDD9EA0A1C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
|
||||
C8D0D49FBFD07FB1CDD7EFFDD7EFFDD7EFFDD7EFFD60C8F8367EA39FBFD0C8D0
|
||||
D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C2C8CBBDC2C4F6F6F6F6F6F6F6
|
||||
F6F6F6F6F6DDDDDD9EA0A1C2C8CBC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
|
||||
C8D0D4C8D0D49FBFD07FB1CD0090C80090C80090C87FB1CD9FBFD0C8D0D4C8D0
|
||||
D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C2C8CBBDC2C4B5B5B5B5
|
||||
B5B5B6B6B6BDC2C4C2C8CBC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4
|
||||
C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0
|
||||
D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8
|
||||
D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4}
|
||||
NumGlyphs = 2
|
||||
end
|
||||
object TreeControls: TTreeView
|
||||
Left = 14
|
||||
Top = 19
|
||||
Width = 403
|
||||
Height = 342
|
||||
Ctl3D = True
|
||||
Images = ImageList1
|
||||
Indent = 19
|
||||
ParentCtl3D = False
|
||||
ReadOnly = True
|
||||
RightClickSelect = True
|
||||
TabOrder = 2
|
||||
OnClick = TreeControlsClick
|
||||
OnCollapsing = TreeMenuCollapsing
|
||||
OnExpanding = TreeMenuCollapsing
|
||||
OnKeyPress = TreeMenuKeyPress
|
||||
end
|
||||
end
|
||||
object ImageList1: TImageList
|
||||
Left = 360
|
||||
Top = 8
|
||||
Bitmap = {
|
||||
494C010103000500040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
0000000000003600000028000000400000001000000001002000000000000010
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000084848400C6DEC600C6DE
|
||||
C600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DE
|
||||
C600C6DEC6000000000000000000000000000000000084848400C6DEC600C6DE
|
||||
C600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DE
|
||||
C600C6DEC6000000000000000000000000000000000084848400C6DEC600C6DE
|
||||
C600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DE
|
||||
C600C6DEC6000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000084848400848484000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000C6DEC6000000000000000000000000000000000084848400848484000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000C6DEC600000000000000000000000000000000008484840084848400C6C6
|
||||
C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
|
||||
C600C6DEC6000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000084848400848484000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000C6DEC6000000000000000000000000000000000084848400848484000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000C6DEC600000000000000000000000000000000008484840084848400C6C6
|
||||
C600C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6
|
||||
C600C6DEC6000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000084848400848484000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000C6DEC6000000000000000000000000000000000084848400848484000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000C6DEC600000000000000000000000000000000008484840084848400C6C6
|
||||
C600C6C6C600848484008484840084848400C6C6C600C6C6C600C6C6C600C6C6
|
||||
C600C6DEC6000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000084848400848484000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000C6DEC6000000000000000000000000000000000084848400848484000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000C6DEC600000000000000000000000000000000008484840084848400C6C6
|
||||
C6008484840084848400848484008484840084848400C6C6C600C6C6C600C6C6
|
||||
C600C6DEC6000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000084848400848484000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000C6DEC6000000000000000000000000000000000084848400848484000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000C6DEC600000000000000000000000000000000008484840084848400C6C6
|
||||
C6008484840084848400C6C6C600848484008484840084848400C6C6C600C6C6
|
||||
C600C6DEC6000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000084848400848484000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000C6DEC6000000000000000000000000000000000084848400848484000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000C6DEC600000000000000000000000000000000008484840084848400C6C6
|
||||
C60084848400C6C6C600C6C6C600C6C6C600848484008484840084848400C6C6
|
||||
C600C6DEC6000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000084848400848484000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000C6DEC6000000000000000000000000000000000084848400848484000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000C6DEC600000000000000000000000000000000008484840084848400C6C6
|
||||
C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484840084848400C6C6
|
||||
C600C6DEC6000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000084848400848484000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000C6DEC6000000000000000000000000000000000084848400848484000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000C6DEC600000000000000000000000000000000008484840084848400C6C6
|
||||
C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084848400C6C6
|
||||
C600C6DEC6000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000084848400848484000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000C6DEC6000000000000000000000000000000000084848400848484000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000C6DEC600000000000000000000000000000000008484840084848400C6C6
|
||||
C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
|
||||
C600C6DEC6000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000084848400848484008484
|
||||
8400848484008484840084848400848484008484840084848400848484008484
|
||||
8400C6DEC6000000000000000000000000000000000084848400848484008484
|
||||
8400848484008484840084848400848484008484840084848400848484008484
|
||||
8400C6DEC6000000000000000000000000000000000084848400848484008484
|
||||
8400848484008484840084848400848484008484840084848400848484008484
|
||||
8400C6DEC6000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000084848400848484008484
|
||||
8400848484008484840084848400848484008484840084848400848484008484
|
||||
8400848484000000000000000000000000000000000084848400848484008484
|
||||
8400848484008484840084848400848484008484840084848400848484008484
|
||||
8400848484000000000000000000000000000000000084848400848484008484
|
||||
8400848484008484840084848400848484008484840084848400848484008484
|
||||
8400848484000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
000000000000000000000000000000000000424D3E000000000000003E000000
|
||||
2800000040000000100000000100010000000000800000000000000000000000
|
||||
000000000000000000000000FFFFFF00FFFFFFFFFFFF0000FFFFFFFFFFFF0000
|
||||
FFFFFFFFFFFF000080078007800700009FF79FF7800700009FF79DF780070000
|
||||
9FF798F7800700009FF79077800700009FF79237800700009FF7971780070000
|
||||
9FF79F97800700009FF79FD7800700009FF79FF7800700008007800780070000
|
||||
8007800780070000FFFFFFFFFFFF000000000000000000000000000000000000
|
||||
000000000000}
|
||||
end
|
||||
end
|
||||
@ -1,700 +0,0 @@
|
||||
unit uEditorPermisosUsuario;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
UCBase, ActnMan, ActnMenus, Variants, Buttons, Classes, ComCtrls, Controls,
|
||||
DB, ExtCtrls, Forms, Graphics, ImgList, Menus, StdCtrls, uBizUsuarios;
|
||||
|
||||
type
|
||||
PTreeMenu = ^TTreeMenu;
|
||||
|
||||
TTreeMenu = record
|
||||
Selecionado: Integer;
|
||||
MenuName: String;
|
||||
end;
|
||||
|
||||
PTreeAction = ^TTreeAction;
|
||||
|
||||
TTreeAction = record
|
||||
Grupo: Boolean;
|
||||
Selecionado: Integer;
|
||||
MenuName: String;
|
||||
end;
|
||||
|
||||
PTreeControl = ^TTreeControl;
|
||||
|
||||
TTreeControl = record
|
||||
Grupo: Boolean;
|
||||
Selecionado: Integer;
|
||||
CompName: String;
|
||||
FormName: String;
|
||||
end;
|
||||
|
||||
TfEditorPermisosUsuario = class(TForm)
|
||||
Panel3: TPanel;
|
||||
BtLibera: TBitBtn;
|
||||
BtBloqueia: TBitBtn;
|
||||
ImageList1: TImageList;
|
||||
PC: TPageControl;
|
||||
PageMenu: TTabSheet;
|
||||
PageAction: TTabSheet;
|
||||
TreeMenu: TTreeView;
|
||||
TreeAction: TTreeView;
|
||||
PageControls: TTabSheet;
|
||||
TreeControls: TTreeView;
|
||||
Panel2: TPanel;
|
||||
bAceptar: TButton;
|
||||
bCancelar: TButton;
|
||||
GroupBox1: TGroupBox;
|
||||
procedure BtGravaClick(Sender: TObject);
|
||||
procedure TreeMenuClick(Sender: TObject);
|
||||
procedure BtLiberaClick(Sender: TObject);
|
||||
procedure BtBloqueiaClick(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure TreeActionClick(Sender: TObject);
|
||||
procedure TreeControlsClick(Sender: TObject);
|
||||
procedure TreeMenuCollapsing(Sender: TObject; Node: TTreeNode; var AllowCollapse: Boolean);
|
||||
procedure TreeMenuKeyPress(Sender: TObject; var Key: char);
|
||||
procedure TreeMenuMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||
procedure FormDestroy(Sender: TObject);
|
||||
procedure bCancelarClick(Sender: TObject);
|
||||
procedure bAceptarClick(Sender: TObject);
|
||||
private
|
||||
FMenu: TMenu;
|
||||
FActions: TObject;
|
||||
FChangingTree: Boolean;
|
||||
FTempMPointer: PTreeMenu;
|
||||
FTempAPointer: PTreeAction;
|
||||
FTempCPointer: PTreeControl;
|
||||
FExtraRights: TUCExtraRights;
|
||||
FTempLista: TStringList;
|
||||
FListaAction: array of PTreeAction;
|
||||
FListaMenu: array of PTreeMenu;
|
||||
FListaControl: array of PTreeControl;
|
||||
{$IFDEF UCACTMANAGER}
|
||||
FActionMainMenuBar: TActionMainMenuBar;
|
||||
procedure TrataItem(IT: TActionClientItem; node: TTreeNode); overload;
|
||||
{$ENDIF}
|
||||
procedure TrataItem(IT: TMenuItem; node: TTreeNode); overload;
|
||||
procedure TreeMenuItem(marca: Boolean);
|
||||
procedure Atualiza(Selec: Boolean);
|
||||
procedure TreeActionItem(marca: Boolean);
|
||||
procedure UnCheckChild(node: TTreeNode);
|
||||
procedure TreeControlItem(marca: Boolean);
|
||||
procedure CarregaTreeviews;
|
||||
public
|
||||
FUser : IBizUsuario;
|
||||
FUserControl: TUserControl;
|
||||
DSPermiss: TDataset;
|
||||
DSPermissEX: TDataset;
|
||||
DSPerfil: TDataset;
|
||||
DSPerfilEX: TDataset;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
ActnList, Messages, SysUtils, Windows;
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
procedure TfEditorPermisosUsuario.BtGravaClick(Sender: TObject);
|
||||
var
|
||||
Contador: Integer;
|
||||
begin
|
||||
with FUserControl.TableRights do
|
||||
begin
|
||||
FUserControl.DataConnector.UCExecSQL('Delete from ' + TableName + ' Where ' + FieldUserID + ' = ' + IntToStr(FUser.ID) + ' and ' + FieldModule + ' = ' + QuotedStr(FUserControl.ApplicationID));
|
||||
FUserControl.DataConnector.UCExecSQL('Delete from ' + TableName + 'EX Where ' + FieldUserID + ' = ' + IntToStr(FUser.ID) + ' and ' + FieldModule + ' = ' + QuotedStr(FUserControl.ApplicationID));
|
||||
end;
|
||||
|
||||
for Contador := 0 to TreeMenu.Items.Count - 1 do
|
||||
if PTreeMenu(TreeMenu.Items[Contador].Data).Selecionado = 1 then
|
||||
FUserControl.AddRight(FUser.ID, PTreeMenu(TreeMenu.Items[Contador].Data).MenuName);
|
||||
|
||||
for Contador := 0 to TreeAction.Items.Count - 1 do
|
||||
if PTreeAction(TreeAction.Items[Contador].Data).Selecionado = 1 then
|
||||
FUserControl.AddRight(FUser.ID, PTreeAction(TreeAction.Items[Contador].Data).MenuName);
|
||||
|
||||
//Extra Rights
|
||||
for Contador := 0 to Pred(TreeControls.Items.Count) do
|
||||
if PTreeControl(TreeControls.Items[Contador].Data).Selecionado = 1 then
|
||||
FUserControl.AddRightEX(FUser.ID, FUserControl.ApplicationID, PTreeControl(TreeControls.Items[Contador].Data).FormName, PTreeControl(TreeControls.Items[Contador].Data).CompName);
|
||||
|
||||
Close;
|
||||
end;
|
||||
|
||||
procedure TfEditorPermisosUsuario.TrataItem(IT: TMenuItem; node: TTreeNode);
|
||||
var
|
||||
contador: Integer;
|
||||
TempNode: TTreeNode;
|
||||
begin
|
||||
for contador := 0 to IT.Count - 1 do
|
||||
if IT.Items[Contador].Caption <> '-' then
|
||||
if IT.Items[Contador].Count > 0 then
|
||||
begin
|
||||
New(FTempMPointer);
|
||||
SetLength(FListaMenu, Length(FListaMenu) + 1); //Adicionado por Luiz 18/01/06
|
||||
FListaMenu[High(FListaMenu)] := FTempMPointer; //Adicionado por Luiz 18/01/06
|
||||
FTempMPointer.Selecionado := 0;
|
||||
FTempMPointer.MenuName := IT.Items[Contador].Name;
|
||||
TempNode := TreeMenu.Items.AddChildObject(node, StringReplace(IT.Items[Contador].Caption, '&', '', [rfReplaceAll]), FTempMPointer);
|
||||
TrataItem(IT.Items[Contador], TempNode);
|
||||
end
|
||||
else
|
||||
begin
|
||||
New(FTempMPointer);
|
||||
SetLength(FListaMenu, Length(FListaMenu) + 1); //Adicionado por Luiz 18/01/06
|
||||
FListaMenu[High(FListaMenu)] := FTempMPointer; //Adicionado por Luiz 18/01/06
|
||||
FTempMPointer.Selecionado := 0;
|
||||
FTempMPointer.MenuName := IT.Items[Contador].Name;
|
||||
TreeMenu.Items.AddChildObject(node, StringReplace(IT.Items[Contador].Caption, '&', '', [rfReplaceAll]), FTempMPointer);
|
||||
end;
|
||||
end;
|
||||
|
||||
{$IFDEF UCACTMANAGER}
|
||||
procedure TUserPermis.TrataItem(IT: TActionClientItem; node: TTreeNode);
|
||||
var
|
||||
contador: Integer;
|
||||
TempNode: TTreeNode;
|
||||
begin
|
||||
for contador := 0 to IT.Items.Count - 1 do
|
||||
if IT.Items[Contador].Caption <> '-' then
|
||||
if IT.Items[Contador].Items.Count > 0 then
|
||||
begin
|
||||
New(FTempMPointer);
|
||||
SetLength(FListaMenu, Length(FListaMenu) + 1); //Adicionado por Luiz 18/01/06
|
||||
FListaMenu[High(FListaMenu)] := FTempMPointer; //Adicionado por Luiz 18/01/06
|
||||
FTempMPointer.Selecionado := 0;
|
||||
FTempMPointer.MenuName := #1 + 'G' + IT.Items[Contador].Caption;
|
||||
TempNode := TreeMenu.Items.AddChildObject(node, StringReplace(IT.Items[Contador].Caption, '&', '', [rfReplaceAll]), FTempMPointer);
|
||||
TrataItem(IT.Items[Contador], TempNode);
|
||||
end
|
||||
else
|
||||
begin
|
||||
New(FTempMPointer);
|
||||
SetLength(FListaMenu, Length(FListaMenu) + 1); //Adicionado por Luiz 18/01/06
|
||||
FListaMenu[High(FListaMenu)] := FTempMPointer; //Adicionado por Luiz 18/01/06
|
||||
FTempMPointer.Selecionado := 0;
|
||||
FTempMPointer.MenuName := IT.Items[Contador].Action.Name;
|
||||
TreeMenu.Items.AddChildObject(node, StringReplace(IT.Items[Contador].Caption, '&', '', [rfReplaceAll]), FTempMPointer);
|
||||
end;
|
||||
end;
|
||||
|
||||
{$ENDIF}
|
||||
|
||||
procedure TfEditorPermisosUsuario.CarregaTreeviews;
|
||||
var
|
||||
Contador: Integer;
|
||||
TempNode: TTreeNode;
|
||||
Temp: String;
|
||||
Temp2: String;
|
||||
Desc: String;
|
||||
begin
|
||||
FChangingTree := False;
|
||||
PC.ActivePage := PageControls;
|
||||
|
||||
// Self.FMenu := FUserControl.ControlRight.MainMenu;
|
||||
//Self.FActionMainMenuBar := FUserControl.ControlRight.ActionMainMenuBar;
|
||||
{ if Assigned(FUserControl.ControlRight.ActionList) then
|
||||
Self.FActions := FUserControl.ControlRight.ActionList
|
||||
else
|
||||
Self.FActions := FUserControl.ControlRight.ActionManager;}
|
||||
|
||||
Self.FExtraRights := FUserControl.ExtraRights;
|
||||
|
||||
{ if Assigned(FMenu) then
|
||||
begin
|
||||
TreeMenu.Items.Clear;
|
||||
for Contador := 0 to FMenu.Items.Count - 1 do
|
||||
if FMenu.Items[Contador].Count > 0 then
|
||||
begin
|
||||
New(FTempMPointer);
|
||||
SetLength(FListaMenu, Length(FListaMenu) + 1); //Adicionado por Luiz 18/01/06
|
||||
FListaMenu[High(FListaMenu)] := FTempMPointer; //Adicionado por Luiz 18/01/06
|
||||
FTempMPointer.Selecionado := 0;
|
||||
FTempMPointer.MenuName := FMenu.Items[Contador].Name;
|
||||
TempNode := TreeMenu.Items.AddObject(nil, StringReplace(FMenu.Items[Contador].Caption, '&', '', [rfReplaceAll]), FTempMPointer);
|
||||
TrataItem(FMenu.Items[Contador], TempNode);
|
||||
end
|
||||
else
|
||||
if FMenu.Items[Contador].Caption <> '-' then
|
||||
begin
|
||||
New(FTempMPointer);
|
||||
SetLength(FListaMenu, Length(FListaMenu) + 1); //Adicionado por Luiz 18/01/06
|
||||
FListaMenu[High(FListaMenu)] := FTempMPointer; //Adicionado por Luiz 18/01/06
|
||||
FTempMPointer.Selecionado := 0;
|
||||
FTempMPointer.MenuName := FMenu.Items[Contador].Name;
|
||||
TreeMenu.Items.AddObject(nil, StringReplace(FMenu.Items[Contador].Caption, '&', '', [rfReplaceAll]), FTempMPointer);
|
||||
end;
|
||||
TreeMenu.FullExpand;
|
||||
TreeMenu.Perform(WM_VSCROLL, SB_TOP, 0);
|
||||
end;
|
||||
|
||||
TempNode := nil;
|
||||
if Assigned(FActions) then
|
||||
begin
|
||||
TreeAction.Items.Clear;
|
||||
if Assigned(FTempLista) then
|
||||
FreeAndNil(FTempLista);
|
||||
FTempLista := TStringList.Create;
|
||||
for Contador := 0 to TActionList(FActions).ActionCount - 1 do
|
||||
FTempLista.Append(TActionList(FActions).Actions[contador].Category + #1 + TActionList(FActions).Actions[contador].Name + #2 + TAction(TActionList(FActions).Actions[contador]).Caption);
|
||||
FTempLista.Sort;
|
||||
Temp := #1;
|
||||
for Contador := 0 to FTempLista.Count - 1 do
|
||||
begin
|
||||
if Temp <> Copy(FTempLista[Contador], 1, Pos(#1, FTempLista[Contador]) - 1) then
|
||||
begin
|
||||
New(FTempAPointer);
|
||||
SetLength(FListaAction, Length(FListaAction) + 1); //Adicionado por Luiz 18/01/06
|
||||
FListaAction[High(FListaAction)] := FTempAPointer; //Adicionado por Luiz 18/01/06
|
||||
FTempAPointer.Grupo := True;
|
||||
FTempAPointer.Selecionado := 0;
|
||||
FTempAPointer.MenuName := 'Grupo';
|
||||
TempNode := TreeAction.Items.AddObject(nil, StringReplace(Copy(FTempLista[Contador], 1, Pos(#1, FTempLista[Contador]) - 1), '&', '', [rfReplaceAll]), FTempAPointer);
|
||||
TempNode.ImageIndex := 2;
|
||||
TempNode.SelectedIndex := 2;
|
||||
Temp := Copy(FTempLista[Contador], 1, Pos(#1, FTempLista[Contador]) - 1);
|
||||
end;
|
||||
Temp2 := FTempLista[Contador];
|
||||
Delete(Temp2, 1, pos(#1, Temp2));
|
||||
New(FTempAPointer);
|
||||
SetLength(FListaAction, Length(FListaAction) + 1); //Adicionado por Luiz 18/01/06
|
||||
FListaAction[High(FListaAction)] := FTempAPointer; //Adicionado por Luiz 18/01/06
|
||||
FTempAPointer.Grupo := False;
|
||||
FTempAPointer.Selecionado := 0;
|
||||
FTempAPointer.MenuName := Copy(Temp2, 1, Pos(#2, Temp2) - 1);
|
||||
Delete(Temp2, 1, pos(#2, Temp2));
|
||||
TreeAction.Items.AddChildObject(TempNode, StringReplace(Temp2, '&', '', [rfReplaceAll]), FTempAPointer);
|
||||
end;
|
||||
TreeAction.FullExpand;
|
||||
TreeAction.Perform(WM_VSCROLL, SB_TOP, 0);
|
||||
end;
|
||||
}
|
||||
//ExtraRights
|
||||
TempNode := nil;
|
||||
if Self.FExtraRights.Count > 0 then
|
||||
begin
|
||||
TreeControls.Items.Clear;
|
||||
if Assigned(FTempLista) then
|
||||
FreeAndNil(FTempLista);
|
||||
FTempLista := TStringList.Create;
|
||||
for Contador := 0 to Pred(FExtraRights.Count) do
|
||||
//FTempLista.Append(FExtraRights[Contador].GroupName + #1 + FExtraRights[Contador].Caption + #2 + FExtraRights[Contador].FormName + #3 + FExtraRights[Contador].CompName);
|
||||
FTempLista.Append(FExtraRights[Contador].GroupName + #1 + FExtraRights[Contador].Caption + #2 + FExtraRights[Contador].Caption + #3 + FExtraRights[Contador].Caption);
|
||||
FTempLista.Sort;
|
||||
Temp := #1;
|
||||
for Contador := 0 to Pred(FTempLista.Count) do
|
||||
begin
|
||||
if Temp <> Copy(FTempLista[Contador], 1, Pos(#1, FTempLista[Contador]) - 1) then
|
||||
begin
|
||||
New(FTempCPointer);
|
||||
SetLength(FListaControl, Length(FListaControl) + 1); //Adicionado por Luiz 18/01/06
|
||||
FListaControl[High(FListaControl)] := FTempCPointer; //Adicionado por Luiz 18/01/06
|
||||
FTempCPointer.Grupo := True;
|
||||
FTempCPointer.Selecionado := 0;
|
||||
FTempCPointer.FormName := 'Grupo';
|
||||
FTempCPointer.CompName := 'Grupo';
|
||||
TempNode := TreeControls.Items.AddObject(nil, Copy(FTempLista[Contador], 1, Pos(#1, FTempLista[Contador]) - 1), FTempCPointer);
|
||||
TempNode.ImageIndex := 2;
|
||||
TempNode.SelectedIndex := 2;
|
||||
Temp := Copy(FTempLista[Contador], 1, Pos(#1, FTempLista[Contador]) - 1);
|
||||
end;
|
||||
Temp2 := FTempLista[Contador];
|
||||
Delete(Temp2, 1, pos(#1, Temp2));
|
||||
New(FTempCPointer);
|
||||
SetLength(FListaControl, Length(FListaControl) + 1); //Adicionado por Luiz 18/01/06
|
||||
FListaControl[High(FListaControl)] := FTempCPointer; //Adicionado por Luiz 18/01/06
|
||||
FTempCPointer.Grupo := False;
|
||||
FTempCPointer.Selecionado := 0;
|
||||
Desc := Copy(Temp2, 1, Pos(#2, Temp2) - 1); // descricao do objeto
|
||||
Delete(Temp2, 1, pos(#2, Temp2));
|
||||
|
||||
FTempCPointer.FormName := Copy(Temp2, 1, Pos(#3, Temp2) - 1);
|
||||
Delete(Temp2, 1, pos(#3, Temp2));
|
||||
FTempCPointer.CompName := Temp2;
|
||||
TreeControls.Items.AddChildObject(TempNode, Desc, FTempCPointer);
|
||||
FTempCPointer := nil;
|
||||
end;
|
||||
TreeControls.FullExpand;
|
||||
TreeControls.Perform(WM_VSCROLL, SB_TOP, 0);
|
||||
end;
|
||||
|
||||
{ PageMenu.TabVisible := Assigned(FMenu);
|
||||
|
||||
PageAction.TabVisible := Assigned(FActions);}
|
||||
|
||||
PageControls.TabVisible := (Assigned(FExtraRights) and (FExtraRights.Count > 0));
|
||||
end;
|
||||
|
||||
procedure TfEditorPermisosUsuario.UnCheckChild(node: TTreeNode);
|
||||
var
|
||||
child: TTreeNode;
|
||||
begin
|
||||
PTreemenu(node.Data).Selecionado := 0;
|
||||
node.ImageIndex := 0;
|
||||
node.SelectedIndex := 0;
|
||||
child := node.GetFirstChild;
|
||||
repeat
|
||||
if child.HasChildren then
|
||||
UnCheckChild(child)
|
||||
else
|
||||
begin
|
||||
PTreemenu(child.Data).Selecionado := 0;
|
||||
child.ImageIndex := 0;
|
||||
child.SelectedIndex := 0;
|
||||
end;
|
||||
child := node.GetNextChild(child);
|
||||
until child = nil;
|
||||
end;
|
||||
|
||||
procedure TfEditorPermisosUsuario.TreeMenuItem(Marca: Boolean);
|
||||
var
|
||||
AbsIdx: Integer;
|
||||
begin
|
||||
if Marca then
|
||||
if PTreemenu(TreeMenu.Selected.Data).Selecionado < 2 then
|
||||
begin
|
||||
if PTreemenu(TreeMenu.Selected.Data).Selecionado = 0 then //marcar
|
||||
begin
|
||||
AbsIdx := TreeMenu.Selected.AbsoluteIndex;
|
||||
while AbsIdx > -1 do
|
||||
begin
|
||||
PTreemenu(TreeMenu.Items.Item[AbsIdx].Data).Selecionado := 1;
|
||||
TreeMenu.Items.Item[AbsIdx].ImageIndex := 1;
|
||||
TreeMenu.Items.Item[AbsIdx].SelectedIndex := 1;
|
||||
if TreeMenu.Items.Item[AbsIdx].Parent <> nil then
|
||||
begin
|
||||
AbsIdx := TreeMenu.Items.Item[AbsIdx].Parent.AbsoluteIndex;
|
||||
if PTreemenu(TreeMenu.Items.Item[AbsIdx].Data).Selecionado = 2 then
|
||||
AbsIdx := -1;
|
||||
end
|
||||
else
|
||||
AbsIdx := -1;
|
||||
end;
|
||||
end
|
||||
else
|
||||
if TreeMenu.Selected.HasChildren then
|
||||
UnCheckChild(TreeMenu.Selected)
|
||||
else
|
||||
begin
|
||||
PTreemenu(TreeMenu.Selected.Data).Selecionado := 0;
|
||||
TreeMenu.Selected.ImageIndex := 0;
|
||||
TreeMenu.Selected.SelectedIndex := 0;
|
||||
end; //desmarcar
|
||||
TreeMenu.Repaint;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorPermisosUsuario.TreeActionItem(marca: Boolean);
|
||||
begin
|
||||
if not Assigned(FActions) then
|
||||
Exit;
|
||||
if PTreeAction(TreeAction.Selected.Data).Grupo then
|
||||
Exit;
|
||||
if Marca then
|
||||
begin
|
||||
if PTreeAction(TreeAction.Selected.Data).Selecionado < 2 then
|
||||
if PTreeAction(TreeAction.Selected.Data).Selecionado = 0 then
|
||||
PTreeAction(TreeAction.Selected.Data).Selecionado := 1
|
||||
else
|
||||
PTreeAction(TreeAction.Selected.Data).Selecionado := 0;
|
||||
TreeAction.Selected.ImageIndex := PTreeAction(TreeAction.Selected.Data).Selecionado;
|
||||
TreeAction.Selected.SelectedIndex := PTreeAction(TreeAction.Selected.Data).Selecionado;
|
||||
end;
|
||||
TreeAction.Repaint;
|
||||
end;
|
||||
|
||||
procedure TfEditorPermisosUsuario.TreeControlItem(marca: Boolean);
|
||||
begin
|
||||
if PTreeControl(TreeControls.Selected.Data).Grupo then
|
||||
Exit;
|
||||
if Marca then
|
||||
begin
|
||||
if PTreeControl(TreeControls.Selected.Data).Selecionado < 2 then
|
||||
if PTreeControl(TreeControls.Selected.Data).Selecionado = 0 then
|
||||
PTreeControl(TreeControls.Selected.Data).Selecionado := 1
|
||||
else
|
||||
PTreeControl(TreeControls.Selected.Data).Selecionado := 0;
|
||||
TreeControls.Selected.ImageIndex := PTreeControl(TreeControls.Selected.Data).Selecionado;
|
||||
TreeControls.Selected.SelectedIndex := PTreeAction(TreeControls.Selected.Data).Selecionado;
|
||||
end;
|
||||
TreeControls.Repaint;
|
||||
end;
|
||||
|
||||
procedure TfEditorPermisosUsuario.TreeMenuClick(Sender: TObject);
|
||||
begin
|
||||
if not FChangingTree then
|
||||
TreeMenuItem(True);
|
||||
end;
|
||||
|
||||
procedure TfEditorPermisosUsuario.BtLiberaClick(Sender: TObject);
|
||||
begin
|
||||
Atualiza(True);
|
||||
end;
|
||||
|
||||
procedure TfEditorPermisosUsuario.bCancelarClick(Sender: TObject);
|
||||
begin
|
||||
Close;
|
||||
end;
|
||||
|
||||
procedure TfEditorPermisosUsuario.Atualiza(Selec: Boolean);
|
||||
var
|
||||
Contador: Integer;
|
||||
Temp: Integer;
|
||||
begin
|
||||
if Selec then
|
||||
Temp := 1
|
||||
else
|
||||
Temp := 0;
|
||||
|
||||
if PC.ActivePage = PageMenu then
|
||||
begin
|
||||
for Contador := 0 to TreeMenu.Items.Count - 1 do
|
||||
if PTreeMenu(TreeMenu.Items[Contador].Data).Selecionado < 2 then
|
||||
begin
|
||||
PTreeMenu(TreeMenu.Items[Contador].Data).Selecionado := Temp;
|
||||
TreeMenu.Items[Contador].ImageIndex := Temp;
|
||||
TreeMenu.Items[Contador].SelectedIndex := Temp;
|
||||
end;
|
||||
TreeMenu.Repaint;
|
||||
end
|
||||
else
|
||||
if PC.ActivePage = PageAction then
|
||||
begin
|
||||
for Contador := 0 to TreeAction.Items.Count - 1 do
|
||||
if not PTreeAction(TreeAction.Items[Contador].Data).Grupo then
|
||||
if PTreeAction(TreeAction.Items[Contador].Data).Selecionado < 2 then
|
||||
begin
|
||||
PTreeAction(TreeAction.Items[Contador].Data).Selecionado := Temp;
|
||||
TreeAction.Items[Contador].ImageIndex := Temp;
|
||||
TreeAction.Items[Contador].SelectedIndex := Temp;
|
||||
end;
|
||||
TreeAction.Repaint;
|
||||
end
|
||||
else
|
||||
begin // tabContols
|
||||
for Contador := 0 to TreeControls.Items.Count - 1 do
|
||||
if not PTreeControl(TreeControls.Items[Contador].Data).Grupo then
|
||||
if PTreeControl(TreeControls.Items[Contador].Data).Selecionado < 2 then
|
||||
begin
|
||||
PTreeControl(TreeControls.Items[Contador].Data).Selecionado := Temp;
|
||||
TreeControls.Items[Contador].ImageIndex := Temp;
|
||||
TreeControls.Items[Contador].SelectedIndex := Temp;
|
||||
end;
|
||||
TreeControls.Repaint;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
procedure TfEditorPermisosUsuario.bAceptarClick(Sender: TObject);
|
||||
var
|
||||
Contador: Integer;
|
||||
begin
|
||||
with FUserControl.TableRights do
|
||||
begin
|
||||
FUserControl.DataConnector.UCExecSQL('Delete from ' + TableName + ' Where ' + FieldUserID + ' = ' + IntToStr(FUser.ID) + ' and ' + FieldModule + ' = ' + QuotedStr(FUserControl.ApplicationID));
|
||||
FUserControl.DataConnector.UCExecSQL('Delete from ' + TableName + 'EX Where ' + FieldUserID + ' = ' + IntToStr(FUser.ID) + ' and ' + FieldModule + ' = ' + QuotedStr(FUserControl.ApplicationID));
|
||||
end;
|
||||
|
||||
for Contador := 0 to TreeMenu.Items.Count - 1 do
|
||||
if PTreeMenu(TreeMenu.Items[Contador].Data).Selecionado = 1 then
|
||||
FUserControl.AddRight(FUser.ID, PTreeMenu(TreeMenu.Items[Contador].Data).MenuName);
|
||||
|
||||
for Contador := 0 to TreeAction.Items.Count - 1 do
|
||||
if PTreeAction(TreeAction.Items[Contador].Data).Selecionado = 1 then
|
||||
FUserControl.AddRight(FUser.ID, PTreeAction(TreeAction.Items[Contador].Data).MenuName);
|
||||
|
||||
//Extra Rights
|
||||
for Contador := 0 to Pred(TreeControls.Items.Count) do
|
||||
if PTreeControl(TreeControls.Items[Contador].Data).Selecionado = 1 then
|
||||
FUserControl.AddRightEX(FUser.ID, FUserControl.ApplicationID, PTreeControl(TreeControls.Items[Contador].Data).FormName, PTreeControl(TreeControls.Items[Contador].Data).CompName);
|
||||
|
||||
Close;
|
||||
end;
|
||||
|
||||
procedure TfEditorPermisosUsuario.BtBloqueiaClick(Sender: TObject);
|
||||
begin
|
||||
Atualiza(False);
|
||||
end;
|
||||
|
||||
procedure TfEditorPermisosUsuario.FormShow(Sender: TObject);
|
||||
var
|
||||
Contador: Integer;
|
||||
Selec: Integer;
|
||||
begin
|
||||
Caption := 'Permisos para ' + FUser.USERNAME;
|
||||
|
||||
// Adcionado por Luiz
|
||||
SetLength(FListaAction, 0);
|
||||
SetLength(FListaMenu, 0);
|
||||
SetLength(FListaControl, 0);
|
||||
|
||||
//carrega itens do menu, actions e controles
|
||||
CarregaTreeviews;
|
||||
|
||||
// Exibe Permissoes do Usuario
|
||||
for Contador := 0 to TreeAction.Items.Count - 1 do
|
||||
begin
|
||||
DSPermiss.First;
|
||||
if DSPermiss.Locate('ObjName', PTreeAction(TreeAction.Items[Contador].Data).MenuName, []) then
|
||||
Selec := 1
|
||||
else
|
||||
Selec := 0;
|
||||
|
||||
PTreeAction(TreeAction.Items[Contador].Data).Selecionado := Selec;
|
||||
if not PTreeAction(TreeAction.Items[Contador].Data).Grupo then
|
||||
begin
|
||||
TreeAction.Items[Contador].ImageIndex := Selec;
|
||||
TreeAction.Items[Contador].SelectedIndex := Selec;
|
||||
end;
|
||||
end;
|
||||
|
||||
for Contador := 0 to TreeMenu.Items.Count - 1 do
|
||||
begin
|
||||
DSPermiss.First;
|
||||
if DSPermiss.Locate('ObjName', PTreeMenu(TreeMenu.Items[Contador].Data).MenuName, []) then
|
||||
Selec := 1
|
||||
else
|
||||
Selec := 0;
|
||||
|
||||
PTreeMenu(TreeMenu.Items[Contador].Data).Selecionado := Selec;
|
||||
TreeMenu.Items[Contador].ImageIndex := Selec;
|
||||
TreeMenu.Items[Contador].SelectedIndex := Selec;
|
||||
end;
|
||||
|
||||
//Extra Rights
|
||||
for Contador := 0 to Pred(TreeControls.Items.Count) do
|
||||
begin
|
||||
DSPermissEX.First;
|
||||
if DSPermissEX.Locate('FormName;ObjName', VarArrayOf([PTreeControl(TreeControls.Items[Contador].Data).FormName, PTreeControl(TreeControls.Items[Contador].Data).CompName]), []) then
|
||||
Selec := 1
|
||||
else
|
||||
Selec := 0;
|
||||
|
||||
PTreeControl(TreeControls.Items[Contador].Data).Selecionado := Selec;
|
||||
if not PTreeControl(TreeControls.Items[Contador].Data).Grupo then
|
||||
begin
|
||||
TreeControls.Items[Contador].ImageIndex := Selec;
|
||||
TreeControls.Items[Contador].SelectedIndex := Selec;
|
||||
end;
|
||||
end;
|
||||
|
||||
// Exibe Permissoes do Perfil
|
||||
if DSPerfil.Active then
|
||||
begin
|
||||
for Contador := 0 to TreeAction.Items.Count - 1 do
|
||||
begin
|
||||
DSPerfil.First;
|
||||
if DSPerfil.Locate('ObjName', PTreeAction(TreeAction.Items[Contador].Data).MenuName, []) then
|
||||
begin
|
||||
Selec := 2;
|
||||
PTreeAction(TreeAction.Items[Contador].Data).Selecionado := Selec;
|
||||
if not PTreeAction(TreeAction.Items[Contador].Data).Grupo then
|
||||
begin
|
||||
TreeAction.Items[Contador].ImageIndex := Selec;
|
||||
TreeAction.Items[Contador].SelectedIndex := Selec;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
for Contador := 0 to TreeMenu.Items.Count - 1 do
|
||||
begin
|
||||
DSPerfil.First;
|
||||
if DSPerfil.Locate('ObjName', PTreeMenu(TreeMenu.Items[Contador].Data).MenuName, []) then
|
||||
begin
|
||||
Selec := 2;
|
||||
PTreeMenu(TreeMenu.Items[Contador].Data).Selecionado := Selec;
|
||||
TreeMenu.Items[Contador].ImageIndex := Selec;
|
||||
TreeMenu.Items[Contador].SelectedIndex := Selec;
|
||||
end;
|
||||
end;
|
||||
|
||||
//Extra Rights
|
||||
for Contador := 0 to Pred(TreeControls.Items.Count) do
|
||||
begin
|
||||
DSPerfilEX.First;
|
||||
if DSPerfilEX.Locate('FormName;ObjName', VarArrayOf([PTreeControl(TreeControls.Items[Contador].Data).FormName, PTreeControl(TreeControls.Items[Contador].Data).CompName]), []) then
|
||||
begin
|
||||
Selec := 2;
|
||||
PTreeControl(TreeControls.Items[Contador].Data).Selecionado := Selec;
|
||||
if not PTreeControl(TreeControls.Items[Contador].Data).Grupo then
|
||||
begin
|
||||
TreeControls.Items[Contador].ImageIndex := Selec;
|
||||
TreeControls.Items[Contador].SelectedIndex := Selec;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
TreeAction.Repaint;
|
||||
TreeMenu.Repaint;
|
||||
FChangingTree := False;
|
||||
end;
|
||||
|
||||
procedure TfEditorPermisosUsuario.TreeActionClick(Sender: TObject);
|
||||
begin
|
||||
if not FChangingTree then
|
||||
TreeActionItem(True);
|
||||
end;
|
||||
|
||||
procedure TfEditorPermisosUsuario.TreeControlsClick(Sender: TObject);
|
||||
begin
|
||||
if not FChangingTree then
|
||||
TreeControlItem(True);
|
||||
end;
|
||||
|
||||
procedure TfEditorPermisosUsuario.TreeMenuCollapsing(Sender: TObject; Node: TTreeNode; var AllowCollapse: Boolean);
|
||||
begin
|
||||
if (Self.Showing) and (TTreeView(Sender).Focused) then
|
||||
FChangingTree := True;
|
||||
end;
|
||||
|
||||
procedure TfEditorPermisosUsuario.TreeMenuKeyPress(Sender: TObject; var Key: char);
|
||||
begin
|
||||
if Key = ' ' then
|
||||
begin
|
||||
TTreeView(Sender).OnClick(Sender);
|
||||
Key := #0;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorPermisosUsuario.TreeMenuMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||
begin
|
||||
FChangingTree := False;
|
||||
end;
|
||||
|
||||
procedure TfEditorPermisosUsuario.FormDestroy(Sender: TObject);
|
||||
var
|
||||
Contador: Integer;
|
||||
begin
|
||||
// Adicionado por Luiz 18/01/06
|
||||
if Assigned(DSPermiss) then
|
||||
FreeAndNil(DSPermiss);
|
||||
|
||||
if Assigned(DSPermissEX) then
|
||||
FreeAndNil(DSPermissEX);
|
||||
|
||||
if Assigned(DSPerfil) then
|
||||
FreeAndNil(DSPerfil);
|
||||
|
||||
if Assigned(DSPerfilEX) then
|
||||
FreeAndNil(DSPerfilEX);
|
||||
|
||||
if Assigned(FTempLista) then
|
||||
FreeAndNil(FTempLista);
|
||||
|
||||
for Contador := 0 to High(FListaMenu) do
|
||||
Dispose(FListaMenu[Contador]);
|
||||
|
||||
for Contador := 0 to High(FListaAction) do
|
||||
Dispose(FListaAction[Contador]);
|
||||
|
||||
for Contador := 0 to High(FListaControl) do
|
||||
Dispose(FListaControl[Contador]);
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
@ -1,139 +0,0 @@
|
||||
inherited fEditorUsuario: TfEditorUsuario
|
||||
Caption = 'fEditorUsuario'
|
||||
ExplicitWidth = 320
|
||||
ExplicitHeight = 492
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
inherited TBXDock: TTBXDock
|
||||
inherited tbxMain: TTBXToolbar
|
||||
ExplicitWidth = 408
|
||||
object TBXItem33: TTBXItem [7]
|
||||
Action = actCambiarPassword
|
||||
end
|
||||
end
|
||||
inherited tbxMenu: TTBXToolbar
|
||||
object TBXSubmenuItem2: TTBXSubmenuItem [4]
|
||||
Caption = '&Herramientas'
|
||||
object TBXItem7: TTBXItem
|
||||
Action = actCambiarPassword
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
inherited StatusBar: TStatusBar
|
||||
Panels = <
|
||||
item
|
||||
Width = 200
|
||||
end>
|
||||
Visible = True
|
||||
end
|
||||
inline frViewUsuario1: TfrViewUsuario [3]
|
||||
Left = 0
|
||||
Top = 76
|
||||
Width = 656
|
||||
Height = 370
|
||||
Align = alClient
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -11
|
||||
Font.Name = 'Tahoma'
|
||||
Font.Style = []
|
||||
ParentFont = False
|
||||
TabOrder = 3
|
||||
ReadOnly = False
|
||||
ExplicitLeft = 8
|
||||
ExplicitTop = 8
|
||||
ExplicitWidth = 656
|
||||
ExplicitHeight = 370
|
||||
inherited dxLayoutControlArticulo: TdxLayoutControl
|
||||
Width = 656
|
||||
LookAndFeel = dxLayoutOfficeLookAndFeel1
|
||||
ExplicitWidth = 656
|
||||
inherited PngSpeedButton3: TPngSpeedButton
|
||||
Top = 84
|
||||
ExplicitTop = 84
|
||||
end
|
||||
inherited eNombre: TcxDBTextEdit
|
||||
Top = 30
|
||||
ExplicitTop = 30
|
||||
ExplicitWidth = 164
|
||||
Width = 164
|
||||
end
|
||||
inherited eUsuario: TcxDBTextEdit
|
||||
Top = 57
|
||||
ExplicitTop = 57
|
||||
ExplicitWidth = 108
|
||||
Width = 108
|
||||
end
|
||||
inherited eMail: TcxDBHyperLinkEdit
|
||||
Top = 84
|
||||
Properties.Prefix = 'mailto:'
|
||||
ExplicitTop = 84
|
||||
end
|
||||
inherited ePassword: TcxTextEdit
|
||||
Top = 163
|
||||
ExplicitTop = 163
|
||||
ExplicitWidth = 121
|
||||
Width = 121
|
||||
end
|
||||
inherited eConfirmarPassword: TcxTextEdit
|
||||
Top = 190
|
||||
ExplicitTop = 190
|
||||
ExplicitWidth = 372
|
||||
Width = 372
|
||||
end
|
||||
inherited cbPerfil: TcxComboBox
|
||||
Top = 112
|
||||
ExplicitTop = 112
|
||||
end
|
||||
end
|
||||
end
|
||||
inherited EditorActionList: TActionList [4]
|
||||
inherited actNuevo: TAction
|
||||
Visible = False
|
||||
end
|
||||
inherited actModificar: TAction
|
||||
Visible = False
|
||||
end
|
||||
inherited actConfPagina: TAction
|
||||
Visible = False
|
||||
end
|
||||
inherited actPrevisualizar: TAction
|
||||
Visible = False
|
||||
end
|
||||
inherited actImprimir: TAction
|
||||
Visible = False
|
||||
end
|
||||
object actCambiarPassword: TAction
|
||||
Category = 'Herramientas'
|
||||
Caption = 'Cambiar la contrase'#241'a...'
|
||||
OnExecute = actCambiarPasswordExecute
|
||||
OnUpdate = actCambiarPasswordUpdate
|
||||
end
|
||||
end
|
||||
inherited SmallImages: TPngImageList [5]
|
||||
end
|
||||
inherited LargeImages: TPngImageList [6]
|
||||
end
|
||||
inherited JvFormStorage: TJvFormStorage [7]
|
||||
end
|
||||
inherited JvAppRegistryStorage: TJvAppRegistryStorage [8]
|
||||
end
|
||||
inherited dsDataTable: TDADataSource
|
||||
OnDataChange = dsDataTableDataChange
|
||||
Top = 80
|
||||
end
|
||||
object dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList
|
||||
Left = 336
|
||||
Top = 160
|
||||
object dxLayoutOfficeLookAndFeel1: TdxLayoutOfficeLookAndFeel
|
||||
GroupOptions.CaptionOptions.Font.Charset = DEFAULT_CHARSET
|
||||
GroupOptions.CaptionOptions.Font.Color = clWindowText
|
||||
GroupOptions.CaptionOptions.Font.Height = -11
|
||||
GroupOptions.CaptionOptions.Font.Name = 'Tahoma'
|
||||
GroupOptions.CaptionOptions.Font.Style = [fsBold]
|
||||
GroupOptions.CaptionOptions.TextColor = clHighlight
|
||||
GroupOptions.CaptionOptions.UseDefaultFont = False
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -1,301 +0,0 @@
|
||||
unit uEditorUsuario;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Menus, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uEditorDBItem, JvAppStorage, JvAppRegistryStorage, DB, uDAInterfaces,
|
||||
uDADataTable, JvComponentBase, JvFormPlacement, ImgList, PngImageList,
|
||||
StdActns, ActnList, ComCtrls, JvExComCtrls, JvStatusBar, TBX, TB2Item,
|
||||
TB2Dock, TB2Toolbar, pngimage, ExtCtrls, JvExControls, JvNavigationPane,
|
||||
uIEditorUsuario, uUsuariosController, uCustomView, uViewBase, uViewUsuario,
|
||||
uBizUsuarios, dxLayoutLookAndFeels;
|
||||
|
||||
type
|
||||
TfEditorUsuario = class(TfEditorDBItem, IEditorUsuario)
|
||||
dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList;
|
||||
dxLayoutOfficeLookAndFeel1: TdxLayoutOfficeLookAndFeel;
|
||||
actCambiarPassword: TAction;
|
||||
TBXSubmenuItem2: TTBXSubmenuItem;
|
||||
TBXItem7: TTBXItem;
|
||||
TBXItem33: TTBXItem;
|
||||
frViewUsuario1: TfrViewUsuario;
|
||||
procedure actEliminarUpdate(Sender: TObject);
|
||||
procedure actCambiarPasswordExecute(Sender: TObject);
|
||||
procedure actCambiarPasswordUpdate(Sender: TObject);
|
||||
procedure actGuardarCerrarExecute(Sender: TObject);
|
||||
procedure actGuardarExecute(Sender: TObject);
|
||||
procedure dsDataTableDataChange(Sender: TObject; Field: TField);
|
||||
procedure actRefrescarExecute(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
private
|
||||
FController : IUsuariosController;
|
||||
FUsuario : IBizUsuario;
|
||||
FViewUsuario : IViewUsuario;
|
||||
protected
|
||||
function GetController : IUsuariosController;
|
||||
procedure SetController (const Value : IUsuariosController);
|
||||
|
||||
function GetUsuario: IBizUsuario;
|
||||
procedure SetUsuario(const Value: IBizUsuario);
|
||||
|
||||
procedure GuardarInterno;
|
||||
procedure EliminarInterno;
|
||||
procedure RefrescarInterno;
|
||||
|
||||
procedure ActualizarEstadoEditor;
|
||||
procedure PonerTitulos(const ATitulo: string = '');
|
||||
function GetViewUsuario: IViewUsuario;
|
||||
procedure SetViewUsuario(const Value: IViewUsuario);
|
||||
property ViewUsuario: IViewUsuario read GetViewUsuario write SetViewUsuario;
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
property Controller : IUsuariosController read GetController write SetController;
|
||||
property Usuario: IBizUsuario read GetUsuario write SetUsuario;
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
uses
|
||||
uDialogUtils, cxControls;
|
||||
|
||||
{ TfEditorUsuario }
|
||||
|
||||
var
|
||||
FIDNuevoGuardado : Integer = -1;
|
||||
|
||||
procedure TfEditorUsuario.actCambiarPasswordExecute(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
FController.CambiarPassword(FUsuario.ID);
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuario.actCambiarPasswordUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
(Sender as TAction).Enabled := not FUsuario.EsNuevo;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuario.actEliminarUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if (Sender as TAction).Enabled then
|
||||
(Sender as TAction).Enabled := (FUsuario.PRIVILEGED = 0);
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuario.actGuardarCerrarExecute(Sender: TObject);
|
||||
begin
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
if actGuardar.Execute then
|
||||
actCerrar.Execute;
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuario.actGuardarExecute(Sender: TObject);
|
||||
begin
|
||||
if actModificar.Enabled then
|
||||
begin
|
||||
GuardarInterno;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuario.actRefrescarExecute(Sender: TObject);
|
||||
begin
|
||||
if actRefrescar.Enabled then
|
||||
begin
|
||||
RefrescarInterno;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuario.ActualizarEstadoEditor;
|
||||
begin
|
||||
PonerTitulos;
|
||||
if HayDatos then
|
||||
begin
|
||||
if (Self.Modified) and (dsDataTable.DataTable.State <> dsInsert) then
|
||||
StatusBar.Panels[0].Text := ' Se han producido cambios'
|
||||
else
|
||||
StatusBar.Panels[0].Text := '';
|
||||
end;
|
||||
end;
|
||||
|
||||
constructor TfEditorUsuario.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited;
|
||||
//pgPaginas.ActivePageIndex := 0;
|
||||
FViewUsuario := frViewUsuario1;
|
||||
end;
|
||||
|
||||
destructor TfEditorUsuario.Destroy;
|
||||
begin
|
||||
// Utilizar mejor OnClose;
|
||||
inherited;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuario.dsDataTableDataChange(Sender: TObject; Field: TField);
|
||||
begin
|
||||
inherited;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuario.EliminarInterno;
|
||||
begin
|
||||
if (Application.MessageBox('¿Desea borrar este usuario?', 'Atención', MB_YESNO) = IDYES) then
|
||||
begin
|
||||
inherited;
|
||||
if not FController.EliminarUsuario(FUsuario.ID) then
|
||||
actRefrescar.Execute;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuario.FormShow(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
ActualizarEstadoEditor;
|
||||
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 TfEditorUsuario.GetController: IUsuariosController;
|
||||
begin
|
||||
Result := FController;
|
||||
end;
|
||||
|
||||
function TfEditorUsuario.GetUsuario: IBizUsuario;
|
||||
begin
|
||||
Result := FUsuario;
|
||||
end;
|
||||
|
||||
function TfEditorUsuario.GetViewUsuario: IViewUsuario;
|
||||
begin
|
||||
Result := FViewUsuario;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuario.GuardarInterno;
|
||||
var
|
||||
AMensaje : String;
|
||||
AContinuar : Boolean;
|
||||
begin
|
||||
inherited;
|
||||
if FUsuario.EsNuevo then
|
||||
begin
|
||||
if (frViewUsuario1.ePassword.Text <> frViewUsuario1.eConfirmarPassword.Text) then
|
||||
raise Exception.Create('La contraseña no se confirmó correctamente' + #10#13 +
|
||||
'Asegúrese de que la contraseña y su confirmación sean iguales.')
|
||||
else
|
||||
if not FController.ValidarPassword(frViewUsuario1.ePassword.Text,
|
||||
frViewUsuario1.eUsuario.Text, frViewUsuario1.eNombre.Text, AMensaje) then
|
||||
raise Exception.Create(AMensaje)
|
||||
else begin
|
||||
FUsuario.Edit;
|
||||
FUsuario.PASS := frViewUsuario1.ePassword.Text;
|
||||
FUsuario.Edit;
|
||||
AContinuar := True;
|
||||
end;
|
||||
end
|
||||
else
|
||||
AContinuar := True;
|
||||
|
||||
if AContinuar then
|
||||
begin
|
||||
if FController.GuardarUsuario(FUsuario) then
|
||||
begin
|
||||
FIDNuevoGuardado := FUsuario.ID;
|
||||
FUsuario.DataTable.CancelUpdates;
|
||||
Modified := False;
|
||||
actRefrescar.Execute;
|
||||
end;
|
||||
end
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuario.PonerTitulos(const ATitulo: string);
|
||||
var
|
||||
FTitulo : String;
|
||||
begin
|
||||
if Assigned(Usuario) then
|
||||
begin
|
||||
if Usuario.EsNuevo then
|
||||
FTitulo := 'Nuevo usuario'
|
||||
else
|
||||
FTitulo := 'Usuario';
|
||||
|
||||
if Length(Usuario.USERNAME) > 0 then
|
||||
FTitulo := FTitulo + ' - ' + Usuario.USERNAME;
|
||||
end;
|
||||
|
||||
if ReadOnly then
|
||||
begin
|
||||
JvNavPanelHeader.Caption := FTitulo + ' (NO MODIFICABLE)';
|
||||
Caption := FTitulo + ' (NO MODIFICABLE)';
|
||||
end
|
||||
else
|
||||
begin
|
||||
JvNavPanelHeader.Caption := FTitulo;
|
||||
Caption := FTitulo;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuario.RefrescarInterno;
|
||||
begin
|
||||
inherited;
|
||||
|
||||
if (FIDNuevoGuardado > 0) and (FUsuario.ID <> FIDNuevoGuardado) then
|
||||
begin
|
||||
if (dsDataTable.DataTable.IsEmpty) or (not ModifiedQuery) then
|
||||
Exit; // No continuar con el refresco
|
||||
|
||||
dsDataTable.DataTable.DisableControls; //<- No descomentar
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
dsDataTable.DataTable.First;
|
||||
if dsDataTable.DataTable.Locate('ID', FIDNuevoGuardado, []) then
|
||||
FIDNuevoGuardado := -1;
|
||||
finally
|
||||
dsDataTable.DataTable.EnableControls; //<- No descomentar
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuario.SetController(const Value: IUsuariosController);
|
||||
begin
|
||||
FController := Value;
|
||||
if Assigned(FViewUsuario) and Assigned(FController) then
|
||||
FViewUsuario.Controller := FController;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuario.SetUsuario(const Value: IBizUsuario);
|
||||
begin
|
||||
FUsuario := Value;
|
||||
dsDataTable.DataTable := FUsuario.DataTable;
|
||||
|
||||
if Assigned(FViewUsuario) and Assigned(Usuario) then
|
||||
FViewUsuario.Usuario := Usuario;
|
||||
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuario.SetViewUsuario(const Value: IViewUsuario);
|
||||
begin
|
||||
FViewUsuario := Value;
|
||||
|
||||
if Assigned(FViewUsuario) and Assigned(Usuario) then
|
||||
FViewUsuario.Usuario := Usuario;
|
||||
end;
|
||||
|
||||
end.
|
||||
@ -1,92 +0,0 @@
|
||||
inherited fEditorUsuarios: TfEditorUsuarios
|
||||
Caption = 'fEditorUsuarios'
|
||||
ClientHeight = 493
|
||||
ClientWidth = 840
|
||||
ExplicitWidth = 848
|
||||
ExplicitHeight = 520
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
inherited JvNavPanelHeader: TJvNavPanelHeader
|
||||
Width = 840
|
||||
ExplicitWidth = 840
|
||||
inherited Image1: TImage
|
||||
Left = 813
|
||||
ExplicitLeft = 813
|
||||
end
|
||||
end
|
||||
inherited TBXDock: TTBXDock
|
||||
Width = 840
|
||||
ExplicitWidth = 840
|
||||
inherited tbxMain: TTBXToolbar
|
||||
ExplicitWidth = 494
|
||||
object TBXItem39: TTBXItem [8]
|
||||
Action = actCambiarPassword
|
||||
end
|
||||
object TBXItem35: TTBXItem [9]
|
||||
Action = actControlAcceso
|
||||
end
|
||||
end
|
||||
inherited tbxMenu: TTBXToolbar
|
||||
ExplicitWidth = 840
|
||||
object TBXSubmenuItem2: TTBXSubmenuItem [4]
|
||||
Caption = '&Herramientas'
|
||||
object TBXItem38: TTBXItem
|
||||
Action = actCambiarPassword
|
||||
end
|
||||
end
|
||||
end
|
||||
inherited tbxFiltro: TTBXToolbar
|
||||
Left = 494
|
||||
DockPos = 346
|
||||
Visible = False
|
||||
ExplicitLeft = 494
|
||||
end
|
||||
end
|
||||
inherited StatusBar: TStatusBar
|
||||
Top = 474
|
||||
Width = 840
|
||||
ExplicitTop = 474
|
||||
ExplicitWidth = 840
|
||||
end
|
||||
inherited EditorActionList: TActionList
|
||||
inherited actNuevo: TAction
|
||||
Caption = 'Nuevo usuario'
|
||||
OnExecute = actNuevoExecute
|
||||
end
|
||||
inherited actModificar: TAction
|
||||
OnExecute = actModificarExecute
|
||||
end
|
||||
inherited actPrevisualizar: TAction
|
||||
Visible = False
|
||||
end
|
||||
inherited actImprimir: TAction
|
||||
Visible = False
|
||||
end
|
||||
inherited actDuplicar: TAction
|
||||
Visible = False
|
||||
end
|
||||
object actCambiarPassword: TAction
|
||||
Category = 'Herramientas'
|
||||
Caption = 'Cambiar la contrase'#241'a...'
|
||||
OnExecute = actCambiarPasswordExecute
|
||||
OnUpdate = actCambiarPasswordUpdate
|
||||
end
|
||||
object actControlAcceso: TAction
|
||||
Category = 'Herramientas'
|
||||
Caption = 'Control de acceso...'
|
||||
OnExecute = actControlAccesoExecute
|
||||
OnUpdate = actControlAccesoUpdate
|
||||
end
|
||||
end
|
||||
inherited GridPopupMenu: TPopupMenu
|
||||
object Cambiarlacontrasea1: TMenuItem [0]
|
||||
Action = actCambiarPassword
|
||||
end
|
||||
object Controldeacceso1: TMenuItem [1]
|
||||
Action = actControlAcceso
|
||||
end
|
||||
object N3: TMenuItem [2]
|
||||
Caption = '-'
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -1,259 +0,0 @@
|
||||
unit uEditorUsuarios;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uEditorGridBase, Menus, JvAppStorage, JvAppRegistryStorage, DB,
|
||||
uDAInterfaces, uDADataTable, JvComponentBase, JvFormPlacement, ImgList,
|
||||
PngImageList, StdActns, ActnList, ComCtrls, JvExComCtrls, JvStatusBar, TBX,
|
||||
TB2ExtItems, TBXExtItems, TB2Item, TB2Dock, TB2Toolbar, pngimage, ExtCtrls,
|
||||
JvExControls, JvNavigationPane, uCustomView, uViewBase, uViewGridBase,
|
||||
uViewGrid, uViewUsuarios, uIEditorUsuarios, uUsuariosController,
|
||||
uBizUsuarios;
|
||||
|
||||
type
|
||||
TfEditorUsuarios = class(TfEditorGridBase, IEditorUsuarios)
|
||||
actCambiarPassword: TAction;
|
||||
TBXSubmenuItem2: TTBXSubmenuItem;
|
||||
TBXItem38: TTBXItem;
|
||||
TBXItem39: TTBXItem;
|
||||
Cambiarlacontrasea1: TMenuItem;
|
||||
actControlAcceso: TAction;
|
||||
Controldeacceso1: TMenuItem;
|
||||
N3: TMenuItem;
|
||||
TBXItem35: TTBXItem;
|
||||
procedure actEliminarUpdate(Sender: TObject);
|
||||
procedure actCambiarPasswordUpdate(Sender: TObject);
|
||||
procedure actCambiarPasswordExecute(Sender: TObject);
|
||||
procedure actNuevoExecute(Sender: TObject);
|
||||
procedure actEliminarExecute(Sender: TObject);
|
||||
procedure actModificarExecute(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure actControlAccesoExecute(Sender: TObject);
|
||||
procedure actControlAccesoUpdate(Sender: TObject);
|
||||
private
|
||||
FUsuarios : IBizUsuario;
|
||||
FController : IUsuariosController;
|
||||
protected
|
||||
function GetController : IUsuariosController;
|
||||
procedure SetController (const Value : IUsuariosController);
|
||||
|
||||
function GetUsuarios: IBizUsuario;
|
||||
procedure SetUsuarios(const Value: IBizUsuario);
|
||||
|
||||
procedure ActualizarEstadoEditor;
|
||||
procedure NuevoInterno;
|
||||
procedure EliminarInterno;
|
||||
procedure ModificarInterno;
|
||||
procedure ImprimirInterno;
|
||||
procedure PrevisualizarInterno;
|
||||
procedure DuplicarInterno;
|
||||
|
||||
//Si queremos crear otra vista para el editor heredado solo tendriamos que
|
||||
//sobreescribir este metodo
|
||||
procedure AsignarVista; virtual;
|
||||
public
|
||||
procedure PonerTitulos(const ATitulo: string = '');
|
||||
property Usuarios: IBizUsuario read GetUsuarios write SetUsuarios;
|
||||
property Controller : IUsuariosController read GetController write SetController;
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
uses
|
||||
uDialogUtils;
|
||||
|
||||
{ TfEditorUsuarios }
|
||||
|
||||
procedure TfEditorUsuarios.actCambiarPasswordExecute(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
FController.CambiarPassword(FUsuarios.ID);
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.actCambiarPasswordUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if (Sender as TAction).Enabled then
|
||||
(Sender as TAction).Enabled := HayDatos;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.actControlAccesoExecute(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
FController.AdministrarAccesos(FUsuarios);
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.actControlAccesoUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if (Sender as TAction).Enabled then
|
||||
(Sender as TAction).Enabled := HayDatos;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.actEliminarExecute(Sender: TObject);
|
||||
begin
|
||||
if actEliminar.Enabled then
|
||||
begin
|
||||
EliminarInterno;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.actEliminarUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if (Sender as TAction).Enabled then
|
||||
(Sender as TAction).Enabled := (FUsuarios.PRIVILEGED = 0);
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.actModificarExecute(Sender: TObject);
|
||||
begin
|
||||
if actModificar.Enabled then
|
||||
begin
|
||||
ModificarInterno;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.actNuevoExecute(Sender: TObject);
|
||||
begin
|
||||
if actNuevo.Enabled then
|
||||
begin
|
||||
NuevoInterno;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.ActualizarEstadoEditor;
|
||||
begin
|
||||
PonerTitulos;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.AsignarVista;
|
||||
begin
|
||||
ViewGrid := CreateView(TfrViewUsuarios) as IViewUsuarios;
|
||||
end;
|
||||
|
||||
constructor TfEditorUsuarios.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited;
|
||||
AsignarVista;
|
||||
end;
|
||||
|
||||
destructor TfEditorUsuarios.Destroy;
|
||||
begin
|
||||
FUsuarios := NIL;
|
||||
FController := NIl;
|
||||
|
||||
inherited;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.DuplicarInterno;
|
||||
begin
|
||||
inherited;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.EliminarInterno;
|
||||
begin
|
||||
if (ShowConfirmMessage('Eliminar un usuario', Format('¿Desea borrar el usuario %s?', [FUsuarios.USERNAME])) = IDYES) then
|
||||
begin
|
||||
inherited;
|
||||
//Para que en el caso de no poderse realizar la operación se refresquen
|
||||
//los datos y no nos permita eliminar un registro a la segunda
|
||||
FController.EliminarUsuario(FUsuarios.ID);
|
||||
actRefrescar.Execute;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.FormShow(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
ActualizarEstadoEditor;
|
||||
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 TfEditorUsuarios.GetController: IUsuariosController;
|
||||
begin
|
||||
Result := FController;
|
||||
end;
|
||||
|
||||
function TfEditorUsuarios.GetUsuarios: IBizUsuario;
|
||||
begin
|
||||
Result := FUsuarios;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.ImprimirInterno;
|
||||
begin
|
||||
inherited;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.ModificarInterno;
|
||||
begin
|
||||
inherited;
|
||||
FController.VerUsuario(FUsuarios.ID);
|
||||
actRefrescar.Execute;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.NuevoInterno;
|
||||
var
|
||||
ANuevoUsuario : IBizUsuario;
|
||||
begin
|
||||
inherited;
|
||||
ANuevoUsuario := FController.NuevoUsuario;
|
||||
FController.VerUsuario(ANuevoUsuario);
|
||||
actRefrescar.Execute;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.PonerTitulos(const ATitulo: string);
|
||||
var
|
||||
FTitulo : String;
|
||||
begin
|
||||
FTitulo := 'Lista de usuarios';
|
||||
|
||||
if ReadOnly then
|
||||
begin
|
||||
JvNavPanelHeader.Caption := FTitulo + ' (NO MODIFICABLE)';
|
||||
Caption := FTitulo + ' (NO MODIFICABLE)';
|
||||
end
|
||||
else
|
||||
begin
|
||||
JvNavPanelHeader.Caption := FTitulo;
|
||||
Caption := FTitulo;
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.PrevisualizarInterno;
|
||||
begin
|
||||
inherited;
|
||||
//
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.SetController(const Value: IUsuariosController);
|
||||
begin
|
||||
FController := Value;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.SetUsuarios(const Value: IBizUsuario);
|
||||
begin
|
||||
FUsuarios := Value;
|
||||
dsDataTable.DataTable := FUsuarios.DataTable;
|
||||
if Assigned(ViewGrid) then
|
||||
(ViewGrid as IViewUsuarios).Usuarios := FUsuarios;
|
||||
end;
|
||||
|
||||
end.
|
||||
@ -1,35 +0,0 @@
|
||||
unit uUsuariosViewRegister;
|
||||
|
||||
interface
|
||||
|
||||
procedure RegisterViews;
|
||||
procedure UnregisterViews;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
uEditorRegistryUtils, uEditorLogin, Dialogs, uEditorUsuario, uEditorUsuarios,
|
||||
uEditorPerfilesUsuario, uEditorPerfilUsuario, uEditorPermisosUsuario;
|
||||
|
||||
procedure RegisterViews;
|
||||
begin
|
||||
EditorRegistry.RegisterClass(TfEditorLogin, 'EditorLogin');
|
||||
EditorRegistry.RegisterClass(TfEditorUsuarios, 'EditorUsuarios');
|
||||
EditorRegistry.RegisterClass(TfEditorUsuario, 'EditorUsuario');
|
||||
EditorRegistry.RegisterClass(TfEditorPerfilesUsuario, 'EditorPerfilesUsuario');
|
||||
EditorRegistry.RegisterClass(TfEditorPerfilUsuario, 'EditorPerfilUsuario');
|
||||
|
||||
|
||||
end;
|
||||
|
||||
procedure UnregisterViews;
|
||||
begin
|
||||
EditorRegistry.UnRegisterClass(TfEditorLogin);
|
||||
EditorRegistry.UnRegisterClass(TfEditorUsuarios);
|
||||
EditorRegistry.UnRegisterClass(TfEditorUsuario);
|
||||
EditorRegistry.UnRegisterClass(TfEditorPerfilesUsuario);
|
||||
EditorRegistry.UnRegisterClass(TfEditorPerfilUsuario);
|
||||
|
||||
end;
|
||||
|
||||
end.
|
||||
@ -1,68 +0,0 @@
|
||||
inherited frViewPerfilUsuario: TfrViewPerfilUsuario
|
||||
Width = 509
|
||||
Height = 122
|
||||
ExplicitWidth = 509
|
||||
ExplicitHeight = 122
|
||||
object dxLayoutControlArticulo: TdxLayoutControl
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 509
|
||||
Height = 113
|
||||
Align = alTop
|
||||
ParentBackground = True
|
||||
TabOrder = 0
|
||||
AutoContentSizes = [acsWidth]
|
||||
DesignSize = (
|
||||
509
|
||||
113)
|
||||
object eNombre: TcxDBTextEdit
|
||||
Left = 68
|
||||
Top = 28
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
DataBinding.DataField = 'USERNAME'
|
||||
DataBinding.DataSource = dsUsuario
|
||||
Style.BorderColor = clWindowFrame
|
||||
Style.BorderStyle = ebs3D
|
||||
Style.Color = 14745599
|
||||
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 = 164
|
||||
end
|
||||
object dxLayoutGroup1: TdxLayoutGroup
|
||||
ShowCaption = False
|
||||
Hidden = True
|
||||
ShowBorder = False
|
||||
object dxLayoutGroup2: TdxLayoutGroup
|
||||
AutoAligns = []
|
||||
AlignHorz = ahClient
|
||||
AlignVert = avClient
|
||||
Caption = 'Datos del perfil'
|
||||
object dxLayoutControlArticuloItem3: TdxLayoutItem
|
||||
AutoAligns = [aaVertical]
|
||||
AlignHorz = ahClient
|
||||
Caption = 'Nombre:'
|
||||
Control = eNombre
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
end
|
||||
object dxLayoutControlArticuloGroup3: TdxLayoutGroup
|
||||
Caption = 'New Group'
|
||||
ShowCaption = False
|
||||
LayoutDirection = ldHorizontal
|
||||
ShowBorder = False
|
||||
end
|
||||
end
|
||||
end
|
||||
object dsUsuario: TDADataSource
|
||||
Left = 152
|
||||
Top = 24
|
||||
end
|
||||
end
|
||||
@ -1,82 +0,0 @@
|
||||
unit uViewPerfilUsuario;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uViewBase, uUsuariosController, cxGraphics, ImgList, PngImageList,
|
||||
dxLayoutControl, cxCurrencyEdit, uCustomView, cxControls, DB, uDAInterfaces,
|
||||
uDADataTable, ActnList, cxCheckBox, cxDBEdit, cxMaskEdit, cxSpinEdit,
|
||||
cxHyperLinkEdit, cxContainer, cxEdit, cxTextEdit, Buttons, PngSpeedButton,
|
||||
uBizUsuarios, cxDropDownEdit;
|
||||
|
||||
type
|
||||
IViewPerfilUsuario = interface(IViewBase)
|
||||
['{555B4B64-BE32-4036-B741-DCC7AD80D7B9}']
|
||||
function GetController : IUsuariosController;
|
||||
procedure SetController (const Value : IUsuariosController);
|
||||
property Controller : IUsuariosController read GetController write SetController;
|
||||
|
||||
function GetPerfilUsuario: IBizPerfilUsuario;
|
||||
procedure SetPerfilUsuario(const Value: IBizPerfilUsuario);
|
||||
property PerfilUsuario: IBizPerfilUsuario read GetPerfilUsuario write SetPerfilUsuario;
|
||||
end;
|
||||
|
||||
TfrViewPerfilUsuario = class(TfrViewBase, IViewPerfilUsuario)
|
||||
dsUsuario: TDADataSource;
|
||||
dxLayoutControlArticulo: TdxLayoutControl;
|
||||
eNombre: TcxDBTextEdit;
|
||||
dxLayoutGroup1: TdxLayoutGroup;
|
||||
dxLayoutGroup2: TdxLayoutGroup;
|
||||
dxLayoutControlArticuloItem3: TdxLayoutItem;
|
||||
dxLayoutControlArticuloGroup3: TdxLayoutGroup;
|
||||
protected
|
||||
FController: IUsuariosController;
|
||||
FPerfilUsuario : IBizPerfilUsuario;
|
||||
|
||||
function GetController : IUsuariosController;
|
||||
procedure SetController (const Value : IUsuariosController);
|
||||
|
||||
function GetPerfilUsuario: IBizPerfilUsuario;
|
||||
procedure SetPerfilUsuario(const Value: IBizPerfilUsuario);
|
||||
public
|
||||
property PerfilUsuario: IBizPerfilUsuario read GetPerfilUsuario write SetPerfilUsuario;
|
||||
property Controller : IUsuariosController read GetController write SetController;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
|
||||
{ TfrViewUsuario }
|
||||
|
||||
function TfrViewPerfilUsuario.GetController: IUsuariosController;
|
||||
begin
|
||||
Result := FController;
|
||||
end;
|
||||
|
||||
function TfrViewPerfilUsuario.GetPerfilUsuario: IBizPerfilUsuario;
|
||||
begin
|
||||
Result := FPerfilUsuario;
|
||||
end;
|
||||
|
||||
procedure TfrViewPerfilUsuario.SetController(const Value: IUsuariosController);
|
||||
begin
|
||||
FController := Value;
|
||||
end;
|
||||
|
||||
procedure TfrViewPerfilUsuario.SetPerfilUsuario(const Value: IBizPerfilUsuario);
|
||||
begin
|
||||
FPerfilUsuario := Value;
|
||||
|
||||
if Assigned(FPerfilUsuario) then
|
||||
dsUsuario.DataTable := FPerfilUsuario.DataTable
|
||||
else begin
|
||||
dsUsuario.DataTable := NIL;
|
||||
FPerfilUsuario := NIL;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
end.
|
||||
@ -1,38 +0,0 @@
|
||||
inherited frViewPerfilesUsuario: TfrViewPerfilesUsuario
|
||||
Width = 426
|
||||
Height = 247
|
||||
ExplicitWidth = 426
|
||||
ExplicitHeight = 247
|
||||
inherited cxGrid: TcxGrid
|
||||
Width = 426
|
||||
Height = 247
|
||||
inherited cxGridView: TcxGridDBTableView
|
||||
object cxGridViewID: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'ID'
|
||||
Visible = False
|
||||
BestFitMaxWidth = 20
|
||||
Width = 20
|
||||
end
|
||||
object cxGridViewUSERNAME: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'USERNAME'
|
||||
Width = 150
|
||||
end
|
||||
object cxGridViewTIPO: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'TIPO'
|
||||
Visible = False
|
||||
end
|
||||
end
|
||||
end
|
||||
inherited dxComponentPrinter: TdxComponentPrinter
|
||||
Left = 40
|
||||
Top = 16
|
||||
end
|
||||
inherited dxPSEngineController1: TdxPSEngineController
|
||||
Left = 304
|
||||
Top = 168
|
||||
end
|
||||
inherited cxStyleRepository1: TcxStyleRepository
|
||||
Left = 280
|
||||
Top = 160
|
||||
end
|
||||
end
|
||||
@ -1,56 +0,0 @@
|
||||
unit uViewPerfilesUsuario;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uViewGrid, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
||||
cxDataStorage, cxEdit, DB, cxDBData, dxPSGlbl, dxPSUtl, dxPSEngn, dxPrnPg,
|
||||
dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
|
||||
dxPSEdgePatterns, dxPgsDlg, dxPSCore, ImgList, PngImageList, ActnList,
|
||||
cxGridCustomPopupMenu, cxGridPopupMenu,
|
||||
uDAInterfaces, uDADataTable, TB2Item, TBX, TB2Toolbar, TBXDkPanels, TB2Dock,
|
||||
cxGridLevel, cxClasses, cxControls, cxGridCustomView,
|
||||
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid,
|
||||
uBizUsuarios;
|
||||
|
||||
type
|
||||
IViewPerfilesUsuario = interface(IViewGrid)
|
||||
['{C6125F2F-5EDC-4019-BD5F-9AC9741F0F77}']
|
||||
function GetPerfilesUsuario: IBizPerfilUsuario;
|
||||
procedure SetPerfilesUsuario(const Value: IBizPerfilUsuario);
|
||||
property PerfilesUsuario: IBizPerfilUsuario read GetPerfilesUsuario write SetPerfilesUsuario;
|
||||
end;
|
||||
|
||||
TfrViewPerfilesUsuario = class(TfrViewGrid, IViewPerfilesUsuario)
|
||||
cxGridViewID: TcxGridDBColumn;
|
||||
cxGridViewUSERNAME: TcxGridDBColumn;
|
||||
cxGridViewTIPO: TcxGridDBColumn;
|
||||
protected
|
||||
FPerfiles : IBizPerfilUsuario;
|
||||
function GetPerfilesUsuario: IBizPerfilUsuario;
|
||||
procedure SetPerfilesUsuario(const Value: IBizPerfilUsuario);
|
||||
public
|
||||
property PerfilesUsuario: IBizPerfilUsuario read GetPerfilesUsuario write SetPerfilesUsuario;
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
{ TfrViewPerfilesUsuario }
|
||||
|
||||
function TfrViewPerfilesUsuario.GetPerfilesUsuario: IBizPerfilUsuario;
|
||||
begin
|
||||
Result := FPerfiles;
|
||||
end;
|
||||
|
||||
procedure TfrViewPerfilesUsuario.SetPerfilesUsuario(const Value: IBizPerfilUsuario);
|
||||
begin
|
||||
FPerfiles := Value;
|
||||
if Assigned(FPerfiles) then
|
||||
dsDataSource.DataTable := FPerfiles.DataTable;
|
||||
end;
|
||||
|
||||
end.
|
||||
@ -1,300 +0,0 @@
|
||||
inherited frViewUsuario: TfrViewUsuario
|
||||
Width = 509
|
||||
Height = 275
|
||||
OnCreate = CustomViewCreate
|
||||
OnDestroy = CustomViewDestroy
|
||||
ExplicitWidth = 509
|
||||
ExplicitHeight = 275
|
||||
object dxLayoutControlArticulo: TdxLayoutControl
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 509
|
||||
Height = 249
|
||||
Align = alTop
|
||||
ParentBackground = True
|
||||
TabOrder = 0
|
||||
AutoContentSizes = [acsWidth]
|
||||
DesignSize = (
|
||||
509
|
||||
249)
|
||||
object PngSpeedButton3: TPngSpeedButton
|
||||
Left = 335
|
||||
Top = 82
|
||||
Width = 23
|
||||
Height = 22
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000001964944415478DA
|
||||
63FCFFFF3F03232323033A58BCE9F87F647EAC9F258622B05E6C068034873B8A
|
||||
80D92019C62F8F194C1356339CDF399D91A0014B361FFB1FE6208AA299E1F323
|
||||
306D52F90CC5100C03566E3DFC3FD04E02A2F9F727064690462066006A66FC02
|
||||
64FFFAC8603451096E088A01CB361FFDFF8F819981183077D11A86FDAB7B18E1
|
||||
062CDD7CE27F14573FC3B2EF450CD13E86181ABE7DFFCDF0F5DB6F866FDFFE30
|
||||
1CB97897218AB38FC1B85B98E1DC8E698C600396000D8861696058FAB7116CC0
|
||||
94C5FBB0DAEC6CAECF70EED6238668E67AB057500CF8F0E10383A0A0208A0B90
|
||||
6D06B1BF01D9379E3C67387AFE09C389A37BD15CE06B01B47907434EAC13C3EF
|
||||
3F7F19662E3F8862BB898606C3EFDFFF1896EF3DCFA0A5C0CD306FE9265403FC
|
||||
9D20362F5CB71F4CE7C47AA01890D5BC164C7716F980D56018606BAC0656B079
|
||||
EF2986F82047AC6150DEB785A13CD911AC06C300234D05867DC72F30B8D818E1
|
||||
8DC2494B0E63F702281075D455884A07576EDEC134404A5480E1DAED07441900
|
||||
021806F44D5D44B46618801B400900007F4518F05E90AAF20000000049454E44
|
||||
AE426082}
|
||||
PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled]
|
||||
end
|
||||
object eNombre: TcxDBTextEdit
|
||||
Left = 135
|
||||
Top = 28
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
DataBinding.DataField = 'USERNAME'
|
||||
DataBinding.DataSource = dsUsuario
|
||||
Style.BorderColor = clWindowFrame
|
||||
Style.BorderStyle = ebs3D
|
||||
Style.Color = 14745599
|
||||
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 = 164
|
||||
end
|
||||
object eUsuario: TcxDBTextEdit
|
||||
Left = 135
|
||||
Top = 55
|
||||
DataBinding.DataField = 'LOGIN'
|
||||
DataBinding.DataSource = dsUsuario
|
||||
Style.BorderColor = clWindowFrame
|
||||
Style.BorderStyle = ebs3D
|
||||
Style.Color = 14745599
|
||||
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 = 1
|
||||
Width = 108
|
||||
end
|
||||
object eMail: TcxDBHyperLinkEdit
|
||||
Left = 135
|
||||
Top = 82
|
||||
DataBinding.DataField = 'EMAIL'
|
||||
DataBinding.DataSource = dsUsuario
|
||||
Properties.ValidateOnEnter = True
|
||||
Properties.OnEditValueChanged = eMailPropertiesEditValueChanged
|
||||
Properties.OnValidate = eMailPropertiesValidate
|
||||
Properties.Prefix = 'mailto:'
|
||||
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 = 2
|
||||
Width = 194
|
||||
end
|
||||
object ePassword: TcxTextEdit
|
||||
Left = 135
|
||||
Top = 167
|
||||
Properties.EchoMode = eemPassword
|
||||
Properties.PasswordChar = '*'
|
||||
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 = 4
|
||||
Width = 121
|
||||
end
|
||||
object eConfirmarPassword: TcxTextEdit
|
||||
Left = 135
|
||||
Top = 194
|
||||
Properties.EchoMode = eemPassword
|
||||
Properties.PasswordChar = '*'
|
||||
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 = 5
|
||||
Width = 372
|
||||
end
|
||||
object cbPerfil: TcxComboBox
|
||||
Left = 135
|
||||
Top = 110
|
||||
Properties.DropDownListStyle = lsEditFixedList
|
||||
Properties.ImmediatePost = True
|
||||
Properties.ImmediateUpdateText = True
|
||||
Properties.PostPopupValueOnTab = True
|
||||
Properties.OnValidate = cbPerfilPropertiesValidate
|
||||
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 = 3
|
||||
Width = 194
|
||||
end
|
||||
object dxLayoutGroup1: TdxLayoutGroup
|
||||
ShowCaption = False
|
||||
Hidden = True
|
||||
ShowBorder = False
|
||||
object dxLayoutGroup2: TdxLayoutGroup
|
||||
AutoAligns = []
|
||||
AlignHorz = ahClient
|
||||
AlignVert = avClient
|
||||
Caption = 'Datos del usuario'
|
||||
object dxLayoutControlArticuloItem3: TdxLayoutItem
|
||||
AutoAligns = [aaVertical]
|
||||
AlignHorz = ahClient
|
||||
Caption = 'Nombre completo:'
|
||||
Control = eNombre
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
object dxLayoutControlArticuloItem8: TdxLayoutItem
|
||||
AutoAligns = [aaVertical]
|
||||
AlignHorz = ahClient
|
||||
Caption = 'Usuario:'
|
||||
Control = eUsuario
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
object dxLayoutControlArticuloGroup2: TdxLayoutGroup
|
||||
ShowCaption = False
|
||||
Hidden = True
|
||||
LayoutDirection = ldHorizontal
|
||||
ShowBorder = False
|
||||
object dxLayoutControlArticuloItem4: TdxLayoutItem
|
||||
AutoAligns = [aaVertical]
|
||||
Caption = 'Correo electr'#243'nico'
|
||||
Control = eMail
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
object dxLayoutControlArticuloItem5: TdxLayoutItem
|
||||
ShowCaption = False
|
||||
Control = PngSpeedButton3
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
end
|
||||
object dxLayoutControlArticuloItem1: TdxLayoutItem
|
||||
AutoAligns = [aaVertical]
|
||||
Caption = 'Perfil de usuario:'
|
||||
Control = cbPerfil
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
end
|
||||
object dxLayoutControlArticuloGroup5: TdxLayoutGroup
|
||||
Caption = 'Seguridad'
|
||||
object dxLayoutControlArticuloItem11: TdxLayoutItem
|
||||
Caption = 'Contrase'#241'a:'
|
||||
Control = ePassword
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
object dxLayoutControlArticuloItem12: TdxLayoutItem
|
||||
Caption = 'Confirmar contrase'#241'a:'
|
||||
Control = eConfirmarPassword
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
end
|
||||
object dxLayoutControlArticuloGroup3: TdxLayoutGroup
|
||||
Caption = 'New Group'
|
||||
ShowCaption = False
|
||||
LayoutDirection = ldHorizontal
|
||||
ShowBorder = False
|
||||
end
|
||||
end
|
||||
end
|
||||
object ActionList1: TActionList
|
||||
Images = SmallImages
|
||||
Left = 72
|
||||
Top = 48
|
||||
object actMandarCorreo: TAction
|
||||
Caption = 'Mandar un correo'
|
||||
ImageIndex = 0
|
||||
OnExecute = actMandarCorreoExecute
|
||||
OnUpdate = actMandarCorreoUpdate
|
||||
end
|
||||
end
|
||||
object dsUsuario: TDADataSource
|
||||
Left = 104
|
||||
Top = 48
|
||||
end
|
||||
object SmallImages: TPngImageList
|
||||
PngImages = <
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000001EB4944415478DA
|
||||
A5D34B68135114C6F1FF746692462D24D5A8F5B52B81B448501475E142D4EAA2
|
||||
3420E8C68A0A45345BC19DE24A74D50AE2424A11041105DD28A8881411174A70
|
||||
E58BA4149A1A0D8D1D9B669E997B9D14B1A44491E6C2D9DDF3BB1F877B94DB8F
|
||||
5E4B5A384A1D3831B06759CDDB0E9D5B04865FD9CD6F49C95A374B4ADC20AAE4
|
||||
9936B6F244CF70299DFA3F40F5AB1C74CEB225FE1C654E4796DA7963A6D977F2
|
||||
FABF81E061EAC3D1EC0247C531A27A017E846026CC844890CC3CFE3B506F1641
|
||||
D9025CCFA4DF384FD27F419BA1231C9D67917ED267AE3507A414E4BF8DD3B1AA
|
||||
07A97562F92A31EB037B8D313658137CD292DC5D719A7B83C9E640AEF892F1DC
|
||||
454A5FABEC4E5D21BEBE0FD397411217E15599911D547C8DEC60A411B8FC34C7
|
||||
C3F7C71710BD73927CB686E785D87FE01D22483267FDC45156620A0DAB069F4F
|
||||
B53702A9ABBB08AF2E20DB7C1CB386517698FE52A56BE31136272EF0F16D1F44
|
||||
7610EF7D802554A68696003B6F6D42517DAC6A0D3B006CCB67B6686356248944
|
||||
0F8635C9F7A90A91F800E1EE51CA99D81260B40B27C8F607307DECF91AF38687
|
||||
A6AB74A7A2940A26E5A28B164FE38CDC67FBE1CC22D03BB226007E2708202700
|
||||
5CAB5E62E14344D785084734664B0EBE8CE18D951A81967661F8E69DE56FA394
|
||||
2D6D33BF00C89C2C72EBA3BC190000000049454E44AE426082}
|
||||
Name = 'PngImage0'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
61000000097048597300000AEB00000AEB01828B0D5A000002854944415478DA
|
||||
A5935D48536118C7FFAFDB8CCD557E7F34B33167F9119617A91596495D781304
|
||||
451021A651362821B1ABA49B6EA4460961D88542055D84DD6545415992174994
|
||||
9625CC8F9C329D9B5F3BE9CED9D9797BCEA1C932A3A0079EC3CBE13CBFE7FF7F
|
||||
9FF330CE39FE2798FAB80BA4E61559EB2551E67B07279AE8D51FA98F2CC99546
|
||||
031A3D6E5FF329993F631D80B52227A6D7929F9BAEA459D1D73BE8DC3330D6B8
|
||||
1AD206641414DA5A6224E1E8ECA47779660955D532EF642F1371BD74331A14FA
|
||||
9C27A4439F5D88777DAE1B65FD230D11485786B9363D65FD35C1EB4B9817427E
|
||||
9F80C335C05BD53E23B2A934132FB23662B71406C2B14698F38AF0E9EB9473E8
|
||||
E3C8655BD686D6F858A5DA3F27B04511E37E0195B5C0A00AD6003FE5259758F0
|
||||
3AD1843C15125218CCB6AD707FF34EAC93973217041154ECF608D8770E188BD8
|
||||
5A01A8A1DEC5F60CF4980CB0A890E8A47AFFF477EC3F037C8EBE975F006ADC37
|
||||
60A7351E3D061DE222C522A5270047AD82DBAB27B21AC09EDA373525E9A52BCB
|
||||
7E5F4CB4822509BE80848AB3C0C09A806380EE7CA1BDC55EB4CDE17AF2984932
|
||||
75A60CCA088739742A84CE1E49C1010730F41BA03B27CD595C517CB1FFF92B04
|
||||
E6035AF142101DCB12DA743AB413243FA468331D0F01E51780D1154057AAF148
|
||||
D92E7BE794778E8DB92634C901116FA6451CAA27214EC06802AE5227AA839ED2
|
||||
45A0729AC6A406182DD9329C10A7B7F57D18D63A93DF99D92076905F4FB4DF56
|
||||
A08C20ED9476027CD1209C7BD9FBDC947BC1C0E2C9596A4B003E27E2F8E9301E
|
||||
AEB507B700334968A6631D019C759C5F627780822413BA194312CDFB41958C13
|
||||
7FDB4052739000430ECEDD913F313B568F9B8B326AC8F7CCBFAEB27A073F0058
|
||||
5538F0EAB25B380000000049454E44AE426082}
|
||||
Name = 'PngImage1'
|
||||
Background = clWindow
|
||||
end>
|
||||
PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled]
|
||||
Left = 43
|
||||
Top = 48
|
||||
Bitmap = {}
|
||||
end
|
||||
end
|
||||
@ -1,210 +0,0 @@
|
||||
unit uViewUsuario;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uViewBase, uUsuariosController, cxGraphics, ImgList, PngImageList,
|
||||
dxLayoutControl, cxCurrencyEdit, uCustomView, cxControls, DB, uDAInterfaces,
|
||||
uDADataTable, ActnList, cxCheckBox, cxDBEdit, cxMaskEdit, cxSpinEdit,
|
||||
cxHyperLinkEdit, cxContainer, cxEdit, cxTextEdit, Buttons, PngSpeedButton,
|
||||
uBizUsuarios, cxDropDownEdit, ExtCtrls;
|
||||
|
||||
type
|
||||
IViewUsuario = interface(IViewBase)
|
||||
['{E47D5136-A50C-4757-9352-4745518A899D}']
|
||||
function GetController : IUsuariosController;
|
||||
procedure SetController (const Value : IUsuariosController);
|
||||
property Controller : IUsuariosController read GetController write SetController;
|
||||
|
||||
function GetUsuario: IBizUsuario;
|
||||
procedure SetUsuario(const Value: IBizUsuario);
|
||||
property Usuario: IBizUsuario read GetUsuario write SetUsuario;
|
||||
end;
|
||||
|
||||
TfrViewUsuario = class(TfrViewBase, IViewUsuario)
|
||||
ActionList1: TActionList;
|
||||
dsUsuario: TDADataSource;
|
||||
dxLayoutControlArticulo: TdxLayoutControl;
|
||||
eNombre: TcxDBTextEdit;
|
||||
eUsuario: TcxDBTextEdit;
|
||||
dxLayoutGroup1: TdxLayoutGroup;
|
||||
dxLayoutGroup2: TdxLayoutGroup;
|
||||
dxLayoutControlArticuloItem3: TdxLayoutItem;
|
||||
dxLayoutControlArticuloItem8: TdxLayoutItem;
|
||||
dxLayoutControlArticuloGroup3: TdxLayoutGroup;
|
||||
SmallImages: TPngImageList;
|
||||
dxLayoutControlArticuloItem4: TdxLayoutItem;
|
||||
eMail: TcxDBHyperLinkEdit;
|
||||
dxLayoutControlArticuloItem5: TdxLayoutItem;
|
||||
PngSpeedButton3: TPngSpeedButton;
|
||||
actMandarCorreo: TAction;
|
||||
dxLayoutControlArticuloGroup2: TdxLayoutGroup;
|
||||
ePassword: TcxTextEdit;
|
||||
dxLayoutControlArticuloItem11: TdxLayoutItem;
|
||||
dxLayoutControlArticuloItem12: TdxLayoutItem;
|
||||
eConfirmarPassword: TcxTextEdit;
|
||||
dxLayoutControlArticuloGroup5: TdxLayoutGroup;
|
||||
cbPerfil: TcxComboBox;
|
||||
dxLayoutControlArticuloItem1: TdxLayoutItem;
|
||||
procedure actMandarCorreoExecute(Sender: TObject);
|
||||
procedure actMandarCorreoUpdate(Sender: TObject);
|
||||
procedure cbPerfilPropertiesValidate(Sender: TObject;
|
||||
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
|
||||
procedure CustomViewCreate(Sender: TObject);
|
||||
procedure CustomViewDestroy(Sender: TObject);
|
||||
procedure eMailPropertiesEditValueChanged(Sender: TObject);
|
||||
procedure eMailPropertiesValidate(Sender: TObject;
|
||||
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
|
||||
protected
|
||||
FController: IUsuariosController;
|
||||
FUsuario : IBizUsuario;
|
||||
FListaPerfiles : TStringList;
|
||||
|
||||
function GetController : IUsuariosController;
|
||||
procedure SetController (const Value : IUsuariosController);
|
||||
|
||||
function GetUsuario: IBizUsuario;
|
||||
procedure SetUsuario(const Value: IBizUsuario);
|
||||
public
|
||||
property Usuario: IBizUsuario read GetUsuario write SetUsuario;
|
||||
property Controller : IUsuariosController read GetController write SetController;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
type
|
||||
THackcxDBHyperLinkEdit = class(TcxDBHyperLinkEdit);
|
||||
|
||||
{ TfrViewUsuario }
|
||||
|
||||
procedure TfrViewUsuario.actMandarCorreoExecute(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
THackcxDBHyperLinkEdit(eMail).DoStart;
|
||||
end;
|
||||
|
||||
procedure TfrViewUsuario.actMandarCorreoUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
(Sender as TAction).Enabled := (Length(eMail.Text) > 0)
|
||||
end;
|
||||
|
||||
procedure TfrViewUsuario.cbPerfilPropertiesValidate(Sender: TObject;
|
||||
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
|
||||
var
|
||||
AIndex : integer;
|
||||
begin
|
||||
inherited;
|
||||
|
||||
if Assigned(FUsuario) and FUsuario.Active then
|
||||
begin
|
||||
if DisplayValue = cbPerfil.Properties.Items[0] then
|
||||
AIndex := 0
|
||||
else
|
||||
AIndex := StrToInt(FListaPerfiles.Values[DisplayValue]);
|
||||
|
||||
FUsuario.Edit;
|
||||
FUsuario.ID_PERFIL := AIndex;
|
||||
FUsuario.Post;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
procedure TfrViewUsuario.CustomViewCreate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
FListaPerfiles := NIL;
|
||||
end;
|
||||
|
||||
procedure TfrViewUsuario.CustomViewDestroy(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
FreeAndNIL(FListaPerfiles);
|
||||
end;
|
||||
|
||||
procedure TfrViewUsuario.eMailPropertiesEditValueChanged(Sender: TObject);
|
||||
begin
|
||||
if not VarIsNull((Sender as TcxDBHyperLinkEdit).EditValue) then
|
||||
(Sender as TcxDBHyperLinkEdit).EditValue := StringReplace((Sender as TcxDBHyperLinkEdit).EditValue, (Sender as TcxDBHyperLinkEdit).Properties.Prefix, '', []);
|
||||
end;
|
||||
|
||||
procedure TfrViewUsuario.eMailPropertiesValidate(Sender: TObject;
|
||||
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
|
||||
begin
|
||||
if not VarIsNull(DisplayValue) then
|
||||
DisplayValue := StringReplace(DisplayValue, (Sender as TcxDBHyperLinkEdit).Properties.Prefix, '', []);
|
||||
end;
|
||||
|
||||
function TfrViewUsuario.GetController: IUsuariosController;
|
||||
begin
|
||||
Result := FController;
|
||||
end;
|
||||
|
||||
function TfrViewUsuario.GetUsuario: IBizUsuario;
|
||||
begin
|
||||
Result := FUsuario;
|
||||
end;
|
||||
|
||||
procedure TfrViewUsuario.SetController(const Value: IUsuariosController);
|
||||
var
|
||||
i : integer;
|
||||
begin
|
||||
FController := Value;
|
||||
|
||||
if Assigned(FController) then
|
||||
begin
|
||||
FListaPerfiles := FController.DarListaPerfilesUsuario;
|
||||
|
||||
with cbPerfil.Properties.Items do
|
||||
begin
|
||||
BeginUpdate;
|
||||
try
|
||||
Clear;
|
||||
Add('<Ninguno>');
|
||||
for i := 0 to FListaPerfiles.Count - 1 do
|
||||
Add(FListaPerfiles.Names[i]);
|
||||
finally
|
||||
EndUpdate;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrViewUsuario.SetUsuario(const Value: IBizUsuario);
|
||||
var
|
||||
i : integer;
|
||||
begin
|
||||
FUsuario := Value;
|
||||
|
||||
if Assigned(FUsuario) then
|
||||
begin
|
||||
dsUsuario.DataTable := FUsuario.DataTable;
|
||||
if FUsuario.EsNuevo then
|
||||
begin
|
||||
dxLayoutControlArticuloGroup5.Visible := True;
|
||||
cbPerfil.Text := cbPerfil.Properties.Items[0];
|
||||
end
|
||||
else begin
|
||||
dxLayoutControlArticuloGroup5.Visible := False;
|
||||
|
||||
cbPerfil.Text := cbPerfil.Properties.Items[0];
|
||||
for i := 0 to FListaPerfiles.Count-1 do
|
||||
begin
|
||||
if FListaPerfiles.ValueFromIndex[i] = IntToStr(FUsuario.ID_PERFIL) then
|
||||
begin
|
||||
cbPerfil.Text := FListaPerfiles.Names[i];
|
||||
break;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end
|
||||
else begin
|
||||
dsUsuario.DataTable := NIL;
|
||||
FUsuario := NIL;
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
||||
@ -1,70 +0,0 @@
|
||||
inherited frViewUsuarios: TfrViewUsuarios
|
||||
inherited cxGrid: TcxGrid
|
||||
inherited cxGridView: TcxGridDBTableView
|
||||
object cxGridViewID: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'ID'
|
||||
Visible = False
|
||||
BestFitMaxWidth = 20
|
||||
Width = 20
|
||||
end
|
||||
object cxGridViewUSERNAME: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'USERNAME'
|
||||
Width = 150
|
||||
end
|
||||
object cxGridViewLOGIN: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'LOGIN'
|
||||
BestFitMaxWidth = 75
|
||||
Width = 75
|
||||
end
|
||||
object cxGridViewPASS: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'PASS'
|
||||
Visible = False
|
||||
end
|
||||
object cxGridViewPASSEXPIRED: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'PASSEXPIRED'
|
||||
Visible = False
|
||||
end
|
||||
object cxGridViewBLOQUEADO: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'BLOQUEADO'
|
||||
Visible = False
|
||||
end
|
||||
object cxGridViewEMAIL: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'EMAIL'
|
||||
BestFitMaxWidth = 120
|
||||
Width = 120
|
||||
end
|
||||
object cxGridViewUSERDAYSSUN: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'USERDAYSSUN'
|
||||
Visible = False
|
||||
end
|
||||
object cxGridViewPRIVILEGED: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'PRIVILEGED'
|
||||
Visible = False
|
||||
end
|
||||
object cxGridViewTIPO: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'TIPO'
|
||||
Visible = False
|
||||
end
|
||||
object cxGridViewID_PERFIL: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'ID_PERFIL'
|
||||
Visible = False
|
||||
end
|
||||
end
|
||||
end
|
||||
inherited dsDataSource: TDADataSource
|
||||
Left = 360
|
||||
Top = 136
|
||||
end
|
||||
inherited dxComponentPrinter: TdxComponentPrinter
|
||||
Left = 328
|
||||
Top = 136
|
||||
end
|
||||
inherited dxPSEngineController1: TdxPSEngineController
|
||||
Left = 296
|
||||
Top = 136
|
||||
end
|
||||
inherited cxStyleRepository1: TcxStyleRepository
|
||||
Left = 264
|
||||
Top = 136
|
||||
end
|
||||
end
|
||||
@ -1,64 +0,0 @@
|
||||
unit uViewUsuarios;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uViewGrid, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
||||
cxDataStorage, cxEdit, DB, cxDBData, dxPSGlbl, dxPSUtl, dxPSEngn, dxPrnPg,
|
||||
dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
|
||||
dxPSEdgePatterns, dxPgsDlg, dxPSCore, ImgList, PngImageList, ActnList,
|
||||
cxGridCustomPopupMenu, cxGridPopupMenu, dxPScxCommon,
|
||||
uDAInterfaces, uDADataTable, TB2Item, TBX, TB2Toolbar, TBXDkPanels, TB2Dock,
|
||||
cxGridLevel, cxClasses, cxControls, cxGridCustomView,
|
||||
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid,
|
||||
uBizUsuarios;
|
||||
|
||||
type
|
||||
IViewUsuarios = interface(IViewGrid)
|
||||
['{2F46A4FC-6501-47B2-AAB3-28B552DDA455}']
|
||||
function GetUsuarios: IBizUsuario;
|
||||
procedure SetUsuarios(const Value: IBizUsuario);
|
||||
property Usuarios: IBizUsuario read GetUsuarios write SetUsuarios;
|
||||
end;
|
||||
|
||||
TfrViewUsuarios = class(TfrViewGrid, IViewUsuarios)
|
||||
cxGridViewID: TcxGridDBColumn;
|
||||
cxGridViewUSERNAME: TcxGridDBColumn;
|
||||
cxGridViewLOGIN: TcxGridDBColumn;
|
||||
cxGridViewPASS: TcxGridDBColumn;
|
||||
cxGridViewPASSEXPIRED: TcxGridDBColumn;
|
||||
cxGridViewBLOQUEADO: TcxGridDBColumn;
|
||||
cxGridViewEMAIL: TcxGridDBColumn;
|
||||
cxGridViewUSERDAYSSUN: TcxGridDBColumn;
|
||||
cxGridViewPRIVILEGED: TcxGridDBColumn;
|
||||
cxGridViewTIPO: TcxGridDBColumn;
|
||||
cxGridViewID_PERFIL: TcxGridDBColumn;
|
||||
protected
|
||||
FUsuarios : IBizUsuario;
|
||||
function GetUsuarios: IBizUsuario;
|
||||
procedure SetUsuarios(const Value: IBizUsuario);
|
||||
public
|
||||
property Usuarios: IBizUsuario read GetUsuarios write SetUsuarios;
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
{ TfrViewUsuarios }
|
||||
|
||||
function TfrViewUsuarios.GetUsuarios: IBizUsuario;
|
||||
begin
|
||||
Result := FUsuarios;
|
||||
end;
|
||||
|
||||
procedure TfrViewUsuarios.SetUsuarios(const Value: IBizUsuario);
|
||||
begin
|
||||
FUsuarios := Value;
|
||||
if Assigned(FUsuarios) then
|
||||
dsDataSource.DataTable := FUsuarios.DataTable;
|
||||
end;
|
||||
|
||||
end.
|
||||
@ -1,335 +0,0 @@
|
||||
unit uAdminPV_App;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
SysUtils, Classes, Forms, uBizUsuarios, uControllerBase,
|
||||
uUsuariosController, uHostManager;
|
||||
|
||||
type
|
||||
TDoLoadModulesEvent = procedure;
|
||||
TDoMainFormEvent = procedure;
|
||||
|
||||
IAppSplashForm = interface
|
||||
['{9905DF57-4476-42E6-A7CD-B1479A84E220}']
|
||||
procedure Show;
|
||||
procedure Hide;
|
||||
procedure Update;
|
||||
function GetMensaje: String;
|
||||
procedure SetMensaje(const AMensaje : String);
|
||||
property Mensaje : String read GetMensaje write SetMensaje;
|
||||
end;
|
||||
|
||||
IAppAdminPV = interface
|
||||
['{FB6A0F3C-C1D1-462D-AFD4-2A368F85E920}']
|
||||
function GetMainForm: TCustomForm;
|
||||
function GetUsuariosController: IUsuariosController;
|
||||
function GetAppEXEName: String;
|
||||
function GetAppName: String;
|
||||
function GetAppVersion: String;
|
||||
function GetAppFullName: String;
|
||||
function GetUsuarioActivo: IBizUsuario;
|
||||
function GetModuleManager : THostManager;
|
||||
function GetTerminated: Boolean;
|
||||
|
||||
function GetLoadModulesEvent : TDoLoadModulesEvent;
|
||||
procedure SetLoadModulesEvent (ALoadModulesEvent : TDoLoadModulesEvent);
|
||||
|
||||
function GetDoMainFormEvent : TDoMainFormEvent;
|
||||
procedure SetDoMainFormEvent (AMainFormEvent : TDoMainFormEvent);
|
||||
|
||||
function GetAppSplashForm : IAppSplashForm;
|
||||
procedure SetAppSplashForm (AAppSplashForm : IAppSplashForm);
|
||||
|
||||
procedure ShowSplashForm;
|
||||
procedure HideSplashForm;
|
||||
|
||||
procedure Run;
|
||||
procedure Terminate;
|
||||
|
||||
property AppVersion : String read GetAppVersion;
|
||||
property AppEXEName : String read GetAppEXEName;
|
||||
property AppName : String read GetAppName;
|
||||
property AppFullName : String read GetAppFullName;
|
||||
property MainForm : TCustomForm read GetMainForm;
|
||||
property UsuarioActivo : IBizUsuario read GetUsuarioActivo;
|
||||
property UsuariosController : IUsuariosController read GetUsuariosController;
|
||||
property AppSplashForm : IAppSplashForm read GetAppSplashForm write SetAppSplashForm;
|
||||
property ModuleManager : THostManager read GetModuleManager;
|
||||
property DoMainFormEvent : TDoMainFormEvent read GetDoMainFormEvent write SetDoMainFormEvent;
|
||||
property DoLoadModulesEvent : TDoLoadModulesEvent read GetLoadModulesEvent write SetLoadModulesEvent;
|
||||
property Terminated : Boolean read GetTerminated;
|
||||
|
||||
procedure ShowCapado;
|
||||
end;
|
||||
|
||||
|
||||
TAppAdminPV = class(TInterfacedObject, IAppAdminPV)
|
||||
private
|
||||
FUsuariosController: IUsuariosController;
|
||||
FAppSplashForm : IAppSplashForm;
|
||||
FHostManager : THostManager;
|
||||
FTerminated : Boolean;
|
||||
|
||||
FDoMainFormEvent: TDoMainFormEvent;
|
||||
FDoLoadModulesEvent: TDoMainFormEvent;
|
||||
|
||||
function GetMainForm: TCustomForm;
|
||||
function GetUsuariosController: IUsuariosController;
|
||||
function GetAppName: String;
|
||||
function GetAppEXEName: String;
|
||||
function GetAppVersion: String;
|
||||
function GetAppFullName: String;
|
||||
function GetUsuarioActivo: IBizUsuario;
|
||||
function GetModuleManager : THostManager;
|
||||
function GetTerminated: Boolean;
|
||||
|
||||
function GetLoadModulesEvent : TDoLoadModulesEvent;
|
||||
procedure SetLoadModulesEvent (ALoadModulesEvent : TDoLoadModulesEvent);
|
||||
|
||||
function GetDoMainFormEvent : TDoMainFormEvent;
|
||||
procedure SetDoMainFormEvent (AMainFormEvent : TDoMainFormEvent);
|
||||
|
||||
function GetAppSplashForm : IAppSplashForm;
|
||||
procedure SetAppSplashForm (AAppSplashForm : IAppSplashForm);
|
||||
|
||||
procedure AfterLoadModule(Sender: TObject; AModuleInfo: TModuleInfo);
|
||||
procedure RegisterModule(AModuleInfo : TModuleInfo);
|
||||
protected
|
||||
procedure DoMainForm;
|
||||
|
||||
procedure CargarModulos;
|
||||
procedure ShowSplashForm;
|
||||
procedure HideSplashForm;
|
||||
procedure UpdateSplashForm;
|
||||
public
|
||||
constructor Create; virtual;
|
||||
destructor Destroy; override;
|
||||
|
||||
procedure Run;
|
||||
procedure Terminate;
|
||||
|
||||
property AppVersion : String read GetAppVersion;
|
||||
property AppEXEName : String read GetAppEXEName;
|
||||
property AppName : String read GetAppName;
|
||||
property AppFullName : String read GetAppFullName;
|
||||
property MainForm : TCustomForm read GetMainForm;
|
||||
property AppSplashForm : IAppSplashForm read GetAppSplashForm write SetAppSplashForm;
|
||||
property UsuarioActivo : IBizUsuario read GetUsuarioActivo;
|
||||
property UsuariosController : IUsuariosController read GetUsuariosController;
|
||||
property ModuleManager : THostManager read GetModuleManager;
|
||||
property DoMainFormEvent : TDoMainFormEvent read GetDoMainFormEvent write SetDoMainFormEvent;
|
||||
property DoLoadModulesEvent : TDoLoadModulesEvent read GetLoadModulesEvent write SetLoadModulesEvent;
|
||||
property Terminated : Boolean read GetTerminated;
|
||||
|
||||
procedure ShowCapado;
|
||||
end;
|
||||
|
||||
var
|
||||
AppAdminPV : IAppAdminPV = nil;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
Dialogs, uDialogUtils, cxControls, uUsuariosViewRegister,
|
||||
uAppInfoUtils;
|
||||
|
||||
|
||||
procedure TAppAdminPV.CargarModulos;
|
||||
begin
|
||||
if not Assigned(FDoLoadModulesEvent) then
|
||||
raise Exception.Create('Evento para la carga de los módulos de la aplicación no asignado (CargarModulos)');
|
||||
|
||||
FDoLoadModulesEvent();
|
||||
end;
|
||||
|
||||
constructor TAppAdminPV.Create;
|
||||
begin
|
||||
FTerminated := False;
|
||||
FDoMainFormEvent := NIL;
|
||||
FDoLoadModulesEvent := NIL;
|
||||
FAppSplashForm := NIL;
|
||||
FUsuariosController := NIL; // Se crea la primera vez que se usa
|
||||
|
||||
|
||||
FHostManager := THostManager.Create(NIL);
|
||||
with FHostManager do
|
||||
begin
|
||||
OnAfterLoad := AfterLoadModule;
|
||||
// Ruta por defecto de los módulos
|
||||
BPLPath := ExtractFilePath(Application.ExeName) + PathDelim;
|
||||
end;
|
||||
end;
|
||||
|
||||
destructor TAppAdminPV.Destroy;
|
||||
begin
|
||||
FAppSplashForm := NIL;
|
||||
|
||||
FHostManager.UnloadModules;
|
||||
FreeAndNIL(FHostManager);
|
||||
|
||||
FUsuariosController := NIL;
|
||||
|
||||
inherited;
|
||||
end;
|
||||
|
||||
procedure TAppAdminPV.DoMainForm;
|
||||
begin
|
||||
if not Assigned(FDoMainFormEvent) then
|
||||
raise Exception.Create('Evento para la creación del formulario principal no asignado (DoMainForm)');
|
||||
|
||||
FDoMainFormEvent();
|
||||
end;
|
||||
|
||||
function TAppAdminPV.GetMainForm: TCustomForm;
|
||||
begin
|
||||
Result := Application.MainForm;
|
||||
end;
|
||||
|
||||
function TAppAdminPV.GetDoMainFormEvent: TDoMainFormEvent;
|
||||
begin
|
||||
Result := FDoMainFormEvent;
|
||||
end;
|
||||
|
||||
function TAppAdminPV.GetAppEXEName: String;
|
||||
begin
|
||||
Result := ExtractFileName(Application.ExeName);
|
||||
end;
|
||||
|
||||
function TAppAdminPV.GetAppFullName: String;
|
||||
begin
|
||||
Result := uAppInfoUtils.GetAppFullName;
|
||||
end;
|
||||
|
||||
function TAppAdminPV.GetAppName: String;
|
||||
begin
|
||||
Result := uAppInfoUtils.GetAppName;
|
||||
end;
|
||||
|
||||
function TAppAdminPV.GetAppSplashForm: IAppSplashForm;
|
||||
begin
|
||||
Result := FAppSplashForm;
|
||||
end;
|
||||
|
||||
function TAppAdminPV.GetAppVersion: String;
|
||||
begin
|
||||
Result := uAppInfoUtils.GetAppVersion;
|
||||
end;
|
||||
|
||||
function TAppAdminPV.GetLoadModulesEvent: TDoLoadModulesEvent;
|
||||
begin
|
||||
Result := FDoLoadModulesEvent;
|
||||
end;
|
||||
|
||||
function TAppAdminPV.GetModuleManager: THostManager;
|
||||
begin
|
||||
Result := FHostManager;
|
||||
end;
|
||||
|
||||
function TAppAdminPV.GetTerminated: Boolean;
|
||||
begin
|
||||
Result := FTerminated;
|
||||
end;
|
||||
|
||||
function TAppAdminPV.GetUsuarioActivo: IBizUsuario;
|
||||
begin
|
||||
Result := UsuariosController.CurrentUser;
|
||||
end;
|
||||
|
||||
function TAppAdminPV.GetUsuariosController: IUsuariosController;
|
||||
begin
|
||||
if not Assigned(FUsuariosController) then
|
||||
FUsuariosController := TUsuariosController.Create;
|
||||
|
||||
Result := FUsuariosController;
|
||||
end;
|
||||
|
||||
procedure TAppAdminPV.HideSplashForm;
|
||||
begin
|
||||
if not Assigned(FAppSplashForm) then
|
||||
raise Exception.Create('AppSplashForm no asignado (HideSplashForm)');
|
||||
|
||||
FAppSplashForm.Hide;
|
||||
end;
|
||||
|
||||
procedure TAppAdminPV.AfterLoadModule(Sender: TObject;
|
||||
AModuleInfo: TModuleInfo);
|
||||
begin
|
||||
RegisterModule(AModuleInfo);
|
||||
end;
|
||||
|
||||
procedure TAppAdminPV.RegisterModule(AModuleInfo: TModuleInfo);
|
||||
begin
|
||||
AppSplashForm.Mensaje := 'Cargando ''' + AModuleInfo.Module.ModuleName + '''...';
|
||||
end;
|
||||
|
||||
procedure TAppAdminPV.Run;
|
||||
begin
|
||||
if UsuariosController.StartLogin then
|
||||
begin
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
CargarModulos;
|
||||
DoMainForm;
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
HideSplashForm;
|
||||
end;
|
||||
Application.Run;
|
||||
end;
|
||||
Terminate;
|
||||
end;
|
||||
|
||||
procedure TAppAdminPV.SetDoMainFormEvent(
|
||||
AMainFormEvent: TDoMainFormEvent);
|
||||
begin
|
||||
FDoMainFormEvent := AMainFormEvent;
|
||||
end;
|
||||
|
||||
procedure TAppAdminPV.SetAppSplashForm(AAppSplashForm: IAppSplashForm);
|
||||
begin
|
||||
FAppSplashForm := AAppSplashForm;
|
||||
end;
|
||||
|
||||
procedure TAppAdminPV.SetLoadModulesEvent(
|
||||
ALoadModulesEvent: TDoLoadModulesEvent);
|
||||
begin
|
||||
FDoLoadModulesEvent := ALoadModulesEvent;
|
||||
end;
|
||||
|
||||
procedure TAppAdminPV.ShowCapado;
|
||||
begin
|
||||
ShowInfoMessage('Sin Acceso', 'Funcionalidad en desarrollo, disculpen las molestias');
|
||||
end;
|
||||
|
||||
procedure TAppAdminPV.ShowSplashForm;
|
||||
begin
|
||||
if not Assigned(FAppSplashForm) then
|
||||
raise Exception.Create('AppSplashForm no asignado (ShowSplashForm)');
|
||||
|
||||
FAppSplashForm.Show;
|
||||
FAppSplashForm.Update;
|
||||
end;
|
||||
|
||||
procedure TAppAdminPV.Terminate;
|
||||
begin
|
||||
ModuleManager.UnloadModules;
|
||||
FTerminated := True;
|
||||
end;
|
||||
|
||||
procedure TAppAdminPV.UpdateSplashForm;
|
||||
begin
|
||||
FAppSplashForm.Update;
|
||||
end;
|
||||
|
||||
initialization
|
||||
// Pongo esto aquí por ahora
|
||||
uUsuariosViewRegister.RegisterViews;
|
||||
|
||||
finalization
|
||||
// Pongo esto aquí por ahora
|
||||
AppAdminPV := NIL;
|
||||
|
||||
uUsuariosViewRegister.UnregisterViews;
|
||||
|
||||
end.
|
||||
@ -3,14 +3,14 @@
|
||||
<PersonalityInfo>
|
||||
<Option>
|
||||
<Option Name="Personality">Delphi.Personality</Option>
|
||||
<Option Name="ProjectType"></Option>
|
||||
<Option Name="ProjectType">VCLApplication</Option>
|
||||
<Option Name="Version">1.0</Option>
|
||||
<Option Name="GUID">{14A25028-EC1A-430C-ADE3-13C264E9BAC2}</Option>
|
||||
<Option Name="GUID">{51B1CBD5-E922-4E6D-B778-6DE1BCA9118C}</Option>
|
||||
</Option>
|
||||
</PersonalityInfo>
|
||||
<Delphi.Personality>
|
||||
<Source>
|
||||
<Source Name="MainSource">ApplicationBase.dpk</Source>
|
||||
<Source Name="MainSource">BaseD10.dpk</Source>
|
||||
</Source>
|
||||
<FileVersion>
|
||||
<FileVersion Name="Version">7.0</FileVersion>
|
||||
@ -30,7 +30,7 @@
|
||||
<Compiler Name="L">1</Compiler>
|
||||
<Compiler Name="M">0</Compiler>
|
||||
<Compiler Name="N">1</Compiler>
|
||||
<Compiler Name="O">1</Compiler>
|
||||
<Compiler Name="O">0</Compiler>
|
||||
<Compiler Name="P">1</Compiler>
|
||||
<Compiler Name="Q">0</Compiler>
|
||||
<Compiler Name="R">0</Compiler>
|
||||
@ -38,7 +38,7 @@
|
||||
<Compiler Name="T">0</Compiler>
|
||||
<Compiler Name="U">0</Compiler>
|
||||
<Compiler Name="V">1</Compiler>
|
||||
<Compiler Name="W">0</Compiler>
|
||||
<Compiler Name="W">1</Compiler>
|
||||
<Compiler Name="X">1</Compiler>
|
||||
<Compiler Name="Y">1</Compiler>
|
||||
<Compiler Name="Z">1</Compiler>
|
||||
@ -103,19 +103,10 @@
|
||||
<Compiler Name="UnitInitSeq">True</Compiler>
|
||||
<Compiler Name="LocalPInvoke">True</Compiler>
|
||||
<Compiler Name="MessageDirective">True</Compiler>
|
||||
<Compiler Name="TypeInfoImplicitlyAdded">True</Compiler>
|
||||
<Compiler Name="XMLWhitespaceNotAllowed">True</Compiler>
|
||||
<Compiler Name="XMLUnknownEntity">True</Compiler>
|
||||
<Compiler Name="XMLInvalidNameStart">True</Compiler>
|
||||
<Compiler Name="XMLInvalidName">True</Compiler>
|
||||
<Compiler Name="XMLExpectedCharacter">True</Compiler>
|
||||
<Compiler Name="XMLCRefNoResolve">True</Compiler>
|
||||
<Compiler Name="XMLNoParm">True</Compiler>
|
||||
<Compiler Name="XMLNoMatchingParm">True</Compiler>
|
||||
<Compiler Name="CodePage"></Compiler>
|
||||
</Compiler>
|
||||
<Linker>
|
||||
<Linker Name="MapFile">0</Linker>
|
||||
<Linker Name="MapFile">3</Linker>
|
||||
<Linker Name="OutputObjs">0</Linker>
|
||||
<Linker Name="GenerateHpps">False</Linker>
|
||||
<Linker Name="ConsoleApp">1</Linker>
|
||||
@ -130,9 +121,9 @@
|
||||
<Directories>
|
||||
<Directories Name="OutputDir"></Directories>
|
||||
<Directories Name="UnitOutputDir">.\</Directories>
|
||||
<Directories Name="PackageDLLOutputDir">..\..\..\..\Output\Debug\Cliente</Directories>
|
||||
<Directories Name="PackageDLLOutputDir">..\..\Output\Debug\Cliente</Directories>
|
||||
<Directories Name="PackageDCPOutputDir">..\Lib</Directories>
|
||||
<Directories Name="SearchPath">..\Lib</Directories>
|
||||
<Directories Name="SearchPath"></Directories>
|
||||
<Directories Name="Packages"></Directories>
|
||||
<Directories Name="Conditionals"></Directories>
|
||||
<Directories Name="DebugSourceDirs"></Directories>
|
||||
@ -148,13 +139,15 @@
|
||||
<Parameters Name="LoadAllSymbols">True</Parameters>
|
||||
<Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
|
||||
</Parameters>
|
||||
<Signing>
|
||||
<Signing Name="SignAssembly">False</Signing>
|
||||
</Signing>
|
||||
<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="MajorVer">2</VersionInfo>
|
||||
<VersionInfo Name="MinorVer">0</VersionInfo>
|
||||
<VersionInfo Name="Release">0</VersionInfo>
|
||||
<VersionInfo Name="Build">0</VersionInfo>
|
||||
@ -169,7 +162,7 @@
|
||||
<VersionInfoKeys>
|
||||
<VersionInfoKeys Name="CompanyName"></VersionInfoKeys>
|
||||
<VersionInfoKeys Name="FileDescription"></VersionInfoKeys>
|
||||
<VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
|
||||
<VersionInfoKeys Name="FileVersion">2.0.0.0</VersionInfoKeys>
|
||||
<VersionInfoKeys Name="InternalName"></VersionInfoKeys>
|
||||
<VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys>
|
||||
<VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
|
||||
@ -177,50 +170,32 @@
|
||||
<VersionInfoKeys Name="ProductName"></VersionInfoKeys>
|
||||
<VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
|
||||
<VersionInfoKeys Name="Comments"></VersionInfoKeys>
|
||||
</VersionInfoKeys>
|
||||
<Excluded_Packages>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<Excluded_Packages Name="$(BDS)\Bin\dclintraweb_90_100.bpl">VCL for the Web Design Package for CodeGear RAD Studio</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\dclwebsnap100.bpl">CodeGear WebSnap Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\dclsoap100.bpl">CodeGear SOAP Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\dclofficexp100.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\dcloffice2k100.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\bcboffice2k100.bpl">CodeGear C++Builder Office 2000 Servers Package</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\bcbofficexp100.bpl">CodeGear C++Builder Office XP Servers Package</Excluded_Packages>
|
||||
</VersionInfoKeys> <Excluded_Packages>
|
||||
<Excluded_Packages Name="C:\Documents and Settings\Usuario\Mis documentos\Borland Studio Projects\Bpl\fsTee10.bpl">(untitled)</Excluded_Packages>
|
||||
<Excluded_Packages Name="C:\Documents and Settings\Usuario\Mis documentos\Borland Studio Projects\Bpl\fs10.bpl">(untitled)</Excluded_Packages>
|
||||
<Excluded_Packages Name="C:\Documents and Settings\Usuario\Mis documentos\Borland Studio Projects\Bpl\frx10.bpl">(untitled)</Excluded_Packages>
|
||||
<Excluded_Packages Name="C:\Documents and Settings\Usuario\Mis documentos\Borland Studio Projects\Bpl\frxADO10.bpl">(untitled)</Excluded_Packages>
|
||||
<Excluded_Packages Name="C:\Documents and Settings\Usuario\Mis documentos\Borland Studio Projects\Bpl\frxBDE10.bpl">(untitled)</Excluded_Packages>
|
||||
<Excluded_Packages Name="C:\Documents and Settings\Usuario\Mis documentos\Borland Studio Projects\Bpl\frxDB10.bpl">(untitled)</Excluded_Packages>
|
||||
<Excluded_Packages Name="C:\Documents and Settings\Usuario\Mis documentos\Borland Studio Projects\Bpl\frxDBX10.bpl">(untitled)</Excluded_Packages>
|
||||
<Excluded_Packages Name="C:\Documents and Settings\Usuario\Mis documentos\Borland Studio Projects\Bpl\frxe10.bpl">(untitled)</Excluded_Packages>
|
||||
<Excluded_Packages Name="C:\Documents and Settings\Usuario\Mis documentos\Borland Studio Projects\Bpl\frxIBX10.bpl">(untitled)</Excluded_Packages>
|
||||
<Excluded_Packages Name="C:\Documents and Settings\Usuario\Mis documentos\Borland Studio Projects\Bpl\frxTee10.bpl">(untitled)</Excluded_Packages>
|
||||
<Excluded_Packages Name="C:\Documents and Settings\Usuario\Mis documentos\Borland Studio Projects\Bpl\fsADO10.bpl">(untitled)</Excluded_Packages>
|
||||
<Excluded_Packages Name="C:\Documents and Settings\Usuario\Mis documentos\Borland Studio Projects\Bpl\fsBDE10.bpl">(untitled)</Excluded_Packages>
|
||||
<Excluded_Packages Name="C:\Documents and Settings\Usuario\Mis documentos\Borland Studio Projects\Bpl\fsDB10.bpl">(untitled)</Excluded_Packages>
|
||||
<Excluded_Packages Name="C:\Documents and Settings\Usuario\Mis documentos\Borland Studio Projects\Bpl\fsIBX10.bpl">(untitled)</Excluded_Packages>
|
||||
</Excluded_Packages>
|
||||
<buildevents/>
|
||||
</Delphi.Personality>
|
||||
</BorlandProject>
|
||||
|
||||
<!-- EurekaLog First Line
|
||||
[Exception Log]
|
||||
EurekaLog Version=6006
|
||||
Activate=0
|
||||
Activate=1
|
||||
Activate Handle=1
|
||||
Save Log File=1
|
||||
Foreground Tab=0
|
||||
Freeze Activate=0
|
||||
Freeze Timeout=0
|
||||
Freeze Timeout=1
|
||||
SMTP From=eurekalog@email.com
|
||||
SMTP Host=
|
||||
SMTP Port=25
|
||||
@ -367,7 +342,7 @@ boSaveCompressedCopyInCaseOfError=0
|
||||
boHandleSafeCallExceptions=1
|
||||
boCallRTLExceptionEvent=0
|
||||
boCatchHandledExceptions=0
|
||||
loCatchLeaks=0
|
||||
loCatchLeaks=1
|
||||
loGroupsSonLeaks=1
|
||||
loHideBorlandLeaks=1
|
||||
loFreeAllLeaks=1
|
||||
@ -693,5 +668,6 @@ Count mtException_AntiFreeze=1
|
||||
mtException_AntiFreeze0="The application seems to be frozen."
|
||||
Count mtInvalidEmailMsg=1
|
||||
mtInvalidEmailMsg0="Invalid email."
|
||||
TextsCollection=English
|
||||
TextsCollection=
|
||||
EurekaLog Last Line -->
|
||||
</BorlandProject>
|
||||
@ -1,4 +1,4 @@
|
||||
package Base;
|
||||
package BaseD10;
|
||||
|
||||
{$R *.res}
|
||||
{$ALIGN 8}
|
||||
@ -30,15 +30,15 @@ requires
|
||||
rtl,
|
||||
vcl,
|
||||
vcldb,
|
||||
GUISDK_D11,
|
||||
GUISDK_D10,
|
||||
vcljpg,
|
||||
dbrtl,
|
||||
dsnap,
|
||||
PNG_D10,
|
||||
PngComponentsD10,
|
||||
JvCoreD11R,
|
||||
JvStdCtrlsD11R,
|
||||
JvPageCompsD11R,
|
||||
JvCoreD10R,
|
||||
JvStdCtrlsD10R,
|
||||
JvPageCompsD10R,
|
||||
cxLibraryD10,
|
||||
dxThemeD10,
|
||||
cxEditorsD10,
|
||||
@ -53,7 +53,7 @@ requires
|
||||
designide,
|
||||
cxExportD10,
|
||||
adortl,
|
||||
JvSystemD11R,
|
||||
JvSystemD10R,
|
||||
dxPSCoreD10,
|
||||
dxPScxCommonD10,
|
||||
dxPScxGridLnkD10,
|
||||
@ -62,8 +62,9 @@ requires
|
||||
dxBarExtItemsD10,
|
||||
cxIntl5D10,
|
||||
dxPsPrVwAdvD10,
|
||||
JvMMD11R,
|
||||
JvCtrlsD11R,
|
||||
ccpack10,
|
||||
JvMMD10R,
|
||||
JvCtrlsD10R,
|
||||
tee,
|
||||
frx10,
|
||||
fs10,
|
||||
@ -72,19 +73,20 @@ requires
|
||||
dxComnD10,
|
||||
Jcl,
|
||||
JclVcl,
|
||||
JvAppFrmD11R,
|
||||
JvAppFrmD10R,
|
||||
dxPSLnksD10,
|
||||
vclshlctrls,
|
||||
dclcxLibraryD10,
|
||||
RemObjects_Core_D11,
|
||||
DataAbstract_Core_D11,
|
||||
JSDialog100;
|
||||
RemObjects_Core_D10,
|
||||
DataAbstract_Core_D10;
|
||||
|
||||
contains
|
||||
uDMBase in 'uDMBase.pas' {dmBase: TDAClientDataModule},
|
||||
uDataModuleBase in 'uDataModuleBase.pas' {dmBase: TDAClientDataModule},
|
||||
uEditorBase in 'uEditorBase.pas' {fEditorBase},
|
||||
uEditorGridBase in 'uEditorGridBase.pas' {fEditorGridBase},
|
||||
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},
|
||||
@ -93,24 +95,15 @@ contains
|
||||
uEditorDBItem in 'uEditorDBItem.pas' {fEditorDBItem: TCustomEditor},
|
||||
uExceptions in 'uExceptions.pas',
|
||||
uViewBarraSeleccion in 'uViewBarraSeleccion.pas' {frViewBarraSeleccion: TFrame},
|
||||
uDBSelectionList in 'uDBSelectionList.pas',
|
||||
uConfigurarConexion in 'uConfigurarConexion.pas' {fConfigurarConexion},
|
||||
uBizInformesBase in 'uBizInformesBase.pas',
|
||||
uSysFunc in 'uSysFunc.pas',
|
||||
VARELA_Intf in '..\Servidor\VARELA_Intf.pas',
|
||||
uViewGrid in 'uViewGrid.pas' {frViewGrid: TCustomView},
|
||||
VARELA_Intf in '..\Servicios\VARELA_Intf.pas',
|
||||
uControllerBase in 'Controladores\uControllerBase.pas',
|
||||
uDataModuleBase in 'uDataModuleBase.pas' {fDataModuleBase: TDataModuleBase},
|
||||
uSysFunc in 'Utiles\uSysFunc.pas',
|
||||
uDataTableUtils in 'Utiles\uDataTableUtils.pas',
|
||||
uDBSelectionList in 'Utiles\uDBSelectionList.pas',
|
||||
uDialogUtils in 'Utiles\uDialogUtils.pas',
|
||||
uEditorUtils in 'Utiles\uEditorUtils.pas',
|
||||
uGridUtils in 'Utiles\uGridUtils.pas',
|
||||
uIntegerList in 'Utiles\uIntegerList.pas',
|
||||
uViewRegistryUtils in 'ClassRegistry\uViewRegistryUtils.pas',
|
||||
uClassRegistryUtils in 'ClassRegistry\uClassRegistryUtils.pas',
|
||||
uEditorRegistryUtils in 'ClassRegistry\uEditorRegistryUtils.pas',
|
||||
uInformeRegistryUtils in 'ClassRegistry\uInformeRegistryUtils.pas',
|
||||
uAppInfoUtils in 'Utiles\uAppInfoUtils.pas',
|
||||
uDateUtils in 'Utiles\uDateUtils.pas';
|
||||
uIntegerList in 'uIntegerList.pas',
|
||||
schStockClient_Intf in '..\Modulos\Stock\Reglas\schStockClient_Intf.pas',
|
||||
schStockServer_Intf in '..\Modulos\Stock\Reglas\schStockServer_Intf.pas',
|
||||
uGridUtils in 'uGridUtils.pas';
|
||||
|
||||
end.
|
||||
@ -2,11 +2,11 @@
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<ProjectGuid>{51b1cbd5-e922-4e6d-b778-6de1bca9118c}</ProjectGuid>
|
||||
<MainSource>Base.dpk</MainSource>
|
||||
<MainSource>BaseD10.dpk</MainSource>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
|
||||
<DCC_DependencyCheckOutputName>..\..\Output\Debug\Cliente\Base.bpl</DCC_DependencyCheckOutputName>
|
||||
<DCC_DependencyCheckOutputName>..\..\Output\Debug\Cliente\BaseD10.bpl</DCC_DependencyCheckOutputName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<Version>7.0</Version>
|
||||
@ -40,27 +40,24 @@
|
||||
<Borland.ProjectType>Package</Borland.ProjectType>
|
||||
<BorlandProject>
|
||||
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">False</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">True</Package_Options></Package_Options><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">2</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">2.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><Excluded_Packages>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<Excluded_Packages Name="$(BDS)\bin\dclwebsnap100.bpl">CodeGear WebSnap Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\dclsoap100.bpl">CodeGear SOAP Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\dclofficexp100.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\dcloffice2k100.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\bcboffice2k100.bpl">CodeGear C++Builder Office 2000 Servers Package</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\bcbofficexp100.bpl">CodeGear C++Builder Office XP Servers Package</Excluded_Packages>
|
||||
</Excluded_Packages><Source><Source Name="MainSource">Base.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
|
||||
</Excluded_Packages><Source><Source Name="MainSource">BaseD10.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
|
||||
</ProjectExtensions>
|
||||
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
|
||||
<ItemGroup>
|
||||
<DelphiCompile Include="Base.dpk">
|
||||
<DelphiCompile Include="BaseD10.dpk">
|
||||
<MainSource>MainSource</MainSource>
|
||||
</DelphiCompile>
|
||||
<DCCReference Include="..\Servicios\VARELA_Intf.pas" />
|
||||
<DCCReference Include="..\Modulos\Stock\Reglas\schStockClient_Intf.pas" />
|
||||
<DCCReference Include="..\Modulos\Stock\Reglas\schStockServer_Intf.pas" />
|
||||
<DCCReference Include="..\Servidor\VARELA_Intf.pas" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\adortl.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\ccpack10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\cxDataD10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\cxEditorsD10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\cxExportD10.dcp" />
|
||||
@ -70,7 +67,7 @@
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\cxIntlPrintSys3D10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\cxLibraryD10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\cxPageControlD10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\DataAbstract_Core_D11.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\DataAbstract_Core_D10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\dbrtl.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\dclcxLibraryD10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\designide.dcp" />
|
||||
@ -87,58 +84,50 @@
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\dxThemeD10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\frx10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\frxe10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\frxTee10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\fs10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\GUISDK_D11.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\fsTee10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\GUISDK_D10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\Jcl.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JclVcl.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JSDialog100.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvAppFrmD11R.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvCoreD11R.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvCtrlsD11R.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvMMD11R.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvPageCompsD11R.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvStdCtrlsD11R.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvSystemD11R.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvAppFrmD10R.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvCoreD10R.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvCtrlsD10R.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvMMD10R.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvPageCompsD10R.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvStdCtrlsD10R.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvSystemD10R.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\PngComponentsD10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\PNG_D10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\RemObjects_Core_D11.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\RemObjects_Core_D10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\rtl.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\tb2k_D10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\tbx_D10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\tee.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\teeui.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\vcl.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\vclactnband.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\vcldb.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\vcljpg.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\vclshlctrls.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\vclx.dcp" />
|
||||
<DCCReference Include="ClassRegistry\uClassRegistryUtils.pas" />
|
||||
<DCCReference Include="ClassRegistry\uEditorRegistryUtils.pas" />
|
||||
<DCCReference Include="ClassRegistry\uInformeRegistryUtils.pas" />
|
||||
<DCCReference Include="ClassRegistry\uViewRegistryUtils.pas" />
|
||||
<DCCReference Include="Controladores\uControllerBase.pas" />
|
||||
<DCCReference Include="uBizInformesBase.pas" />
|
||||
<DCCReference Include="uConfigurarConexion.pas">
|
||||
<Form>fConfigurarConexion</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uDataModuleBase.pas">
|
||||
<Form>fDataModuleBase</Form>
|
||||
<DesignClass>TDataModuleBase</DesignClass>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uDMBase.pas">
|
||||
<Form>dmBase</Form>
|
||||
<DesignClass>TDAClientDataModule</DesignClass>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uDataTableUtils.pas" />
|
||||
<DCCReference Include="uDBSelectionList.pas" />
|
||||
<DCCReference Include="uEditorBase.pas">
|
||||
<Form>fEditorBase</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uEditorDBBase.pas">
|
||||
<Form>fEditorDBBase</Form>
|
||||
<DesignClass>TCustomEditor</DesignClass>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uEditorDBItem.pas">
|
||||
<Form>fEditorDBItem</Form>
|
||||
<DesignClass>TCustomEditor</DesignClass>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uEditorGridBase.pas">
|
||||
<Form>fEditorGridBase</Form>
|
||||
@ -149,35 +138,25 @@
|
||||
<DCCReference Include="uEditorPreview.pas">
|
||||
<Form>fEditorPreview</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uEditorUtils.pas" />
|
||||
<DCCReference Include="uExceptions.pas" />
|
||||
<DCCReference Include="Utiles\uAppInfoUtils.pas" />
|
||||
<DCCReference Include="Utiles\uDataTableUtils.pas" />
|
||||
<DCCReference Include="Utiles\uDateUtils.pas" />
|
||||
<DCCReference Include="Utiles\uDBSelectionList.pas" />
|
||||
<DCCReference Include="Utiles\uDialogUtils.pas" />
|
||||
<DCCReference Include="Utiles\uEditorUtils.pas" />
|
||||
<DCCReference Include="Utiles\uGridUtils.pas" />
|
||||
<DCCReference Include="Utiles\uIntegerList.pas" />
|
||||
<DCCReference Include="Utiles\uSysFunc.pas" />
|
||||
<DCCReference Include="uGridUtils.pas" />
|
||||
<DCCReference Include="uIntegerList.pas" />
|
||||
<DCCReference Include="uSysFunc.pas" />
|
||||
<DCCReference Include="uViewBarraSeleccion.pas">
|
||||
<Form>frViewBarraSeleccion</Form>
|
||||
<DesignClass>TFrame</DesignClass>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uViewBase.pas">
|
||||
<Form>frViewBase</Form>
|
||||
<DesignClass>TCustomView</DesignClass>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uViewGrid.pas">
|
||||
<Form>frViewGrid</Form>
|
||||
<DesignClass>TCustomView</DesignClass>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uViewGridBase.pas">
|
||||
<Form>frViewGridBase</Form>
|
||||
<DesignClass>TCustomView</DesignClass>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uViewPreview.pas">
|
||||
<Form>frViewPreview</Form>
|
||||
<DesignClass>TFrame</DesignClass>
|
||||
</DCCReference>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@ -8,17 +8,14 @@
|
||||
resources were bound to the produced executable.
|
||||
*/
|
||||
|
||||
#define uClassRegistryUtils_eClassnotFound 65520
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
uClassRegistryUtils_eClassnotFound, "Class \"%s\" was not found in the registry."
|
||||
END
|
||||
|
||||
/* C:\Varela_D2007\Source\Base\uConfigurarConexion.dfm */
|
||||
/* C:\Varela_D2007\Source\Base\uDMBase.dfm */
|
||||
/* C:\Varela_D2007\Source\Base\uDataModuleBase.dfm */
|
||||
/* C:\Varela_D2007\Source\Base\uViewBase.dfm */
|
||||
/* C:\Varela_D2007\Source\Base\uEditorBase.dfm */
|
||||
/* C:\Varela_D2007\Source\Base\uDataModuleBase.dfm */
|
||||
/* C:\Varela_D2007\Source\Base\uViewGridBase.dfm */
|
||||
/* C:\Varela_D2007\Source\Base\uEditorItem.dfm */
|
||||
/* C:\Varela_D2007\Source\Base\uEditorDBBase.dfm */
|
||||
@ -28,5 +25,5 @@ END
|
||||
/* C:\Varela_D2007\Source\Base\uEditorDBItem.dfm */
|
||||
/* C:\Varela_D2007\Source\Base\uViewBarraSeleccion.dfm */
|
||||
/* C:\Varela_D2007\Source\Base\uViewGrid.dfm */
|
||||
/* C:\Varela_D2007\Source\Base\Base.res */
|
||||
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf2C.tmp */
|
||||
/* C:\Varela_D2007\Source\Base\BaseD10.res */
|
||||
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf9.tmp */
|
||||
BIN
Source/Base/BaseD10.identcache
Normal file
BIN
Source/Base/BaseD10.identcache
Normal file
Binary file not shown.
@ -1,336 +0,0 @@
|
||||
unit uClassRegistryUtils;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, Forms, uGUIBase;
|
||||
|
||||
type
|
||||
IClassRegistry = Interface
|
||||
['{FD23C946-4103-4C67-9C3F-644B52826833}']
|
||||
procedure RegisterClass( aClass: TClass; const aDisplayname: String = '');
|
||||
procedure RegisterClasses( const aClasses: array of TClass;
|
||||
const aDisplaynames: array of String );
|
||||
procedure UnRegisterClass( aClass: TClass );
|
||||
function FindClass( const aClassOrDisplayname: String ): Tclass;
|
||||
function IsClassRegistered( aClass: TClass ): Boolean; overload;
|
||||
function IsClassRegistered( const aDisplayname: String ): Boolean; overload;
|
||||
procedure GetRegisteredClasses( aList: TStrings; aMinClass: TClass = nil);
|
||||
function CreateObject( const aClassOrDisplayname: String ): TObject;
|
||||
end;
|
||||
|
||||
IComponentRegistry = Interface( IClassRegistry )
|
||||
['{04BAA01F-9AF4-4E60-9922-641E127A35C2}']
|
||||
function CreateComponent( const aClassOrDisplayname: String;
|
||||
aOwner:TComponent = nil ): TComponent;
|
||||
end;
|
||||
|
||||
IFormRegistry = Interface( IComponentRegistry )
|
||||
['{28E3BF72-1378-4136-B1FB-027FBB8FE99B}']
|
||||
function CreateForm( const aClassOrDisplayname: String;
|
||||
aOwner: TComponent = nil ): TForm;
|
||||
end;
|
||||
|
||||
IDataModuleRegistry = Interface( IComponentRegistry )
|
||||
['{9D8D1D23-6A5C-4351-9393-093CD8B76788}']
|
||||
function CreateDatamodule( const aClassOrDisplayname: String;
|
||||
aOwner: TComponent = nil ): TDatamodule;
|
||||
end;
|
||||
|
||||
IReportRegistry = Interface( IComponentRegistry )
|
||||
['{49D3C8D5-8FEE-4F15-A6D2-51CB1DB29F8D}']
|
||||
function CreateReport( const aClassOrDisplayname: String;
|
||||
aOwner: TComponent = nil ): TInterfacedObject;
|
||||
end;
|
||||
|
||||
TClassRegistry = class( TInterfacedObject, IClassRegistry )
|
||||
private
|
||||
FList: TStringlist;
|
||||
FMinAcceptableClass: TClass;
|
||||
|
||||
function FindClassByClassname( const aClassname: String ): Tclass;
|
||||
function FindClassByDisplayname( const aDisplayname: String ): TClass;
|
||||
function IsClassAcceptable( aClass: TClass ): Boolean;
|
||||
function GetClasses(index: integer): TClass;
|
||||
function GetCount: Integer;
|
||||
protected
|
||||
procedure ValidateMinAcceptableClass(var aMinAcceptableClass: TClass ); virtual;
|
||||
procedure RegisterClass( aClass: TClass; const aDisplayname: String = '');
|
||||
procedure RegisterClasses( const aClasses: array of TClass;
|
||||
const aDisplaynames: array of String );
|
||||
procedure UnRegisterClass( aClass: TClass );
|
||||
function FindClass( const aClassOrDisplayname: String ): Tclass;
|
||||
function IsClassRegistered( aClass: TClass ): Boolean; overload;
|
||||
function IsClassRegistered( const aDisplayname: String ): Boolean; overload;
|
||||
procedure GetRegisteredClasses( aList: TStrings; aMinClass: TClass = nil);
|
||||
function CreateObject( const aClassOrDisplayname: String ): TObject;
|
||||
property MinAcceptableClass: TClass read FMinAcceptableClass;
|
||||
property List: TStringlist read FList;
|
||||
property Count: Integer read GetCount;
|
||||
property Classes[ index: integer ]: TClass read GetClasses;
|
||||
public
|
||||
constructor Create( minAcceptableClass: TClass = nil ); virtual;
|
||||
destructor Destroy; override;
|
||||
end;
|
||||
|
||||
TComponentRegistry = class( TClassRegistry, IComponentRegistry )
|
||||
protected
|
||||
procedure ValidateMinAcceptableClass(var aMinAcceptableClass: TClass ); override;
|
||||
function CreateComponent( const aClassOrDisplayname: String;
|
||||
aOwner: TComponent = nil ): TComponent;
|
||||
end;
|
||||
|
||||
TFormRegistry = class( TComponentRegistry, IFormRegistry )
|
||||
protected
|
||||
procedure ValidateMinAcceptableClass(var aMinAcceptableClass: TClass ); override;
|
||||
function CreateForm( const aClassOrDisplayname: String;
|
||||
aOwner: TComponent = nil ): TForm;
|
||||
end;
|
||||
|
||||
TDataModuleRegistry = class( TComponentRegistry, IDataModuleRegistry )
|
||||
protected
|
||||
procedure ValidateMinAcceptableClass(var aMinAcceptableClass: TClass); override;
|
||||
function CreateDatamodule( const aClassOrDisplayname: String;
|
||||
aOwner: TComponent = nil ): TDatamodule;
|
||||
end;
|
||||
|
||||
TReportRegistry = class( TComponentRegistry, IReportRegistry )
|
||||
protected
|
||||
procedure ValidateMinAcceptableClass(var aMinAcceptableClass: TClass ); override;
|
||||
function CreateReport( const aClassOrDisplayname: String;
|
||||
aOwner: TComponent = nil ): TInterfacedObject;
|
||||
end;
|
||||
|
||||
EClassRegistryError = class( Exception );
|
||||
|
||||
implementation
|
||||
|
||||
{ TClassRegistry }
|
||||
|
||||
ResourceString
|
||||
eClassnotFound = 'Class "%s" was not found in the registry.';
|
||||
|
||||
constructor TClassRegistry.Create(minAcceptableClass: TClass);
|
||||
begin
|
||||
inherited Create;
|
||||
FList := Tstringlist.Create;
|
||||
ValidateMinAcceptableClass( minAcceptableClass );
|
||||
FMinAcceptableClass := minAcceptableClass;
|
||||
end;
|
||||
|
||||
function TClassRegistry.CreateObject(
|
||||
const aClassOrDisplayname: String): TObject;
|
||||
begin
|
||||
Result := FindClass( aClassOrDisplayname ).Create;
|
||||
end;
|
||||
|
||||
destructor TClassRegistry.Destroy;
|
||||
begin
|
||||
Flist.Free;
|
||||
inherited;
|
||||
end;
|
||||
|
||||
function TClassRegistry.FindClass(
|
||||
const aClassOrDisplayname: String): Tclass;
|
||||
begin
|
||||
Result := FindClassByDisplayname( aClassOrDisplayname );
|
||||
If not Assigned( Result ) Then
|
||||
Result := FindClassByClassname( aClassOrDisplayname );
|
||||
If not Assigned( Result ) Then
|
||||
raise EClassRegistryError.CreateFmt
|
||||
( eClassnotFound, [ aClassOrDisplayname ] );
|
||||
end;
|
||||
|
||||
function TClassRegistry.FindClassByClassname(
|
||||
const aClassname: String): Tclass;
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
for i:= 0 to count-1 do begin
|
||||
Result := classes[i];
|
||||
If Result.ClassNameIs( aClassname ) Then
|
||||
Exit;
|
||||
end;
|
||||
Result := nil;
|
||||
end;
|
||||
|
||||
function TClassRegistry.FindClassByDisplayname(
|
||||
const aDisplayname: String): TClass;
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
i:= List.IndexOf( aDisplayname );
|
||||
If i >= 0 Then
|
||||
Result := Classes[i]
|
||||
Else
|
||||
Result := nil;
|
||||
end;
|
||||
|
||||
function TClassRegistry.GetClasses(index: integer): TClass;
|
||||
begin
|
||||
Result := TClass( List.Objects[index] );
|
||||
end;
|
||||
|
||||
function TClassRegistry.GetCount: Integer;
|
||||
begin
|
||||
Result := List.Count;
|
||||
end;
|
||||
|
||||
procedure TClassRegistry.GetRegisteredClasses(aList: TStrings;
|
||||
aMinClass: TClass);
|
||||
var
|
||||
i: Integer;
|
||||
aClass: TClass;
|
||||
begin
|
||||
Assert( Assigned( aList ));
|
||||
aList.BeginUpdate;
|
||||
try
|
||||
aList.Clear;
|
||||
If not Assigned( aMinClass ) Then
|
||||
aList.Assign( List )
|
||||
else begin
|
||||
For i:= 0 To Count-1 Do Begin
|
||||
aClass := Classes[i];
|
||||
If aClass.InheritsFrom( aMinClass ) Then
|
||||
aList.AddObject( List[i], TObject( aClass ));
|
||||
end;
|
||||
end;
|
||||
finally
|
||||
aList.EndUpdate
|
||||
end;
|
||||
end;
|
||||
|
||||
function TClassRegistry.IsClassAcceptable(aClass: TClass): Boolean;
|
||||
begin
|
||||
Result := Assigned( aClass ) and
|
||||
aClass.InheritsFrom( MinAcceptableClass );
|
||||
end;
|
||||
|
||||
function TClassRegistry.IsClassRegistered(const aDisplayname: String): Boolean;
|
||||
begin
|
||||
Result := List.IndexOf(aDisplayname) >= 0;
|
||||
end;
|
||||
|
||||
function TClassRegistry.IsClassRegistered(aClass: TClass): Boolean;
|
||||
begin
|
||||
Result := List.IndexOfObject( TObject( aClass )) >= 0;
|
||||
end;
|
||||
|
||||
procedure TClassRegistry.RegisterClass(aClass: TClass;
|
||||
const aDisplayname: String);
|
||||
begin
|
||||
Assert( Assigned( aClass ), 'Cannot register Nil class' );
|
||||
If aDisplayname = '' Then
|
||||
RegisterClass( aClass, aClass.Classname )
|
||||
else begin
|
||||
Assert( IsClassAcceptable( aClass ),
|
||||
format('Cannot register %s since it does not inherit from %s',
|
||||
[aclass.classname, MinAcceptableClass.classname] ));
|
||||
Assert( not IsClassRegistered( aClass ),
|
||||
Format('Class %s is already registered.', [aClass.Classname]));
|
||||
List.AddObject( aDisplayname, TObject( aClass ));
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TClassRegistry.RegisterClasses(const aClasses: array of TClass;
|
||||
const aDisplaynames: array of String);
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
Assert( High( aClasses ) = High( aDisplaynames ),
|
||||
'Size of both parameter arrays has to be the same.' );
|
||||
for i:= Low( aClasses ) to High( aClasses ) do
|
||||
RegisterClass( aClasses[i], aDisplaynames[i] );
|
||||
end;
|
||||
|
||||
procedure TClassRegistry.UnRegisterClass(aClass: TClass);
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
i:= List.IndexOfObject( TObject( aClass ));
|
||||
If i >= 0 Then
|
||||
List.Delete( i );
|
||||
// does not consider attempt to unregister a class that is not
|
||||
// registered as an error.
|
||||
end;
|
||||
|
||||
procedure TClassRegistry.ValidateMinAcceptableClass(
|
||||
var aMinAcceptableClass: TClass);
|
||||
begin
|
||||
If not Assigned( aMinAcceptableClass ) Then
|
||||
aMinAcceptableClass := TObject;
|
||||
end;
|
||||
|
||||
{ TComponentRegistry }
|
||||
|
||||
function TComponentRegistry.CreateComponent(
|
||||
const aClassOrDisplayname: String; aOwner: TComponent): TComponent;
|
||||
var
|
||||
aClass: TComponentClass;
|
||||
begin
|
||||
aClass := TComponentClass( FindClass( aClassOrDisplayname ));
|
||||
Result := aClass.Create( aOwner );
|
||||
end;
|
||||
|
||||
procedure TComponentRegistry.ValidateMinAcceptableClass(
|
||||
var aMinAcceptableClass: TClass);
|
||||
begin
|
||||
inherited;
|
||||
If not aMinAcceptableClass.InheritsFrom( TComponent )
|
||||
Then
|
||||
aMinAcceptableClass := TComponent;
|
||||
end;
|
||||
|
||||
{ TFormRegistry }
|
||||
|
||||
function TFormRegistry.CreateForm(const aClassOrDisplayname: String;
|
||||
aOwner: TComponent): TForm;
|
||||
begin
|
||||
Result := CreateComponent( aClassOrDisplayname, aOwner ) As TForm;
|
||||
end;
|
||||
|
||||
procedure TFormRegistry.ValidateMinAcceptableClass(
|
||||
var aMinAcceptableClass: TClass);
|
||||
begin
|
||||
inherited;
|
||||
If not aMinAcceptableClass.InheritsFrom( TForm )
|
||||
Then
|
||||
aMinAcceptableClass := TForm;
|
||||
end;
|
||||
|
||||
{ TDataModuleRegistry }
|
||||
|
||||
function TDataModuleRegistry.CreateDatamodule(
|
||||
const aClassOrDisplayname: String; aOwner: TComponent): TDatamodule;
|
||||
begin
|
||||
Result := CreateComponent( aClassOrDisplayname, aOwner ) As TDatamodule;
|
||||
end;
|
||||
|
||||
procedure TDataModuleRegistry.ValidateMinAcceptableClass(
|
||||
var aMinAcceptableClass: TClass);
|
||||
begin
|
||||
inherited;
|
||||
If not aMinAcceptableClass.InheritsFrom( TDatamodule )
|
||||
Then
|
||||
aMinAcceptableClass := TDatamodule;
|
||||
end;
|
||||
|
||||
{ TReportRegistry }
|
||||
|
||||
function TReportRegistry.CreateReport(const aClassOrDisplayname: String;
|
||||
aOwner: TComponent): TInterfacedObject;
|
||||
begin
|
||||
Result := CreateObject( aClassOrDisplayname) As TInterfacedObject;
|
||||
// Result := CreateComponent( aClassOrDisplayname, aOwner ) As TInterfacedObject;
|
||||
end;
|
||||
|
||||
procedure TReportRegistry.ValidateMinAcceptableClass(
|
||||
var aMinAcceptableClass: TClass);
|
||||
begin
|
||||
inherited;
|
||||
If not aMinAcceptableClass.InheritsFrom( TInterfacedObject )
|
||||
Then
|
||||
aMinAcceptableClass := TInterfacedObject;
|
||||
end;
|
||||
|
||||
end.
|
||||
@ -1,81 +0,0 @@
|
||||
unit uEditorRegistryUtils;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, Forms, uClassRegistryUtils, uCustomEditor;
|
||||
|
||||
type
|
||||
{
|
||||
IEditorRegistry = interface (IComponentRegistry)
|
||||
22F14B82-AC61-4987-847E-AF8513DE2A10
|
||||
function CreateEditor(const aClassOrDisplayname: String;
|
||||
aOwner: TComponent = NIL): TCustomEditor;
|
||||
end;
|
||||
|
||||
TEditorRegistry = class(TComponentRegistry, IEditorRegistry)
|
||||
protected
|
||||
procedure ValidateMinAcceptableClass(var aMinAcceptableClass: TClass); override;
|
||||
function CreateEditor(const aClassOrDisplayname: String;
|
||||
aOwner: TComponent = nil): TCustomEditor;
|
||||
end;
|
||||
}
|
||||
|
||||
IEditorRegistry = interface (IFormRegistry)
|
||||
['{F6AC050F-5547-4E1F-AA44-DA0D06EDA4D7}']
|
||||
function CreateEditor(const aClassOrDisplayname: String;
|
||||
aOwner: TComponent = NIL): TForm;
|
||||
end;
|
||||
|
||||
TEditorRegistry = class(TFormRegistry, IEditorRegistry)
|
||||
protected
|
||||
function CreateEditor(const aClassOrDisplayname: String;
|
||||
aOwner: TComponent = nil): TForm;
|
||||
end;
|
||||
|
||||
function CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean;
|
||||
|
||||
var
|
||||
EditorRegistry : IEditorRegistry;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
SysUtils, cxControls;
|
||||
|
||||
function CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean;
|
||||
begin
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
Result := Supports(EditorRegistry.CreateEditor(AName, Application), IID, Intf);
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
{ TEditorRegistry }
|
||||
|
||||
function TEditorRegistry.CreateEditor(const aClassOrDisplayname: String;
|
||||
aOwner: TComponent): TForm;
|
||||
begin
|
||||
if not Assigned(AOwner) then
|
||||
AOwner := Application;
|
||||
Result := CreateComponent( aClassOrDisplayname, aOwner ) as TForm;
|
||||
end;
|
||||
|
||||
{procedure TEditorRegistry.ValidateMinAcceptableClass(
|
||||
var aMinAcceptableClass: TClass);
|
||||
begin
|
||||
inherited;
|
||||
if not aMinAcceptableClass.InheritsFrom(TCustomEditor) then
|
||||
aMinAcceptableClass := TCustomEditor;
|
||||
end;}
|
||||
|
||||
initialization
|
||||
EditorRegistry := TEditorRegistry.Create;
|
||||
|
||||
finalization
|
||||
EditorRegistry := NIL;
|
||||
|
||||
end.
|
||||
@ -1,59 +0,0 @@
|
||||
unit uInformeRegistryUtils;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, Forms, uClassRegistryUtils;
|
||||
|
||||
type
|
||||
IInformeRegistry = interface (IReportRegistry)
|
||||
['{F6AC050F-5547-4E1F-AA44-DA0D06EDA4D7}']
|
||||
function CreateInforme(const aClassOrDisplayname: String;
|
||||
aOwner: TComponent = NIL): TInterfacedObject;
|
||||
end;
|
||||
|
||||
TInformeRegistry = class(TReportRegistry, IInformeRegistry)
|
||||
protected
|
||||
function CreateInforme(const aClassOrDisplayname: String;
|
||||
aOwner: TComponent = nil): TInterfacedObject;
|
||||
end;
|
||||
|
||||
function CreateInforme(const AName: String; const IID: TGUID; out Intf): Boolean;
|
||||
|
||||
var
|
||||
InformeRegistry : IInformeRegistry;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
SysUtils, cxControls;
|
||||
|
||||
function CreateInforme(const AName: String; const IID: TGUID; out Intf): Boolean;
|
||||
begin
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
Result := Supports(InformeRegistry.CreateInforme(AName, Application), IID, Intf);
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
{ TInformeRegistry }
|
||||
|
||||
function TInformeRegistry.CreateInforme(const aClassOrDisplayname: String;
|
||||
aOwner: TComponent): TInterfacedObject;
|
||||
begin
|
||||
{ if not Assigned(AOwner) then
|
||||
AOwner := Application;}
|
||||
Result := CreateObject( aClassOrDisplayname) as TInterfacedObject;
|
||||
end;
|
||||
|
||||
|
||||
initialization
|
||||
InformeRegistry := TInformeRegistry.Create;
|
||||
|
||||
finalization
|
||||
InformeRegistry := NIL;
|
||||
|
||||
end.
|
||||
@ -1,50 +0,0 @@
|
||||
unit uViewRegistryUtils;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, Forms, uClassRegistryUtils, uCustomView;
|
||||
|
||||
type
|
||||
IViewRegistry = interface (IComponentRegistry)
|
||||
['{F49AE52F-47EC-42AF-8365-A09270E4B45D}']
|
||||
function CreateView(const aClassOrDisplayname: String;
|
||||
aOwner: TComponent = nil): TCustomView;
|
||||
end;
|
||||
|
||||
|
||||
TViewRegistry = class(TComponentRegistry, IViewRegistry)
|
||||
protected
|
||||
procedure ValidateMinAcceptableClass(var aMinAcceptableClass: TClass); override;
|
||||
function CreateView( const aClassOrDisplayname: String;
|
||||
aOwner: TComponent = nil ): TCustomView;
|
||||
end;
|
||||
|
||||
var
|
||||
ViewRegistry : IViewRegistry;
|
||||
|
||||
implementation
|
||||
|
||||
{ TViewRegistry }
|
||||
|
||||
function TViewRegistry.CreateView(const aClassOrDisplayname: String;
|
||||
aOwner: TComponent): TCustomView;
|
||||
begin
|
||||
Result := CreateComponent( aClassOrDisplayname, aOwner ) as TCustomView;
|
||||
end;
|
||||
|
||||
procedure TViewRegistry.ValidateMinAcceptableClass(
|
||||
var aMinAcceptableClass: TClass);
|
||||
begin
|
||||
inherited;
|
||||
if not aMinAcceptableClass.InheritsFrom(TCustomView) then
|
||||
aMinAcceptableClass := TCustomView;
|
||||
end;
|
||||
|
||||
initialization
|
||||
ViewRegistry := TViewRegistry.Create;
|
||||
|
||||
finalization
|
||||
ViewRegistry := NIL;
|
||||
|
||||
end.
|
||||
@ -1,280 +0,0 @@
|
||||
unit uControllerBase;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, uDADataTable, Forms;
|
||||
|
||||
type
|
||||
ISujeto = interface;
|
||||
|
||||
IObservador = interface (IInterface)
|
||||
['{679D5CF2-D5DC-4A52-9FF3-04AD91402483}']
|
||||
procedure AddSujeto(Sujeto: ISujeto);
|
||||
procedure DeleteSujeto(Sujeto: ISujeto);
|
||||
procedure RecibirAviso(ASujeto: ISujeto); overload;
|
||||
procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); overload;
|
||||
end;
|
||||
|
||||
ISujeto = interface (IInterface)
|
||||
['{CDB691CD-D1D6-4F2E-AA34-93B1CD0E6030}']
|
||||
procedure AddObservador(Observador: IObservador);
|
||||
procedure DeleteObservador(Observador: IObservador);
|
||||
end;
|
||||
|
||||
{ ******************* PARA PRUEBAS ******************************************}
|
||||
TMiInterfacedObject = class(TObject, IInterface)
|
||||
protected
|
||||
FRefCount: Integer;
|
||||
function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
|
||||
function _AddRef: Integer; stdcall;
|
||||
function _Release: Integer; virtual; stdcall;
|
||||
function GetRefCount : Integer;
|
||||
public
|
||||
procedure AfterConstruction; override;
|
||||
procedure BeforeDestruction; override;
|
||||
class function NewInstance: TObject; override;
|
||||
property RefCount: Integer read FRefCount;
|
||||
end;
|
||||
|
||||
|
||||
{ ***************************************************************************}
|
||||
|
||||
|
||||
TObservador = class(TObject, IObservador)
|
||||
private
|
||||
fSujetos: IInterfaceList;
|
||||
protected
|
||||
FRefCount: Integer;
|
||||
procedure RecibirAviso(ASujeto: ISujeto); overload; virtual;
|
||||
procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); overload; virtual; abstract;
|
||||
function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
|
||||
function _AddRef: Integer; stdcall;
|
||||
function _Release: Integer; stdcall;
|
||||
function GetRefCount : Integer;
|
||||
public
|
||||
constructor Create; virtual;
|
||||
procedure AddSujeto(Sujeto: ISujeto);
|
||||
procedure DeleteSujeto(Sujeto: ISujeto);
|
||||
destructor Destroy; override;
|
||||
|
||||
procedure AfterConstruction; override;
|
||||
procedure BeforeDestruction; override;
|
||||
class function NewInstance: TObject; override;
|
||||
property RefCount: Integer read FRefCount;
|
||||
end;
|
||||
|
||||
TSujeto = class(TInterfacedObject, ISujeto)
|
||||
private
|
||||
fObservadores: IInterfaceList;
|
||||
protected
|
||||
procedure AvisarObservadores; overload;
|
||||
procedure AvisarObservadores(ADataTable: IDAStronglyTypedDataTable); overload;
|
||||
public
|
||||
constructor Create; virtual;
|
||||
procedure AddObservador(Observador: IObservador);
|
||||
procedure DeleteObservador(Observador: IObservador);
|
||||
destructor Destroy; override;
|
||||
end;
|
||||
|
||||
IControllerBase = IObservador;
|
||||
TControllerBase = TObservador;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
Dialogs, SysUtils;
|
||||
|
||||
|
||||
function InterlockedIncrement(var I: Integer): Integer;
|
||||
asm
|
||||
MOV EDX,1
|
||||
XCHG EAX,EDX
|
||||
LOCK XADD [EDX],EAX
|
||||
INC EAX
|
||||
end;
|
||||
|
||||
function InterlockedDecrement(var I: Integer): Integer;
|
||||
asm
|
||||
MOV EDX,-1
|
||||
XCHG EAX,EDX
|
||||
LOCK XADD [EDX],EAX
|
||||
DEC EAX
|
||||
end;
|
||||
|
||||
{ TMiInterfacedObject }
|
||||
|
||||
procedure TMiInterfacedObject.AfterConstruction;
|
||||
begin
|
||||
// Release the constructor's implicit refcount
|
||||
InterlockedDecrement(FRefCount);
|
||||
end;
|
||||
|
||||
procedure TMiInterfacedObject.BeforeDestruction;
|
||||
begin
|
||||
// if RefCount <> 0 then
|
||||
// Error(reInvalidPtr);
|
||||
end;
|
||||
|
||||
function TMiInterfacedObject.GetRefCount: Integer;
|
||||
begin
|
||||
Result := FRefCount;
|
||||
end;
|
||||
|
||||
// Set an implicit refcount so that refcounting
|
||||
// during construction won't destroy the object.
|
||||
class function TMiInterfacedObject.NewInstance: TObject;
|
||||
begin
|
||||
Result := inherited NewInstance;
|
||||
TMiInterfacedObject(Result).FRefCount := 1;
|
||||
end;
|
||||
|
||||
function TMiInterfacedObject.QueryInterface(const IID: TGUID; out Obj): HResult;
|
||||
begin
|
||||
if GetInterface(IID, Obj) then
|
||||
Result := 0
|
||||
else
|
||||
Result := E_NOINTERFACE;
|
||||
end;
|
||||
|
||||
function TMiInterfacedObject._AddRef: Integer;
|
||||
begin
|
||||
Result := InterlockedIncrement(FRefCount);
|
||||
// ShowMessage('_AddRef: ' + ClassName + ' - RefCount: ' + IntToStr(FRefCount));
|
||||
end;
|
||||
|
||||
function TMiInterfacedObject._Release: Integer;
|
||||
begin
|
||||
Result := InterlockedDecrement(FRefCount);
|
||||
// ShowMessage('_Release: ' + ClassName + ' - RefCount: ' + IntToStr(FRefCount));
|
||||
if Result = 0 then
|
||||
Destroy;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
{ TSujeto }
|
||||
|
||||
procedure TSujeto.addObservador(Observador: IObservador);
|
||||
begin
|
||||
FObservadores.Add(Observador);
|
||||
Observador.AddSujeto(Self);
|
||||
end;
|
||||
|
||||
procedure TSujeto.AvisarObservadores;
|
||||
var
|
||||
i: Integer;
|
||||
AObs : IObservador;
|
||||
begin
|
||||
for i := 0 to Pred(FObservadores.Count) do
|
||||
begin
|
||||
if Supports(FObservadores[i], IObservador, AObs) then
|
||||
AObs.RecibirAviso(Self);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TSujeto.AvisarObservadores(ADataTable: IDAStronglyTypedDataTable);
|
||||
var
|
||||
i: Integer;
|
||||
AObs : IObservador;
|
||||
begin
|
||||
for i := 0 to Pred(FObservadores.Count) do
|
||||
begin
|
||||
if Supports(FObservadores[i], IObservador, AObs) then
|
||||
AObs.RecibirAviso(Self, ADataTable);
|
||||
end;
|
||||
end;
|
||||
|
||||
constructor TSujeto.Create;
|
||||
begin
|
||||
inherited;
|
||||
FObservadores := TInterfaceList.Create;
|
||||
end;
|
||||
|
||||
procedure TSujeto.DeleteObservador(Observador: IObservador);
|
||||
begin
|
||||
FObservadores.Remove(Observador);
|
||||
end;
|
||||
|
||||
destructor TSujeto.Destroy;
|
||||
begin
|
||||
FObservadores := NIL;
|
||||
inherited;
|
||||
end;
|
||||
|
||||
{ TObservador }
|
||||
|
||||
procedure TObservador.RecibirAviso(ASujeto: ISujeto);
|
||||
begin
|
||||
//
|
||||
end;
|
||||
|
||||
function TObservador._AddRef: Integer;
|
||||
begin
|
||||
Result := InterlockedIncrement(FRefCount);
|
||||
// ShowMessage('_AddRef: ' + ClassName + ' - RefCount: ' + IntToStr(FRefCount));
|
||||
end;
|
||||
|
||||
function TObservador._Release: Integer;
|
||||
begin
|
||||
Result := InterlockedDecrement(FRefCount);
|
||||
// ShowMessage('_Release: ' + ClassName + ' - RefCount: ' + IntToStr(FRefCount));
|
||||
// if (Result = 0)
|
||||
if (Assigned(fSujetos) and (fSujetos.Count = FRefCount)) then
|
||||
Destroy;
|
||||
end;
|
||||
|
||||
procedure TObservador.AddSujeto(Sujeto: ISujeto);
|
||||
begin
|
||||
FSujetos.Add(Sujeto);
|
||||
end;
|
||||
|
||||
procedure TObservador.AfterConstruction;
|
||||
begin
|
||||
// Release the constructor's implicit refcount
|
||||
InterlockedDecrement(FRefCount);
|
||||
end;
|
||||
|
||||
procedure TObservador.BeforeDestruction;
|
||||
begin
|
||||
// if RefCount <> 0 then
|
||||
// Error(reInvalidPtr);
|
||||
end;
|
||||
|
||||
constructor TObservador.Create;
|
||||
begin
|
||||
inherited;
|
||||
FSujetos := TInterfaceList.Create;
|
||||
end;
|
||||
|
||||
procedure TObservador.DeleteSujeto(Sujeto: ISujeto);
|
||||
begin
|
||||
FSujetos.Remove(Sujeto);
|
||||
end;
|
||||
|
||||
destructor TObservador.Destroy;
|
||||
begin
|
||||
FSujetos := NIL;
|
||||
inherited;
|
||||
end;
|
||||
|
||||
function TObservador.GetRefCount: Integer;
|
||||
begin
|
||||
Result := FRefCount;
|
||||
end;
|
||||
|
||||
class function TObservador.NewInstance: TObject;
|
||||
begin
|
||||
Result := inherited NewInstance;
|
||||
TObservador(Result).FRefCount := 1;
|
||||
end;
|
||||
|
||||
function TObservador.QueryInterface(const IID: TGUID; out Obj): HResult;
|
||||
begin
|
||||
if GetInterface(IID, Obj) then
|
||||
Result := 0
|
||||
else
|
||||
Result := E_NOINTERFACE;
|
||||
end;
|
||||
|
||||
end.
|
||||
@ -1,52 +0,0 @@
|
||||
unit uAppInfoUtils;
|
||||
|
||||
interface
|
||||
|
||||
function GetAppName: String;
|
||||
function GetAppVersion: String;
|
||||
function GetAppFullName: String;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
Forms, SysUtils, JclFileUtils;
|
||||
|
||||
function GetAppName: String;
|
||||
var
|
||||
FAppInfo : TJclFileVersionInfo;
|
||||
begin
|
||||
FAppInfo := TJclFileVersionInfo.Create(Application.ExeName);
|
||||
try
|
||||
Result := FAppInfo.ProductName;
|
||||
finally
|
||||
FreeANDNil(FAppInfo);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
function GetAppVersion: String;
|
||||
var
|
||||
FAppInfo : TJclFileVersionInfo;
|
||||
begin
|
||||
FAppInfo := TJclFileVersionInfo.Create(Application.ExeName);
|
||||
try
|
||||
Result := FAppInfo.ProductVersion;
|
||||
finally
|
||||
FreeANDNil(FAppInfo);
|
||||
end;
|
||||
end;
|
||||
|
||||
function GetAppFullName: String;
|
||||
var
|
||||
FAppInfo : TJclFileVersionInfo;
|
||||
begin
|
||||
FAppInfo := TJclFileVersionInfo.Create(Application.ExeName);
|
||||
try
|
||||
Result := FAppInfo.ProductName + ' ' + FAppInfo.ProductVersion;
|
||||
finally
|
||||
FreeANDNil(FAppInfo);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
end.
|
||||
@ -1,287 +0,0 @@
|
||||
unit uDialogUtils;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Controls, SysUtils;
|
||||
|
||||
type
|
||||
TDlgButton = (TDlgButton_SI, TDlgButton_NO, TDlgButton_CANCELAR,
|
||||
TDlgButton_ACEPTAR, TDlgButton_OK, TDlgButton_CERRAR);
|
||||
TDlgButtonSet = set of TDlgButton;
|
||||
|
||||
|
||||
//For example:
|
||||
//1. to display the "OpenDialog" for text files
|
||||
//
|
||||
// s := 'aaa.txt';
|
||||
// if OpenFileDialog(Application.Handle, 'txt', 'Text Files|*.txt', 'c:\', 'Select text file', s) then
|
||||
// ShowMessage(s + ' file was selected for open')
|
||||
//
|
||||
//2. to display the "Save dialog":
|
||||
//
|
||||
// s := 'data.dbf';
|
||||
// if SaveFileDialog(Application.Handle, 'dbf', 'dBase tables|*.dbf|All files|*.*', 'c:\', 'Select table', s) then
|
||||
// ShowMessage(s + ' table was selected for save')
|
||||
|
||||
function OpenFileDialog(ParentHandle: THandle; const DefExt, Filter, InitialDir, Title: string; var FileName: string): Boolean;
|
||||
function SaveFileDialog(ParentHandle: THandle; const DefExt, Filter, InitialDir, Title: string; var FileName: string): Boolean;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure ShowInfoMessage(const AMessage : String); overload;
|
||||
procedure ShowInfoMessage(const AHeader : String; const AMessage : String); overload;
|
||||
procedure ShowWarningMessage(const AMessage : String); overload;
|
||||
procedure ShowWarningMessage(const AHeader : String; const AMessage : String); overload;
|
||||
procedure ShowErrorMessage(const AHeader : String; const AMessage : String); overload;
|
||||
procedure ShowErrorMessage(const AHeader : String; const AMessage : String; AException: Exception); overload;
|
||||
|
||||
function ShowConfirmMessage(const AHeader : String;
|
||||
const AMessage : String) : TModalResult; overload;
|
||||
|
||||
function ShowConfirmMessage(const ATitle : String;
|
||||
const AHeader : String;
|
||||
const AMessage : String;
|
||||
const AButtonSet: TDlgButtonSet) : TModalResult; overload;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
Forms,
|
||||
CommDlg,
|
||||
JSDialog,
|
||||
JSDialogs,
|
||||
Classes,
|
||||
StrUtils;
|
||||
|
||||
const
|
||||
sBtnSi = '&Si';
|
||||
sBtnNo = '&No';
|
||||
sBtnCancelar = '&Cancelar';
|
||||
sBtnAceptar = '&Aceptar';
|
||||
sBtnOK = '&OK';
|
||||
sBtnCerrar = '&Cerrar';
|
||||
|
||||
|
||||
function CharReplace(const Source: string; oldChar, newChar: Char): string;
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
Result := Source;
|
||||
for i := 1 to Length(Result) do
|
||||
if Result[i] = oldChar then
|
||||
Result[i] := newChar
|
||||
end;
|
||||
|
||||
function OpenSaveFileDialog(ParentHandle: THandle; const DefExt, Filter, InitialDir, Title: string; var FileName: string;
|
||||
MustExist, OverwritePrompt, NoChangeDir, DoOpen: Boolean): Boolean;
|
||||
var
|
||||
ofn: TOpenFileName;
|
||||
szFile: array[0..MAX_PATH] of Char;
|
||||
begin
|
||||
Result := False;
|
||||
FillChar(ofn, SizeOf(TOpenFileName), 0);
|
||||
FillChar(szFile, SizeOf(szFile), 0);
|
||||
with ofn do
|
||||
begin
|
||||
lStructSize := SizeOf(TOpenFileName);
|
||||
hwndOwner := ParentHandle;
|
||||
lpstrFile := szFile;
|
||||
nMaxFile := SizeOf(szFile);
|
||||
if (Title <> '') then
|
||||
lpstrTitle := PChar(Title);
|
||||
if (InitialDir <> '') then
|
||||
lpstrInitialDir := PChar(InitialDir);
|
||||
StrPCopy(lpstrFile, FileName);
|
||||
lpstrFilter := PChar(ReplaceStr(Filter, '|', #0)+#0#0);
|
||||
if DefExt <> '' then
|
||||
lpstrDefExt := PChar(DefExt);
|
||||
end;
|
||||
|
||||
if MustExist then
|
||||
ofn.Flags := ofn.Flags or OFN_FILEMUSTEXIST;
|
||||
|
||||
if OverwritePrompt then
|
||||
ofn.Flags := ofn.Flags or OFN_OVERWRITEPROMPT;
|
||||
|
||||
if NoChangeDir then
|
||||
ofn.Flags := ofn.Flags or OFN_NOCHANGEDIR;
|
||||
|
||||
if DoOpen then
|
||||
begin
|
||||
if GetOpenFileName(ofn) then
|
||||
begin
|
||||
Result := True;
|
||||
FileName := StrPas(szFile);
|
||||
end;
|
||||
end
|
||||
else
|
||||
begin
|
||||
if GetSaveFileName(ofn) then
|
||||
begin
|
||||
Result := True;
|
||||
FileName := StrPas(szFile);
|
||||
end;
|
||||
end
|
||||
end;
|
||||
|
||||
function OpenFileDialog(ParentHandle: THandle; const DefExt, Filter, InitialDir, Title: string; var FileName: string): Boolean;
|
||||
begin
|
||||
Result := OpenSaveFileDialog(ParentHandle, DefExt, Filter, InitialDir, Title, FileName, True, False, False, True);
|
||||
end;
|
||||
|
||||
function SaveFileDialog(ParentHandle: THandle; const DefExt, Filter, InitialDir, Title: string; var FileName: string): Boolean;
|
||||
begin
|
||||
Result := OpenSaveFileDialog(ParentHandle, DefExt, Filter, InitialDir, Title, FileName, False, True, True, False);
|
||||
end;
|
||||
|
||||
|
||||
function CreateTaskDialog(const ATitle: String;
|
||||
const AInstruction: String;
|
||||
const AMessage: String;
|
||||
const AIcon: TTaskDialogIcon): TJSDialog;
|
||||
var
|
||||
ADialog : TJSDialog;
|
||||
begin
|
||||
ADialog := TJSDialog.Create(NIL);
|
||||
with ADialog do
|
||||
begin
|
||||
Position := dpScreenCenter;
|
||||
ButtonBar.Buttons := [];
|
||||
DialogOptions := [doModal, doTopMost];
|
||||
|
||||
Title := ATitle;
|
||||
Instruction.Text := AInstruction;
|
||||
Content.Text := AMessage;
|
||||
MainIcon := AIcon;
|
||||
end;
|
||||
Result := ADialog;
|
||||
end;
|
||||
|
||||
procedure CreateCustomButtons(const AButtonSet: TDlgButtonSet;
|
||||
ACustomButtons : TJSCustomButtons);
|
||||
|
||||
function CreateButton(const ACaption: String; const AModalResult: TModalResult): TJSCustomButtonItem;
|
||||
begin
|
||||
Result := ACustomButtons.Add;
|
||||
Result.Caption := ACaption;
|
||||
Result.ModalResult := AModalResult;
|
||||
end;
|
||||
|
||||
begin
|
||||
with ACustomButtons do
|
||||
begin
|
||||
Clear;
|
||||
|
||||
if TDlgButton_SI in AButtonSet then
|
||||
CreateButton(sBtnSi, mrYes);
|
||||
|
||||
if TDlgButton_NO in AButtonSet then
|
||||
CreateButton(sBtnNo, mrNo);
|
||||
|
||||
if TDlgButton_CANCELAR in AButtonSet then
|
||||
CreateButton(sBtnCancelar, mrCancel);
|
||||
|
||||
if TDlgButton_ACEPTAR in AButtonSet then
|
||||
CreateButton(sBtnAceptar, mrOk);
|
||||
|
||||
if TDlgButton_OK in AButtonSet then
|
||||
CreateButton(sBtnOK, mrOk);
|
||||
|
||||
if TDlgButton_CERRAR in AButtonSet then
|
||||
CreateButton(sBtnCerrar, mrNone);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure ShowInfoMessage(const AHeader : String; const AMessage : String); overload;
|
||||
var
|
||||
ADialog : TJSDialog;
|
||||
begin
|
||||
ADialog := CreateTaskDialog('Información', AHeader, AMessage, tdiInformation);
|
||||
try
|
||||
CreateCustomButtons([TDlgButton_CERRAR], ADialog.CustomButtons);
|
||||
ADialog.Execute;
|
||||
finally
|
||||
FreeAndNIL(ADialog);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure ShowInfoMessage(const AMessage : String);
|
||||
begin
|
||||
ShowInfoMessage('', AMessage);
|
||||
end;
|
||||
|
||||
procedure ShowWarningMessage(const AHeader : String; const AMessage : String); overload;
|
||||
var
|
||||
ADialog : TJSDialog;
|
||||
begin
|
||||
ADialog := CreateTaskDialog('¡Atención!', AHeader, AMessage, tdiWarning);
|
||||
try
|
||||
CreateCustomButtons([TDlgButton_CERRAR], ADialog.CustomButtons);
|
||||
ADialog.Execute;
|
||||
finally
|
||||
FreeAndNIL(ADialog);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure ShowWarningMessage(const AMessage : String);
|
||||
begin
|
||||
ShowWarningMessage('', AMessage);
|
||||
end;
|
||||
|
||||
procedure ShowErrorMessage(const AHeader : String; const AMessage : String);
|
||||
var
|
||||
ADialog : TJSDialog;
|
||||
begin
|
||||
ADialog := CreateTaskDialog(Application.Title, AHeader, AMessage, tdiError);
|
||||
try
|
||||
CreateCustomButtons([TDlgButton_CERRAR], ADialog.CustomButtons);
|
||||
ADialog.Execute;
|
||||
finally
|
||||
FreeAndNIL(ADialog);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure ShowErrorMessage(const AHeader : String; const AMessage : String; AException: Exception);
|
||||
var
|
||||
ADialog : TJSDialog;
|
||||
begin
|
||||
ADialog := CreateTaskDialog(Application.Title, AHeader, AMessage, tdiError);
|
||||
try
|
||||
CreateCustomButtons([TDlgButton_CERRAR], ADialog.CustomButtons);
|
||||
ADialog.Expando.Lines.Text := #13#13 + AException.Message;
|
||||
ADialog.Expando.ShowText := 'Mostrar información sobre el error';
|
||||
ADialog.Expando.HideText := 'No mostrar información sobre el error';
|
||||
ADialog.Expando.Visible := True;
|
||||
ADialog.Execute;
|
||||
finally
|
||||
FreeAndNIL(ADialog);
|
||||
end;
|
||||
end;
|
||||
|
||||
function ShowConfirmMessage(const AHeader : String;
|
||||
const AMessage : String) : TModalResult;
|
||||
begin
|
||||
Result := ShowConfirmMessage(Application.Title, AHeader,
|
||||
AMessage, [TDlgButton_SI, TDlgButton_NO]);
|
||||
end;
|
||||
|
||||
function ShowConfirmMessage(const ATitle : String;
|
||||
const AHeader : String;
|
||||
const AMessage : String;
|
||||
const AButtonSet: TDlgButtonSet) : TModalResult;
|
||||
var
|
||||
ADialog : TJSDialog;
|
||||
begin
|
||||
ADialog := CreateTaskDialog(Application.Title, AHeader, AMessage, tdiConfirmation);
|
||||
try
|
||||
CreateCustomButtons(AButtonSet, ADialog.CustomButtons);
|
||||
Result := ADialog.Execute;
|
||||
finally
|
||||
FreeAndNIL(ADialog);
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
@ -2,6 +2,7 @@ object fConfigurarConexion: TfConfigurarConexion
|
||||
Left = 663
|
||||
Top = 468
|
||||
ActiveControl = edtServer
|
||||
AutoScroll = False
|
||||
Caption = 'Configuraci'#243'n de la conexi'#243'n'
|
||||
ClientHeight = 149
|
||||
ClientWidth = 392
|
||||
@ -89,10 +90,12 @@ object fConfigurarConexion: TfConfigurarConexion
|
||||
TabOrder = 3
|
||||
end
|
||||
object HTTPChannel: TROWinInetHTTPChannel
|
||||
UserAgent = 'AdminPV'
|
||||
TargetURL = 'http://localhost:8099/BIN'
|
||||
ServerLocators = <>
|
||||
DispatchOptions = []
|
||||
ProbeServers = False
|
||||
ProbeFrequency = 60000
|
||||
UserAgent = 'AdminPV'
|
||||
TargetURL = 'http://localhost:8099/BIN'
|
||||
Left = 120
|
||||
Top = 112
|
||||
end
|
||||
@ -101,9 +104,9 @@ object fConfigurarConexion: TfConfigurarConexion
|
||||
Top = 112
|
||||
end
|
||||
object CoService: TRORemoteService
|
||||
ServiceName = 'srvLogin'
|
||||
Message = ROBinMessage
|
||||
Channel = HTTPChannel
|
||||
ServiceName = 'srvLogin'
|
||||
Left = 184
|
||||
Top = 112
|
||||
end
|
||||
|
||||
@ -36,7 +36,7 @@ var
|
||||
implementation
|
||||
|
||||
uses
|
||||
StrUtils, JclStrings, uDMBase, VARELA_Intf;
|
||||
StrUtils, JclStrings, uDataModuleBase, VARELA_Intf;
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,254 +0,0 @@
|
||||
unit uDMBase;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Controls, PngImageList, JvComponent, JvNavigationPane, TBXSwitcher,
|
||||
TBXOffice2003Theme, Classes, ImgList, uROClient, uROBinMessage,
|
||||
uROServiceComponent, uRORemoteService, uROWinInetHttpChannel,
|
||||
DataAbstract3_Intf, uDADataTable, uDABINAdapter, cxintl, cxIntlPrintSys3,
|
||||
JvAppStorage, JvAppRegistryStorage, SysUtils,
|
||||
JvComponentBase, uDADataStreamer;
|
||||
|
||||
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
|
||||
function DarVersion : String;
|
||||
procedure ConfigurarConexion;
|
||||
function HayConexion(const ATargetURL : String = ''): Boolean;
|
||||
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;
|
||||
end;
|
||||
|
||||
var
|
||||
dmBase: TdmBase;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.DFM}
|
||||
|
||||
uses
|
||||
Dialogs, TBX, TBXThemes, uConfigurarConexion, WinInet, Forms, Windows,
|
||||
JclFileUtils, VARELA_Intf, cxControls;
|
||||
|
||||
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
|
||||
Retry := True;
|
||||
// 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.DarVersion: String;
|
||||
var
|
||||
Obj : TJclFileVersionInfo;
|
||||
begin
|
||||
Obj := TJclFileVersionInfo.Create(Application.ExeName);
|
||||
try
|
||||
Result := 'v' + Obj.FileVersion;
|
||||
finally
|
||||
FreeAndNil(Obj);
|
||||
end;
|
||||
end;
|
||||
|
||||
function TdmBase.HayConexion(const ATargetURL: String): Boolean;
|
||||
var
|
||||
AHTTPChannel: TROWinInetHTTPChannel;
|
||||
AROBinMessage: TROBinMessage;
|
||||
ACoService: TRORemoteService;
|
||||
begin
|
||||
AHTTPChannel := TROWinInetHTTPChannel.Create(Self);
|
||||
AROBinMessage := TROBinMessage.Create(Self);
|
||||
ACoService := TRORemoteService.Create(Self);
|
||||
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
with AHTTPChannel do
|
||||
begin
|
||||
Name := 'HTTPChannel';
|
||||
UserAgent := 'AdminPV';
|
||||
if Length(ATargetURL) > 0 then
|
||||
TargetURL := ATargetURL
|
||||
else
|
||||
TargetURL := ROChannel.TargetURL;
|
||||
end;
|
||||
|
||||
with ACoService do
|
||||
begin
|
||||
ServiceName := 'srvLogin';
|
||||
Message := AROBinMessage;
|
||||
Channel := AHTTPChannel;
|
||||
end;
|
||||
|
||||
try
|
||||
(ACoService as IsrvLogin).Ping;
|
||||
Result := True;
|
||||
except
|
||||
Result := False;
|
||||
end;
|
||||
finally
|
||||
AHTTPChannel.Connected := False;
|
||||
FreeAndNil(AHTTPChannel);
|
||||
FreeAndNil(ACoService);
|
||||
FreeAndNil(AROBinMessage);
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
initialization
|
||||
dmBase := TdmBase.Create(NIL);
|
||||
|
||||
finalization
|
||||
dmBase.Free;
|
||||
|
||||
end.
|
||||
File diff suppressed because it is too large
Load Diff
@ -3,48 +3,252 @@ unit uDataModuleBase;
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes;
|
||||
Controls, PngImageList, JvComponent, JvNavigationPane, TBXSwitcher,
|
||||
TBXOffice2003Theme, Classes, ImgList, uROClient, uROBinMessage,
|
||||
uROServiceComponent, uRORemoteService, uROWinInetHttpChannel,
|
||||
DataAbstract3_Intf, uDADataTable, uDABINAdapter, cxintl, cxIntlPrintSys3,
|
||||
JvAppStorage, JvAppRegistryStorage, SysUtils,
|
||||
JvComponentBase, uDADataStreamer;
|
||||
|
||||
type
|
||||
TDataModuleBase = class(TDataModule)
|
||||
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
|
||||
FRefCount: Integer;
|
||||
protected
|
||||
function QueryInterface(const IID: TGUID; out Obj): HResult; override; stdcall;
|
||||
function _AddRef: Integer; stdcall;
|
||||
function _Release: Integer; stdcall;
|
||||
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
|
||||
property RefCount: integer read fRefCount write fRefCount;
|
||||
|
||||
function DarVersion : String;
|
||||
procedure ConfigurarConexion;
|
||||
function HayConexion(const ATargetURL : String = ''): Boolean;
|
||||
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;
|
||||
end;
|
||||
|
||||
var
|
||||
dmBase: TdmBase;
|
||||
|
||||
implementation
|
||||
|
||||
|
||||
{$R *.DFM}
|
||||
|
||||
// Set an implicit refcount so that refcounting
|
||||
// during construction won't destroy the object.
|
||||
uses
|
||||
Dialogs, TBX, TBXThemes, uConfigurarConexion, WinInet, Forms, Windows,
|
||||
JclFileUtils, VARELA_Intf, cxControls;
|
||||
|
||||
function TDataModuleBase.QueryInterface( const IID: TGUID; out Obj): HResult;
|
||||
const
|
||||
SERVER_URL = 'http://localhost:8099/bin';
|
||||
IE_OFFLINE_ERROR = 'Unexpected error in WinInet HTTP Channel (2)';
|
||||
|
||||
{
|
||||
*********************************** TdmBase ************************************
|
||||
}
|
||||
procedure TdmBase.ConfigurarConexion;
|
||||
begin
|
||||
if GetInterface(IID, Obj)
|
||||
then Result := 0
|
||||
else Result := E_NOINTERFACE;
|
||||
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;
|
||||
|
||||
function TDataModuleBase._AddRef: Integer;
|
||||
procedure TdmBase.DAClientDataModuleCreate(Sender: TObject);
|
||||
begin
|
||||
Inc(fRefCount);
|
||||
Result := fRefCount;
|
||||
TBXSwitcher.OnThemeChange := OnTBXThemeChange;
|
||||
TBXSetTheme('Office2003');
|
||||
|
||||
LeerConfiguracion;
|
||||
end;
|
||||
|
||||
function TDataModuleBase._Release: Integer;
|
||||
function TdmBase.GetAdapter: TDABINAdapter;
|
||||
begin
|
||||
Dec(fRefCount);
|
||||
Result := fRefCount;
|
||||
if fRefCount = 0 then Destroy;
|
||||
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
|
||||
Retry := True;
|
||||
// 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.DarVersion: String;
|
||||
var
|
||||
Obj : TJclFileVersionInfo;
|
||||
begin
|
||||
Obj := TJclFileVersionInfo.Create(Application.ExeName);
|
||||
try
|
||||
Result := 'v' + Obj.FileVersion;
|
||||
finally
|
||||
FreeAndNil(Obj);
|
||||
end;
|
||||
end;
|
||||
|
||||
function TdmBase.HayConexion(const ATargetURL: String): Boolean;
|
||||
var
|
||||
AHTTPChannel: TROWinInetHTTPChannel;
|
||||
AROBinMessage: TROBinMessage;
|
||||
ACoService: TRORemoteService;
|
||||
begin
|
||||
AHTTPChannel := TROWinInetHTTPChannel.Create(Self);
|
||||
AROBinMessage := TROBinMessage.Create(Self);
|
||||
ACoService := TRORemoteService.Create(Self);
|
||||
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
with AHTTPChannel do
|
||||
begin
|
||||
Name := 'HTTPChannel';
|
||||
UserAgent := 'AdminPV';
|
||||
if Length(ATargetURL) > 0 then
|
||||
TargetURL := ATargetURL
|
||||
else
|
||||
TargetURL := ROChannel.TargetURL;
|
||||
end;
|
||||
|
||||
with ACoService do
|
||||
begin
|
||||
ServiceName := 'srvLogin';
|
||||
Message := AROBinMessage;
|
||||
Channel := AHTTPChannel;
|
||||
end;
|
||||
|
||||
try
|
||||
(ACoService as IsrvLogin).Ping;
|
||||
Result := True;
|
||||
except
|
||||
Result := False;
|
||||
end;
|
||||
finally
|
||||
AHTTPChannel.Connected := False;
|
||||
FreeAndNil(AHTTPChannel);
|
||||
FreeAndNil(ACoService);
|
||||
FreeAndNil(AROBinMessage);
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
initialization
|
||||
dmBase := TdmBase.Create(NIL);
|
||||
|
||||
finalization
|
||||
dmBase.Free;
|
||||
|
||||
end.
|
||||
|
||||
@ -3,27 +3,22 @@ unit uDataTableUtils;
|
||||
interface
|
||||
|
||||
uses
|
||||
uDACDSDataTable, uDADataTable, uDAInterfaces, uDADelta, uDAMemDataTable;
|
||||
uDACDSDataTable, uDADataTable, uDAInterfaces, uDADelta;
|
||||
|
||||
procedure CloneDataTable(const ASource : TDACDSDataTable;
|
||||
var ATarget : TDACDSDataTable;
|
||||
RemoteUpdate: Boolean = True); overload;
|
||||
|
||||
function CloneDataTable(const ASource : TDAMemDataTable;
|
||||
RemoteUpdate: Boolean = True): TDAMemDataTable; overload;
|
||||
RemoteUpdate: Boolean = True);
|
||||
|
||||
procedure CopyDataTable(ASource : IDADataset; ATarget : TDADataTable;
|
||||
const OnlySelectedRows : Boolean = False);
|
||||
procedure DeleteAllTable(const ADataTable : TDADataTable);
|
||||
function DeltaValuesAreDifferent(const aDelta : IDADelta): boolean;
|
||||
|
||||
function DataTableModified (const ADataTable : TDADataTable): Boolean;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
DB, Classes, uDAClasses, SysUtils, uDABINAdapter, uROTypes, uDBSelectionList,
|
||||
cxControls, Dialogs, Variants, uDADataStreamer;
|
||||
uDAClasses, SysUtils, uDABINAdapter, uROTypes, uDBSelectionList, cxControls,
|
||||
Dialogs, Variants, uDADataStreamer;
|
||||
|
||||
|
||||
{procedure EliminarNoSeleccionados(const ASource : IDADataset;
|
||||
@ -149,80 +144,6 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
function CloneDataTable(const ASource : TDAMemDataTable;
|
||||
RemoteUpdate: Boolean = True): TDAMemDataTable;
|
||||
var
|
||||
i : Integer;
|
||||
ATarget : TDAMemDataTable;
|
||||
begin
|
||||
if not Assigned(ASource) then
|
||||
raise Exception.Create ('No se ha asignado la tabla de origen (CloneDataTable)');
|
||||
|
||||
ATarget := TDAMemDataTable.Create(NIL);
|
||||
with ATarget do
|
||||
begin
|
||||
|
||||
{ ATENCIÓN !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
--------------------------------------------------------------------
|
||||
DA5 tiene un fallo en el cual las tablas definidas como detalle no
|
||||
tienen asociados los eventos internos before... y after... por lo
|
||||
que los campos AutoInc no funcionan (no pone el -1, -2...).
|
||||
La forma de arreglarlo es llamar a DisableEventHandlers/EnableEventHandlers
|
||||
que realiza la asociación de los eventos.
|
||||
}
|
||||
ATarget.DisableEventHandlers; // <--- INDISPENSABLE!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
|
||||
try
|
||||
if not Assigned(ASource.RemoteDataAdapter) then
|
||||
raise Exception.Create('No está asignado RemoteDataAdapter (' + ASource.Name + ')');
|
||||
|
||||
LogicalName := ASource.LogicalName;
|
||||
CustomAttributes.Assign(ASource.CustomAttributes);
|
||||
Fields.AssignFieldCollection(ASource.Fields); // o también ATarget.LoadSchema;
|
||||
Params.AssignParamCollection(ASource.Params);
|
||||
|
||||
RemoteDataAdapter := ASource.RemoteDataAdapter;
|
||||
|
||||
Randomize;
|
||||
Name := ASource.Name + '_' + IntToStr(Random(MAXINT));
|
||||
|
||||
BusinessRulesID := ASource.BusinessRulesID;
|
||||
|
||||
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;
|
||||
finally
|
||||
ATarget.EnableEventHandlers; // <--- INDISPENSABLE!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
end;
|
||||
end;
|
||||
|
||||
if not RemoteUpdate then
|
||||
begin
|
||||
ATarget.LogChanges := False;
|
||||
ATarget.RemoteFetchEnabled := False;
|
||||
end;
|
||||
|
||||
Result := ATarget;
|
||||
end;
|
||||
|
||||
|
||||
procedure CloneDataTable(const ASource : TDACDSDataTable;
|
||||
var ATarget : TDACDSDataTable; RemoteUpdate: Boolean);
|
||||
var
|
||||
@ -273,36 +194,131 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
function DataTableModified (const ADataTable : TDADataTable): Boolean;
|
||||
end.
|
||||
|
||||
procedure CloneDataTable(const ASource : TDACDSDataTable;
|
||||
var ATarget : TDACDSDataTable; RemoteUpdate: Boolean);
|
||||
var
|
||||
bCambiado : Boolean;
|
||||
dtDetails : TList;
|
||||
i : integer;
|
||||
i : Integer;
|
||||
begin
|
||||
bCambiado := False;
|
||||
with ATarget do
|
||||
begin
|
||||
// ****** Inicio migración DA 5
|
||||
|
||||
if Assigned(ADataTable) and (ADataTable.Active) then
|
||||
begin
|
||||
bCambiado :=(ADataTable.State = dsEdit) or
|
||||
(ADataTable.HasDelta and DeltaValuesAreDifferent(ADataTable.Delta));
|
||||
//RemoteService := ASource.GetRemoteService;
|
||||
//Adapter := ASource.GetAdapter;
|
||||
RemoteDataAdapter.Assign(ASource.RemoteDataAdapter);
|
||||
// ****** Fin migración DA 5
|
||||
|
||||
if (not bCambiado) then
|
||||
BusinessRulesID := ASource.BusinessRulesID;
|
||||
Randomize;
|
||||
Name := ASource.Name + '_' + IntToStr(Random(MAXINT));
|
||||
LogicalName := ASource.LogicalName;
|
||||
|
||||
Params.AssignParamCollection(ASource.Params);
|
||||
|
||||
if Assigned(ASource.LocalSchema) then
|
||||
LocalSchema := ASource.LocalSchema
|
||||
else begin
|
||||
// ****** Inicio migración DA 5
|
||||
{
|
||||
with SchemaCall do
|
||||
begin
|
||||
dtDetails := ADataTable.GetDetailDataTables;
|
||||
for i := 0 to dtDetails.Count - 1 do
|
||||
MethodName := ASource.SchemaCall.MethodName;
|
||||
for i := 0 to ASource.SchemaCall.Params.Count - 1 do
|
||||
begin
|
||||
bCambiado := bCambiado or
|
||||
((TDADataTable(dtDetails.Items[i])).State in dsEditModes) or
|
||||
((TDADataTable(dtDetails.Items[i])).HasDelta and
|
||||
DeltaValuesAreDifferent((TDADataTable(dtDetails.Items[i])).Delta));
|
||||
if bCambiado then
|
||||
Break;
|
||||
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;
|
||||
Result := bCambiado;
|
||||
}
|
||||
// ****** Fin migración DA 5
|
||||
ATarget.Fields.AssignFieldCollection(ASource.Fields); // o también ATarget.LoadSchema;
|
||||
end;
|
||||
|
||||
// ****** Inicio migración DA 5
|
||||
{
|
||||
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;
|
||||
}
|
||||
// ****** Fin migración DA 5
|
||||
|
||||
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;
|
||||
|
||||
if not RemoteUpdate then
|
||||
begin
|
||||
ATarget.LogChanges := False;
|
||||
ATarget.RemoteFetchEnabled := False;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
end.
|
||||
|
||||
@ -125,7 +125,7 @@ implementation
|
||||
{$R *.dfm}
|
||||
|
||||
uses
|
||||
Menus, uDMBase, cxControls;
|
||||
Menus, uDataModuleBase, cxControls;
|
||||
|
||||
{
|
||||
********************************* TfEditorBase *********************************
|
||||
|
||||
BIN
Source/Base/uEditorDBBase.ddp
Normal file
BIN
Source/Base/uEditorDBBase.ddp
Normal file
Binary file not shown.
@ -13,6 +13,7 @@ inherited fEditorDBBase: TfEditorDBBase
|
||||
ExplicitWidth = 652
|
||||
inherited Image1: TImage
|
||||
Left = 625
|
||||
Picture.Data = {00}
|
||||
ExplicitLeft = 625
|
||||
end
|
||||
end
|
||||
|
||||
@ -36,10 +36,12 @@ type
|
||||
{ Private declarations }
|
||||
protected
|
||||
function GetModified: Boolean; override;
|
||||
function HayDatos: Boolean; virtual;
|
||||
published
|
||||
end;
|
||||
|
||||
var
|
||||
fEditorDBBase: TfEditorDBBase;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
@ -194,17 +196,35 @@ begin
|
||||
end;
|
||||
|
||||
function TfEditorDBBase.GetModified: Boolean;
|
||||
var
|
||||
dtDetails : TList;
|
||||
i : integer;
|
||||
bCambiado : Boolean;
|
||||
begin
|
||||
if ReadOnly then
|
||||
Result := False
|
||||
else
|
||||
Result := DataTableModified(dsDataTable.DataTable) or inherited GetModified;
|
||||
end;
|
||||
bCambiado := False;
|
||||
if Assigned(dsDataTable.DataTable) then
|
||||
begin
|
||||
bCambiado := (dsDataTable.DataTable.State = dsEdit) or
|
||||
DeltaValuesAreDifferent(dsDataTable.DataTable.Delta);
|
||||
|
||||
function TfEditorDBBase.HayDatos: Boolean;
|
||||
begin
|
||||
Result := Assigned(dsDataTable.DataTable) and (dsDataTable.DataTable.State <> dsInactive)
|
||||
and (not dsDataTable.DataTable.IsEmpty);
|
||||
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;
|
||||
|
||||
BIN
Source/Base/uEditorDBItem.ddp
Normal file
BIN
Source/Base/uEditorDBItem.ddp
Normal file
Binary file not shown.
@ -5,7 +5,7 @@ inherited fEditorGridBase: TfEditorGridBase
|
||||
ClientHeight = 446
|
||||
ClientWidth = 703
|
||||
ExplicitWidth = 711
|
||||
ExplicitHeight = 473
|
||||
ExplicitHeight = 480
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
inherited JvNavPanelHeader: TJvNavPanelHeader
|
||||
@ -66,7 +66,7 @@ inherited fEditorGridBase: TfEditorGridBase
|
||||
CloseButton = False
|
||||
DefaultDock = TBXDock
|
||||
DockMode = dmCannotFloatOrChangeDocks
|
||||
DockPos = 440
|
||||
DockPos = 392
|
||||
DockRow = 1
|
||||
DragHandleStyle = dhNone
|
||||
Images = SmallImages
|
||||
@ -134,7 +134,6 @@ inherited fEditorGridBase: TfEditorGridBase
|
||||
Caption = 'Quitar filtro y ver todo'
|
||||
ImageIndex = 19
|
||||
OnExecute = actQuitarFiltroExecute
|
||||
OnUpdate = actQuitarFiltroUpdate
|
||||
end
|
||||
object actDuplicar: TAction
|
||||
Category = 'Archivo'
|
||||
@ -1431,9 +1430,4 @@ inherited fEditorGridBase: TfEditorGridBase
|
||||
Action = actImprimir
|
||||
end
|
||||
end
|
||||
object TimerParaFiltro: TTimer
|
||||
OnTimer = TimerParaFiltroTimer
|
||||
Left = 472
|
||||
Top = 80
|
||||
end
|
||||
end
|
||||
|
||||
@ -45,7 +45,6 @@ type
|
||||
TBXSeparatorItem15: TTBXSeparatorItem;
|
||||
TBXItem34: TTBXItem;
|
||||
Duplicar1: TMenuItem;
|
||||
TimerParaFiltro: TTimer;
|
||||
procedure tbxEditFiltroChange(Sender: TObject; const Text: String);
|
||||
procedure FormShow(Sender: TObject); override;
|
||||
procedure actPrevisualizarExecute(Sender: TObject);
|
||||
@ -56,8 +55,6 @@ type
|
||||
procedure JvFormStorageSavePlacement(Sender: TObject);
|
||||
procedure JvFormStorageRestorePlacement(Sender: TObject);
|
||||
procedure actRefrescarExecute(Sender: TObject);
|
||||
procedure TimerParaFiltroTimer(Sender: TObject);
|
||||
procedure actQuitarFiltroUpdate(Sender: TObject);
|
||||
private
|
||||
FViewGrid : IViewGridBase;
|
||||
protected
|
||||
@ -73,19 +70,15 @@ type
|
||||
implementation
|
||||
|
||||
uses
|
||||
uDMBase, uCustomEditor, cxGridTableView;
|
||||
uDataModuleBase, uCustomEditor, cxGridTableView;
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
var
|
||||
FTextoFiltro : String;
|
||||
|
||||
{
|
||||
********************************* TfEditorGridBase *****************************
|
||||
}
|
||||
destructor TfEditorGridBase.Destroy;
|
||||
begin
|
||||
TimerParaFiltro.Enabled := False;
|
||||
FViewGrid := NIL;
|
||||
inherited;
|
||||
end;
|
||||
@ -107,17 +100,8 @@ end;
|
||||
|
||||
procedure TfEditorGridBase.tbxEditFiltroChange(Sender: TObject; const Text: String);
|
||||
begin
|
||||
TimerParaFiltro.Enabled := False;
|
||||
FTextoFiltro := Text;
|
||||
TimerParaFiltro.Enabled := True;
|
||||
end;
|
||||
|
||||
procedure TfEditorGridBase.TimerParaFiltroTimer(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
TimerParaFiltro.Enabled := False;
|
||||
if Assigned(ViewGrid) then
|
||||
ViewGrid.Filter := FTextoFiltro;
|
||||
ViewGrid.Filter := Text;
|
||||
end;
|
||||
|
||||
procedure TfEditorGridBase.FormShow(Sender: TObject);
|
||||
@ -146,7 +130,6 @@ end;
|
||||
|
||||
procedure TfEditorGridBase.actQuitarFiltroExecute(Sender: TObject);
|
||||
begin
|
||||
TimerParaFiltro.Enabled := False;
|
||||
if Assigned(ViewGrid) then
|
||||
begin
|
||||
tbxEditFiltro.Text := '';
|
||||
@ -154,16 +137,9 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorGridBase.actQuitarFiltroUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
(Sender as TAction).Enabled := (Length(tbxEditFiltro.Text) > 0);
|
||||
end;
|
||||
|
||||
constructor TfEditorGridBase.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited;
|
||||
FTextoFiltro := '';
|
||||
actModificar.ShortCut := ShortCut(VK_RETURN, []);
|
||||
end;
|
||||
|
||||
|
||||
@ -1,27 +1,23 @@
|
||||
inherited fEditorItem: TfEditorItem
|
||||
Left = 423
|
||||
Top = 273
|
||||
Width = 686
|
||||
Height = 535
|
||||
Caption = 'fEditorItem'
|
||||
ClientHeight = 508
|
||||
ClientWidth = 678
|
||||
ExplicitWidth = 686
|
||||
ExplicitHeight = 535
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
inherited JvNavPanelHeader: TJvNavPanelHeader
|
||||
Width = 678
|
||||
Visible = False
|
||||
ExplicitWidth = 678
|
||||
inherited Image1: TImage
|
||||
Left = 651
|
||||
ExplicitLeft = 651
|
||||
end
|
||||
end
|
||||
object pgPaginas: TPageControl [1]
|
||||
Left = 0
|
||||
Top = 76
|
||||
Width = 678
|
||||
Height = 413
|
||||
Height = 406
|
||||
ActivePage = pagGeneral
|
||||
Align = alClient
|
||||
TabOrder = 1
|
||||
@ -31,15 +27,12 @@ inherited fEditorItem: TfEditorItem
|
||||
end
|
||||
inherited TBXDock: TTBXDock
|
||||
Width = 678
|
||||
ExplicitWidth = 678
|
||||
inherited tbxMain: TTBXToolbar
|
||||
ExplicitWidth = 524
|
||||
inherited TBXItem5: TTBXItem
|
||||
Visible = False
|
||||
end
|
||||
end
|
||||
inherited tbxMenu: TTBXToolbar
|
||||
ExplicitWidth = 678
|
||||
inherited TBXSubmenuItem4: TTBXSubmenuItem
|
||||
inherited TBXItem10: TTBXItem
|
||||
Visible = False
|
||||
@ -48,10 +41,8 @@ inherited fEditorItem: TfEditorItem
|
||||
end
|
||||
end
|
||||
inherited StatusBar: TStatusBar
|
||||
Top = 489
|
||||
Top = 482
|
||||
Width = 678
|
||||
ExplicitTop = 489
|
||||
ExplicitWidth = 678
|
||||
end
|
||||
inherited EditorActionList: TActionList
|
||||
Top = 104
|
||||
|
||||
@ -26,7 +26,7 @@ var
|
||||
|
||||
implementation
|
||||
|
||||
uses uDMBase;
|
||||
uses uDataModuleBase;
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
|
||||
@ -5,6 +5,8 @@ inherited fEditorPreview: TfEditorPreview
|
||||
WindowState = wsMaximized
|
||||
OnDestroy = FormDestroy
|
||||
OnResize = FormResize
|
||||
ExplicitWidth = 320
|
||||
ExplicitHeight = 240
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
inherited JvNavPanelHeader: TJvNavPanelHeader
|
||||
|
||||
BIN
Source/Base/uViewGridBase.ddp
Normal file
BIN
Source/Base/uViewGridBase.ddp
Normal file
Binary file not shown.
@ -276,8 +276,6 @@ var
|
||||
begin
|
||||
with _FocusedView.DataController.Filter do
|
||||
begin
|
||||
ShowHourglassCursor;
|
||||
Application.ProcessMessages;
|
||||
BeginUpdate;
|
||||
try
|
||||
Options := [fcoCaseInsensitive, fcoSoftCompare];
|
||||
@ -298,8 +296,6 @@ begin
|
||||
Active := False;
|
||||
finally
|
||||
EndUpdate;
|
||||
HideHourglassCursor;
|
||||
Application.ProcessMessages;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user