Compare commits
20 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 317f5186b4 | |||
| c81c21ce62 | |||
| 4c9129f541 | |||
| 0a0319219b | |||
| c10fbb7772 | |||
| 2fcba2db5f | |||
| e2a1f9f312 | |||
| 014683ebe3 | |||
| ec81aadb4d | |||
| aadab9491f | |||
| 4e7f349b52 | |||
| bc2ba9eb56 | |||
| a5b0d2c322 | |||
| 89e1f653ac | |||
| 28231bb136 | |||
| 80b830fccc | |||
| aad361f8ac | |||
| f2f7442595 | |||
| 19aed4c9ee | |||
| 75ab5245cb |
635
Build/Build.fbp5
635
Build/Build.fbp5
File diff suppressed because it is too large
Load Diff
@ -523,6 +523,7 @@ 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,
|
||||||
@ -567,6 +568,7 @@ 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,
|
||||||
@ -615,6 +617,7 @@ 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,
|
||||||
@ -873,6 +876,102 @@ 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 */
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,79 +1,104 @@
|
|||||||
|
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'[dbo].[RDX_V_INVENTARIOEDI_PESADA]'))
|
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[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
|
||||||
|
|
||||||
@ -342,6 +367,9 @@ 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),
|
||||||
@ -392,6 +420,9 @@ 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),
|
||||||
@ -438,6 +469,7 @@ SELECT
|
|||||||
PRODUCTO,
|
PRODUCTO,
|
||||||
COLOR,
|
COLOR,
|
||||||
FECHA,
|
FECHA,
|
||||||
|
T36,
|
||||||
T38,
|
T38,
|
||||||
T40,
|
T40,
|
||||||
T42,
|
T42,
|
||||||
@ -457,6 +489,7 @@ SELECT
|
|||||||
PRODUCTO,
|
PRODUCTO,
|
||||||
COLOR,
|
COLOR,
|
||||||
FECHA,
|
FECHA,
|
||||||
|
T36,
|
||||||
T38,
|
T38,
|
||||||
T40,
|
T40,
|
||||||
T42,
|
T42,
|
||||||
@ -485,6 +518,7 @@ 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,
|
||||||
@ -492,6 +526,7 @@ 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)),
|
||||||
@ -499,6 +534,7 @@ 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) +
|
||||||
@ -525,21 +561,40 @@ 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,
|
||||||
CANTIDAD = CASE UPPER(PRODUTOS_BARRA.GRADE)
|
CASE
|
||||||
WHEN '38' THEN F1
|
WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN
|
||||||
WHEN 'S' THEN F1
|
CASE UPPER(PRODUTOS_BARRA.GRADE)
|
||||||
WHEN '40' THEN F2
|
WHEN '36' THEN F1
|
||||||
WHEN 'M' THEN F2
|
WHEN '38' THEN F2
|
||||||
WHEN '42' THEN F3
|
WHEN '40' THEN F3
|
||||||
WHEN 'L' THEN F3
|
WHEN '42' THEN F4
|
||||||
WHEN '44' THEN F4
|
WHEN '44' THEN F5
|
||||||
WHEN 'XL' THEN F4
|
WHEN '46' THEN F6
|
||||||
WHEN '46' THEN F5
|
WHEN '48' THEN F7
|
||||||
WHEN '48' THEN F6
|
END
|
||||||
END,
|
ELSE
|
||||||
|
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')
|
||||||
@ -549,27 +604,28 @@ 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)
|
||||||
LEFT OUTER JOIN FILIAIS ON
|
INNER JOIN PRODUTOS ON
|
||||||
(FILIAIS.FILIAL = FATURAMENTO.NOME_CLIFOR)
|
(PRODUTOS.PRODUTO = FATURAMENTO_PROD.PRODUTO)
|
||||||
LEFT OUTER JOIN RDX_FILIALES ON
|
|
||||||
(RDX_FILIALES.CODFILIAL = FILIAIS.COD_FILIAL)
|
|
||||||
LEFT OUTER JOIN PRODUTOS_BARRA ON
|
LEFT OUTER JOIN PRODUTOS_BARRA ON
|
||||||
(((PRODUTOS_BARRA.PRODUTO = FATURAMENTO_PROD.PRODUTO) AND
|
(((PRODUTOS_BARRA.PRODUTO = FATURAMENTO_PROD.PRODUTO) AND
|
||||||
(PRODUTOS_BARRA.COR_PRODUTO = FATURAMENTO_PROD.COR_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 CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '36' ELSE '38' END END) OR
|
||||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (FATURAMENTO_PROD.F1 <> 0) THEN 'S' 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 '40' 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 'M' 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 '42' 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 'L' 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 '44' 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 'XL' 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 '46' 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 '48' END)))
|
(PRODUTOS_BARRA.GRADE = CASE WHEN (FATURAMENTO_PROD.F6 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '46' ELSE '48' END END) OR
|
||||||
LEFT OUTER JOIN PRODUTOS ON
|
(PRODUTOS_BARRA.GRADE = CASE WHEN (FATURAMENTO_PROD.F7 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '48' ELSE NULL END END)))
|
||||||
(PRODUTOS.PRODUTO = PRODUTOS_BARRA.PRODUTO)
|
|
||||||
LEFT OUTER JOIN RDX_AJUSTES_ALBARAN ON
|
LEFT OUTER JOIN RDX_AJUSTES_ALBARAN ON
|
||||||
(RDX_AJUSTES_ALBARAN.ALBARAN = FATURAMENTO.NF_SAIDA)
|
(RDX_AJUSTES_ALBARAN.ALBARAN = FATURAMENTO.NF_SAIDA)
|
||||||
|
LEFT OUTER JOIN FILIAIS ON
|
||||||
|
(FILIAIS.FILIAL = FATURAMENTO.NOME_CLIFOR)
|
||||||
|
LEFT OUTER JOIN RDX_FILIALES ON
|
||||||
|
(RDX_FILIALES.CODFILIAL = FILIAIS.COD_FILIAL)
|
||||||
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 */
|
||||||
@ -593,6 +649,9 @@ 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),
|
||||||
@ -619,6 +678,9 @@ 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),
|
||||||
@ -686,12 +748,13 @@ SELECT
|
|||||||
RDX_V_RECEPCION.CONTABILIZAR_ALBARAN,
|
RDX_V_RECEPCION.CONTABILIZAR_ALBARAN,
|
||||||
|
|
||||||
/* CANTIDADES ENVIADAS DESDE VARELA */
|
/* CANTIDADES ENVIADAS DESDE VARELA */
|
||||||
E38, E40, E42, E44, E46, E48, RDX_V_RECEPCION.ENVIADO,
|
E36, E38, E40, E42, E44, E46, E48, RDX_V_RECEPCION.ENVIADO,
|
||||||
|
|
||||||
/* CANTIDADES RECIBIDAS EN EL CENTRO*/
|
/* CANTIDADES RECIBIDAS EN EL CENTRO*/
|
||||||
R38, R40, R42, R44, R46, R48, RDX_V_RECEPCION.RECIBIDO,
|
R36, 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)),
|
||||||
@ -700,6 +763,7 @@ 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))) +
|
||||||
@ -708,7 +772,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))) +
|
||||||
@ -746,7 +810,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, E38, E40, E42, E44, E46, E48
|
, CENTRO, FILIAL, FECHA, CODIGO, PRODUCTO, COLOR, E36, 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)
|
||||||
@ -768,37 +832,51 @@ 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,
|
||||||
CANTIDAD = CASE UPPER(PRODUTOS_BARRA.GRADE)
|
CASE
|
||||||
WHEN '38' THEN EN1
|
WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN
|
||||||
WHEN 'S' THEN EN1
|
CASE UPPER(PRODUTOS_BARRA.GRADE)
|
||||||
WHEN '40' THEN EN2
|
WHEN '36' THEN EN1
|
||||||
WHEN 'M' THEN EN2
|
WHEN '38' THEN EN2
|
||||||
WHEN '42' THEN EN3
|
WHEN '40' THEN EN3
|
||||||
WHEN 'L' THEN EN3
|
WHEN '42' THEN EN4
|
||||||
WHEN '44' THEN EN4
|
WHEN '44' THEN EN5
|
||||||
WHEN 'XL' THEN EN4
|
WHEN '46' THEN EN6
|
||||||
WHEN '46' THEN EN5
|
WHEN '48' THEN EN7
|
||||||
WHEN '48' THEN EN6
|
END
|
||||||
END,
|
ELSE
|
||||||
|
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 '38' END) OR
|
((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 'S' END) OR
|
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN1 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '36' ELSE 'S' END END) OR
|
||||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN2 <> 0) THEN '40' 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 'M' END) OR
|
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN2 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '38' ELSE 'M' END END) OR
|
||||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN3 <> 0) THEN '42' 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 'L' END) OR
|
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN3 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '40' ELSE 'L' END END) OR
|
||||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN4 <> 0) THEN '44' 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 'XL' END) OR
|
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN4 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '42' ELSE 'XL' END END) OR
|
||||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN5 <> 0) THEN '46' END) OR
|
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN5 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '44' ELSE '46' END END) OR
|
||||||
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN6 <> 0) THEN '48' END)))
|
(PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN6 <> 0) THEN CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN '46' ELSE '48' END END) OR
|
||||||
INNER JOIN PRODUTOS on (PRODUTOS.PRODUTO = PRODUTOS_BARRA.PRODUTO)
|
(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 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)
|
||||||
@ -828,6 +906,9 @@ 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),
|
||||||
@ -854,6 +935,9 @@ 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),
|
||||||
@ -921,12 +1005,13 @@ SELECT
|
|||||||
RDX_V_DEVOLUCIONES.CONTABILIZAR_HOJA,
|
RDX_V_DEVOLUCIONES.CONTABILIZAR_HOJA,
|
||||||
|
|
||||||
/* CANTIDADES SOLICITADAS DESDE VARELA */
|
/* CANTIDADES SOLICITADAS DESDE VARELA */
|
||||||
S38, S40, S42, S44, S46, S48, RDX_V_DEVOLUCIONES.SOLICITADO,
|
S36, S38, S40, S42, S44, S46, S48, RDX_V_DEVOLUCIONES.SOLICITADO,
|
||||||
|
|
||||||
/* CANTIDADES ENVIADAS DESDE EL CENTRO*/
|
/* CANTIDADES ENVIADAS DESDE EL CENTRO*/
|
||||||
E38, E40, E42, E44, E46, E48, RDX_V_DEVOLUCIONES.ENVIADO,
|
E36, 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)),
|
||||||
@ -935,6 +1020,7 @@ 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))) +
|
||||||
@ -944,6 +1030,7 @@ 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))) +
|
||||||
@ -973,6 +1060,7 @@ 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
|
||||||
@ -989,6 +1077,7 @@ 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
|
||||||
@ -1046,6 +1135,7 @@ 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
|
||||||
@ -1062,6 +1152,7 @@ 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
|
||||||
@ -1091,7 +1182,8 @@ 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 '38' THEN EN1
|
WHEN '36' THEN EN7
|
||||||
|
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
|
||||||
@ -1107,7 +1199,8 @@ 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.EN1 <> 0) THEN '38' END) OR
|
((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 '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
|
||||||
@ -1141,6 +1234,7 @@ 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
|
||||||
@ -1159,6 +1253,7 @@ 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
|
||||||
|
|||||||
@ -1,28 +1,36 @@
|
|||||||
|
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'[dbo].[RDX_V_VENTASEDI_PESADA]'))
|
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[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
|
||||||
|
|
||||||
@ -140,12 +148,14 @@ SELECT
|
|||||||
TIPO_PRODUTO = ISNULL(PRODUTOS.TIPO_PRODUTO, RDX_V_VENTASEDI.TIPO_PRODUTO),
|
TIPO_PRODUTO = ISNULL(PRODUTOS.TIPO_PRODUTO, RDX_V_VENTASEDI.TIPO_PRODUTO),
|
||||||
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),
|
||||||
RDX_V_VENTASEDI.VALVEN,
|
VALVEN = ISNULL(RDX_V_REFERENCIAS_RESUELTAS.VALVEN, RDX_V_VENTASEDI.VALVEN),
|
||||||
RDX_V_VENTASEDI.CANVEN,
|
CANVEN = ISNULL(RDX_V_REFERENCIAS_RESUELTAS.CANVEN, RDX_V_VENTASEDI.CANVEN),
|
||||||
RDX_V_VENTASEDI.CANDEV,
|
RDX_V_VENTASEDI.CANDEV,
|
||||||
RDX_V_VENTASEDI.CANVENNET,
|
CANVENNET = ISNULL(RDX_V_REFERENCIAS_RESUELTAS.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
|
||||||
@ -280,6 +290,7 @@ 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,
|
||||||
|
|||||||
@ -1,17 +1,32 @@
|
|||||||
|
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
|
||||||
|
|
||||||
@ -26,14 +41,14 @@ SELECT ESTOQUE_PRODUTOS.FILIAL,
|
|||||||
PRODUTOS.TIPO_PRODUTO,
|
PRODUTOS.TIPO_PRODUTO,
|
||||||
PRODUTOS.GRUPO_PRODUTO,
|
PRODUTOS.GRUPO_PRODUTO,
|
||||||
COLECCION = PRODUTOS.COLECAO,
|
COLECCION = PRODUTOS.COLECAO,
|
||||||
ESTOQUE_PRODUTOS.ES1 as K38,
|
CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN ESTOQUE_PRODUTOS.ES1 ELSE 0 END AS K36,
|
||||||
ESTOQUE_PRODUTOS.ES2 as K40,
|
CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN ESTOQUE_PRODUTOS.ES2 ELSE ESTOQUE_PRODUTOS.ES1 END AS K38,
|
||||||
ESTOQUE_PRODUTOS.ES3 as K42,
|
CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN ESTOQUE_PRODUTOS.ES3 ELSE ESTOQUE_PRODUTOS.ES2 END AS K40,
|
||||||
ESTOQUE_PRODUTOS.ES4 as K44,
|
CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN ESTOQUE_PRODUTOS.ES4 ELSE ESTOQUE_PRODUTOS.ES3 END AS K42,
|
||||||
ESTOQUE_PRODUTOS.ES5 as K46,
|
CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN ESTOQUE_PRODUTOS.ES5 ELSE ESTOQUE_PRODUTOS.ES4 END AS K44,
|
||||||
ESTOQUE_PRODUTOS.ES6 as K48,
|
CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN ESTOQUE_PRODUTOS.ES6 ELSE ESTOQUE_PRODUTOS.ES5 END AS K46,
|
||||||
|
CASE WHEN (PRODUTOS.GRADE IN ('JEANS')) THEN ESTOQUE_PRODUTOS.ES7 ELSE ESTOQUE_PRODUTOS.ES6 END AS K48,
|
||||||
ESTOQUE_PRODUTOS.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%'
|
||||||
@ -79,8 +94,7 @@ 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) AND
|
(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.FECHA = RDX_V_INVENTARIOEDI.FECHA)
|
||||||
(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
|
||||||
@ -135,6 +149,24 @@ 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
|
||||||
@ -243,6 +275,24 @@ 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
|
||||||
@ -385,27 +435,30 @@ SELECT
|
|||||||
GRUPO_PRODUCTO,
|
GRUPO_PRODUCTO,
|
||||||
COLECCION,
|
COLECCION,
|
||||||
COLOR,
|
COLOR,
|
||||||
|
E36,
|
||||||
E38,
|
E38,
|
||||||
E40,
|
E40,
|
||||||
E42,
|
E42,
|
||||||
E44,
|
E44,
|
||||||
E46,
|
E46,
|
||||||
E48,
|
E48,
|
||||||
TE = ISNULL(E38, 0) + ISNULL(E40, 0) + ISNULL(E42, 0) + ISNULL(E44, 0) + ISNULL(E46, 0) + ISNULL(E48, 0),
|
TE = ISNULL(E36, 0) + 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(S38, 0) + ISNULL(S40, 0) + ISNULL(S42, 0) + ISNULL(S44, 0) + ISNULL(S46, 0) + ISNULL(S48, 0),
|
TS = ISNULL(S36, 0) + ISNULL(S38, 0) + ISNULL(S40, 0) + ISNULL(S42, 0) + ISNULL(S44, 0) + ISNULL(S46, 0) + ISNULL(S48, 0),
|
||||||
|
K36 = ISNULL(E36, 0) + ISNULL(S36, 0),
|
||||||
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(E38, 0) + ISNULL(S38, 0) + ISNULL(E40, 0) + ISNULL(S40, 0) +
|
KT = ISNULL(E36, 0) + 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)
|
||||||
|
|
||||||
@ -428,6 +481,7 @@ 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
|
||||||
@ -483,7 +537,13 @@ select
|
|||||||
TIPO_PRODUCTO,
|
TIPO_PRODUCTO,
|
||||||
GRUPO_PRODUCTO,
|
GRUPO_PRODUCTO,
|
||||||
COLECCION,
|
COLECCION,
|
||||||
I38 = SUM(CASE TALLA
|
I36 = 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
|
||||||
@ -519,7 +579,13 @@ select
|
|||||||
ELSE 0
|
ELSE 0
|
||||||
END)
|
END)
|
||||||
|
|
||||||
,K38 = SUM(CASE TALLA
|
,K36 = 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
|
||||||
|
|||||||
@ -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,
|
||||||
produtos.PRODUTO,
|
ISNULL(produtos.PRODUTO, '107CH.EN.01') AS 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,7 +126,6 @@ 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)
|
||||||
@ -139,11 +138,10 @@ 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
|
||||||
IF @@ERROR = 0
|
UPDATE RDX_CABVEN SET
|
||||||
UPDATE RDX_CABVEN SET
|
CARGADO = 1
|
||||||
CARGADO = 1
|
WHERE CARGADO IS NULL
|
||||||
WHERE CARGADO IS NULL
|
|
||||||
END
|
END
|
||||||
GO
|
GO
|
||||||
|
|
||||||
|
|||||||
44
Database/4 - datos.sql
Normal file
44
Database/4 - datos.sql
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
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
|
||||||
|
|
||||||
@ -1,178 +0,0 @@
|
|||||||
--------------- 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
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,519 +0,0 @@
|
|||||||
--------------- 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
@ -1,431 +0,0 @@
|
|||||||
--
|
|
||||||
-- 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
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,302 +0,0 @@
|
|||||||
--
|
|
||||||
-- 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
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,263 +0,0 @@
|
|||||||
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
|
|
||||||
@ -1,434 +0,0 @@
|
|||||||
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
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<BorlandProject>
|
|
||||||
<Default.Personality>
|
|
||||||
<Projects ActiveProject="ControlesBaseD10.bpl"/>
|
|
||||||
</Default.Personality>
|
|
||||||
</BorlandProject>
|
|
||||||
@ -4,11 +4,11 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup />
|
<ItemGroup />
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Projects Include="Base\BaseD10.dproj" />
|
<Projects Include="ApplicationBase\ApplicationBase.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="Configuracion\Configuracion.dproj" />
|
<Projects Include="ControlesBase\ControlesBase.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,7 +19,6 @@
|
|||||||
<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>
|
||||||
@ -27,32 +26,23 @@
|
|||||||
<BorlandProject>
|
<BorlandProject>
|
||||||
<BorlandProject xmlns=""><Default.Personality></Default.Personality></BorlandProject></BorlandProject>
|
<BorlandProject xmlns=""><Default.Personality></Default.Personality></BorlandProject></BorlandProject>
|
||||||
</ProjectExtensions>
|
</ProjectExtensions>
|
||||||
<Target Name="AdminPV_Server">
|
<Target Name="Base">
|
||||||
<MSBuild Projects="Servidor\AdminPV_Server.dproj" Targets="" />
|
<MSBuild Projects="Base\Base.dproj" Targets="" />
|
||||||
</Target>
|
</Target>
|
||||||
<Target Name="AdminPV_Server:Clean">
|
<Target Name="Base:Clean">
|
||||||
<MSBuild Projects="Servidor\AdminPV_Server.dproj" Targets="Clean" />
|
<MSBuild Projects="Base\Base.dproj" Targets="Clean" />
|
||||||
</Target>
|
</Target>
|
||||||
<Target Name="AdminPV_Server:Make">
|
<Target Name="Base:Make">
|
||||||
<MSBuild Projects="Servidor\AdminPV_Server.dproj" Targets="Make" />
|
<MSBuild Projects="Base\Base.dproj" Targets="Make" />
|
||||||
</Target>
|
</Target>
|
||||||
<Target Name="BaseD10">
|
<Target Name="ControlesBase">
|
||||||
<MSBuild Projects="Base\BaseD10.dproj" Targets="" />
|
<MSBuild Projects="ControlesBase\ControlesBase.dproj" Targets="" />
|
||||||
</Target>
|
</Target>
|
||||||
<Target Name="BaseD10:Clean">
|
<Target Name="ControlesBase:Clean">
|
||||||
<MSBuild Projects="Base\BaseD10.dproj" Targets="Clean" />
|
<MSBuild Projects="ControlesBase\ControlesBase.dproj" Targets="Clean" />
|
||||||
</Target>
|
</Target>
|
||||||
<Target Name="BaseD10:Make">
|
<Target Name="ControlesBase:Make">
|
||||||
<MSBuild Projects="Base\BaseD10.dproj" Targets="Make" />
|
<MSBuild Projects="ControlesBase\ControlesBase.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="" />
|
||||||
@ -63,23 +53,14 @@
|
|||||||
<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="Usuarios">
|
<Target Name="ApplicationBase">
|
||||||
<MSBuild Projects="Usuarios\Usuarios.dproj" Targets="" />
|
<MSBuild Projects="ApplicationBase\ApplicationBase.dproj" Targets="" />
|
||||||
</Target>
|
</Target>
|
||||||
<Target Name="Usuarios:Clean">
|
<Target Name="ApplicationBase:Clean">
|
||||||
<MSBuild Projects="Usuarios\Usuarios.dproj" Targets="Clean" />
|
<MSBuild Projects="ApplicationBase\ApplicationBase.dproj" Targets="Clean" />
|
||||||
</Target>
|
</Target>
|
||||||
<Target Name="Usuarios:Make">
|
<Target Name="ApplicationBase:Make">
|
||||||
<MSBuild Projects="Usuarios\Usuarios.dproj" Targets="Make" />
|
<MSBuild Projects="ApplicationBase\ApplicationBase.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="" />
|
||||||
@ -171,14 +152,23 @@
|
|||||||
<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="AdminPV_Server;BaseD10;ControlesBaseD10;Parametros;Usuarios;Configuracion;FicherosEDI;VentasTerminadas;VentasProceso;ReferenciaGenerica;Recepciones;Devoluciones;Traspasos;Stock;CargaEDI;AdminPV" />
|
<CallTarget Targets="Base;ControlesBase;Parametros;ApplicationBase;FicherosEDI;VentasTerminadas;VentasProceso;ReferenciaGenerica;Recepciones;Devoluciones;Traspasos;Stock;CargaEDI;AdminPV;AdminPV_Server" />
|
||||||
</Target>
|
</Target>
|
||||||
<Target Name="Clean">
|
<Target Name="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" />
|
<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" />
|
||||||
</Target>
|
</Target>
|
||||||
<Target Name="Make">
|
<Target Name="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" />
|
<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" />
|
||||||
</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>
|
||||||
@ -1,201 +1,226 @@
|
|||||||
<?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">VCLApplication</Option>
|
<Option Name="ProjectType"></Option>
|
||||||
<Option Name="Version">1.0</Option>
|
<Option Name="Version">1.0</Option>
|
||||||
<Option Name="GUID">{51B1CBD5-E922-4E6D-B778-6DE1BCA9118C}</Option>
|
<Option Name="GUID">{14A25028-EC1A-430C-ADE3-13C264E9BAC2}</Option>
|
||||||
</Option>
|
</Option>
|
||||||
</PersonalityInfo>
|
</PersonalityInfo>
|
||||||
<Delphi.Personality>
|
<Delphi.Personality>
|
||||||
<Source>
|
<Source>
|
||||||
<Source Name="MainSource">BaseD10.dpk</Source>
|
<Source Name="MainSource">ApplicationBase.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">0</Compiler>
|
<Compiler Name="O">1</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">1</Compiler>
|
<Compiler Name="W">0</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="CodePage"></Compiler>
|
<Compiler Name="TypeInfoImplicitlyAdded">True</Compiler>
|
||||||
</Compiler>
|
<Compiler Name="XMLWhitespaceNotAllowed">True</Compiler>
|
||||||
<Linker>
|
<Compiler Name="XMLUnknownEntity">True</Compiler>
|
||||||
<Linker Name="MapFile">3</Linker>
|
<Compiler Name="XMLInvalidNameStart">True</Compiler>
|
||||||
<Linker Name="OutputObjs">0</Linker>
|
<Compiler Name="XMLInvalidName">True</Compiler>
|
||||||
<Linker Name="GenerateHpps">False</Linker>
|
<Compiler Name="XMLExpectedCharacter">True</Compiler>
|
||||||
<Linker Name="ConsoleApp">1</Linker>
|
<Compiler Name="XMLCRefNoResolve">True</Compiler>
|
||||||
<Linker Name="DebugInfo">False</Linker>
|
<Compiler Name="XMLNoParm">True</Compiler>
|
||||||
<Linker Name="RemoteSymbols">False</Linker>
|
<Compiler Name="XMLNoMatchingParm">True</Compiler>
|
||||||
<Linker Name="GenerateDRC">False</Linker>
|
<Compiler Name="CodePage"></Compiler>
|
||||||
<Linker Name="MinStackSize">16384</Linker>
|
</Compiler>
|
||||||
<Linker Name="MaxStackSize">1048576</Linker>
|
<Linker>
|
||||||
<Linker Name="ImageBase">4194304</Linker>
|
<Linker Name="MapFile">0</Linker>
|
||||||
<Linker Name="ExeDescription"></Linker>
|
<Linker Name="OutputObjs">0</Linker>
|
||||||
</Linker>
|
<Linker Name="GenerateHpps">False</Linker>
|
||||||
<Directories>
|
<Linker Name="ConsoleApp">1</Linker>
|
||||||
<Directories Name="OutputDir"></Directories>
|
<Linker Name="DebugInfo">False</Linker>
|
||||||
<Directories Name="UnitOutputDir">.\</Directories>
|
<Linker Name="RemoteSymbols">False</Linker>
|
||||||
<Directories Name="PackageDLLOutputDir">..\..\Output\Debug\Cliente</Directories>
|
<Linker Name="GenerateDRC">False</Linker>
|
||||||
<Directories Name="PackageDCPOutputDir">..\Lib</Directories>
|
<Linker Name="MinStackSize">16384</Linker>
|
||||||
<Directories Name="SearchPath"></Directories>
|
<Linker Name="MaxStackSize">1048576</Linker>
|
||||||
<Directories Name="Packages"></Directories>
|
<Linker Name="ImageBase">4194304</Linker>
|
||||||
<Directories Name="Conditionals"></Directories>
|
<Linker Name="ExeDescription"></Linker>
|
||||||
<Directories Name="DebugSourceDirs"></Directories>
|
</Linker>
|
||||||
<Directories Name="UsePackages">False</Directories>
|
<Directories>
|
||||||
</Directories>
|
<Directories Name="OutputDir"></Directories>
|
||||||
<Parameters>
|
<Directories Name="UnitOutputDir">.\</Directories>
|
||||||
<Parameters Name="RunParams"></Parameters>
|
<Directories Name="PackageDLLOutputDir">..\..\..\..\Output\Debug\Cliente</Directories>
|
||||||
<Parameters Name="HostApplication"></Parameters>
|
<Directories Name="PackageDCPOutputDir">..\Lib</Directories>
|
||||||
<Parameters Name="Launcher"></Parameters>
|
<Directories Name="SearchPath">..\Lib</Directories>
|
||||||
<Parameters Name="UseLauncher">False</Parameters>
|
<Directories Name="Packages"></Directories>
|
||||||
<Parameters Name="DebugCWD"></Parameters>
|
<Directories Name="Conditionals"></Directories>
|
||||||
<Parameters Name="Debug Symbols Search Path"></Parameters>
|
<Directories Name="DebugSourceDirs"></Directories>
|
||||||
<Parameters Name="LoadAllSymbols">True</Parameters>
|
<Directories Name="UsePackages">False</Directories>
|
||||||
<Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
|
</Directories>
|
||||||
</Parameters>
|
<Parameters>
|
||||||
<Language>
|
<Parameters Name="RunParams"></Parameters>
|
||||||
<Language Name="ActiveLang"></Language>
|
<Parameters Name="HostApplication"></Parameters>
|
||||||
<Language Name="ProjectLang">$00000000</Language>
|
<Parameters Name="Launcher"></Parameters>
|
||||||
<Language Name="RootDir">C:\Archivos de programa\Borland\Delphi7\Bin\</Language>
|
<Parameters Name="UseLauncher">False</Parameters>
|
||||||
</Language>
|
<Parameters Name="DebugCWD"></Parameters>
|
||||||
<VersionInfo>
|
<Parameters Name="Debug Symbols Search Path"></Parameters>
|
||||||
<VersionInfo Name="IncludeVerInfo">True</VersionInfo>
|
<Parameters Name="LoadAllSymbols">True</Parameters>
|
||||||
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
|
<Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
|
||||||
<VersionInfo Name="MajorVer">2</VersionInfo>
|
</Parameters>
|
||||||
<VersionInfo Name="MinorVer">0</VersionInfo>
|
<Signing>
|
||||||
<VersionInfo Name="Release">0</VersionInfo>
|
<Signing Name="SignAssembly">False</Signing>
|
||||||
<VersionInfo Name="Build">0</VersionInfo>
|
</Signing>
|
||||||
<VersionInfo Name="Debug">False</VersionInfo>
|
<VersionInfo>
|
||||||
<VersionInfo Name="PreRelease">False</VersionInfo>
|
<VersionInfo Name="IncludeVerInfo">True</VersionInfo>
|
||||||
<VersionInfo Name="Special">False</VersionInfo>
|
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
|
||||||
<VersionInfo Name="Private">False</VersionInfo>
|
<VersionInfo Name="MajorVer">1</VersionInfo>
|
||||||
<VersionInfo Name="DLL">False</VersionInfo>
|
<VersionInfo Name="MinorVer">0</VersionInfo>
|
||||||
<VersionInfo Name="Locale">3082</VersionInfo>
|
<VersionInfo Name="Release">0</VersionInfo>
|
||||||
<VersionInfo Name="CodePage">1252</VersionInfo>
|
<VersionInfo Name="Build">0</VersionInfo>
|
||||||
</VersionInfo>
|
<VersionInfo Name="Debug">False</VersionInfo>
|
||||||
<VersionInfoKeys>
|
<VersionInfo Name="PreRelease">False</VersionInfo>
|
||||||
<VersionInfoKeys Name="CompanyName"></VersionInfoKeys>
|
<VersionInfo Name="Special">False</VersionInfo>
|
||||||
<VersionInfoKeys Name="FileDescription"></VersionInfoKeys>
|
<VersionInfo Name="Private">False</VersionInfo>
|
||||||
<VersionInfoKeys Name="FileVersion">2.0.0.0</VersionInfoKeys>
|
<VersionInfo Name="DLL">False</VersionInfo>
|
||||||
<VersionInfoKeys Name="InternalName"></VersionInfoKeys>
|
<VersionInfo Name="Locale">3082</VersionInfo>
|
||||||
<VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys>
|
<VersionInfo Name="CodePage">1252</VersionInfo>
|
||||||
<VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
|
</VersionInfo>
|
||||||
<VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys>
|
<VersionInfoKeys>
|
||||||
<VersionInfoKeys Name="ProductName"></VersionInfoKeys>
|
<VersionInfoKeys Name="CompanyName"></VersionInfoKeys>
|
||||||
<VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
|
<VersionInfoKeys Name="FileDescription"></VersionInfoKeys>
|
||||||
<VersionInfoKeys Name="Comments"></VersionInfoKeys>
|
<VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
|
||||||
</VersionInfoKeys> <Excluded_Packages>
|
<VersionInfoKeys Name="InternalName"></VersionInfoKeys>
|
||||||
<Excluded_Packages Name="C:\Documents and Settings\Usuario\Mis documentos\Borland Studio Projects\Bpl\fsTee10.bpl">(untitled)</Excluded_Packages>
|
<VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys>
|
||||||
<Excluded_Packages Name="C:\Documents and Settings\Usuario\Mis documentos\Borland Studio Projects\Bpl\fs10.bpl">(untitled)</Excluded_Packages>
|
<VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
|
||||||
<Excluded_Packages Name="C:\Documents and Settings\Usuario\Mis documentos\Borland Studio Projects\Bpl\frx10.bpl">(untitled)</Excluded_Packages>
|
<VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys>
|
||||||
<Excluded_Packages Name="C:\Documents and Settings\Usuario\Mis documentos\Borland Studio Projects\Bpl\frxADO10.bpl">(untitled)</Excluded_Packages>
|
<VersionInfoKeys Name="ProductName"></VersionInfoKeys>
|
||||||
<Excluded_Packages Name="C:\Documents and Settings\Usuario\Mis documentos\Borland Studio Projects\Bpl\frxBDE10.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\frxDB10.bpl">(untitled)</Excluded_Packages>
|
<VersionInfoKeys Name="Comments"></VersionInfoKeys>
|
||||||
<Excluded_Packages Name="C:\Documents and Settings\Usuario\Mis documentos\Borland Studio Projects\Bpl\frxDBX10.bpl">(untitled)</Excluded_Packages>
|
</VersionInfoKeys>
|
||||||
<Excluded_Packages Name="C:\Documents and Settings\Usuario\Mis documentos\Borland Studio Projects\Bpl\frxe10.bpl">(untitled)</Excluded_Packages>
|
<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=1
|
Activate=0
|
||||||
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=1
|
Freeze Timeout=0
|
||||||
SMTP From=eurekalog@email.com
|
SMTP From=eurekalog@email.com
|
||||||
SMTP Host=
|
SMTP Host=
|
||||||
SMTP Port=25
|
SMTP Port=25
|
||||||
@ -342,7 +367,7 @@ boSaveCompressedCopyInCaseOfError=0
|
|||||||
boHandleSafeCallExceptions=1
|
boHandleSafeCallExceptions=1
|
||||||
boCallRTLExceptionEvent=0
|
boCallRTLExceptionEvent=0
|
||||||
boCatchHandledExceptions=0
|
boCatchHandledExceptions=0
|
||||||
loCatchLeaks=1
|
loCatchLeaks=0
|
||||||
loGroupsSonLeaks=1
|
loGroupsSonLeaks=1
|
||||||
loHideBorlandLeaks=1
|
loHideBorlandLeaks=1
|
||||||
loFreeAllLeaks=1
|
loFreeAllLeaks=1
|
||||||
@ -668,6 +693,5 @@ 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=
|
TextsCollection=English
|
||||||
EurekaLog Last Line -->
|
EurekaLog Last Line -->
|
||||||
</BorlandProject>
|
|
||||||
40
Source/ApplicationBase/ApplicationBase.cfg
Normal file
40
Source/ApplicationBase/ApplicationBase.cfg
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
-$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"
|
||||||
64
Source/ApplicationBase/ApplicationBase.dpk
Normal file
64
Source/ApplicationBase/ApplicationBase.dpk
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
package ApplicationBase;
|
||||||
|
|
||||||
|
{$R *.res}
|
||||||
|
{$ALIGN 8}
|
||||||
|
{$ASSERTIONS ON}
|
||||||
|
{$BOOLEVAL OFF}
|
||||||
|
{$DEBUGINFO ON}
|
||||||
|
{$EXTENDEDSYNTAX ON}
|
||||||
|
{$IMPORTEDDATA ON}
|
||||||
|
{$IOCHECKS ON}
|
||||||
|
{$LOCALSYMBOLS ON}
|
||||||
|
{$LONGSTRINGS ON}
|
||||||
|
{$OPENSTRINGS ON}
|
||||||
|
{$OPTIMIZATION OFF}
|
||||||
|
{$OVERFLOWCHECKS OFF}
|
||||||
|
{$RANGECHECKS OFF}
|
||||||
|
{$REFERENCEINFO ON}
|
||||||
|
{$SAFEDIVIDE OFF}
|
||||||
|
{$STACKFRAMES ON}
|
||||||
|
{$TYPEDADDRESS OFF}
|
||||||
|
{$VARSTRINGCHECKS ON}
|
||||||
|
{$WRITEABLECONST OFF}
|
||||||
|
{$MINENUMSIZE 1}
|
||||||
|
{$IMAGEBASE $400000}
|
||||||
|
{$IMPLICITBUILD ON}
|
||||||
|
{$DEFINE DEBUG}
|
||||||
|
|
||||||
|
requires
|
||||||
|
rtl,
|
||||||
|
vcl,
|
||||||
|
dbrtl,
|
||||||
|
PluginSDK_D11R,
|
||||||
|
Base,
|
||||||
|
pckMD5,
|
||||||
|
pckUserControl_RT;
|
||||||
|
|
||||||
|
contains
|
||||||
|
uAdminPV_App in 'uAdminPV_App.pas',
|
||||||
|
uIDataModuleUsuarios in 'Usuarios\Model\Data\uIDataModuleUsuarios.pas',
|
||||||
|
uDataModuleUsuarios in 'Usuarios\Data\uDataModuleUsuarios.pas' {DataModuleUsuarios},
|
||||||
|
uUCROConn in 'Usuarios\Data\uUCROConn.pas',
|
||||||
|
uUsuariosController in 'Usuarios\Controller\uUsuariosController.pas',
|
||||||
|
uBizUsuarios in 'Usuarios\Model\uBizUsuarios.pas',
|
||||||
|
uIEditorLogin in 'Usuarios\Controller\View\uIEditorLogin.pas',
|
||||||
|
uEditorLogin in 'Usuarios\Views\uEditorLogin.pas' {fEditorLogin},
|
||||||
|
uUsuariosViewRegister in 'Usuarios\Views\uUsuariosViewRegister.pas',
|
||||||
|
uViewPerfilesUsuario in 'Usuarios\Views\uViewPerfilesUsuario.pas' {frViewPerfilesUsuario: TFrame},
|
||||||
|
uEditorPerfilesUsuario in 'Usuarios\Views\uEditorPerfilesUsuario.pas' {fEditorPerfilesUsuario},
|
||||||
|
uIEditorUsuarios in 'Usuarios\Controller\View\uIEditorUsuarios.pas',
|
||||||
|
uEditorPerfilUsuario in 'Usuarios\Views\uEditorPerfilUsuario.pas' {fEditorPerfilUsuario},
|
||||||
|
uIEditorUsuario in 'Usuarios\Controller\View\uIEditorUsuario.pas',
|
||||||
|
uViewPerfilUsuario in 'Usuarios\Views\uViewPerfilUsuario.pas' {frViewPerfilUsuario: TFrame},
|
||||||
|
uIEditorPerfilesUsuario in 'Usuarios\Controller\View\uIEditorPerfilesUsuario.pas',
|
||||||
|
uIEditorPerfilUsuario in 'Usuarios\Controller\View\uIEditorPerfilUsuario.pas',
|
||||||
|
uEditorUsuarios in 'Usuarios\Views\uEditorUsuarios.pas' {fEditorUsuarios},
|
||||||
|
uViewUsuarios in 'Usuarios\Views\uViewUsuarios.pas' {frViewUsuarios: TFrame},
|
||||||
|
uEditorUsuario in 'Usuarios\Views\uEditorUsuario.pas' {fEditorUsuario: TFrame},
|
||||||
|
uViewUsuario in 'Usuarios\Views\uViewUsuario.pas' {frViewUsuario: TFrame},
|
||||||
|
uEditorCambiarPassword in 'Usuarios\Views\uEditorCambiarPassword.pas' {fEditorCambiarPassword},
|
||||||
|
schUsuariosClient_Intf in 'Usuarios\Model\schUsuariosClient_Intf.pas',
|
||||||
|
schUsuariosServer_Intf in 'Usuarios\Model\schUsuariosServer_Intf.pas',
|
||||||
|
uEditorPermisosUsuario in 'Usuarios\Views\uEditorPermisosUsuario.pas' {fEditorPermisosUsuario};
|
||||||
|
|
||||||
|
end.
|
||||||
@ -1,186 +1,171 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<BorlandProject>
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<PersonalityInfo>
|
<PropertyGroup>
|
||||||
<Option>
|
<ProjectGuid>{14a25028-ec1a-430c-ade3-13c264e9bac2}</ProjectGuid>
|
||||||
<Option Name="Personality">Delphi.Personality</Option>
|
<MainSource>ApplicationBase.dpk</MainSource>
|
||||||
<Option Name="ProjectType">VCLApplication</Option>
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
<Option Name="Version">1.0</Option>
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
<Option Name="GUID">{5A36DF18-A9B1-4D84-B46C-41D1522C62E2}</Option>
|
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
|
||||||
</Option>
|
<DCC_DependencyCheckOutputName>..\..\Output\Debug\Cliente\ApplicationBase.bpl</DCC_DependencyCheckOutputName>
|
||||||
</PersonalityInfo>
|
</PropertyGroup>
|
||||||
<Delphi.Personality>
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
<Source>
|
<Version>7.0</Version>
|
||||||
<Source Name="MainSource">ControlesBaseD10.dpk</Source>
|
<DCC_DebugInformation>False</DCC_DebugInformation>
|
||||||
</Source>
|
<DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
|
||||||
<FileVersion>
|
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
|
||||||
<FileVersion Name="Version">7.0</FileVersion>
|
<DCC_DcuOutput>.\</DCC_DcuOutput>
|
||||||
</FileVersion>
|
<DCC_ObjOutput>.\</DCC_ObjOutput>
|
||||||
<Compiler>
|
<DCC_HppOutput>.\</DCC_HppOutput>
|
||||||
<Compiler Name="A">8</Compiler>
|
<DCC_BplOutput>..\..\Output\Release\Cliente</DCC_BplOutput>
|
||||||
<Compiler Name="B">0</Compiler>
|
<DCC_DcpOutput>..\Lib</DCC_DcpOutput>
|
||||||
<Compiler Name="C">1</Compiler>
|
<DCC_UnitSearchPath>..\Lib</DCC_UnitSearchPath>
|
||||||
<Compiler Name="D">1</Compiler>
|
<DCC_ResourcePath>..\Lib</DCC_ResourcePath>
|
||||||
<Compiler Name="E">0</Compiler>
|
<DCC_ObjPath>..\Lib</DCC_ObjPath>
|
||||||
<Compiler Name="F">0</Compiler>
|
<DCC_IncludePath>..\Lib</DCC_IncludePath>
|
||||||
<Compiler Name="G">1</Compiler>
|
<DCC_Define>RELEASE</DCC_Define>
|
||||||
<Compiler Name="H">1</Compiler>
|
</PropertyGroup>
|
||||||
<Compiler Name="I">1</Compiler>
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
<Compiler Name="J">0</Compiler>
|
<Version>7.0</Version>
|
||||||
<Compiler Name="K">0</Compiler>
|
<DCC_DcuOutput>.\</DCC_DcuOutput>
|
||||||
<Compiler Name="L">1</Compiler>
|
<DCC_ObjOutput>.\</DCC_ObjOutput>
|
||||||
<Compiler Name="M">0</Compiler>
|
<DCC_HppOutput>.\</DCC_HppOutput>
|
||||||
<Compiler Name="N">1</Compiler>
|
<DCC_BplOutput>..\..\Output\Debug\Cliente</DCC_BplOutput>
|
||||||
<Compiler Name="O">0</Compiler>
|
<DCC_DcpOutput>..\Lib</DCC_DcpOutput>
|
||||||
<Compiler Name="P">1</Compiler>
|
<DCC_UnitSearchPath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10;T:\COMPON~1\jcl\lib\d11\debug;$(BDSCOMMONDIR)\Dcp;..\Lib</DCC_UnitSearchPath>
|
||||||
<Compiler Name="Q">0</Compiler>
|
<DCC_ResourcePath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10;T:\COMPON~1\jcl\lib\d11\debug;$(BDSCOMMONDIR)\Dcp;..\Lib</DCC_ResourcePath>
|
||||||
<Compiler Name="R">0</Compiler>
|
<DCC_ObjPath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10;T:\COMPON~1\jcl\lib\d11\debug;$(BDSCOMMONDIR)\Dcp;..\Lib</DCC_ObjPath>
|
||||||
<Compiler Name="S">0</Compiler>
|
<DCC_IncludePath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10;T:\COMPON~1\jcl\lib\d11\debug;$(BDSCOMMONDIR)\Dcp;..\Lib</DCC_IncludePath>
|
||||||
<Compiler Name="T">0</Compiler>
|
<DCC_Define>DEBUG</DCC_Define>
|
||||||
<Compiler Name="U">0</Compiler>
|
<DCC_Optimize>False</DCC_Optimize>
|
||||||
<Compiler Name="V">1</Compiler>
|
<DCC_GenerateStackFrames>True</DCC_GenerateStackFrames>
|
||||||
<Compiler Name="W">1</Compiler>
|
<DCC_DebugInfoInExe>True</DCC_DebugInfoInExe>
|
||||||
<Compiler Name="X">1</Compiler>
|
<DCC_DebugVN>True</DCC_DebugVN>
|
||||||
<Compiler Name="Y">1</Compiler>
|
</PropertyGroup>
|
||||||
<Compiler Name="Z">1</Compiler>
|
<ProjectExtensions>
|
||||||
<Compiler Name="ShowHints">True</Compiler>
|
<Borland.Personality>Delphi.Personality</Borland.Personality>
|
||||||
<Compiler Name="ShowWarnings">True</Compiler>
|
<Borland.ProjectType>Package</Borland.ProjectType>
|
||||||
<Compiler Name="UnitAliases">WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;</Compiler>
|
<BorlandProject>
|
||||||
<Compiler Name="NamespacePrefix"></Compiler>
|
<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">True</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
|
||||||
<Compiler Name="GenerateDocumentation">False</Compiler>
|
|
||||||
<Compiler Name="DefaultNamespace"></Compiler>
|
|
||||||
<Compiler Name="SymbolDeprecated">True</Compiler>
|
|
||||||
<Compiler Name="SymbolLibrary">True</Compiler>
|
|
||||||
<Compiler Name="SymbolPlatform">True</Compiler>
|
|
||||||
<Compiler Name="SymbolExperimental">True</Compiler>
|
|
||||||
<Compiler Name="UnitLibrary">True</Compiler>
|
|
||||||
<Compiler Name="UnitPlatform">True</Compiler>
|
|
||||||
<Compiler Name="UnitDeprecated">True</Compiler>
|
|
||||||
<Compiler Name="UnitExperimental">True</Compiler>
|
|
||||||
<Compiler Name="HResultCompat">True</Compiler>
|
|
||||||
<Compiler Name="HidingMember">True</Compiler>
|
|
||||||
<Compiler Name="HiddenVirtual">True</Compiler>
|
|
||||||
<Compiler Name="Garbage">True</Compiler>
|
|
||||||
<Compiler Name="BoundsError">True</Compiler>
|
|
||||||
<Compiler Name="ZeroNilCompat">True</Compiler>
|
|
||||||
<Compiler Name="StringConstTruncated">True</Compiler>
|
|
||||||
<Compiler Name="ForLoopVarVarPar">True</Compiler>
|
|
||||||
<Compiler Name="TypedConstVarPar">True</Compiler>
|
|
||||||
<Compiler Name="AsgToTypedConst">True</Compiler>
|
|
||||||
<Compiler Name="CaseLabelRange">True</Compiler>
|
|
||||||
<Compiler Name="ForVariable">True</Compiler>
|
<Excluded_Packages Name="$(BDS)\Bin\dclintraweb_90_100.bpl">VCL for the Web Design Package for CodeGear RAD Studio</Excluded_Packages>
|
||||||
<Compiler Name="ConstructingAbstract">True</Compiler>
|
<Excluded_Packages Name="$(BDS)\bin\dclwebsnap100.bpl">CodeGear WebSnap Components</Excluded_Packages>
|
||||||
<Compiler Name="ComparisonFalse">True</Compiler>
|
<Excluded_Packages Name="$(BDS)\bin\dclsoap100.bpl">CodeGear SOAP Components</Excluded_Packages>
|
||||||
<Compiler Name="ComparisonTrue">True</Compiler>
|
<Excluded_Packages Name="$(BDS)\bin\dclofficexp100.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||||
<Compiler Name="ComparingSignedUnsigned">True</Compiler>
|
<Excluded_Packages Name="$(BDS)\bin\dcloffice2k100.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||||
<Compiler Name="CombiningSignedUnsigned">True</Compiler>
|
<Excluded_Packages Name="$(BDS)\bin\bcboffice2k100.bpl">CodeGear C++Builder Office 2000 Servers Package</Excluded_Packages>
|
||||||
<Compiler Name="UnsupportedConstruct">True</Compiler>
|
<Excluded_Packages Name="$(BDS)\bin\bcbofficexp100.bpl">CodeGear C++Builder Office XP Servers Package</Excluded_Packages>
|
||||||
<Compiler Name="FileOpen">True</Compiler>
|
</Excluded_Packages><Source><Source Name="MainSource">ApplicationBase.dpk</Source></Source></Delphi.Personality><ModelSupport>False</ModelSupport></BorlandProject></BorlandProject>
|
||||||
<Compiler Name="FileOpenUnitSrc">True</Compiler>
|
</ProjectExtensions>
|
||||||
<Compiler Name="BadGlobalSymbol">True</Compiler>
|
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
|
||||||
<Compiler Name="DuplicateConstructorDestructor">True</Compiler>
|
<ItemGroup>
|
||||||
<Compiler Name="InvalidDirective">True</Compiler>
|
<DelphiCompile Include="ApplicationBase.dpk">
|
||||||
<Compiler Name="PackageNoLink">True</Compiler>
|
<MainSource>MainSource</MainSource>
|
||||||
<Compiler Name="PackageThreadVar">True</Compiler>
|
</DelphiCompile>
|
||||||
<Compiler Name="ImplicitImport">True</Compiler>
|
<DCCReference Include="C:\Documents and Settings\Usuario\Base.dcp" />
|
||||||
<Compiler Name="HPPEMITIgnored">True</Compiler>
|
<DCCReference Include="C:\Documents and Settings\Usuario\dbrtl.dcp" />
|
||||||
<Compiler Name="NoRetVal">True</Compiler>
|
<DCCReference Include="C:\Documents and Settings\Usuario\pckMD5.dcp" />
|
||||||
<Compiler Name="UseBeforeDef">True</Compiler>
|
<DCCReference Include="C:\Documents and Settings\Usuario\pckUserControl_RT.dcp" />
|
||||||
<Compiler Name="ForLoopVarUndef">True</Compiler>
|
<DCCReference Include="C:\Documents and Settings\Usuario\PluginSDK_D11R.dcp" />
|
||||||
<Compiler Name="UnitNameMismatch">True</Compiler>
|
<DCCReference Include="C:\Documents and Settings\Usuario\rtl.dcp" />
|
||||||
<Compiler Name="NoCFGFileFound">True</Compiler>
|
<DCCReference Include="C:\Documents and Settings\Usuario\vcl.dcp" />
|
||||||
<Compiler Name="ImplicitVariants">True</Compiler>
|
<DCCReference Include="Empresas\Data\uDataModuleEmpresas.pas">
|
||||||
<Compiler Name="UnicodeToLocale">True</Compiler>
|
<Form>DataModuleEmpresasObj</Form>
|
||||||
<Compiler Name="LocaleToUnicode">True</Compiler>
|
</DCCReference>
|
||||||
<Compiler Name="ImagebaseMultiple">True</Compiler>
|
<DCCReference Include="Empresas\Model\Data\uIDataModuleEmpresas.pas" />
|
||||||
<Compiler Name="SuspiciousTypecast">True</Compiler>
|
<DCCReference Include="Empresas\Model\schEmpresasClient_Intf.pas" />
|
||||||
<Compiler Name="PrivatePropAccessor">True</Compiler>
|
<DCCReference Include="Empresas\Model\schEmpresasServer_Intf.pas" />
|
||||||
<Compiler Name="UnsafeType">False</Compiler>
|
<DCCReference Include="Empresas\Model\uBizEmpresas.pas" />
|
||||||
<Compiler Name="UnsafeCode">False</Compiler>
|
<DCCReference Include="Empresas\Model\uBizEmpresasDatosBancarios.pas" />
|
||||||
<Compiler Name="UnsafeCast">False</Compiler>
|
<DCCReference Include="Empresas\Views\uEditorDatosBancariosEmpresa.pas" />
|
||||||
<Compiler Name="OptionTruncated">True</Compiler>
|
<DCCReference Include="Empresas\Views\uEditorEmpresa.pas" />
|
||||||
<Compiler Name="WideCharReduced">True</Compiler>
|
<DCCReference Include="Empresas\Views\uEmpresasViewRegister.pas" />
|
||||||
<Compiler Name="DuplicatesIgnored">True</Compiler>
|
<DCCReference Include="Empresas\Views\uViewDatosBancarios.pas" />
|
||||||
<Compiler Name="UnitInitSeq">True</Compiler>
|
<DCCReference Include="Empresas\Views\uViewEmpresa.pas" />
|
||||||
<Compiler Name="LocalPInvoke">True</Compiler>
|
<DCCReference Include="uAdminPV_App.pas" />
|
||||||
<Compiler Name="MessageDirective">True</Compiler>
|
<DCCReference Include="Usuarios\Controller\uUsuariosController.pas" />
|
||||||
<Compiler Name="CodePage"></Compiler>
|
<DCCReference Include="Usuarios\Controller\View\uIEditorLogin.pas" />
|
||||||
</Compiler>
|
<DCCReference Include="Usuarios\Controller\View\uIEditorPerfilesUsuario.pas" />
|
||||||
<Linker>
|
<DCCReference Include="Usuarios\Controller\View\uIEditorPerfilUsuario.pas" />
|
||||||
<Linker Name="MapFile">3</Linker>
|
<DCCReference Include="Usuarios\Controller\View\uIEditorUsuario.pas" />
|
||||||
<Linker Name="OutputObjs">0</Linker>
|
<DCCReference Include="Usuarios\Controller\View\uIEditorUsuarios.pas" />
|
||||||
<Linker Name="GenerateHpps">False</Linker>
|
<DCCReference Include="Usuarios\Data\uDataModuleUsuarios.pas">
|
||||||
<Linker Name="ConsoleApp">1</Linker>
|
<Form>DataModuleUsuarios</Form>
|
||||||
<Linker Name="DebugInfo">False</Linker>
|
</DCCReference>
|
||||||
<Linker Name="RemoteSymbols">False</Linker>
|
<DCCReference Include="Usuarios\Data\uUCROConn.pas" />
|
||||||
<Linker Name="GenerateDRC">False</Linker>
|
<DCCReference Include="Usuarios\Model\Data\uIDataModuleUsuarios.pas" />
|
||||||
<Linker Name="MinStackSize">16384</Linker>
|
<DCCReference Include="Usuarios\Model\schUsuariosClient_Intf.pas" />
|
||||||
<Linker Name="MaxStackSize">1048576</Linker>
|
<DCCReference Include="Usuarios\Model\schUsuariosServer_Intf.pas" />
|
||||||
<Linker Name="ImageBase">4194304</Linker>
|
<DCCReference Include="Usuarios\Model\uBizUsuarios.pas" />
|
||||||
<Linker Name="ExeDescription"></Linker>
|
<DCCReference Include="Usuarios\Views\uEditorCambiarPassword.pas">
|
||||||
</Linker>
|
<Form>fEditorCambiarPassword</Form>
|
||||||
<Directories>
|
</DCCReference>
|
||||||
<Directories Name="OutputDir"></Directories>
|
<DCCReference Include="Usuarios\Views\uEditorLogin.pas">
|
||||||
<Directories Name="UnitOutputDir">.\</Directories>
|
<Form>fEditorLogin</Form>
|
||||||
<Directories Name="PackageDLLOutputDir">..\..\Output\Debug\Cliente</Directories>
|
</DCCReference>
|
||||||
<Directories Name="PackageDCPOutputDir">..\Lib</Directories>
|
<DCCReference Include="Usuarios\Views\uEditorPerfilesUsuario.pas">
|
||||||
<Directories Name="SearchPath">..\Lib;..\Base</Directories>
|
<Form>fEditorPerfilesUsuario</Form>
|
||||||
<Directories Name="Packages">vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;dclOfficeXP;cxLibraryVCLD7;dxThemeD7;cxTreeListVCLD7;cxEditorsVCLD7;cxDataD7;cxExtEditorsVCLD7;cxGridVCLD7;cxPageControlVCLD7;cxSchedulerVCLD7;dxComnD7;dxsbD7;dxBarD7;dxBarDBNavD7;dxBarExtDBItemsD7;dxBarExtItemsD7;dxDockingD7;dxLayoutControlD7;dxNavBarD7;dxPSCoreD7;cxExportVCLD7;cxIntl5D7;cxIntlPrintSys3D7;cxIntlSchedulerD7;fsIBX7;fs7;fqb70;frx7;frxADO7;frxBDE7;frxcs7;frxDB7;frxDBX7;frxe7;frxIBX7;fsADO7;fsBDE7;fsDB7;cxVerticalGridVCLD7</Directories>
|
</DCCReference>
|
||||||
<Directories Name="Conditionals"></Directories>
|
<DCCReference Include="Usuarios\Views\uEditorPerfilUsuario.pas">
|
||||||
<Directories Name="DebugSourceDirs"></Directories>
|
<Form>fEditorPerfilUsuario</Form>
|
||||||
<Directories Name="UsePackages">False</Directories>
|
</DCCReference>
|
||||||
</Directories>
|
<DCCReference Include="Usuarios\Views\uEditorPermisosUsuario.pas">
|
||||||
<Parameters>
|
<Form>fEditorPermisosUsuario</Form>
|
||||||
<Parameters Name="RunParams"></Parameters>
|
</DCCReference>
|
||||||
<Parameters Name="HostApplication"></Parameters>
|
<DCCReference Include="Usuarios\Views\uEditorUsuario.pas">
|
||||||
<Parameters Name="Launcher"></Parameters>
|
<Form>fEditorUsuario</Form>
|
||||||
<Parameters Name="UseLauncher">False</Parameters>
|
<DesignClass>TFrame</DesignClass>
|
||||||
<Parameters Name="DebugCWD"></Parameters>
|
</DCCReference>
|
||||||
<Parameters Name="Debug Symbols Search Path"></Parameters>
|
<DCCReference Include="Usuarios\Views\uEditorUsuarios.pas">
|
||||||
<Parameters Name="LoadAllSymbols">True</Parameters>
|
<Form>fEditorUsuarios</Form>
|
||||||
<Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
|
</DCCReference>
|
||||||
</Parameters>
|
<DCCReference Include="Usuarios\Views\uUsuariosViewRegister.pas" />
|
||||||
<Language>
|
<DCCReference Include="Usuarios\Views\uViewPerfilesUsuario.pas">
|
||||||
<Language Name="ActiveLang"></Language>
|
<Form>frViewPerfilesUsuario</Form>
|
||||||
<Language Name="ProjectLang">$00000000</Language>
|
<DesignClass>TFrame</DesignClass>
|
||||||
<Language Name="RootDir">C:\Archivos de programa\Borland\Delphi7\Bin\</Language>
|
</DCCReference>
|
||||||
</Language>
|
<DCCReference Include="Usuarios\Views\uViewPerfilUsuario.pas">
|
||||||
<VersionInfo>
|
<Form>frViewPerfilUsuario</Form>
|
||||||
<VersionInfo Name="IncludeVerInfo">True</VersionInfo>
|
<DesignClass>TFrame</DesignClass>
|
||||||
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
|
</DCCReference>
|
||||||
<VersionInfo Name="MajorVer">1</VersionInfo>
|
<DCCReference Include="Usuarios\Views\uViewUsuario.pas">
|
||||||
<VersionInfo Name="MinorVer">0</VersionInfo>
|
<Form>frViewUsuario</Form>
|
||||||
<VersionInfo Name="Release">3</VersionInfo>
|
<DesignClass>TFrame</DesignClass>
|
||||||
<VersionInfo Name="Build">0</VersionInfo>
|
</DCCReference>
|
||||||
<VersionInfo Name="Debug">False</VersionInfo>
|
<DCCReference Include="Usuarios\Views\uViewUsuarios.pas">
|
||||||
<VersionInfo Name="PreRelease">False</VersionInfo>
|
<Form>frViewUsuarios</Form>
|
||||||
<VersionInfo Name="Special">False</VersionInfo>
|
<DesignClass>TFrame</DesignClass>
|
||||||
<VersionInfo Name="Private">False</VersionInfo>
|
</DCCReference>
|
||||||
<VersionInfo Name="DLL">False</VersionInfo>
|
</ItemGroup>
|
||||||
<VersionInfo Name="Locale">3082</VersionInfo>
|
</Project>
|
||||||
<VersionInfo Name="CodePage">1252</VersionInfo>
|
|
||||||
</VersionInfo>
|
|
||||||
<VersionInfoKeys>
|
|
||||||
<VersionInfoKeys Name="CompanyName"></VersionInfoKeys>
|
|
||||||
<VersionInfoKeys Name="FileDescription"></VersionInfoKeys>
|
|
||||||
<VersionInfoKeys Name="FileVersion">1.0.3.0</VersionInfoKeys>
|
|
||||||
<VersionInfoKeys Name="InternalName"></VersionInfoKeys>
|
|
||||||
<VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys>
|
|
||||||
<VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
|
|
||||||
<VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys>
|
|
||||||
<VersionInfoKeys Name="ProductName"></VersionInfoKeys>
|
|
||||||
<VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
|
|
||||||
<VersionInfoKeys Name="Comments"></VersionInfoKeys>
|
|
||||||
</VersionInfoKeys>
|
|
||||||
</Delphi.Personality>
|
|
||||||
<!-- EurekaLog First Line
|
<!-- EurekaLog First Line
|
||||||
[Exception Log]
|
[Exception Log]
|
||||||
EurekaLog Version=6006
|
EurekaLog Version=6006
|
||||||
Activate=1
|
Activate=0
|
||||||
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=1
|
Freeze Timeout=0
|
||||||
SMTP From=eurekalog@email.com
|
SMTP From=eurekalog@email.com
|
||||||
SMTP Host=
|
SMTP Host=
|
||||||
SMTP Port=25
|
SMTP Port=25
|
||||||
@ -327,7 +312,7 @@ boSaveCompressedCopyInCaseOfError=0
|
|||||||
boHandleSafeCallExceptions=1
|
boHandleSafeCallExceptions=1
|
||||||
boCallRTLExceptionEvent=0
|
boCallRTLExceptionEvent=0
|
||||||
boCatchHandledExceptions=0
|
boCatchHandledExceptions=0
|
||||||
loCatchLeaks=1
|
loCatchLeaks=0
|
||||||
loGroupsSonLeaks=1
|
loGroupsSonLeaks=1
|
||||||
loHideBorlandLeaks=1
|
loHideBorlandLeaks=1
|
||||||
loFreeAllLeaks=1
|
loFreeAllLeaks=1
|
||||||
@ -655,4 +640,3 @@ Count mtInvalidEmailMsg=1
|
|||||||
mtInvalidEmailMsg0="Invalid email."
|
mtInvalidEmailMsg0="Invalid email."
|
||||||
TextsCollection=
|
TextsCollection=
|
||||||
EurekaLog Last Line -->
|
EurekaLog Last Line -->
|
||||||
</BorlandProject>
|
|
||||||
22
Source/ApplicationBase/ApplicationBase.rc
Normal file
22
Source/ApplicationBase/ApplicationBase.rc
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
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
|
||||||
Binary file not shown.
@ -0,0 +1,22 @@
|
|||||||
|
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.
|
||||||
@ -0,0 +1,23 @@
|
|||||||
|
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.
|
||||||
@ -0,0 +1,23 @@
|
|||||||
|
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.
|
||||||
@ -0,0 +1,22 @@
|
|||||||
|
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.
|
||||||
@ -0,0 +1,23 @@
|
|||||||
|
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.
|
||||||
@ -0,0 +1,287 @@
|
|||||||
|
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.
|
||||||
1103
Source/ApplicationBase/Usuarios/Controller/uUsuariosController.pas
Normal file
1103
Source/ApplicationBase/Usuarios/Controller/uUsuariosController.pas
Normal file
File diff suppressed because it is too large
Load Diff
426
Source/ApplicationBase/Usuarios/Data/uDataModuleUsuarios.dfm
Normal file
426
Source/ApplicationBase/Usuarios/Data/uDataModuleUsuarios.dfm
Normal file
@ -0,0 +1,426 @@
|
|||||||
|
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
|
||||||
465
Source/ApplicationBase/Usuarios/Data/uDataModuleUsuarios.pas
Normal file
465
Source/ApplicationBase/Usuarios/Data/uDataModuleUsuarios.pas
Normal file
@ -0,0 +1,465 @@
|
|||||||
|
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.
|
||||||
224
Source/ApplicationBase/Usuarios/Data/uUCROConn.pas
Normal file
224
Source/ApplicationBase/Usuarios/Data/uUCROConn.pas
Normal file
@ -0,0 +1,224 @@
|
|||||||
|
{-----------------------------------------------------------------------------
|
||||||
|
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.
|
||||||
|
|
||||||
@ -0,0 +1,25 @@
|
|||||||
|
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.
|
||||||
|
|
||||||
1716
Source/ApplicationBase/Usuarios/Model/schUsuariosClient_Intf.pas
Normal file
1716
Source/ApplicationBase/Usuarios/Model/schUsuariosClient_Intf.pas
Normal file
File diff suppressed because it is too large
Load Diff
2009
Source/ApplicationBase/Usuarios/Model/schUsuariosServer_Intf.pas
Normal file
2009
Source/ApplicationBase/Usuarios/Model/schUsuariosServer_Intf.pas
Normal file
File diff suppressed because it is too large
Load Diff
90
Source/ApplicationBase/Usuarios/Model/uBizUsuarios.pas
Normal file
90
Source/ApplicationBase/Usuarios/Model/uBizUsuarios.pas
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
600
Source/ApplicationBase/Usuarios/Servidor/srvUsuarios_Impl.dfm
Normal file
600
Source/ApplicationBase/Usuarios/Servidor/srvUsuarios_Impl.dfm
Normal file
@ -0,0 +1,600 @@
|
|||||||
|
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
|
||||||
@ -0,0 +1,65 @@
|
|||||||
|
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.
|
||||||
67
Source/ApplicationBase/Usuarios/Usuarios.dpk
Normal file
67
Source/ApplicationBase/Usuarios/Usuarios.dpk
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
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.
|
||||||
@ -1,4 +1,5 @@
|
|||||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ProjectGuid>{c2514fab-bd64-47eb-ac2d-4b0b5460f98f}</ProjectGuid>
|
<ProjectGuid>{c2514fab-bd64-47eb-ac2d-4b0b5460f98f}</ProjectGuid>
|
||||||
<MainSource>Usuarios.dpk</MainSource>
|
<MainSource>Usuarios.dpk</MainSource>
|
||||||
@ -57,34 +58,40 @@
|
|||||||
<DelphiCompile Include="Usuarios.dpk">
|
<DelphiCompile Include="Usuarios.dpk">
|
||||||
<MainSource>MainSource</MainSource>
|
<MainSource>MainSource</MainSource>
|
||||||
</DelphiCompile>
|
</DelphiCompile>
|
||||||
<DCCReference Include="C:\Documents and Settings\Usuario\adortl.dcp" />
|
<DCCReference Include="Controller\uPerfilesUsuarioController.pas" />
|
||||||
<DCCReference Include="C:\Documents and Settings\Usuario\BaseD10.dcp" />
|
<DCCReference Include="Controller\uUsuariosController.pas" />
|
||||||
<DCCReference Include="C:\Documents and Settings\Usuario\dbrtl.dcp" />
|
<DCCReference Include="Controller\View\uIEditorLogin.pas" />
|
||||||
<DCCReference Include="C:\Documents and Settings\Usuario\dsnap.dcp" />
|
<DCCReference Include="Controller\View\uIEditorPerfilesUsuario.pas" />
|
||||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvMMD10R.dcp" />
|
<DCCReference Include="Controller\View\uIEditorPerfilUsuario.pas" />
|
||||||
<DCCReference Include="C:\Documents and Settings\Usuario\PngComponentsD10.dcp" />
|
<DCCReference Include="Controller\View\uIEditorUsuario.pas" />
|
||||||
<DCCReference Include="C:\Documents and Settings\Usuario\PNG_D10.dcp" />
|
<DCCReference Include="Controller\View\uIEditorUsuarios.pas" />
|
||||||
<DCCReference Include="C:\Documents and Settings\Usuario\rtl.dcp" />
|
<DCCReference Include="Data\uDataModuleUsuarios.pas" />
|
||||||
<DCCReference Include="C:\Documents and Settings\Usuario\vcl.dcp" />
|
<DCCReference Include="Data\uUCROConn.pas" />
|
||||||
<DCCReference Include="C:\Documents and Settings\Usuario\vclactnband.dcp" />
|
<DCCReference Include="Model\BaseD10.dcp" />
|
||||||
<DCCReference Include="C:\Documents and Settings\Usuario\vcldb.dcp" />
|
<DCCReference Include="Model\Data\uIDataModuleUsuarios.pas" />
|
||||||
<DCCReference Include="C:\Documents and Settings\Usuario\vcljpg.dcp" />
|
<DCCReference Include="Model\PngComponentsD10.dcp" />
|
||||||
<DCCReference Include="C:\Documents and Settings\Usuario\vclx.dcp" />
|
<DCCReference Include="Model\PNG_D10.dcp" />
|
||||||
<DCCReference Include="uCambiarPassword.pas">
|
<DCCReference Include="Model\schUsuariosClient_Intf.pas" />
|
||||||
<Form>fCambiarPassword</Form>
|
<DCCReference Include="Model\schUsuariosServer_Intf.pas" />
|
||||||
</DCCReference>
|
<DCCReference Include="Model\uBizUsuarios.pas" />
|
||||||
<DCCReference Include="uDataModuleUsuarios.pas">
|
<DCCReference Include="Model\vcl.dcp" />
|
||||||
<Form>dmUsuarios</Form>
|
<DCCReference Include="Model\vclactnband.dcp" />
|
||||||
</DCCReference>
|
<DCCReference Include="Model\vcldb.dcp" />
|
||||||
<DCCReference Include="uLoginForm.pas">
|
<DCCReference Include="Model\vcljpg.dcp" />
|
||||||
<Form>fLoginForm</Form>
|
<DCCReference Include="Model\vclx.dcp" />
|
||||||
</DCCReference>
|
<DCCReference Include="Views\uEditorCambiarPassword.pas" />
|
||||||
<DCCReference Include="uUsuario.pas">
|
<DCCReference Include="Views\uEditorLogin.pas" />
|
||||||
<Form>fUsuario</Form>
|
<DCCReference Include="Views\uEditorPerfilesUsuario.pas" />
|
||||||
</DCCReference>
|
<DCCReference Include="Views\uEditorPerfilUsuario.pas" />
|
||||||
<DCCReference Include="uUsuarios.pas">
|
<DCCReference Include="Views\uEditorUsuario.pas" />
|
||||||
<Form>fUsuarios</Form>
|
<DCCReference Include="Views\uEditorUsuarios.pas" />
|
||||||
</DCCReference>
|
<DCCReference Include="Views\uUsuario.pas" />
|
||||||
|
<DCCReference Include="Views\uUsuarios.pas" />
|
||||||
|
<DCCReference Include="Views\uUsuariosViewRegister.pas" />
|
||||||
|
<DCCReference Include="Views\uViewPerfilesUsuario.pas" />
|
||||||
|
<DCCReference Include="Views\uViewPerfilUsuario.pas" />
|
||||||
|
<DCCReference Include="Views\uViewUsuario.pas" />
|
||||||
|
<DCCReference Include="Views\uViewUsuarios.pas" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
<!-- EurekaLog First Line
|
<!-- EurekaLog First Line
|
||||||
BIN
Source/ApplicationBase/Usuarios/Usuarios.res
Normal file
BIN
Source/ApplicationBase/Usuarios/Usuarios.res
Normal file
Binary file not shown.
123
Source/ApplicationBase/Usuarios/Views/uEditorCambiarPassword.dfm
Normal file
123
Source/ApplicationBase/Usuarios/Views/uEditorCambiarPassword.dfm
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
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
|
||||||
101
Source/ApplicationBase/Usuarios/Views/uEditorCambiarPassword.pas
Normal file
101
Source/ApplicationBase/Usuarios/Views/uEditorCambiarPassword.pas
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
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.
|
||||||
1101
Source/ApplicationBase/Usuarios/Views/uEditorLogin.dfm
Normal file
1101
Source/ApplicationBase/Usuarios/Views/uEditorLogin.dfm
Normal file
File diff suppressed because it is too large
Load Diff
140
Source/ApplicationBase/Usuarios/Views/uEditorLogin.pas
Normal file
140
Source/ApplicationBase/Usuarios/Views/uEditorLogin.pas
Normal file
@ -0,0 +1,140 @@
|
|||||||
|
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.
|
||||||
@ -0,0 +1,49 @@
|
|||||||
|
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
|
||||||
234
Source/ApplicationBase/Usuarios/Views/uEditorPerfilUsuario.pas
Normal file
234
Source/ApplicationBase/Usuarios/Views/uEditorPerfilUsuario.pas
Normal file
@ -0,0 +1,234 @@
|
|||||||
|
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.
|
||||||
@ -0,0 +1,59 @@
|
|||||||
|
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
|
||||||
199
Source/ApplicationBase/Usuarios/Views/uEditorPerfilesUsuario.pas
Normal file
199
Source/ApplicationBase/Usuarios/Views/uEditorPerfilesUsuario.pas
Normal file
@ -0,0 +1,199 @@
|
|||||||
|
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.
|
||||||
425
Source/ApplicationBase/Usuarios/Views/uEditorPermisosUsuario.dfm
Normal file
425
Source/ApplicationBase/Usuarios/Views/uEditorPermisosUsuario.dfm
Normal file
@ -0,0 +1,425 @@
|
|||||||
|
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
|
||||||
700
Source/ApplicationBase/Usuarios/Views/uEditorPermisosUsuario.pas
Normal file
700
Source/ApplicationBase/Usuarios/Views/uEditorPermisosUsuario.pas
Normal file
@ -0,0 +1,700 @@
|
|||||||
|
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.
|
||||||
|
|
||||||
139
Source/ApplicationBase/Usuarios/Views/uEditorUsuario.dfm
Normal file
139
Source/ApplicationBase/Usuarios/Views/uEditorUsuario.dfm
Normal file
@ -0,0 +1,139 @@
|
|||||||
|
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
|
||||||
301
Source/ApplicationBase/Usuarios/Views/uEditorUsuario.pas
Normal file
301
Source/ApplicationBase/Usuarios/Views/uEditorUsuario.pas
Normal file
@ -0,0 +1,301 @@
|
|||||||
|
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.
|
||||||
92
Source/ApplicationBase/Usuarios/Views/uEditorUsuarios.dfm
Normal file
92
Source/ApplicationBase/Usuarios/Views/uEditorUsuarios.dfm
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
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
|
||||||
259
Source/ApplicationBase/Usuarios/Views/uEditorUsuarios.pas
Normal file
259
Source/ApplicationBase/Usuarios/Views/uEditorUsuarios.pas
Normal file
@ -0,0 +1,259 @@
|
|||||||
|
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.
|
||||||
@ -36,7 +36,7 @@ object fUsuarios: TfUsuarios
|
|||||||
Align = alTop
|
Align = alTop
|
||||||
Caption = 'Panel de control'
|
Caption = 'Panel de control'
|
||||||
Font.Charset = DEFAULT_CHARSET
|
Font.Charset = DEFAULT_CHARSET
|
||||||
Font.Color = clWhite
|
Font.Color = clWindow
|
||||||
Font.Height = -16
|
Font.Height = -16
|
||||||
Font.Name = 'Arial'
|
Font.Name = 'Arial'
|
||||||
Font.Style = [fsBold]
|
Font.Style = [fsBold]
|
||||||
@ -88,7 +88,6 @@ object fUsuarios: TfUsuarios
|
|||||||
TabOrder = 6
|
TabOrder = 6
|
||||||
end
|
end
|
||||||
object DADataSource: TDADataSource
|
object DADataSource: TDADataSource
|
||||||
DataTable = dmUsuarios.tbl_Usuarios
|
|
||||||
Left = 368
|
Left = 368
|
||||||
Top = 40
|
Top = 40
|
||||||
end
|
end
|
||||||
@ -5,8 +5,8 @@ interface
|
|||||||
uses
|
uses
|
||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
Dialogs, DB, uDADataTable, dbcgrids, uDataModuleUsuarios, StdCtrls,
|
Dialogs, DB, uDADataTable, dbcgrids, uDataModuleUsuarios, StdCtrls,
|
||||||
DBCtrls, uDataModuleBase, JvExControls, JvComponent, JvNavigationPane,
|
DBCtrls, JvExControls, JvComponent, JvNavigationPane,
|
||||||
Grids, DBGrids, ActnList;
|
Grids, DBGrids, ActnList, uDAInterfaces;
|
||||||
|
|
||||||
type
|
type
|
||||||
TfUsuarios = class(TForm)
|
TfUsuarios = class(TForm)
|
||||||
@ -62,8 +62,8 @@ end;
|
|||||||
|
|
||||||
procedure TfUsuarios.FormCreate(Sender: TObject);
|
procedure TfUsuarios.FormCreate(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
DADataSource.DataTable := dmUsuarios.tbl_Usuarios;
|
{ DADataSource.DataTable := dmUsuarios.tbl_Usuarios;
|
||||||
DADataSource.DataTable.Active := True;
|
DADataSource.DataTable.Active := True;}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TfUsuarios.actEliminarUpdate(Sender: TObject);
|
procedure TfUsuarios.actEliminarUpdate(Sender: TObject);
|
||||||
@ -0,0 +1,35 @@
|
|||||||
|
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.
|
||||||
68
Source/ApplicationBase/Usuarios/Views/uViewPerfilUsuario.dfm
Normal file
68
Source/ApplicationBase/Usuarios/Views/uViewPerfilUsuario.dfm
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
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
|
||||||
82
Source/ApplicationBase/Usuarios/Views/uViewPerfilUsuario.pas
Normal file
82
Source/ApplicationBase/Usuarios/Views/uViewPerfilUsuario.pas
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
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.
|
||||||
@ -0,0 +1,38 @@
|
|||||||
|
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
|
||||||
@ -0,0 +1,56 @@
|
|||||||
|
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.
|
||||||
300
Source/ApplicationBase/Usuarios/Views/uViewUsuario.dfm
Normal file
300
Source/ApplicationBase/Usuarios/Views/uViewUsuario.dfm
Normal file
@ -0,0 +1,300 @@
|
|||||||
|
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
|
||||||
210
Source/ApplicationBase/Usuarios/Views/uViewUsuario.pas
Normal file
210
Source/ApplicationBase/Usuarios/Views/uViewUsuario.pas
Normal file
@ -0,0 +1,210 @@
|
|||||||
|
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.
|
||||||
70
Source/ApplicationBase/Usuarios/Views/uViewUsuarios.dfm
Normal file
70
Source/ApplicationBase/Usuarios/Views/uViewUsuarios.dfm
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
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
|
||||||
64
Source/ApplicationBase/Usuarios/Views/uViewUsuarios.pas
Normal file
64
Source/ApplicationBase/Usuarios/Views/uViewUsuarios.pas
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
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.
|
||||||
335
Source/ApplicationBase/uAdminPV_App.pas
Normal file
335
Source/ApplicationBase/uAdminPV_App.pas
Normal file
@ -0,0 +1,335 @@
|
|||||||
|
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.
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package BaseD10;
|
package Base;
|
||||||
|
|
||||||
{$R *.res}
|
{$R *.res}
|
||||||
{$ALIGN 8}
|
{$ALIGN 8}
|
||||||
@ -30,15 +30,15 @@ requires
|
|||||||
rtl,
|
rtl,
|
||||||
vcl,
|
vcl,
|
||||||
vcldb,
|
vcldb,
|
||||||
GUISDK_D10,
|
GUISDK_D11,
|
||||||
vcljpg,
|
vcljpg,
|
||||||
dbrtl,
|
dbrtl,
|
||||||
dsnap,
|
dsnap,
|
||||||
PNG_D10,
|
PNG_D10,
|
||||||
PngComponentsD10,
|
PngComponentsD10,
|
||||||
JvCoreD10R,
|
JvCoreD11R,
|
||||||
JvStdCtrlsD10R,
|
JvStdCtrlsD11R,
|
||||||
JvPageCompsD10R,
|
JvPageCompsD11R,
|
||||||
cxLibraryD10,
|
cxLibraryD10,
|
||||||
dxThemeD10,
|
dxThemeD10,
|
||||||
cxEditorsD10,
|
cxEditorsD10,
|
||||||
@ -53,7 +53,7 @@ requires
|
|||||||
designide,
|
designide,
|
||||||
cxExportD10,
|
cxExportD10,
|
||||||
adortl,
|
adortl,
|
||||||
JvSystemD10R,
|
JvSystemD11R,
|
||||||
dxPSCoreD10,
|
dxPSCoreD10,
|
||||||
dxPScxCommonD10,
|
dxPScxCommonD10,
|
||||||
dxPScxGridLnkD10,
|
dxPScxGridLnkD10,
|
||||||
@ -62,9 +62,8 @@ requires
|
|||||||
dxBarExtItemsD10,
|
dxBarExtItemsD10,
|
||||||
cxIntl5D10,
|
cxIntl5D10,
|
||||||
dxPsPrVwAdvD10,
|
dxPsPrVwAdvD10,
|
||||||
ccpack10,
|
JvMMD11R,
|
||||||
JvMMD10R,
|
JvCtrlsD11R,
|
||||||
JvCtrlsD10R,
|
|
||||||
tee,
|
tee,
|
||||||
frx10,
|
frx10,
|
||||||
fs10,
|
fs10,
|
||||||
@ -73,20 +72,19 @@ requires
|
|||||||
dxComnD10,
|
dxComnD10,
|
||||||
Jcl,
|
Jcl,
|
||||||
JclVcl,
|
JclVcl,
|
||||||
JvAppFrmD10R,
|
JvAppFrmD11R,
|
||||||
dxPSLnksD10,
|
dxPSLnksD10,
|
||||||
vclshlctrls,
|
vclshlctrls,
|
||||||
dclcxLibraryD10,
|
dclcxLibraryD10,
|
||||||
RemObjects_Core_D10,
|
RemObjects_Core_D11,
|
||||||
DataAbstract_Core_D10;
|
DataAbstract_Core_D11,
|
||||||
|
JSDialog100;
|
||||||
|
|
||||||
contains
|
contains
|
||||||
uDataModuleBase in 'uDataModuleBase.pas' {dmBase: TDAClientDataModule},
|
uDMBase in 'uDMBase.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},
|
||||||
@ -95,15 +93,24 @@ 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},
|
||||||
uIntegerList in 'uIntegerList.pas',
|
VARELA_Intf in '..\Servicios\VARELA_Intf.pas',
|
||||||
schStockClient_Intf in '..\Modulos\Stock\Reglas\schStockClient_Intf.pas',
|
uControllerBase in 'Controladores\uControllerBase.pas',
|
||||||
schStockServer_Intf in '..\Modulos\Stock\Reglas\schStockServer_Intf.pas',
|
uDataModuleBase in 'uDataModuleBase.pas' {fDataModuleBase: TDataModuleBase},
|
||||||
uGridUtils in 'uGridUtils.pas';
|
uSysFunc in 'Utiles\uSysFunc.pas',
|
||||||
|
uDataTableUtils in 'Utiles\uDataTableUtils.pas',
|
||||||
|
uDBSelectionList in 'Utiles\uDBSelectionList.pas',
|
||||||
|
uDialogUtils in 'Utiles\uDialogUtils.pas',
|
||||||
|
uEditorUtils in 'Utiles\uEditorUtils.pas',
|
||||||
|
uGridUtils in 'Utiles\uGridUtils.pas',
|
||||||
|
uIntegerList in 'Utiles\uIntegerList.pas',
|
||||||
|
uViewRegistryUtils in 'ClassRegistry\uViewRegistryUtils.pas',
|
||||||
|
uClassRegistryUtils in 'ClassRegistry\uClassRegistryUtils.pas',
|
||||||
|
uEditorRegistryUtils in 'ClassRegistry\uEditorRegistryUtils.pas',
|
||||||
|
uInformeRegistryUtils in 'ClassRegistry\uInformeRegistryUtils.pas',
|
||||||
|
uAppInfoUtils in 'Utiles\uAppInfoUtils.pas',
|
||||||
|
uDateUtils in 'Utiles\uDateUtils.pas';
|
||||||
|
|
||||||
end.
|
end.
|
||||||
@ -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>BaseD10.dpk</MainSource>
|
<MainSource>Base.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\BaseD10.bpl</DCC_DependencyCheckOutputName>
|
<DCC_DependencyCheckOutputName>..\..\Output\Debug\Cliente\Base.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,24 +40,27 @@
|
|||||||
<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">BaseD10.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
|
</Excluded_Packages><Source><Source Name="MainSource">Base.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="BaseD10.dpk">
|
<DelphiCompile Include="Base.dpk">
|
||||||
<MainSource>MainSource</MainSource>
|
<MainSource>MainSource</MainSource>
|
||||||
</DelphiCompile>
|
</DelphiCompile>
|
||||||
<DCCReference Include="..\Modulos\Stock\Reglas\schStockClient_Intf.pas" />
|
<DCCReference Include="..\Servicios\VARELA_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" />
|
||||||
@ -67,7 +70,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_D10.dcp" />
|
<DCCReference Include="C:\Documents and Settings\Usuario\DataAbstract_Core_D11.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" />
|
||||||
@ -84,50 +87,58 @@
|
|||||||
<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\fsTee10.dcp" />
|
<DCCReference Include="C:\Documents and Settings\Usuario\GUISDK_D11.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\JvAppFrmD10R.dcp" />
|
<DCCReference Include="C:\Documents and Settings\Usuario\JSDialog100.dcp" />
|
||||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvCoreD10R.dcp" />
|
<DCCReference Include="C:\Documents and Settings\Usuario\JvAppFrmD11R.dcp" />
|
||||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvCtrlsD10R.dcp" />
|
<DCCReference Include="C:\Documents and Settings\Usuario\JvCoreD11R.dcp" />
|
||||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvMMD10R.dcp" />
|
<DCCReference Include="C:\Documents and Settings\Usuario\JvCtrlsD11R.dcp" />
|
||||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvPageCompsD10R.dcp" />
|
<DCCReference Include="C:\Documents and Settings\Usuario\JvMMD11R.dcp" />
|
||||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvStdCtrlsD10R.dcp" />
|
<DCCReference Include="C:\Documents and Settings\Usuario\JvPageCompsD11R.dcp" />
|
||||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvSystemD10R.dcp" />
|
<DCCReference Include="C:\Documents and Settings\Usuario\JvStdCtrlsD11R.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\JvSystemD11R.dcp" />
|
||||||
<DCCReference Include="C:\Documents and Settings\Usuario\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_D10.dcp" />
|
<DCCReference Include="C:\Documents and Settings\Usuario\RemObjects_Core_D11.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>dmBase</Form>
|
<Form>fDataModuleBase</Form>
|
||||||
|
<DesignClass>TDataModuleBase</DesignClass>
|
||||||
|
</DCCReference>
|
||||||
|
<DCCReference Include="uDMBase.pas">
|
||||||
|
<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>
|
||||||
@ -138,25 +149,35 @@
|
|||||||
<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="uGridUtils.pas" />
|
<DCCReference Include="Utiles\uAppInfoUtils.pas" />
|
||||||
<DCCReference Include="uIntegerList.pas" />
|
<DCCReference Include="Utiles\uDataTableUtils.pas" />
|
||||||
<DCCReference Include="uSysFunc.pas" />
|
<DCCReference Include="Utiles\uDateUtils.pas" />
|
||||||
|
<DCCReference Include="Utiles\uDBSelectionList.pas" />
|
||||||
|
<DCCReference Include="Utiles\uDialogUtils.pas" />
|
||||||
|
<DCCReference Include="Utiles\uEditorUtils.pas" />
|
||||||
|
<DCCReference Include="Utiles\uGridUtils.pas" />
|
||||||
|
<DCCReference Include="Utiles\uIntegerList.pas" />
|
||||||
|
<DCCReference Include="Utiles\uSysFunc.pas" />
|
||||||
<DCCReference Include="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>
|
||||||
@ -8,14 +8,17 @@
|
|||||||
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\uDataModuleBase.dfm */
|
/* C:\Varela_D2007\Source\Base\uDMBase.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 */
|
||||||
@ -25,5 +28,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\BaseD10.res */
|
/* C:\Varela_D2007\Source\Base\Base.res */
|
||||||
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf9.tmp */
|
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf2C.tmp */
|
||||||
Binary file not shown.
336
Source/Base/ClassRegistry/uClassRegistryUtils.pas
Normal file
336
Source/Base/ClassRegistry/uClassRegistryUtils.pas
Normal file
@ -0,0 +1,336 @@
|
|||||||
|
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.
|
||||||
81
Source/Base/ClassRegistry/uEditorRegistryUtils.pas
Normal file
81
Source/Base/ClassRegistry/uEditorRegistryUtils.pas
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
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.
|
||||||
59
Source/Base/ClassRegistry/uInformeRegistryUtils.pas
Normal file
59
Source/Base/ClassRegistry/uInformeRegistryUtils.pas
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
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.
|
||||||
50
Source/Base/ClassRegistry/uViewRegistryUtils.pas
Normal file
50
Source/Base/ClassRegistry/uViewRegistryUtils.pas
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
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.
|
||||||
280
Source/Base/Controladores/uControllerBase.pas
Normal file
280
Source/Base/Controladores/uControllerBase.pas
Normal file
@ -0,0 +1,280 @@
|
|||||||
|
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.
|
||||||
52
Source/Base/Utiles/uAppInfoUtils.pas
Normal file
52
Source/Base/Utiles/uAppInfoUtils.pas
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
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.
|
||||||
@ -3,22 +3,27 @@ unit uDataTableUtils;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
uDACDSDataTable, uDADataTable, uDAInterfaces, uDADelta;
|
uDACDSDataTable, uDADataTable, uDAInterfaces, uDADelta, uDAMemDataTable;
|
||||||
|
|
||||||
procedure CloneDataTable(const ASource : TDACDSDataTable;
|
procedure CloneDataTable(const ASource : TDACDSDataTable;
|
||||||
var ATarget : TDACDSDataTable;
|
var ATarget : TDACDSDataTable;
|
||||||
RemoteUpdate: Boolean = True);
|
RemoteUpdate: Boolean = True); overload;
|
||||||
|
|
||||||
|
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
|
||||||
uDAClasses, SysUtils, uDABINAdapter, uROTypes, uDBSelectionList, cxControls,
|
DB, Classes, uDAClasses, SysUtils, uDABINAdapter, uROTypes, uDBSelectionList,
|
||||||
Dialogs, Variants, uDADataStreamer;
|
cxControls, Dialogs, Variants, uDADataStreamer;
|
||||||
|
|
||||||
|
|
||||||
{procedure EliminarNoSeleccionados(const ASource : IDADataset;
|
{procedure EliminarNoSeleccionados(const ASource : IDADataset;
|
||||||
@ -144,6 +149,80 @@ 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
|
||||||
@ -194,131 +273,36 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
end.
|
function DataTableModified (const ADataTable : TDADataTable): Boolean;
|
||||||
|
|
||||||
procedure CloneDataTable(const ASource : TDACDSDataTable;
|
|
||||||
var ATarget : TDACDSDataTable; RemoteUpdate: Boolean);
|
|
||||||
var
|
var
|
||||||
i : Integer;
|
bCambiado : Boolean;
|
||||||
|
dtDetails : TList;
|
||||||
|
i : integer;
|
||||||
begin
|
begin
|
||||||
with ATarget do
|
bCambiado := False;
|
||||||
|
|
||||||
|
if Assigned(ADataTable) and (ADataTable.Active) then
|
||||||
begin
|
begin
|
||||||
// ****** Inicio migración DA 5
|
bCambiado :=(ADataTable.State = dsEdit) or
|
||||||
|
(ADataTable.HasDelta and DeltaValuesAreDifferent(ADataTable.Delta));
|
||||||
|
|
||||||
//RemoteService := ASource.GetRemoteService;
|
if (not bCambiado) then
|
||||||
//Adapter := ASource.GetAdapter;
|
|
||||||
RemoteDataAdapter.Assign(ASource.RemoteDataAdapter);
|
|
||||||
// ****** 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
|
|
||||||
MethodName := ASource.SchemaCall.MethodName;
|
|
||||||
for i := 0 to ASource.SchemaCall.Params.Count - 1 do
|
|
||||||
begin
|
|
||||||
with Params.Add do begin
|
|
||||||
Name := ASource.SchemaCall.Params[i].Name;
|
|
||||||
ParamType := ASource.SchemaCall.Params[i].ParamType;
|
|
||||||
DataType := ASource.SchemaCall.Params[i].DataType;
|
|
||||||
Value := ASource.SchemaCall.Params[i].Value;
|
|
||||||
UserClassName := ASource.SchemaCall.Params[i].UserClassName;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
}
|
|
||||||
// ****** 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
|
begin
|
||||||
MethodName := ASource.DataUpdateCall.MethodName;
|
dtDetails := ADataTable.GetDetailDataTables;
|
||||||
for i := 0 to ASource.DataUpdateCall.Params.Count - 1 do
|
for i := 0 to dtDetails.Count - 1 do
|
||||||
begin
|
begin
|
||||||
with Params.Add do begin
|
bCambiado := bCambiado or
|
||||||
Name := ASource.DataUpdateCall.Params[i].Name;
|
((TDADataTable(dtDetails.Items[i])).State in dsEditModes) or
|
||||||
ParamType := ASource.DataUpdateCall.Params[i].ParamType;
|
((TDADataTable(dtDetails.Items[i])).HasDelta and
|
||||||
DataType := ASource.DataUpdateCall.Params[i].DataType;
|
DeltaValuesAreDifferent((TDADataTable(dtDetails.Items[i])).Delta));
|
||||||
Value := ASource.DataUpdateCall.Params[i].Value;
|
if bCambiado then
|
||||||
UserClassName := ASource.DataUpdateCall.Params[i].UserClassName;
|
Break;
|
||||||
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.
|
||||||
|
|
||||||
@ -1,15 +1,13 @@
|
|||||||
{*******************************************************}
|
|
||||||
{ }
|
|
||||||
{ Administración de puntos de venta }
|
|
||||||
{ }
|
|
||||||
{ Copyright (C) 2006 Rodax Software S.L. }
|
|
||||||
{ }
|
|
||||||
{*******************************************************}
|
|
||||||
|
|
||||||
unit uDateUtils;
|
unit uDateUtils;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
SysUtils, Classes;
|
||||||
|
|
||||||
|
function DarFechaPrimerDia(Date: TDateTime): TDateTime;
|
||||||
|
function DarFechaUltimoDia(Date: TDateTime): TDateTime;
|
||||||
|
function EsFechaVacia(AFecha : TDateTime): Boolean;
|
||||||
function NumberDayOfTheWeek(const ADay : String) : Word;
|
function NumberDayOfTheWeek(const ADay : String) : Word;
|
||||||
function NumberMonthOfTheYear(const AMonth : String) : Word;
|
function NumberMonthOfTheYear(const AMonth : String) : Word;
|
||||||
|
|
||||||
@ -18,6 +16,9 @@ implementation
|
|||||||
uses
|
uses
|
||||||
DateUtils;
|
DateUtils;
|
||||||
|
|
||||||
|
const
|
||||||
|
FECHA_NULA = -700000;
|
||||||
|
|
||||||
function NumberDayOfTheWeek(const ADay : String) : Word;
|
function NumberDayOfTheWeek(const ADay : String) : Word;
|
||||||
begin
|
begin
|
||||||
if (ADay = 'Monday') or (ADay = 'Lunes') then
|
if (ADay = 'Monday') or (ADay = 'Lunes') then
|
||||||
@ -64,5 +65,29 @@ begin
|
|||||||
Result := 12;
|
Result := 12;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
function EsFechaVacia(AFecha : TDateTime): Boolean;
|
||||||
|
begin
|
||||||
|
Result := (AFecha = FECHA_NULA) or (AFecha = 0);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function DarFechaPrimerDia(Date: TDateTime): TDateTime;
|
||||||
|
var
|
||||||
|
Year, Month, Day: Word;
|
||||||
|
begin
|
||||||
|
DecodeDate(Date, Year, Month, Day);
|
||||||
|
Result := EncodeDate(Year, Month, 1);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function DarFechaUltimoDia(Date: TDateTime): TDateTime;
|
||||||
|
var
|
||||||
|
Year, Month, Day: Word;
|
||||||
|
begin
|
||||||
|
DecodeDate(Date, Year, Month, Day);
|
||||||
|
// (if Month < 12 then inc(Month)
|
||||||
|
// else begin Month := 1; inc(Year) end;
|
||||||
|
// Result := EncodeDate(Year, Month, 1) - 1;
|
||||||
|
Result := EncodeDate(Year, Month,
|
||||||
|
MonthDays[IsLeapYear(Year), Month]);
|
||||||
|
end;
|
||||||
end.
|
end.
|
||||||
|
|
||||||
287
Source/Base/Utiles/uDialogUtils.pas
Normal file
287
Source/Base/Utiles/uDialogUtils.pas
Normal file
@ -0,0 +1,287 @@
|
|||||||
|
unit uDialogUtils;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Controls, SysUtils;
|
||||||
|
|
||||||
|
type
|
||||||
|
TDlgButton = (TDlgButton_SI, TDlgButton_NO, TDlgButton_CANCELAR,
|
||||||
|
TDlgButton_ACEPTAR, TDlgButton_OK, TDlgButton_CERRAR);
|
||||||
|
TDlgButtonSet = set of TDlgButton;
|
||||||
|
|
||||||
|
|
||||||
|
//For example:
|
||||||
|
//1. to display the "OpenDialog" for text files
|
||||||
|
//
|
||||||
|
// s := 'aaa.txt';
|
||||||
|
// if OpenFileDialog(Application.Handle, 'txt', 'Text Files|*.txt', 'c:\', 'Select text file', s) then
|
||||||
|
// ShowMessage(s + ' file was selected for open')
|
||||||
|
//
|
||||||
|
//2. to display the "Save dialog":
|
||||||
|
//
|
||||||
|
// s := 'data.dbf';
|
||||||
|
// if SaveFileDialog(Application.Handle, 'dbf', 'dBase tables|*.dbf|All files|*.*', 'c:\', 'Select table', s) then
|
||||||
|
// ShowMessage(s + ' table was selected for save')
|
||||||
|
|
||||||
|
function OpenFileDialog(ParentHandle: THandle; const DefExt, Filter, InitialDir, Title: string; var FileName: string): Boolean;
|
||||||
|
function SaveFileDialog(ParentHandle: THandle; const DefExt, Filter, InitialDir, Title: string; var FileName: string): Boolean;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
procedure ShowInfoMessage(const AMessage : String); overload;
|
||||||
|
procedure ShowInfoMessage(const AHeader : String; const AMessage : String); overload;
|
||||||
|
procedure ShowWarningMessage(const AMessage : String); overload;
|
||||||
|
procedure ShowWarningMessage(const AHeader : String; const AMessage : String); overload;
|
||||||
|
procedure ShowErrorMessage(const AHeader : String; const AMessage : String); overload;
|
||||||
|
procedure ShowErrorMessage(const AHeader : String; const AMessage : String; AException: Exception); overload;
|
||||||
|
|
||||||
|
function ShowConfirmMessage(const AHeader : String;
|
||||||
|
const AMessage : String) : TModalResult; overload;
|
||||||
|
|
||||||
|
function ShowConfirmMessage(const ATitle : String;
|
||||||
|
const AHeader : String;
|
||||||
|
const AMessage : String;
|
||||||
|
const AButtonSet: TDlgButtonSet) : TModalResult; overload;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
Forms,
|
||||||
|
CommDlg,
|
||||||
|
JSDialog,
|
||||||
|
JSDialogs,
|
||||||
|
Classes,
|
||||||
|
StrUtils;
|
||||||
|
|
||||||
|
const
|
||||||
|
sBtnSi = '&Si';
|
||||||
|
sBtnNo = '&No';
|
||||||
|
sBtnCancelar = '&Cancelar';
|
||||||
|
sBtnAceptar = '&Aceptar';
|
||||||
|
sBtnOK = '&OK';
|
||||||
|
sBtnCerrar = '&Cerrar';
|
||||||
|
|
||||||
|
|
||||||
|
function CharReplace(const Source: string; oldChar, newChar: Char): string;
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
begin
|
||||||
|
Result := Source;
|
||||||
|
for i := 1 to Length(Result) do
|
||||||
|
if Result[i] = oldChar then
|
||||||
|
Result[i] := newChar
|
||||||
|
end;
|
||||||
|
|
||||||
|
function OpenSaveFileDialog(ParentHandle: THandle; const DefExt, Filter, InitialDir, Title: string; var FileName: string;
|
||||||
|
MustExist, OverwritePrompt, NoChangeDir, DoOpen: Boolean): Boolean;
|
||||||
|
var
|
||||||
|
ofn: TOpenFileName;
|
||||||
|
szFile: array[0..MAX_PATH] of Char;
|
||||||
|
begin
|
||||||
|
Result := False;
|
||||||
|
FillChar(ofn, SizeOf(TOpenFileName), 0);
|
||||||
|
FillChar(szFile, SizeOf(szFile), 0);
|
||||||
|
with ofn do
|
||||||
|
begin
|
||||||
|
lStructSize := SizeOf(TOpenFileName);
|
||||||
|
hwndOwner := ParentHandle;
|
||||||
|
lpstrFile := szFile;
|
||||||
|
nMaxFile := SizeOf(szFile);
|
||||||
|
if (Title <> '') then
|
||||||
|
lpstrTitle := PChar(Title);
|
||||||
|
if (InitialDir <> '') then
|
||||||
|
lpstrInitialDir := PChar(InitialDir);
|
||||||
|
StrPCopy(lpstrFile, FileName);
|
||||||
|
lpstrFilter := PChar(ReplaceStr(Filter, '|', #0)+#0#0);
|
||||||
|
if DefExt <> '' then
|
||||||
|
lpstrDefExt := PChar(DefExt);
|
||||||
|
end;
|
||||||
|
|
||||||
|
if MustExist then
|
||||||
|
ofn.Flags := ofn.Flags or OFN_FILEMUSTEXIST;
|
||||||
|
|
||||||
|
if OverwritePrompt then
|
||||||
|
ofn.Flags := ofn.Flags or OFN_OVERWRITEPROMPT;
|
||||||
|
|
||||||
|
if NoChangeDir then
|
||||||
|
ofn.Flags := ofn.Flags or OFN_NOCHANGEDIR;
|
||||||
|
|
||||||
|
if DoOpen then
|
||||||
|
begin
|
||||||
|
if GetOpenFileName(ofn) then
|
||||||
|
begin
|
||||||
|
Result := True;
|
||||||
|
FileName := StrPas(szFile);
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
if GetSaveFileName(ofn) then
|
||||||
|
begin
|
||||||
|
Result := True;
|
||||||
|
FileName := StrPas(szFile);
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
end;
|
||||||
|
|
||||||
|
function OpenFileDialog(ParentHandle: THandle; const DefExt, Filter, InitialDir, Title: string; var FileName: string): Boolean;
|
||||||
|
begin
|
||||||
|
Result := OpenSaveFileDialog(ParentHandle, DefExt, Filter, InitialDir, Title, FileName, True, False, False, True);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function SaveFileDialog(ParentHandle: THandle; const DefExt, Filter, InitialDir, Title: string; var FileName: string): Boolean;
|
||||||
|
begin
|
||||||
|
Result := OpenSaveFileDialog(ParentHandle, DefExt, Filter, InitialDir, Title, FileName, False, True, True, False);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
function CreateTaskDialog(const ATitle: String;
|
||||||
|
const AInstruction: String;
|
||||||
|
const AMessage: String;
|
||||||
|
const AIcon: TTaskDialogIcon): TJSDialog;
|
||||||
|
var
|
||||||
|
ADialog : TJSDialog;
|
||||||
|
begin
|
||||||
|
ADialog := TJSDialog.Create(NIL);
|
||||||
|
with ADialog do
|
||||||
|
begin
|
||||||
|
Position := dpScreenCenter;
|
||||||
|
ButtonBar.Buttons := [];
|
||||||
|
DialogOptions := [doModal, doTopMost];
|
||||||
|
|
||||||
|
Title := ATitle;
|
||||||
|
Instruction.Text := AInstruction;
|
||||||
|
Content.Text := AMessage;
|
||||||
|
MainIcon := AIcon;
|
||||||
|
end;
|
||||||
|
Result := ADialog;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure CreateCustomButtons(const AButtonSet: TDlgButtonSet;
|
||||||
|
ACustomButtons : TJSCustomButtons);
|
||||||
|
|
||||||
|
function CreateButton(const ACaption: String; const AModalResult: TModalResult): TJSCustomButtonItem;
|
||||||
|
begin
|
||||||
|
Result := ACustomButtons.Add;
|
||||||
|
Result.Caption := ACaption;
|
||||||
|
Result.ModalResult := AModalResult;
|
||||||
|
end;
|
||||||
|
|
||||||
|
begin
|
||||||
|
with ACustomButtons do
|
||||||
|
begin
|
||||||
|
Clear;
|
||||||
|
|
||||||
|
if TDlgButton_SI in AButtonSet then
|
||||||
|
CreateButton(sBtnSi, mrYes);
|
||||||
|
|
||||||
|
if TDlgButton_NO in AButtonSet then
|
||||||
|
CreateButton(sBtnNo, mrNo);
|
||||||
|
|
||||||
|
if TDlgButton_CANCELAR in AButtonSet then
|
||||||
|
CreateButton(sBtnCancelar, mrCancel);
|
||||||
|
|
||||||
|
if TDlgButton_ACEPTAR in AButtonSet then
|
||||||
|
CreateButton(sBtnAceptar, mrOk);
|
||||||
|
|
||||||
|
if TDlgButton_OK in AButtonSet then
|
||||||
|
CreateButton(sBtnOK, mrOk);
|
||||||
|
|
||||||
|
if TDlgButton_CERRAR in AButtonSet then
|
||||||
|
CreateButton(sBtnCerrar, mrNone);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure ShowInfoMessage(const AHeader : String; const AMessage : String); overload;
|
||||||
|
var
|
||||||
|
ADialog : TJSDialog;
|
||||||
|
begin
|
||||||
|
ADialog := CreateTaskDialog('Información', AHeader, AMessage, tdiInformation);
|
||||||
|
try
|
||||||
|
CreateCustomButtons([TDlgButton_CERRAR], ADialog.CustomButtons);
|
||||||
|
ADialog.Execute;
|
||||||
|
finally
|
||||||
|
FreeAndNIL(ADialog);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure ShowInfoMessage(const AMessage : String);
|
||||||
|
begin
|
||||||
|
ShowInfoMessage('', AMessage);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure ShowWarningMessage(const AHeader : String; const AMessage : String); overload;
|
||||||
|
var
|
||||||
|
ADialog : TJSDialog;
|
||||||
|
begin
|
||||||
|
ADialog := CreateTaskDialog('¡Atención!', AHeader, AMessage, tdiWarning);
|
||||||
|
try
|
||||||
|
CreateCustomButtons([TDlgButton_CERRAR], ADialog.CustomButtons);
|
||||||
|
ADialog.Execute;
|
||||||
|
finally
|
||||||
|
FreeAndNIL(ADialog);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure ShowWarningMessage(const AMessage : String);
|
||||||
|
begin
|
||||||
|
ShowWarningMessage('', AMessage);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure ShowErrorMessage(const AHeader : String; const AMessage : String);
|
||||||
|
var
|
||||||
|
ADialog : TJSDialog;
|
||||||
|
begin
|
||||||
|
ADialog := CreateTaskDialog(Application.Title, AHeader, AMessage, tdiError);
|
||||||
|
try
|
||||||
|
CreateCustomButtons([TDlgButton_CERRAR], ADialog.CustomButtons);
|
||||||
|
ADialog.Execute;
|
||||||
|
finally
|
||||||
|
FreeAndNIL(ADialog);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure ShowErrorMessage(const AHeader : String; const AMessage : String; AException: Exception);
|
||||||
|
var
|
||||||
|
ADialog : TJSDialog;
|
||||||
|
begin
|
||||||
|
ADialog := CreateTaskDialog(Application.Title, AHeader, AMessage, tdiError);
|
||||||
|
try
|
||||||
|
CreateCustomButtons([TDlgButton_CERRAR], ADialog.CustomButtons);
|
||||||
|
ADialog.Expando.Lines.Text := #13#13 + AException.Message;
|
||||||
|
ADialog.Expando.ShowText := 'Mostrar información sobre el error';
|
||||||
|
ADialog.Expando.HideText := 'No mostrar información sobre el error';
|
||||||
|
ADialog.Expando.Visible := True;
|
||||||
|
ADialog.Execute;
|
||||||
|
finally
|
||||||
|
FreeAndNIL(ADialog);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function ShowConfirmMessage(const AHeader : String;
|
||||||
|
const AMessage : String) : TModalResult;
|
||||||
|
begin
|
||||||
|
Result := ShowConfirmMessage(Application.Title, AHeader,
|
||||||
|
AMessage, [TDlgButton_SI, TDlgButton_NO]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function ShowConfirmMessage(const ATitle : String;
|
||||||
|
const AHeader : String;
|
||||||
|
const AMessage : String;
|
||||||
|
const AButtonSet: TDlgButtonSet) : TModalResult;
|
||||||
|
var
|
||||||
|
ADialog : TJSDialog;
|
||||||
|
begin
|
||||||
|
ADialog := CreateTaskDialog(Application.Title, AHeader, AMessage, tdiConfirmation);
|
||||||
|
try
|
||||||
|
CreateCustomButtons(AButtonSet, ADialog.CustomButtons);
|
||||||
|
Result := ADialog.Execute;
|
||||||
|
finally
|
||||||
|
FreeAndNIL(ADialog);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
@ -2,7 +2,6 @@ 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
|
||||||
@ -90,12 +89,10 @@ object fConfigurarConexion: TfConfigurarConexion
|
|||||||
TabOrder = 3
|
TabOrder = 3
|
||||||
end
|
end
|
||||||
object HTTPChannel: TROWinInetHTTPChannel
|
object HTTPChannel: TROWinInetHTTPChannel
|
||||||
ServerLocators = <>
|
|
||||||
DispatchOptions = []
|
|
||||||
ProbeServers = False
|
|
||||||
ProbeFrequency = 60000
|
|
||||||
UserAgent = 'AdminPV'
|
UserAgent = 'AdminPV'
|
||||||
TargetURL = 'http://localhost:8099/BIN'
|
TargetURL = 'http://localhost:8099/BIN'
|
||||||
|
ServerLocators = <>
|
||||||
|
DispatchOptions = []
|
||||||
Left = 120
|
Left = 120
|
||||||
Top = 112
|
Top = 112
|
||||||
end
|
end
|
||||||
@ -104,9 +101,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
|
||||||
|
|||||||
@ -36,7 +36,7 @@ var
|
|||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses
|
uses
|
||||||
StrUtils, JclStrings, uDataModuleBase, VARELA_Intf;
|
StrUtils, JclStrings, uDMBase, VARELA_Intf;
|
||||||
|
|
||||||
{$R *.dfm}
|
{$R *.dfm}
|
||||||
|
|
||||||
|
|||||||
1660
Source/Base/uDMBase.dfm
Normal file
1660
Source/Base/uDMBase.dfm
Normal file
File diff suppressed because it is too large
Load Diff
254
Source/Base/uDMBase.pas
Normal file
254
Source/Base/uDMBase.pas
Normal file
@ -0,0 +1,254 @@
|
|||||||
|
unit uDMBase;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Controls, PngImageList, JvComponent, JvNavigationPane, TBXSwitcher,
|
||||||
|
TBXOffice2003Theme, Classes, ImgList, uROClient, uROBinMessage,
|
||||||
|
uROServiceComponent, uRORemoteService, uROWinInetHttpChannel,
|
||||||
|
DataAbstract3_Intf, uDADataTable, uDABINAdapter, cxintl, cxIntlPrintSys3,
|
||||||
|
JvAppStorage, JvAppRegistryStorage, SysUtils,
|
||||||
|
JvComponentBase, uDADataStreamer;
|
||||||
|
|
||||||
|
type
|
||||||
|
TdmBase = class(TDataModule)
|
||||||
|
ROChannel: TROWinInetHTTPChannel;
|
||||||
|
SmallImages: TPngImageList;
|
||||||
|
StyleManager: TJvNavPaneStyleManager;
|
||||||
|
TBXSwitcher: TTBXSwitcher;
|
||||||
|
cxIntl: TcxIntl;
|
||||||
|
cxIntlPrintSys3: TcxIntlPrintSys3;
|
||||||
|
ROMessage: TROBinMessage;
|
||||||
|
DABINAdapter: TDABINAdapter;
|
||||||
|
JvAppRegistryStorage: TJvAppRegistryStorage;
|
||||||
|
RORemoteService: TRORemoteService;
|
||||||
|
procedure DAClientDataModuleCreate(Sender: TObject);
|
||||||
|
procedure ROChannelFailure(Sender: TROTransportChannel;
|
||||||
|
anException: Exception; var Retry: Boolean);
|
||||||
|
procedure ROChannelProgress(iSender: TObject; iType: TProgressType;
|
||||||
|
iDirection: TProgressDirection; iTransferred, iTotal: Integer);
|
||||||
|
private
|
||||||
|
FOnThemeChange: TNotifyEvent;
|
||||||
|
function GetAdapter: TDABINAdapter;
|
||||||
|
function GetChannel: TROWinInetHTTPChannel;
|
||||||
|
function GetCodigoEmpresa: Integer;
|
||||||
|
function GetMessage: TROBinMessage;
|
||||||
|
procedure InitStyleManager;
|
||||||
|
procedure OnTBXThemeChange(Sender: TObject);
|
||||||
|
procedure LeerConfiguracion;
|
||||||
|
procedure SalvarConfiguracion;
|
||||||
|
public
|
||||||
|
function DarVersion : String;
|
||||||
|
procedure ConfigurarConexion;
|
||||||
|
function HayConexion(const ATargetURL : String = ''): Boolean;
|
||||||
|
property Adapter: TDABINAdapter read GetAdapter;
|
||||||
|
property Channel: TROWinInetHTTPChannel read GetChannel;
|
||||||
|
property CodigoEmpresa: Integer read GetCodigoEmpresa;
|
||||||
|
property Message: TROBinMessage read GetMessage;
|
||||||
|
property OnThemeChange: TNotifyEvent read FOnThemeChange write
|
||||||
|
FOnThemeChange;
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
dmBase: TdmBase;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.DFM}
|
||||||
|
|
||||||
|
uses
|
||||||
|
Dialogs, TBX, TBXThemes, uConfigurarConexion, WinInet, Forms, Windows,
|
||||||
|
JclFileUtils, VARELA_Intf, cxControls;
|
||||||
|
|
||||||
|
const
|
||||||
|
SERVER_URL = 'http://localhost:8099/bin';
|
||||||
|
IE_OFFLINE_ERROR = 'Unexpected error in WinInet HTTP Channel (2)';
|
||||||
|
|
||||||
|
{
|
||||||
|
*********************************** TdmBase ************************************
|
||||||
|
}
|
||||||
|
procedure TdmBase.ConfigurarConexion;
|
||||||
|
begin
|
||||||
|
with TfConfigurarConexion.Create(NIL) do
|
||||||
|
try
|
||||||
|
TargetURL := ROChannel.TargetURL;
|
||||||
|
if ShowModal = mrOk then
|
||||||
|
begin
|
||||||
|
ROChannel.TargetURL := TargetURL;
|
||||||
|
ROChannel.Connected := False;
|
||||||
|
ROChannel.Connected := True;
|
||||||
|
SalvarConfiguracion;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TdmBase.DAClientDataModuleCreate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
TBXSwitcher.OnThemeChange := OnTBXThemeChange;
|
||||||
|
TBXSetTheme('Office2003');
|
||||||
|
|
||||||
|
LeerConfiguracion;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TdmBase.GetAdapter: TDABINAdapter;
|
||||||
|
begin
|
||||||
|
Result := DABinAdapter;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TdmBase.GetChannel: TROWinInetHTTPChannel;
|
||||||
|
begin
|
||||||
|
Result := ROChannel;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TdmBase.GetCodigoEmpresa: Integer;
|
||||||
|
begin
|
||||||
|
Result := 1;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TdmBase.GetMessage: TROBinMessage;
|
||||||
|
begin
|
||||||
|
Result := ROMessage;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TdmBase.InitStyleManager;
|
||||||
|
begin
|
||||||
|
if not USE_THEMES then
|
||||||
|
begin
|
||||||
|
TBXSwitcher.EnableXPStyles := False;
|
||||||
|
StyleManager.Theme := nptStandard;
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
TBXSwitcher.EnableXPStyles := True;
|
||||||
|
with StyleManager do
|
||||||
|
begin
|
||||||
|
if CurrentTheme is TTBXOffice2003Theme then
|
||||||
|
begin
|
||||||
|
case GetOffice2003Scheme of
|
||||||
|
osBlue : Theme := nptXPBlue;
|
||||||
|
osMetallic : Theme := nptXPSilver;
|
||||||
|
osGreen : Theme := nptXPOlive;
|
||||||
|
else
|
||||||
|
Theme := nptStandard;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure TdmBase.LeerConfiguracion;
|
||||||
|
begin
|
||||||
|
ROChannel.TargetURL := JvAppRegistryStorage.ReadString('ServerURL', SERVER_URL);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TdmBase.OnTBXThemeChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
InitStyleManager;
|
||||||
|
|
||||||
|
if Assigned(FOnThemeChange) then
|
||||||
|
FOnThemeChange(Sender);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TdmBase.SalvarConfiguracion;
|
||||||
|
begin
|
||||||
|
JvAppRegistryStorage.BeginUpdate;
|
||||||
|
try
|
||||||
|
JvAppRegistryStorage.WriteString('ServerURL', ROChannel.TargetURL);
|
||||||
|
finally
|
||||||
|
JvAppRegistryStorage.EndUpdate;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TdmBase.ROChannelFailure(Sender: TROTransportChannel;
|
||||||
|
anException: Exception; var Retry: Boolean);
|
||||||
|
begin
|
||||||
|
if (Pos(anException.Message, IE_OFFLINE_ERROR) > 0) then
|
||||||
|
begin
|
||||||
|
// Preguntar al usuario si se quiere conectar
|
||||||
|
if InternetGoOnline(PAnsiChar(ROChannel.TargetURL), GetDesktopWindow(), 0) then
|
||||||
|
Retry := True // Si el usuario pulsa en 'Conectar' reintentar la operación
|
||||||
|
else
|
||||||
|
Abort; // Si el usuario pulsa en 'Seguir desconectado' parar todo
|
||||||
|
end
|
||||||
|
else
|
||||||
|
Retry := True;
|
||||||
|
// raise Exception.Create(anException.Message);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TdmBase.ROChannelProgress(iSender: TObject; iType: TProgressType;
|
||||||
|
iDirection: TProgressDirection; iTransferred, iTotal: Integer);
|
||||||
|
begin
|
||||||
|
{ if iType = ptInProgress then
|
||||||
|
begin
|
||||||
|
if not Form1.Visible then
|
||||||
|
Form1.Show;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
Form1.Hide;}
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TdmBase.DarVersion: String;
|
||||||
|
var
|
||||||
|
Obj : TJclFileVersionInfo;
|
||||||
|
begin
|
||||||
|
Obj := TJclFileVersionInfo.Create(Application.ExeName);
|
||||||
|
try
|
||||||
|
Result := 'v' + Obj.FileVersion;
|
||||||
|
finally
|
||||||
|
FreeAndNil(Obj);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TdmBase.HayConexion(const ATargetURL: String): Boolean;
|
||||||
|
var
|
||||||
|
AHTTPChannel: TROWinInetHTTPChannel;
|
||||||
|
AROBinMessage: TROBinMessage;
|
||||||
|
ACoService: TRORemoteService;
|
||||||
|
begin
|
||||||
|
AHTTPChannel := TROWinInetHTTPChannel.Create(Self);
|
||||||
|
AROBinMessage := TROBinMessage.Create(Self);
|
||||||
|
ACoService := TRORemoteService.Create(Self);
|
||||||
|
|
||||||
|
ShowHourglassCursor;
|
||||||
|
try
|
||||||
|
with AHTTPChannel do
|
||||||
|
begin
|
||||||
|
Name := 'HTTPChannel';
|
||||||
|
UserAgent := 'AdminPV';
|
||||||
|
if Length(ATargetURL) > 0 then
|
||||||
|
TargetURL := ATargetURL
|
||||||
|
else
|
||||||
|
TargetURL := ROChannel.TargetURL;
|
||||||
|
end;
|
||||||
|
|
||||||
|
with ACoService do
|
||||||
|
begin
|
||||||
|
ServiceName := 'srvLogin';
|
||||||
|
Message := AROBinMessage;
|
||||||
|
Channel := AHTTPChannel;
|
||||||
|
end;
|
||||||
|
|
||||||
|
try
|
||||||
|
(ACoService as IsrvLogin).Ping;
|
||||||
|
Result := True;
|
||||||
|
except
|
||||||
|
Result := False;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
AHTTPChannel.Connected := False;
|
||||||
|
FreeAndNil(AHTTPChannel);
|
||||||
|
FreeAndNil(ACoService);
|
||||||
|
FreeAndNil(AROBinMessage);
|
||||||
|
HideHourglassCursor;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
initialization
|
||||||
|
dmBase := TdmBase.Create(NIL);
|
||||||
|
|
||||||
|
finalization
|
||||||
|
dmBase.Free;
|
||||||
|
|
||||||
|
end.
|
||||||
File diff suppressed because it is too large
Load Diff
@ -3,252 +3,48 @@ unit uDataModuleBase;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
Controls, PngImageList, JvComponent, JvNavigationPane, TBXSwitcher,
|
Classes;
|
||||||
TBXOffice2003Theme, Classes, ImgList, uROClient, uROBinMessage,
|
|
||||||
uROServiceComponent, uRORemoteService, uROWinInetHttpChannel,
|
|
||||||
DataAbstract3_Intf, uDADataTable, uDABINAdapter, cxintl, cxIntlPrintSys3,
|
|
||||||
JvAppStorage, JvAppRegistryStorage, SysUtils,
|
|
||||||
JvComponentBase, uDADataStreamer;
|
|
||||||
|
|
||||||
type
|
type
|
||||||
TdmBase = class(TDataModule)
|
TDataModuleBase = 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
|
||||||
FOnThemeChange: TNotifyEvent;
|
FRefCount: Integer;
|
||||||
function GetAdapter: TDABINAdapter;
|
protected
|
||||||
function GetChannel: TROWinInetHTTPChannel;
|
function QueryInterface(const IID: TGUID; out Obj): HResult; override; stdcall;
|
||||||
function GetCodigoEmpresa: Integer;
|
function _AddRef: Integer; stdcall;
|
||||||
function GetMessage: TROBinMessage;
|
function _Release: Integer; stdcall;
|
||||||
procedure InitStyleManager;
|
|
||||||
procedure OnTBXThemeChange(Sender: TObject);
|
|
||||||
procedure LeerConfiguracion;
|
|
||||||
procedure SalvarConfiguracion;
|
|
||||||
public
|
public
|
||||||
function DarVersion : String;
|
property RefCount: integer read fRefCount write fRefCount;
|
||||||
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
|
end;
|
||||||
dmBase: TdmBase;
|
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
|
|
||||||
{$R *.DFM}
|
{$R *.DFM}
|
||||||
|
|
||||||
uses
|
// Set an implicit refcount so that refcounting
|
||||||
Dialogs, TBX, TBXThemes, uConfigurarConexion, WinInet, Forms, Windows,
|
// during construction won't destroy the object.
|
||||||
JclFileUtils, VARELA_Intf, cxControls;
|
|
||||||
|
|
||||||
const
|
function TDataModuleBase.QueryInterface( const IID: TGUID; out Obj): HResult;
|
||||||
SERVER_URL = 'http://localhost:8099/bin';
|
|
||||||
IE_OFFLINE_ERROR = 'Unexpected error in WinInet HTTP Channel (2)';
|
|
||||||
|
|
||||||
{
|
|
||||||
*********************************** TdmBase ************************************
|
|
||||||
}
|
|
||||||
procedure TdmBase.ConfigurarConexion;
|
|
||||||
begin
|
begin
|
||||||
with TfConfigurarConexion.Create(NIL) do
|
if GetInterface(IID, Obj)
|
||||||
try
|
then Result := 0
|
||||||
TargetURL := ROChannel.TargetURL;
|
else Result := E_NOINTERFACE;
|
||||||
if ShowModal = mrOk then
|
|
||||||
begin
|
|
||||||
ROChannel.TargetURL := TargetURL;
|
|
||||||
ROChannel.Connected := False;
|
|
||||||
ROChannel.Connected := True;
|
|
||||||
SalvarConfiguracion;
|
|
||||||
end;
|
|
||||||
finally
|
|
||||||
Free;
|
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TdmBase.DAClientDataModuleCreate(Sender: TObject);
|
function TDataModuleBase._AddRef: Integer;
|
||||||
begin
|
begin
|
||||||
TBXSwitcher.OnThemeChange := OnTBXThemeChange;
|
Inc(fRefCount);
|
||||||
TBXSetTheme('Office2003');
|
Result := fRefCount;
|
||||||
|
|
||||||
LeerConfiguracion;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TdmBase.GetAdapter: TDABINAdapter;
|
function TDataModuleBase._Release: Integer;
|
||||||
begin
|
begin
|
||||||
Result := DABinAdapter;
|
Dec(fRefCount);
|
||||||
|
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.
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user