From cfca55e23e4390cdff5e286b92c5fdceeaf62f4e Mon Sep 17 00:00:00 2001 From: david Date: Mon, 24 Sep 2007 11:09:48 +0000 Subject: [PATCH] git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/branches/D2007-DA5@28 0c75b7a4-871f-7646-8a2f-f78d34cc349f --- Build/Build.fbp5 | 40 +- Build/Build.fbv | 2 +- Database/Database.proj | 39 + Database/FACTUGES.FDB | Bin 5505024 -> 5505024 bytes Database/_db_enviroment.bat | 14 + Database/db_execute.bat | 67 + Database/scripts/factuges.sql | 1434 ++++++ Database/scripts/factuges_sysdata.sql | 58 + Sanlam.SanQuote.Common.targets | 281 ++ Sanlam.SanQuote.proj | 194 + Source/Base/Base.drc | 6 +- Source/Base/Base.identcache | Bin 1472 -> 1472 bytes Source/Base/ControllerBase/ControllerBase.drc | 2 +- Source/Base/GUIBase/GUIBase.drc | 2 +- Source/Base/Usuarios/Usuarios.drc | 4 +- Source/Base/Utiles/uDataTableUtils.pas | 4 +- Source/Cliente/FactuGES.dproj | 13 +- Source/Cliente/FactuGES.drc | 6 +- Source/Cliente/FactuGES.res | Bin 171980 -> 172152 bytes Source/Cliente/compilar.bat | 140 + .../Controller/Contactos_controller.drc | 2 +- .../Controller/uClientesController.pas | 16 - .../Controller/uContactosController.pas | 128 +- .../uDireccionesContactoController.pas | 70 - .../Controller/uEmpleadosController.pas | 12 - .../Contactos/Data/Contactos_data.dproj | 492 +- .../Modulos/Contactos/Data/Contactos_data.drc | 4 +- .../Modulos/Contactos/Data/Contactos_data.res | Bin 384 -> 4748 bytes .../Contactos/Data/uDataModuleClientes.dfm | 193 +- .../Contactos/Data/uDataModuleClientes.pas | 67 +- .../Contactos/Data/uDataModuleContactos.dfm | 358 +- .../Contactos/Data/uDataModuleContactos.pas | 85 +- .../Contactos/Data/uDataModuleEmpleados.dfm | 446 +- .../Contactos/Data/uDataModuleEmpleados.pas | 43 +- .../Contactos/Data/uDataModuleProveedores.dfm | 173 +- .../Contactos/Data/uDataModuleProveedores.pas | 42 +- .../Contactos/Model/Contactos_model.dpk | 5 +- .../Contactos/Model/Contactos_model.dproj | 493 +- .../Contactos/Model/Contactos_model.drc | 2 +- .../Contactos/Model/Contactos_model.res | Bin 384 -> 4748 bytes .../Model/Data/uIDataModuleContactos.pas | 1 - .../Model/schContactosClient_Intf.pas | 3622 ++++++++++++-- .../Model/schContactosServer_Intf.pas | 4367 +++++++++++++++-- .../Contactos/Plugin/Contactos_plugin.drc | 2 +- .../Contactos/Servidor/srvContactos_Impl.dfm | 609 ++- .../Contactos/Servidor/srvContactos_Impl.pas | 6 - .../Contactos/Views/Contactos_view.drc | 2 +- .../Controller/Empresas_controller.drc | 2 +- .../uDatosBancariosEmpresaController.pas | 71 - .../Controller/uEmpresasController.pas | 94 - .../Modulos/Empresas/Data/Empresas_data.drc | 4 +- .../Empresas/Data/uDataModuleEmpresas.dfm | 72 +- .../Empresas/Data/uDataModuleEmpresas.pas | 51 - .../Modulos/Empresas/Empresas_Group.groupproj | 106 + .../Model/Data/uIDataModuleEmpresas.pas | 1 - .../Empresas/Model/Empresas_model.dproj | 5 +- .../Modulos/Empresas/Model/Empresas_model.drc | 2 +- .../Modulos/Empresas/Model/Empresas_model.res | Bin 384 -> 4748 bytes .../Empresas/Model/schEmpresasClient_Intf.pas | 1229 +---- .../Empresas/Model/schEmpresasServer_Intf.pas | 1477 +----- .../Modulos/Empresas/Model/uBizEmpresas.pas | 1 - .../Model/uBizEmpresasDatosBancarios.pas | 7 - .../Empresas/Plugin/Empresas_plugin.drc | 2 +- .../Empresas/Servidor/srvEmpresas_Impl.dfm | 959 +--- .../Empresas/Servidor/srvEmpresas_Impl.pas | 35 +- .../Empresas/Test/Empresas_Tests.dproj | 579 +++ .../Modulos/Empresas/Views/Empresas_view.drc | 2 +- .../Controller/uFormasPagoController.pas | 34 - .../uFormasPagoPlazosController.pas | 71 - .../Data/uDataModuleFormasPago.dfm | 19 +- .../Data/uDataModuleFormasPago.pas | 20 - .../Model/Data/uIDataModuleFormasPago.pas | 1 - .../Model/FormasPago_model.dproj | 3 +- .../Formas de pago/Model/FormasPago_model.res | Bin 384 -> 4748 bytes .../Model/schFormasPagoClient_Intf.pas | 8 +- .../Model/schFormasPagoServer_Intf.pas | 8 +- .../Formas de pago/Model/uBizFormasPago.pas | 2 +- .../Model/uBizFormasPagoPlazos.pas | 2 +- .../Servidor/srvFormasPago_Impl.dfm | 376 +- .../Servidor/srvFormasPago_Impl.pas | 9 - .../Formas de pago/Views/uEditorFormaPago.dfm | 19 +- .../Formas de pago/Views/uEditorFormaPago.pas | 10 +- .../Views/uEditorFormasPago.dfm | 6 +- .../Views/uEditorFormasPago.pas | 2 +- .../Controller/uTiposIVAController.pas | 24 - .../Tipos de IVA/Data/TiposIVA_data.dpk | 1 - .../Tipos de IVA/Data/TiposIVA_data.dproj | 506 +- .../Tipos de IVA/Data/TiposIVA_data.drc | 4 +- .../Tipos de IVA/Data/TiposIVA_data.res | Bin 384 -> 4748 bytes .../Tipos de IVA/Data/uDataModuleTiposIVA.dfm | 71 +- .../Tipos de IVA/Data/uDataModuleTiposIVA.pas | 99 +- .../Model/Data/uIDataModuleTiposIVA.pas | 1 - .../Tipos de IVA/Model/TiposIVA_model.dpk | 4 +- .../Tipos de IVA/Model/TiposIVA_model.dproj | 494 +- .../Tipos de IVA/Model/TiposIVA_model.drc | 2 +- .../Tipos de IVA/Model/TiposIVA_model.res | Bin 384 -> 4748 bytes .../Model/schTiposIVAClient_Intf.pas | 93 +- .../Model/schTiposIVAServer_Intf.pas | 113 +- .../Servidor/srvTiposIVA_Impl.dfm | 169 +- .../Servidor/srvTiposIVA_Impl.pas | 10 +- Source/Servicios/FactuGES.RODL | 32 - Source/Servicios/FactuGES_Intf.pas | 78 - Source/Servicios/FactuGES_Invk.pas | 90 - Source/Servicios/RODLFILE.res | Bin 15182 -> 14086 bytes Source/Servidor/FactuGES_Server.RES | Bin 23216 -> 23212 bytes Source/Servidor/FactuGES_Server.dpr | 4 +- Source/Servidor/FactuGES_Server.dproj | 240 +- Source/Servidor/FactuGES_Server.drc | 574 +-- Source/Servidor/FactuGES_Server.identcache | Bin 3214 -> 3214 bytes Source/Servidor/FactuGES_Server.rc | 2 +- .../Utiles/uRestriccionesUsuarioUtils.pas | 32 +- Source/Servidor/uDataModuleServer.dfm | 16 - Tools/{ => ISQL}/fbclient.dll | Bin Tools/{ => ISQL}/isql.exe | Bin 114 files changed, 13844 insertions(+), 7650 deletions(-) create mode 100644 Database/Database.proj create mode 100644 Database/_db_enviroment.bat create mode 100644 Database/db_execute.bat create mode 100644 Database/scripts/factuges.sql create mode 100644 Database/scripts/factuges_sysdata.sql create mode 100644 Sanlam.SanQuote.Common.targets create mode 100644 Sanlam.SanQuote.proj create mode 100644 Source/Cliente/compilar.bat create mode 100644 Source/Modulos/Empresas/Empresas_Group.groupproj create mode 100644 Source/Modulos/Empresas/Test/Empresas_Tests.dproj rename Tools/{ => ISQL}/fbclient.dll (100%) rename Tools/{ => ISQL}/isql.exe (100%) diff --git a/Build/Build.fbp5 b/Build/Build.fbp5 index 35792193..fcfa9a68 100644 --- a/Build/Build.fbp5 +++ b/Build/Build.fbp5 @@ -227,12 +227,12 @@ 1000 False - + 0 True - + True True @@ -252,7 +252,7 @@ 0 False - + 0 0 @@ -533,11 +533,11 @@ source_path 0 Servidor - False + True True False True - True + False 0 False @@ -16073,36 +16073,6 @@ Comments= True - - - - 0 - - True - False - True - efHTML - False - True - True - True - True - True - True - True - True - False - - 0 - False - - - %project_path%\Build\buildlog.html - 0 - 1000 - False - - diff --git a/Build/Build.fbv b/Build/Build.fbv index 411786d2..4421a723 100644 --- a/Build/Build.fbv +++ b/Build/Build.fbv @@ -1 +1 @@ - + diff --git a/Database/Database.proj b/Database/Database.proj new file mode 100644 index 00000000..a82ee61c --- /dev/null +++ b/Database/Database.proj @@ -0,0 +1,39 @@ + + + localhost + false + $(MSBuildProjectDirectory)\Scripts + $(MSBuildProjectDirectory)\..\Tools + $(MSBuildProjectDirectory)\..\Output + $(ToolsFolder)\ISQL\isql.exe + + + + $(CodeOutputFolder)\Debug\Database + + + $(CodeOutputFolder)\Release\Database + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Database/FACTUGES.FDB b/Database/FACTUGES.FDB index f08e75c5d338d79791b0a48508e92231fe0d7b1d..f214b42712559e23f65290f8e282e0ac58b66394 100644 GIT binary patch delta 43468 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 delta 126679 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 J&AWK~{{f~x;6DHW diff --git a/Database/_db_enviroment.bat b/Database/_db_enviroment.bat new file mode 100644 index 00000000..e82b9760 --- /dev/null +++ b/Database/_db_enviroment.bat @@ -0,0 +1,14 @@ +rem Full path to the firebird isql utility. +SET ISQL="..\Tools\ISQL\isql.exe" + +SET DB_LOGIN=-USER SYSDBA -PASSWORD masterkey + +rem DB ALIAS +SET DB_ALIAS=FACTUGES.FDB +SET DB_ALIAS_TEST=FACTUGES_TEST.FDB + +set DB_SQL_SCRIPT=scripts\factuges.sql +set DB_SQL_SYSDATA=scripts\factuges.sql + +set DB_DEBUG_PATH=..\output\debug\database +set DB_RELEASE_PATH=..\output\release\database \ No newline at end of file diff --git a/Database/db_execute.bat b/Database/db_execute.bat new file mode 100644 index 00000000..0357fd92 --- /dev/null +++ b/Database/db_execute.bat @@ -0,0 +1,67 @@ +@echo off +call _db_enviroment.bat + +if "%1" == "drop" goto drop +if "%1" == "create" goto create +if "%1" == "extract" goto extract +if "%1" == "insert_data" goto insert_data +if "%1" == "recreate" goto recreate +goto ayuda + +:recreate +call %0 drop +IF %ERRORLEVEL% == 1 GOTO ERROR +call %0 create +IF %ERRORLEVEL% == 1 GOTO ERROR +call %0 insert_data +IF %ERRORLEVEL% == 1 GOTO ERROR +goto end + +:drop +echo Borrando la base de datos %DB_ALIAS%... +IF EXIST "%DB_DEBUG_PATH%\%DB_ALIAS%" DEL %DB_DEBUG_PATH%\%DB_ALIAS% +IF %ERRORLEVEL% == 1 GOTO ERROR +goto done + +:create +echo Creando la base de datos %DB_ALIAS% en %DB_DEBUG_PATH%\%DB_ALIAS% +%ISQL% -i %DB_SQL_SCRIPT% %DB_LOGIN% -q +IF %ERRORLEVEL% == 1 GOTO ERROR +move %DB_ALIAS% "%DB_DEBUG_PATH%" +goto done + +:extract +echo Extrayendo %DB_ALIAS% al script SQL %DB_SQL_SCRIPT%... +IF EXIST %DB_SQL_SCRIPT% DEL %DB_SQL_SCRIPT% +%ISQL% -a -d %DB_ALIAS% %DB_LOGIN% -o %DB_SQL_SCRIPT% %DB_DEBUG_PATH%\%DB_ALIAS% -b +IF %ERRORLEVEL% == 1 GOTO ERROR +goto done + +:insert_data +echo Insertando datos del sistema en %DB_ALIAS%... +%ISQL% -i %DB_SQL_SYSDATA% %DB_LOGIN% %DB_DEBUG_PATH%\%DB_ALIAS% +IF %ERRORLEVEL% == 1 GOTO ERROR +goto done + +:error +ECHO Se ha producido un error!!!! +goto end + +:ayuda +echo Modo de uso: %0 [create / drop / extract] +echo ------------ +echo create: crear la base de datos %DB_ALIAS% (la borra antes si ya existe) +echo drop: borrar la base de datos %DB_ALIAS% +echo extract: extrae los metadatos de la BD a un fichero SQL (%DB_SQL_SCRIPT%) +echo insert_data: extrae los metadatos de la BD a un fichero SQL (%DB_SQL_SCRIPT%) +echo. +echo recreate: rehacer la BD: borrarla si existe, crearla e insertar los datos del sistema +echo. +goto end + +:done +echo Hecho! +echo. +goto end + +:end diff --git a/Database/scripts/factuges.sql b/Database/scripts/factuges.sql new file mode 100644 index 00000000..9cf637ae --- /dev/null +++ b/Database/scripts/factuges.sql @@ -0,0 +1,1434 @@ +Database: FACTUGES.FDB.ORIGINAL, User: SYSDBA + +SET SQL DIALECT 3; + +CREATE DATABASE 'FACTUGES.FDB' DEFAULT CHARACTER SET ISO8859_1; + +/* External Function declarations */ +DECLARE EXTERNAL FUNCTION F_RTFTOTEXT +CSTRING(254) CHARACTER SET ISO8859_1 +RETURNS CSTRING(254) CHARACTER SET ISO8859_1 +ENTRY_POINT 'RtfToText' MODULE_NAME 'udf_RtfToText.dll'; + +DECLARE EXTERNAL FUNCTION MOD +INTEGER, INTEGER +RETURNS DOUBLE PRECISION BY VALUE +ENTRY_POINT 'IB_UDF_mod' MODULE_NAME 'ib_udf'; + +DECLARE EXTERNAL FUNCTION STRLEN +CSTRING(32767) CHARACTER SET ISO8859_1 +RETURNS INTEGER BY VALUE +ENTRY_POINT 'IB_UDF_strlen' MODULE_NAME 'ib_udf'; + +DECLARE EXTERNAL FUNCTION SUBSTR +CSTRING(255) CHARACTER SET ISO8859_1, SMALLINT, SMALLINT +RETURNS CSTRING(255) CHARACTER SET ISO8859_1 FREE_IT +ENTRY_POINT 'IB_UDF_substr' MODULE_NAME 'ib_udf'; + + +/* Generators or sequences */ +CREATE GENERATOR GEN_AGENTES_COMISIONES_ID; +CREATE GENERATOR GEN_ALBARANES_CLI_DETALLES_ID; +CREATE GENERATOR GEN_ALBARANES_CLI_ID; +CREATE GENERATOR GEN_ALBARANES_PRO_DETALLES_ID; +CREATE GENERATOR GEN_ALBARANES_PRO_ID; +CREATE GENERATOR GEN_ALMACENES_ID; +CREATE GENERATOR GEN_ARTICULOS_ID; +CREATE GENERATOR GEN_CATEGORIAS_ID; +CREATE GENERATOR GEN_CLIENTES_DTOS_PROV_ID; +CREATE GENERATOR GEN_COMISIONES_LIQUID_ID; +CREATE GENERATOR GEN_CONTACTOS_DATOS_BANCO_ID; +CREATE GENERATOR GEN_CONTACTOS_DIR_ID; +CREATE GENERATOR GEN_CONTACTOS_ID; +CREATE GENERATOR GEN_EMPRESAS_DATOS_BANCO_ID; +CREATE GENERATOR GEN_EMPRESAS_ID; +CREATE GENERATOR GEN_FACTURAS_CLIENTE_ID; +CREATE GENERATOR GEN_FACTURAS_PROVEEDOR_ID; +CREATE GENERATOR GEN_FACTURA_CLIENTE_DETALLES_ID; +CREATE GENERATOR GEN_FACTURA_PROV_DETALLES_ID; +CREATE GENERATOR GEN_FORMAS_PAGO_ID; +CREATE GENERATOR GEN_FORMAS_PAGO_PLAZOS_ID; +CREATE GENERATOR GEN_INFORMES_ID; +CREATE GENERATOR GEN_MOVIMIENTOS_ID; +CREATE GENERATOR GEN_PAGOS_CLIENTE_ID; +CREATE GENERATOR GEN_PAGOS_PROVEEDOR_ID; +CREATE GENERATOR GEN_PEDIDOS_CLI_DETALLES_ID; +CREATE GENERATOR GEN_PEDIDOS_CLI_ID; +CREATE GENERATOR GEN_PEDIDOS_PROV_DETALLES_ID; +CREATE GENERATOR GEN_PEDIDOS_PROV_ID; +CREATE GENERATOR GEN_PERFILES_ID; +CREATE GENERATOR GEN_RECIBOS_CLIENTE_ID; +CREATE GENERATOR GEN_RECIBOS_PROVEEDOR_ID; +CREATE GENERATOR GEN_REMESAS_CLIENTE_ID; +CREATE GENERATOR GEN_REMESAS_PROVEEDOR_ID; +CREATE GENERATOR GEN_TIENDA_WEB_ID; +CREATE GENERATOR GEN_TIPOS_IVA_ID; +CREATE GENERATOR GEN_USUARIOS_ID; + +/* Domain definitions */ +CREATE DOMAIN TIPO_BINARIO AS BLOB SUB_TYPE 0 SEGMENT SIZE 80; +CREATE DOMAIN TIPO_BOOLEANO AS SMALLINT; +CREATE DOMAIN TIPO_CONCEPTO AS VARCHAR(2000); +CREATE DOMAIN TIPO_ID AS INTEGER; +CREATE DOMAIN TIPO_IMPORTE AS NUMERIC(11, 2); +CREATE DOMAIN TIPO_NOTAS AS BLOB SUB_TYPE TEXT SEGMENT SIZE 80; +CREATE DOMAIN TIPO_PASSWORD AS VARCHAR(10); +CREATE DOMAIN TIPO_PERFIL AS VARCHAR(15); +CREATE DOMAIN TIPO_PORCENTAJE AS FLOAT; +CREATE DOMAIN TIPO_USUARIO AS VARCHAR(20); + +/* Table: AGENTES_COMISIONES, Owner: SYSDBA */ +CREATE TABLE AGENTES_COMISIONES (ID TIPO_ID NOT NULL, + ID_AGENTE TIPO_ID DEFAULT 0 NOT NULL, + ID_PROVEEDOR SMALLINT DEFAULT 0 NOT NULL, + COMISION TIPO_PORCENTAJE DEFAULT 0, +CONSTRAINT PK_AGENTES_COMISIONES PRIMARY KEY (ID)); + +/* Table: ALBARANES_CLIENTE, Owner: SYSDBA */ +CREATE TABLE ALBARANES_CLIENTE (ID TIPO_ID NOT NULL, + ID_EMPRESA TIPO_ID, + ID_CLIENTE TIPO_ID, + FECHA_ALBARAN DATE, + ID_ALMACEN TIPO_ID, + ID_PEDIDO TIPO_ID, + ID_FACTURA TIPO_ID, + REFERENCIA VARCHAR(255), + CALLE VARCHAR(255), + CODIGO_POSTAL VARCHAR(10), + POBLACION VARCHAR(255), + PROVINCIA VARCHAR(255), + PERSONA_CONTACTO VARCHAR(255), + TELEFONO VARCHAR(25), + IMPORTE_NETO TIPO_IMPORTE, + IMPORTE_PORTE TIPO_IMPORTE, + DESCUENTO TIPO_PORCENTAJE, + IMPORTE_DESCUENTO TIPO_IMPORTE, + BASE_IMPONIBLE TIPO_IMPORTE, + IVA TIPO_PORCENTAJE, + IMPORTE_IVA TIPO_IMPORTE, + IMPORTE_TOTAL TIPO_IMPORTE, + OBSERVACIONES TIPO_NOTAS, + INCIDENCIAS TIPO_NOTAS, + INCIDENCIAS_ACTIVAS SMALLINT DEFAULT 0 NOT NULL, + FECHA_ALTA TIMESTAMP, + FECHA_MODIFICACION TIMESTAMP, + USUARIO TIPO_USUARIO, + ID_FORMA_PAGO TIPO_ID, + FECHA_ENVIO DATE, + FECHA_RECEPCION DATE, + FECHA_PREVISTA_ENVIO DATE, + REFERENCIA_CLIENTE VARCHAR(255) CHARACTER SET ISO8859_1 COLLATE ES_ES, +CONSTRAINT PK_ALBARAN_CLIENTE PRIMARY KEY (ID)); + +/* Table: ALBARANES_CLIENTE_DETALLES, Owner: SYSDBA */ +CREATE TABLE ALBARANES_CLIENTE_DETALLES (ID TIPO_ID NOT NULL, + ID_ALBARAN TIPO_ID NOT NULL, + POSICION INTEGER, + TIPO_DETALLE VARCHAR(10), + ID_ARTICULO TIPO_ID, + CONCEPTO TIPO_CONCEPTO, + CANTIDAD INTEGER, + IMPORTE_UNIDAD TIPO_IMPORTE, + DESCUENTO TIPO_PORCENTAJE, + IMPORTE_PORTE TIPO_IMPORTE, + IMPORTE_TOTAL TIPO_IMPORTE, + VISIBLE TIPO_BOOLEANO, + FECHA_ALTA TIMESTAMP, + FECHA_MODIFICACION TIMESTAMP, +CONSTRAINT PK_ALBARANES_CLIENTE_DETALLES PRIMARY KEY (ID)); + +/* Table: ALBARANES_PROVEEDOR, Owner: SYSDBA */ +CREATE TABLE ALBARANES_PROVEEDOR (ID TIPO_ID NOT NULL, + ID_EMPRESA TIPO_ID, + ID_PROVEEDOR TIPO_ID, + FECHA_ALBARAN DATE, + ID_PEDIDO TIPO_ID, + ID_FACTURA TIPO_ID, + REFERENCIA VARCHAR(255), + CALLE VARCHAR(255), + CODIGO_POSTAL VARCHAR(10), + POBLACION VARCHAR(255), + PROVINCIA VARCHAR(255), + PERSONA_CONTACTO VARCHAR(255), + TELEFONO VARCHAR(25), + BASE_IMPONIBLE TIPO_IMPORTE, + DESCUENTO TIPO_PORCENTAJE, + IMPORTE_DESCUENTO TIPO_IMPORTE, + IVA TIPO_PORCENTAJE, + IMPORTE_IVA TIPO_IMPORTE, + IMPORTE_TOTAL TIPO_IMPORTE, + OBSERVACIONES TIPO_NOTAS, + INCIDENCIAS TIPO_NOTAS, + INCIDENCIAS_ACTIVAS SMALLINT DEFAULT 0 NOT NULL, + FECHA_ALTA TIMESTAMP, + FECHA_MODIFICACION TIMESTAMP, + USUARIO TIPO_USUARIO, + ID_ALMACEN TIPO_ID, + ID_FORMA_PAGO TIPO_ID, + IMPORTE_NETO TIPO_IMPORTE, + IMPORTE_PORTE TIPO_IMPORTE, + REFERENCIA_PROVEEDOR VARCHAR(255), + REF_FACTURA_PROV VARCHAR(255), +CONSTRAINT PK_ALBARAN_PROVEEDOR PRIMARY KEY (ID)); + +/* Table: ALBARANES_PROVEEDOR_DETALLES, Owner: SYSDBA */ +CREATE TABLE ALBARANES_PROVEEDOR_DETALLES (ID TIPO_ID NOT NULL, + ID_ALBARAN TIPO_ID NOT NULL, + POSICION INTEGER, + TIPO_DETALLE VARCHAR(10), + ID_ARTICULO TIPO_ID, + CONCEPTO TIPO_CONCEPTO, + CANTIDAD INTEGER, + IMPORTE_UNIDAD TIPO_IMPORTE, + DESCUENTO TIPO_PORCENTAJE, + IMPORTE_PORTE TIPO_IMPORTE, + IMPORTE_TOTAL TIPO_IMPORTE, + VISIBLE TIPO_BOOLEANO, + FECHA_ALTA TIMESTAMP, + FECHA_MODIFICACION TIMESTAMP, +CONSTRAINT PK_ALBARANES_PROVEEDOR_DETALLES PRIMARY KEY (ID)); + +/* Table: ALMACENES, Owner: SYSDBA */ +CREATE TABLE ALMACENES (ID TIPO_ID NOT NULL, + ID_EMPRESA TIPO_ID NOT NULL, + NOMBRE VARCHAR(255), + CALLE VARCHAR(255), + PROVINCIA VARCHAR(255), + POBLACION VARCHAR(255), + CODIGO_POSTAL VARCHAR(10), + TELEFONO VARCHAR(25), + MOVIL VARCHAR(25), + FAX VARCHAR(25), + PERSONA_CONTACTO VARCHAR(255), + OBSERVACIONES TIPO_NOTAS, + FECHA_ALTA TIMESTAMP, + FECHA_MODIFICACION TIMESTAMP, + USUARIO TIPO_USUARIO, +CONSTRAINT PK_ALMACENES PRIMARY KEY (ID)); + +/* Table: ARTICULOS, Owner: SYSDBA */ +CREATE TABLE ARTICULOS (ID TIPO_ID NOT NULL, + ID_EMPRESA TIPO_ID, + REFERENCIA VARCHAR(255), + DESCRIPCION VARCHAR(255), + FAMILIA VARCHAR(255), + IMAGEN TIPO_BINARIO, + COMISIONABLE TIPO_BOOLEANO, + ID_PROVEEDOR TIPO_ID, + REFERENCIA_PROV VARCHAR(255), + PRECIO_COSTE TIPO_IMPORTE, + DESCUENTO TIPO_PORCENTAJE, + PRECIO_NETO TIPO_IMPORTE, + PRECIO_PORTE TIPO_IMPORTE, + FECHA_ALTA TIMESTAMP, + FECHA_MODIFICACION TIMESTAMP, + USUARIO TIPO_USUARIO, + INVENTARIABLE TIPO_BOOLEANO, + ELIMINADO TIPO_BOOLEANO, +CONSTRAINT PK_ARTICULOS PRIMARY KEY (ID)); + +/* Table: CATEGORIAS, Owner: SYSDBA */ +CREATE TABLE CATEGORIAS (ID TIPO_ID NOT NULL, + CATEGORIA VARCHAR(255) NOT NULL, +CONSTRAINT PK_CATEGORIAS PRIMARY KEY (ID)); + +/* Table: CLIENTES_DATOS, Owner: SYSDBA */ +CREATE TABLE CLIENTES_DATOS (ID_CLIENTE TIPO_ID NOT NULL, + ID_AGENTE TIPO_ID, + GRUPO_CLIENTE VARCHAR(255), + NOMBRE_COMERCIAL VARCHAR(255), + VENCIMIENTO_FACTURAS INTEGER, + BLOQUEADO TIPO_BOOLEANO DEFAULT 0 NOT NULL, + REGIMEN_IVA VARCHAR(255), + MOTIVO_BLOQUEO VARCHAR(255), + RECARGO_EQUIVALENCIA TIPO_BOOLEANO, + ID_TIPO_IVA TIPO_ID, + ID_FORMA_PAGO TIPO_ID, + TIENDA_WEB TIPO_BOOLEANO, + DESCUENTO TIPO_PORCENTAJE, +CONSTRAINT PK_CLIENTES_DATOS PRIMARY KEY (ID_CLIENTE)); + +/* Table: CLIENTES_DTOS_PROVEEDORES, Owner: SYSDBA */ +CREATE TABLE CLIENTES_DTOS_PROVEEDORES (ID TIPO_ID NOT NULL, + ID_CLIENTE TIPO_ID DEFAULT 0 NOT NULL, + ID_PROVEEDOR SMALLINT DEFAULT 0 NOT NULL, + DESCUENTO TIPO_PORCENTAJE DEFAULT 0, +CONSTRAINT PK_CLIENTES_DTOS_PROV PRIMARY KEY (ID)); + +/* Table: CLIENTES_GRUPOS, Owner: SYSDBA */ +CREATE TABLE CLIENTES_GRUPOS (DESCRIPCION VARCHAR(255)); + +/* Table: COMISIONES_LIQUIDADAS, Owner: SYSDBA */ +CREATE TABLE COMISIONES_LIQUIDADAS (ID TIPO_ID NOT NULL, + ID_EMPRESA TIPO_ID, + REFERENCIA VARCHAR(255), + ID_AGENTE TIPO_ID, + DESCRIPCION VARCHAR(255), + FECHA DATE, + IMPORTE_TOTAL TIPO_IMPORTE, + FECHA_ALTA TIMESTAMP, + FECHA_MODIFICACION TIMESTAMP, + USUARIO TIPO_USUARIO, +CONSTRAINT PK_COMISIONES_LIQUIDADAS PRIMARY KEY (ID)); + +/* Table: CONFIGURACION, Owner: SYSDBA */ +CREATE TABLE CONFIGURACION (CODIGO VARCHAR(50) NOT NULL, + VALOR VARCHAR(255) NOT NULL, + ID_EMPRESA TIPO_ID); + +/* Table: CONTACTOS, Owner: SYSDBA */ +CREATE TABLE CONTACTOS (ID TIPO_ID NOT NULL, + NIF_CIF VARCHAR(15), + NOMBRE VARCHAR(255) NOT NULL, + CALLE VARCHAR(255), + POBLACION VARCHAR(255), + PROVINCIA VARCHAR(255), + CODIGO_POSTAL VARCHAR(10), + TELEFONO_1 VARCHAR(25), + TELEFONO_2 VARCHAR(25), + MOVIL_1 VARCHAR(25), + MOVIL_2 VARCHAR(25), + FAX VARCHAR(25), + EMAIL_1 VARCHAR(255), + EMAIL_2 VARCHAR(255), + PAGINA_WEB VARCHAR(255), + NOTAS TIPO_NOTAS, + FECHA_ALTA TIMESTAMP, + FECHA_MODIFICACION TIMESTAMP, + USUARIO TIPO_USUARIO, + REFERENCIA VARCHAR(255), + PERSONA_CONTACTO VARCHAR(255), +CONSTRAINT PK_CONTACTOS PRIMARY KEY (ID)); + +/* Table: CONTACTOS_CATEGORIAS, Owner: SYSDBA */ +CREATE TABLE CONTACTOS_CATEGORIAS (ID_CONTACTO TIPO_ID NOT NULL, + ID_CATEGORIA TIPO_ID NOT NULL, +CONSTRAINT PK_CONTACTOS_CATEGORIAS PRIMARY KEY (ID_CONTACTO, ID_CATEGORIA)); + +/* Table: CONTACTOS_DATOS_BANCO, Owner: SYSDBA */ +CREATE TABLE CONTACTOS_DATOS_BANCO (ID TIPO_ID NOT NULL, + ID_CONTACTO TIPO_ID NOT NULL, + TITULAR VARCHAR(255), + ENTIDAD VARCHAR(15), + SUCURSAL VARCHAR(15), + DC VARCHAR(15), + CUENTA VARCHAR(15), + FECHA_ALTA TIMESTAMP, + FECHA_MODIFICACION TIMESTAMP, +CONSTRAINT PK_CONTACTOS_DATOS_BANCO PRIMARY KEY (ID)); + +/* Table: CONTACTOS_DIRECCIONES, Owner: SYSDBA */ +CREATE TABLE CONTACTOS_DIRECCIONES (ID TIPO_ID NOT NULL, + ID_CONTACTO TIPO_ID NOT NULL, + CALLE VARCHAR(255), + POBLACION VARCHAR(255), + PROVINCIA VARCHAR(255), + CODIGO_POSTAL VARCHAR(10), + PERSONA_CONTACTO VARCHAR(255), + NOMBRE VARCHAR(255), + TELEFONO VARCHAR(25), + MOVIL VARCHAR(25), + FAX VARCHAR(25), + EMAIL VARCHAR(255), + NOTAS TIPO_NOTAS, + PORTE TIPO_IMPORTE, + FECHA_ALTA TIMESTAMP, + FECHA_MODIFICACION TIMESTAMP, +CONSTRAINT PK_CONTACTOS_DIR PRIMARY KEY (ID)); + +/* Table: EMPLEADOS_DATOS, Owner: SYSDBA */ +CREATE TABLE EMPLEADOS_DATOS (ID_EMPLEADO TIPO_ID NOT NULL, + FECHA_NACIMIENTO DATE, + CATEGORIA VARCHAR(255), + FECHA_ALTA_EMPRESA DATE, + FORMACION_BASE TIPO_NOTAS, + FORMACION_COMPLE TIPO_NOTAS, + FORMACION_RECIBIDA TIPO_NOTAS, + EXPERIENCIA TIPO_NOTAS, +CONSTRAINT PK_EMPLEADOS_DATOS PRIMARY KEY (ID_EMPLEADO)); + +/* Table: EMPLEADOS_GRUPOS, Owner: SYSDBA */ +CREATE TABLE EMPLEADOS_GRUPOS (DESCRIPCION VARCHAR(255)); + +/* Table: EMPRESAS, Owner: SYSDBA */ +CREATE TABLE EMPRESAS (ID TIPO_ID NOT NULL, + NIF_CIF VARCHAR(15), + NOMBRE VARCHAR(255), + RAZON_SOCIAL VARCHAR(255), + CALLE VARCHAR(255), + POBLACION VARCHAR(255), + PROVINCIA VARCHAR(255), + CODIGO_POSTAL VARCHAR(10), + TELEFONO_1 VARCHAR(25), + TELEFONO_2 VARCHAR(25), + MOVIL_1 VARCHAR(25), + MOVIL_2 VARCHAR(25), + FAX VARCHAR(25), + EMAIL_1 VARCHAR(255), + EMAIL_2 VARCHAR(255), + PAGINA_WEB VARCHAR(255), + NOTAS TIPO_NOTAS, + FECHA_ALTA TIMESTAMP, + FECHA_MODIFICACION TIMESTAMP, + USUARIO TIPO_USUARIO, + LOGOTIPO TIPO_BINARIO, + REGISTRO_MERCANTIL VARCHAR(255), + IVA TIPO_PORCENTAJE, +CONSTRAINT PK_EMPRESAS PRIMARY KEY (ID)); + +/* Table: EMPRESAS_CONTACTOS, Owner: SYSDBA */ +CREATE TABLE EMPRESAS_CONTACTOS (ID_EMPRESA TIPO_ID NOT NULL, + ID_CONTACTO TIPO_ID NOT NULL, +CONSTRAINT PK_EMPRESAS_CONTACTOS PRIMARY KEY (ID_EMPRESA, ID_CONTACTO)); + +/* Table: EMPRESAS_DATOS_BANCO, Owner: SYSDBA */ +CREATE TABLE EMPRESAS_DATOS_BANCO (ID TIPO_ID NOT NULL, + ID_EMPRESA TIPO_ID NOT NULL, + NOMBRE VARCHAR(255), + ENTIDAD VARCHAR(15), + SUCURSAL VARCHAR(15), + DC VARCHAR(15), + CUENTA VARCHAR(15), + SUFIJO_N19 VARCHAR(3), + SUFIJO_N58 VARCHAR(3), +CONSTRAINT PK_EMPRESAS_DATOS_BANCO PRIMARY KEY (ID)); + +/* Table: EMPRESAS_USUARIOS, Owner: SYSDBA */ +CREATE TABLE EMPRESAS_USUARIOS (ID_EMPRESA TIPO_ID NOT NULL, + ID_USUARIO TIPO_ID NOT NULL, +CONSTRAINT PK_EMPRESAS_USUARIOS PRIMARY KEY (ID_EMPRESA, ID_USUARIO)); + +/* Table: FACTURAS_CLIENTE, Owner: SYSDBA */ +CREATE TABLE FACTURAS_CLIENTE (ID TIPO_ID NOT NULL, + ID_EMPRESA TIPO_ID, + REFERENCIA VARCHAR(255), + FECHA_FACTURA DATE, + BASE_IMPONIBLE TIPO_IMPORTE, + DESCUENTO TIPO_PORCENTAJE, + IMPORTE_DESCUENTO TIPO_IMPORTE, + IVA TIPO_PORCENTAJE, + IMPORTE_IVA TIPO_IMPORTE, + RE TIPO_PORCENTAJE, + IMPORTE_RE TIPO_IMPORTE, + IMPORTE_TOTAL TIPO_IMPORTE, + OBSERVACIONES TIPO_NOTAS, + ID_CLIENTE TIPO_ID, + NIF_CIF VARCHAR(15), + NOMBRE VARCHAR(255), + CALLE VARCHAR(255), + POBLACION VARCHAR(255), + PROVINCIA VARCHAR(255), + CODIGO_POSTAL VARCHAR(10), + FECHA_ALTA TIMESTAMP, + FECHA_MODIFICACION TIMESTAMP, + USUARIO TIPO_USUARIO, + ID_FORMA_PAGO TIPO_ID, + IMPORTE_NETO TIPO_IMPORTE, + IMPORTE_PORTE TIPO_IMPORTE, + ID_TIPO_IVA TIPO_ID, + RECARGO_EQUIVALENCIA TIPO_BOOLEANO, + ID_COMISION_LIQUIDADA TIPO_ID, +CONSTRAINT PK_FACTURAS_CLIENTE PRIMARY KEY (ID)); + +/* Table: FACTURAS_CLIENTE_DETALLES, Owner: SYSDBA */ +CREATE TABLE FACTURAS_CLIENTE_DETALLES (ID TIPO_ID NOT NULL, + ID_FACTURA TIPO_ID NOT NULL, + POSICION INTEGER, + TIPO_DETALLE VARCHAR(10), + ID_ARTICULO TIPO_ID, + CONCEPTO TIPO_CONCEPTO, + CANTIDAD INTEGER, + IMPORTE_UNIDAD TIPO_IMPORTE, + DESCUENTO TIPO_PORCENTAJE, + IMPORTE_PORTE TIPO_IMPORTE, + IMPORTE_TOTAL TIPO_IMPORTE, + VISIBLE TIPO_BOOLEANO, + FECHA_ALTA TIMESTAMP, + FECHA_MODIFICACION TIMESTAMP, +CONSTRAINT PK_FACTURAS_CLIENTE_DETALLES PRIMARY KEY (ID)); + +/* Table: FACTURAS_PROVEEDOR, Owner: SYSDBA */ +CREATE TABLE FACTURAS_PROVEEDOR (ID TIPO_ID NOT NULL, + ID_EMPRESA TIPO_ID, + REFERENCIA VARCHAR(255), + REFERENCIA_PROVEEDOR VARCHAR(255), + FECHA_FACTURA DATE, + BASE_IMPONIBLE TIPO_IMPORTE, + DESCUENTO TIPO_PORCENTAJE, + IMPORTE_DESCUENTO TIPO_IMPORTE, + IVA TIPO_PORCENTAJE, + IMPORTE_IVA TIPO_IMPORTE, + RE TIPO_PORCENTAJE, + IMPORTE_RE TIPO_IMPORTE, + IMPORTE_TOTAL TIPO_IMPORTE, + OBSERVACIONES TIPO_NOTAS, + ID_PROVEEDOR TIPO_ID, + NIF_CIF VARCHAR(15), + NOMBRE VARCHAR(255), + CALLE VARCHAR(255), + POBLACION VARCHAR(255), + PROVINCIA VARCHAR(255), + CODIGO_POSTAL VARCHAR(10), + FECHA_ALTA TIMESTAMP, + FECHA_MODIFICACION TIMESTAMP, + USUARIO TIPO_USUARIO, + ID_FORMA_PAGO TIPO_ID, + IMPORTE_NETO TIPO_IMPORTE, + IMPORTE_PORTE TIPO_IMPORTE, + ID_TIPO_IVA TIPO_ID, + RECARGO_EQUIVALENCIA TIPO_BOOLEANO, +CONSTRAINT PK_FACTURAS_PROVEEDOR PRIMARY KEY (ID)); + +/* Table: FACTURAS_PROVEEDOR_DETALLES, Owner: SYSDBA */ +CREATE TABLE FACTURAS_PROVEEDOR_DETALLES (ID TIPO_ID NOT NULL, + ID_FACTURA TIPO_ID NOT NULL, + POSICION INTEGER, + TIPO_DETALLE VARCHAR(10), + ID_ARTICULO TIPO_ID, + CONCEPTO TIPO_CONCEPTO, + CANTIDAD INTEGER, + IMPORTE_UNIDAD TIPO_IMPORTE, + DESCUENTO TIPO_PORCENTAJE, + IMPORTE_PORTE TIPO_IMPORTE, + IMPORTE_TOTAL TIPO_IMPORTE, + VISIBLE TIPO_BOOLEANO, + FECHA_ALTA TIMESTAMP, + FECHA_MODIFICACION TIMESTAMP, +CONSTRAINT PK_FACTURAS_PROVEEDOR_DETALLES PRIMARY KEY (ID)); + +/* Table: FAMILIAS, Owner: SYSDBA */ +CREATE TABLE FAMILIAS (DESCRIPCION VARCHAR(255)); + +/* Table: FORMAS_PAGO, Owner: SYSDBA */ +CREATE TABLE FORMAS_PAGO (ID TIPO_ID NOT NULL, + REFERENCIA VARCHAR(255), + DESCRIPCION VARCHAR(255), + TITULAR VARCHAR(255), + ENTIDAD VARCHAR(15), + SUCURSAL VARCHAR(15), + DC VARCHAR(15), + CUENTA VARCHAR(15), +PRIMARY KEY (ID)); + +/* Table: FORMAS_PAGO_PLAZOS, Owner: SYSDBA */ +CREATE TABLE FORMAS_PAGO_PLAZOS (ID TIPO_ID NOT NULL, + ID_FORMA_PAGO TIPO_ID NOT NULL, + NUM_DIAS SMALLINT, + PORCENTAJE TIPO_PORCENTAJE, +PRIMARY KEY (ID)); + +/* Table: INFORMES, Owner: SYSDBA */ +CREATE TABLE INFORMES (ID SMALLINT NOT NULL, + ID_EMPRESA TIPO_ID, + CATEGORIA VARCHAR(30), + CONTROLLER VARCHAR(255), + ICONO SMALLINT, + NOMBRE VARCHAR(50), + DESCRIPCION VARCHAR(255), + ORDEN SMALLINT, + MODIFICABLE CHAR(1), + VISTA BLOB SUB_TYPE BLR SEGMENT SIZE 4096, +CONSTRAINT PK_INFORMES PRIMARY KEY (ID)); + +/* Table: MOVIMIENTOS, Owner: SYSDBA */ +CREATE TABLE MOVIMIENTOS (ID TIPO_ID NOT NULL, + ID_ALMACEN TIPO_ID, + ID_ARTICULO TIPO_ID, + FECHA_MOVIMIENTO DATE, + TIPO VARCHAR(1), + CANTIDAD INTEGER, + CAUSA TIPO_CONCEPTO, +CONSTRAINT PK_MOVIMIENTOS PRIMARY KEY (ID)); + +/* Table: PAGOS_CLIENTE, Owner: SYSDBA */ +CREATE TABLE PAGOS_CLIENTE (ID TIPO_ID NOT NULL, + ID_RECIBO TIPO_ID, + TIPO VARCHAR(255), + FECHA_PAGO DATE, + TITULAR VARCHAR(255), + ENTIDAD VARCHAR(15), + SUCURSAL VARCHAR(15), + DC VARCHAR(15), + CUENTA VARCHAR(15), + FECHA_ALTA DATE, + FECHA_MODIFICACION DATE, + USUARIO TIPO_USUARIO, +CONSTRAINT PK_PAGOS_CLIENTE PRIMARY KEY (ID)); + +/* Table: PAGOS_PROVEEDOR, Owner: SYSDBA */ +CREATE TABLE PAGOS_PROVEEDOR (ID TIPO_ID NOT NULL, + ID_RECIBO TIPO_ID, + TIPO VARCHAR(255), + FECHA_PAGO DATE, + TITULAR VARCHAR(255), + ENTIDAD VARCHAR(15), + SUCURSAL VARCHAR(15), + DC VARCHAR(15), + CUENTA VARCHAR(15), + FECHA_ALTA DATE, + FECHA_MODIFICACION DATE, + USUARIO TIPO_USUARIO, +CONSTRAINT PK_PAGOS_PROVEEDOR PRIMARY KEY (ID)); + +/* Table: PEDIDOS_CLIENTE, Owner: SYSDBA */ +CREATE TABLE PEDIDOS_CLIENTE (ID TIPO_ID NOT NULL, + ID_EMPRESA TIPO_ID, + ID_CLIENTE TIPO_ID, + REFERENCIA VARCHAR(255), + FECHA_PEDIDO DATE, + CALLE VARCHAR(255), + CODIGO_POSTAL VARCHAR(10), + POBLACION VARCHAR(255), + PROVINCIA VARCHAR(255), + PERSONA_CONTACTO VARCHAR(255), + TELEFONO VARCHAR(25), + OBSERVACIONES TIPO_NOTAS, + INCIDENCIAS TIPO_NOTAS, + INCIDENCIAS_ACTIVAS SMALLINT DEFAULT 0 NOT NULL, + FECHA_ALTA TIMESTAMP, + FECHA_MODIFICACION TIMESTAMP, + USUARIO TIPO_USUARIO, + IMPORTE_NETO TIPO_IMPORTE, + IMPORTE_PORTE TIPO_IMPORTE, + DESCUENTO TIPO_PORCENTAJE, + IMPORTE_DESCUENTO TIPO_IMPORTE, + BASE_IMPONIBLE TIPO_IMPORTE, + IVA TIPO_PORCENTAJE, + IMPORTE_IVA TIPO_IMPORTE, + IMPORTE_TOTAL TIPO_IMPORTE, + ID_FORMA_PAGO TIPO_ID, + REF_TIENDA_WEB INTEGER, + FECHA_PREVISTA_ENVIO DATE, + REFERENCIA_CLIENTE VARCHAR(255) CHARACTER SET ISO8859_1 COLLATE ES_ES, +CONSTRAINT PK_PEDIDOS_CLIENTE PRIMARY KEY (ID)); + +/* Table: PEDIDOS_CLIENTE_DETALLES, Owner: SYSDBA */ +CREATE TABLE PEDIDOS_CLIENTE_DETALLES (ID TIPO_ID NOT NULL, + ID_PEDIDO TIPO_ID NOT NULL, + POSICION INTEGER, + TIPO_DETALLE VARCHAR(10), + ID_ARTICULO TIPO_ID, + CONCEPTO TIPO_CONCEPTO, + CANTIDAD INTEGER, + IMPORTE_UNIDAD TIPO_IMPORTE, + DESCUENTO TIPO_PORCENTAJE, + IMPORTE_PORTE TIPO_IMPORTE, + IMPORTE_TOTAL TIPO_IMPORTE, + VISIBLE TIPO_BOOLEANO, + FECHA_ALTA TIMESTAMP, + FECHA_MODIFICACION TIMESTAMP, +CONSTRAINT PK_PEDIDOS_CLIENTE_DETALLES PRIMARY KEY (ID)); + +/* Table: PEDIDOS_PROVEEDOR, Owner: SYSDBA */ +CREATE TABLE PEDIDOS_PROVEEDOR (ID TIPO_ID NOT NULL, + ID_EMPRESA TIPO_ID, + ID_PROVEEDOR TIPO_ID, + REFERENCIA VARCHAR(255), + FECHA_PEDIDO DATE, + FECHA_CONFIRMACION DATE, + FECHA_ENTREGA DATE, + ID_ALMACEN TIPO_ID, + OBSERVACIONES TIPO_NOTAS, + INCIDENCIAS TIPO_NOTAS, + INCIDENCIAS_ACTIVAS SMALLINT DEFAULT 0 NOT NULL, + FECHA_ALTA TIMESTAMP, + FECHA_MODIFICACION TIMESTAMP, + USUARIO TIPO_USUARIO, + CALLE VARCHAR(255), + CODIGO_POSTAL VARCHAR(10), + POBLACION VARCHAR(255), + PROVINCIA VARCHAR(255), + PERSONA_CONTACTO VARCHAR(255), + TELEFONO VARCHAR(25), + ID_PEDIDO_CLIENTE TIPO_ID, + IMPORTE_NETO TIPO_IMPORTE, + IMPORTE_PORTE TIPO_IMPORTE, + DESCUENTO TIPO_PORCENTAJE, + IMPORTE_DESCUENTO TIPO_IMPORTE, + BASE_IMPONIBLE TIPO_IMPORTE, + IVA TIPO_PORCENTAJE, + IMPORTE_IVA TIPO_IMPORTE, + IMPORTE_TOTAL TIPO_IMPORTE, + ID_FORMA_PAGO TIPO_ID, + FECHA_ENVIO DATE, +CONSTRAINT PK_PEDIDOS_PROVEEDOR PRIMARY KEY (ID)); + +/* Table: PEDIDOS_PROVEEDOR_DETALLES, Owner: SYSDBA */ +CREATE TABLE PEDIDOS_PROVEEDOR_DETALLES (ID TIPO_ID NOT NULL, + ID_PEDIDO TIPO_ID NOT NULL, + POSICION INTEGER, + TIPO_DETALLE VARCHAR(10), + ID_ARTICULO TIPO_ID, + CONCEPTO TIPO_CONCEPTO, + CANTIDAD INTEGER, + IMPORTE_UNIDAD TIPO_IMPORTE, + DESCUENTO TIPO_PORCENTAJE, + IMPORTE_PORTE TIPO_IMPORTE, + IMPORTE_TOTAL TIPO_IMPORTE, + VISIBLE TIPO_BOOLEANO, + FECHA_ALTA TIMESTAMP, + FECHA_MODIFICACION TIMESTAMP, +CONSTRAINT PK_PEDIDOS_PROVEEDOR_DETALLES PRIMARY KEY (ID)); + +/* Table: PERFILES, Owner: SYSDBA */ +CREATE TABLE PERFILES (ID TIPO_ID NOT NULL, + PERFIL TIPO_PERFIL NOT NULL, +CONSTRAINT PK_PERFILES PRIMARY KEY (ID)); + +/* Table: PERFILES_USUARIOS, Owner: SYSDBA */ +CREATE TABLE PERFILES_USUARIOS (ID_PERFIL TIPO_ID NOT NULL, + ID_USUARIO TIPO_ID NOT NULL, +CONSTRAINT PK_PERFILES_USUARIOS PRIMARY KEY (ID_PERFIL, ID_USUARIO)); + +/* Table: PROVEEDORES_DATOS, Owner: SYSDBA */ +CREATE TABLE PROVEEDORES_DATOS (ID_PROVEEDOR TIPO_ID NOT NULL, + DESCUENTO TIPO_PORCENTAJE, + REGIMEN_IVA VARCHAR(255), + ID_TIPO_IVA TIPO_ID, + ID_FORMA_PAGO TIPO_ID, + TIENDA_WEB TIPO_BOOLEANO, + GRUPO_PROVEEDOR VARCHAR(255), + DESCRIPCION_PROVEEDOR VARCHAR(255), + CODIGO_ASIGNADO VARCHAR(255), + CERTIFICACION VARCHAR(255), + HOMOLOGADO SMALLINT, +CONSTRAINT PK_PROVEEDORES_DATOS PRIMARY KEY (ID_PROVEEDOR)); + +/* Table: PROVEEDORES_GRUPOS, Owner: SYSDBA */ +CREATE TABLE PROVEEDORES_GRUPOS (DESCRIPCION VARCHAR(255)); + +/* Table: RECIBOS_CLIENTE, Owner: SYSDBA */ +CREATE TABLE RECIBOS_CLIENTE (ID TIPO_ID NOT NULL, + ID_FACTURA TIPO_ID, + REFERENCIA VARCHAR(255), + FECHA_EMISION DATE, + FECHA_VENCIMIENTO DATE, + DESCRIPCION VARCHAR(255), + OBSERVACIONES VARCHAR(255), + IMPORTE TIPO_IMPORTE, + OTROS_GASTOS TIPO_IMPORTE, + FECHA_ALTA DATE, + FECHA_MODIFICACION DATE, + USUARIO TIPO_USUARIO, + ID_REMESA TIPO_ID, + ID_RECIBO_COMPENSADO INTEGER, +CONSTRAINT PK_RECIBOS_CLIENTE PRIMARY KEY (ID)); + +/* Table: RECIBOS_PROVEEDOR, Owner: SYSDBA */ +CREATE TABLE RECIBOS_PROVEEDOR (ID TIPO_ID NOT NULL, + ID_FACTURA TIPO_ID, + REFERENCIA VARCHAR(255), + REFERENCIA_PROVEEDOR VARCHAR(255), + FECHA_EMISION DATE, + FECHA_VENCIMIENTO DATE, + DESCRIPCION VARCHAR(255), + OBSERVACIONES VARCHAR(255), + IMPORTE TIPO_IMPORTE, + OTROS_GASTOS TIPO_IMPORTE, + FECHA_ALTA DATE, + FECHA_MODIFICACION DATE, + USUARIO TIPO_USUARIO, + ID_REMESA TIPO_ID, + ID_RECIBO_COMPENSADO INTEGER, +CONSTRAINT PK_RECIBOS_PROVEEDOR PRIMARY KEY (ID)); + +/* Table: REFERENCIAS, Owner: SYSDBA */ +CREATE TABLE REFERENCIAS (CODIGO VARCHAR(50) NOT NULL, + VALOR VARCHAR(255) NOT NULL, + ID_EMPRESA TIPO_ID, + DESCRIPCION VARCHAR(255) CHARACTER SET ISO8859_1 COLLATE ES_ES); + +/* Table: REMESAS_CLIENTE, Owner: SYSDBA */ +CREATE TABLE REMESAS_CLIENTE (ID TIPO_ID NOT NULL, + ID_EMPRESA TIPO_ID, + REFERENCIA VARCHAR(255), + FECHA_REMESA DATE, + IMPORTE_TOTAL TIPO_IMPORTE, + DESCRIPCION VARCHAR(255), + FECHA_ALTA DATE, + FECHA_MODIFICACION DATE, + USUARIO TIPO_USUARIO, + ID_DATOS_BANCO TIPO_ID, + TIPO VARCHAR(40), +CONSTRAINT PK_REMESAS_CLIENTE PRIMARY KEY (ID)); + +/* Table: REMESAS_PROVEEDOR, Owner: SYSDBA */ +CREATE TABLE REMESAS_PROVEEDOR (ID TIPO_ID NOT NULL, + ID_EMPRESA TIPO_ID, + REFERENCIA VARCHAR(255), + FECHA_REMESA DATE, + IMPORTE_TOTAL TIPO_IMPORTE, + DESCRIPCION VARCHAR(255), + FECHA_ALTA DATE, + FECHA_MODIFICACION DATE, + USUARIO TIPO_USUARIO, + ID_DATOS_BANCO TIPO_ID, + TIPO VARCHAR(40), +CONSTRAINT PK_REMESAS_PROVEEDOR PRIMARY KEY (ID)); + +/* Table: TIENDA_WEB, Owner: SYSDBA */ +CREATE TABLE TIENDA_WEB (ID TIPO_ID NOT NULL, + ID_EMPRESA TIPO_ID NOT NULL, + TIENDA_ACTIVA TIPO_BOOLEANO DEFAULT 0 NOT NULL, + ULTIMA_ACTUALIZACION TIMESTAMP, + BDSERVER VARCHAR(255), + BDPORT VARCHAR(20), + BDNAME VARCHAR(255), + BDUSER VARCHAR(255), + BDPASS VARCHAR(255), +CONSTRAINT PK_TIENDA_WEB PRIMARY KEY (ID)); + +/* Table: TIPOS_IVA, Owner: SYSDBA */ +CREATE TABLE TIPOS_IVA (ID TIPO_ID NOT NULL, + REFERENCIA VARCHAR(255), + DESCRIPCION VARCHAR(255), + IVA TIPO_PORCENTAJE, + RE TIPO_PORCENTAJE, +PRIMARY KEY (ID)); + +/* Table: USUARIOS, Owner: SYSDBA */ +CREATE TABLE USUARIOS (ID TIPO_ID NOT NULL, + USUARIO TIPO_USUARIO NOT NULL, + PASS TIPO_PASSWORD, + ACTIVO TIPO_BOOLEANO, + LAST_LOGIN TIMESTAMP, +CONSTRAINT PK_USUARIOS PRIMARY KEY (ID)); + +/* Index definitions for all user tables */ +CREATE INDEX IDX_AGENTES_COMISIONES1 ON AGENTES_COMISIONES (ID_AGENTE); +CREATE INDEX IDX_AGENTES_COMISIONES2 ON AGENTES_COMISIONES (ID_PROVEEDOR); +CREATE INDEX IDX_ALBARANES_CLIENTE ON ALBARANES_CLIENTE (ID_FORMA_PAGO); +CREATE INDEX IDX_ALBARANES_CLIENTE_DETALLES ON ALBARANES_CLIENTE_DETALLES (ID_ARTICULO); +CREATE INDEX IDX_ALBARANES_CLIENTE_DETALLES1 ON ALBARANES_CLIENTE_DETALLES (ID_ALBARAN); +CREATE INDEX IDX_ALBARANES_PROVEEDOR ON ALBARANES_PROVEEDOR (ID_ALMACEN); +CREATE INDEX IDX_ALBARANES_PROVEEDOR1 ON ALBARANES_PROVEEDOR (ID_FORMA_PAGO); +CREATE INDEX IDX_ALBARANES_PROV_DETALLES ON ALBARANES_PROVEEDOR_DETALLES (ID_ALBARAN); +CREATE INDEX IDX_ALBARANES_PROV_DETALLES1 ON ALBARANES_PROVEEDOR_DETALLES (ID_ARTICULO); +CREATE INDEX IDX_ARTICULOS ON ARTICULOS (ID_PROVEEDOR); +CREATE INDEX IDX_CLIENTES_DATOS ON CLIENTES_DATOS (ID_TIPO_IVA); +CREATE INDEX IDX_CLIENTES_DATOS1 ON CLIENTES_DATOS (ID_FORMA_PAGO); +CREATE INDEX IDX_CLIENTES_DATOS_ID_AGENTE ON CLIENTES_DATOS (ID_AGENTE); +CREATE INDEX IDX_CLIENTES_DTOS_PROV_ID_CLI ON CLIENTES_DTOS_PROVEEDORES (ID_CLIENTE); +CREATE INDEX IDX_CLIENTES_DTOS_PROV_ID_PROV ON CLIENTES_DTOS_PROVEEDORES (ID_PROVEEDOR); +CREATE INDEX IDX_COMISIONES_LIQUIDADAS ON COMISIONES_LIQUIDADAS (ID_EMPRESA); +CREATE INDEX IDX_CONFIGURACION ON CONFIGURACION (ID_EMPRESA); +CREATE INDEX IDX_CONTACTOS_CATEGORIAS ON CONTACTOS_CATEGORIAS (ID_CONTACTO); +CREATE INDEX IDX_CONTACTOS_CATEGORIAS1 ON CONTACTOS_CATEGORIAS (ID_CATEGORIA); +CREATE INDEX IDX_CONTACTOS_DATOS_BANCO ON CONTACTOS_DATOS_BANCO (ID_CONTACTO); +CREATE INDEX IDX_CONTACTOS_DIR_ID_CONTACTO ON CONTACTOS_DIRECCIONES (ID_CONTACTO); +CREATE INDEX IDX_FACTURAS_CLIENTE ON FACTURAS_CLIENTE (ID_FORMA_PAGO); +CREATE INDEX IDX_FACTURAS_CLIENTE1 ON FACTURAS_CLIENTE (ID_TIPO_IVA); +CREATE INDEX IDX_FACTURAS_CLIENTE2 ON FACTURAS_CLIENTE (ID_COMISION_LIQUIDADA); +CREATE INDEX IDX_FACTURAS_CLIENTE3 ON FACTURAS_CLIENTE (ID_CLIENTE); +CREATE INDEX IDX_FACTURAS_CLIENTE_DETALLES1 ON FACTURAS_CLIENTE_DETALLES (ID_FACTURA); +CREATE INDEX IDX_FACTURAS_CLIENTE_DETALLES2 ON FACTURAS_CLIENTE_DETALLES (ID_ARTICULO); +CREATE INDEX IDX_FACTURAS_PROVEEDOR ON FACTURAS_PROVEEDOR (ID_PROVEEDOR); +CREATE INDEX IDX_FACTURAS_PROVEEDOR1 ON FACTURAS_PROVEEDOR (ID_FORMA_PAGO); +CREATE INDEX IDX_FACTURAS_PROVEEDOR2 ON FACTURAS_PROVEEDOR (ID_TIPO_IVA); +CREATE INDEX IDX_FACTURAS_PROVEEDOR_DETALLES ON FACTURAS_PROVEEDOR_DETALLES (ID_ARTICULO); +CREATE INDEX FORMAS_PAGO_PLAZOS_IDX1 ON FORMAS_PAGO_PLAZOS (ID_FORMA_PAGO); +CREATE INDEX IDX_INFORMES ON INFORMES (ID_EMPRESA); +CREATE INDEX MOVIMIENTOS_IDX1 ON MOVIMIENTOS (TIPO); +CREATE INDEX IDX_PEDIDOS_CLIENTE ON PEDIDOS_CLIENTE (ID_FORMA_PAGO); +CREATE INDEX IDX_PEDIDOS_CLIENTE_DETALLES ON PEDIDOS_CLIENTE_DETALLES (ID_PEDIDO); +CREATE INDEX IDX_PEDIDOS_CLIENTE_DETALLES1 ON PEDIDOS_CLIENTE_DETALLES (ID_ARTICULO); +CREATE INDEX IDX_PEDIDOS_PROVEEDOR ON PEDIDOS_PROVEEDOR (ID_PEDIDO_CLIENTE); +CREATE INDEX IDX_PEDIDOS_PROVEEDOR1 ON PEDIDOS_PROVEEDOR (ID_ALMACEN); +CREATE INDEX IDX_PEDIDOS_PROVEEDOR2 ON PEDIDOS_PROVEEDOR (ID_FORMA_PAGO); +CREATE INDEX IDX_PEDIDOS_PROVEEDOR_DETALLES ON PEDIDOS_PROVEEDOR_DETALLES (ID_ARTICULO); +CREATE INDEX IDX_PROVEEDORES_DATOS ON PROVEEDORES_DATOS (ID_TIPO_IVA); +CREATE INDEX IDX_PROVEEDORES_DATOS1 ON PROVEEDORES_DATOS (ID_FORMA_PAGO); +CREATE INDEX IDX_RECIBOS_CLIENTE ON RECIBOS_CLIENTE (ID_RECIBO_COMPENSADO); +CREATE INDEX IDX_RECIBOS_PROVEEDOR ON RECIBOS_PROVEEDOR (ID_RECIBO_COMPENSADO); +CREATE INDEX IDX_REFERENCIAS ON REFERENCIAS (ID_EMPRESA); +CREATE INDEX IDX_REMESAS_CLIENTE ON REMESAS_CLIENTE (ID_DATOS_BANCO); +CREATE INDEX IDX_REMESAS_PROVEEDOR ON REMESAS_PROVEEDOR (ID_DATOS_BANCO); + +ALTER TABLE ALBARANES_CLIENTE ADD CONSTRAINT FK_ALBARAN_CLIENTE1 FOREIGN KEY (ID_CLIENTE) REFERENCES CONTACTOS (ID) ON UPDATE NO ACTION ON DELETE NO ACTION; + +ALTER TABLE ALBARANES_CLIENTE ADD CONSTRAINT FK_ALBARAN_CLIENTE2 FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID) ON UPDATE NO ACTION ON DELETE NO ACTION; + +ALTER TABLE ALBARANES_CLIENTE ADD CONSTRAINT FK_ALBARAN_CLIENTE3 FOREIGN KEY (ID_PEDIDO) REFERENCES PEDIDOS_CLIENTE (ID) ON UPDATE NO ACTION ON DELETE NO ACTION; + +ALTER TABLE ALBARANES_CLIENTE ADD CONSTRAINT FK_ALBARAN_CLIENTE4 FOREIGN KEY (ID_FACTURA) REFERENCES FACTURAS_CLIENTE (ID) ON UPDATE SET NULL ON DELETE SET NULL; + +ALTER TABLE ALBARANES_PROVEEDOR ADD CONSTRAINT FK_ALBARANES_PROVEEDOR3 FOREIGN KEY (ID_PEDIDO) REFERENCES PEDIDOS_PROVEEDOR (ID) ON UPDATE CASCADE ON DELETE CASCADE; + +ALTER TABLE ALBARANES_PROVEEDOR ADD CONSTRAINT FK_ALBARANES_PROVEEDOR4 FOREIGN KEY (ID_FACTURA) REFERENCES FACTURAS_PROVEEDOR (ID) ON UPDATE CASCADE ON DELETE SET NULL; + +ALTER TABLE ALBARANES_PROVEEDOR ADD CONSTRAINT FK_ALBARAN_PROVEEDOR1 FOREIGN KEY (ID_PROVEEDOR) REFERENCES CONTACTOS (ID) ON UPDATE NO ACTION ON DELETE NO ACTION; + +ALTER TABLE ALBARANES_PROVEEDOR ADD CONSTRAINT FK_ALBARAN_PROVEEDOR2 FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID) ON UPDATE NO ACTION ON DELETE NO ACTION; + +ALTER TABLE ALMACENES ADD CONSTRAINT FK_ALMACENES_EMPRESAS FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID) ON UPDATE NO ACTION ON DELETE NO ACTION; + +ALTER TABLE ARTICULOS ADD CONSTRAINT FK_ARTICULOS_EMPRESA FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID) ON UPDATE NO ACTION ON DELETE NO ACTION; + +ALTER TABLE COMISIONES_LIQUIDADAS ADD CONSTRAINT FK_COMISIONES_LIQUIDADAS FOREIGN KEY (ID_AGENTE) REFERENCES CONTACTOS (ID); + +ALTER TABLE EMPRESAS_CONTACTOS ADD CONSTRAINT FK_EMPRESAS_CONTACTOS FOREIGN KEY (ID_CONTACTO) REFERENCES CONTACTOS (ID) ON UPDATE CASCADE ON DELETE CASCADE; + +ALTER TABLE EMPRESAS_DATOS_BANCO ADD CONSTRAINT FK_EMPRESAS_DATOS_BANCO FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID) ON UPDATE CASCADE ON DELETE CASCADE; + +ALTER TABLE FACTURAS_CLIENTE ADD CONSTRAINT FK_FACTURAS_CLIENTE_EMPRESAS FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID) ON UPDATE NO ACTION ON DELETE NO ACTION; + +ALTER TABLE FACTURAS_CLIENTE_DETALLES ADD CONSTRAINT FK_FACTURAS_CLI_DET_ID_FACTURA FOREIGN KEY (ID_FACTURA) REFERENCES FACTURAS_CLIENTE (ID) ON UPDATE CASCADE ON DELETE CASCADE; + +ALTER TABLE FACTURAS_PROVEEDOR ADD CONSTRAINT FK_FACTURAS_PROVEEDOR_EMPRESAS FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID) ON UPDATE NO ACTION ON DELETE NO ACTION; + +ALTER TABLE FACTURAS_PROVEEDOR_DETALLES ADD CONSTRAINT FK_FACTURAS_PRO_DET_ID_FACTURA FOREIGN KEY (ID_FACTURA) REFERENCES FACTURAS_PROVEEDOR (ID) ON UPDATE CASCADE ON DELETE CASCADE; + +ALTER TABLE MOVIMIENTOS ADD CONSTRAINT FK_MOVIMIENTOS FOREIGN KEY (ID_ARTICULO) REFERENCES ARTICULOS (ID); + +ALTER TABLE MOVIMIENTOS ADD CONSTRAINT FK_MOVIMIENTOS2 FOREIGN KEY (ID_ALMACEN) REFERENCES ALMACENES (ID); + +ALTER TABLE PAGOS_CLIENTE ADD CONSTRAINT FK_PAGOS_CLIENTE FOREIGN KEY (ID_RECIBO) REFERENCES RECIBOS_CLIENTE (ID); + +ALTER TABLE PAGOS_PROVEEDOR ADD CONSTRAINT FK_PAGOS_PROVEEDOR FOREIGN KEY (ID_RECIBO) REFERENCES RECIBOS_PROVEEDOR (ID); + +ALTER TABLE PEDIDOS_CLIENTE ADD CONSTRAINT FK_PEDIDOS_CLIENTE FOREIGN KEY (ID_CLIENTE) REFERENCES CONTACTOS (ID); + +ALTER TABLE PEDIDOS_CLIENTE ADD CONSTRAINT FK_PEDIDOS_CLIENTE_ID_EMPRESA FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID); + +ALTER TABLE PEDIDOS_PROVEEDOR ADD CONSTRAINT FK_PEDIDOS_PROVEEDOR FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID); + +ALTER TABLE PEDIDOS_PROVEEDOR ADD CONSTRAINT FK_PEDIDOS_PROVEEDOR2 FOREIGN KEY (ID_PROVEEDOR) REFERENCES CONTACTOS (ID); + +ALTER TABLE PEDIDOS_PROVEEDOR_DETALLES ADD CONSTRAINT FK_PEDIDOS_PROV_DET_ID_PEDIDO FOREIGN KEY (ID_PEDIDO) REFERENCES PEDIDOS_PROVEEDOR (ID) ON UPDATE CASCADE ON DELETE CASCADE; + +ALTER TABLE RECIBOS_CLIENTE ADD CONSTRAINT FK_RECIBOS_CLIENTE FOREIGN KEY (ID_FACTURA) REFERENCES FACTURAS_CLIENTE (ID) ON UPDATE CASCADE ON DELETE CASCADE; + +ALTER TABLE RECIBOS_CLIENTE ADD CONSTRAINT FK_RECIBOS_CLIENTE2 FOREIGN KEY (ID_REMESA) REFERENCES REMESAS_CLIENTE (ID) ON UPDATE SET NULL ON DELETE SET NULL; + +ALTER TABLE RECIBOS_PROVEEDOR ADD CONSTRAINT FK_RECIBOS_PROVEEDOR FOREIGN KEY (ID_FACTURA) REFERENCES FACTURAS_PROVEEDOR (ID) ON UPDATE CASCADE ON DELETE CASCADE; + +ALTER TABLE RECIBOS_PROVEEDOR ADD CONSTRAINT FK_RECIBOS_PROVEEDOR1 FOREIGN KEY (ID_REMESA) REFERENCES REMESAS_PROVEEDOR (ID) ON UPDATE SET NULL ON DELETE SET NULL; + +ALTER TABLE REMESAS_CLIENTE ADD CONSTRAINT FK_REMESAS_CLIENTE FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID); + +ALTER TABLE REMESAS_PROVEEDOR ADD CONSTRAINT FK_REMESAS_PROVEEDOR FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID); + +ALTER TABLE TIENDA_WEB ADD CONSTRAINT FK_EMPRESAS_TIENDA_WEB FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID) ON UPDATE CASCADE ON DELETE CASCADE; + +/* View: V_CONTACTOS, Owner: SYSDBA */ +CREATE VIEW V_CONTACTOS (ID, ID_CATEGORIA, NIF_CIF, NOMBRE, PERSONA_CONTACTO, CALLE, POBLACION, PROVINCIA, CODIGO_POSTAL, TELEFONO_1, TELEFONO_2, MOVIL_1, MOVIL_2, FAX, EMAIL_1, EMAIL_2, PAGINA_WEB, NOTAS, FECHA_ALTA, FECHA_MODIFICACION, USUARIO, ID_EMPRESA, REFERENCIA) AS + +SELECT CONTACTOS.ID, + CONTACTOS_CATEGORIAS.ID_CATEGORIA, + CONTACTOS.NIF_CIF, + CONTACTOS.NOMBRE, + CONTACTOS.PERSONA_CONTACTO, + CONTACTOS.CALLE, + CONTACTOS.POBLACION, + CONTACTOS.PROVINCIA, + CONTACTOS.CODIGO_POSTAL, + CONTACTOS.TELEFONO_1, + CONTACTOS.TELEFONO_2, + CONTACTOS.MOVIL_1, + CONTACTOS.MOVIL_2, + CONTACTOS.FAX, + CONTACTOS.EMAIL_1, + CONTACTOS.EMAIL_2, + CONTACTOS.PAGINA_WEB, + CONTACTOS.NOTAS, + CONTACTOS.FECHA_ALTA, + CONTACTOS.FECHA_MODIFICACION, + CONTACTOS.USUARIO, + EMPRESAS_CONTACTOS.ID_EMPRESA, + CONTACTOS.REFERENCIA +FROM CONTACTOS + INNER JOIN CONTACTOS_CATEGORIAS ON (CONTACTOS_CATEGORIAS.ID_CONTACTO = + CONTACTOS.ID) + INNER JOIN EMPRESAS_CONTACTOS ON (EMPRESAS_CONTACTOS.ID_CONTACTO = + CONTACTOS.ID); + +/* View: V_CLIENTES, Owner: SYSDBA */ +CREATE VIEW V_CLIENTES (ID, ID_CATEGORIA, NIF_CIF, NOMBRE, PERSONA_CONTACTO, CALLE, POBLACION, PROVINCIA, CODIGO_POSTAL, TELEFONO_1, TELEFONO_2, MOVIL_1, MOVIL_2, FAX, EMAIL_1, EMAIL_2, PAGINA_WEB, NOTAS, FECHA_ALTA, FECHA_MODIFICACION, USUARIO, ID_EMPRESA, REFERENCIA, GRUPO_CLIENTE, NOMBRE_COMERCIAL, VENCIMIENTO_FACTURAS, BLOQUEADO, REGIMEN_IVA, MOTIVO_BLOQUEO, RECARGO_EQUIVALENCIA, ID_TIPO_IVA, ID_FORMA_PAGO, TIENDA_WEB) AS + +SELECT + V_CONTACTOS.ID, + V_CONTACTOS.ID_CATEGORIA, + V_CONTACTOS.NIF_CIF, + V_CONTACTOS.NOMBRE, + V_CONTACTOS.PERSONA_CONTACTO, + V_CONTACTOS.CALLE, + V_CONTACTOS.POBLACION, + V_CONTACTOS.PROVINCIA, + V_CONTACTOS.CODIGO_POSTAL, + V_CONTACTOS.TELEFONO_1, + V_CONTACTOS.TELEFONO_2, + V_CONTACTOS.MOVIL_1, + V_CONTACTOS.MOVIL_2, + V_CONTACTOS.FAX, + V_CONTACTOS.EMAIL_1, + V_CONTACTOS.EMAIL_2, + V_CONTACTOS.PAGINA_WEB, + V_CONTACTOS.NOTAS, + V_CONTACTOS.FECHA_ALTA, + V_CONTACTOS.FECHA_MODIFICACION, + V_CONTACTOS.USUARIO, + V_CONTACTOS.ID_EMPRESA, + V_CONTACTOS.REFERENCIA, + CLIENTES_DATOS.GRUPO_CLIENTE, + CLIENTES_DATOS.NOMBRE_COMERCIAL, + CLIENTES_DATOS.VENCIMIENTO_FACTURAS, + CLIENTES_DATOS.BLOQUEADO, + CLIENTES_DATOS.REGIMEN_IVA, + CLIENTES_DATOS.MOTIVO_BLOQUEO, + CLIENTES_DATOS.RECARGO_EQUIVALENCIA, + CLIENTES_DATOS.ID_TIPO_IVA, + CLIENTES_DATOS.ID_FORMA_PAGO, + CLIENTES_DATOS.TIENDA_WEB +FROM + V_CONTACTOS + LEFT OUTER JOIN CLIENTES_DATOS ON (V_CONTACTOS.ID = CLIENTES_DATOS.ID_CLIENTE) +WHERE + V_CONTACTOS.ID_CATEGORIA = 1; + +/* View: V_PROVEEDORES, Owner: SYSDBA */ +CREATE VIEW V_PROVEEDORES (ID, ID_CATEGORIA, NIF_CIF, NOMBRE, PERSONA_CONTACTO, CALLE, POBLACION, PROVINCIA, CODIGO_POSTAL, TELEFONO_1, TELEFONO_2, MOVIL_1, MOVIL_2, FAX, EMAIL_1, EMAIL_2, PAGINA_WEB, NOTAS, FECHA_ALTA, FECHA_MODIFICACION, USUARIO, ID_EMPRESA, REFERENCIA, DESCUENTO, DESCRIPCION_PROVEEDOR, CODIGO_ASIGNADO, GRUPO_PROVEEDOR, REGIMEN_IVA, ID_TIPO_IVA, ID_FORMA_PAGO, TIENDA_WEB, HOMOLOGADO, CERTIFICACION) AS + +SELECT + V_CONTACTOS.ID, + V_CONTACTOS.ID_CATEGORIA, + V_CONTACTOS.NIF_CIF, + V_CONTACTOS.NOMBRE, + V_CONTACTOS.PERSONA_CONTACTO, + V_CONTACTOS.CALLE, + V_CONTACTOS.POBLACION, + V_CONTACTOS.PROVINCIA, + V_CONTACTOS.CODIGO_POSTAL, + V_CONTACTOS.TELEFONO_1, + V_CONTACTOS.TELEFONO_2, + V_CONTACTOS.MOVIL_1, + V_CONTACTOS.MOVIL_2, + V_CONTACTOS.FAX, + V_CONTACTOS.EMAIL_1, + V_CONTACTOS.EMAIL_2, + V_CONTACTOS.PAGINA_WEB, + V_CONTACTOS.NOTAS, + V_CONTACTOS.FECHA_ALTA, + V_CONTACTOS.FECHA_MODIFICACION, + V_CONTACTOS.USUARIO, + V_CONTACTOS.ID_EMPRESA, + V_CONTACTOS.REFERENCIA, + PROVEEDORES_DATOS.DESCUENTO, + PROVEEDORES_DATOS.DESCRIPCION_PROVEEDOR, + PROVEEDORES_DATOS.CODIGO_ASIGNADO, + PROVEEDORES_DATOS.GRUPO_PROVEEDOR, + PROVEEDORES_DATOS.REGIMEN_IVA, + PROVEEDORES_DATOS.ID_TIPO_IVA, + PROVEEDORES_DATOS.ID_FORMA_PAGO, + PROVEEDORES_DATOS.TIENDA_WEB, + PROVEEDORES_DATOS.HOMOLOGADO, + PROVEEDORES_DATOS.CERTIFICACION +FROM + PROVEEDORES_DATOS + INNER JOIN V_CONTACTOS ON (PROVEEDORES_DATOS.ID_PROVEEDOR = V_CONTACTOS.ID) +WHERE + V_CONTACTOS.ID_CATEGORIA = 2; + +/* View: V_EMPLEADOS, Owner: SYSDBA */ +CREATE VIEW V_EMPLEADOS (ID, ID_CATEGORIA, NIF_CIF, NOMBRE, PERSONA_CONTACTO, CALLE, POBLACION, PROVINCIA, CODIGO_POSTAL, TELEFONO_1, TELEFONO_2, MOVIL_1, MOVIL_2, FAX, EMAIL_1, EMAIL_2, PAGINA_WEB, NOTAS, FECHA_ALTA, FECHA_MODIFICACION, USUARIO, ID_EMPRESA, REFERENCIA, FECHA_NACIMIENTO, CATEGORIA, FECHA_ALTA_EMPRESA, FORMACION_BASE, FORMACION_COMPLE, FORMACION_RECIBIDA, EXPERIENCIA) AS + +SELECT V_CONTACTOS.ID, + V_CONTACTOS.ID_CATEGORIA, + V_CONTACTOS.NIF_CIF, + V_CONTACTOS.NOMBRE, + V_CONTACTOS.PERSONA_CONTACTO, + V_CONTACTOS.CALLE, + V_CONTACTOS.POBLACION, + V_CONTACTOS.PROVINCIA, + V_CONTACTOS.CODIGO_POSTAL, + V_CONTACTOS.TELEFONO_1, + V_CONTACTOS.TELEFONO_2, + V_CONTACTOS.MOVIL_1, + V_CONTACTOS.MOVIL_2, + V_CONTACTOS.FAX, + V_CONTACTOS.EMAIL_1, + V_CONTACTOS.EMAIL_2, + V_CONTACTOS.PAGINA_WEB, + V_CONTACTOS.NOTAS, + V_CONTACTOS.FECHA_ALTA, + V_CONTACTOS.FECHA_MODIFICACION, + V_CONTACTOS.USUARIO, + V_CONTACTOS.ID_EMPRESA, + V_CONTACTOS.REFERENCIA, + + EMPLEADOS_DATOS.FECHA_NACIMIENTO, + EMPLEADOS_DATOS.CATEGORIA, + EMPLEADOS_DATOS.FECHA_ALTA_EMPRESA, + EMPLEADOS_DATOS.FORMACION_BASE, + EMPLEADOS_DATOS.FORMACION_COMPLE, + EMPLEADOS_DATOS.FORMACION_RECIBIDA, + EMPLEADOS_DATOS.EXPERIENCIA + +FROM V_CONTACTOS +INNER JOIN EMPLEADOS_DATOS ON (EMPLEADOS_DATOS.ID_EMPLEADO = V_CONTACTOS.ID) + +WHERE V_CONTACTOS.ID_CATEGORIA = 3; +SET TERM ^ ; + +/* Triggers only will work for SQL triggers */ +CREATE TRIGGER TRI_INSERT_ALBARANES_CLIENTE FOR ALBARANES_CLIENTE +ACTIVE BEFORE INSERT POSITION 0 +AS +begin + NEW.FECHA_ALTA = current_timestamp; + NEW.FECHA_MODIFICACION = Null; +end ^ + +CREATE TRIGGER TRI_UPDATE_ALBARANES_CLIENTE FOR ALBARANES_CLIENTE +ACTIVE BEFORE UPDATE POSITION 0 +AS +begin + NEW.FECHA_MODIFICACION = current_timestamp; +end ^ + +CREATE TRIGGER TRI_INSERT_ALBARANES_CLI_DET FOR ALBARANES_CLIENTE_DETALLES +ACTIVE BEFORE INSERT POSITION 0 +AS +begin + NEW.FECHA_ALTA = current_timestamp; + NEW.FECHA_MODIFICACION = Null; +end ^ + +CREATE TRIGGER TRI_UPDATE_ALBARANES_CLI_DET FOR ALBARANES_CLIENTE_DETALLES +ACTIVE BEFORE UPDATE POSITION 0 +AS +begin + NEW.FECHA_MODIFICACION = current_timestamp; +end ^ + +CREATE TRIGGER TRI_INSERT_ALBARANES_PROVEEDOR FOR ALBARANES_PROVEEDOR +ACTIVE BEFORE INSERT POSITION 0 +AS +begin + NEW.FECHA_ALTA = current_timestamp; + NEW.FECHA_MODIFICACION = Null; +end ^ + +CREATE TRIGGER TRI_UPDATE_ALBARANES_PROVEEDOR FOR ALBARANES_PROVEEDOR +ACTIVE BEFORE UPDATE POSITION 0 +AS +begin + NEW.FECHA_MODIFICACION = current_timestamp; +end ^ + +CREATE TRIGGER TRI_INSERT_ALBARANES_PRO_DET FOR ALBARANES_PROVEEDOR_DETALLES +ACTIVE BEFORE INSERT POSITION 0 +AS +begin + NEW.FECHA_ALTA = current_timestamp; + NEW.FECHA_MODIFICACION = Null; +end ^ + +CREATE TRIGGER TRI_UPDATE_ALBARANES_PRO_DET FOR ALBARANES_PROVEEDOR_DETALLES +ACTIVE BEFORE UPDATE POSITION 0 +AS +begin + NEW.FECHA_MODIFICACION = current_timestamp; +end ^ + +CREATE TRIGGER TRI_INSERT_ALMACENES FOR ALMACENES +ACTIVE BEFORE INSERT POSITION 0 +AS +begin + NEW.FECHA_ALTA = current_timestamp; + NEW.FECHA_MODIFICACION = Null; +end ^ + +CREATE TRIGGER TRI_UPDATE_ALMACENES FOR ALMACENES +ACTIVE BEFORE UPDATE POSITION 0 +AS +begin + NEW.FECHA_MODIFICACION = current_timestamp; +end ^ + +CREATE TRIGGER TRI_INSERT_ARTICULOS FOR ARTICULOS +ACTIVE BEFORE INSERT POSITION 0 +AS +begin + NEW.FECHA_ALTA = current_timestamp; + NEW.FECHA_MODIFICACION = Null; +end ^ + +CREATE TRIGGER TRI_UPDATE_ARTICULOS FOR ARTICULOS +ACTIVE BEFORE UPDATE POSITION 0 +AS +begin + NEW.FECHA_MODIFICACION = current_timestamp; +end ^ + +CREATE TRIGGER TRI_INSERT_COMISIONES_LIQUID FOR COMISIONES_LIQUIDADAS +ACTIVE BEFORE INSERT POSITION 0 +AS +begin + NEW.FECHA_ALTA = current_timestamp; + NEW.FECHA_MODIFICACION = Null; +end ^ + +CREATE TRIGGER TRI_UPDATE_COMISIONES_LIQUID FOR COMISIONES_LIQUIDADAS +ACTIVE BEFORE UPDATE POSITION 0 +AS +begin + NEW.FECHA_MODIFICACION = current_timestamp; +end ^ + +CREATE TRIGGER TRI_INSERT_CONTACTOS FOR CONTACTOS +ACTIVE BEFORE INSERT POSITION 0 +AS +begin + NEW.FECHA_ALTA = current_timestamp; + NEW.FECHA_MODIFICACION = Null; +end ^ + +CREATE TRIGGER TRI_UPDATE_CONTACTOS FOR CONTACTOS +ACTIVE BEFORE UPDATE POSITION 0 +AS +begin + NEW.FECHA_MODIFICACION = current_timestamp; +end ^ + +CREATE TRIGGER TRI_INSERT_CONTACTOS_BANCO FOR CONTACTOS_DATOS_BANCO +ACTIVE BEFORE INSERT POSITION 0 +AS +begin + NEW.FECHA_ALTA = current_timestamp; + NEW.FECHA_MODIFICACION = Null; +end ^ + +CREATE TRIGGER TRI_UPDATE_CONTACTOS_BANCO FOR CONTACTOS_DATOS_BANCO +ACTIVE BEFORE UPDATE POSITION 0 +AS +begin + NEW.FECHA_MODIFICACION = current_timestamp; +end ^ + +CREATE TRIGGER TRI_INSERT_CONTACTOS_DIR FOR CONTACTOS_DIRECCIONES +ACTIVE BEFORE INSERT POSITION 0 +AS +begin + NEW.FECHA_ALTA = current_timestamp; + NEW.FECHA_MODIFICACION = Null; +end ^ + +CREATE TRIGGER TRI_UPDATE_CONTACTOS_DIR FOR CONTACTOS_DIRECCIONES +ACTIVE BEFORE UPDATE POSITION 0 +AS +begin + NEW.FECHA_MODIFICACION = current_timestamp; +end ^ + +CREATE TRIGGER TRI_INSERT_FACTURAS_CLIENTE FOR FACTURAS_CLIENTE +ACTIVE BEFORE INSERT POSITION 0 +AS +begin + NEW.FECHA_ALTA = current_timestamp; + NEW.FECHA_MODIFICACION = Null; +end ^ + +CREATE TRIGGER TRI_UPDATE_FACTURAS_CLIENTE FOR FACTURAS_CLIENTE +ACTIVE BEFORE UPDATE POSITION 0 +AS +begin + NEW.FECHA_MODIFICACION = current_timestamp; +end ^ + +CREATE TRIGGER TRI_INSERT_FACTURAS_CLIENTE_DET FOR FACTURAS_CLIENTE_DETALLES +ACTIVE BEFORE INSERT POSITION 0 +AS +begin + NEW.FECHA_ALTA = current_timestamp; + NEW.FECHA_MODIFICACION = Null; +end ^ + +CREATE TRIGGER TRI_UPDATE_FACTURAS_CLIENTE_DET FOR FACTURAS_CLIENTE_DETALLES +ACTIVE BEFORE UPDATE POSITION 0 +AS +begin + NEW.FECHA_MODIFICACION = current_timestamp; +end ^ + +CREATE TRIGGER TRI_INSERT_FACTURAS_PROVEEDOR FOR FACTURAS_PROVEEDOR +ACTIVE BEFORE INSERT POSITION 0 +AS +begin + NEW.FECHA_ALTA = current_timestamp; + NEW.FECHA_MODIFICACION = Null; +end ^ + +CREATE TRIGGER TRI_UPDATE_FACTURAS_PROVEEDOR FOR FACTURAS_PROVEEDOR +ACTIVE BEFORE UPDATE POSITION 0 +AS +begin + NEW.FECHA_MODIFICACION = current_timestamp; +end ^ + +CREATE TRIGGER TRI_INSERT_FACTURAS_PROV_DET FOR FACTURAS_PROVEEDOR_DETALLES +ACTIVE BEFORE INSERT POSITION 0 +AS +begin + NEW.FECHA_ALTA = current_timestamp; + NEW.FECHA_MODIFICACION = Null; +end ^ + +CREATE TRIGGER TRI_UPDATE_FACTURAS_PROV_DET FOR FACTURAS_PROVEEDOR_DETALLES +ACTIVE BEFORE UPDATE POSITION 0 +AS +begin + NEW.FECHA_MODIFICACION = current_timestamp; +end ^ + +CREATE TRIGGER TRI_INSERT_PAGOS_CLIENTE FOR PAGOS_CLIENTE +ACTIVE BEFORE INSERT POSITION 0 +AS +begin + NEW.FECHA_ALTA = current_timestamp; + NEW.FECHA_MODIFICACION = Null; +end ^ + +CREATE TRIGGER TRI_UPDATE_PAGOS_CLIENTE FOR PAGOS_CLIENTE +ACTIVE BEFORE UPDATE POSITION 0 +AS +begin + NEW.FECHA_MODIFICACION = current_timestamp; +end ^ + +CREATE TRIGGER TRI_INSERT_PAGOS_PROVEEDOR FOR PAGOS_PROVEEDOR +ACTIVE BEFORE INSERT POSITION 0 +AS +begin + NEW.FECHA_ALTA = current_timestamp; + NEW.FECHA_MODIFICACION = Null; +end ^ + +CREATE TRIGGER TRI_UPDATE_PAGOS_PROVEEDOR FOR PAGOS_PROVEEDOR +ACTIVE BEFORE UPDATE POSITION 0 +AS +begin + NEW.FECHA_MODIFICACION = current_timestamp; +end ^ + +CREATE TRIGGER TRI_INSERT_PEDIDOS_CLIENTE FOR PEDIDOS_CLIENTE +ACTIVE BEFORE INSERT POSITION 0 +AS +begin + NEW.FECHA_ALTA = current_timestamp; + NEW.FECHA_MODIFICACION = Null; +end ^ + +CREATE TRIGGER TRI_UPDATE_PEDIDOS_CLIENTE FOR PEDIDOS_CLIENTE +ACTIVE BEFORE UPDATE POSITION 0 +AS +begin + NEW.FECHA_MODIFICACION = current_timestamp; +end ^ + +CREATE TRIGGER TRI_INSERT_PEDIDOS_CLI_DET FOR PEDIDOS_CLIENTE_DETALLES +ACTIVE BEFORE INSERT POSITION 0 +AS +begin + NEW.FECHA_ALTA = current_timestamp; + NEW.FECHA_MODIFICACION = Null; +end ^ + +CREATE TRIGGER TRI_UPDATE_PEDIDOS_CLI_DET FOR PEDIDOS_CLIENTE_DETALLES +ACTIVE BEFORE UPDATE POSITION 0 +AS +begin + NEW.FECHA_MODIFICACION = current_timestamp; +end ^ + +CREATE TRIGGER TRI_INSERT_PEDIDOS_PROVEEDOR FOR PEDIDOS_PROVEEDOR +ACTIVE BEFORE INSERT POSITION 0 +AS +begin + NEW.FECHA_ALTA = current_timestamp; + NEW.FECHA_MODIFICACION = Null; +end ^ + +CREATE TRIGGER TRI_UPDATE_PEDIDOS_PROVEEDOR FOR PEDIDOS_PROVEEDOR +ACTIVE BEFORE UPDATE POSITION 0 +AS +begin + NEW.FECHA_MODIFICACION = current_timestamp; +end ^ + +CREATE TRIGGER TRI_INSERT_PEDIDOS_PROV_DET FOR PEDIDOS_PROVEEDOR_DETALLES +ACTIVE BEFORE INSERT POSITION 0 +AS +begin + NEW.FECHA_ALTA = current_timestamp; + NEW.FECHA_MODIFICACION = Null; +end ^ + +CREATE TRIGGER TRI_UPDATE_PEDIDOS_PROV_DET FOR PEDIDOS_PROVEEDOR_DETALLES +ACTIVE BEFORE UPDATE POSITION 0 +AS +begin + NEW.FECHA_MODIFICACION = current_timestamp; +end ^ + +CREATE TRIGGER TRI_INSERT_RECIBOS_CLIENTE FOR RECIBOS_CLIENTE +ACTIVE BEFORE INSERT POSITION 0 +AS +begin + NEW.FECHA_ALTA = current_timestamp; + NEW.FECHA_MODIFICACION = Null; +end ^ + +CREATE TRIGGER TRI_UPDATE_RECIBOS_CLIENTE FOR RECIBOS_CLIENTE +ACTIVE BEFORE UPDATE POSITION 0 +AS +begin + NEW.FECHA_MODIFICACION = current_timestamp; +end ^ + +CREATE TRIGGER TRI_INSERT_RECIBOS_PROVEEDOR FOR RECIBOS_PROVEEDOR +ACTIVE BEFORE INSERT POSITION 0 +AS +begin + NEW.FECHA_ALTA = current_timestamp; + NEW.FECHA_MODIFICACION = Null; +end ^ + +CREATE TRIGGER TRI_UPDATE_RECIBOS_PROVEEDOR FOR RECIBOS_PROVEEDOR +ACTIVE BEFORE UPDATE POSITION 0 +AS +begin + NEW.FECHA_MODIFICACION = current_timestamp; +end ^ + +CREATE TRIGGER TRI_INSERT_REMESAS_CLIENTE FOR REMESAS_CLIENTE +ACTIVE BEFORE INSERT POSITION 0 +AS +begin + NEW.FECHA_ALTA = current_timestamp; + NEW.FECHA_MODIFICACION = Null; +end ^ + +CREATE TRIGGER TRI_UPDATE_REMESAS_CLI FOR REMESAS_CLIENTE +ACTIVE BEFORE UPDATE POSITION 0 +AS +begin + NEW.FECHA_MODIFICACION = current_timestamp; +end ^ + +CREATE TRIGGER TRI_INSERT_REMESAS_PROVEEDOR FOR REMESAS_PROVEEDOR +ACTIVE BEFORE INSERT POSITION 0 +AS +begin + NEW.FECHA_ALTA = current_timestamp; + NEW.FECHA_MODIFICACION = Null; +end ^ + +CREATE TRIGGER TRI_UPDATE_REMESAS_PROV FOR REMESAS_PROVEEDOR +ACTIVE BEFORE UPDATE POSITION 0 +AS +begin + NEW.FECHA_MODIFICACION = current_timestamp; +end ^ + +COMMIT WORK ^ +SET TERM ; ^ diff --git a/Database/scripts/factuges_sysdata.sql b/Database/scripts/factuges_sysdata.sql new file mode 100644 index 00000000..9399ab8d --- /dev/null +++ b/Database/scripts/factuges_sysdata.sql @@ -0,0 +1,58 @@ +SET SQL DIALECT 3; + +SET NAMES ISO8859_1; + +INSERT INTO CATEGORIAS (ID, CATEGORIA) VALUES (1, 'CLIENTE'); +INSERT INTO CATEGORIAS (ID, CATEGORIA) VALUES (2, 'PROVEEDOR'); +INSERT INTO CATEGORIAS (ID, CATEGORIA) VALUES (3, 'EMPLEADO'); + +COMMIT WORK; + +INSERT INTO INFORMES (ID, ID_EMPRESA, CATEGORIA, CONTROLLER, ICONO, NOMBRE, DESCRIPCION, ORDEN, MODIFICABLE) VALUES (2, 1, 'VENTAS ARTICULOS', 'InfVentasArticuloController', 4, 'Ventas por artículo', 'Informe de ventas por artículo', NULL, 'S'); +INSERT INTO INFORMES (ID, ID_EMPRESA, CATEGORIA, CONTROLLER, ICONO, NOMBRE, DESCRIPCION, ORDEN, MODIFICABLE) VALUES (5, 1, 'VENTAS ARTICULOS', 'InfVentasArticuloController', 4, 'Ventas por cliente', 'Informe de ventas por cliente y artículo', NULL, 'S'); +INSERT INTO INFORMES (ID, ID_EMPRESA, CATEGORIA, CONTROLLER, ICONO, NOMBRE, DESCRIPCION, ORDEN, MODIFICABLE) VALUES (7, 1, 'VENTAS ARTICULOS', 'InfVentasArticuloController', 4, 'Ventas por agente y cliente', 'Informe de ventas por agente y cliente', NULL, 'S'); +INSERT INTO INFORMES (ID, ID_EMPRESA, CATEGORIA, CONTROLLER, ICONO, NOMBRE, DESCRIPCION, ORDEN, MODIFICABLE) VALUES (17, 1, 'MARGEN ARTICULOS', 'InfMargenArticuloController', 0, 'Margen (promedio) por artículo', 'Informe de margen por artículo teniendo en cuenta el precio neto de venta promedio', NULL, 'S'); +INSERT INTO INFORMES (ID, ID_EMPRESA, CATEGORIA, CONTROLLER, ICONO, NOMBRE, DESCRIPCION, ORDEN, MODIFICABLE) VALUES (15, 1, 'VENTAS ARTICULOS', 'InfVentasArticuloController', 4, 'Ventas por proveedor', 'Informe de ventas por proveedor y artículo', NULL, 'S'); +INSERT INTO INFORMES (ID, ID_EMPRESA, CATEGORIA, CONTROLLER, ICONO, NOMBRE, DESCRIPCION, ORDEN, MODIFICABLE) VALUES (19, 1, 'MARGEN ARTICULOS', 'InfMargenArticuloController', 0, 'Margen (promedio) por cliente', 'Informe de margen por artículo agrupado por cliente teniendo en cuenta el precio neto de venta promedio', NULL, 'S'); +INSERT INTO INFORMES (ID, ID_EMPRESA, CATEGORIA, CONTROLLER, ICONO, NOMBRE, DESCRIPCION, ORDEN, MODIFICABLE) VALUES (20, 1, 'MARGEN ARTICULOS', 'InfMargenArticuloController', 0, 'Margen (promedio) por agente y cliente', 'Informe de margen por artículo agrupado por agente y cliente teniendo en cuenta el precio neto de venta promedio', NULL, 'S'); +INSERT INTO INFORMES (ID, ID_EMPRESA, CATEGORIA, CONTROLLER, ICONO, NOMBRE, DESCRIPCION, ORDEN, MODIFICABLE) VALUES (21, 1, 'MARGEN ARTICULOS', 'InfMargenArticuloController', 2, 'Margen (ult. venta) por artículo', 'Informe de margen por artículo teniendo en cuenta el precio neto de última venta', NULL, 'S'); +INSERT INTO INFORMES (ID, ID_EMPRESA, CATEGORIA, CONTROLLER, ICONO, NOMBRE, DESCRIPCION, ORDEN, MODIFICABLE) VALUES (22, 1, 'MARGEN ARTICULOS', 'InfMargenArticuloController', 2, 'Margen (ult.venta) por clientes', 'Informe de margen por artículo agrupado por cliente teniendo en cuenta el precio neto de última venta', NULL, 'S'); +INSERT INTO INFORMES (ID, ID_EMPRESA, CATEGORIA, CONTROLLER, ICONO, NOMBRE, DESCRIPCION, ORDEN, MODIFICABLE) VALUES (23, 1, 'MARGEN ARTICULOS', 'InfMargenArticuloController', 2, 'Margen (ult. venta) por agente y cliente', 'Informe de margen por artículo agrupado por agente y cliente teniendo en cuenta el precio neto de última venta', NULL, 'S'); + +COMMIT WORK; + +INSERT INTO PERFILES (ID, PERFIL) VALUES (1, 'Administradores'); +INSERT INTO PERFILES (ID, PERFIL) VALUES (2, 'Usuarios'); + +COMMIT WORK; + +INSERT INTO PERFILES_USUARIOS (ID_PERFIL, ID_USUARIO) VALUES (1, 1); + +COMMIT WORK; + +INSERT INTO REFERENCIAS (CODIGO, VALOR, ID_EMPRESA, DESCRIPCION) VALUES ('REF_FACTURAS_CLIENTE', '00001', 1, 'Ref. facturas de cliente'); +INSERT INTO REFERENCIAS (CODIGO, VALOR, ID_EMPRESA, DESCRIPCION) VALUES ('REF_PEDIDOS_CLIENTE', '00001', 1, 'Ref. pedidos de cliente'); +INSERT INTO REFERENCIAS (CODIGO, VALOR, ID_EMPRESA, DESCRIPCION) VALUES ('REF_PEDIDOS_PROVEEDOR', '00001', 1, 'Ref. pedidos de proveedor'); +INSERT INTO REFERENCIAS (CODIGO, VALOR, ID_EMPRESA, DESCRIPCION) VALUES ('REF_ALBARANES_CLIENTE', '00001', 1, 'Ref. albaranes de cliente'); +INSERT INTO REFERENCIAS (CODIGO, VALOR, ID_EMPRESA, DESCRIPCION) VALUES ('REF_ALBARANES_PROVEEDOR', '00001', 1, 'Ref. albaranes de proveedor'); +INSERT INTO REFERENCIAS (CODIGO, VALOR, ID_EMPRESA, DESCRIPCION) VALUES ('REF_REMESAS_CLIENTE', '00001', 1, 'Ref. remesas de cliente'); +INSERT INTO REFERENCIAS (CODIGO, VALOR, ID_EMPRESA, DESCRIPCION) VALUES ('REF_COMISIONES', '00001', 1, 'Ref. liquidaciones de comision'); +INSERT INTO REFERENCIAS (CODIGO, VALOR, ID_EMPRESA, DESCRIPCION) VALUES ('REF_FACTURAS_PROVEEDOR', '00001', 1, 'Ref. facturas de proveedor'); +INSERT INTO REFERENCIAS (CODIGO, VALOR, ID_EMPRESA, DESCRIPCION) VALUES ('REF_ALBARANES_DEV_CLIENTE', '00001', 1, 'Ref. ordenes de devolucion de cliente'); +INSERT INTO REFERENCIAS (CODIGO, VALOR, ID_EMPRESA, DESCRIPCION) VALUES ('REF_ALBARANES_DEV_PROVEEDOR', '00001', 1, 'Ref. ordenes de devolucion de proveedor'); +INSERT INTO REFERENCIAS (CODIGO, VALOR, ID_EMPRESA, DESCRIPCION) VALUES ('REF_REMESAS_PROVEEDOR', '00001', 1, 'Ref. remesas de proveedor'); +INSERT INTO REFERENCIAS (CODIGO, VALOR, ID_EMPRESA, DESCRIPCION) VALUES ('REF_ABONOS_CLIENTE', '00001', 1, 'Ref. abonos de cliente'); +INSERT INTO REFERENCIAS (CODIGO, VALOR, ID_EMPRESA, DESCRIPCION) VALUES ('REF_ABONOS_PROVEEDOR', '00001', 1, 'Ref. abonos de proveedor'); + +COMMIT WORK; + +INSERT INTO TIPOS_IVA (ID, REFERENCIA, DESCRIPCION, IVA, RE) VALUES (2, 'IVA16', 'IVA16', 16, 4); +INSERT INTO TIPOS_IVA (ID, REFERENCIA, DESCRIPCION, IVA, RE) VALUES (3, 'IVA4', 'IVA4', 4, 0.5); +INSERT INTO TIPOS_IVA (ID, REFERENCIA, DESCRIPCION, IVA, RE) VALUES (4, 'IVA7', 'IVA7', 7, 1); +INSERT INTO TIPOS_IVA (ID, REFERENCIA, DESCRIPCION, IVA, RE) VALUES (6, 'EXENTO', 'EXTRANJERO', 0, 0); + +COMMIT WORK; + +INSERT INTO USUARIOS (ID, USUARIO, PASS, ACTIVO, LAST_LOGIN) VALUES (1, 'Administrador', '', 1, NULL); + +COMMIT WORK; diff --git a/Sanlam.SanQuote.Common.targets b/Sanlam.SanQuote.Common.targets new file mode 100644 index 00000000..8a5b16a4 --- /dev/null +++ b/Sanlam.SanQuote.Common.targets @@ -0,0 +1,281 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + '%(RootDir)%(Directory)bin\$(Configuration)\*$(NUnitFile)'); + @(TestProjects->'%(RootDir)%(Directory)bin\$(Configuration)\*$(LastTestRunSucceededFile)'); + @(TestProjects->'%(RootDir)%(Directory)bin\$(Configuration)\*$(NCoverFile)'); + @(TestProjects->'%(RootDir)%(Directory)bin\$(Configuration)\*$(NCoverLogFile)')"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Sanlam.SanQuote.proj b/Sanlam.SanQuote.proj new file mode 100644 index 00000000..bf507192 --- /dev/null +++ b/Sanlam.SanQuote.proj @@ -0,0 +1,194 @@ + + + + %0D%0A + %09 + %22 + %20 + + + + + $(MSBuildProjectDirectory)\Build + $(MSBuildProjectDirectory)\Source + $(MSBuildProjectDirectory)\Database + $(MSBuildProjectDirectory)\Lib + $(MSBuildProjectDirectory)\Install + $(MSBuildProjectDirectory)\Output + $(SqlFolder)\Scripts + $(MSBuildProjectDirectory)\Code Metrics + $(MSBuildProjectDirectory)\Tools + $(MSBuildProjectDirectory)\Qtp + \\qtpserver\qtpshare + $(QtpDeployFolder)\Install + $(QtpDeployFolder)\Uninstall + $(QtpFolder)\TestResults + + + + + localhost + firebird2 + $(ToolsFolder)\ISQL\isql.exe + DEV + smtp.somewhere.co.za + + + + + C:\Archivos de programa\FinalBuilder 5 + $(FinalBuilderPath)\FBCMD.exe + C:\Program Files\Subversion\bin + $(SubversionPath)\svn.exe + C:\Program Files\NCover\ + C:\Program Files\NCoverExplorer\ + C:\Program Files\NUnit-Net-2.0 2.2.10\bin + $(NUnitPath)\nunit-console.exe + C:\Program Files\Installshield 12 StandaloneBuild + $(InstallShieldPath)\IsSaBld.exe + + + + + + ..\Sanlam.snk + Sanlam.SanQuote.sln + $(MSBuildProjectDirectory)\IterationNumber.txt + $(MSBuildProjectDirectory)\Environment.txt + LastTestRunSucceeded + LastCodeAnalysisSucceeded + $(Temp)\InstallBuildEmailFile.htm + $(InstallFolder)\InstallBuildEmailTemplate.htm + TestResult.xml + CodeAnalysisLog.xml + Coverage.xml + Coverage.log + CoverageSummary.xml + CoverageSummary.html + $(SqlScriptsFolder)\CreateDBBackupsForAutomatedBuild.cmd + $(QtpFolder)\RunQTP.vbs + QtpResultsSummary.xml + + + + + $(MSBuildProjectDirectory) + https://svn.somewhere.co.za/sanquote + $(SvnServerPath)/trunk + $(SvnServerPath)/tags + + + + + SanQuote.msi + $(InstallFolder)\SanQuote.ism + $(InstallFolder)\SetMsiProductVersion.vbs + $(InstallFolder)\Binaries\InstallFiles + $(Temp)\SanQuote\Install + PROJECT_ASSISTANT\SINGLE_MSI_IMAGE\DiskImages\DISK1 + $(InstallFolder)\Merge Modules + + + + + 1 + 0 + $(Iteration) + Build + false + + + + + $(CodeOutputFolder) + Debug + AnyCPU + false + $(CodeOutputFolder)\Debug + $(CodeOutputFolder)\Release + + + + + + + + + + + + $(CleanDependsOn); + CleanDatabases + CleanCode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Source/Base/Base.drc b/Source/Base/Base.drc index 020676f4..f4b415c4 100644 --- a/Source/Base/Base.drc +++ b/Source/Base/Base.drc @@ -45,11 +45,11 @@ BEGIN END /* C:\Codigo Tecsitel\Lib\JSDialog\mbimg.res */ -/* C:\Codigo Tecsitel\Lib\JSDialog\vistaimg.RES */ +/* C:\Codigo Tecsitel\Lib\JSDialog\vistaimg.res */ /* C:\Codigo Tecsitel\Source\Base\uConfigurarConexion.dfm */ /* C:\Codigo Tecsitel\Source\Base\uDataModuleConexion.dfm */ /* C:\Codigo Tecsitel\Source\Base\uDataModuleConfiguracion.dfm */ -/* C:\Codigo Tecsitel\Source\Base\uDataModuleBase.dfm */ +/* C:\Codigo Tecsitel\Source\Base\uDataModuleBase.DFM */ /* C:\Codigo Tecsitel\Source\Base\uActualizacion.dfm */ /* C:\Codigo Tecsitel\Source\Base\Base.res */ -/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf205.tmp */ +/* C:\Codigo Tecsitel\Source\Base\Base.drf */ diff --git a/Source/Base/Base.identcache b/Source/Base/Base.identcache index a5818f8f7fd434286d6ad75cd39a8ec47fd45d5e..8c57b242740c6149e40568d627a193eb3799f6a3 100644 GIT binary patch delta 45 zcmX@WeSn)$baD){@?>6CuF2PluginSDK_D10R;GUISDK_D11;Base;GUIBase;Usuarios;Contactos_plugin;Empresas_plugin;Empresas_controller;Empresas_model DCC32 ..\..\Output\Debug\Cliente\FactuGES.exe + true 7.0 @@ -57,18 +58,6 @@ - - - - - - - - - - - - CodeGear WebSnap Components CodeGear SOAP Components Microsoft Office XP Sample Automation Server Wrapper Components diff --git a/Source/Cliente/FactuGES.drc b/Source/Cliente/FactuGES.drc index adc467f3..d7f8b7a3 100644 --- a/Source/Cliente/FactuGES.drc +++ b/Source/Cliente/FactuGES.drc @@ -12,10 +12,10 @@ STRINGTABLE BEGIN END -/* C:\Archivos de programa\CodeGear\RAD Studio\5.0\Lib\WindowsXP.res */ -/* C:\Codigo Tecsitel\Lib\JVCL\JvXPCore.res */ +/* c:\archivos de programa\codegear\rad studio\5.0\lib\WindowsXP.res */ +/* C:\Codigo Tecsitel\Lib\jvcl\JvXPCore.res */ /* C:\Codigo Tecsitel\Source\Cliente\uSplash.dfm */ /* C:\Codigo Tecsitel\Source\Cliente\uAcercaDe.dfm */ /* C:\Codigo Tecsitel\Source\Cliente\uPantallaPrincipal.dfm */ /* C:\Codigo Tecsitel\Source\Cliente\FactuGES.res */ -/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf235.tmp */ +/* C:\Codigo Tecsitel\Source\Cliente\FactuGES.drf */ diff --git a/Source/Cliente/FactuGES.res b/Source/Cliente/FactuGES.res index 19ec614f3b873581bd55289df00609dcc84336b1..4f8fdad12e89d0f3239d390f01bb127850f4ae00 100644 GIT binary patch delta 454 zcmY+9F-yZx6otR{Olum81Y9}>ilR>W142=e41!DdHmD>;tEIX)HG@NcfRHY&YusH$ zM+ZlLfxn_#y~#^09=Pwm!#U^P_rBhp`G=D{s#k4IN3QGC`Gca4>w>~2uH@Y?kJtiD zqhYkqDy)^vV_X9Z&of$PL#1RMnM|wV`=z!C>m?Iyn~p4MwQ|v8_Yi6Xfnnn|ICQ&) zWlyj{l9Wz6e<(~el7q#il>8AQl!AXX_X?NzYw7N)Ss0fem*+Z@1NOA8CnV4VZl z=}JO^ABN%aXNLLjn|fSTaugToWC!i5A&mq>d>;e>`|htdPh$aD3k(1+dm)QmIW(K h8>kfKmC1PQ*dYH}nprL= = Set unit alias + -B = Build all units + -CC = Console target + -CG = GUI target + -D = Define conditionals + -E = EXE/DLL output directory + -F = Find error + -GD = Detailed map file + -GP = Map file with publics + -GS = Map file with segments + -H = Output hint messages + -I = Include directories + -J = Generate .obj file + -JPHNE = Generate C++ .obj file, .hpp file, in namespace, export all + -JL = Generate package .lib, .bpi, and all .hpp files for C++ + -K = Set image base addr + -LE = package .bpl output directory + -LN = package .dcp output directory + -LU = Use package + -M = Make modified units + -N0 = unit .dcu output directory + -NH = unit .hpp output directory + -NO = unit .obj output directory + -NB = unit .bpi output directory + -NS = Namespace search path + -O = Object directories + -P = look for 8.3 file names also + -Q = Quiet compile + -R = Resource directories + -U = Unit directories + -V = Debug information in EXE + -VR = Generate remote debug (RSM) + -W[+|-][warn_id] = Output warning messages + -Z = Output 'never build' DCPs + -$ = Compiler directive + --help = Show this help screen + --version = Show name and version + --codepage: = specify source file encoding + --default-namespace: = set namespace + --depends = output unit dependency information + --doc = output XML documentation + --drc = output resource string .drc file + --no-config = do not load default DCC32.CFG file + --description: = set executable description +Compiler switches: -$ (defaults are shown below) + A8 Aligned record fields + B- Full boolean Evaluation + C+ Evaluate assertions at runtime + D+ Debug information + G+ Use imported data references + H+ Use long strings by default + I+ I/O checking + J- Writeable structured consts + L+ Local debug symbols + M- Runtime type info + O+ Optimization + P+ Open string params + Q- Integer overflow checking + R- Range checking + T- Typed @ operator + U- Pentium(tm)-safe divide + V+ Strict var-strings + W- Generate stack frames + X+ Extended syntax + Y+ Symbol reference info + Z1 Minimum size of enum types + +base_dcp_path = C:\CODIGO~2\Source\Lib +library_3rdparty_path = C:\Archiv~1\CodeGear\RADSTU~1\5.0\Lib\Indy10;C:\CODIGO~2\Lib;C:\CODIGO~2\Lib\RemObjects\RemObjects_SDK;C:\CODIGO~2\Lib\RemObjects\Data_Abstract;C:\CODIGO~2\Lib\CCPack;C:\CODIGO~2\Lib\CFPack;C:\CODIGO~2\Lib\GUISDK;C:\CODIGO~2\Lib\PluginSDK;C:\CODIGO~2\Lib\DevExpressVCL;C:\CODIGO~2\Lib\FastReport3;C:\CODIGO~2\Lib\JCL;C:\CODIGO~2\Lib\JVCL;C:\CODIGO~2\Lib\PngComponents;C:\CODIGO~2\Lib\cxIntl5;C:\CODIGO~2\Lib\cxIntlPrintSys3;C:\CODIGO~2\Lib\TB2k+TBX;C:\CODIGO~2\Lib\Mustangpeak\MPCommonLib;C:\CODIGO~2\Lib\Mustangpeak\EasyListview;C:\CODIGO~2\Lib\JSDialog; +library_path = C:\Archiv~1\CodeGear\RADSTU~1\5.0\Lib;C:\Archiv~1\CodeGear\RADSTU~1\5.0\Imports;C:\Archiv~1\CodeGear\RADSTU~1\5.0\Lib\Indy10;C:\CODIGO~2\Lib;C:\CODIGO~2\Lib\RemObjects\RemObjects_SDK;C:\CODIGO~2\Lib\RemObjects\Data_Abstract;C:\CODIGO~2\Lib\CCPack;C:\CODIGO~2\Lib\CFPack;C:\CODIGO~2\Lib\GUISDK;C:\CODIGO~2\Lib\PluginSDK;C:\CODIGO~2\Lib\DevExpressVCL;C:\CODIGO~2\Lib\FastReport3;C:\CODIGO~2\Lib\JCL;C:\CODIGO~2\Lib\JVCL;C:\CODIGO~2\Lib\PngComponents;C:\CODIGO~2\Lib\cxIntl5;C:\CODIGO~2\Lib\cxIntlPrintSys3;C:\CODIGO~2\Lib\TB2k+TBX;C:\CODIGO~2\Lib\Mustangpeak\MPCommonLib;C:\CODIGO~2\Lib\Mustangpeak\EasyListview;C:\CODIGO~2\Lib\JSDialog;;C:\CODIGO~2\Source\Lib +modules_dcp_path = C:\CODIGO~2\Source\Modulos\Lib +output_path = C:\CODIGO~2\Output\Debug +package_path = C:\CODIGO~2\Output\Debug\Cliente +project_path = C:\CODIGO~2 +source_path = C:\CODIGO~2\Source + + + +:hola + +dcc32.exe +-B +-DDEBUG; +-E..\..\Output\Debug\Cliente +-GD +-I..\Lib;..\Modulos\Lib;"C:\Archiv~1\EurekaLog 6\Delphi11";"c:\Archiv~1\codegear\rad studio\5.0\lib";"C:\Documents and Settings\Usuario\Mis documentos\RADSTU~1\5.0\Imports";"c:\Archiv~1\codegear\rad studio\5.0\Imports";"c:\Archiv~1\codegear\rad studio\5.0\Lib\Indy10";"C:\Documents and Settings\All Users\Documentos\RADSTU~1\5.0\Dcp";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Dcu\D10";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source";"C:\Archiv~1\REMOBJ~1\Everwood\Bin";"C:\Archiv~1\REMOBJ~1\Data Abstract for Delphi\Dcu\D10";"C:\Archiv~1\REMOBJ~1\Pascal Script for Delphi\Dcu\D10";"C:\Codigo~2\Lib\DevExpressVCL";"C:\Codigo~2\Lib\FastReport3";"C:\Codigo~2\Lib\GUISDK";"C:\Codigo~2\Lib\PngComponents";"C:\Codigo~2\Lib\cxIntlPrintSys3";"C:\Codigo~2\Lib\cxIntl5";"C:\Codigo~2\Lib\TB2k+TBX";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source\DataSnap";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source\CodeGen";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source\RODEC";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source\Synapse";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source\ZLib";"C:\Archiv~1\REMOBJ~1\Data Abstract for Delphi\Source";"C:\Archiv~1\REMOBJ~1\Data Abstract for Delphi\Source\Drivers";"C:\Archiv~1\REMOBJ~1\Data Abstract for Delphi\Source\IDE";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source\RODX";"C:\Archiv~1\REMOBJ~1\Pascal Script for Delphi\Source";"C:\Codigo~2\Lib\JCL";"C:\Codigo~2\Lib\jvcl";"C:\Codigo~2\Lib\JSDialog" +-LE. +-LN. +-LUPluginSDK_D10R;GUISDK_D11;Base;GUIBase;Usuarios;Contactos_plugin;Empresas_plugin;Empresas_controller;Empresas_model +-N0. +-NH. +-NO. +-NS; +-O..\Lib;..\Modulos\Lib;"C:\Archiv~1\EurekaLog 6\Delphi11";"c:\Archiv~1\codegear\rad studio\5.0\lib";"C:\Documents and Settings\Usuario\Mis documentos\RADSTU~1\5.0\Imports";"c:\Archiv~1\codegear\rad studio\5.0\Imports";"c:\Archiv~1\codegear\rad studio\5.0\Lib\Indy10";"C:\Documents and Settings\All Users\Documentos\RADSTU~1\5.0\Dcp";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Dcu\D10";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source";"C:\Archiv~1\REMOBJ~1\Everwood\Bin";"C:\Archiv~1\REMOBJ~1\Data Abstract for Delphi\Dcu\D10";"C:\Archiv~1\REMOBJ~1\Pascal Script for Delphi\Dcu\D10";"C:\Codigo~2\Lib\DevExpressVCL";"C:\Codigo~2\Lib\FastReport3";"C:\Codigo~2\Lib\GUISDK";"C:\Codigo~2\Lib\PngComponents";"C:\Codigo~2\Lib\cxIntlPrintSys3";"C:\Codigo~2\Lib\cxIntl5";"C:\Codigo~2\Lib\TB2k+TBX";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source\DataSnap";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source\CodeGen";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source\RODEC";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source\Synapse";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source\ZLib";"C:\Archiv~1\REMOBJ~1\Data Abstract for Delphi\Source";"C:\Archiv~1\REMOBJ~1\Data Abstract for Delphi\Source\Drivers";"C:\Archiv~1\REMOBJ~1\Data Abstract for Delphi\Source\IDE";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source\RODX";"C:\Archiv~1\REMOBJ~1\Pascal Script for Delphi\Source";"C:\Codigo~2\Lib\JCL";"C:\Codigo~2\Lib\jvcl";"C:\Codigo~2\Lib\JSDialog";"C:\Archiv~1\EurekaLog 6\Delphi11";"c:\Archiv~1\codegear\rad studio\5.0\lib";"C:\Documents and Settings\Usuario\Mis documentos\RADSTU~1\5.0\Imports";"c:\Archiv~1\codegear\rad studio\5.0\Imports";"c:\Archiv~1\codegear\rad studio\5.0\Lib\Indy10";"C:\Documents and Settings\All Users\Documentos\RADSTU~1\5.0\Dcp";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Dcu\D10";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source";"C:\Archiv~1\REMOBJ~1\Everwood\Bin";"C:\Archiv~1\REMOBJ~1\Data Abstract for Delphi\Dcu\D10";"C:\Archiv~1\REMOBJ~1\Pascal Script for Delphi\Dcu\D10";"C:\Codigo~2\Lib\DevExpressVCL";"C:\Codigo~2\Lib\FastReport3";"C:\Codigo~2\Lib\GUISDK";"C:\Codigo~2\Lib\PngComponents";"C:\Codigo~2\Lib\cxIntlPrintSys3";"C:\Codigo~2\Lib\cxIntl5";"C:\Codigo~2\Lib\TB2k+TBX";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source\DataSnap";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source\CodeGen";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source\RODEC";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source\Synapse";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source\ZLib";"C:\Archiv~1\REMOBJ~1\Data Abstract for Delphi\Source";"C:\Archiv~1\REMOBJ~1\Data Abstract for Delphi\Source\Drivers";"C:\Archiv~1\REMOBJ~1\Data Abstract for Delphi\Source\IDE";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source\RODX";"C:\Archiv~1\REMOBJ~1\Pascal Script for Delphi\Source";"C:\Codigo~2\Lib\JCL";"C:\Codigo~2\Lib\jvcl";"C:\Codigo~2\Lib\JSDialog" +-R..\Lib;..\Modulos\Lib;"C:\Archiv~1\EurekaLog 6\Delphi11";"c:\Archiv~1\codegear\rad studio\5.0\lib";"C:\Documents and Settings\Usuario\Mis documentos\RADSTU~1\5.0\Imports";"c:\Archiv~1\codegear\rad studio\5.0\Imports";"c:\Archiv~1\codegear\rad studio\5.0\Lib\Indy10";"C:\Documents and Settings\All Users\Documentos\RADSTU~1\5.0\Dcp";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Dcu\D10";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source";"C:\Archiv~1\REMOBJ~1\Everwood\Bin";"C:\Archiv~1\REMOBJ~1\Data Abstract for Delphi\Dcu\D10";"C:\Archiv~1\REMOBJ~1\Pascal Script for Delphi\Dcu\D10";"C:\Codigo~2\Lib\DevExpressVCL";"C:\Codigo~2\Lib\FastReport3";"C:\Codigo~2\Lib\GUISDK";"C:\Codigo~2\Lib\PngComponents";"C:\Codigo~2\Lib\cxIntlPrintSys3";"C:\Codigo~2\Lib\cxIntl5";"C:\Codigo~2\Lib\TB2k+TBX";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source\DataSnap";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source\CodeGen";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source\RODEC";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source\Synapse";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source\ZLib";"C:\Archiv~1\REMOBJ~1\Data Abstract for Delphi\Source";"C:\Archiv~1\REMOBJ~1\Data Abstract for Delphi\Source\Drivers";"C:\Archiv~1\REMOBJ~1\Data Abstract for Delphi\Source\IDE";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source\RODX";"C:\Archiv~1\REMOBJ~1\Pascal Script for Delphi\Source";"C:\Codigo~2\Lib\JCL";"C:\Codigo~2\Lib\jvcl";"C:\Codigo~2\Lib\JSDialog" +-U..\Lib;..\Modulos\Lib;"C:\Archiv~1\EurekaLog 6\Delphi11";"c:\Archiv~1\codegear\rad studio\5.0\lib";"C:\Documents and Settings\Usuario\Mis documentos\RADSTU~1\5.0\Imports";"c:\Archiv~1\codegear\rad studio\5.0\Imports";"c:\Archiv~1\codegear\rad studio\5.0\Lib\Indy10";"C:\Documents and Settings\All Users\Documentos\RADSTU~1\5.0\Dcp";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Dcu\D10";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source";"C:\Archiv~1\REMOBJ~1\Everwood\Bin";"C:\Archiv~1\REMOBJ~1\Data Abstract for Delphi\Dcu\D10";"C:\Archiv~1\REMOBJ~1\Pascal Script for Delphi\Dcu\D10";"C:\Codigo~2\Lib\DevExpressVCL";"C:\Codigo~2\Lib\FastReport3";"C:\Codigo~2\Lib\GUISDK";"C:\Codigo~2\Lib\PngComponents";"C:\Codigo~2\Lib\cxIntlPrintSys3";"C:\Codigo~2\Lib\cxIntl5";"C:\Codigo~2\Lib\TB2k+TBX";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source\DataSnap";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source\CodeGen";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source\RODEC";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source\Synapse";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source\ZLib";"C:\Archiv~1\REMOBJ~1\Data Abstract for Delphi\Source";"C:\Archiv~1\REMOBJ~1\Data Abstract for Delphi\Source\Drivers";"C:\Archiv~1\REMOBJ~1\Data Abstract for Delphi\Source\IDE";"C:\Archiv~1\REMOBJ~1\RemObjects SDK for Delphi\Source\RODX";"C:\Archiv~1\REMOBJ~1\Pascal Script for Delphi\Source";"C:\Codigo~2\Lib\JCL";"C:\Codigo~2\Lib\jvcl";"C:\Codigo~2\Lib\JSDialog" +--no-config +-$O- +-$W+ FactuGES.dpr + +:exit + + + diff --git a/Source/Modulos/Contactos/Controller/Contactos_controller.drc b/Source/Modulos/Contactos/Controller/Contactos_controller.drc index 5ecf992c..eeee0c01 100644 --- a/Source/Modulos/Contactos/Controller/Contactos_controller.drc +++ b/Source/Modulos/Contactos/Controller/Contactos_controller.drc @@ -13,4 +13,4 @@ BEGIN END /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Controller\Contactos_controller.res */ -/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf22F.tmp */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Controller\Contactos_controller.drf */ diff --git a/Source/Modulos/Contactos/Controller/uClientesController.pas b/Source/Modulos/Contactos/Controller/uClientesController.pas index 4ae4bc63..1d8a7f28 100644 --- a/Source/Modulos/Contactos/Controller/uClientesController.pas +++ b/Source/Modulos/Contactos/Controller/uClientesController.pas @@ -23,7 +23,6 @@ type TClientesController = class(TContactosController, IClientesController) protected FDireccionesController : IDireccionesContactoController; - procedure AsignarID(AContacto: IBizContacto; const IDNuevo: Integer); override; function ValidarContacto(AContacto: IBizContacto): Boolean; override; public constructor Create; override; @@ -57,21 +56,6 @@ uses { TClientesController } -procedure TClientesController.AsignarID(AContacto: IBizContacto; - const IDNuevo: Integer); -begin - if not Assigned(AContacto) then - raise Exception.Create ('Contacto no asignado'); - - { Los datos de descuentos hay que comprobarlos siempre - tanto en inserción como en modificación. } - with (AContacto as IBizCliente) do - if Assigned(Descuentos) then - AsignarIDDetalles(AContacto, IDNuevo, Descuentos.DataTable); - - inherited; -end; - function TClientesController.Buscar(const ID: Integer): IBizContacto; begin Result := (FDataModule as IDataModuleClientes).GetItem(ID); diff --git a/Source/Modulos/Contactos/Controller/uContactosController.pas b/Source/Modulos/Contactos/Controller/uContactosController.pas index 976d4256..10e424c8 100644 --- a/Source/Modulos/Contactos/Controller/uContactosController.pas +++ b/Source/Modulos/Contactos/Controller/uContactosController.pas @@ -32,9 +32,6 @@ type TContactosController = class(TInterfacedObject, IContactosController) protected FDataModule : IDataModuleContactos; - procedure AsignarID(AContacto: IBizContacto; const IDNuevo : Integer); virtual; - procedure AsignarIDDetalles(AContacto: IBizContacto; - const IDCabecera : Integer; ADataTable : TDADataTable); procedure FiltrarEmpresa(AContacto : IBizContacto); virtual; function _Vacio : IBizContacto; virtual; function ValidarContacto(AContacto : IBizContacto): Boolean; virtual; @@ -75,55 +72,6 @@ begin AContacto.Insert; end; -procedure TContactosController.AsignarID(AContacto: IBizContacto; const IDNuevo : Integer); -begin - if not Assigned(AContacto) then - raise Exception.Create ('Contacto no asignado'); - - if AContacto.EsNuevo then - begin - { ¡¡¡ OJO !!! - Primero cambiamos el ID de las tablas detalles - porque si cambiamos antes el ID de la cabecera - deja de funcionar la relacion M/D y no - encontraríamos las filas detalle. - - --> MASTER.ID = DETAIL.ID_CONTACTO <-- - } - - with AContacto._Categorias do - begin - if not DataTable.Active then - DataTable.Active := True; - Insert; - ID_CONTACTO := IDNuevo; - ID_CATEGORIA := AContacto.ID_CATEGORIA; - Post; - end; - end; - - { Los datos bancarios hay que comprobarlos siempre - tanto en inserción como en modificación. } - if Assigned(AContacto.DatosBancarios) then - AsignarIDDetalles(AContacto, IDNuevo, AContacto.DatosBancarios.DataTable); - - - { Las direcciones extras hay que comprobarlas siempre - tanto en inserción como en modificación. } - if Assigned(AContacto.Direcciones) then - AsignarIDDetalles(AContacto, IDNuevo, AContacto.Direcciones.DataTable); - - - if AContacto.EsNuevo then - begin - AContacto.Edit; - AContacto.ID := IDNuevo; - AContacto.ID_EMPRESA := dmUsuarios.IDEmpresaActual; - AContacto.Post; - end; -end; - - function TContactosController.Duplicar(AContacto: IBizContacto): IBizContacto; begin Result := Self._Vacio; @@ -247,14 +195,7 @@ begin begin ShowHourglassCursor; try - if AContacto.EsNuevo then - NuevoID := FDataModule.GetNextID(AContacto.DataTable.LogicalName) - else - NuevoID := AContacto.ID; - - AsignarID(AContacto, NuevoID); AContacto.DataTable.ApplyUpdates; - Result := True; finally HideHourglassCursor; @@ -281,67 +222,6 @@ begin end; end; -procedure TContactosController.AsignarIDDetalles (AContacto: IBizContacto; const IDCabecera : Integer; ADataTable : TDADataTable); -var - AContador : Integer; -begin - if not ADataTable.Active then - ADataTable.Active := True; - - if AContacto.EsNuevo then - begin - { ¡¡¡¡ OJO !!!! - Para asignar el ID en los detalles hay - que tener en cuenta una cosa: - Si se cambia el ID, ese detalle ya no - pertenece a esa cabecera porque ya no se - cumple la condición de la relacion: - Master.ID = Detail.ID_CONTACTO. - - Por esa razón no sirve hacer un recorrido - desde el principio hasta el final porque - las detalles van desapareciendo según asignamos - el valor al campo ID y nos mueve aleatoriamente - la posición del registro actual. - - Es mejor hacer un bucle sencillo hasta que - "se gasten" todos los detalles. Cuando el - RecordCount llegue a 0 quiere decir que hemos - tratado todos los detalles. - } - while ADataTable.RecordCount > 0 do - begin - ADataTable.First; - ADataTable.Edit; - ADataTable.FieldByName('ID').AsInteger := FDataModule.GetNextID(ADataTable.LogicalName); -// ADataTable.FieldByName('ID_CONTACTO').AsInteger := IDCabecera; - //OJO SI UN DIA SON VARIOS LOS CAMPOS FORANEOS, SOLO FUNCIONA CUANDO ES UN ÚNICO CAMPO DE CLAVE FORANEA - ADataTable.FieldByName(ADataTable.DetailFields).AsInteger := IDCabecera; - ADataTable.Post; - end; - end - else begin - { En este caso es un recorrido normal y corriente. } - ADataTable.First; - AContador := ADataTable.RecordCount; - - while (AContador > 0) do - begin - // ¿Es nuevo? - if (ADataTable.FieldByName('ID').AsInteger < 0) then - begin - ADataTable.Edit; - ADataTable.FieldByName('ID').AsInteger := FDataModule.GetNextID(ADataTable.LogicalName); - ADataTable.Post; - end; - AContador := AContador - 1; - ADataTable.Next; - end; - ADataTable.First; - end; -end; - - function TContactosController.ValidarContacto(AContacto: IBizContacto): Boolean; begin Result := False; @@ -374,11 +254,11 @@ begin AContacto.DataTable.Active := False; // Filtrar los contactos actuales por empresa - with AContacto.DataTable.Where do + with AContacto.DataTable.DynamicWhere do begin - if NotEmpty then - AddOperator(opAND); - AddCondition(fld_ContactosID_EMPRESA, cEqual, dmUsuarios.IDEmpresaActual); + // (ID = :ID) + Expression := NewBinaryExpression(NewField('', fld_ContactosID_EMPRESA), + NewConstant(dmUsuarios.IDEmpresaActual, datInteger), dboEqual); end; end; diff --git a/Source/Modulos/Contactos/Controller/uDireccionesContactoController.pas b/Source/Modulos/Contactos/Controller/uDireccionesContactoController.pas index f022881b..4aebd33a 100644 --- a/Source/Modulos/Contactos/Controller/uDireccionesContactoController.pas +++ b/Source/Modulos/Contactos/Controller/uDireccionesContactoController.pas @@ -9,7 +9,6 @@ uses type IDireccionesContactoController = interface ['{9B6CB172-F32C-414F-A0E2-99920CAF88FB}'] - procedure AsignarID(ADetalles: IBizDireccionesContacto; IDCabecera: Integer; AEsNuevo:Boolean); procedure CopiarDireccionFiscal(AContacto: IBizContacto; ADireccion: IBizDireccionesContacto; AAnadir : Boolean = True); procedure Ver(ADireccion : IBizDireccionesContacto); function Localizar(ADirecciones: IBizDireccionesContacto; const ID : Integer): Boolean; @@ -21,7 +20,6 @@ type public procedure CopiarDireccionFiscal(AContacto: IBizContacto; ADireccion: IBizDireccionesContacto; AAnadir : Boolean = True); procedure Ver(ADireccion : IBizDireccionesContacto); - procedure AsignarID(ADetalles: IBizDireccionesContacto; IDCabecera: Integer; AEsNuevo:Boolean); function Localizar(ADirecciones: IBizDireccionesContacto; const ID : Integer): Boolean; constructor Create; virtual; destructor Destroy; override; @@ -35,74 +33,6 @@ uses uDataModuleContactos, schContactosClient_Intf, uIEditorDireccionContacto, uEditorRegistryUtils, cxControls; -procedure TDireccionesContactoController.AsignarID( - ADetalles: IBizDireccionesContacto; IDCabecera: Integer; - AEsNuevo: Boolean); -begin - with ADetalles do - begin - DataTable.DisableControls; - try - if not DataTable.Active then - DataTable.Active := True; - -// AuxPosicion := POSICION; - - { ¡¡¡¡ OJO !!!! - Para asignar el ID en los detalles hay - que tener en cuenta una cosa: - Si se cambia el ID, ese detalle ya no - pertenece a esa cabecera porque ya no se - cumple la condición de la relacion: - Master.ID = Detail.ID_PRESUPUESTO. - - Por esa razón no sirve hacer un recorrido - desde el principio hasta el final porque - las detalles van desapareciendo según asignamos - el valor al campo ID y nos mueve aleatoriamente - la posición del registro actual. - - Es mejor hacer un bucle sencillo hasta que - "se gasten" todos los detalles. Cuando el - RecordCount llegue a 0 quiere decir que hemos - tratado todos los detalles. - - El bucle cambia en el caso de ser llamada esta funcion desde modificar - un presupuesto ya que en ese caso si que hay que hacer un recorrido - total de las tuplas de detalle. - } - - if AEsNuevo then - begin - while RecordCount > 0 do - begin - DataTable.First; - Edit; - ID := FDataModule.GetNextID(DataTable.LogicalName); - ID_CONTACTO := IDCabecera; - Post - end - end - else - begin - DataTable.First; - while not DataTable.EOF do - begin - if AEsNuevo then - begin - Edit; - ID := FDataModule.GetNextID(DataTable.LogicalName); - ID_CONTACTO := IDCabecera; - Post - end; - DataTable.Next - end; - end; - finally - DataTable.EnableControls; - end; - end; -end; procedure TDireccionesContactoController.CopiarDireccionFiscal( AContacto: IBizContacto; ADireccion: IBizDireccionesContacto; diff --git a/Source/Modulos/Contactos/Controller/uEmpleadosController.pas b/Source/Modulos/Contactos/Controller/uEmpleadosController.pas index 2fdb23b8..426625fa 100644 --- a/Source/Modulos/Contactos/Controller/uEmpleadosController.pas +++ b/Source/Modulos/Contactos/Controller/uEmpleadosController.pas @@ -17,9 +17,6 @@ type end; TEmpleadosController = class(TContactosController, IEmpleadosController) - protected - procedure AsignarID(AContacto: IBizContacto; const IDNuevo: Integer); override; - public constructor Create; override; @@ -47,15 +44,6 @@ uses { TEmpleadoController } -procedure TEmpleadosController.AsignarID(AContacto: IBizContacto; - const IDNuevo: Integer); -begin - if not Assigned(AContacto) then - raise Exception.Create ('Contacto no asignado'); - - inherited; -end; - function TEmpleadosController.Buscar(const ID: Integer): IBizContacto; begin Result := (FDataModule as IDataModuleEmpleados).GetItem(ID); diff --git a/Source/Modulos/Contactos/Data/Contactos_data.dproj b/Source/Modulos/Contactos/Data/Contactos_data.dproj index d075a5fb..09e59b1d 100644 --- a/Source/Modulos/Contactos/Data/Contactos_data.dproj +++ b/Source/Modulos/Contactos/Data/Contactos_data.dproj @@ -42,13 +42,19 @@ Delphi.Personality Package -FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0Contactos_data.dpk +FalseTrueFalseTrueFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0Contactos_data.dpk MainSource + + + + + +
DataModuleClientes
@@ -63,3 +69,487 @@
+ + diff --git a/Source/Modulos/Contactos/Data/Contactos_data.drc b/Source/Modulos/Contactos/Data/Contactos_data.drc index 028e6174..6e1f8f4e 100644 --- a/Source/Modulos/Contactos/Data/Contactos_data.drc +++ b/Source/Modulos/Contactos/Data/Contactos_data.drc @@ -12,9 +12,9 @@ STRINGTABLE BEGIN END -/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\uDataModuleContactos.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\uDataModuleContactos.DFM */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\uDataModuleClientes.dfm */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\uDataModuleProveedores.dfm */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\uDataModuleEmpleados.dfm */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\Contactos_data.res */ -/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf22D.tmp */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\Contactos_data.drf */ diff --git a/Source/Modulos/Contactos/Data/Contactos_data.res b/Source/Modulos/Contactos/Data/Contactos_data.res index 8b251f312bcccec5485024f6fe8d80e1cdf25746..1641339fcc482e7e3492d1b45813a86619622c33 100644 GIT binary patch literal 4748 zcmbW5&ub)A5XUPdpe&2#;C*uNAUVhgd+&(4um@dnom`vXF9g}ZuHJ;se=<3UNdFJg zbCw+UD9j$byGIXV`~6hC>h4S?F|k9X-j90q{Z_qtZ<;nUJCO8!h?p${kR>3GhM`oH*q zk=UsjOCIgA_4!`B+Gb&`I84R)bT4dy-BQV<-SyFz?R8ILEQ(+JB$u{sEXE@j@B*7W zT;iZH#|OJ<&DO$RCkM6VbK3(B(k{nbdv1lpc;E$xz9as|v3uE1V{hw2w~g3eD0an7 z{BT%G%irdMe*|oDJmgvJaA2`9B<6Xi*?M~Q;)@Sbfwf3uf zVaWkbUjU=;sL{BlYemIZXv%qZ{SZw{-TCU+;!nH6KDDIJumU+9{E0zXW4>7T)y|>$DQlv zRJe?TjSp{c!DqeayAnSMTtZZT;>LN7J0Rls+5m@q)MbyB*eL%Eu@(+$Cw}Pd@q7N| z%Q0*AHpCP^b9v`@jx-l_FD>khpW2W8(OU2&V5TrnoAY-m_hlcV?zq3;7{2gF{J#Hc z6R+o~mVenX?>@W0@_DVzyOFs(5464CY{!q9ChoF#_*eXi@4gFuV8?vhl=_w5$iKL0 zEV0nMBcN08xtRmsgJrqjh@s#|{?*ssnsG)mH*wa6{efF0JFWHok@kA5%b661{B38= zCcgJ|*ZFTpV$8<-&+AWpa)Q8*`wL&hMeNQ^v6I7$HSdLZhZ^&+6<@Uw_Zsml9^v3W zVvPDBKHh;i=RU4J_ta3E;)Mn>Y+L zKLZ0UQ+*km9FO-b?U4gmn-62iwzH6&*duKGo~aUV)bYDla8wWZ9+^7p-F<8lP@i!m z@vhbD_${F}h>^T;C(?(b*OJDk?{dEXB?nuehoON3HAb!7Mr7-ls!84-5V-jJugbu<_$}mU=Yd9!?TOX;|B-#B)+0x#9q*yqJiqS!`49d=7ztk$O+9=1i;?K_|J<8T z?0b7=-`Z3A#vV$4XJ5(lQ~TOZHUFdA%oWvK5zg&_IKXIbughQBA8XAsd#=@|TFLXC zy(^m((;DnQmDQKatmw!@c`| G?EMQ&4NnpP delta 11 ScmeBCZD5|Duvteife`=|>;pCc diff --git a/Source/Modulos/Contactos/Data/uDataModuleClientes.dfm b/Source/Modulos/Contactos/Data/uDataModuleClientes.dfm index 78190c09..c23f3a3a 100644 --- a/Source/Modulos/Contactos/Data/uDataModuleClientes.dfm +++ b/Source/Modulos/Contactos/Data/uDataModuleClientes.dfm @@ -1,27 +1,31 @@ inherited DataModuleClientes: TDataModuleClientes - Height = 433 - Width = 705 + Height = 325 + Width = 636 + inherited rda_Contactos: TDARemoteDataAdapter + Top = 79 + end + inherited Bin2DataStreamer: TDABin2DataStreamer + Top = 136 + end inherited ds_Contactos: TDADataSource DataSet = tbl_Contactos.Dataset end inherited ds_ContactosCategorias: TDADataSource DataSet = tbl_ContactosCategorias.Dataset end - inherited ds_DatosBancarios: TDADataSource - DataSet = tbl_DatosBancarios.Dataset - end inherited ds_DireccionesContacto: TDADataSource DataSet = tbl_DireccionesContacto.Dataset end - inherited rda_Contactos: TDARemoteDataAdapter - Top = 79 + inherited ds_DatosBancarios: TDADataSource + DataSet = tbl_DatosBancarios.Dataset end - object tbl_Clientes: TDACDSDataTable + object tbl_Clientes: TDAMemDataTable RemoteUpdatesOptions = [] Fields = < item Name = 'ID' DataType = datAutoInc + GeneratorName = 'GEN_CONTACTOS_ID' DictionaryEntry = 'Contactos_ID' InPrimaryKey = True end @@ -42,16 +46,10 @@ inherited DataModuleClientes: TDataModuleClientes Name = 'NOMBRE' DataType = datString Size = 255 + Required = True DisplayLabel = 'Nombre' DictionaryEntry = 'Contactos_NOMBRE' end - item - Name = 'CALLE' - DataType = datString - Size = 255 - DisplayLabel = 'Direcci'#243'n' - DictionaryEntry = 'Contactos_CALLE' - end item Name = 'PERSONA_CONTACTO' DataType = datString @@ -59,11 +57,18 @@ inherited DataModuleClientes: TDataModuleClientes DisplayLabel = 'Persona de contacto' DictionaryEntry = 'Contactos_PERSONA_CONTACTO' end + item + Name = 'CALLE' + DataType = datString + Size = 255 + DisplayLabel = 'Direcci'#195#179'n' + DictionaryEntry = 'Contactos_CALLE' + end item Name = 'POBLACION' DataType = datString Size = 255 - DisplayLabel = 'Poblaci'#243'n' + DisplayLabel = 'Poblaci'#195#179'n' DictionaryEntry = 'Contactos_POBLACION' end item @@ -77,7 +82,7 @@ inherited DataModuleClientes: TDataModuleClientes Name = 'CODIGO_POSTAL' DataType = datString Size = 10 - DisplayLabel = 'C'#243'digo postal' + DisplayLabel = 'C'#195#179'digo postal' DictionaryEntry = 'Contactos_CODIGO_POSTAL' end item @@ -98,7 +103,7 @@ inherited DataModuleClientes: TDataModuleClientes Name = 'MOVIL_1' DataType = datString Size = 25 - DisplayLabel = 'M'#243'vil' + DisplayLabel = 'M'#195#179'vil' DictionaryEntry = 'Contactos_MOVIL_1' end item @@ -142,6 +147,14 @@ inherited DataModuleClientes: TDataModuleClientes DisplayLabel = 'Observaciones' DictionaryEntry = 'Contactos_NOTAS' end + item + Name = 'FECHA_ALTA' + DataType = datDateTime + end + item + Name = 'FECHA_MODIFICACION' + DataType = datDateTime + end item Name = 'USUARIO' DataType = datString @@ -160,34 +173,6 @@ inherited DataModuleClientes: TDataModuleClientes Size = 255 DictionaryEntry = 'Clientes_REFERENCIA' end - item - Name = 'ID_TIPO_IVA' - DataType = datInteger - DictionaryEntry = 'Clientes_ID_TIPO_IVA' - end - item - Name = 'REGIMEN_IVA' - DataType = datString - Size = 255 - DisplayLabel = 'R'#233'gimen de IVA' - DictionaryEntry = 'Clientes_REGIMEN_IVA' - end - item - Name = 'ID_FORMA_PAGO' - DataType = datInteger - DictionaryEntry = 'Clientes_ID_FORMA_PAGO' - end - item - Name = 'TIENDA_WEB' - DataType = datInteger - DictionaryEntry = 'Clientes_TIENDA_WEB' - end - item - Name = 'RECARGO_EQUIVALENCIA' - DataType = datInteger - DisplayLabel = 'Rec. equiv.' - DictionaryEntry = 'Clientes_RECARGO_EQUIVALENCIA' - end item Name = 'GRUPO_CLIENTE' DataType = datString @@ -210,40 +195,67 @@ inherited DataModuleClientes: TDataModuleClientes end item Name = 'BLOQUEADO' - DataType = datInteger - DisplayLabel = #191'Bloqueado?' + DataType = datSmallInt + DisplayLabel = #194#191'Bloqueado?' DictionaryEntry = 'Clientes_BLOQUEADO' end + item + Name = 'REGIMEN_IVA' + DataType = datString + Size = 255 + DisplayLabel = 'R'#195#169'gimen de IVA' + DictionaryEntry = 'Clientes_REGIMEN_IVA' + end item Name = 'MOTIVO_BLOQUEO' DataType = datString Size = 255 DisplayLabel = 'Motivo del bloqueo' DictionaryEntry = 'Clientes_MOTIVO_BLOQUEO' + end + item + Name = 'RECARGO_EQUIVALENCIA' + DataType = datInteger + DisplayLabel = 'Rec. equiv.' + DictionaryEntry = 'Clientes_RECARGO_EQUIVALENCIA' + end + item + Name = 'ID_TIPO_IVA' + DataType = datInteger + DictionaryEntry = 'Clientes_ID_TIPO_IVA' + end + item + Name = 'ID_FORMA_PAGO' + DataType = datInteger + DictionaryEntry = 'Clientes_ID_FORMA_PAGO' + end + item + Name = 'TIENDA_WEB' + DataType = datSmallInt + DictionaryEntry = 'Clientes_TIENDA_WEB' end> Params = <> - MasterMappingMode = mmDataRequest StreamingOptions = [soDisableEventsWhileStreaming] - RemoteDataAdapter = rda_clientes + RemoteDataAdapter = rda_Contactos DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'Clientes' - IndexDefs = <> - Left = 288 - Top = 184 + Left = 296 + Top = 168 end object ds_Clientes: TDADataSource DataSet = tbl_Clientes.Dataset DataTable = tbl_Clientes - Left = 288 - Top = 304 + Left = 296 + Top = 232 end - object tbl_ClientesDescuentos: TDACDSDataTable + object tbl_ClientesDescuentos: TDAMemDataTable RemoteUpdatesOptions = [] Fields = < item Name = 'ID' - DataType = datInteger + DataType = datAutoInc + GeneratorName = 'GEN_CLIENTES_DTOS_PROV_ID' DictionaryEntry = 'ClientesDescuentos_ID' InPrimaryKey = True end @@ -273,86 +285,47 @@ inherited DataModuleClientes: TDataModuleClientes Alignment = taRightJustify DictionaryEntry = 'ClientesDescuentos_DESCUENTO' end> - Params = < - item - Name = 'ID_CLIENTE' - DataType = datInteger - Value = 1018 - ParamType = daptInput - end> - MasterParamsMappings.Strings = ( - 'ID_CLIENTE=ID') + Params = <> + MasterMappingMode = mmWhere StreamingOptions = [soDisableEventsWhileStreaming] - RemoteDataAdapter = rda_clientesDescuentos + RemoteDataAdapter = rda_Contactos MasterSource = ds_Clientes MasterFields = 'ID' DetailFields = 'ID_CLIENTE' DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'ClientesDescuentos' - IndexDefs = <> - Left = 392 - Top = 184 + Left = 448 + Top = 168 end object ds_ClientesDescuentos: TDADataSource DataSet = tbl_ClientesDescuentos.Dataset DataTable = tbl_ClientesDescuentos - Left = 384 - Top = 304 + Left = 448 + Top = 224 end - object tbl_GruposCliente: TDACDSDataTable + object tbl_GruposCliente: TDAMemDataTable RemoteUpdatesOptions = [] Fields = < item Name = 'DESCRIPCION' DataType = datString Size = 255 + DisplayLabel = 'Descripci'#195#179'n' end> Params = <> - MasterMappingMode = mmDataRequest StreamingOptions = [soDisableEventsWhileStreaming] - RemoteDataAdapter = rda_GruposCliente + RemoteDataAdapter = rda_Contactos DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'GruposCliente' - IndexDefs = <> - Left = 512 - Top = 184 + Left = 552 + Top = 168 end object ds_GruposCliente: TDADataSource DataSet = tbl_GruposCliente.Dataset DataTable = tbl_GruposCliente - Left = 512 - Top = 304 - end - object rda_clientes: TDARemoteDataAdapter - GetSchemaCall.RemoteService = RORemoteService - GetDataCall.RemoteService = RORemoteService - UpdateDataCall.RemoteService = RORemoteService - GetScriptsCall.RemoteService = RORemoteService - RemoteService = RORemoteService - DataStreamer = DataStreamer - Left = 291 - Top = 239 - end - object rda_clientesDescuentos: TDARemoteDataAdapter - GetSchemaCall.RemoteService = RORemoteService - GetDataCall.RemoteService = RORemoteService - UpdateDataCall.RemoteService = RORemoteService - GetScriptsCall.RemoteService = RORemoteService - RemoteService = RORemoteService - DataStreamer = DataStreamer - Left = 395 - Top = 239 - end - object rda_GruposCliente: TDARemoteDataAdapter - GetSchemaCall.RemoteService = RORemoteService - GetDataCall.RemoteService = RORemoteService - UpdateDataCall.RemoteService = RORemoteService - GetScriptsCall.RemoteService = RORemoteService - RemoteService = RORemoteService - DataStreamer = DataStreamer - Left = 515 - Top = 239 + Left = 552 + Top = 224 end end diff --git a/Source/Modulos/Contactos/Data/uDataModuleClientes.pas b/Source/Modulos/Contactos/Data/uDataModuleClientes.pas index a57de352..12fc6737 100644 --- a/Source/Modulos/Contactos/Data/uDataModuleClientes.pas +++ b/Source/Modulos/Contactos/Data/uDataModuleClientes.pas @@ -9,19 +9,17 @@ uses uROClient, uROBinMessage, uROWinInetHttpChannel, uBizClientesDescuentos, uBizGruposCliente, uBizContactos, uDataModuleContactos, uIDataModuleClientes, uDADesigntimeCall, uDARemoteDataAdapter, - uDADataStreamer, uRODynamicRequest, uDAInterfaces; + uDADataStreamer, uRODynamicRequest, uDAInterfaces, uDAMemDataTable, + uDABin2DataStreamer; type TDataModuleClientes = class(TDataModuleContactos, IDataModuleClientes) - tbl_Clientes: TDACDSDataTable; + tbl_Clientes: TDAMemDataTable; ds_Clientes: TDADataSource; - tbl_ClientesDescuentos: TDACDSDataTable; + tbl_ClientesDescuentos: TDAMemDataTable; ds_ClientesDescuentos: TDADataSource; - tbl_GruposCliente: TDACDSDataTable; + tbl_GruposCliente: TDAMemDataTable; ds_GruposCliente: TDADataSource; - rda_clientes: TDARemoteDataAdapter; - rda_clientesDescuentos: TDARemoteDataAdapter; - rda_GruposCliente: TDARemoteDataAdapter; protected function _GetDescuentos: IBizClienteDescuentos; public @@ -29,7 +27,6 @@ type function NewItem : IBizCliente; function GetItems : IBizCliente; function GetItemsTiendaWeb : IBizCliente; - function GetNextID(const DataSetName : String) : Integer; override; function GetGruposCliente : IBizGrupoCliente; end; @@ -45,11 +42,11 @@ uses function TDataModuleClientes.GetGruposCliente: IBizGrupoCliente; var - AGrupoCliente : TDACDSDataTable; + AGrupoCliente : TDAMemDataTable; begin ShowHourglassCursor; try - AGrupoCliente := _CloneDataTable(tbl_GruposCliente); + AGrupoCliente := CloneDataTable(tbl_GruposCliente); AGrupoCliente.BusinessRulesID := BIZ_CLIENT_GRUPOSCLIENTE; Result := (AGrupoCliente as IBizGrupoCliente); finally @@ -62,13 +59,12 @@ begin ShowHourglassCursor; try Result := Self.GetItems; - with Result.DataTable.Where do + with Result.DataTable.DynamicWhere do begin - if NotEmpty then - AddOperator(opAND); - OpenBraket; - AddText(fld_ContactosID + ' = ' + IntToStr(ID)); - CloseBraket; + Clear; + // (ID = :ID) + Expression := NewBinaryExpression(NewField('', fld_ContactosID), + NewConstant(ID, datInteger), dboEqual); end; finally HideHourglassCursor; @@ -77,11 +73,11 @@ end; function TDataModuleClientes.GetItems: IBizCliente; var - AContacto : TDACDSDataTable; + AContacto : TDAMemDataTable; begin ShowHourglassCursor; try - AContacto := _CloneDataTable(tbl_Clientes); + AContacto := CloneDataTable(tbl_Clientes); AContacto.BusinessRulesID := BIZ_CLIENT_CLIENTE; with TBizCliente(AContacto.BusinessEventsObj) do @@ -103,39 +99,18 @@ begin ShowHourglassCursor; try Result := Self.GetItems; - with Result.DataTable.Where do + with Result.DataTable.DynamicWhere do begin - if NotEmpty then - AddOperator(opAND); - OpenBraket; - AddText(fld_ClientesTIENDA_WEB + ' = 1'); - CloseBraket; + Clear; + // (TIENDA_WEB = 1) + Expression := NewBinaryExpression(NewField('', fld_ClientesTIENDA_WEB), + NewConstant(1, datInteger), dboEqual); end; finally HideHourglassCursor; end; end; -function TDataModuleClientes.GetNextID(const DataSetName: String): Integer; -var - aDataSet : String; - aGeneratorName : String; -begin - aDataSet := DataSetName; - - if aDataSet = nme_ClientesDescuentos then - begin - aGeneratorName := 'GEN_CLIENTES_DTOS_PROV_ID'; - Result := _InternalGetNextID(aGeneratorName); - Exit; - end; - - if aDataSet = nme_Clientes then - aDataSet := nme_Contactos; - - Result := inherited GetNextID(aDataSet); -end; - function TDataModuleClientes.NewItem: IBizCliente; begin Result := GetItem(ID_NULO) @@ -143,11 +118,11 @@ end; function TDataModuleClientes._GetDescuentos: IBizClienteDescuentos; var - ADescuentos : TDACDSDataTable; + ADescuentos : TDAMemDataTable; begin ShowHourglassCursor; try - ADescuentos := _CloneDataTable(tbl_ClientesDescuentos); + ADescuentos := CloneDataTable(tbl_ClientesDescuentos); with ADescuentos do begin BusinessRulesID := BIZ_CLIENT_CLIENTE_DESCUENTOS; diff --git a/Source/Modulos/Contactos/Data/uDataModuleContactos.dfm b/Source/Modulos/Contactos/Data/uDataModuleContactos.dfm index f1934dae..28154fde 100644 --- a/Source/Modulos/Contactos/Data/uDataModuleContactos.dfm +++ b/Source/Modulos/Contactos/Data/uDataModuleContactos.dfm @@ -1,29 +1,42 @@ object DataModuleContactos: TDataModuleContactos OldCreateOrder = True OnCreate = DAClientDataModuleCreate - Height = 420 - Width = 527 + Height = 309 + Width = 570 object RORemoteService: TRORemoteService - Message = ROBinMessage1 - Channel = ROWinInetHTTPChannel1 + Message = dmConexion.ROMessage + Channel = dmConexion.ROChannel ServiceName = 'srvContactos' Left = 40 Top = 16 end - object tbl_Contactos: TDACDSDataTable + object rda_Contactos: TDARemoteDataAdapter + GetSchemaCall.RemoteService = RORemoteService + GetDataCall.RemoteService = RORemoteService + UpdateDataCall.RemoteService = RORemoteService + GetScriptsCall.RemoteService = RORemoteService + RemoteService = RORemoteService + DataStreamer = Bin2DataStreamer + Left = 43 + Top = 143 + end + object Bin2DataStreamer: TDABin2DataStreamer + Left = 40 + Top = 72 + end + object tbl_Contactos: TDAMemDataTable RemoteUpdatesOptions = [] Fields = < item Name = 'ID' DataType = datAutoInc + GeneratorName = 'GEN_CONTACTOS_ID' DictionaryEntry = 'Contactos_ID' InPrimaryKey = True end item Name = 'ID_CATEGORIA' DataType = datInteger - DisplayLabel = 'Contactos_ID_CATEGORIA' - DictionaryEntry = 'Contactos_ID_CATEGORIA' end item Name = 'NIF_CIF' @@ -36,6 +49,7 @@ object DataModuleContactos: TDataModuleContactos Name = 'NOMBRE' DataType = datString Size = 255 + Required = True DisplayLabel = 'Nombre' DictionaryEntry = 'Contactos_NOMBRE' end @@ -50,14 +64,14 @@ object DataModuleContactos: TDataModuleContactos Name = 'CALLE' DataType = datString Size = 255 - DisplayLabel = 'Direcci'#243'n' + DisplayLabel = 'Direcci'#195#179'n' DictionaryEntry = 'Contactos_CALLE' end item Name = 'POBLACION' DataType = datString Size = 255 - DisplayLabel = 'Poblaci'#243'n' + DisplayLabel = 'Poblaci'#195#179'n' DictionaryEntry = 'Contactos_POBLACION' end item @@ -71,7 +85,7 @@ object DataModuleContactos: TDataModuleContactos Name = 'CODIGO_POSTAL' DataType = datString Size = 10 - DisplayLabel = 'C'#243'digo postal' + DisplayLabel = 'C'#195#179'digo postal' DictionaryEntry = 'Contactos_CODIGO_POSTAL' end item @@ -92,7 +106,7 @@ object DataModuleContactos: TDataModuleContactos Name = 'MOVIL_1' DataType = datString Size = 25 - DisplayLabel = 'M'#243'vil' + DisplayLabel = 'M'#195#179'vil' DictionaryEntry = 'Contactos_MOVIL_1' end item @@ -136,6 +150,18 @@ object DataModuleContactos: TDataModuleContactos DisplayLabel = 'Observaciones' DictionaryEntry = 'Contactos_NOTAS' end + item + Name = 'FECHA_ALTA' + DataType = datDateTime + DisplayLabel = 'Fecha de alta' + DictionaryEntry = 'Contactos_FECHA_ALTA' + end + item + Name = 'FECHA_MODIFICACION' + DataType = datDateTime + DisplayLabel = 'Fecha de modificaci'#195#179'n' + DictionaryEntry = 'Contactos_FECHA_MODIFICACION' + end item Name = 'USUARIO' DataType = datString @@ -146,7 +172,6 @@ object DataModuleContactos: TDataModuleContactos item Name = 'ID_EMPRESA' DataType = datInteger - DictionaryEntry = 'Contactos_ID_EMPRESA' end item Name = 'REFERENCIA' @@ -155,30 +180,22 @@ object DataModuleContactos: TDataModuleContactos DisplayLabel = 'Referencia' DictionaryEntry = 'Contactos_REFERENCIA' end> - Params = < - item - Name = 'ID_CATEGORIA' - DataType = datInteger - Value = '22' - ParamType = daptInput - end> - MasterMappingMode = mmDataRequest + Params = <> StreamingOptions = [soDisableEventsWhileStreaming] RemoteDataAdapter = rda_Contactos DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'Contactos' - IndexDefs = <> - Left = 168 + Left = 176 Top = 16 end object ds_Contactos: TDADataSource DataSet = tbl_Contactos.Dataset DataTable = tbl_Contactos - Left = 168 - Top = 128 + Left = 176 + Top = 80 end - object tbl_ContactosCategorias: TDACDSDataTable + object tbl_ContactosCategorias: TDAMemDataTable RemoteUpdatesOptions = [] Fields = < item @@ -191,140 +208,32 @@ object DataModuleContactos: TDataModuleContactos DataType = datInteger InPrimaryKey = True end> - Params = < - item - Name = 'ID_CONTACTO' - DataType = datInteger - Value = '444' - ParamType = daptInput - end> - MasterParamsMappings.Strings = ( - 'ID_CONTACTO=ID') + Params = <> + MasterMappingMode = mmWhere StreamingOptions = [soDisableEventsWhileStreaming] - RemoteDataAdapter = rda_ContactosCategorias + RemoteDataAdapter = rda_Contactos MasterSource = ds_Contactos MasterFields = 'ID' DetailFields = 'ID_CONTACTO' DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'ContactosCategorias' - IndexDefs = <> - Left = 288 + Left = 296 Top = 16 end object ds_ContactosCategorias: TDADataSource DataSet = tbl_ContactosCategorias.Dataset DataTable = tbl_ContactosCategorias - Left = 288 - Top = 128 + Left = 296 + Top = 80 end - object tbl_DatosBancarios: TDACDSDataTable - RemoteUpdatesOptions = [] - Fields = < - item - Name = 'ID' - DataType = datAutoInc - DictionaryEntry = 'DatosBancarios_ID' - InPrimaryKey = True - end - item - Name = 'ID_CONTACTO' - DataType = datInteger - DictionaryEntry = 'DatosBancarios_ID_CONTACTO' - end - item - Name = 'TITULAR' - DataType = datString - Size = 255 - DisplayLabel = 'Titular' - DictionaryEntry = 'DatosBancarios_TITULAR' - end - item - Name = 'ENTIDAD' - DataType = datString - Size = 15 - DisplayLabel = 'C'#243'digo de entidad' - DictionaryEntry = 'DatosBancarios_ENTIDAD' - end - item - Name = 'SUCURSAL' - DataType = datString - Size = 15 - DisplayLabel = 'C'#243'digo de sucursal' - DictionaryEntry = 'DatosBancarios_SUCURSAL' - end - item - Name = 'DC' - DataType = datString - Size = 15 - DisplayLabel = 'D'#237'gito de control' - DictionaryEntry = 'DatosBancarios_DC' - end - item - Name = 'CUENTA' - DataType = datString - Size = 15 - DisplayLabel = 'C'#243'digo de cuenta' - DictionaryEntry = 'DatosBancarios_CUENTA' - end> - Params = < - item - Name = 'ID_CONTACTO' - DataType = datInteger - Value = '' - ParamType = daptInput - end> - MasterParamsMappings.Strings = ( - 'ID_CONTACTO=ID') - StreamingOptions = [soDisableEventsWhileStreaming] - RemoteDataAdapter = rda_DatosBancarios - MasterSource = ds_Contactos - MasterFields = 'ID' - DetailFields = 'ID_CONTACTO' - DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] - MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] - LogicalName = 'DatosBancarios' - IndexDefs = <> - Left = 432 - Top = 16 - end - object ds_DatosBancarios: TDADataSource - DataSet = tbl_DatosBancarios.Dataset - DataTable = tbl_DatosBancarios - Left = 432 - Top = 128 - end - object DADesigntimeCall1: TDADesigntimeCall - RemoteService = LoginRemoteService - Params = <> - Left = 40 - Top = 176 - end - object LoginRemoteService: TRORemoteService - Message = ROBinMessage1 - Channel = ROWinInetHTTPChannel1 - ServiceName = 'srvLogin' - Left = 40 - Top = 232 - end - object ROWinInetHTTPChannel1: TROWinInetHTTPChannel - UserAgent = 'RemObjects SDK' - TargetURL = 'http://localhost:8099/bin' - ServerLocators = <> - DispatchOptions = [] - Left = 40 - Top = 288 - end - object ROBinMessage1: TROBinMessage - Left = 40 - Top = 340 - end - object tbl_DireccionesContacto: TDACDSDataTable + object tbl_DireccionesContacto: TDAMemDataTable RemoteUpdatesOptions = [] Fields = < item Name = 'ID' DataType = datAutoInc + GeneratorName = 'GEN_CONTACTOS_DIR_ID' DictionaryEntry = 'DireccionesContacto_ID' InPrimaryKey = True end @@ -333,13 +242,6 @@ object DataModuleContactos: TDataModuleContactos DataType = datInteger DictionaryEntry = 'DireccionesContacto_ID_CONTACTO' end - item - Name = 'NOMBRE' - DataType = datString - Size = 255 - DisplayLabel = 'DireccionesContacto_NOMBRE' - DictionaryEntry = 'DireccionesContacto_NOMBRE' - end item Name = 'CALLE' DataType = datString @@ -351,7 +253,7 @@ object DataModuleContactos: TDataModuleContactos Name = 'POBLACION' DataType = datString Size = 255 - DisplayLabel = 'Poblaci'#243'n' + DisplayLabel = 'Poblaci'#195#179'n' DictionaryEntry = 'DireccionesContacto_POBLACION' end item @@ -365,7 +267,7 @@ object DataModuleContactos: TDataModuleContactos Name = 'CODIGO_POSTAL' DataType = datString Size = 10 - DisplayLabel = 'C'#243'digo postal' + DisplayLabel = 'C'#195#179'digo postal' DictionaryEntry = 'DireccionesContacto_CODIGO_POSTAL' end item @@ -375,18 +277,25 @@ object DataModuleContactos: TDataModuleContactos DisplayLabel = 'Persona de contacto' DictionaryEntry = 'DireccionesContacto_PERSONA_CONTACTO' end + item + Name = 'NOMBRE' + DataType = datString + Size = 255 + DisplayLabel = 'DireccionesContacto_NOMBRE' + DictionaryEntry = 'DireccionesContacto_NOMBRE' + end item Name = 'TELEFONO' DataType = datString Size = 25 - DisplayLabel = 'Tel'#233'fono' + DisplayLabel = 'Tel'#195#169'fono' DictionaryEntry = 'DireccionesContacto_TELEFONO' end item Name = 'MOVIL' DataType = datString Size = 25 - DisplayLabel = 'M'#243'vil' + DisplayLabel = 'M'#195#179'vil' DictionaryEntry = 'Contactos_MOVIL_1' end item @@ -414,76 +323,109 @@ object DataModuleContactos: TDataModuleContactos DataType = datFloat DisplayLabel = 'Coste del porte' DictionaryEntry = 'DireccionesContacto_PORTE' - end> - Params = < + end item - Name = 'ID_CONTACTO' - DataType = datInteger - Value = '9' - ParamType = daptInput + Name = 'FECHA_ALTA' + DataType = datDateTime + end + item + Name = 'FECHA_MODIFICACION' + DataType = datDateTime end> - MasterParamsMappings.Strings = ( - 'ID_CONTACTO=ID') + Params = <> + MasterMappingMode = mmWhere StreamingOptions = [soDisableEventsWhileStreaming] - RemoteDataAdapter = rda_DireccionesContacto + RemoteDataAdapter = rda_Contactos MasterSource = ds_Contactos MasterFields = 'ID' DetailFields = 'ID_CONTACTO' DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'DireccionesContacto' - IndexDefs = <> - Left = 168 - Top = 208 + Left = 448 + Top = 16 end object ds_DireccionesContacto: TDADataSource DataSet = tbl_DireccionesContacto.Dataset DataTable = tbl_DireccionesContacto - Left = 168 - Top = 264 + Left = 448 + Top = 80 end - object DataStreamer: TDABinDataStreamer - Left = 40 - Top = 92 + object tbl_DatosBancarios: TDAMemDataTable + RemoteUpdatesOptions = [] + Fields = < + item + Name = 'ID' + DataType = datAutoInc + GeneratorName = 'GEN_CONTACTOS_DATOS_BANCO_ID' + DictionaryEntry = 'DatosBancarios_ID' + InPrimaryKey = True + end + item + Name = 'ID_CONTACTO' + DataType = datInteger + DictionaryEntry = 'DatosBancarios_ID_CONTACTO' + end + item + Name = 'TITULAR' + DataType = datString + Size = 255 + DisplayLabel = 'Titular' + DictionaryEntry = 'DatosBancarios_TITULAR' + end + item + Name = 'ENTIDAD' + DataType = datString + Size = 15 + DisplayLabel = 'C'#195#179'digo de entidad' + DictionaryEntry = 'DatosBancarios_ENTIDAD' + end + item + Name = 'SUCURSAL' + DataType = datString + Size = 15 + DisplayLabel = 'C'#195#179'digo de sucursal' + DictionaryEntry = 'DatosBancarios_SUCURSAL' + end + item + Name = 'DC' + DataType = datString + Size = 15 + DisplayLabel = 'D'#195#173'gito de control' + DictionaryEntry = 'DatosBancarios_DC' + end + item + Name = 'CUENTA' + DataType = datString + Size = 15 + DisplayLabel = 'C'#195#179'digo de cuenta' + DictionaryEntry = 'DatosBancarios_CUENTA' + end + item + Name = 'FECHA_ALTA' + DataType = datDateTime + end + item + Name = 'FECHA_MODIFICACION' + DataType = datDateTime + end> + Params = <> + MasterMappingMode = mmWhere + StreamingOptions = [soDisableEventsWhileStreaming] + RemoteDataAdapter = rda_Contactos + MasterSource = ds_Contactos + MasterFields = 'ID' + DetailFields = 'ID_CONTACTO' + DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] + MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] + LogicalName = 'DatosBancarios' + Left = 176 + Top = 168 end - object rda_Contactos: TDARemoteDataAdapter - GetSchemaCall.RemoteService = RORemoteService - GetDataCall.RemoteService = RORemoteService - UpdateDataCall.RemoteService = RORemoteService - GetScriptsCall.RemoteService = RORemoteService - RemoteService = RORemoteService - DataStreamer = DataStreamer - Left = 171 - Top = 71 - end - object rda_ContactosCategorias: TDARemoteDataAdapter - GetSchemaCall.RemoteService = RORemoteService - GetDataCall.RemoteService = RORemoteService - UpdateDataCall.RemoteService = RORemoteService - GetScriptsCall.RemoteService = RORemoteService - RemoteService = RORemoteService - DataStreamer = DataStreamer - Left = 291 - Top = 71 - end - object rda_DatosBancarios: TDARemoteDataAdapter - GetSchemaCall.RemoteService = RORemoteService - GetDataCall.RemoteService = RORemoteService - UpdateDataCall.RemoteService = RORemoteService - GetScriptsCall.RemoteService = RORemoteService - RemoteService = RORemoteService - DataStreamer = DataStreamer - Left = 427 - Top = 71 - end - object rda_DireccionesContacto: TDARemoteDataAdapter - GetSchemaCall.RemoteService = RORemoteService - GetDataCall.RemoteService = RORemoteService - UpdateDataCall.RemoteService = RORemoteService - GetScriptsCall.RemoteService = RORemoteService - RemoteService = RORemoteService - DataStreamer = DataStreamer - Left = 171 - Top = 319 + object ds_DatosBancarios: TDADataSource + DataSet = tbl_DatosBancarios.Dataset + DataTable = tbl_DatosBancarios + Left = 176 + Top = 232 end end diff --git a/Source/Modulos/Contactos/Data/uDataModuleContactos.pas b/Source/Modulos/Contactos/Data/uDataModuleContactos.pas index 73097481..cb2a7d16 100644 --- a/Source/Modulos/Contactos/Data/uDataModuleContactos.pas +++ b/Source/Modulos/Contactos/Data/uDataModuleContactos.pas @@ -10,38 +10,28 @@ uses uBizContactos, uBizContactosDatosBancarios, uBizCategoriasContacto, uBizDireccionesContacto, uIDataModuleEtiquetasContactosReport, uIDataModuleContactos, uDADesigntimeCall, uROTypes, uRODynamicRequest, - uDAInterfaces, uDADataStreamer, uDARemoteDataAdapter; + uDAInterfaces, uDADataStreamer, uDARemoteDataAdapter, uDABin2DataStreamer, + uDAMemDataTable; type TDataModuleContactos = class(TDAClientDataModule, IDataModuleContactos, IDataModuleEtiquetasContactosReport) RORemoteService: TRORemoteService; - tbl_Contactos: TDACDSDataTable; - ds_Contactos: TDADataSource; - tbl_ContactosCategorias: TDACDSDataTable; - ds_ContactosCategorias: TDADataSource; - tbl_DatosBancarios: TDACDSDataTable; - ds_DatosBancarios: TDADataSource; - DADesigntimeCall1: TDADesigntimeCall; - LoginRemoteService: TRORemoteService; - ROWinInetHTTPChannel1: TROWinInetHTTPChannel; - ROBinMessage1: TROBinMessage; - tbl_DireccionesContacto: TDACDSDataTable; - ds_DireccionesContacto: TDADataSource; - DataStreamer: TDABinDataStreamer; rda_Contactos: TDARemoteDataAdapter; - rda_ContactosCategorias: TDARemoteDataAdapter; - rda_DatosBancarios: TDARemoteDataAdapter; - rda_DireccionesContacto: TDARemoteDataAdapter; + Bin2DataStreamer: TDABin2DataStreamer; + tbl_Contactos: TDAMemDataTable; + ds_Contactos: TDADataSource; + tbl_ContactosCategorias: TDAMemDataTable; + ds_ContactosCategorias: TDADataSource; + tbl_DireccionesContacto: TDAMemDataTable; + ds_DireccionesContacto: TDADataSource; + tbl_DatosBancarios: TDAMemDataTable; + ds_DatosBancarios: TDADataSource; procedure DAClientDataModuleCreate(Sender: TObject); - protected - function _InternalGetNextID(const AGeneratorName : String) : Integer; public - function _CloneDataTable (const ADataTable : TDACDSDataTable): TDACDSDataTable; overload; function _GetDatosBancarios : IBizContactosDatosBancarios; function _GetDirecciones: IBizDireccionesContacto; function _GetCategorias : IBizCategoriasContacto; function _GetItems (IDCategoria : Integer): IBizContacto; virtual; - function GetNextID(const DataSetName : String) : Integer; virtual; // Report function GetReport(const AContactosID: String): Binary; @@ -63,49 +53,18 @@ begin RORemoteService.Message := dmConexion.Message; end; -function TDataModuleContactos.GetNextID(const DataSetName: String): Integer; -var - aGeneratorName : String; -begin - if DataSetName = nme_Contactos then - aGeneratorName := 'GEN_CONTACTOS_ID'; - - if DataSetName = nme_DatosBancarios then - aGeneratorName := 'GEN_CONTACTOS_DATOS_BANCO_ID'; - - if DataSetName = nme_DireccionesContacto then - aGeneratorName := 'GEN_CONTACTOS_DIR_ID'; - - if DataSetName = nme_DireccionesContacto then - aGeneratorName := 'GEN_CONTACTOS_DIR_ID'; - - Result := _InternalGetNextID(aGeneratorName); -end; - function TDataModuleContactos.GetReport(const AContactosID: String): Binary; begin Result := (RORemoteService as IsrvContactos).GenerateEtiquetasReport(AContactosID); end; -function TDataModuleContactos._CloneDataTable( - const ADataTable : TDACDSDataTable): TDACDSDataTable; -begin - Result := NIL; - - if not Assigned(ADataTable) then - raise Exception.Create ('No se ha asignado la tabla de origen (CloneDataTable)'); - - Result := TDACDSDataTable.Create(NIL); - CloneDataTable(ADataTable, Result); -end; - function TDataModuleContactos._GetCategorias: IBizCategoriasContacto; var - ACategorias : TDACDSDataTable; + ACategorias : TDAMemDataTable; begin ShowHourglassCursor; try - ACategorias := _CloneDataTable(tbl_ContactosCategorias); + ACategorias := CloneDataTable(tbl_ContactosCategorias); with ACategorias do begin BusinessRulesID := BIZ_CLIENT_CATEGORIAS_CONTACTO; @@ -120,11 +79,11 @@ end; function TDataModuleContactos._GetDatosBancarios: IBizContactosDatosBancarios; var - ADatosBancarios : TDACDSDataTable; + ADatosBancarios : TDAMemDataTable; begin ShowHourglassCursor; try - ADatosBancarios := _CloneDataTable(tbl_DatosBancarios); + ADatosBancarios := CloneDataTable(tbl_DatosBancarios); with ADatosBancarios do begin BusinessRulesID := BIZ_CLIENT_CONTACTOS_DATOS_BANCARIOS; @@ -139,11 +98,11 @@ end; function TDataModuleContactos._GetDirecciones: IBizDireccionesContacto; var - ADirecciones : TDACDSDataTable; + ADirecciones : TDAMemDataTable; begin ShowHourglassCursor; try - ADirecciones := _CloneDataTable(tbl_DireccionesContacto); + ADirecciones := CloneDataTable(tbl_DireccionesContacto); with ADirecciones do begin BusinessRulesID := BIZ_CLIENT_DIRECCIONES_CONTACTO; @@ -158,11 +117,11 @@ end; function TDataModuleContactos._GetItems(IDCategoria: Integer): IBizContacto; var - AContacto : TDACDSDataTable; + AContacto : TDAMemDataTable; begin ShowHourglassCursor; try - AContacto := _CloneDataTable(tbl_Contactos); + AContacto := CloneDataTable(tbl_Contactos); with AContacto do case IDCategoria of @@ -184,10 +143,4 @@ begin end; end; -function TDataModuleContactos._InternalGetNextID( - const AGeneratorName: String): Integer; -begin - Result := (RORemoteService as IsrvContactos).GetNextAutoInc(AGeneratorName) -end; - end. diff --git a/Source/Modulos/Contactos/Data/uDataModuleEmpleados.dfm b/Source/Modulos/Contactos/Data/uDataModuleEmpleados.dfm index ba80b610..1de47cc0 100644 --- a/Source/Modulos/Contactos/Data/uDataModuleEmpleados.dfm +++ b/Source/Modulos/Contactos/Data/uDataModuleEmpleados.dfm @@ -1,587 +1,251 @@ inherited DataModuleEmpleados: TDataModuleEmpleados - object tbl_Empleados: TDACDSDataTable + inherited ds_Contactos: TDADataSource + DataSet = tbl_Contactos.Dataset + end + inherited ds_ContactosCategorias: TDADataSource + DataSet = tbl_ContactosCategorias.Dataset + end + inherited ds_DireccionesContacto: TDADataSource + DataSet = tbl_DireccionesContacto.Dataset + end + inherited ds_DatosBancarios: TDADataSource + DataSet = tbl_DatosBancarios.Dataset + end + object tbl_Empleados: TDAMemDataTable RemoteUpdatesOptions = [] Fields = < item Name = 'ID' DataType = datAutoInc - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify + GeneratorName = 'GEN_CONTACTOS_ID' DictionaryEntry = 'Contactos_ID' InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ID_CATEGORIA' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Contactos_ID_CATEGORIA' - Alignment = taLeftJustify DictionaryEntry = 'Contactos_ID_CATEGORIA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'NIF_CIF' DataType = datString Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'NIF/CIF' - Alignment = taLeftJustify DictionaryEntry = 'Contactos_NIF_CIF' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'NOMBRE' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 + Required = True DisplayLabel = 'Nombre' - Alignment = taLeftJustify DictionaryEntry = 'Contactos_NOMBRE' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'CALLE' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - DisplayLabel = 'Direcci'#243'n' - Alignment = taLeftJustify - DictionaryEntry = 'Contactos_CALLE' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'PERSONA_CONTACTO' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Persona de contacto' - Alignment = taLeftJustify DictionaryEntry = 'Contactos_PERSONA_CONTACTO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False + end + item + Name = 'CALLE' + DataType = datString + Size = 255 + DisplayLabel = 'Direcci'#195#179'n' + DictionaryEntry = 'Contactos_CALLE' end item Name = 'POBLACION' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - DisplayLabel = 'Poblaci'#243'n' - Alignment = taLeftJustify + DisplayLabel = 'Poblaci'#195#179'n' DictionaryEntry = 'Contactos_POBLACION' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'PROVINCIA' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Provincia' - Alignment = taLeftJustify DictionaryEntry = 'Contactos_PROVINCIA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CODIGO_POSTAL' DataType = datString Size = 10 - BlobType = dabtUnknown - DisplayWidth = 0 - DisplayLabel = 'C'#243'digo postal' - Alignment = taLeftJustify + DisplayLabel = 'C'#195#179'digo postal' DictionaryEntry = 'Contactos_CODIGO_POSTAL' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TELEFONO_1' DataType = datString Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Tlf. trabajo' - Alignment = taLeftJustify DictionaryEntry = 'Contactos_TELEFONO_1' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TELEFONO_2' DataType = datString Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Tlf. particular' - Alignment = taLeftJustify DictionaryEntry = 'Contactos_TELEFONO_2' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'MOVIL_1' DataType = datString Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 - DisplayLabel = 'M'#243'vil' - Alignment = taLeftJustify + DisplayLabel = 'M'#195#179'vil' DictionaryEntry = 'Contactos_MOVIL_1' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'MOVIL_2' DataType = datString Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify DictionaryEntry = 'Contactos_MOVIL_2' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FAX' DataType = datString Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Fax' - Alignment = taLeftJustify DictionaryEntry = 'Contactos_FAX' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'EMAIL_1' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'E-mail trabajo' - Alignment = taLeftJustify DictionaryEntry = 'Contactos_EMAIL_1' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'EMAIL_2' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'E-mail particular' - Alignment = taLeftJustify DictionaryEntry = 'Contactos_EMAIL_2' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'PAGINA_WEB' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Web' - Alignment = taLeftJustify DictionaryEntry = 'Contactos_PAGINA_WEB' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'NOTAS' DataType = datMemo BlobType = dabtMemo - DisplayWidth = 0 DisplayLabel = 'Observaciones' - Alignment = taLeftJustify DictionaryEntry = 'Contactos_NOTAS' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False + end + item + Name = 'FECHA_ALTA' + DataType = datDateTime + end + item + Name = 'FECHA_MODIFICACION' + DataType = datDateTime end item Name = 'USUARIO' DataType = datString Size = 20 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Usuario' - Alignment = taLeftJustify DictionaryEntry = 'Contactos_USUARIO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ID_EMPRESA' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify DictionaryEntry = 'Contactos_ID_EMPRESA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'REFERENCIA' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Referencia' - Alignment = taLeftJustify DictionaryEntry = 'Agentes_REFERENCIA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False + end + item + Name = 'FECHA_NACIMIENTO' + DataType = datDateTime + DisplayLabel = 'Fecha nacimiento' + DictionaryEntry = 'Empleados_FECHA_NACIMIENTO' end item Name = 'CATEGORIA' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - DisplayLabel = 'Categor'#237'a' - Alignment = taLeftJustify + DisplayLabel = 'Categor'#195#173'a' DictionaryEntry = 'Empleados_CATEGORIA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'FECHA_NACIMIENTO' - DataType = datDateTime - BlobType = dabtUnknown - DisplayWidth = 0 - DisplayLabel = 'Fecha nacimiento' - Alignment = taLeftJustify - DictionaryEntry = 'Empleados_FECHA_NACIMIENTO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FECHA_ALTA_EMPRESA' DataType = datDateTime - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Fecha de alta' - Alignment = taLeftJustify DictionaryEntry = 'Empleados_FECHA_ALTA_EMPRESA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FORMACION_BASE' DataType = datMemo - BlobType = dabtUnknown - DisplayWidth = 0 - DisplayLabel = 'Formaci'#243'n base' - Alignment = taLeftJustify + DisplayLabel = 'Formaci'#195#179'n base' DictionaryEntry = 'Empleados_FORMACION_BASE' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FORMACION_COMPLE' DataType = datMemo - BlobType = dabtUnknown - DisplayWidth = 0 - DisplayLabel = 'Formaci'#243'n complementaria' - Alignment = taLeftJustify + DisplayLabel = 'Formaci'#195#179'n complementaria' DictionaryEntry = 'Empleados_FORMACION_COMPLE' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FORMACION_RECIBIDA' DataType = datMemo - BlobType = dabtUnknown - DisplayWidth = 0 - DisplayLabel = 'Formaci'#243'n recibida' - Alignment = taLeftJustify + DisplayLabel = 'Formaci'#195#179'n recibida' DictionaryEntry = 'Empleados_FORMACION_RECIBIDA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'EXPERIENCIA' DataType = datMemo - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Experiencia' - Alignment = taLeftJustify DictionaryEntry = 'Empleados_EXPERIENCIA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end> Params = <> - MasterMappingMode = mmDataRequest StreamingOptions = [soDisableEventsWhileStreaming] - SchemaCall.MethodName = 'GetDatasetSchema' - SchemaCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'aDatasetName' - ParamType = fIn - DataType = rtString - Value = 'Empleados' - end> - DataRequestCall.MethodName = 'GetDatasetDataEx' - DataRequestCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'DatasetName' - ParamType = fIn - DataType = rtString - Value = 'Empleados' - end - item - Name = 'Params' - ParamType = fIn - DataType = rtUserDefined - UserClassName = 'TDADatasetParamArray' - end - item - Name = 'UserFilter' - ParamType = fIn - DataType = rtString - Value = '' - end - item - Name = 'IncludeSchema' - ParamType = fIn - DataType = rtBoolean - Value = False - end - item - Name = 'MaxRecords' - ParamType = fIn - DataType = rtInteger - Value = -1 - end> - DataUpdateCall.MethodName = 'UpdateData' - DataUpdateCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'Delta' - ParamType = fIn - DataType = rtBinary - end> - ScriptCall.MethodName = 'GetDatasetScripts' - ScriptCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtString - Value = '' - end - item - Name = 'DatasetNames' - ParamType = fIn - DataType = rtString - Value = 'Empleados' - end> - ReadOnly = False - RemoteService = RORemoteService - Adapter = DABinAdapter + RemoteDataAdapter = rda_Contactos DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'Empleados' - IndexDefs = <> Left = 296 - Top = 176 + Top = 168 end object ds_Empleados: TDADataSource + DataSet = tbl_Empleados.Dataset DataTable = tbl_Empleados Left = 296 - Top = 248 + Top = 232 end - object tbl_GruposEmpleado: TDACDSDataTable + object tbl_GruposEmpleado: TDAMemDataTable RemoteUpdatesOptions = [] Fields = < item Name = 'DESCRIPCION' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False + DisplayLabel = 'Descripci'#195#179'n' end> Params = <> - MasterMappingMode = mmDataRequest StreamingOptions = [soDisableEventsWhileStreaming] - SchemaCall.MethodName = 'GetDatasetSchema' - SchemaCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'aDatasetName' - ParamType = fIn - DataType = rtString - Value = 'GruposEmpleado' - end> - DataRequestCall.MethodName = 'GetDatasetDataEx' - DataRequestCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'DatasetName' - ParamType = fIn - DataType = rtString - Value = 'GruposEmpleado' - end - item - Name = 'Params' - ParamType = fIn - DataType = rtUserDefined - UserClassName = 'TDADatasetParamArray' - end - item - Name = 'UserFilter' - ParamType = fIn - DataType = rtString - Value = '' - end - item - Name = 'IncludeSchema' - ParamType = fIn - DataType = rtBoolean - Value = False - end - item - Name = 'MaxRecords' - ParamType = fIn - DataType = rtInteger - Value = -1 - end> - DataUpdateCall.MethodName = 'UpdateData' - DataUpdateCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'Delta' - ParamType = fIn - DataType = rtBinary - end> - ScriptCall.MethodName = 'GetDatasetScripts' - ScriptCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtString - Value = '' - end - item - Name = 'DatasetNames' - ParamType = fIn - DataType = rtString - Value = 'GruposEmpleado' - end> - ReadOnly = False - RemoteService = RORemoteService - Adapter = DABinAdapter + RemoteDataAdapter = rda_Contactos DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'GruposEmpleado' - IndexDefs = <> - Left = 432 - Top = 176 + Left = 448 + Top = 168 end object ds_GruposEmpleado: TDADataSource + DataSet = tbl_GruposEmpleado.Dataset DataTable = tbl_GruposEmpleado - Left = 432 - Top = 248 + Left = 448 + Top = 232 end end diff --git a/Source/Modulos/Contactos/Data/uDataModuleEmpleados.pas b/Source/Modulos/Contactos/Data/uDataModuleEmpleados.pas index 45f6852e..6a9e3e93 100644 --- a/Source/Modulos/Contactos/Data/uDataModuleEmpleados.pas +++ b/Source/Modulos/Contactos/Data/uDataModuleEmpleados.pas @@ -7,20 +7,21 @@ uses Dialogs, uDataModuleContactos, DB, uDADataTable, uDAScriptingProvider, uDACDSDataTable, uDABINAdapter, uROServiceComponent, uRORemoteService, uROClient, uROBinMessage, uROWinInetHttpChannel, uBizGruposEmpleado, uROTypes, - uIDataModuleEmpleados, uBizContactos, uDADesigntimeCall, uIDataModuleFichasEmpleadoReport; + uIDataModuleEmpleados, uBizContactos, uDADesigntimeCall, uIDataModuleFichasEmpleadoReport, + uDAInterfaces, uDAMemDataTable, uDADataStreamer, uDABin2DataStreamer, + uDARemoteDataAdapter; type TDataModuleEmpleados = class(TDataModuleContactos, IDataModuleEmpleados, IDataModuleFichasEmpleadoReport) - tbl_Empleados: TDACDSDataTable; + tbl_Empleados: TDAMemDataTable; ds_Empleados: TDADataSource; - tbl_GruposEmpleado: TDACDSDataTable; + tbl_GruposEmpleado: TDAMemDataTable; ds_GruposEmpleado: TDADataSource; protected public function GetItem(const ID : Integer) : IBizEmpleado; function NewItem : IBizEmpleado; function GetItems : IBizEmpleado; - function GetNextID(const DataSetName : String) : Integer; override; function GetGruposEmpleado : IBizGrupoEmpleado; // Report @@ -33,17 +34,17 @@ implementation {$R *.dfm} uses - FactuGES_Intf, cxControls, schContactosClient_Intf, uDAInterfaces, uDataTableUtils; + FactuGES_Intf, cxControls, schContactosClient_Intf, uDataTableUtils; { TDataModuleVendedores } function TDataModuleEmpleados.GetGruposEmpleado: IBizGrupoEmpleado; var - AGrupoEmpleado : TDACDSDataTable; + AGrupoEmpleado : TDAMemDataTable; begin ShowHourglassCursor; try - AGrupoEmpleado := _CloneDataTable(tbl_GruposEmpleado); + AGrupoEmpleado := CloneDataTable(tbl_GruposEmpleado); AGrupoEmpleado.BusinessRulesID := BIZ_CLIENT_GRUPOSEMPLEADO; Result := (AGrupoEmpleado as IBizGrupoEmpleado); finally @@ -56,13 +57,12 @@ begin ShowHourglassCursor; try Result := Self.GetItems; - with Result.DataTable.Where do + with Result.DataTable.DynamicWhere do begin - if NotEmpty then - AddOperator(opAND); - OpenBraket; - AddText(fld_ContactosID + ' = ' + IntToStr(ID)); - CloseBraket; + Clear; + // (ID = :ID) + Expression := NewBinaryExpression(NewField('', fld_ContactosID), + NewConstant(ID, datInteger), dboEqual); end; finally HideHourglassCursor; @@ -71,11 +71,11 @@ end; function TDataModuleEmpleados.GetItems: IBizEmpleado; var - AContacto : TDACDSDataTable; + AContacto : TDAMemDataTable; begin ShowHourglassCursor; try - AContacto := _CloneDataTable(tbl_Empleados); + AContacto := CloneDataTable(tbl_Empleados); AContacto.BusinessRulesID := BIZ_CLIENT_EMPLEADO; with TBizEmpleado(AContacto.BusinessEventsObj) do @@ -90,19 +90,6 @@ begin end; end; -function TDataModuleEmpleados.GetNextID(const DataSetName: String): Integer; -var - aDataSet : String; - aGeneratorName : String; -begin - aDataSet := DataSetName; - - if aDataSet = nme_Empleados then - aDataSet := nme_Contactos; - - Result := inherited GetNextID(aDataSet); -end; - function TDataModuleEmpleados.GetReport(const AFichaID: String): Binary; begin Result := (RORemoteService as IsrvContactos).GenerateFichaEmpleadoReport(AFichaID); diff --git a/Source/Modulos/Contactos/Data/uDataModuleProveedores.dfm b/Source/Modulos/Contactos/Data/uDataModuleProveedores.dfm index c92bd0c8..a96ad3d2 100644 --- a/Source/Modulos/Contactos/Data/uDataModuleProveedores.dfm +++ b/Source/Modulos/Contactos/Data/uDataModuleProveedores.dfm @@ -7,18 +7,43 @@ inherited DataModuleProveedores: TDataModuleProveedores inherited ds_ContactosCategorias: TDADataSource DataSet = tbl_ContactosCategorias.Dataset end - inherited ds_DatosBancarios: TDADataSource - DataSet = tbl_DatosBancarios.Dataset - end inherited ds_DireccionesContacto: TDADataSource DataSet = tbl_DireccionesContacto.Dataset end - object tbl_Proveedores: TDACDSDataTable + inherited ds_DatosBancarios: TDADataSource + DataSet = tbl_DatosBancarios.Dataset + end + object tbl_GruposProveedor: TDAMemDataTable + RemoteUpdatesOptions = [] + Fields = < + item + Name = 'DESCRIPCION' + DataType = datString + Size = 255 + DisplayLabel = 'Descripci'#195#179'n' + end> + Params = <> + StreamingOptions = [soDisableEventsWhileStreaming] + RemoteDataAdapter = rda_Contactos + DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] + MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] + LogicalName = 'GruposProveedor' + Left = 448 + Top = 168 + end + object ds_GruposProveedor: TDADataSource + DataSet = tbl_GruposProveedor.Dataset + DataTable = tbl_GruposProveedor + Left = 448 + Top = 232 + end + object tbl_Proveedores: TDAMemDataTable RemoteUpdatesOptions = [] Fields = < item Name = 'ID' DataType = datAutoInc + GeneratorName = 'GEN_CONTACTOS_ID' DictionaryEntry = 'Contactos_ID' InPrimaryKey = True end @@ -39,16 +64,10 @@ inherited DataModuleProveedores: TDataModuleProveedores Name = 'NOMBRE' DataType = datString Size = 255 + Required = True DisplayLabel = 'Nombre' DictionaryEntry = 'Contactos_NOMBRE' end - item - Name = 'CALLE' - DataType = datString - Size = 255 - DisplayLabel = 'Direcci'#243'n' - DictionaryEntry = 'Contactos_CALLE' - end item Name = 'PERSONA_CONTACTO' DataType = datString @@ -56,11 +75,18 @@ inherited DataModuleProveedores: TDataModuleProveedores DisplayLabel = 'Persona de contacto' DictionaryEntry = 'Contactos_PERSONA_CONTACTO' end + item + Name = 'CALLE' + DataType = datString + Size = 255 + DisplayLabel = 'Direcci'#195#179'n' + DictionaryEntry = 'Contactos_CALLE' + end item Name = 'POBLACION' DataType = datString Size = 255 - DisplayLabel = 'Poblaci'#243'n' + DisplayLabel = 'Poblaci'#195#179'n' DictionaryEntry = 'Contactos_POBLACION' end item @@ -74,7 +100,7 @@ inherited DataModuleProveedores: TDataModuleProveedores Name = 'CODIGO_POSTAL' DataType = datString Size = 10 - DisplayLabel = 'C'#243'digo postal' + DisplayLabel = 'C'#195#179'digo postal' DictionaryEntry = 'Contactos_CODIGO_POSTAL' end item @@ -95,7 +121,7 @@ inherited DataModuleProveedores: TDataModuleProveedores Name = 'MOVIL_1' DataType = datString Size = 25 - DisplayLabel = 'M'#243'vil' + DisplayLabel = 'M'#195#179'vil' DictionaryEntry = 'Contactos_MOVIL_1' end item @@ -139,6 +165,14 @@ inherited DataModuleProveedores: TDataModuleProveedores DisplayLabel = 'Observaciones' DictionaryEntry = 'Contactos_NOTAS' end + item + Name = 'FECHA_ALTA' + DataType = datDateTime + end + item + Name = 'FECHA_MODIFICACION' + DataType = datDateTime + end item Name = 'USUARIO' DataType = datString @@ -158,28 +192,6 @@ inherited DataModuleProveedores: TDataModuleProveedores DisplayLabel = 'Referencia' DictionaryEntry = 'Proveedores_REFERENCIA' end - item - Name = 'ID_TIPO_IVA' - DataType = datInteger - DictionaryEntry = 'Proveedores_ID_TIPO_IVA' - end - item - Name = 'REGIMEN_IVA' - DataType = datString - Size = 255 - DisplayLabel = 'R'#233'gimen de IVA' - DictionaryEntry = 'Proveedores_REGIMEN_IVA' - end - item - Name = 'ID_FORMA_PAGO' - DataType = datInteger - DictionaryEntry = 'Proveedores_ID_FORMA_PAGO' - end - item - Name = 'TIENDA_WEB' - DataType = datInteger - DictionaryEntry = 'Proveedores_TIENDA_WEB' - end item Name = 'DESCUENTO' DataType = datFloat @@ -197,12 +209,39 @@ inherited DataModuleProveedores: TDataModuleProveedores Name = 'CODIGO_ASIGNADO' DataType = datString Size = 255 - DisplayLabel = 'C'#243'digo asignado' + DisplayLabel = 'C'#195#179'digo asignado' DictionaryEntry = 'Proveedores_CODIGO_ASIGNADO' end item - Name = 'HOMOLOGADO' + Name = 'GRUPO_PROVEEDOR' + DataType = datString + Size = 255 + end + item + Name = 'REGIMEN_IVA' + DataType = datString + Size = 255 + DisplayLabel = 'R'#195#169'gimen de IVA' + DictionaryEntry = 'Proveedores_REGIMEN_IVA' + end + item + Name = 'ID_TIPO_IVA' DataType = datInteger + DictionaryEntry = 'Proveedores_ID_TIPO_IVA' + end + item + Name = 'ID_FORMA_PAGO' + DataType = datInteger + DictionaryEntry = 'Proveedores_ID_FORMA_PAGO' + end + item + Name = 'TIENDA_WEB' + DataType = datSmallInt + DictionaryEntry = 'Proveedores_TIENDA_WEB' + end + item + Name = 'HOMOLOGADO' + DataType = datSmallInt DisplayLabel = 'Homologado' DictionaryEntry = 'Proveedores_HOMOLOGADO' end @@ -212,72 +251,20 @@ inherited DataModuleProveedores: TDataModuleProveedores Size = 255 DisplayLabel = 'Certificaciones' DictionaryEntry = 'Proveedores_CERTIFICACION' - end - item - Name = 'GRUPO_PROVEEDOR' - DataType = datString - Size = 255 end> Params = <> - MasterMappingMode = mmDataRequest StreamingOptions = [soDisableEventsWhileStreaming] - RemoteDataAdapter = rda_Proveedores + RemoteDataAdapter = rda_Contactos DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'Proveedores' - IndexDefs = <> Left = 296 - Top = 184 + Top = 168 end object ds_Proveedores: TDADataSource DataSet = tbl_Proveedores.Dataset DataTable = tbl_Proveedores Left = 296 - Top = 320 - end - object tbl_GruposProveedor: TDACDSDataTable - RemoteUpdatesOptions = [] - Fields = < - item - Name = 'DESCRIPCION' - DataType = datString - Size = 255 - end> - Params = <> - MasterMappingMode = mmDataRequest - StreamingOptions = [soDisableEventsWhileStreaming] - RemoteDataAdapter = rda_GruposProveedor - DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] - MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] - LogicalName = 'GruposProveedor' - IndexDefs = <> - Left = 424 - Top = 184 - end - object ds_GruposProveedor: TDADataSource - DataSet = tbl_GruposProveedor.Dataset - DataTable = tbl_GruposProveedor - Left = 432 - Top = 320 - end - object rda_Proveedores: TDARemoteDataAdapter - GetSchemaCall.RemoteService = RORemoteService - GetDataCall.RemoteService = RORemoteService - UpdateDataCall.RemoteService = RORemoteService - GetScriptsCall.RemoteService = RORemoteService - RemoteService = RORemoteService - DataStreamer = DataStreamer - Left = 299 - Top = 255 - end - object rda_GruposProveedor: TDARemoteDataAdapter - GetSchemaCall.RemoteService = RORemoteService - GetDataCall.RemoteService = RORemoteService - UpdateDataCall.RemoteService = RORemoteService - GetScriptsCall.RemoteService = RORemoteService - RemoteService = RORemoteService - DataStreamer = DataStreamer - Left = 427 - Top = 255 + Top = 232 end end diff --git a/Source/Modulos/Contactos/Data/uDataModuleProveedores.pas b/Source/Modulos/Contactos/Data/uDataModuleProveedores.pas index 9acc034d..110fa7e6 100644 --- a/Source/Modulos/Contactos/Data/uDataModuleProveedores.pas +++ b/Source/Modulos/Contactos/Data/uDataModuleProveedores.pas @@ -9,22 +9,20 @@ uses uROClient, uROBinMessage, uROWinInetHttpChannel, uBizGruposProveedor, uIDataModuleProveedores, uBizContactos, uDADesigntimeCall, - uDARemoteDataAdapter, uDADataStreamer, uRODynamicRequest, uDAInterfaces; + uDARemoteDataAdapter, uDADataStreamer, uRODynamicRequest, uDAInterfaces, + uDAMemDataTable, uDABin2DataStreamer; type TDataModuleProveedores = class(TDataModuleContactos, IDataModuleProveedores) - tbl_Proveedores: TDACDSDataTable; - ds_Proveedores: TDADataSource; - tbl_GruposProveedor: TDACDSDataTable; + tbl_GruposProveedor: TDAMemDataTable; ds_GruposProveedor: TDADataSource; - rda_Proveedores: TDARemoteDataAdapter; - rda_GruposProveedor: TDARemoteDataAdapter; + tbl_Proveedores: TDAMemDataTable; + ds_Proveedores: TDADataSource; public function GetItem(const ID : Integer) : IBizProveedor; function NewItem : IBizProveedor; function GetItems : IBizProveedor; function GetItemsTiendaWeb : IBizProveedor; - function GetNextID(const DataSetName : String) : Integer; override; function GetGruposProveedor : IBizGrupoProveedor; end; @@ -39,11 +37,11 @@ uses function TDataModuleProveedores.GetGruposProveedor: IBizGrupoProveedor; var - AGrupoProveedor : TDACDSDataTable; + AGrupoProveedor : TDAMemDataTable; begin ShowHourglassCursor; try - AGrupoProveedor := _CloneDataTable(tbl_GruposProveedor); + AGrupoProveedor := CloneDataTable(tbl_GruposProveedor); AGrupoProveedor.BusinessRulesID := BIZ_CLIENT_GRUPOSPROVEEDOR; Result := (AGrupoProveedor as IBizGrupoProveedor); finally @@ -71,11 +69,11 @@ end; function TDataModuleProveedores.GetItems: IBizProveedor; var - AContacto : TDACDSDataTable; + AContacto : TDAMemDataTable; begin ShowHourglassCursor; try - AContacto := _CloneDataTable(tbl_Proveedores); + AContacto := CloneDataTable(tbl_Proveedores); AContacto.BusinessRulesID := BIZ_CLIENT_PROVEEDOR; with TBizProveedor(AContacto.BusinessEventsObj) do @@ -96,30 +94,18 @@ begin ShowHourglassCursor; try Result := Self.GetItems; - with Result.DataTable.Where do + with Result.DataTable.DynamicWhere do begin - if NotEmpty then - AddOperator(opAND); - OpenBraket; - AddText(fld_ProveedoresTIENDA_WEB + ' = 1'); - CloseBraket; + Clear; + // (TIENDA_WEB = 1) + Expression := NewBinaryExpression(NewField('', fld_ProveedoresTIENDA_WEB), + NewConstant(1, datInteger), dboEqual); end; finally HideHourglassCursor; end; end; -function TDataModuleProveedores.GetNextID(const DataSetName: String): Integer; -var - aDataSet : String; -begin - aDataSet := DataSetName; - if aDataSet = nme_Proveedores then - aDataSet := nme_Contactos; - - Result := inherited GetNextID(aDataSet); -end; - function TDataModuleProveedores.NewItem: IBizProveedor; begin Result := GetItem(ID_NULO) diff --git a/Source/Modulos/Contactos/Model/Contactos_model.dpk b/Source/Modulos/Contactos/Model/Contactos_model.dpk index b7d5e659..e7e35338 100644 --- a/Source/Modulos/Contactos/Model/Contactos_model.dpk +++ b/Source/Modulos/Contactos/Model/Contactos_model.dpk @@ -43,10 +43,11 @@ contains uBizClientesDescuentos in 'uBizClientesDescuentos.pas', uRegimenIVAUtils in '..\Utiles\uRegimenIVAUtils.pas', uBizGruposCliente in 'uBizGruposCliente.pas', - schContactosClient_Intf in 'schContactosClient_Intf.pas', uBizGruposEmpleado in 'uBizGruposEmpleado.pas', uBizGruposProveedor in 'uBizGruposProveedor.pas', uIDataModuleFichasEmpleadoReport in 'Data\uIDataModuleFichasEmpleadoReport.pas', - uIDataModuleEtiquetasContactosReport in 'Data\uIDataModuleEtiquetasContactosReport.pas'; + uIDataModuleEtiquetasContactosReport in 'Data\uIDataModuleEtiquetasContactosReport.pas', + schContactosClient_Intf in 'schContactosClient_Intf.pas', + schContactosServer_Intf in 'schContactosServer_Intf.pas'; end. diff --git a/Source/Modulos/Contactos/Model/Contactos_model.dproj b/Source/Modulos/Contactos/Model/Contactos_model.dproj index 4e90043f..3fc7f62b 100644 --- a/Source/Modulos/Contactos/Model/Contactos_model.dproj +++ b/Source/Modulos/Contactos/Model/Contactos_model.dproj @@ -42,8 +42,7 @@ Delphi.Personality Package -FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0 -Contactos_model.dpk +FalseTrueFalseTrueFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0Contactos_model.dpk @@ -51,13 +50,17 @@ MainSource + + + + @@ -66,5 +69,491 @@ + + + + diff --git a/Source/Modulos/Contactos/Model/Contactos_model.drc b/Source/Modulos/Contactos/Model/Contactos_model.drc index 0e1b1a86..1ed95bba 100644 --- a/Source/Modulos/Contactos/Model/Contactos_model.drc +++ b/Source/Modulos/Contactos/Model/Contactos_model.drc @@ -13,4 +13,4 @@ BEGIN END /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Model\Contactos_model.res */ -/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf22B.tmp */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Model\Contactos_model.drf */ diff --git a/Source/Modulos/Contactos/Model/Contactos_model.res b/Source/Modulos/Contactos/Model/Contactos_model.res index 8b251f312bcccec5485024f6fe8d80e1cdf25746..1641339fcc482e7e3492d1b45813a86619622c33 100644 GIT binary patch literal 4748 zcmbW5&ub)A5XUPdpe&2#;C*uNAUVhgd+&(4um@dnom`vXF9g}ZuHJ;se=<3UNdFJg zbCw+UD9j$byGIXV`~6hC>h4S?F|k9X-j90q{Z_qtZ<;nUJCO8!h?p${kR>3GhM`oH*q zk=UsjOCIgA_4!`B+Gb&`I84R)bT4dy-BQV<-SyFz?R8ILEQ(+JB$u{sEXE@j@B*7W zT;iZH#|OJ<&DO$RCkM6VbK3(B(k{nbdv1lpc;E$xz9as|v3uE1V{hw2w~g3eD0an7 z{BT%G%irdMe*|oDJmgvJaA2`9B<6Xi*?M~Q;)@Sbfwf3uf zVaWkbUjU=;sL{BlYemIZXv%qZ{SZw{-TCU+;!nH6KDDIJumU+9{E0zXW4>7T)y|>$DQlv zRJe?TjSp{c!DqeayAnSMTtZZT;>LN7J0Rls+5m@q)MbyB*eL%Eu@(+$Cw}Pd@q7N| z%Q0*AHpCP^b9v`@jx-l_FD>khpW2W8(OU2&V5TrnoAY-m_hlcV?zq3;7{2gF{J#Hc z6R+o~mVenX?>@W0@_DVzyOFs(5464CY{!q9ChoF#_*eXi@4gFuV8?vhl=_w5$iKL0 zEV0nMBcN08xtRmsgJrqjh@s#|{?*ssnsG)mH*wa6{efF0JFWHok@kA5%b661{B38= zCcgJ|*ZFTpV$8<-&+AWpa)Q8*`wL&hMeNQ^v6I7$HSdLZhZ^&+6<@Uw_Zsml9^v3W zVvPDBKHh;i=RU4J_ta3E;)Mn>Y+L zKLZ0UQ+*km9FO-b?U4gmn-62iwzH6&*duKGo~aUV)bYDla8wWZ9+^7p-F<8lP@i!m z@vhbD_${F}h>^T;C(?(b*OJDk?{dEXB?nuehoON3HAb!7Mr7-ls!84-5V-jJugbu<_$}mU=Yd9!?TOX;|B-#B)+0x#9q*yqJiqS!`49d=7ztk$O+9=1i;?K_|J<8T z?0b7=-`Z3A#vV$4XJ5(lQ~TOZHUFdA%oWvK5zg&_IKXIbughQBA8XAsd#=@|TFLXC zy(^m((;DnQmDQKatmw!@c`| G?EMQ&4NnpP delta 11 ScmeBCZD5|Duvteife`=|>;pCc diff --git a/Source/Modulos/Contactos/Model/Data/uIDataModuleContactos.pas b/Source/Modulos/Contactos/Model/Data/uIDataModuleContactos.pas index 66a21778..4e610357 100644 --- a/Source/Modulos/Contactos/Model/Data/uIDataModuleContactos.pas +++ b/Source/Modulos/Contactos/Model/Data/uIDataModuleContactos.pas @@ -11,7 +11,6 @@ type ['{835FFC4D-1AE9-4020-A042-C9D84EC25A2C}'] function _GetItems (IDCategoria : Integer): IBizContacto; function _GetDatosBancarios : IBizContactosDatosBancarios; - function GetNextID(const DataSetName : String) : Integer; end; implementation diff --git a/Source/Modulos/Contactos/Model/schContactosClient_Intf.pas b/Source/Modulos/Contactos/Model/schContactosClient_Intf.pas index ed5fc7a4..379c18f7 100644 --- a/Source/Modulos/Contactos/Model/schContactosClient_Intf.pas +++ b/Source/Modulos/Contactos/Model/schContactosClient_Intf.pas @@ -3,23 +3,23 @@ unit schContactosClient_Intf; interface uses - Classes, DB, SysUtils, uROClasses, uDADataTable; + Classes, DB, SysUtils, uROClasses, uDADataTable, FmtBCD, uROXMLIntf; const { Data table rules ids Feel free to change them to something more human readable but make sure they are unique in the context of your application } - RID_Contactos = '{4702B17F-2C8C-4EDB-951F-501A4B940F9D}'; - RID_GruposCliente = '{12028CAB-36D8-48CA-9154-325B58403561}'; - RID_DatosBancarios = '{E2BFD8E8-37C6-4E91-A66E-5021A52A0229}'; - RID_ContactosCategorias = '{A0AE66D8-6E9D-47C4-BC56-3584B21BE55A}'; - RID_Clientes = '{4A4AA93F-8EE6-4967-8046-E19791A0EEC1}'; - RID_Proveedores = '{DC04F4C0-A1A4-41A3-9E00-C8DB73300D35}'; - RID_Empleados = '{19D88701-7312-4C3B-87FB-79C5060AB9EC}'; - RID_DireccionesContacto = '{9E3FAF78-7E14-43F3-875F-87BF6EA34C0B}'; - RID_ClientesDescuentos = '{00A7347D-BC94-43F1-BE47-EB33FECA3941}'; - RID_GruposProveedor = '{74F8D1EC-C607-48A3-92CE-14266EB1D056}'; - RID_GruposEmpleado = '{C8376B2F-DC19-4DB9-9992-3A744251ED6D}'; + RID_Contactos = '{F35BFAF2-6DD6-466B-A98B-A77F3A0D0298}'; + RID_GruposCliente = '{9A75B818-B4E9-4720-991F-C509D70C9372}'; + RID_DatosBancarios = '{4B3A338B-49F7-463E-9D6F-81635B9AC6A1}'; + RID_ContactosCategorias = '{B03B35AA-4BC3-4CAE-96E0-7E859F269FB7}'; + RID_Clientes = '{AE94D0B7-5F7D-457B-9C57-52EF423CED48}'; + RID_Proveedores = '{EF7494A7-8862-490C-AF30-53E3A8245C4D}'; + RID_Empleados = '{2667AF21-2E62-48F8-A5FF-D5F146112027}'; + RID_DireccionesContacto = '{45DAA21F-A3A4-4D55-AEB6-85728920EAB6}'; + RID_ClientesDescuentos = '{9E5940A2-E10D-4599-A30F-E50E15949DF7}'; + RID_GruposProveedor = '{FEF739C5-13CB-4026-A848-2D4A5F79C636}'; + RID_GruposEmpleado = '{5E35F022-493D-4B8C-91FD-E472CFABE9D1}'; { Data table names } nme_Contactos = 'Contactos'; @@ -53,6 +53,8 @@ const fld_ContactosEMAIL_2 = 'EMAIL_2'; fld_ContactosPAGINA_WEB = 'PAGINA_WEB'; fld_ContactosNOTAS = 'NOTAS'; + fld_ContactosFECHA_ALTA = 'FECHA_ALTA'; + fld_ContactosFECHA_MODIFICACION = 'FECHA_MODIFICACION'; fld_ContactosUSUARIO = 'USUARIO'; fld_ContactosID_EMPRESA = 'ID_EMPRESA'; fld_ContactosREFERENCIA = 'REFERENCIA'; @@ -76,9 +78,11 @@ const idx_ContactosEMAIL_2 = 15; idx_ContactosPAGINA_WEB = 16; idx_ContactosNOTAS = 17; - idx_ContactosUSUARIO = 18; - idx_ContactosID_EMPRESA = 19; - idx_ContactosREFERENCIA = 20; + idx_ContactosFECHA_ALTA = 18; + idx_ContactosFECHA_MODIFICACION = 19; + idx_ContactosUSUARIO = 20; + idx_ContactosID_EMPRESA = 21; + idx_ContactosREFERENCIA = 22; { GruposCliente fields } fld_GruposClienteDESCRIPCION = 'DESCRIPCION'; @@ -94,6 +98,8 @@ const fld_DatosBancariosSUCURSAL = 'SUCURSAL'; fld_DatosBancariosDC = 'DC'; fld_DatosBancariosCUENTA = 'CUENTA'; + fld_DatosBancariosFECHA_ALTA = 'FECHA_ALTA'; + fld_DatosBancariosFECHA_MODIFICACION = 'FECHA_MODIFICACION'; { DatosBancarios field indexes } idx_DatosBancariosID = 0; @@ -103,6 +109,8 @@ const idx_DatosBancariosSUCURSAL = 4; idx_DatosBancariosDC = 5; idx_DatosBancariosCUENTA = 6; + idx_DatosBancariosFECHA_ALTA = 7; + idx_DatosBancariosFECHA_MODIFICACION = 8; { ContactosCategorias fields } fld_ContactosCategoriasID_CONTACTO = 'ID_CONTACTO'; @@ -117,8 +125,8 @@ const fld_ClientesID_CATEGORIA = 'ID_CATEGORIA'; fld_ClientesNIF_CIF = 'NIF_CIF'; fld_ClientesNOMBRE = 'NOMBRE'; - fld_ClientesCALLE = 'CALLE'; fld_ClientesPERSONA_CONTACTO = 'PERSONA_CONTACTO'; + fld_ClientesCALLE = 'CALLE'; fld_ClientesPOBLACION = 'POBLACION'; fld_ClientesPROVINCIA = 'PROVINCIA'; fld_ClientesCODIGO_POSTAL = 'CODIGO_POSTAL'; @@ -131,27 +139,29 @@ const fld_ClientesEMAIL_2 = 'EMAIL_2'; fld_ClientesPAGINA_WEB = 'PAGINA_WEB'; fld_ClientesNOTAS = 'NOTAS'; + fld_ClientesFECHA_ALTA = 'FECHA_ALTA'; + fld_ClientesFECHA_MODIFICACION = 'FECHA_MODIFICACION'; fld_ClientesUSUARIO = 'USUARIO'; fld_ClientesID_EMPRESA = 'ID_EMPRESA'; fld_ClientesREFERENCIA = 'REFERENCIA'; - fld_ClientesID_TIPO_IVA = 'ID_TIPO_IVA'; - fld_ClientesREGIMEN_IVA = 'REGIMEN_IVA'; - fld_ClientesID_FORMA_PAGO = 'ID_FORMA_PAGO'; - fld_ClientesTIENDA_WEB = 'TIENDA_WEB'; - fld_ClientesRECARGO_EQUIVALENCIA = 'RECARGO_EQUIVALENCIA'; fld_ClientesGRUPO_CLIENTE = 'GRUPO_CLIENTE'; fld_ClientesNOMBRE_COMERCIAL = 'NOMBRE_COMERCIAL'; fld_ClientesVENCIMIENTO_FACTURAS = 'VENCIMIENTO_FACTURAS'; fld_ClientesBLOQUEADO = 'BLOQUEADO'; + fld_ClientesREGIMEN_IVA = 'REGIMEN_IVA'; fld_ClientesMOTIVO_BLOQUEO = 'MOTIVO_BLOQUEO'; + fld_ClientesRECARGO_EQUIVALENCIA = 'RECARGO_EQUIVALENCIA'; + fld_ClientesID_TIPO_IVA = 'ID_TIPO_IVA'; + fld_ClientesID_FORMA_PAGO = 'ID_FORMA_PAGO'; + fld_ClientesTIENDA_WEB = 'TIENDA_WEB'; { Clientes field indexes } idx_ClientesID = 0; idx_ClientesID_CATEGORIA = 1; idx_ClientesNIF_CIF = 2; idx_ClientesNOMBRE = 3; - idx_ClientesCALLE = 4; - idx_ClientesPERSONA_CONTACTO = 5; + idx_ClientesPERSONA_CONTACTO = 4; + idx_ClientesCALLE = 5; idx_ClientesPOBLACION = 6; idx_ClientesPROVINCIA = 7; idx_ClientesCODIGO_POSTAL = 8; @@ -164,27 +174,29 @@ const idx_ClientesEMAIL_2 = 15; idx_ClientesPAGINA_WEB = 16; idx_ClientesNOTAS = 17; - idx_ClientesUSUARIO = 18; - idx_ClientesID_EMPRESA = 19; - idx_ClientesREFERENCIA = 20; - idx_ClientesID_TIPO_IVA = 21; - idx_ClientesREGIMEN_IVA = 22; - idx_ClientesID_FORMA_PAGO = 23; - idx_ClientesTIENDA_WEB = 24; - idx_ClientesRECARGO_EQUIVALENCIA = 25; - idx_ClientesGRUPO_CLIENTE = 26; - idx_ClientesNOMBRE_COMERCIAL = 27; - idx_ClientesVENCIMIENTO_FACTURAS = 28; - idx_ClientesBLOQUEADO = 29; - idx_ClientesMOTIVO_BLOQUEO = 30; + idx_ClientesFECHA_ALTA = 18; + idx_ClientesFECHA_MODIFICACION = 19; + idx_ClientesUSUARIO = 20; + idx_ClientesID_EMPRESA = 21; + idx_ClientesREFERENCIA = 22; + idx_ClientesGRUPO_CLIENTE = 23; + idx_ClientesNOMBRE_COMERCIAL = 24; + idx_ClientesVENCIMIENTO_FACTURAS = 25; + idx_ClientesBLOQUEADO = 26; + idx_ClientesREGIMEN_IVA = 27; + idx_ClientesMOTIVO_BLOQUEO = 28; + idx_ClientesRECARGO_EQUIVALENCIA = 29; + idx_ClientesID_TIPO_IVA = 30; + idx_ClientesID_FORMA_PAGO = 31; + idx_ClientesTIENDA_WEB = 32; { Proveedores fields } fld_ProveedoresID = 'ID'; fld_ProveedoresID_CATEGORIA = 'ID_CATEGORIA'; fld_ProveedoresNIF_CIF = 'NIF_CIF'; fld_ProveedoresNOMBRE = 'NOMBRE'; - fld_ProveedoresCALLE = 'CALLE'; fld_ProveedoresPERSONA_CONTACTO = 'PERSONA_CONTACTO'; + fld_ProveedoresCALLE = 'CALLE'; fld_ProveedoresPOBLACION = 'POBLACION'; fld_ProveedoresPROVINCIA = 'PROVINCIA'; fld_ProveedoresCODIGO_POSTAL = 'CODIGO_POSTAL'; @@ -197,27 +209,29 @@ const fld_ProveedoresEMAIL_2 = 'EMAIL_2'; fld_ProveedoresPAGINA_WEB = 'PAGINA_WEB'; fld_ProveedoresNOTAS = 'NOTAS'; + fld_ProveedoresFECHA_ALTA = 'FECHA_ALTA'; + fld_ProveedoresFECHA_MODIFICACION = 'FECHA_MODIFICACION'; fld_ProveedoresUSUARIO = 'USUARIO'; fld_ProveedoresID_EMPRESA = 'ID_EMPRESA'; fld_ProveedoresREFERENCIA = 'REFERENCIA'; - fld_ProveedoresID_TIPO_IVA = 'ID_TIPO_IVA'; - fld_ProveedoresREGIMEN_IVA = 'REGIMEN_IVA'; - fld_ProveedoresID_FORMA_PAGO = 'ID_FORMA_PAGO'; - fld_ProveedoresTIENDA_WEB = 'TIENDA_WEB'; fld_ProveedoresDESCUENTO = 'DESCUENTO'; fld_ProveedoresDESCRIPCION_PROVEEDOR = 'DESCRIPCION_PROVEEDOR'; fld_ProveedoresCODIGO_ASIGNADO = 'CODIGO_ASIGNADO'; + fld_ProveedoresGRUPO_PROVEEDOR = 'GRUPO_PROVEEDOR'; + fld_ProveedoresREGIMEN_IVA = 'REGIMEN_IVA'; + fld_ProveedoresID_TIPO_IVA = 'ID_TIPO_IVA'; + fld_ProveedoresID_FORMA_PAGO = 'ID_FORMA_PAGO'; + fld_ProveedoresTIENDA_WEB = 'TIENDA_WEB'; fld_ProveedoresHOMOLOGADO = 'HOMOLOGADO'; fld_ProveedoresCERTIFICACION = 'CERTIFICACION'; - fld_ProveedoresGRUPO_PROVEEDOR = 'GRUPO_PROVEEDOR'; { Proveedores field indexes } idx_ProveedoresID = 0; idx_ProveedoresID_CATEGORIA = 1; idx_ProveedoresNIF_CIF = 2; idx_ProveedoresNOMBRE = 3; - idx_ProveedoresCALLE = 4; - idx_ProveedoresPERSONA_CONTACTO = 5; + idx_ProveedoresPERSONA_CONTACTO = 4; + idx_ProveedoresCALLE = 5; idx_ProveedoresPOBLACION = 6; idx_ProveedoresPROVINCIA = 7; idx_ProveedoresCODIGO_POSTAL = 8; @@ -230,27 +244,29 @@ const idx_ProveedoresEMAIL_2 = 15; idx_ProveedoresPAGINA_WEB = 16; idx_ProveedoresNOTAS = 17; - idx_ProveedoresUSUARIO = 18; - idx_ProveedoresID_EMPRESA = 19; - idx_ProveedoresREFERENCIA = 20; - idx_ProveedoresID_TIPO_IVA = 21; - idx_ProveedoresREGIMEN_IVA = 22; - idx_ProveedoresID_FORMA_PAGO = 23; - idx_ProveedoresTIENDA_WEB = 24; - idx_ProveedoresDESCUENTO = 25; - idx_ProveedoresDESCRIPCION_PROVEEDOR = 26; - idx_ProveedoresCODIGO_ASIGNADO = 27; - idx_ProveedoresHOMOLOGADO = 28; - idx_ProveedoresCERTIFICACION = 29; - idx_ProveedoresGRUPO_PROVEEDOR = 30; + idx_ProveedoresFECHA_ALTA = 18; + idx_ProveedoresFECHA_MODIFICACION = 19; + idx_ProveedoresUSUARIO = 20; + idx_ProveedoresID_EMPRESA = 21; + idx_ProveedoresREFERENCIA = 22; + idx_ProveedoresDESCUENTO = 23; + idx_ProveedoresDESCRIPCION_PROVEEDOR = 24; + idx_ProveedoresCODIGO_ASIGNADO = 25; + idx_ProveedoresGRUPO_PROVEEDOR = 26; + idx_ProveedoresREGIMEN_IVA = 27; + idx_ProveedoresID_TIPO_IVA = 28; + idx_ProveedoresID_FORMA_PAGO = 29; + idx_ProveedoresTIENDA_WEB = 30; + idx_ProveedoresHOMOLOGADO = 31; + idx_ProveedoresCERTIFICACION = 32; { Empleados fields } fld_EmpleadosID = 'ID'; fld_EmpleadosID_CATEGORIA = 'ID_CATEGORIA'; fld_EmpleadosNIF_CIF = 'NIF_CIF'; fld_EmpleadosNOMBRE = 'NOMBRE'; - fld_EmpleadosCALLE = 'CALLE'; fld_EmpleadosPERSONA_CONTACTO = 'PERSONA_CONTACTO'; + fld_EmpleadosCALLE = 'CALLE'; fld_EmpleadosPOBLACION = 'POBLACION'; fld_EmpleadosPROVINCIA = 'PROVINCIA'; fld_EmpleadosCODIGO_POSTAL = 'CODIGO_POSTAL'; @@ -263,11 +279,13 @@ const fld_EmpleadosEMAIL_2 = 'EMAIL_2'; fld_EmpleadosPAGINA_WEB = 'PAGINA_WEB'; fld_EmpleadosNOTAS = 'NOTAS'; + fld_EmpleadosFECHA_ALTA = 'FECHA_ALTA'; + fld_EmpleadosFECHA_MODIFICACION = 'FECHA_MODIFICACION'; fld_EmpleadosUSUARIO = 'USUARIO'; fld_EmpleadosID_EMPRESA = 'ID_EMPRESA'; fld_EmpleadosREFERENCIA = 'REFERENCIA'; - fld_EmpleadosCATEGORIA = 'CATEGORIA'; fld_EmpleadosFECHA_NACIMIENTO = 'FECHA_NACIMIENTO'; + fld_EmpleadosCATEGORIA = 'CATEGORIA'; fld_EmpleadosFECHA_ALTA_EMPRESA = 'FECHA_ALTA_EMPRESA'; fld_EmpleadosFORMACION_BASE = 'FORMACION_BASE'; fld_EmpleadosFORMACION_COMPLE = 'FORMACION_COMPLE'; @@ -279,8 +297,8 @@ const idx_EmpleadosID_CATEGORIA = 1; idx_EmpleadosNIF_CIF = 2; idx_EmpleadosNOMBRE = 3; - idx_EmpleadosCALLE = 4; - idx_EmpleadosPERSONA_CONTACTO = 5; + idx_EmpleadosPERSONA_CONTACTO = 4; + idx_EmpleadosCALLE = 5; idx_EmpleadosPOBLACION = 6; idx_EmpleadosPROVINCIA = 7; idx_EmpleadosCODIGO_POSTAL = 8; @@ -293,48 +311,54 @@ const idx_EmpleadosEMAIL_2 = 15; idx_EmpleadosPAGINA_WEB = 16; idx_EmpleadosNOTAS = 17; - idx_EmpleadosUSUARIO = 18; - idx_EmpleadosID_EMPRESA = 19; - idx_EmpleadosREFERENCIA = 20; - idx_EmpleadosCATEGORIA = 21; - idx_EmpleadosFECHA_NACIMIENTO = 22; - idx_EmpleadosFECHA_ALTA_EMPRESA = 23; - idx_EmpleadosFORMACION_BASE = 24; - idx_EmpleadosFORMACION_COMPLE = 25; - idx_EmpleadosFORMACION_RECIBIDA = 26; - idx_EmpleadosEXPERIENCIA = 27; + idx_EmpleadosFECHA_ALTA = 18; + idx_EmpleadosFECHA_MODIFICACION = 19; + idx_EmpleadosUSUARIO = 20; + idx_EmpleadosID_EMPRESA = 21; + idx_EmpleadosREFERENCIA = 22; + idx_EmpleadosFECHA_NACIMIENTO = 23; + idx_EmpleadosCATEGORIA = 24; + idx_EmpleadosFECHA_ALTA_EMPRESA = 25; + idx_EmpleadosFORMACION_BASE = 26; + idx_EmpleadosFORMACION_COMPLE = 27; + idx_EmpleadosFORMACION_RECIBIDA = 28; + idx_EmpleadosEXPERIENCIA = 29; { DireccionesContacto fields } fld_DireccionesContactoID = 'ID'; fld_DireccionesContactoID_CONTACTO = 'ID_CONTACTO'; - fld_DireccionesContactoNOMBRE = 'NOMBRE'; fld_DireccionesContactoCALLE = 'CALLE'; fld_DireccionesContactoPOBLACION = 'POBLACION'; fld_DireccionesContactoPROVINCIA = 'PROVINCIA'; fld_DireccionesContactoCODIGO_POSTAL = 'CODIGO_POSTAL'; fld_DireccionesContactoPERSONA_CONTACTO = 'PERSONA_CONTACTO'; + fld_DireccionesContactoNOMBRE = 'NOMBRE'; fld_DireccionesContactoTELEFONO = 'TELEFONO'; fld_DireccionesContactoMOVIL = 'MOVIL'; fld_DireccionesContactoFAX = 'FAX'; fld_DireccionesContactoEMAIL = 'EMAIL'; fld_DireccionesContactoNOTAS = 'NOTAS'; fld_DireccionesContactoPORTE = 'PORTE'; + fld_DireccionesContactoFECHA_ALTA = 'FECHA_ALTA'; + fld_DireccionesContactoFECHA_MODIFICACION = 'FECHA_MODIFICACION'; { DireccionesContacto field indexes } idx_DireccionesContactoID = 0; idx_DireccionesContactoID_CONTACTO = 1; - idx_DireccionesContactoNOMBRE = 2; - idx_DireccionesContactoCALLE = 3; - idx_DireccionesContactoPOBLACION = 4; - idx_DireccionesContactoPROVINCIA = 5; - idx_DireccionesContactoCODIGO_POSTAL = 6; - idx_DireccionesContactoPERSONA_CONTACTO = 7; + idx_DireccionesContactoCALLE = 2; + idx_DireccionesContactoPOBLACION = 3; + idx_DireccionesContactoPROVINCIA = 4; + idx_DireccionesContactoCODIGO_POSTAL = 5; + idx_DireccionesContactoPERSONA_CONTACTO = 6; + idx_DireccionesContactoNOMBRE = 7; idx_DireccionesContactoTELEFONO = 8; idx_DireccionesContactoMOVIL = 9; idx_DireccionesContactoFAX = 10; idx_DireccionesContactoEMAIL = 11; idx_DireccionesContactoNOTAS = 12; idx_DireccionesContactoPORTE = 13; + idx_DireccionesContactoFECHA_ALTA = 14; + idx_DireccionesContactoFECHA_MODIFICACION = 15; { ClientesDescuentos fields } fld_ClientesDescuentosID = 'ID'; @@ -365,146 +389,296 @@ const type { IContactos } IContactos = interface(IDAStronglyTypedDataTable) - ['{F396F244-2087-46CA-B562-068C32F5925F}'] + ['{0AF3A2A7-BD97-4BA9-B308-4D9778D14050}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); + function GetIDIsNull: Boolean; + procedure SetIDIsNull(const aValue: Boolean); function GetID_CATEGORIAValue: Integer; procedure SetID_CATEGORIAValue(const aValue: Integer); + function GetID_CATEGORIAIsNull: Boolean; + procedure SetID_CATEGORIAIsNull(const aValue: Boolean); function GetNIF_CIFValue: String; procedure SetNIF_CIFValue(const aValue: String); + function GetNIF_CIFIsNull: Boolean; + procedure SetNIF_CIFIsNull(const aValue: Boolean); function GetNOMBREValue: String; procedure SetNOMBREValue(const aValue: String); + function GetNOMBREIsNull: Boolean; + procedure SetNOMBREIsNull(const aValue: Boolean); function GetPERSONA_CONTACTOValue: String; procedure SetPERSONA_CONTACTOValue(const aValue: String); + function GetPERSONA_CONTACTOIsNull: Boolean; + procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean); function GetCALLEValue: String; procedure SetCALLEValue(const aValue: String); + function GetCALLEIsNull: Boolean; + procedure SetCALLEIsNull(const aValue: Boolean); function GetPOBLACIONValue: String; procedure SetPOBLACIONValue(const aValue: String); + function GetPOBLACIONIsNull: Boolean; + procedure SetPOBLACIONIsNull(const aValue: Boolean); function GetPROVINCIAValue: String; procedure SetPROVINCIAValue(const aValue: String); + function GetPROVINCIAIsNull: Boolean; + procedure SetPROVINCIAIsNull(const aValue: Boolean); function GetCODIGO_POSTALValue: String; procedure SetCODIGO_POSTALValue(const aValue: String); + function GetCODIGO_POSTALIsNull: Boolean; + procedure SetCODIGO_POSTALIsNull(const aValue: Boolean); function GetTELEFONO_1Value: String; procedure SetTELEFONO_1Value(const aValue: String); + function GetTELEFONO_1IsNull: Boolean; + procedure SetTELEFONO_1IsNull(const aValue: Boolean); function GetTELEFONO_2Value: String; procedure SetTELEFONO_2Value(const aValue: String); + function GetTELEFONO_2IsNull: Boolean; + procedure SetTELEFONO_2IsNull(const aValue: Boolean); function GetMOVIL_1Value: String; procedure SetMOVIL_1Value(const aValue: String); + function GetMOVIL_1IsNull: Boolean; + procedure SetMOVIL_1IsNull(const aValue: Boolean); function GetMOVIL_2Value: String; procedure SetMOVIL_2Value(const aValue: String); + function GetMOVIL_2IsNull: Boolean; + procedure SetMOVIL_2IsNull(const aValue: Boolean); function GetFAXValue: String; procedure SetFAXValue(const aValue: String); + function GetFAXIsNull: Boolean; + procedure SetFAXIsNull(const aValue: Boolean); function GetEMAIL_1Value: String; procedure SetEMAIL_1Value(const aValue: String); + function GetEMAIL_1IsNull: Boolean; + procedure SetEMAIL_1IsNull(const aValue: Boolean); function GetEMAIL_2Value: String; procedure SetEMAIL_2Value(const aValue: String); + function GetEMAIL_2IsNull: Boolean; + procedure SetEMAIL_2IsNull(const aValue: Boolean); function GetPAGINA_WEBValue: String; procedure SetPAGINA_WEBValue(const aValue: String); + function GetPAGINA_WEBIsNull: Boolean; + procedure SetPAGINA_WEBIsNull(const aValue: Boolean); function GetNOTASValue: IROStrings; - procedure SetNOTASValue(const aValue: IROStrings); + function GetNOTASIsNull: Boolean; + procedure SetNOTASIsNull(const aValue: Boolean); + function GetFECHA_ALTAValue: DateTime; + procedure SetFECHA_ALTAValue(const aValue: DateTime); + function GetFECHA_ALTAIsNull: Boolean; + procedure SetFECHA_ALTAIsNull(const aValue: Boolean); + function GetFECHA_MODIFICACIONValue: DateTime; + procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); + function GetFECHA_MODIFICACIONIsNull: Boolean; + procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); function GetUSUARIOValue: String; procedure SetUSUARIOValue(const aValue: String); + function GetUSUARIOIsNull: Boolean; + procedure SetUSUARIOIsNull(const aValue: Boolean); function GetID_EMPRESAValue: Integer; procedure SetID_EMPRESAValue(const aValue: Integer); + function GetID_EMPRESAIsNull: Boolean; + procedure SetID_EMPRESAIsNull(const aValue: Boolean); function GetREFERENCIAValue: String; procedure SetREFERENCIAValue(const aValue: String); + function GetREFERENCIAIsNull: Boolean; + procedure SetREFERENCIAIsNull(const aValue: Boolean); { Properties } property ID: Integer read GetIDValue write SetIDValue; + property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull; property ID_CATEGORIA: Integer read GetID_CATEGORIAValue write SetID_CATEGORIAValue; + property ID_CATEGORIAIsNull: Boolean read GetID_CATEGORIAIsNull write SetID_CATEGORIAIsNull; property NIF_CIF: String read GetNIF_CIFValue write SetNIF_CIFValue; + property NIF_CIFIsNull: Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull; property NOMBRE: String read GetNOMBREValue write SetNOMBREValue; + property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull; property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue; + property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull; property CALLE: String read GetCALLEValue write SetCALLEValue; + property CALLEIsNull: Boolean read GetCALLEIsNull write SetCALLEIsNull; property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue; + property POBLACIONIsNull: Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull; property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue; + property PROVINCIAIsNull: Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull; property CODIGO_POSTAL: String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue; + property CODIGO_POSTALIsNull: Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull; property TELEFONO_1: String read GetTELEFONO_1Value write SetTELEFONO_1Value; + property TELEFONO_1IsNull: Boolean read GetTELEFONO_1IsNull write SetTELEFONO_1IsNull; property TELEFONO_2: String read GetTELEFONO_2Value write SetTELEFONO_2Value; + property TELEFONO_2IsNull: Boolean read GetTELEFONO_2IsNull write SetTELEFONO_2IsNull; property MOVIL_1: String read GetMOVIL_1Value write SetMOVIL_1Value; + property MOVIL_1IsNull: Boolean read GetMOVIL_1IsNull write SetMOVIL_1IsNull; property MOVIL_2: String read GetMOVIL_2Value write SetMOVIL_2Value; + property MOVIL_2IsNull: Boolean read GetMOVIL_2IsNull write SetMOVIL_2IsNull; property FAX: String read GetFAXValue write SetFAXValue; + property FAXIsNull: Boolean read GetFAXIsNull write SetFAXIsNull; property EMAIL_1: String read GetEMAIL_1Value write SetEMAIL_1Value; + property EMAIL_1IsNull: Boolean read GetEMAIL_1IsNull write SetEMAIL_1IsNull; property EMAIL_2: String read GetEMAIL_2Value write SetEMAIL_2Value; + property EMAIL_2IsNull: Boolean read GetEMAIL_2IsNull write SetEMAIL_2IsNull; property PAGINA_WEB: String read GetPAGINA_WEBValue write SetPAGINA_WEBValue; - property NOTAS: IROStrings read GetNOTASValue write SetNOTASValue; + property PAGINA_WEBIsNull: Boolean read GetPAGINA_WEBIsNull write SetPAGINA_WEBIsNull; + property NOTAS: IROStrings read GetNOTASValue; + property NOTASIsNull: Boolean read GetNOTASIsNull write SetNOTASIsNull; + property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue; + property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull; + property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue; + property FECHA_MODIFICACIONIsNull: Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull; property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue; + property USUARIOIsNull: Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull; property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue; + property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull; property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue; + property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull; end; { TContactosDataTableRules } TContactosDataTableRules = class(TDADataTableRules, IContactos) private + f_NOTAS: IROStrings; + procedure NOTAS_OnChange(Sender: TObject); protected { Property getters and setters } function GetIDValue: Integer; virtual; procedure SetIDValue(const aValue: Integer); virtual; + function GetIDIsNull: Boolean; virtual; + procedure SetIDIsNull(const aValue: Boolean); virtual; function GetID_CATEGORIAValue: Integer; virtual; procedure SetID_CATEGORIAValue(const aValue: Integer); virtual; + function GetID_CATEGORIAIsNull: Boolean; virtual; + procedure SetID_CATEGORIAIsNull(const aValue: Boolean); virtual; function GetNIF_CIFValue: String; virtual; procedure SetNIF_CIFValue(const aValue: String); virtual; + function GetNIF_CIFIsNull: Boolean; virtual; + procedure SetNIF_CIFIsNull(const aValue: Boolean); virtual; function GetNOMBREValue: String; virtual; procedure SetNOMBREValue(const aValue: String); virtual; + function GetNOMBREIsNull: Boolean; virtual; + procedure SetNOMBREIsNull(const aValue: Boolean); virtual; function GetPERSONA_CONTACTOValue: String; virtual; procedure SetPERSONA_CONTACTOValue(const aValue: String); virtual; + function GetPERSONA_CONTACTOIsNull: Boolean; virtual; + procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean); virtual; function GetCALLEValue: String; virtual; procedure SetCALLEValue(const aValue: String); virtual; + function GetCALLEIsNull: Boolean; virtual; + procedure SetCALLEIsNull(const aValue: Boolean); virtual; function GetPOBLACIONValue: String; virtual; procedure SetPOBLACIONValue(const aValue: String); virtual; + function GetPOBLACIONIsNull: Boolean; virtual; + procedure SetPOBLACIONIsNull(const aValue: Boolean); virtual; function GetPROVINCIAValue: String; virtual; procedure SetPROVINCIAValue(const aValue: String); virtual; + function GetPROVINCIAIsNull: Boolean; virtual; + procedure SetPROVINCIAIsNull(const aValue: Boolean); virtual; function GetCODIGO_POSTALValue: String; virtual; procedure SetCODIGO_POSTALValue(const aValue: String); virtual; + function GetCODIGO_POSTALIsNull: Boolean; virtual; + procedure SetCODIGO_POSTALIsNull(const aValue: Boolean); virtual; function GetTELEFONO_1Value: String; virtual; procedure SetTELEFONO_1Value(const aValue: String); virtual; + function GetTELEFONO_1IsNull: Boolean; virtual; + procedure SetTELEFONO_1IsNull(const aValue: Boolean); virtual; function GetTELEFONO_2Value: String; virtual; procedure SetTELEFONO_2Value(const aValue: String); virtual; + function GetTELEFONO_2IsNull: Boolean; virtual; + procedure SetTELEFONO_2IsNull(const aValue: Boolean); virtual; function GetMOVIL_1Value: String; virtual; procedure SetMOVIL_1Value(const aValue: String); virtual; + function GetMOVIL_1IsNull: Boolean; virtual; + procedure SetMOVIL_1IsNull(const aValue: Boolean); virtual; function GetMOVIL_2Value: String; virtual; procedure SetMOVIL_2Value(const aValue: String); virtual; + function GetMOVIL_2IsNull: Boolean; virtual; + procedure SetMOVIL_2IsNull(const aValue: Boolean); virtual; function GetFAXValue: String; virtual; procedure SetFAXValue(const aValue: String); virtual; + function GetFAXIsNull: Boolean; virtual; + procedure SetFAXIsNull(const aValue: Boolean); virtual; function GetEMAIL_1Value: String; virtual; procedure SetEMAIL_1Value(const aValue: String); virtual; + function GetEMAIL_1IsNull: Boolean; virtual; + procedure SetEMAIL_1IsNull(const aValue: Boolean); virtual; function GetEMAIL_2Value: String; virtual; procedure SetEMAIL_2Value(const aValue: String); virtual; + function GetEMAIL_2IsNull: Boolean; virtual; + procedure SetEMAIL_2IsNull(const aValue: Boolean); virtual; function GetPAGINA_WEBValue: String; virtual; procedure SetPAGINA_WEBValue(const aValue: String); virtual; + function GetPAGINA_WEBIsNull: Boolean; virtual; + procedure SetPAGINA_WEBIsNull(const aValue: Boolean); virtual; function GetNOTASValue: IROStrings; virtual; - procedure SetNOTASValue(const aValue: IROStrings); virtual; + function GetNOTASIsNull: Boolean; virtual; + procedure SetNOTASIsNull(const aValue: Boolean); virtual; + function GetFECHA_ALTAValue: DateTime; virtual; + procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual; + function GetFECHA_ALTAIsNull: Boolean; virtual; + procedure SetFECHA_ALTAIsNull(const aValue: Boolean); virtual; + function GetFECHA_MODIFICACIONValue: DateTime; virtual; + procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual; + function GetFECHA_MODIFICACIONIsNull: Boolean; virtual; + procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); virtual; function GetUSUARIOValue: String; virtual; procedure SetUSUARIOValue(const aValue: String); virtual; + function GetUSUARIOIsNull: Boolean; virtual; + procedure SetUSUARIOIsNull(const aValue: Boolean); virtual; function GetID_EMPRESAValue: Integer; virtual; procedure SetID_EMPRESAValue(const aValue: Integer); virtual; + function GetID_EMPRESAIsNull: Boolean; virtual; + procedure SetID_EMPRESAIsNull(const aValue: Boolean); virtual; function GetREFERENCIAValue: String; virtual; procedure SetREFERENCIAValue(const aValue: String); virtual; + function GetREFERENCIAIsNull: Boolean; virtual; + procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual; { Properties } property ID: Integer read GetIDValue write SetIDValue; + property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull; property ID_CATEGORIA: Integer read GetID_CATEGORIAValue write SetID_CATEGORIAValue; + property ID_CATEGORIAIsNull: Boolean read GetID_CATEGORIAIsNull write SetID_CATEGORIAIsNull; property NIF_CIF: String read GetNIF_CIFValue write SetNIF_CIFValue; + property NIF_CIFIsNull: Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull; property NOMBRE: String read GetNOMBREValue write SetNOMBREValue; + property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull; property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue; + property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull; property CALLE: String read GetCALLEValue write SetCALLEValue; + property CALLEIsNull: Boolean read GetCALLEIsNull write SetCALLEIsNull; property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue; + property POBLACIONIsNull: Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull; property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue; + property PROVINCIAIsNull: Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull; property CODIGO_POSTAL: String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue; + property CODIGO_POSTALIsNull: Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull; property TELEFONO_1: String read GetTELEFONO_1Value write SetTELEFONO_1Value; + property TELEFONO_1IsNull: Boolean read GetTELEFONO_1IsNull write SetTELEFONO_1IsNull; property TELEFONO_2: String read GetTELEFONO_2Value write SetTELEFONO_2Value; + property TELEFONO_2IsNull: Boolean read GetTELEFONO_2IsNull write SetTELEFONO_2IsNull; property MOVIL_1: String read GetMOVIL_1Value write SetMOVIL_1Value; + property MOVIL_1IsNull: Boolean read GetMOVIL_1IsNull write SetMOVIL_1IsNull; property MOVIL_2: String read GetMOVIL_2Value write SetMOVIL_2Value; + property MOVIL_2IsNull: Boolean read GetMOVIL_2IsNull write SetMOVIL_2IsNull; property FAX: String read GetFAXValue write SetFAXValue; + property FAXIsNull: Boolean read GetFAXIsNull write SetFAXIsNull; property EMAIL_1: String read GetEMAIL_1Value write SetEMAIL_1Value; + property EMAIL_1IsNull: Boolean read GetEMAIL_1IsNull write SetEMAIL_1IsNull; property EMAIL_2: String read GetEMAIL_2Value write SetEMAIL_2Value; + property EMAIL_2IsNull: Boolean read GetEMAIL_2IsNull write SetEMAIL_2IsNull; property PAGINA_WEB: String read GetPAGINA_WEBValue write SetPAGINA_WEBValue; - property NOTAS: IROStrings read GetNOTASValue write SetNOTASValue; + property PAGINA_WEBIsNull: Boolean read GetPAGINA_WEBIsNull write SetPAGINA_WEBIsNull; + property NOTAS: IROStrings read GetNOTASValue; + property NOTASIsNull: Boolean read GetNOTASIsNull write SetNOTASIsNull; + property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue; + property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull; + property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue; + property FECHA_MODIFICACIONIsNull: Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull; property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue; + property USUARIOIsNull: Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull; property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue; + property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull; property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue; + property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull; public constructor Create(aDataTable: TDADataTable); override; @@ -514,14 +688,17 @@ type { IGruposCliente } IGruposCliente = interface(IDAStronglyTypedDataTable) - ['{1FFF80FA-0CE6-4907-A25E-582E1724B293}'] + ['{BF3CBA8D-14FB-4780-B103-7235FCF48D8F}'] { Property getters and setters } function GetDESCRIPCIONValue: String; procedure SetDESCRIPCIONValue(const aValue: String); + function GetDESCRIPCIONIsNull: Boolean; + procedure SetDESCRIPCIONIsNull(const aValue: Boolean); { Properties } property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue; + property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull; end; { TGruposClienteDataTableRules } @@ -531,9 +708,12 @@ type { Property getters and setters } function GetDESCRIPCIONValue: String; virtual; procedure SetDESCRIPCIONValue(const aValue: String); virtual; + function GetDESCRIPCIONIsNull: Boolean; virtual; + procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual; { Properties } property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue; + property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull; public constructor Create(aDataTable: TDADataTable); override; @@ -543,32 +723,65 @@ type { IDatosBancarios } IDatosBancarios = interface(IDAStronglyTypedDataTable) - ['{F87D0636-602D-472C-90BD-8A8F6F783944}'] + ['{02D44CDC-6117-4F4C-8908-88237588DA02}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); + function GetIDIsNull: Boolean; + procedure SetIDIsNull(const aValue: Boolean); function GetID_CONTACTOValue: Integer; procedure SetID_CONTACTOValue(const aValue: Integer); + function GetID_CONTACTOIsNull: Boolean; + procedure SetID_CONTACTOIsNull(const aValue: Boolean); function GetTITULARValue: String; procedure SetTITULARValue(const aValue: String); + function GetTITULARIsNull: Boolean; + procedure SetTITULARIsNull(const aValue: Boolean); function GetENTIDADValue: String; procedure SetENTIDADValue(const aValue: String); + function GetENTIDADIsNull: Boolean; + procedure SetENTIDADIsNull(const aValue: Boolean); function GetSUCURSALValue: String; procedure SetSUCURSALValue(const aValue: String); + function GetSUCURSALIsNull: Boolean; + procedure SetSUCURSALIsNull(const aValue: Boolean); function GetDCValue: String; procedure SetDCValue(const aValue: String); + function GetDCIsNull: Boolean; + procedure SetDCIsNull(const aValue: Boolean); function GetCUENTAValue: String; procedure SetCUENTAValue(const aValue: String); + function GetCUENTAIsNull: Boolean; + procedure SetCUENTAIsNull(const aValue: Boolean); + function GetFECHA_ALTAValue: DateTime; + procedure SetFECHA_ALTAValue(const aValue: DateTime); + function GetFECHA_ALTAIsNull: Boolean; + procedure SetFECHA_ALTAIsNull(const aValue: Boolean); + function GetFECHA_MODIFICACIONValue: DateTime; + procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); + function GetFECHA_MODIFICACIONIsNull: Boolean; + procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); { Properties } property ID: Integer read GetIDValue write SetIDValue; + property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull; property ID_CONTACTO: Integer read GetID_CONTACTOValue write SetID_CONTACTOValue; + property ID_CONTACTOIsNull: Boolean read GetID_CONTACTOIsNull write SetID_CONTACTOIsNull; property TITULAR: String read GetTITULARValue write SetTITULARValue; + property TITULARIsNull: Boolean read GetTITULARIsNull write SetTITULARIsNull; property ENTIDAD: String read GetENTIDADValue write SetENTIDADValue; + property ENTIDADIsNull: Boolean read GetENTIDADIsNull write SetENTIDADIsNull; property SUCURSAL: String read GetSUCURSALValue write SetSUCURSALValue; + property SUCURSALIsNull: Boolean read GetSUCURSALIsNull write SetSUCURSALIsNull; property DC: String read GetDCValue write SetDCValue; + property DCIsNull: Boolean read GetDCIsNull write SetDCIsNull; property CUENTA: String read GetCUENTAValue write SetCUENTAValue; + property CUENTAIsNull: Boolean read GetCUENTAIsNull write SetCUENTAIsNull; + property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue; + property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull; + property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue; + property FECHA_MODIFICACIONIsNull: Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull; end; { TDatosBancariosDataTableRules } @@ -578,27 +791,60 @@ type { Property getters and setters } function GetIDValue: Integer; virtual; procedure SetIDValue(const aValue: Integer); virtual; + function GetIDIsNull: Boolean; virtual; + procedure SetIDIsNull(const aValue: Boolean); virtual; function GetID_CONTACTOValue: Integer; virtual; procedure SetID_CONTACTOValue(const aValue: Integer); virtual; + function GetID_CONTACTOIsNull: Boolean; virtual; + procedure SetID_CONTACTOIsNull(const aValue: Boolean); virtual; function GetTITULARValue: String; virtual; procedure SetTITULARValue(const aValue: String); virtual; + function GetTITULARIsNull: Boolean; virtual; + procedure SetTITULARIsNull(const aValue: Boolean); virtual; function GetENTIDADValue: String; virtual; procedure SetENTIDADValue(const aValue: String); virtual; + function GetENTIDADIsNull: Boolean; virtual; + procedure SetENTIDADIsNull(const aValue: Boolean); virtual; function GetSUCURSALValue: String; virtual; procedure SetSUCURSALValue(const aValue: String); virtual; + function GetSUCURSALIsNull: Boolean; virtual; + procedure SetSUCURSALIsNull(const aValue: Boolean); virtual; function GetDCValue: String; virtual; procedure SetDCValue(const aValue: String); virtual; + function GetDCIsNull: Boolean; virtual; + procedure SetDCIsNull(const aValue: Boolean); virtual; function GetCUENTAValue: String; virtual; procedure SetCUENTAValue(const aValue: String); virtual; + function GetCUENTAIsNull: Boolean; virtual; + procedure SetCUENTAIsNull(const aValue: Boolean); virtual; + function GetFECHA_ALTAValue: DateTime; virtual; + procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual; + function GetFECHA_ALTAIsNull: Boolean; virtual; + procedure SetFECHA_ALTAIsNull(const aValue: Boolean); virtual; + function GetFECHA_MODIFICACIONValue: DateTime; virtual; + procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual; + function GetFECHA_MODIFICACIONIsNull: Boolean; virtual; + procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); virtual; { Properties } property ID: Integer read GetIDValue write SetIDValue; + property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull; property ID_CONTACTO: Integer read GetID_CONTACTOValue write SetID_CONTACTOValue; + property ID_CONTACTOIsNull: Boolean read GetID_CONTACTOIsNull write SetID_CONTACTOIsNull; property TITULAR: String read GetTITULARValue write SetTITULARValue; + property TITULARIsNull: Boolean read GetTITULARIsNull write SetTITULARIsNull; property ENTIDAD: String read GetENTIDADValue write SetENTIDADValue; + property ENTIDADIsNull: Boolean read GetENTIDADIsNull write SetENTIDADIsNull; property SUCURSAL: String read GetSUCURSALValue write SetSUCURSALValue; + property SUCURSALIsNull: Boolean read GetSUCURSALIsNull write SetSUCURSALIsNull; property DC: String read GetDCValue write SetDCValue; + property DCIsNull: Boolean read GetDCIsNull write SetDCIsNull; property CUENTA: String read GetCUENTAValue write SetCUENTAValue; + property CUENTAIsNull: Boolean read GetCUENTAIsNull write SetCUENTAIsNull; + property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue; + property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull; + property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue; + property FECHA_MODIFICACIONIsNull: Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull; public constructor Create(aDataTable: TDADataTable); override; @@ -608,17 +854,23 @@ type { IContactosCategorias } IContactosCategorias = interface(IDAStronglyTypedDataTable) - ['{D8DCDA8D-996F-446C-8241-E02D41DDEB09}'] + ['{010B7381-CFA0-40AC-92A7-CBF4E77B1C98}'] { Property getters and setters } function GetID_CONTACTOValue: Integer; procedure SetID_CONTACTOValue(const aValue: Integer); + function GetID_CONTACTOIsNull: Boolean; + procedure SetID_CONTACTOIsNull(const aValue: Boolean); function GetID_CATEGORIAValue: Integer; procedure SetID_CATEGORIAValue(const aValue: Integer); + function GetID_CATEGORIAIsNull: Boolean; + procedure SetID_CATEGORIAIsNull(const aValue: Boolean); { Properties } property ID_CONTACTO: Integer read GetID_CONTACTOValue write SetID_CONTACTOValue; + property ID_CONTACTOIsNull: Boolean read GetID_CONTACTOIsNull write SetID_CONTACTOIsNull; property ID_CATEGORIA: Integer read GetID_CATEGORIAValue write SetID_CATEGORIAValue; + property ID_CATEGORIAIsNull: Boolean read GetID_CATEGORIAIsNull write SetID_CATEGORIAIsNull; end; { TContactosCategoriasDataTableRules } @@ -628,12 +880,18 @@ type { Property getters and setters } function GetID_CONTACTOValue: Integer; virtual; procedure SetID_CONTACTOValue(const aValue: Integer); virtual; + function GetID_CONTACTOIsNull: Boolean; virtual; + procedure SetID_CONTACTOIsNull(const aValue: Boolean); virtual; function GetID_CATEGORIAValue: Integer; virtual; procedure SetID_CATEGORIAValue(const aValue: Integer); virtual; + function GetID_CATEGORIAIsNull: Boolean; virtual; + procedure SetID_CATEGORIAIsNull(const aValue: Boolean); virtual; { Properties } property ID_CONTACTO: Integer read GetID_CONTACTOValue write SetID_CONTACTOValue; + property ID_CONTACTOIsNull: Boolean read GetID_CONTACTOIsNull write SetID_CONTACTOIsNull; property ID_CATEGORIA: Integer read GetID_CATEGORIAValue write SetID_CATEGORIAValue; + property ID_CATEGORIAIsNull: Boolean read GetID_CATEGORIAIsNull write SetID_CATEGORIAIsNull; public constructor Create(aDataTable: TDADataTable); override; @@ -643,206 +901,416 @@ type { IClientes } IClientes = interface(IDAStronglyTypedDataTable) - ['{A6D726D9-A0A4-4F7B-B8BD-BCAE0B982891}'] + ['{B6D72E77-9FF3-4628-9E95-A2199A762683}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); + function GetIDIsNull: Boolean; + procedure SetIDIsNull(const aValue: Boolean); function GetID_CATEGORIAValue: Integer; procedure SetID_CATEGORIAValue(const aValue: Integer); + function GetID_CATEGORIAIsNull: Boolean; + procedure SetID_CATEGORIAIsNull(const aValue: Boolean); function GetNIF_CIFValue: String; procedure SetNIF_CIFValue(const aValue: String); + function GetNIF_CIFIsNull: Boolean; + procedure SetNIF_CIFIsNull(const aValue: Boolean); function GetNOMBREValue: String; procedure SetNOMBREValue(const aValue: String); - function GetCALLEValue: String; - procedure SetCALLEValue(const aValue: String); + function GetNOMBREIsNull: Boolean; + procedure SetNOMBREIsNull(const aValue: Boolean); function GetPERSONA_CONTACTOValue: String; procedure SetPERSONA_CONTACTOValue(const aValue: String); + function GetPERSONA_CONTACTOIsNull: Boolean; + procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean); + function GetCALLEValue: String; + procedure SetCALLEValue(const aValue: String); + function GetCALLEIsNull: Boolean; + procedure SetCALLEIsNull(const aValue: Boolean); function GetPOBLACIONValue: String; procedure SetPOBLACIONValue(const aValue: String); + function GetPOBLACIONIsNull: Boolean; + procedure SetPOBLACIONIsNull(const aValue: Boolean); function GetPROVINCIAValue: String; procedure SetPROVINCIAValue(const aValue: String); + function GetPROVINCIAIsNull: Boolean; + procedure SetPROVINCIAIsNull(const aValue: Boolean); function GetCODIGO_POSTALValue: String; procedure SetCODIGO_POSTALValue(const aValue: String); + function GetCODIGO_POSTALIsNull: Boolean; + procedure SetCODIGO_POSTALIsNull(const aValue: Boolean); function GetTELEFONO_1Value: String; procedure SetTELEFONO_1Value(const aValue: String); + function GetTELEFONO_1IsNull: Boolean; + procedure SetTELEFONO_1IsNull(const aValue: Boolean); function GetTELEFONO_2Value: String; procedure SetTELEFONO_2Value(const aValue: String); + function GetTELEFONO_2IsNull: Boolean; + procedure SetTELEFONO_2IsNull(const aValue: Boolean); function GetMOVIL_1Value: String; procedure SetMOVIL_1Value(const aValue: String); + function GetMOVIL_1IsNull: Boolean; + procedure SetMOVIL_1IsNull(const aValue: Boolean); function GetMOVIL_2Value: String; procedure SetMOVIL_2Value(const aValue: String); + function GetMOVIL_2IsNull: Boolean; + procedure SetMOVIL_2IsNull(const aValue: Boolean); function GetFAXValue: String; procedure SetFAXValue(const aValue: String); + function GetFAXIsNull: Boolean; + procedure SetFAXIsNull(const aValue: Boolean); function GetEMAIL_1Value: String; procedure SetEMAIL_1Value(const aValue: String); + function GetEMAIL_1IsNull: Boolean; + procedure SetEMAIL_1IsNull(const aValue: Boolean); function GetEMAIL_2Value: String; procedure SetEMAIL_2Value(const aValue: String); + function GetEMAIL_2IsNull: Boolean; + procedure SetEMAIL_2IsNull(const aValue: Boolean); function GetPAGINA_WEBValue: String; procedure SetPAGINA_WEBValue(const aValue: String); + function GetPAGINA_WEBIsNull: Boolean; + procedure SetPAGINA_WEBIsNull(const aValue: Boolean); function GetNOTASValue: IROStrings; - procedure SetNOTASValue(const aValue: IROStrings); + function GetNOTASIsNull: Boolean; + procedure SetNOTASIsNull(const aValue: Boolean); + function GetFECHA_ALTAValue: DateTime; + procedure SetFECHA_ALTAValue(const aValue: DateTime); + function GetFECHA_ALTAIsNull: Boolean; + procedure SetFECHA_ALTAIsNull(const aValue: Boolean); + function GetFECHA_MODIFICACIONValue: DateTime; + procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); + function GetFECHA_MODIFICACIONIsNull: Boolean; + procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); function GetUSUARIOValue: String; procedure SetUSUARIOValue(const aValue: String); + function GetUSUARIOIsNull: Boolean; + procedure SetUSUARIOIsNull(const aValue: Boolean); function GetID_EMPRESAValue: Integer; procedure SetID_EMPRESAValue(const aValue: Integer); + function GetID_EMPRESAIsNull: Boolean; + procedure SetID_EMPRESAIsNull(const aValue: Boolean); function GetREFERENCIAValue: String; procedure SetREFERENCIAValue(const aValue: String); - function GetID_TIPO_IVAValue: Integer; - procedure SetID_TIPO_IVAValue(const aValue: Integer); - function GetREGIMEN_IVAValue: String; - procedure SetREGIMEN_IVAValue(const aValue: String); - function GetID_FORMA_PAGOValue: Integer; - procedure SetID_FORMA_PAGOValue(const aValue: Integer); - function GetTIENDA_WEBValue: Integer; - procedure SetTIENDA_WEBValue(const aValue: Integer); - function GetRECARGO_EQUIVALENCIAValue: Integer; - procedure SetRECARGO_EQUIVALENCIAValue(const aValue: Integer); + function GetREFERENCIAIsNull: Boolean; + procedure SetREFERENCIAIsNull(const aValue: Boolean); function GetGRUPO_CLIENTEValue: String; procedure SetGRUPO_CLIENTEValue(const aValue: String); + function GetGRUPO_CLIENTEIsNull: Boolean; + procedure SetGRUPO_CLIENTEIsNull(const aValue: Boolean); function GetNOMBRE_COMERCIALValue: String; procedure SetNOMBRE_COMERCIALValue(const aValue: String); + function GetNOMBRE_COMERCIALIsNull: Boolean; + procedure SetNOMBRE_COMERCIALIsNull(const aValue: Boolean); function GetVENCIMIENTO_FACTURASValue: Integer; procedure SetVENCIMIENTO_FACTURASValue(const aValue: Integer); - function GetBLOQUEADOValue: Integer; - procedure SetBLOQUEADOValue(const aValue: Integer); + function GetVENCIMIENTO_FACTURASIsNull: Boolean; + procedure SetVENCIMIENTO_FACTURASIsNull(const aValue: Boolean); + function GetBLOQUEADOValue: SmallInt; + procedure SetBLOQUEADOValue(const aValue: SmallInt); + function GetBLOQUEADOIsNull: Boolean; + procedure SetBLOQUEADOIsNull(const aValue: Boolean); + function GetREGIMEN_IVAValue: String; + procedure SetREGIMEN_IVAValue(const aValue: String); + function GetREGIMEN_IVAIsNull: Boolean; + procedure SetREGIMEN_IVAIsNull(const aValue: Boolean); function GetMOTIVO_BLOQUEOValue: String; procedure SetMOTIVO_BLOQUEOValue(const aValue: String); + function GetMOTIVO_BLOQUEOIsNull: Boolean; + procedure SetMOTIVO_BLOQUEOIsNull(const aValue: Boolean); + function GetRECARGO_EQUIVALENCIAValue: Integer; + procedure SetRECARGO_EQUIVALENCIAValue(const aValue: Integer); + function GetRECARGO_EQUIVALENCIAIsNull: Boolean; + procedure SetRECARGO_EQUIVALENCIAIsNull(const aValue: Boolean); + function GetID_TIPO_IVAValue: Integer; + procedure SetID_TIPO_IVAValue(const aValue: Integer); + function GetID_TIPO_IVAIsNull: Boolean; + procedure SetID_TIPO_IVAIsNull(const aValue: Boolean); + function GetID_FORMA_PAGOValue: Integer; + procedure SetID_FORMA_PAGOValue(const aValue: Integer); + function GetID_FORMA_PAGOIsNull: Boolean; + procedure SetID_FORMA_PAGOIsNull(const aValue: Boolean); + function GetTIENDA_WEBValue: SmallInt; + procedure SetTIENDA_WEBValue(const aValue: SmallInt); + function GetTIENDA_WEBIsNull: Boolean; + procedure SetTIENDA_WEBIsNull(const aValue: Boolean); { Properties } property ID: Integer read GetIDValue write SetIDValue; + property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull; property ID_CATEGORIA: Integer read GetID_CATEGORIAValue write SetID_CATEGORIAValue; + property ID_CATEGORIAIsNull: Boolean read GetID_CATEGORIAIsNull write SetID_CATEGORIAIsNull; property NIF_CIF: String read GetNIF_CIFValue write SetNIF_CIFValue; + property NIF_CIFIsNull: Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull; property NOMBRE: String read GetNOMBREValue write SetNOMBREValue; - property CALLE: String read GetCALLEValue write SetCALLEValue; + property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull; property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue; + property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull; + property CALLE: String read GetCALLEValue write SetCALLEValue; + property CALLEIsNull: Boolean read GetCALLEIsNull write SetCALLEIsNull; property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue; + property POBLACIONIsNull: Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull; property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue; + property PROVINCIAIsNull: Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull; property CODIGO_POSTAL: String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue; + property CODIGO_POSTALIsNull: Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull; property TELEFONO_1: String read GetTELEFONO_1Value write SetTELEFONO_1Value; + property TELEFONO_1IsNull: Boolean read GetTELEFONO_1IsNull write SetTELEFONO_1IsNull; property TELEFONO_2: String read GetTELEFONO_2Value write SetTELEFONO_2Value; + property TELEFONO_2IsNull: Boolean read GetTELEFONO_2IsNull write SetTELEFONO_2IsNull; property MOVIL_1: String read GetMOVIL_1Value write SetMOVIL_1Value; + property MOVIL_1IsNull: Boolean read GetMOVIL_1IsNull write SetMOVIL_1IsNull; property MOVIL_2: String read GetMOVIL_2Value write SetMOVIL_2Value; + property MOVIL_2IsNull: Boolean read GetMOVIL_2IsNull write SetMOVIL_2IsNull; property FAX: String read GetFAXValue write SetFAXValue; + property FAXIsNull: Boolean read GetFAXIsNull write SetFAXIsNull; property EMAIL_1: String read GetEMAIL_1Value write SetEMAIL_1Value; + property EMAIL_1IsNull: Boolean read GetEMAIL_1IsNull write SetEMAIL_1IsNull; property EMAIL_2: String read GetEMAIL_2Value write SetEMAIL_2Value; + property EMAIL_2IsNull: Boolean read GetEMAIL_2IsNull write SetEMAIL_2IsNull; property PAGINA_WEB: String read GetPAGINA_WEBValue write SetPAGINA_WEBValue; - property NOTAS: IROStrings read GetNOTASValue write SetNOTASValue; + property PAGINA_WEBIsNull: Boolean read GetPAGINA_WEBIsNull write SetPAGINA_WEBIsNull; + property NOTAS: IROStrings read GetNOTASValue; + property NOTASIsNull: Boolean read GetNOTASIsNull write SetNOTASIsNull; + property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue; + property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull; + property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue; + property FECHA_MODIFICACIONIsNull: Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull; property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue; + property USUARIOIsNull: Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull; property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue; + property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull; property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue; - property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue; - property REGIMEN_IVA: String read GetREGIMEN_IVAValue write SetREGIMEN_IVAValue; - property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue; - property TIENDA_WEB: Integer read GetTIENDA_WEBValue write SetTIENDA_WEBValue; - property RECARGO_EQUIVALENCIA: Integer read GetRECARGO_EQUIVALENCIAValue write SetRECARGO_EQUIVALENCIAValue; + property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull; property GRUPO_CLIENTE: String read GetGRUPO_CLIENTEValue write SetGRUPO_CLIENTEValue; + property GRUPO_CLIENTEIsNull: Boolean read GetGRUPO_CLIENTEIsNull write SetGRUPO_CLIENTEIsNull; property NOMBRE_COMERCIAL: String read GetNOMBRE_COMERCIALValue write SetNOMBRE_COMERCIALValue; + property NOMBRE_COMERCIALIsNull: Boolean read GetNOMBRE_COMERCIALIsNull write SetNOMBRE_COMERCIALIsNull; property VENCIMIENTO_FACTURAS: Integer read GetVENCIMIENTO_FACTURASValue write SetVENCIMIENTO_FACTURASValue; - property BLOQUEADO: Integer read GetBLOQUEADOValue write SetBLOQUEADOValue; + property VENCIMIENTO_FACTURASIsNull: Boolean read GetVENCIMIENTO_FACTURASIsNull write SetVENCIMIENTO_FACTURASIsNull; + property BLOQUEADO: SmallInt read GetBLOQUEADOValue write SetBLOQUEADOValue; + property BLOQUEADOIsNull: Boolean read GetBLOQUEADOIsNull write SetBLOQUEADOIsNull; + property REGIMEN_IVA: String read GetREGIMEN_IVAValue write SetREGIMEN_IVAValue; + property REGIMEN_IVAIsNull: Boolean read GetREGIMEN_IVAIsNull write SetREGIMEN_IVAIsNull; property MOTIVO_BLOQUEO: String read GetMOTIVO_BLOQUEOValue write SetMOTIVO_BLOQUEOValue; + property MOTIVO_BLOQUEOIsNull: Boolean read GetMOTIVO_BLOQUEOIsNull write SetMOTIVO_BLOQUEOIsNull; + property RECARGO_EQUIVALENCIA: Integer read GetRECARGO_EQUIVALENCIAValue write SetRECARGO_EQUIVALENCIAValue; + property RECARGO_EQUIVALENCIAIsNull: Boolean read GetRECARGO_EQUIVALENCIAIsNull write SetRECARGO_EQUIVALENCIAIsNull; + property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue; + property ID_TIPO_IVAIsNull: Boolean read GetID_TIPO_IVAIsNull write SetID_TIPO_IVAIsNull; + property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue; + property ID_FORMA_PAGOIsNull: Boolean read GetID_FORMA_PAGOIsNull write SetID_FORMA_PAGOIsNull; + property TIENDA_WEB: SmallInt read GetTIENDA_WEBValue write SetTIENDA_WEBValue; + property TIENDA_WEBIsNull: Boolean read GetTIENDA_WEBIsNull write SetTIENDA_WEBIsNull; end; { TClientesDataTableRules } TClientesDataTableRules = class(TDADataTableRules, IClientes) private + f_NOTAS: IROStrings; + procedure NOTAS_OnChange(Sender: TObject); protected { Property getters and setters } function GetIDValue: Integer; virtual; procedure SetIDValue(const aValue: Integer); virtual; + function GetIDIsNull: Boolean; virtual; + procedure SetIDIsNull(const aValue: Boolean); virtual; function GetID_CATEGORIAValue: Integer; virtual; procedure SetID_CATEGORIAValue(const aValue: Integer); virtual; + function GetID_CATEGORIAIsNull: Boolean; virtual; + procedure SetID_CATEGORIAIsNull(const aValue: Boolean); virtual; function GetNIF_CIFValue: String; virtual; procedure SetNIF_CIFValue(const aValue: String); virtual; + function GetNIF_CIFIsNull: Boolean; virtual; + procedure SetNIF_CIFIsNull(const aValue: Boolean); virtual; function GetNOMBREValue: String; virtual; procedure SetNOMBREValue(const aValue: String); virtual; - function GetCALLEValue: String; virtual; - procedure SetCALLEValue(const aValue: String); virtual; + function GetNOMBREIsNull: Boolean; virtual; + procedure SetNOMBREIsNull(const aValue: Boolean); virtual; function GetPERSONA_CONTACTOValue: String; virtual; procedure SetPERSONA_CONTACTOValue(const aValue: String); virtual; + function GetPERSONA_CONTACTOIsNull: Boolean; virtual; + procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean); virtual; + function GetCALLEValue: String; virtual; + procedure SetCALLEValue(const aValue: String); virtual; + function GetCALLEIsNull: Boolean; virtual; + procedure SetCALLEIsNull(const aValue: Boolean); virtual; function GetPOBLACIONValue: String; virtual; procedure SetPOBLACIONValue(const aValue: String); virtual; + function GetPOBLACIONIsNull: Boolean; virtual; + procedure SetPOBLACIONIsNull(const aValue: Boolean); virtual; function GetPROVINCIAValue: String; virtual; procedure SetPROVINCIAValue(const aValue: String); virtual; + function GetPROVINCIAIsNull: Boolean; virtual; + procedure SetPROVINCIAIsNull(const aValue: Boolean); virtual; function GetCODIGO_POSTALValue: String; virtual; procedure SetCODIGO_POSTALValue(const aValue: String); virtual; + function GetCODIGO_POSTALIsNull: Boolean; virtual; + procedure SetCODIGO_POSTALIsNull(const aValue: Boolean); virtual; function GetTELEFONO_1Value: String; virtual; procedure SetTELEFONO_1Value(const aValue: String); virtual; + function GetTELEFONO_1IsNull: Boolean; virtual; + procedure SetTELEFONO_1IsNull(const aValue: Boolean); virtual; function GetTELEFONO_2Value: String; virtual; procedure SetTELEFONO_2Value(const aValue: String); virtual; + function GetTELEFONO_2IsNull: Boolean; virtual; + procedure SetTELEFONO_2IsNull(const aValue: Boolean); virtual; function GetMOVIL_1Value: String; virtual; procedure SetMOVIL_1Value(const aValue: String); virtual; + function GetMOVIL_1IsNull: Boolean; virtual; + procedure SetMOVIL_1IsNull(const aValue: Boolean); virtual; function GetMOVIL_2Value: String; virtual; procedure SetMOVIL_2Value(const aValue: String); virtual; + function GetMOVIL_2IsNull: Boolean; virtual; + procedure SetMOVIL_2IsNull(const aValue: Boolean); virtual; function GetFAXValue: String; virtual; procedure SetFAXValue(const aValue: String); virtual; + function GetFAXIsNull: Boolean; virtual; + procedure SetFAXIsNull(const aValue: Boolean); virtual; function GetEMAIL_1Value: String; virtual; procedure SetEMAIL_1Value(const aValue: String); virtual; + function GetEMAIL_1IsNull: Boolean; virtual; + procedure SetEMAIL_1IsNull(const aValue: Boolean); virtual; function GetEMAIL_2Value: String; virtual; procedure SetEMAIL_2Value(const aValue: String); virtual; + function GetEMAIL_2IsNull: Boolean; virtual; + procedure SetEMAIL_2IsNull(const aValue: Boolean); virtual; function GetPAGINA_WEBValue: String; virtual; procedure SetPAGINA_WEBValue(const aValue: String); virtual; + function GetPAGINA_WEBIsNull: Boolean; virtual; + procedure SetPAGINA_WEBIsNull(const aValue: Boolean); virtual; function GetNOTASValue: IROStrings; virtual; - procedure SetNOTASValue(const aValue: IROStrings); virtual; + function GetNOTASIsNull: Boolean; virtual; + procedure SetNOTASIsNull(const aValue: Boolean); virtual; + function GetFECHA_ALTAValue: DateTime; virtual; + procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual; + function GetFECHA_ALTAIsNull: Boolean; virtual; + procedure SetFECHA_ALTAIsNull(const aValue: Boolean); virtual; + function GetFECHA_MODIFICACIONValue: DateTime; virtual; + procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual; + function GetFECHA_MODIFICACIONIsNull: Boolean; virtual; + procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); virtual; function GetUSUARIOValue: String; virtual; procedure SetUSUARIOValue(const aValue: String); virtual; + function GetUSUARIOIsNull: Boolean; virtual; + procedure SetUSUARIOIsNull(const aValue: Boolean); virtual; function GetID_EMPRESAValue: Integer; virtual; procedure SetID_EMPRESAValue(const aValue: Integer); virtual; + function GetID_EMPRESAIsNull: Boolean; virtual; + procedure SetID_EMPRESAIsNull(const aValue: Boolean); virtual; function GetREFERENCIAValue: String; virtual; procedure SetREFERENCIAValue(const aValue: String); virtual; - function GetID_TIPO_IVAValue: Integer; virtual; - procedure SetID_TIPO_IVAValue(const aValue: Integer); virtual; - function GetREGIMEN_IVAValue: String; virtual; - procedure SetREGIMEN_IVAValue(const aValue: String); virtual; - function GetID_FORMA_PAGOValue: Integer; virtual; - procedure SetID_FORMA_PAGOValue(const aValue: Integer); virtual; - function GetTIENDA_WEBValue: Integer; virtual; - procedure SetTIENDA_WEBValue(const aValue: Integer); virtual; - function GetRECARGO_EQUIVALENCIAValue: Integer; virtual; - procedure SetRECARGO_EQUIVALENCIAValue(const aValue: Integer); virtual; + function GetREFERENCIAIsNull: Boolean; virtual; + procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual; function GetGRUPO_CLIENTEValue: String; virtual; procedure SetGRUPO_CLIENTEValue(const aValue: String); virtual; + function GetGRUPO_CLIENTEIsNull: Boolean; virtual; + procedure SetGRUPO_CLIENTEIsNull(const aValue: Boolean); virtual; function GetNOMBRE_COMERCIALValue: String; virtual; procedure SetNOMBRE_COMERCIALValue(const aValue: String); virtual; + function GetNOMBRE_COMERCIALIsNull: Boolean; virtual; + procedure SetNOMBRE_COMERCIALIsNull(const aValue: Boolean); virtual; function GetVENCIMIENTO_FACTURASValue: Integer; virtual; procedure SetVENCIMIENTO_FACTURASValue(const aValue: Integer); virtual; - function GetBLOQUEADOValue: Integer; virtual; - procedure SetBLOQUEADOValue(const aValue: Integer); virtual; + function GetVENCIMIENTO_FACTURASIsNull: Boolean; virtual; + procedure SetVENCIMIENTO_FACTURASIsNull(const aValue: Boolean); virtual; + function GetBLOQUEADOValue: SmallInt; virtual; + procedure SetBLOQUEADOValue(const aValue: SmallInt); virtual; + function GetBLOQUEADOIsNull: Boolean; virtual; + procedure SetBLOQUEADOIsNull(const aValue: Boolean); virtual; + function GetREGIMEN_IVAValue: String; virtual; + procedure SetREGIMEN_IVAValue(const aValue: String); virtual; + function GetREGIMEN_IVAIsNull: Boolean; virtual; + procedure SetREGIMEN_IVAIsNull(const aValue: Boolean); virtual; function GetMOTIVO_BLOQUEOValue: String; virtual; procedure SetMOTIVO_BLOQUEOValue(const aValue: String); virtual; + function GetMOTIVO_BLOQUEOIsNull: Boolean; virtual; + procedure SetMOTIVO_BLOQUEOIsNull(const aValue: Boolean); virtual; + function GetRECARGO_EQUIVALENCIAValue: Integer; virtual; + procedure SetRECARGO_EQUIVALENCIAValue(const aValue: Integer); virtual; + function GetRECARGO_EQUIVALENCIAIsNull: Boolean; virtual; + procedure SetRECARGO_EQUIVALENCIAIsNull(const aValue: Boolean); virtual; + function GetID_TIPO_IVAValue: Integer; virtual; + procedure SetID_TIPO_IVAValue(const aValue: Integer); virtual; + function GetID_TIPO_IVAIsNull: Boolean; virtual; + procedure SetID_TIPO_IVAIsNull(const aValue: Boolean); virtual; + function GetID_FORMA_PAGOValue: Integer; virtual; + procedure SetID_FORMA_PAGOValue(const aValue: Integer); virtual; + function GetID_FORMA_PAGOIsNull: Boolean; virtual; + procedure SetID_FORMA_PAGOIsNull(const aValue: Boolean); virtual; + function GetTIENDA_WEBValue: SmallInt; virtual; + procedure SetTIENDA_WEBValue(const aValue: SmallInt); virtual; + function GetTIENDA_WEBIsNull: Boolean; virtual; + procedure SetTIENDA_WEBIsNull(const aValue: Boolean); virtual; { Properties } property ID: Integer read GetIDValue write SetIDValue; + property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull; property ID_CATEGORIA: Integer read GetID_CATEGORIAValue write SetID_CATEGORIAValue; + property ID_CATEGORIAIsNull: Boolean read GetID_CATEGORIAIsNull write SetID_CATEGORIAIsNull; property NIF_CIF: String read GetNIF_CIFValue write SetNIF_CIFValue; + property NIF_CIFIsNull: Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull; property NOMBRE: String read GetNOMBREValue write SetNOMBREValue; - property CALLE: String read GetCALLEValue write SetCALLEValue; + property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull; property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue; + property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull; + property CALLE: String read GetCALLEValue write SetCALLEValue; + property CALLEIsNull: Boolean read GetCALLEIsNull write SetCALLEIsNull; property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue; + property POBLACIONIsNull: Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull; property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue; + property PROVINCIAIsNull: Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull; property CODIGO_POSTAL: String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue; + property CODIGO_POSTALIsNull: Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull; property TELEFONO_1: String read GetTELEFONO_1Value write SetTELEFONO_1Value; + property TELEFONO_1IsNull: Boolean read GetTELEFONO_1IsNull write SetTELEFONO_1IsNull; property TELEFONO_2: String read GetTELEFONO_2Value write SetTELEFONO_2Value; + property TELEFONO_2IsNull: Boolean read GetTELEFONO_2IsNull write SetTELEFONO_2IsNull; property MOVIL_1: String read GetMOVIL_1Value write SetMOVIL_1Value; + property MOVIL_1IsNull: Boolean read GetMOVIL_1IsNull write SetMOVIL_1IsNull; property MOVIL_2: String read GetMOVIL_2Value write SetMOVIL_2Value; + property MOVIL_2IsNull: Boolean read GetMOVIL_2IsNull write SetMOVIL_2IsNull; property FAX: String read GetFAXValue write SetFAXValue; + property FAXIsNull: Boolean read GetFAXIsNull write SetFAXIsNull; property EMAIL_1: String read GetEMAIL_1Value write SetEMAIL_1Value; + property EMAIL_1IsNull: Boolean read GetEMAIL_1IsNull write SetEMAIL_1IsNull; property EMAIL_2: String read GetEMAIL_2Value write SetEMAIL_2Value; + property EMAIL_2IsNull: Boolean read GetEMAIL_2IsNull write SetEMAIL_2IsNull; property PAGINA_WEB: String read GetPAGINA_WEBValue write SetPAGINA_WEBValue; - property NOTAS: IROStrings read GetNOTASValue write SetNOTASValue; + property PAGINA_WEBIsNull: Boolean read GetPAGINA_WEBIsNull write SetPAGINA_WEBIsNull; + property NOTAS: IROStrings read GetNOTASValue; + property NOTASIsNull: Boolean read GetNOTASIsNull write SetNOTASIsNull; + property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue; + property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull; + property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue; + property FECHA_MODIFICACIONIsNull: Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull; property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue; + property USUARIOIsNull: Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull; property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue; + property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull; property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue; - property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue; - property REGIMEN_IVA: String read GetREGIMEN_IVAValue write SetREGIMEN_IVAValue; - property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue; - property TIENDA_WEB: Integer read GetTIENDA_WEBValue write SetTIENDA_WEBValue; - property RECARGO_EQUIVALENCIA: Integer read GetRECARGO_EQUIVALENCIAValue write SetRECARGO_EQUIVALENCIAValue; + property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull; property GRUPO_CLIENTE: String read GetGRUPO_CLIENTEValue write SetGRUPO_CLIENTEValue; + property GRUPO_CLIENTEIsNull: Boolean read GetGRUPO_CLIENTEIsNull write SetGRUPO_CLIENTEIsNull; property NOMBRE_COMERCIAL: String read GetNOMBRE_COMERCIALValue write SetNOMBRE_COMERCIALValue; + property NOMBRE_COMERCIALIsNull: Boolean read GetNOMBRE_COMERCIALIsNull write SetNOMBRE_COMERCIALIsNull; property VENCIMIENTO_FACTURAS: Integer read GetVENCIMIENTO_FACTURASValue write SetVENCIMIENTO_FACTURASValue; - property BLOQUEADO: Integer read GetBLOQUEADOValue write SetBLOQUEADOValue; + property VENCIMIENTO_FACTURASIsNull: Boolean read GetVENCIMIENTO_FACTURASIsNull write SetVENCIMIENTO_FACTURASIsNull; + property BLOQUEADO: SmallInt read GetBLOQUEADOValue write SetBLOQUEADOValue; + property BLOQUEADOIsNull: Boolean read GetBLOQUEADOIsNull write SetBLOQUEADOIsNull; + property REGIMEN_IVA: String read GetREGIMEN_IVAValue write SetREGIMEN_IVAValue; + property REGIMEN_IVAIsNull: Boolean read GetREGIMEN_IVAIsNull write SetREGIMEN_IVAIsNull; property MOTIVO_BLOQUEO: String read GetMOTIVO_BLOQUEOValue write SetMOTIVO_BLOQUEOValue; + property MOTIVO_BLOQUEOIsNull: Boolean read GetMOTIVO_BLOQUEOIsNull write SetMOTIVO_BLOQUEOIsNull; + property RECARGO_EQUIVALENCIA: Integer read GetRECARGO_EQUIVALENCIAValue write SetRECARGO_EQUIVALENCIAValue; + property RECARGO_EQUIVALENCIAIsNull: Boolean read GetRECARGO_EQUIVALENCIAIsNull write SetRECARGO_EQUIVALENCIAIsNull; + property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue; + property ID_TIPO_IVAIsNull: Boolean read GetID_TIPO_IVAIsNull write SetID_TIPO_IVAIsNull; + property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue; + property ID_FORMA_PAGOIsNull: Boolean read GetID_FORMA_PAGOIsNull write SetID_FORMA_PAGOIsNull; + property TIENDA_WEB: SmallInt read GetTIENDA_WEBValue write SetTIENDA_WEBValue; + property TIENDA_WEBIsNull: Boolean read GetTIENDA_WEBIsNull write SetTIENDA_WEBIsNull; public constructor Create(aDataTable: TDADataTable); override; @@ -852,206 +1320,416 @@ type { IProveedores } IProveedores = interface(IDAStronglyTypedDataTable) - ['{3B317406-09C8-4CBA-B708-F2C52CFEAB09}'] + ['{CC67B15D-1E20-40DD-B37C-DB7C039D7657}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); + function GetIDIsNull: Boolean; + procedure SetIDIsNull(const aValue: Boolean); function GetID_CATEGORIAValue: Integer; procedure SetID_CATEGORIAValue(const aValue: Integer); + function GetID_CATEGORIAIsNull: Boolean; + procedure SetID_CATEGORIAIsNull(const aValue: Boolean); function GetNIF_CIFValue: String; procedure SetNIF_CIFValue(const aValue: String); + function GetNIF_CIFIsNull: Boolean; + procedure SetNIF_CIFIsNull(const aValue: Boolean); function GetNOMBREValue: String; procedure SetNOMBREValue(const aValue: String); - function GetCALLEValue: String; - procedure SetCALLEValue(const aValue: String); + function GetNOMBREIsNull: Boolean; + procedure SetNOMBREIsNull(const aValue: Boolean); function GetPERSONA_CONTACTOValue: String; procedure SetPERSONA_CONTACTOValue(const aValue: String); + function GetPERSONA_CONTACTOIsNull: Boolean; + procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean); + function GetCALLEValue: String; + procedure SetCALLEValue(const aValue: String); + function GetCALLEIsNull: Boolean; + procedure SetCALLEIsNull(const aValue: Boolean); function GetPOBLACIONValue: String; procedure SetPOBLACIONValue(const aValue: String); + function GetPOBLACIONIsNull: Boolean; + procedure SetPOBLACIONIsNull(const aValue: Boolean); function GetPROVINCIAValue: String; procedure SetPROVINCIAValue(const aValue: String); + function GetPROVINCIAIsNull: Boolean; + procedure SetPROVINCIAIsNull(const aValue: Boolean); function GetCODIGO_POSTALValue: String; procedure SetCODIGO_POSTALValue(const aValue: String); + function GetCODIGO_POSTALIsNull: Boolean; + procedure SetCODIGO_POSTALIsNull(const aValue: Boolean); function GetTELEFONO_1Value: String; procedure SetTELEFONO_1Value(const aValue: String); + function GetTELEFONO_1IsNull: Boolean; + procedure SetTELEFONO_1IsNull(const aValue: Boolean); function GetTELEFONO_2Value: String; procedure SetTELEFONO_2Value(const aValue: String); + function GetTELEFONO_2IsNull: Boolean; + procedure SetTELEFONO_2IsNull(const aValue: Boolean); function GetMOVIL_1Value: String; procedure SetMOVIL_1Value(const aValue: String); + function GetMOVIL_1IsNull: Boolean; + procedure SetMOVIL_1IsNull(const aValue: Boolean); function GetMOVIL_2Value: String; procedure SetMOVIL_2Value(const aValue: String); + function GetMOVIL_2IsNull: Boolean; + procedure SetMOVIL_2IsNull(const aValue: Boolean); function GetFAXValue: String; procedure SetFAXValue(const aValue: String); + function GetFAXIsNull: Boolean; + procedure SetFAXIsNull(const aValue: Boolean); function GetEMAIL_1Value: String; procedure SetEMAIL_1Value(const aValue: String); + function GetEMAIL_1IsNull: Boolean; + procedure SetEMAIL_1IsNull(const aValue: Boolean); function GetEMAIL_2Value: String; procedure SetEMAIL_2Value(const aValue: String); + function GetEMAIL_2IsNull: Boolean; + procedure SetEMAIL_2IsNull(const aValue: Boolean); function GetPAGINA_WEBValue: String; procedure SetPAGINA_WEBValue(const aValue: String); + function GetPAGINA_WEBIsNull: Boolean; + procedure SetPAGINA_WEBIsNull(const aValue: Boolean); function GetNOTASValue: IROStrings; - procedure SetNOTASValue(const aValue: IROStrings); + function GetNOTASIsNull: Boolean; + procedure SetNOTASIsNull(const aValue: Boolean); + function GetFECHA_ALTAValue: DateTime; + procedure SetFECHA_ALTAValue(const aValue: DateTime); + function GetFECHA_ALTAIsNull: Boolean; + procedure SetFECHA_ALTAIsNull(const aValue: Boolean); + function GetFECHA_MODIFICACIONValue: DateTime; + procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); + function GetFECHA_MODIFICACIONIsNull: Boolean; + procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); function GetUSUARIOValue: String; procedure SetUSUARIOValue(const aValue: String); + function GetUSUARIOIsNull: Boolean; + procedure SetUSUARIOIsNull(const aValue: Boolean); function GetID_EMPRESAValue: Integer; procedure SetID_EMPRESAValue(const aValue: Integer); + function GetID_EMPRESAIsNull: Boolean; + procedure SetID_EMPRESAIsNull(const aValue: Boolean); function GetREFERENCIAValue: String; procedure SetREFERENCIAValue(const aValue: String); - function GetID_TIPO_IVAValue: Integer; - procedure SetID_TIPO_IVAValue(const aValue: Integer); - function GetREGIMEN_IVAValue: String; - procedure SetREGIMEN_IVAValue(const aValue: String); - function GetID_FORMA_PAGOValue: Integer; - procedure SetID_FORMA_PAGOValue(const aValue: Integer); - function GetTIENDA_WEBValue: Integer; - procedure SetTIENDA_WEBValue(const aValue: Integer); + function GetREFERENCIAIsNull: Boolean; + procedure SetREFERENCIAIsNull(const aValue: Boolean); function GetDESCUENTOValue: Float; procedure SetDESCUENTOValue(const aValue: Float); + function GetDESCUENTOIsNull: Boolean; + procedure SetDESCUENTOIsNull(const aValue: Boolean); function GetDESCRIPCION_PROVEEDORValue: String; procedure SetDESCRIPCION_PROVEEDORValue(const aValue: String); + function GetDESCRIPCION_PROVEEDORIsNull: Boolean; + procedure SetDESCRIPCION_PROVEEDORIsNull(const aValue: Boolean); function GetCODIGO_ASIGNADOValue: String; procedure SetCODIGO_ASIGNADOValue(const aValue: String); - function GetHOMOLOGADOValue: Integer; - procedure SetHOMOLOGADOValue(const aValue: Integer); - function GetCERTIFICACIONValue: String; - procedure SetCERTIFICACIONValue(const aValue: String); + function GetCODIGO_ASIGNADOIsNull: Boolean; + procedure SetCODIGO_ASIGNADOIsNull(const aValue: Boolean); function GetGRUPO_PROVEEDORValue: String; procedure SetGRUPO_PROVEEDORValue(const aValue: String); + function GetGRUPO_PROVEEDORIsNull: Boolean; + procedure SetGRUPO_PROVEEDORIsNull(const aValue: Boolean); + function GetREGIMEN_IVAValue: String; + procedure SetREGIMEN_IVAValue(const aValue: String); + function GetREGIMEN_IVAIsNull: Boolean; + procedure SetREGIMEN_IVAIsNull(const aValue: Boolean); + function GetID_TIPO_IVAValue: Integer; + procedure SetID_TIPO_IVAValue(const aValue: Integer); + function GetID_TIPO_IVAIsNull: Boolean; + procedure SetID_TIPO_IVAIsNull(const aValue: Boolean); + function GetID_FORMA_PAGOValue: Integer; + procedure SetID_FORMA_PAGOValue(const aValue: Integer); + function GetID_FORMA_PAGOIsNull: Boolean; + procedure SetID_FORMA_PAGOIsNull(const aValue: Boolean); + function GetTIENDA_WEBValue: SmallInt; + procedure SetTIENDA_WEBValue(const aValue: SmallInt); + function GetTIENDA_WEBIsNull: Boolean; + procedure SetTIENDA_WEBIsNull(const aValue: Boolean); + function GetHOMOLOGADOValue: SmallInt; + procedure SetHOMOLOGADOValue(const aValue: SmallInt); + function GetHOMOLOGADOIsNull: Boolean; + procedure SetHOMOLOGADOIsNull(const aValue: Boolean); + function GetCERTIFICACIONValue: String; + procedure SetCERTIFICACIONValue(const aValue: String); + function GetCERTIFICACIONIsNull: Boolean; + procedure SetCERTIFICACIONIsNull(const aValue: Boolean); { Properties } property ID: Integer read GetIDValue write SetIDValue; + property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull; property ID_CATEGORIA: Integer read GetID_CATEGORIAValue write SetID_CATEGORIAValue; + property ID_CATEGORIAIsNull: Boolean read GetID_CATEGORIAIsNull write SetID_CATEGORIAIsNull; property NIF_CIF: String read GetNIF_CIFValue write SetNIF_CIFValue; + property NIF_CIFIsNull: Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull; property NOMBRE: String read GetNOMBREValue write SetNOMBREValue; - property CALLE: String read GetCALLEValue write SetCALLEValue; + property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull; property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue; + property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull; + property CALLE: String read GetCALLEValue write SetCALLEValue; + property CALLEIsNull: Boolean read GetCALLEIsNull write SetCALLEIsNull; property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue; + property POBLACIONIsNull: Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull; property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue; + property PROVINCIAIsNull: Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull; property CODIGO_POSTAL: String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue; + property CODIGO_POSTALIsNull: Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull; property TELEFONO_1: String read GetTELEFONO_1Value write SetTELEFONO_1Value; + property TELEFONO_1IsNull: Boolean read GetTELEFONO_1IsNull write SetTELEFONO_1IsNull; property TELEFONO_2: String read GetTELEFONO_2Value write SetTELEFONO_2Value; + property TELEFONO_2IsNull: Boolean read GetTELEFONO_2IsNull write SetTELEFONO_2IsNull; property MOVIL_1: String read GetMOVIL_1Value write SetMOVIL_1Value; + property MOVIL_1IsNull: Boolean read GetMOVIL_1IsNull write SetMOVIL_1IsNull; property MOVIL_2: String read GetMOVIL_2Value write SetMOVIL_2Value; + property MOVIL_2IsNull: Boolean read GetMOVIL_2IsNull write SetMOVIL_2IsNull; property FAX: String read GetFAXValue write SetFAXValue; + property FAXIsNull: Boolean read GetFAXIsNull write SetFAXIsNull; property EMAIL_1: String read GetEMAIL_1Value write SetEMAIL_1Value; + property EMAIL_1IsNull: Boolean read GetEMAIL_1IsNull write SetEMAIL_1IsNull; property EMAIL_2: String read GetEMAIL_2Value write SetEMAIL_2Value; + property EMAIL_2IsNull: Boolean read GetEMAIL_2IsNull write SetEMAIL_2IsNull; property PAGINA_WEB: String read GetPAGINA_WEBValue write SetPAGINA_WEBValue; - property NOTAS: IROStrings read GetNOTASValue write SetNOTASValue; + property PAGINA_WEBIsNull: Boolean read GetPAGINA_WEBIsNull write SetPAGINA_WEBIsNull; + property NOTAS: IROStrings read GetNOTASValue; + property NOTASIsNull: Boolean read GetNOTASIsNull write SetNOTASIsNull; + property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue; + property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull; + property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue; + property FECHA_MODIFICACIONIsNull: Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull; property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue; + property USUARIOIsNull: Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull; property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue; + property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull; property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue; - property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue; - property REGIMEN_IVA: String read GetREGIMEN_IVAValue write SetREGIMEN_IVAValue; - property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue; - property TIENDA_WEB: Integer read GetTIENDA_WEBValue write SetTIENDA_WEBValue; + property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull; property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue; + property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull; property DESCRIPCION_PROVEEDOR: String read GetDESCRIPCION_PROVEEDORValue write SetDESCRIPCION_PROVEEDORValue; + property DESCRIPCION_PROVEEDORIsNull: Boolean read GetDESCRIPCION_PROVEEDORIsNull write SetDESCRIPCION_PROVEEDORIsNull; property CODIGO_ASIGNADO: String read GetCODIGO_ASIGNADOValue write SetCODIGO_ASIGNADOValue; - property HOMOLOGADO: Integer read GetHOMOLOGADOValue write SetHOMOLOGADOValue; - property CERTIFICACION: String read GetCERTIFICACIONValue write SetCERTIFICACIONValue; + property CODIGO_ASIGNADOIsNull: Boolean read GetCODIGO_ASIGNADOIsNull write SetCODIGO_ASIGNADOIsNull; property GRUPO_PROVEEDOR: String read GetGRUPO_PROVEEDORValue write SetGRUPO_PROVEEDORValue; + property GRUPO_PROVEEDORIsNull: Boolean read GetGRUPO_PROVEEDORIsNull write SetGRUPO_PROVEEDORIsNull; + property REGIMEN_IVA: String read GetREGIMEN_IVAValue write SetREGIMEN_IVAValue; + property REGIMEN_IVAIsNull: Boolean read GetREGIMEN_IVAIsNull write SetREGIMEN_IVAIsNull; + property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue; + property ID_TIPO_IVAIsNull: Boolean read GetID_TIPO_IVAIsNull write SetID_TIPO_IVAIsNull; + property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue; + property ID_FORMA_PAGOIsNull: Boolean read GetID_FORMA_PAGOIsNull write SetID_FORMA_PAGOIsNull; + property TIENDA_WEB: SmallInt read GetTIENDA_WEBValue write SetTIENDA_WEBValue; + property TIENDA_WEBIsNull: Boolean read GetTIENDA_WEBIsNull write SetTIENDA_WEBIsNull; + property HOMOLOGADO: SmallInt read GetHOMOLOGADOValue write SetHOMOLOGADOValue; + property HOMOLOGADOIsNull: Boolean read GetHOMOLOGADOIsNull write SetHOMOLOGADOIsNull; + property CERTIFICACION: String read GetCERTIFICACIONValue write SetCERTIFICACIONValue; + property CERTIFICACIONIsNull: Boolean read GetCERTIFICACIONIsNull write SetCERTIFICACIONIsNull; end; { TProveedoresDataTableRules } TProveedoresDataTableRules = class(TDADataTableRules, IProveedores) private + f_NOTAS: IROStrings; + procedure NOTAS_OnChange(Sender: TObject); protected { Property getters and setters } function GetIDValue: Integer; virtual; procedure SetIDValue(const aValue: Integer); virtual; + function GetIDIsNull: Boolean; virtual; + procedure SetIDIsNull(const aValue: Boolean); virtual; function GetID_CATEGORIAValue: Integer; virtual; procedure SetID_CATEGORIAValue(const aValue: Integer); virtual; + function GetID_CATEGORIAIsNull: Boolean; virtual; + procedure SetID_CATEGORIAIsNull(const aValue: Boolean); virtual; function GetNIF_CIFValue: String; virtual; procedure SetNIF_CIFValue(const aValue: String); virtual; + function GetNIF_CIFIsNull: Boolean; virtual; + procedure SetNIF_CIFIsNull(const aValue: Boolean); virtual; function GetNOMBREValue: String; virtual; procedure SetNOMBREValue(const aValue: String); virtual; - function GetCALLEValue: String; virtual; - procedure SetCALLEValue(const aValue: String); virtual; + function GetNOMBREIsNull: Boolean; virtual; + procedure SetNOMBREIsNull(const aValue: Boolean); virtual; function GetPERSONA_CONTACTOValue: String; virtual; procedure SetPERSONA_CONTACTOValue(const aValue: String); virtual; + function GetPERSONA_CONTACTOIsNull: Boolean; virtual; + procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean); virtual; + function GetCALLEValue: String; virtual; + procedure SetCALLEValue(const aValue: String); virtual; + function GetCALLEIsNull: Boolean; virtual; + procedure SetCALLEIsNull(const aValue: Boolean); virtual; function GetPOBLACIONValue: String; virtual; procedure SetPOBLACIONValue(const aValue: String); virtual; + function GetPOBLACIONIsNull: Boolean; virtual; + procedure SetPOBLACIONIsNull(const aValue: Boolean); virtual; function GetPROVINCIAValue: String; virtual; procedure SetPROVINCIAValue(const aValue: String); virtual; + function GetPROVINCIAIsNull: Boolean; virtual; + procedure SetPROVINCIAIsNull(const aValue: Boolean); virtual; function GetCODIGO_POSTALValue: String; virtual; procedure SetCODIGO_POSTALValue(const aValue: String); virtual; + function GetCODIGO_POSTALIsNull: Boolean; virtual; + procedure SetCODIGO_POSTALIsNull(const aValue: Boolean); virtual; function GetTELEFONO_1Value: String; virtual; procedure SetTELEFONO_1Value(const aValue: String); virtual; + function GetTELEFONO_1IsNull: Boolean; virtual; + procedure SetTELEFONO_1IsNull(const aValue: Boolean); virtual; function GetTELEFONO_2Value: String; virtual; procedure SetTELEFONO_2Value(const aValue: String); virtual; + function GetTELEFONO_2IsNull: Boolean; virtual; + procedure SetTELEFONO_2IsNull(const aValue: Boolean); virtual; function GetMOVIL_1Value: String; virtual; procedure SetMOVIL_1Value(const aValue: String); virtual; + function GetMOVIL_1IsNull: Boolean; virtual; + procedure SetMOVIL_1IsNull(const aValue: Boolean); virtual; function GetMOVIL_2Value: String; virtual; procedure SetMOVIL_2Value(const aValue: String); virtual; + function GetMOVIL_2IsNull: Boolean; virtual; + procedure SetMOVIL_2IsNull(const aValue: Boolean); virtual; function GetFAXValue: String; virtual; procedure SetFAXValue(const aValue: String); virtual; + function GetFAXIsNull: Boolean; virtual; + procedure SetFAXIsNull(const aValue: Boolean); virtual; function GetEMAIL_1Value: String; virtual; procedure SetEMAIL_1Value(const aValue: String); virtual; + function GetEMAIL_1IsNull: Boolean; virtual; + procedure SetEMAIL_1IsNull(const aValue: Boolean); virtual; function GetEMAIL_2Value: String; virtual; procedure SetEMAIL_2Value(const aValue: String); virtual; + function GetEMAIL_2IsNull: Boolean; virtual; + procedure SetEMAIL_2IsNull(const aValue: Boolean); virtual; function GetPAGINA_WEBValue: String; virtual; procedure SetPAGINA_WEBValue(const aValue: String); virtual; + function GetPAGINA_WEBIsNull: Boolean; virtual; + procedure SetPAGINA_WEBIsNull(const aValue: Boolean); virtual; function GetNOTASValue: IROStrings; virtual; - procedure SetNOTASValue(const aValue: IROStrings); virtual; + function GetNOTASIsNull: Boolean; virtual; + procedure SetNOTASIsNull(const aValue: Boolean); virtual; + function GetFECHA_ALTAValue: DateTime; virtual; + procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual; + function GetFECHA_ALTAIsNull: Boolean; virtual; + procedure SetFECHA_ALTAIsNull(const aValue: Boolean); virtual; + function GetFECHA_MODIFICACIONValue: DateTime; virtual; + procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual; + function GetFECHA_MODIFICACIONIsNull: Boolean; virtual; + procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); virtual; function GetUSUARIOValue: String; virtual; procedure SetUSUARIOValue(const aValue: String); virtual; + function GetUSUARIOIsNull: Boolean; virtual; + procedure SetUSUARIOIsNull(const aValue: Boolean); virtual; function GetID_EMPRESAValue: Integer; virtual; procedure SetID_EMPRESAValue(const aValue: Integer); virtual; + function GetID_EMPRESAIsNull: Boolean; virtual; + procedure SetID_EMPRESAIsNull(const aValue: Boolean); virtual; function GetREFERENCIAValue: String; virtual; procedure SetREFERENCIAValue(const aValue: String); virtual; - function GetID_TIPO_IVAValue: Integer; virtual; - procedure SetID_TIPO_IVAValue(const aValue: Integer); virtual; - function GetREGIMEN_IVAValue: String; virtual; - procedure SetREGIMEN_IVAValue(const aValue: String); virtual; - function GetID_FORMA_PAGOValue: Integer; virtual; - procedure SetID_FORMA_PAGOValue(const aValue: Integer); virtual; - function GetTIENDA_WEBValue: Integer; virtual; - procedure SetTIENDA_WEBValue(const aValue: Integer); virtual; + function GetREFERENCIAIsNull: Boolean; virtual; + procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual; function GetDESCUENTOValue: Float; virtual; procedure SetDESCUENTOValue(const aValue: Float); virtual; + function GetDESCUENTOIsNull: Boolean; virtual; + procedure SetDESCUENTOIsNull(const aValue: Boolean); virtual; function GetDESCRIPCION_PROVEEDORValue: String; virtual; procedure SetDESCRIPCION_PROVEEDORValue(const aValue: String); virtual; + function GetDESCRIPCION_PROVEEDORIsNull: Boolean; virtual; + procedure SetDESCRIPCION_PROVEEDORIsNull(const aValue: Boolean); virtual; function GetCODIGO_ASIGNADOValue: String; virtual; procedure SetCODIGO_ASIGNADOValue(const aValue: String); virtual; - function GetHOMOLOGADOValue: Integer; virtual; - procedure SetHOMOLOGADOValue(const aValue: Integer); virtual; - function GetCERTIFICACIONValue: String; virtual; - procedure SetCERTIFICACIONValue(const aValue: String); virtual; + function GetCODIGO_ASIGNADOIsNull: Boolean; virtual; + procedure SetCODIGO_ASIGNADOIsNull(const aValue: Boolean); virtual; function GetGRUPO_PROVEEDORValue: String; virtual; procedure SetGRUPO_PROVEEDORValue(const aValue: String); virtual; + function GetGRUPO_PROVEEDORIsNull: Boolean; virtual; + procedure SetGRUPO_PROVEEDORIsNull(const aValue: Boolean); virtual; + function GetREGIMEN_IVAValue: String; virtual; + procedure SetREGIMEN_IVAValue(const aValue: String); virtual; + function GetREGIMEN_IVAIsNull: Boolean; virtual; + procedure SetREGIMEN_IVAIsNull(const aValue: Boolean); virtual; + function GetID_TIPO_IVAValue: Integer; virtual; + procedure SetID_TIPO_IVAValue(const aValue: Integer); virtual; + function GetID_TIPO_IVAIsNull: Boolean; virtual; + procedure SetID_TIPO_IVAIsNull(const aValue: Boolean); virtual; + function GetID_FORMA_PAGOValue: Integer; virtual; + procedure SetID_FORMA_PAGOValue(const aValue: Integer); virtual; + function GetID_FORMA_PAGOIsNull: Boolean; virtual; + procedure SetID_FORMA_PAGOIsNull(const aValue: Boolean); virtual; + function GetTIENDA_WEBValue: SmallInt; virtual; + procedure SetTIENDA_WEBValue(const aValue: SmallInt); virtual; + function GetTIENDA_WEBIsNull: Boolean; virtual; + procedure SetTIENDA_WEBIsNull(const aValue: Boolean); virtual; + function GetHOMOLOGADOValue: SmallInt; virtual; + procedure SetHOMOLOGADOValue(const aValue: SmallInt); virtual; + function GetHOMOLOGADOIsNull: Boolean; virtual; + procedure SetHOMOLOGADOIsNull(const aValue: Boolean); virtual; + function GetCERTIFICACIONValue: String; virtual; + procedure SetCERTIFICACIONValue(const aValue: String); virtual; + function GetCERTIFICACIONIsNull: Boolean; virtual; + procedure SetCERTIFICACIONIsNull(const aValue: Boolean); virtual; { Properties } property ID: Integer read GetIDValue write SetIDValue; + property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull; property ID_CATEGORIA: Integer read GetID_CATEGORIAValue write SetID_CATEGORIAValue; + property ID_CATEGORIAIsNull: Boolean read GetID_CATEGORIAIsNull write SetID_CATEGORIAIsNull; property NIF_CIF: String read GetNIF_CIFValue write SetNIF_CIFValue; + property NIF_CIFIsNull: Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull; property NOMBRE: String read GetNOMBREValue write SetNOMBREValue; - property CALLE: String read GetCALLEValue write SetCALLEValue; + property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull; property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue; + property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull; + property CALLE: String read GetCALLEValue write SetCALLEValue; + property CALLEIsNull: Boolean read GetCALLEIsNull write SetCALLEIsNull; property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue; + property POBLACIONIsNull: Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull; property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue; + property PROVINCIAIsNull: Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull; property CODIGO_POSTAL: String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue; + property CODIGO_POSTALIsNull: Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull; property TELEFONO_1: String read GetTELEFONO_1Value write SetTELEFONO_1Value; + property TELEFONO_1IsNull: Boolean read GetTELEFONO_1IsNull write SetTELEFONO_1IsNull; property TELEFONO_2: String read GetTELEFONO_2Value write SetTELEFONO_2Value; + property TELEFONO_2IsNull: Boolean read GetTELEFONO_2IsNull write SetTELEFONO_2IsNull; property MOVIL_1: String read GetMOVIL_1Value write SetMOVIL_1Value; + property MOVIL_1IsNull: Boolean read GetMOVIL_1IsNull write SetMOVIL_1IsNull; property MOVIL_2: String read GetMOVIL_2Value write SetMOVIL_2Value; + property MOVIL_2IsNull: Boolean read GetMOVIL_2IsNull write SetMOVIL_2IsNull; property FAX: String read GetFAXValue write SetFAXValue; + property FAXIsNull: Boolean read GetFAXIsNull write SetFAXIsNull; property EMAIL_1: String read GetEMAIL_1Value write SetEMAIL_1Value; + property EMAIL_1IsNull: Boolean read GetEMAIL_1IsNull write SetEMAIL_1IsNull; property EMAIL_2: String read GetEMAIL_2Value write SetEMAIL_2Value; + property EMAIL_2IsNull: Boolean read GetEMAIL_2IsNull write SetEMAIL_2IsNull; property PAGINA_WEB: String read GetPAGINA_WEBValue write SetPAGINA_WEBValue; - property NOTAS: IROStrings read GetNOTASValue write SetNOTASValue; + property PAGINA_WEBIsNull: Boolean read GetPAGINA_WEBIsNull write SetPAGINA_WEBIsNull; + property NOTAS: IROStrings read GetNOTASValue; + property NOTASIsNull: Boolean read GetNOTASIsNull write SetNOTASIsNull; + property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue; + property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull; + property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue; + property FECHA_MODIFICACIONIsNull: Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull; property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue; + property USUARIOIsNull: Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull; property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue; + property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull; property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue; - property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue; - property REGIMEN_IVA: String read GetREGIMEN_IVAValue write SetREGIMEN_IVAValue; - property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue; - property TIENDA_WEB: Integer read GetTIENDA_WEBValue write SetTIENDA_WEBValue; + property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull; property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue; + property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull; property DESCRIPCION_PROVEEDOR: String read GetDESCRIPCION_PROVEEDORValue write SetDESCRIPCION_PROVEEDORValue; + property DESCRIPCION_PROVEEDORIsNull: Boolean read GetDESCRIPCION_PROVEEDORIsNull write SetDESCRIPCION_PROVEEDORIsNull; property CODIGO_ASIGNADO: String read GetCODIGO_ASIGNADOValue write SetCODIGO_ASIGNADOValue; - property HOMOLOGADO: Integer read GetHOMOLOGADOValue write SetHOMOLOGADOValue; - property CERTIFICACION: String read GetCERTIFICACIONValue write SetCERTIFICACIONValue; + property CODIGO_ASIGNADOIsNull: Boolean read GetCODIGO_ASIGNADOIsNull write SetCODIGO_ASIGNADOIsNull; property GRUPO_PROVEEDOR: String read GetGRUPO_PROVEEDORValue write SetGRUPO_PROVEEDORValue; + property GRUPO_PROVEEDORIsNull: Boolean read GetGRUPO_PROVEEDORIsNull write SetGRUPO_PROVEEDORIsNull; + property REGIMEN_IVA: String read GetREGIMEN_IVAValue write SetREGIMEN_IVAValue; + property REGIMEN_IVAIsNull: Boolean read GetREGIMEN_IVAIsNull write SetREGIMEN_IVAIsNull; + property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue; + property ID_TIPO_IVAIsNull: Boolean read GetID_TIPO_IVAIsNull write SetID_TIPO_IVAIsNull; + property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue; + property ID_FORMA_PAGOIsNull: Boolean read GetID_FORMA_PAGOIsNull write SetID_FORMA_PAGOIsNull; + property TIENDA_WEB: SmallInt read GetTIENDA_WEBValue write SetTIENDA_WEBValue; + property TIENDA_WEBIsNull: Boolean read GetTIENDA_WEBIsNull write SetTIENDA_WEBIsNull; + property HOMOLOGADO: SmallInt read GetHOMOLOGADOValue write SetHOMOLOGADOValue; + property HOMOLOGADOIsNull: Boolean read GetHOMOLOGADOIsNull write SetHOMOLOGADOIsNull; + property CERTIFICACION: String read GetCERTIFICACIONValue write SetCERTIFICACIONValue; + property CERTIFICACIONIsNull: Boolean read GetCERTIFICACIONIsNull write SetCERTIFICACIONIsNull; public constructor Create(aDataTable: TDADataTable); override; @@ -1061,188 +1739,380 @@ type { IEmpleados } IEmpleados = interface(IDAStronglyTypedDataTable) - ['{0A5A325E-1A87-439B-A785-60E26CCD025D}'] + ['{2D895F0C-8780-4841-984B-6D12200D49AD}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); + function GetIDIsNull: Boolean; + procedure SetIDIsNull(const aValue: Boolean); function GetID_CATEGORIAValue: Integer; procedure SetID_CATEGORIAValue(const aValue: Integer); + function GetID_CATEGORIAIsNull: Boolean; + procedure SetID_CATEGORIAIsNull(const aValue: Boolean); function GetNIF_CIFValue: String; procedure SetNIF_CIFValue(const aValue: String); + function GetNIF_CIFIsNull: Boolean; + procedure SetNIF_CIFIsNull(const aValue: Boolean); function GetNOMBREValue: String; procedure SetNOMBREValue(const aValue: String); - function GetCALLEValue: String; - procedure SetCALLEValue(const aValue: String); + function GetNOMBREIsNull: Boolean; + procedure SetNOMBREIsNull(const aValue: Boolean); function GetPERSONA_CONTACTOValue: String; procedure SetPERSONA_CONTACTOValue(const aValue: String); + function GetPERSONA_CONTACTOIsNull: Boolean; + procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean); + function GetCALLEValue: String; + procedure SetCALLEValue(const aValue: String); + function GetCALLEIsNull: Boolean; + procedure SetCALLEIsNull(const aValue: Boolean); function GetPOBLACIONValue: String; procedure SetPOBLACIONValue(const aValue: String); + function GetPOBLACIONIsNull: Boolean; + procedure SetPOBLACIONIsNull(const aValue: Boolean); function GetPROVINCIAValue: String; procedure SetPROVINCIAValue(const aValue: String); + function GetPROVINCIAIsNull: Boolean; + procedure SetPROVINCIAIsNull(const aValue: Boolean); function GetCODIGO_POSTALValue: String; procedure SetCODIGO_POSTALValue(const aValue: String); + function GetCODIGO_POSTALIsNull: Boolean; + procedure SetCODIGO_POSTALIsNull(const aValue: Boolean); function GetTELEFONO_1Value: String; procedure SetTELEFONO_1Value(const aValue: String); + function GetTELEFONO_1IsNull: Boolean; + procedure SetTELEFONO_1IsNull(const aValue: Boolean); function GetTELEFONO_2Value: String; procedure SetTELEFONO_2Value(const aValue: String); + function GetTELEFONO_2IsNull: Boolean; + procedure SetTELEFONO_2IsNull(const aValue: Boolean); function GetMOVIL_1Value: String; procedure SetMOVIL_1Value(const aValue: String); + function GetMOVIL_1IsNull: Boolean; + procedure SetMOVIL_1IsNull(const aValue: Boolean); function GetMOVIL_2Value: String; procedure SetMOVIL_2Value(const aValue: String); + function GetMOVIL_2IsNull: Boolean; + procedure SetMOVIL_2IsNull(const aValue: Boolean); function GetFAXValue: String; procedure SetFAXValue(const aValue: String); + function GetFAXIsNull: Boolean; + procedure SetFAXIsNull(const aValue: Boolean); function GetEMAIL_1Value: String; procedure SetEMAIL_1Value(const aValue: String); + function GetEMAIL_1IsNull: Boolean; + procedure SetEMAIL_1IsNull(const aValue: Boolean); function GetEMAIL_2Value: String; procedure SetEMAIL_2Value(const aValue: String); + function GetEMAIL_2IsNull: Boolean; + procedure SetEMAIL_2IsNull(const aValue: Boolean); function GetPAGINA_WEBValue: String; procedure SetPAGINA_WEBValue(const aValue: String); + function GetPAGINA_WEBIsNull: Boolean; + procedure SetPAGINA_WEBIsNull(const aValue: Boolean); function GetNOTASValue: IROStrings; - procedure SetNOTASValue(const aValue: IROStrings); + function GetNOTASIsNull: Boolean; + procedure SetNOTASIsNull(const aValue: Boolean); + function GetFECHA_ALTAValue: DateTime; + procedure SetFECHA_ALTAValue(const aValue: DateTime); + function GetFECHA_ALTAIsNull: Boolean; + procedure SetFECHA_ALTAIsNull(const aValue: Boolean); + function GetFECHA_MODIFICACIONValue: DateTime; + procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); + function GetFECHA_MODIFICACIONIsNull: Boolean; + procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); function GetUSUARIOValue: String; procedure SetUSUARIOValue(const aValue: String); + function GetUSUARIOIsNull: Boolean; + procedure SetUSUARIOIsNull(const aValue: Boolean); function GetID_EMPRESAValue: Integer; procedure SetID_EMPRESAValue(const aValue: Integer); + function GetID_EMPRESAIsNull: Boolean; + procedure SetID_EMPRESAIsNull(const aValue: Boolean); function GetREFERENCIAValue: String; procedure SetREFERENCIAValue(const aValue: String); - function GetCATEGORIAValue: String; - procedure SetCATEGORIAValue(const aValue: String); + function GetREFERENCIAIsNull: Boolean; + procedure SetREFERENCIAIsNull(const aValue: Boolean); function GetFECHA_NACIMIENTOValue: DateTime; procedure SetFECHA_NACIMIENTOValue(const aValue: DateTime); + function GetFECHA_NACIMIENTOIsNull: Boolean; + procedure SetFECHA_NACIMIENTOIsNull(const aValue: Boolean); + function GetCATEGORIAValue: String; + procedure SetCATEGORIAValue(const aValue: String); + function GetCATEGORIAIsNull: Boolean; + procedure SetCATEGORIAIsNull(const aValue: Boolean); function GetFECHA_ALTA_EMPRESAValue: DateTime; procedure SetFECHA_ALTA_EMPRESAValue(const aValue: DateTime); + function GetFECHA_ALTA_EMPRESAIsNull: Boolean; + procedure SetFECHA_ALTA_EMPRESAIsNull(const aValue: Boolean); function GetFORMACION_BASEValue: IROStrings; - procedure SetFORMACION_BASEValue(const aValue: IROStrings); + function GetFORMACION_BASEIsNull: Boolean; + procedure SetFORMACION_BASEIsNull(const aValue: Boolean); function GetFORMACION_COMPLEValue: IROStrings; - procedure SetFORMACION_COMPLEValue(const aValue: IROStrings); + function GetFORMACION_COMPLEIsNull: Boolean; + procedure SetFORMACION_COMPLEIsNull(const aValue: Boolean); function GetFORMACION_RECIBIDAValue: IROStrings; - procedure SetFORMACION_RECIBIDAValue(const aValue: IROStrings); + function GetFORMACION_RECIBIDAIsNull: Boolean; + procedure SetFORMACION_RECIBIDAIsNull(const aValue: Boolean); function GetEXPERIENCIAValue: IROStrings; - procedure SetEXPERIENCIAValue(const aValue: IROStrings); + function GetEXPERIENCIAIsNull: Boolean; + procedure SetEXPERIENCIAIsNull(const aValue: Boolean); { Properties } property ID: Integer read GetIDValue write SetIDValue; + property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull; property ID_CATEGORIA: Integer read GetID_CATEGORIAValue write SetID_CATEGORIAValue; + property ID_CATEGORIAIsNull: Boolean read GetID_CATEGORIAIsNull write SetID_CATEGORIAIsNull; property NIF_CIF: String read GetNIF_CIFValue write SetNIF_CIFValue; + property NIF_CIFIsNull: Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull; property NOMBRE: String read GetNOMBREValue write SetNOMBREValue; - property CALLE: String read GetCALLEValue write SetCALLEValue; + property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull; property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue; + property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull; + property CALLE: String read GetCALLEValue write SetCALLEValue; + property CALLEIsNull: Boolean read GetCALLEIsNull write SetCALLEIsNull; property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue; + property POBLACIONIsNull: Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull; property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue; + property PROVINCIAIsNull: Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull; property CODIGO_POSTAL: String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue; + property CODIGO_POSTALIsNull: Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull; property TELEFONO_1: String read GetTELEFONO_1Value write SetTELEFONO_1Value; + property TELEFONO_1IsNull: Boolean read GetTELEFONO_1IsNull write SetTELEFONO_1IsNull; property TELEFONO_2: String read GetTELEFONO_2Value write SetTELEFONO_2Value; + property TELEFONO_2IsNull: Boolean read GetTELEFONO_2IsNull write SetTELEFONO_2IsNull; property MOVIL_1: String read GetMOVIL_1Value write SetMOVIL_1Value; + property MOVIL_1IsNull: Boolean read GetMOVIL_1IsNull write SetMOVIL_1IsNull; property MOVIL_2: String read GetMOVIL_2Value write SetMOVIL_2Value; + property MOVIL_2IsNull: Boolean read GetMOVIL_2IsNull write SetMOVIL_2IsNull; property FAX: String read GetFAXValue write SetFAXValue; + property FAXIsNull: Boolean read GetFAXIsNull write SetFAXIsNull; property EMAIL_1: String read GetEMAIL_1Value write SetEMAIL_1Value; + property EMAIL_1IsNull: Boolean read GetEMAIL_1IsNull write SetEMAIL_1IsNull; property EMAIL_2: String read GetEMAIL_2Value write SetEMAIL_2Value; + property EMAIL_2IsNull: Boolean read GetEMAIL_2IsNull write SetEMAIL_2IsNull; property PAGINA_WEB: String read GetPAGINA_WEBValue write SetPAGINA_WEBValue; - property NOTAS: IROStrings read GetNOTASValue write SetNOTASValue; + property PAGINA_WEBIsNull: Boolean read GetPAGINA_WEBIsNull write SetPAGINA_WEBIsNull; + property NOTAS: IROStrings read GetNOTASValue; + property NOTASIsNull: Boolean read GetNOTASIsNull write SetNOTASIsNull; + property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue; + property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull; + property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue; + property FECHA_MODIFICACIONIsNull: Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull; property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue; + property USUARIOIsNull: Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull; property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue; + property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull; property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue; - property CATEGORIA: String read GetCATEGORIAValue write SetCATEGORIAValue; + property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull; property FECHA_NACIMIENTO: DateTime read GetFECHA_NACIMIENTOValue write SetFECHA_NACIMIENTOValue; + property FECHA_NACIMIENTOIsNull: Boolean read GetFECHA_NACIMIENTOIsNull write SetFECHA_NACIMIENTOIsNull; + property CATEGORIA: String read GetCATEGORIAValue write SetCATEGORIAValue; + property CATEGORIAIsNull: Boolean read GetCATEGORIAIsNull write SetCATEGORIAIsNull; property FECHA_ALTA_EMPRESA: DateTime read GetFECHA_ALTA_EMPRESAValue write SetFECHA_ALTA_EMPRESAValue; - property FORMACION_BASE: IROStrings read GetFORMACION_BASEValue write SetFORMACION_BASEValue; - property FORMACION_COMPLE: IROStrings read GetFORMACION_COMPLEValue write SetFORMACION_COMPLEValue; - property FORMACION_RECIBIDA: IROStrings read GetFORMACION_RECIBIDAValue write SetFORMACION_RECIBIDAValue; - property EXPERIENCIA: IROStrings read GetEXPERIENCIAValue write SetEXPERIENCIAValue; + property FECHA_ALTA_EMPRESAIsNull: Boolean read GetFECHA_ALTA_EMPRESAIsNull write SetFECHA_ALTA_EMPRESAIsNull; + property FORMACION_BASE: IROStrings read GetFORMACION_BASEValue; + property FORMACION_BASEIsNull: Boolean read GetFORMACION_BASEIsNull write SetFORMACION_BASEIsNull; + property FORMACION_COMPLE: IROStrings read GetFORMACION_COMPLEValue; + property FORMACION_COMPLEIsNull: Boolean read GetFORMACION_COMPLEIsNull write SetFORMACION_COMPLEIsNull; + property FORMACION_RECIBIDA: IROStrings read GetFORMACION_RECIBIDAValue; + property FORMACION_RECIBIDAIsNull: Boolean read GetFORMACION_RECIBIDAIsNull write SetFORMACION_RECIBIDAIsNull; + property EXPERIENCIA: IROStrings read GetEXPERIENCIAValue; + property EXPERIENCIAIsNull: Boolean read GetEXPERIENCIAIsNull write SetEXPERIENCIAIsNull; end; { TEmpleadosDataTableRules } TEmpleadosDataTableRules = class(TDADataTableRules, IEmpleados) private + f_NOTAS: IROStrings; + f_FORMACION_BASE: IROStrings; + f_FORMACION_COMPLE: IROStrings; + f_FORMACION_RECIBIDA: IROStrings; + f_EXPERIENCIA: IROStrings; + procedure NOTAS_OnChange(Sender: TObject); + procedure FORMACION_BASE_OnChange(Sender: TObject); + procedure FORMACION_COMPLE_OnChange(Sender: TObject); + procedure FORMACION_RECIBIDA_OnChange(Sender: TObject); + procedure EXPERIENCIA_OnChange(Sender: TObject); protected { Property getters and setters } function GetIDValue: Integer; virtual; procedure SetIDValue(const aValue: Integer); virtual; + function GetIDIsNull: Boolean; virtual; + procedure SetIDIsNull(const aValue: Boolean); virtual; function GetID_CATEGORIAValue: Integer; virtual; procedure SetID_CATEGORIAValue(const aValue: Integer); virtual; + function GetID_CATEGORIAIsNull: Boolean; virtual; + procedure SetID_CATEGORIAIsNull(const aValue: Boolean); virtual; function GetNIF_CIFValue: String; virtual; procedure SetNIF_CIFValue(const aValue: String); virtual; + function GetNIF_CIFIsNull: Boolean; virtual; + procedure SetNIF_CIFIsNull(const aValue: Boolean); virtual; function GetNOMBREValue: String; virtual; procedure SetNOMBREValue(const aValue: String); virtual; - function GetCALLEValue: String; virtual; - procedure SetCALLEValue(const aValue: String); virtual; + function GetNOMBREIsNull: Boolean; virtual; + procedure SetNOMBREIsNull(const aValue: Boolean); virtual; function GetPERSONA_CONTACTOValue: String; virtual; procedure SetPERSONA_CONTACTOValue(const aValue: String); virtual; + function GetPERSONA_CONTACTOIsNull: Boolean; virtual; + procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean); virtual; + function GetCALLEValue: String; virtual; + procedure SetCALLEValue(const aValue: String); virtual; + function GetCALLEIsNull: Boolean; virtual; + procedure SetCALLEIsNull(const aValue: Boolean); virtual; function GetPOBLACIONValue: String; virtual; procedure SetPOBLACIONValue(const aValue: String); virtual; + function GetPOBLACIONIsNull: Boolean; virtual; + procedure SetPOBLACIONIsNull(const aValue: Boolean); virtual; function GetPROVINCIAValue: String; virtual; procedure SetPROVINCIAValue(const aValue: String); virtual; + function GetPROVINCIAIsNull: Boolean; virtual; + procedure SetPROVINCIAIsNull(const aValue: Boolean); virtual; function GetCODIGO_POSTALValue: String; virtual; procedure SetCODIGO_POSTALValue(const aValue: String); virtual; + function GetCODIGO_POSTALIsNull: Boolean; virtual; + procedure SetCODIGO_POSTALIsNull(const aValue: Boolean); virtual; function GetTELEFONO_1Value: String; virtual; procedure SetTELEFONO_1Value(const aValue: String); virtual; + function GetTELEFONO_1IsNull: Boolean; virtual; + procedure SetTELEFONO_1IsNull(const aValue: Boolean); virtual; function GetTELEFONO_2Value: String; virtual; procedure SetTELEFONO_2Value(const aValue: String); virtual; + function GetTELEFONO_2IsNull: Boolean; virtual; + procedure SetTELEFONO_2IsNull(const aValue: Boolean); virtual; function GetMOVIL_1Value: String; virtual; procedure SetMOVIL_1Value(const aValue: String); virtual; + function GetMOVIL_1IsNull: Boolean; virtual; + procedure SetMOVIL_1IsNull(const aValue: Boolean); virtual; function GetMOVIL_2Value: String; virtual; procedure SetMOVIL_2Value(const aValue: String); virtual; + function GetMOVIL_2IsNull: Boolean; virtual; + procedure SetMOVIL_2IsNull(const aValue: Boolean); virtual; function GetFAXValue: String; virtual; procedure SetFAXValue(const aValue: String); virtual; + function GetFAXIsNull: Boolean; virtual; + procedure SetFAXIsNull(const aValue: Boolean); virtual; function GetEMAIL_1Value: String; virtual; procedure SetEMAIL_1Value(const aValue: String); virtual; + function GetEMAIL_1IsNull: Boolean; virtual; + procedure SetEMAIL_1IsNull(const aValue: Boolean); virtual; function GetEMAIL_2Value: String; virtual; procedure SetEMAIL_2Value(const aValue: String); virtual; + function GetEMAIL_2IsNull: Boolean; virtual; + procedure SetEMAIL_2IsNull(const aValue: Boolean); virtual; function GetPAGINA_WEBValue: String; virtual; procedure SetPAGINA_WEBValue(const aValue: String); virtual; + function GetPAGINA_WEBIsNull: Boolean; virtual; + procedure SetPAGINA_WEBIsNull(const aValue: Boolean); virtual; function GetNOTASValue: IROStrings; virtual; - procedure SetNOTASValue(const aValue: IROStrings); virtual; + function GetNOTASIsNull: Boolean; virtual; + procedure SetNOTASIsNull(const aValue: Boolean); virtual; + function GetFECHA_ALTAValue: DateTime; virtual; + procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual; + function GetFECHA_ALTAIsNull: Boolean; virtual; + procedure SetFECHA_ALTAIsNull(const aValue: Boolean); virtual; + function GetFECHA_MODIFICACIONValue: DateTime; virtual; + procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual; + function GetFECHA_MODIFICACIONIsNull: Boolean; virtual; + procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); virtual; function GetUSUARIOValue: String; virtual; procedure SetUSUARIOValue(const aValue: String); virtual; + function GetUSUARIOIsNull: Boolean; virtual; + procedure SetUSUARIOIsNull(const aValue: Boolean); virtual; function GetID_EMPRESAValue: Integer; virtual; procedure SetID_EMPRESAValue(const aValue: Integer); virtual; + function GetID_EMPRESAIsNull: Boolean; virtual; + procedure SetID_EMPRESAIsNull(const aValue: Boolean); virtual; function GetREFERENCIAValue: String; virtual; procedure SetREFERENCIAValue(const aValue: String); virtual; - function GetCATEGORIAValue: String; virtual; - procedure SetCATEGORIAValue(const aValue: String); virtual; + function GetREFERENCIAIsNull: Boolean; virtual; + procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual; function GetFECHA_NACIMIENTOValue: DateTime; virtual; procedure SetFECHA_NACIMIENTOValue(const aValue: DateTime); virtual; + function GetFECHA_NACIMIENTOIsNull: Boolean; virtual; + procedure SetFECHA_NACIMIENTOIsNull(const aValue: Boolean); virtual; + function GetCATEGORIAValue: String; virtual; + procedure SetCATEGORIAValue(const aValue: String); virtual; + function GetCATEGORIAIsNull: Boolean; virtual; + procedure SetCATEGORIAIsNull(const aValue: Boolean); virtual; function GetFECHA_ALTA_EMPRESAValue: DateTime; virtual; procedure SetFECHA_ALTA_EMPRESAValue(const aValue: DateTime); virtual; + function GetFECHA_ALTA_EMPRESAIsNull: Boolean; virtual; + procedure SetFECHA_ALTA_EMPRESAIsNull(const aValue: Boolean); virtual; function GetFORMACION_BASEValue: IROStrings; virtual; - procedure SetFORMACION_BASEValue(const aValue: IROStrings); virtual; + function GetFORMACION_BASEIsNull: Boolean; virtual; + procedure SetFORMACION_BASEIsNull(const aValue: Boolean); virtual; function GetFORMACION_COMPLEValue: IROStrings; virtual; - procedure SetFORMACION_COMPLEValue(const aValue: IROStrings); virtual; + function GetFORMACION_COMPLEIsNull: Boolean; virtual; + procedure SetFORMACION_COMPLEIsNull(const aValue: Boolean); virtual; function GetFORMACION_RECIBIDAValue: IROStrings; virtual; - procedure SetFORMACION_RECIBIDAValue(const aValue: IROStrings); virtual; + function GetFORMACION_RECIBIDAIsNull: Boolean; virtual; + procedure SetFORMACION_RECIBIDAIsNull(const aValue: Boolean); virtual; function GetEXPERIENCIAValue: IROStrings; virtual; - procedure SetEXPERIENCIAValue(const aValue: IROStrings); virtual; + function GetEXPERIENCIAIsNull: Boolean; virtual; + procedure SetEXPERIENCIAIsNull(const aValue: Boolean); virtual; { Properties } property ID: Integer read GetIDValue write SetIDValue; + property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull; property ID_CATEGORIA: Integer read GetID_CATEGORIAValue write SetID_CATEGORIAValue; + property ID_CATEGORIAIsNull: Boolean read GetID_CATEGORIAIsNull write SetID_CATEGORIAIsNull; property NIF_CIF: String read GetNIF_CIFValue write SetNIF_CIFValue; + property NIF_CIFIsNull: Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull; property NOMBRE: String read GetNOMBREValue write SetNOMBREValue; - property CALLE: String read GetCALLEValue write SetCALLEValue; + property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull; property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue; + property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull; + property CALLE: String read GetCALLEValue write SetCALLEValue; + property CALLEIsNull: Boolean read GetCALLEIsNull write SetCALLEIsNull; property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue; + property POBLACIONIsNull: Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull; property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue; + property PROVINCIAIsNull: Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull; property CODIGO_POSTAL: String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue; + property CODIGO_POSTALIsNull: Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull; property TELEFONO_1: String read GetTELEFONO_1Value write SetTELEFONO_1Value; + property TELEFONO_1IsNull: Boolean read GetTELEFONO_1IsNull write SetTELEFONO_1IsNull; property TELEFONO_2: String read GetTELEFONO_2Value write SetTELEFONO_2Value; + property TELEFONO_2IsNull: Boolean read GetTELEFONO_2IsNull write SetTELEFONO_2IsNull; property MOVIL_1: String read GetMOVIL_1Value write SetMOVIL_1Value; + property MOVIL_1IsNull: Boolean read GetMOVIL_1IsNull write SetMOVIL_1IsNull; property MOVIL_2: String read GetMOVIL_2Value write SetMOVIL_2Value; + property MOVIL_2IsNull: Boolean read GetMOVIL_2IsNull write SetMOVIL_2IsNull; property FAX: String read GetFAXValue write SetFAXValue; + property FAXIsNull: Boolean read GetFAXIsNull write SetFAXIsNull; property EMAIL_1: String read GetEMAIL_1Value write SetEMAIL_1Value; + property EMAIL_1IsNull: Boolean read GetEMAIL_1IsNull write SetEMAIL_1IsNull; property EMAIL_2: String read GetEMAIL_2Value write SetEMAIL_2Value; + property EMAIL_2IsNull: Boolean read GetEMAIL_2IsNull write SetEMAIL_2IsNull; property PAGINA_WEB: String read GetPAGINA_WEBValue write SetPAGINA_WEBValue; - property NOTAS: IROStrings read GetNOTASValue write SetNOTASValue; + property PAGINA_WEBIsNull: Boolean read GetPAGINA_WEBIsNull write SetPAGINA_WEBIsNull; + property NOTAS: IROStrings read GetNOTASValue; + property NOTASIsNull: Boolean read GetNOTASIsNull write SetNOTASIsNull; + property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue; + property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull; + property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue; + property FECHA_MODIFICACIONIsNull: Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull; property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue; + property USUARIOIsNull: Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull; property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue; + property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull; property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue; - property CATEGORIA: String read GetCATEGORIAValue write SetCATEGORIAValue; + property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull; property FECHA_NACIMIENTO: DateTime read GetFECHA_NACIMIENTOValue write SetFECHA_NACIMIENTOValue; + property FECHA_NACIMIENTOIsNull: Boolean read GetFECHA_NACIMIENTOIsNull write SetFECHA_NACIMIENTOIsNull; + property CATEGORIA: String read GetCATEGORIAValue write SetCATEGORIAValue; + property CATEGORIAIsNull: Boolean read GetCATEGORIAIsNull write SetCATEGORIAIsNull; property FECHA_ALTA_EMPRESA: DateTime read GetFECHA_ALTA_EMPRESAValue write SetFECHA_ALTA_EMPRESAValue; - property FORMACION_BASE: IROStrings read GetFORMACION_BASEValue write SetFORMACION_BASEValue; - property FORMACION_COMPLE: IROStrings read GetFORMACION_COMPLEValue write SetFORMACION_COMPLEValue; - property FORMACION_RECIBIDA: IROStrings read GetFORMACION_RECIBIDAValue write SetFORMACION_RECIBIDAValue; - property EXPERIENCIA: IROStrings read GetEXPERIENCIAValue write SetEXPERIENCIAValue; + property FECHA_ALTA_EMPRESAIsNull: Boolean read GetFECHA_ALTA_EMPRESAIsNull write SetFECHA_ALTA_EMPRESAIsNull; + property FORMACION_BASE: IROStrings read GetFORMACION_BASEValue; + property FORMACION_BASEIsNull: Boolean read GetFORMACION_BASEIsNull write SetFORMACION_BASEIsNull; + property FORMACION_COMPLE: IROStrings read GetFORMACION_COMPLEValue; + property FORMACION_COMPLEIsNull: Boolean read GetFORMACION_COMPLEIsNull write SetFORMACION_COMPLEIsNull; + property FORMACION_RECIBIDA: IROStrings read GetFORMACION_RECIBIDAValue; + property FORMACION_RECIBIDAIsNull: Boolean read GetFORMACION_RECIBIDAIsNull write SetFORMACION_RECIBIDAIsNull; + property EXPERIENCIA: IROStrings read GetEXPERIENCIAValue; + property EXPERIENCIAIsNull: Boolean read GetEXPERIENCIAIsNull write SetEXPERIENCIAIsNull; public constructor Create(aDataTable: TDADataTable); override; @@ -1252,104 +2122,212 @@ type { IDireccionesContacto } IDireccionesContacto = interface(IDAStronglyTypedDataTable) - ['{8AE98E4A-35D7-4E61-BE7D-64DD5B4AC7AF}'] + ['{D60D300D-4430-4110-A6B0-76F4BDF2DCBD}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); + function GetIDIsNull: Boolean; + procedure SetIDIsNull(const aValue: Boolean); function GetID_CONTACTOValue: Integer; procedure SetID_CONTACTOValue(const aValue: Integer); - function GetNOMBREValue: String; - procedure SetNOMBREValue(const aValue: String); + function GetID_CONTACTOIsNull: Boolean; + procedure SetID_CONTACTOIsNull(const aValue: Boolean); function GetCALLEValue: String; procedure SetCALLEValue(const aValue: String); + function GetCALLEIsNull: Boolean; + procedure SetCALLEIsNull(const aValue: Boolean); function GetPOBLACIONValue: String; procedure SetPOBLACIONValue(const aValue: String); + function GetPOBLACIONIsNull: Boolean; + procedure SetPOBLACIONIsNull(const aValue: Boolean); function GetPROVINCIAValue: String; procedure SetPROVINCIAValue(const aValue: String); + function GetPROVINCIAIsNull: Boolean; + procedure SetPROVINCIAIsNull(const aValue: Boolean); function GetCODIGO_POSTALValue: String; procedure SetCODIGO_POSTALValue(const aValue: String); + function GetCODIGO_POSTALIsNull: Boolean; + procedure SetCODIGO_POSTALIsNull(const aValue: Boolean); function GetPERSONA_CONTACTOValue: String; procedure SetPERSONA_CONTACTOValue(const aValue: String); + function GetPERSONA_CONTACTOIsNull: Boolean; + procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean); + function GetNOMBREValue: String; + procedure SetNOMBREValue(const aValue: String); + function GetNOMBREIsNull: Boolean; + procedure SetNOMBREIsNull(const aValue: Boolean); function GetTELEFONOValue: String; procedure SetTELEFONOValue(const aValue: String); + function GetTELEFONOIsNull: Boolean; + procedure SetTELEFONOIsNull(const aValue: Boolean); function GetMOVILValue: String; procedure SetMOVILValue(const aValue: String); + function GetMOVILIsNull: Boolean; + procedure SetMOVILIsNull(const aValue: Boolean); function GetFAXValue: String; procedure SetFAXValue(const aValue: String); + function GetFAXIsNull: Boolean; + procedure SetFAXIsNull(const aValue: Boolean); function GetEMAILValue: String; procedure SetEMAILValue(const aValue: String); + function GetEMAILIsNull: Boolean; + procedure SetEMAILIsNull(const aValue: Boolean); function GetNOTASValue: IROStrings; - procedure SetNOTASValue(const aValue: IROStrings); + function GetNOTASIsNull: Boolean; + procedure SetNOTASIsNull(const aValue: Boolean); function GetPORTEValue: Float; procedure SetPORTEValue(const aValue: Float); + function GetPORTEIsNull: Boolean; + procedure SetPORTEIsNull(const aValue: Boolean); + function GetFECHA_ALTAValue: DateTime; + procedure SetFECHA_ALTAValue(const aValue: DateTime); + function GetFECHA_ALTAIsNull: Boolean; + procedure SetFECHA_ALTAIsNull(const aValue: Boolean); + function GetFECHA_MODIFICACIONValue: DateTime; + procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); + function GetFECHA_MODIFICACIONIsNull: Boolean; + procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); { Properties } property ID: Integer read GetIDValue write SetIDValue; + property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull; property ID_CONTACTO: Integer read GetID_CONTACTOValue write SetID_CONTACTOValue; - property NOMBRE: String read GetNOMBREValue write SetNOMBREValue; + property ID_CONTACTOIsNull: Boolean read GetID_CONTACTOIsNull write SetID_CONTACTOIsNull; property CALLE: String read GetCALLEValue write SetCALLEValue; + property CALLEIsNull: Boolean read GetCALLEIsNull write SetCALLEIsNull; property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue; + property POBLACIONIsNull: Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull; property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue; + property PROVINCIAIsNull: Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull; property CODIGO_POSTAL: String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue; + property CODIGO_POSTALIsNull: Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull; property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue; + property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull; + property NOMBRE: String read GetNOMBREValue write SetNOMBREValue; + property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull; property TELEFONO: String read GetTELEFONOValue write SetTELEFONOValue; + property TELEFONOIsNull: Boolean read GetTELEFONOIsNull write SetTELEFONOIsNull; property MOVIL: String read GetMOVILValue write SetMOVILValue; + property MOVILIsNull: Boolean read GetMOVILIsNull write SetMOVILIsNull; property FAX: String read GetFAXValue write SetFAXValue; + property FAXIsNull: Boolean read GetFAXIsNull write SetFAXIsNull; property EMAIL: String read GetEMAILValue write SetEMAILValue; - property NOTAS: IROStrings read GetNOTASValue write SetNOTASValue; + property EMAILIsNull: Boolean read GetEMAILIsNull write SetEMAILIsNull; + property NOTAS: IROStrings read GetNOTASValue; + property NOTASIsNull: Boolean read GetNOTASIsNull write SetNOTASIsNull; property PORTE: Float read GetPORTEValue write SetPORTEValue; + property PORTEIsNull: Boolean read GetPORTEIsNull write SetPORTEIsNull; + property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue; + property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull; + property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue; + property FECHA_MODIFICACIONIsNull: Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull; end; { TDireccionesContactoDataTableRules } TDireccionesContactoDataTableRules = class(TDADataTableRules, IDireccionesContacto) private + f_NOTAS: IROStrings; + procedure NOTAS_OnChange(Sender: TObject); protected { Property getters and setters } function GetIDValue: Integer; virtual; procedure SetIDValue(const aValue: Integer); virtual; + function GetIDIsNull: Boolean; virtual; + procedure SetIDIsNull(const aValue: Boolean); virtual; function GetID_CONTACTOValue: Integer; virtual; procedure SetID_CONTACTOValue(const aValue: Integer); virtual; - function GetNOMBREValue: String; virtual; - procedure SetNOMBREValue(const aValue: String); virtual; + function GetID_CONTACTOIsNull: Boolean; virtual; + procedure SetID_CONTACTOIsNull(const aValue: Boolean); virtual; function GetCALLEValue: String; virtual; procedure SetCALLEValue(const aValue: String); virtual; + function GetCALLEIsNull: Boolean; virtual; + procedure SetCALLEIsNull(const aValue: Boolean); virtual; function GetPOBLACIONValue: String; virtual; procedure SetPOBLACIONValue(const aValue: String); virtual; + function GetPOBLACIONIsNull: Boolean; virtual; + procedure SetPOBLACIONIsNull(const aValue: Boolean); virtual; function GetPROVINCIAValue: String; virtual; procedure SetPROVINCIAValue(const aValue: String); virtual; + function GetPROVINCIAIsNull: Boolean; virtual; + procedure SetPROVINCIAIsNull(const aValue: Boolean); virtual; function GetCODIGO_POSTALValue: String; virtual; procedure SetCODIGO_POSTALValue(const aValue: String); virtual; + function GetCODIGO_POSTALIsNull: Boolean; virtual; + procedure SetCODIGO_POSTALIsNull(const aValue: Boolean); virtual; function GetPERSONA_CONTACTOValue: String; virtual; procedure SetPERSONA_CONTACTOValue(const aValue: String); virtual; + function GetPERSONA_CONTACTOIsNull: Boolean; virtual; + procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean); virtual; + function GetNOMBREValue: String; virtual; + procedure SetNOMBREValue(const aValue: String); virtual; + function GetNOMBREIsNull: Boolean; virtual; + procedure SetNOMBREIsNull(const aValue: Boolean); virtual; function GetTELEFONOValue: String; virtual; procedure SetTELEFONOValue(const aValue: String); virtual; + function GetTELEFONOIsNull: Boolean; virtual; + procedure SetTELEFONOIsNull(const aValue: Boolean); virtual; function GetMOVILValue: String; virtual; procedure SetMOVILValue(const aValue: String); virtual; + function GetMOVILIsNull: Boolean; virtual; + procedure SetMOVILIsNull(const aValue: Boolean); virtual; function GetFAXValue: String; virtual; procedure SetFAXValue(const aValue: String); virtual; + function GetFAXIsNull: Boolean; virtual; + procedure SetFAXIsNull(const aValue: Boolean); virtual; function GetEMAILValue: String; virtual; procedure SetEMAILValue(const aValue: String); virtual; + function GetEMAILIsNull: Boolean; virtual; + procedure SetEMAILIsNull(const aValue: Boolean); virtual; function GetNOTASValue: IROStrings; virtual; - procedure SetNOTASValue(const aValue: IROStrings); virtual; + function GetNOTASIsNull: Boolean; virtual; + procedure SetNOTASIsNull(const aValue: Boolean); virtual; function GetPORTEValue: Float; virtual; procedure SetPORTEValue(const aValue: Float); virtual; + function GetPORTEIsNull: Boolean; virtual; + procedure SetPORTEIsNull(const aValue: Boolean); virtual; + function GetFECHA_ALTAValue: DateTime; virtual; + procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual; + function GetFECHA_ALTAIsNull: Boolean; virtual; + procedure SetFECHA_ALTAIsNull(const aValue: Boolean); virtual; + function GetFECHA_MODIFICACIONValue: DateTime; virtual; + procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual; + function GetFECHA_MODIFICACIONIsNull: Boolean; virtual; + procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); virtual; { Properties } property ID: Integer read GetIDValue write SetIDValue; + property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull; property ID_CONTACTO: Integer read GetID_CONTACTOValue write SetID_CONTACTOValue; - property NOMBRE: String read GetNOMBREValue write SetNOMBREValue; + property ID_CONTACTOIsNull: Boolean read GetID_CONTACTOIsNull write SetID_CONTACTOIsNull; property CALLE: String read GetCALLEValue write SetCALLEValue; + property CALLEIsNull: Boolean read GetCALLEIsNull write SetCALLEIsNull; property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue; + property POBLACIONIsNull: Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull; property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue; + property PROVINCIAIsNull: Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull; property CODIGO_POSTAL: String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue; + property CODIGO_POSTALIsNull: Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull; property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue; + property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull; + property NOMBRE: String read GetNOMBREValue write SetNOMBREValue; + property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull; property TELEFONO: String read GetTELEFONOValue write SetTELEFONOValue; + property TELEFONOIsNull: Boolean read GetTELEFONOIsNull write SetTELEFONOIsNull; property MOVIL: String read GetMOVILValue write SetMOVILValue; + property MOVILIsNull: Boolean read GetMOVILIsNull write SetMOVILIsNull; property FAX: String read GetFAXValue write SetFAXValue; + property FAXIsNull: Boolean read GetFAXIsNull write SetFAXIsNull; property EMAIL: String read GetEMAILValue write SetEMAILValue; - property NOTAS: IROStrings read GetNOTASValue write SetNOTASValue; + property EMAILIsNull: Boolean read GetEMAILIsNull write SetEMAILIsNull; + property NOTAS: IROStrings read GetNOTASValue; + property NOTASIsNull: Boolean read GetNOTASIsNull write SetNOTASIsNull; property PORTE: Float read GetPORTEValue write SetPORTEValue; + property PORTEIsNull: Boolean read GetPORTEIsNull write SetPORTEIsNull; + property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue; + property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull; + property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue; + property FECHA_MODIFICACIONIsNull: Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull; public constructor Create(aDataTable: TDADataTable); override; @@ -1359,26 +2337,41 @@ type { IClientesDescuentos } IClientesDescuentos = interface(IDAStronglyTypedDataTable) - ['{F886D2B5-74CF-4173-A04A-085EB4844795}'] + ['{E18CEAA3-F82E-40A3-99C7-FE40CD6DA7CD}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); + function GetIDIsNull: Boolean; + procedure SetIDIsNull(const aValue: Boolean); function GetID_CLIENTEValue: Integer; procedure SetID_CLIENTEValue(const aValue: Integer); + function GetID_CLIENTEIsNull: Boolean; + procedure SetID_CLIENTEIsNull(const aValue: Boolean); function GetID_PROVEEDORValue: Integer; procedure SetID_PROVEEDORValue(const aValue: Integer); + function GetID_PROVEEDORIsNull: Boolean; + procedure SetID_PROVEEDORIsNull(const aValue: Boolean); function GetNOMBREValue: String; procedure SetNOMBREValue(const aValue: String); + function GetNOMBREIsNull: Boolean; + procedure SetNOMBREIsNull(const aValue: Boolean); function GetDESCUENTOValue: Float; procedure SetDESCUENTOValue(const aValue: Float); + function GetDESCUENTOIsNull: Boolean; + procedure SetDESCUENTOIsNull(const aValue: Boolean); { Properties } property ID: Integer read GetIDValue write SetIDValue; + property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull; property ID_CLIENTE: Integer read GetID_CLIENTEValue write SetID_CLIENTEValue; + property ID_CLIENTEIsNull: Boolean read GetID_CLIENTEIsNull write SetID_CLIENTEIsNull; property ID_PROVEEDOR: Integer read GetID_PROVEEDORValue write SetID_PROVEEDORValue; + property ID_PROVEEDORIsNull: Boolean read GetID_PROVEEDORIsNull write SetID_PROVEEDORIsNull; property NOMBRE: String read GetNOMBREValue write SetNOMBREValue; + property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull; property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue; + property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull; end; { TClientesDescuentosDataTableRules } @@ -1388,21 +2381,36 @@ type { Property getters and setters } function GetIDValue: Integer; virtual; procedure SetIDValue(const aValue: Integer); virtual; + function GetIDIsNull: Boolean; virtual; + procedure SetIDIsNull(const aValue: Boolean); virtual; function GetID_CLIENTEValue: Integer; virtual; procedure SetID_CLIENTEValue(const aValue: Integer); virtual; + function GetID_CLIENTEIsNull: Boolean; virtual; + procedure SetID_CLIENTEIsNull(const aValue: Boolean); virtual; function GetID_PROVEEDORValue: Integer; virtual; procedure SetID_PROVEEDORValue(const aValue: Integer); virtual; + function GetID_PROVEEDORIsNull: Boolean; virtual; + procedure SetID_PROVEEDORIsNull(const aValue: Boolean); virtual; function GetNOMBREValue: String; virtual; procedure SetNOMBREValue(const aValue: String); virtual; + function GetNOMBREIsNull: Boolean; virtual; + procedure SetNOMBREIsNull(const aValue: Boolean); virtual; function GetDESCUENTOValue: Float; virtual; procedure SetDESCUENTOValue(const aValue: Float); virtual; + function GetDESCUENTOIsNull: Boolean; virtual; + procedure SetDESCUENTOIsNull(const aValue: Boolean); virtual; { Properties } property ID: Integer read GetIDValue write SetIDValue; + property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull; property ID_CLIENTE: Integer read GetID_CLIENTEValue write SetID_CLIENTEValue; + property ID_CLIENTEIsNull: Boolean read GetID_CLIENTEIsNull write SetID_CLIENTEIsNull; property ID_PROVEEDOR: Integer read GetID_PROVEEDORValue write SetID_PROVEEDORValue; + property ID_PROVEEDORIsNull: Boolean read GetID_PROVEEDORIsNull write SetID_PROVEEDORIsNull; property NOMBRE: String read GetNOMBREValue write SetNOMBREValue; + property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull; property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue; + property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull; public constructor Create(aDataTable: TDADataTable); override; @@ -1412,14 +2420,17 @@ type { IGruposProveedor } IGruposProveedor = interface(IDAStronglyTypedDataTable) - ['{8A40BF38-E4DE-41D3-BC1F-B683003EDC4D}'] + ['{33EE6693-53A8-4C7E-A9BB-5574E376ACB8}'] { Property getters and setters } function GetDESCRIPCIONValue: String; procedure SetDESCRIPCIONValue(const aValue: String); + function GetDESCRIPCIONIsNull: Boolean; + procedure SetDESCRIPCIONIsNull(const aValue: Boolean); { Properties } property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue; + property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull; end; { TGruposProveedorDataTableRules } @@ -1429,9 +2440,12 @@ type { Property getters and setters } function GetDESCRIPCIONValue: String; virtual; procedure SetDESCRIPCIONValue(const aValue: String); virtual; + function GetDESCRIPCIONIsNull: Boolean; virtual; + procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual; { Properties } property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue; + property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull; public constructor Create(aDataTable: TDADataTable); override; @@ -1441,14 +2455,17 @@ type { IGruposEmpleado } IGruposEmpleado = interface(IDAStronglyTypedDataTable) - ['{6E0FF24B-75DD-4796-AE74-B1D28F67770E}'] + ['{918CF679-B62E-48B6-B61C-A7FE3DA08E65}'] { Property getters and setters } function GetDESCRIPCIONValue: String; procedure SetDESCRIPCIONValue(const aValue: String); + function GetDESCRIPCIONIsNull: Boolean; + procedure SetDESCRIPCIONIsNull(const aValue: Boolean); { Properties } property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue; + property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull; end; { TGruposEmpleadoDataTableRules } @@ -1458,9 +2475,12 @@ type { Property getters and setters } function GetDESCRIPCIONValue: String; virtual; procedure SetDESCRIPCIONValue(const aValue: String); virtual; + function GetDESCRIPCIONIsNull: Boolean; virtual; + procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual; { Properties } property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue; + property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull; public constructor Create(aDataTable: TDADataTable); override; @@ -1470,12 +2490,18 @@ type implementation -uses Variants; +uses Variants, uROBinaryHelpers; { TContactosDataTableRules } constructor TContactosDataTableRules.Create(aDataTable: TDADataTable); +var + StrList: TStringList; begin inherited; + + StrList := TStringList.Create; + StrList.OnChange := NOTAS_OnChange; + f_NOTAS := NewROStrings(StrList,True); end; destructor TContactosDataTableRules.Destroy; @@ -1483,6 +2509,11 @@ begin inherited; end; +procedure TContactosDataTableRules.NOTAS_OnChange(Sender: TObject); +begin + if DataTable.Editing then DataTable.Fields[idx_ContactosNOTAS].AsVariant := TStringList(Sender).Text; +end; + function TContactosDataTableRules.GetIDValue: Integer; begin result := DataTable.Fields[idx_ContactosID].AsInteger; @@ -1493,6 +2524,17 @@ begin DataTable.Fields[idx_ContactosID].AsInteger := aValue; end; +function TContactosDataTableRules.GetIDIsNull: boolean; +begin + result := DataTable.Fields[idx_ContactosID].IsNull; +end; + +procedure TContactosDataTableRules.SetIDIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ContactosID].AsVariant := Null; +end; + function TContactosDataTableRules.GetID_CATEGORIAValue: Integer; begin result := DataTable.Fields[idx_ContactosID_CATEGORIA].AsInteger; @@ -1503,6 +2545,17 @@ begin DataTable.Fields[idx_ContactosID_CATEGORIA].AsInteger := aValue; end; +function TContactosDataTableRules.GetID_CATEGORIAIsNull: boolean; +begin + result := DataTable.Fields[idx_ContactosID_CATEGORIA].IsNull; +end; + +procedure TContactosDataTableRules.SetID_CATEGORIAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ContactosID_CATEGORIA].AsVariant := Null; +end; + function TContactosDataTableRules.GetNIF_CIFValue: String; begin result := DataTable.Fields[idx_ContactosNIF_CIF].AsString; @@ -1513,6 +2566,17 @@ begin DataTable.Fields[idx_ContactosNIF_CIF].AsString := aValue; end; +function TContactosDataTableRules.GetNIF_CIFIsNull: boolean; +begin + result := DataTable.Fields[idx_ContactosNIF_CIF].IsNull; +end; + +procedure TContactosDataTableRules.SetNIF_CIFIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ContactosNIF_CIF].AsVariant := Null; +end; + function TContactosDataTableRules.GetNOMBREValue: String; begin result := DataTable.Fields[idx_ContactosNOMBRE].AsString; @@ -1523,6 +2587,17 @@ begin DataTable.Fields[idx_ContactosNOMBRE].AsString := aValue; end; +function TContactosDataTableRules.GetNOMBREIsNull: boolean; +begin + result := DataTable.Fields[idx_ContactosNOMBRE].IsNull; +end; + +procedure TContactosDataTableRules.SetNOMBREIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ContactosNOMBRE].AsVariant := Null; +end; + function TContactosDataTableRules.GetPERSONA_CONTACTOValue: String; begin result := DataTable.Fields[idx_ContactosPERSONA_CONTACTO].AsString; @@ -1533,6 +2608,17 @@ begin DataTable.Fields[idx_ContactosPERSONA_CONTACTO].AsString := aValue; end; +function TContactosDataTableRules.GetPERSONA_CONTACTOIsNull: boolean; +begin + result := DataTable.Fields[idx_ContactosPERSONA_CONTACTO].IsNull; +end; + +procedure TContactosDataTableRules.SetPERSONA_CONTACTOIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ContactosPERSONA_CONTACTO].AsVariant := Null; +end; + function TContactosDataTableRules.GetCALLEValue: String; begin result := DataTable.Fields[idx_ContactosCALLE].AsString; @@ -1543,6 +2629,17 @@ begin DataTable.Fields[idx_ContactosCALLE].AsString := aValue; end; +function TContactosDataTableRules.GetCALLEIsNull: boolean; +begin + result := DataTable.Fields[idx_ContactosCALLE].IsNull; +end; + +procedure TContactosDataTableRules.SetCALLEIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ContactosCALLE].AsVariant := Null; +end; + function TContactosDataTableRules.GetPOBLACIONValue: String; begin result := DataTable.Fields[idx_ContactosPOBLACION].AsString; @@ -1553,6 +2650,17 @@ begin DataTable.Fields[idx_ContactosPOBLACION].AsString := aValue; end; +function TContactosDataTableRules.GetPOBLACIONIsNull: boolean; +begin + result := DataTable.Fields[idx_ContactosPOBLACION].IsNull; +end; + +procedure TContactosDataTableRules.SetPOBLACIONIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ContactosPOBLACION].AsVariant := Null; +end; + function TContactosDataTableRules.GetPROVINCIAValue: String; begin result := DataTable.Fields[idx_ContactosPROVINCIA].AsString; @@ -1563,6 +2671,17 @@ begin DataTable.Fields[idx_ContactosPROVINCIA].AsString := aValue; end; +function TContactosDataTableRules.GetPROVINCIAIsNull: boolean; +begin + result := DataTable.Fields[idx_ContactosPROVINCIA].IsNull; +end; + +procedure TContactosDataTableRules.SetPROVINCIAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ContactosPROVINCIA].AsVariant := Null; +end; + function TContactosDataTableRules.GetCODIGO_POSTALValue: String; begin result := DataTable.Fields[idx_ContactosCODIGO_POSTAL].AsString; @@ -1573,6 +2692,17 @@ begin DataTable.Fields[idx_ContactosCODIGO_POSTAL].AsString := aValue; end; +function TContactosDataTableRules.GetCODIGO_POSTALIsNull: boolean; +begin + result := DataTable.Fields[idx_ContactosCODIGO_POSTAL].IsNull; +end; + +procedure TContactosDataTableRules.SetCODIGO_POSTALIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ContactosCODIGO_POSTAL].AsVariant := Null; +end; + function TContactosDataTableRules.GetTELEFONO_1Value: String; begin result := DataTable.Fields[idx_ContactosTELEFONO_1].AsString; @@ -1583,6 +2713,17 @@ begin DataTable.Fields[idx_ContactosTELEFONO_1].AsString := aValue; end; +function TContactosDataTableRules.GetTELEFONO_1IsNull: boolean; +begin + result := DataTable.Fields[idx_ContactosTELEFONO_1].IsNull; +end; + +procedure TContactosDataTableRules.SetTELEFONO_1IsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ContactosTELEFONO_1].AsVariant := Null; +end; + function TContactosDataTableRules.GetTELEFONO_2Value: String; begin result := DataTable.Fields[idx_ContactosTELEFONO_2].AsString; @@ -1593,6 +2734,17 @@ begin DataTable.Fields[idx_ContactosTELEFONO_2].AsString := aValue; end; +function TContactosDataTableRules.GetTELEFONO_2IsNull: boolean; +begin + result := DataTable.Fields[idx_ContactosTELEFONO_2].IsNull; +end; + +procedure TContactosDataTableRules.SetTELEFONO_2IsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ContactosTELEFONO_2].AsVariant := Null; +end; + function TContactosDataTableRules.GetMOVIL_1Value: String; begin result := DataTable.Fields[idx_ContactosMOVIL_1].AsString; @@ -1603,6 +2755,17 @@ begin DataTable.Fields[idx_ContactosMOVIL_1].AsString := aValue; end; +function TContactosDataTableRules.GetMOVIL_1IsNull: boolean; +begin + result := DataTable.Fields[idx_ContactosMOVIL_1].IsNull; +end; + +procedure TContactosDataTableRules.SetMOVIL_1IsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ContactosMOVIL_1].AsVariant := Null; +end; + function TContactosDataTableRules.GetMOVIL_2Value: String; begin result := DataTable.Fields[idx_ContactosMOVIL_2].AsString; @@ -1613,6 +2776,17 @@ begin DataTable.Fields[idx_ContactosMOVIL_2].AsString := aValue; end; +function TContactosDataTableRules.GetMOVIL_2IsNull: boolean; +begin + result := DataTable.Fields[idx_ContactosMOVIL_2].IsNull; +end; + +procedure TContactosDataTableRules.SetMOVIL_2IsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ContactosMOVIL_2].AsVariant := Null; +end; + function TContactosDataTableRules.GetFAXValue: String; begin result := DataTable.Fields[idx_ContactosFAX].AsString; @@ -1623,6 +2797,17 @@ begin DataTable.Fields[idx_ContactosFAX].AsString := aValue; end; +function TContactosDataTableRules.GetFAXIsNull: boolean; +begin + result := DataTable.Fields[idx_ContactosFAX].IsNull; +end; + +procedure TContactosDataTableRules.SetFAXIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ContactosFAX].AsVariant := Null; +end; + function TContactosDataTableRules.GetEMAIL_1Value: String; begin result := DataTable.Fields[idx_ContactosEMAIL_1].AsString; @@ -1633,6 +2818,17 @@ begin DataTable.Fields[idx_ContactosEMAIL_1].AsString := aValue; end; +function TContactosDataTableRules.GetEMAIL_1IsNull: boolean; +begin + result := DataTable.Fields[idx_ContactosEMAIL_1].IsNull; +end; + +procedure TContactosDataTableRules.SetEMAIL_1IsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ContactosEMAIL_1].AsVariant := Null; +end; + function TContactosDataTableRules.GetEMAIL_2Value: String; begin result := DataTable.Fields[idx_ContactosEMAIL_2].AsString; @@ -1643,6 +2839,17 @@ begin DataTable.Fields[idx_ContactosEMAIL_2].AsString := aValue; end; +function TContactosDataTableRules.GetEMAIL_2IsNull: boolean; +begin + result := DataTable.Fields[idx_ContactosEMAIL_2].IsNull; +end; + +procedure TContactosDataTableRules.SetEMAIL_2IsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ContactosEMAIL_2].AsVariant := Null; +end; + function TContactosDataTableRules.GetPAGINA_WEBValue: String; begin result := DataTable.Fields[idx_ContactosPAGINA_WEB].AsString; @@ -1653,15 +2860,74 @@ begin DataTable.Fields[idx_ContactosPAGINA_WEB].AsString := aValue; end; +function TContactosDataTableRules.GetPAGINA_WEBIsNull: boolean; +begin + result := DataTable.Fields[idx_ContactosPAGINA_WEB].IsNull; +end; + +procedure TContactosDataTableRules.SetPAGINA_WEBIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ContactosPAGINA_WEB].AsVariant := Null; +end; + function TContactosDataTableRules.GetNOTASValue: IROStrings; begin - result := NewROStrings(); + result := f_NOTAS; result.Text := DataTable.Fields[idx_ContactosNOTAS].AsString; end; -procedure TContactosDataTableRules.SetNOTASValue(const aValue: IROStrings); +function TContactosDataTableRules.GetNOTASIsNull: boolean; begin - DataTable.Fields[idx_ContactosNOTAS].AsString := aValue.Text; + result := DataTable.Fields[idx_ContactosNOTAS].IsNull; +end; + +procedure TContactosDataTableRules.SetNOTASIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ContactosNOTAS].AsVariant := Null; +end; + +function TContactosDataTableRules.GetFECHA_ALTAValue: DateTime; +begin + result := DataTable.Fields[idx_ContactosFECHA_ALTA].AsDateTime; +end; + +procedure TContactosDataTableRules.SetFECHA_ALTAValue(const aValue: DateTime); +begin + DataTable.Fields[idx_ContactosFECHA_ALTA].AsDateTime := aValue; +end; + +function TContactosDataTableRules.GetFECHA_ALTAIsNull: boolean; +begin + result := DataTable.Fields[idx_ContactosFECHA_ALTA].IsNull; +end; + +procedure TContactosDataTableRules.SetFECHA_ALTAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ContactosFECHA_ALTA].AsVariant := Null; +end; + +function TContactosDataTableRules.GetFECHA_MODIFICACIONValue: DateTime; +begin + result := DataTable.Fields[idx_ContactosFECHA_MODIFICACION].AsDateTime; +end; + +procedure TContactosDataTableRules.SetFECHA_MODIFICACIONValue(const aValue: DateTime); +begin + DataTable.Fields[idx_ContactosFECHA_MODIFICACION].AsDateTime := aValue; +end; + +function TContactosDataTableRules.GetFECHA_MODIFICACIONIsNull: boolean; +begin + result := DataTable.Fields[idx_ContactosFECHA_MODIFICACION].IsNull; +end; + +procedure TContactosDataTableRules.SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ContactosFECHA_MODIFICACION].AsVariant := Null; end; function TContactosDataTableRules.GetUSUARIOValue: String; @@ -1674,6 +2940,17 @@ begin DataTable.Fields[idx_ContactosUSUARIO].AsString := aValue; end; +function TContactosDataTableRules.GetUSUARIOIsNull: boolean; +begin + result := DataTable.Fields[idx_ContactosUSUARIO].IsNull; +end; + +procedure TContactosDataTableRules.SetUSUARIOIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ContactosUSUARIO].AsVariant := Null; +end; + function TContactosDataTableRules.GetID_EMPRESAValue: Integer; begin result := DataTable.Fields[idx_ContactosID_EMPRESA].AsInteger; @@ -1684,6 +2961,17 @@ begin DataTable.Fields[idx_ContactosID_EMPRESA].AsInteger := aValue; end; +function TContactosDataTableRules.GetID_EMPRESAIsNull: boolean; +begin + result := DataTable.Fields[idx_ContactosID_EMPRESA].IsNull; +end; + +procedure TContactosDataTableRules.SetID_EMPRESAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ContactosID_EMPRESA].AsVariant := Null; +end; + function TContactosDataTableRules.GetREFERENCIAValue: String; begin result := DataTable.Fields[idx_ContactosREFERENCIA].AsString; @@ -1694,6 +2982,17 @@ begin DataTable.Fields[idx_ContactosREFERENCIA].AsString := aValue; end; +function TContactosDataTableRules.GetREFERENCIAIsNull: boolean; +begin + result := DataTable.Fields[idx_ContactosREFERENCIA].IsNull; +end; + +procedure TContactosDataTableRules.SetREFERENCIAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ContactosREFERENCIA].AsVariant := Null; +end; + { TGruposClienteDataTableRules } constructor TGruposClienteDataTableRules.Create(aDataTable: TDADataTable); @@ -1716,6 +3015,17 @@ begin DataTable.Fields[idx_GruposClienteDESCRIPCION].AsString := aValue; end; +function TGruposClienteDataTableRules.GetDESCRIPCIONIsNull: boolean; +begin + result := DataTable.Fields[idx_GruposClienteDESCRIPCION].IsNull; +end; + +procedure TGruposClienteDataTableRules.SetDESCRIPCIONIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_GruposClienteDESCRIPCION].AsVariant := Null; +end; + { TDatosBancariosDataTableRules } constructor TDatosBancariosDataTableRules.Create(aDataTable: TDADataTable); @@ -1738,6 +3048,17 @@ begin DataTable.Fields[idx_DatosBancariosID].AsInteger := aValue; end; +function TDatosBancariosDataTableRules.GetIDIsNull: boolean; +begin + result := DataTable.Fields[idx_DatosBancariosID].IsNull; +end; + +procedure TDatosBancariosDataTableRules.SetIDIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_DatosBancariosID].AsVariant := Null; +end; + function TDatosBancariosDataTableRules.GetID_CONTACTOValue: Integer; begin result := DataTable.Fields[idx_DatosBancariosID_CONTACTO].AsInteger; @@ -1748,6 +3069,17 @@ begin DataTable.Fields[idx_DatosBancariosID_CONTACTO].AsInteger := aValue; end; +function TDatosBancariosDataTableRules.GetID_CONTACTOIsNull: boolean; +begin + result := DataTable.Fields[idx_DatosBancariosID_CONTACTO].IsNull; +end; + +procedure TDatosBancariosDataTableRules.SetID_CONTACTOIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_DatosBancariosID_CONTACTO].AsVariant := Null; +end; + function TDatosBancariosDataTableRules.GetTITULARValue: String; begin result := DataTable.Fields[idx_DatosBancariosTITULAR].AsString; @@ -1758,6 +3090,17 @@ begin DataTable.Fields[idx_DatosBancariosTITULAR].AsString := aValue; end; +function TDatosBancariosDataTableRules.GetTITULARIsNull: boolean; +begin + result := DataTable.Fields[idx_DatosBancariosTITULAR].IsNull; +end; + +procedure TDatosBancariosDataTableRules.SetTITULARIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_DatosBancariosTITULAR].AsVariant := Null; +end; + function TDatosBancariosDataTableRules.GetENTIDADValue: String; begin result := DataTable.Fields[idx_DatosBancariosENTIDAD].AsString; @@ -1768,6 +3111,17 @@ begin DataTable.Fields[idx_DatosBancariosENTIDAD].AsString := aValue; end; +function TDatosBancariosDataTableRules.GetENTIDADIsNull: boolean; +begin + result := DataTable.Fields[idx_DatosBancariosENTIDAD].IsNull; +end; + +procedure TDatosBancariosDataTableRules.SetENTIDADIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_DatosBancariosENTIDAD].AsVariant := Null; +end; + function TDatosBancariosDataTableRules.GetSUCURSALValue: String; begin result := DataTable.Fields[idx_DatosBancariosSUCURSAL].AsString; @@ -1778,6 +3132,17 @@ begin DataTable.Fields[idx_DatosBancariosSUCURSAL].AsString := aValue; end; +function TDatosBancariosDataTableRules.GetSUCURSALIsNull: boolean; +begin + result := DataTable.Fields[idx_DatosBancariosSUCURSAL].IsNull; +end; + +procedure TDatosBancariosDataTableRules.SetSUCURSALIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_DatosBancariosSUCURSAL].AsVariant := Null; +end; + function TDatosBancariosDataTableRules.GetDCValue: String; begin result := DataTable.Fields[idx_DatosBancariosDC].AsString; @@ -1788,6 +3153,17 @@ begin DataTable.Fields[idx_DatosBancariosDC].AsString := aValue; end; +function TDatosBancariosDataTableRules.GetDCIsNull: boolean; +begin + result := DataTable.Fields[idx_DatosBancariosDC].IsNull; +end; + +procedure TDatosBancariosDataTableRules.SetDCIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_DatosBancariosDC].AsVariant := Null; +end; + function TDatosBancariosDataTableRules.GetCUENTAValue: String; begin result := DataTable.Fields[idx_DatosBancariosCUENTA].AsString; @@ -1798,6 +3174,59 @@ begin DataTable.Fields[idx_DatosBancariosCUENTA].AsString := aValue; end; +function TDatosBancariosDataTableRules.GetCUENTAIsNull: boolean; +begin + result := DataTable.Fields[idx_DatosBancariosCUENTA].IsNull; +end; + +procedure TDatosBancariosDataTableRules.SetCUENTAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_DatosBancariosCUENTA].AsVariant := Null; +end; + +function TDatosBancariosDataTableRules.GetFECHA_ALTAValue: DateTime; +begin + result := DataTable.Fields[idx_DatosBancariosFECHA_ALTA].AsDateTime; +end; + +procedure TDatosBancariosDataTableRules.SetFECHA_ALTAValue(const aValue: DateTime); +begin + DataTable.Fields[idx_DatosBancariosFECHA_ALTA].AsDateTime := aValue; +end; + +function TDatosBancariosDataTableRules.GetFECHA_ALTAIsNull: boolean; +begin + result := DataTable.Fields[idx_DatosBancariosFECHA_ALTA].IsNull; +end; + +procedure TDatosBancariosDataTableRules.SetFECHA_ALTAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_DatosBancariosFECHA_ALTA].AsVariant := Null; +end; + +function TDatosBancariosDataTableRules.GetFECHA_MODIFICACIONValue: DateTime; +begin + result := DataTable.Fields[idx_DatosBancariosFECHA_MODIFICACION].AsDateTime; +end; + +procedure TDatosBancariosDataTableRules.SetFECHA_MODIFICACIONValue(const aValue: DateTime); +begin + DataTable.Fields[idx_DatosBancariosFECHA_MODIFICACION].AsDateTime := aValue; +end; + +function TDatosBancariosDataTableRules.GetFECHA_MODIFICACIONIsNull: boolean; +begin + result := DataTable.Fields[idx_DatosBancariosFECHA_MODIFICACION].IsNull; +end; + +procedure TDatosBancariosDataTableRules.SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_DatosBancariosFECHA_MODIFICACION].AsVariant := Null; +end; + { TContactosCategoriasDataTableRules } constructor TContactosCategoriasDataTableRules.Create(aDataTable: TDADataTable); @@ -1820,6 +3249,17 @@ begin DataTable.Fields[idx_ContactosCategoriasID_CONTACTO].AsInteger := aValue; end; +function TContactosCategoriasDataTableRules.GetID_CONTACTOIsNull: boolean; +begin + result := DataTable.Fields[idx_ContactosCategoriasID_CONTACTO].IsNull; +end; + +procedure TContactosCategoriasDataTableRules.SetID_CONTACTOIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ContactosCategoriasID_CONTACTO].AsVariant := Null; +end; + function TContactosCategoriasDataTableRules.GetID_CATEGORIAValue: Integer; begin result := DataTable.Fields[idx_ContactosCategoriasID_CATEGORIA].AsInteger; @@ -1830,11 +3270,28 @@ begin DataTable.Fields[idx_ContactosCategoriasID_CATEGORIA].AsInteger := aValue; end; +function TContactosCategoriasDataTableRules.GetID_CATEGORIAIsNull: boolean; +begin + result := DataTable.Fields[idx_ContactosCategoriasID_CATEGORIA].IsNull; +end; + +procedure TContactosCategoriasDataTableRules.SetID_CATEGORIAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ContactosCategoriasID_CATEGORIA].AsVariant := Null; +end; + { TClientesDataTableRules } constructor TClientesDataTableRules.Create(aDataTable: TDADataTable); +var + StrList: TStringList; begin inherited; + + StrList := TStringList.Create; + StrList.OnChange := NOTAS_OnChange; + f_NOTAS := NewROStrings(StrList,True); end; destructor TClientesDataTableRules.Destroy; @@ -1842,6 +3299,11 @@ begin inherited; end; +procedure TClientesDataTableRules.NOTAS_OnChange(Sender: TObject); +begin + if DataTable.Editing then DataTable.Fields[idx_ClientesNOTAS].AsVariant := TStringList(Sender).Text; +end; + function TClientesDataTableRules.GetIDValue: Integer; begin result := DataTable.Fields[idx_ClientesID].AsInteger; @@ -1852,6 +3314,17 @@ begin DataTable.Fields[idx_ClientesID].AsInteger := aValue; end; +function TClientesDataTableRules.GetIDIsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesID].IsNull; +end; + +procedure TClientesDataTableRules.SetIDIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesID].AsVariant := Null; +end; + function TClientesDataTableRules.GetID_CATEGORIAValue: Integer; begin result := DataTable.Fields[idx_ClientesID_CATEGORIA].AsInteger; @@ -1862,6 +3335,17 @@ begin DataTable.Fields[idx_ClientesID_CATEGORIA].AsInteger := aValue; end; +function TClientesDataTableRules.GetID_CATEGORIAIsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesID_CATEGORIA].IsNull; +end; + +procedure TClientesDataTableRules.SetID_CATEGORIAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesID_CATEGORIA].AsVariant := Null; +end; + function TClientesDataTableRules.GetNIF_CIFValue: String; begin result := DataTable.Fields[idx_ClientesNIF_CIF].AsString; @@ -1872,6 +3356,17 @@ begin DataTable.Fields[idx_ClientesNIF_CIF].AsString := aValue; end; +function TClientesDataTableRules.GetNIF_CIFIsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesNIF_CIF].IsNull; +end; + +procedure TClientesDataTableRules.SetNIF_CIFIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesNIF_CIF].AsVariant := Null; +end; + function TClientesDataTableRules.GetNOMBREValue: String; begin result := DataTable.Fields[idx_ClientesNOMBRE].AsString; @@ -1882,14 +3377,15 @@ begin DataTable.Fields[idx_ClientesNOMBRE].AsString := aValue; end; -function TClientesDataTableRules.GetCALLEValue: String; +function TClientesDataTableRules.GetNOMBREIsNull: boolean; begin - result := DataTable.Fields[idx_ClientesCALLE].AsString; + result := DataTable.Fields[idx_ClientesNOMBRE].IsNull; end; -procedure TClientesDataTableRules.SetCALLEValue(const aValue: String); +procedure TClientesDataTableRules.SetNOMBREIsNull(const aValue: Boolean); begin - DataTable.Fields[idx_ClientesCALLE].AsString := aValue; + if aValue then + DataTable.Fields[idx_ClientesNOMBRE].AsVariant := Null; end; function TClientesDataTableRules.GetPERSONA_CONTACTOValue: String; @@ -1902,6 +3398,38 @@ begin DataTable.Fields[idx_ClientesPERSONA_CONTACTO].AsString := aValue; end; +function TClientesDataTableRules.GetPERSONA_CONTACTOIsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesPERSONA_CONTACTO].IsNull; +end; + +procedure TClientesDataTableRules.SetPERSONA_CONTACTOIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesPERSONA_CONTACTO].AsVariant := Null; +end; + +function TClientesDataTableRules.GetCALLEValue: String; +begin + result := DataTable.Fields[idx_ClientesCALLE].AsString; +end; + +procedure TClientesDataTableRules.SetCALLEValue(const aValue: String); +begin + DataTable.Fields[idx_ClientesCALLE].AsString := aValue; +end; + +function TClientesDataTableRules.GetCALLEIsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesCALLE].IsNull; +end; + +procedure TClientesDataTableRules.SetCALLEIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesCALLE].AsVariant := Null; +end; + function TClientesDataTableRules.GetPOBLACIONValue: String; begin result := DataTable.Fields[idx_ClientesPOBLACION].AsString; @@ -1912,6 +3440,17 @@ begin DataTable.Fields[idx_ClientesPOBLACION].AsString := aValue; end; +function TClientesDataTableRules.GetPOBLACIONIsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesPOBLACION].IsNull; +end; + +procedure TClientesDataTableRules.SetPOBLACIONIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesPOBLACION].AsVariant := Null; +end; + function TClientesDataTableRules.GetPROVINCIAValue: String; begin result := DataTable.Fields[idx_ClientesPROVINCIA].AsString; @@ -1922,6 +3461,17 @@ begin DataTable.Fields[idx_ClientesPROVINCIA].AsString := aValue; end; +function TClientesDataTableRules.GetPROVINCIAIsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesPROVINCIA].IsNull; +end; + +procedure TClientesDataTableRules.SetPROVINCIAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesPROVINCIA].AsVariant := Null; +end; + function TClientesDataTableRules.GetCODIGO_POSTALValue: String; begin result := DataTable.Fields[idx_ClientesCODIGO_POSTAL].AsString; @@ -1932,6 +3482,17 @@ begin DataTable.Fields[idx_ClientesCODIGO_POSTAL].AsString := aValue; end; +function TClientesDataTableRules.GetCODIGO_POSTALIsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesCODIGO_POSTAL].IsNull; +end; + +procedure TClientesDataTableRules.SetCODIGO_POSTALIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesCODIGO_POSTAL].AsVariant := Null; +end; + function TClientesDataTableRules.GetTELEFONO_1Value: String; begin result := DataTable.Fields[idx_ClientesTELEFONO_1].AsString; @@ -1942,6 +3503,17 @@ begin DataTable.Fields[idx_ClientesTELEFONO_1].AsString := aValue; end; +function TClientesDataTableRules.GetTELEFONO_1IsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesTELEFONO_1].IsNull; +end; + +procedure TClientesDataTableRules.SetTELEFONO_1IsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesTELEFONO_1].AsVariant := Null; +end; + function TClientesDataTableRules.GetTELEFONO_2Value: String; begin result := DataTable.Fields[idx_ClientesTELEFONO_2].AsString; @@ -1952,6 +3524,17 @@ begin DataTable.Fields[idx_ClientesTELEFONO_2].AsString := aValue; end; +function TClientesDataTableRules.GetTELEFONO_2IsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesTELEFONO_2].IsNull; +end; + +procedure TClientesDataTableRules.SetTELEFONO_2IsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesTELEFONO_2].AsVariant := Null; +end; + function TClientesDataTableRules.GetMOVIL_1Value: String; begin result := DataTable.Fields[idx_ClientesMOVIL_1].AsString; @@ -1962,6 +3545,17 @@ begin DataTable.Fields[idx_ClientesMOVIL_1].AsString := aValue; end; +function TClientesDataTableRules.GetMOVIL_1IsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesMOVIL_1].IsNull; +end; + +procedure TClientesDataTableRules.SetMOVIL_1IsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesMOVIL_1].AsVariant := Null; +end; + function TClientesDataTableRules.GetMOVIL_2Value: String; begin result := DataTable.Fields[idx_ClientesMOVIL_2].AsString; @@ -1972,6 +3566,17 @@ begin DataTable.Fields[idx_ClientesMOVIL_2].AsString := aValue; end; +function TClientesDataTableRules.GetMOVIL_2IsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesMOVIL_2].IsNull; +end; + +procedure TClientesDataTableRules.SetMOVIL_2IsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesMOVIL_2].AsVariant := Null; +end; + function TClientesDataTableRules.GetFAXValue: String; begin result := DataTable.Fields[idx_ClientesFAX].AsString; @@ -1982,6 +3587,17 @@ begin DataTable.Fields[idx_ClientesFAX].AsString := aValue; end; +function TClientesDataTableRules.GetFAXIsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesFAX].IsNull; +end; + +procedure TClientesDataTableRules.SetFAXIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesFAX].AsVariant := Null; +end; + function TClientesDataTableRules.GetEMAIL_1Value: String; begin result := DataTable.Fields[idx_ClientesEMAIL_1].AsString; @@ -1992,6 +3608,17 @@ begin DataTable.Fields[idx_ClientesEMAIL_1].AsString := aValue; end; +function TClientesDataTableRules.GetEMAIL_1IsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesEMAIL_1].IsNull; +end; + +procedure TClientesDataTableRules.SetEMAIL_1IsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesEMAIL_1].AsVariant := Null; +end; + function TClientesDataTableRules.GetEMAIL_2Value: String; begin result := DataTable.Fields[idx_ClientesEMAIL_2].AsString; @@ -2002,6 +3629,17 @@ begin DataTable.Fields[idx_ClientesEMAIL_2].AsString := aValue; end; +function TClientesDataTableRules.GetEMAIL_2IsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesEMAIL_2].IsNull; +end; + +procedure TClientesDataTableRules.SetEMAIL_2IsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesEMAIL_2].AsVariant := Null; +end; + function TClientesDataTableRules.GetPAGINA_WEBValue: String; begin result := DataTable.Fields[idx_ClientesPAGINA_WEB].AsString; @@ -2012,15 +3650,74 @@ begin DataTable.Fields[idx_ClientesPAGINA_WEB].AsString := aValue; end; +function TClientesDataTableRules.GetPAGINA_WEBIsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesPAGINA_WEB].IsNull; +end; + +procedure TClientesDataTableRules.SetPAGINA_WEBIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesPAGINA_WEB].AsVariant := Null; +end; + function TClientesDataTableRules.GetNOTASValue: IROStrings; begin - result := NewROStrings(); + result := f_NOTAS; result.Text := DataTable.Fields[idx_ClientesNOTAS].AsString; end; -procedure TClientesDataTableRules.SetNOTASValue(const aValue: IROStrings); +function TClientesDataTableRules.GetNOTASIsNull: boolean; begin - DataTable.Fields[idx_ClientesNOTAS].AsString := aValue.Text; + result := DataTable.Fields[idx_ClientesNOTAS].IsNull; +end; + +procedure TClientesDataTableRules.SetNOTASIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesNOTAS].AsVariant := Null; +end; + +function TClientesDataTableRules.GetFECHA_ALTAValue: DateTime; +begin + result := DataTable.Fields[idx_ClientesFECHA_ALTA].AsDateTime; +end; + +procedure TClientesDataTableRules.SetFECHA_ALTAValue(const aValue: DateTime); +begin + DataTable.Fields[idx_ClientesFECHA_ALTA].AsDateTime := aValue; +end; + +function TClientesDataTableRules.GetFECHA_ALTAIsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesFECHA_ALTA].IsNull; +end; + +procedure TClientesDataTableRules.SetFECHA_ALTAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesFECHA_ALTA].AsVariant := Null; +end; + +function TClientesDataTableRules.GetFECHA_MODIFICACIONValue: DateTime; +begin + result := DataTable.Fields[idx_ClientesFECHA_MODIFICACION].AsDateTime; +end; + +procedure TClientesDataTableRules.SetFECHA_MODIFICACIONValue(const aValue: DateTime); +begin + DataTable.Fields[idx_ClientesFECHA_MODIFICACION].AsDateTime := aValue; +end; + +function TClientesDataTableRules.GetFECHA_MODIFICACIONIsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesFECHA_MODIFICACION].IsNull; +end; + +procedure TClientesDataTableRules.SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesFECHA_MODIFICACION].AsVariant := Null; end; function TClientesDataTableRules.GetUSUARIOValue: String; @@ -2033,6 +3730,17 @@ begin DataTable.Fields[idx_ClientesUSUARIO].AsString := aValue; end; +function TClientesDataTableRules.GetUSUARIOIsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesUSUARIO].IsNull; +end; + +procedure TClientesDataTableRules.SetUSUARIOIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesUSUARIO].AsVariant := Null; +end; + function TClientesDataTableRules.GetID_EMPRESAValue: Integer; begin result := DataTable.Fields[idx_ClientesID_EMPRESA].AsInteger; @@ -2043,6 +3751,17 @@ begin DataTable.Fields[idx_ClientesID_EMPRESA].AsInteger := aValue; end; +function TClientesDataTableRules.GetID_EMPRESAIsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesID_EMPRESA].IsNull; +end; + +procedure TClientesDataTableRules.SetID_EMPRESAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesID_EMPRESA].AsVariant := Null; +end; + function TClientesDataTableRules.GetREFERENCIAValue: String; begin result := DataTable.Fields[idx_ClientesREFERENCIA].AsString; @@ -2053,54 +3772,15 @@ begin DataTable.Fields[idx_ClientesREFERENCIA].AsString := aValue; end; -function TClientesDataTableRules.GetID_TIPO_IVAValue: Integer; +function TClientesDataTableRules.GetREFERENCIAIsNull: boolean; begin - result := DataTable.Fields[idx_ClientesID_TIPO_IVA].AsInteger; + result := DataTable.Fields[idx_ClientesREFERENCIA].IsNull; end; -procedure TClientesDataTableRules.SetID_TIPO_IVAValue(const aValue: Integer); +procedure TClientesDataTableRules.SetREFERENCIAIsNull(const aValue: Boolean); begin - DataTable.Fields[idx_ClientesID_TIPO_IVA].AsInteger := aValue; -end; - -function TClientesDataTableRules.GetREGIMEN_IVAValue: String; -begin - result := DataTable.Fields[idx_ClientesREGIMEN_IVA].AsString; -end; - -procedure TClientesDataTableRules.SetREGIMEN_IVAValue(const aValue: String); -begin - DataTable.Fields[idx_ClientesREGIMEN_IVA].AsString := aValue; -end; - -function TClientesDataTableRules.GetID_FORMA_PAGOValue: Integer; -begin - result := DataTable.Fields[idx_ClientesID_FORMA_PAGO].AsInteger; -end; - -procedure TClientesDataTableRules.SetID_FORMA_PAGOValue(const aValue: Integer); -begin - DataTable.Fields[idx_ClientesID_FORMA_PAGO].AsInteger := aValue; -end; - -function TClientesDataTableRules.GetTIENDA_WEBValue: Integer; -begin - result := DataTable.Fields[idx_ClientesTIENDA_WEB].AsInteger; -end; - -procedure TClientesDataTableRules.SetTIENDA_WEBValue(const aValue: Integer); -begin - DataTable.Fields[idx_ClientesTIENDA_WEB].AsInteger := aValue; -end; - -function TClientesDataTableRules.GetRECARGO_EQUIVALENCIAValue: Integer; -begin - result := DataTable.Fields[idx_ClientesRECARGO_EQUIVALENCIA].AsInteger; -end; - -procedure TClientesDataTableRules.SetRECARGO_EQUIVALENCIAValue(const aValue: Integer); -begin - DataTable.Fields[idx_ClientesRECARGO_EQUIVALENCIA].AsInteger := aValue; + if aValue then + DataTable.Fields[idx_ClientesREFERENCIA].AsVariant := Null; end; function TClientesDataTableRules.GetGRUPO_CLIENTEValue: String; @@ -2113,6 +3793,17 @@ begin DataTable.Fields[idx_ClientesGRUPO_CLIENTE].AsString := aValue; end; +function TClientesDataTableRules.GetGRUPO_CLIENTEIsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesGRUPO_CLIENTE].IsNull; +end; + +procedure TClientesDataTableRules.SetGRUPO_CLIENTEIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesGRUPO_CLIENTE].AsVariant := Null; +end; + function TClientesDataTableRules.GetNOMBRE_COMERCIALValue: String; begin result := DataTable.Fields[idx_ClientesNOMBRE_COMERCIAL].AsString; @@ -2123,6 +3814,17 @@ begin DataTable.Fields[idx_ClientesNOMBRE_COMERCIAL].AsString := aValue; end; +function TClientesDataTableRules.GetNOMBRE_COMERCIALIsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesNOMBRE_COMERCIAL].IsNull; +end; + +procedure TClientesDataTableRules.SetNOMBRE_COMERCIALIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesNOMBRE_COMERCIAL].AsVariant := Null; +end; + function TClientesDataTableRules.GetVENCIMIENTO_FACTURASValue: Integer; begin result := DataTable.Fields[idx_ClientesVENCIMIENTO_FACTURAS].AsInteger; @@ -2133,14 +3835,57 @@ begin DataTable.Fields[idx_ClientesVENCIMIENTO_FACTURAS].AsInteger := aValue; end; -function TClientesDataTableRules.GetBLOQUEADOValue: Integer; +function TClientesDataTableRules.GetVENCIMIENTO_FACTURASIsNull: boolean; begin - result := DataTable.Fields[idx_ClientesBLOQUEADO].AsInteger; + result := DataTable.Fields[idx_ClientesVENCIMIENTO_FACTURAS].IsNull; end; -procedure TClientesDataTableRules.SetBLOQUEADOValue(const aValue: Integer); +procedure TClientesDataTableRules.SetVENCIMIENTO_FACTURASIsNull(const aValue: Boolean); begin - DataTable.Fields[idx_ClientesBLOQUEADO].AsInteger := aValue; + if aValue then + DataTable.Fields[idx_ClientesVENCIMIENTO_FACTURAS].AsVariant := Null; +end; + +function TClientesDataTableRules.GetBLOQUEADOValue: SmallInt; +begin + result := DataTable.Fields[idx_ClientesBLOQUEADO].AsSmallInt; +end; + +procedure TClientesDataTableRules.SetBLOQUEADOValue(const aValue: SmallInt); +begin + DataTable.Fields[idx_ClientesBLOQUEADO].AsSmallInt := aValue; +end; + +function TClientesDataTableRules.GetBLOQUEADOIsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesBLOQUEADO].IsNull; +end; + +procedure TClientesDataTableRules.SetBLOQUEADOIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesBLOQUEADO].AsVariant := Null; +end; + +function TClientesDataTableRules.GetREGIMEN_IVAValue: String; +begin + result := DataTable.Fields[idx_ClientesREGIMEN_IVA].AsString; +end; + +procedure TClientesDataTableRules.SetREGIMEN_IVAValue(const aValue: String); +begin + DataTable.Fields[idx_ClientesREGIMEN_IVA].AsString := aValue; +end; + +function TClientesDataTableRules.GetREGIMEN_IVAIsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesREGIMEN_IVA].IsNull; +end; + +procedure TClientesDataTableRules.SetREGIMEN_IVAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesREGIMEN_IVA].AsVariant := Null; end; function TClientesDataTableRules.GetMOTIVO_BLOQUEOValue: String; @@ -2153,11 +3898,112 @@ begin DataTable.Fields[idx_ClientesMOTIVO_BLOQUEO].AsString := aValue; end; +function TClientesDataTableRules.GetMOTIVO_BLOQUEOIsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesMOTIVO_BLOQUEO].IsNull; +end; + +procedure TClientesDataTableRules.SetMOTIVO_BLOQUEOIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesMOTIVO_BLOQUEO].AsVariant := Null; +end; + +function TClientesDataTableRules.GetRECARGO_EQUIVALENCIAValue: Integer; +begin + result := DataTable.Fields[idx_ClientesRECARGO_EQUIVALENCIA].AsInteger; +end; + +procedure TClientesDataTableRules.SetRECARGO_EQUIVALENCIAValue(const aValue: Integer); +begin + DataTable.Fields[idx_ClientesRECARGO_EQUIVALENCIA].AsInteger := aValue; +end; + +function TClientesDataTableRules.GetRECARGO_EQUIVALENCIAIsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesRECARGO_EQUIVALENCIA].IsNull; +end; + +procedure TClientesDataTableRules.SetRECARGO_EQUIVALENCIAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesRECARGO_EQUIVALENCIA].AsVariant := Null; +end; + +function TClientesDataTableRules.GetID_TIPO_IVAValue: Integer; +begin + result := DataTable.Fields[idx_ClientesID_TIPO_IVA].AsInteger; +end; + +procedure TClientesDataTableRules.SetID_TIPO_IVAValue(const aValue: Integer); +begin + DataTable.Fields[idx_ClientesID_TIPO_IVA].AsInteger := aValue; +end; + +function TClientesDataTableRules.GetID_TIPO_IVAIsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesID_TIPO_IVA].IsNull; +end; + +procedure TClientesDataTableRules.SetID_TIPO_IVAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesID_TIPO_IVA].AsVariant := Null; +end; + +function TClientesDataTableRules.GetID_FORMA_PAGOValue: Integer; +begin + result := DataTable.Fields[idx_ClientesID_FORMA_PAGO].AsInteger; +end; + +procedure TClientesDataTableRules.SetID_FORMA_PAGOValue(const aValue: Integer); +begin + DataTable.Fields[idx_ClientesID_FORMA_PAGO].AsInteger := aValue; +end; + +function TClientesDataTableRules.GetID_FORMA_PAGOIsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesID_FORMA_PAGO].IsNull; +end; + +procedure TClientesDataTableRules.SetID_FORMA_PAGOIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesID_FORMA_PAGO].AsVariant := Null; +end; + +function TClientesDataTableRules.GetTIENDA_WEBValue: SmallInt; +begin + result := DataTable.Fields[idx_ClientesTIENDA_WEB].AsSmallInt; +end; + +procedure TClientesDataTableRules.SetTIENDA_WEBValue(const aValue: SmallInt); +begin + DataTable.Fields[idx_ClientesTIENDA_WEB].AsSmallInt := aValue; +end; + +function TClientesDataTableRules.GetTIENDA_WEBIsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesTIENDA_WEB].IsNull; +end; + +procedure TClientesDataTableRules.SetTIENDA_WEBIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesTIENDA_WEB].AsVariant := Null; +end; + { TProveedoresDataTableRules } constructor TProveedoresDataTableRules.Create(aDataTable: TDADataTable); +var + StrList: TStringList; begin inherited; + + StrList := TStringList.Create; + StrList.OnChange := NOTAS_OnChange; + f_NOTAS := NewROStrings(StrList,True); end; destructor TProveedoresDataTableRules.Destroy; @@ -2165,6 +4011,11 @@ begin inherited; end; +procedure TProveedoresDataTableRules.NOTAS_OnChange(Sender: TObject); +begin + if DataTable.Editing then DataTable.Fields[idx_ProveedoresNOTAS].AsVariant := TStringList(Sender).Text; +end; + function TProveedoresDataTableRules.GetIDValue: Integer; begin result := DataTable.Fields[idx_ProveedoresID].AsInteger; @@ -2175,6 +4026,17 @@ begin DataTable.Fields[idx_ProveedoresID].AsInteger := aValue; end; +function TProveedoresDataTableRules.GetIDIsNull: boolean; +begin + result := DataTable.Fields[idx_ProveedoresID].IsNull; +end; + +procedure TProveedoresDataTableRules.SetIDIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProveedoresID].AsVariant := Null; +end; + function TProveedoresDataTableRules.GetID_CATEGORIAValue: Integer; begin result := DataTable.Fields[idx_ProveedoresID_CATEGORIA].AsInteger; @@ -2185,6 +4047,17 @@ begin DataTable.Fields[idx_ProveedoresID_CATEGORIA].AsInteger := aValue; end; +function TProveedoresDataTableRules.GetID_CATEGORIAIsNull: boolean; +begin + result := DataTable.Fields[idx_ProveedoresID_CATEGORIA].IsNull; +end; + +procedure TProveedoresDataTableRules.SetID_CATEGORIAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProveedoresID_CATEGORIA].AsVariant := Null; +end; + function TProveedoresDataTableRules.GetNIF_CIFValue: String; begin result := DataTable.Fields[idx_ProveedoresNIF_CIF].AsString; @@ -2195,6 +4068,17 @@ begin DataTable.Fields[idx_ProveedoresNIF_CIF].AsString := aValue; end; +function TProveedoresDataTableRules.GetNIF_CIFIsNull: boolean; +begin + result := DataTable.Fields[idx_ProveedoresNIF_CIF].IsNull; +end; + +procedure TProveedoresDataTableRules.SetNIF_CIFIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProveedoresNIF_CIF].AsVariant := Null; +end; + function TProveedoresDataTableRules.GetNOMBREValue: String; begin result := DataTable.Fields[idx_ProveedoresNOMBRE].AsString; @@ -2205,14 +4089,15 @@ begin DataTable.Fields[idx_ProveedoresNOMBRE].AsString := aValue; end; -function TProveedoresDataTableRules.GetCALLEValue: String; +function TProveedoresDataTableRules.GetNOMBREIsNull: boolean; begin - result := DataTable.Fields[idx_ProveedoresCALLE].AsString; + result := DataTable.Fields[idx_ProveedoresNOMBRE].IsNull; end; -procedure TProveedoresDataTableRules.SetCALLEValue(const aValue: String); +procedure TProveedoresDataTableRules.SetNOMBREIsNull(const aValue: Boolean); begin - DataTable.Fields[idx_ProveedoresCALLE].AsString := aValue; + if aValue then + DataTable.Fields[idx_ProveedoresNOMBRE].AsVariant := Null; end; function TProveedoresDataTableRules.GetPERSONA_CONTACTOValue: String; @@ -2225,6 +4110,38 @@ begin DataTable.Fields[idx_ProveedoresPERSONA_CONTACTO].AsString := aValue; end; +function TProveedoresDataTableRules.GetPERSONA_CONTACTOIsNull: boolean; +begin + result := DataTable.Fields[idx_ProveedoresPERSONA_CONTACTO].IsNull; +end; + +procedure TProveedoresDataTableRules.SetPERSONA_CONTACTOIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProveedoresPERSONA_CONTACTO].AsVariant := Null; +end; + +function TProveedoresDataTableRules.GetCALLEValue: String; +begin + result := DataTable.Fields[idx_ProveedoresCALLE].AsString; +end; + +procedure TProveedoresDataTableRules.SetCALLEValue(const aValue: String); +begin + DataTable.Fields[idx_ProveedoresCALLE].AsString := aValue; +end; + +function TProveedoresDataTableRules.GetCALLEIsNull: boolean; +begin + result := DataTable.Fields[idx_ProveedoresCALLE].IsNull; +end; + +procedure TProveedoresDataTableRules.SetCALLEIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProveedoresCALLE].AsVariant := Null; +end; + function TProveedoresDataTableRules.GetPOBLACIONValue: String; begin result := DataTable.Fields[idx_ProveedoresPOBLACION].AsString; @@ -2235,6 +4152,17 @@ begin DataTable.Fields[idx_ProveedoresPOBLACION].AsString := aValue; end; +function TProveedoresDataTableRules.GetPOBLACIONIsNull: boolean; +begin + result := DataTable.Fields[idx_ProveedoresPOBLACION].IsNull; +end; + +procedure TProveedoresDataTableRules.SetPOBLACIONIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProveedoresPOBLACION].AsVariant := Null; +end; + function TProveedoresDataTableRules.GetPROVINCIAValue: String; begin result := DataTable.Fields[idx_ProveedoresPROVINCIA].AsString; @@ -2245,6 +4173,17 @@ begin DataTable.Fields[idx_ProveedoresPROVINCIA].AsString := aValue; end; +function TProveedoresDataTableRules.GetPROVINCIAIsNull: boolean; +begin + result := DataTable.Fields[idx_ProveedoresPROVINCIA].IsNull; +end; + +procedure TProveedoresDataTableRules.SetPROVINCIAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProveedoresPROVINCIA].AsVariant := Null; +end; + function TProveedoresDataTableRules.GetCODIGO_POSTALValue: String; begin result := DataTable.Fields[idx_ProveedoresCODIGO_POSTAL].AsString; @@ -2255,6 +4194,17 @@ begin DataTable.Fields[idx_ProveedoresCODIGO_POSTAL].AsString := aValue; end; +function TProveedoresDataTableRules.GetCODIGO_POSTALIsNull: boolean; +begin + result := DataTable.Fields[idx_ProveedoresCODIGO_POSTAL].IsNull; +end; + +procedure TProveedoresDataTableRules.SetCODIGO_POSTALIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProveedoresCODIGO_POSTAL].AsVariant := Null; +end; + function TProveedoresDataTableRules.GetTELEFONO_1Value: String; begin result := DataTable.Fields[idx_ProveedoresTELEFONO_1].AsString; @@ -2265,6 +4215,17 @@ begin DataTable.Fields[idx_ProveedoresTELEFONO_1].AsString := aValue; end; +function TProveedoresDataTableRules.GetTELEFONO_1IsNull: boolean; +begin + result := DataTable.Fields[idx_ProveedoresTELEFONO_1].IsNull; +end; + +procedure TProveedoresDataTableRules.SetTELEFONO_1IsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProveedoresTELEFONO_1].AsVariant := Null; +end; + function TProveedoresDataTableRules.GetTELEFONO_2Value: String; begin result := DataTable.Fields[idx_ProveedoresTELEFONO_2].AsString; @@ -2275,6 +4236,17 @@ begin DataTable.Fields[idx_ProveedoresTELEFONO_2].AsString := aValue; end; +function TProveedoresDataTableRules.GetTELEFONO_2IsNull: boolean; +begin + result := DataTable.Fields[idx_ProveedoresTELEFONO_2].IsNull; +end; + +procedure TProveedoresDataTableRules.SetTELEFONO_2IsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProveedoresTELEFONO_2].AsVariant := Null; +end; + function TProveedoresDataTableRules.GetMOVIL_1Value: String; begin result := DataTable.Fields[idx_ProveedoresMOVIL_1].AsString; @@ -2285,6 +4257,17 @@ begin DataTable.Fields[idx_ProveedoresMOVIL_1].AsString := aValue; end; +function TProveedoresDataTableRules.GetMOVIL_1IsNull: boolean; +begin + result := DataTable.Fields[idx_ProveedoresMOVIL_1].IsNull; +end; + +procedure TProveedoresDataTableRules.SetMOVIL_1IsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProveedoresMOVIL_1].AsVariant := Null; +end; + function TProveedoresDataTableRules.GetMOVIL_2Value: String; begin result := DataTable.Fields[idx_ProveedoresMOVIL_2].AsString; @@ -2295,6 +4278,17 @@ begin DataTable.Fields[idx_ProveedoresMOVIL_2].AsString := aValue; end; +function TProveedoresDataTableRules.GetMOVIL_2IsNull: boolean; +begin + result := DataTable.Fields[idx_ProveedoresMOVIL_2].IsNull; +end; + +procedure TProveedoresDataTableRules.SetMOVIL_2IsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProveedoresMOVIL_2].AsVariant := Null; +end; + function TProveedoresDataTableRules.GetFAXValue: String; begin result := DataTable.Fields[idx_ProveedoresFAX].AsString; @@ -2305,6 +4299,17 @@ begin DataTable.Fields[idx_ProveedoresFAX].AsString := aValue; end; +function TProveedoresDataTableRules.GetFAXIsNull: boolean; +begin + result := DataTable.Fields[idx_ProveedoresFAX].IsNull; +end; + +procedure TProveedoresDataTableRules.SetFAXIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProveedoresFAX].AsVariant := Null; +end; + function TProveedoresDataTableRules.GetEMAIL_1Value: String; begin result := DataTable.Fields[idx_ProveedoresEMAIL_1].AsString; @@ -2315,6 +4320,17 @@ begin DataTable.Fields[idx_ProveedoresEMAIL_1].AsString := aValue; end; +function TProveedoresDataTableRules.GetEMAIL_1IsNull: boolean; +begin + result := DataTable.Fields[idx_ProveedoresEMAIL_1].IsNull; +end; + +procedure TProveedoresDataTableRules.SetEMAIL_1IsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProveedoresEMAIL_1].AsVariant := Null; +end; + function TProveedoresDataTableRules.GetEMAIL_2Value: String; begin result := DataTable.Fields[idx_ProveedoresEMAIL_2].AsString; @@ -2325,6 +4341,17 @@ begin DataTable.Fields[idx_ProveedoresEMAIL_2].AsString := aValue; end; +function TProveedoresDataTableRules.GetEMAIL_2IsNull: boolean; +begin + result := DataTable.Fields[idx_ProveedoresEMAIL_2].IsNull; +end; + +procedure TProveedoresDataTableRules.SetEMAIL_2IsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProveedoresEMAIL_2].AsVariant := Null; +end; + function TProveedoresDataTableRules.GetPAGINA_WEBValue: String; begin result := DataTable.Fields[idx_ProveedoresPAGINA_WEB].AsString; @@ -2335,15 +4362,74 @@ begin DataTable.Fields[idx_ProveedoresPAGINA_WEB].AsString := aValue; end; +function TProveedoresDataTableRules.GetPAGINA_WEBIsNull: boolean; +begin + result := DataTable.Fields[idx_ProveedoresPAGINA_WEB].IsNull; +end; + +procedure TProveedoresDataTableRules.SetPAGINA_WEBIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProveedoresPAGINA_WEB].AsVariant := Null; +end; + function TProveedoresDataTableRules.GetNOTASValue: IROStrings; begin - result := NewROStrings(); + result := f_NOTAS; result.Text := DataTable.Fields[idx_ProveedoresNOTAS].AsString; end; -procedure TProveedoresDataTableRules.SetNOTASValue(const aValue: IROStrings); +function TProveedoresDataTableRules.GetNOTASIsNull: boolean; begin - DataTable.Fields[idx_ProveedoresNOTAS].AsString := aValue.Text; + result := DataTable.Fields[idx_ProveedoresNOTAS].IsNull; +end; + +procedure TProveedoresDataTableRules.SetNOTASIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProveedoresNOTAS].AsVariant := Null; +end; + +function TProveedoresDataTableRules.GetFECHA_ALTAValue: DateTime; +begin + result := DataTable.Fields[idx_ProveedoresFECHA_ALTA].AsDateTime; +end; + +procedure TProveedoresDataTableRules.SetFECHA_ALTAValue(const aValue: DateTime); +begin + DataTable.Fields[idx_ProveedoresFECHA_ALTA].AsDateTime := aValue; +end; + +function TProveedoresDataTableRules.GetFECHA_ALTAIsNull: boolean; +begin + result := DataTable.Fields[idx_ProveedoresFECHA_ALTA].IsNull; +end; + +procedure TProveedoresDataTableRules.SetFECHA_ALTAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProveedoresFECHA_ALTA].AsVariant := Null; +end; + +function TProveedoresDataTableRules.GetFECHA_MODIFICACIONValue: DateTime; +begin + result := DataTable.Fields[idx_ProveedoresFECHA_MODIFICACION].AsDateTime; +end; + +procedure TProveedoresDataTableRules.SetFECHA_MODIFICACIONValue(const aValue: DateTime); +begin + DataTable.Fields[idx_ProveedoresFECHA_MODIFICACION].AsDateTime := aValue; +end; + +function TProveedoresDataTableRules.GetFECHA_MODIFICACIONIsNull: boolean; +begin + result := DataTable.Fields[idx_ProveedoresFECHA_MODIFICACION].IsNull; +end; + +procedure TProveedoresDataTableRules.SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProveedoresFECHA_MODIFICACION].AsVariant := Null; end; function TProveedoresDataTableRules.GetUSUARIOValue: String; @@ -2356,6 +4442,17 @@ begin DataTable.Fields[idx_ProveedoresUSUARIO].AsString := aValue; end; +function TProveedoresDataTableRules.GetUSUARIOIsNull: boolean; +begin + result := DataTable.Fields[idx_ProveedoresUSUARIO].IsNull; +end; + +procedure TProveedoresDataTableRules.SetUSUARIOIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProveedoresUSUARIO].AsVariant := Null; +end; + function TProveedoresDataTableRules.GetID_EMPRESAValue: Integer; begin result := DataTable.Fields[idx_ProveedoresID_EMPRESA].AsInteger; @@ -2366,6 +4463,17 @@ begin DataTable.Fields[idx_ProveedoresID_EMPRESA].AsInteger := aValue; end; +function TProveedoresDataTableRules.GetID_EMPRESAIsNull: boolean; +begin + result := DataTable.Fields[idx_ProveedoresID_EMPRESA].IsNull; +end; + +procedure TProveedoresDataTableRules.SetID_EMPRESAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProveedoresID_EMPRESA].AsVariant := Null; +end; + function TProveedoresDataTableRules.GetREFERENCIAValue: String; begin result := DataTable.Fields[idx_ProveedoresREFERENCIA].AsString; @@ -2376,44 +4484,15 @@ begin DataTable.Fields[idx_ProveedoresREFERENCIA].AsString := aValue; end; -function TProveedoresDataTableRules.GetID_TIPO_IVAValue: Integer; +function TProveedoresDataTableRules.GetREFERENCIAIsNull: boolean; begin - result := DataTable.Fields[idx_ProveedoresID_TIPO_IVA].AsInteger; + result := DataTable.Fields[idx_ProveedoresREFERENCIA].IsNull; end; -procedure TProveedoresDataTableRules.SetID_TIPO_IVAValue(const aValue: Integer); +procedure TProveedoresDataTableRules.SetREFERENCIAIsNull(const aValue: Boolean); begin - DataTable.Fields[idx_ProveedoresID_TIPO_IVA].AsInteger := aValue; -end; - -function TProveedoresDataTableRules.GetREGIMEN_IVAValue: String; -begin - result := DataTable.Fields[idx_ProveedoresREGIMEN_IVA].AsString; -end; - -procedure TProveedoresDataTableRules.SetREGIMEN_IVAValue(const aValue: String); -begin - DataTable.Fields[idx_ProveedoresREGIMEN_IVA].AsString := aValue; -end; - -function TProveedoresDataTableRules.GetID_FORMA_PAGOValue: Integer; -begin - result := DataTable.Fields[idx_ProveedoresID_FORMA_PAGO].AsInteger; -end; - -procedure TProveedoresDataTableRules.SetID_FORMA_PAGOValue(const aValue: Integer); -begin - DataTable.Fields[idx_ProveedoresID_FORMA_PAGO].AsInteger := aValue; -end; - -function TProveedoresDataTableRules.GetTIENDA_WEBValue: Integer; -begin - result := DataTable.Fields[idx_ProveedoresTIENDA_WEB].AsInteger; -end; - -procedure TProveedoresDataTableRules.SetTIENDA_WEBValue(const aValue: Integer); -begin - DataTable.Fields[idx_ProveedoresTIENDA_WEB].AsInteger := aValue; + if aValue then + DataTable.Fields[idx_ProveedoresREFERENCIA].AsVariant := Null; end; function TProveedoresDataTableRules.GetDESCUENTOValue: Float; @@ -2426,6 +4505,17 @@ begin DataTable.Fields[idx_ProveedoresDESCUENTO].AsFloat := aValue; end; +function TProveedoresDataTableRules.GetDESCUENTOIsNull: boolean; +begin + result := DataTable.Fields[idx_ProveedoresDESCUENTO].IsNull; +end; + +procedure TProveedoresDataTableRules.SetDESCUENTOIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProveedoresDESCUENTO].AsVariant := Null; +end; + function TProveedoresDataTableRules.GetDESCRIPCION_PROVEEDORValue: String; begin result := DataTable.Fields[idx_ProveedoresDESCRIPCION_PROVEEDOR].AsString; @@ -2436,6 +4526,17 @@ begin DataTable.Fields[idx_ProveedoresDESCRIPCION_PROVEEDOR].AsString := aValue; end; +function TProveedoresDataTableRules.GetDESCRIPCION_PROVEEDORIsNull: boolean; +begin + result := DataTable.Fields[idx_ProveedoresDESCRIPCION_PROVEEDOR].IsNull; +end; + +procedure TProveedoresDataTableRules.SetDESCRIPCION_PROVEEDORIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProveedoresDESCRIPCION_PROVEEDOR].AsVariant := Null; +end; + function TProveedoresDataTableRules.GetCODIGO_ASIGNADOValue: String; begin result := DataTable.Fields[idx_ProveedoresCODIGO_ASIGNADO].AsString; @@ -2446,24 +4547,15 @@ begin DataTable.Fields[idx_ProveedoresCODIGO_ASIGNADO].AsString := aValue; end; -function TProveedoresDataTableRules.GetHOMOLOGADOValue: Integer; +function TProveedoresDataTableRules.GetCODIGO_ASIGNADOIsNull: boolean; begin - result := DataTable.Fields[idx_ProveedoresHOMOLOGADO].AsInteger; + result := DataTable.Fields[idx_ProveedoresCODIGO_ASIGNADO].IsNull; end; -procedure TProveedoresDataTableRules.SetHOMOLOGADOValue(const aValue: Integer); +procedure TProveedoresDataTableRules.SetCODIGO_ASIGNADOIsNull(const aValue: Boolean); begin - DataTable.Fields[idx_ProveedoresHOMOLOGADO].AsInteger := aValue; -end; - -function TProveedoresDataTableRules.GetCERTIFICACIONValue: String; -begin - result := DataTable.Fields[idx_ProveedoresCERTIFICACION].AsString; -end; - -procedure TProveedoresDataTableRules.SetCERTIFICACIONValue(const aValue: String); -begin - DataTable.Fields[idx_ProveedoresCERTIFICACION].AsString := aValue; + if aValue then + DataTable.Fields[idx_ProveedoresCODIGO_ASIGNADO].AsVariant := Null; end; function TProveedoresDataTableRules.GetGRUPO_PROVEEDORValue: String; @@ -2476,11 +4568,170 @@ begin DataTable.Fields[idx_ProveedoresGRUPO_PROVEEDOR].AsString := aValue; end; +function TProveedoresDataTableRules.GetGRUPO_PROVEEDORIsNull: boolean; +begin + result := DataTable.Fields[idx_ProveedoresGRUPO_PROVEEDOR].IsNull; +end; + +procedure TProveedoresDataTableRules.SetGRUPO_PROVEEDORIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProveedoresGRUPO_PROVEEDOR].AsVariant := Null; +end; + +function TProveedoresDataTableRules.GetREGIMEN_IVAValue: String; +begin + result := DataTable.Fields[idx_ProveedoresREGIMEN_IVA].AsString; +end; + +procedure TProveedoresDataTableRules.SetREGIMEN_IVAValue(const aValue: String); +begin + DataTable.Fields[idx_ProveedoresREGIMEN_IVA].AsString := aValue; +end; + +function TProveedoresDataTableRules.GetREGIMEN_IVAIsNull: boolean; +begin + result := DataTable.Fields[idx_ProveedoresREGIMEN_IVA].IsNull; +end; + +procedure TProveedoresDataTableRules.SetREGIMEN_IVAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProveedoresREGIMEN_IVA].AsVariant := Null; +end; + +function TProveedoresDataTableRules.GetID_TIPO_IVAValue: Integer; +begin + result := DataTable.Fields[idx_ProveedoresID_TIPO_IVA].AsInteger; +end; + +procedure TProveedoresDataTableRules.SetID_TIPO_IVAValue(const aValue: Integer); +begin + DataTable.Fields[idx_ProveedoresID_TIPO_IVA].AsInteger := aValue; +end; + +function TProveedoresDataTableRules.GetID_TIPO_IVAIsNull: boolean; +begin + result := DataTable.Fields[idx_ProveedoresID_TIPO_IVA].IsNull; +end; + +procedure TProveedoresDataTableRules.SetID_TIPO_IVAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProveedoresID_TIPO_IVA].AsVariant := Null; +end; + +function TProveedoresDataTableRules.GetID_FORMA_PAGOValue: Integer; +begin + result := DataTable.Fields[idx_ProveedoresID_FORMA_PAGO].AsInteger; +end; + +procedure TProveedoresDataTableRules.SetID_FORMA_PAGOValue(const aValue: Integer); +begin + DataTable.Fields[idx_ProveedoresID_FORMA_PAGO].AsInteger := aValue; +end; + +function TProveedoresDataTableRules.GetID_FORMA_PAGOIsNull: boolean; +begin + result := DataTable.Fields[idx_ProveedoresID_FORMA_PAGO].IsNull; +end; + +procedure TProveedoresDataTableRules.SetID_FORMA_PAGOIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProveedoresID_FORMA_PAGO].AsVariant := Null; +end; + +function TProveedoresDataTableRules.GetTIENDA_WEBValue: SmallInt; +begin + result := DataTable.Fields[idx_ProveedoresTIENDA_WEB].AsSmallInt; +end; + +procedure TProveedoresDataTableRules.SetTIENDA_WEBValue(const aValue: SmallInt); +begin + DataTable.Fields[idx_ProveedoresTIENDA_WEB].AsSmallInt := aValue; +end; + +function TProveedoresDataTableRules.GetTIENDA_WEBIsNull: boolean; +begin + result := DataTable.Fields[idx_ProveedoresTIENDA_WEB].IsNull; +end; + +procedure TProveedoresDataTableRules.SetTIENDA_WEBIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProveedoresTIENDA_WEB].AsVariant := Null; +end; + +function TProveedoresDataTableRules.GetHOMOLOGADOValue: SmallInt; +begin + result := DataTable.Fields[idx_ProveedoresHOMOLOGADO].AsSmallInt; +end; + +procedure TProveedoresDataTableRules.SetHOMOLOGADOValue(const aValue: SmallInt); +begin + DataTable.Fields[idx_ProveedoresHOMOLOGADO].AsSmallInt := aValue; +end; + +function TProveedoresDataTableRules.GetHOMOLOGADOIsNull: boolean; +begin + result := DataTable.Fields[idx_ProveedoresHOMOLOGADO].IsNull; +end; + +procedure TProveedoresDataTableRules.SetHOMOLOGADOIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProveedoresHOMOLOGADO].AsVariant := Null; +end; + +function TProveedoresDataTableRules.GetCERTIFICACIONValue: String; +begin + result := DataTable.Fields[idx_ProveedoresCERTIFICACION].AsString; +end; + +procedure TProveedoresDataTableRules.SetCERTIFICACIONValue(const aValue: String); +begin + DataTable.Fields[idx_ProveedoresCERTIFICACION].AsString := aValue; +end; + +function TProveedoresDataTableRules.GetCERTIFICACIONIsNull: boolean; +begin + result := DataTable.Fields[idx_ProveedoresCERTIFICACION].IsNull; +end; + +procedure TProveedoresDataTableRules.SetCERTIFICACIONIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProveedoresCERTIFICACION].AsVariant := Null; +end; + { TEmpleadosDataTableRules } constructor TEmpleadosDataTableRules.Create(aDataTable: TDADataTable); +var + StrList: TStringList; begin inherited; + + StrList := TStringList.Create; + StrList.OnChange := NOTAS_OnChange; + f_NOTAS := NewROStrings(StrList,True); + + StrList := TStringList.Create; + StrList.OnChange := FORMACION_BASE_OnChange; + f_FORMACION_BASE := NewROStrings(StrList,True); + + StrList := TStringList.Create; + StrList.OnChange := FORMACION_COMPLE_OnChange; + f_FORMACION_COMPLE := NewROStrings(StrList,True); + + StrList := TStringList.Create; + StrList.OnChange := FORMACION_RECIBIDA_OnChange; + f_FORMACION_RECIBIDA := NewROStrings(StrList,True); + + StrList := TStringList.Create; + StrList.OnChange := EXPERIENCIA_OnChange; + f_EXPERIENCIA := NewROStrings(StrList,True); end; destructor TEmpleadosDataTableRules.Destroy; @@ -2488,6 +4739,31 @@ begin inherited; end; +procedure TEmpleadosDataTableRules.NOTAS_OnChange(Sender: TObject); +begin + if DataTable.Editing then DataTable.Fields[idx_EmpleadosNOTAS].AsVariant := TStringList(Sender).Text; +end; + +procedure TEmpleadosDataTableRules.FORMACION_BASE_OnChange(Sender: TObject); +begin + if DataTable.Editing then DataTable.Fields[idx_EmpleadosFORMACION_BASE].AsVariant := TStringList(Sender).Text; +end; + +procedure TEmpleadosDataTableRules.FORMACION_COMPLE_OnChange(Sender: TObject); +begin + if DataTable.Editing then DataTable.Fields[idx_EmpleadosFORMACION_COMPLE].AsVariant := TStringList(Sender).Text; +end; + +procedure TEmpleadosDataTableRules.FORMACION_RECIBIDA_OnChange(Sender: TObject); +begin + if DataTable.Editing then DataTable.Fields[idx_EmpleadosFORMACION_RECIBIDA].AsVariant := TStringList(Sender).Text; +end; + +procedure TEmpleadosDataTableRules.EXPERIENCIA_OnChange(Sender: TObject); +begin + if DataTable.Editing then DataTable.Fields[idx_EmpleadosEXPERIENCIA].AsVariant := TStringList(Sender).Text; +end; + function TEmpleadosDataTableRules.GetIDValue: Integer; begin result := DataTable.Fields[idx_EmpleadosID].AsInteger; @@ -2498,6 +4774,17 @@ begin DataTable.Fields[idx_EmpleadosID].AsInteger := aValue; end; +function TEmpleadosDataTableRules.GetIDIsNull: boolean; +begin + result := DataTable.Fields[idx_EmpleadosID].IsNull; +end; + +procedure TEmpleadosDataTableRules.SetIDIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_EmpleadosID].AsVariant := Null; +end; + function TEmpleadosDataTableRules.GetID_CATEGORIAValue: Integer; begin result := DataTable.Fields[idx_EmpleadosID_CATEGORIA].AsInteger; @@ -2508,6 +4795,17 @@ begin DataTable.Fields[idx_EmpleadosID_CATEGORIA].AsInteger := aValue; end; +function TEmpleadosDataTableRules.GetID_CATEGORIAIsNull: boolean; +begin + result := DataTable.Fields[idx_EmpleadosID_CATEGORIA].IsNull; +end; + +procedure TEmpleadosDataTableRules.SetID_CATEGORIAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_EmpleadosID_CATEGORIA].AsVariant := Null; +end; + function TEmpleadosDataTableRules.GetNIF_CIFValue: String; begin result := DataTable.Fields[idx_EmpleadosNIF_CIF].AsString; @@ -2518,6 +4816,17 @@ begin DataTable.Fields[idx_EmpleadosNIF_CIF].AsString := aValue; end; +function TEmpleadosDataTableRules.GetNIF_CIFIsNull: boolean; +begin + result := DataTable.Fields[idx_EmpleadosNIF_CIF].IsNull; +end; + +procedure TEmpleadosDataTableRules.SetNIF_CIFIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_EmpleadosNIF_CIF].AsVariant := Null; +end; + function TEmpleadosDataTableRules.GetNOMBREValue: String; begin result := DataTable.Fields[idx_EmpleadosNOMBRE].AsString; @@ -2528,14 +4837,15 @@ begin DataTable.Fields[idx_EmpleadosNOMBRE].AsString := aValue; end; -function TEmpleadosDataTableRules.GetCALLEValue: String; +function TEmpleadosDataTableRules.GetNOMBREIsNull: boolean; begin - result := DataTable.Fields[idx_EmpleadosCALLE].AsString; + result := DataTable.Fields[idx_EmpleadosNOMBRE].IsNull; end; -procedure TEmpleadosDataTableRules.SetCALLEValue(const aValue: String); +procedure TEmpleadosDataTableRules.SetNOMBREIsNull(const aValue: Boolean); begin - DataTable.Fields[idx_EmpleadosCALLE].AsString := aValue; + if aValue then + DataTable.Fields[idx_EmpleadosNOMBRE].AsVariant := Null; end; function TEmpleadosDataTableRules.GetPERSONA_CONTACTOValue: String; @@ -2548,6 +4858,38 @@ begin DataTable.Fields[idx_EmpleadosPERSONA_CONTACTO].AsString := aValue; end; +function TEmpleadosDataTableRules.GetPERSONA_CONTACTOIsNull: boolean; +begin + result := DataTable.Fields[idx_EmpleadosPERSONA_CONTACTO].IsNull; +end; + +procedure TEmpleadosDataTableRules.SetPERSONA_CONTACTOIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_EmpleadosPERSONA_CONTACTO].AsVariant := Null; +end; + +function TEmpleadosDataTableRules.GetCALLEValue: String; +begin + result := DataTable.Fields[idx_EmpleadosCALLE].AsString; +end; + +procedure TEmpleadosDataTableRules.SetCALLEValue(const aValue: String); +begin + DataTable.Fields[idx_EmpleadosCALLE].AsString := aValue; +end; + +function TEmpleadosDataTableRules.GetCALLEIsNull: boolean; +begin + result := DataTable.Fields[idx_EmpleadosCALLE].IsNull; +end; + +procedure TEmpleadosDataTableRules.SetCALLEIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_EmpleadosCALLE].AsVariant := Null; +end; + function TEmpleadosDataTableRules.GetPOBLACIONValue: String; begin result := DataTable.Fields[idx_EmpleadosPOBLACION].AsString; @@ -2558,6 +4900,17 @@ begin DataTable.Fields[idx_EmpleadosPOBLACION].AsString := aValue; end; +function TEmpleadosDataTableRules.GetPOBLACIONIsNull: boolean; +begin + result := DataTable.Fields[idx_EmpleadosPOBLACION].IsNull; +end; + +procedure TEmpleadosDataTableRules.SetPOBLACIONIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_EmpleadosPOBLACION].AsVariant := Null; +end; + function TEmpleadosDataTableRules.GetPROVINCIAValue: String; begin result := DataTable.Fields[idx_EmpleadosPROVINCIA].AsString; @@ -2568,6 +4921,17 @@ begin DataTable.Fields[idx_EmpleadosPROVINCIA].AsString := aValue; end; +function TEmpleadosDataTableRules.GetPROVINCIAIsNull: boolean; +begin + result := DataTable.Fields[idx_EmpleadosPROVINCIA].IsNull; +end; + +procedure TEmpleadosDataTableRules.SetPROVINCIAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_EmpleadosPROVINCIA].AsVariant := Null; +end; + function TEmpleadosDataTableRules.GetCODIGO_POSTALValue: String; begin result := DataTable.Fields[idx_EmpleadosCODIGO_POSTAL].AsString; @@ -2578,6 +4942,17 @@ begin DataTable.Fields[idx_EmpleadosCODIGO_POSTAL].AsString := aValue; end; +function TEmpleadosDataTableRules.GetCODIGO_POSTALIsNull: boolean; +begin + result := DataTable.Fields[idx_EmpleadosCODIGO_POSTAL].IsNull; +end; + +procedure TEmpleadosDataTableRules.SetCODIGO_POSTALIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_EmpleadosCODIGO_POSTAL].AsVariant := Null; +end; + function TEmpleadosDataTableRules.GetTELEFONO_1Value: String; begin result := DataTable.Fields[idx_EmpleadosTELEFONO_1].AsString; @@ -2588,6 +4963,17 @@ begin DataTable.Fields[idx_EmpleadosTELEFONO_1].AsString := aValue; end; +function TEmpleadosDataTableRules.GetTELEFONO_1IsNull: boolean; +begin + result := DataTable.Fields[idx_EmpleadosTELEFONO_1].IsNull; +end; + +procedure TEmpleadosDataTableRules.SetTELEFONO_1IsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_EmpleadosTELEFONO_1].AsVariant := Null; +end; + function TEmpleadosDataTableRules.GetTELEFONO_2Value: String; begin result := DataTable.Fields[idx_EmpleadosTELEFONO_2].AsString; @@ -2598,6 +4984,17 @@ begin DataTable.Fields[idx_EmpleadosTELEFONO_2].AsString := aValue; end; +function TEmpleadosDataTableRules.GetTELEFONO_2IsNull: boolean; +begin + result := DataTable.Fields[idx_EmpleadosTELEFONO_2].IsNull; +end; + +procedure TEmpleadosDataTableRules.SetTELEFONO_2IsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_EmpleadosTELEFONO_2].AsVariant := Null; +end; + function TEmpleadosDataTableRules.GetMOVIL_1Value: String; begin result := DataTable.Fields[idx_EmpleadosMOVIL_1].AsString; @@ -2608,6 +5005,17 @@ begin DataTable.Fields[idx_EmpleadosMOVIL_1].AsString := aValue; end; +function TEmpleadosDataTableRules.GetMOVIL_1IsNull: boolean; +begin + result := DataTable.Fields[idx_EmpleadosMOVIL_1].IsNull; +end; + +procedure TEmpleadosDataTableRules.SetMOVIL_1IsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_EmpleadosMOVIL_1].AsVariant := Null; +end; + function TEmpleadosDataTableRules.GetMOVIL_2Value: String; begin result := DataTable.Fields[idx_EmpleadosMOVIL_2].AsString; @@ -2618,6 +5026,17 @@ begin DataTable.Fields[idx_EmpleadosMOVIL_2].AsString := aValue; end; +function TEmpleadosDataTableRules.GetMOVIL_2IsNull: boolean; +begin + result := DataTable.Fields[idx_EmpleadosMOVIL_2].IsNull; +end; + +procedure TEmpleadosDataTableRules.SetMOVIL_2IsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_EmpleadosMOVIL_2].AsVariant := Null; +end; + function TEmpleadosDataTableRules.GetFAXValue: String; begin result := DataTable.Fields[idx_EmpleadosFAX].AsString; @@ -2628,6 +5047,17 @@ begin DataTable.Fields[idx_EmpleadosFAX].AsString := aValue; end; +function TEmpleadosDataTableRules.GetFAXIsNull: boolean; +begin + result := DataTable.Fields[idx_EmpleadosFAX].IsNull; +end; + +procedure TEmpleadosDataTableRules.SetFAXIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_EmpleadosFAX].AsVariant := Null; +end; + function TEmpleadosDataTableRules.GetEMAIL_1Value: String; begin result := DataTable.Fields[idx_EmpleadosEMAIL_1].AsString; @@ -2638,6 +5068,17 @@ begin DataTable.Fields[idx_EmpleadosEMAIL_1].AsString := aValue; end; +function TEmpleadosDataTableRules.GetEMAIL_1IsNull: boolean; +begin + result := DataTable.Fields[idx_EmpleadosEMAIL_1].IsNull; +end; + +procedure TEmpleadosDataTableRules.SetEMAIL_1IsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_EmpleadosEMAIL_1].AsVariant := Null; +end; + function TEmpleadosDataTableRules.GetEMAIL_2Value: String; begin result := DataTable.Fields[idx_EmpleadosEMAIL_2].AsString; @@ -2648,6 +5089,17 @@ begin DataTable.Fields[idx_EmpleadosEMAIL_2].AsString := aValue; end; +function TEmpleadosDataTableRules.GetEMAIL_2IsNull: boolean; +begin + result := DataTable.Fields[idx_EmpleadosEMAIL_2].IsNull; +end; + +procedure TEmpleadosDataTableRules.SetEMAIL_2IsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_EmpleadosEMAIL_2].AsVariant := Null; +end; + function TEmpleadosDataTableRules.GetPAGINA_WEBValue: String; begin result := DataTable.Fields[idx_EmpleadosPAGINA_WEB].AsString; @@ -2658,15 +5110,74 @@ begin DataTable.Fields[idx_EmpleadosPAGINA_WEB].AsString := aValue; end; +function TEmpleadosDataTableRules.GetPAGINA_WEBIsNull: boolean; +begin + result := DataTable.Fields[idx_EmpleadosPAGINA_WEB].IsNull; +end; + +procedure TEmpleadosDataTableRules.SetPAGINA_WEBIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_EmpleadosPAGINA_WEB].AsVariant := Null; +end; + function TEmpleadosDataTableRules.GetNOTASValue: IROStrings; begin - result := NewROStrings(); + result := f_NOTAS; result.Text := DataTable.Fields[idx_EmpleadosNOTAS].AsString; end; -procedure TEmpleadosDataTableRules.SetNOTASValue(const aValue: IROStrings); +function TEmpleadosDataTableRules.GetNOTASIsNull: boolean; begin - DataTable.Fields[idx_EmpleadosNOTAS].AsString := aValue.Text; + result := DataTable.Fields[idx_EmpleadosNOTAS].IsNull; +end; + +procedure TEmpleadosDataTableRules.SetNOTASIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_EmpleadosNOTAS].AsVariant := Null; +end; + +function TEmpleadosDataTableRules.GetFECHA_ALTAValue: DateTime; +begin + result := DataTable.Fields[idx_EmpleadosFECHA_ALTA].AsDateTime; +end; + +procedure TEmpleadosDataTableRules.SetFECHA_ALTAValue(const aValue: DateTime); +begin + DataTable.Fields[idx_EmpleadosFECHA_ALTA].AsDateTime := aValue; +end; + +function TEmpleadosDataTableRules.GetFECHA_ALTAIsNull: boolean; +begin + result := DataTable.Fields[idx_EmpleadosFECHA_ALTA].IsNull; +end; + +procedure TEmpleadosDataTableRules.SetFECHA_ALTAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_EmpleadosFECHA_ALTA].AsVariant := Null; +end; + +function TEmpleadosDataTableRules.GetFECHA_MODIFICACIONValue: DateTime; +begin + result := DataTable.Fields[idx_EmpleadosFECHA_MODIFICACION].AsDateTime; +end; + +procedure TEmpleadosDataTableRules.SetFECHA_MODIFICACIONValue(const aValue: DateTime); +begin + DataTable.Fields[idx_EmpleadosFECHA_MODIFICACION].AsDateTime := aValue; +end; + +function TEmpleadosDataTableRules.GetFECHA_MODIFICACIONIsNull: boolean; +begin + result := DataTable.Fields[idx_EmpleadosFECHA_MODIFICACION].IsNull; +end; + +procedure TEmpleadosDataTableRules.SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_EmpleadosFECHA_MODIFICACION].AsVariant := Null; end; function TEmpleadosDataTableRules.GetUSUARIOValue: String; @@ -2679,6 +5190,17 @@ begin DataTable.Fields[idx_EmpleadosUSUARIO].AsString := aValue; end; +function TEmpleadosDataTableRules.GetUSUARIOIsNull: boolean; +begin + result := DataTable.Fields[idx_EmpleadosUSUARIO].IsNull; +end; + +procedure TEmpleadosDataTableRules.SetUSUARIOIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_EmpleadosUSUARIO].AsVariant := Null; +end; + function TEmpleadosDataTableRules.GetID_EMPRESAValue: Integer; begin result := DataTable.Fields[idx_EmpleadosID_EMPRESA].AsInteger; @@ -2689,6 +5211,17 @@ begin DataTable.Fields[idx_EmpleadosID_EMPRESA].AsInteger := aValue; end; +function TEmpleadosDataTableRules.GetID_EMPRESAIsNull: boolean; +begin + result := DataTable.Fields[idx_EmpleadosID_EMPRESA].IsNull; +end; + +procedure TEmpleadosDataTableRules.SetID_EMPRESAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_EmpleadosID_EMPRESA].AsVariant := Null; +end; + function TEmpleadosDataTableRules.GetREFERENCIAValue: String; begin result := DataTable.Fields[idx_EmpleadosREFERENCIA].AsString; @@ -2699,14 +5232,15 @@ begin DataTable.Fields[idx_EmpleadosREFERENCIA].AsString := aValue; end; -function TEmpleadosDataTableRules.GetCATEGORIAValue: String; +function TEmpleadosDataTableRules.GetREFERENCIAIsNull: boolean; begin - result := DataTable.Fields[idx_EmpleadosCATEGORIA].AsString; + result := DataTable.Fields[idx_EmpleadosREFERENCIA].IsNull; end; -procedure TEmpleadosDataTableRules.SetCATEGORIAValue(const aValue: String); +procedure TEmpleadosDataTableRules.SetREFERENCIAIsNull(const aValue: Boolean); begin - DataTable.Fields[idx_EmpleadosCATEGORIA].AsString := aValue; + if aValue then + DataTable.Fields[idx_EmpleadosREFERENCIA].AsVariant := Null; end; function TEmpleadosDataTableRules.GetFECHA_NACIMIENTOValue: DateTime; @@ -2719,6 +5253,38 @@ begin DataTable.Fields[idx_EmpleadosFECHA_NACIMIENTO].AsDateTime := aValue; end; +function TEmpleadosDataTableRules.GetFECHA_NACIMIENTOIsNull: boolean; +begin + result := DataTable.Fields[idx_EmpleadosFECHA_NACIMIENTO].IsNull; +end; + +procedure TEmpleadosDataTableRules.SetFECHA_NACIMIENTOIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_EmpleadosFECHA_NACIMIENTO].AsVariant := Null; +end; + +function TEmpleadosDataTableRules.GetCATEGORIAValue: String; +begin + result := DataTable.Fields[idx_EmpleadosCATEGORIA].AsString; +end; + +procedure TEmpleadosDataTableRules.SetCATEGORIAValue(const aValue: String); +begin + DataTable.Fields[idx_EmpleadosCATEGORIA].AsString := aValue; +end; + +function TEmpleadosDataTableRules.GetCATEGORIAIsNull: boolean; +begin + result := DataTable.Fields[idx_EmpleadosCATEGORIA].IsNull; +end; + +procedure TEmpleadosDataTableRules.SetCATEGORIAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_EmpleadosCATEGORIA].AsVariant := Null; +end; + function TEmpleadosDataTableRules.GetFECHA_ALTA_EMPRESAValue: DateTime; begin result := DataTable.Fields[idx_EmpleadosFECHA_ALTA_EMPRESA].AsDateTime; @@ -2729,55 +5295,96 @@ begin DataTable.Fields[idx_EmpleadosFECHA_ALTA_EMPRESA].AsDateTime := aValue; end; +function TEmpleadosDataTableRules.GetFECHA_ALTA_EMPRESAIsNull: boolean; +begin + result := DataTable.Fields[idx_EmpleadosFECHA_ALTA_EMPRESA].IsNull; +end; + +procedure TEmpleadosDataTableRules.SetFECHA_ALTA_EMPRESAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_EmpleadosFECHA_ALTA_EMPRESA].AsVariant := Null; +end; + function TEmpleadosDataTableRules.GetFORMACION_BASEValue: IROStrings; begin - result := NewROStrings(); + result := f_FORMACION_BASE; result.Text := DataTable.Fields[idx_EmpleadosFORMACION_BASE].AsString; end; -procedure TEmpleadosDataTableRules.SetFORMACION_BASEValue(const aValue: IROStrings); +function TEmpleadosDataTableRules.GetFORMACION_BASEIsNull: boolean; begin - DataTable.Fields[idx_EmpleadosFORMACION_BASE].AsString := aValue.Text; + result := DataTable.Fields[idx_EmpleadosFORMACION_BASE].IsNull; +end; + +procedure TEmpleadosDataTableRules.SetFORMACION_BASEIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_EmpleadosFORMACION_BASE].AsVariant := Null; end; function TEmpleadosDataTableRules.GetFORMACION_COMPLEValue: IROStrings; begin - result := NewROStrings(); + result := f_FORMACION_COMPLE; result.Text := DataTable.Fields[idx_EmpleadosFORMACION_COMPLE].AsString; end; -procedure TEmpleadosDataTableRules.SetFORMACION_COMPLEValue(const aValue: IROStrings); +function TEmpleadosDataTableRules.GetFORMACION_COMPLEIsNull: boolean; begin - DataTable.Fields[idx_EmpleadosFORMACION_COMPLE].AsString := aValue.Text; + result := DataTable.Fields[idx_EmpleadosFORMACION_COMPLE].IsNull; +end; + +procedure TEmpleadosDataTableRules.SetFORMACION_COMPLEIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_EmpleadosFORMACION_COMPLE].AsVariant := Null; end; function TEmpleadosDataTableRules.GetFORMACION_RECIBIDAValue: IROStrings; begin - result := NewROStrings(); + result := f_FORMACION_RECIBIDA; result.Text := DataTable.Fields[idx_EmpleadosFORMACION_RECIBIDA].AsString; end; -procedure TEmpleadosDataTableRules.SetFORMACION_RECIBIDAValue(const aValue: IROStrings); +function TEmpleadosDataTableRules.GetFORMACION_RECIBIDAIsNull: boolean; begin - DataTable.Fields[idx_EmpleadosFORMACION_RECIBIDA].AsString := aValue.Text; + result := DataTable.Fields[idx_EmpleadosFORMACION_RECIBIDA].IsNull; +end; + +procedure TEmpleadosDataTableRules.SetFORMACION_RECIBIDAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_EmpleadosFORMACION_RECIBIDA].AsVariant := Null; end; function TEmpleadosDataTableRules.GetEXPERIENCIAValue: IROStrings; begin - result := NewROStrings(); + result := f_EXPERIENCIA; result.Text := DataTable.Fields[idx_EmpleadosEXPERIENCIA].AsString; end; -procedure TEmpleadosDataTableRules.SetEXPERIENCIAValue(const aValue: IROStrings); +function TEmpleadosDataTableRules.GetEXPERIENCIAIsNull: boolean; begin - DataTable.Fields[idx_EmpleadosEXPERIENCIA].AsString := aValue.Text; + result := DataTable.Fields[idx_EmpleadosEXPERIENCIA].IsNull; +end; + +procedure TEmpleadosDataTableRules.SetEXPERIENCIAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_EmpleadosEXPERIENCIA].AsVariant := Null; end; { TDireccionesContactoDataTableRules } constructor TDireccionesContactoDataTableRules.Create(aDataTable: TDADataTable); +var + StrList: TStringList; begin inherited; + + StrList := TStringList.Create; + StrList.OnChange := NOTAS_OnChange; + f_NOTAS := NewROStrings(StrList,True); end; destructor TDireccionesContactoDataTableRules.Destroy; @@ -2785,6 +5392,11 @@ begin inherited; end; +procedure TDireccionesContactoDataTableRules.NOTAS_OnChange(Sender: TObject); +begin + if DataTable.Editing then DataTable.Fields[idx_DireccionesContactoNOTAS].AsVariant := TStringList(Sender).Text; +end; + function TDireccionesContactoDataTableRules.GetIDValue: Integer; begin result := DataTable.Fields[idx_DireccionesContactoID].AsInteger; @@ -2795,6 +5407,17 @@ begin DataTable.Fields[idx_DireccionesContactoID].AsInteger := aValue; end; +function TDireccionesContactoDataTableRules.GetIDIsNull: boolean; +begin + result := DataTable.Fields[idx_DireccionesContactoID].IsNull; +end; + +procedure TDireccionesContactoDataTableRules.SetIDIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_DireccionesContactoID].AsVariant := Null; +end; + function TDireccionesContactoDataTableRules.GetID_CONTACTOValue: Integer; begin result := DataTable.Fields[idx_DireccionesContactoID_CONTACTO].AsInteger; @@ -2805,14 +5428,15 @@ begin DataTable.Fields[idx_DireccionesContactoID_CONTACTO].AsInteger := aValue; end; -function TDireccionesContactoDataTableRules.GetNOMBREValue: String; +function TDireccionesContactoDataTableRules.GetID_CONTACTOIsNull: boolean; begin - result := DataTable.Fields[idx_DireccionesContactoNOMBRE].AsString; + result := DataTable.Fields[idx_DireccionesContactoID_CONTACTO].IsNull; end; -procedure TDireccionesContactoDataTableRules.SetNOMBREValue(const aValue: String); +procedure TDireccionesContactoDataTableRules.SetID_CONTACTOIsNull(const aValue: Boolean); begin - DataTable.Fields[idx_DireccionesContactoNOMBRE].AsString := aValue; + if aValue then + DataTable.Fields[idx_DireccionesContactoID_CONTACTO].AsVariant := Null; end; function TDireccionesContactoDataTableRules.GetCALLEValue: String; @@ -2825,6 +5449,17 @@ begin DataTable.Fields[idx_DireccionesContactoCALLE].AsString := aValue; end; +function TDireccionesContactoDataTableRules.GetCALLEIsNull: boolean; +begin + result := DataTable.Fields[idx_DireccionesContactoCALLE].IsNull; +end; + +procedure TDireccionesContactoDataTableRules.SetCALLEIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_DireccionesContactoCALLE].AsVariant := Null; +end; + function TDireccionesContactoDataTableRules.GetPOBLACIONValue: String; begin result := DataTable.Fields[idx_DireccionesContactoPOBLACION].AsString; @@ -2835,6 +5470,17 @@ begin DataTable.Fields[idx_DireccionesContactoPOBLACION].AsString := aValue; end; +function TDireccionesContactoDataTableRules.GetPOBLACIONIsNull: boolean; +begin + result := DataTable.Fields[idx_DireccionesContactoPOBLACION].IsNull; +end; + +procedure TDireccionesContactoDataTableRules.SetPOBLACIONIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_DireccionesContactoPOBLACION].AsVariant := Null; +end; + function TDireccionesContactoDataTableRules.GetPROVINCIAValue: String; begin result := DataTable.Fields[idx_DireccionesContactoPROVINCIA].AsString; @@ -2845,6 +5491,17 @@ begin DataTable.Fields[idx_DireccionesContactoPROVINCIA].AsString := aValue; end; +function TDireccionesContactoDataTableRules.GetPROVINCIAIsNull: boolean; +begin + result := DataTable.Fields[idx_DireccionesContactoPROVINCIA].IsNull; +end; + +procedure TDireccionesContactoDataTableRules.SetPROVINCIAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_DireccionesContactoPROVINCIA].AsVariant := Null; +end; + function TDireccionesContactoDataTableRules.GetCODIGO_POSTALValue: String; begin result := DataTable.Fields[idx_DireccionesContactoCODIGO_POSTAL].AsString; @@ -2855,6 +5512,17 @@ begin DataTable.Fields[idx_DireccionesContactoCODIGO_POSTAL].AsString := aValue; end; +function TDireccionesContactoDataTableRules.GetCODIGO_POSTALIsNull: boolean; +begin + result := DataTable.Fields[idx_DireccionesContactoCODIGO_POSTAL].IsNull; +end; + +procedure TDireccionesContactoDataTableRules.SetCODIGO_POSTALIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_DireccionesContactoCODIGO_POSTAL].AsVariant := Null; +end; + function TDireccionesContactoDataTableRules.GetPERSONA_CONTACTOValue: String; begin result := DataTable.Fields[idx_DireccionesContactoPERSONA_CONTACTO].AsString; @@ -2865,6 +5533,38 @@ begin DataTable.Fields[idx_DireccionesContactoPERSONA_CONTACTO].AsString := aValue; end; +function TDireccionesContactoDataTableRules.GetPERSONA_CONTACTOIsNull: boolean; +begin + result := DataTable.Fields[idx_DireccionesContactoPERSONA_CONTACTO].IsNull; +end; + +procedure TDireccionesContactoDataTableRules.SetPERSONA_CONTACTOIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_DireccionesContactoPERSONA_CONTACTO].AsVariant := Null; +end; + +function TDireccionesContactoDataTableRules.GetNOMBREValue: String; +begin + result := DataTable.Fields[idx_DireccionesContactoNOMBRE].AsString; +end; + +procedure TDireccionesContactoDataTableRules.SetNOMBREValue(const aValue: String); +begin + DataTable.Fields[idx_DireccionesContactoNOMBRE].AsString := aValue; +end; + +function TDireccionesContactoDataTableRules.GetNOMBREIsNull: boolean; +begin + result := DataTable.Fields[idx_DireccionesContactoNOMBRE].IsNull; +end; + +procedure TDireccionesContactoDataTableRules.SetNOMBREIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_DireccionesContactoNOMBRE].AsVariant := Null; +end; + function TDireccionesContactoDataTableRules.GetTELEFONOValue: String; begin result := DataTable.Fields[idx_DireccionesContactoTELEFONO].AsString; @@ -2875,6 +5575,17 @@ begin DataTable.Fields[idx_DireccionesContactoTELEFONO].AsString := aValue; end; +function TDireccionesContactoDataTableRules.GetTELEFONOIsNull: boolean; +begin + result := DataTable.Fields[idx_DireccionesContactoTELEFONO].IsNull; +end; + +procedure TDireccionesContactoDataTableRules.SetTELEFONOIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_DireccionesContactoTELEFONO].AsVariant := Null; +end; + function TDireccionesContactoDataTableRules.GetMOVILValue: String; begin result := DataTable.Fields[idx_DireccionesContactoMOVIL].AsString; @@ -2885,6 +5596,17 @@ begin DataTable.Fields[idx_DireccionesContactoMOVIL].AsString := aValue; end; +function TDireccionesContactoDataTableRules.GetMOVILIsNull: boolean; +begin + result := DataTable.Fields[idx_DireccionesContactoMOVIL].IsNull; +end; + +procedure TDireccionesContactoDataTableRules.SetMOVILIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_DireccionesContactoMOVIL].AsVariant := Null; +end; + function TDireccionesContactoDataTableRules.GetFAXValue: String; begin result := DataTable.Fields[idx_DireccionesContactoFAX].AsString; @@ -2895,6 +5617,17 @@ begin DataTable.Fields[idx_DireccionesContactoFAX].AsString := aValue; end; +function TDireccionesContactoDataTableRules.GetFAXIsNull: boolean; +begin + result := DataTable.Fields[idx_DireccionesContactoFAX].IsNull; +end; + +procedure TDireccionesContactoDataTableRules.SetFAXIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_DireccionesContactoFAX].AsVariant := Null; +end; + function TDireccionesContactoDataTableRules.GetEMAILValue: String; begin result := DataTable.Fields[idx_DireccionesContactoEMAIL].AsString; @@ -2905,15 +5638,32 @@ begin DataTable.Fields[idx_DireccionesContactoEMAIL].AsString := aValue; end; +function TDireccionesContactoDataTableRules.GetEMAILIsNull: boolean; +begin + result := DataTable.Fields[idx_DireccionesContactoEMAIL].IsNull; +end; + +procedure TDireccionesContactoDataTableRules.SetEMAILIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_DireccionesContactoEMAIL].AsVariant := Null; +end; + function TDireccionesContactoDataTableRules.GetNOTASValue: IROStrings; begin - result := NewROStrings(); + result := f_NOTAS; result.Text := DataTable.Fields[idx_DireccionesContactoNOTAS].AsString; end; -procedure TDireccionesContactoDataTableRules.SetNOTASValue(const aValue: IROStrings); +function TDireccionesContactoDataTableRules.GetNOTASIsNull: boolean; begin - DataTable.Fields[idx_DireccionesContactoNOTAS].AsString := aValue.Text; + result := DataTable.Fields[idx_DireccionesContactoNOTAS].IsNull; +end; + +procedure TDireccionesContactoDataTableRules.SetNOTASIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_DireccionesContactoNOTAS].AsVariant := Null; end; function TDireccionesContactoDataTableRules.GetPORTEValue: Float; @@ -2926,6 +5676,59 @@ begin DataTable.Fields[idx_DireccionesContactoPORTE].AsFloat := aValue; end; +function TDireccionesContactoDataTableRules.GetPORTEIsNull: boolean; +begin + result := DataTable.Fields[idx_DireccionesContactoPORTE].IsNull; +end; + +procedure TDireccionesContactoDataTableRules.SetPORTEIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_DireccionesContactoPORTE].AsVariant := Null; +end; + +function TDireccionesContactoDataTableRules.GetFECHA_ALTAValue: DateTime; +begin + result := DataTable.Fields[idx_DireccionesContactoFECHA_ALTA].AsDateTime; +end; + +procedure TDireccionesContactoDataTableRules.SetFECHA_ALTAValue(const aValue: DateTime); +begin + DataTable.Fields[idx_DireccionesContactoFECHA_ALTA].AsDateTime := aValue; +end; + +function TDireccionesContactoDataTableRules.GetFECHA_ALTAIsNull: boolean; +begin + result := DataTable.Fields[idx_DireccionesContactoFECHA_ALTA].IsNull; +end; + +procedure TDireccionesContactoDataTableRules.SetFECHA_ALTAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_DireccionesContactoFECHA_ALTA].AsVariant := Null; +end; + +function TDireccionesContactoDataTableRules.GetFECHA_MODIFICACIONValue: DateTime; +begin + result := DataTable.Fields[idx_DireccionesContactoFECHA_MODIFICACION].AsDateTime; +end; + +procedure TDireccionesContactoDataTableRules.SetFECHA_MODIFICACIONValue(const aValue: DateTime); +begin + DataTable.Fields[idx_DireccionesContactoFECHA_MODIFICACION].AsDateTime := aValue; +end; + +function TDireccionesContactoDataTableRules.GetFECHA_MODIFICACIONIsNull: boolean; +begin + result := DataTable.Fields[idx_DireccionesContactoFECHA_MODIFICACION].IsNull; +end; + +procedure TDireccionesContactoDataTableRules.SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_DireccionesContactoFECHA_MODIFICACION].AsVariant := Null; +end; + { TClientesDescuentosDataTableRules } constructor TClientesDescuentosDataTableRules.Create(aDataTable: TDADataTable); @@ -2948,6 +5751,17 @@ begin DataTable.Fields[idx_ClientesDescuentosID].AsInteger := aValue; end; +function TClientesDescuentosDataTableRules.GetIDIsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesDescuentosID].IsNull; +end; + +procedure TClientesDescuentosDataTableRules.SetIDIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesDescuentosID].AsVariant := Null; +end; + function TClientesDescuentosDataTableRules.GetID_CLIENTEValue: Integer; begin result := DataTable.Fields[idx_ClientesDescuentosID_CLIENTE].AsInteger; @@ -2958,6 +5772,17 @@ begin DataTable.Fields[idx_ClientesDescuentosID_CLIENTE].AsInteger := aValue; end; +function TClientesDescuentosDataTableRules.GetID_CLIENTEIsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesDescuentosID_CLIENTE].IsNull; +end; + +procedure TClientesDescuentosDataTableRules.SetID_CLIENTEIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesDescuentosID_CLIENTE].AsVariant := Null; +end; + function TClientesDescuentosDataTableRules.GetID_PROVEEDORValue: Integer; begin result := DataTable.Fields[idx_ClientesDescuentosID_PROVEEDOR].AsInteger; @@ -2968,6 +5793,17 @@ begin DataTable.Fields[idx_ClientesDescuentosID_PROVEEDOR].AsInteger := aValue; end; +function TClientesDescuentosDataTableRules.GetID_PROVEEDORIsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesDescuentosID_PROVEEDOR].IsNull; +end; + +procedure TClientesDescuentosDataTableRules.SetID_PROVEEDORIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesDescuentosID_PROVEEDOR].AsVariant := Null; +end; + function TClientesDescuentosDataTableRules.GetNOMBREValue: String; begin result := DataTable.Fields[idx_ClientesDescuentosNOMBRE].AsString; @@ -2978,6 +5814,17 @@ begin DataTable.Fields[idx_ClientesDescuentosNOMBRE].AsString := aValue; end; +function TClientesDescuentosDataTableRules.GetNOMBREIsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesDescuentosNOMBRE].IsNull; +end; + +procedure TClientesDescuentosDataTableRules.SetNOMBREIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesDescuentosNOMBRE].AsVariant := Null; +end; + function TClientesDescuentosDataTableRules.GetDESCUENTOValue: Float; begin result := DataTable.Fields[idx_ClientesDescuentosDESCUENTO].AsFloat; @@ -2988,6 +5835,17 @@ begin DataTable.Fields[idx_ClientesDescuentosDESCUENTO].AsFloat := aValue; end; +function TClientesDescuentosDataTableRules.GetDESCUENTOIsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesDescuentosDESCUENTO].IsNull; +end; + +procedure TClientesDescuentosDataTableRules.SetDESCUENTOIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesDescuentosDESCUENTO].AsVariant := Null; +end; + { TGruposProveedorDataTableRules } constructor TGruposProveedorDataTableRules.Create(aDataTable: TDADataTable); @@ -3010,6 +5868,17 @@ begin DataTable.Fields[idx_GruposProveedorDESCRIPCION].AsString := aValue; end; +function TGruposProveedorDataTableRules.GetDESCRIPCIONIsNull: boolean; +begin + result := DataTable.Fields[idx_GruposProveedorDESCRIPCION].IsNull; +end; + +procedure TGruposProveedorDataTableRules.SetDESCRIPCIONIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_GruposProveedorDESCRIPCION].AsVariant := Null; +end; + { TGruposEmpleadoDataTableRules } constructor TGruposEmpleadoDataTableRules.Create(aDataTable: TDADataTable); @@ -3032,6 +5901,17 @@ begin DataTable.Fields[idx_GruposEmpleadoDESCRIPCION].AsString := aValue; end; +function TGruposEmpleadoDataTableRules.GetDESCRIPCIONIsNull: boolean; +begin + result := DataTable.Fields[idx_GruposEmpleadoDESCRIPCION].IsNull; +end; + +procedure TGruposEmpleadoDataTableRules.SetDESCRIPCIONIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_GruposEmpleadoDESCRIPCION].AsVariant := Null; +end; + initialization RegisterDataTableRules(RID_Contactos, TContactosDataTableRules); diff --git a/Source/Modulos/Contactos/Model/schContactosServer_Intf.pas b/Source/Modulos/Contactos/Model/schContactosServer_Intf.pas index bacbb9a3..182a36b8 100644 --- a/Source/Modulos/Contactos/Model/schContactosServer_Intf.pas +++ b/Source/Modulos/Contactos/Model/schContactosServer_Intf.pas @@ -3,28 +3,28 @@ unit schContactosServer_Intf; interface uses - Classes, DB, SysUtils, uROClasses, uDADataTable, uDABusinessProcessor, schContactosClient_Intf; + Classes, DB, SysUtils, uROClasses, uDADataTable, uDABusinessProcessor, FmtBCD, uROXMLIntf, schContactosClient_Intf; const { Delta rules ids Feel free to change them to something more human readable but make sure they are unique in the context of your application } - RID_ContactosDelta = '{AA1FED77-C1C8-4EA9-9B07-E74C63CBF307}'; - RID_GruposClienteDelta = '{4D46364E-1E11-4648-A9C7-AE4B81FB675C}'; - RID_DatosBancariosDelta = '{D4227F74-9431-45EA-8F09-20FFE80E34B1}'; - RID_ContactosCategoriasDelta = '{EB18171B-206D-4CFF-97FF-CB91350EAF4C}'; - RID_ClientesDelta = '{6C588001-84B7-4F1C-9C6B-84A254E1EA7D}'; - RID_ProveedoresDelta = '{168C19DE-0AD5-40CB-B737-628846E311FE}'; - RID_EmpleadosDelta = '{6544E069-D22D-49D4-AAFE-47DD92FA7744}'; - RID_DireccionesContactoDelta = '{D6123AD7-AA38-4AEF-9E89-E713C83A3DDC}'; - RID_ClientesDescuentosDelta = '{2E020115-E0E9-464F-B175-1BED0E2BF0B1}'; - RID_GruposProveedorDelta = '{14E46C85-BAAE-4A15-B868-EC579AF38A8A}'; - RID_GruposEmpleadoDelta = '{364591F3-D581-4104-9125-7CE465563DEB}'; + RID_ContactosDelta = '{90C4A2E6-1054-4D36-A741-6A1BF52A25E7}'; + RID_GruposClienteDelta = '{7A648188-AB7A-432A-ADFD-ADBBCB0BC3C0}'; + RID_DatosBancariosDelta = '{2C4BC767-58D4-4D18-82CE-BF0D84C34C3F}'; + RID_ContactosCategoriasDelta = '{B3364ABC-AD2A-4EBE-9779-3A7CDD2A5E30}'; + RID_ClientesDelta = '{13F6AC62-4F2D-44CB-8434-5A767E4B76F9}'; + RID_ProveedoresDelta = '{C4485AB1-1D9D-4D0D-92BB-EC12B5F0C442}'; + RID_EmpleadosDelta = '{03EED035-3B00-4EC5-ACB5-AB59BC7459A2}'; + RID_DireccionesContactoDelta = '{A9890AF4-313B-4379-B667-7C61575A5E7B}'; + RID_ClientesDescuentosDelta = '{541FF616-E3D7-4B21-8F45-4EC12B42AD92}'; + RID_GruposProveedorDelta = '{CF38615B-E679-4D09-A621-C90DFB4F4F10}'; + RID_GruposEmpleadoDelta = '{57335A1E-F228-4448-85E4-3CFAC72FFD63}'; type { IContactosDelta } IContactosDelta = interface(IContactos) - ['{AA1FED77-C1C8-4EA9-9B07-E74C63CBF307}'] + ['{90C4A2E6-1054-4D36-A741-6A1BF52A25E7}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_CATEGORIAValue : Integer; @@ -44,6 +44,8 @@ type function GetOldEMAIL_2Value : String; function GetOldPAGINA_WEBValue : String; function GetOldNOTASValue : IROStrings; + function GetOldFECHA_ALTAValue : DateTime; + function GetOldFECHA_MODIFICACIONValue : DateTime; function GetOldUSUARIOValue : String; function GetOldID_EMPRESAValue : Integer; function GetOldREFERENCIAValue : String; @@ -67,6 +69,8 @@ type property OldEMAIL_2 : String read GetOldEMAIL_2Value; property OldPAGINA_WEB : String read GetOldPAGINA_WEBValue; property OldNOTAS : IROStrings read GetOldNOTASValue; + property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue; + property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue; property OldUSUARIO : String read GetOldUSUARIOValue; property OldID_EMPRESA : Integer read GetOldID_EMPRESAValue; property OldREFERENCIA : String read GetOldREFERENCIAValue; @@ -75,115 +79,241 @@ type { TContactosBusinessProcessorRules } TContactosBusinessProcessorRules = class(TDABusinessProcessorRules, IContactos, IContactosDelta) private + f_NOTAS: IROStrings; + procedure NOTAS_OnChange(Sender: TObject); protected { Property getters and setters } function GetIDValue: Integer; virtual; + function GetIDIsNull: Boolean; virtual; function GetOldIDValue: Integer; virtual; + function GetOldIDIsNull: Boolean; virtual; procedure SetIDValue(const aValue: Integer); virtual; + procedure SetIDIsNull(const aValue: Boolean); virtual; function GetID_CATEGORIAValue: Integer; virtual; + function GetID_CATEGORIAIsNull: Boolean; virtual; function GetOldID_CATEGORIAValue: Integer; virtual; + function GetOldID_CATEGORIAIsNull: Boolean; virtual; procedure SetID_CATEGORIAValue(const aValue: Integer); virtual; + procedure SetID_CATEGORIAIsNull(const aValue: Boolean); virtual; function GetNIF_CIFValue: String; virtual; + function GetNIF_CIFIsNull: Boolean; virtual; function GetOldNIF_CIFValue: String; virtual; + function GetOldNIF_CIFIsNull: Boolean; virtual; procedure SetNIF_CIFValue(const aValue: String); virtual; + procedure SetNIF_CIFIsNull(const aValue: Boolean); virtual; function GetNOMBREValue: String; virtual; + function GetNOMBREIsNull: Boolean; virtual; function GetOldNOMBREValue: String; virtual; + function GetOldNOMBREIsNull: Boolean; virtual; procedure SetNOMBREValue(const aValue: String); virtual; + procedure SetNOMBREIsNull(const aValue: Boolean); virtual; function GetPERSONA_CONTACTOValue: String; virtual; + function GetPERSONA_CONTACTOIsNull: Boolean; virtual; function GetOldPERSONA_CONTACTOValue: String; virtual; + function GetOldPERSONA_CONTACTOIsNull: Boolean; virtual; procedure SetPERSONA_CONTACTOValue(const aValue: String); virtual; + procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean); virtual; function GetCALLEValue: String; virtual; + function GetCALLEIsNull: Boolean; virtual; function GetOldCALLEValue: String; virtual; + function GetOldCALLEIsNull: Boolean; virtual; procedure SetCALLEValue(const aValue: String); virtual; + procedure SetCALLEIsNull(const aValue: Boolean); virtual; function GetPOBLACIONValue: String; virtual; + function GetPOBLACIONIsNull: Boolean; virtual; function GetOldPOBLACIONValue: String; virtual; + function GetOldPOBLACIONIsNull: Boolean; virtual; procedure SetPOBLACIONValue(const aValue: String); virtual; + procedure SetPOBLACIONIsNull(const aValue: Boolean); virtual; function GetPROVINCIAValue: String; virtual; + function GetPROVINCIAIsNull: Boolean; virtual; function GetOldPROVINCIAValue: String; virtual; + function GetOldPROVINCIAIsNull: Boolean; virtual; procedure SetPROVINCIAValue(const aValue: String); virtual; + procedure SetPROVINCIAIsNull(const aValue: Boolean); virtual; function GetCODIGO_POSTALValue: String; virtual; + function GetCODIGO_POSTALIsNull: Boolean; virtual; function GetOldCODIGO_POSTALValue: String; virtual; + function GetOldCODIGO_POSTALIsNull: Boolean; virtual; procedure SetCODIGO_POSTALValue(const aValue: String); virtual; + procedure SetCODIGO_POSTALIsNull(const aValue: Boolean); virtual; function GetTELEFONO_1Value: String; virtual; + function GetTELEFONO_1IsNull: Boolean; virtual; function GetOldTELEFONO_1Value: String; virtual; + function GetOldTELEFONO_1IsNull: Boolean; virtual; procedure SetTELEFONO_1Value(const aValue: String); virtual; + procedure SetTELEFONO_1IsNull(const aValue: Boolean); virtual; function GetTELEFONO_2Value: String; virtual; + function GetTELEFONO_2IsNull: Boolean; virtual; function GetOldTELEFONO_2Value: String; virtual; + function GetOldTELEFONO_2IsNull: Boolean; virtual; procedure SetTELEFONO_2Value(const aValue: String); virtual; + procedure SetTELEFONO_2IsNull(const aValue: Boolean); virtual; function GetMOVIL_1Value: String; virtual; + function GetMOVIL_1IsNull: Boolean; virtual; function GetOldMOVIL_1Value: String; virtual; + function GetOldMOVIL_1IsNull: Boolean; virtual; procedure SetMOVIL_1Value(const aValue: String); virtual; + procedure SetMOVIL_1IsNull(const aValue: Boolean); virtual; function GetMOVIL_2Value: String; virtual; + function GetMOVIL_2IsNull: Boolean; virtual; function GetOldMOVIL_2Value: String; virtual; + function GetOldMOVIL_2IsNull: Boolean; virtual; procedure SetMOVIL_2Value(const aValue: String); virtual; + procedure SetMOVIL_2IsNull(const aValue: Boolean); virtual; function GetFAXValue: String; virtual; + function GetFAXIsNull: Boolean; virtual; function GetOldFAXValue: String; virtual; + function GetOldFAXIsNull: Boolean; virtual; procedure SetFAXValue(const aValue: String); virtual; + procedure SetFAXIsNull(const aValue: Boolean); virtual; function GetEMAIL_1Value: String; virtual; + function GetEMAIL_1IsNull: Boolean; virtual; function GetOldEMAIL_1Value: String; virtual; + function GetOldEMAIL_1IsNull: Boolean; virtual; procedure SetEMAIL_1Value(const aValue: String); virtual; + procedure SetEMAIL_1IsNull(const aValue: Boolean); virtual; function GetEMAIL_2Value: String; virtual; + function GetEMAIL_2IsNull: Boolean; virtual; function GetOldEMAIL_2Value: String; virtual; + function GetOldEMAIL_2IsNull: Boolean; virtual; procedure SetEMAIL_2Value(const aValue: String); virtual; + procedure SetEMAIL_2IsNull(const aValue: Boolean); virtual; function GetPAGINA_WEBValue: String; virtual; + function GetPAGINA_WEBIsNull: Boolean; virtual; function GetOldPAGINA_WEBValue: String; virtual; + function GetOldPAGINA_WEBIsNull: Boolean; virtual; procedure SetPAGINA_WEBValue(const aValue: String); virtual; + procedure SetPAGINA_WEBIsNull(const aValue: Boolean); virtual; function GetNOTASValue: IROStrings; virtual; + function GetNOTASIsNull: Boolean; virtual; function GetOldNOTASValue: IROStrings; virtual; - procedure SetNOTASValue(const aValue: IROStrings); virtual; + function GetOldNOTASIsNull: Boolean; virtual; + procedure SetNOTASIsNull(const aValue: Boolean); virtual; + function GetFECHA_ALTAValue: DateTime; virtual; + function GetFECHA_ALTAIsNull: Boolean; virtual; + function GetOldFECHA_ALTAValue: DateTime; virtual; + function GetOldFECHA_ALTAIsNull: Boolean; virtual; + procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual; + procedure SetFECHA_ALTAIsNull(const aValue: Boolean); virtual; + function GetFECHA_MODIFICACIONValue: DateTime; virtual; + function GetFECHA_MODIFICACIONIsNull: Boolean; virtual; + function GetOldFECHA_MODIFICACIONValue: DateTime; virtual; + function GetOldFECHA_MODIFICACIONIsNull: Boolean; virtual; + procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual; + procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); virtual; function GetUSUARIOValue: String; virtual; + function GetUSUARIOIsNull: Boolean; virtual; function GetOldUSUARIOValue: String; virtual; + function GetOldUSUARIOIsNull: Boolean; virtual; procedure SetUSUARIOValue(const aValue: String); virtual; + procedure SetUSUARIOIsNull(const aValue: Boolean); virtual; function GetID_EMPRESAValue: Integer; virtual; + function GetID_EMPRESAIsNull: Boolean; virtual; function GetOldID_EMPRESAValue: Integer; virtual; + function GetOldID_EMPRESAIsNull: Boolean; virtual; procedure SetID_EMPRESAValue(const aValue: Integer); virtual; + procedure SetID_EMPRESAIsNull(const aValue: Boolean); virtual; function GetREFERENCIAValue: String; virtual; + function GetREFERENCIAIsNull: Boolean; virtual; function GetOldREFERENCIAValue: String; virtual; + function GetOldREFERENCIAIsNull: Boolean; virtual; procedure SetREFERENCIAValue(const aValue: String); virtual; + procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual; { Properties } property ID : Integer read GetIDValue write SetIDValue; + property IDIsNull : Boolean read GetIDIsNull write SetIDIsNull; property OldID : Integer read GetOldIDValue; + property OldIDIsNull : Boolean read GetOldIDIsNull; property ID_CATEGORIA : Integer read GetID_CATEGORIAValue write SetID_CATEGORIAValue; + property ID_CATEGORIAIsNull : Boolean read GetID_CATEGORIAIsNull write SetID_CATEGORIAIsNull; property OldID_CATEGORIA : Integer read GetOldID_CATEGORIAValue; + property OldID_CATEGORIAIsNull : Boolean read GetOldID_CATEGORIAIsNull; property NIF_CIF : String read GetNIF_CIFValue write SetNIF_CIFValue; + property NIF_CIFIsNull : Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull; property OldNIF_CIF : String read GetOldNIF_CIFValue; + property OldNIF_CIFIsNull : Boolean read GetOldNIF_CIFIsNull; property NOMBRE : String read GetNOMBREValue write SetNOMBREValue; + property NOMBREIsNull : Boolean read GetNOMBREIsNull write SetNOMBREIsNull; property OldNOMBRE : String read GetOldNOMBREValue; + property OldNOMBREIsNull : Boolean read GetOldNOMBREIsNull; property PERSONA_CONTACTO : String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue; + property PERSONA_CONTACTOIsNull : Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull; property OldPERSONA_CONTACTO : String read GetOldPERSONA_CONTACTOValue; + property OldPERSONA_CONTACTOIsNull : Boolean read GetOldPERSONA_CONTACTOIsNull; property CALLE : String read GetCALLEValue write SetCALLEValue; + property CALLEIsNull : Boolean read GetCALLEIsNull write SetCALLEIsNull; property OldCALLE : String read GetOldCALLEValue; + property OldCALLEIsNull : Boolean read GetOldCALLEIsNull; property POBLACION : String read GetPOBLACIONValue write SetPOBLACIONValue; + property POBLACIONIsNull : Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull; property OldPOBLACION : String read GetOldPOBLACIONValue; + property OldPOBLACIONIsNull : Boolean read GetOldPOBLACIONIsNull; property PROVINCIA : String read GetPROVINCIAValue write SetPROVINCIAValue; + property PROVINCIAIsNull : Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull; property OldPROVINCIA : String read GetOldPROVINCIAValue; + property OldPROVINCIAIsNull : Boolean read GetOldPROVINCIAIsNull; property CODIGO_POSTAL : String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue; + property CODIGO_POSTALIsNull : Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull; property OldCODIGO_POSTAL : String read GetOldCODIGO_POSTALValue; + property OldCODIGO_POSTALIsNull : Boolean read GetOldCODIGO_POSTALIsNull; property TELEFONO_1 : String read GetTELEFONO_1Value write SetTELEFONO_1Value; + property TELEFONO_1IsNull : Boolean read GetTELEFONO_1IsNull write SetTELEFONO_1IsNull; property OldTELEFONO_1 : String read GetOldTELEFONO_1Value; + property OldTELEFONO_1IsNull : Boolean read GetOldTELEFONO_1IsNull; property TELEFONO_2 : String read GetTELEFONO_2Value write SetTELEFONO_2Value; + property TELEFONO_2IsNull : Boolean read GetTELEFONO_2IsNull write SetTELEFONO_2IsNull; property OldTELEFONO_2 : String read GetOldTELEFONO_2Value; + property OldTELEFONO_2IsNull : Boolean read GetOldTELEFONO_2IsNull; property MOVIL_1 : String read GetMOVIL_1Value write SetMOVIL_1Value; + property MOVIL_1IsNull : Boolean read GetMOVIL_1IsNull write SetMOVIL_1IsNull; property OldMOVIL_1 : String read GetOldMOVIL_1Value; + property OldMOVIL_1IsNull : Boolean read GetOldMOVIL_1IsNull; property MOVIL_2 : String read GetMOVIL_2Value write SetMOVIL_2Value; + property MOVIL_2IsNull : Boolean read GetMOVIL_2IsNull write SetMOVIL_2IsNull; property OldMOVIL_2 : String read GetOldMOVIL_2Value; + property OldMOVIL_2IsNull : Boolean read GetOldMOVIL_2IsNull; property FAX : String read GetFAXValue write SetFAXValue; + property FAXIsNull : Boolean read GetFAXIsNull write SetFAXIsNull; property OldFAX : String read GetOldFAXValue; + property OldFAXIsNull : Boolean read GetOldFAXIsNull; property EMAIL_1 : String read GetEMAIL_1Value write SetEMAIL_1Value; + property EMAIL_1IsNull : Boolean read GetEMAIL_1IsNull write SetEMAIL_1IsNull; property OldEMAIL_1 : String read GetOldEMAIL_1Value; + property OldEMAIL_1IsNull : Boolean read GetOldEMAIL_1IsNull; property EMAIL_2 : String read GetEMAIL_2Value write SetEMAIL_2Value; + property EMAIL_2IsNull : Boolean read GetEMAIL_2IsNull write SetEMAIL_2IsNull; property OldEMAIL_2 : String read GetOldEMAIL_2Value; + property OldEMAIL_2IsNull : Boolean read GetOldEMAIL_2IsNull; property PAGINA_WEB : String read GetPAGINA_WEBValue write SetPAGINA_WEBValue; + property PAGINA_WEBIsNull : Boolean read GetPAGINA_WEBIsNull write SetPAGINA_WEBIsNull; property OldPAGINA_WEB : String read GetOldPAGINA_WEBValue; - property NOTAS : IROStrings read GetNOTASValue write SetNOTASValue; + property OldPAGINA_WEBIsNull : Boolean read GetOldPAGINA_WEBIsNull; + property NOTAS : IROStrings read GetNOTASValue; + property NOTASIsNull : Boolean read GetNOTASIsNull write SetNOTASIsNull; property OldNOTAS : IROStrings read GetOldNOTASValue; + property OldNOTASIsNull : Boolean read GetOldNOTASIsNull; + property FECHA_ALTA : DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue; + property FECHA_ALTAIsNull : Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull; + property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue; + property OldFECHA_ALTAIsNull : Boolean read GetOldFECHA_ALTAIsNull; + property FECHA_MODIFICACION : DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue; + property FECHA_MODIFICACIONIsNull : Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull; + property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue; + property OldFECHA_MODIFICACIONIsNull : Boolean read GetOldFECHA_MODIFICACIONIsNull; property USUARIO : String read GetUSUARIOValue write SetUSUARIOValue; + property USUARIOIsNull : Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull; property OldUSUARIO : String read GetOldUSUARIOValue; + property OldUSUARIOIsNull : Boolean read GetOldUSUARIOIsNull; property ID_EMPRESA : Integer read GetID_EMPRESAValue write SetID_EMPRESAValue; + property ID_EMPRESAIsNull : Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull; property OldID_EMPRESA : Integer read GetOldID_EMPRESAValue; + property OldID_EMPRESAIsNull : Boolean read GetOldID_EMPRESAIsNull; property REFERENCIA : String read GetREFERENCIAValue write SetREFERENCIAValue; + property REFERENCIAIsNull : Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull; property OldREFERENCIA : String read GetOldREFERENCIAValue; + property OldREFERENCIAIsNull : Boolean read GetOldREFERENCIAIsNull; public constructor Create(aBusinessProcessor: TDABusinessProcessor); override; @@ -193,7 +323,7 @@ type { IGruposClienteDelta } IGruposClienteDelta = interface(IGruposCliente) - ['{4D46364E-1E11-4648-A9C7-AE4B81FB675C}'] + ['{7A648188-AB7A-432A-ADFD-ADBBCB0BC3C0}'] { Property getters and setters } function GetOldDESCRIPCIONValue : String; @@ -207,12 +337,17 @@ type protected { Property getters and setters } function GetDESCRIPCIONValue: String; virtual; + function GetDESCRIPCIONIsNull: Boolean; virtual; function GetOldDESCRIPCIONValue: String; virtual; + function GetOldDESCRIPCIONIsNull: Boolean; virtual; procedure SetDESCRIPCIONValue(const aValue: String); virtual; + procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual; { Properties } property DESCRIPCION : String read GetDESCRIPCIONValue write SetDESCRIPCIONValue; + property DESCRIPCIONIsNull : Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull; property OldDESCRIPCION : String read GetOldDESCRIPCIONValue; + property OldDESCRIPCIONIsNull : Boolean read GetOldDESCRIPCIONIsNull; public constructor Create(aBusinessProcessor: TDABusinessProcessor); override; @@ -222,7 +357,7 @@ type { IDatosBancariosDelta } IDatosBancariosDelta = interface(IDatosBancarios) - ['{D4227F74-9431-45EA-8F09-20FFE80E34B1}'] + ['{2C4BC767-58D4-4D18-82CE-BF0D84C34C3F}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_CONTACTOValue : Integer; @@ -231,6 +366,8 @@ type function GetOldSUCURSALValue : String; function GetOldDCValue : String; function GetOldCUENTAValue : String; + function GetOldFECHA_ALTAValue : DateTime; + function GetOldFECHA_MODIFICACIONValue : DateTime; { Properties } property OldID : Integer read GetOldIDValue; @@ -240,6 +377,8 @@ type property OldSUCURSAL : String read GetOldSUCURSALValue; property OldDC : String read GetOldDCValue; property OldCUENTA : String read GetOldCUENTAValue; + property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue; + property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue; end; { TDatosBancariosBusinessProcessorRules } @@ -248,42 +387,97 @@ type protected { Property getters and setters } function GetIDValue: Integer; virtual; + function GetIDIsNull: Boolean; virtual; function GetOldIDValue: Integer; virtual; + function GetOldIDIsNull: Boolean; virtual; procedure SetIDValue(const aValue: Integer); virtual; + procedure SetIDIsNull(const aValue: Boolean); virtual; function GetID_CONTACTOValue: Integer; virtual; + function GetID_CONTACTOIsNull: Boolean; virtual; function GetOldID_CONTACTOValue: Integer; virtual; + function GetOldID_CONTACTOIsNull: Boolean; virtual; procedure SetID_CONTACTOValue(const aValue: Integer); virtual; + procedure SetID_CONTACTOIsNull(const aValue: Boolean); virtual; function GetTITULARValue: String; virtual; + function GetTITULARIsNull: Boolean; virtual; function GetOldTITULARValue: String; virtual; + function GetOldTITULARIsNull: Boolean; virtual; procedure SetTITULARValue(const aValue: String); virtual; + procedure SetTITULARIsNull(const aValue: Boolean); virtual; function GetENTIDADValue: String; virtual; + function GetENTIDADIsNull: Boolean; virtual; function GetOldENTIDADValue: String; virtual; + function GetOldENTIDADIsNull: Boolean; virtual; procedure SetENTIDADValue(const aValue: String); virtual; + procedure SetENTIDADIsNull(const aValue: Boolean); virtual; function GetSUCURSALValue: String; virtual; + function GetSUCURSALIsNull: Boolean; virtual; function GetOldSUCURSALValue: String; virtual; + function GetOldSUCURSALIsNull: Boolean; virtual; procedure SetSUCURSALValue(const aValue: String); virtual; + procedure SetSUCURSALIsNull(const aValue: Boolean); virtual; function GetDCValue: String; virtual; + function GetDCIsNull: Boolean; virtual; function GetOldDCValue: String; virtual; + function GetOldDCIsNull: Boolean; virtual; procedure SetDCValue(const aValue: String); virtual; + procedure SetDCIsNull(const aValue: Boolean); virtual; function GetCUENTAValue: String; virtual; + function GetCUENTAIsNull: Boolean; virtual; function GetOldCUENTAValue: String; virtual; + function GetOldCUENTAIsNull: Boolean; virtual; procedure SetCUENTAValue(const aValue: String); virtual; + procedure SetCUENTAIsNull(const aValue: Boolean); virtual; + function GetFECHA_ALTAValue: DateTime; virtual; + function GetFECHA_ALTAIsNull: Boolean; virtual; + function GetOldFECHA_ALTAValue: DateTime; virtual; + function GetOldFECHA_ALTAIsNull: Boolean; virtual; + procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual; + procedure SetFECHA_ALTAIsNull(const aValue: Boolean); virtual; + function GetFECHA_MODIFICACIONValue: DateTime; virtual; + function GetFECHA_MODIFICACIONIsNull: Boolean; virtual; + function GetOldFECHA_MODIFICACIONValue: DateTime; virtual; + function GetOldFECHA_MODIFICACIONIsNull: Boolean; virtual; + procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual; + procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); virtual; { Properties } property ID : Integer read GetIDValue write SetIDValue; + property IDIsNull : Boolean read GetIDIsNull write SetIDIsNull; property OldID : Integer read GetOldIDValue; + property OldIDIsNull : Boolean read GetOldIDIsNull; property ID_CONTACTO : Integer read GetID_CONTACTOValue write SetID_CONTACTOValue; + property ID_CONTACTOIsNull : Boolean read GetID_CONTACTOIsNull write SetID_CONTACTOIsNull; property OldID_CONTACTO : Integer read GetOldID_CONTACTOValue; + property OldID_CONTACTOIsNull : Boolean read GetOldID_CONTACTOIsNull; property TITULAR : String read GetTITULARValue write SetTITULARValue; + property TITULARIsNull : Boolean read GetTITULARIsNull write SetTITULARIsNull; property OldTITULAR : String read GetOldTITULARValue; + property OldTITULARIsNull : Boolean read GetOldTITULARIsNull; property ENTIDAD : String read GetENTIDADValue write SetENTIDADValue; + property ENTIDADIsNull : Boolean read GetENTIDADIsNull write SetENTIDADIsNull; property OldENTIDAD : String read GetOldENTIDADValue; + property OldENTIDADIsNull : Boolean read GetOldENTIDADIsNull; property SUCURSAL : String read GetSUCURSALValue write SetSUCURSALValue; + property SUCURSALIsNull : Boolean read GetSUCURSALIsNull write SetSUCURSALIsNull; property OldSUCURSAL : String read GetOldSUCURSALValue; + property OldSUCURSALIsNull : Boolean read GetOldSUCURSALIsNull; property DC : String read GetDCValue write SetDCValue; + property DCIsNull : Boolean read GetDCIsNull write SetDCIsNull; property OldDC : String read GetOldDCValue; + property OldDCIsNull : Boolean read GetOldDCIsNull; property CUENTA : String read GetCUENTAValue write SetCUENTAValue; + property CUENTAIsNull : Boolean read GetCUENTAIsNull write SetCUENTAIsNull; property OldCUENTA : String read GetOldCUENTAValue; + property OldCUENTAIsNull : Boolean read GetOldCUENTAIsNull; + property FECHA_ALTA : DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue; + property FECHA_ALTAIsNull : Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull; + property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue; + property OldFECHA_ALTAIsNull : Boolean read GetOldFECHA_ALTAIsNull; + property FECHA_MODIFICACION : DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue; + property FECHA_MODIFICACIONIsNull : Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull; + property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue; + property OldFECHA_MODIFICACIONIsNull : Boolean read GetOldFECHA_MODIFICACIONIsNull; public constructor Create(aBusinessProcessor: TDABusinessProcessor); override; @@ -293,7 +487,7 @@ type { IContactosCategoriasDelta } IContactosCategoriasDelta = interface(IContactosCategorias) - ['{EB18171B-206D-4CFF-97FF-CB91350EAF4C}'] + ['{B3364ABC-AD2A-4EBE-9779-3A7CDD2A5E30}'] { Property getters and setters } function GetOldID_CONTACTOValue : Integer; function GetOldID_CATEGORIAValue : Integer; @@ -309,17 +503,27 @@ type protected { Property getters and setters } function GetID_CONTACTOValue: Integer; virtual; + function GetID_CONTACTOIsNull: Boolean; virtual; function GetOldID_CONTACTOValue: Integer; virtual; + function GetOldID_CONTACTOIsNull: Boolean; virtual; procedure SetID_CONTACTOValue(const aValue: Integer); virtual; + procedure SetID_CONTACTOIsNull(const aValue: Boolean); virtual; function GetID_CATEGORIAValue: Integer; virtual; + function GetID_CATEGORIAIsNull: Boolean; virtual; function GetOldID_CATEGORIAValue: Integer; virtual; + function GetOldID_CATEGORIAIsNull: Boolean; virtual; procedure SetID_CATEGORIAValue(const aValue: Integer); virtual; + procedure SetID_CATEGORIAIsNull(const aValue: Boolean); virtual; { Properties } property ID_CONTACTO : Integer read GetID_CONTACTOValue write SetID_CONTACTOValue; + property ID_CONTACTOIsNull : Boolean read GetID_CONTACTOIsNull write SetID_CONTACTOIsNull; property OldID_CONTACTO : Integer read GetOldID_CONTACTOValue; + property OldID_CONTACTOIsNull : Boolean read GetOldID_CONTACTOIsNull; property ID_CATEGORIA : Integer read GetID_CATEGORIAValue write SetID_CATEGORIAValue; + property ID_CATEGORIAIsNull : Boolean read GetID_CATEGORIAIsNull write SetID_CATEGORIAIsNull; property OldID_CATEGORIA : Integer read GetOldID_CATEGORIAValue; + property OldID_CATEGORIAIsNull : Boolean read GetOldID_CATEGORIAIsNull; public constructor Create(aBusinessProcessor: TDABusinessProcessor); override; @@ -329,14 +533,14 @@ type { IClientesDelta } IClientesDelta = interface(IClientes) - ['{6C588001-84B7-4F1C-9C6B-84A254E1EA7D}'] + ['{13F6AC62-4F2D-44CB-8434-5A767E4B76F9}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_CATEGORIAValue : Integer; function GetOldNIF_CIFValue : String; function GetOldNOMBREValue : String; - function GetOldCALLEValue : String; function GetOldPERSONA_CONTACTOValue : String; + function GetOldCALLEValue : String; function GetOldPOBLACIONValue : String; function GetOldPROVINCIAValue : String; function GetOldCODIGO_POSTALValue : String; @@ -349,27 +553,29 @@ type function GetOldEMAIL_2Value : String; function GetOldPAGINA_WEBValue : String; function GetOldNOTASValue : IROStrings; + function GetOldFECHA_ALTAValue : DateTime; + function GetOldFECHA_MODIFICACIONValue : DateTime; function GetOldUSUARIOValue : String; function GetOldID_EMPRESAValue : Integer; function GetOldREFERENCIAValue : String; - function GetOldID_TIPO_IVAValue : Integer; - function GetOldREGIMEN_IVAValue : String; - function GetOldID_FORMA_PAGOValue : Integer; - function GetOldTIENDA_WEBValue : Integer; - function GetOldRECARGO_EQUIVALENCIAValue : Integer; function GetOldGRUPO_CLIENTEValue : String; function GetOldNOMBRE_COMERCIALValue : String; function GetOldVENCIMIENTO_FACTURASValue : Integer; - function GetOldBLOQUEADOValue : Integer; + function GetOldBLOQUEADOValue : SmallInt; + function GetOldREGIMEN_IVAValue : String; function GetOldMOTIVO_BLOQUEOValue : String; + function GetOldRECARGO_EQUIVALENCIAValue : Integer; + function GetOldID_TIPO_IVAValue : Integer; + function GetOldID_FORMA_PAGOValue : Integer; + function GetOldTIENDA_WEBValue : SmallInt; { Properties } property OldID : Integer read GetOldIDValue; property OldID_CATEGORIA : Integer read GetOldID_CATEGORIAValue; property OldNIF_CIF : String read GetOldNIF_CIFValue; property OldNOMBRE : String read GetOldNOMBREValue; - property OldCALLE : String read GetOldCALLEValue; property OldPERSONA_CONTACTO : String read GetOldPERSONA_CONTACTOValue; + property OldCALLE : String read GetOldCALLEValue; property OldPOBLACION : String read GetOldPOBLACIONValue; property OldPROVINCIA : String read GetOldPROVINCIAValue; property OldCODIGO_POSTAL : String read GetOldCODIGO_POSTALValue; @@ -382,183 +588,361 @@ type property OldEMAIL_2 : String read GetOldEMAIL_2Value; property OldPAGINA_WEB : String read GetOldPAGINA_WEBValue; property OldNOTAS : IROStrings read GetOldNOTASValue; + property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue; + property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue; property OldUSUARIO : String read GetOldUSUARIOValue; property OldID_EMPRESA : Integer read GetOldID_EMPRESAValue; property OldREFERENCIA : String read GetOldREFERENCIAValue; - property OldID_TIPO_IVA : Integer read GetOldID_TIPO_IVAValue; - property OldREGIMEN_IVA : String read GetOldREGIMEN_IVAValue; - property OldID_FORMA_PAGO : Integer read GetOldID_FORMA_PAGOValue; - property OldTIENDA_WEB : Integer read GetOldTIENDA_WEBValue; - property OldRECARGO_EQUIVALENCIA : Integer read GetOldRECARGO_EQUIVALENCIAValue; property OldGRUPO_CLIENTE : String read GetOldGRUPO_CLIENTEValue; property OldNOMBRE_COMERCIAL : String read GetOldNOMBRE_COMERCIALValue; property OldVENCIMIENTO_FACTURAS : Integer read GetOldVENCIMIENTO_FACTURASValue; - property OldBLOQUEADO : Integer read GetOldBLOQUEADOValue; + property OldBLOQUEADO : SmallInt read GetOldBLOQUEADOValue; + property OldREGIMEN_IVA : String read GetOldREGIMEN_IVAValue; property OldMOTIVO_BLOQUEO : String read GetOldMOTIVO_BLOQUEOValue; + property OldRECARGO_EQUIVALENCIA : Integer read GetOldRECARGO_EQUIVALENCIAValue; + property OldID_TIPO_IVA : Integer read GetOldID_TIPO_IVAValue; + property OldID_FORMA_PAGO : Integer read GetOldID_FORMA_PAGOValue; + property OldTIENDA_WEB : SmallInt read GetOldTIENDA_WEBValue; end; { TClientesBusinessProcessorRules } TClientesBusinessProcessorRules = class(TDABusinessProcessorRules, IClientes, IClientesDelta) private + f_NOTAS: IROStrings; + procedure NOTAS_OnChange(Sender: TObject); protected { Property getters and setters } function GetIDValue: Integer; virtual; + function GetIDIsNull: Boolean; virtual; function GetOldIDValue: Integer; virtual; + function GetOldIDIsNull: Boolean; virtual; procedure SetIDValue(const aValue: Integer); virtual; + procedure SetIDIsNull(const aValue: Boolean); virtual; function GetID_CATEGORIAValue: Integer; virtual; + function GetID_CATEGORIAIsNull: Boolean; virtual; function GetOldID_CATEGORIAValue: Integer; virtual; + function GetOldID_CATEGORIAIsNull: Boolean; virtual; procedure SetID_CATEGORIAValue(const aValue: Integer); virtual; + procedure SetID_CATEGORIAIsNull(const aValue: Boolean); virtual; function GetNIF_CIFValue: String; virtual; + function GetNIF_CIFIsNull: Boolean; virtual; function GetOldNIF_CIFValue: String; virtual; + function GetOldNIF_CIFIsNull: Boolean; virtual; procedure SetNIF_CIFValue(const aValue: String); virtual; + procedure SetNIF_CIFIsNull(const aValue: Boolean); virtual; function GetNOMBREValue: String; virtual; + function GetNOMBREIsNull: Boolean; virtual; function GetOldNOMBREValue: String; virtual; + function GetOldNOMBREIsNull: Boolean; virtual; procedure SetNOMBREValue(const aValue: String); virtual; - function GetCALLEValue: String; virtual; - function GetOldCALLEValue: String; virtual; - procedure SetCALLEValue(const aValue: String); virtual; + procedure SetNOMBREIsNull(const aValue: Boolean); virtual; function GetPERSONA_CONTACTOValue: String; virtual; + function GetPERSONA_CONTACTOIsNull: Boolean; virtual; function GetOldPERSONA_CONTACTOValue: String; virtual; + function GetOldPERSONA_CONTACTOIsNull: Boolean; virtual; procedure SetPERSONA_CONTACTOValue(const aValue: String); virtual; + procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean); virtual; + function GetCALLEValue: String; virtual; + function GetCALLEIsNull: Boolean; virtual; + function GetOldCALLEValue: String; virtual; + function GetOldCALLEIsNull: Boolean; virtual; + procedure SetCALLEValue(const aValue: String); virtual; + procedure SetCALLEIsNull(const aValue: Boolean); virtual; function GetPOBLACIONValue: String; virtual; + function GetPOBLACIONIsNull: Boolean; virtual; function GetOldPOBLACIONValue: String; virtual; + function GetOldPOBLACIONIsNull: Boolean; virtual; procedure SetPOBLACIONValue(const aValue: String); virtual; + procedure SetPOBLACIONIsNull(const aValue: Boolean); virtual; function GetPROVINCIAValue: String; virtual; + function GetPROVINCIAIsNull: Boolean; virtual; function GetOldPROVINCIAValue: String; virtual; + function GetOldPROVINCIAIsNull: Boolean; virtual; procedure SetPROVINCIAValue(const aValue: String); virtual; + procedure SetPROVINCIAIsNull(const aValue: Boolean); virtual; function GetCODIGO_POSTALValue: String; virtual; + function GetCODIGO_POSTALIsNull: Boolean; virtual; function GetOldCODIGO_POSTALValue: String; virtual; + function GetOldCODIGO_POSTALIsNull: Boolean; virtual; procedure SetCODIGO_POSTALValue(const aValue: String); virtual; + procedure SetCODIGO_POSTALIsNull(const aValue: Boolean); virtual; function GetTELEFONO_1Value: String; virtual; + function GetTELEFONO_1IsNull: Boolean; virtual; function GetOldTELEFONO_1Value: String; virtual; + function GetOldTELEFONO_1IsNull: Boolean; virtual; procedure SetTELEFONO_1Value(const aValue: String); virtual; + procedure SetTELEFONO_1IsNull(const aValue: Boolean); virtual; function GetTELEFONO_2Value: String; virtual; + function GetTELEFONO_2IsNull: Boolean; virtual; function GetOldTELEFONO_2Value: String; virtual; + function GetOldTELEFONO_2IsNull: Boolean; virtual; procedure SetTELEFONO_2Value(const aValue: String); virtual; + procedure SetTELEFONO_2IsNull(const aValue: Boolean); virtual; function GetMOVIL_1Value: String; virtual; + function GetMOVIL_1IsNull: Boolean; virtual; function GetOldMOVIL_1Value: String; virtual; + function GetOldMOVIL_1IsNull: Boolean; virtual; procedure SetMOVIL_1Value(const aValue: String); virtual; + procedure SetMOVIL_1IsNull(const aValue: Boolean); virtual; function GetMOVIL_2Value: String; virtual; + function GetMOVIL_2IsNull: Boolean; virtual; function GetOldMOVIL_2Value: String; virtual; + function GetOldMOVIL_2IsNull: Boolean; virtual; procedure SetMOVIL_2Value(const aValue: String); virtual; + procedure SetMOVIL_2IsNull(const aValue: Boolean); virtual; function GetFAXValue: String; virtual; + function GetFAXIsNull: Boolean; virtual; function GetOldFAXValue: String; virtual; + function GetOldFAXIsNull: Boolean; virtual; procedure SetFAXValue(const aValue: String); virtual; + procedure SetFAXIsNull(const aValue: Boolean); virtual; function GetEMAIL_1Value: String; virtual; + function GetEMAIL_1IsNull: Boolean; virtual; function GetOldEMAIL_1Value: String; virtual; + function GetOldEMAIL_1IsNull: Boolean; virtual; procedure SetEMAIL_1Value(const aValue: String); virtual; + procedure SetEMAIL_1IsNull(const aValue: Boolean); virtual; function GetEMAIL_2Value: String; virtual; + function GetEMAIL_2IsNull: Boolean; virtual; function GetOldEMAIL_2Value: String; virtual; + function GetOldEMAIL_2IsNull: Boolean; virtual; procedure SetEMAIL_2Value(const aValue: String); virtual; + procedure SetEMAIL_2IsNull(const aValue: Boolean); virtual; function GetPAGINA_WEBValue: String; virtual; + function GetPAGINA_WEBIsNull: Boolean; virtual; function GetOldPAGINA_WEBValue: String; virtual; + function GetOldPAGINA_WEBIsNull: Boolean; virtual; procedure SetPAGINA_WEBValue(const aValue: String); virtual; + procedure SetPAGINA_WEBIsNull(const aValue: Boolean); virtual; function GetNOTASValue: IROStrings; virtual; + function GetNOTASIsNull: Boolean; virtual; function GetOldNOTASValue: IROStrings; virtual; - procedure SetNOTASValue(const aValue: IROStrings); virtual; + function GetOldNOTASIsNull: Boolean; virtual; + procedure SetNOTASIsNull(const aValue: Boolean); virtual; + function GetFECHA_ALTAValue: DateTime; virtual; + function GetFECHA_ALTAIsNull: Boolean; virtual; + function GetOldFECHA_ALTAValue: DateTime; virtual; + function GetOldFECHA_ALTAIsNull: Boolean; virtual; + procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual; + procedure SetFECHA_ALTAIsNull(const aValue: Boolean); virtual; + function GetFECHA_MODIFICACIONValue: DateTime; virtual; + function GetFECHA_MODIFICACIONIsNull: Boolean; virtual; + function GetOldFECHA_MODIFICACIONValue: DateTime; virtual; + function GetOldFECHA_MODIFICACIONIsNull: Boolean; virtual; + procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual; + procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); virtual; function GetUSUARIOValue: String; virtual; + function GetUSUARIOIsNull: Boolean; virtual; function GetOldUSUARIOValue: String; virtual; + function GetOldUSUARIOIsNull: Boolean; virtual; procedure SetUSUARIOValue(const aValue: String); virtual; + procedure SetUSUARIOIsNull(const aValue: Boolean); virtual; function GetID_EMPRESAValue: Integer; virtual; + function GetID_EMPRESAIsNull: Boolean; virtual; function GetOldID_EMPRESAValue: Integer; virtual; + function GetOldID_EMPRESAIsNull: Boolean; virtual; procedure SetID_EMPRESAValue(const aValue: Integer); virtual; + procedure SetID_EMPRESAIsNull(const aValue: Boolean); virtual; function GetREFERENCIAValue: String; virtual; + function GetREFERENCIAIsNull: Boolean; virtual; function GetOldREFERENCIAValue: String; virtual; + function GetOldREFERENCIAIsNull: Boolean; virtual; procedure SetREFERENCIAValue(const aValue: String); virtual; - function GetID_TIPO_IVAValue: Integer; virtual; - function GetOldID_TIPO_IVAValue: Integer; virtual; - procedure SetID_TIPO_IVAValue(const aValue: Integer); virtual; - function GetREGIMEN_IVAValue: String; virtual; - function GetOldREGIMEN_IVAValue: String; virtual; - procedure SetREGIMEN_IVAValue(const aValue: String); virtual; - function GetID_FORMA_PAGOValue: Integer; virtual; - function GetOldID_FORMA_PAGOValue: Integer; virtual; - procedure SetID_FORMA_PAGOValue(const aValue: Integer); virtual; - function GetTIENDA_WEBValue: Integer; virtual; - function GetOldTIENDA_WEBValue: Integer; virtual; - procedure SetTIENDA_WEBValue(const aValue: Integer); virtual; - function GetRECARGO_EQUIVALENCIAValue: Integer; virtual; - function GetOldRECARGO_EQUIVALENCIAValue: Integer; virtual; - procedure SetRECARGO_EQUIVALENCIAValue(const aValue: Integer); virtual; + procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual; function GetGRUPO_CLIENTEValue: String; virtual; + function GetGRUPO_CLIENTEIsNull: Boolean; virtual; function GetOldGRUPO_CLIENTEValue: String; virtual; + function GetOldGRUPO_CLIENTEIsNull: Boolean; virtual; procedure SetGRUPO_CLIENTEValue(const aValue: String); virtual; + procedure SetGRUPO_CLIENTEIsNull(const aValue: Boolean); virtual; function GetNOMBRE_COMERCIALValue: String; virtual; + function GetNOMBRE_COMERCIALIsNull: Boolean; virtual; function GetOldNOMBRE_COMERCIALValue: String; virtual; + function GetOldNOMBRE_COMERCIALIsNull: Boolean; virtual; procedure SetNOMBRE_COMERCIALValue(const aValue: String); virtual; + procedure SetNOMBRE_COMERCIALIsNull(const aValue: Boolean); virtual; function GetVENCIMIENTO_FACTURASValue: Integer; virtual; + function GetVENCIMIENTO_FACTURASIsNull: Boolean; virtual; function GetOldVENCIMIENTO_FACTURASValue: Integer; virtual; + function GetOldVENCIMIENTO_FACTURASIsNull: Boolean; virtual; procedure SetVENCIMIENTO_FACTURASValue(const aValue: Integer); virtual; - function GetBLOQUEADOValue: Integer; virtual; - function GetOldBLOQUEADOValue: Integer; virtual; - procedure SetBLOQUEADOValue(const aValue: Integer); virtual; + procedure SetVENCIMIENTO_FACTURASIsNull(const aValue: Boolean); virtual; + function GetBLOQUEADOValue: SmallInt; virtual; + function GetBLOQUEADOIsNull: Boolean; virtual; + function GetOldBLOQUEADOValue: SmallInt; virtual; + function GetOldBLOQUEADOIsNull: Boolean; virtual; + procedure SetBLOQUEADOValue(const aValue: SmallInt); virtual; + procedure SetBLOQUEADOIsNull(const aValue: Boolean); virtual; + function GetREGIMEN_IVAValue: String; virtual; + function GetREGIMEN_IVAIsNull: Boolean; virtual; + function GetOldREGIMEN_IVAValue: String; virtual; + function GetOldREGIMEN_IVAIsNull: Boolean; virtual; + procedure SetREGIMEN_IVAValue(const aValue: String); virtual; + procedure SetREGIMEN_IVAIsNull(const aValue: Boolean); virtual; function GetMOTIVO_BLOQUEOValue: String; virtual; + function GetMOTIVO_BLOQUEOIsNull: Boolean; virtual; function GetOldMOTIVO_BLOQUEOValue: String; virtual; + function GetOldMOTIVO_BLOQUEOIsNull: Boolean; virtual; procedure SetMOTIVO_BLOQUEOValue(const aValue: String); virtual; + procedure SetMOTIVO_BLOQUEOIsNull(const aValue: Boolean); virtual; + function GetRECARGO_EQUIVALENCIAValue: Integer; virtual; + function GetRECARGO_EQUIVALENCIAIsNull: Boolean; virtual; + function GetOldRECARGO_EQUIVALENCIAValue: Integer; virtual; + function GetOldRECARGO_EQUIVALENCIAIsNull: Boolean; virtual; + procedure SetRECARGO_EQUIVALENCIAValue(const aValue: Integer); virtual; + procedure SetRECARGO_EQUIVALENCIAIsNull(const aValue: Boolean); virtual; + function GetID_TIPO_IVAValue: Integer; virtual; + function GetID_TIPO_IVAIsNull: Boolean; virtual; + function GetOldID_TIPO_IVAValue: Integer; virtual; + function GetOldID_TIPO_IVAIsNull: Boolean; virtual; + procedure SetID_TIPO_IVAValue(const aValue: Integer); virtual; + procedure SetID_TIPO_IVAIsNull(const aValue: Boolean); virtual; + function GetID_FORMA_PAGOValue: Integer; virtual; + function GetID_FORMA_PAGOIsNull: Boolean; virtual; + function GetOldID_FORMA_PAGOValue: Integer; virtual; + function GetOldID_FORMA_PAGOIsNull: Boolean; virtual; + procedure SetID_FORMA_PAGOValue(const aValue: Integer); virtual; + procedure SetID_FORMA_PAGOIsNull(const aValue: Boolean); virtual; + function GetTIENDA_WEBValue: SmallInt; virtual; + function GetTIENDA_WEBIsNull: Boolean; virtual; + function GetOldTIENDA_WEBValue: SmallInt; virtual; + function GetOldTIENDA_WEBIsNull: Boolean; virtual; + procedure SetTIENDA_WEBValue(const aValue: SmallInt); virtual; + procedure SetTIENDA_WEBIsNull(const aValue: Boolean); virtual; { Properties } property ID : Integer read GetIDValue write SetIDValue; + property IDIsNull : Boolean read GetIDIsNull write SetIDIsNull; property OldID : Integer read GetOldIDValue; + property OldIDIsNull : Boolean read GetOldIDIsNull; property ID_CATEGORIA : Integer read GetID_CATEGORIAValue write SetID_CATEGORIAValue; + property ID_CATEGORIAIsNull : Boolean read GetID_CATEGORIAIsNull write SetID_CATEGORIAIsNull; property OldID_CATEGORIA : Integer read GetOldID_CATEGORIAValue; + property OldID_CATEGORIAIsNull : Boolean read GetOldID_CATEGORIAIsNull; property NIF_CIF : String read GetNIF_CIFValue write SetNIF_CIFValue; + property NIF_CIFIsNull : Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull; property OldNIF_CIF : String read GetOldNIF_CIFValue; + property OldNIF_CIFIsNull : Boolean read GetOldNIF_CIFIsNull; property NOMBRE : String read GetNOMBREValue write SetNOMBREValue; + property NOMBREIsNull : Boolean read GetNOMBREIsNull write SetNOMBREIsNull; property OldNOMBRE : String read GetOldNOMBREValue; - property CALLE : String read GetCALLEValue write SetCALLEValue; - property OldCALLE : String read GetOldCALLEValue; + property OldNOMBREIsNull : Boolean read GetOldNOMBREIsNull; property PERSONA_CONTACTO : String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue; + property PERSONA_CONTACTOIsNull : Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull; property OldPERSONA_CONTACTO : String read GetOldPERSONA_CONTACTOValue; + property OldPERSONA_CONTACTOIsNull : Boolean read GetOldPERSONA_CONTACTOIsNull; + property CALLE : String read GetCALLEValue write SetCALLEValue; + property CALLEIsNull : Boolean read GetCALLEIsNull write SetCALLEIsNull; + property OldCALLE : String read GetOldCALLEValue; + property OldCALLEIsNull : Boolean read GetOldCALLEIsNull; property POBLACION : String read GetPOBLACIONValue write SetPOBLACIONValue; + property POBLACIONIsNull : Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull; property OldPOBLACION : String read GetOldPOBLACIONValue; + property OldPOBLACIONIsNull : Boolean read GetOldPOBLACIONIsNull; property PROVINCIA : String read GetPROVINCIAValue write SetPROVINCIAValue; + property PROVINCIAIsNull : Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull; property OldPROVINCIA : String read GetOldPROVINCIAValue; + property OldPROVINCIAIsNull : Boolean read GetOldPROVINCIAIsNull; property CODIGO_POSTAL : String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue; + property CODIGO_POSTALIsNull : Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull; property OldCODIGO_POSTAL : String read GetOldCODIGO_POSTALValue; + property OldCODIGO_POSTALIsNull : Boolean read GetOldCODIGO_POSTALIsNull; property TELEFONO_1 : String read GetTELEFONO_1Value write SetTELEFONO_1Value; + property TELEFONO_1IsNull : Boolean read GetTELEFONO_1IsNull write SetTELEFONO_1IsNull; property OldTELEFONO_1 : String read GetOldTELEFONO_1Value; + property OldTELEFONO_1IsNull : Boolean read GetOldTELEFONO_1IsNull; property TELEFONO_2 : String read GetTELEFONO_2Value write SetTELEFONO_2Value; + property TELEFONO_2IsNull : Boolean read GetTELEFONO_2IsNull write SetTELEFONO_2IsNull; property OldTELEFONO_2 : String read GetOldTELEFONO_2Value; + property OldTELEFONO_2IsNull : Boolean read GetOldTELEFONO_2IsNull; property MOVIL_1 : String read GetMOVIL_1Value write SetMOVIL_1Value; + property MOVIL_1IsNull : Boolean read GetMOVIL_1IsNull write SetMOVIL_1IsNull; property OldMOVIL_1 : String read GetOldMOVIL_1Value; + property OldMOVIL_1IsNull : Boolean read GetOldMOVIL_1IsNull; property MOVIL_2 : String read GetMOVIL_2Value write SetMOVIL_2Value; + property MOVIL_2IsNull : Boolean read GetMOVIL_2IsNull write SetMOVIL_2IsNull; property OldMOVIL_2 : String read GetOldMOVIL_2Value; + property OldMOVIL_2IsNull : Boolean read GetOldMOVIL_2IsNull; property FAX : String read GetFAXValue write SetFAXValue; + property FAXIsNull : Boolean read GetFAXIsNull write SetFAXIsNull; property OldFAX : String read GetOldFAXValue; + property OldFAXIsNull : Boolean read GetOldFAXIsNull; property EMAIL_1 : String read GetEMAIL_1Value write SetEMAIL_1Value; + property EMAIL_1IsNull : Boolean read GetEMAIL_1IsNull write SetEMAIL_1IsNull; property OldEMAIL_1 : String read GetOldEMAIL_1Value; + property OldEMAIL_1IsNull : Boolean read GetOldEMAIL_1IsNull; property EMAIL_2 : String read GetEMAIL_2Value write SetEMAIL_2Value; + property EMAIL_2IsNull : Boolean read GetEMAIL_2IsNull write SetEMAIL_2IsNull; property OldEMAIL_2 : String read GetOldEMAIL_2Value; + property OldEMAIL_2IsNull : Boolean read GetOldEMAIL_2IsNull; property PAGINA_WEB : String read GetPAGINA_WEBValue write SetPAGINA_WEBValue; + property PAGINA_WEBIsNull : Boolean read GetPAGINA_WEBIsNull write SetPAGINA_WEBIsNull; property OldPAGINA_WEB : String read GetOldPAGINA_WEBValue; - property NOTAS : IROStrings read GetNOTASValue write SetNOTASValue; + property OldPAGINA_WEBIsNull : Boolean read GetOldPAGINA_WEBIsNull; + property NOTAS : IROStrings read GetNOTASValue; + property NOTASIsNull : Boolean read GetNOTASIsNull write SetNOTASIsNull; property OldNOTAS : IROStrings read GetOldNOTASValue; + property OldNOTASIsNull : Boolean read GetOldNOTASIsNull; + property FECHA_ALTA : DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue; + property FECHA_ALTAIsNull : Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull; + property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue; + property OldFECHA_ALTAIsNull : Boolean read GetOldFECHA_ALTAIsNull; + property FECHA_MODIFICACION : DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue; + property FECHA_MODIFICACIONIsNull : Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull; + property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue; + property OldFECHA_MODIFICACIONIsNull : Boolean read GetOldFECHA_MODIFICACIONIsNull; property USUARIO : String read GetUSUARIOValue write SetUSUARIOValue; + property USUARIOIsNull : Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull; property OldUSUARIO : String read GetOldUSUARIOValue; + property OldUSUARIOIsNull : Boolean read GetOldUSUARIOIsNull; property ID_EMPRESA : Integer read GetID_EMPRESAValue write SetID_EMPRESAValue; + property ID_EMPRESAIsNull : Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull; property OldID_EMPRESA : Integer read GetOldID_EMPRESAValue; + property OldID_EMPRESAIsNull : Boolean read GetOldID_EMPRESAIsNull; property REFERENCIA : String read GetREFERENCIAValue write SetREFERENCIAValue; + property REFERENCIAIsNull : Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull; property OldREFERENCIA : String read GetOldREFERENCIAValue; - property ID_TIPO_IVA : Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue; - property OldID_TIPO_IVA : Integer read GetOldID_TIPO_IVAValue; - property REGIMEN_IVA : String read GetREGIMEN_IVAValue write SetREGIMEN_IVAValue; - property OldREGIMEN_IVA : String read GetOldREGIMEN_IVAValue; - property ID_FORMA_PAGO : Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue; - property OldID_FORMA_PAGO : Integer read GetOldID_FORMA_PAGOValue; - property TIENDA_WEB : Integer read GetTIENDA_WEBValue write SetTIENDA_WEBValue; - property OldTIENDA_WEB : Integer read GetOldTIENDA_WEBValue; - property RECARGO_EQUIVALENCIA : Integer read GetRECARGO_EQUIVALENCIAValue write SetRECARGO_EQUIVALENCIAValue; - property OldRECARGO_EQUIVALENCIA : Integer read GetOldRECARGO_EQUIVALENCIAValue; + property OldREFERENCIAIsNull : Boolean read GetOldREFERENCIAIsNull; property GRUPO_CLIENTE : String read GetGRUPO_CLIENTEValue write SetGRUPO_CLIENTEValue; + property GRUPO_CLIENTEIsNull : Boolean read GetGRUPO_CLIENTEIsNull write SetGRUPO_CLIENTEIsNull; property OldGRUPO_CLIENTE : String read GetOldGRUPO_CLIENTEValue; + property OldGRUPO_CLIENTEIsNull : Boolean read GetOldGRUPO_CLIENTEIsNull; property NOMBRE_COMERCIAL : String read GetNOMBRE_COMERCIALValue write SetNOMBRE_COMERCIALValue; + property NOMBRE_COMERCIALIsNull : Boolean read GetNOMBRE_COMERCIALIsNull write SetNOMBRE_COMERCIALIsNull; property OldNOMBRE_COMERCIAL : String read GetOldNOMBRE_COMERCIALValue; + property OldNOMBRE_COMERCIALIsNull : Boolean read GetOldNOMBRE_COMERCIALIsNull; property VENCIMIENTO_FACTURAS : Integer read GetVENCIMIENTO_FACTURASValue write SetVENCIMIENTO_FACTURASValue; + property VENCIMIENTO_FACTURASIsNull : Boolean read GetVENCIMIENTO_FACTURASIsNull write SetVENCIMIENTO_FACTURASIsNull; property OldVENCIMIENTO_FACTURAS : Integer read GetOldVENCIMIENTO_FACTURASValue; - property BLOQUEADO : Integer read GetBLOQUEADOValue write SetBLOQUEADOValue; - property OldBLOQUEADO : Integer read GetOldBLOQUEADOValue; + property OldVENCIMIENTO_FACTURASIsNull : Boolean read GetOldVENCIMIENTO_FACTURASIsNull; + property BLOQUEADO : SmallInt read GetBLOQUEADOValue write SetBLOQUEADOValue; + property BLOQUEADOIsNull : Boolean read GetBLOQUEADOIsNull write SetBLOQUEADOIsNull; + property OldBLOQUEADO : SmallInt read GetOldBLOQUEADOValue; + property OldBLOQUEADOIsNull : Boolean read GetOldBLOQUEADOIsNull; + property REGIMEN_IVA : String read GetREGIMEN_IVAValue write SetREGIMEN_IVAValue; + property REGIMEN_IVAIsNull : Boolean read GetREGIMEN_IVAIsNull write SetREGIMEN_IVAIsNull; + property OldREGIMEN_IVA : String read GetOldREGIMEN_IVAValue; + property OldREGIMEN_IVAIsNull : Boolean read GetOldREGIMEN_IVAIsNull; property MOTIVO_BLOQUEO : String read GetMOTIVO_BLOQUEOValue write SetMOTIVO_BLOQUEOValue; + property MOTIVO_BLOQUEOIsNull : Boolean read GetMOTIVO_BLOQUEOIsNull write SetMOTIVO_BLOQUEOIsNull; property OldMOTIVO_BLOQUEO : String read GetOldMOTIVO_BLOQUEOValue; + property OldMOTIVO_BLOQUEOIsNull : Boolean read GetOldMOTIVO_BLOQUEOIsNull; + property RECARGO_EQUIVALENCIA : Integer read GetRECARGO_EQUIVALENCIAValue write SetRECARGO_EQUIVALENCIAValue; + property RECARGO_EQUIVALENCIAIsNull : Boolean read GetRECARGO_EQUIVALENCIAIsNull write SetRECARGO_EQUIVALENCIAIsNull; + property OldRECARGO_EQUIVALENCIA : Integer read GetOldRECARGO_EQUIVALENCIAValue; + property OldRECARGO_EQUIVALENCIAIsNull : Boolean read GetOldRECARGO_EQUIVALENCIAIsNull; + property ID_TIPO_IVA : Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue; + property ID_TIPO_IVAIsNull : Boolean read GetID_TIPO_IVAIsNull write SetID_TIPO_IVAIsNull; + property OldID_TIPO_IVA : Integer read GetOldID_TIPO_IVAValue; + property OldID_TIPO_IVAIsNull : Boolean read GetOldID_TIPO_IVAIsNull; + property ID_FORMA_PAGO : Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue; + property ID_FORMA_PAGOIsNull : Boolean read GetID_FORMA_PAGOIsNull write SetID_FORMA_PAGOIsNull; + property OldID_FORMA_PAGO : Integer read GetOldID_FORMA_PAGOValue; + property OldID_FORMA_PAGOIsNull : Boolean read GetOldID_FORMA_PAGOIsNull; + property TIENDA_WEB : SmallInt read GetTIENDA_WEBValue write SetTIENDA_WEBValue; + property TIENDA_WEBIsNull : Boolean read GetTIENDA_WEBIsNull write SetTIENDA_WEBIsNull; + property OldTIENDA_WEB : SmallInt read GetOldTIENDA_WEBValue; + property OldTIENDA_WEBIsNull : Boolean read GetOldTIENDA_WEBIsNull; public constructor Create(aBusinessProcessor: TDABusinessProcessor); override; @@ -568,14 +952,14 @@ type { IProveedoresDelta } IProveedoresDelta = interface(IProveedores) - ['{168C19DE-0AD5-40CB-B737-628846E311FE}'] + ['{C4485AB1-1D9D-4D0D-92BB-EC12B5F0C442}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_CATEGORIAValue : Integer; function GetOldNIF_CIFValue : String; function GetOldNOMBREValue : String; - function GetOldCALLEValue : String; function GetOldPERSONA_CONTACTOValue : String; + function GetOldCALLEValue : String; function GetOldPOBLACIONValue : String; function GetOldPROVINCIAValue : String; function GetOldCODIGO_POSTALValue : String; @@ -588,27 +972,29 @@ type function GetOldEMAIL_2Value : String; function GetOldPAGINA_WEBValue : String; function GetOldNOTASValue : IROStrings; + function GetOldFECHA_ALTAValue : DateTime; + function GetOldFECHA_MODIFICACIONValue : DateTime; function GetOldUSUARIOValue : String; function GetOldID_EMPRESAValue : Integer; function GetOldREFERENCIAValue : String; - function GetOldID_TIPO_IVAValue : Integer; - function GetOldREGIMEN_IVAValue : String; - function GetOldID_FORMA_PAGOValue : Integer; - function GetOldTIENDA_WEBValue : Integer; function GetOldDESCUENTOValue : Float; function GetOldDESCRIPCION_PROVEEDORValue : String; function GetOldCODIGO_ASIGNADOValue : String; - function GetOldHOMOLOGADOValue : Integer; - function GetOldCERTIFICACIONValue : String; function GetOldGRUPO_PROVEEDORValue : String; + function GetOldREGIMEN_IVAValue : String; + function GetOldID_TIPO_IVAValue : Integer; + function GetOldID_FORMA_PAGOValue : Integer; + function GetOldTIENDA_WEBValue : SmallInt; + function GetOldHOMOLOGADOValue : SmallInt; + function GetOldCERTIFICACIONValue : String; { Properties } property OldID : Integer read GetOldIDValue; property OldID_CATEGORIA : Integer read GetOldID_CATEGORIAValue; property OldNIF_CIF : String read GetOldNIF_CIFValue; property OldNOMBRE : String read GetOldNOMBREValue; - property OldCALLE : String read GetOldCALLEValue; property OldPERSONA_CONTACTO : String read GetOldPERSONA_CONTACTOValue; + property OldCALLE : String read GetOldCALLEValue; property OldPOBLACION : String read GetOldPOBLACIONValue; property OldPROVINCIA : String read GetOldPROVINCIAValue; property OldCODIGO_POSTAL : String read GetOldCODIGO_POSTALValue; @@ -621,183 +1007,361 @@ type property OldEMAIL_2 : String read GetOldEMAIL_2Value; property OldPAGINA_WEB : String read GetOldPAGINA_WEBValue; property OldNOTAS : IROStrings read GetOldNOTASValue; + property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue; + property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue; property OldUSUARIO : String read GetOldUSUARIOValue; property OldID_EMPRESA : Integer read GetOldID_EMPRESAValue; property OldREFERENCIA : String read GetOldREFERENCIAValue; - property OldID_TIPO_IVA : Integer read GetOldID_TIPO_IVAValue; - property OldREGIMEN_IVA : String read GetOldREGIMEN_IVAValue; - property OldID_FORMA_PAGO : Integer read GetOldID_FORMA_PAGOValue; - property OldTIENDA_WEB : Integer read GetOldTIENDA_WEBValue; property OldDESCUENTO : Float read GetOldDESCUENTOValue; property OldDESCRIPCION_PROVEEDOR : String read GetOldDESCRIPCION_PROVEEDORValue; property OldCODIGO_ASIGNADO : String read GetOldCODIGO_ASIGNADOValue; - property OldHOMOLOGADO : Integer read GetOldHOMOLOGADOValue; - property OldCERTIFICACION : String read GetOldCERTIFICACIONValue; property OldGRUPO_PROVEEDOR : String read GetOldGRUPO_PROVEEDORValue; + property OldREGIMEN_IVA : String read GetOldREGIMEN_IVAValue; + property OldID_TIPO_IVA : Integer read GetOldID_TIPO_IVAValue; + property OldID_FORMA_PAGO : Integer read GetOldID_FORMA_PAGOValue; + property OldTIENDA_WEB : SmallInt read GetOldTIENDA_WEBValue; + property OldHOMOLOGADO : SmallInt read GetOldHOMOLOGADOValue; + property OldCERTIFICACION : String read GetOldCERTIFICACIONValue; end; { TProveedoresBusinessProcessorRules } TProveedoresBusinessProcessorRules = class(TDABusinessProcessorRules, IProveedores, IProveedoresDelta) private + f_NOTAS: IROStrings; + procedure NOTAS_OnChange(Sender: TObject); protected { Property getters and setters } function GetIDValue: Integer; virtual; + function GetIDIsNull: Boolean; virtual; function GetOldIDValue: Integer; virtual; + function GetOldIDIsNull: Boolean; virtual; procedure SetIDValue(const aValue: Integer); virtual; + procedure SetIDIsNull(const aValue: Boolean); virtual; function GetID_CATEGORIAValue: Integer; virtual; + function GetID_CATEGORIAIsNull: Boolean; virtual; function GetOldID_CATEGORIAValue: Integer; virtual; + function GetOldID_CATEGORIAIsNull: Boolean; virtual; procedure SetID_CATEGORIAValue(const aValue: Integer); virtual; + procedure SetID_CATEGORIAIsNull(const aValue: Boolean); virtual; function GetNIF_CIFValue: String; virtual; + function GetNIF_CIFIsNull: Boolean; virtual; function GetOldNIF_CIFValue: String; virtual; + function GetOldNIF_CIFIsNull: Boolean; virtual; procedure SetNIF_CIFValue(const aValue: String); virtual; + procedure SetNIF_CIFIsNull(const aValue: Boolean); virtual; function GetNOMBREValue: String; virtual; + function GetNOMBREIsNull: Boolean; virtual; function GetOldNOMBREValue: String; virtual; + function GetOldNOMBREIsNull: Boolean; virtual; procedure SetNOMBREValue(const aValue: String); virtual; - function GetCALLEValue: String; virtual; - function GetOldCALLEValue: String; virtual; - procedure SetCALLEValue(const aValue: String); virtual; + procedure SetNOMBREIsNull(const aValue: Boolean); virtual; function GetPERSONA_CONTACTOValue: String; virtual; + function GetPERSONA_CONTACTOIsNull: Boolean; virtual; function GetOldPERSONA_CONTACTOValue: String; virtual; + function GetOldPERSONA_CONTACTOIsNull: Boolean; virtual; procedure SetPERSONA_CONTACTOValue(const aValue: String); virtual; + procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean); virtual; + function GetCALLEValue: String; virtual; + function GetCALLEIsNull: Boolean; virtual; + function GetOldCALLEValue: String; virtual; + function GetOldCALLEIsNull: Boolean; virtual; + procedure SetCALLEValue(const aValue: String); virtual; + procedure SetCALLEIsNull(const aValue: Boolean); virtual; function GetPOBLACIONValue: String; virtual; + function GetPOBLACIONIsNull: Boolean; virtual; function GetOldPOBLACIONValue: String; virtual; + function GetOldPOBLACIONIsNull: Boolean; virtual; procedure SetPOBLACIONValue(const aValue: String); virtual; + procedure SetPOBLACIONIsNull(const aValue: Boolean); virtual; function GetPROVINCIAValue: String; virtual; + function GetPROVINCIAIsNull: Boolean; virtual; function GetOldPROVINCIAValue: String; virtual; + function GetOldPROVINCIAIsNull: Boolean; virtual; procedure SetPROVINCIAValue(const aValue: String); virtual; + procedure SetPROVINCIAIsNull(const aValue: Boolean); virtual; function GetCODIGO_POSTALValue: String; virtual; + function GetCODIGO_POSTALIsNull: Boolean; virtual; function GetOldCODIGO_POSTALValue: String; virtual; + function GetOldCODIGO_POSTALIsNull: Boolean; virtual; procedure SetCODIGO_POSTALValue(const aValue: String); virtual; + procedure SetCODIGO_POSTALIsNull(const aValue: Boolean); virtual; function GetTELEFONO_1Value: String; virtual; + function GetTELEFONO_1IsNull: Boolean; virtual; function GetOldTELEFONO_1Value: String; virtual; + function GetOldTELEFONO_1IsNull: Boolean; virtual; procedure SetTELEFONO_1Value(const aValue: String); virtual; + procedure SetTELEFONO_1IsNull(const aValue: Boolean); virtual; function GetTELEFONO_2Value: String; virtual; + function GetTELEFONO_2IsNull: Boolean; virtual; function GetOldTELEFONO_2Value: String; virtual; + function GetOldTELEFONO_2IsNull: Boolean; virtual; procedure SetTELEFONO_2Value(const aValue: String); virtual; + procedure SetTELEFONO_2IsNull(const aValue: Boolean); virtual; function GetMOVIL_1Value: String; virtual; + function GetMOVIL_1IsNull: Boolean; virtual; function GetOldMOVIL_1Value: String; virtual; + function GetOldMOVIL_1IsNull: Boolean; virtual; procedure SetMOVIL_1Value(const aValue: String); virtual; + procedure SetMOVIL_1IsNull(const aValue: Boolean); virtual; function GetMOVIL_2Value: String; virtual; + function GetMOVIL_2IsNull: Boolean; virtual; function GetOldMOVIL_2Value: String; virtual; + function GetOldMOVIL_2IsNull: Boolean; virtual; procedure SetMOVIL_2Value(const aValue: String); virtual; + procedure SetMOVIL_2IsNull(const aValue: Boolean); virtual; function GetFAXValue: String; virtual; + function GetFAXIsNull: Boolean; virtual; function GetOldFAXValue: String; virtual; + function GetOldFAXIsNull: Boolean; virtual; procedure SetFAXValue(const aValue: String); virtual; + procedure SetFAXIsNull(const aValue: Boolean); virtual; function GetEMAIL_1Value: String; virtual; + function GetEMAIL_1IsNull: Boolean; virtual; function GetOldEMAIL_1Value: String; virtual; + function GetOldEMAIL_1IsNull: Boolean; virtual; procedure SetEMAIL_1Value(const aValue: String); virtual; + procedure SetEMAIL_1IsNull(const aValue: Boolean); virtual; function GetEMAIL_2Value: String; virtual; + function GetEMAIL_2IsNull: Boolean; virtual; function GetOldEMAIL_2Value: String; virtual; + function GetOldEMAIL_2IsNull: Boolean; virtual; procedure SetEMAIL_2Value(const aValue: String); virtual; + procedure SetEMAIL_2IsNull(const aValue: Boolean); virtual; function GetPAGINA_WEBValue: String; virtual; + function GetPAGINA_WEBIsNull: Boolean; virtual; function GetOldPAGINA_WEBValue: String; virtual; + function GetOldPAGINA_WEBIsNull: Boolean; virtual; procedure SetPAGINA_WEBValue(const aValue: String); virtual; + procedure SetPAGINA_WEBIsNull(const aValue: Boolean); virtual; function GetNOTASValue: IROStrings; virtual; + function GetNOTASIsNull: Boolean; virtual; function GetOldNOTASValue: IROStrings; virtual; - procedure SetNOTASValue(const aValue: IROStrings); virtual; + function GetOldNOTASIsNull: Boolean; virtual; + procedure SetNOTASIsNull(const aValue: Boolean); virtual; + function GetFECHA_ALTAValue: DateTime; virtual; + function GetFECHA_ALTAIsNull: Boolean; virtual; + function GetOldFECHA_ALTAValue: DateTime; virtual; + function GetOldFECHA_ALTAIsNull: Boolean; virtual; + procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual; + procedure SetFECHA_ALTAIsNull(const aValue: Boolean); virtual; + function GetFECHA_MODIFICACIONValue: DateTime; virtual; + function GetFECHA_MODIFICACIONIsNull: Boolean; virtual; + function GetOldFECHA_MODIFICACIONValue: DateTime; virtual; + function GetOldFECHA_MODIFICACIONIsNull: Boolean; virtual; + procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual; + procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); virtual; function GetUSUARIOValue: String; virtual; + function GetUSUARIOIsNull: Boolean; virtual; function GetOldUSUARIOValue: String; virtual; + function GetOldUSUARIOIsNull: Boolean; virtual; procedure SetUSUARIOValue(const aValue: String); virtual; + procedure SetUSUARIOIsNull(const aValue: Boolean); virtual; function GetID_EMPRESAValue: Integer; virtual; + function GetID_EMPRESAIsNull: Boolean; virtual; function GetOldID_EMPRESAValue: Integer; virtual; + function GetOldID_EMPRESAIsNull: Boolean; virtual; procedure SetID_EMPRESAValue(const aValue: Integer); virtual; + procedure SetID_EMPRESAIsNull(const aValue: Boolean); virtual; function GetREFERENCIAValue: String; virtual; + function GetREFERENCIAIsNull: Boolean; virtual; function GetOldREFERENCIAValue: String; virtual; + function GetOldREFERENCIAIsNull: Boolean; virtual; procedure SetREFERENCIAValue(const aValue: String); virtual; - function GetID_TIPO_IVAValue: Integer; virtual; - function GetOldID_TIPO_IVAValue: Integer; virtual; - procedure SetID_TIPO_IVAValue(const aValue: Integer); virtual; - function GetREGIMEN_IVAValue: String; virtual; - function GetOldREGIMEN_IVAValue: String; virtual; - procedure SetREGIMEN_IVAValue(const aValue: String); virtual; - function GetID_FORMA_PAGOValue: Integer; virtual; - function GetOldID_FORMA_PAGOValue: Integer; virtual; - procedure SetID_FORMA_PAGOValue(const aValue: Integer); virtual; - function GetTIENDA_WEBValue: Integer; virtual; - function GetOldTIENDA_WEBValue: Integer; virtual; - procedure SetTIENDA_WEBValue(const aValue: Integer); virtual; + procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual; function GetDESCUENTOValue: Float; virtual; + function GetDESCUENTOIsNull: Boolean; virtual; function GetOldDESCUENTOValue: Float; virtual; + function GetOldDESCUENTOIsNull: Boolean; virtual; procedure SetDESCUENTOValue(const aValue: Float); virtual; + procedure SetDESCUENTOIsNull(const aValue: Boolean); virtual; function GetDESCRIPCION_PROVEEDORValue: String; virtual; + function GetDESCRIPCION_PROVEEDORIsNull: Boolean; virtual; function GetOldDESCRIPCION_PROVEEDORValue: String; virtual; + function GetOldDESCRIPCION_PROVEEDORIsNull: Boolean; virtual; procedure SetDESCRIPCION_PROVEEDORValue(const aValue: String); virtual; + procedure SetDESCRIPCION_PROVEEDORIsNull(const aValue: Boolean); virtual; function GetCODIGO_ASIGNADOValue: String; virtual; + function GetCODIGO_ASIGNADOIsNull: Boolean; virtual; function GetOldCODIGO_ASIGNADOValue: String; virtual; + function GetOldCODIGO_ASIGNADOIsNull: Boolean; virtual; procedure SetCODIGO_ASIGNADOValue(const aValue: String); virtual; - function GetHOMOLOGADOValue: Integer; virtual; - function GetOldHOMOLOGADOValue: Integer; virtual; - procedure SetHOMOLOGADOValue(const aValue: Integer); virtual; - function GetCERTIFICACIONValue: String; virtual; - function GetOldCERTIFICACIONValue: String; virtual; - procedure SetCERTIFICACIONValue(const aValue: String); virtual; + procedure SetCODIGO_ASIGNADOIsNull(const aValue: Boolean); virtual; function GetGRUPO_PROVEEDORValue: String; virtual; + function GetGRUPO_PROVEEDORIsNull: Boolean; virtual; function GetOldGRUPO_PROVEEDORValue: String; virtual; + function GetOldGRUPO_PROVEEDORIsNull: Boolean; virtual; procedure SetGRUPO_PROVEEDORValue(const aValue: String); virtual; + procedure SetGRUPO_PROVEEDORIsNull(const aValue: Boolean); virtual; + function GetREGIMEN_IVAValue: String; virtual; + function GetREGIMEN_IVAIsNull: Boolean; virtual; + function GetOldREGIMEN_IVAValue: String; virtual; + function GetOldREGIMEN_IVAIsNull: Boolean; virtual; + procedure SetREGIMEN_IVAValue(const aValue: String); virtual; + procedure SetREGIMEN_IVAIsNull(const aValue: Boolean); virtual; + function GetID_TIPO_IVAValue: Integer; virtual; + function GetID_TIPO_IVAIsNull: Boolean; virtual; + function GetOldID_TIPO_IVAValue: Integer; virtual; + function GetOldID_TIPO_IVAIsNull: Boolean; virtual; + procedure SetID_TIPO_IVAValue(const aValue: Integer); virtual; + procedure SetID_TIPO_IVAIsNull(const aValue: Boolean); virtual; + function GetID_FORMA_PAGOValue: Integer; virtual; + function GetID_FORMA_PAGOIsNull: Boolean; virtual; + function GetOldID_FORMA_PAGOValue: Integer; virtual; + function GetOldID_FORMA_PAGOIsNull: Boolean; virtual; + procedure SetID_FORMA_PAGOValue(const aValue: Integer); virtual; + procedure SetID_FORMA_PAGOIsNull(const aValue: Boolean); virtual; + function GetTIENDA_WEBValue: SmallInt; virtual; + function GetTIENDA_WEBIsNull: Boolean; virtual; + function GetOldTIENDA_WEBValue: SmallInt; virtual; + function GetOldTIENDA_WEBIsNull: Boolean; virtual; + procedure SetTIENDA_WEBValue(const aValue: SmallInt); virtual; + procedure SetTIENDA_WEBIsNull(const aValue: Boolean); virtual; + function GetHOMOLOGADOValue: SmallInt; virtual; + function GetHOMOLOGADOIsNull: Boolean; virtual; + function GetOldHOMOLOGADOValue: SmallInt; virtual; + function GetOldHOMOLOGADOIsNull: Boolean; virtual; + procedure SetHOMOLOGADOValue(const aValue: SmallInt); virtual; + procedure SetHOMOLOGADOIsNull(const aValue: Boolean); virtual; + function GetCERTIFICACIONValue: String; virtual; + function GetCERTIFICACIONIsNull: Boolean; virtual; + function GetOldCERTIFICACIONValue: String; virtual; + function GetOldCERTIFICACIONIsNull: Boolean; virtual; + procedure SetCERTIFICACIONValue(const aValue: String); virtual; + procedure SetCERTIFICACIONIsNull(const aValue: Boolean); virtual; { Properties } property ID : Integer read GetIDValue write SetIDValue; + property IDIsNull : Boolean read GetIDIsNull write SetIDIsNull; property OldID : Integer read GetOldIDValue; + property OldIDIsNull : Boolean read GetOldIDIsNull; property ID_CATEGORIA : Integer read GetID_CATEGORIAValue write SetID_CATEGORIAValue; + property ID_CATEGORIAIsNull : Boolean read GetID_CATEGORIAIsNull write SetID_CATEGORIAIsNull; property OldID_CATEGORIA : Integer read GetOldID_CATEGORIAValue; + property OldID_CATEGORIAIsNull : Boolean read GetOldID_CATEGORIAIsNull; property NIF_CIF : String read GetNIF_CIFValue write SetNIF_CIFValue; + property NIF_CIFIsNull : Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull; property OldNIF_CIF : String read GetOldNIF_CIFValue; + property OldNIF_CIFIsNull : Boolean read GetOldNIF_CIFIsNull; property NOMBRE : String read GetNOMBREValue write SetNOMBREValue; + property NOMBREIsNull : Boolean read GetNOMBREIsNull write SetNOMBREIsNull; property OldNOMBRE : String read GetOldNOMBREValue; - property CALLE : String read GetCALLEValue write SetCALLEValue; - property OldCALLE : String read GetOldCALLEValue; + property OldNOMBREIsNull : Boolean read GetOldNOMBREIsNull; property PERSONA_CONTACTO : String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue; + property PERSONA_CONTACTOIsNull : Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull; property OldPERSONA_CONTACTO : String read GetOldPERSONA_CONTACTOValue; + property OldPERSONA_CONTACTOIsNull : Boolean read GetOldPERSONA_CONTACTOIsNull; + property CALLE : String read GetCALLEValue write SetCALLEValue; + property CALLEIsNull : Boolean read GetCALLEIsNull write SetCALLEIsNull; + property OldCALLE : String read GetOldCALLEValue; + property OldCALLEIsNull : Boolean read GetOldCALLEIsNull; property POBLACION : String read GetPOBLACIONValue write SetPOBLACIONValue; + property POBLACIONIsNull : Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull; property OldPOBLACION : String read GetOldPOBLACIONValue; + property OldPOBLACIONIsNull : Boolean read GetOldPOBLACIONIsNull; property PROVINCIA : String read GetPROVINCIAValue write SetPROVINCIAValue; + property PROVINCIAIsNull : Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull; property OldPROVINCIA : String read GetOldPROVINCIAValue; + property OldPROVINCIAIsNull : Boolean read GetOldPROVINCIAIsNull; property CODIGO_POSTAL : String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue; + property CODIGO_POSTALIsNull : Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull; property OldCODIGO_POSTAL : String read GetOldCODIGO_POSTALValue; + property OldCODIGO_POSTALIsNull : Boolean read GetOldCODIGO_POSTALIsNull; property TELEFONO_1 : String read GetTELEFONO_1Value write SetTELEFONO_1Value; + property TELEFONO_1IsNull : Boolean read GetTELEFONO_1IsNull write SetTELEFONO_1IsNull; property OldTELEFONO_1 : String read GetOldTELEFONO_1Value; + property OldTELEFONO_1IsNull : Boolean read GetOldTELEFONO_1IsNull; property TELEFONO_2 : String read GetTELEFONO_2Value write SetTELEFONO_2Value; + property TELEFONO_2IsNull : Boolean read GetTELEFONO_2IsNull write SetTELEFONO_2IsNull; property OldTELEFONO_2 : String read GetOldTELEFONO_2Value; + property OldTELEFONO_2IsNull : Boolean read GetOldTELEFONO_2IsNull; property MOVIL_1 : String read GetMOVIL_1Value write SetMOVIL_1Value; + property MOVIL_1IsNull : Boolean read GetMOVIL_1IsNull write SetMOVIL_1IsNull; property OldMOVIL_1 : String read GetOldMOVIL_1Value; + property OldMOVIL_1IsNull : Boolean read GetOldMOVIL_1IsNull; property MOVIL_2 : String read GetMOVIL_2Value write SetMOVIL_2Value; + property MOVIL_2IsNull : Boolean read GetMOVIL_2IsNull write SetMOVIL_2IsNull; property OldMOVIL_2 : String read GetOldMOVIL_2Value; + property OldMOVIL_2IsNull : Boolean read GetOldMOVIL_2IsNull; property FAX : String read GetFAXValue write SetFAXValue; + property FAXIsNull : Boolean read GetFAXIsNull write SetFAXIsNull; property OldFAX : String read GetOldFAXValue; + property OldFAXIsNull : Boolean read GetOldFAXIsNull; property EMAIL_1 : String read GetEMAIL_1Value write SetEMAIL_1Value; + property EMAIL_1IsNull : Boolean read GetEMAIL_1IsNull write SetEMAIL_1IsNull; property OldEMAIL_1 : String read GetOldEMAIL_1Value; + property OldEMAIL_1IsNull : Boolean read GetOldEMAIL_1IsNull; property EMAIL_2 : String read GetEMAIL_2Value write SetEMAIL_2Value; + property EMAIL_2IsNull : Boolean read GetEMAIL_2IsNull write SetEMAIL_2IsNull; property OldEMAIL_2 : String read GetOldEMAIL_2Value; + property OldEMAIL_2IsNull : Boolean read GetOldEMAIL_2IsNull; property PAGINA_WEB : String read GetPAGINA_WEBValue write SetPAGINA_WEBValue; + property PAGINA_WEBIsNull : Boolean read GetPAGINA_WEBIsNull write SetPAGINA_WEBIsNull; property OldPAGINA_WEB : String read GetOldPAGINA_WEBValue; - property NOTAS : IROStrings read GetNOTASValue write SetNOTASValue; + property OldPAGINA_WEBIsNull : Boolean read GetOldPAGINA_WEBIsNull; + property NOTAS : IROStrings read GetNOTASValue; + property NOTASIsNull : Boolean read GetNOTASIsNull write SetNOTASIsNull; property OldNOTAS : IROStrings read GetOldNOTASValue; + property OldNOTASIsNull : Boolean read GetOldNOTASIsNull; + property FECHA_ALTA : DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue; + property FECHA_ALTAIsNull : Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull; + property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue; + property OldFECHA_ALTAIsNull : Boolean read GetOldFECHA_ALTAIsNull; + property FECHA_MODIFICACION : DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue; + property FECHA_MODIFICACIONIsNull : Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull; + property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue; + property OldFECHA_MODIFICACIONIsNull : Boolean read GetOldFECHA_MODIFICACIONIsNull; property USUARIO : String read GetUSUARIOValue write SetUSUARIOValue; + property USUARIOIsNull : Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull; property OldUSUARIO : String read GetOldUSUARIOValue; + property OldUSUARIOIsNull : Boolean read GetOldUSUARIOIsNull; property ID_EMPRESA : Integer read GetID_EMPRESAValue write SetID_EMPRESAValue; + property ID_EMPRESAIsNull : Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull; property OldID_EMPRESA : Integer read GetOldID_EMPRESAValue; + property OldID_EMPRESAIsNull : Boolean read GetOldID_EMPRESAIsNull; property REFERENCIA : String read GetREFERENCIAValue write SetREFERENCIAValue; + property REFERENCIAIsNull : Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull; property OldREFERENCIA : String read GetOldREFERENCIAValue; - property ID_TIPO_IVA : Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue; - property OldID_TIPO_IVA : Integer read GetOldID_TIPO_IVAValue; - property REGIMEN_IVA : String read GetREGIMEN_IVAValue write SetREGIMEN_IVAValue; - property OldREGIMEN_IVA : String read GetOldREGIMEN_IVAValue; - property ID_FORMA_PAGO : Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue; - property OldID_FORMA_PAGO : Integer read GetOldID_FORMA_PAGOValue; - property TIENDA_WEB : Integer read GetTIENDA_WEBValue write SetTIENDA_WEBValue; - property OldTIENDA_WEB : Integer read GetOldTIENDA_WEBValue; + property OldREFERENCIAIsNull : Boolean read GetOldREFERENCIAIsNull; property DESCUENTO : Float read GetDESCUENTOValue write SetDESCUENTOValue; + property DESCUENTOIsNull : Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull; property OldDESCUENTO : Float read GetOldDESCUENTOValue; + property OldDESCUENTOIsNull : Boolean read GetOldDESCUENTOIsNull; property DESCRIPCION_PROVEEDOR : String read GetDESCRIPCION_PROVEEDORValue write SetDESCRIPCION_PROVEEDORValue; + property DESCRIPCION_PROVEEDORIsNull : Boolean read GetDESCRIPCION_PROVEEDORIsNull write SetDESCRIPCION_PROVEEDORIsNull; property OldDESCRIPCION_PROVEEDOR : String read GetOldDESCRIPCION_PROVEEDORValue; + property OldDESCRIPCION_PROVEEDORIsNull : Boolean read GetOldDESCRIPCION_PROVEEDORIsNull; property CODIGO_ASIGNADO : String read GetCODIGO_ASIGNADOValue write SetCODIGO_ASIGNADOValue; + property CODIGO_ASIGNADOIsNull : Boolean read GetCODIGO_ASIGNADOIsNull write SetCODIGO_ASIGNADOIsNull; property OldCODIGO_ASIGNADO : String read GetOldCODIGO_ASIGNADOValue; - property HOMOLOGADO : Integer read GetHOMOLOGADOValue write SetHOMOLOGADOValue; - property OldHOMOLOGADO : Integer read GetOldHOMOLOGADOValue; - property CERTIFICACION : String read GetCERTIFICACIONValue write SetCERTIFICACIONValue; - property OldCERTIFICACION : String read GetOldCERTIFICACIONValue; + property OldCODIGO_ASIGNADOIsNull : Boolean read GetOldCODIGO_ASIGNADOIsNull; property GRUPO_PROVEEDOR : String read GetGRUPO_PROVEEDORValue write SetGRUPO_PROVEEDORValue; + property GRUPO_PROVEEDORIsNull : Boolean read GetGRUPO_PROVEEDORIsNull write SetGRUPO_PROVEEDORIsNull; property OldGRUPO_PROVEEDOR : String read GetOldGRUPO_PROVEEDORValue; + property OldGRUPO_PROVEEDORIsNull : Boolean read GetOldGRUPO_PROVEEDORIsNull; + property REGIMEN_IVA : String read GetREGIMEN_IVAValue write SetREGIMEN_IVAValue; + property REGIMEN_IVAIsNull : Boolean read GetREGIMEN_IVAIsNull write SetREGIMEN_IVAIsNull; + property OldREGIMEN_IVA : String read GetOldREGIMEN_IVAValue; + property OldREGIMEN_IVAIsNull : Boolean read GetOldREGIMEN_IVAIsNull; + property ID_TIPO_IVA : Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue; + property ID_TIPO_IVAIsNull : Boolean read GetID_TIPO_IVAIsNull write SetID_TIPO_IVAIsNull; + property OldID_TIPO_IVA : Integer read GetOldID_TIPO_IVAValue; + property OldID_TIPO_IVAIsNull : Boolean read GetOldID_TIPO_IVAIsNull; + property ID_FORMA_PAGO : Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue; + property ID_FORMA_PAGOIsNull : Boolean read GetID_FORMA_PAGOIsNull write SetID_FORMA_PAGOIsNull; + property OldID_FORMA_PAGO : Integer read GetOldID_FORMA_PAGOValue; + property OldID_FORMA_PAGOIsNull : Boolean read GetOldID_FORMA_PAGOIsNull; + property TIENDA_WEB : SmallInt read GetTIENDA_WEBValue write SetTIENDA_WEBValue; + property TIENDA_WEBIsNull : Boolean read GetTIENDA_WEBIsNull write SetTIENDA_WEBIsNull; + property OldTIENDA_WEB : SmallInt read GetOldTIENDA_WEBValue; + property OldTIENDA_WEBIsNull : Boolean read GetOldTIENDA_WEBIsNull; + property HOMOLOGADO : SmallInt read GetHOMOLOGADOValue write SetHOMOLOGADOValue; + property HOMOLOGADOIsNull : Boolean read GetHOMOLOGADOIsNull write SetHOMOLOGADOIsNull; + property OldHOMOLOGADO : SmallInt read GetOldHOMOLOGADOValue; + property OldHOMOLOGADOIsNull : Boolean read GetOldHOMOLOGADOIsNull; + property CERTIFICACION : String read GetCERTIFICACIONValue write SetCERTIFICACIONValue; + property CERTIFICACIONIsNull : Boolean read GetCERTIFICACIONIsNull write SetCERTIFICACIONIsNull; + property OldCERTIFICACION : String read GetOldCERTIFICACIONValue; + property OldCERTIFICACIONIsNull : Boolean read GetOldCERTIFICACIONIsNull; public constructor Create(aBusinessProcessor: TDABusinessProcessor); override; @@ -807,14 +1371,14 @@ type { IEmpleadosDelta } IEmpleadosDelta = interface(IEmpleados) - ['{6544E069-D22D-49D4-AAFE-47DD92FA7744}'] + ['{03EED035-3B00-4EC5-ACB5-AB59BC7459A2}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_CATEGORIAValue : Integer; function GetOldNIF_CIFValue : String; function GetOldNOMBREValue : String; - function GetOldCALLEValue : String; function GetOldPERSONA_CONTACTOValue : String; + function GetOldCALLEValue : String; function GetOldPOBLACIONValue : String; function GetOldPROVINCIAValue : String; function GetOldCODIGO_POSTALValue : String; @@ -827,11 +1391,13 @@ type function GetOldEMAIL_2Value : String; function GetOldPAGINA_WEBValue : String; function GetOldNOTASValue : IROStrings; + function GetOldFECHA_ALTAValue : DateTime; + function GetOldFECHA_MODIFICACIONValue : DateTime; function GetOldUSUARIOValue : String; function GetOldID_EMPRESAValue : Integer; function GetOldREFERENCIAValue : String; - function GetOldCATEGORIAValue : String; function GetOldFECHA_NACIMIENTOValue : DateTime; + function GetOldCATEGORIAValue : String; function GetOldFECHA_ALTA_EMPRESAValue : DateTime; function GetOldFORMACION_BASEValue : IROStrings; function GetOldFORMACION_COMPLEValue : IROStrings; @@ -843,8 +1409,8 @@ type property OldID_CATEGORIA : Integer read GetOldID_CATEGORIAValue; property OldNIF_CIF : String read GetOldNIF_CIFValue; property OldNOMBRE : String read GetOldNOMBREValue; - property OldCALLE : String read GetOldCALLEValue; property OldPERSONA_CONTACTO : String read GetOldPERSONA_CONTACTOValue; + property OldCALLE : String read GetOldCALLEValue; property OldPOBLACION : String read GetOldPOBLACIONValue; property OldPROVINCIA : String read GetOldPROVINCIAValue; property OldCODIGO_POSTAL : String read GetOldCODIGO_POSTALValue; @@ -857,11 +1423,13 @@ type property OldEMAIL_2 : String read GetOldEMAIL_2Value; property OldPAGINA_WEB : String read GetOldPAGINA_WEBValue; property OldNOTAS : IROStrings read GetOldNOTASValue; + property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue; + property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue; property OldUSUARIO : String read GetOldUSUARIOValue; property OldID_EMPRESA : Integer read GetOldID_EMPRESAValue; property OldREFERENCIA : String read GetOldREFERENCIAValue; - property OldCATEGORIA : String read GetOldCATEGORIAValue; property OldFECHA_NACIMIENTO : DateTime read GetOldFECHA_NACIMIENTOValue; + property OldCATEGORIA : String read GetOldCATEGORIAValue; property OldFECHA_ALTA_EMPRESA : DateTime read GetOldFECHA_ALTA_EMPRESAValue; property OldFORMACION_BASE : IROStrings read GetOldFORMACION_BASEValue; property OldFORMACION_COMPLE : IROStrings read GetOldFORMACION_COMPLEValue; @@ -872,150 +1440,315 @@ type { TEmpleadosBusinessProcessorRules } TEmpleadosBusinessProcessorRules = class(TDABusinessProcessorRules, IEmpleados, IEmpleadosDelta) private + f_NOTAS: IROStrings; + f_FORMACION_BASE: IROStrings; + f_FORMACION_COMPLE: IROStrings; + f_FORMACION_RECIBIDA: IROStrings; + f_EXPERIENCIA: IROStrings; + procedure NOTAS_OnChange(Sender: TObject); + procedure FORMACION_BASE_OnChange(Sender: TObject); + procedure FORMACION_COMPLE_OnChange(Sender: TObject); + procedure FORMACION_RECIBIDA_OnChange(Sender: TObject); + procedure EXPERIENCIA_OnChange(Sender: TObject); protected { Property getters and setters } function GetIDValue: Integer; virtual; + function GetIDIsNull: Boolean; virtual; function GetOldIDValue: Integer; virtual; + function GetOldIDIsNull: Boolean; virtual; procedure SetIDValue(const aValue: Integer); virtual; + procedure SetIDIsNull(const aValue: Boolean); virtual; function GetID_CATEGORIAValue: Integer; virtual; + function GetID_CATEGORIAIsNull: Boolean; virtual; function GetOldID_CATEGORIAValue: Integer; virtual; + function GetOldID_CATEGORIAIsNull: Boolean; virtual; procedure SetID_CATEGORIAValue(const aValue: Integer); virtual; + procedure SetID_CATEGORIAIsNull(const aValue: Boolean); virtual; function GetNIF_CIFValue: String; virtual; + function GetNIF_CIFIsNull: Boolean; virtual; function GetOldNIF_CIFValue: String; virtual; + function GetOldNIF_CIFIsNull: Boolean; virtual; procedure SetNIF_CIFValue(const aValue: String); virtual; + procedure SetNIF_CIFIsNull(const aValue: Boolean); virtual; function GetNOMBREValue: String; virtual; + function GetNOMBREIsNull: Boolean; virtual; function GetOldNOMBREValue: String; virtual; + function GetOldNOMBREIsNull: Boolean; virtual; procedure SetNOMBREValue(const aValue: String); virtual; - function GetCALLEValue: String; virtual; - function GetOldCALLEValue: String; virtual; - procedure SetCALLEValue(const aValue: String); virtual; + procedure SetNOMBREIsNull(const aValue: Boolean); virtual; function GetPERSONA_CONTACTOValue: String; virtual; + function GetPERSONA_CONTACTOIsNull: Boolean; virtual; function GetOldPERSONA_CONTACTOValue: String; virtual; + function GetOldPERSONA_CONTACTOIsNull: Boolean; virtual; procedure SetPERSONA_CONTACTOValue(const aValue: String); virtual; + procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean); virtual; + function GetCALLEValue: String; virtual; + function GetCALLEIsNull: Boolean; virtual; + function GetOldCALLEValue: String; virtual; + function GetOldCALLEIsNull: Boolean; virtual; + procedure SetCALLEValue(const aValue: String); virtual; + procedure SetCALLEIsNull(const aValue: Boolean); virtual; function GetPOBLACIONValue: String; virtual; + function GetPOBLACIONIsNull: Boolean; virtual; function GetOldPOBLACIONValue: String; virtual; + function GetOldPOBLACIONIsNull: Boolean; virtual; procedure SetPOBLACIONValue(const aValue: String); virtual; + procedure SetPOBLACIONIsNull(const aValue: Boolean); virtual; function GetPROVINCIAValue: String; virtual; + function GetPROVINCIAIsNull: Boolean; virtual; function GetOldPROVINCIAValue: String; virtual; + function GetOldPROVINCIAIsNull: Boolean; virtual; procedure SetPROVINCIAValue(const aValue: String); virtual; + procedure SetPROVINCIAIsNull(const aValue: Boolean); virtual; function GetCODIGO_POSTALValue: String; virtual; + function GetCODIGO_POSTALIsNull: Boolean; virtual; function GetOldCODIGO_POSTALValue: String; virtual; + function GetOldCODIGO_POSTALIsNull: Boolean; virtual; procedure SetCODIGO_POSTALValue(const aValue: String); virtual; + procedure SetCODIGO_POSTALIsNull(const aValue: Boolean); virtual; function GetTELEFONO_1Value: String; virtual; + function GetTELEFONO_1IsNull: Boolean; virtual; function GetOldTELEFONO_1Value: String; virtual; + function GetOldTELEFONO_1IsNull: Boolean; virtual; procedure SetTELEFONO_1Value(const aValue: String); virtual; + procedure SetTELEFONO_1IsNull(const aValue: Boolean); virtual; function GetTELEFONO_2Value: String; virtual; + function GetTELEFONO_2IsNull: Boolean; virtual; function GetOldTELEFONO_2Value: String; virtual; + function GetOldTELEFONO_2IsNull: Boolean; virtual; procedure SetTELEFONO_2Value(const aValue: String); virtual; + procedure SetTELEFONO_2IsNull(const aValue: Boolean); virtual; function GetMOVIL_1Value: String; virtual; + function GetMOVIL_1IsNull: Boolean; virtual; function GetOldMOVIL_1Value: String; virtual; + function GetOldMOVIL_1IsNull: Boolean; virtual; procedure SetMOVIL_1Value(const aValue: String); virtual; + procedure SetMOVIL_1IsNull(const aValue: Boolean); virtual; function GetMOVIL_2Value: String; virtual; + function GetMOVIL_2IsNull: Boolean; virtual; function GetOldMOVIL_2Value: String; virtual; + function GetOldMOVIL_2IsNull: Boolean; virtual; procedure SetMOVIL_2Value(const aValue: String); virtual; + procedure SetMOVIL_2IsNull(const aValue: Boolean); virtual; function GetFAXValue: String; virtual; + function GetFAXIsNull: Boolean; virtual; function GetOldFAXValue: String; virtual; + function GetOldFAXIsNull: Boolean; virtual; procedure SetFAXValue(const aValue: String); virtual; + procedure SetFAXIsNull(const aValue: Boolean); virtual; function GetEMAIL_1Value: String; virtual; + function GetEMAIL_1IsNull: Boolean; virtual; function GetOldEMAIL_1Value: String; virtual; + function GetOldEMAIL_1IsNull: Boolean; virtual; procedure SetEMAIL_1Value(const aValue: String); virtual; + procedure SetEMAIL_1IsNull(const aValue: Boolean); virtual; function GetEMAIL_2Value: String; virtual; + function GetEMAIL_2IsNull: Boolean; virtual; function GetOldEMAIL_2Value: String; virtual; + function GetOldEMAIL_2IsNull: Boolean; virtual; procedure SetEMAIL_2Value(const aValue: String); virtual; + procedure SetEMAIL_2IsNull(const aValue: Boolean); virtual; function GetPAGINA_WEBValue: String; virtual; + function GetPAGINA_WEBIsNull: Boolean; virtual; function GetOldPAGINA_WEBValue: String; virtual; + function GetOldPAGINA_WEBIsNull: Boolean; virtual; procedure SetPAGINA_WEBValue(const aValue: String); virtual; + procedure SetPAGINA_WEBIsNull(const aValue: Boolean); virtual; function GetNOTASValue: IROStrings; virtual; + function GetNOTASIsNull: Boolean; virtual; function GetOldNOTASValue: IROStrings; virtual; - procedure SetNOTASValue(const aValue: IROStrings); virtual; + function GetOldNOTASIsNull: Boolean; virtual; + procedure SetNOTASIsNull(const aValue: Boolean); virtual; + function GetFECHA_ALTAValue: DateTime; virtual; + function GetFECHA_ALTAIsNull: Boolean; virtual; + function GetOldFECHA_ALTAValue: DateTime; virtual; + function GetOldFECHA_ALTAIsNull: Boolean; virtual; + procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual; + procedure SetFECHA_ALTAIsNull(const aValue: Boolean); virtual; + function GetFECHA_MODIFICACIONValue: DateTime; virtual; + function GetFECHA_MODIFICACIONIsNull: Boolean; virtual; + function GetOldFECHA_MODIFICACIONValue: DateTime; virtual; + function GetOldFECHA_MODIFICACIONIsNull: Boolean; virtual; + procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual; + procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); virtual; function GetUSUARIOValue: String; virtual; + function GetUSUARIOIsNull: Boolean; virtual; function GetOldUSUARIOValue: String; virtual; + function GetOldUSUARIOIsNull: Boolean; virtual; procedure SetUSUARIOValue(const aValue: String); virtual; + procedure SetUSUARIOIsNull(const aValue: Boolean); virtual; function GetID_EMPRESAValue: Integer; virtual; + function GetID_EMPRESAIsNull: Boolean; virtual; function GetOldID_EMPRESAValue: Integer; virtual; + function GetOldID_EMPRESAIsNull: Boolean; virtual; procedure SetID_EMPRESAValue(const aValue: Integer); virtual; + procedure SetID_EMPRESAIsNull(const aValue: Boolean); virtual; function GetREFERENCIAValue: String; virtual; + function GetREFERENCIAIsNull: Boolean; virtual; function GetOldREFERENCIAValue: String; virtual; + function GetOldREFERENCIAIsNull: Boolean; virtual; procedure SetREFERENCIAValue(const aValue: String); virtual; - function GetCATEGORIAValue: String; virtual; - function GetOldCATEGORIAValue: String; virtual; - procedure SetCATEGORIAValue(const aValue: String); virtual; + procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual; function GetFECHA_NACIMIENTOValue: DateTime; virtual; + function GetFECHA_NACIMIENTOIsNull: Boolean; virtual; function GetOldFECHA_NACIMIENTOValue: DateTime; virtual; + function GetOldFECHA_NACIMIENTOIsNull: Boolean; virtual; procedure SetFECHA_NACIMIENTOValue(const aValue: DateTime); virtual; + procedure SetFECHA_NACIMIENTOIsNull(const aValue: Boolean); virtual; + function GetCATEGORIAValue: String; virtual; + function GetCATEGORIAIsNull: Boolean; virtual; + function GetOldCATEGORIAValue: String; virtual; + function GetOldCATEGORIAIsNull: Boolean; virtual; + procedure SetCATEGORIAValue(const aValue: String); virtual; + procedure SetCATEGORIAIsNull(const aValue: Boolean); virtual; function GetFECHA_ALTA_EMPRESAValue: DateTime; virtual; + function GetFECHA_ALTA_EMPRESAIsNull: Boolean; virtual; function GetOldFECHA_ALTA_EMPRESAValue: DateTime; virtual; + function GetOldFECHA_ALTA_EMPRESAIsNull: Boolean; virtual; procedure SetFECHA_ALTA_EMPRESAValue(const aValue: DateTime); virtual; + procedure SetFECHA_ALTA_EMPRESAIsNull(const aValue: Boolean); virtual; function GetFORMACION_BASEValue: IROStrings; virtual; + function GetFORMACION_BASEIsNull: Boolean; virtual; function GetOldFORMACION_BASEValue: IROStrings; virtual; - procedure SetFORMACION_BASEValue(const aValue: IROStrings); virtual; + function GetOldFORMACION_BASEIsNull: Boolean; virtual; + procedure SetFORMACION_BASEIsNull(const aValue: Boolean); virtual; function GetFORMACION_COMPLEValue: IROStrings; virtual; + function GetFORMACION_COMPLEIsNull: Boolean; virtual; function GetOldFORMACION_COMPLEValue: IROStrings; virtual; - procedure SetFORMACION_COMPLEValue(const aValue: IROStrings); virtual; + function GetOldFORMACION_COMPLEIsNull: Boolean; virtual; + procedure SetFORMACION_COMPLEIsNull(const aValue: Boolean); virtual; function GetFORMACION_RECIBIDAValue: IROStrings; virtual; + function GetFORMACION_RECIBIDAIsNull: Boolean; virtual; function GetOldFORMACION_RECIBIDAValue: IROStrings; virtual; - procedure SetFORMACION_RECIBIDAValue(const aValue: IROStrings); virtual; + function GetOldFORMACION_RECIBIDAIsNull: Boolean; virtual; + procedure SetFORMACION_RECIBIDAIsNull(const aValue: Boolean); virtual; function GetEXPERIENCIAValue: IROStrings; virtual; + function GetEXPERIENCIAIsNull: Boolean; virtual; function GetOldEXPERIENCIAValue: IROStrings; virtual; - procedure SetEXPERIENCIAValue(const aValue: IROStrings); virtual; + function GetOldEXPERIENCIAIsNull: Boolean; virtual; + procedure SetEXPERIENCIAIsNull(const aValue: Boolean); virtual; { Properties } property ID : Integer read GetIDValue write SetIDValue; + property IDIsNull : Boolean read GetIDIsNull write SetIDIsNull; property OldID : Integer read GetOldIDValue; + property OldIDIsNull : Boolean read GetOldIDIsNull; property ID_CATEGORIA : Integer read GetID_CATEGORIAValue write SetID_CATEGORIAValue; + property ID_CATEGORIAIsNull : Boolean read GetID_CATEGORIAIsNull write SetID_CATEGORIAIsNull; property OldID_CATEGORIA : Integer read GetOldID_CATEGORIAValue; + property OldID_CATEGORIAIsNull : Boolean read GetOldID_CATEGORIAIsNull; property NIF_CIF : String read GetNIF_CIFValue write SetNIF_CIFValue; + property NIF_CIFIsNull : Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull; property OldNIF_CIF : String read GetOldNIF_CIFValue; + property OldNIF_CIFIsNull : Boolean read GetOldNIF_CIFIsNull; property NOMBRE : String read GetNOMBREValue write SetNOMBREValue; + property NOMBREIsNull : Boolean read GetNOMBREIsNull write SetNOMBREIsNull; property OldNOMBRE : String read GetOldNOMBREValue; - property CALLE : String read GetCALLEValue write SetCALLEValue; - property OldCALLE : String read GetOldCALLEValue; + property OldNOMBREIsNull : Boolean read GetOldNOMBREIsNull; property PERSONA_CONTACTO : String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue; + property PERSONA_CONTACTOIsNull : Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull; property OldPERSONA_CONTACTO : String read GetOldPERSONA_CONTACTOValue; + property OldPERSONA_CONTACTOIsNull : Boolean read GetOldPERSONA_CONTACTOIsNull; + property CALLE : String read GetCALLEValue write SetCALLEValue; + property CALLEIsNull : Boolean read GetCALLEIsNull write SetCALLEIsNull; + property OldCALLE : String read GetOldCALLEValue; + property OldCALLEIsNull : Boolean read GetOldCALLEIsNull; property POBLACION : String read GetPOBLACIONValue write SetPOBLACIONValue; + property POBLACIONIsNull : Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull; property OldPOBLACION : String read GetOldPOBLACIONValue; + property OldPOBLACIONIsNull : Boolean read GetOldPOBLACIONIsNull; property PROVINCIA : String read GetPROVINCIAValue write SetPROVINCIAValue; + property PROVINCIAIsNull : Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull; property OldPROVINCIA : String read GetOldPROVINCIAValue; + property OldPROVINCIAIsNull : Boolean read GetOldPROVINCIAIsNull; property CODIGO_POSTAL : String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue; + property CODIGO_POSTALIsNull : Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull; property OldCODIGO_POSTAL : String read GetOldCODIGO_POSTALValue; + property OldCODIGO_POSTALIsNull : Boolean read GetOldCODIGO_POSTALIsNull; property TELEFONO_1 : String read GetTELEFONO_1Value write SetTELEFONO_1Value; + property TELEFONO_1IsNull : Boolean read GetTELEFONO_1IsNull write SetTELEFONO_1IsNull; property OldTELEFONO_1 : String read GetOldTELEFONO_1Value; + property OldTELEFONO_1IsNull : Boolean read GetOldTELEFONO_1IsNull; property TELEFONO_2 : String read GetTELEFONO_2Value write SetTELEFONO_2Value; + property TELEFONO_2IsNull : Boolean read GetTELEFONO_2IsNull write SetTELEFONO_2IsNull; property OldTELEFONO_2 : String read GetOldTELEFONO_2Value; + property OldTELEFONO_2IsNull : Boolean read GetOldTELEFONO_2IsNull; property MOVIL_1 : String read GetMOVIL_1Value write SetMOVIL_1Value; + property MOVIL_1IsNull : Boolean read GetMOVIL_1IsNull write SetMOVIL_1IsNull; property OldMOVIL_1 : String read GetOldMOVIL_1Value; + property OldMOVIL_1IsNull : Boolean read GetOldMOVIL_1IsNull; property MOVIL_2 : String read GetMOVIL_2Value write SetMOVIL_2Value; + property MOVIL_2IsNull : Boolean read GetMOVIL_2IsNull write SetMOVIL_2IsNull; property OldMOVIL_2 : String read GetOldMOVIL_2Value; + property OldMOVIL_2IsNull : Boolean read GetOldMOVIL_2IsNull; property FAX : String read GetFAXValue write SetFAXValue; + property FAXIsNull : Boolean read GetFAXIsNull write SetFAXIsNull; property OldFAX : String read GetOldFAXValue; + property OldFAXIsNull : Boolean read GetOldFAXIsNull; property EMAIL_1 : String read GetEMAIL_1Value write SetEMAIL_1Value; + property EMAIL_1IsNull : Boolean read GetEMAIL_1IsNull write SetEMAIL_1IsNull; property OldEMAIL_1 : String read GetOldEMAIL_1Value; + property OldEMAIL_1IsNull : Boolean read GetOldEMAIL_1IsNull; property EMAIL_2 : String read GetEMAIL_2Value write SetEMAIL_2Value; + property EMAIL_2IsNull : Boolean read GetEMAIL_2IsNull write SetEMAIL_2IsNull; property OldEMAIL_2 : String read GetOldEMAIL_2Value; + property OldEMAIL_2IsNull : Boolean read GetOldEMAIL_2IsNull; property PAGINA_WEB : String read GetPAGINA_WEBValue write SetPAGINA_WEBValue; + property PAGINA_WEBIsNull : Boolean read GetPAGINA_WEBIsNull write SetPAGINA_WEBIsNull; property OldPAGINA_WEB : String read GetOldPAGINA_WEBValue; - property NOTAS : IROStrings read GetNOTASValue write SetNOTASValue; + property OldPAGINA_WEBIsNull : Boolean read GetOldPAGINA_WEBIsNull; + property NOTAS : IROStrings read GetNOTASValue; + property NOTASIsNull : Boolean read GetNOTASIsNull write SetNOTASIsNull; property OldNOTAS : IROStrings read GetOldNOTASValue; + property OldNOTASIsNull : Boolean read GetOldNOTASIsNull; + property FECHA_ALTA : DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue; + property FECHA_ALTAIsNull : Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull; + property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue; + property OldFECHA_ALTAIsNull : Boolean read GetOldFECHA_ALTAIsNull; + property FECHA_MODIFICACION : DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue; + property FECHA_MODIFICACIONIsNull : Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull; + property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue; + property OldFECHA_MODIFICACIONIsNull : Boolean read GetOldFECHA_MODIFICACIONIsNull; property USUARIO : String read GetUSUARIOValue write SetUSUARIOValue; + property USUARIOIsNull : Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull; property OldUSUARIO : String read GetOldUSUARIOValue; + property OldUSUARIOIsNull : Boolean read GetOldUSUARIOIsNull; property ID_EMPRESA : Integer read GetID_EMPRESAValue write SetID_EMPRESAValue; + property ID_EMPRESAIsNull : Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull; property OldID_EMPRESA : Integer read GetOldID_EMPRESAValue; + property OldID_EMPRESAIsNull : Boolean read GetOldID_EMPRESAIsNull; property REFERENCIA : String read GetREFERENCIAValue write SetREFERENCIAValue; + property REFERENCIAIsNull : Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull; property OldREFERENCIA : String read GetOldREFERENCIAValue; - property CATEGORIA : String read GetCATEGORIAValue write SetCATEGORIAValue; - property OldCATEGORIA : String read GetOldCATEGORIAValue; + property OldREFERENCIAIsNull : Boolean read GetOldREFERENCIAIsNull; property FECHA_NACIMIENTO : DateTime read GetFECHA_NACIMIENTOValue write SetFECHA_NACIMIENTOValue; + property FECHA_NACIMIENTOIsNull : Boolean read GetFECHA_NACIMIENTOIsNull write SetFECHA_NACIMIENTOIsNull; property OldFECHA_NACIMIENTO : DateTime read GetOldFECHA_NACIMIENTOValue; + property OldFECHA_NACIMIENTOIsNull : Boolean read GetOldFECHA_NACIMIENTOIsNull; + property CATEGORIA : String read GetCATEGORIAValue write SetCATEGORIAValue; + property CATEGORIAIsNull : Boolean read GetCATEGORIAIsNull write SetCATEGORIAIsNull; + property OldCATEGORIA : String read GetOldCATEGORIAValue; + property OldCATEGORIAIsNull : Boolean read GetOldCATEGORIAIsNull; property FECHA_ALTA_EMPRESA : DateTime read GetFECHA_ALTA_EMPRESAValue write SetFECHA_ALTA_EMPRESAValue; + property FECHA_ALTA_EMPRESAIsNull : Boolean read GetFECHA_ALTA_EMPRESAIsNull write SetFECHA_ALTA_EMPRESAIsNull; property OldFECHA_ALTA_EMPRESA : DateTime read GetOldFECHA_ALTA_EMPRESAValue; - property FORMACION_BASE : IROStrings read GetFORMACION_BASEValue write SetFORMACION_BASEValue; + property OldFECHA_ALTA_EMPRESAIsNull : Boolean read GetOldFECHA_ALTA_EMPRESAIsNull; + property FORMACION_BASE : IROStrings read GetFORMACION_BASEValue; + property FORMACION_BASEIsNull : Boolean read GetFORMACION_BASEIsNull write SetFORMACION_BASEIsNull; property OldFORMACION_BASE : IROStrings read GetOldFORMACION_BASEValue; - property FORMACION_COMPLE : IROStrings read GetFORMACION_COMPLEValue write SetFORMACION_COMPLEValue; + property OldFORMACION_BASEIsNull : Boolean read GetOldFORMACION_BASEIsNull; + property FORMACION_COMPLE : IROStrings read GetFORMACION_COMPLEValue; + property FORMACION_COMPLEIsNull : Boolean read GetFORMACION_COMPLEIsNull write SetFORMACION_COMPLEIsNull; property OldFORMACION_COMPLE : IROStrings read GetOldFORMACION_COMPLEValue; - property FORMACION_RECIBIDA : IROStrings read GetFORMACION_RECIBIDAValue write SetFORMACION_RECIBIDAValue; + property OldFORMACION_COMPLEIsNull : Boolean read GetOldFORMACION_COMPLEIsNull; + property FORMACION_RECIBIDA : IROStrings read GetFORMACION_RECIBIDAValue; + property FORMACION_RECIBIDAIsNull : Boolean read GetFORMACION_RECIBIDAIsNull write SetFORMACION_RECIBIDAIsNull; property OldFORMACION_RECIBIDA : IROStrings read GetOldFORMACION_RECIBIDAValue; - property EXPERIENCIA : IROStrings read GetEXPERIENCIAValue write SetEXPERIENCIAValue; + property OldFORMACION_RECIBIDAIsNull : Boolean read GetOldFORMACION_RECIBIDAIsNull; + property EXPERIENCIA : IROStrings read GetEXPERIENCIAValue; + property EXPERIENCIAIsNull : Boolean read GetEXPERIENCIAIsNull write SetEXPERIENCIAIsNull; property OldEXPERIENCIA : IROStrings read GetOldEXPERIENCIAValue; + property OldEXPERIENCIAIsNull : Boolean read GetOldEXPERIENCIAIsNull; public constructor Create(aBusinessProcessor: TDABusinessProcessor); override; @@ -1025,117 +1758,212 @@ type { IDireccionesContactoDelta } IDireccionesContactoDelta = interface(IDireccionesContacto) - ['{D6123AD7-AA38-4AEF-9E89-E713C83A3DDC}'] + ['{A9890AF4-313B-4379-B667-7C61575A5E7B}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_CONTACTOValue : Integer; - function GetOldNOMBREValue : String; function GetOldCALLEValue : String; function GetOldPOBLACIONValue : String; function GetOldPROVINCIAValue : String; function GetOldCODIGO_POSTALValue : String; function GetOldPERSONA_CONTACTOValue : String; + function GetOldNOMBREValue : String; function GetOldTELEFONOValue : String; function GetOldMOVILValue : String; function GetOldFAXValue : String; function GetOldEMAILValue : String; function GetOldNOTASValue : IROStrings; function GetOldPORTEValue : Float; + function GetOldFECHA_ALTAValue : DateTime; + function GetOldFECHA_MODIFICACIONValue : DateTime; { Properties } property OldID : Integer read GetOldIDValue; property OldID_CONTACTO : Integer read GetOldID_CONTACTOValue; - property OldNOMBRE : String read GetOldNOMBREValue; property OldCALLE : String read GetOldCALLEValue; property OldPOBLACION : String read GetOldPOBLACIONValue; property OldPROVINCIA : String read GetOldPROVINCIAValue; property OldCODIGO_POSTAL : String read GetOldCODIGO_POSTALValue; property OldPERSONA_CONTACTO : String read GetOldPERSONA_CONTACTOValue; + property OldNOMBRE : String read GetOldNOMBREValue; property OldTELEFONO : String read GetOldTELEFONOValue; property OldMOVIL : String read GetOldMOVILValue; property OldFAX : String read GetOldFAXValue; property OldEMAIL : String read GetOldEMAILValue; property OldNOTAS : IROStrings read GetOldNOTASValue; property OldPORTE : Float read GetOldPORTEValue; + property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue; + property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue; end; { TDireccionesContactoBusinessProcessorRules } TDireccionesContactoBusinessProcessorRules = class(TDABusinessProcessorRules, IDireccionesContacto, IDireccionesContactoDelta) private + f_NOTAS: IROStrings; + procedure NOTAS_OnChange(Sender: TObject); protected { Property getters and setters } function GetIDValue: Integer; virtual; + function GetIDIsNull: Boolean; virtual; function GetOldIDValue: Integer; virtual; + function GetOldIDIsNull: Boolean; virtual; procedure SetIDValue(const aValue: Integer); virtual; + procedure SetIDIsNull(const aValue: Boolean); virtual; function GetID_CONTACTOValue: Integer; virtual; + function GetID_CONTACTOIsNull: Boolean; virtual; function GetOldID_CONTACTOValue: Integer; virtual; + function GetOldID_CONTACTOIsNull: Boolean; virtual; procedure SetID_CONTACTOValue(const aValue: Integer); virtual; - function GetNOMBREValue: String; virtual; - function GetOldNOMBREValue: String; virtual; - procedure SetNOMBREValue(const aValue: String); virtual; + procedure SetID_CONTACTOIsNull(const aValue: Boolean); virtual; function GetCALLEValue: String; virtual; + function GetCALLEIsNull: Boolean; virtual; function GetOldCALLEValue: String; virtual; + function GetOldCALLEIsNull: Boolean; virtual; procedure SetCALLEValue(const aValue: String); virtual; + procedure SetCALLEIsNull(const aValue: Boolean); virtual; function GetPOBLACIONValue: String; virtual; + function GetPOBLACIONIsNull: Boolean; virtual; function GetOldPOBLACIONValue: String; virtual; + function GetOldPOBLACIONIsNull: Boolean; virtual; procedure SetPOBLACIONValue(const aValue: String); virtual; + procedure SetPOBLACIONIsNull(const aValue: Boolean); virtual; function GetPROVINCIAValue: String; virtual; + function GetPROVINCIAIsNull: Boolean; virtual; function GetOldPROVINCIAValue: String; virtual; + function GetOldPROVINCIAIsNull: Boolean; virtual; procedure SetPROVINCIAValue(const aValue: String); virtual; + procedure SetPROVINCIAIsNull(const aValue: Boolean); virtual; function GetCODIGO_POSTALValue: String; virtual; + function GetCODIGO_POSTALIsNull: Boolean; virtual; function GetOldCODIGO_POSTALValue: String; virtual; + function GetOldCODIGO_POSTALIsNull: Boolean; virtual; procedure SetCODIGO_POSTALValue(const aValue: String); virtual; + procedure SetCODIGO_POSTALIsNull(const aValue: Boolean); virtual; function GetPERSONA_CONTACTOValue: String; virtual; + function GetPERSONA_CONTACTOIsNull: Boolean; virtual; function GetOldPERSONA_CONTACTOValue: String; virtual; + function GetOldPERSONA_CONTACTOIsNull: Boolean; virtual; procedure SetPERSONA_CONTACTOValue(const aValue: String); virtual; + procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean); virtual; + function GetNOMBREValue: String; virtual; + function GetNOMBREIsNull: Boolean; virtual; + function GetOldNOMBREValue: String; virtual; + function GetOldNOMBREIsNull: Boolean; virtual; + procedure SetNOMBREValue(const aValue: String); virtual; + procedure SetNOMBREIsNull(const aValue: Boolean); virtual; function GetTELEFONOValue: String; virtual; + function GetTELEFONOIsNull: Boolean; virtual; function GetOldTELEFONOValue: String; virtual; + function GetOldTELEFONOIsNull: Boolean; virtual; procedure SetTELEFONOValue(const aValue: String); virtual; + procedure SetTELEFONOIsNull(const aValue: Boolean); virtual; function GetMOVILValue: String; virtual; + function GetMOVILIsNull: Boolean; virtual; function GetOldMOVILValue: String; virtual; + function GetOldMOVILIsNull: Boolean; virtual; procedure SetMOVILValue(const aValue: String); virtual; + procedure SetMOVILIsNull(const aValue: Boolean); virtual; function GetFAXValue: String; virtual; + function GetFAXIsNull: Boolean; virtual; function GetOldFAXValue: String; virtual; + function GetOldFAXIsNull: Boolean; virtual; procedure SetFAXValue(const aValue: String); virtual; + procedure SetFAXIsNull(const aValue: Boolean); virtual; function GetEMAILValue: String; virtual; + function GetEMAILIsNull: Boolean; virtual; function GetOldEMAILValue: String; virtual; + function GetOldEMAILIsNull: Boolean; virtual; procedure SetEMAILValue(const aValue: String); virtual; + procedure SetEMAILIsNull(const aValue: Boolean); virtual; function GetNOTASValue: IROStrings; virtual; + function GetNOTASIsNull: Boolean; virtual; function GetOldNOTASValue: IROStrings; virtual; - procedure SetNOTASValue(const aValue: IROStrings); virtual; + function GetOldNOTASIsNull: Boolean; virtual; + procedure SetNOTASIsNull(const aValue: Boolean); virtual; function GetPORTEValue: Float; virtual; + function GetPORTEIsNull: Boolean; virtual; function GetOldPORTEValue: Float; virtual; + function GetOldPORTEIsNull: Boolean; virtual; procedure SetPORTEValue(const aValue: Float); virtual; + procedure SetPORTEIsNull(const aValue: Boolean); virtual; + function GetFECHA_ALTAValue: DateTime; virtual; + function GetFECHA_ALTAIsNull: Boolean; virtual; + function GetOldFECHA_ALTAValue: DateTime; virtual; + function GetOldFECHA_ALTAIsNull: Boolean; virtual; + procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual; + procedure SetFECHA_ALTAIsNull(const aValue: Boolean); virtual; + function GetFECHA_MODIFICACIONValue: DateTime; virtual; + function GetFECHA_MODIFICACIONIsNull: Boolean; virtual; + function GetOldFECHA_MODIFICACIONValue: DateTime; virtual; + function GetOldFECHA_MODIFICACIONIsNull: Boolean; virtual; + procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual; + procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); virtual; { Properties } property ID : Integer read GetIDValue write SetIDValue; + property IDIsNull : Boolean read GetIDIsNull write SetIDIsNull; property OldID : Integer read GetOldIDValue; + property OldIDIsNull : Boolean read GetOldIDIsNull; property ID_CONTACTO : Integer read GetID_CONTACTOValue write SetID_CONTACTOValue; + property ID_CONTACTOIsNull : Boolean read GetID_CONTACTOIsNull write SetID_CONTACTOIsNull; property OldID_CONTACTO : Integer read GetOldID_CONTACTOValue; - property NOMBRE : String read GetNOMBREValue write SetNOMBREValue; - property OldNOMBRE : String read GetOldNOMBREValue; + property OldID_CONTACTOIsNull : Boolean read GetOldID_CONTACTOIsNull; property CALLE : String read GetCALLEValue write SetCALLEValue; + property CALLEIsNull : Boolean read GetCALLEIsNull write SetCALLEIsNull; property OldCALLE : String read GetOldCALLEValue; + property OldCALLEIsNull : Boolean read GetOldCALLEIsNull; property POBLACION : String read GetPOBLACIONValue write SetPOBLACIONValue; + property POBLACIONIsNull : Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull; property OldPOBLACION : String read GetOldPOBLACIONValue; + property OldPOBLACIONIsNull : Boolean read GetOldPOBLACIONIsNull; property PROVINCIA : String read GetPROVINCIAValue write SetPROVINCIAValue; + property PROVINCIAIsNull : Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull; property OldPROVINCIA : String read GetOldPROVINCIAValue; + property OldPROVINCIAIsNull : Boolean read GetOldPROVINCIAIsNull; property CODIGO_POSTAL : String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue; + property CODIGO_POSTALIsNull : Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull; property OldCODIGO_POSTAL : String read GetOldCODIGO_POSTALValue; + property OldCODIGO_POSTALIsNull : Boolean read GetOldCODIGO_POSTALIsNull; property PERSONA_CONTACTO : String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue; + property PERSONA_CONTACTOIsNull : Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull; property OldPERSONA_CONTACTO : String read GetOldPERSONA_CONTACTOValue; + property OldPERSONA_CONTACTOIsNull : Boolean read GetOldPERSONA_CONTACTOIsNull; + property NOMBRE : String read GetNOMBREValue write SetNOMBREValue; + property NOMBREIsNull : Boolean read GetNOMBREIsNull write SetNOMBREIsNull; + property OldNOMBRE : String read GetOldNOMBREValue; + property OldNOMBREIsNull : Boolean read GetOldNOMBREIsNull; property TELEFONO : String read GetTELEFONOValue write SetTELEFONOValue; + property TELEFONOIsNull : Boolean read GetTELEFONOIsNull write SetTELEFONOIsNull; property OldTELEFONO : String read GetOldTELEFONOValue; + property OldTELEFONOIsNull : Boolean read GetOldTELEFONOIsNull; property MOVIL : String read GetMOVILValue write SetMOVILValue; + property MOVILIsNull : Boolean read GetMOVILIsNull write SetMOVILIsNull; property OldMOVIL : String read GetOldMOVILValue; + property OldMOVILIsNull : Boolean read GetOldMOVILIsNull; property FAX : String read GetFAXValue write SetFAXValue; + property FAXIsNull : Boolean read GetFAXIsNull write SetFAXIsNull; property OldFAX : String read GetOldFAXValue; + property OldFAXIsNull : Boolean read GetOldFAXIsNull; property EMAIL : String read GetEMAILValue write SetEMAILValue; + property EMAILIsNull : Boolean read GetEMAILIsNull write SetEMAILIsNull; property OldEMAIL : String read GetOldEMAILValue; - property NOTAS : IROStrings read GetNOTASValue write SetNOTASValue; + property OldEMAILIsNull : Boolean read GetOldEMAILIsNull; + property NOTAS : IROStrings read GetNOTASValue; + property NOTASIsNull : Boolean read GetNOTASIsNull write SetNOTASIsNull; property OldNOTAS : IROStrings read GetOldNOTASValue; + property OldNOTASIsNull : Boolean read GetOldNOTASIsNull; property PORTE : Float read GetPORTEValue write SetPORTEValue; + property PORTEIsNull : Boolean read GetPORTEIsNull write SetPORTEIsNull; property OldPORTE : Float read GetOldPORTEValue; + property OldPORTEIsNull : Boolean read GetOldPORTEIsNull; + property FECHA_ALTA : DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue; + property FECHA_ALTAIsNull : Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull; + property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue; + property OldFECHA_ALTAIsNull : Boolean read GetOldFECHA_ALTAIsNull; + property FECHA_MODIFICACION : DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue; + property FECHA_MODIFICACIONIsNull : Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull; + property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue; + property OldFECHA_MODIFICACIONIsNull : Boolean read GetOldFECHA_MODIFICACIONIsNull; public constructor Create(aBusinessProcessor: TDABusinessProcessor); override; @@ -1145,7 +1973,7 @@ type { IClientesDescuentosDelta } IClientesDescuentosDelta = interface(IClientesDescuentos) - ['{2E020115-E0E9-464F-B175-1BED0E2BF0B1}'] + ['{541FF616-E3D7-4B21-8F45-4EC12B42AD92}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_CLIENTEValue : Integer; @@ -1167,32 +1995,57 @@ type protected { Property getters and setters } function GetIDValue: Integer; virtual; + function GetIDIsNull: Boolean; virtual; function GetOldIDValue: Integer; virtual; + function GetOldIDIsNull: Boolean; virtual; procedure SetIDValue(const aValue: Integer); virtual; + procedure SetIDIsNull(const aValue: Boolean); virtual; function GetID_CLIENTEValue: Integer; virtual; + function GetID_CLIENTEIsNull: Boolean; virtual; function GetOldID_CLIENTEValue: Integer; virtual; + function GetOldID_CLIENTEIsNull: Boolean; virtual; procedure SetID_CLIENTEValue(const aValue: Integer); virtual; + procedure SetID_CLIENTEIsNull(const aValue: Boolean); virtual; function GetID_PROVEEDORValue: Integer; virtual; + function GetID_PROVEEDORIsNull: Boolean; virtual; function GetOldID_PROVEEDORValue: Integer; virtual; + function GetOldID_PROVEEDORIsNull: Boolean; virtual; procedure SetID_PROVEEDORValue(const aValue: Integer); virtual; + procedure SetID_PROVEEDORIsNull(const aValue: Boolean); virtual; function GetNOMBREValue: String; virtual; + function GetNOMBREIsNull: Boolean; virtual; function GetOldNOMBREValue: String; virtual; + function GetOldNOMBREIsNull: Boolean; virtual; procedure SetNOMBREValue(const aValue: String); virtual; + procedure SetNOMBREIsNull(const aValue: Boolean); virtual; function GetDESCUENTOValue: Float; virtual; + function GetDESCUENTOIsNull: Boolean; virtual; function GetOldDESCUENTOValue: Float; virtual; + function GetOldDESCUENTOIsNull: Boolean; virtual; procedure SetDESCUENTOValue(const aValue: Float); virtual; + procedure SetDESCUENTOIsNull(const aValue: Boolean); virtual; { Properties } property ID : Integer read GetIDValue write SetIDValue; + property IDIsNull : Boolean read GetIDIsNull write SetIDIsNull; property OldID : Integer read GetOldIDValue; + property OldIDIsNull : Boolean read GetOldIDIsNull; property ID_CLIENTE : Integer read GetID_CLIENTEValue write SetID_CLIENTEValue; + property ID_CLIENTEIsNull : Boolean read GetID_CLIENTEIsNull write SetID_CLIENTEIsNull; property OldID_CLIENTE : Integer read GetOldID_CLIENTEValue; + property OldID_CLIENTEIsNull : Boolean read GetOldID_CLIENTEIsNull; property ID_PROVEEDOR : Integer read GetID_PROVEEDORValue write SetID_PROVEEDORValue; + property ID_PROVEEDORIsNull : Boolean read GetID_PROVEEDORIsNull write SetID_PROVEEDORIsNull; property OldID_PROVEEDOR : Integer read GetOldID_PROVEEDORValue; + property OldID_PROVEEDORIsNull : Boolean read GetOldID_PROVEEDORIsNull; property NOMBRE : String read GetNOMBREValue write SetNOMBREValue; + property NOMBREIsNull : Boolean read GetNOMBREIsNull write SetNOMBREIsNull; property OldNOMBRE : String read GetOldNOMBREValue; + property OldNOMBREIsNull : Boolean read GetOldNOMBREIsNull; property DESCUENTO : Float read GetDESCUENTOValue write SetDESCUENTOValue; + property DESCUENTOIsNull : Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull; property OldDESCUENTO : Float read GetOldDESCUENTOValue; + property OldDESCUENTOIsNull : Boolean read GetOldDESCUENTOIsNull; public constructor Create(aBusinessProcessor: TDABusinessProcessor); override; @@ -1202,7 +2055,7 @@ type { IGruposProveedorDelta } IGruposProveedorDelta = interface(IGruposProveedor) - ['{14E46C85-BAAE-4A15-B868-EC579AF38A8A}'] + ['{CF38615B-E679-4D09-A621-C90DFB4F4F10}'] { Property getters and setters } function GetOldDESCRIPCIONValue : String; @@ -1216,12 +2069,17 @@ type protected { Property getters and setters } function GetDESCRIPCIONValue: String; virtual; + function GetDESCRIPCIONIsNull: Boolean; virtual; function GetOldDESCRIPCIONValue: String; virtual; + function GetOldDESCRIPCIONIsNull: Boolean; virtual; procedure SetDESCRIPCIONValue(const aValue: String); virtual; + procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual; { Properties } property DESCRIPCION : String read GetDESCRIPCIONValue write SetDESCRIPCIONValue; + property DESCRIPCIONIsNull : Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull; property OldDESCRIPCION : String read GetOldDESCRIPCIONValue; + property OldDESCRIPCIONIsNull : Boolean read GetOldDESCRIPCIONIsNull; public constructor Create(aBusinessProcessor: TDABusinessProcessor); override; @@ -1231,7 +2089,7 @@ type { IGruposEmpleadoDelta } IGruposEmpleadoDelta = interface(IGruposEmpleado) - ['{364591F3-D581-4104-9125-7CE465563DEB}'] + ['{57335A1E-F228-4448-85E4-3CFAC72FFD63}'] { Property getters and setters } function GetOldDESCRIPCIONValue : String; @@ -1245,12 +2103,17 @@ type protected { Property getters and setters } function GetDESCRIPCIONValue: String; virtual; + function GetDESCRIPCIONIsNull: Boolean; virtual; function GetOldDESCRIPCIONValue: String; virtual; + function GetOldDESCRIPCIONIsNull: Boolean; virtual; procedure SetDESCRIPCIONValue(const aValue: String); virtual; + procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual; { Properties } property DESCRIPCION : String read GetDESCRIPCIONValue write SetDESCRIPCIONValue; + property DESCRIPCIONIsNull : Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull; property OldDESCRIPCION : String read GetOldDESCRIPCIONValue; + property OldDESCRIPCIONIsNull : Boolean read GetOldDESCRIPCIONIsNull; public constructor Create(aBusinessProcessor: TDABusinessProcessor); override; @@ -1261,12 +2124,18 @@ type implementation uses - Variants, uROBinaryHelpers; + Variants, uROBinaryHelpers, uDAInterfaces; { TContactosBusinessProcessorRules } constructor TContactosBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); +var + StrList: TStringList; begin inherited; + + StrList := TStringList.Create; + StrList.OnChange := NOTAS_OnChange; + f_NOTAS := NewROStrings(StrList,True); end; destructor TContactosBusinessProcessorRules.Destroy; @@ -1274,276 +2143,626 @@ begin inherited; end; +procedure TContactosBusinessProcessorRules.NOTAS_OnChange(Sender: TObject); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosNOTAS] := TStringList(Sender).Text; +end; + function TContactosBusinessProcessorRules.GetIDValue: Integer; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosID]; end; +function TContactosBusinessProcessorRules.GetIDIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosID]); +end; + function TContactosBusinessProcessorRules.GetOldIDValue: Integer; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosID]; end; +function TContactosBusinessProcessorRules.GetOldIDIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosID]); +end; + procedure TContactosBusinessProcessorRules.SetIDValue(const aValue: Integer); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosID] := aValue; end; +procedure TContactosBusinessProcessorRules.SetIDIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosID] := Null; +end; + function TContactosBusinessProcessorRules.GetID_CATEGORIAValue: Integer; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosID_CATEGORIA]; end; +function TContactosBusinessProcessorRules.GetID_CATEGORIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosID_CATEGORIA]); +end; + function TContactosBusinessProcessorRules.GetOldID_CATEGORIAValue: Integer; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosID_CATEGORIA]; end; +function TContactosBusinessProcessorRules.GetOldID_CATEGORIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosID_CATEGORIA]); +end; + procedure TContactosBusinessProcessorRules.SetID_CATEGORIAValue(const aValue: Integer); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosID_CATEGORIA] := aValue; end; +procedure TContactosBusinessProcessorRules.SetID_CATEGORIAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosID_CATEGORIA] := Null; +end; + function TContactosBusinessProcessorRules.GetNIF_CIFValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosNIF_CIF]; end; +function TContactosBusinessProcessorRules.GetNIF_CIFIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosNIF_CIF]); +end; + function TContactosBusinessProcessorRules.GetOldNIF_CIFValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosNIF_CIF]; end; +function TContactosBusinessProcessorRules.GetOldNIF_CIFIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosNIF_CIF]); +end; + procedure TContactosBusinessProcessorRules.SetNIF_CIFValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosNIF_CIF] := aValue; end; +procedure TContactosBusinessProcessorRules.SetNIF_CIFIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosNIF_CIF] := Null; +end; + function TContactosBusinessProcessorRules.GetNOMBREValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosNOMBRE]; end; +function TContactosBusinessProcessorRules.GetNOMBREIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosNOMBRE]); +end; + function TContactosBusinessProcessorRules.GetOldNOMBREValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosNOMBRE]; end; +function TContactosBusinessProcessorRules.GetOldNOMBREIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosNOMBRE]); +end; + procedure TContactosBusinessProcessorRules.SetNOMBREValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosNOMBRE] := aValue; end; +procedure TContactosBusinessProcessorRules.SetNOMBREIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosNOMBRE] := Null; +end; + function TContactosBusinessProcessorRules.GetPERSONA_CONTACTOValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosPERSONA_CONTACTO]; end; +function TContactosBusinessProcessorRules.GetPERSONA_CONTACTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosPERSONA_CONTACTO]); +end; + function TContactosBusinessProcessorRules.GetOldPERSONA_CONTACTOValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosPERSONA_CONTACTO]; end; +function TContactosBusinessProcessorRules.GetOldPERSONA_CONTACTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosPERSONA_CONTACTO]); +end; + procedure TContactosBusinessProcessorRules.SetPERSONA_CONTACTOValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosPERSONA_CONTACTO] := aValue; end; +procedure TContactosBusinessProcessorRules.SetPERSONA_CONTACTOIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosPERSONA_CONTACTO] := Null; +end; + function TContactosBusinessProcessorRules.GetCALLEValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosCALLE]; end; +function TContactosBusinessProcessorRules.GetCALLEIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosCALLE]); +end; + function TContactosBusinessProcessorRules.GetOldCALLEValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosCALLE]; end; +function TContactosBusinessProcessorRules.GetOldCALLEIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosCALLE]); +end; + procedure TContactosBusinessProcessorRules.SetCALLEValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosCALLE] := aValue; end; +procedure TContactosBusinessProcessorRules.SetCALLEIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosCALLE] := Null; +end; + function TContactosBusinessProcessorRules.GetPOBLACIONValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosPOBLACION]; end; +function TContactosBusinessProcessorRules.GetPOBLACIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosPOBLACION]); +end; + function TContactosBusinessProcessorRules.GetOldPOBLACIONValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosPOBLACION]; end; +function TContactosBusinessProcessorRules.GetOldPOBLACIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosPOBLACION]); +end; + procedure TContactosBusinessProcessorRules.SetPOBLACIONValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosPOBLACION] := aValue; end; +procedure TContactosBusinessProcessorRules.SetPOBLACIONIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosPOBLACION] := Null; +end; + function TContactosBusinessProcessorRules.GetPROVINCIAValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosPROVINCIA]; end; +function TContactosBusinessProcessorRules.GetPROVINCIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosPROVINCIA]); +end; + function TContactosBusinessProcessorRules.GetOldPROVINCIAValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosPROVINCIA]; end; +function TContactosBusinessProcessorRules.GetOldPROVINCIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosPROVINCIA]); +end; + procedure TContactosBusinessProcessorRules.SetPROVINCIAValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosPROVINCIA] := aValue; end; +procedure TContactosBusinessProcessorRules.SetPROVINCIAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosPROVINCIA] := Null; +end; + function TContactosBusinessProcessorRules.GetCODIGO_POSTALValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosCODIGO_POSTAL]; end; +function TContactosBusinessProcessorRules.GetCODIGO_POSTALIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosCODIGO_POSTAL]); +end; + function TContactosBusinessProcessorRules.GetOldCODIGO_POSTALValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosCODIGO_POSTAL]; end; +function TContactosBusinessProcessorRules.GetOldCODIGO_POSTALIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosCODIGO_POSTAL]); +end; + procedure TContactosBusinessProcessorRules.SetCODIGO_POSTALValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosCODIGO_POSTAL] := aValue; end; +procedure TContactosBusinessProcessorRules.SetCODIGO_POSTALIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosCODIGO_POSTAL] := Null; +end; + function TContactosBusinessProcessorRules.GetTELEFONO_1Value: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosTELEFONO_1]; end; +function TContactosBusinessProcessorRules.GetTELEFONO_1IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosTELEFONO_1]); +end; + function TContactosBusinessProcessorRules.GetOldTELEFONO_1Value: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosTELEFONO_1]; end; +function TContactosBusinessProcessorRules.GetOldTELEFONO_1IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosTELEFONO_1]); +end; + procedure TContactosBusinessProcessorRules.SetTELEFONO_1Value(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosTELEFONO_1] := aValue; end; +procedure TContactosBusinessProcessorRules.SetTELEFONO_1IsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosTELEFONO_1] := Null; +end; + function TContactosBusinessProcessorRules.GetTELEFONO_2Value: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosTELEFONO_2]; end; +function TContactosBusinessProcessorRules.GetTELEFONO_2IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosTELEFONO_2]); +end; + function TContactosBusinessProcessorRules.GetOldTELEFONO_2Value: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosTELEFONO_2]; end; +function TContactosBusinessProcessorRules.GetOldTELEFONO_2IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosTELEFONO_2]); +end; + procedure TContactosBusinessProcessorRules.SetTELEFONO_2Value(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosTELEFONO_2] := aValue; end; +procedure TContactosBusinessProcessorRules.SetTELEFONO_2IsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosTELEFONO_2] := Null; +end; + function TContactosBusinessProcessorRules.GetMOVIL_1Value: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosMOVIL_1]; end; +function TContactosBusinessProcessorRules.GetMOVIL_1IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosMOVIL_1]); +end; + function TContactosBusinessProcessorRules.GetOldMOVIL_1Value: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosMOVIL_1]; end; +function TContactosBusinessProcessorRules.GetOldMOVIL_1IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosMOVIL_1]); +end; + procedure TContactosBusinessProcessorRules.SetMOVIL_1Value(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosMOVIL_1] := aValue; end; +procedure TContactosBusinessProcessorRules.SetMOVIL_1IsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosMOVIL_1] := Null; +end; + function TContactosBusinessProcessorRules.GetMOVIL_2Value: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosMOVIL_2]; end; +function TContactosBusinessProcessorRules.GetMOVIL_2IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosMOVIL_2]); +end; + function TContactosBusinessProcessorRules.GetOldMOVIL_2Value: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosMOVIL_2]; end; +function TContactosBusinessProcessorRules.GetOldMOVIL_2IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosMOVIL_2]); +end; + procedure TContactosBusinessProcessorRules.SetMOVIL_2Value(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosMOVIL_2] := aValue; end; +procedure TContactosBusinessProcessorRules.SetMOVIL_2IsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosMOVIL_2] := Null; +end; + function TContactosBusinessProcessorRules.GetFAXValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosFAX]; end; +function TContactosBusinessProcessorRules.GetFAXIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosFAX]); +end; + function TContactosBusinessProcessorRules.GetOldFAXValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosFAX]; end; +function TContactosBusinessProcessorRules.GetOldFAXIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosFAX]); +end; + procedure TContactosBusinessProcessorRules.SetFAXValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosFAX] := aValue; end; +procedure TContactosBusinessProcessorRules.SetFAXIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosFAX] := Null; +end; + function TContactosBusinessProcessorRules.GetEMAIL_1Value: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosEMAIL_1]; end; +function TContactosBusinessProcessorRules.GetEMAIL_1IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosEMAIL_1]); +end; + function TContactosBusinessProcessorRules.GetOldEMAIL_1Value: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosEMAIL_1]; end; +function TContactosBusinessProcessorRules.GetOldEMAIL_1IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosEMAIL_1]); +end; + procedure TContactosBusinessProcessorRules.SetEMAIL_1Value(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosEMAIL_1] := aValue; end; +procedure TContactosBusinessProcessorRules.SetEMAIL_1IsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosEMAIL_1] := Null; +end; + function TContactosBusinessProcessorRules.GetEMAIL_2Value: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosEMAIL_2]; end; +function TContactosBusinessProcessorRules.GetEMAIL_2IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosEMAIL_2]); +end; + function TContactosBusinessProcessorRules.GetOldEMAIL_2Value: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosEMAIL_2]; end; +function TContactosBusinessProcessorRules.GetOldEMAIL_2IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosEMAIL_2]); +end; + procedure TContactosBusinessProcessorRules.SetEMAIL_2Value(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosEMAIL_2] := aValue; end; +procedure TContactosBusinessProcessorRules.SetEMAIL_2IsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosEMAIL_2] := Null; +end; + function TContactosBusinessProcessorRules.GetPAGINA_WEBValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosPAGINA_WEB]; end; +function TContactosBusinessProcessorRules.GetPAGINA_WEBIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosPAGINA_WEB]); +end; + function TContactosBusinessProcessorRules.GetOldPAGINA_WEBValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosPAGINA_WEB]; end; +function TContactosBusinessProcessorRules.GetOldPAGINA_WEBIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosPAGINA_WEB]); +end; + procedure TContactosBusinessProcessorRules.SetPAGINA_WEBValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosPAGINA_WEB] := aValue; end; +procedure TContactosBusinessProcessorRules.SetPAGINA_WEBIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosPAGINA_WEB] := Null; +end; + function TContactosBusinessProcessorRules.GetNOTASValue: IROStrings; begin - result := NewROStrings(); + result := f_NOTAS; result.Text := BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosNOTAS]; end; +function TContactosBusinessProcessorRules.GetNOTASIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosNOTAS]); +end; + function TContactosBusinessProcessorRules.GetOldNOTASValue: IROStrings; begin result := NewROStrings(); result.Text := BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosNOTAS]; end; -procedure TContactosBusinessProcessorRules.SetNOTASValue(const aValue: IROStrings); +function TContactosBusinessProcessorRules.GetOldNOTASIsNull: Boolean; begin - BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosNOTAS] := aValue.Text; + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosNOTAS]); +end; + +procedure TContactosBusinessProcessorRules.SetNOTASIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosNOTAS] := Null; +end; + +function TContactosBusinessProcessorRules.GetFECHA_ALTAValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosFECHA_ALTA]; +end; + +function TContactosBusinessProcessorRules.GetFECHA_ALTAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosFECHA_ALTA]); +end; + +function TContactosBusinessProcessorRules.GetOldFECHA_ALTAValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosFECHA_ALTA]; +end; + +function TContactosBusinessProcessorRules.GetOldFECHA_ALTAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosFECHA_ALTA]); +end; + +procedure TContactosBusinessProcessorRules.SetFECHA_ALTAValue(const aValue: DateTime); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosFECHA_ALTA] := aValue; +end; + +procedure TContactosBusinessProcessorRules.SetFECHA_ALTAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosFECHA_ALTA] := Null; +end; + +function TContactosBusinessProcessorRules.GetFECHA_MODIFICACIONValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosFECHA_MODIFICACION]; +end; + +function TContactosBusinessProcessorRules.GetFECHA_MODIFICACIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosFECHA_MODIFICACION]); +end; + +function TContactosBusinessProcessorRules.GetOldFECHA_MODIFICACIONValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosFECHA_MODIFICACION]; +end; + +function TContactosBusinessProcessorRules.GetOldFECHA_MODIFICACIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosFECHA_MODIFICACION]); +end; + +procedure TContactosBusinessProcessorRules.SetFECHA_MODIFICACIONValue(const aValue: DateTime); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosFECHA_MODIFICACION] := aValue; +end; + +procedure TContactosBusinessProcessorRules.SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosFECHA_MODIFICACION] := Null; end; function TContactosBusinessProcessorRules.GetUSUARIOValue: String; @@ -1551,46 +2770,94 @@ begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosUSUARIO]; end; +function TContactosBusinessProcessorRules.GetUSUARIOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosUSUARIO]); +end; + function TContactosBusinessProcessorRules.GetOldUSUARIOValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosUSUARIO]; end; +function TContactosBusinessProcessorRules.GetOldUSUARIOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosUSUARIO]); +end; + procedure TContactosBusinessProcessorRules.SetUSUARIOValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosUSUARIO] := aValue; end; +procedure TContactosBusinessProcessorRules.SetUSUARIOIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosUSUARIO] := Null; +end; + function TContactosBusinessProcessorRules.GetID_EMPRESAValue: Integer; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosID_EMPRESA]; end; +function TContactosBusinessProcessorRules.GetID_EMPRESAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosID_EMPRESA]); +end; + function TContactosBusinessProcessorRules.GetOldID_EMPRESAValue: Integer; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosID_EMPRESA]; end; +function TContactosBusinessProcessorRules.GetOldID_EMPRESAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosID_EMPRESA]); +end; + procedure TContactosBusinessProcessorRules.SetID_EMPRESAValue(const aValue: Integer); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosID_EMPRESA] := aValue; end; +procedure TContactosBusinessProcessorRules.SetID_EMPRESAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosID_EMPRESA] := Null; +end; + function TContactosBusinessProcessorRules.GetREFERENCIAValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosREFERENCIA]; end; +function TContactosBusinessProcessorRules.GetREFERENCIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosREFERENCIA]); +end; + function TContactosBusinessProcessorRules.GetOldREFERENCIAValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosREFERENCIA]; end; +function TContactosBusinessProcessorRules.GetOldREFERENCIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosREFERENCIA]); +end; + procedure TContactosBusinessProcessorRules.SetREFERENCIAValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosREFERENCIA] := aValue; end; +procedure TContactosBusinessProcessorRules.SetREFERENCIAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosREFERENCIA] := Null; +end; + { TGruposClienteBusinessProcessorRules } constructor TGruposClienteBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); @@ -1608,16 +2875,32 @@ begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_GruposClienteDESCRIPCION]; end; +function TGruposClienteBusinessProcessorRules.GetDESCRIPCIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_GruposClienteDESCRIPCION]); +end; + function TGruposClienteBusinessProcessorRules.GetOldDESCRIPCIONValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_GruposClienteDESCRIPCION]; end; +function TGruposClienteBusinessProcessorRules.GetOldDESCRIPCIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_GruposClienteDESCRIPCION]); +end; + procedure TGruposClienteBusinessProcessorRules.SetDESCRIPCIONValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_GruposClienteDESCRIPCION] := aValue; end; +procedure TGruposClienteBusinessProcessorRules.SetDESCRIPCIONIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_GruposClienteDESCRIPCION] := Null; +end; + { TDatosBancariosBusinessProcessorRules } constructor TDatosBancariosBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); @@ -1635,106 +2918,280 @@ begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosID]; end; +function TDatosBancariosBusinessProcessorRules.GetIDIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosID]); +end; + function TDatosBancariosBusinessProcessorRules.GetOldIDValue: Integer; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_DatosBancariosID]; end; +function TDatosBancariosBusinessProcessorRules.GetOldIDIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DatosBancariosID]); +end; + procedure TDatosBancariosBusinessProcessorRules.SetIDValue(const aValue: Integer); begin BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosID] := aValue; end; +procedure TDatosBancariosBusinessProcessorRules.SetIDIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosID] := Null; +end; + function TDatosBancariosBusinessProcessorRules.GetID_CONTACTOValue: Integer; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosID_CONTACTO]; end; +function TDatosBancariosBusinessProcessorRules.GetID_CONTACTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosID_CONTACTO]); +end; + function TDatosBancariosBusinessProcessorRules.GetOldID_CONTACTOValue: Integer; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_DatosBancariosID_CONTACTO]; end; +function TDatosBancariosBusinessProcessorRules.GetOldID_CONTACTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DatosBancariosID_CONTACTO]); +end; + procedure TDatosBancariosBusinessProcessorRules.SetID_CONTACTOValue(const aValue: Integer); begin BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosID_CONTACTO] := aValue; end; +procedure TDatosBancariosBusinessProcessorRules.SetID_CONTACTOIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosID_CONTACTO] := Null; +end; + function TDatosBancariosBusinessProcessorRules.GetTITULARValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosTITULAR]; end; +function TDatosBancariosBusinessProcessorRules.GetTITULARIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosTITULAR]); +end; + function TDatosBancariosBusinessProcessorRules.GetOldTITULARValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_DatosBancariosTITULAR]; end; +function TDatosBancariosBusinessProcessorRules.GetOldTITULARIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DatosBancariosTITULAR]); +end; + procedure TDatosBancariosBusinessProcessorRules.SetTITULARValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosTITULAR] := aValue; end; +procedure TDatosBancariosBusinessProcessorRules.SetTITULARIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosTITULAR] := Null; +end; + function TDatosBancariosBusinessProcessorRules.GetENTIDADValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosENTIDAD]; end; +function TDatosBancariosBusinessProcessorRules.GetENTIDADIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosENTIDAD]); +end; + function TDatosBancariosBusinessProcessorRules.GetOldENTIDADValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_DatosBancariosENTIDAD]; end; +function TDatosBancariosBusinessProcessorRules.GetOldENTIDADIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DatosBancariosENTIDAD]); +end; + procedure TDatosBancariosBusinessProcessorRules.SetENTIDADValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosENTIDAD] := aValue; end; +procedure TDatosBancariosBusinessProcessorRules.SetENTIDADIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosENTIDAD] := Null; +end; + function TDatosBancariosBusinessProcessorRules.GetSUCURSALValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosSUCURSAL]; end; +function TDatosBancariosBusinessProcessorRules.GetSUCURSALIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosSUCURSAL]); +end; + function TDatosBancariosBusinessProcessorRules.GetOldSUCURSALValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_DatosBancariosSUCURSAL]; end; +function TDatosBancariosBusinessProcessorRules.GetOldSUCURSALIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DatosBancariosSUCURSAL]); +end; + procedure TDatosBancariosBusinessProcessorRules.SetSUCURSALValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosSUCURSAL] := aValue; end; +procedure TDatosBancariosBusinessProcessorRules.SetSUCURSALIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosSUCURSAL] := Null; +end; + function TDatosBancariosBusinessProcessorRules.GetDCValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosDC]; end; +function TDatosBancariosBusinessProcessorRules.GetDCIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosDC]); +end; + function TDatosBancariosBusinessProcessorRules.GetOldDCValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_DatosBancariosDC]; end; +function TDatosBancariosBusinessProcessorRules.GetOldDCIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DatosBancariosDC]); +end; + procedure TDatosBancariosBusinessProcessorRules.SetDCValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosDC] := aValue; end; +procedure TDatosBancariosBusinessProcessorRules.SetDCIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosDC] := Null; +end; + function TDatosBancariosBusinessProcessorRules.GetCUENTAValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosCUENTA]; end; +function TDatosBancariosBusinessProcessorRules.GetCUENTAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosCUENTA]); +end; + function TDatosBancariosBusinessProcessorRules.GetOldCUENTAValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_DatosBancariosCUENTA]; end; +function TDatosBancariosBusinessProcessorRules.GetOldCUENTAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DatosBancariosCUENTA]); +end; + procedure TDatosBancariosBusinessProcessorRules.SetCUENTAValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosCUENTA] := aValue; end; +procedure TDatosBancariosBusinessProcessorRules.SetCUENTAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosCUENTA] := Null; +end; + +function TDatosBancariosBusinessProcessorRules.GetFECHA_ALTAValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosFECHA_ALTA]; +end; + +function TDatosBancariosBusinessProcessorRules.GetFECHA_ALTAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosFECHA_ALTA]); +end; + +function TDatosBancariosBusinessProcessorRules.GetOldFECHA_ALTAValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_DatosBancariosFECHA_ALTA]; +end; + +function TDatosBancariosBusinessProcessorRules.GetOldFECHA_ALTAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DatosBancariosFECHA_ALTA]); +end; + +procedure TDatosBancariosBusinessProcessorRules.SetFECHA_ALTAValue(const aValue: DateTime); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosFECHA_ALTA] := aValue; +end; + +procedure TDatosBancariosBusinessProcessorRules.SetFECHA_ALTAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosFECHA_ALTA] := Null; +end; + +function TDatosBancariosBusinessProcessorRules.GetFECHA_MODIFICACIONValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosFECHA_MODIFICACION]; +end; + +function TDatosBancariosBusinessProcessorRules.GetFECHA_MODIFICACIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosFECHA_MODIFICACION]); +end; + +function TDatosBancariosBusinessProcessorRules.GetOldFECHA_MODIFICACIONValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_DatosBancariosFECHA_MODIFICACION]; +end; + +function TDatosBancariosBusinessProcessorRules.GetOldFECHA_MODIFICACIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DatosBancariosFECHA_MODIFICACION]); +end; + +procedure TDatosBancariosBusinessProcessorRules.SetFECHA_MODIFICACIONValue(const aValue: DateTime); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosFECHA_MODIFICACION] := aValue; +end; + +procedure TDatosBancariosBusinessProcessorRules.SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosFECHA_MODIFICACION] := Null; +end; + { TContactosCategoriasBusinessProcessorRules } constructor TContactosCategoriasBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); @@ -1752,36 +3209,74 @@ begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosCategoriasID_CONTACTO]; end; +function TContactosCategoriasBusinessProcessorRules.GetID_CONTACTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosCategoriasID_CONTACTO]); +end; + function TContactosCategoriasBusinessProcessorRules.GetOldID_CONTACTOValue: Integer; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosCategoriasID_CONTACTO]; end; +function TContactosCategoriasBusinessProcessorRules.GetOldID_CONTACTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosCategoriasID_CONTACTO]); +end; + procedure TContactosCategoriasBusinessProcessorRules.SetID_CONTACTOValue(const aValue: Integer); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosCategoriasID_CONTACTO] := aValue; end; +procedure TContactosCategoriasBusinessProcessorRules.SetID_CONTACTOIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosCategoriasID_CONTACTO] := Null; +end; + function TContactosCategoriasBusinessProcessorRules.GetID_CATEGORIAValue: Integer; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosCategoriasID_CATEGORIA]; end; +function TContactosCategoriasBusinessProcessorRules.GetID_CATEGORIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosCategoriasID_CATEGORIA]); +end; + function TContactosCategoriasBusinessProcessorRules.GetOldID_CATEGORIAValue: Integer; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosCategoriasID_CATEGORIA]; end; +function TContactosCategoriasBusinessProcessorRules.GetOldID_CATEGORIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ContactosCategoriasID_CATEGORIA]); +end; + procedure TContactosCategoriasBusinessProcessorRules.SetID_CATEGORIAValue(const aValue: Integer); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosCategoriasID_CATEGORIA] := aValue; end; +procedure TContactosCategoriasBusinessProcessorRules.SetID_CATEGORIAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ContactosCategoriasID_CATEGORIA] := Null; +end; + { TClientesBusinessProcessorRules } constructor TClientesBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); +var + StrList: TStringList; begin inherited; + + StrList := TStringList.Create; + StrList.OnChange := NOTAS_OnChange; + f_NOTAS := NewROStrings(StrList,True); end; destructor TClientesBusinessProcessorRules.Destroy; @@ -1789,79 +3284,133 @@ begin inherited; end; +procedure TClientesBusinessProcessorRules.NOTAS_OnChange(Sender: TObject); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesNOTAS] := TStringList(Sender).Text; +end; + function TClientesBusinessProcessorRules.GetIDValue: Integer; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesID]; end; +function TClientesBusinessProcessorRules.GetIDIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesID]); +end; + function TClientesBusinessProcessorRules.GetOldIDValue: Integer; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesID]; end; +function TClientesBusinessProcessorRules.GetOldIDIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesID]); +end; + procedure TClientesBusinessProcessorRules.SetIDValue(const aValue: Integer); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesID] := aValue; end; +procedure TClientesBusinessProcessorRules.SetIDIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesID] := Null; +end; + function TClientesBusinessProcessorRules.GetID_CATEGORIAValue: Integer; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesID_CATEGORIA]; end; +function TClientesBusinessProcessorRules.GetID_CATEGORIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesID_CATEGORIA]); +end; + function TClientesBusinessProcessorRules.GetOldID_CATEGORIAValue: Integer; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesID_CATEGORIA]; end; +function TClientesBusinessProcessorRules.GetOldID_CATEGORIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesID_CATEGORIA]); +end; + procedure TClientesBusinessProcessorRules.SetID_CATEGORIAValue(const aValue: Integer); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesID_CATEGORIA] := aValue; end; +procedure TClientesBusinessProcessorRules.SetID_CATEGORIAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesID_CATEGORIA] := Null; +end; + function TClientesBusinessProcessorRules.GetNIF_CIFValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesNIF_CIF]; end; +function TClientesBusinessProcessorRules.GetNIF_CIFIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesNIF_CIF]); +end; + function TClientesBusinessProcessorRules.GetOldNIF_CIFValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesNIF_CIF]; end; +function TClientesBusinessProcessorRules.GetOldNIF_CIFIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesNIF_CIF]); +end; + procedure TClientesBusinessProcessorRules.SetNIF_CIFValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesNIF_CIF] := aValue; end; +procedure TClientesBusinessProcessorRules.SetNIF_CIFIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesNIF_CIF] := Null; +end; + function TClientesBusinessProcessorRules.GetNOMBREValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesNOMBRE]; end; +function TClientesBusinessProcessorRules.GetNOMBREIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesNOMBRE]); +end; + function TClientesBusinessProcessorRules.GetOldNOMBREValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesNOMBRE]; end; +function TClientesBusinessProcessorRules.GetOldNOMBREIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesNOMBRE]); +end; + procedure TClientesBusinessProcessorRules.SetNOMBREValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesNOMBRE] := aValue; end; -function TClientesBusinessProcessorRules.GetCALLEValue: String; +procedure TClientesBusinessProcessorRules.SetNOMBREIsNull(const aValue: Boolean); begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesCALLE]; -end; - -function TClientesBusinessProcessorRules.GetOldCALLEValue: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesCALLE]; -end; - -procedure TClientesBusinessProcessorRules.SetCALLEValue(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesCALLE] := aValue; + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesNOMBRE] := Null; end; function TClientesBusinessProcessorRules.GetPERSONA_CONTACTOValue: String; @@ -1869,196 +3418,492 @@ begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesPERSONA_CONTACTO]; end; +function TClientesBusinessProcessorRules.GetPERSONA_CONTACTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesPERSONA_CONTACTO]); +end; + function TClientesBusinessProcessorRules.GetOldPERSONA_CONTACTOValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesPERSONA_CONTACTO]; end; +function TClientesBusinessProcessorRules.GetOldPERSONA_CONTACTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesPERSONA_CONTACTO]); +end; + procedure TClientesBusinessProcessorRules.SetPERSONA_CONTACTOValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesPERSONA_CONTACTO] := aValue; end; +procedure TClientesBusinessProcessorRules.SetPERSONA_CONTACTOIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesPERSONA_CONTACTO] := Null; +end; + +function TClientesBusinessProcessorRules.GetCALLEValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesCALLE]; +end; + +function TClientesBusinessProcessorRules.GetCALLEIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesCALLE]); +end; + +function TClientesBusinessProcessorRules.GetOldCALLEValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesCALLE]; +end; + +function TClientesBusinessProcessorRules.GetOldCALLEIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesCALLE]); +end; + +procedure TClientesBusinessProcessorRules.SetCALLEValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesCALLE] := aValue; +end; + +procedure TClientesBusinessProcessorRules.SetCALLEIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesCALLE] := Null; +end; + function TClientesBusinessProcessorRules.GetPOBLACIONValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesPOBLACION]; end; +function TClientesBusinessProcessorRules.GetPOBLACIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesPOBLACION]); +end; + function TClientesBusinessProcessorRules.GetOldPOBLACIONValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesPOBLACION]; end; +function TClientesBusinessProcessorRules.GetOldPOBLACIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesPOBLACION]); +end; + procedure TClientesBusinessProcessorRules.SetPOBLACIONValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesPOBLACION] := aValue; end; +procedure TClientesBusinessProcessorRules.SetPOBLACIONIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesPOBLACION] := Null; +end; + function TClientesBusinessProcessorRules.GetPROVINCIAValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesPROVINCIA]; end; +function TClientesBusinessProcessorRules.GetPROVINCIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesPROVINCIA]); +end; + function TClientesBusinessProcessorRules.GetOldPROVINCIAValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesPROVINCIA]; end; +function TClientesBusinessProcessorRules.GetOldPROVINCIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesPROVINCIA]); +end; + procedure TClientesBusinessProcessorRules.SetPROVINCIAValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesPROVINCIA] := aValue; end; +procedure TClientesBusinessProcessorRules.SetPROVINCIAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesPROVINCIA] := Null; +end; + function TClientesBusinessProcessorRules.GetCODIGO_POSTALValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesCODIGO_POSTAL]; end; +function TClientesBusinessProcessorRules.GetCODIGO_POSTALIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesCODIGO_POSTAL]); +end; + function TClientesBusinessProcessorRules.GetOldCODIGO_POSTALValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesCODIGO_POSTAL]; end; +function TClientesBusinessProcessorRules.GetOldCODIGO_POSTALIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesCODIGO_POSTAL]); +end; + procedure TClientesBusinessProcessorRules.SetCODIGO_POSTALValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesCODIGO_POSTAL] := aValue; end; +procedure TClientesBusinessProcessorRules.SetCODIGO_POSTALIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesCODIGO_POSTAL] := Null; +end; + function TClientesBusinessProcessorRules.GetTELEFONO_1Value: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesTELEFONO_1]; end; +function TClientesBusinessProcessorRules.GetTELEFONO_1IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesTELEFONO_1]); +end; + function TClientesBusinessProcessorRules.GetOldTELEFONO_1Value: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesTELEFONO_1]; end; +function TClientesBusinessProcessorRules.GetOldTELEFONO_1IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesTELEFONO_1]); +end; + procedure TClientesBusinessProcessorRules.SetTELEFONO_1Value(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesTELEFONO_1] := aValue; end; +procedure TClientesBusinessProcessorRules.SetTELEFONO_1IsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesTELEFONO_1] := Null; +end; + function TClientesBusinessProcessorRules.GetTELEFONO_2Value: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesTELEFONO_2]; end; +function TClientesBusinessProcessorRules.GetTELEFONO_2IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesTELEFONO_2]); +end; + function TClientesBusinessProcessorRules.GetOldTELEFONO_2Value: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesTELEFONO_2]; end; +function TClientesBusinessProcessorRules.GetOldTELEFONO_2IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesTELEFONO_2]); +end; + procedure TClientesBusinessProcessorRules.SetTELEFONO_2Value(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesTELEFONO_2] := aValue; end; +procedure TClientesBusinessProcessorRules.SetTELEFONO_2IsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesTELEFONO_2] := Null; +end; + function TClientesBusinessProcessorRules.GetMOVIL_1Value: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesMOVIL_1]; end; +function TClientesBusinessProcessorRules.GetMOVIL_1IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesMOVIL_1]); +end; + function TClientesBusinessProcessorRules.GetOldMOVIL_1Value: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesMOVIL_1]; end; +function TClientesBusinessProcessorRules.GetOldMOVIL_1IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesMOVIL_1]); +end; + procedure TClientesBusinessProcessorRules.SetMOVIL_1Value(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesMOVIL_1] := aValue; end; +procedure TClientesBusinessProcessorRules.SetMOVIL_1IsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesMOVIL_1] := Null; +end; + function TClientesBusinessProcessorRules.GetMOVIL_2Value: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesMOVIL_2]; end; +function TClientesBusinessProcessorRules.GetMOVIL_2IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesMOVIL_2]); +end; + function TClientesBusinessProcessorRules.GetOldMOVIL_2Value: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesMOVIL_2]; end; +function TClientesBusinessProcessorRules.GetOldMOVIL_2IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesMOVIL_2]); +end; + procedure TClientesBusinessProcessorRules.SetMOVIL_2Value(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesMOVIL_2] := aValue; end; +procedure TClientesBusinessProcessorRules.SetMOVIL_2IsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesMOVIL_2] := Null; +end; + function TClientesBusinessProcessorRules.GetFAXValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesFAX]; end; +function TClientesBusinessProcessorRules.GetFAXIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesFAX]); +end; + function TClientesBusinessProcessorRules.GetOldFAXValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesFAX]; end; +function TClientesBusinessProcessorRules.GetOldFAXIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesFAX]); +end; + procedure TClientesBusinessProcessorRules.SetFAXValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesFAX] := aValue; end; +procedure TClientesBusinessProcessorRules.SetFAXIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesFAX] := Null; +end; + function TClientesBusinessProcessorRules.GetEMAIL_1Value: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesEMAIL_1]; end; +function TClientesBusinessProcessorRules.GetEMAIL_1IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesEMAIL_1]); +end; + function TClientesBusinessProcessorRules.GetOldEMAIL_1Value: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesEMAIL_1]; end; +function TClientesBusinessProcessorRules.GetOldEMAIL_1IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesEMAIL_1]); +end; + procedure TClientesBusinessProcessorRules.SetEMAIL_1Value(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesEMAIL_1] := aValue; end; +procedure TClientesBusinessProcessorRules.SetEMAIL_1IsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesEMAIL_1] := Null; +end; + function TClientesBusinessProcessorRules.GetEMAIL_2Value: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesEMAIL_2]; end; +function TClientesBusinessProcessorRules.GetEMAIL_2IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesEMAIL_2]); +end; + function TClientesBusinessProcessorRules.GetOldEMAIL_2Value: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesEMAIL_2]; end; +function TClientesBusinessProcessorRules.GetOldEMAIL_2IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesEMAIL_2]); +end; + procedure TClientesBusinessProcessorRules.SetEMAIL_2Value(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesEMAIL_2] := aValue; end; +procedure TClientesBusinessProcessorRules.SetEMAIL_2IsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesEMAIL_2] := Null; +end; + function TClientesBusinessProcessorRules.GetPAGINA_WEBValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesPAGINA_WEB]; end; +function TClientesBusinessProcessorRules.GetPAGINA_WEBIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesPAGINA_WEB]); +end; + function TClientesBusinessProcessorRules.GetOldPAGINA_WEBValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesPAGINA_WEB]; end; +function TClientesBusinessProcessorRules.GetOldPAGINA_WEBIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesPAGINA_WEB]); +end; + procedure TClientesBusinessProcessorRules.SetPAGINA_WEBValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesPAGINA_WEB] := aValue; end; +procedure TClientesBusinessProcessorRules.SetPAGINA_WEBIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesPAGINA_WEB] := Null; +end; + function TClientesBusinessProcessorRules.GetNOTASValue: IROStrings; begin - result := NewROStrings(); + result := f_NOTAS; result.Text := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesNOTAS]; end; +function TClientesBusinessProcessorRules.GetNOTASIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesNOTAS]); +end; + function TClientesBusinessProcessorRules.GetOldNOTASValue: IROStrings; begin result := NewROStrings(); result.Text := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesNOTAS]; end; -procedure TClientesBusinessProcessorRules.SetNOTASValue(const aValue: IROStrings); +function TClientesBusinessProcessorRules.GetOldNOTASIsNull: Boolean; begin - BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesNOTAS] := aValue.Text; + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesNOTAS]); +end; + +procedure TClientesBusinessProcessorRules.SetNOTASIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesNOTAS] := Null; +end; + +function TClientesBusinessProcessorRules.GetFECHA_ALTAValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesFECHA_ALTA]; +end; + +function TClientesBusinessProcessorRules.GetFECHA_ALTAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesFECHA_ALTA]); +end; + +function TClientesBusinessProcessorRules.GetOldFECHA_ALTAValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesFECHA_ALTA]; +end; + +function TClientesBusinessProcessorRules.GetOldFECHA_ALTAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesFECHA_ALTA]); +end; + +procedure TClientesBusinessProcessorRules.SetFECHA_ALTAValue(const aValue: DateTime); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesFECHA_ALTA] := aValue; +end; + +procedure TClientesBusinessProcessorRules.SetFECHA_ALTAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesFECHA_ALTA] := Null; +end; + +function TClientesBusinessProcessorRules.GetFECHA_MODIFICACIONValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesFECHA_MODIFICACION]; +end; + +function TClientesBusinessProcessorRules.GetFECHA_MODIFICACIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesFECHA_MODIFICACION]); +end; + +function TClientesBusinessProcessorRules.GetOldFECHA_MODIFICACIONValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesFECHA_MODIFICACION]; +end; + +function TClientesBusinessProcessorRules.GetOldFECHA_MODIFICACIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesFECHA_MODIFICACION]); +end; + +procedure TClientesBusinessProcessorRules.SetFECHA_MODIFICACIONValue(const aValue: DateTime); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesFECHA_MODIFICACION] := aValue; +end; + +procedure TClientesBusinessProcessorRules.SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesFECHA_MODIFICACION] := Null; end; function TClientesBusinessProcessorRules.GetUSUARIOValue: String; @@ -2066,119 +3911,92 @@ begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesUSUARIO]; end; +function TClientesBusinessProcessorRules.GetUSUARIOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesUSUARIO]); +end; + function TClientesBusinessProcessorRules.GetOldUSUARIOValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesUSUARIO]; end; +function TClientesBusinessProcessorRules.GetOldUSUARIOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesUSUARIO]); +end; + procedure TClientesBusinessProcessorRules.SetUSUARIOValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesUSUARIO] := aValue; end; +procedure TClientesBusinessProcessorRules.SetUSUARIOIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesUSUARIO] := Null; +end; + function TClientesBusinessProcessorRules.GetID_EMPRESAValue: Integer; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesID_EMPRESA]; end; +function TClientesBusinessProcessorRules.GetID_EMPRESAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesID_EMPRESA]); +end; + function TClientesBusinessProcessorRules.GetOldID_EMPRESAValue: Integer; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesID_EMPRESA]; end; +function TClientesBusinessProcessorRules.GetOldID_EMPRESAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesID_EMPRESA]); +end; + procedure TClientesBusinessProcessorRules.SetID_EMPRESAValue(const aValue: Integer); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesID_EMPRESA] := aValue; end; +procedure TClientesBusinessProcessorRules.SetID_EMPRESAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesID_EMPRESA] := Null; +end; + function TClientesBusinessProcessorRules.GetREFERENCIAValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesREFERENCIA]; end; +function TClientesBusinessProcessorRules.GetREFERENCIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesREFERENCIA]); +end; + function TClientesBusinessProcessorRules.GetOldREFERENCIAValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesREFERENCIA]; end; +function TClientesBusinessProcessorRules.GetOldREFERENCIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesREFERENCIA]); +end; + procedure TClientesBusinessProcessorRules.SetREFERENCIAValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesREFERENCIA] := aValue; end; -function TClientesBusinessProcessorRules.GetID_TIPO_IVAValue: Integer; +procedure TClientesBusinessProcessorRules.SetREFERENCIAIsNull(const aValue: Boolean); begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesID_TIPO_IVA]; -end; - -function TClientesBusinessProcessorRules.GetOldID_TIPO_IVAValue: Integer; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesID_TIPO_IVA]; -end; - -procedure TClientesBusinessProcessorRules.SetID_TIPO_IVAValue(const aValue: Integer); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesID_TIPO_IVA] := aValue; -end; - -function TClientesBusinessProcessorRules.GetREGIMEN_IVAValue: String; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesREGIMEN_IVA]; -end; - -function TClientesBusinessProcessorRules.GetOldREGIMEN_IVAValue: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesREGIMEN_IVA]; -end; - -procedure TClientesBusinessProcessorRules.SetREGIMEN_IVAValue(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesREGIMEN_IVA] := aValue; -end; - -function TClientesBusinessProcessorRules.GetID_FORMA_PAGOValue: Integer; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesID_FORMA_PAGO]; -end; - -function TClientesBusinessProcessorRules.GetOldID_FORMA_PAGOValue: Integer; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesID_FORMA_PAGO]; -end; - -procedure TClientesBusinessProcessorRules.SetID_FORMA_PAGOValue(const aValue: Integer); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesID_FORMA_PAGO] := aValue; -end; - -function TClientesBusinessProcessorRules.GetTIENDA_WEBValue: Integer; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesTIENDA_WEB]; -end; - -function TClientesBusinessProcessorRules.GetOldTIENDA_WEBValue: Integer; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesTIENDA_WEB]; -end; - -procedure TClientesBusinessProcessorRules.SetTIENDA_WEBValue(const aValue: Integer); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesTIENDA_WEB] := aValue; -end; - -function TClientesBusinessProcessorRules.GetRECARGO_EQUIVALENCIAValue: Integer; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesRECARGO_EQUIVALENCIA]; -end; - -function TClientesBusinessProcessorRules.GetOldRECARGO_EQUIVALENCIAValue: Integer; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesRECARGO_EQUIVALENCIA]; -end; - -procedure TClientesBusinessProcessorRules.SetRECARGO_EQUIVALENCIAValue(const aValue: Integer); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesRECARGO_EQUIVALENCIA] := aValue; + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesREFERENCIA] := Null; end; function TClientesBusinessProcessorRules.GetGRUPO_CLIENTEValue: String; @@ -2186,81 +4004,322 @@ begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesGRUPO_CLIENTE]; end; +function TClientesBusinessProcessorRules.GetGRUPO_CLIENTEIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesGRUPO_CLIENTE]); +end; + function TClientesBusinessProcessorRules.GetOldGRUPO_CLIENTEValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesGRUPO_CLIENTE]; end; +function TClientesBusinessProcessorRules.GetOldGRUPO_CLIENTEIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesGRUPO_CLIENTE]); +end; + procedure TClientesBusinessProcessorRules.SetGRUPO_CLIENTEValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesGRUPO_CLIENTE] := aValue; end; +procedure TClientesBusinessProcessorRules.SetGRUPO_CLIENTEIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesGRUPO_CLIENTE] := Null; +end; + function TClientesBusinessProcessorRules.GetNOMBRE_COMERCIALValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesNOMBRE_COMERCIAL]; end; +function TClientesBusinessProcessorRules.GetNOMBRE_COMERCIALIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesNOMBRE_COMERCIAL]); +end; + function TClientesBusinessProcessorRules.GetOldNOMBRE_COMERCIALValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesNOMBRE_COMERCIAL]; end; +function TClientesBusinessProcessorRules.GetOldNOMBRE_COMERCIALIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesNOMBRE_COMERCIAL]); +end; + procedure TClientesBusinessProcessorRules.SetNOMBRE_COMERCIALValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesNOMBRE_COMERCIAL] := aValue; end; +procedure TClientesBusinessProcessorRules.SetNOMBRE_COMERCIALIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesNOMBRE_COMERCIAL] := Null; +end; + function TClientesBusinessProcessorRules.GetVENCIMIENTO_FACTURASValue: Integer; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesVENCIMIENTO_FACTURAS]; end; +function TClientesBusinessProcessorRules.GetVENCIMIENTO_FACTURASIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesVENCIMIENTO_FACTURAS]); +end; + function TClientesBusinessProcessorRules.GetOldVENCIMIENTO_FACTURASValue: Integer; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesVENCIMIENTO_FACTURAS]; end; +function TClientesBusinessProcessorRules.GetOldVENCIMIENTO_FACTURASIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesVENCIMIENTO_FACTURAS]); +end; + procedure TClientesBusinessProcessorRules.SetVENCIMIENTO_FACTURASValue(const aValue: Integer); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesVENCIMIENTO_FACTURAS] := aValue; end; -function TClientesBusinessProcessorRules.GetBLOQUEADOValue: Integer; +procedure TClientesBusinessProcessorRules.SetVENCIMIENTO_FACTURASIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesVENCIMIENTO_FACTURAS] := Null; +end; + +function TClientesBusinessProcessorRules.GetBLOQUEADOValue: SmallInt; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesBLOQUEADO]; end; -function TClientesBusinessProcessorRules.GetOldBLOQUEADOValue: Integer; +function TClientesBusinessProcessorRules.GetBLOQUEADOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesBLOQUEADO]); +end; + +function TClientesBusinessProcessorRules.GetOldBLOQUEADOValue: SmallInt; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesBLOQUEADO]; end; -procedure TClientesBusinessProcessorRules.SetBLOQUEADOValue(const aValue: Integer); +function TClientesBusinessProcessorRules.GetOldBLOQUEADOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesBLOQUEADO]); +end; + +procedure TClientesBusinessProcessorRules.SetBLOQUEADOValue(const aValue: SmallInt); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesBLOQUEADO] := aValue; end; +procedure TClientesBusinessProcessorRules.SetBLOQUEADOIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesBLOQUEADO] := Null; +end; + +function TClientesBusinessProcessorRules.GetREGIMEN_IVAValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesREGIMEN_IVA]; +end; + +function TClientesBusinessProcessorRules.GetREGIMEN_IVAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesREGIMEN_IVA]); +end; + +function TClientesBusinessProcessorRules.GetOldREGIMEN_IVAValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesREGIMEN_IVA]; +end; + +function TClientesBusinessProcessorRules.GetOldREGIMEN_IVAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesREGIMEN_IVA]); +end; + +procedure TClientesBusinessProcessorRules.SetREGIMEN_IVAValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesREGIMEN_IVA] := aValue; +end; + +procedure TClientesBusinessProcessorRules.SetREGIMEN_IVAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesREGIMEN_IVA] := Null; +end; + function TClientesBusinessProcessorRules.GetMOTIVO_BLOQUEOValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesMOTIVO_BLOQUEO]; end; +function TClientesBusinessProcessorRules.GetMOTIVO_BLOQUEOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesMOTIVO_BLOQUEO]); +end; + function TClientesBusinessProcessorRules.GetOldMOTIVO_BLOQUEOValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesMOTIVO_BLOQUEO]; end; +function TClientesBusinessProcessorRules.GetOldMOTIVO_BLOQUEOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesMOTIVO_BLOQUEO]); +end; + procedure TClientesBusinessProcessorRules.SetMOTIVO_BLOQUEOValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesMOTIVO_BLOQUEO] := aValue; end; +procedure TClientesBusinessProcessorRules.SetMOTIVO_BLOQUEOIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesMOTIVO_BLOQUEO] := Null; +end; + +function TClientesBusinessProcessorRules.GetRECARGO_EQUIVALENCIAValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesRECARGO_EQUIVALENCIA]; +end; + +function TClientesBusinessProcessorRules.GetRECARGO_EQUIVALENCIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesRECARGO_EQUIVALENCIA]); +end; + +function TClientesBusinessProcessorRules.GetOldRECARGO_EQUIVALENCIAValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesRECARGO_EQUIVALENCIA]; +end; + +function TClientesBusinessProcessorRules.GetOldRECARGO_EQUIVALENCIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesRECARGO_EQUIVALENCIA]); +end; + +procedure TClientesBusinessProcessorRules.SetRECARGO_EQUIVALENCIAValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesRECARGO_EQUIVALENCIA] := aValue; +end; + +procedure TClientesBusinessProcessorRules.SetRECARGO_EQUIVALENCIAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesRECARGO_EQUIVALENCIA] := Null; +end; + +function TClientesBusinessProcessorRules.GetID_TIPO_IVAValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesID_TIPO_IVA]; +end; + +function TClientesBusinessProcessorRules.GetID_TIPO_IVAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesID_TIPO_IVA]); +end; + +function TClientesBusinessProcessorRules.GetOldID_TIPO_IVAValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesID_TIPO_IVA]; +end; + +function TClientesBusinessProcessorRules.GetOldID_TIPO_IVAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesID_TIPO_IVA]); +end; + +procedure TClientesBusinessProcessorRules.SetID_TIPO_IVAValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesID_TIPO_IVA] := aValue; +end; + +procedure TClientesBusinessProcessorRules.SetID_TIPO_IVAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesID_TIPO_IVA] := Null; +end; + +function TClientesBusinessProcessorRules.GetID_FORMA_PAGOValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesID_FORMA_PAGO]; +end; + +function TClientesBusinessProcessorRules.GetID_FORMA_PAGOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesID_FORMA_PAGO]); +end; + +function TClientesBusinessProcessorRules.GetOldID_FORMA_PAGOValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesID_FORMA_PAGO]; +end; + +function TClientesBusinessProcessorRules.GetOldID_FORMA_PAGOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesID_FORMA_PAGO]); +end; + +procedure TClientesBusinessProcessorRules.SetID_FORMA_PAGOValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesID_FORMA_PAGO] := aValue; +end; + +procedure TClientesBusinessProcessorRules.SetID_FORMA_PAGOIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesID_FORMA_PAGO] := Null; +end; + +function TClientesBusinessProcessorRules.GetTIENDA_WEBValue: SmallInt; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesTIENDA_WEB]; +end; + +function TClientesBusinessProcessorRules.GetTIENDA_WEBIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesTIENDA_WEB]); +end; + +function TClientesBusinessProcessorRules.GetOldTIENDA_WEBValue: SmallInt; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesTIENDA_WEB]; +end; + +function TClientesBusinessProcessorRules.GetOldTIENDA_WEBIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesTIENDA_WEB]); +end; + +procedure TClientesBusinessProcessorRules.SetTIENDA_WEBValue(const aValue: SmallInt); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesTIENDA_WEB] := aValue; +end; + +procedure TClientesBusinessProcessorRules.SetTIENDA_WEBIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesTIENDA_WEB] := Null; +end; + { TProveedoresBusinessProcessorRules } constructor TProveedoresBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); +var + StrList: TStringList; begin inherited; + + StrList := TStringList.Create; + StrList.OnChange := NOTAS_OnChange; + f_NOTAS := NewROStrings(StrList,True); end; destructor TProveedoresBusinessProcessorRules.Destroy; @@ -2268,79 +4327,133 @@ begin inherited; end; +procedure TProveedoresBusinessProcessorRules.NOTAS_OnChange(Sender: TObject); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresNOTAS] := TStringList(Sender).Text; +end; + function TProveedoresBusinessProcessorRules.GetIDValue: Integer; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresID]; end; +function TProveedoresBusinessProcessorRules.GetIDIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresID]); +end; + function TProveedoresBusinessProcessorRules.GetOldIDValue: Integer; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresID]; end; +function TProveedoresBusinessProcessorRules.GetOldIDIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresID]); +end; + procedure TProveedoresBusinessProcessorRules.SetIDValue(const aValue: Integer); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresID] := aValue; end; +procedure TProveedoresBusinessProcessorRules.SetIDIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresID] := Null; +end; + function TProveedoresBusinessProcessorRules.GetID_CATEGORIAValue: Integer; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresID_CATEGORIA]; end; +function TProveedoresBusinessProcessorRules.GetID_CATEGORIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresID_CATEGORIA]); +end; + function TProveedoresBusinessProcessorRules.GetOldID_CATEGORIAValue: Integer; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresID_CATEGORIA]; end; +function TProveedoresBusinessProcessorRules.GetOldID_CATEGORIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresID_CATEGORIA]); +end; + procedure TProveedoresBusinessProcessorRules.SetID_CATEGORIAValue(const aValue: Integer); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresID_CATEGORIA] := aValue; end; +procedure TProveedoresBusinessProcessorRules.SetID_CATEGORIAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresID_CATEGORIA] := Null; +end; + function TProveedoresBusinessProcessorRules.GetNIF_CIFValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresNIF_CIF]; end; +function TProveedoresBusinessProcessorRules.GetNIF_CIFIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresNIF_CIF]); +end; + function TProveedoresBusinessProcessorRules.GetOldNIF_CIFValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresNIF_CIF]; end; +function TProveedoresBusinessProcessorRules.GetOldNIF_CIFIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresNIF_CIF]); +end; + procedure TProveedoresBusinessProcessorRules.SetNIF_CIFValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresNIF_CIF] := aValue; end; +procedure TProveedoresBusinessProcessorRules.SetNIF_CIFIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresNIF_CIF] := Null; +end; + function TProveedoresBusinessProcessorRules.GetNOMBREValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresNOMBRE]; end; +function TProveedoresBusinessProcessorRules.GetNOMBREIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresNOMBRE]); +end; + function TProveedoresBusinessProcessorRules.GetOldNOMBREValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresNOMBRE]; end; +function TProveedoresBusinessProcessorRules.GetOldNOMBREIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresNOMBRE]); +end; + procedure TProveedoresBusinessProcessorRules.SetNOMBREValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresNOMBRE] := aValue; end; -function TProveedoresBusinessProcessorRules.GetCALLEValue: String; +procedure TProveedoresBusinessProcessorRules.SetNOMBREIsNull(const aValue: Boolean); begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresCALLE]; -end; - -function TProveedoresBusinessProcessorRules.GetOldCALLEValue: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresCALLE]; -end; - -procedure TProveedoresBusinessProcessorRules.SetCALLEValue(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresCALLE] := aValue; + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresNOMBRE] := Null; end; function TProveedoresBusinessProcessorRules.GetPERSONA_CONTACTOValue: String; @@ -2348,196 +4461,492 @@ begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresPERSONA_CONTACTO]; end; +function TProveedoresBusinessProcessorRules.GetPERSONA_CONTACTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresPERSONA_CONTACTO]); +end; + function TProveedoresBusinessProcessorRules.GetOldPERSONA_CONTACTOValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresPERSONA_CONTACTO]; end; +function TProveedoresBusinessProcessorRules.GetOldPERSONA_CONTACTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresPERSONA_CONTACTO]); +end; + procedure TProveedoresBusinessProcessorRules.SetPERSONA_CONTACTOValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresPERSONA_CONTACTO] := aValue; end; +procedure TProveedoresBusinessProcessorRules.SetPERSONA_CONTACTOIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresPERSONA_CONTACTO] := Null; +end; + +function TProveedoresBusinessProcessorRules.GetCALLEValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresCALLE]; +end; + +function TProveedoresBusinessProcessorRules.GetCALLEIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresCALLE]); +end; + +function TProveedoresBusinessProcessorRules.GetOldCALLEValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresCALLE]; +end; + +function TProveedoresBusinessProcessorRules.GetOldCALLEIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresCALLE]); +end; + +procedure TProveedoresBusinessProcessorRules.SetCALLEValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresCALLE] := aValue; +end; + +procedure TProveedoresBusinessProcessorRules.SetCALLEIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresCALLE] := Null; +end; + function TProveedoresBusinessProcessorRules.GetPOBLACIONValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresPOBLACION]; end; +function TProveedoresBusinessProcessorRules.GetPOBLACIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresPOBLACION]); +end; + function TProveedoresBusinessProcessorRules.GetOldPOBLACIONValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresPOBLACION]; end; +function TProveedoresBusinessProcessorRules.GetOldPOBLACIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresPOBLACION]); +end; + procedure TProveedoresBusinessProcessorRules.SetPOBLACIONValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresPOBLACION] := aValue; end; +procedure TProveedoresBusinessProcessorRules.SetPOBLACIONIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresPOBLACION] := Null; +end; + function TProveedoresBusinessProcessorRules.GetPROVINCIAValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresPROVINCIA]; end; +function TProveedoresBusinessProcessorRules.GetPROVINCIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresPROVINCIA]); +end; + function TProveedoresBusinessProcessorRules.GetOldPROVINCIAValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresPROVINCIA]; end; +function TProveedoresBusinessProcessorRules.GetOldPROVINCIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresPROVINCIA]); +end; + procedure TProveedoresBusinessProcessorRules.SetPROVINCIAValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresPROVINCIA] := aValue; end; +procedure TProveedoresBusinessProcessorRules.SetPROVINCIAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresPROVINCIA] := Null; +end; + function TProveedoresBusinessProcessorRules.GetCODIGO_POSTALValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresCODIGO_POSTAL]; end; +function TProveedoresBusinessProcessorRules.GetCODIGO_POSTALIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresCODIGO_POSTAL]); +end; + function TProveedoresBusinessProcessorRules.GetOldCODIGO_POSTALValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresCODIGO_POSTAL]; end; +function TProveedoresBusinessProcessorRules.GetOldCODIGO_POSTALIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresCODIGO_POSTAL]); +end; + procedure TProveedoresBusinessProcessorRules.SetCODIGO_POSTALValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresCODIGO_POSTAL] := aValue; end; +procedure TProveedoresBusinessProcessorRules.SetCODIGO_POSTALIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresCODIGO_POSTAL] := Null; +end; + function TProveedoresBusinessProcessorRules.GetTELEFONO_1Value: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresTELEFONO_1]; end; +function TProveedoresBusinessProcessorRules.GetTELEFONO_1IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresTELEFONO_1]); +end; + function TProveedoresBusinessProcessorRules.GetOldTELEFONO_1Value: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresTELEFONO_1]; end; +function TProveedoresBusinessProcessorRules.GetOldTELEFONO_1IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresTELEFONO_1]); +end; + procedure TProveedoresBusinessProcessorRules.SetTELEFONO_1Value(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresTELEFONO_1] := aValue; end; +procedure TProveedoresBusinessProcessorRules.SetTELEFONO_1IsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresTELEFONO_1] := Null; +end; + function TProveedoresBusinessProcessorRules.GetTELEFONO_2Value: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresTELEFONO_2]; end; +function TProveedoresBusinessProcessorRules.GetTELEFONO_2IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresTELEFONO_2]); +end; + function TProveedoresBusinessProcessorRules.GetOldTELEFONO_2Value: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresTELEFONO_2]; end; +function TProveedoresBusinessProcessorRules.GetOldTELEFONO_2IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresTELEFONO_2]); +end; + procedure TProveedoresBusinessProcessorRules.SetTELEFONO_2Value(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresTELEFONO_2] := aValue; end; +procedure TProveedoresBusinessProcessorRules.SetTELEFONO_2IsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresTELEFONO_2] := Null; +end; + function TProveedoresBusinessProcessorRules.GetMOVIL_1Value: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresMOVIL_1]; end; +function TProveedoresBusinessProcessorRules.GetMOVIL_1IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresMOVIL_1]); +end; + function TProveedoresBusinessProcessorRules.GetOldMOVIL_1Value: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresMOVIL_1]; end; +function TProveedoresBusinessProcessorRules.GetOldMOVIL_1IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresMOVIL_1]); +end; + procedure TProveedoresBusinessProcessorRules.SetMOVIL_1Value(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresMOVIL_1] := aValue; end; +procedure TProveedoresBusinessProcessorRules.SetMOVIL_1IsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresMOVIL_1] := Null; +end; + function TProveedoresBusinessProcessorRules.GetMOVIL_2Value: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresMOVIL_2]; end; +function TProveedoresBusinessProcessorRules.GetMOVIL_2IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresMOVIL_2]); +end; + function TProveedoresBusinessProcessorRules.GetOldMOVIL_2Value: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresMOVIL_2]; end; +function TProveedoresBusinessProcessorRules.GetOldMOVIL_2IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresMOVIL_2]); +end; + procedure TProveedoresBusinessProcessorRules.SetMOVIL_2Value(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresMOVIL_2] := aValue; end; +procedure TProveedoresBusinessProcessorRules.SetMOVIL_2IsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresMOVIL_2] := Null; +end; + function TProveedoresBusinessProcessorRules.GetFAXValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresFAX]; end; +function TProveedoresBusinessProcessorRules.GetFAXIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresFAX]); +end; + function TProveedoresBusinessProcessorRules.GetOldFAXValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresFAX]; end; +function TProveedoresBusinessProcessorRules.GetOldFAXIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresFAX]); +end; + procedure TProveedoresBusinessProcessorRules.SetFAXValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresFAX] := aValue; end; +procedure TProveedoresBusinessProcessorRules.SetFAXIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresFAX] := Null; +end; + function TProveedoresBusinessProcessorRules.GetEMAIL_1Value: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresEMAIL_1]; end; +function TProveedoresBusinessProcessorRules.GetEMAIL_1IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresEMAIL_1]); +end; + function TProveedoresBusinessProcessorRules.GetOldEMAIL_1Value: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresEMAIL_1]; end; +function TProveedoresBusinessProcessorRules.GetOldEMAIL_1IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresEMAIL_1]); +end; + procedure TProveedoresBusinessProcessorRules.SetEMAIL_1Value(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresEMAIL_1] := aValue; end; +procedure TProveedoresBusinessProcessorRules.SetEMAIL_1IsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresEMAIL_1] := Null; +end; + function TProveedoresBusinessProcessorRules.GetEMAIL_2Value: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresEMAIL_2]; end; +function TProveedoresBusinessProcessorRules.GetEMAIL_2IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresEMAIL_2]); +end; + function TProveedoresBusinessProcessorRules.GetOldEMAIL_2Value: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresEMAIL_2]; end; +function TProveedoresBusinessProcessorRules.GetOldEMAIL_2IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresEMAIL_2]); +end; + procedure TProveedoresBusinessProcessorRules.SetEMAIL_2Value(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresEMAIL_2] := aValue; end; +procedure TProveedoresBusinessProcessorRules.SetEMAIL_2IsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresEMAIL_2] := Null; +end; + function TProveedoresBusinessProcessorRules.GetPAGINA_WEBValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresPAGINA_WEB]; end; +function TProveedoresBusinessProcessorRules.GetPAGINA_WEBIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresPAGINA_WEB]); +end; + function TProveedoresBusinessProcessorRules.GetOldPAGINA_WEBValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresPAGINA_WEB]; end; +function TProveedoresBusinessProcessorRules.GetOldPAGINA_WEBIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresPAGINA_WEB]); +end; + procedure TProveedoresBusinessProcessorRules.SetPAGINA_WEBValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresPAGINA_WEB] := aValue; end; +procedure TProveedoresBusinessProcessorRules.SetPAGINA_WEBIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresPAGINA_WEB] := Null; +end; + function TProveedoresBusinessProcessorRules.GetNOTASValue: IROStrings; begin - result := NewROStrings(); + result := f_NOTAS; result.Text := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresNOTAS]; end; +function TProveedoresBusinessProcessorRules.GetNOTASIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresNOTAS]); +end; + function TProveedoresBusinessProcessorRules.GetOldNOTASValue: IROStrings; begin result := NewROStrings(); result.Text := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresNOTAS]; end; -procedure TProveedoresBusinessProcessorRules.SetNOTASValue(const aValue: IROStrings); +function TProveedoresBusinessProcessorRules.GetOldNOTASIsNull: Boolean; begin - BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresNOTAS] := aValue.Text; + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresNOTAS]); +end; + +procedure TProveedoresBusinessProcessorRules.SetNOTASIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresNOTAS] := Null; +end; + +function TProveedoresBusinessProcessorRules.GetFECHA_ALTAValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresFECHA_ALTA]; +end; + +function TProveedoresBusinessProcessorRules.GetFECHA_ALTAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresFECHA_ALTA]); +end; + +function TProveedoresBusinessProcessorRules.GetOldFECHA_ALTAValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresFECHA_ALTA]; +end; + +function TProveedoresBusinessProcessorRules.GetOldFECHA_ALTAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresFECHA_ALTA]); +end; + +procedure TProveedoresBusinessProcessorRules.SetFECHA_ALTAValue(const aValue: DateTime); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresFECHA_ALTA] := aValue; +end; + +procedure TProveedoresBusinessProcessorRules.SetFECHA_ALTAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresFECHA_ALTA] := Null; +end; + +function TProveedoresBusinessProcessorRules.GetFECHA_MODIFICACIONValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresFECHA_MODIFICACION]; +end; + +function TProveedoresBusinessProcessorRules.GetFECHA_MODIFICACIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresFECHA_MODIFICACION]); +end; + +function TProveedoresBusinessProcessorRules.GetOldFECHA_MODIFICACIONValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresFECHA_MODIFICACION]; +end; + +function TProveedoresBusinessProcessorRules.GetOldFECHA_MODIFICACIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresFECHA_MODIFICACION]); +end; + +procedure TProveedoresBusinessProcessorRules.SetFECHA_MODIFICACIONValue(const aValue: DateTime); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresFECHA_MODIFICACION] := aValue; +end; + +procedure TProveedoresBusinessProcessorRules.SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresFECHA_MODIFICACION] := Null; end; function TProveedoresBusinessProcessorRules.GetUSUARIOValue: String; @@ -2545,104 +4954,92 @@ begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresUSUARIO]; end; +function TProveedoresBusinessProcessorRules.GetUSUARIOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresUSUARIO]); +end; + function TProveedoresBusinessProcessorRules.GetOldUSUARIOValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresUSUARIO]; end; +function TProveedoresBusinessProcessorRules.GetOldUSUARIOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresUSUARIO]); +end; + procedure TProveedoresBusinessProcessorRules.SetUSUARIOValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresUSUARIO] := aValue; end; +procedure TProveedoresBusinessProcessorRules.SetUSUARIOIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresUSUARIO] := Null; +end; + function TProveedoresBusinessProcessorRules.GetID_EMPRESAValue: Integer; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresID_EMPRESA]; end; +function TProveedoresBusinessProcessorRules.GetID_EMPRESAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresID_EMPRESA]); +end; + function TProveedoresBusinessProcessorRules.GetOldID_EMPRESAValue: Integer; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresID_EMPRESA]; end; +function TProveedoresBusinessProcessorRules.GetOldID_EMPRESAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresID_EMPRESA]); +end; + procedure TProveedoresBusinessProcessorRules.SetID_EMPRESAValue(const aValue: Integer); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresID_EMPRESA] := aValue; end; +procedure TProveedoresBusinessProcessorRules.SetID_EMPRESAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresID_EMPRESA] := Null; +end; + function TProveedoresBusinessProcessorRules.GetREFERENCIAValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresREFERENCIA]; end; +function TProveedoresBusinessProcessorRules.GetREFERENCIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresREFERENCIA]); +end; + function TProveedoresBusinessProcessorRules.GetOldREFERENCIAValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresREFERENCIA]; end; +function TProveedoresBusinessProcessorRules.GetOldREFERENCIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresREFERENCIA]); +end; + procedure TProveedoresBusinessProcessorRules.SetREFERENCIAValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresREFERENCIA] := aValue; end; -function TProveedoresBusinessProcessorRules.GetID_TIPO_IVAValue: Integer; +procedure TProveedoresBusinessProcessorRules.SetREFERENCIAIsNull(const aValue: Boolean); begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresID_TIPO_IVA]; -end; - -function TProveedoresBusinessProcessorRules.GetOldID_TIPO_IVAValue: Integer; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresID_TIPO_IVA]; -end; - -procedure TProveedoresBusinessProcessorRules.SetID_TIPO_IVAValue(const aValue: Integer); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresID_TIPO_IVA] := aValue; -end; - -function TProveedoresBusinessProcessorRules.GetREGIMEN_IVAValue: String; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresREGIMEN_IVA]; -end; - -function TProveedoresBusinessProcessorRules.GetOldREGIMEN_IVAValue: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresREGIMEN_IVA]; -end; - -procedure TProveedoresBusinessProcessorRules.SetREGIMEN_IVAValue(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresREGIMEN_IVA] := aValue; -end; - -function TProveedoresBusinessProcessorRules.GetID_FORMA_PAGOValue: Integer; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresID_FORMA_PAGO]; -end; - -function TProveedoresBusinessProcessorRules.GetOldID_FORMA_PAGOValue: Integer; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresID_FORMA_PAGO]; -end; - -procedure TProveedoresBusinessProcessorRules.SetID_FORMA_PAGOValue(const aValue: Integer); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresID_FORMA_PAGO] := aValue; -end; - -function TProveedoresBusinessProcessorRules.GetTIENDA_WEBValue: Integer; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresTIENDA_WEB]; -end; - -function TProveedoresBusinessProcessorRules.GetOldTIENDA_WEBValue: Integer; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresTIENDA_WEB]; -end; - -procedure TProveedoresBusinessProcessorRules.SetTIENDA_WEBValue(const aValue: Integer); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresTIENDA_WEB] := aValue; + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresREFERENCIA] := Null; end; function TProveedoresBusinessProcessorRules.GetDESCUENTOValue: Float; @@ -2650,74 +5047,92 @@ begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresDESCUENTO]; end; +function TProveedoresBusinessProcessorRules.GetDESCUENTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresDESCUENTO]); +end; + function TProveedoresBusinessProcessorRules.GetOldDESCUENTOValue: Float; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresDESCUENTO]; end; +function TProveedoresBusinessProcessorRules.GetOldDESCUENTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresDESCUENTO]); +end; + procedure TProveedoresBusinessProcessorRules.SetDESCUENTOValue(const aValue: Float); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresDESCUENTO] := aValue; end; +procedure TProveedoresBusinessProcessorRules.SetDESCUENTOIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresDESCUENTO] := Null; +end; + function TProveedoresBusinessProcessorRules.GetDESCRIPCION_PROVEEDORValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresDESCRIPCION_PROVEEDOR]; end; +function TProveedoresBusinessProcessorRules.GetDESCRIPCION_PROVEEDORIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresDESCRIPCION_PROVEEDOR]); +end; + function TProveedoresBusinessProcessorRules.GetOldDESCRIPCION_PROVEEDORValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresDESCRIPCION_PROVEEDOR]; end; +function TProveedoresBusinessProcessorRules.GetOldDESCRIPCION_PROVEEDORIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresDESCRIPCION_PROVEEDOR]); +end; + procedure TProveedoresBusinessProcessorRules.SetDESCRIPCION_PROVEEDORValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresDESCRIPCION_PROVEEDOR] := aValue; end; +procedure TProveedoresBusinessProcessorRules.SetDESCRIPCION_PROVEEDORIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresDESCRIPCION_PROVEEDOR] := Null; +end; + function TProveedoresBusinessProcessorRules.GetCODIGO_ASIGNADOValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresCODIGO_ASIGNADO]; end; +function TProveedoresBusinessProcessorRules.GetCODIGO_ASIGNADOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresCODIGO_ASIGNADO]); +end; + function TProveedoresBusinessProcessorRules.GetOldCODIGO_ASIGNADOValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresCODIGO_ASIGNADO]; end; +function TProveedoresBusinessProcessorRules.GetOldCODIGO_ASIGNADOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresCODIGO_ASIGNADO]); +end; + procedure TProveedoresBusinessProcessorRules.SetCODIGO_ASIGNADOValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresCODIGO_ASIGNADO] := aValue; end; -function TProveedoresBusinessProcessorRules.GetHOMOLOGADOValue: Integer; +procedure TProveedoresBusinessProcessorRules.SetCODIGO_ASIGNADOIsNull(const aValue: Boolean); begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresHOMOLOGADO]; -end; - -function TProveedoresBusinessProcessorRules.GetOldHOMOLOGADOValue: Integer; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresHOMOLOGADO]; -end; - -procedure TProveedoresBusinessProcessorRules.SetHOMOLOGADOValue(const aValue: Integer); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresHOMOLOGADO] := aValue; -end; - -function TProveedoresBusinessProcessorRules.GetCERTIFICACIONValue: String; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresCERTIFICACION]; -end; - -function TProveedoresBusinessProcessorRules.GetOldCERTIFICACIONValue: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresCERTIFICACION]; -end; - -procedure TProveedoresBusinessProcessorRules.SetCERTIFICACIONValue(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresCERTIFICACION] := aValue; + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresCODIGO_ASIGNADO] := Null; end; function TProveedoresBusinessProcessorRules.GetGRUPO_PROVEEDORValue: String; @@ -2725,21 +5140,245 @@ begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresGRUPO_PROVEEDOR]; end; +function TProveedoresBusinessProcessorRules.GetGRUPO_PROVEEDORIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresGRUPO_PROVEEDOR]); +end; + function TProveedoresBusinessProcessorRules.GetOldGRUPO_PROVEEDORValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresGRUPO_PROVEEDOR]; end; +function TProveedoresBusinessProcessorRules.GetOldGRUPO_PROVEEDORIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresGRUPO_PROVEEDOR]); +end; + procedure TProveedoresBusinessProcessorRules.SetGRUPO_PROVEEDORValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresGRUPO_PROVEEDOR] := aValue; end; +procedure TProveedoresBusinessProcessorRules.SetGRUPO_PROVEEDORIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresGRUPO_PROVEEDOR] := Null; +end; + +function TProveedoresBusinessProcessorRules.GetREGIMEN_IVAValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresREGIMEN_IVA]; +end; + +function TProveedoresBusinessProcessorRules.GetREGIMEN_IVAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresREGIMEN_IVA]); +end; + +function TProveedoresBusinessProcessorRules.GetOldREGIMEN_IVAValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresREGIMEN_IVA]; +end; + +function TProveedoresBusinessProcessorRules.GetOldREGIMEN_IVAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresREGIMEN_IVA]); +end; + +procedure TProveedoresBusinessProcessorRules.SetREGIMEN_IVAValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresREGIMEN_IVA] := aValue; +end; + +procedure TProveedoresBusinessProcessorRules.SetREGIMEN_IVAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresREGIMEN_IVA] := Null; +end; + +function TProveedoresBusinessProcessorRules.GetID_TIPO_IVAValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresID_TIPO_IVA]; +end; + +function TProveedoresBusinessProcessorRules.GetID_TIPO_IVAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresID_TIPO_IVA]); +end; + +function TProveedoresBusinessProcessorRules.GetOldID_TIPO_IVAValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresID_TIPO_IVA]; +end; + +function TProveedoresBusinessProcessorRules.GetOldID_TIPO_IVAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresID_TIPO_IVA]); +end; + +procedure TProveedoresBusinessProcessorRules.SetID_TIPO_IVAValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresID_TIPO_IVA] := aValue; +end; + +procedure TProveedoresBusinessProcessorRules.SetID_TIPO_IVAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresID_TIPO_IVA] := Null; +end; + +function TProveedoresBusinessProcessorRules.GetID_FORMA_PAGOValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresID_FORMA_PAGO]; +end; + +function TProveedoresBusinessProcessorRules.GetID_FORMA_PAGOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresID_FORMA_PAGO]); +end; + +function TProveedoresBusinessProcessorRules.GetOldID_FORMA_PAGOValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresID_FORMA_PAGO]; +end; + +function TProveedoresBusinessProcessorRules.GetOldID_FORMA_PAGOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresID_FORMA_PAGO]); +end; + +procedure TProveedoresBusinessProcessorRules.SetID_FORMA_PAGOValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresID_FORMA_PAGO] := aValue; +end; + +procedure TProveedoresBusinessProcessorRules.SetID_FORMA_PAGOIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresID_FORMA_PAGO] := Null; +end; + +function TProveedoresBusinessProcessorRules.GetTIENDA_WEBValue: SmallInt; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresTIENDA_WEB]; +end; + +function TProveedoresBusinessProcessorRules.GetTIENDA_WEBIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresTIENDA_WEB]); +end; + +function TProveedoresBusinessProcessorRules.GetOldTIENDA_WEBValue: SmallInt; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresTIENDA_WEB]; +end; + +function TProveedoresBusinessProcessorRules.GetOldTIENDA_WEBIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresTIENDA_WEB]); +end; + +procedure TProveedoresBusinessProcessorRules.SetTIENDA_WEBValue(const aValue: SmallInt); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresTIENDA_WEB] := aValue; +end; + +procedure TProveedoresBusinessProcessorRules.SetTIENDA_WEBIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresTIENDA_WEB] := Null; +end; + +function TProveedoresBusinessProcessorRules.GetHOMOLOGADOValue: SmallInt; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresHOMOLOGADO]; +end; + +function TProveedoresBusinessProcessorRules.GetHOMOLOGADOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresHOMOLOGADO]); +end; + +function TProveedoresBusinessProcessorRules.GetOldHOMOLOGADOValue: SmallInt; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresHOMOLOGADO]; +end; + +function TProveedoresBusinessProcessorRules.GetOldHOMOLOGADOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresHOMOLOGADO]); +end; + +procedure TProveedoresBusinessProcessorRules.SetHOMOLOGADOValue(const aValue: SmallInt); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresHOMOLOGADO] := aValue; +end; + +procedure TProveedoresBusinessProcessorRules.SetHOMOLOGADOIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresHOMOLOGADO] := Null; +end; + +function TProveedoresBusinessProcessorRules.GetCERTIFICACIONValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresCERTIFICACION]; +end; + +function TProveedoresBusinessProcessorRules.GetCERTIFICACIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresCERTIFICACION]); +end; + +function TProveedoresBusinessProcessorRules.GetOldCERTIFICACIONValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresCERTIFICACION]; +end; + +function TProveedoresBusinessProcessorRules.GetOldCERTIFICACIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresCERTIFICACION]); +end; + +procedure TProveedoresBusinessProcessorRules.SetCERTIFICACIONValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresCERTIFICACION] := aValue; +end; + +procedure TProveedoresBusinessProcessorRules.SetCERTIFICACIONIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresCERTIFICACION] := Null; +end; + { TEmpleadosBusinessProcessorRules } constructor TEmpleadosBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); +var + StrList: TStringList; begin inherited; + + StrList := TStringList.Create; + StrList.OnChange := NOTAS_OnChange; + f_NOTAS := NewROStrings(StrList,True); + + StrList := TStringList.Create; + StrList.OnChange := FORMACION_BASE_OnChange; + f_FORMACION_BASE := NewROStrings(StrList,True); + + StrList := TStringList.Create; + StrList.OnChange := FORMACION_COMPLE_OnChange; + f_FORMACION_COMPLE := NewROStrings(StrList,True); + + StrList := TStringList.Create; + StrList.OnChange := FORMACION_RECIBIDA_OnChange; + f_FORMACION_RECIBIDA := NewROStrings(StrList,True); + + StrList := TStringList.Create; + StrList.OnChange := EXPERIENCIA_OnChange; + f_EXPERIENCIA := NewROStrings(StrList,True); end; destructor TEmpleadosBusinessProcessorRules.Destroy; @@ -2747,79 +5386,153 @@ begin inherited; end; +procedure TEmpleadosBusinessProcessorRules.NOTAS_OnChange(Sender: TObject); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosNOTAS] := TStringList(Sender).Text; +end; + +procedure TEmpleadosBusinessProcessorRules.FORMACION_BASE_OnChange(Sender: TObject); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFORMACION_BASE] := TStringList(Sender).Text; +end; + +procedure TEmpleadosBusinessProcessorRules.FORMACION_COMPLE_OnChange(Sender: TObject); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFORMACION_COMPLE] := TStringList(Sender).Text; +end; + +procedure TEmpleadosBusinessProcessorRules.FORMACION_RECIBIDA_OnChange(Sender: TObject); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFORMACION_RECIBIDA] := TStringList(Sender).Text; +end; + +procedure TEmpleadosBusinessProcessorRules.EXPERIENCIA_OnChange(Sender: TObject); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosEXPERIENCIA] := TStringList(Sender).Text; +end; + function TEmpleadosBusinessProcessorRules.GetIDValue: Integer; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosID]; end; +function TEmpleadosBusinessProcessorRules.GetIDIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosID]); +end; + function TEmpleadosBusinessProcessorRules.GetOldIDValue: Integer; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosID]; end; +function TEmpleadosBusinessProcessorRules.GetOldIDIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosID]); +end; + procedure TEmpleadosBusinessProcessorRules.SetIDValue(const aValue: Integer); begin BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosID] := aValue; end; +procedure TEmpleadosBusinessProcessorRules.SetIDIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosID] := Null; +end; + function TEmpleadosBusinessProcessorRules.GetID_CATEGORIAValue: Integer; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosID_CATEGORIA]; end; +function TEmpleadosBusinessProcessorRules.GetID_CATEGORIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosID_CATEGORIA]); +end; + function TEmpleadosBusinessProcessorRules.GetOldID_CATEGORIAValue: Integer; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosID_CATEGORIA]; end; +function TEmpleadosBusinessProcessorRules.GetOldID_CATEGORIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosID_CATEGORIA]); +end; + procedure TEmpleadosBusinessProcessorRules.SetID_CATEGORIAValue(const aValue: Integer); begin BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosID_CATEGORIA] := aValue; end; +procedure TEmpleadosBusinessProcessorRules.SetID_CATEGORIAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosID_CATEGORIA] := Null; +end; + function TEmpleadosBusinessProcessorRules.GetNIF_CIFValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosNIF_CIF]; end; +function TEmpleadosBusinessProcessorRules.GetNIF_CIFIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosNIF_CIF]); +end; + function TEmpleadosBusinessProcessorRules.GetOldNIF_CIFValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosNIF_CIF]; end; +function TEmpleadosBusinessProcessorRules.GetOldNIF_CIFIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosNIF_CIF]); +end; + procedure TEmpleadosBusinessProcessorRules.SetNIF_CIFValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosNIF_CIF] := aValue; end; +procedure TEmpleadosBusinessProcessorRules.SetNIF_CIFIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosNIF_CIF] := Null; +end; + function TEmpleadosBusinessProcessorRules.GetNOMBREValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosNOMBRE]; end; +function TEmpleadosBusinessProcessorRules.GetNOMBREIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosNOMBRE]); +end; + function TEmpleadosBusinessProcessorRules.GetOldNOMBREValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosNOMBRE]; end; +function TEmpleadosBusinessProcessorRules.GetOldNOMBREIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosNOMBRE]); +end; + procedure TEmpleadosBusinessProcessorRules.SetNOMBREValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosNOMBRE] := aValue; end; -function TEmpleadosBusinessProcessorRules.GetCALLEValue: String; +procedure TEmpleadosBusinessProcessorRules.SetNOMBREIsNull(const aValue: Boolean); begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosCALLE]; -end; - -function TEmpleadosBusinessProcessorRules.GetOldCALLEValue: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosCALLE]; -end; - -procedure TEmpleadosBusinessProcessorRules.SetCALLEValue(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosCALLE] := aValue; + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosNOMBRE] := Null; end; function TEmpleadosBusinessProcessorRules.GetPERSONA_CONTACTOValue: String; @@ -2827,196 +5540,492 @@ begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosPERSONA_CONTACTO]; end; +function TEmpleadosBusinessProcessorRules.GetPERSONA_CONTACTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosPERSONA_CONTACTO]); +end; + function TEmpleadosBusinessProcessorRules.GetOldPERSONA_CONTACTOValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosPERSONA_CONTACTO]; end; +function TEmpleadosBusinessProcessorRules.GetOldPERSONA_CONTACTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosPERSONA_CONTACTO]); +end; + procedure TEmpleadosBusinessProcessorRules.SetPERSONA_CONTACTOValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosPERSONA_CONTACTO] := aValue; end; +procedure TEmpleadosBusinessProcessorRules.SetPERSONA_CONTACTOIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosPERSONA_CONTACTO] := Null; +end; + +function TEmpleadosBusinessProcessorRules.GetCALLEValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosCALLE]; +end; + +function TEmpleadosBusinessProcessorRules.GetCALLEIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosCALLE]); +end; + +function TEmpleadosBusinessProcessorRules.GetOldCALLEValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosCALLE]; +end; + +function TEmpleadosBusinessProcessorRules.GetOldCALLEIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosCALLE]); +end; + +procedure TEmpleadosBusinessProcessorRules.SetCALLEValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosCALLE] := aValue; +end; + +procedure TEmpleadosBusinessProcessorRules.SetCALLEIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosCALLE] := Null; +end; + function TEmpleadosBusinessProcessorRules.GetPOBLACIONValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosPOBLACION]; end; +function TEmpleadosBusinessProcessorRules.GetPOBLACIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosPOBLACION]); +end; + function TEmpleadosBusinessProcessorRules.GetOldPOBLACIONValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosPOBLACION]; end; +function TEmpleadosBusinessProcessorRules.GetOldPOBLACIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosPOBLACION]); +end; + procedure TEmpleadosBusinessProcessorRules.SetPOBLACIONValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosPOBLACION] := aValue; end; +procedure TEmpleadosBusinessProcessorRules.SetPOBLACIONIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosPOBLACION] := Null; +end; + function TEmpleadosBusinessProcessorRules.GetPROVINCIAValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosPROVINCIA]; end; +function TEmpleadosBusinessProcessorRules.GetPROVINCIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosPROVINCIA]); +end; + function TEmpleadosBusinessProcessorRules.GetOldPROVINCIAValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosPROVINCIA]; end; +function TEmpleadosBusinessProcessorRules.GetOldPROVINCIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosPROVINCIA]); +end; + procedure TEmpleadosBusinessProcessorRules.SetPROVINCIAValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosPROVINCIA] := aValue; end; +procedure TEmpleadosBusinessProcessorRules.SetPROVINCIAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosPROVINCIA] := Null; +end; + function TEmpleadosBusinessProcessorRules.GetCODIGO_POSTALValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosCODIGO_POSTAL]; end; +function TEmpleadosBusinessProcessorRules.GetCODIGO_POSTALIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosCODIGO_POSTAL]); +end; + function TEmpleadosBusinessProcessorRules.GetOldCODIGO_POSTALValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosCODIGO_POSTAL]; end; +function TEmpleadosBusinessProcessorRules.GetOldCODIGO_POSTALIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosCODIGO_POSTAL]); +end; + procedure TEmpleadosBusinessProcessorRules.SetCODIGO_POSTALValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosCODIGO_POSTAL] := aValue; end; +procedure TEmpleadosBusinessProcessorRules.SetCODIGO_POSTALIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosCODIGO_POSTAL] := Null; +end; + function TEmpleadosBusinessProcessorRules.GetTELEFONO_1Value: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosTELEFONO_1]; end; +function TEmpleadosBusinessProcessorRules.GetTELEFONO_1IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosTELEFONO_1]); +end; + function TEmpleadosBusinessProcessorRules.GetOldTELEFONO_1Value: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosTELEFONO_1]; end; +function TEmpleadosBusinessProcessorRules.GetOldTELEFONO_1IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosTELEFONO_1]); +end; + procedure TEmpleadosBusinessProcessorRules.SetTELEFONO_1Value(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosTELEFONO_1] := aValue; end; +procedure TEmpleadosBusinessProcessorRules.SetTELEFONO_1IsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosTELEFONO_1] := Null; +end; + function TEmpleadosBusinessProcessorRules.GetTELEFONO_2Value: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosTELEFONO_2]; end; +function TEmpleadosBusinessProcessorRules.GetTELEFONO_2IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosTELEFONO_2]); +end; + function TEmpleadosBusinessProcessorRules.GetOldTELEFONO_2Value: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosTELEFONO_2]; end; +function TEmpleadosBusinessProcessorRules.GetOldTELEFONO_2IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosTELEFONO_2]); +end; + procedure TEmpleadosBusinessProcessorRules.SetTELEFONO_2Value(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosTELEFONO_2] := aValue; end; +procedure TEmpleadosBusinessProcessorRules.SetTELEFONO_2IsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosTELEFONO_2] := Null; +end; + function TEmpleadosBusinessProcessorRules.GetMOVIL_1Value: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosMOVIL_1]; end; +function TEmpleadosBusinessProcessorRules.GetMOVIL_1IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosMOVIL_1]); +end; + function TEmpleadosBusinessProcessorRules.GetOldMOVIL_1Value: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosMOVIL_1]; end; +function TEmpleadosBusinessProcessorRules.GetOldMOVIL_1IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosMOVIL_1]); +end; + procedure TEmpleadosBusinessProcessorRules.SetMOVIL_1Value(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosMOVIL_1] := aValue; end; +procedure TEmpleadosBusinessProcessorRules.SetMOVIL_1IsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosMOVIL_1] := Null; +end; + function TEmpleadosBusinessProcessorRules.GetMOVIL_2Value: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosMOVIL_2]; end; +function TEmpleadosBusinessProcessorRules.GetMOVIL_2IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosMOVIL_2]); +end; + function TEmpleadosBusinessProcessorRules.GetOldMOVIL_2Value: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosMOVIL_2]; end; +function TEmpleadosBusinessProcessorRules.GetOldMOVIL_2IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosMOVIL_2]); +end; + procedure TEmpleadosBusinessProcessorRules.SetMOVIL_2Value(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosMOVIL_2] := aValue; end; +procedure TEmpleadosBusinessProcessorRules.SetMOVIL_2IsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosMOVIL_2] := Null; +end; + function TEmpleadosBusinessProcessorRules.GetFAXValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFAX]; end; +function TEmpleadosBusinessProcessorRules.GetFAXIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFAX]); +end; + function TEmpleadosBusinessProcessorRules.GetOldFAXValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosFAX]; end; +function TEmpleadosBusinessProcessorRules.GetOldFAXIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosFAX]); +end; + procedure TEmpleadosBusinessProcessorRules.SetFAXValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFAX] := aValue; end; +procedure TEmpleadosBusinessProcessorRules.SetFAXIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFAX] := Null; +end; + function TEmpleadosBusinessProcessorRules.GetEMAIL_1Value: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosEMAIL_1]; end; +function TEmpleadosBusinessProcessorRules.GetEMAIL_1IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosEMAIL_1]); +end; + function TEmpleadosBusinessProcessorRules.GetOldEMAIL_1Value: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosEMAIL_1]; end; +function TEmpleadosBusinessProcessorRules.GetOldEMAIL_1IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosEMAIL_1]); +end; + procedure TEmpleadosBusinessProcessorRules.SetEMAIL_1Value(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosEMAIL_1] := aValue; end; +procedure TEmpleadosBusinessProcessorRules.SetEMAIL_1IsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosEMAIL_1] := Null; +end; + function TEmpleadosBusinessProcessorRules.GetEMAIL_2Value: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosEMAIL_2]; end; +function TEmpleadosBusinessProcessorRules.GetEMAIL_2IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosEMAIL_2]); +end; + function TEmpleadosBusinessProcessorRules.GetOldEMAIL_2Value: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosEMAIL_2]; end; +function TEmpleadosBusinessProcessorRules.GetOldEMAIL_2IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosEMAIL_2]); +end; + procedure TEmpleadosBusinessProcessorRules.SetEMAIL_2Value(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosEMAIL_2] := aValue; end; +procedure TEmpleadosBusinessProcessorRules.SetEMAIL_2IsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosEMAIL_2] := Null; +end; + function TEmpleadosBusinessProcessorRules.GetPAGINA_WEBValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosPAGINA_WEB]; end; +function TEmpleadosBusinessProcessorRules.GetPAGINA_WEBIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosPAGINA_WEB]); +end; + function TEmpleadosBusinessProcessorRules.GetOldPAGINA_WEBValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosPAGINA_WEB]; end; +function TEmpleadosBusinessProcessorRules.GetOldPAGINA_WEBIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosPAGINA_WEB]); +end; + procedure TEmpleadosBusinessProcessorRules.SetPAGINA_WEBValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosPAGINA_WEB] := aValue; end; +procedure TEmpleadosBusinessProcessorRules.SetPAGINA_WEBIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosPAGINA_WEB] := Null; +end; + function TEmpleadosBusinessProcessorRules.GetNOTASValue: IROStrings; begin - result := NewROStrings(); + result := f_NOTAS; result.Text := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosNOTAS]; end; +function TEmpleadosBusinessProcessorRules.GetNOTASIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosNOTAS]); +end; + function TEmpleadosBusinessProcessorRules.GetOldNOTASValue: IROStrings; begin result := NewROStrings(); result.Text := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosNOTAS]; end; -procedure TEmpleadosBusinessProcessorRules.SetNOTASValue(const aValue: IROStrings); +function TEmpleadosBusinessProcessorRules.GetOldNOTASIsNull: Boolean; begin - BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosNOTAS] := aValue.Text; + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosNOTAS]); +end; + +procedure TEmpleadosBusinessProcessorRules.SetNOTASIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosNOTAS] := Null; +end; + +function TEmpleadosBusinessProcessorRules.GetFECHA_ALTAValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFECHA_ALTA]; +end; + +function TEmpleadosBusinessProcessorRules.GetFECHA_ALTAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFECHA_ALTA]); +end; + +function TEmpleadosBusinessProcessorRules.GetOldFECHA_ALTAValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosFECHA_ALTA]; +end; + +function TEmpleadosBusinessProcessorRules.GetOldFECHA_ALTAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosFECHA_ALTA]); +end; + +procedure TEmpleadosBusinessProcessorRules.SetFECHA_ALTAValue(const aValue: DateTime); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFECHA_ALTA] := aValue; +end; + +procedure TEmpleadosBusinessProcessorRules.SetFECHA_ALTAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFECHA_ALTA] := Null; +end; + +function TEmpleadosBusinessProcessorRules.GetFECHA_MODIFICACIONValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFECHA_MODIFICACION]; +end; + +function TEmpleadosBusinessProcessorRules.GetFECHA_MODIFICACIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFECHA_MODIFICACION]); +end; + +function TEmpleadosBusinessProcessorRules.GetOldFECHA_MODIFICACIONValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosFECHA_MODIFICACION]; +end; + +function TEmpleadosBusinessProcessorRules.GetOldFECHA_MODIFICACIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosFECHA_MODIFICACION]); +end; + +procedure TEmpleadosBusinessProcessorRules.SetFECHA_MODIFICACIONValue(const aValue: DateTime); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFECHA_MODIFICACION] := aValue; +end; + +procedure TEmpleadosBusinessProcessorRules.SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFECHA_MODIFICACION] := Null; end; function TEmpleadosBusinessProcessorRules.GetUSUARIOValue: String; @@ -3024,59 +6033,92 @@ begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosUSUARIO]; end; +function TEmpleadosBusinessProcessorRules.GetUSUARIOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosUSUARIO]); +end; + function TEmpleadosBusinessProcessorRules.GetOldUSUARIOValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosUSUARIO]; end; +function TEmpleadosBusinessProcessorRules.GetOldUSUARIOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosUSUARIO]); +end; + procedure TEmpleadosBusinessProcessorRules.SetUSUARIOValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosUSUARIO] := aValue; end; +procedure TEmpleadosBusinessProcessorRules.SetUSUARIOIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosUSUARIO] := Null; +end; + function TEmpleadosBusinessProcessorRules.GetID_EMPRESAValue: Integer; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosID_EMPRESA]; end; +function TEmpleadosBusinessProcessorRules.GetID_EMPRESAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosID_EMPRESA]); +end; + function TEmpleadosBusinessProcessorRules.GetOldID_EMPRESAValue: Integer; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosID_EMPRESA]; end; +function TEmpleadosBusinessProcessorRules.GetOldID_EMPRESAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosID_EMPRESA]); +end; + procedure TEmpleadosBusinessProcessorRules.SetID_EMPRESAValue(const aValue: Integer); begin BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosID_EMPRESA] := aValue; end; +procedure TEmpleadosBusinessProcessorRules.SetID_EMPRESAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosID_EMPRESA] := Null; +end; + function TEmpleadosBusinessProcessorRules.GetREFERENCIAValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosREFERENCIA]; end; +function TEmpleadosBusinessProcessorRules.GetREFERENCIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosREFERENCIA]); +end; + function TEmpleadosBusinessProcessorRules.GetOldREFERENCIAValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosREFERENCIA]; end; +function TEmpleadosBusinessProcessorRules.GetOldREFERENCIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosREFERENCIA]); +end; + procedure TEmpleadosBusinessProcessorRules.SetREFERENCIAValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosREFERENCIA] := aValue; end; -function TEmpleadosBusinessProcessorRules.GetCATEGORIAValue: String; +procedure TEmpleadosBusinessProcessorRules.SetREFERENCIAIsNull(const aValue: Boolean); begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosCATEGORIA]; -end; - -function TEmpleadosBusinessProcessorRules.GetOldCATEGORIAValue: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosCATEGORIA]; -end; - -procedure TEmpleadosBusinessProcessorRules.SetCATEGORIAValue(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosCATEGORIA] := aValue; + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosREFERENCIA] := Null; end; function TEmpleadosBusinessProcessorRules.GetFECHA_NACIMIENTOValue: DateTime; @@ -3084,104 +6126,217 @@ begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFECHA_NACIMIENTO]; end; +function TEmpleadosBusinessProcessorRules.GetFECHA_NACIMIENTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFECHA_NACIMIENTO]); +end; + function TEmpleadosBusinessProcessorRules.GetOldFECHA_NACIMIENTOValue: DateTime; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosFECHA_NACIMIENTO]; end; +function TEmpleadosBusinessProcessorRules.GetOldFECHA_NACIMIENTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosFECHA_NACIMIENTO]); +end; + procedure TEmpleadosBusinessProcessorRules.SetFECHA_NACIMIENTOValue(const aValue: DateTime); begin BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFECHA_NACIMIENTO] := aValue; end; +procedure TEmpleadosBusinessProcessorRules.SetFECHA_NACIMIENTOIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFECHA_NACIMIENTO] := Null; +end; + +function TEmpleadosBusinessProcessorRules.GetCATEGORIAValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosCATEGORIA]; +end; + +function TEmpleadosBusinessProcessorRules.GetCATEGORIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosCATEGORIA]); +end; + +function TEmpleadosBusinessProcessorRules.GetOldCATEGORIAValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosCATEGORIA]; +end; + +function TEmpleadosBusinessProcessorRules.GetOldCATEGORIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosCATEGORIA]); +end; + +procedure TEmpleadosBusinessProcessorRules.SetCATEGORIAValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosCATEGORIA] := aValue; +end; + +procedure TEmpleadosBusinessProcessorRules.SetCATEGORIAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosCATEGORIA] := Null; +end; + function TEmpleadosBusinessProcessorRules.GetFECHA_ALTA_EMPRESAValue: DateTime; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFECHA_ALTA_EMPRESA]; end; +function TEmpleadosBusinessProcessorRules.GetFECHA_ALTA_EMPRESAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFECHA_ALTA_EMPRESA]); +end; + function TEmpleadosBusinessProcessorRules.GetOldFECHA_ALTA_EMPRESAValue: DateTime; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosFECHA_ALTA_EMPRESA]; end; +function TEmpleadosBusinessProcessorRules.GetOldFECHA_ALTA_EMPRESAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosFECHA_ALTA_EMPRESA]); +end; + procedure TEmpleadosBusinessProcessorRules.SetFECHA_ALTA_EMPRESAValue(const aValue: DateTime); begin BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFECHA_ALTA_EMPRESA] := aValue; end; +procedure TEmpleadosBusinessProcessorRules.SetFECHA_ALTA_EMPRESAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFECHA_ALTA_EMPRESA] := Null; +end; + function TEmpleadosBusinessProcessorRules.GetFORMACION_BASEValue: IROStrings; begin - result := NewROStrings(); + result := f_FORMACION_BASE; result.Text := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFORMACION_BASE]; end; +function TEmpleadosBusinessProcessorRules.GetFORMACION_BASEIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFORMACION_BASE]); +end; + function TEmpleadosBusinessProcessorRules.GetOldFORMACION_BASEValue: IROStrings; begin result := NewROStrings(); result.Text := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosFORMACION_BASE]; end; -procedure TEmpleadosBusinessProcessorRules.SetFORMACION_BASEValue(const aValue: IROStrings); +function TEmpleadosBusinessProcessorRules.GetOldFORMACION_BASEIsNull: Boolean; begin - BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFORMACION_BASE] := aValue.Text; + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosFORMACION_BASE]); +end; + +procedure TEmpleadosBusinessProcessorRules.SetFORMACION_BASEIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFORMACION_BASE] := Null; end; function TEmpleadosBusinessProcessorRules.GetFORMACION_COMPLEValue: IROStrings; begin - result := NewROStrings(); + result := f_FORMACION_COMPLE; result.Text := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFORMACION_COMPLE]; end; +function TEmpleadosBusinessProcessorRules.GetFORMACION_COMPLEIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFORMACION_COMPLE]); +end; + function TEmpleadosBusinessProcessorRules.GetOldFORMACION_COMPLEValue: IROStrings; begin result := NewROStrings(); result.Text := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosFORMACION_COMPLE]; end; -procedure TEmpleadosBusinessProcessorRules.SetFORMACION_COMPLEValue(const aValue: IROStrings); +function TEmpleadosBusinessProcessorRules.GetOldFORMACION_COMPLEIsNull: Boolean; begin - BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFORMACION_COMPLE] := aValue.Text; + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosFORMACION_COMPLE]); +end; + +procedure TEmpleadosBusinessProcessorRules.SetFORMACION_COMPLEIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFORMACION_COMPLE] := Null; end; function TEmpleadosBusinessProcessorRules.GetFORMACION_RECIBIDAValue: IROStrings; begin - result := NewROStrings(); + result := f_FORMACION_RECIBIDA; result.Text := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFORMACION_RECIBIDA]; end; +function TEmpleadosBusinessProcessorRules.GetFORMACION_RECIBIDAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFORMACION_RECIBIDA]); +end; + function TEmpleadosBusinessProcessorRules.GetOldFORMACION_RECIBIDAValue: IROStrings; begin result := NewROStrings(); result.Text := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosFORMACION_RECIBIDA]; end; -procedure TEmpleadosBusinessProcessorRules.SetFORMACION_RECIBIDAValue(const aValue: IROStrings); +function TEmpleadosBusinessProcessorRules.GetOldFORMACION_RECIBIDAIsNull: Boolean; begin - BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFORMACION_RECIBIDA] := aValue.Text; + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosFORMACION_RECIBIDA]); +end; + +procedure TEmpleadosBusinessProcessorRules.SetFORMACION_RECIBIDAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosFORMACION_RECIBIDA] := Null; end; function TEmpleadosBusinessProcessorRules.GetEXPERIENCIAValue: IROStrings; begin - result := NewROStrings(); + result := f_EXPERIENCIA; result.Text := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosEXPERIENCIA]; end; +function TEmpleadosBusinessProcessorRules.GetEXPERIENCIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosEXPERIENCIA]); +end; + function TEmpleadosBusinessProcessorRules.GetOldEXPERIENCIAValue: IROStrings; begin result := NewROStrings(); result.Text := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosEXPERIENCIA]; end; -procedure TEmpleadosBusinessProcessorRules.SetEXPERIENCIAValue(const aValue: IROStrings); +function TEmpleadosBusinessProcessorRules.GetOldEXPERIENCIAIsNull: Boolean; begin - BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosEXPERIENCIA] := aValue.Text; + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpleadosEXPERIENCIA]); +end; + +procedure TEmpleadosBusinessProcessorRules.SetEXPERIENCIAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_EmpleadosEXPERIENCIA] := Null; end; { TDireccionesContactoBusinessProcessorRules } constructor TDireccionesContactoBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); +var + StrList: TStringList; begin inherited; + + StrList := TStringList.Create; + StrList.OnChange := NOTAS_OnChange; + f_NOTAS := NewROStrings(StrList,True); end; destructor TDireccionesContactoBusinessProcessorRules.Destroy; @@ -3189,49 +6344,71 @@ begin inherited; end; +procedure TDireccionesContactoBusinessProcessorRules.NOTAS_OnChange(Sender: TObject); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoNOTAS] := TStringList(Sender).Text; +end; + function TDireccionesContactoBusinessProcessorRules.GetIDValue: Integer; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoID]; end; +function TDireccionesContactoBusinessProcessorRules.GetIDIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoID]); +end; + function TDireccionesContactoBusinessProcessorRules.GetOldIDValue: Integer; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoID]; end; +function TDireccionesContactoBusinessProcessorRules.GetOldIDIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoID]); +end; + procedure TDireccionesContactoBusinessProcessorRules.SetIDValue(const aValue: Integer); begin BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoID] := aValue; end; +procedure TDireccionesContactoBusinessProcessorRules.SetIDIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoID] := Null; +end; + function TDireccionesContactoBusinessProcessorRules.GetID_CONTACTOValue: Integer; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoID_CONTACTO]; end; +function TDireccionesContactoBusinessProcessorRules.GetID_CONTACTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoID_CONTACTO]); +end; + function TDireccionesContactoBusinessProcessorRules.GetOldID_CONTACTOValue: Integer; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoID_CONTACTO]; end; +function TDireccionesContactoBusinessProcessorRules.GetOldID_CONTACTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoID_CONTACTO]); +end; + procedure TDireccionesContactoBusinessProcessorRules.SetID_CONTACTOValue(const aValue: Integer); begin BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoID_CONTACTO] := aValue; end; -function TDireccionesContactoBusinessProcessorRules.GetNOMBREValue: String; +procedure TDireccionesContactoBusinessProcessorRules.SetID_CONTACTOIsNull(const aValue: Boolean); begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoNOMBRE]; -end; - -function TDireccionesContactoBusinessProcessorRules.GetOldNOMBREValue: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoNOMBRE]; -end; - -procedure TDireccionesContactoBusinessProcessorRules.SetNOMBREValue(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoNOMBRE] := aValue; + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoID_CONTACTO] := Null; end; function TDireccionesContactoBusinessProcessorRules.GetCALLEValue: String; @@ -3239,151 +6416,337 @@ begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoCALLE]; end; +function TDireccionesContactoBusinessProcessorRules.GetCALLEIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoCALLE]); +end; + function TDireccionesContactoBusinessProcessorRules.GetOldCALLEValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoCALLE]; end; +function TDireccionesContactoBusinessProcessorRules.GetOldCALLEIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoCALLE]); +end; + procedure TDireccionesContactoBusinessProcessorRules.SetCALLEValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoCALLE] := aValue; end; +procedure TDireccionesContactoBusinessProcessorRules.SetCALLEIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoCALLE] := Null; +end; + function TDireccionesContactoBusinessProcessorRules.GetPOBLACIONValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoPOBLACION]; end; +function TDireccionesContactoBusinessProcessorRules.GetPOBLACIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoPOBLACION]); +end; + function TDireccionesContactoBusinessProcessorRules.GetOldPOBLACIONValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoPOBLACION]; end; +function TDireccionesContactoBusinessProcessorRules.GetOldPOBLACIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoPOBLACION]); +end; + procedure TDireccionesContactoBusinessProcessorRules.SetPOBLACIONValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoPOBLACION] := aValue; end; +procedure TDireccionesContactoBusinessProcessorRules.SetPOBLACIONIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoPOBLACION] := Null; +end; + function TDireccionesContactoBusinessProcessorRules.GetPROVINCIAValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoPROVINCIA]; end; +function TDireccionesContactoBusinessProcessorRules.GetPROVINCIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoPROVINCIA]); +end; + function TDireccionesContactoBusinessProcessorRules.GetOldPROVINCIAValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoPROVINCIA]; end; +function TDireccionesContactoBusinessProcessorRules.GetOldPROVINCIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoPROVINCIA]); +end; + procedure TDireccionesContactoBusinessProcessorRules.SetPROVINCIAValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoPROVINCIA] := aValue; end; +procedure TDireccionesContactoBusinessProcessorRules.SetPROVINCIAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoPROVINCIA] := Null; +end; + function TDireccionesContactoBusinessProcessorRules.GetCODIGO_POSTALValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoCODIGO_POSTAL]; end; +function TDireccionesContactoBusinessProcessorRules.GetCODIGO_POSTALIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoCODIGO_POSTAL]); +end; + function TDireccionesContactoBusinessProcessorRules.GetOldCODIGO_POSTALValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoCODIGO_POSTAL]; end; +function TDireccionesContactoBusinessProcessorRules.GetOldCODIGO_POSTALIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoCODIGO_POSTAL]); +end; + procedure TDireccionesContactoBusinessProcessorRules.SetCODIGO_POSTALValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoCODIGO_POSTAL] := aValue; end; +procedure TDireccionesContactoBusinessProcessorRules.SetCODIGO_POSTALIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoCODIGO_POSTAL] := Null; +end; + function TDireccionesContactoBusinessProcessorRules.GetPERSONA_CONTACTOValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoPERSONA_CONTACTO]; end; +function TDireccionesContactoBusinessProcessorRules.GetPERSONA_CONTACTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoPERSONA_CONTACTO]); +end; + function TDireccionesContactoBusinessProcessorRules.GetOldPERSONA_CONTACTOValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoPERSONA_CONTACTO]; end; +function TDireccionesContactoBusinessProcessorRules.GetOldPERSONA_CONTACTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoPERSONA_CONTACTO]); +end; + procedure TDireccionesContactoBusinessProcessorRules.SetPERSONA_CONTACTOValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoPERSONA_CONTACTO] := aValue; end; +procedure TDireccionesContactoBusinessProcessorRules.SetPERSONA_CONTACTOIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoPERSONA_CONTACTO] := Null; +end; + +function TDireccionesContactoBusinessProcessorRules.GetNOMBREValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoNOMBRE]; +end; + +function TDireccionesContactoBusinessProcessorRules.GetNOMBREIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoNOMBRE]); +end; + +function TDireccionesContactoBusinessProcessorRules.GetOldNOMBREValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoNOMBRE]; +end; + +function TDireccionesContactoBusinessProcessorRules.GetOldNOMBREIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoNOMBRE]); +end; + +procedure TDireccionesContactoBusinessProcessorRules.SetNOMBREValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoNOMBRE] := aValue; +end; + +procedure TDireccionesContactoBusinessProcessorRules.SetNOMBREIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoNOMBRE] := Null; +end; + function TDireccionesContactoBusinessProcessorRules.GetTELEFONOValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoTELEFONO]; end; +function TDireccionesContactoBusinessProcessorRules.GetTELEFONOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoTELEFONO]); +end; + function TDireccionesContactoBusinessProcessorRules.GetOldTELEFONOValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoTELEFONO]; end; +function TDireccionesContactoBusinessProcessorRules.GetOldTELEFONOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoTELEFONO]); +end; + procedure TDireccionesContactoBusinessProcessorRules.SetTELEFONOValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoTELEFONO] := aValue; end; +procedure TDireccionesContactoBusinessProcessorRules.SetTELEFONOIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoTELEFONO] := Null; +end; + function TDireccionesContactoBusinessProcessorRules.GetMOVILValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoMOVIL]; end; +function TDireccionesContactoBusinessProcessorRules.GetMOVILIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoMOVIL]); +end; + function TDireccionesContactoBusinessProcessorRules.GetOldMOVILValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoMOVIL]; end; +function TDireccionesContactoBusinessProcessorRules.GetOldMOVILIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoMOVIL]); +end; + procedure TDireccionesContactoBusinessProcessorRules.SetMOVILValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoMOVIL] := aValue; end; +procedure TDireccionesContactoBusinessProcessorRules.SetMOVILIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoMOVIL] := Null; +end; + function TDireccionesContactoBusinessProcessorRules.GetFAXValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoFAX]; end; +function TDireccionesContactoBusinessProcessorRules.GetFAXIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoFAX]); +end; + function TDireccionesContactoBusinessProcessorRules.GetOldFAXValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoFAX]; end; +function TDireccionesContactoBusinessProcessorRules.GetOldFAXIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoFAX]); +end; + procedure TDireccionesContactoBusinessProcessorRules.SetFAXValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoFAX] := aValue; end; +procedure TDireccionesContactoBusinessProcessorRules.SetFAXIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoFAX] := Null; +end; + function TDireccionesContactoBusinessProcessorRules.GetEMAILValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoEMAIL]; end; +function TDireccionesContactoBusinessProcessorRules.GetEMAILIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoEMAIL]); +end; + function TDireccionesContactoBusinessProcessorRules.GetOldEMAILValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoEMAIL]; end; +function TDireccionesContactoBusinessProcessorRules.GetOldEMAILIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoEMAIL]); +end; + procedure TDireccionesContactoBusinessProcessorRules.SetEMAILValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoEMAIL] := aValue; end; +procedure TDireccionesContactoBusinessProcessorRules.SetEMAILIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoEMAIL] := Null; +end; + function TDireccionesContactoBusinessProcessorRules.GetNOTASValue: IROStrings; begin - result := NewROStrings(); + result := f_NOTAS; result.Text := BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoNOTAS]; end; +function TDireccionesContactoBusinessProcessorRules.GetNOTASIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoNOTAS]); +end; + function TDireccionesContactoBusinessProcessorRules.GetOldNOTASValue: IROStrings; begin result := NewROStrings(); result.Text := BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoNOTAS]; end; -procedure TDireccionesContactoBusinessProcessorRules.SetNOTASValue(const aValue: IROStrings); +function TDireccionesContactoBusinessProcessorRules.GetOldNOTASIsNull: Boolean; begin - BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoNOTAS] := aValue.Text; + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoNOTAS]); +end; + +procedure TDireccionesContactoBusinessProcessorRules.SetNOTASIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoNOTAS] := Null; end; function TDireccionesContactoBusinessProcessorRules.GetPORTEValue: Float; @@ -3391,16 +6754,94 @@ begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoPORTE]; end; +function TDireccionesContactoBusinessProcessorRules.GetPORTEIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoPORTE]); +end; + function TDireccionesContactoBusinessProcessorRules.GetOldPORTEValue: Float; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoPORTE]; end; +function TDireccionesContactoBusinessProcessorRules.GetOldPORTEIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoPORTE]); +end; + procedure TDireccionesContactoBusinessProcessorRules.SetPORTEValue(const aValue: Float); begin BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoPORTE] := aValue; end; +procedure TDireccionesContactoBusinessProcessorRules.SetPORTEIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoPORTE] := Null; +end; + +function TDireccionesContactoBusinessProcessorRules.GetFECHA_ALTAValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoFECHA_ALTA]; +end; + +function TDireccionesContactoBusinessProcessorRules.GetFECHA_ALTAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoFECHA_ALTA]); +end; + +function TDireccionesContactoBusinessProcessorRules.GetOldFECHA_ALTAValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoFECHA_ALTA]; +end; + +function TDireccionesContactoBusinessProcessorRules.GetOldFECHA_ALTAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoFECHA_ALTA]); +end; + +procedure TDireccionesContactoBusinessProcessorRules.SetFECHA_ALTAValue(const aValue: DateTime); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoFECHA_ALTA] := aValue; +end; + +procedure TDireccionesContactoBusinessProcessorRules.SetFECHA_ALTAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoFECHA_ALTA] := Null; +end; + +function TDireccionesContactoBusinessProcessorRules.GetFECHA_MODIFICACIONValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoFECHA_MODIFICACION]; +end; + +function TDireccionesContactoBusinessProcessorRules.GetFECHA_MODIFICACIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoFECHA_MODIFICACION]); +end; + +function TDireccionesContactoBusinessProcessorRules.GetOldFECHA_MODIFICACIONValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoFECHA_MODIFICACION]; +end; + +function TDireccionesContactoBusinessProcessorRules.GetOldFECHA_MODIFICACIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DireccionesContactoFECHA_MODIFICACION]); +end; + +procedure TDireccionesContactoBusinessProcessorRules.SetFECHA_MODIFICACIONValue(const aValue: DateTime); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoFECHA_MODIFICACION] := aValue; +end; + +procedure TDireccionesContactoBusinessProcessorRules.SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_DireccionesContactoFECHA_MODIFICACION] := Null; +end; + { TClientesDescuentosBusinessProcessorRules } constructor TClientesDescuentosBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); @@ -3418,76 +6859,156 @@ begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesDescuentosID]; end; +function TClientesDescuentosBusinessProcessorRules.GetIDIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesDescuentosID]); +end; + function TClientesDescuentosBusinessProcessorRules.GetOldIDValue: Integer; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesDescuentosID]; end; +function TClientesDescuentosBusinessProcessorRules.GetOldIDIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesDescuentosID]); +end; + procedure TClientesDescuentosBusinessProcessorRules.SetIDValue(const aValue: Integer); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesDescuentosID] := aValue; end; +procedure TClientesDescuentosBusinessProcessorRules.SetIDIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesDescuentosID] := Null; +end; + function TClientesDescuentosBusinessProcessorRules.GetID_CLIENTEValue: Integer; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesDescuentosID_CLIENTE]; end; +function TClientesDescuentosBusinessProcessorRules.GetID_CLIENTEIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesDescuentosID_CLIENTE]); +end; + function TClientesDescuentosBusinessProcessorRules.GetOldID_CLIENTEValue: Integer; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesDescuentosID_CLIENTE]; end; +function TClientesDescuentosBusinessProcessorRules.GetOldID_CLIENTEIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesDescuentosID_CLIENTE]); +end; + procedure TClientesDescuentosBusinessProcessorRules.SetID_CLIENTEValue(const aValue: Integer); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesDescuentosID_CLIENTE] := aValue; end; +procedure TClientesDescuentosBusinessProcessorRules.SetID_CLIENTEIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesDescuentosID_CLIENTE] := Null; +end; + function TClientesDescuentosBusinessProcessorRules.GetID_PROVEEDORValue: Integer; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesDescuentosID_PROVEEDOR]; end; +function TClientesDescuentosBusinessProcessorRules.GetID_PROVEEDORIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesDescuentosID_PROVEEDOR]); +end; + function TClientesDescuentosBusinessProcessorRules.GetOldID_PROVEEDORValue: Integer; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesDescuentosID_PROVEEDOR]; end; +function TClientesDescuentosBusinessProcessorRules.GetOldID_PROVEEDORIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesDescuentosID_PROVEEDOR]); +end; + procedure TClientesDescuentosBusinessProcessorRules.SetID_PROVEEDORValue(const aValue: Integer); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesDescuentosID_PROVEEDOR] := aValue; end; +procedure TClientesDescuentosBusinessProcessorRules.SetID_PROVEEDORIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesDescuentosID_PROVEEDOR] := Null; +end; + function TClientesDescuentosBusinessProcessorRules.GetNOMBREValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesDescuentosNOMBRE]; end; +function TClientesDescuentosBusinessProcessorRules.GetNOMBREIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesDescuentosNOMBRE]); +end; + function TClientesDescuentosBusinessProcessorRules.GetOldNOMBREValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesDescuentosNOMBRE]; end; +function TClientesDescuentosBusinessProcessorRules.GetOldNOMBREIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesDescuentosNOMBRE]); +end; + procedure TClientesDescuentosBusinessProcessorRules.SetNOMBREValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesDescuentosNOMBRE] := aValue; end; +procedure TClientesDescuentosBusinessProcessorRules.SetNOMBREIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesDescuentosNOMBRE] := Null; +end; + function TClientesDescuentosBusinessProcessorRules.GetDESCUENTOValue: Float; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesDescuentosDESCUENTO]; end; +function TClientesDescuentosBusinessProcessorRules.GetDESCUENTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesDescuentosDESCUENTO]); +end; + function TClientesDescuentosBusinessProcessorRules.GetOldDESCUENTOValue: Float; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesDescuentosDESCUENTO]; end; +function TClientesDescuentosBusinessProcessorRules.GetOldDESCUENTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesDescuentosDESCUENTO]); +end; + procedure TClientesDescuentosBusinessProcessorRules.SetDESCUENTOValue(const aValue: Float); begin BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesDescuentosDESCUENTO] := aValue; end; +procedure TClientesDescuentosBusinessProcessorRules.SetDESCUENTOIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesDescuentosDESCUENTO] := Null; +end; + { TGruposProveedorBusinessProcessorRules } constructor TGruposProveedorBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); @@ -3505,16 +7026,32 @@ begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_GruposProveedorDESCRIPCION]; end; +function TGruposProveedorBusinessProcessorRules.GetDESCRIPCIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_GruposProveedorDESCRIPCION]); +end; + function TGruposProveedorBusinessProcessorRules.GetOldDESCRIPCIONValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_GruposProveedorDESCRIPCION]; end; +function TGruposProveedorBusinessProcessorRules.GetOldDESCRIPCIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_GruposProveedorDESCRIPCION]); +end; + procedure TGruposProveedorBusinessProcessorRules.SetDESCRIPCIONValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_GruposProveedorDESCRIPCION] := aValue; end; +procedure TGruposProveedorBusinessProcessorRules.SetDESCRIPCIONIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_GruposProveedorDESCRIPCION] := Null; +end; + { TGruposEmpleadoBusinessProcessorRules } constructor TGruposEmpleadoBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); @@ -3532,16 +7069,32 @@ begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_GruposEmpleadoDESCRIPCION]; end; +function TGruposEmpleadoBusinessProcessorRules.GetDESCRIPCIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_GruposEmpleadoDESCRIPCION]); +end; + function TGruposEmpleadoBusinessProcessorRules.GetOldDESCRIPCIONValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_GruposEmpleadoDESCRIPCION]; end; +function TGruposEmpleadoBusinessProcessorRules.GetOldDESCRIPCIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_GruposEmpleadoDESCRIPCION]); +end; + procedure TGruposEmpleadoBusinessProcessorRules.SetDESCRIPCIONValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_GruposEmpleadoDESCRIPCION] := aValue; end; +procedure TGruposEmpleadoBusinessProcessorRules.SetDESCRIPCIONIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_GruposEmpleadoDESCRIPCION] := Null; +end; + initialization RegisterBusinessProcessorRules(RID_ContactosDelta, TContactosBusinessProcessorRules); diff --git a/Source/Modulos/Contactos/Plugin/Contactos_plugin.drc b/Source/Modulos/Contactos/Plugin/Contactos_plugin.drc index db5881c3..20dc7e87 100644 --- a/Source/Modulos/Contactos/Plugin/Contactos_plugin.drc +++ b/Source/Modulos/Contactos/Plugin/Contactos_plugin.drc @@ -14,4 +14,4 @@ END /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Plugin\uPluginContactos.dfm */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Plugin\Contactos_plugin.res */ -/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf233.tmp */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Plugin\Contactos_plugin.drf */ diff --git a/Source/Modulos/Contactos/Servidor/srvContactos_Impl.dfm b/Source/Modulos/Contactos/Servidor/srvContactos_Impl.dfm index 42ecf53d..fef27cdd 100644 --- a/Source/Modulos/Contactos/Servidor/srvContactos_Impl.dfm +++ b/Source/Modulos/Contactos/Servidor/srvContactos_Impl.dfm @@ -15,24 +15,12 @@ object srvContactos: TsrvContactos Diagrams = Diagrams Datasets = < item - Params = < - item - Name = 'ID_CATEGORIA' - DataType = datInteger - Value = '22' - ParamType = daptInput - end> + Params = <> Statements = < item Connection = 'IBX' - TargetTable = 'CONTACTOS' - SQL = - 'SELECT '#10' ID, ID_CATEGORIA, NIF_CIF, NOMBRE, PERSONA_CONTACTO,' + - ' CALLE, POBLACION,'#10' PROVINCIA, CODIGO_POSTAL, TELEFONO_1, TEL' + - 'EFONO_2, MOVIL_1, '#10' MOVIL_2, FAX, EMAIL_1, EMAIL_2, PAGINA_WE' + - 'B, NOTAS, '#10' USUARIO, ID_EMPRESA, REFERENCIA'#10' FROM'#10' V_CONT' + - 'ACTOS'#10' WHERE'#10' ID_CATEGORIA = :ID_CATEGORIA' - StatementType = stSQL + TargetTable = 'V_CONTACTOS' + StatementType = stAutoSQL ColumnMappings = < item DatasetField = 'ID' @@ -40,8 +28,7 @@ object srvContactos: TsrvContactos end item DatasetField = 'ID_CATEGORIA' - TableField = '' - SQLOrigin = 'ID_CATEGORIA' + TableField = 'ID_CATEGORIA' end item DatasetField = 'NIF_CIF' @@ -107,14 +94,21 @@ object srvContactos: TsrvContactos DatasetField = 'NOTAS' TableField = 'NOTAS' end + item + DatasetField = 'FECHA_ALTA' + TableField = 'FECHA_ALTA' + end + item + DatasetField = 'FECHA_MODIFICACION' + TableField = 'FECHA_MODIFICACION' + end item DatasetField = 'USUARIO' TableField = 'USUARIO' end item DatasetField = 'ID_EMPRESA' - TableField = '' - SQLOrigin = 'ID_EMPRESA' + TableField = 'ID_EMPRESA' end item DatasetField = 'REFERENCIA' @@ -125,7 +119,10 @@ object srvContactos: TsrvContactos Fields = < item Name = 'ID' - DataType = datInteger + DataType = datAutoInc + GeneratorName = 'GEN_CONTACTOS_ID' + ServerAutoRefresh = True + DictionaryEntry = 'Contactos_ID' InPrimaryKey = True end item @@ -136,85 +133,113 @@ object srvContactos: TsrvContactos Name = 'NIF_CIF' DataType = datString Size = 15 + DictionaryEntry = 'Contactos_NIF_CIF' end item Name = 'NOMBRE' DataType = datString Size = 255 + DictionaryEntry = 'Contactos_NOMBRE' end item Name = 'PERSONA_CONTACTO' DataType = datString Size = 255 + DictionaryEntry = 'Contactos_PERSONA_CONTACTO' end item Name = 'CALLE' DataType = datString Size = 255 + DictionaryEntry = 'Contactos_CALLE' end item Name = 'POBLACION' DataType = datString Size = 255 + DictionaryEntry = 'Contactos_POBLACION' end item Name = 'PROVINCIA' DataType = datString Size = 255 + DictionaryEntry = 'Contactos_PROVINCIA' end item Name = 'CODIGO_POSTAL' DataType = datString Size = 10 + DictionaryEntry = 'Contactos_CODIGO_POSTAL' end item Name = 'TELEFONO_1' DataType = datString Size = 25 + DictionaryEntry = 'Contactos_TELEFONO_1' end item Name = 'TELEFONO_2' DataType = datString Size = 25 + DictionaryEntry = 'Contactos_TELEFONO_2' end item Name = 'MOVIL_1' DataType = datString Size = 25 + DictionaryEntry = 'Contactos_MOVIL_1' end item Name = 'MOVIL_2' DataType = datString Size = 25 + DictionaryEntry = 'Contactos_MOVIL_2' end item Name = 'FAX' DataType = datString Size = 25 + DictionaryEntry = 'Contactos_FAX' end item Name = 'EMAIL_1' DataType = datString Size = 255 + DictionaryEntry = 'Contactos_EMAIL_1' end item Name = 'EMAIL_2' DataType = datString Size = 255 + DictionaryEntry = 'Contactos_EMAIL_2' end item Name = 'PAGINA_WEB' DataType = datString Size = 255 + DictionaryEntry = 'Contactos_PAGINA_WEB' end item Name = 'NOTAS' DataType = datMemo + BlobType = dabtMemo + DictionaryEntry = 'Contactos_NOTAS' + end + item + Name = 'FECHA_ALTA' + DataType = datDateTime + DictionaryEntry = 'Contactos_FECHA_ALTA' + end + item + Name = 'FECHA_MODIFICACION' + DataType = datDateTime + DictionaryEntry = 'Contactos_FECHA_MODIFICACION' end item Name = 'USUARIO' DataType = datString Size = 20 + DictionaryEntry = 'Contactos_USUARIO' end item Name = 'ID_EMPRESA' @@ -224,6 +249,7 @@ object srvContactos: TsrvContactos Name = 'REFERENCIA' DataType = datString Size = 255 + DictionaryEntry = 'Contactos_REFERENCIA' end> end item @@ -232,8 +258,7 @@ object srvContactos: TsrvContactos item Connection = 'IBX' TargetTable = 'CLIENTES_GRUPOS' - SQL = 'SELECT DESCRIPCION'#10'FROM CLIENTES_GRUPOS' - StatementType = stSQL + StatementType = stAutoSQL ColumnMappings = < item DatasetField = 'DESCRIPCION' @@ -246,25 +271,16 @@ object srvContactos: TsrvContactos Name = 'DESCRIPCION' DataType = datString Size = 255 + DisplayLabel = 'Descripci'#243'n' end> end item - Params = < - item - Name = 'ID_CONTACTO' - DataType = datInteger - Value = '1' - ParamType = daptInput - end> + Params = <> Statements = < item Connection = 'IBX' TargetTable = 'CONTACTOS_DATOS_BANCO' - SQL = - 'SELECT'#10' ID, ID_CONTACTO, TITULAR, ENTIDAD, SUCURSAL, DC, CUEN' + - 'TA'#10' FROM'#10' CONTACTOS_DATOS_BANCO'#10' WHERE ID_CONTACTO = :ID_CO' + - 'NTACTO' - StatementType = stSQL + StatementType = stAutoSQL ColumnMappings = < item DatasetField = 'ID' @@ -293,6 +309,14 @@ object srvContactos: TsrvContactos item DatasetField = 'CUENTA' TableField = 'CUENTA' + end + item + DatasetField = 'FECHA_ALTA' + TableField = 'FECHA_ALTA' + end + item + DatasetField = 'FECHA_MODIFICACION' + TableField = 'FECHA_MODIFICACION' end> end> Name = 'DatosBancarios' @@ -300,6 +324,8 @@ object srvContactos: TsrvContactos item Name = 'ID' DataType = datAutoInc + GeneratorName = 'GEN_CONTACTOS_DATOS_BANCO_ID' + ServerAutoRefresh = True DictionaryEntry = 'DatosBancarios_ID' InPrimaryKey = True end @@ -337,24 +363,23 @@ object srvContactos: TsrvContactos DataType = datString Size = 15 DictionaryEntry = 'DatosBancarios_CUENTA' + end + item + Name = 'FECHA_ALTA' + DataType = datDateTime + end + item + Name = 'FECHA_MODIFICACION' + DataType = datDateTime end> end item - Params = < - item - Name = 'ID_CONTACTO' - DataType = datInteger - Value = '444' - ParamType = daptInput - end> + Params = <> Statements = < item Connection = 'IBX' TargetTable = 'CONTACTOS_CATEGORIAS' - SQL = - 'SELECT '#10' ID_CONTACTO, ID_CATEGORIA'#10' FROM'#10' CONTACTOS_CATEG' + - 'ORIAS'#10' WHERE'#10' ID_CONTACTO = :ID_CONTACTO' - StatementType = stSQL + StatementType = stAutoSQL ColumnMappings = < item DatasetField = 'ID_CONTACTO' @@ -384,15 +409,7 @@ object srvContactos: TsrvContactos item Connection = 'IBX' TargetTable = 'V_CLIENTES' - SQL = - 'SELECT '#10' ID, ID_CATEGORIA, REFERENCIA, NIF_CIF, NOMBRE, PERSO' + - 'NA_CONTACTO, CALLE,'#10' POBLACION, PROVINCIA, CODIGO_POSTAL, TEL' + - 'EFONO_1, TELEFONO_2, '#10' MOVIL_1, MOVIL_2, FAX, EMAIL_1, EMAIL_' + - '2, PAGINA_WEB, '#10' NOTAS, USUARIO, ID_EMPRESA,'#10#10' GRUPO_CLIEN' + - 'TE, NOMBRE_COMERCIAL, VENCIMIENTO_FACTURAS, BLOQUEADO,'#10' MOTIV' + - 'O_BLOQUEO, RECARGO_EQUIVALENCIA, REGIMEN_IVA, ID_TIPO_IVA,'#10' I' + - 'D_FORMA_PAGO, TIENDA_WEB'#10' FROM'#10' V_CLIENTES' - StatementType = stSQL + StatementType = stAutoSQL ColumnMappings = < item DatasetField = 'ID' @@ -410,14 +427,14 @@ object srvContactos: TsrvContactos DatasetField = 'NOMBRE' TableField = 'NOMBRE' end - item - DatasetField = 'CALLE' - TableField = 'CALLE' - end item DatasetField = 'PERSONA_CONTACTO' TableField = 'PERSONA_CONTACTO' end + item + DatasetField = 'CALLE' + TableField = 'CALLE' + end item DatasetField = 'POBLACION' TableField = 'POBLACION' @@ -466,6 +483,14 @@ object srvContactos: TsrvContactos DatasetField = 'NOTAS' TableField = 'NOTAS' end + item + DatasetField = 'FECHA_ALTA' + TableField = 'FECHA_ALTA' + end + item + DatasetField = 'FECHA_MODIFICACION' + TableField = 'FECHA_MODIFICACION' + end item DatasetField = 'USUARIO' TableField = 'USUARIO' @@ -478,26 +503,6 @@ object srvContactos: TsrvContactos DatasetField = 'REFERENCIA' TableField = 'REFERENCIA' end - item - DatasetField = 'ID_TIPO_IVA' - TableField = 'ID_TIPO_IVA' - end - item - DatasetField = 'REGIMEN_IVA' - TableField = 'REGIMEN_IVA' - end - item - DatasetField = 'ID_FORMA_PAGO' - TableField = 'ID_FORMA_PAGO' - end - item - DatasetField = 'TIENDA_WEB' - TableField = 'TIENDA_WEB' - end - item - DatasetField = 'RECARGO_EQUIVALENCIA' - TableField = 'RECARGO_EQUIVALENCIA' - end item DatasetField = 'GRUPO_CLIENTE' TableField = 'GRUPO_CLIENTE' @@ -514,9 +519,29 @@ object srvContactos: TsrvContactos DatasetField = 'BLOQUEADO' TableField = 'BLOQUEADO' end + item + DatasetField = 'REGIMEN_IVA' + TableField = 'REGIMEN_IVA' + end item DatasetField = 'MOTIVO_BLOQUEO' TableField = 'MOTIVO_BLOQUEO' + end + item + DatasetField = 'RECARGO_EQUIVALENCIA' + TableField = 'RECARGO_EQUIVALENCIA' + end + item + DatasetField = 'ID_TIPO_IVA' + TableField = 'ID_TIPO_IVA' + end + item + DatasetField = 'ID_FORMA_PAGO' + TableField = 'ID_FORMA_PAGO' + end + item + DatasetField = 'TIENDA_WEB' + TableField = 'TIENDA_WEB' end> end> Name = 'Clientes' @@ -524,6 +549,8 @@ object srvContactos: TsrvContactos item Name = 'ID' DataType = datAutoInc + GeneratorName = 'GEN_CONTACTOS_ID' + ServerAutoRefresh = True DictionaryEntry = 'Contactos_ID' InPrimaryKey = True end @@ -544,18 +571,18 @@ object srvContactos: TsrvContactos Size = 255 DictionaryEntry = 'Contactos_NOMBRE' end - item - Name = 'CALLE' - DataType = datString - Size = 255 - DictionaryEntry = 'Contactos_CALLE' - end item Name = 'PERSONA_CONTACTO' DataType = datString Size = 255 DictionaryEntry = 'Contactos_PERSONA_CONTACTO' end + item + Name = 'CALLE' + DataType = datString + Size = 255 + DictionaryEntry = 'Contactos_CALLE' + end item Name = 'POBLACION' DataType = datString @@ -628,6 +655,14 @@ object srvContactos: TsrvContactos BlobType = dabtMemo DictionaryEntry = 'Contactos_NOTAS' end + item + Name = 'FECHA_ALTA' + DataType = datDateTime + end + item + Name = 'FECHA_MODIFICACION' + DataType = datDateTime + end item Name = 'USUARIO' DataType = datString @@ -645,32 +680,6 @@ object srvContactos: TsrvContactos Size = 255 DictionaryEntry = 'Clientes_REFERENCIA' end - item - Name = 'ID_TIPO_IVA' - DataType = datInteger - DictionaryEntry = 'Clientes_ID_TIPO_IVA' - end - item - Name = 'REGIMEN_IVA' - DataType = datString - Size = 255 - DictionaryEntry = 'Clientes_REGIMEN_IVA' - end - item - Name = 'ID_FORMA_PAGO' - DataType = datInteger - DictionaryEntry = 'Clientes_ID_FORMA_PAGO' - end - item - Name = 'TIENDA_WEB' - DataType = datInteger - DictionaryEntry = 'Clientes_TIENDA_WEB' - end - item - Name = 'RECARGO_EQUIVALENCIA' - DataType = datInteger - DictionaryEntry = 'Clientes_RECARGO_EQUIVALENCIA' - end item Name = 'GRUPO_CLIENTE' DataType = datString @@ -690,14 +699,40 @@ object srvContactos: TsrvContactos end item Name = 'BLOQUEADO' - DataType = datInteger + DataType = datSmallInt DictionaryEntry = 'Clientes_BLOQUEADO' end + item + Name = 'REGIMEN_IVA' + DataType = datString + Size = 255 + DictionaryEntry = 'Clientes_REGIMEN_IVA' + end item Name = 'MOTIVO_BLOQUEO' DataType = datString Size = 255 DictionaryEntry = 'Clientes_MOTIVO_BLOQUEO' + end + item + Name = 'RECARGO_EQUIVALENCIA' + DataType = datInteger + DictionaryEntry = 'Clientes_RECARGO_EQUIVALENCIA' + end + item + Name = 'ID_TIPO_IVA' + DataType = datInteger + DictionaryEntry = 'Clientes_ID_TIPO_IVA' + end + item + Name = 'ID_FORMA_PAGO' + DataType = datInteger + DictionaryEntry = 'Clientes_ID_FORMA_PAGO' + end + item + Name = 'TIENDA_WEB' + DataType = datSmallInt + DictionaryEntry = 'Clientes_TIENDA_WEB' end> end item @@ -706,15 +741,7 @@ object srvContactos: TsrvContactos item Connection = 'IBX' TargetTable = 'V_PROVEEDORES' - SQL = - 'SELECT '#10' ID, ID_CATEGORIA, REFERENCIA, NIF_CIF, NOMBRE, PERSO' + - 'NA_CONTACTO, CALLE,'#10' POBLACION, PROVINCIA, CODIGO_POSTAL, TEL' + - 'EFONO_1, TELEFONO_2, '#10' MOVIL_1, MOVIL_2, FAX, EMAIL_1, EMAIL_' + - '2, PAGINA_WEB,'#10' NOTAS, USUARIO, ID_EMPRESA,'#10#10#10' REGIMEN_IVA' + - ', DESCUENTO, DESCRIPCION_PROVEEDOR,'#10' CODIGO_ASIGNADO, ID_TIPO' + - '_IVA, ID_FORMA_PAGO, TIENDA_WEB, HOMOLOGADO, CERTIFICACION,'#10' ' + - 'GRUPO_PROVEEDOR'#10#10' FROM'#10' V_PROVEEDORES' - StatementType = stSQL + StatementType = stAutoSQL ColumnMappings = < item DatasetField = 'ID' @@ -732,14 +759,14 @@ object srvContactos: TsrvContactos DatasetField = 'NOMBRE' TableField = 'NOMBRE' end - item - DatasetField = 'CALLE' - TableField = 'CALLE' - end item DatasetField = 'PERSONA_CONTACTO' TableField = 'PERSONA_CONTACTO' end + item + DatasetField = 'CALLE' + TableField = 'CALLE' + end item DatasetField = 'POBLACION' TableField = 'POBLACION' @@ -788,6 +815,14 @@ object srvContactos: TsrvContactos DatasetField = 'NOTAS' TableField = 'NOTAS' end + item + DatasetField = 'FECHA_ALTA' + TableField = 'FECHA_ALTA' + end + item + DatasetField = 'FECHA_MODIFICACION' + TableField = 'FECHA_MODIFICACION' + end item DatasetField = 'USUARIO' TableField = 'USUARIO' @@ -800,22 +835,6 @@ object srvContactos: TsrvContactos DatasetField = 'REFERENCIA' TableField = 'REFERENCIA' end - item - DatasetField = 'ID_TIPO_IVA' - TableField = 'ID_TIPO_IVA' - end - item - DatasetField = 'REGIMEN_IVA' - TableField = 'REGIMEN_IVA' - end - item - DatasetField = 'ID_FORMA_PAGO' - TableField = 'ID_FORMA_PAGO' - end - item - DatasetField = 'TIENDA_WEB' - TableField = 'TIENDA_WEB' - end item DatasetField = 'DESCUENTO' TableField = 'DESCUENTO' @@ -828,6 +847,26 @@ object srvContactos: TsrvContactos DatasetField = 'CODIGO_ASIGNADO' TableField = 'CODIGO_ASIGNADO' end + item + DatasetField = 'GRUPO_PROVEEDOR' + TableField = 'GRUPO_PROVEEDOR' + end + item + DatasetField = 'REGIMEN_IVA' + TableField = 'REGIMEN_IVA' + end + item + DatasetField = 'ID_TIPO_IVA' + TableField = 'ID_TIPO_IVA' + end + item + DatasetField = 'ID_FORMA_PAGO' + TableField = 'ID_FORMA_PAGO' + end + item + DatasetField = 'TIENDA_WEB' + TableField = 'TIENDA_WEB' + end item DatasetField = 'HOMOLOGADO' TableField = 'HOMOLOGADO' @@ -835,10 +874,6 @@ object srvContactos: TsrvContactos item DatasetField = 'CERTIFICACION' TableField = 'CERTIFICACION' - end - item - DatasetField = 'GRUPO_PROVEEDOR' - TableField = 'GRUPO_PROVEEDOR' end> end> Name = 'Proveedores' @@ -846,6 +881,8 @@ object srvContactos: TsrvContactos item Name = 'ID' DataType = datAutoInc + GeneratorName = 'GEN_CONTACTOS_ID' + ServerAutoRefresh = True DictionaryEntry = 'Contactos_ID' InPrimaryKey = True end @@ -866,18 +903,18 @@ object srvContactos: TsrvContactos Size = 255 DictionaryEntry = 'Contactos_NOMBRE' end - item - Name = 'CALLE' - DataType = datString - Size = 255 - DictionaryEntry = 'Contactos_CALLE' - end item Name = 'PERSONA_CONTACTO' DataType = datString Size = 255 DictionaryEntry = 'Contactos_PERSONA_CONTACTO' end + item + Name = 'CALLE' + DataType = datString + Size = 255 + DictionaryEntry = 'Contactos_CALLE' + end item Name = 'POBLACION' DataType = datString @@ -950,6 +987,14 @@ object srvContactos: TsrvContactos BlobType = dabtMemo DictionaryEntry = 'Contactos_NOTAS' end + item + Name = 'FECHA_ALTA' + DataType = datDateTime + end + item + Name = 'FECHA_MODIFICACION' + DataType = datDateTime + end item Name = 'USUARIO' DataType = datString @@ -967,27 +1012,6 @@ object srvContactos: TsrvContactos Size = 255 DictionaryEntry = 'Proveedores_REFERENCIA' end - item - Name = 'ID_TIPO_IVA' - DataType = datInteger - DictionaryEntry = 'Proveedores_ID_TIPO_IVA' - end - item - Name = 'REGIMEN_IVA' - DataType = datString - Size = 255 - DictionaryEntry = 'Proveedores_REGIMEN_IVA' - end - item - Name = 'ID_FORMA_PAGO' - DataType = datInteger - DictionaryEntry = 'Proveedores_ID_FORMA_PAGO' - end - item - Name = 'TIENDA_WEB' - DataType = datInteger - DictionaryEntry = 'Proveedores_TIENDA_WEB' - end item Name = 'DESCUENTO' DataType = datFloat @@ -1006,8 +1030,34 @@ object srvContactos: TsrvContactos DictionaryEntry = 'Proveedores_CODIGO_ASIGNADO' end item - Name = 'HOMOLOGADO' + Name = 'GRUPO_PROVEEDOR' + DataType = datString + Size = 255 + end + item + Name = 'REGIMEN_IVA' + DataType = datString + Size = 255 + DictionaryEntry = 'Proveedores_REGIMEN_IVA' + end + item + Name = 'ID_TIPO_IVA' DataType = datInteger + DictionaryEntry = 'Proveedores_ID_TIPO_IVA' + end + item + Name = 'ID_FORMA_PAGO' + DataType = datInteger + DictionaryEntry = 'Proveedores_ID_FORMA_PAGO' + end + item + Name = 'TIENDA_WEB' + DataType = datSmallInt + DictionaryEntry = 'Proveedores_TIENDA_WEB' + end + item + Name = 'HOMOLOGADO' + DataType = datSmallInt DictionaryEntry = 'Proveedores_HOMOLOGADO' end item @@ -1015,11 +1065,6 @@ object srvContactos: TsrvContactos DataType = datString Size = 255 DictionaryEntry = 'Proveedores_CERTIFICACION' - end - item - Name = 'GRUPO_PROVEEDOR' - DataType = datString - Size = 255 end> end item @@ -1028,15 +1073,7 @@ object srvContactos: TsrvContactos item Connection = 'IBX' TargetTable = 'V_EMPLEADOS' - SQL = - 'SELECT '#10' ID, ID_CATEGORIA, REFERENCIA, NIF_CIF, NOMBRE, PERSO' + - 'NA_CONTACTO, CALLE,'#10' POBLACION, PROVINCIA, CODIGO_POSTAL, TEL' + - 'EFONO_1, TELEFONO_2,'#10' MOVIL_1, MOVIL_2, FAX, EMAIL_1, EMAIL_2' + - ', PAGINA_WEB,'#10' NOTAS, USUARIO, ID_EMPRESA,'#10' '#10' '#10' CATE' + - 'GORIA, FECHA_NACIMIENTO, FECHA_ALTA_EMPRESA, FORMACION_BASE,'#10' ' + - ' FORMACION_COMPLE, FORMACION_RECIBIDA, EXPERIENCIA'#10' '#10'FROM V_E' + - 'MPLEADOS' - StatementType = stSQL + StatementType = stAutoSQL ColumnMappings = < item DatasetField = 'ID' @@ -1149,6 +1186,14 @@ object srvContactos: TsrvContactos item DatasetField = 'EXPERIENCIA' TableField = 'EXPERIENCIA' + end + item + DatasetField = 'FECHA_ALTA' + TableField = 'FECHA_ALTA' + end + item + DatasetField = 'FECHA_MODIFICACION' + TableField = 'FECHA_MODIFICACION' end> end> Name = 'Empleados' @@ -1156,6 +1201,8 @@ object srvContactos: TsrvContactos item Name = 'ID' DataType = datAutoInc + GeneratorName = 'GEN_CONTACTOS_ID' + ServerAutoRefresh = True DictionaryEntry = 'Contactos_ID' InPrimaryKey = True end @@ -1176,18 +1223,18 @@ object srvContactos: TsrvContactos Size = 255 DictionaryEntry = 'Contactos_NOMBRE' end - item - Name = 'CALLE' - DataType = datString - Size = 255 - DictionaryEntry = 'Contactos_CALLE' - end item Name = 'PERSONA_CONTACTO' DataType = datString Size = 255 DictionaryEntry = 'Contactos_PERSONA_CONTACTO' end + item + Name = 'CALLE' + DataType = datString + Size = 255 + DictionaryEntry = 'Contactos_CALLE' + end item Name = 'POBLACION' DataType = datString @@ -1260,6 +1307,14 @@ object srvContactos: TsrvContactos BlobType = dabtMemo DictionaryEntry = 'Contactos_NOTAS' end + item + Name = 'FECHA_ALTA' + DataType = datDateTime + end + item + Name = 'FECHA_MODIFICACION' + DataType = datDateTime + end item Name = 'USUARIO' DataType = datString @@ -1277,17 +1332,17 @@ object srvContactos: TsrvContactos Size = 255 DictionaryEntry = 'Agentes_REFERENCIA' end + item + Name = 'FECHA_NACIMIENTO' + DataType = datDateTime + DictionaryEntry = 'Empleados_FECHA_NACIMIENTO' + end item Name = 'CATEGORIA' DataType = datString Size = 255 DictionaryEntry = 'Empleados_CATEGORIA' end - item - Name = 'FECHA_NACIMIENTO' - DataType = datDateTime - DictionaryEntry = 'Empleados_FECHA_NACIMIENTO' - end item Name = 'FECHA_ALTA_EMPRESA' DataType = datDateTime @@ -1315,23 +1370,12 @@ object srvContactos: TsrvContactos end> end item - Params = < - item - Name = 'ID_CONTACTO' - DataType = datInteger - Value = '9' - ParamType = daptInput - end> + Params = <> Statements = < item Connection = 'IBX' TargetTable = 'CONTACTOS_DIRECCIONES' - SQL = - 'SELECT'#10' ID, ID_CONTACTO, NOMBRE, CALLE, POBLACION, PROVINCIA,' + - ' CODIGO_POSTAL, PERSONA_CONTACTO,'#10' TELEFONO, MOVIL, FAX, EMAI' + - 'L, NOTAS, PORTE'#10' FROM'#10' CONTACTOS_DIRECCIONES'#10' WHERE ID_CONT' + - 'ACTO = :ID_CONTACTO' - StatementType = stSQL + StatementType = stAutoSQL ColumnMappings = < item DatasetField = 'ID' @@ -1369,6 +1413,14 @@ object srvContactos: TsrvContactos DatasetField = 'TELEFONO' TableField = 'TELEFONO' end + item + DatasetField = 'MOVIL' + TableField = 'MOVIL' + end + item + DatasetField = 'FAX' + TableField = 'FAX' + end item DatasetField = 'EMAIL' TableField = 'EMAIL' @@ -1382,12 +1434,12 @@ object srvContactos: TsrvContactos TableField = 'PORTE' end item - DatasetField = 'MOVIL' - TableField = 'MOVIL' + DatasetField = 'FECHA_ALTA' + TableField = 'FECHA_ALTA' end item - DatasetField = 'FAX' - TableField = 'FAX' + DatasetField = 'FECHA_MODIFICACION' + TableField = 'FECHA_MODIFICACION' end> end> Name = 'DireccionesContacto' @@ -1395,6 +1447,8 @@ object srvContactos: TsrvContactos item Name = 'ID' DataType = datAutoInc + GeneratorName = 'GEN_CONTACTOS_DIR_ID' + ServerAutoRefresh = True DictionaryEntry = 'DireccionesContacto_ID' InPrimaryKey = True end @@ -1403,12 +1457,6 @@ object srvContactos: TsrvContactos DataType = datInteger DictionaryEntry = 'DireccionesContacto_ID_CONTACTO' end - item - Name = 'NOMBRE' - DataType = datString - Size = 255 - DictionaryEntry = 'DireccionesContacto_NOMBRE' - end item Name = 'CALLE' DataType = datString @@ -1439,6 +1487,12 @@ object srvContactos: TsrvContactos Size = 255 DictionaryEntry = 'DireccionesContacto_PERSONA_CONTACTO' end + item + Name = 'NOMBRE' + DataType = datString + Size = 255 + DictionaryEntry = 'DireccionesContacto_NOMBRE' + end item Name = 'TELEFONO' DataType = datString @@ -1472,27 +1526,28 @@ object srvContactos: TsrvContactos Name = 'PORTE' DataType = datFloat DictionaryEntry = 'DireccionesContacto_PORTE' + end + item + Name = 'FECHA_ALTA' + DataType = datDateTime + end + item + Name = 'FECHA_MODIFICACION' + DataType = datDateTime end> end item - Params = < - item - Name = 'ID_CLIENTE' - DataType = datInteger - Value = '1' - ParamType = daptInput - end> + Params = <> Statements = < item Connection = 'IBX' - TargetTable = 'CLIENTES_DTOS_PROVEEDORES' SQL = 'SELECT '#10' CLIENTES_DTOS_PROVEEDORES.ID,'#10' CLIENTES_DTOS_PROV' + 'EEDORES.ID_CLIENTE,'#10' CLIENTES_DTOS_PROVEEDORES.ID_PROVEEDOR,'#10 + ' CONTACTOS.NOMBRE,'#10' CLIENTES_DTOS_PROVEEDORES.DESCUENTO'#10' ' + 'FROM'#10' CLIENTES_DTOS_PROVEEDORES'#10' LEFT JOIN CONTACTOS ON (CON' + - 'TACTOS.ID = CLIENTES_DTOS_PROVEEDORES.ID_PROVEEDOR)'#10'WHERE CLIENT' + - 'ES_DTOS_PROVEEDORES.ID_CLIENTE = :ID_CLIENTE' + 'TACTOS.ID = CLIENTES_DTOS_PROVEEDORES.ID_PROVEEDOR)'#10'WHERE {Where' + + '}'#10 StatementType = stSQL ColumnMappings = < item @@ -1507,20 +1562,22 @@ object srvContactos: TsrvContactos DatasetField = 'ID_PROVEEDOR' TableField = 'ID_PROVEEDOR' end - item - DatasetField = 'DESCUENTO' - TableField = 'DESCUENTO' - end item DatasetField = 'NOMBRE' TableField = 'NOMBRE' + end + item + DatasetField = 'DESCUENTO' + TableField = 'DESCUENTO' end> end> Name = 'ClientesDescuentos' Fields = < item Name = 'ID' - DataType = datInteger + DataType = datAutoInc + GeneratorName = 'GEN_CLIENTES_DTOS_PROV_ID' + ServerAutoRefresh = True DictionaryEntry = 'ClientesDescuentos_ID' InPrimaryKey = True end @@ -1553,8 +1610,7 @@ object srvContactos: TsrvContactos item Connection = 'IBX' TargetTable = 'PROVEEDORES_GRUPOS' - SQL = 'SELECT DESCRIPCION'#10'FROM PROVEEDORES_GRUPOS' - StatementType = stSQL + StatementType = stAutoSQL ColumnMappings = < item DatasetField = 'DESCRIPCION' @@ -1567,6 +1623,7 @@ object srvContactos: TsrvContactos Name = 'DESCRIPCION' DataType = datString Size = 255 + DisplayLabel = 'Descripci'#243'n' end> end item @@ -1575,8 +1632,7 @@ object srvContactos: TsrvContactos item Connection = 'IBX' TargetTable = 'EMPLEADOS_GRUPOS' - SQL = 'SELECT DESCRIPCION'#10'FROM EMPLEADOS_GRUPOS' - StatementType = stSQL + StatementType = stAutoSQL ColumnMappings = < item DatasetField = 'DESCRIPCION' @@ -1589,6 +1645,7 @@ object srvContactos: TsrvContactos Name = 'DESCRIPCION' DataType = datString Size = 255 + DisplayLabel = 'Descripci'#243'n' end> end> JoinDataTables = <> @@ -3180,7 +3237,39 @@ object srvContactos: TsrvContactos end> Name = 'Delete_ContactoEmpresa' end> - RelationShips = <> + RelationShips = < + item + Name = 'FK_ClientesDescuentos_Clientes' + MasterDatasetName = 'Clientes' + MasterFields = 'ID' + DetailDatasetName = 'ClientesDescuentos' + DetailFields = 'ID_CLIENTE' + RelationshipType = rtForeignKey + end + item + Name = 'FK_DatosBancarios_Contactos' + MasterDatasetName = 'Contactos' + MasterFields = 'ID' + DetailDatasetName = 'DatosBancarios' + DetailFields = 'ID_CONTACTO' + RelationshipType = rtForeignKey + end + item + Name = 'FK_ContactosCategorias_Contactos' + MasterDatasetName = 'Contactos' + MasterFields = 'ID' + DetailDatasetName = 'ContactosCategorias' + DetailFields = 'ID_CONTACTO' + RelationshipType = rtForeignKey + end + item + Name = 'FK_DireccionesContacto_Contactos' + MasterDatasetName = 'Contactos' + MasterFields = 'ID' + DetailDatasetName = 'DireccionesContacto' + DetailFields = 'ID_CONTACTO' + RelationshipType = rtForeignKey + end> UpdateRules = < item Name = 'Insert Contactos' @@ -3317,6 +3406,7 @@ object srvContactos: TsrvContactos item Name = 'DatosBancarios_ID' DataType = datAutoInc + GeneratorName = 'GEN_CONTACTOS_DATOS_BANCO_ID' DisplayLabel = 'ID' end item @@ -3357,6 +3447,7 @@ object srvContactos: TsrvContactos item Name = 'Contactos_ID' DataType = datAutoInc + GeneratorName = 'GEN_CONTACTOS_ID' DisplayLabel = 'ID' end item @@ -3365,12 +3456,6 @@ object srvContactos: TsrvContactos Size = 15 DisplayLabel = 'NIF/CIF' end - item - Name = 'Contactos_NOMBRE' - DataType = datString - Size = 255 - DisplayLabel = 'Nombre' - end item Name = 'Contactos_CALLE' DataType = datString @@ -3534,6 +3619,7 @@ object srvContactos: TsrvContactos item Name = 'DireccionesContacto_ID' DataType = datAutoInc + GeneratorName = 'GEN_CONTACTOS_DIR_ID' DisplayLabel = 'ID' end item @@ -3554,7 +3640,7 @@ object srvContactos: TsrvContactos end item Name = 'Clientes_BLOQUEADO' - DataType = datInteger + DataType = datSmallInt DisplayLabel = #191'Bloqueado?' end item @@ -3595,7 +3681,8 @@ object srvContactos: TsrvContactos end item Name = 'ClientesDescuentos_ID' - DataType = datInteger + DataType = datAutoInc + GeneratorName = 'GEN_CLIENTES_DTOS_PROV_ID' DisplayLabel = 'ID' end item @@ -3690,7 +3777,7 @@ object srvContactos: TsrvContactos end item Name = 'Clientes_TIENDA_WEB' - DataType = datInteger + DataType = datSmallInt DisplayLabel = 'TIENDA_WEB' end item @@ -3711,12 +3798,12 @@ object srvContactos: TsrvContactos end item Name = 'Proveedores_TIENDA_WEB' - DataType = datInteger + DataType = datSmallInt DisplayLabel = 'TIENDA_WEB' end item Name = 'Proveedores_HOMOLOGADO' - DataType = datInteger + DataType = datSmallInt DisplayLabel = 'Homologado' end item @@ -3772,6 +3859,13 @@ object srvContactos: TsrvContactos Name = 'Empleados_EXPERIENCIA' DataType = datMemo DisplayLabel = 'Experiencia' + end + item + Name = 'Contactos_NOMBRE' + DataType = datString + Size = 255 + Required = True + DisplayLabel = 'Nombre' end> Left = 126 Top = 14 @@ -3781,10 +3875,15 @@ object srvContactos: TsrvContactos Top = 82 DiagramData = ''#13#10' '#13#10' '#13#10' '#13#10' '#13#10' '#13#10''#13#10 + 'idth="400" Height="300">'#13#10' '#13#10' '#13#10' '#13#10' '#13#10' '#13#10' '#13#10' '#13#10' '#13#10' '#13#10''#13#10 end object bpContactos: TDABusinessProcessor Schema = schContactos diff --git a/Source/Modulos/Contactos/Servidor/srvContactos_Impl.pas b/Source/Modulos/Contactos/Servidor/srvContactos_Impl.pas index e3434e66..84e489bc 100644 --- a/Source/Modulos/Contactos/Servidor/srvContactos_Impl.pas +++ b/Source/Modulos/Contactos/Servidor/srvContactos_Impl.pas @@ -40,7 +40,6 @@ type procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject; var aConnectionName: string); public - function GetNextAutoInc(const GeneratorName: string): Integer; function GenerateFichaEmpleadoReport(const EmpleadoID: String): Binary; function GenerateEtiquetasReport(const ContactosID: String): Binary; end; @@ -124,11 +123,6 @@ begin } end; -function TsrvContactos.GetNextAutoInc(const GeneratorName: string): Integer; -begin - Result := uDatabaseUtils.GetNextAutoInc(GeneratorName) -end; - initialization TROClassFactory.Create('srvContactos', Create_srvContactos, TsrvContactos_Invoker); diff --git a/Source/Modulos/Contactos/Views/Contactos_view.drc b/Source/Modulos/Contactos/Views/Contactos_view.drc index 25a892d4..3413fedc 100644 --- a/Source/Modulos/Contactos/Views/Contactos_view.drc +++ b/Source/Modulos/Contactos/Views/Contactos_view.drc @@ -45,4 +45,4 @@ END /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uViewDatosYSeleccionProveedor.dfm */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uViewDatosYSeleccionCliente.dfm */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\Contactos_view.res */ -/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf231.tmp */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\Contactos_view.drf */ diff --git a/Source/Modulos/Empresas/Controller/Empresas_controller.drc b/Source/Modulos/Empresas/Controller/Empresas_controller.drc index cf1b60c2..fccdf2aa 100644 --- a/Source/Modulos/Empresas/Controller/Empresas_controller.drc +++ b/Source/Modulos/Empresas/Controller/Empresas_controller.drc @@ -13,4 +13,4 @@ BEGIN END /* C:\Codigo Tecsitel\Source\Modulos\Empresas\Controller\Empresas_controller.res */ -/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf20F.tmp */ +/* C:\Codigo Tecsitel\Source\Modulos\Empresas\Controller\Empresas_controller.drf */ diff --git a/Source/Modulos/Empresas/Controller/uDatosBancariosEmpresaController.pas b/Source/Modulos/Empresas/Controller/uDatosBancariosEmpresaController.pas index a16c804e..64e6b6a7 100644 --- a/Source/Modulos/Empresas/Controller/uDatosBancariosEmpresaController.pas +++ b/Source/Modulos/Empresas/Controller/uDatosBancariosEmpresaController.pas @@ -9,7 +9,6 @@ uses type IDatosBancariosEmpresaController = interface ['{E9B0313E-7B16-420A-B47E-20E42E96BAC6}'] - procedure AsignarID(ADetalles: IBizEmpresasDatosBancarios; IDCabecera: Integer; AEsNuevo:Boolean); procedure Ver(ADatosBancarios : IBizEmpresasDatosBancarios); end; @@ -18,7 +17,6 @@ type FDataModule : IDataModuleEmpresas; public procedure Ver(ADatosBancarios : IBizEmpresasDatosBancarios); - procedure AsignarID(ADetalles: IBizEmpresasDatosBancarios; IDCabecera : Integer; AEsNuevo : Boolean); constructor Create; virtual; destructor Destroy; override; end; @@ -31,75 +29,6 @@ uses uDataModuleEmpresas, schEmpresasClient_Intf, uIEditorDatosBancarioEmpresa, uEditorRegistryUtils, cxControls; -procedure TDatosBancariosEmpresaController.AsignarID( - ADetalles: IBizEmpresasDatosBancarios; IDCabecera: Integer; - AEsNuevo:Boolean); -begin - with ADetalles do - begin - DataTable.DisableControls; - try - if not DataTable.Active then - DataTable.Active := True; - -// AuxPosicion := POSICION; - - { ¡¡¡¡ OJO !!!! - Para asignar el ID en los detalles hay - que tener en cuenta una cosa: - Si se cambia el ID, ese detalle ya no - pertenece a esa cabecera porque ya no se - cumple la condición de la relacion: - Master.ID = Detail.ID_PRESUPUESTO. - - Por esa razón no sirve hacer un recorrido - desde el principio hasta el final porque - las detalles van desapareciendo según asignamos - el valor al campo ID y nos mueve aleatoriamente - la posición del registro actual. - - Es mejor hacer un bucle sencillo hasta que - "se gasten" todos los detalles. Cuando el - RecordCount llegue a 0 quiere decir que hemos - tratado todos los detalles. - - El bucle cambia en el caso de ser llamada esta funcion desde modificar - un presupuesto ya que en ese caso si que hay que hacer un recorrido - total de las tuplas de detalle. - } - - if AEsNuevo then - begin - while RecordCount > 0 do - begin - DataTable.First; - Edit; - ID := FDataModule.GetNextID(DataTable.LogicalName); - ID_EMPRESA := IDCabecera; - Post - end - end - else - begin - DataTable.First; - while not DataTable.EOF do - begin - if AEsNuevo then - begin - Edit; - ID := FDataModule.GetNextID(DataTable.LogicalName); - ID_EMPRESA := IDCabecera; - Post - end; - DataTable.Next - end; - end; - finally - DataTable.EnableControls; - end; - end; -end; - constructor TDatosBancariosEmpresaController.Create; begin inherited; diff --git a/Source/Modulos/Empresas/Controller/uEmpresasController.pas b/Source/Modulos/Empresas/Controller/uEmpresasController.pas index 5e8bc077..799f8852 100644 --- a/Source/Modulos/Empresas/Controller/uEmpresasController.pas +++ b/Source/Modulos/Empresas/Controller/uEmpresasController.pas @@ -27,10 +27,6 @@ type TEmpresasController = class(TInterfacedObject, IEmpresasController) protected FDataModule : IDataModuleEmpresas; - procedure AsignarID(AEmpresa: IBizEmpresa; - const IDNuevo : Integer); virtual; - procedure AsignarIDDetalles(AEmpresa: IBizEmpresa; - const IDCabecera : Integer; ADataTable : TDADataTable); function ValidarEmpresa(AEmpresa : IBizEmpresa): Boolean; virtual; public constructor Create; virtual; @@ -64,87 +60,6 @@ begin AEmpresa.Insert; end; -procedure TEmpresasController.AsignarID(AEmpresa: IBizEmpresa; - const IDNuevo: Integer); -var - AContador : Integer; -begin - if not Assigned(AEmpresa) then - raise Exception.Create ('Empresa no asignada'); - - { Los datos bancarios hay que comprobarlos siempre - tanto en inserción como en modificación. } - if Assigned(AEmpresa.DatosBancarios) then - AsignarIDDetalles(AEmpresa, IDNuevo, AEmpresa.DatosBancarios.DataTable); - - - if AEmpresa.EsNuevo then - begin - AEmpresa.Edit; - AEmpresa.ID := IDNuevo; - AEmpresa.Post; - end; -end; - -procedure TEmpresasController.AsignarIDDetalles(AEmpresa: IBizEmpresa; - const IDCabecera: Integer; ADataTable: TDADataTable); -var - AContador : Integer; -begin - if not ADataTable.Active then - ADataTable.Active := True; - - if AEmpresa.EsNuevo then - begin - { ¡¡¡¡ OJO !!!! - Para asignar el ID en los detalles hay - que tener en cuenta una cosa: - Si se cambia el ID, ese detalle ya no - pertenece AEmpresa esa cabecera porque ya no se - cumple la condición de la relacion: - Master.ID = Detail.ID_CONTACTO. - - Por esa razón no sirve hacer un recorrido - desde el principio hasta el final porque - las detalles van desapareciendo según asignamos - el valor al campo ID y nos mueve aleatoriamente - la posición del registro actual. - - Es mejor hacer un bucle sencillo hasta que - "se gasten" todos los detalles. Cuando el - RecordCount llegue AEmpresa 0 quiere decir que hemos - tratado todos los detalles. - } - while ADataTable.RecordCount > 0 do - begin - ADataTable.First; - ADataTable.Edit; - ADataTable.FieldByName('ID').AsInteger := FDataModule.GetNextID(ADataTable.LogicalName); - ADataTable.FieldByName('ID_EMPRESA').AsInteger := IDCabecera; - ADataTable.Post; - end; - end - else begin - { En este caso es un recorrido normal y corriente. } - ADataTable.First; - AContador := ADataTable.RecordCount; - - while (AContador > 0) do - begin - // ¿Es nuevo? - if (ADataTable.FieldByName('ID').AsInteger < 0) then - begin - ADataTable.Edit; - ADataTable.FieldByName('ID').AsInteger := FDataModule.GetNextID(ADataTable.LogicalName); - ADataTable.Post; - end; - AContador := AContador - 1; - ADataTable.Next; - end; - ADataTable.First; - end; -end; - function TEmpresasController.Buscar(const ID: Integer): IBizEmpresa; begin Result := FDataModule.GetItem(ID) @@ -229,8 +144,6 @@ begin end; function TEmpresasController.Guardar(AEmpresa: IBizEmpresa): Boolean; -var - NuevoID : Integer; begin Result := False; @@ -238,14 +151,7 @@ begin begin ShowHourglassCursor; try - if AEmpresa.EsNuevo then - NuevoID := FDataModule.GetNextID(AEmpresa.DataTable.LogicalName) - else - NuevoID := AEmpresa.ID; - - AsignarID(AEmpresa, NuevoID); AEmpresa.DataTable.ApplyUpdates; - Result := True; finally HideHourglassCursor; diff --git a/Source/Modulos/Empresas/Data/Empresas_data.drc b/Source/Modulos/Empresas/Data/Empresas_data.drc index 6e295dc2..4726c4a4 100644 --- a/Source/Modulos/Empresas/Data/Empresas_data.drc +++ b/Source/Modulos/Empresas/Data/Empresas_data.drc @@ -12,6 +12,6 @@ STRINGTABLE BEGIN END -/* C:\Codigo Tecsitel\Source\Modulos\Empresas\Data\uDataModuleEmpresas.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Empresas\Data\uDataModuleEmpresas.DFM */ /* C:\Codigo Tecsitel\Source\Modulos\Empresas\Data\Empresas_data.res */ -/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf20D.tmp */ +/* C:\Codigo Tecsitel\Source\Modulos\Empresas\Data\Empresas_data.drf */ diff --git a/Source/Modulos/Empresas/Data/uDataModuleEmpresas.dfm b/Source/Modulos/Empresas/Data/uDataModuleEmpresas.dfm index de9e92fb..c0305bb9 100644 --- a/Source/Modulos/Empresas/Data/uDataModuleEmpresas.dfm +++ b/Source/Modulos/Empresas/Data/uDataModuleEmpresas.dfm @@ -29,116 +29,163 @@ object DataModuleEmpresas: TDataModuleEmpresas Fields = < item Name = 'ID' - DataType = datInteger + DataType = datAutoInc + GeneratorName = 'GEN_EMPRESAS_ID' LogChanges = False Required = True ReadOnly = True + ServerAutoRefresh = True + DictionaryEntry = 'Empresas_ID' InPrimaryKey = True end item Name = 'NIF_CIF' DataType = datString Size = 15 + DisplayLabel = 'CIF' + DictionaryEntry = 'Empresas_NIF_CIF' end item Name = 'NOMBRE' DataType = datString Size = 255 + DisplayLabel = 'Nombre' + DictionaryEntry = 'Empresas_NOMBRE' end item Name = 'RAZON_SOCIAL' DataType = datString Size = 255 + DisplayLabel = 'Raz'#243'n Social' + DictionaryEntry = 'Empresas_RAZON_SOCIAL' end item Name = 'CALLE' DataType = datString Size = 255 + DisplayLabel = 'Calle' + DictionaryEntry = 'Empresas_CALLE' end item Name = 'POBLACION' DataType = datString Size = 255 + DisplayLabel = 'Poblaci'#243'n' + DictionaryEntry = 'Empresas_POBLACION' end item Name = 'PROVINCIA' DataType = datString Size = 255 + DisplayLabel = 'Provincia' + DictionaryEntry = 'Empresas_PROVINCIA' end item Name = 'CODIGO_POSTAL' DataType = datString Size = 10 + DisplayLabel = 'C'#243'd. postal' + DictionaryEntry = 'Empresas_CODIGO_POSTAL' end item Name = 'TELEFONO_1' DataType = datString Size = 25 + DisplayLabel = 'Tel'#233'fono 1' + DictionaryEntry = 'Empresas_TELEFONO_1' end item Name = 'TELEFONO_2' DataType = datString Size = 25 + DisplayLabel = 'Tel'#233'fono 2' + DictionaryEntry = 'Empresas_TELEFONO_2' end item Name = 'MOVIL_1' DataType = datString Size = 25 + DisplayLabel = 'M'#243'vil 1' + DictionaryEntry = 'Empresas_MOVIL_1' end item Name = 'MOVIL_2' DataType = datString Size = 25 + DisplayLabel = 'M'#243'vil 2' + DictionaryEntry = 'Empresas_MOVIL_2' end item Name = 'FAX' DataType = datString Size = 25 + DisplayLabel = 'Fax' + DictionaryEntry = 'Empresas_FAX' end item Name = 'EMAIL_1' DataType = datString Size = 255 + DisplayLabel = 'E-mail 1' + DictionaryEntry = 'Empresas_EMAIL_1' end item Name = 'EMAIL_2' DataType = datString Size = 255 + DisplayLabel = 'E-mail 2' + DictionaryEntry = 'Empresas_EMAIL_2' end item Name = 'PAGINA_WEB' DataType = datString Size = 255 + DisplayLabel = 'P'#225'gina web' + DictionaryEntry = 'Empresas_PAGINA_WEB' end item Name = 'NOTAS' DataType = datMemo + DisplayLabel = 'Notas' + DictionaryEntry = 'Empresas_NOTAS' end item Name = 'FECHA_ALTA' DataType = datDateTime + DisplayLabel = 'Empresas_FECHA_ALTA' + DictionaryEntry = 'Empresas_FECHA_ALTA' end item Name = 'FECHA_MODIFICACION' DataType = datDateTime + DisplayLabel = 'Empresas_FECHA_MODIFICACION' + DictionaryEntry = 'Empresas_FECHA_MODIFICACION' end item Name = 'USUARIO' DataType = datString Size = 20 + DisplayLabel = 'Empresas_USUARIO' + DictionaryEntry = 'Empresas_USUARIO' end item Name = 'LOGOTIPO' DataType = datBlob + BlobType = dabtBlob + DisplayLabel = 'Logotipo' + DictionaryEntry = 'Empresas_LOGOTIPO' end item Name = 'REGISTRO_MERCANTIL' DataType = datString Size = 255 + DisplayLabel = 'Registro mercantil' + DictionaryEntry = 'Empresas_REGISTRO_MERCANTIL' end item Name = 'IVA' DataType = datFloat + DictionaryEntry = 'Empresas_IVA' end> Params = <> StreamingOptions = [soDisableEventsWhileStreaming] @@ -160,53 +207,68 @@ object DataModuleEmpresas: TDataModuleEmpresas Fields = < item Name = 'ID' - DataType = datInteger + DataType = datAutoInc + GeneratorName = 'GEN_EMPRESAS_DATOS_BANCO_ID' LogChanges = False Required = True ReadOnly = True + ServerAutoRefresh = True + DictionaryEntry = 'EmpresasDatosBanco_ID' InPrimaryKey = True end item Name = 'ID_EMPRESA' DataType = datInteger - LogChanges = False - Required = True - ReadOnly = True + DisplayLabel = 'EmpresasDatosBanco_ID_EMPRESA' + DictionaryEntry = 'EmpresasDatosBanco_ID_EMPRESA' end item Name = 'NOMBRE' DataType = datString Size = 255 + DisplayLabel = 'Nombre del banco' + DictionaryEntry = 'EmpresasDatosBanco_NOMBRE' end item Name = 'ENTIDAD' DataType = datString Size = 15 + DisplayLabel = 'Entidad' + DictionaryEntry = 'EmpresasDatosBanco_ENTIDAD' end item Name = 'SUCURSAL' DataType = datString Size = 15 + DisplayLabel = 'Sucursal' + DictionaryEntry = 'EmpresasDatosBanco_SUCURSAL' end item Name = 'DC' DataType = datString Size = 15 + DictionaryEntry = 'EmpresasDatosBanco_DC' end item Name = 'CUENTA' DataType = datString Size = 15 + DisplayLabel = 'Cuenta' + DictionaryEntry = 'EmpresasDatosBanco_CUENTA' end item Name = 'SUFIJO_N19' DataType = datString Size = 3 + DisplayLabel = 'Sufijo 19' + DictionaryEntry = 'EmpresasDatosBanco_SUFIJO_N19' end item Name = 'SUFIJO_N58' DataType = datString Size = 3 + DisplayLabel = 'Sufijo 58' + DictionaryEntry = 'EmpresasDatosBanco_SUFIJO_N58' end> Params = <> MasterMappingMode = mmWhere diff --git a/Source/Modulos/Empresas/Data/uDataModuleEmpresas.pas b/Source/Modulos/Empresas/Data/uDataModuleEmpresas.pas index 5bc2dd2a..7014165b 100644 --- a/Source/Modulos/Empresas/Data/uDataModuleEmpresas.pas +++ b/Source/Modulos/Empresas/Data/uDataModuleEmpresas.pas @@ -26,7 +26,6 @@ type function GetItem(const ID : Integer) : IBizEmpresa; function NewItem : IBizEmpresa; function GetItems : IBizEmpresa; - function GetNextID(const DataSetName : String) : Integer; end; @@ -57,12 +56,6 @@ begin Expression := NewBinaryExpression(NewField('', fld_EmpresasID), NewConstant(ID, datInteger), dboEqual); end; - -{ if NotEmpty then - AddOperator(opAND); - OpenBraket; - AddText('EMPRESAS.' + fld_EmpresasID + ' = ' + IntToStr(ID)); - CloseBraket;} finally HideHourglassCursor; end; @@ -70,24 +63,8 @@ end; function TDataModuleEmpresas.GetItems: IBizEmpresa; var - //AEmpresa : TDACDSDataTable; AEmpresa : TDAMemDataTable; begin - {ShowHourglassCursor; - try - AEmpresa := _CloneDataTable(tbl_Empresas); - AEmpresa.BusinessRulesID := BIZ_CLIENT_EMPRESA; - - with TBizEmpresa(AEmpresa.BusinessEventsObj) do - begin - DatosBancarios := _GetDatosBancarios; - end; - - Result := (AEmpresa as IBizEmpresa); - finally - HideHourglassCursor; - end;} - ShowHourglassCursor; try AEmpresa := CloneDataTable(tbl_Empresas); @@ -104,19 +81,6 @@ begin end; end; -function TDataModuleEmpresas.GetNextID(const DataSetName: String): Integer; -var - aGeneratorName : String; -begin - if DataSetName = nme_Empresas then - aGeneratorName := 'GEN_EMPRESAS_ID'; - - if DataSetName = nme_EmpresasDatosBanco then - aGeneratorName := 'GEN_EMPRESAS_DATOS_BANCO_ID'; - - Result := (RORemoteService as IsrvEmpresas).GetNextAutoInc(aGeneratorName) -end; - function TDataModuleEmpresas.NewItem: IBizEmpresa; begin Result := GetItem(ID_NULO) @@ -124,23 +88,8 @@ end; function TDataModuleEmpresas._GetDatosBancarios: IBizEmpresasDatosBancarios; var -// ADatosBancarios : TDACDSDataTable; ADatosBancarios : TDAMemDataTable; begin -{ ShowHourglassCursor; - try - ADatosBancarios := _CloneDataTable(tbl_EmpresasDatosBanco); - with ADatosBancarios do - begin - BusinessRulesID := BIZ_CLIENT_EMPRESAS_DATOS_BANCARIOS; - DetailOptions := DetailOptions - - [dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates]; - end; - Result := (ADatosBancarios as IBizEmpresasDatosBancarios); - finally - HideHourglassCursor; - end;} - ShowHourglassCursor; try ADatosBancarios := CloneDataTable(tbl_EmpresasDatosBanco); diff --git a/Source/Modulos/Empresas/Empresas_Group.groupproj b/Source/Modulos/Empresas/Empresas_Group.groupproj new file mode 100644 index 00000000..57016711 --- /dev/null +++ b/Source/Modulos/Empresas/Empresas_Group.groupproj @@ -0,0 +1,106 @@ + + + {f8b3d728-de77-47ab-94ad-f92e28df9e6b} + + + + + + + + + + Model\Empresas_model.dproj;Data\Empresas_data.dproj;Controller\Empresas_controller.dproj + + + + + + Default.Personality + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Source/Modulos/Empresas/Model/Data/uIDataModuleEmpresas.pas b/Source/Modulos/Empresas/Model/Data/uIDataModuleEmpresas.pas index 628a7bef..e87571fa 100644 --- a/Source/Modulos/Empresas/Model/Data/uIDataModuleEmpresas.pas +++ b/Source/Modulos/Empresas/Model/Data/uIDataModuleEmpresas.pas @@ -12,7 +12,6 @@ type function GetItem(const ID : Integer) : IBizEmpresa; function NewItem : IBizEmpresa; function GetItems : IBizEmpresa; - function GetNextID(const DataSetName : String) : Integer; end; implementation diff --git a/Source/Modulos/Empresas/Model/Empresas_model.dproj b/Source/Modulos/Empresas/Model/Empresas_model.dproj index be15e971..20021a77 100644 --- a/Source/Modulos/Empresas/Model/Empresas_model.dproj +++ b/Source/Modulos/Empresas/Model/Empresas_model.dproj @@ -42,7 +42,10 @@ Delphi.Personality Package -FalseTrueFalseEmpresasFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0 +FalseTrueFalseEmpresasTrueFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0 + + + JCL Debug IDE extension JCL Project Analyzer JCL Open and Save IDE dialogs with favorite folders diff --git a/Source/Modulos/Empresas/Model/Empresas_model.drc b/Source/Modulos/Empresas/Model/Empresas_model.drc index cd5e870f..82183bfb 100644 --- a/Source/Modulos/Empresas/Model/Empresas_model.drc +++ b/Source/Modulos/Empresas/Model/Empresas_model.drc @@ -13,4 +13,4 @@ BEGIN END /* C:\Codigo Tecsitel\Source\Modulos\Empresas\Model\Empresas_model.res */ -/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf20B.tmp */ +/* C:\Codigo Tecsitel\Source\Modulos\Empresas\Model\Empresas_model.drf */ diff --git a/Source/Modulos/Empresas/Model/Empresas_model.res b/Source/Modulos/Empresas/Model/Empresas_model.res index 8b251f312bcccec5485024f6fe8d80e1cdf25746..1641339fcc482e7e3492d1b45813a86619622c33 100644 GIT binary patch literal 4748 zcmbW5&ub)A5XUPdpe&2#;C*uNAUVhgd+&(4um@dnom`vXF9g}ZuHJ;se=<3UNdFJg zbCw+UD9j$byGIXV`~6hC>h4S?F|k9X-j90q{Z_qtZ<;nUJCO8!h?p${kR>3GhM`oH*q zk=UsjOCIgA_4!`B+Gb&`I84R)bT4dy-BQV<-SyFz?R8ILEQ(+JB$u{sEXE@j@B*7W zT;iZH#|OJ<&DO$RCkM6VbK3(B(k{nbdv1lpc;E$xz9as|v3uE1V{hw2w~g3eD0an7 z{BT%G%irdMe*|oDJmgvJaA2`9B<6Xi*?M~Q;)@Sbfwf3uf zVaWkbUjU=;sL{BlYemIZXv%qZ{SZw{-TCU+;!nH6KDDIJumU+9{E0zXW4>7T)y|>$DQlv zRJe?TjSp{c!DqeayAnSMTtZZT;>LN7J0Rls+5m@q)MbyB*eL%Eu@(+$Cw}Pd@q7N| z%Q0*AHpCP^b9v`@jx-l_FD>khpW2W8(OU2&V5TrnoAY-m_hlcV?zq3;7{2gF{J#Hc z6R+o~mVenX?>@W0@_DVzyOFs(5464CY{!q9ChoF#_*eXi@4gFuV8?vhl=_w5$iKL0 zEV0nMBcN08xtRmsgJrqjh@s#|{?*ssnsG)mH*wa6{efF0JFWHok@kA5%b661{B38= zCcgJ|*ZFTpV$8<-&+AWpa)Q8*`wL&hMeNQ^v6I7$HSdLZhZ^&+6<@Uw_Zsml9^v3W zVvPDBKHh;i=RU4J_ta3E;)Mn>Y+L zKLZ0UQ+*km9FO-b?U4gmn-62iwzH6&*duKGo~aUV)bYDla8wWZ9+^7p-F<8lP@i!m z@vhbD_${F}h>^T;C(?(b*OJDk?{dEXB?nuehoON3HAb!7Mr7-ls!84-5V-jJugbu<_$}mU=Yd9!?TOX;|B-#B)+0x#9q*yqJiqS!`49d=7ztk$O+9=1i;?K_|J<8T z?0b7=-`Z3A#vV$4XJ5(lQ~TOZHUFdA%oWvK5zg&_IKXIbughQBA8XAsd#=@|TFLXC zy(^m((;DnQmDQKatmw!@c`| G?EMQ&4NnpP delta 11 ScmeBCZD5|Duvteife`=|>;pCc diff --git a/Source/Modulos/Empresas/Model/schEmpresasClient_Intf.pas b/Source/Modulos/Empresas/Model/schEmpresasClient_Intf.pas index c4af1102..e75719a7 100644 --- a/Source/Modulos/Empresas/Model/schEmpresasClient_Intf.pas +++ b/Source/Modulos/Empresas/Model/schEmpresasClient_Intf.pas @@ -9,16 +9,12 @@ const { Data table rules ids Feel free to change them to something more human readable but make sure they are unique in the context of your application } - RID_Empresas = '{B9A9EE41-94AF-448E-9982-AF22968F641E}'; - RID_EmpresasDatosBanco = '{9BE7F2A6-C031-4197-AA2B-F9BA5363D86F}'; - RID_Copy_of_Empresas = '{6FF84ED6-3675-4F12-BE51-A265C8740201}'; - RID_Copy_of_EmpresasDatosBanco = '{6E0361D1-4CDD-4B2B-8770-EE0990A5CBBF}'; + RID_Empresas = '{339ECEE2-0E9D-4AFD-9CCF-7991FCAFFC44}'; + RID_EmpresasDatosBanco = '{97535864-08DF-42D3-9334-2009E15B6DE5}'; { Data table names } nme_Empresas = 'Empresas'; nme_EmpresasDatosBanco = 'EmpresasDatosBanco'; - nme_Copy_of_Empresas = 'Copy of Empresas'; - nme_Copy_of_EmpresasDatosBanco = 'Copy of EmpresasDatosBanco'; { Empresas fields } fld_EmpresasID = 'ID'; @@ -92,82 +88,10 @@ const idx_EmpresasDatosBancoSUFIJO_N19 = 7; idx_EmpresasDatosBancoSUFIJO_N58 = 8; - { Copy of Empresas fields } - fld_Copy_of_EmpresasID = 'ID'; - fld_Copy_of_EmpresasNIF_CIF = 'NIF_CIF'; - fld_Copy_of_EmpresasNOMBRE = 'NOMBRE'; - fld_Copy_of_EmpresasRAZON_SOCIAL = 'RAZON_SOCIAL'; - fld_Copy_of_EmpresasCALLE = 'CALLE'; - fld_Copy_of_EmpresasPOBLACION = 'POBLACION'; - fld_Copy_of_EmpresasPROVINCIA = 'PROVINCIA'; - fld_Copy_of_EmpresasCODIGO_POSTAL = 'CODIGO_POSTAL'; - fld_Copy_of_EmpresasTELEFONO_1 = 'TELEFONO_1'; - fld_Copy_of_EmpresasTELEFONO_2 = 'TELEFONO_2'; - fld_Copy_of_EmpresasMOVIL_1 = 'MOVIL_1'; - fld_Copy_of_EmpresasMOVIL_2 = 'MOVIL_2'; - fld_Copy_of_EmpresasFAX = 'FAX'; - fld_Copy_of_EmpresasEMAIL_1 = 'EMAIL_1'; - fld_Copy_of_EmpresasEMAIL_2 = 'EMAIL_2'; - fld_Copy_of_EmpresasPAGINA_WEB = 'PAGINA_WEB'; - fld_Copy_of_EmpresasNOTAS = 'NOTAS'; - fld_Copy_of_EmpresasFECHA_ALTA = 'FECHA_ALTA'; - fld_Copy_of_EmpresasFECHA_MODIFICACION = 'FECHA_MODIFICACION'; - fld_Copy_of_EmpresasUSUARIO = 'USUARIO'; - fld_Copy_of_EmpresasLOGOTIPO = 'LOGOTIPO'; - fld_Copy_of_EmpresasREGISTRO_MERCANTIL = 'REGISTRO_MERCANTIL'; - fld_Copy_of_EmpresasIVA = 'IVA'; - - { Copy of Empresas field indexes } - idx_Copy_of_EmpresasID = 0; - idx_Copy_of_EmpresasNIF_CIF = 1; - idx_Copy_of_EmpresasNOMBRE = 2; - idx_Copy_of_EmpresasRAZON_SOCIAL = 3; - idx_Copy_of_EmpresasCALLE = 4; - idx_Copy_of_EmpresasPOBLACION = 5; - idx_Copy_of_EmpresasPROVINCIA = 6; - idx_Copy_of_EmpresasCODIGO_POSTAL = 7; - idx_Copy_of_EmpresasTELEFONO_1 = 8; - idx_Copy_of_EmpresasTELEFONO_2 = 9; - idx_Copy_of_EmpresasMOVIL_1 = 10; - idx_Copy_of_EmpresasMOVIL_2 = 11; - idx_Copy_of_EmpresasFAX = 12; - idx_Copy_of_EmpresasEMAIL_1 = 13; - idx_Copy_of_EmpresasEMAIL_2 = 14; - idx_Copy_of_EmpresasPAGINA_WEB = 15; - idx_Copy_of_EmpresasNOTAS = 16; - idx_Copy_of_EmpresasFECHA_ALTA = 17; - idx_Copy_of_EmpresasFECHA_MODIFICACION = 18; - idx_Copy_of_EmpresasUSUARIO = 19; - idx_Copy_of_EmpresasLOGOTIPO = 20; - idx_Copy_of_EmpresasREGISTRO_MERCANTIL = 21; - idx_Copy_of_EmpresasIVA = 22; - - { Copy of EmpresasDatosBanco fields } - fld_Copy_of_EmpresasDatosBancoID = 'ID'; - fld_Copy_of_EmpresasDatosBancoID_EMPRESA = 'ID_EMPRESA'; - fld_Copy_of_EmpresasDatosBancoNOMBRE = 'NOMBRE'; - fld_Copy_of_EmpresasDatosBancoENTIDAD = 'ENTIDAD'; - fld_Copy_of_EmpresasDatosBancoSUCURSAL = 'SUCURSAL'; - fld_Copy_of_EmpresasDatosBancoDC = 'DC'; - fld_Copy_of_EmpresasDatosBancoCUENTA = 'CUENTA'; - fld_Copy_of_EmpresasDatosBancoSUFIJO_N19 = 'SUFIJO_N19'; - fld_Copy_of_EmpresasDatosBancoSUFIJO_N58 = 'SUFIJO_N58'; - - { Copy of EmpresasDatosBanco field indexes } - idx_Copy_of_EmpresasDatosBancoID = 0; - idx_Copy_of_EmpresasDatosBancoID_EMPRESA = 1; - idx_Copy_of_EmpresasDatosBancoNOMBRE = 2; - idx_Copy_of_EmpresasDatosBancoENTIDAD = 3; - idx_Copy_of_EmpresasDatosBancoSUCURSAL = 4; - idx_Copy_of_EmpresasDatosBancoDC = 5; - idx_Copy_of_EmpresasDatosBancoCUENTA = 6; - idx_Copy_of_EmpresasDatosBancoSUFIJO_N19 = 7; - idx_Copy_of_EmpresasDatosBancoSUFIJO_N58 = 8; - type { IEmpresas } IEmpresas = interface(IDAStronglyTypedDataTable) - ['{959570E0-F60E-4C3A-BF84-7494D07947C8}'] + ['{96DF5DB9-5264-4B33-BC6D-F6A8119C40F2}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -466,7 +390,7 @@ type { IEmpresasDatosBanco } IEmpresasDatosBanco = interface(IDAStronglyTypedDataTable) - ['{2DBA1931-66F1-44D7-9153-C1B5955A73CD}'] + ['{5653808F-F011-430B-935F-451A93D817DA}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -595,436 +519,6 @@ type end; - { ICopy_of_Empresas } - ICopy_of_Empresas = interface(IDAStronglyTypedDataTable) - ['{7E7E2530-0F6F-4AF8-A0B8-DE8FB4798C76}'] - { Property getters and setters } - function GetIDValue: Integer; - procedure SetIDValue(const aValue: Integer); - function GetIDIsNull: Boolean; - procedure SetIDIsNull(const aValue: Boolean); - function GetNIF_CIFValue: String; - procedure SetNIF_CIFValue(const aValue: String); - function GetNIF_CIFIsNull: Boolean; - procedure SetNIF_CIFIsNull(const aValue: Boolean); - function GetNOMBREValue: String; - procedure SetNOMBREValue(const aValue: String); - function GetNOMBREIsNull: Boolean; - procedure SetNOMBREIsNull(const aValue: Boolean); - function GetRAZON_SOCIALValue: String; - procedure SetRAZON_SOCIALValue(const aValue: String); - function GetRAZON_SOCIALIsNull: Boolean; - procedure SetRAZON_SOCIALIsNull(const aValue: Boolean); - function GetCALLEValue: String; - procedure SetCALLEValue(const aValue: String); - function GetCALLEIsNull: Boolean; - procedure SetCALLEIsNull(const aValue: Boolean); - function GetPOBLACIONValue: String; - procedure SetPOBLACIONValue(const aValue: String); - function GetPOBLACIONIsNull: Boolean; - procedure SetPOBLACIONIsNull(const aValue: Boolean); - function GetPROVINCIAValue: String; - procedure SetPROVINCIAValue(const aValue: String); - function GetPROVINCIAIsNull: Boolean; - procedure SetPROVINCIAIsNull(const aValue: Boolean); - function GetCODIGO_POSTALValue: String; - procedure SetCODIGO_POSTALValue(const aValue: String); - function GetCODIGO_POSTALIsNull: Boolean; - procedure SetCODIGO_POSTALIsNull(const aValue: Boolean); - function GetTELEFONO_1Value: String; - procedure SetTELEFONO_1Value(const aValue: String); - function GetTELEFONO_1IsNull: Boolean; - procedure SetTELEFONO_1IsNull(const aValue: Boolean); - function GetTELEFONO_2Value: String; - procedure SetTELEFONO_2Value(const aValue: String); - function GetTELEFONO_2IsNull: Boolean; - procedure SetTELEFONO_2IsNull(const aValue: Boolean); - function GetMOVIL_1Value: String; - procedure SetMOVIL_1Value(const aValue: String); - function GetMOVIL_1IsNull: Boolean; - procedure SetMOVIL_1IsNull(const aValue: Boolean); - function GetMOVIL_2Value: String; - procedure SetMOVIL_2Value(const aValue: String); - function GetMOVIL_2IsNull: Boolean; - procedure SetMOVIL_2IsNull(const aValue: Boolean); - function GetFAXValue: String; - procedure SetFAXValue(const aValue: String); - function GetFAXIsNull: Boolean; - procedure SetFAXIsNull(const aValue: Boolean); - function GetEMAIL_1Value: String; - procedure SetEMAIL_1Value(const aValue: String); - function GetEMAIL_1IsNull: Boolean; - procedure SetEMAIL_1IsNull(const aValue: Boolean); - function GetEMAIL_2Value: String; - procedure SetEMAIL_2Value(const aValue: String); - function GetEMAIL_2IsNull: Boolean; - procedure SetEMAIL_2IsNull(const aValue: Boolean); - function GetPAGINA_WEBValue: String; - procedure SetPAGINA_WEBValue(const aValue: String); - function GetPAGINA_WEBIsNull: Boolean; - procedure SetPAGINA_WEBIsNull(const aValue: Boolean); - function GetNOTASValue: IROStrings; - function GetNOTASIsNull: Boolean; - procedure SetNOTASIsNull(const aValue: Boolean); - function GetFECHA_ALTAValue: DateTime; - procedure SetFECHA_ALTAValue(const aValue: DateTime); - function GetFECHA_ALTAIsNull: Boolean; - procedure SetFECHA_ALTAIsNull(const aValue: Boolean); - function GetFECHA_MODIFICACIONValue: DateTime; - procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); - function GetFECHA_MODIFICACIONIsNull: Boolean; - procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); - function GetUSUARIOValue: String; - procedure SetUSUARIOValue(const aValue: String); - function GetUSUARIOIsNull: Boolean; - procedure SetUSUARIOIsNull(const aValue: Boolean); - function GetLOGOTIPOValue: IROStream; - function GetLOGOTIPOIsNull: Boolean; - procedure SetLOGOTIPOIsNull(const aValue: Boolean); - function GetREGISTRO_MERCANTILValue: String; - procedure SetREGISTRO_MERCANTILValue(const aValue: String); - function GetREGISTRO_MERCANTILIsNull: Boolean; - procedure SetREGISTRO_MERCANTILIsNull(const aValue: Boolean); - function GetIVAValue: Float; - procedure SetIVAValue(const aValue: Float); - function GetIVAIsNull: Boolean; - procedure SetIVAIsNull(const aValue: Boolean); - - - { Properties } - property ID: Integer read GetIDValue write SetIDValue; - property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull; - property NIF_CIF: String read GetNIF_CIFValue write SetNIF_CIFValue; - property NIF_CIFIsNull: Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull; - property NOMBRE: String read GetNOMBREValue write SetNOMBREValue; - property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull; - property RAZON_SOCIAL: String read GetRAZON_SOCIALValue write SetRAZON_SOCIALValue; - property RAZON_SOCIALIsNull: Boolean read GetRAZON_SOCIALIsNull write SetRAZON_SOCIALIsNull; - property CALLE: String read GetCALLEValue write SetCALLEValue; - property CALLEIsNull: Boolean read GetCALLEIsNull write SetCALLEIsNull; - property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue; - property POBLACIONIsNull: Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull; - property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue; - property PROVINCIAIsNull: Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull; - property CODIGO_POSTAL: String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue; - property CODIGO_POSTALIsNull: Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull; - property TELEFONO_1: String read GetTELEFONO_1Value write SetTELEFONO_1Value; - property TELEFONO_1IsNull: Boolean read GetTELEFONO_1IsNull write SetTELEFONO_1IsNull; - property TELEFONO_2: String read GetTELEFONO_2Value write SetTELEFONO_2Value; - property TELEFONO_2IsNull: Boolean read GetTELEFONO_2IsNull write SetTELEFONO_2IsNull; - property MOVIL_1: String read GetMOVIL_1Value write SetMOVIL_1Value; - property MOVIL_1IsNull: Boolean read GetMOVIL_1IsNull write SetMOVIL_1IsNull; - property MOVIL_2: String read GetMOVIL_2Value write SetMOVIL_2Value; - property MOVIL_2IsNull: Boolean read GetMOVIL_2IsNull write SetMOVIL_2IsNull; - property FAX: String read GetFAXValue write SetFAXValue; - property FAXIsNull: Boolean read GetFAXIsNull write SetFAXIsNull; - property EMAIL_1: String read GetEMAIL_1Value write SetEMAIL_1Value; - property EMAIL_1IsNull: Boolean read GetEMAIL_1IsNull write SetEMAIL_1IsNull; - property EMAIL_2: String read GetEMAIL_2Value write SetEMAIL_2Value; - property EMAIL_2IsNull: Boolean read GetEMAIL_2IsNull write SetEMAIL_2IsNull; - property PAGINA_WEB: String read GetPAGINA_WEBValue write SetPAGINA_WEBValue; - property PAGINA_WEBIsNull: Boolean read GetPAGINA_WEBIsNull write SetPAGINA_WEBIsNull; - property NOTAS: IROStrings read GetNOTASValue; - property NOTASIsNull: Boolean read GetNOTASIsNull write SetNOTASIsNull; - property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue; - property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull; - property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue; - property FECHA_MODIFICACIONIsNull: Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull; - property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue; - property USUARIOIsNull: Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull; - property LOGOTIPO: IROStream read GetLOGOTIPOValue; - property LOGOTIPOIsNull: Boolean read GetLOGOTIPOIsNull write SetLOGOTIPOIsNull; - property REGISTRO_MERCANTIL: String read GetREGISTRO_MERCANTILValue write SetREGISTRO_MERCANTILValue; - property REGISTRO_MERCANTILIsNull: Boolean read GetREGISTRO_MERCANTILIsNull write SetREGISTRO_MERCANTILIsNull; - property IVA: Float read GetIVAValue write SetIVAValue; - property IVAIsNull: Boolean read GetIVAIsNull write SetIVAIsNull; - end; - - { TCopy_of_EmpresasDataTableRules } - TCopy_of_EmpresasDataTableRules = class(TDADataTableRules, ICopy_of_Empresas) - private - f_NOTAS: IROStrings; - f_LOGOTIPO: IROStream; - procedure NOTAS_OnChange(Sender: TObject); - procedure LOGOTIPO_OnChange(Sender: TObject); - protected - { Property getters and setters } - function GetIDValue: Integer; virtual; - procedure SetIDValue(const aValue: Integer); virtual; - function GetIDIsNull: Boolean; virtual; - procedure SetIDIsNull(const aValue: Boolean); virtual; - function GetNIF_CIFValue: String; virtual; - procedure SetNIF_CIFValue(const aValue: String); virtual; - function GetNIF_CIFIsNull: Boolean; virtual; - procedure SetNIF_CIFIsNull(const aValue: Boolean); virtual; - function GetNOMBREValue: String; virtual; - procedure SetNOMBREValue(const aValue: String); virtual; - function GetNOMBREIsNull: Boolean; virtual; - procedure SetNOMBREIsNull(const aValue: Boolean); virtual; - function GetRAZON_SOCIALValue: String; virtual; - procedure SetRAZON_SOCIALValue(const aValue: String); virtual; - function GetRAZON_SOCIALIsNull: Boolean; virtual; - procedure SetRAZON_SOCIALIsNull(const aValue: Boolean); virtual; - function GetCALLEValue: String; virtual; - procedure SetCALLEValue(const aValue: String); virtual; - function GetCALLEIsNull: Boolean; virtual; - procedure SetCALLEIsNull(const aValue: Boolean); virtual; - function GetPOBLACIONValue: String; virtual; - procedure SetPOBLACIONValue(const aValue: String); virtual; - function GetPOBLACIONIsNull: Boolean; virtual; - procedure SetPOBLACIONIsNull(const aValue: Boolean); virtual; - function GetPROVINCIAValue: String; virtual; - procedure SetPROVINCIAValue(const aValue: String); virtual; - function GetPROVINCIAIsNull: Boolean; virtual; - procedure SetPROVINCIAIsNull(const aValue: Boolean); virtual; - function GetCODIGO_POSTALValue: String; virtual; - procedure SetCODIGO_POSTALValue(const aValue: String); virtual; - function GetCODIGO_POSTALIsNull: Boolean; virtual; - procedure SetCODIGO_POSTALIsNull(const aValue: Boolean); virtual; - function GetTELEFONO_1Value: String; virtual; - procedure SetTELEFONO_1Value(const aValue: String); virtual; - function GetTELEFONO_1IsNull: Boolean; virtual; - procedure SetTELEFONO_1IsNull(const aValue: Boolean); virtual; - function GetTELEFONO_2Value: String; virtual; - procedure SetTELEFONO_2Value(const aValue: String); virtual; - function GetTELEFONO_2IsNull: Boolean; virtual; - procedure SetTELEFONO_2IsNull(const aValue: Boolean); virtual; - function GetMOVIL_1Value: String; virtual; - procedure SetMOVIL_1Value(const aValue: String); virtual; - function GetMOVIL_1IsNull: Boolean; virtual; - procedure SetMOVIL_1IsNull(const aValue: Boolean); virtual; - function GetMOVIL_2Value: String; virtual; - procedure SetMOVIL_2Value(const aValue: String); virtual; - function GetMOVIL_2IsNull: Boolean; virtual; - procedure SetMOVIL_2IsNull(const aValue: Boolean); virtual; - function GetFAXValue: String; virtual; - procedure SetFAXValue(const aValue: String); virtual; - function GetFAXIsNull: Boolean; virtual; - procedure SetFAXIsNull(const aValue: Boolean); virtual; - function GetEMAIL_1Value: String; virtual; - procedure SetEMAIL_1Value(const aValue: String); virtual; - function GetEMAIL_1IsNull: Boolean; virtual; - procedure SetEMAIL_1IsNull(const aValue: Boolean); virtual; - function GetEMAIL_2Value: String; virtual; - procedure SetEMAIL_2Value(const aValue: String); virtual; - function GetEMAIL_2IsNull: Boolean; virtual; - procedure SetEMAIL_2IsNull(const aValue: Boolean); virtual; - function GetPAGINA_WEBValue: String; virtual; - procedure SetPAGINA_WEBValue(const aValue: String); virtual; - function GetPAGINA_WEBIsNull: Boolean; virtual; - procedure SetPAGINA_WEBIsNull(const aValue: Boolean); virtual; - function GetNOTASValue: IROStrings; virtual; - function GetNOTASIsNull: Boolean; virtual; - procedure SetNOTASIsNull(const aValue: Boolean); virtual; - function GetFECHA_ALTAValue: DateTime; virtual; - procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual; - function GetFECHA_ALTAIsNull: Boolean; virtual; - procedure SetFECHA_ALTAIsNull(const aValue: Boolean); virtual; - function GetFECHA_MODIFICACIONValue: DateTime; virtual; - procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual; - function GetFECHA_MODIFICACIONIsNull: Boolean; virtual; - procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); virtual; - function GetUSUARIOValue: String; virtual; - procedure SetUSUARIOValue(const aValue: String); virtual; - function GetUSUARIOIsNull: Boolean; virtual; - procedure SetUSUARIOIsNull(const aValue: Boolean); virtual; - function GetLOGOTIPOValue: IROStream; virtual; - function GetLOGOTIPOIsNull: Boolean; virtual; - procedure SetLOGOTIPOIsNull(const aValue: Boolean); virtual; - function GetREGISTRO_MERCANTILValue: String; virtual; - procedure SetREGISTRO_MERCANTILValue(const aValue: String); virtual; - function GetREGISTRO_MERCANTILIsNull: Boolean; virtual; - procedure SetREGISTRO_MERCANTILIsNull(const aValue: Boolean); virtual; - function GetIVAValue: Float; virtual; - procedure SetIVAValue(const aValue: Float); virtual; - function GetIVAIsNull: Boolean; virtual; - procedure SetIVAIsNull(const aValue: Boolean); virtual; - - { Properties } - property ID: Integer read GetIDValue write SetIDValue; - property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull; - property NIF_CIF: String read GetNIF_CIFValue write SetNIF_CIFValue; - property NIF_CIFIsNull: Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull; - property NOMBRE: String read GetNOMBREValue write SetNOMBREValue; - property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull; - property RAZON_SOCIAL: String read GetRAZON_SOCIALValue write SetRAZON_SOCIALValue; - property RAZON_SOCIALIsNull: Boolean read GetRAZON_SOCIALIsNull write SetRAZON_SOCIALIsNull; - property CALLE: String read GetCALLEValue write SetCALLEValue; - property CALLEIsNull: Boolean read GetCALLEIsNull write SetCALLEIsNull; - property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue; - property POBLACIONIsNull: Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull; - property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue; - property PROVINCIAIsNull: Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull; - property CODIGO_POSTAL: String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue; - property CODIGO_POSTALIsNull: Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull; - property TELEFONO_1: String read GetTELEFONO_1Value write SetTELEFONO_1Value; - property TELEFONO_1IsNull: Boolean read GetTELEFONO_1IsNull write SetTELEFONO_1IsNull; - property TELEFONO_2: String read GetTELEFONO_2Value write SetTELEFONO_2Value; - property TELEFONO_2IsNull: Boolean read GetTELEFONO_2IsNull write SetTELEFONO_2IsNull; - property MOVIL_1: String read GetMOVIL_1Value write SetMOVIL_1Value; - property MOVIL_1IsNull: Boolean read GetMOVIL_1IsNull write SetMOVIL_1IsNull; - property MOVIL_2: String read GetMOVIL_2Value write SetMOVIL_2Value; - property MOVIL_2IsNull: Boolean read GetMOVIL_2IsNull write SetMOVIL_2IsNull; - property FAX: String read GetFAXValue write SetFAXValue; - property FAXIsNull: Boolean read GetFAXIsNull write SetFAXIsNull; - property EMAIL_1: String read GetEMAIL_1Value write SetEMAIL_1Value; - property EMAIL_1IsNull: Boolean read GetEMAIL_1IsNull write SetEMAIL_1IsNull; - property EMAIL_2: String read GetEMAIL_2Value write SetEMAIL_2Value; - property EMAIL_2IsNull: Boolean read GetEMAIL_2IsNull write SetEMAIL_2IsNull; - property PAGINA_WEB: String read GetPAGINA_WEBValue write SetPAGINA_WEBValue; - property PAGINA_WEBIsNull: Boolean read GetPAGINA_WEBIsNull write SetPAGINA_WEBIsNull; - property NOTAS: IROStrings read GetNOTASValue; - property NOTASIsNull: Boolean read GetNOTASIsNull write SetNOTASIsNull; - property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue; - property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull; - property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue; - property FECHA_MODIFICACIONIsNull: Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull; - property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue; - property USUARIOIsNull: Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull; - property LOGOTIPO: IROStream read GetLOGOTIPOValue; - property LOGOTIPOIsNull: Boolean read GetLOGOTIPOIsNull write SetLOGOTIPOIsNull; - property REGISTRO_MERCANTIL: String read GetREGISTRO_MERCANTILValue write SetREGISTRO_MERCANTILValue; - property REGISTRO_MERCANTILIsNull: Boolean read GetREGISTRO_MERCANTILIsNull write SetREGISTRO_MERCANTILIsNull; - property IVA: Float read GetIVAValue write SetIVAValue; - property IVAIsNull: Boolean read GetIVAIsNull write SetIVAIsNull; - - public - constructor Create(aDataTable: TDADataTable); override; - destructor Destroy; override; - - end; - - { ICopy_of_EmpresasDatosBanco } - ICopy_of_EmpresasDatosBanco = interface(IDAStronglyTypedDataTable) - ['{AAAC554F-1FEF-4B4B-8190-869CD2350106}'] - { Property getters and setters } - function GetIDValue: Integer; - procedure SetIDValue(const aValue: Integer); - function GetIDIsNull: Boolean; - procedure SetIDIsNull(const aValue: Boolean); - function GetID_EMPRESAValue: Integer; - procedure SetID_EMPRESAValue(const aValue: Integer); - function GetID_EMPRESAIsNull: Boolean; - procedure SetID_EMPRESAIsNull(const aValue: Boolean); - function GetNOMBREValue: String; - procedure SetNOMBREValue(const aValue: String); - function GetNOMBREIsNull: Boolean; - procedure SetNOMBREIsNull(const aValue: Boolean); - function GetENTIDADValue: String; - procedure SetENTIDADValue(const aValue: String); - function GetENTIDADIsNull: Boolean; - procedure SetENTIDADIsNull(const aValue: Boolean); - function GetSUCURSALValue: String; - procedure SetSUCURSALValue(const aValue: String); - function GetSUCURSALIsNull: Boolean; - procedure SetSUCURSALIsNull(const aValue: Boolean); - function GetDCValue: String; - procedure SetDCValue(const aValue: String); - function GetDCIsNull: Boolean; - procedure SetDCIsNull(const aValue: Boolean); - function GetCUENTAValue: String; - procedure SetCUENTAValue(const aValue: String); - function GetCUENTAIsNull: Boolean; - procedure SetCUENTAIsNull(const aValue: Boolean); - function GetSUFIJO_N19Value: String; - procedure SetSUFIJO_N19Value(const aValue: String); - function GetSUFIJO_N19IsNull: Boolean; - procedure SetSUFIJO_N19IsNull(const aValue: Boolean); - function GetSUFIJO_N58Value: String; - procedure SetSUFIJO_N58Value(const aValue: String); - function GetSUFIJO_N58IsNull: Boolean; - procedure SetSUFIJO_N58IsNull(const aValue: Boolean); - - - { Properties } - property ID: Integer read GetIDValue write SetIDValue; - property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull; - property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue; - property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull; - property NOMBRE: String read GetNOMBREValue write SetNOMBREValue; - property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull; - property ENTIDAD: String read GetENTIDADValue write SetENTIDADValue; - property ENTIDADIsNull: Boolean read GetENTIDADIsNull write SetENTIDADIsNull; - property SUCURSAL: String read GetSUCURSALValue write SetSUCURSALValue; - property SUCURSALIsNull: Boolean read GetSUCURSALIsNull write SetSUCURSALIsNull; - property DC: String read GetDCValue write SetDCValue; - property DCIsNull: Boolean read GetDCIsNull write SetDCIsNull; - property CUENTA: String read GetCUENTAValue write SetCUENTAValue; - property CUENTAIsNull: Boolean read GetCUENTAIsNull write SetCUENTAIsNull; - property SUFIJO_N19: String read GetSUFIJO_N19Value write SetSUFIJO_N19Value; - property SUFIJO_N19IsNull: Boolean read GetSUFIJO_N19IsNull write SetSUFIJO_N19IsNull; - property SUFIJO_N58: String read GetSUFIJO_N58Value write SetSUFIJO_N58Value; - property SUFIJO_N58IsNull: Boolean read GetSUFIJO_N58IsNull write SetSUFIJO_N58IsNull; - end; - - { TCopy_of_EmpresasDatosBancoDataTableRules } - TCopy_of_EmpresasDatosBancoDataTableRules = class(TDADataTableRules, ICopy_of_EmpresasDatosBanco) - private - protected - { Property getters and setters } - function GetIDValue: Integer; virtual; - procedure SetIDValue(const aValue: Integer); virtual; - function GetIDIsNull: Boolean; virtual; - procedure SetIDIsNull(const aValue: Boolean); virtual; - function GetID_EMPRESAValue: Integer; virtual; - procedure SetID_EMPRESAValue(const aValue: Integer); virtual; - function GetID_EMPRESAIsNull: Boolean; virtual; - procedure SetID_EMPRESAIsNull(const aValue: Boolean); virtual; - function GetNOMBREValue: String; virtual; - procedure SetNOMBREValue(const aValue: String); virtual; - function GetNOMBREIsNull: Boolean; virtual; - procedure SetNOMBREIsNull(const aValue: Boolean); virtual; - function GetENTIDADValue: String; virtual; - procedure SetENTIDADValue(const aValue: String); virtual; - function GetENTIDADIsNull: Boolean; virtual; - procedure SetENTIDADIsNull(const aValue: Boolean); virtual; - function GetSUCURSALValue: String; virtual; - procedure SetSUCURSALValue(const aValue: String); virtual; - function GetSUCURSALIsNull: Boolean; virtual; - procedure SetSUCURSALIsNull(const aValue: Boolean); virtual; - function GetDCValue: String; virtual; - procedure SetDCValue(const aValue: String); virtual; - function GetDCIsNull: Boolean; virtual; - procedure SetDCIsNull(const aValue: Boolean); virtual; - function GetCUENTAValue: String; virtual; - procedure SetCUENTAValue(const aValue: String); virtual; - function GetCUENTAIsNull: Boolean; virtual; - procedure SetCUENTAIsNull(const aValue: Boolean); virtual; - function GetSUFIJO_N19Value: String; virtual; - procedure SetSUFIJO_N19Value(const aValue: String); virtual; - function GetSUFIJO_N19IsNull: Boolean; virtual; - procedure SetSUFIJO_N19IsNull(const aValue: Boolean); virtual; - function GetSUFIJO_N58Value: String; virtual; - procedure SetSUFIJO_N58Value(const aValue: String); virtual; - function GetSUFIJO_N58IsNull: Boolean; virtual; - procedure SetSUFIJO_N58IsNull(const aValue: Boolean); virtual; - - { Properties } - property ID: Integer read GetIDValue write SetIDValue; - property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull; - property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue; - property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull; - property NOMBRE: String read GetNOMBREValue write SetNOMBREValue; - property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull; - property ENTIDAD: String read GetENTIDADValue write SetENTIDADValue; - property ENTIDADIsNull: Boolean read GetENTIDADIsNull write SetENTIDADIsNull; - property SUCURSAL: String read GetSUCURSALValue write SetSUCURSALValue; - property SUCURSALIsNull: Boolean read GetSUCURSALIsNull write SetSUCURSALIsNull; - property DC: String read GetDCValue write SetDCValue; - property DCIsNull: Boolean read GetDCIsNull write SetDCIsNull; - property CUENTA: String read GetCUENTAValue write SetCUENTAValue; - property CUENTAIsNull: Boolean read GetCUENTAIsNull write SetCUENTAIsNull; - property SUFIJO_N19: String read GetSUFIJO_N19Value write SetSUFIJO_N19Value; - property SUFIJO_N19IsNull: Boolean read GetSUFIJO_N19IsNull write SetSUFIJO_N19IsNull; - property SUFIJO_N58: String read GetSUFIJO_N58Value write SetSUFIJO_N58Value; - property SUFIJO_N58IsNull: Boolean read GetSUFIJO_N58IsNull write SetSUFIJO_N58IsNull; - - public - constructor Create(aDataTable: TDADataTable); override; - destructor Destroy; override; - - end; - implementation uses Variants, uROBinaryHelpers; @@ -1742,723 +1236,8 @@ begin end; -{ TCopy_of_EmpresasDataTableRules } -constructor TCopy_of_EmpresasDataTableRules.Create(aDataTable: TDADataTable); -var - StrList: TStringList; - ROStream: TROStream; -begin - inherited; - - StrList := TStringList.Create; - StrList.OnChange := NOTAS_OnChange; - f_NOTAS := NewROStrings(StrList,True); - - ROStream := TROStream.Create; - ROStream.OnChange := LOGOTIPO_OnChange; - f_LOGOTIPO := ROStream; -end; - -destructor TCopy_of_EmpresasDataTableRules.Destroy; -begin - inherited; -end; - -procedure TCopy_of_EmpresasDataTableRules.NOTAS_OnChange(Sender: TObject); -begin - if DataTable.Editing then DataTable.Fields[idx_Copy_of_EmpresasNOTAS].AsVariant := TStringList(Sender).Text; -end; - -procedure TCopy_of_EmpresasDataTableRules.LOGOTIPO_OnChange(Sender: TObject); -begin - if DataTable.Editing then DataTable.Fields[idx_Copy_of_EmpresasLOGOTIPO].LoadFromStream(TROStream(Sender)); -end; - -function TCopy_of_EmpresasDataTableRules.GetIDValue: Integer; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasID].AsInteger; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetIDValue(const aValue: Integer); -begin - DataTable.Fields[idx_Copy_of_EmpresasID].AsInteger := aValue; -end; - -function TCopy_of_EmpresasDataTableRules.GetIDIsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasID].IsNull; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetIDIsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasID].AsVariant := Null; -end; - -function TCopy_of_EmpresasDataTableRules.GetNIF_CIFValue: String; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasNIF_CIF].AsString; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetNIF_CIFValue(const aValue: String); -begin - DataTable.Fields[idx_Copy_of_EmpresasNIF_CIF].AsString := aValue; -end; - -function TCopy_of_EmpresasDataTableRules.GetNIF_CIFIsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasNIF_CIF].IsNull; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetNIF_CIFIsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasNIF_CIF].AsVariant := Null; -end; - -function TCopy_of_EmpresasDataTableRules.GetNOMBREValue: String; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasNOMBRE].AsString; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetNOMBREValue(const aValue: String); -begin - DataTable.Fields[idx_Copy_of_EmpresasNOMBRE].AsString := aValue; -end; - -function TCopy_of_EmpresasDataTableRules.GetNOMBREIsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasNOMBRE].IsNull; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetNOMBREIsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasNOMBRE].AsVariant := Null; -end; - -function TCopy_of_EmpresasDataTableRules.GetRAZON_SOCIALValue: String; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasRAZON_SOCIAL].AsString; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetRAZON_SOCIALValue(const aValue: String); -begin - DataTable.Fields[idx_Copy_of_EmpresasRAZON_SOCIAL].AsString := aValue; -end; - -function TCopy_of_EmpresasDataTableRules.GetRAZON_SOCIALIsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasRAZON_SOCIAL].IsNull; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetRAZON_SOCIALIsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasRAZON_SOCIAL].AsVariant := Null; -end; - -function TCopy_of_EmpresasDataTableRules.GetCALLEValue: String; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasCALLE].AsString; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetCALLEValue(const aValue: String); -begin - DataTable.Fields[idx_Copy_of_EmpresasCALLE].AsString := aValue; -end; - -function TCopy_of_EmpresasDataTableRules.GetCALLEIsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasCALLE].IsNull; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetCALLEIsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasCALLE].AsVariant := Null; -end; - -function TCopy_of_EmpresasDataTableRules.GetPOBLACIONValue: String; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasPOBLACION].AsString; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetPOBLACIONValue(const aValue: String); -begin - DataTable.Fields[idx_Copy_of_EmpresasPOBLACION].AsString := aValue; -end; - -function TCopy_of_EmpresasDataTableRules.GetPOBLACIONIsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasPOBLACION].IsNull; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetPOBLACIONIsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasPOBLACION].AsVariant := Null; -end; - -function TCopy_of_EmpresasDataTableRules.GetPROVINCIAValue: String; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasPROVINCIA].AsString; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetPROVINCIAValue(const aValue: String); -begin - DataTable.Fields[idx_Copy_of_EmpresasPROVINCIA].AsString := aValue; -end; - -function TCopy_of_EmpresasDataTableRules.GetPROVINCIAIsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasPROVINCIA].IsNull; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetPROVINCIAIsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasPROVINCIA].AsVariant := Null; -end; - -function TCopy_of_EmpresasDataTableRules.GetCODIGO_POSTALValue: String; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasCODIGO_POSTAL].AsString; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetCODIGO_POSTALValue(const aValue: String); -begin - DataTable.Fields[idx_Copy_of_EmpresasCODIGO_POSTAL].AsString := aValue; -end; - -function TCopy_of_EmpresasDataTableRules.GetCODIGO_POSTALIsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasCODIGO_POSTAL].IsNull; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetCODIGO_POSTALIsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasCODIGO_POSTAL].AsVariant := Null; -end; - -function TCopy_of_EmpresasDataTableRules.GetTELEFONO_1Value: String; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasTELEFONO_1].AsString; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetTELEFONO_1Value(const aValue: String); -begin - DataTable.Fields[idx_Copy_of_EmpresasTELEFONO_1].AsString := aValue; -end; - -function TCopy_of_EmpresasDataTableRules.GetTELEFONO_1IsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasTELEFONO_1].IsNull; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetTELEFONO_1IsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasTELEFONO_1].AsVariant := Null; -end; - -function TCopy_of_EmpresasDataTableRules.GetTELEFONO_2Value: String; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasTELEFONO_2].AsString; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetTELEFONO_2Value(const aValue: String); -begin - DataTable.Fields[idx_Copy_of_EmpresasTELEFONO_2].AsString := aValue; -end; - -function TCopy_of_EmpresasDataTableRules.GetTELEFONO_2IsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasTELEFONO_2].IsNull; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetTELEFONO_2IsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasTELEFONO_2].AsVariant := Null; -end; - -function TCopy_of_EmpresasDataTableRules.GetMOVIL_1Value: String; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasMOVIL_1].AsString; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetMOVIL_1Value(const aValue: String); -begin - DataTable.Fields[idx_Copy_of_EmpresasMOVIL_1].AsString := aValue; -end; - -function TCopy_of_EmpresasDataTableRules.GetMOVIL_1IsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasMOVIL_1].IsNull; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetMOVIL_1IsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasMOVIL_1].AsVariant := Null; -end; - -function TCopy_of_EmpresasDataTableRules.GetMOVIL_2Value: String; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasMOVIL_2].AsString; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetMOVIL_2Value(const aValue: String); -begin - DataTable.Fields[idx_Copy_of_EmpresasMOVIL_2].AsString := aValue; -end; - -function TCopy_of_EmpresasDataTableRules.GetMOVIL_2IsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasMOVIL_2].IsNull; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetMOVIL_2IsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasMOVIL_2].AsVariant := Null; -end; - -function TCopy_of_EmpresasDataTableRules.GetFAXValue: String; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasFAX].AsString; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetFAXValue(const aValue: String); -begin - DataTable.Fields[idx_Copy_of_EmpresasFAX].AsString := aValue; -end; - -function TCopy_of_EmpresasDataTableRules.GetFAXIsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasFAX].IsNull; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetFAXIsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasFAX].AsVariant := Null; -end; - -function TCopy_of_EmpresasDataTableRules.GetEMAIL_1Value: String; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasEMAIL_1].AsString; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetEMAIL_1Value(const aValue: String); -begin - DataTable.Fields[idx_Copy_of_EmpresasEMAIL_1].AsString := aValue; -end; - -function TCopy_of_EmpresasDataTableRules.GetEMAIL_1IsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasEMAIL_1].IsNull; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetEMAIL_1IsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasEMAIL_1].AsVariant := Null; -end; - -function TCopy_of_EmpresasDataTableRules.GetEMAIL_2Value: String; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasEMAIL_2].AsString; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetEMAIL_2Value(const aValue: String); -begin - DataTable.Fields[idx_Copy_of_EmpresasEMAIL_2].AsString := aValue; -end; - -function TCopy_of_EmpresasDataTableRules.GetEMAIL_2IsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasEMAIL_2].IsNull; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetEMAIL_2IsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasEMAIL_2].AsVariant := Null; -end; - -function TCopy_of_EmpresasDataTableRules.GetPAGINA_WEBValue: String; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasPAGINA_WEB].AsString; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetPAGINA_WEBValue(const aValue: String); -begin - DataTable.Fields[idx_Copy_of_EmpresasPAGINA_WEB].AsString := aValue; -end; - -function TCopy_of_EmpresasDataTableRules.GetPAGINA_WEBIsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasPAGINA_WEB].IsNull; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetPAGINA_WEBIsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasPAGINA_WEB].AsVariant := Null; -end; - -function TCopy_of_EmpresasDataTableRules.GetNOTASValue: IROStrings; -begin - result := f_NOTAS; - result.Text := DataTable.Fields[idx_Copy_of_EmpresasNOTAS].AsString; -end; - -function TCopy_of_EmpresasDataTableRules.GetNOTASIsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasNOTAS].IsNull; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetNOTASIsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasNOTAS].AsVariant := Null; -end; - -function TCopy_of_EmpresasDataTableRules.GetFECHA_ALTAValue: DateTime; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasFECHA_ALTA].AsDateTime; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetFECHA_ALTAValue(const aValue: DateTime); -begin - DataTable.Fields[idx_Copy_of_EmpresasFECHA_ALTA].AsDateTime := aValue; -end; - -function TCopy_of_EmpresasDataTableRules.GetFECHA_ALTAIsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasFECHA_ALTA].IsNull; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetFECHA_ALTAIsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasFECHA_ALTA].AsVariant := Null; -end; - -function TCopy_of_EmpresasDataTableRules.GetFECHA_MODIFICACIONValue: DateTime; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasFECHA_MODIFICACION].AsDateTime; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetFECHA_MODIFICACIONValue(const aValue: DateTime); -begin - DataTable.Fields[idx_Copy_of_EmpresasFECHA_MODIFICACION].AsDateTime := aValue; -end; - -function TCopy_of_EmpresasDataTableRules.GetFECHA_MODIFICACIONIsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasFECHA_MODIFICACION].IsNull; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasFECHA_MODIFICACION].AsVariant := Null; -end; - -function TCopy_of_EmpresasDataTableRules.GetUSUARIOValue: String; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasUSUARIO].AsString; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetUSUARIOValue(const aValue: String); -begin - DataTable.Fields[idx_Copy_of_EmpresasUSUARIO].AsString := aValue; -end; - -function TCopy_of_EmpresasDataTableRules.GetUSUARIOIsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasUSUARIO].IsNull; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetUSUARIOIsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasUSUARIO].AsVariant := Null; -end; - -function TCopy_of_EmpresasDataTableRules.GetLOGOTIPOValue: IROStream; -begin - result := f_LOGOTIPO; - result.Position := 0; - if not Result.InUpdateMode then begin - DataTable.Fields[idx_Copy_of_EmpresasLOGOTIPO].SaveToStream(result); - result.Position := 0; - end; -end; - -function TCopy_of_EmpresasDataTableRules.GetLOGOTIPOIsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasLOGOTIPO].IsNull; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetLOGOTIPOIsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasLOGOTIPO].AsVariant := Null; -end; - -function TCopy_of_EmpresasDataTableRules.GetREGISTRO_MERCANTILValue: String; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasREGISTRO_MERCANTIL].AsString; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetREGISTRO_MERCANTILValue(const aValue: String); -begin - DataTable.Fields[idx_Copy_of_EmpresasREGISTRO_MERCANTIL].AsString := aValue; -end; - -function TCopy_of_EmpresasDataTableRules.GetREGISTRO_MERCANTILIsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasREGISTRO_MERCANTIL].IsNull; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetREGISTRO_MERCANTILIsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasREGISTRO_MERCANTIL].AsVariant := Null; -end; - -function TCopy_of_EmpresasDataTableRules.GetIVAValue: Float; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasIVA].AsFloat; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetIVAValue(const aValue: Float); -begin - DataTable.Fields[idx_Copy_of_EmpresasIVA].AsFloat := aValue; -end; - -function TCopy_of_EmpresasDataTableRules.GetIVAIsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasIVA].IsNull; -end; - -procedure TCopy_of_EmpresasDataTableRules.SetIVAIsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasIVA].AsVariant := Null; -end; - - -{ TCopy_of_EmpresasDatosBancoDataTableRules } -constructor TCopy_of_EmpresasDatosBancoDataTableRules.Create(aDataTable: TDADataTable); -begin - inherited; -end; - -destructor TCopy_of_EmpresasDatosBancoDataTableRules.Destroy; -begin - inherited; -end; - -function TCopy_of_EmpresasDatosBancoDataTableRules.GetIDValue: Integer; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasDatosBancoID].AsInteger; -end; - -procedure TCopy_of_EmpresasDatosBancoDataTableRules.SetIDValue(const aValue: Integer); -begin - DataTable.Fields[idx_Copy_of_EmpresasDatosBancoID].AsInteger := aValue; -end; - -function TCopy_of_EmpresasDatosBancoDataTableRules.GetIDIsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasDatosBancoID].IsNull; -end; - -procedure TCopy_of_EmpresasDatosBancoDataTableRules.SetIDIsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasDatosBancoID].AsVariant := Null; -end; - -function TCopy_of_EmpresasDatosBancoDataTableRules.GetID_EMPRESAValue: Integer; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasDatosBancoID_EMPRESA].AsInteger; -end; - -procedure TCopy_of_EmpresasDatosBancoDataTableRules.SetID_EMPRESAValue(const aValue: Integer); -begin - DataTable.Fields[idx_Copy_of_EmpresasDatosBancoID_EMPRESA].AsInteger := aValue; -end; - -function TCopy_of_EmpresasDatosBancoDataTableRules.GetID_EMPRESAIsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasDatosBancoID_EMPRESA].IsNull; -end; - -procedure TCopy_of_EmpresasDatosBancoDataTableRules.SetID_EMPRESAIsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasDatosBancoID_EMPRESA].AsVariant := Null; -end; - -function TCopy_of_EmpresasDatosBancoDataTableRules.GetNOMBREValue: String; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasDatosBancoNOMBRE].AsString; -end; - -procedure TCopy_of_EmpresasDatosBancoDataTableRules.SetNOMBREValue(const aValue: String); -begin - DataTable.Fields[idx_Copy_of_EmpresasDatosBancoNOMBRE].AsString := aValue; -end; - -function TCopy_of_EmpresasDatosBancoDataTableRules.GetNOMBREIsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasDatosBancoNOMBRE].IsNull; -end; - -procedure TCopy_of_EmpresasDatosBancoDataTableRules.SetNOMBREIsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasDatosBancoNOMBRE].AsVariant := Null; -end; - -function TCopy_of_EmpresasDatosBancoDataTableRules.GetENTIDADValue: String; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasDatosBancoENTIDAD].AsString; -end; - -procedure TCopy_of_EmpresasDatosBancoDataTableRules.SetENTIDADValue(const aValue: String); -begin - DataTable.Fields[idx_Copy_of_EmpresasDatosBancoENTIDAD].AsString := aValue; -end; - -function TCopy_of_EmpresasDatosBancoDataTableRules.GetENTIDADIsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasDatosBancoENTIDAD].IsNull; -end; - -procedure TCopy_of_EmpresasDatosBancoDataTableRules.SetENTIDADIsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasDatosBancoENTIDAD].AsVariant := Null; -end; - -function TCopy_of_EmpresasDatosBancoDataTableRules.GetSUCURSALValue: String; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasDatosBancoSUCURSAL].AsString; -end; - -procedure TCopy_of_EmpresasDatosBancoDataTableRules.SetSUCURSALValue(const aValue: String); -begin - DataTable.Fields[idx_Copy_of_EmpresasDatosBancoSUCURSAL].AsString := aValue; -end; - -function TCopy_of_EmpresasDatosBancoDataTableRules.GetSUCURSALIsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasDatosBancoSUCURSAL].IsNull; -end; - -procedure TCopy_of_EmpresasDatosBancoDataTableRules.SetSUCURSALIsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasDatosBancoSUCURSAL].AsVariant := Null; -end; - -function TCopy_of_EmpresasDatosBancoDataTableRules.GetDCValue: String; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasDatosBancoDC].AsString; -end; - -procedure TCopy_of_EmpresasDatosBancoDataTableRules.SetDCValue(const aValue: String); -begin - DataTable.Fields[idx_Copy_of_EmpresasDatosBancoDC].AsString := aValue; -end; - -function TCopy_of_EmpresasDatosBancoDataTableRules.GetDCIsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasDatosBancoDC].IsNull; -end; - -procedure TCopy_of_EmpresasDatosBancoDataTableRules.SetDCIsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasDatosBancoDC].AsVariant := Null; -end; - -function TCopy_of_EmpresasDatosBancoDataTableRules.GetCUENTAValue: String; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasDatosBancoCUENTA].AsString; -end; - -procedure TCopy_of_EmpresasDatosBancoDataTableRules.SetCUENTAValue(const aValue: String); -begin - DataTable.Fields[idx_Copy_of_EmpresasDatosBancoCUENTA].AsString := aValue; -end; - -function TCopy_of_EmpresasDatosBancoDataTableRules.GetCUENTAIsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasDatosBancoCUENTA].IsNull; -end; - -procedure TCopy_of_EmpresasDatosBancoDataTableRules.SetCUENTAIsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasDatosBancoCUENTA].AsVariant := Null; -end; - -function TCopy_of_EmpresasDatosBancoDataTableRules.GetSUFIJO_N19Value: String; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasDatosBancoSUFIJO_N19].AsString; -end; - -procedure TCopy_of_EmpresasDatosBancoDataTableRules.SetSUFIJO_N19Value(const aValue: String); -begin - DataTable.Fields[idx_Copy_of_EmpresasDatosBancoSUFIJO_N19].AsString := aValue; -end; - -function TCopy_of_EmpresasDatosBancoDataTableRules.GetSUFIJO_N19IsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasDatosBancoSUFIJO_N19].IsNull; -end; - -procedure TCopy_of_EmpresasDatosBancoDataTableRules.SetSUFIJO_N19IsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasDatosBancoSUFIJO_N19].AsVariant := Null; -end; - -function TCopy_of_EmpresasDatosBancoDataTableRules.GetSUFIJO_N58Value: String; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasDatosBancoSUFIJO_N58].AsString; -end; - -procedure TCopy_of_EmpresasDatosBancoDataTableRules.SetSUFIJO_N58Value(const aValue: String); -begin - DataTable.Fields[idx_Copy_of_EmpresasDatosBancoSUFIJO_N58].AsString := aValue; -end; - -function TCopy_of_EmpresasDatosBancoDataTableRules.GetSUFIJO_N58IsNull: boolean; -begin - result := DataTable.Fields[idx_Copy_of_EmpresasDatosBancoSUFIJO_N58].IsNull; -end; - -procedure TCopy_of_EmpresasDatosBancoDataTableRules.SetSUFIJO_N58IsNull(const aValue: Boolean); -begin - if aValue then - DataTable.Fields[idx_Copy_of_EmpresasDatosBancoSUFIJO_N58].AsVariant := Null; -end; - - initialization RegisterDataTableRules(RID_Empresas, TEmpresasDataTableRules); RegisterDataTableRules(RID_EmpresasDatosBanco, TEmpresasDatosBancoDataTableRules); - RegisterDataTableRules(RID_Copy_of_Empresas, TCopy_of_EmpresasDataTableRules); - RegisterDataTableRules(RID_Copy_of_EmpresasDatosBanco, TCopy_of_EmpresasDatosBancoDataTableRules); end. diff --git a/Source/Modulos/Empresas/Model/schEmpresasServer_Intf.pas b/Source/Modulos/Empresas/Model/schEmpresasServer_Intf.pas index e30b83d9..6f076fb5 100644 --- a/Source/Modulos/Empresas/Model/schEmpresasServer_Intf.pas +++ b/Source/Modulos/Empresas/Model/schEmpresasServer_Intf.pas @@ -9,15 +9,13 @@ const { Delta rules ids Feel free to change them to something more human readable but make sure they are unique in the context of your application } - RID_EmpresasDelta = '{1C8B2497-5495-4C45-8415-A71E9CA91FEC}'; - RID_EmpresasDatosBancoDelta = '{28F19E2B-A62A-4BFE-B8FE-DE3C83F99FD1}'; - RID_Copy_of_EmpresasDelta = '{56BEAD80-66D6-4FD8-91A3-5675EE00E943}'; - RID_Copy_of_EmpresasDatosBancoDelta = '{9C867B3F-96A6-4EE7-A2AA-622ABD88B279}'; + RID_EmpresasDelta = '{AA5637FC-EFD6-42DE-BDA1-C31464CB14D3}'; + RID_EmpresasDatosBancoDelta = '{9C692459-7C4C-4403-8747-2D651CC6D3A2}'; type { IEmpresasDelta } IEmpresasDelta = interface(IEmpresas) - ['{1C8B2497-5495-4C45-8415-A71E9CA91FEC}'] + ['{AA5637FC-EFD6-42DE-BDA1-C31464CB14D3}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldNIF_CIFValue : String; @@ -317,7 +315,7 @@ type { IEmpresasDatosBancoDelta } IEmpresasDatosBancoDelta = interface(IEmpresasDatosBanco) - ['{28F19E2B-A62A-4BFE-B8FE-DE3C83F99FD1}'] + ['{9C692459-7C4C-4403-8747-2D651CC6D3A2}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_EMPRESAValue : Integer; @@ -445,436 +443,6 @@ type end; - { ICopy_of_EmpresasDelta } - ICopy_of_EmpresasDelta = interface(ICopy_of_Empresas) - ['{56BEAD80-66D6-4FD8-91A3-5675EE00E943}'] - { Property getters and setters } - function GetOldIDValue : Integer; - function GetOldNIF_CIFValue : String; - function GetOldNOMBREValue : String; - function GetOldRAZON_SOCIALValue : String; - function GetOldCALLEValue : String; - function GetOldPOBLACIONValue : String; - function GetOldPROVINCIAValue : String; - function GetOldCODIGO_POSTALValue : String; - function GetOldTELEFONO_1Value : String; - function GetOldTELEFONO_2Value : String; - function GetOldMOVIL_1Value : String; - function GetOldMOVIL_2Value : String; - function GetOldFAXValue : String; - function GetOldEMAIL_1Value : String; - function GetOldEMAIL_2Value : String; - function GetOldPAGINA_WEBValue : String; - function GetOldNOTASValue : IROStrings; - function GetOldFECHA_ALTAValue : DateTime; - function GetOldFECHA_MODIFICACIONValue : DateTime; - function GetOldUSUARIOValue : String; - function GetOldLOGOTIPOValue : IROStream; - function GetOldREGISTRO_MERCANTILValue : String; - function GetOldIVAValue : Float; - - { Properties } - property OldID : Integer read GetOldIDValue; - property OldNIF_CIF : String read GetOldNIF_CIFValue; - property OldNOMBRE : String read GetOldNOMBREValue; - property OldRAZON_SOCIAL : String read GetOldRAZON_SOCIALValue; - property OldCALLE : String read GetOldCALLEValue; - property OldPOBLACION : String read GetOldPOBLACIONValue; - property OldPROVINCIA : String read GetOldPROVINCIAValue; - property OldCODIGO_POSTAL : String read GetOldCODIGO_POSTALValue; - property OldTELEFONO_1 : String read GetOldTELEFONO_1Value; - property OldTELEFONO_2 : String read GetOldTELEFONO_2Value; - property OldMOVIL_1 : String read GetOldMOVIL_1Value; - property OldMOVIL_2 : String read GetOldMOVIL_2Value; - property OldFAX : String read GetOldFAXValue; - property OldEMAIL_1 : String read GetOldEMAIL_1Value; - property OldEMAIL_2 : String read GetOldEMAIL_2Value; - property OldPAGINA_WEB : String read GetOldPAGINA_WEBValue; - property OldNOTAS : IROStrings read GetOldNOTASValue; - property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue; - property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue; - property OldUSUARIO : String read GetOldUSUARIOValue; - property OldLOGOTIPO : IROStream read GetOldLOGOTIPOValue; - property OldREGISTRO_MERCANTIL : String read GetOldREGISTRO_MERCANTILValue; - property OldIVA : Float read GetOldIVAValue; - end; - - { TCopy_of_EmpresasBusinessProcessorRules } - TCopy_of_EmpresasBusinessProcessorRules = class(TDABusinessProcessorRules, ICopy_of_Empresas, ICopy_of_EmpresasDelta) - private - f_NOTAS: IROStrings; - f_LOGOTIPO: IROStream; - procedure NOTAS_OnChange(Sender: TObject); - procedure LOGOTIPO_OnChange(Sender: Tobject); - protected - { Property getters and setters } - function GetIDValue: Integer; virtual; - function GetIDIsNull: Boolean; virtual; - function GetOldIDValue: Integer; virtual; - function GetOldIDIsNull: Boolean; virtual; - procedure SetIDValue(const aValue: Integer); virtual; - procedure SetIDIsNull(const aValue: Boolean); virtual; - function GetNIF_CIFValue: String; virtual; - function GetNIF_CIFIsNull: Boolean; virtual; - function GetOldNIF_CIFValue: String; virtual; - function GetOldNIF_CIFIsNull: Boolean; virtual; - procedure SetNIF_CIFValue(const aValue: String); virtual; - procedure SetNIF_CIFIsNull(const aValue: Boolean); virtual; - function GetNOMBREValue: String; virtual; - function GetNOMBREIsNull: Boolean; virtual; - function GetOldNOMBREValue: String; virtual; - function GetOldNOMBREIsNull: Boolean; virtual; - procedure SetNOMBREValue(const aValue: String); virtual; - procedure SetNOMBREIsNull(const aValue: Boolean); virtual; - function GetRAZON_SOCIALValue: String; virtual; - function GetRAZON_SOCIALIsNull: Boolean; virtual; - function GetOldRAZON_SOCIALValue: String; virtual; - function GetOldRAZON_SOCIALIsNull: Boolean; virtual; - procedure SetRAZON_SOCIALValue(const aValue: String); virtual; - procedure SetRAZON_SOCIALIsNull(const aValue: Boolean); virtual; - function GetCALLEValue: String; virtual; - function GetCALLEIsNull: Boolean; virtual; - function GetOldCALLEValue: String; virtual; - function GetOldCALLEIsNull: Boolean; virtual; - procedure SetCALLEValue(const aValue: String); virtual; - procedure SetCALLEIsNull(const aValue: Boolean); virtual; - function GetPOBLACIONValue: String; virtual; - function GetPOBLACIONIsNull: Boolean; virtual; - function GetOldPOBLACIONValue: String; virtual; - function GetOldPOBLACIONIsNull: Boolean; virtual; - procedure SetPOBLACIONValue(const aValue: String); virtual; - procedure SetPOBLACIONIsNull(const aValue: Boolean); virtual; - function GetPROVINCIAValue: String; virtual; - function GetPROVINCIAIsNull: Boolean; virtual; - function GetOldPROVINCIAValue: String; virtual; - function GetOldPROVINCIAIsNull: Boolean; virtual; - procedure SetPROVINCIAValue(const aValue: String); virtual; - procedure SetPROVINCIAIsNull(const aValue: Boolean); virtual; - function GetCODIGO_POSTALValue: String; virtual; - function GetCODIGO_POSTALIsNull: Boolean; virtual; - function GetOldCODIGO_POSTALValue: String; virtual; - function GetOldCODIGO_POSTALIsNull: Boolean; virtual; - procedure SetCODIGO_POSTALValue(const aValue: String); virtual; - procedure SetCODIGO_POSTALIsNull(const aValue: Boolean); virtual; - function GetTELEFONO_1Value: String; virtual; - function GetTELEFONO_1IsNull: Boolean; virtual; - function GetOldTELEFONO_1Value: String; virtual; - function GetOldTELEFONO_1IsNull: Boolean; virtual; - procedure SetTELEFONO_1Value(const aValue: String); virtual; - procedure SetTELEFONO_1IsNull(const aValue: Boolean); virtual; - function GetTELEFONO_2Value: String; virtual; - function GetTELEFONO_2IsNull: Boolean; virtual; - function GetOldTELEFONO_2Value: String; virtual; - function GetOldTELEFONO_2IsNull: Boolean; virtual; - procedure SetTELEFONO_2Value(const aValue: String); virtual; - procedure SetTELEFONO_2IsNull(const aValue: Boolean); virtual; - function GetMOVIL_1Value: String; virtual; - function GetMOVIL_1IsNull: Boolean; virtual; - function GetOldMOVIL_1Value: String; virtual; - function GetOldMOVIL_1IsNull: Boolean; virtual; - procedure SetMOVIL_1Value(const aValue: String); virtual; - procedure SetMOVIL_1IsNull(const aValue: Boolean); virtual; - function GetMOVIL_2Value: String; virtual; - function GetMOVIL_2IsNull: Boolean; virtual; - function GetOldMOVIL_2Value: String; virtual; - function GetOldMOVIL_2IsNull: Boolean; virtual; - procedure SetMOVIL_2Value(const aValue: String); virtual; - procedure SetMOVIL_2IsNull(const aValue: Boolean); virtual; - function GetFAXValue: String; virtual; - function GetFAXIsNull: Boolean; virtual; - function GetOldFAXValue: String; virtual; - function GetOldFAXIsNull: Boolean; virtual; - procedure SetFAXValue(const aValue: String); virtual; - procedure SetFAXIsNull(const aValue: Boolean); virtual; - function GetEMAIL_1Value: String; virtual; - function GetEMAIL_1IsNull: Boolean; virtual; - function GetOldEMAIL_1Value: String; virtual; - function GetOldEMAIL_1IsNull: Boolean; virtual; - procedure SetEMAIL_1Value(const aValue: String); virtual; - procedure SetEMAIL_1IsNull(const aValue: Boolean); virtual; - function GetEMAIL_2Value: String; virtual; - function GetEMAIL_2IsNull: Boolean; virtual; - function GetOldEMAIL_2Value: String; virtual; - function GetOldEMAIL_2IsNull: Boolean; virtual; - procedure SetEMAIL_2Value(const aValue: String); virtual; - procedure SetEMAIL_2IsNull(const aValue: Boolean); virtual; - function GetPAGINA_WEBValue: String; virtual; - function GetPAGINA_WEBIsNull: Boolean; virtual; - function GetOldPAGINA_WEBValue: String; virtual; - function GetOldPAGINA_WEBIsNull: Boolean; virtual; - procedure SetPAGINA_WEBValue(const aValue: String); virtual; - procedure SetPAGINA_WEBIsNull(const aValue: Boolean); virtual; - function GetNOTASValue: IROStrings; virtual; - function GetNOTASIsNull: Boolean; virtual; - function GetOldNOTASValue: IROStrings; virtual; - function GetOldNOTASIsNull: Boolean; virtual; - procedure SetNOTASIsNull(const aValue: Boolean); virtual; - function GetFECHA_ALTAValue: DateTime; virtual; - function GetFECHA_ALTAIsNull: Boolean; virtual; - function GetOldFECHA_ALTAValue: DateTime; virtual; - function GetOldFECHA_ALTAIsNull: Boolean; virtual; - procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual; - procedure SetFECHA_ALTAIsNull(const aValue: Boolean); virtual; - function GetFECHA_MODIFICACIONValue: DateTime; virtual; - function GetFECHA_MODIFICACIONIsNull: Boolean; virtual; - function GetOldFECHA_MODIFICACIONValue: DateTime; virtual; - function GetOldFECHA_MODIFICACIONIsNull: Boolean; virtual; - procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual; - procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); virtual; - function GetUSUARIOValue: String; virtual; - function GetUSUARIOIsNull: Boolean; virtual; - function GetOldUSUARIOValue: String; virtual; - function GetOldUSUARIOIsNull: Boolean; virtual; - procedure SetUSUARIOValue(const aValue: String); virtual; - procedure SetUSUARIOIsNull(const aValue: Boolean); virtual; - function GetLOGOTIPOValue: IROStream; virtual; - function GetLOGOTIPOIsNull: Boolean; virtual; - function GetOldLOGOTIPOValue: IROStream; virtual; - function GetOldLOGOTIPOIsNull: Boolean; virtual; - procedure SetLOGOTIPOIsNull(const aValue: Boolean); virtual; - function GetREGISTRO_MERCANTILValue: String; virtual; - function GetREGISTRO_MERCANTILIsNull: Boolean; virtual; - function GetOldREGISTRO_MERCANTILValue: String; virtual; - function GetOldREGISTRO_MERCANTILIsNull: Boolean; virtual; - procedure SetREGISTRO_MERCANTILValue(const aValue: String); virtual; - procedure SetREGISTRO_MERCANTILIsNull(const aValue: Boolean); virtual; - function GetIVAValue: Float; virtual; - function GetIVAIsNull: Boolean; virtual; - function GetOldIVAValue: Float; virtual; - function GetOldIVAIsNull: Boolean; virtual; - procedure SetIVAValue(const aValue: Float); virtual; - procedure SetIVAIsNull(const aValue: Boolean); virtual; - - { Properties } - property ID : Integer read GetIDValue write SetIDValue; - property IDIsNull : Boolean read GetIDIsNull write SetIDIsNull; - property OldID : Integer read GetOldIDValue; - property OldIDIsNull : Boolean read GetOldIDIsNull; - property NIF_CIF : String read GetNIF_CIFValue write SetNIF_CIFValue; - property NIF_CIFIsNull : Boolean read GetNIF_CIFIsNull write SetNIF_CIFIsNull; - property OldNIF_CIF : String read GetOldNIF_CIFValue; - property OldNIF_CIFIsNull : Boolean read GetOldNIF_CIFIsNull; - property NOMBRE : String read GetNOMBREValue write SetNOMBREValue; - property NOMBREIsNull : Boolean read GetNOMBREIsNull write SetNOMBREIsNull; - property OldNOMBRE : String read GetOldNOMBREValue; - property OldNOMBREIsNull : Boolean read GetOldNOMBREIsNull; - property RAZON_SOCIAL : String read GetRAZON_SOCIALValue write SetRAZON_SOCIALValue; - property RAZON_SOCIALIsNull : Boolean read GetRAZON_SOCIALIsNull write SetRAZON_SOCIALIsNull; - property OldRAZON_SOCIAL : String read GetOldRAZON_SOCIALValue; - property OldRAZON_SOCIALIsNull : Boolean read GetOldRAZON_SOCIALIsNull; - property CALLE : String read GetCALLEValue write SetCALLEValue; - property CALLEIsNull : Boolean read GetCALLEIsNull write SetCALLEIsNull; - property OldCALLE : String read GetOldCALLEValue; - property OldCALLEIsNull : Boolean read GetOldCALLEIsNull; - property POBLACION : String read GetPOBLACIONValue write SetPOBLACIONValue; - property POBLACIONIsNull : Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull; - property OldPOBLACION : String read GetOldPOBLACIONValue; - property OldPOBLACIONIsNull : Boolean read GetOldPOBLACIONIsNull; - property PROVINCIA : String read GetPROVINCIAValue write SetPROVINCIAValue; - property PROVINCIAIsNull : Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull; - property OldPROVINCIA : String read GetOldPROVINCIAValue; - property OldPROVINCIAIsNull : Boolean read GetOldPROVINCIAIsNull; - property CODIGO_POSTAL : String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue; - property CODIGO_POSTALIsNull : Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull; - property OldCODIGO_POSTAL : String read GetOldCODIGO_POSTALValue; - property OldCODIGO_POSTALIsNull : Boolean read GetOldCODIGO_POSTALIsNull; - property TELEFONO_1 : String read GetTELEFONO_1Value write SetTELEFONO_1Value; - property TELEFONO_1IsNull : Boolean read GetTELEFONO_1IsNull write SetTELEFONO_1IsNull; - property OldTELEFONO_1 : String read GetOldTELEFONO_1Value; - property OldTELEFONO_1IsNull : Boolean read GetOldTELEFONO_1IsNull; - property TELEFONO_2 : String read GetTELEFONO_2Value write SetTELEFONO_2Value; - property TELEFONO_2IsNull : Boolean read GetTELEFONO_2IsNull write SetTELEFONO_2IsNull; - property OldTELEFONO_2 : String read GetOldTELEFONO_2Value; - property OldTELEFONO_2IsNull : Boolean read GetOldTELEFONO_2IsNull; - property MOVIL_1 : String read GetMOVIL_1Value write SetMOVIL_1Value; - property MOVIL_1IsNull : Boolean read GetMOVIL_1IsNull write SetMOVIL_1IsNull; - property OldMOVIL_1 : String read GetOldMOVIL_1Value; - property OldMOVIL_1IsNull : Boolean read GetOldMOVIL_1IsNull; - property MOVIL_2 : String read GetMOVIL_2Value write SetMOVIL_2Value; - property MOVIL_2IsNull : Boolean read GetMOVIL_2IsNull write SetMOVIL_2IsNull; - property OldMOVIL_2 : String read GetOldMOVIL_2Value; - property OldMOVIL_2IsNull : Boolean read GetOldMOVIL_2IsNull; - property FAX : String read GetFAXValue write SetFAXValue; - property FAXIsNull : Boolean read GetFAXIsNull write SetFAXIsNull; - property OldFAX : String read GetOldFAXValue; - property OldFAXIsNull : Boolean read GetOldFAXIsNull; - property EMAIL_1 : String read GetEMAIL_1Value write SetEMAIL_1Value; - property EMAIL_1IsNull : Boolean read GetEMAIL_1IsNull write SetEMAIL_1IsNull; - property OldEMAIL_1 : String read GetOldEMAIL_1Value; - property OldEMAIL_1IsNull : Boolean read GetOldEMAIL_1IsNull; - property EMAIL_2 : String read GetEMAIL_2Value write SetEMAIL_2Value; - property EMAIL_2IsNull : Boolean read GetEMAIL_2IsNull write SetEMAIL_2IsNull; - property OldEMAIL_2 : String read GetOldEMAIL_2Value; - property OldEMAIL_2IsNull : Boolean read GetOldEMAIL_2IsNull; - property PAGINA_WEB : String read GetPAGINA_WEBValue write SetPAGINA_WEBValue; - property PAGINA_WEBIsNull : Boolean read GetPAGINA_WEBIsNull write SetPAGINA_WEBIsNull; - property OldPAGINA_WEB : String read GetOldPAGINA_WEBValue; - property OldPAGINA_WEBIsNull : Boolean read GetOldPAGINA_WEBIsNull; - property NOTAS : IROStrings read GetNOTASValue; - property NOTASIsNull : Boolean read GetNOTASIsNull write SetNOTASIsNull; - property OldNOTAS : IROStrings read GetOldNOTASValue; - property OldNOTASIsNull : Boolean read GetOldNOTASIsNull; - property FECHA_ALTA : DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue; - property FECHA_ALTAIsNull : Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull; - property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue; - property OldFECHA_ALTAIsNull : Boolean read GetOldFECHA_ALTAIsNull; - property FECHA_MODIFICACION : DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue; - property FECHA_MODIFICACIONIsNull : Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull; - property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue; - property OldFECHA_MODIFICACIONIsNull : Boolean read GetOldFECHA_MODIFICACIONIsNull; - property USUARIO : String read GetUSUARIOValue write SetUSUARIOValue; - property USUARIOIsNull : Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull; - property OldUSUARIO : String read GetOldUSUARIOValue; - property OldUSUARIOIsNull : Boolean read GetOldUSUARIOIsNull; - property LOGOTIPO : IROStream read GetLOGOTIPOValue; - property LOGOTIPOIsNull : Boolean read GetLOGOTIPOIsNull write SetLOGOTIPOIsNull; - property OldLOGOTIPO : IROStream read GetOldLOGOTIPOValue; - property OldLOGOTIPOIsNull : Boolean read GetOldLOGOTIPOIsNull; - property REGISTRO_MERCANTIL : String read GetREGISTRO_MERCANTILValue write SetREGISTRO_MERCANTILValue; - property REGISTRO_MERCANTILIsNull : Boolean read GetREGISTRO_MERCANTILIsNull write SetREGISTRO_MERCANTILIsNull; - property OldREGISTRO_MERCANTIL : String read GetOldREGISTRO_MERCANTILValue; - property OldREGISTRO_MERCANTILIsNull : Boolean read GetOldREGISTRO_MERCANTILIsNull; - property IVA : Float read GetIVAValue write SetIVAValue; - property IVAIsNull : Boolean read GetIVAIsNull write SetIVAIsNull; - property OldIVA : Float read GetOldIVAValue; - property OldIVAIsNull : Boolean read GetOldIVAIsNull; - - public - constructor Create(aBusinessProcessor: TDABusinessProcessor); override; - destructor Destroy; override; - - end; - - { ICopy_of_EmpresasDatosBancoDelta } - ICopy_of_EmpresasDatosBancoDelta = interface(ICopy_of_EmpresasDatosBanco) - ['{9C867B3F-96A6-4EE7-A2AA-622ABD88B279}'] - { Property getters and setters } - function GetOldIDValue : Integer; - function GetOldID_EMPRESAValue : Integer; - function GetOldNOMBREValue : String; - function GetOldENTIDADValue : String; - function GetOldSUCURSALValue : String; - function GetOldDCValue : String; - function GetOldCUENTAValue : String; - function GetOldSUFIJO_N19Value : String; - function GetOldSUFIJO_N58Value : String; - - { Properties } - property OldID : Integer read GetOldIDValue; - property OldID_EMPRESA : Integer read GetOldID_EMPRESAValue; - property OldNOMBRE : String read GetOldNOMBREValue; - property OldENTIDAD : String read GetOldENTIDADValue; - property OldSUCURSAL : String read GetOldSUCURSALValue; - property OldDC : String read GetOldDCValue; - property OldCUENTA : String read GetOldCUENTAValue; - property OldSUFIJO_N19 : String read GetOldSUFIJO_N19Value; - property OldSUFIJO_N58 : String read GetOldSUFIJO_N58Value; - end; - - { TCopy_of_EmpresasDatosBancoBusinessProcessorRules } - TCopy_of_EmpresasDatosBancoBusinessProcessorRules = class(TDABusinessProcessorRules, ICopy_of_EmpresasDatosBanco, ICopy_of_EmpresasDatosBancoDelta) - private - protected - { Property getters and setters } - function GetIDValue: Integer; virtual; - function GetIDIsNull: Boolean; virtual; - function GetOldIDValue: Integer; virtual; - function GetOldIDIsNull: Boolean; virtual; - procedure SetIDValue(const aValue: Integer); virtual; - procedure SetIDIsNull(const aValue: Boolean); virtual; - function GetID_EMPRESAValue: Integer; virtual; - function GetID_EMPRESAIsNull: Boolean; virtual; - function GetOldID_EMPRESAValue: Integer; virtual; - function GetOldID_EMPRESAIsNull: Boolean; virtual; - procedure SetID_EMPRESAValue(const aValue: Integer); virtual; - procedure SetID_EMPRESAIsNull(const aValue: Boolean); virtual; - function GetNOMBREValue: String; virtual; - function GetNOMBREIsNull: Boolean; virtual; - function GetOldNOMBREValue: String; virtual; - function GetOldNOMBREIsNull: Boolean; virtual; - procedure SetNOMBREValue(const aValue: String); virtual; - procedure SetNOMBREIsNull(const aValue: Boolean); virtual; - function GetENTIDADValue: String; virtual; - function GetENTIDADIsNull: Boolean; virtual; - function GetOldENTIDADValue: String; virtual; - function GetOldENTIDADIsNull: Boolean; virtual; - procedure SetENTIDADValue(const aValue: String); virtual; - procedure SetENTIDADIsNull(const aValue: Boolean); virtual; - function GetSUCURSALValue: String; virtual; - function GetSUCURSALIsNull: Boolean; virtual; - function GetOldSUCURSALValue: String; virtual; - function GetOldSUCURSALIsNull: Boolean; virtual; - procedure SetSUCURSALValue(const aValue: String); virtual; - procedure SetSUCURSALIsNull(const aValue: Boolean); virtual; - function GetDCValue: String; virtual; - function GetDCIsNull: Boolean; virtual; - function GetOldDCValue: String; virtual; - function GetOldDCIsNull: Boolean; virtual; - procedure SetDCValue(const aValue: String); virtual; - procedure SetDCIsNull(const aValue: Boolean); virtual; - function GetCUENTAValue: String; virtual; - function GetCUENTAIsNull: Boolean; virtual; - function GetOldCUENTAValue: String; virtual; - function GetOldCUENTAIsNull: Boolean; virtual; - procedure SetCUENTAValue(const aValue: String); virtual; - procedure SetCUENTAIsNull(const aValue: Boolean); virtual; - function GetSUFIJO_N19Value: String; virtual; - function GetSUFIJO_N19IsNull: Boolean; virtual; - function GetOldSUFIJO_N19Value: String; virtual; - function GetOldSUFIJO_N19IsNull: Boolean; virtual; - procedure SetSUFIJO_N19Value(const aValue: String); virtual; - procedure SetSUFIJO_N19IsNull(const aValue: Boolean); virtual; - function GetSUFIJO_N58Value: String; virtual; - function GetSUFIJO_N58IsNull: Boolean; virtual; - function GetOldSUFIJO_N58Value: String; virtual; - function GetOldSUFIJO_N58IsNull: Boolean; virtual; - procedure SetSUFIJO_N58Value(const aValue: String); virtual; - procedure SetSUFIJO_N58IsNull(const aValue: Boolean); virtual; - - { Properties } - property ID : Integer read GetIDValue write SetIDValue; - property IDIsNull : Boolean read GetIDIsNull write SetIDIsNull; - property OldID : Integer read GetOldIDValue; - property OldIDIsNull : Boolean read GetOldIDIsNull; - property ID_EMPRESA : Integer read GetID_EMPRESAValue write SetID_EMPRESAValue; - property ID_EMPRESAIsNull : Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull; - property OldID_EMPRESA : Integer read GetOldID_EMPRESAValue; - property OldID_EMPRESAIsNull : Boolean read GetOldID_EMPRESAIsNull; - property NOMBRE : String read GetNOMBREValue write SetNOMBREValue; - property NOMBREIsNull : Boolean read GetNOMBREIsNull write SetNOMBREIsNull; - property OldNOMBRE : String read GetOldNOMBREValue; - property OldNOMBREIsNull : Boolean read GetOldNOMBREIsNull; - property ENTIDAD : String read GetENTIDADValue write SetENTIDADValue; - property ENTIDADIsNull : Boolean read GetENTIDADIsNull write SetENTIDADIsNull; - property OldENTIDAD : String read GetOldENTIDADValue; - property OldENTIDADIsNull : Boolean read GetOldENTIDADIsNull; - property SUCURSAL : String read GetSUCURSALValue write SetSUCURSALValue; - property SUCURSALIsNull : Boolean read GetSUCURSALIsNull write SetSUCURSALIsNull; - property OldSUCURSAL : String read GetOldSUCURSALValue; - property OldSUCURSALIsNull : Boolean read GetOldSUCURSALIsNull; - property DC : String read GetDCValue write SetDCValue; - property DCIsNull : Boolean read GetDCIsNull write SetDCIsNull; - property OldDC : String read GetOldDCValue; - property OldDCIsNull : Boolean read GetOldDCIsNull; - property CUENTA : String read GetCUENTAValue write SetCUENTAValue; - property CUENTAIsNull : Boolean read GetCUENTAIsNull write SetCUENTAIsNull; - property OldCUENTA : String read GetOldCUENTAValue; - property OldCUENTAIsNull : Boolean read GetOldCUENTAIsNull; - property SUFIJO_N19 : String read GetSUFIJO_N19Value write SetSUFIJO_N19Value; - property SUFIJO_N19IsNull : Boolean read GetSUFIJO_N19IsNull write SetSUFIJO_N19IsNull; - property OldSUFIJO_N19 : String read GetOldSUFIJO_N19Value; - property OldSUFIJO_N19IsNull : Boolean read GetOldSUFIJO_N19IsNull; - property SUFIJO_N58 : String read GetSUFIJO_N58Value write SetSUFIJO_N58Value; - property SUFIJO_N58IsNull : Boolean read GetSUFIJO_N58IsNull write SetSUFIJO_N58IsNull; - property OldSUFIJO_N58 : String read GetOldSUFIJO_N58Value; - property OldSUFIJO_N58IsNull : Boolean read GetOldSUFIJO_N58IsNull; - - public - constructor Create(aBusinessProcessor: TDABusinessProcessor); override; - destructor Destroy; override; - - end; - implementation uses @@ -1915,1045 +1483,8 @@ begin end; -{ TCopy_of_EmpresasBusinessProcessorRules } -constructor TCopy_of_EmpresasBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); -var - StrList: TStringList; - ROStream: TROStream; -begin - inherited; - - StrList := TStringList.Create; - StrList.OnChange := NOTAS_OnChange; - f_NOTAS := NewROStrings(StrList,True); - - ROStream := TROStream.Create; - ROStream.OnChange := LOGOTIPO_OnChange; - f_LOGOTIPO := ROStream; -end; - -destructor TCopy_of_EmpresasBusinessProcessorRules.Destroy; -begin - inherited; -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.NOTAS_OnChange(Sender: TObject); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasNOTAS] := TStringList(Sender).Text; -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.LOGOTIPO_OnChange(Sender: TObject); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasLOGOTIPO] := VariantBinaryFromBinary((TROStream(Sender) as IROStream).Stream); -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetIDValue: Integer; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasID]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetIDIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasID]); -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldIDValue: Integer; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasID]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldIDIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasID]); -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetIDValue(const aValue: Integer); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasID] := aValue; -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetIDIsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasID] := Null; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetNIF_CIFValue: String; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasNIF_CIF]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetNIF_CIFIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasNIF_CIF]); -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldNIF_CIFValue: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasNIF_CIF]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldNIF_CIFIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasNIF_CIF]); -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetNIF_CIFValue(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasNIF_CIF] := aValue; -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetNIF_CIFIsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasNIF_CIF] := Null; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetNOMBREValue: String; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasNOMBRE]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetNOMBREIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasNOMBRE]); -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldNOMBREValue: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasNOMBRE]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldNOMBREIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasNOMBRE]); -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetNOMBREValue(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasNOMBRE] := aValue; -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetNOMBREIsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasNOMBRE] := Null; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetRAZON_SOCIALValue: String; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasRAZON_SOCIAL]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetRAZON_SOCIALIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasRAZON_SOCIAL]); -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldRAZON_SOCIALValue: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasRAZON_SOCIAL]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldRAZON_SOCIALIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasRAZON_SOCIAL]); -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetRAZON_SOCIALValue(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasRAZON_SOCIAL] := aValue; -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetRAZON_SOCIALIsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasRAZON_SOCIAL] := Null; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetCALLEValue: String; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasCALLE]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetCALLEIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasCALLE]); -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldCALLEValue: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasCALLE]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldCALLEIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasCALLE]); -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetCALLEValue(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasCALLE] := aValue; -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetCALLEIsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasCALLE] := Null; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetPOBLACIONValue: String; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasPOBLACION]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetPOBLACIONIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasPOBLACION]); -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldPOBLACIONValue: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasPOBLACION]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldPOBLACIONIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasPOBLACION]); -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetPOBLACIONValue(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasPOBLACION] := aValue; -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetPOBLACIONIsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasPOBLACION] := Null; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetPROVINCIAValue: String; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasPROVINCIA]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetPROVINCIAIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasPROVINCIA]); -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldPROVINCIAValue: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasPROVINCIA]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldPROVINCIAIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasPROVINCIA]); -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetPROVINCIAValue(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasPROVINCIA] := aValue; -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetPROVINCIAIsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasPROVINCIA] := Null; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetCODIGO_POSTALValue: String; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasCODIGO_POSTAL]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetCODIGO_POSTALIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasCODIGO_POSTAL]); -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldCODIGO_POSTALValue: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasCODIGO_POSTAL]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldCODIGO_POSTALIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasCODIGO_POSTAL]); -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetCODIGO_POSTALValue(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasCODIGO_POSTAL] := aValue; -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetCODIGO_POSTALIsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasCODIGO_POSTAL] := Null; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetTELEFONO_1Value: String; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasTELEFONO_1]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetTELEFONO_1IsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasTELEFONO_1]); -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldTELEFONO_1Value: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasTELEFONO_1]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldTELEFONO_1IsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasTELEFONO_1]); -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetTELEFONO_1Value(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasTELEFONO_1] := aValue; -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetTELEFONO_1IsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasTELEFONO_1] := Null; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetTELEFONO_2Value: String; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasTELEFONO_2]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetTELEFONO_2IsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasTELEFONO_2]); -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldTELEFONO_2Value: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasTELEFONO_2]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldTELEFONO_2IsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasTELEFONO_2]); -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetTELEFONO_2Value(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasTELEFONO_2] := aValue; -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetTELEFONO_2IsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasTELEFONO_2] := Null; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetMOVIL_1Value: String; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasMOVIL_1]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetMOVIL_1IsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasMOVIL_1]); -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldMOVIL_1Value: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasMOVIL_1]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldMOVIL_1IsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasMOVIL_1]); -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetMOVIL_1Value(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasMOVIL_1] := aValue; -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetMOVIL_1IsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasMOVIL_1] := Null; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetMOVIL_2Value: String; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasMOVIL_2]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetMOVIL_2IsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasMOVIL_2]); -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldMOVIL_2Value: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasMOVIL_2]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldMOVIL_2IsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasMOVIL_2]); -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetMOVIL_2Value(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasMOVIL_2] := aValue; -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetMOVIL_2IsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasMOVIL_2] := Null; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetFAXValue: String; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasFAX]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetFAXIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasFAX]); -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldFAXValue: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasFAX]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldFAXIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasFAX]); -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetFAXValue(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasFAX] := aValue; -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetFAXIsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasFAX] := Null; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetEMAIL_1Value: String; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasEMAIL_1]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetEMAIL_1IsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasEMAIL_1]); -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldEMAIL_1Value: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasEMAIL_1]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldEMAIL_1IsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasEMAIL_1]); -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetEMAIL_1Value(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasEMAIL_1] := aValue; -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetEMAIL_1IsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasEMAIL_1] := Null; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetEMAIL_2Value: String; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasEMAIL_2]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetEMAIL_2IsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasEMAIL_2]); -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldEMAIL_2Value: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasEMAIL_2]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldEMAIL_2IsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasEMAIL_2]); -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetEMAIL_2Value(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasEMAIL_2] := aValue; -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetEMAIL_2IsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasEMAIL_2] := Null; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetPAGINA_WEBValue: String; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasPAGINA_WEB]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetPAGINA_WEBIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasPAGINA_WEB]); -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldPAGINA_WEBValue: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasPAGINA_WEB]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldPAGINA_WEBIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasPAGINA_WEB]); -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetPAGINA_WEBValue(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasPAGINA_WEB] := aValue; -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetPAGINA_WEBIsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasPAGINA_WEB] := Null; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetNOTASValue: IROStrings; -begin - result := f_NOTAS; - result.Text := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasNOTAS]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetNOTASIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasNOTAS]); -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldNOTASValue: IROStrings; -begin - result := NewROStrings(); - result.Text := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasNOTAS]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldNOTASIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasNOTAS]); -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetNOTASIsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasNOTAS] := Null; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetFECHA_ALTAValue: DateTime; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasFECHA_ALTA]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetFECHA_ALTAIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasFECHA_ALTA]); -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldFECHA_ALTAValue: DateTime; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasFECHA_ALTA]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldFECHA_ALTAIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasFECHA_ALTA]); -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetFECHA_ALTAValue(const aValue: DateTime); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasFECHA_ALTA] := aValue; -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetFECHA_ALTAIsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasFECHA_ALTA] := Null; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetFECHA_MODIFICACIONValue: DateTime; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasFECHA_MODIFICACION]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetFECHA_MODIFICACIONIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasFECHA_MODIFICACION]); -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldFECHA_MODIFICACIONValue: DateTime; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasFECHA_MODIFICACION]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldFECHA_MODIFICACIONIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasFECHA_MODIFICACION]); -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetFECHA_MODIFICACIONValue(const aValue: DateTime); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasFECHA_MODIFICACION] := aValue; -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasFECHA_MODIFICACION] := Null; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetUSUARIOValue: String; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasUSUARIO]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetUSUARIOIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasUSUARIO]); -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldUSUARIOValue: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasUSUARIO]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldUSUARIOIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasUSUARIO]); -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetUSUARIOValue(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasUSUARIO] := aValue; -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetUSUARIOIsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasUSUARIO] := Null; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetLOGOTIPOValue: IROStream; -begin - result := f_LOGOTIPO; - result.Position := 0; - if not Result.InUpdateMode then begin - WriteVariantBinaryToBinary(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasLOGOTIPO], result.Stream); - result.Position := 0; - end; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetLOGOTIPOIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasLOGOTIPO]); -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldLOGOTIPOValue: IROStream; -begin - result := NewROStream(); - WriteVariantBinaryToBinary(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasLOGOTIPO], result.Stream); -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldLOGOTIPOIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasLOGOTIPO]); -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetLOGOTIPOIsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasLOGOTIPO] := Null; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetREGISTRO_MERCANTILValue: String; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasREGISTRO_MERCANTIL]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetREGISTRO_MERCANTILIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasREGISTRO_MERCANTIL]); -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldREGISTRO_MERCANTILValue: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasREGISTRO_MERCANTIL]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldREGISTRO_MERCANTILIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasREGISTRO_MERCANTIL]); -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetREGISTRO_MERCANTILValue(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasREGISTRO_MERCANTIL] := aValue; -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetREGISTRO_MERCANTILIsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasREGISTRO_MERCANTIL] := Null; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetIVAValue: Float; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasIVA]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetIVAIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasIVA]); -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldIVAValue: Float; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasIVA]; -end; - -function TCopy_of_EmpresasBusinessProcessorRules.GetOldIVAIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasIVA]); -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetIVAValue(const aValue: Float); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasIVA] := aValue; -end; - -procedure TCopy_of_EmpresasBusinessProcessorRules.SetIVAIsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasIVA] := Null; -end; - - -{ TCopy_of_EmpresasDatosBancoBusinessProcessorRules } -constructor TCopy_of_EmpresasDatosBancoBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); -begin - inherited; -end; - -destructor TCopy_of_EmpresasDatosBancoBusinessProcessorRules.Destroy; -begin - inherited; -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetIDValue: Integer; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoID]; -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetIDIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoID]); -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetOldIDValue: Integer; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasDatosBancoID]; -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetOldIDIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasDatosBancoID]); -end; - -procedure TCopy_of_EmpresasDatosBancoBusinessProcessorRules.SetIDValue(const aValue: Integer); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoID] := aValue; -end; - -procedure TCopy_of_EmpresasDatosBancoBusinessProcessorRules.SetIDIsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoID] := Null; -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetID_EMPRESAValue: Integer; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoID_EMPRESA]; -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetID_EMPRESAIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoID_EMPRESA]); -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetOldID_EMPRESAValue: Integer; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasDatosBancoID_EMPRESA]; -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetOldID_EMPRESAIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasDatosBancoID_EMPRESA]); -end; - -procedure TCopy_of_EmpresasDatosBancoBusinessProcessorRules.SetID_EMPRESAValue(const aValue: Integer); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoID_EMPRESA] := aValue; -end; - -procedure TCopy_of_EmpresasDatosBancoBusinessProcessorRules.SetID_EMPRESAIsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoID_EMPRESA] := Null; -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetNOMBREValue: String; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoNOMBRE]; -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetNOMBREIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoNOMBRE]); -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetOldNOMBREValue: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasDatosBancoNOMBRE]; -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetOldNOMBREIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasDatosBancoNOMBRE]); -end; - -procedure TCopy_of_EmpresasDatosBancoBusinessProcessorRules.SetNOMBREValue(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoNOMBRE] := aValue; -end; - -procedure TCopy_of_EmpresasDatosBancoBusinessProcessorRules.SetNOMBREIsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoNOMBRE] := Null; -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetENTIDADValue: String; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoENTIDAD]; -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetENTIDADIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoENTIDAD]); -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetOldENTIDADValue: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasDatosBancoENTIDAD]; -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetOldENTIDADIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasDatosBancoENTIDAD]); -end; - -procedure TCopy_of_EmpresasDatosBancoBusinessProcessorRules.SetENTIDADValue(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoENTIDAD] := aValue; -end; - -procedure TCopy_of_EmpresasDatosBancoBusinessProcessorRules.SetENTIDADIsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoENTIDAD] := Null; -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetSUCURSALValue: String; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoSUCURSAL]; -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetSUCURSALIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoSUCURSAL]); -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetOldSUCURSALValue: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasDatosBancoSUCURSAL]; -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetOldSUCURSALIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasDatosBancoSUCURSAL]); -end; - -procedure TCopy_of_EmpresasDatosBancoBusinessProcessorRules.SetSUCURSALValue(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoSUCURSAL] := aValue; -end; - -procedure TCopy_of_EmpresasDatosBancoBusinessProcessorRules.SetSUCURSALIsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoSUCURSAL] := Null; -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetDCValue: String; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoDC]; -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetDCIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoDC]); -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetOldDCValue: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasDatosBancoDC]; -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetOldDCIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasDatosBancoDC]); -end; - -procedure TCopy_of_EmpresasDatosBancoBusinessProcessorRules.SetDCValue(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoDC] := aValue; -end; - -procedure TCopy_of_EmpresasDatosBancoBusinessProcessorRules.SetDCIsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoDC] := Null; -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetCUENTAValue: String; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoCUENTA]; -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetCUENTAIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoCUENTA]); -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetOldCUENTAValue: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasDatosBancoCUENTA]; -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetOldCUENTAIsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasDatosBancoCUENTA]); -end; - -procedure TCopy_of_EmpresasDatosBancoBusinessProcessorRules.SetCUENTAValue(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoCUENTA] := aValue; -end; - -procedure TCopy_of_EmpresasDatosBancoBusinessProcessorRules.SetCUENTAIsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoCUENTA] := Null; -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetSUFIJO_N19Value: String; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoSUFIJO_N19]; -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetSUFIJO_N19IsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoSUFIJO_N19]); -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetOldSUFIJO_N19Value: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasDatosBancoSUFIJO_N19]; -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetOldSUFIJO_N19IsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasDatosBancoSUFIJO_N19]); -end; - -procedure TCopy_of_EmpresasDatosBancoBusinessProcessorRules.SetSUFIJO_N19Value(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoSUFIJO_N19] := aValue; -end; - -procedure TCopy_of_EmpresasDatosBancoBusinessProcessorRules.SetSUFIJO_N19IsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoSUFIJO_N19] := Null; -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetSUFIJO_N58Value: String; -begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoSUFIJO_N58]; -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetSUFIJO_N58IsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoSUFIJO_N58]); -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetOldSUFIJO_N58Value: String; -begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasDatosBancoSUFIJO_N58]; -end; - -function TCopy_of_EmpresasDatosBancoBusinessProcessorRules.GetOldSUFIJO_N58IsNull: Boolean; -begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Copy_of_EmpresasDatosBancoSUFIJO_N58]); -end; - -procedure TCopy_of_EmpresasDatosBancoBusinessProcessorRules.SetSUFIJO_N58Value(const aValue: String); -begin - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoSUFIJO_N58] := aValue; -end; - -procedure TCopy_of_EmpresasDatosBancoBusinessProcessorRules.SetSUFIJO_N58IsNull(const aValue: Boolean); -begin - if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_Copy_of_EmpresasDatosBancoSUFIJO_N58] := Null; -end; - - initialization RegisterBusinessProcessorRules(RID_EmpresasDelta, TEmpresasBusinessProcessorRules); RegisterBusinessProcessorRules(RID_EmpresasDatosBancoDelta, TEmpresasDatosBancoBusinessProcessorRules); - RegisterBusinessProcessorRules(RID_Copy_of_EmpresasDelta, TCopy_of_EmpresasBusinessProcessorRules); - RegisterBusinessProcessorRules(RID_Copy_of_EmpresasDatosBancoDelta, TCopy_of_EmpresasDatosBancoBusinessProcessorRules); end. diff --git a/Source/Modulos/Empresas/Model/uBizEmpresas.pas b/Source/Modulos/Empresas/Model/uBizEmpresas.pas index be05cd05..cc9eeb14 100644 --- a/Source/Modulos/Empresas/Model/uBizEmpresas.pas +++ b/Source/Modulos/Empresas/Model/uBizEmpresas.pas @@ -81,7 +81,6 @@ end; procedure TBizEmpresa.OnNewRecord(Sender: TDADataTable); begin inherited; - ID := GetRecNo; // -1, -2, -3... IniciarValoresEmpresaNueva; end; diff --git a/Source/Modulos/Empresas/Model/uBizEmpresasDatosBancarios.pas b/Source/Modulos/Empresas/Model/uBizEmpresasDatosBancarios.pas index d86524c7..54e810f8 100644 --- a/Source/Modulos/Empresas/Model/uBizEmpresasDatosBancarios.pas +++ b/Source/Modulos/Empresas/Model/uBizEmpresasDatosBancarios.pas @@ -18,7 +18,6 @@ type TBizEmpresasDatosBancarios = class(TEmpresasDatosBancoDataTableRules, IBizEmpresasDatosBancarios) protected procedure BeforeInsert(Sender: TDADataTable); override; - procedure OnNewRecord(Sender: TDADataTable); override; public function EsNuevo : Boolean; end; @@ -45,12 +44,6 @@ begin Result := (ID < 0); end; -procedure TBizEmpresasDatosBancarios.OnNewRecord(Sender: TDADataTable); -begin - inherited; - ID := GetRecNo; // -1, -2, -3... -end; - initialization RegisterDataTableRules(BIZ_CLIENT_EMPRESAS_DATOS_BANCARIOS, TBizEmpresasDatosBancarios); diff --git a/Source/Modulos/Empresas/Plugin/Empresas_plugin.drc b/Source/Modulos/Empresas/Plugin/Empresas_plugin.drc index bcdc68cf..3a8cb3c5 100644 --- a/Source/Modulos/Empresas/Plugin/Empresas_plugin.drc +++ b/Source/Modulos/Empresas/Plugin/Empresas_plugin.drc @@ -14,4 +14,4 @@ END /* C:\Codigo Tecsitel\Source\Modulos\Empresas\Plugin\uPluginEmpresas.dfm */ /* C:\Codigo Tecsitel\Source\Modulos\Empresas\Plugin\Empresas_plugin.res */ -/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf215.tmp */ +/* C:\Codigo Tecsitel\Source\Modulos\Empresas\Plugin\Empresas_plugin.drf */ diff --git a/Source/Modulos/Empresas/Servidor/srvEmpresas_Impl.dfm b/Source/Modulos/Empresas/Servidor/srvEmpresas_Impl.dfm index 4363260e..265163ef 100644 --- a/Source/Modulos/Empresas/Servidor/srvEmpresas_Impl.dfm +++ b/Source/Modulos/Empresas/Servidor/srvEmpresas_Impl.dfm @@ -7,6 +7,7 @@ object srvEmpresas: TsrvEmpresas ServiceDataStreamer = DABin2DataStreamer ExportedDataTables = <> BeforeAcquireConnection = DataAbstractServiceBeforeAcquireConnection + BeforeGetDatasetData = DataAbstractServiceBeforeGetDatasetData Height = 166 Width = 351 object schEmpresas: TDASchema @@ -19,7 +20,6 @@ object srvEmpresas: TsrvEmpresas Statements = < item Connection = 'IBX' - ConnectionType = 'Interbase' Default = True TargetTable = 'EMPRESAS' Name = 'IBX' @@ -122,332 +122,9 @@ object srvEmpresas: TsrvEmpresas Fields = < item Name = 'ID' - DataType = datInteger - LogChanges = False - Required = True - ReadOnly = True - InPrimaryKey = True - end - item - Name = 'NIF_CIF' - DataType = datString - Size = 15 - end - item - Name = 'NOMBRE' - DataType = datString - Size = 255 - end - item - Name = 'RAZON_SOCIAL' - DataType = datString - Size = 255 - end - item - Name = 'CALLE' - DataType = datString - Size = 255 - end - item - Name = 'POBLACION' - DataType = datString - Size = 255 - end - item - Name = 'PROVINCIA' - DataType = datString - Size = 255 - end - item - Name = 'CODIGO_POSTAL' - DataType = datString - Size = 10 - end - item - Name = 'TELEFONO_1' - DataType = datString - Size = 25 - end - item - Name = 'TELEFONO_2' - DataType = datString - Size = 25 - end - item - Name = 'MOVIL_1' - DataType = datString - Size = 25 - end - item - Name = 'MOVIL_2' - DataType = datString - Size = 25 - end - item - Name = 'FAX' - DataType = datString - Size = 25 - end - item - Name = 'EMAIL_1' - DataType = datString - Size = 255 - end - item - Name = 'EMAIL_2' - DataType = datString - Size = 255 - end - item - Name = 'PAGINA_WEB' - DataType = datString - Size = 255 - end - item - Name = 'NOTAS' - DataType = datMemo - end - item - Name = 'FECHA_ALTA' - DataType = datDateTime - end - item - Name = 'FECHA_MODIFICACION' - DataType = datDateTime - end - item - Name = 'USUARIO' - DataType = datString - Size = 20 - end - item - Name = 'LOGOTIPO' - DataType = datBlob - end - item - Name = 'REGISTRO_MERCANTIL' - DataType = datString - Size = 255 - end - item - Name = 'IVA' - DataType = datFloat - end> - end - item - Params = <> - Statements = < - item - Connection = 'IBX' - ConnectionType = 'Interbase' - Default = True - TargetTable = 'EMPRESAS_DATOS_BANCO' - Name = 'IBX' - StatementType = stAutoSQL - ColumnMappings = < - item - DatasetField = 'ID' - TableField = 'ID' - end - item - DatasetField = 'ID_EMPRESA' - TableField = 'ID_EMPRESA' - end - item - DatasetField = 'NOMBRE' - TableField = 'NOMBRE' - end - item - DatasetField = 'ENTIDAD' - TableField = 'ENTIDAD' - end - item - DatasetField = 'SUCURSAL' - TableField = 'SUCURSAL' - end - item - DatasetField = 'DC' - TableField = 'DC' - end - item - DatasetField = 'CUENTA' - TableField = 'CUENTA' - end - item - DatasetField = 'SUFIJO_N19' - TableField = 'SUFIJO_N19' - end - item - DatasetField = 'SUFIJO_N58' - TableField = 'SUFIJO_N58' - end> - end> - Name = 'EmpresasDatosBanco' - Fields = < - item - Name = 'ID' - DataType = datInteger - LogChanges = False - Required = True - ReadOnly = True - InPrimaryKey = True - end - item - Name = 'ID_EMPRESA' - DataType = datInteger - LogChanges = False - Required = True - ReadOnly = True - end - item - Name = 'NOMBRE' - DataType = datString - Size = 255 - end - item - Name = 'ENTIDAD' - DataType = datString - Size = 15 - end - item - Name = 'SUCURSAL' - DataType = datString - Size = 15 - end - item - Name = 'DC' - DataType = datString - Size = 15 - end - item - Name = 'CUENTA' - DataType = datString - Size = 15 - end - item - Name = 'SUFIJO_N19' - DataType = datString - Size = 3 - end - item - Name = 'SUFIJO_N58' - DataType = datString - Size = 3 - end> - end - item - IsPublic = False - Params = <> - Statements = < - item - Connection = 'IBX' - TargetTable = 'EMPRESAS' - SQL = - 'SELECT'#10' ID, NIF_CIF, NOMBRE, RAZON_SOCIAL, CALLE, POBLACION, ' + - #10' PROVINCIA, CODIGO_POSTAL, TELEFONO_1, TELEFONO_2, MOVIL_1, ' + - #10' MOVIL_2, FAX, EMAIL_1, EMAIL_2, PAGINA_WEB, NOTAS, '#10' FEC' + - 'HA_ALTA, FECHA_MODIFICACION, USUARIO, LOGOTIPO,'#10' REGISTRO_MER' + - 'CANTIL, IVA'#10' FROM'#10' EMPRESAS'#10' WHERE {Where}'#10 - StatementType = stSQL - ColumnMappings = < - item - DatasetField = 'ID' - TableField = 'ID' - end - item - DatasetField = 'NIF_CIF' - TableField = 'NIF_CIF' - end - item - DatasetField = 'NOMBRE' - TableField = 'NOMBRE' - end - item - DatasetField = 'RAZON_SOCIAL' - TableField = 'RAZON_SOCIAL' - end - item - DatasetField = 'CALLE' - TableField = 'CALLE' - end - item - DatasetField = 'POBLACION' - TableField = 'POBLACION' - end - item - DatasetField = 'PROVINCIA' - TableField = 'PROVINCIA' - end - item - DatasetField = 'CODIGO_POSTAL' - TableField = 'CODIGO_POSTAL' - end - item - DatasetField = 'TELEFONO_1' - TableField = 'TELEFONO_1' - end - item - DatasetField = 'TELEFONO_2' - TableField = 'TELEFONO_2' - end - item - DatasetField = 'MOVIL_1' - TableField = 'MOVIL_1' - end - item - DatasetField = 'MOVIL_2' - TableField = 'MOVIL_2' - end - item - DatasetField = 'FAX' - TableField = 'FAX' - end - item - DatasetField = 'EMAIL_1' - TableField = 'EMAIL_1' - end - item - DatasetField = 'EMAIL_2' - TableField = 'EMAIL_2' - end - item - DatasetField = 'PAGINA_WEB' - TableField = 'PAGINA_WEB' - end - item - DatasetField = 'NOTAS' - TableField = 'NOTAS' - end - item - DatasetField = 'FECHA_ALTA' - TableField = 'FECHA_ALTA' - end - item - DatasetField = 'FECHA_MODIFICACION' - TableField = 'FECHA_MODIFICACION' - end - item - DatasetField = 'USUARIO' - TableField = 'USUARIO' - end - item - DatasetField = 'LOGOTIPO' - TableField = 'LOGOTIPO' - end - item - DatasetField = 'REGISTRO_MERCANTIL' - TableField = 'REGISTRO_MERCANTIL' - end - item - DatasetField = 'IVA' - TableField = 'IVA' - end> - end> - Name = 'Copy of Empresas' - Fields = < - item - Name = 'ID' - DataType = datInteger + DataType = datAutoInc + GeneratorName = 'GEN_EMPRESAS_ID' + ServerAutoRefresh = True DictionaryEntry = 'Empresas_ID' InPrimaryKey = True end @@ -581,22 +258,14 @@ object srvEmpresas: TsrvEmpresas end> end item - IsPublic = False - Params = < - item - Name = 'ID_EMPRESA' - Value = '' - ParamType = daptInput - end> + Params = <> Statements = < item Connection = 'IBX' + Default = True TargetTable = 'EMPRESAS_DATOS_BANCO' - SQL = - 'SELECT '#10' ID, ID_EMPRESA, NOMBRE, ENTIDAD, SUCURSAL, DC, CUENT' + - 'A, '#10' SUFIJO_N19, SUFIJO_N58'#10' FROM'#10' EMPRESAS_DATOS_BANCO'#10'W' + - 'HERE ID_EMPRESA = :ID_EMPRESA'#10' AND {Where}'#10 - StatementType = stSQL + Name = 'IBX' + StatementType = stAutoSQL ColumnMappings = < item DatasetField = 'ID' @@ -635,11 +304,13 @@ object srvEmpresas: TsrvEmpresas TableField = 'SUFIJO_N58' end> end> - Name = 'Copy of EmpresasDatosBanco' + Name = 'EmpresasDatosBanco' Fields = < item Name = 'ID' - DataType = datInteger + DataType = datAutoInc + GeneratorName = 'GEN_EMPRESAS_DATOS_BANCO_ID' + ServerAutoRefresh = True DictionaryEntry = 'EmpresasDatosBanco_ID' InPrimaryKey = True end @@ -693,555 +364,7 @@ object srvEmpresas: TsrvEmpresas end> JoinDataTables = <> UnionDataTables = <> - Commands = < - item - Params = < - item - Name = 'ID' - DataType = datInteger - Value = '' - ParamType = daptInput - end - item - Name = 'NIF_CIF' - DataType = datString - Size = 15 - Value = '' - ParamType = daptInput - end - item - Name = 'NOMBRE' - DataType = datString - Size = 255 - Value = '' - ParamType = daptInput - end - item - Name = 'RAZON_SOCIAL' - DataType = datString - Size = 255 - Value = '' - ParamType = daptInput - end - item - Name = 'CALLE' - DataType = datString - Size = 255 - Value = '' - ParamType = daptInput - end - item - Name = 'POBLACION' - DataType = datString - Size = 255 - Value = '' - ParamType = daptInput - end - item - Name = 'PROVINCIA' - DataType = datString - Size = 255 - Value = '' - ParamType = daptInput - end - item - Name = 'CODIGO_POSTAL' - DataType = datString - Size = 10 - Value = '' - ParamType = daptInput - end - item - Name = 'TELEFONO_1' - DataType = datString - Size = 25 - Value = '' - ParamType = daptInput - end - item - Name = 'TELEFONO_2' - DataType = datString - Size = 25 - Value = '' - ParamType = daptInput - end - item - Name = 'MOVIL_1' - DataType = datString - Size = 25 - Value = '' - ParamType = daptInput - end - item - Name = 'MOVIL_2' - DataType = datString - Size = 25 - Value = '' - ParamType = daptInput - end - item - Name = 'FAX' - DataType = datString - Size = 25 - Value = '' - ParamType = daptInput - end - item - Name = 'EMAIL_1' - DataType = datString - Size = 255 - Value = '' - ParamType = daptInput - end - item - Name = 'EMAIL_2' - DataType = datString - Size = 255 - Value = '' - ParamType = daptInput - end - item - Name = 'PAGINA_WEB' - DataType = datString - Size = 255 - Value = '' - ParamType = daptInput - end - item - Name = 'NOTAS' - DataType = datMemo - Value = '' - ParamType = daptInput - end - item - Name = 'FECHA_ALTA' - DataType = datDateTime - Value = '' - ParamType = daptInput - end - item - Name = 'FECHA_MODIFICACION' - DataType = datDateTime - Value = '' - ParamType = daptInput - end - item - Name = 'USUARIO' - DataType = datString - Size = 20 - Value = '' - ParamType = daptInput - end - item - Name = 'LOGOTIPO' - DataType = datBlob - Value = '' - ParamType = daptInput - end - item - Name = 'REGISTRO_MERCANTIL' - DataType = datString - Size = 255 - Value = '' - ParamType = daptInput - end - item - Name = 'IVA' - DataType = datFloat - Value = '' - ParamType = daptInput - end> - Statements = < - item - Connection = 'IBX' - TargetTable = 'EMPRESAS' - SQL = - 'INSERT'#10' INTO EMPRESAS'#10' (ID, NIF_CIF, NOMBRE, RAZON_SOCIAL, C' + - 'ALLE, POBLACION, '#10' PROVINCIA, CODIGO_POSTAL, TELEFONO_1, TEL' + - 'EFONO_2, MOVIL_1, '#10' MOVIL_2, FAX, EMAIL_1, EMAIL_2, PAGINA_W' + - 'EB, NOTAS, '#10' FECHA_ALTA, FECHA_MODIFICACION, USUARIO, LOGOTI' + - 'PO, '#10' REGISTRO_MERCANTIL, IVA)'#10' VALUES'#10' (:ID, :NIF_CIF, ' + - ':NOMBRE, :RAZON_SOCIAL, :CALLE, :POBLACION, '#10' :PROVINCIA, :C' + - 'ODIGO_POSTAL, :TELEFONO_1, :TELEFONO_2, '#10' :MOVIL_1, :MOVIL_2' + - ', :FAX, :EMAIL_1, :EMAIL_2, :PAGINA_WEB, '#10' :NOTAS, :FECHA_AL' + - 'TA, :FECHA_MODIFICACION, :USUARIO, '#10' :LOGOTIPO, :REGISTRO_ME' + - 'RCANTIL, :IVA)' - StatementType = stSQL - ColumnMappings = <> - end> - Name = 'Insert_Empresas' - end - item - Params = < - item - Name = 'OLD_ID' - DataType = datInteger - Value = '' - ParamType = daptInput - end> - Statements = < - item - Connection = 'IBX' - TargetTable = 'EMPRESAS' - SQL = 'DELETE '#10' FROM'#10' EMPRESAS'#10' WHERE'#10' (ID = :OLD_ID)' - StatementType = stSQL - ColumnMappings = <> - end> - Name = 'Delete_Empresas' - end - item - Params = < - item - Name = 'NIF_CIF' - DataType = datString - Size = 15 - Value = '' - ParamType = daptInput - end - item - Name = 'NOMBRE' - DataType = datString - Size = 255 - Value = '' - ParamType = daptInput - end - item - Name = 'RAZON_SOCIAL' - DataType = datString - Size = 255 - Value = '' - ParamType = daptInput - end - item - Name = 'CALLE' - DataType = datString - Size = 255 - Value = '' - ParamType = daptInput - end - item - Name = 'POBLACION' - DataType = datString - Size = 255 - Value = '' - ParamType = daptInput - end - item - Name = 'PROVINCIA' - DataType = datString - Size = 255 - Value = '' - ParamType = daptInput - end - item - Name = 'CODIGO_POSTAL' - DataType = datString - Size = 10 - Value = '' - ParamType = daptInput - end - item - Name = 'TELEFONO_1' - DataType = datString - Size = 25 - Value = '' - ParamType = daptInput - end - item - Name = 'TELEFONO_2' - DataType = datString - Size = 25 - Value = '' - ParamType = daptInput - end - item - Name = 'MOVIL_1' - DataType = datString - Size = 25 - Value = '' - ParamType = daptInput - end - item - Name = 'MOVIL_2' - DataType = datString - Size = 25 - Value = '' - ParamType = daptInput - end - item - Name = 'FAX' - DataType = datString - Size = 25 - Value = '' - ParamType = daptInput - end - item - Name = 'EMAIL_1' - DataType = datString - Size = 255 - Value = '' - ParamType = daptInput - end - item - Name = 'EMAIL_2' - DataType = datString - Size = 255 - Value = '' - ParamType = daptInput - end - item - Name = 'PAGINA_WEB' - DataType = datString - Size = 255 - Value = '' - ParamType = daptInput - end - item - Name = 'NOTAS' - DataType = datMemo - Value = '' - ParamType = daptInput - end - item - Name = 'FECHA_ALTA' - DataType = datDateTime - Value = '' - ParamType = daptInput - end - item - Name = 'FECHA_MODIFICACION' - DataType = datDateTime - Value = '' - ParamType = daptInput - end - item - Name = 'USUARIO' - DataType = datString - Size = 20 - Value = '' - ParamType = daptInput - end - item - Name = 'LOGOTIPO' - DataType = datBlob - Value = '' - ParamType = daptInput - end - item - Name = 'REGISTRO_MERCANTIL' - DataType = datString - Size = 255 - Value = '' - ParamType = daptInput - end - item - Name = 'IVA' - DataType = datFloat - Value = '' - ParamType = daptInput - end - item - Name = 'OLD_ID' - DataType = datInteger - Value = '' - ParamType = daptInput - end> - Statements = < - item - Connection = 'IBX' - TargetTable = 'EMPRESAS' - SQL = - 'UPDATE EMPRESAS'#10' SET '#10' NIF_CIF = :NIF_CIF,'#10' NOMBRE = :NOM' + - 'BRE, '#10' RAZON_SOCIAL = :RAZON_SOCIAL, '#10' CALLE = :CALLE, '#10' ' + - ' POBLACION = :POBLACION, '#10' PROVINCIA = :PROVINCIA, '#10' CODI' + - 'GO_POSTAL = :CODIGO_POSTAL, '#10' TELEFONO_1 = :TELEFONO_1, '#10' ' + - 'TELEFONO_2 = :TELEFONO_2, '#10' MOVIL_1 = :MOVIL_1, '#10' MOVIL_2 ' + - '= :MOVIL_2, '#10' FAX = :FAX, '#10' EMAIL_1 = :EMAIL_1, '#10' EMAIL' + - '_2 = :EMAIL_2, '#10' PAGINA_WEB = :PAGINA_WEB, '#10' NOTAS = :NOTA' + - 'S, '#10' FECHA_ALTA = :FECHA_ALTA, '#10' FECHA_MODIFICACION = :FEC' + - 'HA_MODIFICACION, '#10' USUARIO = :USUARIO, '#10' LOGOTIPO = :LOGOT' + - 'IPO, '#10' REGISTRO_MERCANTIL = :REGISTRO_MERCANTIL, '#10' IVA = :' + - 'IVA'#10' WHERE'#10' (ID = :OLD_ID)' - StatementType = stSQL - ColumnMappings = <> - end> - Name = 'Update_Empresas' - end - item - Params = < - item - Name = 'ID' - DataType = datInteger - Value = '' - ParamType = daptInput - end - item - Name = 'ID_EMPRESA' - DataType = datInteger - Value = '' - ParamType = daptInput - end - item - Name = 'NOMBRE' - DataType = datString - Size = 255 - Value = '' - ParamType = daptInput - end - item - Name = 'ENTIDAD' - DataType = datString - Size = 15 - Value = '' - ParamType = daptInput - end - item - Name = 'SUCURSAL' - DataType = datString - Size = 15 - Value = '' - ParamType = daptInput - end - item - Name = 'DC' - DataType = datString - Size = 15 - Value = '' - ParamType = daptInput - end - item - Name = 'CUENTA' - DataType = datString - Size = 15 - Value = '' - ParamType = daptInput - end - item - Name = 'SUFIJO_N19' - DataType = datString - Size = 3 - Value = '' - ParamType = daptInput - end - item - Name = 'SUFIJO_N58' - DataType = datString - Size = 3 - Value = '' - ParamType = daptInput - end> - Statements = < - item - Connection = 'IBX' - TargetTable = 'EMPRESAS_DATOS_BANCO' - SQL = - 'INSERT'#10' INTO EMPRESAS_DATOS_BANCO'#10' (ID, ID_EMPRESA, NOMBRE, ' + - 'ENTIDAD, SUCURSAL, DC, CUENTA, '#10' SUFIJO_N19, SUFIJO_N58)'#10' V' + - 'ALUES'#10' (:ID, :ID_EMPRESA, :NOMBRE, :ENTIDAD, :SUCURSAL, :DC, ' + - #10' :CUENTA, :SUFIJO_N19, :SUFIJO_N58)' - StatementType = stSQL - ColumnMappings = <> - end> - Name = 'Insert_EmpresasDatosBanco' - end - item - Params = < - item - Name = 'OLD_ID' - DataType = datInteger - Value = '' - ParamType = daptInput - end> - Statements = < - item - Connection = 'IBX' - TargetTable = 'EMPRESAS_DATOS_BANCO' - SQL = - 'DELETE '#10' FROM'#10' EMPRESAS_DATOS_BANCO'#10' WHERE'#10' (ID = :OLD_I' + - 'D)' - StatementType = stSQL - ColumnMappings = <> - end> - Name = 'Delete_EmpresasDatosBanco' - end - item - Params = < - item - Name = 'ID_EMPRESA' - DataType = datInteger - Value = '' - ParamType = daptInput - end - item - Name = 'NOMBRE' - DataType = datString - Size = 255 - Value = '' - ParamType = daptInput - end - item - Name = 'ENTIDAD' - DataType = datString - Size = 15 - Value = '' - ParamType = daptInput - end - item - Name = 'SUCURSAL' - DataType = datString - Size = 15 - Value = '' - ParamType = daptInput - end - item - Name = 'DC' - DataType = datString - Size = 15 - Value = '' - ParamType = daptInput - end - item - Name = 'CUENTA' - DataType = datString - Size = 15 - Value = '' - ParamType = daptInput - end - item - Name = 'SUFIJO_N19' - DataType = datString - Size = 3 - Value = '' - ParamType = daptInput - end - item - Name = 'SUFIJO_N58' - DataType = datString - Size = 3 - Value = '' - ParamType = daptInput - end - item - Name = 'OLD_ID' - DataType = datInteger - Value = '' - ParamType = daptInput - end> - Statements = < - item - Connection = 'IBX' - TargetTable = 'EMPRESAS_DATOS_BANCO' - SQL = - 'UPDATE EMPRESAS_DATOS_BANCO'#10' SET '#10' ID_EMPRESA = :ID_EMPRESA,' + - #10' NOMBRE = :NOMBRE, '#10' ENTIDAD = :ENTIDAD, '#10' SUCURSAL = ' + - ':SUCURSAL, '#10' DC = :DC, '#10' CUENTA = :CUENTA, '#10' SUFIJO_N19' + - ' = :SUFIJO_N19, '#10' SUFIJO_N58 = :SUFIJO_N58'#10' WHERE'#10' (ID = ' + - ':OLD_ID)' - StatementType = stSQL - ColumnMappings = <> - end> - Name = 'Update_EmpresasDatosBanco' - end> + Commands = <> RelationShips = < item Name = 'FK_EmpresasDatosBanco_Empresas' @@ -1300,11 +423,6 @@ object srvEmpresas: TsrvEmpresas end object DataDictionary: TDADataDictionary Fields = < - item - Name = 'Empresas_ID' - DataType = datInteger - DisplayLabel = 'ID' - end item Name = 'Empresas_NIF_CIF' DataType = datString @@ -1430,11 +548,6 @@ object srvEmpresas: TsrvEmpresas DataType = datFloat DisplayLabel = 'IVA' end - item - Name = 'EmpresasDatosBanco_ID' - DataType = datInteger - DisplayLabel = 'ID' - end item Name = 'EmpresasDatosBanco_ID_EMPRESA' DataType = datInteger @@ -1480,6 +593,26 @@ object srvEmpresas: TsrvEmpresas DataType = datString Size = 3 DisplayLabel = 'Sufijo 58' + end + item + Name = 'Empresas_ID' + DataType = datAutoInc + GeneratorName = 'GEN_EMPRESAS_ID' + LogChanges = False + Required = True + DisplayLabel = 'ID' + ReadOnly = True + ServerAutoRefresh = True + end + item + Name = 'EmpresasDatosBanco_ID' + DataType = datAutoInc + GeneratorName = 'GEN_EMPRESAS_DATOS_BANCO_ID' + LogChanges = False + Required = True + DisplayLabel = 'ID' + ReadOnly = True + ServerAutoRefresh = True end> Left = 158 Top = 22 @@ -1490,30 +623,8 @@ object srvEmpresas: TsrvEmpresas DiagramData = ''#13#10' '#13#10' '#13#10' '#13#10' '#13#10''#13#10 - end - object bpEmpresas: TDABusinessProcessor - Schema = schEmpresas - InsertCommandName = 'Insert_Empresas' - DeleteCommandName = 'Delete_Empresas' - UpdateCommandName = 'Update_Empresas' - ReferencedDataset = 'Empresas' - ProcessorOptions = [poAutoGenerateRefreshDataset, poPrepareCommands] - UpdateMode = updWhereKeyOnly - Left = 264 - Top = 24 - end - object bpEmpresasDatosBanco: TDABusinessProcessor - Schema = schEmpresas - InsertCommandName = 'Insert_EmpresasDatosBanco' - DeleteCommandName = 'Delete_EmpresasDatosBanco' - UpdateCommandName = 'Update_EmpresasDatosBanco' - ReferencedDataset = 'EmpresasDatosBanco' - ProcessorOptions = [poAutoGenerateRefreshDataset, poPrepareCommands] - UpdateMode = updWhereKeyOnly - Left = 264 - Top = 88 + 'Left="311,00" Top="2,00" />'#13#10' '#13#10' '#13#10''#13#10 end object DABin2DataStreamer: TDABin2DataStreamer Left = 48 diff --git a/Source/Modulos/Empresas/Servidor/srvEmpresas_Impl.pas b/Source/Modulos/Empresas/Servidor/srvEmpresas_Impl.pas index 9c2ca8bd..68407ec0 100644 --- a/Source/Modulos/Empresas/Servidor/srvEmpresas_Impl.pas +++ b/Source/Modulos/Empresas/Servidor/srvEmpresas_Impl.pas @@ -21,20 +21,17 @@ type { TsrvEmpresas } TsrvEmpresas = class(TDataAbstractService, IsrvEmpresas) Diagrams: TDADiagrams; - bpEmpresas: TDABusinessProcessor; - bpEmpresasDatosBanco: TDABusinessProcessor; DABin2DataStreamer: TDABin2DataStreamer; schEmpresas: TDASchema; DataDictionary: TDADataDictionary; - procedure DARemoteServiceBeforeGetDatasetData(const Dataset: IDADataset; - const IncludeSchema: Boolean; const MaxRecords: Integer); procedure DARemoteServiceCreate(Sender: TObject); procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject; var aConnectionName: string); + procedure DataAbstractServiceBeforeGetDatasetData(aSender: TObject; + const aDataset: IDADataset; const aIncludeSchema: Boolean; + const aMaxRecords: Integer); private protected - { IsrvEmpresas methods } - function GetNextAutoInc(const GeneratorName: String): Integer; end; implementation @@ -52,20 +49,6 @@ begin end; { srvEmpresas } -procedure TsrvEmpresas.DARemoteServiceBeforeGetDatasetData( - const Dataset: IDADataset; const IncludeSchema: Boolean; - const MaxRecords: Integer); -begin - Exit; - - if (DataSet.Name <> nme_EmpresasDatosBanco) then - begin - { Aquí se asegura que el usuario sólo accede a las empresas a - las que tiene permiso para acceder filtrando DataSet por ID_EMPRESA. } - FiltrarAccesoUsuario(Session, Connection, schEmpresas, DataSet, fld_EmpresasID); - end; -end; - procedure TsrvEmpresas.DARemoteServiceCreate(Sender: TObject); begin SessionManager := dmServer.SessionManager; @@ -77,9 +60,17 @@ begin ConnectionName := dmServer.ConnectionName; end; -function TsrvEmpresas.GetNextAutoInc(const GeneratorName: String): Integer; +procedure TsrvEmpresas.DataAbstractServiceBeforeGetDatasetData(aSender: TObject; + const aDataset: IDADataset; const aIncludeSchema: Boolean; + const aMaxRecords: Integer); begin - Result := uDatabaseUtils.GetNextAutoInc(GeneratorName) + Exit; + if (aDataset.Name <> nme_EmpresasDatosBanco) then + begin + { Aquí se asegura que el usuario sólo accede a las empresas a + las que tiene permiso para acceder filtrando DataSet por ID_EMPRESA. } + FiltrarAccesoUsuario(Session, Connection, ServiceSchema, aDataset, fld_EmpresasID); + end; end; initialization diff --git a/Source/Modulos/Empresas/Test/Empresas_Tests.dproj b/Source/Modulos/Empresas/Test/Empresas_Tests.dproj new file mode 100644 index 00000000..97df5837 --- /dev/null +++ b/Source/Modulos/Empresas/Test/Empresas_Tests.dproj @@ -0,0 +1,579 @@ + + + {a12ecf04-330a-4a69-9080-e0e6821e2fc3} + Empresas_Tests.dpr + Debug + AnyCPU + true + DataAbstract_D10;Base;GUIBase;Empresas_model;Empresas_controller + DCC32 + ..\..\..\..\Output\Debug\Cliente\Empresas_Tests.exe + + + 7.0 + False + False + 0 + 3 + ..\..\..\..\Output\Debug\Cliente + .\ + .\ + .\ + ..\..\Lib + ..\..\..\Lib;..\..\Lib + ..\..\..\Lib;..\..\Lib + ..\..\..\Lib;..\..\Lib + ..\..\..\Lib;..\..\Lib + _CONSOLE_TESTRUNNER;EUREKALOG;EUREKALOG_VER5;RELEASE + + + 7.0 + 3 + ..\..\..\..\Output\Debug\Cliente + .\ + .\ + .\ + ..\..\Lib + ..\..\..\Lib;..\..\Lib + ..\..\..\Lib;..\..\Lib + ..\..\..\Lib;..\..\Lib + ..\..\..\Lib;..\..\Lib + _CONSOLE_TESTRUNNER;EUREKALOG;EUREKALOG_VER5;DEBUG + + + Delphi.Personality + + + + False + True + False + + + True + False + 1 + 0 + 0 + 0 + False + False + False + False + False + 3082 + 1252 + + + + Empresas (Test) + 1.0.0.0 + + + + + + 1.0.0.0 + + + + Empresas_Tests.dpr + + + + + + + MainSource + + + +
HostMainForm
+
+
+ +
+ + diff --git a/Source/Modulos/Empresas/Views/Empresas_view.drc b/Source/Modulos/Empresas/Views/Empresas_view.drc index 83f3a192..08b60d23 100644 --- a/Source/Modulos/Empresas/Views/Empresas_view.drc +++ b/Source/Modulos/Empresas/Views/Empresas_view.drc @@ -17,4 +17,4 @@ END /* C:\Codigo Tecsitel\Source\Modulos\Empresas\Views\uEditorEmpresa.dfm */ /* C:\Codigo Tecsitel\Source\Modulos\Empresas\Views\uEditorDatosBancariosEmpresa.dfm */ /* C:\Codigo Tecsitel\Source\Modulos\Empresas\Views\Empresas_view.res */ -/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf213.tmp */ +/* C:\Codigo Tecsitel\Source\Modulos\Empresas\Views\Empresas_view.drf */ diff --git a/Source/Modulos/Formas de pago/Controller/uFormasPagoController.pas b/Source/Modulos/Formas de pago/Controller/uFormasPagoController.pas index 804915c6..5a868a5b 100644 --- a/Source/Modulos/Formas de pago/Controller/uFormasPagoController.pas +++ b/Source/Modulos/Formas de pago/Controller/uFormasPagoController.pas @@ -32,7 +32,6 @@ type function ValidarFormaPago(AFormaPago: IBizFormaPago): Boolean; procedure AsignarDataModule; - procedure AsignarID(AFormaPago: IBizFormaPago; const IDNuevo: Integer); public constructor Create; virtual; @@ -70,25 +69,6 @@ begin FDataModule := TDataModuleFormasPago.Create(Nil); end; -procedure TFormasPagoController.AsignarID(AFormaPago: IBizFormaPago; - const IDNuevo: Integer); -begin - if not Assigned(AFormaPago) then - raise Exception.Create ('Forma de pago no asignada'); - - { Los plazos hay que comprobarlos siempre - tanto en inserción como en modificación. } - if Assigned(AFormaPago.Plazos) then - FPlazosController.AsignarID(AFormaPago.Plazos, IDNuevo, AFormaPago.EsNuevo); - - if AFormaPago.EsNuevo then - begin - AFormaPago.Edit; - AFormaPago.ID := IDNuevo; - AFormaPago.Post; - end; -end; - function TFormasPagoController.Buscar(ID: Integer): IBizFormaPago; begin ShowHourglassCursor; @@ -184,11 +164,6 @@ begin if Length(AFormaPago.DESCRIPCION) = 0 then raise Exception.Create('Debe indicar una descripción para esta forma de pago.'); - if not Assigned(AFormaPago.Plazos) - or (AFormaPago.Plazos.RecordCount = 0) then - if (ShowConfirmMessage('¿La forma de pago no tiene plazos establecidos, por lo tanto no se generarán recibos para facturas con esta forma de pago, ¿desea continuar?', '') = IDNO) then - Exit; - Result := True; end; @@ -266,8 +241,6 @@ begin end; function TFormasPagoController.Guardar(AFormaPago: IBizFormaPago): Boolean; -var - NuevoID : Integer; begin Result := False; @@ -275,14 +248,7 @@ begin begin ShowHourglassCursor; try - if AFormaPago.EsNuevo then - NuevoID := FDataModule.GetNextID(AFormaPago.DataTable.LogicalName) - else - NuevoID := AFormaPago.ID; - - AsignarID(AFormaPago, NuevoID); AFormaPago.DataTable.ApplyUpdates; - Result := True; finally HideHourglassCursor; diff --git a/Source/Modulos/Formas de pago/Controller/uFormasPagoPlazosController.pas b/Source/Modulos/Formas de pago/Controller/uFormasPagoPlazosController.pas index ddcb9c64..d0991d08 100644 --- a/Source/Modulos/Formas de pago/Controller/uFormasPagoPlazosController.pas +++ b/Source/Modulos/Formas de pago/Controller/uFormasPagoPlazosController.pas @@ -9,14 +9,12 @@ uses type IFormasPagoPlazosController = interface ['{3FCE2A31-9783-45F9-96D6-1157165AB8DB}'] - procedure AsignarID(ADetalles: IBizFormaPagoPlazos; IDCabecera: Integer; AEsNuevo:Boolean); end; TFormasPagoPlazosController = class(TInterfacedObject, IFormasPagoPlazosController) private FDataModule : IDataModuleFormasPago; public - procedure AsignarID(ADetalles: IBizFormaPagoPlazos; IDCabecera: Integer; AEsNuevo:Boolean); constructor Create; virtual; destructor Destroy; override; end; @@ -29,75 +27,6 @@ uses uDataModuleFormasPago, uEditorRegistryUtils, cxControls, schFormasPagoClient_Intf; -procedure TFormasPagoPlazosController.AsignarID( - ADetalles: IBizFormaPagoPlazos; IDCabecera: Integer; - AEsNuevo: Boolean); -begin - with ADetalles do - begin - DataTable.DisableControls; - try - if not DataTable.Active then - DataTable.Active := True; - -// AuxPosicion := POSICION; - - { ¡¡¡¡ OJO !!!! - Para asignar el ID en los detalles hay - que tener en cuenta una cosa: - Si se cambia el ID, ese detalle ya no - pertenece a esa cabecera porque ya no se - cumple la condición de la relacion: - Master.ID = Detail.ID_PRESUPUESTO. - - Por esa razón no sirve hacer un recorrido - desde el principio hasta el final porque - las detalles van desapareciendo según asignamos - el valor al campo ID y nos mueve aleatoriamente - la posición del registro actual. - - Es mejor hacer un bucle sencillo hasta que - "se gasten" todos los detalles. Cuando el - RecordCount llegue a 0 quiere decir que hemos - tratado todos los detalles. - - El bucle cambia en el caso de ser llamada esta funcion desde modificar - un presupuesto ya que en ese caso si que hay que hacer un recorrido - total de las tuplas de detalle. - } - - if AEsNuevo then - begin - while RecordCount > 0 do - begin - DataTable.First; - Edit; - ID := FDataModule.GetNextID(DataTable.LogicalName); - ID_FORMA_PAGO := IDCabecera; - Post - end - end - else - begin - DataTable.First; - while not DataTable.EOF do - begin - if ADetalles.EsNuevo then - begin - Edit; - ID := FDataModule.GetNextID(DataTable.LogicalName); - ID_FORMA_PAGO := IDCabecera; - Post - end; - DataTable.Next - end; - end; - finally - DataTable.EnableControls; - end; - end; -end; - constructor TFormasPagoPlazosController.Create; begin inherited; diff --git a/Source/Modulos/Formas de pago/Data/uDataModuleFormasPago.dfm b/Source/Modulos/Formas de pago/Data/uDataModuleFormasPago.dfm index a4ebbea7..1ebc2a36 100644 --- a/Source/Modulos/Formas de pago/Data/uDataModuleFormasPago.dfm +++ b/Source/Modulos/Formas de pago/Data/uDataModuleFormasPago.dfm @@ -29,9 +29,10 @@ object DataModuleFormasPago: TDataModuleFormasPago Fields = < item Name = 'ID' - DataType = datInteger + DataType = datAutoInc + GeneratorName = 'GEN_FORMAS_PAGO_ID' Required = True - DisplayLabel = 'FormasPago_ID' + ServerAutoRefresh = True DictionaryEntry = 'FormasPago_ID' InPrimaryKey = True end @@ -46,7 +47,7 @@ object DataModuleFormasPago: TDataModuleFormasPago Name = 'DESCRIPCION' DataType = datString Size = 255 - DisplayLabel = 'Descripci'#195#179'n' + DisplayLabel = 'Descripci'#243'n' DictionaryEntry = 'FormasPago_DESCRIPCION' end item @@ -60,14 +61,14 @@ object DataModuleFormasPago: TDataModuleFormasPago Name = 'ENTIDAD' DataType = datString Size = 15 - DisplayLabel = 'C'#195#179'd. Entidad' + DisplayLabel = 'C'#243'd. Entidad' DictionaryEntry = 'FormasPago_ENTIDAD' end item Name = 'SUCURSAL' DataType = datString Size = 15 - DisplayLabel = 'C'#195#179'd. Sucusal' + DisplayLabel = 'C'#243'd. Sucusal' DictionaryEntry = 'FormasPago_SUCURSAL' end item @@ -80,7 +81,7 @@ object DataModuleFormasPago: TDataModuleFormasPago Name = 'CUENTA' DataType = datString Size = 15 - DisplayLabel = 'C'#195#179'd. Cuenta' + DisplayLabel = 'C'#243'd. Cuenta' DictionaryEntry = 'FormasPago_CUENTA' end> Params = <> @@ -103,9 +104,11 @@ object DataModuleFormasPago: TDataModuleFormasPago Fields = < item Name = 'ID' - DataType = datInteger + DataType = datAutoInc + GeneratorName = 'GEN_FORMAS_PAGO_PLAZOS_ID' Required = True DisplayLabel = 'FormasPagoPlazos_ID' + ServerAutoRefresh = True DictionaryEntry = 'FormasPagoPlazos_ID' InPrimaryKey = True end @@ -119,7 +122,7 @@ object DataModuleFormasPago: TDataModuleFormasPago item Name = 'NUM_DIAS' DataType = datSmallInt - DisplayLabel = 'Num. d'#195#173'as' + DisplayLabel = 'Num. d'#237'as' DictionaryEntry = 'FormasPagoPlazos_NUM_DIAS' end item diff --git a/Source/Modulos/Formas de pago/Data/uDataModuleFormasPago.pas b/Source/Modulos/Formas de pago/Data/uDataModuleFormasPago.pas index 80727427..15b5f82b 100644 --- a/Source/Modulos/Formas de pago/Data/uDataModuleFormasPago.pas +++ b/Source/Modulos/Formas de pago/Data/uDataModuleFormasPago.pas @@ -22,11 +22,9 @@ type ds_FormasPagoPlazos: TDADataSource; procedure DAClientDataModuleCreate(Sender: TObject); protected - function DarNombreGenerador(DataSetName: String): String; virtual; function _GetPlazos: IBizFormaPagoPlazos; public function GetItems: IBizFormaPago; - function GetNextID(const DataSetName : String) : Integer; end; implementation @@ -45,24 +43,6 @@ begin RORemoteService.Message := dmConexion.Message; end; -function TDataModuleFormasPago.DarNombreGenerador(DataSetName: String): String; -begin - Result := ''; - if DataSetName = nme_FormasPago then - Result := 'GEN_FORMAS_PAGO_ID' - else - if DataSetName = nme_FormasPagoPlazos then - Result := 'GEN_FORMAS_PAGO_PLAZOS_ID'; -end; - -function TDataModuleFormasPago.GetNextID(const DataSetName: String): Integer; -var - aGeneratorName : String; -begin - aGeneratorName := DarNombreGenerador(DataSetName); - Result := (RORemoteService as IsrvFormasPago).GetNextAutoInc(aGeneratorName) -end; - function TDataModuleFormasPago._GetPlazos: IBizFormaPagoPlazos; var APlazos : TDAMemDataTable; diff --git a/Source/Modulos/Formas de pago/Model/Data/uIDataModuleFormasPago.pas b/Source/Modulos/Formas de pago/Model/Data/uIDataModuleFormasPago.pas index 3e2ce2ce..c27c4c8e 100644 --- a/Source/Modulos/Formas de pago/Model/Data/uIDataModuleFormasPago.pas +++ b/Source/Modulos/Formas de pago/Model/Data/uIDataModuleFormasPago.pas @@ -9,7 +9,6 @@ type IDataModuleFormasPago = interface ['{CC6A63E1-2AF2-40E5-B6DC-46CC1549AA56}'] function GetItems: IBizFormaPago; - function GetNextID(const DataSetName : String) : Integer; end; implementation diff --git a/Source/Modulos/Formas de pago/Model/FormasPago_model.dproj b/Source/Modulos/Formas de pago/Model/FormasPago_model.dproj index 051bd612..d10da95c 100644 --- a/Source/Modulos/Formas de pago/Model/FormasPago_model.dproj +++ b/Source/Modulos/Formas de pago/Model/FormasPago_model.dproj @@ -40,7 +40,7 @@ Delphi.Personality Package -FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0FormasPago_model.dpk +FalseTrueFalseTrueFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0FormasPago_model.dpk
@@ -61,7 +61,6 @@ - diff --git a/Source/Modulos/Tipos de IVA/Data/TiposIVA_data.drc b/Source/Modulos/Tipos de IVA/Data/TiposIVA_data.drc index 9068ac95..79a33f19 100644 --- a/Source/Modulos/Tipos de IVA/Data/TiposIVA_data.drc +++ b/Source/Modulos/Tipos de IVA/Data/TiposIVA_data.drc @@ -12,6 +12,6 @@ STRINGTABLE BEGIN END -/* C:\Codigo Tecsitel\Source\Modulos\Tipos de IVA\Data\uDataModuleTiposIVA.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Tipos de IVA\Data\uDataModuleTiposIVA.DFM */ /* C:\Codigo Tecsitel\Source\Modulos\Tipos de IVA\Data\TiposIVA_data.res */ -/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf223.tmp */ +/* C:\Codigo Tecsitel\Source\Modulos\Tipos de IVA\Data\TiposIVA_data.drf */ diff --git a/Source/Modulos/Tipos de IVA/Data/TiposIVA_data.res b/Source/Modulos/Tipos de IVA/Data/TiposIVA_data.res index 8b251f312bcccec5485024f6fe8d80e1cdf25746..1641339fcc482e7e3492d1b45813a86619622c33 100644 GIT binary patch literal 4748 zcmbW5&ub)A5XUPdpe&2#;C*uNAUVhgd+&(4um@dnom`vXF9g}ZuHJ;se=<3UNdFJg zbCw+UD9j$byGIXV`~6hC>h4S?F|k9X-j90q{Z_qtZ<;nUJCO8!h?p${kR>3GhM`oH*q zk=UsjOCIgA_4!`B+Gb&`I84R)bT4dy-BQV<-SyFz?R8ILEQ(+JB$u{sEXE@j@B*7W zT;iZH#|OJ<&DO$RCkM6VbK3(B(k{nbdv1lpc;E$xz9as|v3uE1V{hw2w~g3eD0an7 z{BT%G%irdMe*|oDJmgvJaA2`9B<6Xi*?M~Q;)@Sbfwf3uf zVaWkbUjU=;sL{BlYemIZXv%qZ{SZw{-TCU+;!nH6KDDIJumU+9{E0zXW4>7T)y|>$DQlv zRJe?TjSp{c!DqeayAnSMTtZZT;>LN7J0Rls+5m@q)MbyB*eL%Eu@(+$Cw}Pd@q7N| z%Q0*AHpCP^b9v`@jx-l_FD>khpW2W8(OU2&V5TrnoAY-m_hlcV?zq3;7{2gF{J#Hc z6R+o~mVenX?>@W0@_DVzyOFs(5464CY{!q9ChoF#_*eXi@4gFuV8?vhl=_w5$iKL0 zEV0nMBcN08xtRmsgJrqjh@s#|{?*ssnsG)mH*wa6{efF0JFWHok@kA5%b661{B38= zCcgJ|*ZFTpV$8<-&+AWpa)Q8*`wL&hMeNQ^v6I7$HSdLZhZ^&+6<@Uw_Zsml9^v3W zVvPDBKHh;i=RU4J_ta3E;)Mn>Y+L zKLZ0UQ+*km9FO-b?U4gmn-62iwzH6&*duKGo~aUV)bYDla8wWZ9+^7p-F<8lP@i!m z@vhbD_${F}h>^T;C(?(b*OJDk?{dEXB?nuehoON3HAb!7Mr7-ls!84-5V-jJugbu<_$}mU=Yd9!?TOX;|B-#B)+0x#9q*yqJiqS!`49d=7ztk$O+9=1i;?K_|J<8T z?0b7=-`Z3A#vV$4XJ5(lQ~TOZHUFdA%oWvK5zg&_IKXIbughQBA8XAsd#=@|TFLXC zy(^m((;DnQmDQKatmw!@c`| G?EMQ&4NnpP delta 11 ScmeBCZD5|Duvteife`=|>;pCc diff --git a/Source/Modulos/Tipos de IVA/Data/uDataModuleTiposIVA.dfm b/Source/Modulos/Tipos de IVA/Data/uDataModuleTiposIVA.dfm index 117cff97..da3a06a0 100644 --- a/Source/Modulos/Tipos de IVA/Data/uDataModuleTiposIVA.dfm +++ b/Source/Modulos/Tipos de IVA/Data/uDataModuleTiposIVA.dfm @@ -4,45 +4,35 @@ object DataModuleTiposIVA: TDataModuleTiposIVA Height = 414 Width = 518 object RORemoteService: TRORemoteService - Message = ROBinMessage1 - Channel = ROWinInetHTTPChannel1 + Message = dmConexion.ROMessage + Channel = dmConexion.ROChannel ServiceName = 'srvTiposIVA' Left = 48 Top = 24 end - object DADesigntimeCall1: TDADesigntimeCall - RemoteService = LoginRemoteService - Params = <> - Left = 48 - Top = 160 + object rda_TiposIVA: TDARemoteDataAdapter + GetSchemaCall.RemoteService = RORemoteService + GetDataCall.RemoteService = RORemoteService + UpdateDataCall.RemoteService = RORemoteService + GetScriptsCall.RemoteService = RORemoteService + RemoteService = RORemoteService + DataStreamer = Bin2DataStreamer + Left = 203 + Top = 23 end - object LoginRemoteService: TRORemoteService - Message = ROBinMessage1 - Channel = ROWinInetHTTPChannel1 - ServiceName = 'srvLogin' + object Bin2DataStreamer: TDABin2DataStreamer Left = 48 - Top = 216 + Top = 96 end - object ROWinInetHTTPChannel1: TROWinInetHTTPChannel - UserAgent = 'RemObjects SDK' - TargetURL = 'http://localhost:8099/bin' - ServerLocators = <> - DispatchOptions = [] - Left = 48 - Top = 272 - end - object ROBinMessage1: TROBinMessage - Left = 48 - Top = 324 - end - object tbl_TiposIVA: TDACDSDataTable + object tbl_TiposIVA: TDAMemDataTable RemoteUpdatesOptions = [] Fields = < item Name = 'ID' - DataType = datInteger - DisplayLabel = 'TIPOS_IVA_ID' - DictionaryEntry = 'TIPOS_IVA_ID' + DataType = datAutoInc + GeneratorName = 'GEN_TIPOS_IVA_ID' + ServerAutoRefresh = True + DictionaryEntry = 'TiposIVA_ID' InPrimaryKey = True end item @@ -56,14 +46,13 @@ object DataModuleTiposIVA: TDataModuleTiposIVA Name = 'DESCRIPCION' DataType = datString Size = 255 - DisplayLabel = 'Descripci'#243'n' + DisplayLabel = 'Descripci'#195#179'n' DictionaryEntry = 'TIPOS_IVA_DESCRIPCION' end item Name = 'IVA' DataType = datFloat DisplayLabel = '% IVA' - DisplayFormat = ',0.00 %;-,0.00 %' Alignment = taRightJustify DictionaryEntry = 'TIPOS_IVA_IVA' end @@ -71,38 +60,22 @@ object DataModuleTiposIVA: TDataModuleTiposIVA Name = 'RE' DataType = datFloat DisplayLabel = '% RE' - DisplayFormat = ',0.00 %;-,0.00 %' Alignment = taRightJustify DictionaryEntry = 'TIPOS_IVA_RE' end> Params = <> - MasterMappingMode = mmDataRequest StreamingOptions = [soDisableEventsWhileStreaming] RemoteDataAdapter = rda_TiposIVA DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'TiposIVA' - IndexDefs = <> - Left = 216 + Left = 296 Top = 24 end object ds_TiposIVA: TDADataSource DataSet = tbl_TiposIVA.Dataset DataTable = tbl_TiposIVA - Left = 216 - Top = 88 - end - object rda_TiposIVA: TDARemoteDataAdapter - GetSchemaCall.RemoteService = RORemoteService - GetDataCall.RemoteService = RORemoteService - UpdateDataCall.RemoteService = RORemoteService - GetScriptsCall.RemoteService = RORemoteService - RemoteService = RORemoteService - Left = 307 - Top = 23 - end - object DataStreamer: TDABinDataStreamer - Left = 48 - Top = 76 + Left = 296 + Top = 96 end end diff --git a/Source/Modulos/Tipos de IVA/Data/uDataModuleTiposIVA.pas b/Source/Modulos/Tipos de IVA/Data/uDataModuleTiposIVA.pas index 388b204e..78a33514 100644 --- a/Source/Modulos/Tipos de IVA/Data/uDataModuleTiposIVA.pas +++ b/Source/Modulos/Tipos de IVA/Data/uDataModuleTiposIVA.pas @@ -32,35 +32,20 @@ uses uDADesigntimeCall, uIDataModuleTiposIVA, uBizTiposIVA, uDADataStreamer, uDARemoteDataAdapter, - uDAInterfaces, uRODynamicRequest; + uDAInterfaces, uRODynamicRequest, uDABin2DataStreamer, uDAMemDataTable; type TDataModuleTiposIVA = class(TDAClientDataModule, IDataModuleTiposIVA) RORemoteService: TRORemoteService; - DADesigntimeCall1: TDADesigntimeCall; - LoginRemoteService: TRORemoteService; - ROWinInetHTTPChannel1: TROWinInetHTTPChannel; - ROBinMessage1: TROBinMessage; - tbl_TiposIVA: TDACDSDataTable; - ds_TiposIVA: TDADataSource; rda_TiposIVA: TDARemoteDataAdapter; - DataStreamer: TDABinDataStreamer; + Bin2DataStreamer: TDABin2DataStreamer; + tbl_TiposIVA: TDAMemDataTable; + ds_TiposIVA: TDADataSource; procedure DAClientDataModuleCreate(Sender: TObject); - protected - function DarNombreGenerador(DataSetName: String): String; virtual; - function _CloneDataTable (const ADataTable : TDACDSDataTable): TDACDSDataTable; overload; - - // Descomentar si tiene detalles - // function _GetDetalles: IBizDetalles; public - function GetNextID(const DataSetName : String) : Integer; function GetItems: IBizTipoIVA; function GetItem(const ID : Integer) : IBizTipoIVA; function NewItem : IBizTipoIVA; - - // Descomentar si tiene informe - // function GetReport(const ATipoIVAID: Integer): Binary; - end; implementation @@ -73,80 +58,21 @@ uses { TDataModuleTiposIVA } - -// Descomentar si tiene informe -// function TDataModuleTiposIVA.GetReport(const ATipoIVAID: Integer): Binary; -// begin -// Result := (RORemoteService as IsrvTiposIVA).GenerateReport(ATipoIVAID) -// end; - procedure TDataModuleTiposIVA.DAClientDataModuleCreate(Sender: TObject); begin RORemoteService.Channel := dmConexion.Channel; RORemoteService.Message := dmConexion.Message; end; -function TDataModuleTiposIVA.DarNombreGenerador(DataSetName: String): String; -begin - Result := ''; - if DataSetName = nme_TiposIVA then - Result := 'GEN_TIPOS_IVA_ID' -end; - -function TDataModuleTiposIVA.GetNextID(const DataSetName: String): Integer; -var - aGeneratorName : String; -begin - aGeneratorName := DarNombreGenerador(DataSetName); - Result := (RORemoteService as IsrvTiposIVA).GetNextAutoInc(aGeneratorName) -end; - -function TDataModuleTiposIVA._CloneDataTable(const ADataTable : TDACDSDataTable): TDACDSDataTable; -begin - Result := NIL; - - if not Assigned(ADataTable) then - raise Exception.Create ('No se ha asignado la tabla de origen (CloneDataTable)'); - - Result := TDACDSDataTable.Create(NIL); - CloneDataTable(ADataTable, Result); -end; - - -// Descomentar si tiene detalles -// function TDataModuleTiposIVA._GetDetalles: IBizTipoIVADetalles; -// var -// ADetalles : TDACDSDataTable; -// begin -// ShowHourglassCursor; -// try -// ADetalles := _CloneDataTable(tbl_TiposIVADetalles); -// with ADetalles do -// begin -// BusinessRulesID := BIZ_CLIENT_TipoIVADETALLES; -// DetailOptions := DetailOptions - -// [dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates]; -// end; -// Result := (ADetalles as IBizTipoIVADetalles); -// finally -// HideHourglassCursor; -// end; -// end; - - function TDataModuleTiposIVA.GetItems: IBizTipoIVA; var - ATipoIVA : TDACDSDataTable; + ATipoIVA : TDAMemDataTable; begin ShowHourglassCursor; try - ATipoIVA := _CloneDataTable(tbl_TiposIVA); + ATipoIVA := CloneDataTable(tbl_TiposIVA); ATipoIVA.BusinessRulesID := BIZ_CLIENT_TipoIVA; - // Descomentar si tiene detalles - // with TBizTipoIVA(ATipoIVA.BusinessEventsObj) do - // Detalles := _GetDetalles; - Result := (ATipoIVA as IBizTipoIVA); finally HideHourglassCursor; @@ -163,14 +89,15 @@ begin ShowHourglassCursor; try Result := Self.GetItems; - with Result.DataTable.Where do + + // (ID = :ID) + with Result.DataTable.DynamicWhere do begin - if NotEmpty then - AddOperator(opAND); - OpenBraket; - AddText('TIPOS_IVA.' + fld_TiposIVAID + ' = ' + IntToStr(ID)); - CloseBraket; + Clear; + Expression := NewBinaryExpression(NewField('', fld_TiposIVAID), + NewConstant(ID, datInteger), dboEqual); end; + finally HideHourglassCursor; end; diff --git a/Source/Modulos/Tipos de IVA/Model/Data/uIDataModuleTiposIVA.pas b/Source/Modulos/Tipos de IVA/Model/Data/uIDataModuleTiposIVA.pas index e14ffc76..a248d9b7 100644 --- a/Source/Modulos/Tipos de IVA/Model/Data/uIDataModuleTiposIVA.pas +++ b/Source/Modulos/Tipos de IVA/Model/Data/uIDataModuleTiposIVA.pas @@ -32,7 +32,6 @@ type IDataModuleTiposIVA = interface ['{FF13E488-D185-4674-8A27-539BEC012B75}'] function GetItems: IBizTipoIVA; - function GetNextID(const DataSetName : String) : Integer; function GetItem(const ID : Integer) : IBizTipoIVA; function NewItem : IBizTipoIVA; diff --git a/Source/Modulos/Tipos de IVA/Model/TiposIVA_model.dpk b/Source/Modulos/Tipos de IVA/Model/TiposIVA_model.dpk index b1945a9f..56062824 100644 --- a/Source/Modulos/Tipos de IVA/Model/TiposIVA_model.dpk +++ b/Source/Modulos/Tipos de IVA/Model/TiposIVA_model.dpk @@ -31,8 +31,8 @@ requires contains uIDataModuleTiposIVA in 'Data\uIDataModuleTiposIVA.pas', + uBizTiposIVA in 'uBizTiposIVA.pas', schTiposIVAClient_Intf in 'schTiposIVAClient_Intf.pas', - schTiposIVAServer_Intf in 'schTiposIVAServer_Intf.pas', - uBizTiposIVA in 'uBizTiposIVA.pas'; + schTiposIVAServer_Intf in 'schTiposIVAServer_Intf.pas'; end. diff --git a/Source/Modulos/Tipos de IVA/Model/TiposIVA_model.dproj b/Source/Modulos/Tipos de IVA/Model/TiposIVA_model.dproj index b7105572..76b7ac35 100644 --- a/Source/Modulos/Tipos de IVA/Model/TiposIVA_model.dproj +++ b/Source/Modulos/Tipos de IVA/Model/TiposIVA_model.dproj @@ -42,23 +42,503 @@ Delphi.Personality Package -FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0TiposIVA_model.dpk +FalseTrueFalseTrueFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0TiposIVA_model.dpk
MainSource - - - - - - + + + + diff --git a/Source/Modulos/Tipos de IVA/Model/TiposIVA_model.drc b/Source/Modulos/Tipos de IVA/Model/TiposIVA_model.drc index 03bda96e..464611e3 100644 --- a/Source/Modulos/Tipos de IVA/Model/TiposIVA_model.drc +++ b/Source/Modulos/Tipos de IVA/Model/TiposIVA_model.drc @@ -13,4 +13,4 @@ BEGIN END /* C:\Codigo Tecsitel\Source\Modulos\Tipos de IVA\Model\TiposIVA_model.res */ -/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf221.tmp */ +/* C:\Codigo Tecsitel\Source\Modulos\Tipos de IVA\Model\TiposIVA_model.drf */ diff --git a/Source/Modulos/Tipos de IVA/Model/TiposIVA_model.res b/Source/Modulos/Tipos de IVA/Model/TiposIVA_model.res index 8b251f312bcccec5485024f6fe8d80e1cdf25746..1641339fcc482e7e3492d1b45813a86619622c33 100644 GIT binary patch literal 4748 zcmbW5&ub)A5XUPdpe&2#;C*uNAUVhgd+&(4um@dnom`vXF9g}ZuHJ;se=<3UNdFJg zbCw+UD9j$byGIXV`~6hC>h4S?F|k9X-j90q{Z_qtZ<;nUJCO8!h?p${kR>3GhM`oH*q zk=UsjOCIgA_4!`B+Gb&`I84R)bT4dy-BQV<-SyFz?R8ILEQ(+JB$u{sEXE@j@B*7W zT;iZH#|OJ<&DO$RCkM6VbK3(B(k{nbdv1lpc;E$xz9as|v3uE1V{hw2w~g3eD0an7 z{BT%G%irdMe*|oDJmgvJaA2`9B<6Xi*?M~Q;)@Sbfwf3uf zVaWkbUjU=;sL{BlYemIZXv%qZ{SZw{-TCU+;!nH6KDDIJumU+9{E0zXW4>7T)y|>$DQlv zRJe?TjSp{c!DqeayAnSMTtZZT;>LN7J0Rls+5m@q)MbyB*eL%Eu@(+$Cw}Pd@q7N| z%Q0*AHpCP^b9v`@jx-l_FD>khpW2W8(OU2&V5TrnoAY-m_hlcV?zq3;7{2gF{J#Hc z6R+o~mVenX?>@W0@_DVzyOFs(5464CY{!q9ChoF#_*eXi@4gFuV8?vhl=_w5$iKL0 zEV0nMBcN08xtRmsgJrqjh@s#|{?*ssnsG)mH*wa6{efF0JFWHok@kA5%b661{B38= zCcgJ|*ZFTpV$8<-&+AWpa)Q8*`wL&hMeNQ^v6I7$HSdLZhZ^&+6<@Uw_Zsml9^v3W zVvPDBKHh;i=RU4J_ta3E;)Mn>Y+L zKLZ0UQ+*km9FO-b?U4gmn-62iwzH6&*duKGo~aUV)bYDla8wWZ9+^7p-F<8lP@i!m z@vhbD_${F}h>^T;C(?(b*OJDk?{dEXB?nuehoON3HAb!7Mr7-ls!84-5V-jJugbu<_$}mU=Yd9!?TOX;|B-#B)+0x#9q*yqJiqS!`49d=7ztk$O+9=1i;?K_|J<8T z?0b7=-`Z3A#vV$4XJ5(lQ~TOZHUFdA%oWvK5zg&_IKXIbughQBA8XAsd#=@|TFLXC zy(^m((;DnQmDQKatmw!@c`| G?EMQ&4NnpP delta 11 ScmeBCZD5|Duvteife`=|>;pCc diff --git a/Source/Modulos/Tipos de IVA/Model/schTiposIVAClient_Intf.pas b/Source/Modulos/Tipos de IVA/Model/schTiposIVAClient_Intf.pas index 56bcd981..e970f8bf 100644 --- a/Source/Modulos/Tipos de IVA/Model/schTiposIVAClient_Intf.pas +++ b/Source/Modulos/Tipos de IVA/Model/schTiposIVAClient_Intf.pas @@ -3,13 +3,13 @@ unit schTiposIVAClient_Intf; interface uses - Classes, DB, SysUtils, uROClasses, uDADataTable; + Classes, DB, SysUtils, uROClasses, uDADataTable, FmtBCD, uROXMLIntf; const { Data table rules ids Feel free to change them to something more human readable but make sure they are unique in the context of your application } - RID_TiposIVA = '{D96E3FA9-3BEC-4A87-B5A6-F8A8AEF73D87}'; + RID_TiposIVA = '{700B374C-AA68-4A5B-9ACA-A0704A82A98D}'; { Data table names } nme_TiposIVA = 'TiposIVA'; @@ -31,26 +31,41 @@ const type { ITiposIVA } ITiposIVA = interface(IDAStronglyTypedDataTable) - ['{DEFBEA87-112C-4BFB-86E8-40085D5D6328}'] + ['{342A3165-77DD-40FB-8154-0D79346AC9D1}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); + function GetIDIsNull: Boolean; + procedure SetIDIsNull(const aValue: Boolean); function GetREFERENCIAValue: String; procedure SetREFERENCIAValue(const aValue: String); + function GetREFERENCIAIsNull: Boolean; + procedure SetREFERENCIAIsNull(const aValue: Boolean); function GetDESCRIPCIONValue: String; procedure SetDESCRIPCIONValue(const aValue: String); + function GetDESCRIPCIONIsNull: Boolean; + procedure SetDESCRIPCIONIsNull(const aValue: Boolean); function GetIVAValue: Float; procedure SetIVAValue(const aValue: Float); + function GetIVAIsNull: Boolean; + procedure SetIVAIsNull(const aValue: Boolean); function GetREValue: Float; procedure SetREValue(const aValue: Float); + function GetREIsNull: Boolean; + procedure SetREIsNull(const aValue: Boolean); { Properties } property ID: Integer read GetIDValue write SetIDValue; + property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull; property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue; + property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull; property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue; + property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull; property IVA: Float read GetIVAValue write SetIVAValue; + property IVAIsNull: Boolean read GetIVAIsNull write SetIVAIsNull; property RE: Float read GetREValue write SetREValue; + property REIsNull: Boolean read GetREIsNull write SetREIsNull; end; { TTiposIVADataTableRules } @@ -60,21 +75,36 @@ type { Property getters and setters } function GetIDValue: Integer; virtual; procedure SetIDValue(const aValue: Integer); virtual; + function GetIDIsNull: Boolean; virtual; + procedure SetIDIsNull(const aValue: Boolean); virtual; function GetREFERENCIAValue: String; virtual; procedure SetREFERENCIAValue(const aValue: String); virtual; + function GetREFERENCIAIsNull: Boolean; virtual; + procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual; function GetDESCRIPCIONValue: String; virtual; procedure SetDESCRIPCIONValue(const aValue: String); virtual; + function GetDESCRIPCIONIsNull: Boolean; virtual; + procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual; function GetIVAValue: Float; virtual; procedure SetIVAValue(const aValue: Float); virtual; + function GetIVAIsNull: Boolean; virtual; + procedure SetIVAIsNull(const aValue: Boolean); virtual; function GetREValue: Float; virtual; procedure SetREValue(const aValue: Float); virtual; + function GetREIsNull: Boolean; virtual; + procedure SetREIsNull(const aValue: Boolean); virtual; { Properties } property ID: Integer read GetIDValue write SetIDValue; + property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull; property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue; + property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull; property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue; + property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull; property IVA: Float read GetIVAValue write SetIVAValue; + property IVAIsNull: Boolean read GetIVAIsNull write SetIVAIsNull; property RE: Float read GetREValue write SetREValue; + property REIsNull: Boolean read GetREIsNull write SetREIsNull; public constructor Create(aDataTable: TDADataTable); override; @@ -84,7 +114,7 @@ type implementation -uses Variants; +uses Variants, uROBinaryHelpers; { TTiposIVADataTableRules } constructor TTiposIVADataTableRules.Create(aDataTable: TDADataTable); @@ -107,6 +137,17 @@ begin DataTable.Fields[idx_TiposIVAID].AsInteger := aValue; end; +function TTiposIVADataTableRules.GetIDIsNull: boolean; +begin + result := DataTable.Fields[idx_TiposIVAID].IsNull; +end; + +procedure TTiposIVADataTableRules.SetIDIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_TiposIVAID].AsVariant := Null; +end; + function TTiposIVADataTableRules.GetREFERENCIAValue: String; begin result := DataTable.Fields[idx_TiposIVAREFERENCIA].AsString; @@ -117,6 +158,17 @@ begin DataTable.Fields[idx_TiposIVAREFERENCIA].AsString := aValue; end; +function TTiposIVADataTableRules.GetREFERENCIAIsNull: boolean; +begin + result := DataTable.Fields[idx_TiposIVAREFERENCIA].IsNull; +end; + +procedure TTiposIVADataTableRules.SetREFERENCIAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_TiposIVAREFERENCIA].AsVariant := Null; +end; + function TTiposIVADataTableRules.GetDESCRIPCIONValue: String; begin result := DataTable.Fields[idx_TiposIVADESCRIPCION].AsString; @@ -127,6 +179,17 @@ begin DataTable.Fields[idx_TiposIVADESCRIPCION].AsString := aValue; end; +function TTiposIVADataTableRules.GetDESCRIPCIONIsNull: boolean; +begin + result := DataTable.Fields[idx_TiposIVADESCRIPCION].IsNull; +end; + +procedure TTiposIVADataTableRules.SetDESCRIPCIONIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_TiposIVADESCRIPCION].AsVariant := Null; +end; + function TTiposIVADataTableRules.GetIVAValue: Float; begin result := DataTable.Fields[idx_TiposIVAIVA].AsFloat; @@ -137,6 +200,17 @@ begin DataTable.Fields[idx_TiposIVAIVA].AsFloat := aValue; end; +function TTiposIVADataTableRules.GetIVAIsNull: boolean; +begin + result := DataTable.Fields[idx_TiposIVAIVA].IsNull; +end; + +procedure TTiposIVADataTableRules.SetIVAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_TiposIVAIVA].AsVariant := Null; +end; + function TTiposIVADataTableRules.GetREValue: Float; begin result := DataTable.Fields[idx_TiposIVARE].AsFloat; @@ -147,6 +221,17 @@ begin DataTable.Fields[idx_TiposIVARE].AsFloat := aValue; end; +function TTiposIVADataTableRules.GetREIsNull: boolean; +begin + result := DataTable.Fields[idx_TiposIVARE].IsNull; +end; + +procedure TTiposIVADataTableRules.SetREIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_TiposIVARE].AsVariant := Null; +end; + initialization RegisterDataTableRules(RID_TiposIVA, TTiposIVADataTableRules); diff --git a/Source/Modulos/Tipos de IVA/Model/schTiposIVAServer_Intf.pas b/Source/Modulos/Tipos de IVA/Model/schTiposIVAServer_Intf.pas index 9c626a44..2d8e0206 100644 --- a/Source/Modulos/Tipos de IVA/Model/schTiposIVAServer_Intf.pas +++ b/Source/Modulos/Tipos de IVA/Model/schTiposIVAServer_Intf.pas @@ -3,18 +3,18 @@ unit schTiposIVAServer_Intf; interface uses - Classes, DB, SysUtils, uROClasses, uDADataTable, uDABusinessProcessor, schTiposIVAClient_Intf; + Classes, DB, SysUtils, uROClasses, uDADataTable, uDABusinessProcessor, FmtBCD, uROXMLIntf, schTiposIVAClient_Intf; const { Delta rules ids Feel free to change them to something more human readable but make sure they are unique in the context of your application } - RID_TiposIVADelta = '{2A97AB6B-F1E7-4CEF-BB65-E0155C2C9A47}'; + RID_TiposIVADelta = '{22B67F19-4406-4659-A4A0-F4894916A1C1}'; type { ITiposIVADelta } ITiposIVADelta = interface(ITiposIVA) - ['{2A97AB6B-F1E7-4CEF-BB65-E0155C2C9A47}'] + ['{22B67F19-4406-4659-A4A0-F4894916A1C1}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldREFERENCIAValue : String; @@ -36,32 +36,57 @@ type protected { Property getters and setters } function GetIDValue: Integer; virtual; + function GetIDIsNull: Boolean; virtual; function GetOldIDValue: Integer; virtual; + function GetOldIDIsNull: Boolean; virtual; procedure SetIDValue(const aValue: Integer); virtual; + procedure SetIDIsNull(const aValue: Boolean); virtual; function GetREFERENCIAValue: String; virtual; + function GetREFERENCIAIsNull: Boolean; virtual; function GetOldREFERENCIAValue: String; virtual; + function GetOldREFERENCIAIsNull: Boolean; virtual; procedure SetREFERENCIAValue(const aValue: String); virtual; + procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual; function GetDESCRIPCIONValue: String; virtual; + function GetDESCRIPCIONIsNull: Boolean; virtual; function GetOldDESCRIPCIONValue: String; virtual; + function GetOldDESCRIPCIONIsNull: Boolean; virtual; procedure SetDESCRIPCIONValue(const aValue: String); virtual; + procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual; function GetIVAValue: Float; virtual; + function GetIVAIsNull: Boolean; virtual; function GetOldIVAValue: Float; virtual; + function GetOldIVAIsNull: Boolean; virtual; procedure SetIVAValue(const aValue: Float); virtual; + procedure SetIVAIsNull(const aValue: Boolean); virtual; function GetREValue: Float; virtual; + function GetREIsNull: Boolean; virtual; function GetOldREValue: Float; virtual; + function GetOldREIsNull: Boolean; virtual; procedure SetREValue(const aValue: Float); virtual; + procedure SetREIsNull(const aValue: Boolean); virtual; { Properties } property ID : Integer read GetIDValue write SetIDValue; + property IDIsNull : Boolean read GetIDIsNull write SetIDIsNull; property OldID : Integer read GetOldIDValue; + property OldIDIsNull : Boolean read GetOldIDIsNull; property REFERENCIA : String read GetREFERENCIAValue write SetREFERENCIAValue; + property REFERENCIAIsNull : Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull; property OldREFERENCIA : String read GetOldREFERENCIAValue; + property OldREFERENCIAIsNull : Boolean read GetOldREFERENCIAIsNull; property DESCRIPCION : String read GetDESCRIPCIONValue write SetDESCRIPCIONValue; + property DESCRIPCIONIsNull : Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull; property OldDESCRIPCION : String read GetOldDESCRIPCIONValue; + property OldDESCRIPCIONIsNull : Boolean read GetOldDESCRIPCIONIsNull; property IVA : Float read GetIVAValue write SetIVAValue; + property IVAIsNull : Boolean read GetIVAIsNull write SetIVAIsNull; property OldIVA : Float read GetOldIVAValue; + property OldIVAIsNull : Boolean read GetOldIVAIsNull; property RE : Float read GetREValue write SetREValue; + property REIsNull : Boolean read GetREIsNull write SetREIsNull; property OldRE : Float read GetOldREValue; + property OldREIsNull : Boolean read GetOldREIsNull; public constructor Create(aBusinessProcessor: TDABusinessProcessor); override; @@ -72,7 +97,7 @@ type implementation uses - Variants, uROBinaryHelpers; + Variants, uROBinaryHelpers, uDAInterfaces; { TTiposIVABusinessProcessorRules } constructor TTiposIVABusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); @@ -90,76 +115,156 @@ begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVAID]; end; +function TTiposIVABusinessProcessorRules.GetIDIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVAID]); +end; + function TTiposIVABusinessProcessorRules.GetOldIDValue: Integer; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_TiposIVAID]; end; +function TTiposIVABusinessProcessorRules.GetOldIDIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_TiposIVAID]); +end; + procedure TTiposIVABusinessProcessorRules.SetIDValue(const aValue: Integer); begin BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVAID] := aValue; end; +procedure TTiposIVABusinessProcessorRules.SetIDIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVAID] := Null; +end; + function TTiposIVABusinessProcessorRules.GetREFERENCIAValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVAREFERENCIA]; end; +function TTiposIVABusinessProcessorRules.GetREFERENCIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVAREFERENCIA]); +end; + function TTiposIVABusinessProcessorRules.GetOldREFERENCIAValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_TiposIVAREFERENCIA]; end; +function TTiposIVABusinessProcessorRules.GetOldREFERENCIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_TiposIVAREFERENCIA]); +end; + procedure TTiposIVABusinessProcessorRules.SetREFERENCIAValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVAREFERENCIA] := aValue; end; +procedure TTiposIVABusinessProcessorRules.SetREFERENCIAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVAREFERENCIA] := Null; +end; + function TTiposIVABusinessProcessorRules.GetDESCRIPCIONValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVADESCRIPCION]; end; +function TTiposIVABusinessProcessorRules.GetDESCRIPCIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVADESCRIPCION]); +end; + function TTiposIVABusinessProcessorRules.GetOldDESCRIPCIONValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_TiposIVADESCRIPCION]; end; +function TTiposIVABusinessProcessorRules.GetOldDESCRIPCIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_TiposIVADESCRIPCION]); +end; + procedure TTiposIVABusinessProcessorRules.SetDESCRIPCIONValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVADESCRIPCION] := aValue; end; +procedure TTiposIVABusinessProcessorRules.SetDESCRIPCIONIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVADESCRIPCION] := Null; +end; + function TTiposIVABusinessProcessorRules.GetIVAValue: Float; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVAIVA]; end; +function TTiposIVABusinessProcessorRules.GetIVAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVAIVA]); +end; + function TTiposIVABusinessProcessorRules.GetOldIVAValue: Float; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_TiposIVAIVA]; end; +function TTiposIVABusinessProcessorRules.GetOldIVAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_TiposIVAIVA]); +end; + procedure TTiposIVABusinessProcessorRules.SetIVAValue(const aValue: Float); begin BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVAIVA] := aValue; end; +procedure TTiposIVABusinessProcessorRules.SetIVAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVAIVA] := Null; +end; + function TTiposIVABusinessProcessorRules.GetREValue: Float; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVARE]; end; +function TTiposIVABusinessProcessorRules.GetREIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVARE]); +end; + function TTiposIVABusinessProcessorRules.GetOldREValue: Float; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_TiposIVARE]; end; +function TTiposIVABusinessProcessorRules.GetOldREIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_TiposIVARE]); +end; + procedure TTiposIVABusinessProcessorRules.SetREValue(const aValue: Float); begin BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVARE] := aValue; end; +procedure TTiposIVABusinessProcessorRules.SetREIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVARE] := Null; +end; + initialization RegisterBusinessProcessorRules(RID_TiposIVADelta, TTiposIVABusinessProcessorRules); diff --git a/Source/Modulos/Tipos de IVA/Servidor/srvTiposIVA_Impl.dfm b/Source/Modulos/Tipos de IVA/Servidor/srvTiposIVA_Impl.dfm index 84c17173..f1931b92 100644 --- a/Source/Modulos/Tipos de IVA/Servidor/srvTiposIVA_Impl.dfm +++ b/Source/Modulos/Tipos de IVA/Servidor/srvTiposIVA_Impl.dfm @@ -16,10 +16,6 @@ object srvTiposIVA: TsrvTiposIVA end object DataDictionary: TDADataDictionary Fields = < - item - Name = 'TIPOS_IVA_ID' - DataType = datInteger - end item Name = 'TIPOS_IVA_REFERENCIA' DataType = datString @@ -43,6 +39,13 @@ object srvTiposIVA: TsrvTiposIVA DataType = datFloat DisplayLabel = '% RE' Alignment = taRightJustify + end + item + Name = 'TiposIVA_ID' + DataType = datAutoInc + GeneratorName = 'GEN_TIPOS_IVA_ID' + DisplayLabel = 'ID' + ServerAutoRefresh = True end> Left = 150 Top = 24 @@ -58,10 +61,7 @@ object srvTiposIVA: TsrvTiposIVA item Connection = 'IBX' TargetTable = 'TIPOS_IVA' - SQL = - 'SELECT '#10' ID, REFERENCIA, DESCRIPCION, IVA, RE'#10' FROM'#10' TIPO' + - 'S_IVA' - StatementType = stSQL + StatementType = stAutoSQL ColumnMappings = < item DatasetField = 'ID' @@ -88,8 +88,10 @@ object srvTiposIVA: TsrvTiposIVA Fields = < item Name = 'ID' - DataType = datInteger - DictionaryEntry = 'TIPOS_IVA_ID' + DataType = datAutoInc + GeneratorName = 'GEN_TIPOS_IVA_ID' + ServerAutoRefresh = True + DictionaryEntry = 'TiposIVA_ID' InPrimaryKey = True end item @@ -117,156 +119,13 @@ object srvTiposIVA: TsrvTiposIVA end> JoinDataTables = <> UnionDataTables = <> - Commands = < - item - Params = < - item - Name = 'ID' - DataType = datInteger - Value = '' - ParamType = daptInput - end - item - Name = 'REFERENCIA' - DataType = datString - Size = 255 - Value = '' - ParamType = daptInput - end - item - Name = 'DESCRIPCION' - DataType = datString - Size = 255 - Value = '' - ParamType = daptInput - end - item - Name = 'IVA' - DataType = datFloat - Value = '' - ParamType = daptInput - end - item - Name = 'RE' - DataType = datFloat - Value = '' - ParamType = daptInput - end> - Statements = < - item - Connection = 'IBX' - TargetTable = 'TIPOS_IVA' - SQL = - 'INSERT'#10' INTO TIPOS_IVA'#10' (ID, REFERENCIA, DESCRIPCION, IVA, R' + - 'E)'#10' VALUES'#10' (:ID, :REFERENCIA, :DESCRIPCION, :IVA, :RE)' - StatementType = stSQL - ColumnMappings = <> - end> - Name = 'Insert_TiposIVA' - end - item - Params = < - item - Name = 'OLD_ID' - DataType = datInteger - Value = '' - ParamType = daptInput - end> - Statements = < - item - Connection = 'IBX' - TargetTable = 'TIPOS_IVA' - SQL = 'DELETE '#10' FROM'#10' TIPOS_IVA'#10' WHERE'#10' (ID = :OLD_ID)' - StatementType = stSQL - ColumnMappings = <> - end> - Name = 'Delete_TiposIVA' - end - item - Params = < - item - Name = 'REFERENCIA' - DataType = datString - Size = 255 - Value = '' - ParamType = daptInput - end - item - Name = 'DESCRIPCION' - DataType = datString - Size = 255 - Value = '' - ParamType = daptInput - end - item - Name = 'IVA' - DataType = datFloat - Value = '' - ParamType = daptInput - end - item - Name = 'RE' - DataType = datFloat - Value = '' - ParamType = daptInput - end - item - Name = 'OLD_ID' - DataType = datInteger - Value = '' - ParamType = daptInput - end> - Statements = < - item - Connection = 'IBX' - TargetTable = 'TIPOS_IVA' - SQL = - 'UPDATE TIPOS_IVA'#10' SET '#10' REFERENCIA = :REFERENCIA,'#10' DESCRI' + - 'PCION = :DESCRIPCION, '#10' IVA = :IVA, '#10' RE = :RE'#10' WHERE'#10' ' + - ' (ID = :OLD_ID)' - StatementType = stSQL - ColumnMappings = <> - end> - Name = 'Update_TiposIVA' - end> + Commands = <> RelationShips = <> - UpdateRules = < - item - Name = 'Insert Familias' - DoUpdate = False - DoDelete = False - DatasetName = 'Familias' - FailureBehavior = fbRaiseException - end - item - Name = 'Update Familias' - DoInsert = False - DoDelete = False - DatasetName = 'Familias' - FailureBehavior = fbRaiseException - end - item - Name = 'Delete Familias' - DoUpdate = False - DoInsert = False - DatasetName = 'Familias' - FailureBehavior = fbRaiseException - end> + UpdateRules = <> Version = 0 Left = 48 Top = 24 end - object bpTiposIVA: TDABusinessProcessor - Schema = schTiposIVA - InsertCommandName = 'Insert_TiposIVA' - DeleteCommandName = 'Delete_TiposIVA' - UpdateCommandName = 'Update_TiposIVA' - ReferencedDataset = 'TiposIVA' - ProcessorOptions = [poAutoGenerateRefreshDataset, poPrepareCommands] - UpdateMode = updWhereKeyOnly - Left = 251 - Top = 24 - end object Bin2DataStreamer: TDABin2DataStreamer Left = 48 Top = 88 diff --git a/Source/Modulos/Tipos de IVA/Servidor/srvTiposIVA_Impl.pas b/Source/Modulos/Tipos de IVA/Servidor/srvTiposIVA_Impl.pas index 64d268f9..8520cf15 100644 --- a/Source/Modulos/Tipos de IVA/Servidor/srvTiposIVA_Impl.pas +++ b/Source/Modulos/Tipos de IVA/Servidor/srvTiposIVA_Impl.pas @@ -22,17 +22,14 @@ type { TsrvTiposIVA } TsrvTiposIVA = class(TDataAbstractService, IsrvTiposIVA) Diagrams: TDADiagrams; + Bin2DataStreamer: TDABin2DataStreamer; schTiposIVA: TDASchema; DataDictionary: TDADataDictionary; - bpTiposIVA: TDABusinessProcessor; - Bin2DataStreamer: TDABin2DataStreamer; procedure DARemoteServiceCreate(Sender: TObject); procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject; var aConnectionName: string); private protected - { IsrvTiposIVA methods } - function GetNextAutoInc(const GeneratorName: String): Integer; end; implementation @@ -58,11 +55,6 @@ begin ConnectionName := dmServer.ConnectionName; end; -function TsrvTiposIVA.GetNextAutoInc(const GeneratorName: String): Integer; -begin - Result := uDatabaseUtils.GetNextAutoInc(GeneratorName) -end; - initialization TROClassFactory.Create('srvTiposIVA', Create_srvTiposIVA, TsrvTiposIVA_Invoker); diff --git a/Source/Servicios/FactuGES.RODL b/Source/Servicios/FactuGES.RODL index 4182462e..0fc95395 100644 --- a/Source/Servicios/FactuGES.RODL +++ b/Source/Servicios/FactuGES.RODL @@ -5,14 +5,6 @@ - - - - - - - - @@ -67,14 +59,6 @@ - - - - - - - - @@ -107,14 +91,6 @@ - - - - - - - - @@ -123,14 +99,6 @@ - - - - - - - - diff --git a/Source/Servicios/FactuGES_Intf.pas b/Source/Servicios/FactuGES_Intf.pas index 04aa2b4a..44667495 100644 --- a/Source/Servicios/FactuGES_Intf.pas +++ b/Source/Servicios/FactuGES_Intf.pas @@ -117,7 +117,6 @@ type { IsrvContactos } IsrvContactos = interface(IDataAbstractService) ['{28CCDC07-A3A4-4917-89B4-64423DC70C9D}'] - function GetNextAutoInc(const GeneratorName: String): Integer; function GenerateFichaEmpleadoReport(const EmpleadoID: String): Binary; function GenerateEtiquetasReport(const ContactosID: String): Binary; end; @@ -132,7 +131,6 @@ type protected function __GetInterfaceName:string; override; - function GetNextAutoInc(const GeneratorName: String): Integer; function GenerateFichaEmpleadoReport(const EmpleadoID: String): Binary; function GenerateEtiquetasReport(const ContactosID: String): Binary; end; @@ -163,7 +161,6 @@ type { IsrvEmpresas } IsrvEmpresas = interface(IDataAbstractService) ['{590F06D1-26B4-435B-B636-50CB8FFE6353}'] - function GetNextAutoInc(const GeneratorName: String): Integer; end; { CosrvEmpresas } @@ -176,7 +173,6 @@ type protected function __GetInterfaceName:string; override; - function GetNextAutoInc(const GeneratorName: String): Integer; end; { IsrvConfiguracion } @@ -218,7 +214,6 @@ type { IsrvFormasPago } IsrvFormasPago = interface(IDataAbstractService) ['{38AA9F85-B454-4A87-B6E8-E9C8BB2A17D9}'] - function GetNextAutoInc(const GeneratorName: String): Integer; end; { CosrvFormasPago } @@ -231,13 +226,11 @@ type protected function __GetInterfaceName:string; override; - function GetNextAutoInc(const GeneratorName: String): Integer; end; { IsrvTiposIVA } IsrvTiposIVA = interface(IDataAbstractService) ['{09B44AB5-6212-448A-8DF2-A503E3F2C9B1}'] - function GetNextAutoInc(const GeneratorName: String): Integer; end; { CosrvTiposIVA } @@ -250,7 +243,6 @@ type protected function __GetInterfaceName:string; override; - function GetNextAutoInc(const GeneratorName: String): Integer; end; implementation @@ -534,22 +526,6 @@ begin result := 'srvContactos'; end; -function TsrvContactos_Proxy.GetNextAutoInc(const GeneratorName: String): Integer; -begin - try - __Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GetNextAutoInc'); - __Message.Write('GeneratorName', TypeInfo(String), GeneratorName, []); - __Message.Finalize; - - __TransportChannel.Dispatch(__Message); - - __Message.Read('Result', TypeInfo(Integer), result, []); - finally - __Message.UnsetAttributes(__TransportChannel); - __Message.FreeStream; - end -end; - function TsrvContactos_Proxy.GenerateFichaEmpleadoReport(const EmpleadoID: String): Binary; begin try @@ -652,29 +628,11 @@ begin result := TsrvEmpresas_Proxy.Create(aMessage, aTransportChannel); end; -{ TsrvEmpresas_Proxy } - function TsrvEmpresas_Proxy.__GetInterfaceName:string; begin result := 'srvEmpresas'; end; -function TsrvEmpresas_Proxy.GetNextAutoInc(const GeneratorName: String): Integer; -begin - try - __Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GetNextAutoInc'); - __Message.Write('GeneratorName', TypeInfo(String), GeneratorName, []); - __Message.Finalize; - - __TransportChannel.Dispatch(__Message); - - __Message.Read('Result', TypeInfo(Integer), result, []); - finally - __Message.UnsetAttributes(__TransportChannel); - __Message.FreeStream; - end -end; - { CosrvConfiguracion } class function CosrvConfiguracion.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvConfiguracion; @@ -724,29 +682,11 @@ begin result := TsrvFormasPago_Proxy.Create(aMessage, aTransportChannel); end; -{ TsrvFormasPago_Proxy } - function TsrvFormasPago_Proxy.__GetInterfaceName:string; begin result := 'srvFormasPago'; end; -function TsrvFormasPago_Proxy.GetNextAutoInc(const GeneratorName: String): Integer; -begin - try - __Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GetNextAutoInc'); - __Message.Write('GeneratorName', TypeInfo(String), GeneratorName, []); - __Message.Finalize; - - __TransportChannel.Dispatch(__Message); - - __Message.Read('Result', TypeInfo(Integer), result, []); - finally - __Message.UnsetAttributes(__TransportChannel); - __Message.FreeStream; - end -end; - { CosrvTiposIVA } class function CosrvTiposIVA.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvTiposIVA; @@ -754,29 +694,11 @@ begin result := TsrvTiposIVA_Proxy.Create(aMessage, aTransportChannel); end; -{ TsrvTiposIVA_Proxy } - function TsrvTiposIVA_Proxy.__GetInterfaceName:string; begin result := 'srvTiposIVA'; end; -function TsrvTiposIVA_Proxy.GetNextAutoInc(const GeneratorName: String): Integer; -begin - try - __Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GetNextAutoInc'); - __Message.Write('GeneratorName', TypeInfo(String), GeneratorName, []); - __Message.Finalize; - - __TransportChannel.Dispatch(__Message); - - __Message.Read('Result', TypeInfo(Integer), result, []); - finally - __Message.UnsetAttributes(__TransportChannel); - __Message.FreeStream; - end -end; - initialization RegisterROClass(TRdxLoginInfo); RegisterROClass(TRdxEmpresasArray); diff --git a/Source/Servicios/FactuGES_Invk.pas b/Source/Servicios/FactuGES_Invk.pas index 5de2c579..a1739e5f 100644 --- a/Source/Servicios/FactuGES_Invk.pas +++ b/Source/Servicios/FactuGES_Invk.pas @@ -25,7 +25,6 @@ type private protected published - procedure Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure Invoke_GenerateFichaEmpleadoReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure Invoke_GenerateEtiquetasReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); end; @@ -47,7 +46,6 @@ type private protected published - procedure Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); end; {$M-} @@ -73,7 +71,6 @@ type private protected published - procedure Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); end; {$M-} @@ -82,7 +79,6 @@ type private protected published - procedure Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); end; {$M-} @@ -93,26 +89,6 @@ uses { TsrvContactos_Invoker } -procedure TsrvContactos_Invoker.Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); -{ function GetNextAutoInc(const GeneratorName: String): Integer; } -var - GeneratorName: String; - lResult: Integer; -begin - try - __Message.Read('GeneratorName', TypeInfo(String), GeneratorName, []); - - lResult := (__Instance as IsrvContactos).GetNextAutoInc(GeneratorName); - - __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvContactos', 'GetNextAutoIncResponse'); - __Message.Write('Result', TypeInfo(Integer), lResult, []); - __Message.Finalize; - __Message.UnsetAttributes(__Transport); - - finally - end; -end; - procedure TsrvContactos_Invoker.Invoke_GenerateFichaEmpleadoReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); { function GenerateFichaEmpleadoReport(const EmpleadoID: String): Binary; } var @@ -235,28 +211,6 @@ begin end; end; -{ TsrvEmpresas_Invoker } - -procedure TsrvEmpresas_Invoker.Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); -{ function GetNextAutoInc(const GeneratorName: String): Integer; } -var - GeneratorName: String; - lResult: Integer; -begin - try - __Message.Read('GeneratorName', TypeInfo(String), GeneratorName, []); - - lResult := (__Instance as IsrvEmpresas).GetNextAutoInc(GeneratorName); - - __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvEmpresas', 'GetNextAutoIncResponse'); - __Message.Write('Result', TypeInfo(Integer), lResult, []); - __Message.Finalize; - __Message.UnsetAttributes(__Transport); - - finally - end; -end; - { TsrvConfiguracion_Invoker } procedure TsrvConfiguracion_Invoker.Invoke_darValor(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); @@ -279,48 +233,4 @@ begin end; end; -{ TsrvFormasPago_Invoker } - -procedure TsrvFormasPago_Invoker.Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); -{ function GetNextAutoInc(const GeneratorName: String): Integer; } -var - GeneratorName: String; - lResult: Integer; -begin - try - __Message.Read('GeneratorName', TypeInfo(String), GeneratorName, []); - - lResult := (__Instance as IsrvFormasPago).GetNextAutoInc(GeneratorName); - - __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvFormasPago', 'GetNextAutoIncResponse'); - __Message.Write('Result', TypeInfo(Integer), lResult, []); - __Message.Finalize; - __Message.UnsetAttributes(__Transport); - - finally - end; -end; - -{ TsrvTiposIVA_Invoker } - -procedure TsrvTiposIVA_Invoker.Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); -{ function GetNextAutoInc(const GeneratorName: String): Integer; } -var - GeneratorName: String; - lResult: Integer; -begin - try - __Message.Read('GeneratorName', TypeInfo(String), GeneratorName, []); - - lResult := (__Instance as IsrvTiposIVA).GetNextAutoInc(GeneratorName); - - __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvTiposIVA', 'GetNextAutoIncResponse'); - __Message.Write('Result', TypeInfo(Integer), lResult, []); - __Message.Finalize; - __Message.UnsetAttributes(__Transport); - - finally - end; -end; - end. diff --git a/Source/Servicios/RODLFILE.res b/Source/Servicios/RODLFILE.res index 7d450b11ba0542c8cb42c4bfe90cc905ae4a258c..25014c94e5c8d4ba03f750816c0d11029b844542 100644 GIT binary patch delta 44 xcmX?C)|NLxfoYrBMx|TQoB3ovvrX30@Z21udYu`>nB1qe4@g^Vo~E;d4*-zF5kUX| delta 389 zcmaLTy-LJD6a`>dVLL_K&SfRULYs@3WbVw3U~%V9wn?{OW3fo=%)$~yu(uZHNhFPx zk67g`n(uJVWAlFZl#G5)U((MhwN-uJ@@>1CH&qEdcAB{>uPyZ$1gF7C&}#jU>0}x_qw0y_c&gTCiw^o*X|PmeAWJO3y8dTwl?WLW5q!dNI^MBiyDZ%f_{h!h>CN> oK|Nj^y=}sCLg|<^c+UEBN^(G=3@_s^iz4KXPkzy#N3J diff --git a/Source/Servidor/FactuGES_Server.RES b/Source/Servidor/FactuGES_Server.RES index 0115a09571d9148dd8592831de6ed8d90d531f13..f1bed66f9157d68b54e54e70dc602518f2af34e4 100644 GIT binary patch delta 79 zcmdn6m2u5h#tnBO7&lD58zB!Q|3*YJ@=cD6RAziNxi+$zIgdeo^6yAl;VgzyhE#?! hATDOmVNhT&VlbF&7-h(5z+lB-$Y8<1FgY{I9RQN)7&ZU^ delta 83 zcmZ3pm2m?Q-HBk_GWl+VJdpew5zQzvIWkh2@x$cW$ZF;i2Cd1zBV{FX88R7OG88c+ lGvqVmFr+dRGw3iVFc>mePS%bxWH)E9VlZMbpPU-y4geOn8W8{h diff --git a/Source/Servidor/FactuGES_Server.dpr b/Source/Servidor/FactuGES_Server.dpr index b08d6ac2..402ee894 100644 --- a/Source/Servidor/FactuGES_Server.dpr +++ b/Source/Servidor/FactuGES_Server.dpr @@ -41,9 +41,9 @@ uses schFormasPagoServer_Intf in '..\Modulos\Formas de pago\Model\schFormasPagoServer_Intf.pas', schFormasPagoClient_Intf in '..\Modulos\Formas de pago\Model\schFormasPagoClient_Intf.pas', uSchemaUtilsServer in 'Utiles\uSchemaUtilsServer.pas', + RegExpr in 'Utiles\RegExpr.pas', schContactosClient_Intf in '..\Modulos\Contactos\Model\schContactosClient_Intf.pas', - schContactosServer_Intf in '..\Modulos\Contactos\Model\schContactosServer_Intf.pas', - RegExpr in 'Utiles\RegExpr.pas'; + schContactosServer_Intf in '..\Modulos\Contactos\Model\schContactosServer_Intf.pas'; {$R *.res} {$R ..\Servicios\RODLFile.res} diff --git a/Source/Servidor/FactuGES_Server.dproj b/Source/Servidor/FactuGES_Server.dproj index aaded3e9..0f3a4f15 100644 --- a/Source/Servidor/FactuGES_Server.dproj +++ b/Source/Servidor/FactuGES_Server.dproj @@ -1,124 +1,124 @@ - + - - {ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1} - FactuGES_Server.dpr - Debug - AnyCPU - DCC32 - ..\..\Output\Debug\Servidor\FactuGES_Server.exe - - - 7.0 - False - False - 0 - 3 - ..\..\Output\Relase\Servidor - ..\Lib;..\Base - ..\Lib;..\Base - ..\Lib;..\Base - ..\Lib;..\Base - RELEASE - .\ - .\ - .\ - - - 7.0 - 3 - ..\..\Output\Debug\Servidor - ..\Lib;..\Base - ..\Lib;..\Base - ..\Lib;..\Base - ..\Lib;..\Base - DEBUG; - .\ - .\ - .\ - - - Delphi.Personality - - - FalseTrueFalseTrueFalse3000FalseFalseFalseFalseFalse308212523.0.0.03.0.0.0lunes, 17 de septiembre de 2007 12:28 - CodeGear WebSnap Components - CodeGear SOAP Components - Microsoft Office XP Sample Automation Server Wrapper Components - Microsoft Office 2000 Sample Automation Server Wrapper Components - CodeGear C++Builder Office 2000 Servers Package - CodeGear C++Builder Office XP Servers Package - FactuGES_Server.dpr - - - - - MainSource - - - - - - - - -
srvContactos
-
- - - - - - -
srvFamilias
-
- - - -
srvFormasPago
-
- - - -
srvTiposIVA
-
- - - -
srvConfiguracion
-
- - -
frConexionBD
-
- -
frConfGeneral
-
- -
fConfiguracion
-
- -
FrameConfiguracion
-
- -
fAcercaDe
-
- -
dmServer
-
- -
fServerForm
-
- - - - - - - - - -
+ + {ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1} + FactuGES_Server.dpr + Debug + AnyCPU + DCC32 + ..\..\Output\Debug\Servidor\FactuGES_Server.exe + + + 7.0 + False + False + 0 + 3 + ..\..\Output\Relase\Servidor + ..\Lib;..\Base + ..\Lib;..\Base + ..\Lib;..\Base + ..\Lib;..\Base + RELEASE + .\ + .\ + .\ + + + 7.0 + 3 + ..\..\Output\Debug\Servidor + ..\Lib;..\Base + ..\Lib;..\Base + ..\Lib;..\Base + ..\Lib;..\Base + DEBUG; + .\ + .\ + .\ + + + Delphi.Personality + + +FalseTrueFalseTrueFalse3000FalseFalseFalseFalseFalse308212523.0.0.03.0.0.0lunes, 17 de septiembre de 2007 12:28 + CodeGear WebSnap Components + CodeGear SOAP Components + Microsoft Office XP Sample Automation Server Wrapper Components + Microsoft Office 2000 Sample Automation Server Wrapper Components + CodeGear C++Builder Office 2000 Servers Package + CodeGear C++Builder Office XP Servers Package + FactuGES_Server.dpr + + + + + MainSource + + + + + + + + +
srvContactos
+
+ + + + + + +
srvFamilias
+
+ + + +
srvFormasPago
+
+ + + +
srvTiposIVA
+
+ + + +
srvConfiguracion
+
+ + +
frConexionBD
+
+ +
frConfGeneral
+
+ +
fConfiguracion
+
+ +
FrameConfiguracion
+
+ +
fAcercaDe
+
+ +
dmServer
+
+ +
fServerForm
+
+ + + + + + + + + +