From e94ba43e81a590776cbc6fc525bf38e1654d7f22 Mon Sep 17 00:00:00 2001 From: david Date: Mon, 24 Mar 2008 20:50:41 +0000 Subject: [PATCH] - Proveedores: indicar si es subcontrata o no. - Contactos: lista de personal asociado a un contacto (en clientes y proveedores). - Obras: poder indicar una subcontrata - Pedidos a proveedor: usar obras como destino del pedido. git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@350 0c75b7a4-871f-7646-8a2f-f78d34cc349f --- Build/Build.fbp5 | 45 +- Database/scripts/factuges.sql | 103 ++-- .../Empresas/Model/schEmpresasClient_Intf.pas | 8 +- .../Empresas/Model/schEmpresasServer_Intf.pas | 8 +- Source/Base/Base.dproj | 102 ++-- .../Almacenes/Views/uEditorAlmacenes.pas | Bin 4378 -> 4376 bytes .../Controller/Contactos_controller.dpk | 4 +- .../Controller/Contactos_controller.dproj | 23 +- .../View/uIEditorPersonalContacto.pas | 28 + .../uPersonalContactoController.pas | 89 +++ .../Controller/uProveedoresController.pas | 17 +- .../Contactos/Data/Contactos_data.dproj | 14 +- .../Contactos/Data/uDataModuleClientes.dfm | 9 +- .../Contactos/Data/uDataModuleClientes.pas | 1 + .../Contactos/Data/uDataModuleContactos.dfm | 102 +++- .../Contactos/Data/uDataModuleContactos.pas | 25 +- .../Contactos/Data/uDataModuleEmpleados.dfm | 6 +- .../Contactos/Data/uDataModuleProveedores.dfm | 34 +- .../Contactos/Data/uDataModuleProveedores.pas | 1 + .../Contactos/Model/Contactos_model.dpk | 3 +- .../Contactos/Model/Contactos_model.dproj | 1 + .../Model/Data/uIDataModuleContactos.pas | 5 +- .../Model/schContactosClient_Intf.pas | 479 ++++++++++++++- .../Model/schContactosServer_Intf.pas | 561 +++++++++++++++++- .../Modulos/Contactos/Model/uBizContactos.pas | 49 +- .../Contactos/Model/uBizContactosPersonal.pas | 61 ++ .../Contactos/Model/uBizProveedoresServer.pas | 2 + .../Contactos/Servidor/srvContactos_Impl.dfm | 489 ++++++++++++--- .../Contactos/Servidor/srvContactos_Impl.pas | 8 +- .../Contactos/Views/Contactos_view.dpk | 4 +- .../Contactos/Views/Contactos_view.dproj | 72 ++- .../Views/uContactosViewRegister.pas | 6 +- .../Contactos/Views/uEditorCliente.dfm | 71 +-- .../Contactos/Views/uEditorCliente.pas | 3 +- .../Contactos/Views/uEditorContacto.dfm | 46 +- .../Contactos/Views/uEditorContacto.pas | 7 +- .../Contactos/Views/uEditorEmpleado.dfm | 57 +- .../Contactos/Views/uEditorEmpleado.pas | 2 +- .../Contactos/Views/uEditorPersonal.dfm | 201 +++++++ .../Contactos/Views/uEditorPersonal.pas | 124 ++++ .../Contactos/Views/uEditorProveedor.dfm | 134 +++-- .../Contactos/Views/uEditorProveedor.pas | 2 +- .../Views/uViewDatosYSeleccionCliente.dfm | 159 +++-- .../Views/uViewDatosYSeleccionProveedor.pas | 110 +++- .../Contactos/Views/uViewPersonalContacto.dfm | 88 +++ .../Contactos/Views/uViewPersonalContacto.pas | 73 +++ .../Contactos/Views/uViewProveedor.dfm | 121 ++-- .../Contactos/Views/uViewProveedor.pas | 3 + .../Modulos/Obras/Data/uDataModuleObras.dfm | 13 + Source/Modulos/Obras/Model/Obras_model.dpk | 3 +- Source/Modulos/Obras/Model/Obras_model.dproj | 3 +- .../Obras/Model/schObrasClient_Intf.pas | 80 ++- .../Obras/Model/schObrasServer_Intf.pas | 90 ++- .../Modulos/Obras/Servidor/srvObras_Impl.dfm | 53 +- Source/Modulos/Obras/Views/Obras_view.dpk | 8 +- Source/Modulos/Obras/Views/Obras_view.dproj | 21 +- .../Obras/Views/uViewClienteAsociadoObra.dfm | 74 +++ .../Obras/Views/uViewClienteAsociadoObra.pas | 24 + Source/Modulos/Obras/Views/uViewObra.dfm | 245 +++++--- Source/Modulos/Obras/Views/uViewObra.pas | 37 +- .../Obras/Views/uViewSubcontrataObra.dfm | 195 ++++++ .../Obras/Views/uViewSubcontrataObra.pas | 57 ++ .../PedidosProveedor_controller.cfg | Bin 0 -> 4178 bytes .../uPedidosProveedorController.pas | 2 +- .../Data/uDataModulePedidosProveedor.dfm | 17 + .../Model/schPedidosProveedorClient_Intf.pas | 163 ++++- .../Model/schPedidosProveedorServer_Intf.pas | 141 ++++- .../Model/uBizPedidosProveedor.pas | 4 - .../Servidor/srvPedidosProveedor_Impl.dfm | 83 ++- .../Views/PedidosProveedor_view.dpk | 9 +- .../Views/PedidosProveedor_view.dproj | 66 +-- .../Views/PedidosProveedor_view.rc | 22 + .../Views/PedidosProveedor_view.res | Bin 32 -> 384 bytes .../Views/uEditorPedidoProveedor.dfm | 70 +-- .../Views/uEditorPedidoProveedor.pas | 1 - .../Views/uEditorPedidosProveedor.pas | 15 +- .../Views/uViewDireccionEntregaPedidoProv.dfm | 93 ++- .../Views/uViewDireccionEntregaPedidoProv.pas | 133 ++++- .../Views/uViewPedidoProveedor.dfm | 194 +++--- .../Views/uViewPedidoProveedor.pas | 16 +- .../Views/uViewProveedorPedido.dfm | 183 ++++++ .../Views/uViewProveedorPedido.pas | 31 + .../Views/uViewPresupuestoCliente.dfm | 77 +-- .../Views/uViewPresupuestoCliente.pas | 4 +- Source/Servidor/FactuGES_Server.RES | Bin 23204 -> 23200 bytes Source/Servidor/FactuGES_Server.dpr | 6 +- Source/Servidor/FactuGES_Server.rc | 2 +- Source/Servidor/uServerMainForm.dfm | 13 +- 88 files changed, 4795 insertions(+), 1013 deletions(-) create mode 100644 Source/Modulos/Contactos/Controller/View/uIEditorPersonalContacto.pas create mode 100644 Source/Modulos/Contactos/Controller/uPersonalContactoController.pas create mode 100644 Source/Modulos/Contactos/Model/uBizContactosPersonal.pas create mode 100644 Source/Modulos/Contactos/Views/uEditorPersonal.dfm create mode 100644 Source/Modulos/Contactos/Views/uEditorPersonal.pas create mode 100644 Source/Modulos/Contactos/Views/uViewPersonalContacto.dfm create mode 100644 Source/Modulos/Contactos/Views/uViewPersonalContacto.pas create mode 100644 Source/Modulos/Obras/Views/uViewClienteAsociadoObra.dfm create mode 100644 Source/Modulos/Obras/Views/uViewClienteAsociadoObra.pas create mode 100644 Source/Modulos/Obras/Views/uViewSubcontrataObra.dfm create mode 100644 Source/Modulos/Obras/Views/uViewSubcontrataObra.pas create mode 100644 Source/Modulos/Pedidos a proveedor/Controller/PedidosProveedor_controller.cfg create mode 100644 Source/Modulos/Pedidos a proveedor/Views/uViewProveedorPedido.dfm create mode 100644 Source/Modulos/Pedidos a proveedor/Views/uViewProveedorPedido.pas diff --git a/Build/Build.fbp5 b/Build/Build.fbp5 index 9c112a82..cef71455 100644 --- a/Build/Build.fbp5 +++ b/Build/Build.fbp5 @@ -6680,7 +6680,7 @@ Comments= False False False - False + True True False False @@ -6690,7 +6690,7 @@ Comments= False False False - 3081 + 3082 1 @@ -6713,7 +6713,16 @@ Comments= [usPackages,usCompiler,usLinker,usVersionInfo] False False - @@ -6798,7 +6807,7 @@ Comments= False False False - False + True True False False @@ -6808,7 +6817,7 @@ Comments= False False False - 3081 + 3082 1 @@ -6831,7 +6840,16 @@ Comments= [usPackages,usCompiler,usLinker,usVersionInfo] False False - @@ -16687,7 +16705,7 @@ Comments= False False False - False + True True False False @@ -16697,7 +16715,7 @@ Comments= False False False - 3081 + 3082 1 @@ -16721,7 +16739,16 @@ Comments= [usPackages,usCompiler,usLinker,usVersionInfo] False False - diff --git a/Database/scripts/factuges.sql b/Database/scripts/factuges.sql index 687a414a..924d0fb3 100644 --- a/Database/scripts/factuges.sql +++ b/Database/scripts/factuges.sql @@ -115,6 +115,9 @@ SET GENERATOR GEN_CONTACTOS_DATOS_BANCO_ID TO 1; CREATE GENERATOR GEN_CONTACTOS_DIR_ID; SET GENERATOR GEN_CONTACTOS_DIR_ID TO 1; +CREATE GENERATOR GEN_CONTACTOS_PERSONAL_ID; +SET GENERATOR GEN_CONTACTOS_PERSONAL_ID TO 1; + CREATE GENERATOR GEN_CONTACTOS_ID; SET GENERATOR GEN_CONTACTOS_ID TO 1; @@ -392,7 +395,7 @@ CREATE TABLE ARTICULOS ( PRECIO_NETO TIPO_IMPORTE, PRECIO_PORTE TIPO_IMPORTE, FABRICANTE VARCHAR(255), - REFERENCIA_FABR VARCHAR(255), + REFERENCIA_FABR VARCHAR(255), FECHA_ALTA TIMESTAMP, FECHA_MODIFICACION TIMESTAMP, USUARIO TIPO_USUARIO, @@ -524,6 +527,18 @@ CREATE TABLE CONTACTOS_DIRECCIONES ( FECHA_MODIFICACION TIMESTAMP ); +CREATE TABLE CONTACTOS_DATOS_PERSONAL ( + ID TIPO_ID NOT NULL, + ID_CONTACTO TIPO_ID NOT NULL, + NOMBRE VARCHAR(255), + PUESTO VARCHAR(255), + TELEFONO VARCHAR(25), + MOVIL VARCHAR(25), + FAX VARCHAR(25), + EMAIL VARCHAR(255), + FECHA_ALTA TIMESTAMP, + FECHA_MODIFICACION TIMESTAMP +); CREATE TABLE EMPLEADOS_DATOS ( ID_EMPLEADO TIPO_ID NOT NULL, @@ -790,7 +805,8 @@ CREATE TABLE OBRAS ( FAX VARCHAR(25), PERSONA_CONTACTO VARCHAR(255), OBSERVACIONES TIPO_NOTAS, - ID_CLIENTE TIPO_ID, + ID_CLIENTE TIPO_ID, + ID_SUBCONTRATA TIPO_ID, FECHA_ALTA TIMESTAMP, FECHA_MODIFICACION TIMESTAMP, USUARIO TIPO_USUARIO @@ -889,6 +905,7 @@ CREATE TABLE PEDIDOS_PROVEEDOR ( FECHA_CONFIRMACION DATE, FECHA_ENTREGA DATE, ID_ALMACEN TIPO_ID, + ID_OBRA TIPO_ID, OBSERVACIONES TIPO_NOTAS, INCIDENCIAS TIPO_NOTAS, INCIDENCIAS_ACTIVAS SMALLINT DEFAULT 0 NOT NULL, @@ -923,7 +940,7 @@ CREATE TABLE PEDIDOS_PROVEEDOR_DETALLES ( ID_ARTICULO TIPO_ID, CONCEPTO TIPO_CONCEPTO, CANTIDAD INTEGER, - UNIDAD_MEDIDA VARCHAR(255), + UNIDAD_MEDIDA VARCHAR(255), IMPORTE_UNIDAD TIPO_IMPORTE, DESCUENTO TIPO_PORCENTAJE, IMPORTE_PORTE TIPO_IMPORTE, @@ -992,7 +1009,7 @@ CREATE TABLE PRESUPUESTOS_CLIENTE_DETALLES ( ID_ARTICULO TIPO_ID, CONCEPTO TIPO_CONCEPTO, CANTIDAD INTEGER, - UNIDAD_MEDIDA VARCHAR(255), + UNIDAD_MEDIDA VARCHAR(255), IMPORTE_UNIDAD TIPO_IMPORTE, DESCUENTO TIPO_PORCENTAJE, IMPORTE_PORTE TIPO_IMPORTE, @@ -1014,7 +1031,8 @@ CREATE TABLE PROVEEDORES_DATOS ( DESCRIPCION_PROVEEDOR VARCHAR(255), CODIGO_ASIGNADO VARCHAR(255), CERTIFICACION VARCHAR(255), - HOMOLOGADO SMALLINT + HOMOLOGADO SMALLINT, + SUBCONTRATA TIPO_BOOLEANO ); @@ -1426,7 +1444,7 @@ CREATE VIEW V_ARTICULOS( NOMBRE_PROVEEDOR, ELIMINADO, FABRICANTE, - REFERENCIA_FABR) + REFERENCIA_FABR) AS SELECT ARTICULOS.ID, ARTICULOS.ID_EMPRESA, ARTICULOS.REFERENCIA, ARTICULOS.DESCRIPCION, ARTICULOS.UNIDAD_MEDIDA, ARTICULOS.FAMILIA, ARTICULOS.IMAGEN, @@ -1442,7 +1460,7 @@ SELECT ARTICULOS.ID, ARTICULOS.ID_EMPRESA, ARTICULOS.REFERENCIA, ARTICULOS.DESCR CONTACTOS.NOMBRE AS NOMBRE_PROVEEDOR, ARTICULOS.ELIMINADO, ARTICULOS.FABRICANTE, - ARTICULOS.REFERENCIA_FABR + ARTICULOS.REFERENCIA_FABR FROM ARTICULOS LEFT OUTER JOIN CONTACTOS ON (CONTACTOS.ID = ARTICULOS.ID_PROVEEDOR) WHERE (ARTICULOS.ELIMINADO = 0) @@ -1668,31 +1686,36 @@ WHERE V_CONTACTOS.ID_CATEGORIA = 3 CREATE VIEW V_OBRAS ( - ID, - ID_EMPRESA, - NOMBRE, - CALLE, - PROVINCIA, - POBLACION, - CODIGO_POSTAL, - TELEFONO, - MOVIL, - FAX, - PERSONA_CONTACTO, - OBSERVACIONES, - ID_CLIENTE, - NOMBRE_CLIENTE, - FECHA_ALTA, - FECHA_MODIFICACION, - USUARIO) + ID, + ID_EMPRESA, + NOMBRE, + CALLE, + PROVINCIA, + POBLACION, + CODIGO_POSTAL, + TELEFONO, + MOVIL, + FAX, + PERSONA_CONTACTO, + OBSERVACIONES, + ID_CLIENTE, + NOMBRE_CLIENTE, + ID_SUBCONTRATA, + NOMBRE_SUBCONTRATA, + FECHA_ALTA, + FECHA_MODIFICACION, + USUARIO) AS SELECT OBRAS.ID, OBRAS.ID_EMPRESA, OBRAS.NOMBRE, - OBRAS.CALLE, OBRAS.PROVINCIA, OBRAS.POBLACION, OBRAS.CODIGO_POSTAL, - OBRAS.TELEFONO, OBRAS.MOVIL, OBRAS.FAX, OBRAS.PERSONA_CONTACTO, - OBRAS.OBSERVACIONES, OBRAS.ID_CLIENTE, V_CLIENTES.NOMBRE AS NOMBRE_CLIENTE, OBRAS.FECHA_ALTA, - OBRAS.FECHA_MODIFICACION, OBRAS.USUARIO + OBRAS.CALLE, OBRAS.PROVINCIA, OBRAS.POBLACION, OBRAS.CODIGO_POSTAL, + OBRAS.TELEFONO, OBRAS.MOVIL, OBRAS.FAX, OBRAS.PERSONA_CONTACTO, + OBRAS.OBSERVACIONES, OBRAS.ID_CLIENTE, CLIENTES.NOMBRE AS NOMBRE_CLIENTE, + OBRAS.ID_SUBCONTRATA, SUBCONTRATAS.NOMBRE AS NOMBRE_SUBCONTRATA, + OBRAS.FECHA_ALTA, OBRAS.FECHA_MODIFICACION, OBRAS.USUARIO FROM OBRAS -LEFT OUTER JOIN V_CLIENTES ON (V_CLIENTES.ID = OBRAS.ID_CLIENTE); +LEFT OUTER JOIN CONTACTOS AS CLIENTES ON (CLIENTES .ID = OBRAS.ID_CLIENTE) +LEFT OUTER JOIN CONTACTOS AS SUBCONTRATAS ON (SUBCONTRATAS.ID = OBRAS.ID_SUBCONTRATA) +; /* View: V_REC_FAC_CLI */ @@ -2138,7 +2161,8 @@ CREATE VIEW V_PROVEEDORES( ID_FORMA_PAGO, TIENDA_WEB, HOMOLOGADO, - CERTIFICACION) + CERTIFICACION, + SUBCONTRATA) AS SELECT V_CONTACTOS.ID, @@ -2173,16 +2197,16 @@ SELECT PROVEEDORES_DATOS.ID_FORMA_PAGO, PROVEEDORES_DATOS.TIENDA_WEB, PROVEEDORES_DATOS.HOMOLOGADO, - PROVEEDORES_DATOS.CERTIFICACION + PROVEEDORES_DATOS.CERTIFICACION, + PROVEEDORES_DATOS.SUBCONTRATA FROM - PROVEEDORES_DATOS - INNER JOIN V_CONTACTOS ON (PROVEEDORES_DATOS.ID_PROVEEDOR = V_CONTACTOS.ID) + V_CONTACTOS + INNER JOIN PROVEEDORES_DATOS ON (PROVEEDORES_DATOS.ID_PROVEEDOR = V_CONTACTOS.ID) WHERE V_CONTACTOS.ID_CATEGORIA = 2 ; - /* View: V_PEDIDOS_PROVEEDOR */ CREATE VIEW V_PEDIDOS_PROVEEDOR( ID, @@ -2197,6 +2221,8 @@ CREATE VIEW V_PEDIDOS_PROVEEDOR( FECHA_ENTREGA, ID_ALMACEN, NOMBRE_ALMACEN, + ID_OBRA, + NOMBRE_OBRA, OBSERVACIONES, IMPORTE_TOTAL, INCIDENCIAS, @@ -2234,6 +2260,8 @@ SELECT PEDIDOS_PROVEEDOR.FECHA_ENTREGA, PEDIDOS_PROVEEDOR.ID_ALMACEN, ALMACENES.NOMBRE AS NOMBRE_ALMACEN, + PEDIDOS_PROVEEDOR.ID_OBRA, + OBRAS.NOMBRE AS NOMBRE_OBRA, PEDIDOS_PROVEEDOR.OBSERVACIONES, PEDIDOS_PROVEEDOR.IMPORTE_TOTAL, PEDIDOS_PROVEEDOR.INCIDENCIAS, @@ -2262,6 +2290,7 @@ FROM INNER JOIN V_PROVEEDORES ON (PEDIDOS_PROVEEDOR.ID_PROVEEDOR = V_PROVEEDORES.ID) INNER JOIN V_PED_PROV_SITUACION ON (V_PED_PROV_SITUACION.ID_PEDIDO = PEDIDOS_PROVEEDOR.ID) LEFT OUTER JOIN ALMACENES ON (ALMACENES.ID = PEDIDOS_PROVEEDOR.ID_ALMACEN) + LEFT OUTER JOIN OBRAS ON (OBRAS.ID = PEDIDOS_PROVEEDOR.ID_OBRA) LEFT OUTER JOIN PEDIDOS_CLIENTE ON (PEDIDOS_CLIENTE.ID = PEDIDOS_PROVEEDOR.ID_PEDIDO_CLIENTE) ; @@ -2546,6 +2575,7 @@ ALTER TABLE CONTACTOS ADD CONSTRAINT PK_CONTACTOS PRIMARY KEY (ID); ALTER TABLE CONTACTOS_CATEGORIAS ADD CONSTRAINT PK_CONTACTOS_CATEGORIAS PRIMARY KEY (ID_CONTACTO, ID_CATEGORIA); ALTER TABLE CONTACTOS_DATOS_BANCO ADD CONSTRAINT PK_CONTACTOS_DATOS_BANCO PRIMARY KEY (ID); ALTER TABLE CONTACTOS_DIRECCIONES ADD CONSTRAINT PK_CONTACTOS_DIR PRIMARY KEY (ID); +ALTER TABLE CONTACTOS_DATOS_PERSONAL ADD CONSTRAINT PK_CONTACTOS_DATOS_PER PRIMARY KEY (ID); ALTER TABLE EMPLEADOS_DATOS ADD CONSTRAINT PK_EMPLEADOS_DATOS PRIMARY KEY (ID_EMPLEADO); ALTER TABLE EMPRESAS ADD CONSTRAINT PK_EMPRESAS PRIMARY KEY (ID); ALTER TABLE EMPRESAS_CONTACTOS ADD CONSTRAINT PK_EMPRESAS_CONTACTOS PRIMARY KEY (ID); @@ -2654,6 +2684,7 @@ 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_CONTACTOS_PER_ID_CONTACTO ON CONTACTOS_DATOS_PERSONAL (ID_CONTACTO); CREATE INDEX IDX_EMPRESAS_CONTACTOS ON EMPRESAS_CONTACTOS (ID_EMPRESA, ID_CONTACTO); CREATE INDEX IDX_EMPRESAS_USUARIOS ON EMPRESAS_USUARIOS (ID_EMPRESA, ID_USUARIO); CREATE INDEX IDX_FACTURAS_CLIENTE ON FACTURAS_CLIENTE (ID_FORMA_PAGO); @@ -2675,6 +2706,8 @@ CREATE INDEX IDX_PEDIDOS_CLIENTE_DETALLES1 ON PEDIDOS_CLIENTE_DETALLES (ID_ARTIC 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_PROVEEDOR3 ON PEDIDOS_PROVEEDOR (ID_OBRA); +CREATE INDEX IDX_PEDIDOS_PROVEEDOR4 ON PEDIDOS_PROVEEDOR (ID_PROVEEDOR); 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); @@ -2799,7 +2832,7 @@ returns ( referencia varchar(255), concepto varchar(2000), cantidad integer, - unidad_medida varchar(255), + unidad_medida varchar(255), importe_unidad numeric(11,2), descuento float, importe_porte numeric(11,2), diff --git a/Source/ApplicationBase/Empresas/Model/schEmpresasClient_Intf.pas b/Source/ApplicationBase/Empresas/Model/schEmpresasClient_Intf.pas index 3ff8bebb..22940064 100644 --- a/Source/ApplicationBase/Empresas/Model/schEmpresasClient_Intf.pas +++ b/Source/ApplicationBase/Empresas/Model/schEmpresasClient_Intf.pas @@ -9,8 +9,8 @@ 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 = '{4D4B7384-254D-4DEE-A7C6-15C6D95FE62C}'; - RID_EmpresasDatosBanco = '{A13C092F-8B20-475E-AB73-BC64846EC069}'; + RID_Empresas = '{C3D4A098-DEBE-4C2B-B91E-7371A6FA2608}'; + RID_EmpresasDatosBanco = '{30C8046D-7C1C-4CFB-B7F3-CEA665F701F5}'; { Data table names } nme_Empresas = 'Empresas'; @@ -91,7 +91,7 @@ const type { IEmpresas } IEmpresas = interface(IDAStronglyTypedDataTable) - ['{94D82008-5773-4226-8E6F-8F86C4BC613C}'] + ['{1D920893-489E-4359-A55A-9146247372EF}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -390,7 +390,7 @@ type { IEmpresasDatosBanco } IEmpresasDatosBanco = interface(IDAStronglyTypedDataTable) - ['{3FB044E3-CC5B-45D7-BE74-941172D25782}'] + ['{DB4CAAE0-5E1D-41E0-9B92-3F41A237F812}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); diff --git a/Source/ApplicationBase/Empresas/Model/schEmpresasServer_Intf.pas b/Source/ApplicationBase/Empresas/Model/schEmpresasServer_Intf.pas index 92e91b07..ffedb886 100644 --- a/Source/ApplicationBase/Empresas/Model/schEmpresasServer_Intf.pas +++ b/Source/ApplicationBase/Empresas/Model/schEmpresasServer_Intf.pas @@ -9,13 +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 = '{B5530DFB-2CAF-472C-9946-BADA26FF23FA}'; - RID_EmpresasDatosBancoDelta = '{0F24EA86-6CBB-49BD-BCC2-9B48AC059D72}'; + RID_EmpresasDelta = '{6F02EFDD-030E-4464-B393-8062C40DA26A}'; + RID_EmpresasDatosBancoDelta = '{601F0536-A7EC-45DF-8E25-B741AB86A055}'; type { IEmpresasDelta } IEmpresasDelta = interface(IEmpresas) - ['{B5530DFB-2CAF-472C-9946-BADA26FF23FA}'] + ['{6F02EFDD-030E-4464-B393-8062C40DA26A}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldNIF_CIFValue : String; @@ -315,7 +315,7 @@ type { IEmpresasDatosBancoDelta } IEmpresasDatosBancoDelta = interface(IEmpresasDatosBanco) - ['{0F24EA86-6CBB-49BD-BCC2-9B48AC059D72}'] + ['{601F0536-A7EC-45DF-8E25-B741AB86A055}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_EMPRESAValue : Integer; diff --git a/Source/Base/Base.dproj b/Source/Base/Base.dproj index 3303f0a1..218bdb1c 100644 --- a/Source/Base/Base.dproj +++ b/Source/Base/Base.dproj @@ -53,58 +53,58 @@ MainSource + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
fConfigurarConexion
TForm diff --git a/Source/Modulos/Almacenes/Views/uEditorAlmacenes.pas b/Source/Modulos/Almacenes/Views/uEditorAlmacenes.pas index 24ed174e48ffaf7929fa0e70aea987a2e25e2a73..18ac8575054fff40c2cdfb86587040a481e954e2 100644 GIT binary patch delta 7 OcmbQGG(%~FgdhM4+5%7j delta 10 RcmbQCG)rlNgdh_G0{{`s0#X0~ diff --git a/Source/Modulos/Contactos/Controller/Contactos_controller.dpk b/Source/Modulos/Contactos/Controller/Contactos_controller.dpk index f746dc74..97abf38e 100644 --- a/Source/Modulos/Contactos/Controller/Contactos_controller.dpk +++ b/Source/Modulos/Contactos/Controller/Contactos_controller.dpk @@ -63,6 +63,8 @@ contains uEtiquetasContactosReportController in 'uEtiquetasContactosReportController.pas', uIEditorEtiquetasContactosPreview in 'View\uIEditorEtiquetasContactosPreview.pas', uDatosBancariosContactoController in 'uDatosBancariosContactoController.pas', - uIEditorDatoBancarioContacto in 'View\uIEditorDatoBancarioContacto.pas'; + uIEditorDatoBancarioContacto in 'View\uIEditorDatoBancarioContacto.pas', + uPersonalContactoController in 'uPersonalContactoController.pas', + uIEditorPersonalContacto in 'View\uIEditorPersonalContacto.pas'; end. diff --git a/Source/Modulos/Contactos/Controller/Contactos_controller.dproj b/Source/Modulos/Contactos/Controller/Contactos_controller.dproj index 0f3a6bfa..f24e40f4 100644 --- a/Source/Modulos/Contactos/Controller/Contactos_controller.dproj +++ b/Source/Modulos/Contactos/Controller/Contactos_controller.dproj @@ -49,27 +49,6 @@ - - - - - - - - - - - - - - - - - - - - - JCL Debug IDE extension JCL Project Analyzer JCL Open and Save IDE dialogs with favorite folders @@ -90,6 +69,7 @@ + @@ -114,6 +94,7 @@ + diff --git a/Source/Modulos/Contactos/Controller/View/uIEditorPersonalContacto.pas b/Source/Modulos/Contactos/Controller/View/uIEditorPersonalContacto.pas new file mode 100644 index 00000000..75aa6748 --- /dev/null +++ b/Source/Modulos/Contactos/Controller/View/uIEditorPersonalContacto.pas @@ -0,0 +1,28 @@ +unit uIEditorPersonalContacto; + +interface + +uses + uBizContactosPersonal, uPersonalContactoController; + +type + IEditorPersonalContacto = interface + ['{2221A124-2ECF-426A-A462-24CC87AC26EC}'] + + function GetController : IPersonalContactoController; + procedure SetController (const Value : IPersonalContactoController); + property Controller : IPersonalContactoController read GetController + write SetController; + + function GetPersonal: IBizContactoPersonal; + procedure SetPersonal(const Value: IBizContactoPersonal); + property Personal: IBizContactoPersonal read GetPersonal write SetPersonal; + + function ShowModal : Integer; + procedure Release; + end; + + +implementation + +end. diff --git a/Source/Modulos/Contactos/Controller/uPersonalContactoController.pas b/Source/Modulos/Contactos/Controller/uPersonalContactoController.pas new file mode 100644 index 00000000..b4be23b6 --- /dev/null +++ b/Source/Modulos/Contactos/Controller/uPersonalContactoController.pas @@ -0,0 +1,89 @@ +unit uPersonalContactoController; + +interface + +uses + Windows, Forms, Classes, Controls, Contnrs, SysUtils, uDADataTable, + uBizContactos, uBizContactosPersonal, uIDataModuleContactos, + uControllerBase; + +type + IPersonalContactoController = interface(IControllerBase) + ['{2A848939-9558-40DA-9886-F34D72331DA9}'] + procedure Ver(APersonal : IBizContactoPersonal); + function Localizar(APersonal: IBizContactoPersonal; const ID : Integer): Boolean; + end; + + TPersonalContactoController = class(TControllerBase, IPersonalContactoController) + private + FDataModule : IDataModuleContactos; + public + procedure Ver(APersonal : IBizContactoPersonal); + function Localizar(APersonal: IBizContactoPersonal; const ID : Integer): Boolean; + constructor Create; virtual; + destructor Destroy; override; + end; + +implementation + +{ TPersonalContactoController } + +uses + uDataModuleContactos, schContactosClient_Intf, uIEditorPersonalContacto, + uEditorRegistryUtils, cxControls; + +constructor TPersonalContactoController.Create; +begin + inherited; + FDataModule := TDataModuleContactos.Create(Nil); +end; + +destructor TPersonalContactoController.Destroy; +begin + FDataModule := Nil; + inherited; +end; + +function TPersonalContactoController.Localizar( + APersonal: IBizContactoPersonal; const ID: Integer): Boolean; +begin + Result := True; + ShowHourglassCursor; + try + with APersonal.DataTable do + begin + DisableControls; + First; + if not Locate(fld_PersonalContactoID, ID, []) then + Result := False; + EnableControls; + end; + finally + HideHourglassCursor; + end; +end; + +procedure TPersonalContactoController.Ver( + APersonal: IBizContactoPersonal); +var + AEditor : IEditorPersonalContacto; +begin + AEditor := NIL; + ShowHourglassCursor; + try + CreateEditor('EditorPersonalContacto', IEditorPersonalContacto, AEditor); + if Assigned(AEditor) then + with AEditor do + begin + Personal := APersonal; + Controller := Self; + ShowModal; + Release; + end; + finally + AEditor := NIL; + HideHourglassCursor; + end; +end; + +end. diff --git a/Source/Modulos/Contactos/Controller/uProveedoresController.pas b/Source/Modulos/Contactos/Controller/uProveedoresController.pas index bcd41a1d..5e81391d 100644 --- a/Source/Modulos/Contactos/Controller/uProveedoresController.pas +++ b/Source/Modulos/Contactos/Controller/uProveedoresController.pas @@ -9,6 +9,7 @@ uses type IProveedoresController = interface(IContactosController) ['{50F10D01-5120-470D-A61D-99FE8A76DF93}'] + function BuscarSubcontratas: IBizProveedor; function BuscarTodosTiendaWeb: IBizProveedor; function ElegirDireccionEntrega(ADirecciones: IBizDireccionesContacto; AMensaje: String): IBizDireccionesContacto; function EsEliminable(AProveedor: IBizContacto): Boolean; @@ -29,6 +30,7 @@ type function Buscar(const ID: Integer): IBizContacto; override; function BuscarTodos: IBizContacto; override; function BuscarTodosTiendaWeb: IBizProveedor; + function BuscarSubcontratas: IBizProveedor; function Nuevo : IBizContacto; override; procedure Ver(AContacto : IBizContacto); override; procedure VerTodos(AContactos: IBizContacto); override; @@ -49,7 +51,7 @@ uses SysUtils, cxControls, Dialogs, uDataModuleProveedores, uEditorRegistryUtils, uDataTableUtils, uDADataTable, DB, schContactosClient_Intf, uEtiquetasContactosReportController, uIEditorElegirProveedores, Controls, uIEditorElegirDireccionEntrega, - uEditorGridBase; + uEditorGridBase, uDAInterfaces; { TProveedoresController } @@ -59,6 +61,19 @@ begin FiltrarEmpresa(Result); end; +function TProveedoresController.BuscarSubcontratas: IBizProveedor; +var + Condicion: TDAWhereExpression; +begin + Result := BuscarTodos as IBizProveedor; + with Result.DataTable.DynamicWhere do + begin + Condicion := NewBinaryExpression(NewField('', fld_ProveedoresSUBCONTRATA), NewConstant(1, datInteger), dboEqual); + Clear; + Expression := Condicion + end; +end; + function TProveedoresController.BuscarTodos: IBizContacto; begin Result := (FDataModule as IDataModuleProveedores).GetItems; diff --git a/Source/Modulos/Contactos/Data/Contactos_data.dproj b/Source/Modulos/Contactos/Data/Contactos_data.dproj index b456abaa..ed4f8088 100644 --- a/Source/Modulos/Contactos/Data/Contactos_data.dproj +++ b/Source/Modulos/Contactos/Data/Contactos_data.dproj @@ -49,12 +49,12 @@ MainSource - - - - - - + + + + + +
DataModuleClientes
TDAClientDataModule @@ -76,7 +76,7 @@