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 24ed174e..18ac8575 100644 Binary files a/Source/Modulos/Almacenes/Views/uEditorAlmacenes.pas and b/Source/Modulos/Almacenes/Views/uEditorAlmacenes.pas differ 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 @@