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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
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
-
-
-
-
-
-
+
+
+
+
+
+
TDAClientDataModule
@@ -76,7 +76,7 @@