Compare commits

..

1 Commits

Author SHA1 Message Date
37185ea098 made a copy
git-svn-id: https://192.168.0.254/svn/Proyectos.Varela_PuntosVenta/tags/2.1.1@106 1c943782-d109-9647-9548-93b3ac332352
2008-03-12 11:57:05 +00:00
598 changed files with 16138 additions and 31296 deletions

File diff suppressed because it is too large Load Diff

0
Build/Build.fbw Normal file
View File

View File

@ -523,7 +523,6 @@ CREATE TABLE [RDX_DEVOLUCION_AJUSTES] (
[COLOR] varchar(10) NOT NULL, [COLOR] varchar(10) NOT NULL,
[APROBADO] char(1) NULL, [APROBADO] char(1) NULL,
[FECHACAMBIO] datetime NULL, [FECHACAMBIO] datetime NULL,
[CANT36] numeric(15, 0) NULL,
[CANT38] numeric(15, 0) NULL, [CANT38] numeric(15, 0) NULL,
[CANT40] numeric(15, 0) NULL, [CANT40] numeric(15, 0) NULL,
[CANT42] numeric(15, 0) NULL, [CANT42] numeric(15, 0) NULL,
@ -568,7 +567,6 @@ CREATE TABLE [RDX_RECEPCION_AJUSTES] (
[COLOR] varchar(10) NOT NULL, [COLOR] varchar(10) NOT NULL,
[APROBADO] char(1) NULL, [APROBADO] char(1) NULL,
[FECHACAMBIO] datetime NULL, [FECHACAMBIO] datetime NULL,
[CANT36] numeric(15, 0) NULL,
[CANT38] numeric(15, 0) NULL, [CANT38] numeric(15, 0) NULL,
[CANT40] numeric(15, 0) NULL, [CANT40] numeric(15, 0) NULL,
[CANT42] numeric(15, 0) NULL, [CANT42] numeric(15, 0) NULL,
@ -617,7 +615,6 @@ CREATE TABLE [RDX_TRASPASOS_AJUSTES] (
[OBSERVACIONES] varchar(255) NULL, [OBSERVACIONES] varchar(255) NULL,
[CONTABILIZAR] char(1) NULL, [CONTABILIZAR] char(1) NULL,
[FECHACAMBIO] datetime NULL, [FECHACAMBIO] datetime NULL,
[CANT36] numeric(15, 0) NULL,
[CANT38] numeric(15, 0) NULL, [CANT38] numeric(15, 0) NULL,
[CANT40] numeric(15, 0) NULL, [CANT40] numeric(15, 0) NULL,
[CANT42] numeric(15, 0) NULL, [CANT42] numeric(15, 0) NULL,
@ -876,102 +873,6 @@ ON [RDX_VENTASEDI]
TO [public] TO [public]
GO 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 */ /* EOF */

View File

@ -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] DROP VIEW [RDX_V_TRASPASOS_AJUSTES_DESGLOSADO]
GO GO
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_HOJAS_TRASPASOS]'))
DROP VIEW [RDX_V_HOJAS_TRASPASOS] DROP VIEW [RDX_V_HOJAS_TRASPASOS]
GO 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] DROP VIEW [RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO]
GO 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] DROP VIEW [RDX_V_CONTROL_RECEPCION_DESGLOSADO]
GO 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] DROP VIEW [RDX_V_RECEPCION_AJUSTES_DESGLOSADO]
GO GO
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_CONTROL_DEVOLUCIONES]'))
DROP VIEW [RDX_V_CONTROL_DEVOLUCIONES] DROP VIEW [RDX_V_CONTROL_DEVOLUCIONES]
GO GO
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_DEVOLUCIONES]'))
DROP VIEW [RDX_V_DEVOLUCIONES] DROP VIEW [RDX_V_DEVOLUCIONES]
GO GO
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_HOJAS_DEVOLUCIONES]'))
DROP VIEW [RDX_V_HOJAS_DEVOLUCIONES] DROP VIEW [RDX_V_HOJAS_DEVOLUCIONES]
GO 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] DROP VIEW [RDX_V_CONTROL_RECEPCION_ALBARANES]
GO GO
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_ALBARANES_PENDIENTES]'))
DROP VIEW [RDX_V_ALBARANES_PENDIENTES] DROP VIEW [RDX_V_ALBARANES_PENDIENTES]
GO GO
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_CONTROL_RECEPCION]'))
DROP VIEW [RDX_V_CONTROL_RECEPCION] DROP VIEW [RDX_V_CONTROL_RECEPCION]
GO GO
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_RECEPCION]'))
DROP VIEW [RDX_V_RECEPCION] DROP VIEW [RDX_V_RECEPCION]
GO GO
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_ALBARANES]'))
DROP VIEW [RDX_V_ALBARANES] DROP VIEW [RDX_V_ALBARANES]
GO GO
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_CONTROL_TRASPASOS]'))
DROP VIEW [RDX_V_CONTROL_TRASPASOS] DROP VIEW [RDX_V_CONTROL_TRASPASOS]
GO GO
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_TRASPASOS]'))
DROP VIEW [RDX_V_TRASPASOS] DROP VIEW [RDX_V_TRASPASOS]
GO GO
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_TRASPASO_SALIDA]'))
DROP VIEW [RDX_V_TRASPASO_SALIDA] DROP VIEW [RDX_V_TRASPASO_SALIDA]
GO GO
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_TRASPASO_ENTRADA]'))
DROP VIEW [RDX_V_TRASPASO_ENTRADA] DROP VIEW [RDX_V_TRASPASO_ENTRADA]
GO 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] DROP VIEW [RDX_V_INVENTARIOEDI_TRASPASO_SALIDA]
GO 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] DROP VIEW [RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA]
GO GO
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_INVENTARIOEDI_TRASPASO]'))
DROP VIEW [RDX_V_INVENTARIOEDI_TRASPASO] DROP VIEW [RDX_V_INVENTARIOEDI_TRASPASO]
GO 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] DROP VIEW [RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA]
GO GO
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_INVENTARIOEDI_RECEPCION]'))
DROP VIEW [RDX_V_INVENTARIOEDI_RECEPCION] DROP VIEW [RDX_V_INVENTARIOEDI_RECEPCION]
GO GO
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_INVENTARIO_MAXFECHAS]'))
DROP VIEW [RDX_V_INVENTARIO_MAXFECHAS] DROP VIEW [RDX_V_INVENTARIO_MAXFECHAS]
GO GO
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_ULTIMO_INVENTARIO]'))
DROP VIEW [RDX_V_ULTIMO_INVENTARIO] DROP VIEW [RDX_V_ULTIMO_INVENTARIO]
GO 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] DROP VIEW [RDX_V_INVENTARIOEDI_PESADA]
GO GO
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_INVENTARIOEDI]'))
DROP VIEW [RDX_V_INVENTARIOEDI] DROP VIEW [RDX_V_INVENTARIOEDI]
GO GO
@ -367,9 +342,6 @@ SELECT
FECHA = RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.FECHA, FECHA = RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.FECHA,
/* CANTIDADES ENVIADAS DESDE EL CENTRO*/ /* 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 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) ISNULL(RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.CANTIDAD, 0)
END), END),
@ -420,9 +392,6 @@ SELECT
FECHA = RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.FECHA, FECHA = RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.FECHA,
/* CANTIDADES ENVIADAS DESDE EL CENTRO*/ /* 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 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) ISNULL(RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.CANTIDAD, 0)
END), END),
@ -469,7 +438,6 @@ SELECT
PRODUCTO, PRODUCTO,
COLOR, COLOR,
FECHA, FECHA,
T36,
T38, T38,
T40, T40,
T42, T42,
@ -489,7 +457,6 @@ SELECT
PRODUCTO, PRODUCTO,
COLOR, COLOR,
FECHA, FECHA,
T36,
T38, T38,
T40, T40,
T42, T42,
@ -518,7 +485,6 @@ SELECT
RDX_V_TRASPASOS.CODIGO, RDX_V_TRASPASOS.CODIGO,
RDX_V_TRASPASOS.PRODUCTO, RDX_V_TRASPASOS.PRODUCTO,
RDX_V_TRASPASOS.COLOR, RDX_V_TRASPASOS.COLOR,
RDX_V_TRASPASOS.T36,
RDX_V_TRASPASOS.T38, RDX_V_TRASPASOS.T38,
RDX_V_TRASPASOS.T40, RDX_V_TRASPASOS.T40,
RDX_V_TRASPASOS.T42, RDX_V_TRASPASOS.T42,
@ -526,7 +492,6 @@ SELECT
RDX_V_TRASPASOS.T46, RDX_V_TRASPASOS.T46,
RDX_V_TRASPASOS.T48, RDX_V_TRASPASOS.T48,
RDX_V_TRASPASOS.TOTAL, 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)), 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)), 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)), 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), TR46 = ISNULL(RDX_TRASPASOS_AJUSTES.CANT46, RDX_V_TRASPASOS.T46),
TR48 = ISNULL(RDX_TRASPASOS_AJUSTES.CANT48, RDX_V_TRASPASOS.T48), TR48 = ISNULL(RDX_TRASPASOS_AJUSTES.CANT48, RDX_V_TRASPASOS.T48),
TOTAL_RECT = 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.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.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) + ISNULL(ISNULL(RDX_TRASPASOS_AJUSTES.CANT42, ISNULL(RDX_TRASPASOS_AJUSTES.CANT_L, RDX_V_TRASPASOS.T42)), 0) +
@ -561,40 +525,21 @@ SELECT
FATURAMENTO.NOME_CLIFOR AS FILIAL, FATURAMENTO.NOME_CLIFOR AS FILIAL,
PRODUTOS_BARRA.CODIGO_BARRA, PRODUTOS_BARRA.CODIGO_BARRA,
FATURAMENTO_PROD.PRODUTO AS CODIGO, 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, PRODUCTO = PRODUTOS.DESC_PRODUTO,
PRODUTOS_BARRA.COR_PRODUTO AS COLOR, PRODUTOS_BARRA.COR_PRODUTO AS COLOR,
PRODUTOS_BARRA.GRADE AS TALLA, PRODUTOS_BARRA.GRADE AS TALLA,
CASE CANTIDAD = CASE UPPER(PRODUTOS_BARRA.GRADE)
WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN WHEN '38' THEN F1
CASE UPPER(PRODUTOS_BARRA.GRADE) WHEN 'S' THEN F1
WHEN '36' THEN F1 WHEN '40' THEN F2
WHEN '38' THEN F2 WHEN 'M' THEN F2
WHEN '40' THEN F3 WHEN '42' THEN F3
WHEN '42' THEN F4 WHEN 'L' THEN F3
WHEN '44' THEN F5 WHEN '44' THEN F4
WHEN '46' THEN F6 WHEN 'XL' THEN F4
WHEN '48' THEN F7 WHEN '46' THEN F5
END WHEN '48' THEN F6
ELSE END,
CASE UPPER(PRODUTOS_BARRA.GRADE)
WHEN '38' THEN F1
WHEN 'S' THEN F1
WHEN '40' THEN F2
WHEN 'M' THEN F2
WHEN '42' THEN F3
WHEN 'L' THEN F3
WHEN '44' THEN F4
WHEN 'XL' THEN F4
WHEN '46' THEN F5
WHEN '48' THEN F6
END
END AS CANTIDAD,
RDX_AJUSTES_ALBARAN.ESTADO, RDX_AJUSTES_ALBARAN.ESTADO,
RDX_AJUSTES_ALBARAN.OBSERVACIONES, RDX_AJUSTES_ALBARAN.OBSERVACIONES,
CONTABILIZAR = ISNULL(RDX_AJUSTES_ALBARAN.CONTABILIZAR, 'S') CONTABILIZAR = ISNULL(RDX_AJUSTES_ALBARAN.CONTABILIZAR, 'S')
@ -604,28 +549,27 @@ INNER JOIN FATURAMENTO ON
(FATURAMENTO.SERIE_NF = FATURAMENTO_PROD.SERIE_NF)) (FATURAMENTO.SERIE_NF = FATURAMENTO_PROD.SERIE_NF))
INNER JOIN FATURAMENTO_TIPO ON INNER JOIN FATURAMENTO_TIPO ON
(LTRIM(RTRIM(FATURAMENTO.TIPO_FATURAMENTO)) = FATURAMENTO_TIPO.TIPO_FATURAMENTO) (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 LEFT OUTER JOIN FILIAIS ON
(FILIAIS.FILIAL = FATURAMENTO.NOME_CLIFOR) (FILIAIS.FILIAL = FATURAMENTO.NOME_CLIFOR)
LEFT OUTER JOIN RDX_FILIALES ON LEFT OUTER JOIN RDX_FILIALES ON
(RDX_FILIALES.CODFILIAL = FILIAIS.COD_FILIAL) (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 */ WHERE FATURAMENTO_TIPO.INDICADOR_TIPO = 'VTPT' /* ALBARANES DE PRODUCTOS TERMINADOS */
AND FATURAMENTO.NOME_CLIFOR LIKE '%INGLES%' /* ALBARANES PARA CENTROS DEL CORTE INGLES */ 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 */ 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'), CONTABILIZAR_ALBARAN = ISNULL(RDX_V_ALBARANES.CONTABILIZAR, 'S'),
/* CANTIDADES ENVIADAS DESDE VARELA */ /* 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 E38 = SUM(CASE WHEN ((RDX_V_ALBARANES.TALLA = 38) OR (UPPER(RDX_V_ALBARANES.TALLA) = 'S')) THEN
ISNULL(RDX_V_ALBARANES.CANTIDAD, 0) ISNULL(RDX_V_ALBARANES.CANTIDAD, 0)
END), END),
@ -678,9 +619,6 @@ SELECT
), ),
/* CANTIDADES RECIBIDAS EN EL CENTRO*/ /* 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 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) ISNULL(RDX_V_INVENTARIOEDI_RECEPCION.CANTIDAD, 0)
END), END),
@ -748,13 +686,12 @@ SELECT
RDX_V_RECEPCION.CONTABILIZAR_ALBARAN, RDX_V_RECEPCION.CONTABILIZAR_ALBARAN,
/* CANTIDADES ENVIADAS DESDE VARELA */ /* 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*/ /* 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 */ /* CANTIDADES RECIBIDAS RECTIFICADAS */
RR36 = ISNULL(RDX_RECEPCION_AJUSTES.CANT36, R36),
RR38 = ISNULL(RDX_RECEPCION_AJUSTES.CANT38, ISNULL(RDX_RECEPCION_AJUSTES.CANT_S, R38)), 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)), 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)), 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), RR48 = ISNULL(RDX_RECEPCION_AJUSTES.CANT48, R48),
RECIBIDO_RECT = 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.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.CANT40, ISNULL(RDX_RECEPCION_AJUSTES.CANT_M, ISNULL(R40, 0))) +
ISNULL(RDX_RECEPCION_AJUSTES.CANT42, ISNULL(RDX_RECEPCION_AJUSTES.CANT_L, ISNULL(R42, 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)), ISNULL(RDX_RECEPCION_AJUSTES.CANT48, ISNULL(R48, 0)),
DIFERENCIA = 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.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.CANT40, ISNULL(RDX_RECEPCION_AJUSTES.CANT_M, ISNULL(R40, 0))) +
ISNULL(RDX_RECEPCION_AJUSTES.CANT42, ISNULL(RDX_RECEPCION_AJUSTES.CANT_L, ISNULL(R42, 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 'N' THEN 'PENDIENTE'
WHEN 'S' THEN 'APROBADO' WHEN 'S' THEN 'APROBADO'
END 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 from RDX_V_CONTROL_RECEPCION
left join RDX_V_ALBARANES_PENDIENTES left join RDX_V_ALBARANES_PENDIENTES
on (RDX_V_CONTROL_RECEPCION.ALBARAN = RDX_V_ALBARANES_PENDIENTES.ALBARAN) on (RDX_V_CONTROL_RECEPCION.ALBARAN = RDX_V_ALBARANES_PENDIENTES.ALBARAN)
@ -832,51 +768,37 @@ SELECT
PRODUCTO = ISNULL(PRODUTOS.DESC_PRODUTO, '*** ERROR REFERENCIA ****'), PRODUCTO = ISNULL(PRODUTOS.DESC_PRODUTO, '*** ERROR REFERENCIA ****'),
PRODUTOS_BARRA.COR_PRODUTO AS COLOR, PRODUTOS_BARRA.COR_PRODUTO AS COLOR,
PRODUTOS_BARRA.GRADE AS TALLA, PRODUTOS_BARRA.GRADE AS TALLA,
CASE CANTIDAD = CASE UPPER(PRODUTOS_BARRA.GRADE)
WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN WHEN '38' THEN EN1
CASE UPPER(PRODUTOS_BARRA.GRADE) WHEN 'S' THEN EN1
WHEN '36' THEN EN1 WHEN '40' THEN EN2
WHEN '38' THEN EN2 WHEN 'M' THEN EN2
WHEN '40' THEN EN3 WHEN '42' THEN EN3
WHEN '42' THEN EN4 WHEN 'L' THEN EN3
WHEN '44' THEN EN5 WHEN '44' THEN EN4
WHEN '46' THEN EN6 WHEN 'XL' THEN EN4
WHEN '48' THEN EN7 WHEN '46' THEN EN5
END WHEN '48' THEN EN6
ELSE END,
CASE UPPER(PRODUTOS_BARRA.GRADE)
WHEN '38' THEN EN1
WHEN 'S' THEN EN1
WHEN '40' THEN EN2
WHEN 'M' THEN EN2
WHEN '42' THEN EN3
WHEN 'L' THEN EN3
WHEN '44' THEN EN4
WHEN 'XL' THEN EN4
WHEN '46' THEN EN5
WHEN '48' THEN EN6
END
END AS CANTIDAD,
RDX_AJUSTES_HOJA_DEVOLUCIONES.ESTADO, RDX_AJUSTES_HOJA_DEVOLUCIONES.ESTADO,
RDX_AJUSTES_HOJA_DEVOLUCIONES.OBSERVACIONES, RDX_AJUSTES_HOJA_DEVOLUCIONES.OBSERVACIONES,
CONTABILIZAR = ISNULL(RDX_AJUSTES_HOJA_DEVOLUCIONES.CONTABILIZAR, 'S') CONTABILIZAR = ISNULL(RDX_AJUSTES_HOJA_DEVOLUCIONES.CONTABILIZAR, 'S')
FROM LOJA_SAIDAS_PRODUTO FROM LOJA_SAIDAS_PRODUTO
INNER JOIN LOJA_SAIDAS ON (LOJA_SAIDAS.ROMANEIO_PRODUTO = LOJA_SAIDAS_PRODUTO.ROMANEIO_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 INNER JOIN PRODUTOS_BARRA on
(((PRODUTOS_BARRA.PRODUTO = LOJA_SAIDAS_PRODUTO.PRODUTO) AND (((PRODUTOS_BARRA.PRODUTO = LOJA_SAIDAS_PRODUTO.PRODUTO) AND
(PRODUTOS_BARRA.COR_PRODUTO = LOJA_SAIDAS_PRODUTO.COR_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 '38' 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.EN1 <> 0) THEN 'S' 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 '40' 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.EN2 <> 0) THEN 'M' 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 '42' 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.EN3 <> 0) THEN 'L' 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 '44' 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.EN4 <> 0) THEN 'XL' 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.EN5 <> 0) THEN '46' 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.EN6 <> 0) THEN '48' END)))
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN7 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '48' ELSE NULL END 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 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 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) 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'), CONTABILIZAR_HOJA = ISNULL(RDX_V_HOJAS_DEVOLUCIONES.CONTABILIZAR, 'S'),
/* CANTIDADES SOLICITADAS DESDE VARELA */ /* 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 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) ISNULL(RDX_V_HOJAS_DEVOLUCIONES.CANTIDAD, 0)
END), END),
@ -935,9 +854,6 @@ SELECT
), ),
/* CANTIDADES ENVIADAS DESDE EL CENTRO*/ /* 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 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) ISNULL(RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.CANTIDAD, 0)
END), END),
@ -1005,13 +921,12 @@ SELECT
RDX_V_DEVOLUCIONES.CONTABILIZAR_HOJA, RDX_V_DEVOLUCIONES.CONTABILIZAR_HOJA,
/* CANTIDADES SOLICITADAS DESDE VARELA */ /* 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*/ /* 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 */ /* CANTIDADES ENVIADAS RECTIFICADAS */
ER36 = ISNULL(RDX_DEVOLUCION_AJUSTES.CANT36, E36),
ER38 = ISNULL(RDX_DEVOLUCION_AJUSTES.CANT38, ISNULL(RDX_DEVOLUCION_AJUSTES.CANT_S, E38)), 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)), 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)), 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), ER48 = ISNULL(RDX_DEVOLUCION_AJUSTES.CANT48, E48),
ENVIADO_RECT = 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.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.CANT40, ISNULL(RDX_DEVOLUCION_AJUSTES.CANT_M, ISNULL(E40, 0))) +
ISNULL(RDX_DEVOLUCION_AJUSTES.CANT42, ISNULL(RDX_DEVOLUCION_AJUSTES.CANT_L, ISNULL(E42, 0))) + ISNULL(RDX_DEVOLUCION_AJUSTES.CANT42, ISNULL(RDX_DEVOLUCION_AJUSTES.CANT_L, ISNULL(E42, 0))) +
@ -1030,7 +944,6 @@ SELECT
DIFERENCIA = 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.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.CANT40, ISNULL(RDX_DEVOLUCION_AJUSTES.CANT_M, ISNULL(E40, 0))) +
ISNULL(RDX_DEVOLUCION_AJUSTES.CANT42, ISNULL(RDX_DEVOLUCION_AJUSTES.CANT_L, ISNULL(E42, 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_RECEPCION_AJUSTES.COLOR,
RDX_TALLAS.TALLA, RDX_TALLAS.TALLA,
CANTIDAD = CASE UPPER(RDX_TALLAS.TALLA) CANTIDAD = CASE UPPER(RDX_TALLAS.TALLA)
WHEN '36' THEN RDX_RECEPCION_AJUSTES.CANT36
WHEN '38' THEN RDX_RECEPCION_AJUSTES.CANT38 WHEN '38' THEN RDX_RECEPCION_AJUSTES.CANT38
WHEN '40' THEN RDX_RECEPCION_AJUSTES.CANT40 WHEN '40' THEN RDX_RECEPCION_AJUSTES.CANT40
WHEN '42' THEN RDX_RECEPCION_AJUSTES.CANT42 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 FILIAIS ON (FILIAIS.COD_FILIAL = RDX_FILIALES.CODFILIAL)
LEFT OUTER JOIN PRODUTOS ON (PRODUTOS.PRODUTO = RDX_RECEPCION_AJUSTES.CODIGO) LEFT OUTER JOIN PRODUTOS ON (PRODUTOS.PRODUTO = RDX_RECEPCION_AJUSTES.CODIGO)
WHERE CASE RDX_TALLAS.TALLA WHERE CASE RDX_TALLAS.TALLA
WHEN '36' THEN RDX_RECEPCION_AJUSTES.CANT36
WHEN '38' THEN RDX_RECEPCION_AJUSTES.CANT38 WHEN '38' THEN RDX_RECEPCION_AJUSTES.CANT38
WHEN '40' THEN RDX_RECEPCION_AJUSTES.CANT40 WHEN '40' THEN RDX_RECEPCION_AJUSTES.CANT40
WHEN '42' THEN RDX_RECEPCION_AJUSTES.CANT42 WHEN '42' THEN RDX_RECEPCION_AJUSTES.CANT42
@ -1135,7 +1046,6 @@ SELECT
RDX_DEVOLUCION_AJUSTES.COLOR, RDX_DEVOLUCION_AJUSTES.COLOR,
RDX_TALLAS.TALLA, RDX_TALLAS.TALLA,
CANTIDAD = CASE RDX_TALLAS.TALLA CANTIDAD = CASE RDX_TALLAS.TALLA
WHEN '36' THEN RDX_DEVOLUCION_AJUSTES.CANT36
WHEN '38' THEN RDX_DEVOLUCION_AJUSTES.CANT38 WHEN '38' THEN RDX_DEVOLUCION_AJUSTES.CANT38
WHEN '40' THEN RDX_DEVOLUCION_AJUSTES.CANT40 WHEN '40' THEN RDX_DEVOLUCION_AJUSTES.CANT40
WHEN '42' THEN RDX_DEVOLUCION_AJUSTES.CANT42 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 FILIAIS ON (FILIAIS.COD_FILIAL = RDX_FILIALES.CODFILIAL)
LEFT OUTER JOIN PRODUTOS ON (PRODUTOS.PRODUTO = RDX_DEVOLUCION_AJUSTES.CODIGO) LEFT OUTER JOIN PRODUTOS ON (PRODUTOS.PRODUTO = RDX_DEVOLUCION_AJUSTES.CODIGO)
WHERE CASE RDX_TALLAS.TALLA WHERE CASE RDX_TALLAS.TALLA
WHEN '36' THEN RDX_DEVOLUCION_AJUSTES.CANT36
WHEN '38' THEN RDX_DEVOLUCION_AJUSTES.CANT38 WHEN '38' THEN RDX_DEVOLUCION_AJUSTES.CANT38
WHEN '40' THEN RDX_DEVOLUCION_AJUSTES.CANT40 WHEN '40' THEN RDX_DEVOLUCION_AJUSTES.CANT40
WHEN '42' THEN RDX_DEVOLUCION_AJUSTES.CANT42 WHEN '42' THEN RDX_DEVOLUCION_AJUSTES.CANT42
@ -1182,8 +1091,7 @@ SELECT
PRODUTOS_BARRA.COR_PRODUTO AS COLOR, PRODUTOS_BARRA.COR_PRODUTO AS COLOR,
PRODUTOS_BARRA.GRADE AS TALLA, PRODUTOS_BARRA.GRADE AS TALLA,
CANTIDAD = CASE UPPER(PRODUTOS_BARRA.GRADE) CANTIDAD = CASE UPPER(PRODUTOS_BARRA.GRADE)
WHEN '36' THEN EN7 WHEN '38' THEN EN1
WHEN '38' THEN EN1
WHEN 'S' THEN EN1 WHEN 'S' THEN EN1
WHEN '40' THEN EN2 WHEN '40' THEN EN2
WHEN 'M' THEN EN2 WHEN 'M' THEN EN2
@ -1199,8 +1107,7 @@ INNER JOIN LOJA_SAIDAS ON (LOJA_SAIDAS.ROMANEIO_PRODUTO = LOJA_SAIDAS_PRODUTO.RO
INNER JOIN PRODUTOS_BARRA on INNER JOIN PRODUTOS_BARRA on
(((PRODUTOS_BARRA.PRODUTO = LOJA_SAIDAS_PRODUTO.PRODUTO) AND (((PRODUTOS_BARRA.PRODUTO = LOJA_SAIDAS_PRODUTO.PRODUTO) AND
(PRODUTOS_BARRA.COR_PRODUTO = LOJA_SAIDAS_PRODUTO.COR_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.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 '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.EN2 <> 0) THEN 'M' END) OR
@ -1234,7 +1141,6 @@ SELECT
RDX_TRASPASOS_AJUSTES.COLOR, RDX_TRASPASOS_AJUSTES.COLOR,
RDX_TALLAS.TALLA, RDX_TALLAS.TALLA,
CANTIDAD = CASE UPPER(RDX_TALLAS.TALLA) CANTIDAD = CASE UPPER(RDX_TALLAS.TALLA)
WHEN '36' THEN RDX_TRASPASOS_AJUSTES.CANT36
WHEN '38' THEN RDX_TRASPASOS_AJUSTES.CANT38 WHEN '38' THEN RDX_TRASPASOS_AJUSTES.CANT38
WHEN '40' THEN RDX_TRASPASOS_AJUSTES.CANT40 WHEN '40' THEN RDX_TRASPASOS_AJUSTES.CANT40
WHEN '42' THEN RDX_TRASPASOS_AJUSTES.CANT42 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 FILIAIS AS FILIAIS2 ON (FILIAIS2.COD_FILIAL = RDX_FILIALES2.CODFILIAL)
LEFT OUTER JOIN PRODUTOS ON (PRODUTOS.PRODUTO = RDX_TRASPASOS_AJUSTES.CODIGO) LEFT OUTER JOIN PRODUTOS ON (PRODUTOS.PRODUTO = RDX_TRASPASOS_AJUSTES.CODIGO)
WHERE CASE RDX_TALLAS.TALLA WHERE CASE RDX_TALLAS.TALLA
WHEN '36' THEN RDX_TRASPASOS_AJUSTES.CANT36
WHEN '38' THEN RDX_TRASPASOS_AJUSTES.CANT38 WHEN '38' THEN RDX_TRASPASOS_AJUSTES.CANT38
WHEN '40' THEN RDX_TRASPASOS_AJUSTES.CANT40 WHEN '40' THEN RDX_TRASPASOS_AJUSTES.CANT40
WHEN '42' THEN RDX_TRASPASOS_AJUSTES.CANT42 WHEN '42' THEN RDX_TRASPASOS_AJUSTES.CANT42

View File

@ -1,36 +1,28 @@
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_VENTASTERMINADAS]'))
DROP VIEW [RDX_V_VENTASTERMINADAS] DROP VIEW [RDX_V_VENTASTERMINADAS]
GO GO
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_VENTASPROCESOPENDIENTES]'))
DROP VIEW [RDX_V_VENTASPROCESOPENDIENTES] DROP VIEW [RDX_V_VENTASPROCESOPENDIENTES]
GO GO
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_VENTASPROCESO]'))
DROP VIEW [RDX_V_VENTASPROCESO] DROP VIEW [RDX_V_VENTASPROCESO]
GO GO
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_REFERENCIA_GENERICA]'))
DROP VIEW [RDX_V_REFERENCIA_GENERICA] DROP VIEW [RDX_V_REFERENCIA_GENERICA]
GO GO
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_VENTASEDI_ERRONEAS]'))
DROP VIEW [RDX_V_VENTASEDI_ERRONEAS] DROP VIEW [RDX_V_VENTASEDI_ERRONEAS]
GO GO
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_VENTASEDI_RESUELTAS]'))
DROP VIEW [RDX_V_VENTASEDI_RESUELTAS] DROP VIEW [RDX_V_VENTASEDI_RESUELTAS]
GO GO
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_REFERENCIAS_RESUELTAS]'))
DROP VIEW [RDX_V_REFERENCIAS_RESUELTAS] DROP VIEW [RDX_V_REFERENCIAS_RESUELTAS]
GO 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] DROP VIEW [RDX_V_VENTASEDI_PESADA]
GO GO
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_VENTASEDI]'))
DROP VIEW [RDX_V_VENTASEDI] DROP VIEW [RDX_V_VENTASEDI]
GO GO
@ -149,13 +141,11 @@ SELECT
GRUPO_PRODUTO = ISNULL(PRODUTOS.GRUPO_PRODUTO, RDX_V_VENTASEDI.GRUPO_PRODUTO), GRUPO_PRODUTO = ISNULL(PRODUTOS.GRUPO_PRODUTO, RDX_V_VENTASEDI.GRUPO_PRODUTO),
PRODUTOS.COLECAO, PRODUTOS.COLECAO,
DESC_COLECAO = ISNULL(COLECOES.DESC_COLECAO, RDX_V_VENTASEDI.DESC_COLECAO), DESC_COLECAO = ISNULL(COLECOES.DESC_COLECAO, RDX_V_VENTASEDI.DESC_COLECAO),
VALVEN = ISNULL(RDX_V_REFERENCIAS_RESUELTAS.VALVEN, RDX_V_VENTASEDI.VALVEN), RDX_V_VENTASEDI.VALVEN,
CANVEN = ISNULL(RDX_V_REFERENCIAS_RESUELTAS.CANVEN, RDX_V_VENTASEDI.CANVEN), RDX_V_VENTASEDI.CANVEN,
RDX_V_VENTASEDI.CANDEV, RDX_V_VENTASEDI.CANDEV,
CANVENNET = ISNULL(RDX_V_REFERENCIAS_RESUELTAS.CANVENNET, RDX_V_VENTASEDI.CANVENNET), RDX_V_VENTASEDI.CANVENNET,
RDX_V_VENTASEDI.CANESP
CANESP = ISNULL(RDX_V_REFERENCIAS_RESUELTAS.CANESP, RDX_V_VENTASEDI.CANESP)
FROM RDX_V_VENTASEDI FROM RDX_V_VENTASEDI
LEFT JOIN RDX_V_REFERENCIAS_RESUELTAS ON ( LEFT JOIN RDX_V_REFERENCIAS_RESUELTAS ON (
(RDX_V_REFERENCIAS_RESUELTAS.NUMINF = RDX_V_VENTASEDI.NUMINF) AND (RDX_V_REFERENCIAS_RESUELTAS.NUMINF = RDX_V_VENTASEDI.NUMINF) AND
@ -290,7 +280,6 @@ SELECT
COLECAO AS COLECCION, COLECAO AS COLECCION,
COR_PRODUTO AS COLOR, COR_PRODUTO AS COLOR,
GRADE AS TALLA, 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, 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, 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, TALLA42 = CASE WHEN ((GRADE = 42) OR (UPPER(GRADE) = 'L')) THEN ISNULL(CANVEN, 0) + ISNULL(CANVENNET, 0) ELSE NULL END,

View File

@ -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] DROP VIEW [RDX_V_CONTROL_INVENTARIO]
GO 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] DROP VIEW [RDX_V_INVENTARIO_STOCK_DESGLOSADO]
GO 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] DROP VIEW [RDX_V_STOCK_CALCULADO_DESGLOSADO]
GO GO
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_STOCK_CALCULADO]'))
DROP VIEW [RDX_V_STOCK_CALCULADO] DROP VIEW [RDX_V_STOCK_CALCULADO]
GO GO
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_STOCK]'))
DROP VIEW [RDX_V_STOCK] DROP VIEW [RDX_V_STOCK]
GO GO
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_STOCK_VENTAS]'))
DROP VIEW [RDX_V_STOCK_VENTAS] DROP VIEW [RDX_V_STOCK_VENTAS]
GO GO
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_STOCK_INVENTARIO]'))
DROP VIEW [RDX_V_STOCK_INVENTARIO] DROP VIEW [RDX_V_STOCK_INVENTARIO]
GO GO
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[RDX_V_STOCK_VARELA]'))
DROP VIEW [RDX_V_STOCK_VARELA] DROP VIEW [RDX_V_STOCK_VARELA]
GO GO
@ -41,14 +26,14 @@ SELECT ESTOQUE_PRODUTOS.FILIAL,
PRODUTOS.TIPO_PRODUTO, PRODUTOS.TIPO_PRODUTO,
PRODUTOS.GRUPO_PRODUTO, PRODUTOS.GRUPO_PRODUTO,
COLECCION = PRODUTOS.COLECAO, COLECCION = PRODUTOS.COLECAO,
CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN ESTOQUE_PRODUTOS.ES1 ELSE 0 END AS K36, ESTOQUE_PRODUTOS.ES1 as K38,
CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN ESTOQUE_PRODUTOS.ES2 ELSE ESTOQUE_PRODUTOS.ES1 END AS K38, ESTOQUE_PRODUTOS.ES2 as K40,
CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN ESTOQUE_PRODUTOS.ES3 ELSE ESTOQUE_PRODUTOS.ES2 END AS K40, ESTOQUE_PRODUTOS.ES3 as K42,
CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN ESTOQUE_PRODUTOS.ES4 ELSE ESTOQUE_PRODUTOS.ES3 END AS K42, ESTOQUE_PRODUTOS.ES4 as K44,
CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN ESTOQUE_PRODUTOS.ES5 ELSE ESTOQUE_PRODUTOS.ES4 END AS K44, ESTOQUE_PRODUTOS.ES5 as K46,
CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN ESTOQUE_PRODUTOS.ES6 ELSE ESTOQUE_PRODUTOS.ES5 END AS K46, ESTOQUE_PRODUTOS.ES6 as K48,
CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN ESTOQUE_PRODUTOS.ES7 ELSE ESTOQUE_PRODUTOS.ES6 END AS K48,
ESTOQUE_PRODUTOS.ESTOQUE as KT ESTOQUE_PRODUTOS.ESTOQUE as KT
FROM ESTOQUE_PRODUTOS FROM ESTOQUE_PRODUTOS
LEFT OUTER JOIN PRODUTOS ON (PRODUTOS.PRODUTO = ESTOQUE_PRODUTOS.PRODUTO) LEFT OUTER JOIN PRODUTOS ON (PRODUTOS.PRODUTO = ESTOQUE_PRODUTOS.PRODUTO)
WHERE FILIAL LIKE '%VARELA IMAGEN Y DISEÑO%' 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.CODIGO = RDX_V_INVENTARIOEDI.CODIGO) AND
(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.COLOR = RDX_V_INVENTARIOEDI.COLOR) 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.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 FULL OUTER JOIN RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO ON
(RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.CENTRO = RDX_V_INVENTARIOEDI.CENTRO) AND (RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.CENTRO = RDX_V_INVENTARIOEDI.CENTRO) AND
(RDX_V_INVENTARIOEDI.CENTRO = RDX_V_INVENTARIOEDI.CENTRO2) AND (RDX_V_INVENTARIOEDI.CENTRO = RDX_V_INVENTARIOEDI.CENTRO2) AND
@ -149,24 +135,6 @@ SELECT
GRUPO_PRODUCTO = PRODUTOS.GRUPO_PRODUTO, GRUPO_PRODUCTO = PRODUTOS.GRUPO_PRODUTO,
COLECCION = PRODUTOS.COLECAO, COLECCION = PRODUTOS.COLECAO,
COLOR = ISNULL(RDX_V_STOCK_INVENTARIO.COLOR, RDX_V_STOCK_VENTAS.COLOR), 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 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 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 CASE RDX_V_STOCK_INVENTARIO.OPERACION
@ -275,24 +243,6 @@ SELECT
END END
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 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 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 CASE RDX_V_STOCK_INVENTARIO.OPERACION
@ -435,30 +385,27 @@ SELECT
GRUPO_PRODUCTO, GRUPO_PRODUCTO,
COLECCION, COLECCION,
COLOR, COLOR,
E36,
E38, E38,
E40, E40,
E42, E42,
E44, E44,
E46, E46,
E48, E48,
TE = ISNULL(E36, 0) + ISNULL(E38, 0) + ISNULL(E40, 0) + ISNULL(E42, 0) + ISNULL(E44, 0) + ISNULL(E46, 0) + ISNULL(E48, 0), TE = ISNULL(E38, 0) + ISNULL(E40, 0) + ISNULL(E42, 0) + ISNULL(E44, 0) + ISNULL(E46, 0) + ISNULL(E48, 0),
S36,
S38, S38,
S40, S40,
S42, S42,
S44, S44,
S46, S46,
S48, S48,
TS = ISNULL(S36, 0) + ISNULL(S38, 0) + ISNULL(S40, 0) + ISNULL(S42, 0) + ISNULL(S44, 0) + ISNULL(S46, 0) + ISNULL(S48, 0), TS = 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),
K38 = ISNULL(E38, 0) + ISNULL(S38, 0), K38 = ISNULL(E38, 0) + ISNULL(S38, 0),
K40 = ISNULL(E40, 0) + ISNULL(S40, 0), K40 = ISNULL(E40, 0) + ISNULL(S40, 0),
K42 = ISNULL(E42, 0) + ISNULL(S42, 0), K42 = ISNULL(E42, 0) + ISNULL(S42, 0),
K44 = ISNULL(E44, 0) + ISNULL(S44, 0), K44 = ISNULL(E44, 0) + ISNULL(S44, 0),
K46 = ISNULL(E46, 0) + ISNULL(S46, 0), K46 = ISNULL(E46, 0) + ISNULL(S46, 0),
K48 = ISNULL(E48, 0) + ISNULL(S48, 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(E42, 0) + ISNULL(S42, 0) + ISNULL(E44, 0) + ISNULL(S44, 0) +
ISNULL(E46, 0) + ISNULL(S46, 0) + ISNULL(E48, 0) + ISNULL(S48, 0) ISNULL(E46, 0) + ISNULL(S46, 0) + ISNULL(E48, 0) + ISNULL(S48, 0)
@ -481,7 +428,6 @@ SELECT FECHA,
COLOR, COLOR,
RDX_TALLAS.TALLA, RDX_TALLAS.TALLA,
CANTIDAD = CASE 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 '38' THEN RDX_V_STOCK_CALCULADO.K38
WHEN '40' THEN RDX_V_STOCK_CALCULADO.K40 WHEN '40' THEN RDX_V_STOCK_CALCULADO.K40
WHEN '42' THEN RDX_V_STOCK_CALCULADO.K42 WHEN '42' THEN RDX_V_STOCK_CALCULADO.K42
@ -537,13 +483,7 @@ select
TIPO_PRODUCTO, TIPO_PRODUCTO,
GRUPO_PRODUCTO, GRUPO_PRODUCTO,
COLECCION, COLECCION,
I36 = SUM(CASE TALLA I38 = SUM(CASE TALLA
WHEN '36' THEN
CANTIDAD_INVENTARIO
ELSE 0
END)
,I38 = SUM(CASE TALLA
WHEN '38' THEN WHEN '38' THEN
CANTIDAD_INVENTARIO CANTIDAD_INVENTARIO
ELSE 0 ELSE 0
@ -579,13 +519,7 @@ select
ELSE 0 ELSE 0
END) END)
,K36 = SUM(CASE TALLA ,K38 = SUM(CASE TALLA
WHEN '36' THEN
CANTIDAD_STOCK
ELSE 0
END)
,K38 = SUM(CASE TALLA
WHEN '38' THEN WHEN '38' THEN
CANTIDAD_STOCK CANTIDAD_STOCK
ELSE 0 ELSE 0

View File

@ -113,7 +113,7 @@ BEGIN
VENDEDOR = ISNULL(LTRIM(RTRIM(LOJA_VENDEDORES.NOME_VENDEDOR)) + ' ' + LTRIM(RTRIM(LOJA_VENDEDORES.VENDEDOR_APELIDO)), RDX_ARTVEN.EANVEN), VENDEDOR = ISNULL(LTRIM(RTRIM(LOJA_VENDEDORES.NOME_VENDEDOR)) + ' ' + LTRIM(RTRIM(LOJA_VENDEDORES.VENDEDOR_APELIDO)), RDX_ARTVEN.EANVEN),
RDX_ARTVEN.EANART, RDX_ARTVEN.EANART,
RDX_ARTVEN.CODCOM, 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, ISNULL(produtos.DESC_PRODUTO, '*** ERROR REFERENCIA **** LLAMAR AL CI') AS DESC_PRODUTO,
PRODUTOS_BARRA.COR_PRODUTO, PRODUTOS_BARRA.COR_PRODUTO,
PRODUTOS_BARRA.GRADE, PRODUTOS_BARRA.GRADE,
@ -126,6 +126,7 @@ BEGIN
RDX_ARTVEN.CANVENNET, RDX_ARTVEN.CANVENNET,
RDX_ARTVEN.CANESP, RDX_ARTVEN.CANESP,
RDX_CABVEN.IGNORAR RDX_CABVEN.IGNORAR
FROM FROM
RDX_ARTVEN RDX_ARTVEN
INNER JOIN RDX_LUGVEN ON (RDX_ARTVEN.CLAVE1 = RDX_LUGVEN.CLAVE1 AND RDX_ARTVEN.CLAVE2 = RDX_LUGVEN.CLAVE2) INNER JOIN RDX_LUGVEN ON (RDX_ARTVEN.CLAVE1 = RDX_LUGVEN.CLAVE1 AND RDX_ARTVEN.CLAVE2 = RDX_LUGVEN.CLAVE2)
@ -138,10 +139,11 @@ BEGIN
LEFT OUTER JOIN COLECOES on (COLECOES.COLECAO = PRODUTOS.COLECAO) LEFT OUTER JOIN COLECOES on (COLECOES.COLECAO = PRODUTOS.COLECAO)
WHERE RDX_CABVEN.CARGADO IS NULL WHERE RDX_CABVEN.CARGADO IS NULL
IF @@error = 0
UPDATE RDX_CABVEN SET IF @@ERROR = 0
CARGADO = 1 UPDATE RDX_CABVEN SET
WHERE CARGADO IS NULL CARGADO = 1
WHERE CARGADO IS NULL
END END
GO GO

View File

@ -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

View 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

View 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

File diff suppressed because it is too large Load Diff

View 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

View 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

View 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

View 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
)

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<BorlandProject>
<Default.Personality>
<Projects ActiveProject="ControlesBaseD10.bpl"/>
</Default.Personality>
</BorlandProject>

View File

@ -4,11 +4,11 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup /> <ItemGroup />
<ItemGroup> <ItemGroup>
<Projects Include="ApplicationBase\ApplicationBase.dproj" /> <Projects Include="Base\BaseD10.dproj" />
<Projects Include="Base\Base.dproj" />
<Projects Include="CargaEDI\CargaEDI.dproj" /> <Projects Include="CargaEDI\CargaEDI.dproj" />
<Projects Include="Cliente\AdminPV.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\Devoluciones\Cliente\Devoluciones.dproj" />
<Projects Include="Modulos\FicherosEDI\Cliente\FicherosEDI.dproj" /> <Projects Include="Modulos\FicherosEDI\Cliente\FicherosEDI.dproj" />
<Projects Include="Modulos\Parametros\Cliente\Parametros.dproj" /> <Projects Include="Modulos\Parametros\Cliente\Parametros.dproj" />
@ -19,6 +19,7 @@
<Projects Include="Modulos\VentasProceso\Cliente\VentasProceso.dproj" /> <Projects Include="Modulos\VentasProceso\Cliente\VentasProceso.dproj" />
<Projects Include="Modulos\VentasTerminadas\Cliente\VentasTerminadas.dproj" /> <Projects Include="Modulos\VentasTerminadas\Cliente\VentasTerminadas.dproj" />
<Projects Include="Servidor\AdminPV_Server.dproj" /> <Projects Include="Servidor\AdminPV_Server.dproj" />
<Projects Include="Usuarios\Usuarios.dproj" />
</ItemGroup> </ItemGroup>
<ProjectExtensions> <ProjectExtensions>
<Borland.Personality>Default.Personality</Borland.Personality> <Borland.Personality>Default.Personality</Borland.Personality>
@ -26,23 +27,32 @@
<BorlandProject> <BorlandProject>
<BorlandProject xmlns=""><Default.Personality></Default.Personality></BorlandProject></BorlandProject> <BorlandProject xmlns=""><Default.Personality></Default.Personality></BorlandProject></BorlandProject>
</ProjectExtensions> </ProjectExtensions>
<Target Name="Base"> <Target Name="AdminPV_Server">
<MSBuild Projects="Base\Base.dproj" Targets="" /> <MSBuild Projects="Servidor\AdminPV_Server.dproj" Targets="" />
</Target> </Target>
<Target Name="Base:Clean"> <Target Name="AdminPV_Server:Clean">
<MSBuild Projects="Base\Base.dproj" Targets="Clean" /> <MSBuild Projects="Servidor\AdminPV_Server.dproj" Targets="Clean" />
</Target> </Target>
<Target Name="Base:Make"> <Target Name="AdminPV_Server:Make">
<MSBuild Projects="Base\Base.dproj" Targets="Make" /> <MSBuild Projects="Servidor\AdminPV_Server.dproj" Targets="Make" />
</Target> </Target>
<Target Name="ControlesBase"> <Target Name="BaseD10">
<MSBuild Projects="ControlesBase\ControlesBase.dproj" Targets="" /> <MSBuild Projects="Base\BaseD10.dproj" Targets="" />
</Target> </Target>
<Target Name="ControlesBase:Clean"> <Target Name="BaseD10:Clean">
<MSBuild Projects="ControlesBase\ControlesBase.dproj" Targets="Clean" /> <MSBuild Projects="Base\BaseD10.dproj" Targets="Clean" />
</Target> </Target>
<Target Name="ControlesBase:Make"> <Target Name="BaseD10:Make">
<MSBuild Projects="ControlesBase\ControlesBase.dproj" Targets="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>
<Target Name="Parametros"> <Target Name="Parametros">
<MSBuild Projects="Modulos\Parametros\Cliente\Parametros.dproj" Targets="" /> <MSBuild Projects="Modulos\Parametros\Cliente\Parametros.dproj" Targets="" />
@ -53,14 +63,23 @@
<Target Name="Parametros:Make"> <Target Name="Parametros:Make">
<MSBuild Projects="Modulos\Parametros\Cliente\Parametros.dproj" Targets="Make" /> <MSBuild Projects="Modulos\Parametros\Cliente\Parametros.dproj" Targets="Make" />
</Target> </Target>
<Target Name="ApplicationBase"> <Target Name="Usuarios">
<MSBuild Projects="ApplicationBase\ApplicationBase.dproj" Targets="" /> <MSBuild Projects="Usuarios\Usuarios.dproj" Targets="" />
</Target> </Target>
<Target Name="ApplicationBase:Clean"> <Target Name="Usuarios:Clean">
<MSBuild Projects="ApplicationBase\ApplicationBase.dproj" Targets="Clean" /> <MSBuild Projects="Usuarios\Usuarios.dproj" Targets="Clean" />
</Target> </Target>
<Target Name="ApplicationBase:Make"> <Target Name="Usuarios:Make">
<MSBuild Projects="ApplicationBase\ApplicationBase.dproj" Targets="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>
<Target Name="FicherosEDI"> <Target Name="FicherosEDI">
<MSBuild Projects="Modulos\FicherosEDI\Cliente\FicherosEDI.dproj" Targets="" /> <MSBuild Projects="Modulos\FicherosEDI\Cliente\FicherosEDI.dproj" Targets="" />
@ -152,23 +171,14 @@
<Target Name="AdminPV:Make"> <Target Name="AdminPV:Make">
<MSBuild Projects="Cliente\AdminPV.dproj" Targets="Make" /> <MSBuild Projects="Cliente\AdminPV.dproj" Targets="Make" />
</Target> </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"> <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>
<Target Name="Clean"> <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>
<Target Name="Make"> <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> </Target>
<Import Condition="Exists('$(MSBuildBinPath)\Borland.Group.Targets')" Project="$(MSBuildBinPath)\Borland.Group.Targets" /> <Import Condition="Exists('$(MSBuildBinPath)\Borland.Group.Targets')" Project="$(MSBuildBinPath)\Borland.Group.Targets" />
</Project> </Project>

View File

@ -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"

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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.

View File

@ -1,226 +1,201 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<BorlandProject> <BorlandProject>
<PersonalityInfo> <PersonalityInfo>
<Option> <Option>
<Option Name="Personality">Delphi.Personality</Option> <Option Name="Personality">Delphi.Personality</Option>
<Option Name="ProjectType"></Option> <Option Name="ProjectType">VCLApplication</Option>
<Option Name="Version">1.0</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> </Option>
</PersonalityInfo> </PersonalityInfo>
<Delphi.Personality> <Delphi.Personality>
<Source> <Source>
<Source Name="MainSource">ApplicationBase.dpk</Source> <Source Name="MainSource">BaseD10.dpk</Source>
</Source> </Source>
<FileVersion> <FileVersion>
<FileVersion Name="Version">7.0</FileVersion> <FileVersion Name="Version">7.0</FileVersion>
</FileVersion> </FileVersion>
<Compiler> <Compiler>
<Compiler Name="A">8</Compiler> <Compiler Name="A">8</Compiler>
<Compiler Name="B">0</Compiler> <Compiler Name="B">0</Compiler>
<Compiler Name="C">1</Compiler> <Compiler Name="C">1</Compiler>
<Compiler Name="D">1</Compiler> <Compiler Name="D">1</Compiler>
<Compiler Name="E">0</Compiler> <Compiler Name="E">0</Compiler>
<Compiler Name="F">0</Compiler> <Compiler Name="F">0</Compiler>
<Compiler Name="G">1</Compiler> <Compiler Name="G">1</Compiler>
<Compiler Name="H">1</Compiler> <Compiler Name="H">1</Compiler>
<Compiler Name="I">1</Compiler> <Compiler Name="I">1</Compiler>
<Compiler Name="J">0</Compiler> <Compiler Name="J">0</Compiler>
<Compiler Name="K">0</Compiler> <Compiler Name="K">0</Compiler>
<Compiler Name="L">1</Compiler> <Compiler Name="L">1</Compiler>
<Compiler Name="M">0</Compiler> <Compiler Name="M">0</Compiler>
<Compiler Name="N">1</Compiler> <Compiler Name="N">1</Compiler>
<Compiler Name="O">1</Compiler> <Compiler Name="O">0</Compiler>
<Compiler Name="P">1</Compiler> <Compiler Name="P">1</Compiler>
<Compiler Name="Q">0</Compiler> <Compiler Name="Q">0</Compiler>
<Compiler Name="R">0</Compiler> <Compiler Name="R">0</Compiler>
<Compiler Name="S">0</Compiler> <Compiler Name="S">0</Compiler>
<Compiler Name="T">0</Compiler> <Compiler Name="T">0</Compiler>
<Compiler Name="U">0</Compiler> <Compiler Name="U">0</Compiler>
<Compiler Name="V">1</Compiler> <Compiler Name="V">1</Compiler>
<Compiler Name="W">0</Compiler> <Compiler Name="W">1</Compiler>
<Compiler Name="X">1</Compiler> <Compiler Name="X">1</Compiler>
<Compiler Name="Y">1</Compiler> <Compiler Name="Y">1</Compiler>
<Compiler Name="Z">1</Compiler> <Compiler Name="Z">1</Compiler>
<Compiler Name="ShowHints">True</Compiler> <Compiler Name="ShowHints">True</Compiler>
<Compiler Name="ShowWarnings">True</Compiler> <Compiler Name="ShowWarnings">True</Compiler>
<Compiler Name="UnitAliases">WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;</Compiler> <Compiler Name="UnitAliases">WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;</Compiler>
<Compiler Name="NamespacePrefix"></Compiler> <Compiler Name="NamespacePrefix"></Compiler>
<Compiler Name="GenerateDocumentation">False</Compiler> <Compiler Name="GenerateDocumentation">False</Compiler>
<Compiler Name="DefaultNamespace"></Compiler> <Compiler Name="DefaultNamespace"></Compiler>
<Compiler Name="SymbolDeprecated">True</Compiler> <Compiler Name="SymbolDeprecated">True</Compiler>
<Compiler Name="SymbolLibrary">True</Compiler> <Compiler Name="SymbolLibrary">True</Compiler>
<Compiler Name="SymbolPlatform">True</Compiler> <Compiler Name="SymbolPlatform">True</Compiler>
<Compiler Name="SymbolExperimental">True</Compiler> <Compiler Name="SymbolExperimental">True</Compiler>
<Compiler Name="UnitLibrary">True</Compiler> <Compiler Name="UnitLibrary">True</Compiler>
<Compiler Name="UnitPlatform">True</Compiler> <Compiler Name="UnitPlatform">True</Compiler>
<Compiler Name="UnitDeprecated">True</Compiler> <Compiler Name="UnitDeprecated">True</Compiler>
<Compiler Name="UnitExperimental">True</Compiler> <Compiler Name="UnitExperimental">True</Compiler>
<Compiler Name="HResultCompat">True</Compiler> <Compiler Name="HResultCompat">True</Compiler>
<Compiler Name="HidingMember">True</Compiler> <Compiler Name="HidingMember">True</Compiler>
<Compiler Name="HiddenVirtual">True</Compiler> <Compiler Name="HiddenVirtual">True</Compiler>
<Compiler Name="Garbage">True</Compiler> <Compiler Name="Garbage">True</Compiler>
<Compiler Name="BoundsError">True</Compiler> <Compiler Name="BoundsError">True</Compiler>
<Compiler Name="ZeroNilCompat">True</Compiler> <Compiler Name="ZeroNilCompat">True</Compiler>
<Compiler Name="StringConstTruncated">True</Compiler> <Compiler Name="StringConstTruncated">True</Compiler>
<Compiler Name="ForLoopVarVarPar">True</Compiler> <Compiler Name="ForLoopVarVarPar">True</Compiler>
<Compiler Name="TypedConstVarPar">True</Compiler> <Compiler Name="TypedConstVarPar">True</Compiler>
<Compiler Name="AsgToTypedConst">True</Compiler> <Compiler Name="AsgToTypedConst">True</Compiler>
<Compiler Name="CaseLabelRange">True</Compiler> <Compiler Name="CaseLabelRange">True</Compiler>
<Compiler Name="ForVariable">True</Compiler> <Compiler Name="ForVariable">True</Compiler>
<Compiler Name="ConstructingAbstract">True</Compiler> <Compiler Name="ConstructingAbstract">True</Compiler>
<Compiler Name="ComparisonFalse">True</Compiler> <Compiler Name="ComparisonFalse">True</Compiler>
<Compiler Name="ComparisonTrue">True</Compiler> <Compiler Name="ComparisonTrue">True</Compiler>
<Compiler Name="ComparingSignedUnsigned">True</Compiler> <Compiler Name="ComparingSignedUnsigned">True</Compiler>
<Compiler Name="CombiningSignedUnsigned">True</Compiler> <Compiler Name="CombiningSignedUnsigned">True</Compiler>
<Compiler Name="UnsupportedConstruct">True</Compiler> <Compiler Name="UnsupportedConstruct">True</Compiler>
<Compiler Name="FileOpen">True</Compiler> <Compiler Name="FileOpen">True</Compiler>
<Compiler Name="FileOpenUnitSrc">True</Compiler> <Compiler Name="FileOpenUnitSrc">True</Compiler>
<Compiler Name="BadGlobalSymbol">True</Compiler> <Compiler Name="BadGlobalSymbol">True</Compiler>
<Compiler Name="DuplicateConstructorDestructor">True</Compiler> <Compiler Name="DuplicateConstructorDestructor">True</Compiler>
<Compiler Name="InvalidDirective">True</Compiler> <Compiler Name="InvalidDirective">True</Compiler>
<Compiler Name="PackageNoLink">True</Compiler> <Compiler Name="PackageNoLink">True</Compiler>
<Compiler Name="PackageThreadVar">True</Compiler> <Compiler Name="PackageThreadVar">True</Compiler>
<Compiler Name="ImplicitImport">True</Compiler> <Compiler Name="ImplicitImport">True</Compiler>
<Compiler Name="HPPEMITIgnored">True</Compiler> <Compiler Name="HPPEMITIgnored">True</Compiler>
<Compiler Name="NoRetVal">True</Compiler> <Compiler Name="NoRetVal">True</Compiler>
<Compiler Name="UseBeforeDef">True</Compiler> <Compiler Name="UseBeforeDef">True</Compiler>
<Compiler Name="ForLoopVarUndef">True</Compiler> <Compiler Name="ForLoopVarUndef">True</Compiler>
<Compiler Name="UnitNameMismatch">True</Compiler> <Compiler Name="UnitNameMismatch">True</Compiler>
<Compiler Name="NoCFGFileFound">True</Compiler> <Compiler Name="NoCFGFileFound">True</Compiler>
<Compiler Name="ImplicitVariants">True</Compiler> <Compiler Name="ImplicitVariants">True</Compiler>
<Compiler Name="UnicodeToLocale">True</Compiler> <Compiler Name="UnicodeToLocale">True</Compiler>
<Compiler Name="LocaleToUnicode">True</Compiler> <Compiler Name="LocaleToUnicode">True</Compiler>
<Compiler Name="ImagebaseMultiple">True</Compiler> <Compiler Name="ImagebaseMultiple">True</Compiler>
<Compiler Name="SuspiciousTypecast">True</Compiler> <Compiler Name="SuspiciousTypecast">True</Compiler>
<Compiler Name="PrivatePropAccessor">True</Compiler> <Compiler Name="PrivatePropAccessor">True</Compiler>
<Compiler Name="UnsafeType">False</Compiler> <Compiler Name="UnsafeType">False</Compiler>
<Compiler Name="UnsafeCode">False</Compiler> <Compiler Name="UnsafeCode">False</Compiler>
<Compiler Name="UnsafeCast">False</Compiler> <Compiler Name="UnsafeCast">False</Compiler>
<Compiler Name="OptionTruncated">True</Compiler> <Compiler Name="OptionTruncated">True</Compiler>
<Compiler Name="WideCharReduced">True</Compiler> <Compiler Name="WideCharReduced">True</Compiler>
<Compiler Name="DuplicatesIgnored">True</Compiler> <Compiler Name="DuplicatesIgnored">True</Compiler>
<Compiler Name="UnitInitSeq">True</Compiler> <Compiler Name="UnitInitSeq">True</Compiler>
<Compiler Name="LocalPInvoke">True</Compiler> <Compiler Name="LocalPInvoke">True</Compiler>
<Compiler Name="MessageDirective">True</Compiler> <Compiler Name="MessageDirective">True</Compiler>
<Compiler Name="TypeInfoImplicitlyAdded">True</Compiler> <Compiler Name="CodePage"></Compiler>
<Compiler Name="XMLWhitespaceNotAllowed">True</Compiler> </Compiler>
<Compiler Name="XMLUnknownEntity">True</Compiler> <Linker>
<Compiler Name="XMLInvalidNameStart">True</Compiler> <Linker Name="MapFile">3</Linker>
<Compiler Name="XMLInvalidName">True</Compiler> <Linker Name="OutputObjs">0</Linker>
<Compiler Name="XMLExpectedCharacter">True</Compiler> <Linker Name="GenerateHpps">False</Linker>
<Compiler Name="XMLCRefNoResolve">True</Compiler> <Linker Name="ConsoleApp">1</Linker>
<Compiler Name="XMLNoParm">True</Compiler> <Linker Name="DebugInfo">False</Linker>
<Compiler Name="XMLNoMatchingParm">True</Compiler> <Linker Name="RemoteSymbols">False</Linker>
<Compiler Name="CodePage"></Compiler> <Linker Name="GenerateDRC">False</Linker>
</Compiler> <Linker Name="MinStackSize">16384</Linker>
<Linker> <Linker Name="MaxStackSize">1048576</Linker>
<Linker Name="MapFile">0</Linker> <Linker Name="ImageBase">4194304</Linker>
<Linker Name="OutputObjs">0</Linker> <Linker Name="ExeDescription"></Linker>
<Linker Name="GenerateHpps">False</Linker> </Linker>
<Linker Name="ConsoleApp">1</Linker> <Directories>
<Linker Name="DebugInfo">False</Linker> <Directories Name="OutputDir"></Directories>
<Linker Name="RemoteSymbols">False</Linker> <Directories Name="UnitOutputDir">.\</Directories>
<Linker Name="GenerateDRC">False</Linker> <Directories Name="PackageDLLOutputDir">..\..\Output\Debug\Cliente</Directories>
<Linker Name="MinStackSize">16384</Linker> <Directories Name="PackageDCPOutputDir">..\Lib</Directories>
<Linker Name="MaxStackSize">1048576</Linker> <Directories Name="SearchPath"></Directories>
<Linker Name="ImageBase">4194304</Linker> <Directories Name="Packages"></Directories>
<Linker Name="ExeDescription"></Linker> <Directories Name="Conditionals"></Directories>
</Linker> <Directories Name="DebugSourceDirs"></Directories>
<Directories> <Directories Name="UsePackages">False</Directories>
<Directories Name="OutputDir"></Directories> </Directories>
<Directories Name="UnitOutputDir">.\</Directories> <Parameters>
<Directories Name="PackageDLLOutputDir">..\..\..\..\Output\Debug\Cliente</Directories> <Parameters Name="RunParams"></Parameters>
<Directories Name="PackageDCPOutputDir">..\Lib</Directories> <Parameters Name="HostApplication"></Parameters>
<Directories Name="SearchPath">..\Lib</Directories> <Parameters Name="Launcher"></Parameters>
<Directories Name="Packages"></Directories> <Parameters Name="UseLauncher">False</Parameters>
<Directories Name="Conditionals"></Directories> <Parameters Name="DebugCWD"></Parameters>
<Directories Name="DebugSourceDirs"></Directories> <Parameters Name="Debug Symbols Search Path"></Parameters>
<Directories Name="UsePackages">False</Directories> <Parameters Name="LoadAllSymbols">True</Parameters>
</Directories> <Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
<Parameters> </Parameters>
<Parameters Name="RunParams"></Parameters> <Language>
<Parameters Name="HostApplication"></Parameters> <Language Name="ActiveLang"></Language>
<Parameters Name="Launcher"></Parameters> <Language Name="ProjectLang">$00000000</Language>
<Parameters Name="UseLauncher">False</Parameters> <Language Name="RootDir">C:\Archivos de programa\Borland\Delphi7\Bin\</Language>
<Parameters Name="DebugCWD"></Parameters> </Language>
<Parameters Name="Debug Symbols Search Path"></Parameters> <VersionInfo>
<Parameters Name="LoadAllSymbols">True</Parameters> <VersionInfo Name="IncludeVerInfo">True</VersionInfo>
<Parameters Name="LoadUnspecifiedSymbols">False</Parameters> <VersionInfo Name="AutoIncBuild">False</VersionInfo>
</Parameters> <VersionInfo Name="MajorVer">2</VersionInfo>
<Signing> <VersionInfo Name="MinorVer">0</VersionInfo>
<Signing Name="SignAssembly">False</Signing> <VersionInfo Name="Release">0</VersionInfo>
</Signing> <VersionInfo Name="Build">0</VersionInfo>
<VersionInfo> <VersionInfo Name="Debug">False</VersionInfo>
<VersionInfo Name="IncludeVerInfo">True</VersionInfo> <VersionInfo Name="PreRelease">False</VersionInfo>
<VersionInfo Name="AutoIncBuild">False</VersionInfo> <VersionInfo Name="Special">False</VersionInfo>
<VersionInfo Name="MajorVer">1</VersionInfo> <VersionInfo Name="Private">False</VersionInfo>
<VersionInfo Name="MinorVer">0</VersionInfo> <VersionInfo Name="DLL">False</VersionInfo>
<VersionInfo Name="Release">0</VersionInfo> <VersionInfo Name="Locale">3082</VersionInfo>
<VersionInfo Name="Build">0</VersionInfo> <VersionInfo Name="CodePage">1252</VersionInfo>
<VersionInfo Name="Debug">False</VersionInfo> </VersionInfo>
<VersionInfo Name="PreRelease">False</VersionInfo> <VersionInfoKeys>
<VersionInfo Name="Special">False</VersionInfo> <VersionInfoKeys Name="CompanyName"></VersionInfoKeys>
<VersionInfo Name="Private">False</VersionInfo> <VersionInfoKeys Name="FileDescription"></VersionInfoKeys>
<VersionInfo Name="DLL">False</VersionInfo> <VersionInfoKeys Name="FileVersion">2.0.0.0</VersionInfoKeys>
<VersionInfo Name="Locale">3082</VersionInfo> <VersionInfoKeys Name="InternalName"></VersionInfoKeys>
<VersionInfo Name="CodePage">1252</VersionInfo> <VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys>
</VersionInfo> <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
<VersionInfoKeys> <VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys>
<VersionInfoKeys Name="CompanyName"></VersionInfoKeys> <VersionInfoKeys Name="ProductName"></VersionInfoKeys>
<VersionInfoKeys Name="FileDescription"></VersionInfoKeys> <VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
<VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys> <VersionInfoKeys Name="Comments"></VersionInfoKeys>
<VersionInfoKeys Name="InternalName"></VersionInfoKeys> </VersionInfoKeys> <Excluded_Packages>
<VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys> <Excluded_Packages Name="C:\Documents and Settings\Usuario\Mis documentos\Borland Studio Projects\Bpl\fsTee10.bpl">(untitled)</Excluded_Packages>
<VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> <Excluded_Packages Name="C:\Documents and Settings\Usuario\Mis documentos\Borland Studio Projects\Bpl\fs10.bpl">(untitled)</Excluded_Packages>
<VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys> <Excluded_Packages Name="C:\Documents and Settings\Usuario\Mis documentos\Borland Studio Projects\Bpl\frx10.bpl">(untitled)</Excluded_Packages>
<VersionInfoKeys Name="ProductName"></VersionInfoKeys> <Excluded_Packages Name="C:\Documents and Settings\Usuario\Mis documentos\Borland Studio Projects\Bpl\frxADO10.bpl">(untitled)</Excluded_Packages>
<VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys> <Excluded_Packages Name="C:\Documents and Settings\Usuario\Mis documentos\Borland Studio Projects\Bpl\frxBDE10.bpl">(untitled)</Excluded_Packages>
<VersionInfoKeys Name="Comments"></VersionInfoKeys> <Excluded_Packages Name="C:\Documents and Settings\Usuario\Mis documentos\Borland Studio Projects\Bpl\frxDB10.bpl">(untitled)</Excluded_Packages>
</VersionInfoKeys> <Excluded_Packages Name="C:\Documents and Settings\Usuario\Mis documentos\Borland Studio Projects\Bpl\frxDBX10.bpl">(untitled)</Excluded_Packages>
<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 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>
</Excluded_Packages> </Excluded_Packages>
<buildevents/>
</Delphi.Personality> </Delphi.Personality>
</BorlandProject>
<!-- EurekaLog First Line <!-- EurekaLog First Line
[Exception Log] [Exception Log]
EurekaLog Version=6006 EurekaLog Version=6006
Activate=0 Activate=1
Activate Handle=1 Activate Handle=1
Save Log File=1 Save Log File=1
Foreground Tab=0 Foreground Tab=0
Freeze Activate=0 Freeze Activate=0
Freeze Timeout=0 Freeze Timeout=1
SMTP From=eurekalog@email.com SMTP From=eurekalog@email.com
SMTP Host= SMTP Host=
SMTP Port=25 SMTP Port=25
@ -367,7 +342,7 @@ boSaveCompressedCopyInCaseOfError=0
boHandleSafeCallExceptions=1 boHandleSafeCallExceptions=1
boCallRTLExceptionEvent=0 boCallRTLExceptionEvent=0
boCatchHandledExceptions=0 boCatchHandledExceptions=0
loCatchLeaks=0 loCatchLeaks=1
loGroupsSonLeaks=1 loGroupsSonLeaks=1
loHideBorlandLeaks=1 loHideBorlandLeaks=1
loFreeAllLeaks=1 loFreeAllLeaks=1
@ -693,5 +668,6 @@ Count mtException_AntiFreeze=1
mtException_AntiFreeze0="The application seems to be frozen." mtException_AntiFreeze0="The application seems to be frozen."
Count mtInvalidEmailMsg=1 Count mtInvalidEmailMsg=1
mtInvalidEmailMsg0="Invalid email." mtInvalidEmailMsg0="Invalid email."
TextsCollection=English TextsCollection=
EurekaLog Last Line --> EurekaLog Last Line -->
</BorlandProject>

View File

@ -1,4 +1,4 @@
package Base; package BaseD10;
{$R *.res} {$R *.res}
{$ALIGN 8} {$ALIGN 8}
@ -30,15 +30,15 @@ requires
rtl, rtl,
vcl, vcl,
vcldb, vcldb,
GUISDK_D11, GUISDK_D10,
vcljpg, vcljpg,
dbrtl, dbrtl,
dsnap, dsnap,
PNG_D10, PNG_D10,
PngComponentsD10, PngComponentsD10,
JvCoreD11R, JvCoreD10R,
JvStdCtrlsD11R, JvStdCtrlsD10R,
JvPageCompsD11R, JvPageCompsD10R,
cxLibraryD10, cxLibraryD10,
dxThemeD10, dxThemeD10,
cxEditorsD10, cxEditorsD10,
@ -53,7 +53,7 @@ requires
designide, designide,
cxExportD10, cxExportD10,
adortl, adortl,
JvSystemD11R, JvSystemD10R,
dxPSCoreD10, dxPSCoreD10,
dxPScxCommonD10, dxPScxCommonD10,
dxPScxGridLnkD10, dxPScxGridLnkD10,
@ -62,8 +62,9 @@ requires
dxBarExtItemsD10, dxBarExtItemsD10,
cxIntl5D10, cxIntl5D10,
dxPsPrVwAdvD10, dxPsPrVwAdvD10,
JvMMD11R, ccpack10,
JvCtrlsD11R, JvMMD10R,
JvCtrlsD10R,
tee, tee,
frx10, frx10,
fs10, fs10,
@ -72,19 +73,20 @@ requires
dxComnD10, dxComnD10,
Jcl, Jcl,
JclVcl, JclVcl,
JvAppFrmD11R, JvAppFrmD10R,
dxPSLnksD10, dxPSLnksD10,
vclshlctrls, vclshlctrls,
dclcxLibraryD10, dclcxLibraryD10,
RemObjects_Core_D11, RemObjects_Core_D10,
DataAbstract_Core_D11, DataAbstract_Core_D10;
JSDialog100;
contains contains
uDMBase in 'uDMBase.pas' {dmBase: TDAClientDataModule}, uDataModuleBase in 'uDataModuleBase.pas' {dmBase: TDAClientDataModule},
uEditorBase in 'uEditorBase.pas' {fEditorBase}, uEditorBase in 'uEditorBase.pas' {fEditorBase},
uEditorGridBase in 'uEditorGridBase.pas' {fEditorGridBase}, uEditorGridBase in 'uEditorGridBase.pas' {fEditorGridBase},
uEditorItem in 'uEditorItem.pas' {fEditorItem}, uEditorItem in 'uEditorItem.pas' {fEditorItem},
uDataTableUtils in 'uDataTableUtils.pas',
uEditorUtils in 'uEditorUtils.pas',
uEditorPreview in 'uEditorPreview.pas' {fEditorPreview}, uEditorPreview in 'uEditorPreview.pas' {fEditorPreview},
uViewPreview in 'uViewPreview.pas' {frViewPreview: TFrame}, uViewPreview in 'uViewPreview.pas' {frViewPreview: TFrame},
uViewBase in 'uViewBase.pas' {frViewBase: TCustomView}, uViewBase in 'uViewBase.pas' {frViewBase: TCustomView},
@ -93,24 +95,15 @@ contains
uEditorDBItem in 'uEditorDBItem.pas' {fEditorDBItem: TCustomEditor}, uEditorDBItem in 'uEditorDBItem.pas' {fEditorDBItem: TCustomEditor},
uExceptions in 'uExceptions.pas', uExceptions in 'uExceptions.pas',
uViewBarraSeleccion in 'uViewBarraSeleccion.pas' {frViewBarraSeleccion: TFrame}, uViewBarraSeleccion in 'uViewBarraSeleccion.pas' {frViewBarraSeleccion: TFrame},
uDBSelectionList in 'uDBSelectionList.pas',
uConfigurarConexion in 'uConfigurarConexion.pas' {fConfigurarConexion}, uConfigurarConexion in 'uConfigurarConexion.pas' {fConfigurarConexion},
uBizInformesBase in 'uBizInformesBase.pas', uBizInformesBase in 'uBizInformesBase.pas',
uSysFunc in 'uSysFunc.pas',
VARELA_Intf in '..\Servidor\VARELA_Intf.pas',
uViewGrid in 'uViewGrid.pas' {frViewGrid: TCustomView}, uViewGrid in 'uViewGrid.pas' {frViewGrid: TCustomView},
VARELA_Intf in '..\Servicios\VARELA_Intf.pas', uIntegerList in 'uIntegerList.pas',
uControllerBase in 'Controladores\uControllerBase.pas', schStockClient_Intf in '..\Modulos\Stock\Reglas\schStockClient_Intf.pas',
uDataModuleBase in 'uDataModuleBase.pas' {fDataModuleBase: TDataModuleBase}, schStockServer_Intf in '..\Modulos\Stock\Reglas\schStockServer_Intf.pas',
uSysFunc in 'Utiles\uSysFunc.pas', uGridUtils in 'uGridUtils.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';
end. end.

View File

@ -2,11 +2,11 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<ProjectGuid>{51b1cbd5-e922-4e6d-b778-6de1bca9118c}</ProjectGuid> <ProjectGuid>{51b1cbd5-e922-4e6d-b778-6de1bca9118c}</ProjectGuid>
<MainSource>Base.dpk</MainSource> <MainSource>BaseD10.dpk</MainSource>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <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>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Version>7.0</Version> <Version>7.0</Version>
@ -40,27 +40,24 @@
<Borland.ProjectType>Package</Borland.ProjectType> <Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject> <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> <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\dclwebsnap100.bpl">CodeGear WebSnap Components</Excluded_Packages>
<Excluded_Packages Name="$(BDS)\bin\dclsoap100.bpl">CodeGear SOAP 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\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\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\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 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> </ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" /> <Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup> <ItemGroup>
<DelphiCompile Include="Base.dpk"> <DelphiCompile Include="BaseD10.dpk">
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </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\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\cxDataD10.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxEditorsD10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxEditorsD10.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxExportD10.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\cxIntlPrintSys3D10.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxLibraryD10.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\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\dbrtl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dclcxLibraryD10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dclcxLibraryD10.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\designide.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\dxThemeD10.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\frx10.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\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\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\Jcl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JclVcl.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\JvAppFrmD10R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvAppFrmD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvCoreD10R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvCoreD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvCtrlsD10R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvCtrlsD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvMMD10R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvMMD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvPageCompsD10R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvPageCompsD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvStdCtrlsD10R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvStdCtrlsD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvSystemD10R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvSystemD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\PngComponentsD10.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\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\rtl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\tb2k_D10.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\tbx_D10.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\tee.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\vcl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vclactnband.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\vcldb.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vcljpg.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\vclshlctrls.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vclx.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="uBizInformesBase.pas" />
<DCCReference Include="uConfigurarConexion.pas"> <DCCReference Include="uConfigurarConexion.pas">
<Form>fConfigurarConexion</Form> <Form>fConfigurarConexion</Form>
</DCCReference> </DCCReference>
<DCCReference Include="uDataModuleBase.pas"> <DCCReference Include="uDataModuleBase.pas">
<Form>fDataModuleBase</Form>
<DesignClass>TDataModuleBase</DesignClass>
</DCCReference>
<DCCReference Include="uDMBase.pas">
<Form>dmBase</Form> <Form>dmBase</Form>
<DesignClass>TDAClientDataModule</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="uDataTableUtils.pas" />
<DCCReference Include="uDBSelectionList.pas" />
<DCCReference Include="uEditorBase.pas"> <DCCReference Include="uEditorBase.pas">
<Form>fEditorBase</Form> <Form>fEditorBase</Form>
</DCCReference> </DCCReference>
<DCCReference Include="uEditorDBBase.pas"> <DCCReference Include="uEditorDBBase.pas">
<Form>fEditorDBBase</Form> <Form>fEditorDBBase</Form>
<DesignClass>TCustomEditor</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="uEditorDBItem.pas"> <DCCReference Include="uEditorDBItem.pas">
<Form>fEditorDBItem</Form> <Form>fEditorDBItem</Form>
<DesignClass>TCustomEditor</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="uEditorGridBase.pas"> <DCCReference Include="uEditorGridBase.pas">
<Form>fEditorGridBase</Form> <Form>fEditorGridBase</Form>
@ -149,35 +138,25 @@
<DCCReference Include="uEditorPreview.pas"> <DCCReference Include="uEditorPreview.pas">
<Form>fEditorPreview</Form> <Form>fEditorPreview</Form>
</DCCReference> </DCCReference>
<DCCReference Include="uEditorUtils.pas" />
<DCCReference Include="uExceptions.pas" /> <DCCReference Include="uExceptions.pas" />
<DCCReference Include="Utiles\uAppInfoUtils.pas" /> <DCCReference Include="uGridUtils.pas" />
<DCCReference Include="Utiles\uDataTableUtils.pas" /> <DCCReference Include="uIntegerList.pas" />
<DCCReference Include="Utiles\uDateUtils.pas" /> <DCCReference Include="uSysFunc.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="uViewBarraSeleccion.pas"> <DCCReference Include="uViewBarraSeleccion.pas">
<Form>frViewBarraSeleccion</Form> <Form>frViewBarraSeleccion</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="uViewBase.pas"> <DCCReference Include="uViewBase.pas">
<Form>frViewBase</Form> <Form>frViewBase</Form>
<DesignClass>TCustomView</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="uViewGrid.pas"> <DCCReference Include="uViewGrid.pas">
<Form>frViewGrid</Form> <Form>frViewGrid</Form>
<DesignClass>TCustomView</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="uViewGridBase.pas"> <DCCReference Include="uViewGridBase.pas">
<Form>frViewGridBase</Form> <Form>frViewGridBase</Form>
<DesignClass>TCustomView</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="uViewPreview.pas"> <DCCReference Include="uViewPreview.pas">
<Form>frViewPreview</Form> <Form>frViewPreview</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference> </DCCReference>
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -8,17 +8,14 @@
resources were bound to the produced executable. resources were bound to the produced executable.
*/ */
#define uClassRegistryUtils_eClassnotFound 65520
STRINGTABLE STRINGTABLE
BEGIN BEGIN
uClassRegistryUtils_eClassnotFound, "Class \"%s\" was not found in the registry."
END END
/* C:\Varela_D2007\Source\Base\uConfigurarConexion.dfm */ /* 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\uViewBase.dfm */
/* C:\Varela_D2007\Source\Base\uEditorBase.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\uViewGridBase.dfm */
/* C:\Varela_D2007\Source\Base\uEditorItem.dfm */ /* C:\Varela_D2007\Source\Base\uEditorItem.dfm */
/* C:\Varela_D2007\Source\Base\uEditorDBBase.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\uEditorDBItem.dfm */
/* C:\Varela_D2007\Source\Base\uViewBarraSeleccion.dfm */ /* C:\Varela_D2007\Source\Base\uViewBarraSeleccion.dfm */
/* C:\Varela_D2007\Source\Base\uViewGrid.dfm */ /* C:\Varela_D2007\Source\Base\uViewGrid.dfm */
/* C:\Varela_D2007\Source\Base\Base.res */ /* C:\Varela_D2007\Source\Base\BaseD10.res */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf2C.tmp */ /* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf9.tmp */

Binary file not shown.

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -2,6 +2,7 @@ object fConfigurarConexion: TfConfigurarConexion
Left = 663 Left = 663
Top = 468 Top = 468
ActiveControl = edtServer ActiveControl = edtServer
AutoScroll = False
Caption = 'Configuraci'#243'n de la conexi'#243'n' Caption = 'Configuraci'#243'n de la conexi'#243'n'
ClientHeight = 149 ClientHeight = 149
ClientWidth = 392 ClientWidth = 392
@ -89,10 +90,12 @@ object fConfigurarConexion: TfConfigurarConexion
TabOrder = 3 TabOrder = 3
end end
object HTTPChannel: TROWinInetHTTPChannel object HTTPChannel: TROWinInetHTTPChannel
UserAgent = 'AdminPV'
TargetURL = 'http://localhost:8099/BIN'
ServerLocators = <> ServerLocators = <>
DispatchOptions = [] DispatchOptions = []
ProbeServers = False
ProbeFrequency = 60000
UserAgent = 'AdminPV'
TargetURL = 'http://localhost:8099/BIN'
Left = 120 Left = 120
Top = 112 Top = 112
end end
@ -101,9 +104,9 @@ object fConfigurarConexion: TfConfigurarConexion
Top = 112 Top = 112
end end
object CoService: TRORemoteService object CoService: TRORemoteService
ServiceName = 'srvLogin'
Message = ROBinMessage Message = ROBinMessage
Channel = HTTPChannel Channel = HTTPChannel
ServiceName = 'srvLogin'
Left = 184 Left = 184
Top = 112 Top = 112
end end

View File

@ -36,7 +36,7 @@ var
implementation implementation
uses uses
StrUtils, JclStrings, uDMBase, VARELA_Intf; StrUtils, JclStrings, uDataModuleBase, VARELA_Intf;
{$R *.dfm} {$R *.dfm}

File diff suppressed because it is too large Load Diff

View File

@ -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

View File

@ -3,48 +3,252 @@ unit uDataModuleBase;
interface interface
uses 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 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 private
FRefCount: Integer; FOnThemeChange: TNotifyEvent;
protected function GetAdapter: TDABINAdapter;
function QueryInterface(const IID: TGUID; out Obj): HResult; override; stdcall; function GetChannel: TROWinInetHTTPChannel;
function _AddRef: Integer; stdcall; function GetCodigoEmpresa: Integer;
function _Release: Integer; stdcall; function GetMessage: TROBinMessage;
procedure InitStyleManager;
procedure OnTBXThemeChange(Sender: TObject);
procedure LeerConfiguracion;
procedure SalvarConfiguracion;
public 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; end;
var
dmBase: TdmBase;
implementation implementation
{$R *.DFM} {$R *.DFM}
// Set an implicit refcount so that refcounting uses
// during construction won't destroy the object. 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 begin
if GetInterface(IID, Obj) with TfConfigurarConexion.Create(NIL) do
then Result := 0 try
else Result := E_NOINTERFACE; TargetURL := ROChannel.TargetURL;
if ShowModal = mrOk then
begin
ROChannel.TargetURL := TargetURL;
ROChannel.Connected := False;
ROChannel.Connected := True;
SalvarConfiguracion;
end;
finally
Free;
end;
end; end;
function TDataModuleBase._AddRef: Integer; procedure TdmBase.DAClientDataModuleCreate(Sender: TObject);
begin begin
Inc(fRefCount); TBXSwitcher.OnThemeChange := OnTBXThemeChange;
Result := fRefCount; TBXSetTheme('Office2003');
LeerConfiguracion;
end; end;
function TDataModuleBase._Release: Integer; function TdmBase.GetAdapter: TDABINAdapter;
begin begin
Dec(fRefCount); Result := DABinAdapter;
Result := fRefCount;
if fRefCount = 0 then Destroy;
end; 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. end.

View File

@ -3,27 +3,22 @@ unit uDataTableUtils;
interface interface
uses uses
uDACDSDataTable, uDADataTable, uDAInterfaces, uDADelta, uDAMemDataTable; uDACDSDataTable, uDADataTable, uDAInterfaces, uDADelta;
procedure CloneDataTable(const ASource : TDACDSDataTable; procedure CloneDataTable(const ASource : TDACDSDataTable;
var ATarget : TDACDSDataTable; var ATarget : TDACDSDataTable;
RemoteUpdate: Boolean = True); overload; RemoteUpdate: Boolean = True);
function CloneDataTable(const ASource : TDAMemDataTable;
RemoteUpdate: Boolean = True): TDAMemDataTable; overload;
procedure CopyDataTable(ASource : IDADataset; ATarget : TDADataTable; procedure CopyDataTable(ASource : IDADataset; ATarget : TDADataTable;
const OnlySelectedRows : Boolean = False); const OnlySelectedRows : Boolean = False);
procedure DeleteAllTable(const ADataTable : TDADataTable); procedure DeleteAllTable(const ADataTable : TDADataTable);
function DeltaValuesAreDifferent(const aDelta : IDADelta): boolean; function DeltaValuesAreDifferent(const aDelta : IDADelta): boolean;
function DataTableModified (const ADataTable : TDADataTable): Boolean;
implementation implementation
uses uses
DB, Classes, uDAClasses, SysUtils, uDABINAdapter, uROTypes, uDBSelectionList, uDAClasses, SysUtils, uDABINAdapter, uROTypes, uDBSelectionList, cxControls,
cxControls, Dialogs, Variants, uDADataStreamer; Dialogs, Variants, uDADataStreamer;
{procedure EliminarNoSeleccionados(const ASource : IDADataset; {procedure EliminarNoSeleccionados(const ASource : IDADataset;
@ -149,80 +144,6 @@ begin
end; 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; procedure CloneDataTable(const ASource : TDACDSDataTable;
var ATarget : TDACDSDataTable; RemoteUpdate: Boolean); var ATarget : TDACDSDataTable; RemoteUpdate: Boolean);
var var
@ -273,36 +194,131 @@ begin
end; end;
function DataTableModified (const ADataTable : TDADataTable): Boolean; end.
procedure CloneDataTable(const ASource : TDACDSDataTable;
var ATarget : TDACDSDataTable; RemoteUpdate: Boolean);
var var
bCambiado : Boolean; i : Integer;
dtDetails : TList;
i : integer;
begin begin
bCambiado := False; with ATarget do
if Assigned(ADataTable) and (ADataTable.Active) then
begin begin
bCambiado :=(ADataTable.State = dsEdit) or // ****** Inicio migración DA 5
(ADataTable.HasDelta and DeltaValuesAreDifferent(ADataTable.Delta));
if (not bCambiado) then //RemoteService := ASource.GetRemoteService;
begin //Adapter := ASource.GetAdapter;
dtDetails := ADataTable.GetDetailDataTables; RemoteDataAdapter.Assign(ASource.RemoteDataAdapter);
for i := 0 to dtDetails.Count - 1 do // ****** Fin migración DA 5
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 begin
bCambiado := bCambiado or MethodName := ASource.SchemaCall.MethodName;
((TDADataTable(dtDetails.Items[i])).State in dsEditModes) or for i := 0 to ASource.SchemaCall.Params.Count - 1 do
((TDADataTable(dtDetails.Items[i])).HasDelta and begin
DeltaValuesAreDifferent((TDADataTable(dtDetails.Items[i])).Delta)); with Params.Add do begin
if bCambiado then Name := ASource.SchemaCall.Params[i].Name;
Break; 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;
}
// ****** 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;
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;
Result := bCambiado;
end; end;
end.

View File

@ -125,7 +125,7 @@ implementation
{$R *.dfm} {$R *.dfm}
uses uses
Menus, uDMBase, cxControls; Menus, uDataModuleBase, cxControls;
{ {
********************************* TfEditorBase ********************************* ********************************* TfEditorBase *********************************

Binary file not shown.

View File

@ -13,6 +13,7 @@ inherited fEditorDBBase: TfEditorDBBase
ExplicitWidth = 652 ExplicitWidth = 652
inherited Image1: TImage inherited Image1: TImage
Left = 625 Left = 625
Picture.Data = {00}
ExplicitLeft = 625 ExplicitLeft = 625
end end
end end

View File

@ -36,10 +36,12 @@ type
{ Private declarations } { Private declarations }
protected protected
function GetModified: Boolean; override; function GetModified: Boolean; override;
function HayDatos: Boolean; virtual;
published published
end; end;
var
fEditorDBBase: TfEditorDBBase;
implementation implementation
uses uses
@ -194,17 +196,35 @@ begin
end; end;
function TfEditorDBBase.GetModified: Boolean; function TfEditorDBBase.GetModified: Boolean;
var
dtDetails : TList;
i : integer;
bCambiado : Boolean;
begin begin
if ReadOnly then bCambiado := False;
Result := False if Assigned(dsDataTable.DataTable) then
else begin
Result := DataTableModified(dsDataTable.DataTable) or inherited GetModified; bCambiado := (dsDataTable.DataTable.State = dsEdit) or
end; DeltaValuesAreDifferent(dsDataTable.DataTable.Delta);
function TfEditorDBBase.HayDatos: Boolean; if (not bCambiado) then
begin begin
Result := Assigned(dsDataTable.DataTable) and (dsDataTable.DataTable.State <> dsInactive) dtDetails := dsDataTable.DataTable.GetDetailDataTables;
and (not dsDataTable.DataTable.IsEmpty); 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; end;
procedure TfEditorDBBase.FormCloseQuery(Sender: TObject; procedure TfEditorDBBase.FormCloseQuery(Sender: TObject;

Binary file not shown.

View File

@ -5,7 +5,7 @@ inherited fEditorGridBase: TfEditorGridBase
ClientHeight = 446 ClientHeight = 446
ClientWidth = 703 ClientWidth = 703
ExplicitWidth = 711 ExplicitWidth = 711
ExplicitHeight = 473 ExplicitHeight = 480
PixelsPerInch = 96 PixelsPerInch = 96
TextHeight = 13 TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader inherited JvNavPanelHeader: TJvNavPanelHeader
@ -66,7 +66,7 @@ inherited fEditorGridBase: TfEditorGridBase
CloseButton = False CloseButton = False
DefaultDock = TBXDock DefaultDock = TBXDock
DockMode = dmCannotFloatOrChangeDocks DockMode = dmCannotFloatOrChangeDocks
DockPos = 440 DockPos = 392
DockRow = 1 DockRow = 1
DragHandleStyle = dhNone DragHandleStyle = dhNone
Images = SmallImages Images = SmallImages
@ -134,7 +134,6 @@ inherited fEditorGridBase: TfEditorGridBase
Caption = 'Quitar filtro y ver todo' Caption = 'Quitar filtro y ver todo'
ImageIndex = 19 ImageIndex = 19
OnExecute = actQuitarFiltroExecute OnExecute = actQuitarFiltroExecute
OnUpdate = actQuitarFiltroUpdate
end end
object actDuplicar: TAction object actDuplicar: TAction
Category = 'Archivo' Category = 'Archivo'
@ -1431,9 +1430,4 @@ inherited fEditorGridBase: TfEditorGridBase
Action = actImprimir Action = actImprimir
end end
end end
object TimerParaFiltro: TTimer
OnTimer = TimerParaFiltroTimer
Left = 472
Top = 80
end
end end

View File

@ -45,7 +45,6 @@ type
TBXSeparatorItem15: TTBXSeparatorItem; TBXSeparatorItem15: TTBXSeparatorItem;
TBXItem34: TTBXItem; TBXItem34: TTBXItem;
Duplicar1: TMenuItem; Duplicar1: TMenuItem;
TimerParaFiltro: TTimer;
procedure tbxEditFiltroChange(Sender: TObject; const Text: String); procedure tbxEditFiltroChange(Sender: TObject; const Text: String);
procedure FormShow(Sender: TObject); override; procedure FormShow(Sender: TObject); override;
procedure actPrevisualizarExecute(Sender: TObject); procedure actPrevisualizarExecute(Sender: TObject);
@ -56,8 +55,6 @@ type
procedure JvFormStorageSavePlacement(Sender: TObject); procedure JvFormStorageSavePlacement(Sender: TObject);
procedure JvFormStorageRestorePlacement(Sender: TObject); procedure JvFormStorageRestorePlacement(Sender: TObject);
procedure actRefrescarExecute(Sender: TObject); procedure actRefrescarExecute(Sender: TObject);
procedure TimerParaFiltroTimer(Sender: TObject);
procedure actQuitarFiltroUpdate(Sender: TObject);
private private
FViewGrid : IViewGridBase; FViewGrid : IViewGridBase;
protected protected
@ -73,19 +70,15 @@ type
implementation implementation
uses uses
uDMBase, uCustomEditor, cxGridTableView; uDataModuleBase, uCustomEditor, cxGridTableView;
{$R *.dfm} {$R *.dfm}
var
FTextoFiltro : String;
{ {
********************************* TfEditorGridBase ***************************** ********************************* TfEditorGridBase *****************************
} }
destructor TfEditorGridBase.Destroy; destructor TfEditorGridBase.Destroy;
begin begin
TimerParaFiltro.Enabled := False;
FViewGrid := NIL; FViewGrid := NIL;
inherited; inherited;
end; end;
@ -107,17 +100,8 @@ end;
procedure TfEditorGridBase.tbxEditFiltroChange(Sender: TObject; const Text: String); procedure TfEditorGridBase.tbxEditFiltroChange(Sender: TObject; const Text: String);
begin begin
TimerParaFiltro.Enabled := False;
FTextoFiltro := Text;
TimerParaFiltro.Enabled := True;
end;
procedure TfEditorGridBase.TimerParaFiltroTimer(Sender: TObject);
begin
inherited;
TimerParaFiltro.Enabled := False;
if Assigned(ViewGrid) then if Assigned(ViewGrid) then
ViewGrid.Filter := FTextoFiltro; ViewGrid.Filter := Text;
end; end;
procedure TfEditorGridBase.FormShow(Sender: TObject); procedure TfEditorGridBase.FormShow(Sender: TObject);
@ -146,7 +130,6 @@ end;
procedure TfEditorGridBase.actQuitarFiltroExecute(Sender: TObject); procedure TfEditorGridBase.actQuitarFiltroExecute(Sender: TObject);
begin begin
TimerParaFiltro.Enabled := False;
if Assigned(ViewGrid) then if Assigned(ViewGrid) then
begin begin
tbxEditFiltro.Text := ''; tbxEditFiltro.Text := '';
@ -154,16 +137,9 @@ begin
end; end;
end; end;
procedure TfEditorGridBase.actQuitarFiltroUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := (Length(tbxEditFiltro.Text) > 0);
end;
constructor TfEditorGridBase.Create(AOwner: TComponent); constructor TfEditorGridBase.Create(AOwner: TComponent);
begin begin
inherited; inherited;
FTextoFiltro := '';
actModificar.ShortCut := ShortCut(VK_RETURN, []); actModificar.ShortCut := ShortCut(VK_RETURN, []);
end; end;

View File

@ -1,27 +1,23 @@
inherited fEditorItem: TfEditorItem inherited fEditorItem: TfEditorItem
Left = 423 Left = 423
Top = 273 Top = 273
Width = 686
Height = 535
Caption = 'fEditorItem' Caption = 'fEditorItem'
ClientHeight = 508
ClientWidth = 678
ExplicitWidth = 686
ExplicitHeight = 535
PixelsPerInch = 96 PixelsPerInch = 96
TextHeight = 13 TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader inherited JvNavPanelHeader: TJvNavPanelHeader
Width = 678 Width = 678
Visible = False Visible = False
ExplicitWidth = 678
inherited Image1: TImage inherited Image1: TImage
Left = 651 Left = 651
ExplicitLeft = 651
end end
end end
object pgPaginas: TPageControl [1] object pgPaginas: TPageControl [1]
Left = 0 Left = 0
Top = 76 Top = 76
Width = 678 Width = 678
Height = 413 Height = 406
ActivePage = pagGeneral ActivePage = pagGeneral
Align = alClient Align = alClient
TabOrder = 1 TabOrder = 1
@ -31,15 +27,12 @@ inherited fEditorItem: TfEditorItem
end end
inherited TBXDock: TTBXDock inherited TBXDock: TTBXDock
Width = 678 Width = 678
ExplicitWidth = 678
inherited tbxMain: TTBXToolbar inherited tbxMain: TTBXToolbar
ExplicitWidth = 524
inherited TBXItem5: TTBXItem inherited TBXItem5: TTBXItem
Visible = False Visible = False
end end
end end
inherited tbxMenu: TTBXToolbar inherited tbxMenu: TTBXToolbar
ExplicitWidth = 678
inherited TBXSubmenuItem4: TTBXSubmenuItem inherited TBXSubmenuItem4: TTBXSubmenuItem
inherited TBXItem10: TTBXItem inherited TBXItem10: TTBXItem
Visible = False Visible = False
@ -48,10 +41,8 @@ inherited fEditorItem: TfEditorItem
end end
end end
inherited StatusBar: TStatusBar inherited StatusBar: TStatusBar
Top = 489 Top = 482
Width = 678 Width = 678
ExplicitTop = 489
ExplicitWidth = 678
end end
inherited EditorActionList: TActionList inherited EditorActionList: TActionList
Top = 104 Top = 104

View File

@ -26,7 +26,7 @@ var
implementation implementation
uses uDMBase; uses uDataModuleBase;
{$R *.dfm} {$R *.dfm}

View File

@ -5,6 +5,8 @@ inherited fEditorPreview: TfEditorPreview
WindowState = wsMaximized WindowState = wsMaximized
OnDestroy = FormDestroy OnDestroy = FormDestroy
OnResize = FormResize OnResize = FormResize
ExplicitWidth = 320
ExplicitHeight = 240
PixelsPerInch = 96 PixelsPerInch = 96
TextHeight = 13 TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader inherited JvNavPanelHeader: TJvNavPanelHeader

Binary file not shown.

View File

@ -276,8 +276,6 @@ var
begin begin
with _FocusedView.DataController.Filter do with _FocusedView.DataController.Filter do
begin begin
ShowHourglassCursor;
Application.ProcessMessages;
BeginUpdate; BeginUpdate;
try try
Options := [fcoCaseInsensitive, fcoSoftCompare]; Options := [fcoCaseInsensitive, fcoSoftCompare];
@ -298,8 +296,6 @@ begin
Active := False; Active := False;
finally finally
EndUpdate; EndUpdate;
HideHourglassCursor;
Application.ProcessMessages;
end; end;
end; end;
end; end;

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