diff --git a/Build/Build.fbp5 b/Build/Build.fbp5
index 6da45ee3..c6262122 100644
--- a/Build/Build.fbp5
+++ b/Build/Build.fbp5
@@ -3118,6 +3118,655 @@ Comments=
+
Contactos
0
diff --git a/Database/ACANA.FDB b/Database/ACANA.FDB
index 4f633087..0b076fdc 100644
Binary files a/Database/ACANA.FDB and b/Database/ACANA.FDB differ
diff --git a/Database/scripts/factuges.sql b/Database/scripts/factuges.sql
index 96b649b8..efd32dcf 100644
--- a/Database/scripts/factuges.sql
+++ b/Database/scripts/factuges.sql
@@ -226,7 +226,8 @@ SET GENERATOR GEN_TIPOS_IVA_ID TO 1;
CREATE GENERATOR GEN_USUARIOS_ID;
SET GENERATOR GEN_USUARIOS_ID TO 1;
-
+CREATE GENERATOR GEN_UNIDADES_MEDIDA_ID;
+SET GENERATOR GEN_UNIDADES_MEDIDA_ID TO 1;
SET TERM ^ ;
@@ -1303,6 +1304,10 @@ CREATE TABLE USUARIOS_LOGON (
);
+CREATE TABLE UNIDADES_MEDIDA (
+ ID TIPO_ID NOT NULL,
+ DESCRIPCION VARCHAR(255)
+);
/******************************************************************************/
@@ -3413,7 +3418,55 @@ GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
/**** Primary Keys ****/
/******************************************************************************/
-ALTER TABLE ALBARANES_CLIENTE ADD CONSTRAINT PK_ALBARANES_CLIENTE PRIMARY KEY (ID);
+ALTER TABLE AGENTES_COMISIONES ADD CONSTRAINT PK_AGENTES_COMISIONES PRIMARY KEY (ID);
+ALTER TABLE ALBARANES_CLIENTE ADD CONSTRAINT PK_ALBARAN_CLIENTE PRIMARY KEY (ID);
+ALTER TABLE ALBARANES_CLIENTE_DETALLES ADD CONSTRAINT PK_ALBARANES_CLIENTE_DETALLES PRIMARY KEY (ID);
+ALTER TABLE ALBARANES_PROVEEDOR ADD CONSTRAINT PK_ALBARAN_PROVEEDOR PRIMARY KEY (ID);
+ALTER TABLE ALBARANES_PROVEEDOR_DETALLES ADD CONSTRAINT PK_ALBARANES_PROVEEDOR_DETALLES PRIMARY KEY (ID);
+ALTER TABLE ALMACENES ADD CONSTRAINT PK_ALMACENES PRIMARY KEY (ID);
+ALTER TABLE ARTICULOS ADD CONSTRAINT PK_ARTICULOS PRIMARY KEY (ID);
+ALTER TABLE CATEGORIAS ADD CONSTRAINT PK_CATEGORIAS PRIMARY KEY (ID);
+ALTER TABLE CLIENTES_DATOS ADD CONSTRAINT PK_CLIENTES_DATOS PRIMARY KEY (ID_CLIENTE);
+ALTER TABLE CLIENTES_DTOS_PROVEEDORES ADD CONSTRAINT PK_CLIENTES_DTOS_PROV PRIMARY KEY (ID);
+ALTER TABLE COMISIONES_LIQUIDADAS ADD CONSTRAINT PK_COMISIONES_LIQUIDADAS PRIMARY KEY (ID);
+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 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_EMPRESA, ID_CONTACTO);
+ALTER TABLE EMPRESAS_DATOS_BANCO ADD CONSTRAINT PK_EMPRESAS_DATOS_BANCO PRIMARY KEY (ID);
+ALTER TABLE EMPRESAS_USUARIOS ADD CONSTRAINT PK_EMPRESAS_USUARIOS PRIMARY KEY (ID_EMPRESA, ID_USUARIO);
+ALTER TABLE FACTURAS_CLIENTE ADD CONSTRAINT PK_FACTURAS_CLIENTE PRIMARY KEY (ID);
+ALTER TABLE FACTURAS_CLIENTE_DETALLES ADD CONSTRAINT PK_FACTURAS_CLIENTE_DETALLES PRIMARY KEY (ID);
+ALTER TABLE FACTURAS_PROVEEDOR ADD CONSTRAINT PK_FACTURAS_PROVEEDOR PRIMARY KEY (ID);
+ALTER TABLE FACTURAS_PROVEEDOR_DETALLES ADD CONSTRAINT PK_FACTURAS_PROVEEDOR_DETALLES PRIMARY KEY (ID);
+ALTER TABLE FORMAS_PAGO ADD PRIMARY KEY (ID);
+ALTER TABLE FORMAS_PAGO_PLAZOS ADD PRIMARY KEY (ID);
+ALTER TABLE F_PERFILES_USUARIOS ADD CONSTRAINT PK_PERFILES_USUARIOS PRIMARY KEY (ID_PERFIL, ID_USUARIO);
+ALTER TABLE INFORMES ADD CONSTRAINT PK_INFORMES PRIMARY KEY (ID);
+ALTER TABLE MOVIMIENTOS ADD CONSTRAINT PK_MOVIMIENTOS PRIMARY KEY (ID);
+ALTER TABLE PAGOS_CLIENTE ADD CONSTRAINT PK_PAGOS_CLIENTE PRIMARY KEY (ID);
+ALTER TABLE PAGOS_PROVEEDOR ADD CONSTRAINT PK_PAGOS_PROVEEDOR PRIMARY KEY (ID);
+ALTER TABLE PEDIDOS_CLIENTE ADD CONSTRAINT PK_PEDIDOS_CLIENTE PRIMARY KEY (ID);
+ALTER TABLE PEDIDOS_CLIENTE_DETALLES ADD CONSTRAINT PK_PEDIDOS_CLIENTE_DETALLES PRIMARY KEY (ID);
+ALTER TABLE PEDIDOS_PROVEEDOR ADD CONSTRAINT PK_PEDIDOS_PROVEEDOR PRIMARY KEY (ID);
+ALTER TABLE PEDIDOS_PROVEEDOR_DETALLES ADD CONSTRAINT PK_PEDIDOS_PROVEEDOR_DETALLES PRIMARY KEY (ID);
+ALTER TABLE PRESUPUESTOS_CLIENTE ADD CONSTRAINT PK_PRESUPUESTOS_CLIENTE PRIMARY KEY (ID);
+ALTER TABLE PRESUPUESTOS_CLIENTE_DETALLES ADD CONSTRAINT PK_PRESUPUESTOS_CLIENTE_DETALLE PRIMARY KEY (ID);
+ALTER TABLE PROVEEDORES_DATOS ADD CONSTRAINT PK_PROVEEDORES_DATOS PRIMARY KEY (ID_PROVEEDOR);
+ALTER TABLE RECIBOS_CLIENTE ADD CONSTRAINT PK_RECIBOS_CLIENTE PRIMARY KEY (ID);
+ALTER TABLE RECIBOS_PROVEEDOR ADD CONSTRAINT PK_RECIBOS_PROVEEDOR PRIMARY KEY (ID);
+ALTER TABLE REFERENCIAS ADD CONSTRAINT PK_REFERENCIAS PRIMARY KEY (ID);
+ALTER TABLE REMESAS_CLIENTE ADD CONSTRAINT PK_REMESAS_CLIENTE PRIMARY KEY (ID);
+ALTER TABLE REMESAS_PROVEEDOR ADD CONSTRAINT PK_REMESAS_PROVEEDOR PRIMARY KEY (ID);
+ALTER TABLE TIENDA_WEB ADD CONSTRAINT PK_TIENDA_WEB PRIMARY KEY (ID);
+ALTER TABLE TIPOS_IVA ADD PRIMARY KEY (ID);
+ALTER TABLE USUARIOS ADD CONSTRAINT PK_USUARIOS PRIMARY KEY (ID);
+ALTER TABLE USUARIOS_LOGON ADD CONSTRAINT PK_USUARIOS_LOGON PRIMARY KEY (LOGONID);
+ALTER TABLE UNIDADES_MEDIDA ADD PRIMARY KEY (ID);
+
ALTER TABLE CONT_APUNTES ADD CONSTRAINT PK_CONT_APUNTES PRIMARY KEY (ID);
ALTER TABLE CONT_ASIENTOS ADD CONSTRAINT PK_CONT_ASIENTOS PRIMARY KEY (ID);
ALTER TABLE CONT_BALANCES ADD CONSTRAINT PK_CONT_BALANCES PRIMARY KEY (ID);
@@ -3423,11 +3476,43 @@ ALTER TABLE CONT_EJERCICIOS ADD CONSTRAINT PK_CONT_EJERCICIOS PRIMARY KEY (ID);
ALTER TABLE CONT_EPIGRAFES ADD CONSTRAINT PK_CONT_EPIGRAFES PRIMARY KEY (ID);
ALTER TABLE CONT_SUBCUENTAS ADD CONSTRAINT PK_CONT_SUBCUENTAS PRIMARY KEY (ID);
-
/******************************************************************************/
/**** Foreign Keys ****/
/******************************************************************************/
+ALTER TABLE ALBARANES_CLIENTE ADD CONSTRAINT FK_ALBARAN_CLIENTE1 FOREIGN KEY (ID_CLIENTE) REFERENCES CONTACTOS (ID) ON DELETE NO ACTION ON UPDATE NO ACTION;
+ALTER TABLE ALBARANES_CLIENTE ADD CONSTRAINT FK_ALBARAN_CLIENTE2 FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID) ON DELETE NO ACTION ON UPDATE NO ACTION;
+ALTER TABLE ALBARANES_CLIENTE ADD CONSTRAINT FK_ALBARAN_CLIENTE3 FOREIGN KEY (ID_PEDIDO) REFERENCES PEDIDOS_CLIENTE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION;
+ALTER TABLE ALBARANES_CLIENTE ADD CONSTRAINT FK_ALBARAN_CLIENTE4 FOREIGN KEY (ID_FACTURA) REFERENCES FACTURAS_CLIENTE (ID) ON DELETE SET NULL ON UPDATE SET NULL;
+ALTER TABLE ALBARANES_PROVEEDOR ADD CONSTRAINT FK_ALBARANES_PROVEEDOR3 FOREIGN KEY (ID_PEDIDO) REFERENCES PEDIDOS_PROVEEDOR (ID) ON DELETE CASCADE ON UPDATE CASCADE;
+ALTER TABLE ALBARANES_PROVEEDOR ADD CONSTRAINT FK_ALBARANES_PROVEEDOR4 FOREIGN KEY (ID_FACTURA) REFERENCES FACTURAS_PROVEEDOR (ID) ON DELETE SET NULL ON UPDATE CASCADE;
+ALTER TABLE ALBARANES_PROVEEDOR ADD CONSTRAINT FK_ALBARAN_PROVEEDOR1 FOREIGN KEY (ID_PROVEEDOR) REFERENCES CONTACTOS (ID) ON DELETE NO ACTION ON UPDATE NO ACTION;
+ALTER TABLE ALBARANES_PROVEEDOR ADD CONSTRAINT FK_ALBARAN_PROVEEDOR2 FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID) ON DELETE NO ACTION ON UPDATE NO ACTION;
+ALTER TABLE ALMACENES ADD CONSTRAINT FK_ALMACENES_EMPRESAS FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID) ON DELETE NO ACTION ON UPDATE NO ACTION;
+ALTER TABLE ARTICULOS ADD CONSTRAINT FK_ARTICULOS_EMPRESA FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID) ON DELETE NO ACTION ON UPDATE 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 DELETE CASCADE ON UPDATE CASCADE;
+ALTER TABLE EMPRESAS_DATOS_BANCO ADD CONSTRAINT FK_EMPRESAS_DATOS_BANCO FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID) ON DELETE CASCADE ON UPDATE CASCADE;
+ALTER TABLE FACTURAS_CLIENTE ADD CONSTRAINT FK_FACTURAS_CLIENTE_EMPRESAS FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID) ON DELETE NO ACTION ON UPDATE NO ACTION;
+ALTER TABLE FACTURAS_PROVEEDOR ADD CONSTRAINT FK_FACTURAS_PROVEEDOR_EMPRESAS FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID) ON DELETE NO ACTION ON UPDATE NO ACTION;
+ALTER TABLE FACTURAS_PROVEEDOR_DETALLES ADD CONSTRAINT FK_FACTURAS_PRO_DET_ID_FACTURA FOREIGN KEY (ID_FACTURA) REFERENCES FACTURAS_PROVEEDOR (ID) ON DELETE CASCADE ON UPDATE 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 DELETE CASCADE ON UPDATE CASCADE;
+ALTER TABLE RECIBOS_CLIENTE ADD CONSTRAINT FK_RECIBOS_CLIENTE FOREIGN KEY (ID_FACTURA) REFERENCES FACTURAS_CLIENTE (ID) ON DELETE CASCADE ON UPDATE CASCADE;
+ALTER TABLE RECIBOS_CLIENTE ADD CONSTRAINT FK_RECIBOS_CLIENTE2 FOREIGN KEY (ID_REMESA) REFERENCES REMESAS_CLIENTE (ID) ON DELETE SET NULL ON UPDATE SET NULL;
+ALTER TABLE RECIBOS_PROVEEDOR ADD CONSTRAINT FK_RECIBOS_PROVEEDOR FOREIGN KEY (ID_FACTURA) REFERENCES FACTURAS_PROVEEDOR (ID) ON DELETE CASCADE ON UPDATE CASCADE;
+ALTER TABLE RECIBOS_PROVEEDOR ADD CONSTRAINT FK_RECIBOS_PROVEEDOR1 FOREIGN KEY (ID_REMESA) REFERENCES REMESAS_PROVEEDOR (ID) ON DELETE SET NULL ON UPDATE 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 DELETE CASCADE ON UPDATE CASCADE;
+
ALTER TABLE CONT_CUENTAS ADD CONSTRAINT FK_CONT_CUENTAS_1 FOREIGN KEY (ID_EJERCICIO) REFERENCES CONT_EJERCICIOS (ID) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE CONT_EPIGRAFES ADD CONSTRAINT FK_CONT_EPIGRAFES_1 FOREIGN KEY (ID_EJERCICIO) REFERENCES CONT_EJERCICIOS (ID) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE CONT_SUBCUENTAS ADD CONSTRAINT FK_CONT_SUBCUENTAS_1 FOREIGN KEY (ID_EJERCICIO) REFERENCES CONT_EJERCICIOS (ID) ON DELETE CASCADE ON UPDATE CASCADE;
diff --git a/Database/scripts/factuges_sysdata.sql b/Database/scripts/factuges_sysdata.sql
index aef5d42c..79fb6fad 100644
--- a/Database/scripts/factuges_sysdata.sql
+++ b/Database/scripts/factuges_sysdata.sql
@@ -63,3 +63,15 @@ COMMIT WORK;
SET GENERATOR GEN_TIPOS_IVA_ID TO 5;
COMMIT WORK;
+INSERT INTO UNIDADES_MEDIDA (ID, DESCRIPCION) VALUES (1, 'M²');
+INSERT INTO UNIDADES_MEDIDA (ID, DESCRIPCION) VALUES (2, 'ROLLOS');
+INSERT INTO UNIDADES_MEDIDA (ID, DESCRIPCION) VALUES (3, 'MTS.');
+INSERT INTO UNIDADES_MEDIDA (ID, DESCRIPCION) VALUES (4, 'UD.');
+INSERT INTO UNIDADES_MEDIDA (ID, DESCRIPCION) VALUES (5, 'PAQUETES');
+INSERT INTO UNIDADES_MEDIDA (ID, DESCRIPCION) VALUES (6, 'UDS.');
+INSERT INTO UNIDADES_MEDIDA (ID, DESCRIPCION) VALUES (7, 'CAJA');
+INSERT INTO UNIDADES_MEDIDA (ID, DESCRIPCION) VALUES (8, 'CAJAS');
+INSERT INTO UNIDADES_MEDIDA (ID, DESCRIPCION) VALUES (9, 'ROLLO');
+INSERT INTO UNIDADES_MEDIDA (ID, DESCRIPCION) VALUES (10, 'PAQUETE');
+SET GENERATOR GEN_UNIDADES_MEDIDA_ID TO 11;
+COMMIT WORK;
diff --git a/Resources/Iconos/Unidades de medida/16x16/Ruler.png b/Resources/Iconos/Unidades de medida/16x16/Ruler.png
new file mode 100644
index 00000000..38351496
Binary files /dev/null and b/Resources/Iconos/Unidades de medida/16x16/Ruler.png differ
diff --git a/Resources/Iconos/Unidades de medida/24x24/Ruler.png b/Resources/Iconos/Unidades de medida/24x24/Ruler.png
new file mode 100644
index 00000000..54de6932
Binary files /dev/null and b/Resources/Iconos/Unidades de medida/24x24/Ruler.png differ
diff --git a/Resources/Iconos/Unidades de medida/28x28/Ruler.png b/Resources/Iconos/Unidades de medida/28x28/Ruler.png
new file mode 100644
index 00000000..353a9abf
Binary files /dev/null and b/Resources/Iconos/Unidades de medida/28x28/Ruler.png differ
diff --git a/Source/Base/Base.res b/Source/Base/Base.res
index 1641339f..8b251f31 100644
Binary files a/Source/Base/Base.res and b/Source/Base/Base.res differ
diff --git a/Source/Cliente/uBootStrap.pas b/Source/Cliente/uBootStrap.pas
index 0f8a600c..65b6784d 100644
--- a/Source/Cliente/uBootStrap.pas
+++ b/Source/Cliente/uBootStrap.pas
@@ -23,6 +23,8 @@ begin
LoadModule('FormasPago_plugin.bpl');
LoadModule('TiposIVA_plugin.bpl');
LoadModule('Familias_plugin.bpl');
+ LoadModule('UnidadesMedida_plugin.bpl');
+
LoadModule('Contactos_plugin.bpl');
LoadModule('Almacenes_plugin.bpl');
diff --git a/Source/GUIBase/GUIBase.dproj b/Source/GUIBase/GUIBase.dproj
index fdc744e7..fdb45e7a 100644
--- a/Source/GUIBase/GUIBase.dproj
+++ b/Source/GUIBase/GUIBase.dproj
@@ -57,23 +57,109 @@
MainSource
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ TCustomEditor
+
+
+
+
+
+
+ TCustomEditor
+
+
+
+ TCustomEditor
+
+
+
+ TCustomEditor
+
+
+
+ TCustomEditor
+
+
+
+ TCustomEditor
+
+
+
+ TFrame
+
+
+
+ TFrame
+
+
+
+ TFrame
+
+
+
+ TCustomView
+
+
+
+ TFrame
+
+
+
+ TFrame
+
+
+
+ TFrame
+
+
+
+ TFrame
+
+
+
+ TFrame
+
+
+
+ TFrame
+
+
+
+ TFrame
+
+
+
+ TFrame
+
+
+
+ TFrame
+
+
+
+ TFrame
+
+
+
diff --git a/Source/Modulos/Unidades de medida/Controller/UnidadesMedida_controller.rc b/Source/Modulos/Unidades de medida/Controller/UnidadesMedida_controller.rc
new file mode 100644
index 00000000..153736af
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Controller/UnidadesMedida_controller.rc
@@ -0,0 +1,22 @@
+1 VERSIONINFO
+FILEVERSION 1,0,0,0
+PRODUCTVERSION 1,0,0,0
+FILEFLAGSMASK 0x3FL
+FILEFLAGS 0x00L
+FILEOS 0x40004L
+FILETYPE 0x1L
+FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "0C0A04E4"
+ BEGIN
+ VALUE "FileVersion", "1.0.0.0\0"
+ VALUE "ProductVersion", "1.0.0.0\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0C0A, 1252
+ END
+END
diff --git a/Source/Modulos/Unidades de medida/Controller/UnidadesMedida_controller.res b/Source/Modulos/Unidades de medida/Controller/UnidadesMedida_controller.res
new file mode 100644
index 00000000..8b251f31
Binary files /dev/null and b/Source/Modulos/Unidades de medida/Controller/UnidadesMedida_controller.res differ
diff --git a/Source/Modulos/Unidades de medida/Controller/View/uIEditorUnidadesMedida.pas b/Source/Modulos/Unidades de medida/Controller/View/uIEditorUnidadesMedida.pas
new file mode 100644
index 00000000..7f420d15
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Controller/View/uIEditorUnidadesMedida.pas
@@ -0,0 +1,23 @@
+unit uIEditorUnidadesMedida;
+
+interface
+
+uses
+ uEditorDBBase, uBizUnidadesMedida, uUnidadesMedidaController;
+
+type
+ IEditorUnidadesMedida = interface(IEditorDBBase)
+ ['{5786FFF0-8036-4018-B77E-CE98F1FF1CD9}']
+ function GetUnidadesMedida: IBizUnidadMedida;
+ procedure SetUnidadesMedida(const Value: IBizUnidadMedida);
+ property UnidadesMedida: IBizUnidadMedida read GetUnidadesMedida write SetUnidadesMedida;
+
+ function GetController : IUnidadesMedidaController;
+ procedure SetController (const Value : IUnidadesMedidaController);
+ property Controller : IUnidadesMedidaController read GetController write SetController;
+ end;
+
+
+implementation
+
+end.
diff --git a/Source/Modulos/Unidades de medida/Controller/uUnidadesMedidaController.pas b/Source/Modulos/Unidades de medida/Controller/uUnidadesMedidaController.pas
new file mode 100644
index 00000000..eec7f264
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Controller/uUnidadesMedidaController.pas
@@ -0,0 +1,234 @@
+unit uUnidadesMedidaController;
+
+interface
+
+
+uses
+ Classes, SysUtils, uDADataTable, uControllerBase, uEditorDBItem,
+ uIDataModuleUnidadesMedida, uBizUnidadesMedida;
+
+type
+ IUnidadesMedidaController = interface(IObservador)
+ ['{8D56360B-0AAA-41FA-9C48-90C586B07E37}']
+ function BuscarTodos: IBizUnidadMedida;
+ procedure VerTodos(AUnidadesMedida: IBizUnidadMedida);
+ procedure Anadir(AUnidadMedida : IBizUnidadMedida);
+ function Eliminar(AUnidadMedida : IBizUnidadMedida): Boolean;
+ function Guardar(AUnidadMedida : IBizUnidadMedida): Boolean;
+ procedure DescartarCambios(AUnidadMedida : IBizUnidadMedida);
+ function Localizar(AUnidadesMedida: IBizUnidadMedida; ADescripcion:String): Boolean;
+ function DarListaUnidadesMedida: TStringList;
+ end;
+
+ TUnidadesMedidaController = class(TObservador, IUnidadesMedidaController)
+ protected
+ FDataModule : IDataModuleUnidadesMedida;
+
+ procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); override;
+ function CreateEditor(const AName : String; const IID: TGUID; out Intf): Boolean;
+
+ function ValidarAlmacen(AUnidadMedida: IBizUnidadMedida): Boolean;
+
+ //Estos son los tres métodos a sobre escribir si se desea heredar toda la logica de
+ //este controller
+ procedure AsignarDataModule; virtual;
+
+ procedure ValidarObjetos; virtual;
+
+ public
+ constructor Create; override;
+ destructor Destroy; override;
+
+ function Eliminar(AUnidadMedida : IBizUnidadMedida): Boolean;
+ function Guardar(AUnidadMedida : IBizUnidadMedida): Boolean;
+ procedure DescartarCambios(AUnidadMedida : IBizUnidadMedida); virtual;
+ procedure Anadir(AUnidadMedida : IBizUnidadMedida);
+ function BuscarTodos: IBizUnidadMedida;
+ procedure VerTodos(AUnidadesMedida: IBizUnidadMedida);
+ function Localizar(AUnidadesMedida: IBizUnidadMedida; ADescripcion:String): Boolean;
+ function DarListaUnidadesMedida: TStringList;
+ end;
+
+implementation
+
+uses
+ cxControls, DB, uEditorRegistryUtils, schUnidadesMedidaClient_Intf,
+ uIEditorUnidadesMedida, uDataModuleUnidadesMedida,
+ uDAInterfaces, uDataTableUtils,
+ uDateUtils, uROTypes, DateUtils, Controls, Windows;
+
+{ TUnidadesMedidaController }
+
+procedure TUnidadesMedidaController.Anadir(AUnidadMedida: IBizUnidadMedida);
+begin
+ AUnidadMedida.Insert;
+end;
+
+procedure TUnidadesMedidaController.AsignarDataModule;
+begin
+ FDataModule := TDataModuleUnidadesMedida.Create(Nil);
+end;
+
+function TUnidadesMedidaController.BuscarTodos: IBizUnidadMedida;
+begin
+ Result := FDataModule.GetItems;
+end;
+
+constructor TUnidadesMedidaController.Create;
+begin
+ inherited;
+ AsignarDataModule;
+end;
+
+function TUnidadesMedidaController.CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean;
+begin
+ Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf);
+end;
+
+function TUnidadesMedidaController.DarListaUnidadesMedida: TStringList;
+var
+ AUnidadesMedida: IBizUnidadMedida;
+begin
+ AUnidadesMedida := BuscarTodos;
+ AUnidadesMedida.DataTable.Active := True;
+ Result := TStringList.Create;
+ try
+ with Result do
+ begin
+ AUnidadesMedida.DataTable.First;
+ while not AUnidadesMedida.DataTable.EOF do
+ begin
+ Add(AUnidadesMedida.DESCRIPCION);
+ AUnidadesMedida.DataTable.Next;
+ end;
+ end;
+ finally
+ AUnidadesMedida := NIL;
+ end;
+end;
+
+procedure TUnidadesMedidaController.DescartarCambios(AUnidadMedida: IBizUnidadMedida);
+begin
+ if not Assigned(AUnidadMedida) then
+ raise Exception.Create ('Almacen no asignado');
+
+ ShowHourglassCursor;
+ try
+ if (AUnidadMedida.State in dsEditModes) then
+ AUnidadMedida.Cancel;
+
+ AUnidadMedida.DataTable.CancelUpdates;
+ finally
+ HideHourglassCursor;
+ end;
+end;
+
+destructor TUnidadesMedidaController.Destroy;
+begin
+ FDataModule := Nil;
+ inherited;
+end;
+
+function TUnidadesMedidaController.ValidarAlmacen(AUnidadMedida: IBizUnidadMedida): Boolean;
+begin
+//
+end;
+
+procedure TUnidadesMedidaController.ValidarObjetos;
+begin
+//
+end;
+
+procedure TUnidadesMedidaController.VerTodos(AUnidadesMedida: IBizUnidadMedida);
+var
+ AEditor : IEditorUnidadesMedida;
+begin
+ AEditor := NIL;
+ ShowHourglassCursor;
+ try
+ CreateEditor('EditorUnidadesMedida', IEditorUnidadesMedida, AEditor);
+ if Assigned(AEditor) then
+ with AEditor do
+ begin
+ Controller := Self; //OJO ORDEN MUY IMPORTANTE
+ UnidadesMedida := AUnidadesMedida;
+ ShowModal;
+ Release;
+ end;
+ finally
+ AEditor := NIL;
+ HideHourglassCursor;
+ end;
+end;
+
+function TUnidadesMedidaController.Eliminar(AUnidadMedida: IBizUnidadMedida): Boolean;
+begin
+ Result := False;
+
+ if not Assigned(AUnidadMedida) then
+ raise Exception.Create ('Almacen no asignada');
+
+ ShowHourglassCursor;
+ try
+ if (AUnidadMedida.State in dsEditModes) then
+ AUnidadMedida.Cancel;
+
+ AUnidadMedida.Delete;
+ AUnidadMedida.DataTable.ApplyUpdates;
+ HideHourglassCursor;
+ Result := True;
+ finally
+ HideHourglassCursor;
+ end;
+end;
+
+procedure TUnidadesMedidaController.RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable);
+begin
+ inherited;
+//
+end;
+
+function TUnidadesMedidaController.Guardar(AUnidadMedida: IBizUnidadMedida): Boolean;
+begin
+ Result := False;
+
+ if not Assigned(AUnidadMedida) then
+ raise Exception.Create ('Almacen no asignada');
+
+ ValidarObjetos;
+
+ if ValidarAlmacen(AUnidadMedida) then
+ begin
+ ShowHourglassCursor;
+ try
+ if (AUnidadMedida.DataTable.State in dsEditModes) then
+ AUnidadMedida.DataTable.Post;
+
+ AUnidadMedida.DataTable.ApplyUpdates;
+
+ Result := True;
+ finally
+ HideHourglassCursor;
+ end;
+ end;
+end;
+
+function TUnidadesMedidaController.Localizar(AUnidadesMedida: IBizUnidadMedida; ADescripcion: String): Boolean;
+begin
+ Result := True;
+ ShowHourglassCursor;
+ try
+ with AUnidadesMedida.DataTable do
+ begin
+ DisableControls;
+ First;
+ if not Locate(fld_UnidadesMedidaDESCRIPCION, ADescripcion, []) then
+ Result := False;
+ EnableControls;
+ end;
+ finally
+ HideHourglassCursor;
+ end;
+end;
+
+end.
diff --git a/Source/Modulos/Unidades de medida/Data/UnidadesMedida_data.bdsproj b/Source/Modulos/Unidades de medida/Data/UnidadesMedida_data.bdsproj
new file mode 100644
index 00000000..83b4e1cf
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Data/UnidadesMedida_data.bdsproj
@@ -0,0 +1,492 @@
+
+
+
+
+
+
+
+
+
+
+
+ UnidadesMedida_data.dpk
+
+
+ 7.0
+
+
+ 8
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ True
+ True
+ WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+
+ False
+
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ False
+ False
+ False
+ True
+ True
+ True
+ True
+ True
+ True
+
+
+
+ 3
+ 0
+ False
+ 1
+ False
+ False
+ False
+ 16384
+ 1048576
+ 4194304
+
+
+
+
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+
+
+
+ False
+
+
+
+
+
+ False
+
+
+ True
+ False
+
+
+
+ $00000000
+
+
+
+ True
+ False
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ False
+ False
+ 3082
+ 1252
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
diff --git a/Source/Modulos/Unidades de medida/Data/UnidadesMedida_data.dpk b/Source/Modulos/Unidades de medida/Data/UnidadesMedida_data.dpk
new file mode 100644
index 00000000..02f6345d
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Data/UnidadesMedida_data.dpk
@@ -0,0 +1,38 @@
+package UnidadesMedida_data;
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$IMPLICITBUILD ON}
+
+requires
+ rtl,
+ vcl,
+ Base,
+ GUIBase,
+ ApplicationBase,
+ UnidadesMedida_model;
+
+contains
+ uDataModuleUnidadesMedida in 'uDataModuleUnidadesMedida.pas' {DataModuleUnidadesMedida: TDAClientDataModule};
+
+end.
diff --git a/Source/Modulos/Unidades de medida/Data/UnidadesMedida_data.dproj b/Source/Modulos/Unidades de medida/Data/UnidadesMedida_data.dproj
new file mode 100644
index 00000000..94ecb704
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Data/UnidadesMedida_data.dproj
@@ -0,0 +1,545 @@
+
+
+
+ {55d06c67-fc74-4d88-8787-801dee872bb3}
+ UnidadesMedida_data.dpk
+ Debug
+ AnyCPU
+ DCC32
+ ..\..\..\..\Output\Debug\Cliente\UnidadesMedida_data.bpl
+
+
+ 7.0
+ False
+ False
+ 0
+ 3
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ RELEASE
+
+
+ 7.0
+ 3
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+
+
+ Delphi.Personality
+ Package
+
+FalseTrueFalseTrueFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0UnidadesMedida_data.dpk
+
+
+
+
+ MainSource
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Modulos/Unidades de medida/Data/UnidadesMedida_data.rc b/Source/Modulos/Unidades de medida/Data/UnidadesMedida_data.rc
new file mode 100644
index 00000000..153736af
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Data/UnidadesMedida_data.rc
@@ -0,0 +1,22 @@
+1 VERSIONINFO
+FILEVERSION 1,0,0,0
+PRODUCTVERSION 1,0,0,0
+FILEFLAGSMASK 0x3FL
+FILEFLAGS 0x00L
+FILEOS 0x40004L
+FILETYPE 0x1L
+FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "0C0A04E4"
+ BEGIN
+ VALUE "FileVersion", "1.0.0.0\0"
+ VALUE "ProductVersion", "1.0.0.0\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0C0A, 1252
+ END
+END
diff --git a/Source/Modulos/Unidades de medida/Data/UnidadesMedida_data.res b/Source/Modulos/Unidades de medida/Data/UnidadesMedida_data.res
new file mode 100644
index 00000000..8b251f31
Binary files /dev/null and b/Source/Modulos/Unidades de medida/Data/UnidadesMedida_data.res differ
diff --git a/Source/Modulos/Unidades de medida/Data/uDataModuleUnidadesMedida.dfm b/Source/Modulos/Unidades de medida/Data/uDataModuleUnidadesMedida.dfm
new file mode 100644
index 00000000..443196fd
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Data/uDataModuleUnidadesMedida.dfm
@@ -0,0 +1,61 @@
+inherited DataModuleUnidadesMedida: TDataModuleUnidadesMedida
+ OnCreate = DAClientDataModuleCreate
+ Height = 248
+ Width = 489
+ object RORemoteService: TRORemoteService
+ Message = dmConexion.ROMessage
+ Channel = dmConexion.ROChannel
+ ServiceName = 'srvUnidadesMedida'
+ Left = 48
+ Top = 24
+ end
+ object rda_UnidadesMedida: TDARemoteDataAdapter
+ GetSchemaCall.RemoteService = RORemoteService
+ GetDataCall.RemoteService = RORemoteService
+ UpdateDataCall.RemoteService = RORemoteService
+ GetScriptsCall.RemoteService = RORemoteService
+ RemoteService = RORemoteService
+ DataStreamer = Bin2DataStreamer
+ Left = 203
+ Top = 23
+ end
+ object Bin2DataStreamer: TDABin2DataStreamer
+ Left = 48
+ Top = 96
+ end
+ object tbl_UnidadesMedida: TDAMemDataTable
+ RemoteUpdatesOptions = []
+ Fields = <
+ item
+ Name = 'ID'
+ DataType = datAutoInc
+ GeneratorName = 'GEN_UNIDADES_MEDIDA_ID'
+ Required = True
+ ServerAutoRefresh = True
+ DictionaryEntry = 'UnidadesMedida_ID'
+ InPrimaryKey = True
+ end
+ item
+ Name = 'DESCRIPCION'
+ DataType = datString
+ Size = 255
+ DisplayLabel = 'Descripci'#243'n'
+ DictionaryEntry = 'UnidadesMedida_DESCRIPCION'
+ end>
+ Params = <>
+ StreamingOptions = [soDisableEventsWhileStreaming]
+ RemoteDataAdapter = rda_UnidadesMedida
+ DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
+ MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
+ LogicalName = 'UnidadesMedida'
+ IndexDefs = <>
+ Left = 336
+ Top = 24
+ end
+ object ds_UnidadesMedida: TDADataSource
+ DataSet = tbl_UnidadesMedida.Dataset
+ DataTable = tbl_UnidadesMedida
+ Left = 336
+ Top = 96
+ end
+end
diff --git a/Source/Modulos/Unidades de medida/Data/uDataModuleUnidadesMedida.pas b/Source/Modulos/Unidades de medida/Data/uDataModuleUnidadesMedida.pas
new file mode 100644
index 00000000..e295f146
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Data/uDataModuleUnidadesMedida.pas
@@ -0,0 +1,112 @@
+{
+===============================================================================
+ Copyright (©) 2007. Rodax Software.
+===============================================================================
+ Los contenidos de este fichero son propiedad de Rodax Software titular del
+ copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado,
+ en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
+ acuerdo con los términos y condiciones establecidas en el acuerdo/contrato
+ bajo el que se suministra.
+ -----------------------------------------------------------------------------
+ Web: www.rodax-software.com
+===============================================================================
+ Fecha primera versión:
+ Versión actual: 1.0.0
+ Fecha versión actual:
+===============================================================================
+ Modificaciones:
+
+ Fecha Comentarios
+ ---------------------------------------------------------------------------
+===============================================================================
+}
+
+unit uDataModuleUnidadesMedida;
+
+interface
+
+uses
+ SysUtils, Classes, DB, uDADataTable, uDABINAdapter,
+ uDAScriptingProvider, uDACDSDataTable, uROWinInetHttpChannel, uROTypes,
+ uRORemoteService, uROClient, uROBinMessage,
+ uDADesigntimeCall,
+
+ uIDataModuleUnidadesMedida, uBizUnidadesMedida, uDADataStreamer, uDARemoteDataAdapter,
+ uDAInterfaces, uRODynamicRequest, uDABin2DataStreamer, uDAMemDataTable,
+ uDataModuleBase;
+
+type
+ TDataModuleUnidadesMedida = class(TDataModuleBase, IDataModuleUnidadesMedida)
+ RORemoteService: TRORemoteService;
+ rda_UnidadesMedida: TDARemoteDataAdapter;
+ Bin2DataStreamer: TDABin2DataStreamer;
+ tbl_UnidadesMedida: TDAMemDataTable;
+ ds_UnidadesMedida: TDADataSource;
+ procedure DAClientDataModuleCreate(Sender: TObject);
+ public
+ function GetItems: IBizUnidadMedida;
+ function GetItem(const ID : Integer) : IBizUnidadMedida;
+ function NewItem : IBizUnidadMedida;
+ end;
+
+implementation
+
+{$R *.DFM}
+
+uses
+ FactuGES_Intf, uDataModuleConexion, uDataTableUtils, cxControls,
+ schUnidadesMedidaClient_Intf;
+
+{ TDataModuleUnidadesMedida }
+
+procedure TDataModuleUnidadesMedida.DAClientDataModuleCreate(Sender: TObject);
+begin
+ RORemoteService.Channel := dmConexion.Channel;
+ RORemoteService.Message := dmConexion.Message;
+end;
+
+function TDataModuleUnidadesMedida.GetItems: IBizUnidadMedida;
+var
+ AUnidadMedida : TDAMemDataTable;
+begin
+ ShowHourglassCursor;
+ try
+ AUnidadMedida := CloneDataTable(tbl_UnidadesMedida);
+ AUnidadMedida.BusinessRulesID := BIZ_CLIENT_UnidadMedida;
+
+ Result := (AUnidadMedida as IBizUnidadMedida);
+ finally
+ HideHourglassCursor;
+ end;
+end;
+
+function TDataModuleUnidadesMedida.NewItem: IBizUnidadMedida;
+begin
+ Result := GetItem(ID_NULO)
+end;
+
+function TDataModuleUnidadesMedida.GetItem(const ID: Integer): IBizUnidadMedida;
+var
+ Condicion: TDAWhereExpression;
+begin
+ ShowHourglassCursor;
+ try
+ Result := Self.GetItems;
+
+ with Result.DataTable.DynamicWhere do
+ begin
+ // (ID = :ID)
+ Condicion := NewBinaryExpression(NewField('', fld_UnidadesMedidaID), NewConstant(ID, datInteger), dboEqual);
+
+ if IsEmpty then
+ Expression := Condicion
+ else
+ Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
+ end;
+
+ finally
+ HideHourglassCursor;
+ end;
+end;
+
+end.
diff --git a/Source/Modulos/Unidades de medida/Model/Data/uIDataModuleUnidadesMedida.pas b/Source/Modulos/Unidades de medida/Model/Data/uIDataModuleUnidadesMedida.pas
new file mode 100644
index 00000000..7bdc1529
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Model/Data/uIDataModuleUnidadesMedida.pas
@@ -0,0 +1,42 @@
+{
+===============================================================================
+ Copyright (©) 2007. Rodax Software.
+===============================================================================
+ Los contenidos de este fichero son propiedad de Rodax Software titular del
+ copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado,
+ en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
+ acuerdo con los términos y condiciones establecidas en el acuerdo/contrato
+ bajo el que se suministra.
+ -----------------------------------------------------------------------------
+ Web: www.rodax-software.com
+===============================================================================
+ Fecha primera versión:
+ Versión actual: 1.0.0
+ Fecha versión actual:
+===============================================================================
+ Modificaciones:
+
+ Fecha Comentarios
+ ---------------------------------------------------------------------------
+===============================================================================
+}
+
+unit uIDataModuleUnidadesMedida;
+
+interface
+
+uses
+ uBizUnidadesMedida;
+
+type
+ IDataModuleUnidadesMedida = interface
+ ['{30D6FF83-4527-46E9-823D-C1E3E4E00522}']
+ function GetItems: IBizUnidadMedida;
+ function GetItem(const ID : Integer) : IBizUnidadMedida;
+ function NewItem : IBizUnidadMedida;
+
+ end;
+
+implementation
+
+end.
diff --git a/Source/Modulos/Unidades de medida/Model/UnidadesMedida_model.bdsproj b/Source/Modulos/Unidades de medida/Model/UnidadesMedida_model.bdsproj
new file mode 100644
index 00000000..675e079e
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Model/UnidadesMedida_model.bdsproj
@@ -0,0 +1,175 @@
+
+
+
+
+
+
+
+
+
+
+
+ UnidadesMedida_model.dpk
+
+
+ 7.0
+
+
+ 8
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ True
+ True
+ WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+
+ False
+
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ False
+ False
+ False
+ True
+ True
+ True
+ True
+ True
+ True
+
+
+
+ 3
+ 0
+ False
+ 1
+ False
+ False
+ False
+ 16384
+ 1048576
+ 4194304
+
+
+
+
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+
+
+
+ False
+
+
+
+
+
+ False
+
+
+ True
+ False
+
+
+
+ $00000000
+
+
+
+ True
+ False
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ False
+ False
+ 3082
+ 1252
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+ 1.0.0.0
+
+
+
+
diff --git a/Source/Modulos/Unidades de medida/Model/UnidadesMedida_model.dpk b/Source/Modulos/Unidades de medida/Model/UnidadesMedida_model.dpk
new file mode 100644
index 00000000..8802087f
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Model/UnidadesMedida_model.dpk
@@ -0,0 +1,40 @@
+package UnidadesMedida_model;
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$IMPLICITBUILD ON}
+
+requires
+ rtl,
+ vcl,
+ Base,
+ GUIBase,
+ ApplicationBase;
+
+contains
+ uIDataModuleUnidadesMedida in 'Data\uIDataModuleUnidadesMedida.pas',
+ uBizUnidadesMedida in 'uBizUnidadesMedida.pas',
+ schUnidadesMedidaClient_Intf in 'schUnidadesMedidaClient_Intf.pas',
+ schUnidadesMedidaServer_Intf in 'schUnidadesMedidaServer_Intf.pas';
+
+end.
diff --git a/Source/Modulos/Unidades de medida/Model/UnidadesMedida_model.dproj b/Source/Modulos/Unidades de medida/Model/UnidadesMedida_model.dproj
new file mode 100644
index 00000000..c638ded6
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Model/UnidadesMedida_model.dproj
@@ -0,0 +1,546 @@
+
+
+
+ {82fe21d8-609d-444d-879e-4d9e1c291607}
+ UnidadesMedida_model.dpk
+ Debug
+ AnyCPU
+ DCC32
+ ..\..\..\..\Output\Debug\Cliente\UnidadesMedida_model.bpl
+
+
+ 7.0
+ False
+ False
+ 0
+ 3
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Release\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ RELEASE
+
+
+ 7.0
+ 3
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+
+
+ Delphi.Personality
+ Package
+
+FalseTrueFalseTrueFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0UnidadesMedida_model.dpk
+
+
+
+
+ MainSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Modulos/Unidades de medida/Model/UnidadesMedida_model.rc b/Source/Modulos/Unidades de medida/Model/UnidadesMedida_model.rc
new file mode 100644
index 00000000..153736af
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Model/UnidadesMedida_model.rc
@@ -0,0 +1,22 @@
+1 VERSIONINFO
+FILEVERSION 1,0,0,0
+PRODUCTVERSION 1,0,0,0
+FILEFLAGSMASK 0x3FL
+FILEFLAGS 0x00L
+FILEOS 0x40004L
+FILETYPE 0x1L
+FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "0C0A04E4"
+ BEGIN
+ VALUE "FileVersion", "1.0.0.0\0"
+ VALUE "ProductVersion", "1.0.0.0\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0C0A, 1252
+ END
+END
diff --git a/Source/Modulos/Unidades de medida/Model/UnidadesMedida_model.res b/Source/Modulos/Unidades de medida/Model/UnidadesMedida_model.res
new file mode 100644
index 00000000..8b251f31
Binary files /dev/null and b/Source/Modulos/Unidades de medida/Model/UnidadesMedida_model.res differ
diff --git a/Source/Modulos/Unidades de medida/Model/schUnidadesMedidaClient_Intf.pas b/Source/Modulos/Unidades de medida/Model/schUnidadesMedidaClient_Intf.pas
new file mode 100644
index 00000000..55e93c95
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Model/schUnidadesMedidaClient_Intf.pas
@@ -0,0 +1,134 @@
+unit schUnidadesMedidaClient_Intf;
+
+interface
+
+uses
+ Classes, DB, schBase_Intf, 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_UnidadesMedida = '{14A87520-B55F-443A-8000-41DA02E868E0}';
+
+ { Data table names }
+ nme_UnidadesMedida = 'UnidadesMedida';
+
+ { UnidadesMedida fields }
+ fld_UnidadesMedidaID = 'ID';
+ fld_UnidadesMedidaDESCRIPCION = 'DESCRIPCION';
+
+ { UnidadesMedida field indexes }
+ idx_UnidadesMedidaID = 0;
+ idx_UnidadesMedidaDESCRIPCION = 1;
+
+type
+ { IUnidadesMedida }
+ IUnidadesMedida = interface(IDAStronglyTypedDataTable)
+ ['{24187172-3EFB-4EE4-9099-E3469B5128CE}']
+ { Property getters and setters }
+ function GetIDValue: Integer;
+ procedure SetIDValue(const aValue: Integer);
+ function GetIDIsNull: Boolean;
+ procedure SetIDIsNull(const aValue: Boolean);
+ function GetDESCRIPCIONValue: String;
+ procedure SetDESCRIPCIONValue(const aValue: String);
+ function GetDESCRIPCIONIsNull: Boolean;
+ procedure SetDESCRIPCIONIsNull(const aValue: Boolean);
+
+
+ { Properties }
+ property ID: Integer read GetIDValue write SetIDValue;
+ property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
+ property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
+ property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
+ end;
+
+ { TUnidadesMedidaDataTableRules }
+ TUnidadesMedidaDataTableRules = class(TIntfObjectDADataTableRules, IUnidadesMedida)
+ 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 GetDESCRIPCIONValue: String; virtual;
+ procedure SetDESCRIPCIONValue(const aValue: String); virtual;
+ function GetDESCRIPCIONIsNull: Boolean; virtual;
+ procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual;
+
+ { Properties }
+ property ID: Integer read GetIDValue write SetIDValue;
+ property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
+ property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
+ property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
+
+ public
+ constructor Create(aDataTable: TDADataTable); override;
+ destructor Destroy; override;
+
+ end;
+
+implementation
+
+uses Variants, uROBinaryHelpers;
+
+{ TUnidadesMedidaDataTableRules }
+constructor TUnidadesMedidaDataTableRules.Create(aDataTable: TDADataTable);
+begin
+ inherited;
+end;
+
+destructor TUnidadesMedidaDataTableRules.Destroy;
+begin
+ inherited;
+end;
+
+function TUnidadesMedidaDataTableRules.GetIDValue: Integer;
+begin
+ result := DataTable.Fields[idx_UnidadesMedidaID].AsInteger;
+end;
+
+procedure TUnidadesMedidaDataTableRules.SetIDValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_UnidadesMedidaID].AsInteger := aValue;
+end;
+
+function TUnidadesMedidaDataTableRules.GetIDIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_UnidadesMedidaID].IsNull;
+end;
+
+procedure TUnidadesMedidaDataTableRules.SetIDIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_UnidadesMedidaID].AsVariant := Null;
+end;
+
+function TUnidadesMedidaDataTableRules.GetDESCRIPCIONValue: String;
+begin
+ result := DataTable.Fields[idx_UnidadesMedidaDESCRIPCION].AsString;
+end;
+
+procedure TUnidadesMedidaDataTableRules.SetDESCRIPCIONValue(const aValue: String);
+begin
+ DataTable.Fields[idx_UnidadesMedidaDESCRIPCION].AsString := aValue;
+end;
+
+function TUnidadesMedidaDataTableRules.GetDESCRIPCIONIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_UnidadesMedidaDESCRIPCION].IsNull;
+end;
+
+procedure TUnidadesMedidaDataTableRules.SetDESCRIPCIONIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_UnidadesMedidaDESCRIPCION].AsVariant := Null;
+end;
+
+
+initialization
+ RegisterDataTableRules(RID_UnidadesMedida, TUnidadesMedidaDataTableRules);
+
+end.
diff --git a/Source/Modulos/Unidades de medida/Model/schUnidadesMedidaServer_Intf.pas b/Source/Modulos/Unidades de medida/Model/schUnidadesMedidaServer_Intf.pas
new file mode 100644
index 00000000..42bb3d5d
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Model/schUnidadesMedidaServer_Intf.pas
@@ -0,0 +1,143 @@
+unit schUnidadesMedidaServer_Intf;
+
+interface
+
+uses
+ Classes, DB, SysUtils, uROClasses, uDADataTable, uDABusinessProcessor, FmtBCD, uROXMLIntf, schUnidadesMedidaClient_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_UnidadesMedidaDelta = '{9E7C1A62-FB1D-4BD8-B342-DFA72571B510}';
+
+type
+ { IUnidadesMedidaDelta }
+ IUnidadesMedidaDelta = interface(IUnidadesMedida)
+ ['{9E7C1A62-FB1D-4BD8-B342-DFA72571B510}']
+ { Property getters and setters }
+ function GetOldIDValue : Integer;
+ function GetOldDESCRIPCIONValue : String;
+
+ { Properties }
+ property OldID : Integer read GetOldIDValue;
+ property OldDESCRIPCION : String read GetOldDESCRIPCIONValue;
+ end;
+
+ { TUnidadesMedidaBusinessProcessorRules }
+ TUnidadesMedidaBusinessProcessorRules = class(TDABusinessProcessorRules, IUnidadesMedida, IUnidadesMedidaDelta)
+ 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 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 ID : Integer read GetIDValue write SetIDValue;
+ property IDIsNull : Boolean read GetIDIsNull write SetIDIsNull;
+ property OldID : Integer read GetOldIDValue;
+ property OldIDIsNull : Boolean read GetOldIDIsNull;
+ 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;
+ destructor Destroy; override;
+
+ end;
+
+implementation
+
+uses
+ Variants, uROBinaryHelpers, uDAInterfaces;
+
+{ TUnidadesMedidaBusinessProcessorRules }
+constructor TUnidadesMedidaBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
+begin
+ inherited;
+end;
+
+destructor TUnidadesMedidaBusinessProcessorRules.Destroy;
+begin
+ inherited;
+end;
+
+function TUnidadesMedidaBusinessProcessorRules.GetIDValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_UnidadesMedidaID];
+end;
+
+function TUnidadesMedidaBusinessProcessorRules.GetIDIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_UnidadesMedidaID]);
+end;
+
+function TUnidadesMedidaBusinessProcessorRules.GetOldIDValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_UnidadesMedidaID];
+end;
+
+function TUnidadesMedidaBusinessProcessorRules.GetOldIDIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_UnidadesMedidaID]);
+end;
+
+procedure TUnidadesMedidaBusinessProcessorRules.SetIDValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_UnidadesMedidaID] := aValue;
+end;
+
+procedure TUnidadesMedidaBusinessProcessorRules.SetIDIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_UnidadesMedidaID] := Null;
+end;
+
+function TUnidadesMedidaBusinessProcessorRules.GetDESCRIPCIONValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_UnidadesMedidaDESCRIPCION];
+end;
+
+function TUnidadesMedidaBusinessProcessorRules.GetDESCRIPCIONIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_UnidadesMedidaDESCRIPCION]);
+end;
+
+function TUnidadesMedidaBusinessProcessorRules.GetOldDESCRIPCIONValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_UnidadesMedidaDESCRIPCION];
+end;
+
+function TUnidadesMedidaBusinessProcessorRules.GetOldDESCRIPCIONIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_UnidadesMedidaDESCRIPCION]);
+end;
+
+procedure TUnidadesMedidaBusinessProcessorRules.SetDESCRIPCIONValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_UnidadesMedidaDESCRIPCION] := aValue;
+end;
+
+procedure TUnidadesMedidaBusinessProcessorRules.SetDESCRIPCIONIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_UnidadesMedidaDESCRIPCION] := Null;
+end;
+
+
+initialization
+ RegisterBusinessProcessorRules(RID_UnidadesMedidaDelta, TUnidadesMedidaBusinessProcessorRules);
+
+end.
diff --git a/Source/Modulos/Unidades de medida/Model/uBizUnidadesMedida.pas b/Source/Modulos/Unidades de medida/Model/uBizUnidadesMedida.pas
new file mode 100644
index 00000000..b0fa09e4
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Model/uBizUnidadesMedida.pas
@@ -0,0 +1,134 @@
+{
+===============================================================================
+ Copyright (©) 2007. Rodax Software.
+===============================================================================
+ Los contenidos de este fichero son propiedad de Rodax Software titular del
+ copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado,
+ en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
+ acuerdo con los términos y condiciones establecidas en el acuerdo/contrato
+ bajo el que se suministra.
+ -----------------------------------------------------------------------------
+ Web: www.rodax-software.com
+===============================================================================
+ Fecha primera versión:
+ Versión actual: 1.0.0
+ Fecha versión actual:
+===============================================================================
+ Modificaciones:
+
+ Fecha Comentarios
+ ---------------------------------------------------------------------------
+===============================================================================
+}
+
+unit uBizUnidadesMedida;
+
+interface
+
+uses
+ uDAInterfaces, uDADataTable, uDBSelectionListUtils, schUnidadesMedidaClient_Intf;
+
+const
+ BIZ_CLIENT_UNIDADMEDIDA = 'Client.UnidadMedida';
+
+type
+ IBizUnidadMedida = interface(IUnidadesMedida)
+ ['{1A127C8E-2D86-4504-A041-B66152CC7A99}']
+ function EsNuevo : Boolean;
+
+ // Descomentar esto si hay clases detalles
+ // procedure SetDetalles(AValue : IBizDetalles);
+ // function GetDetalles : IBizDetalles;
+ // property Detalles : IBizDetalles read GetDetalles write SetDetalles;
+ end;
+
+ TBizUnidadMedida = class(TUnidadesMedidaDataTableRules, IBizUnidadMedida, ISeleccionable)
+ protected
+ FSeleccionableInterface : ISeleccionable;
+
+ // Descomentar esto si hay clases detalles
+ // FDetalles : IBizDetalles;
+ // FDetallesLink : TDADataSource;
+ // procedure SetDetalles(AValue : IBizDetalles);
+ // function GetDetalles : IBizDetalles;
+
+ procedure OnNewRecord(Sender: TDADataTable); override;
+ public
+ procedure IniciarValoresUnidadMedidaNuevo;
+ function EsNuevo : Boolean;
+ constructor Create(aDataTable: TDADataTable); override;
+ destructor Destroy; override;
+
+ property SeleccionableInterface : ISeleccionable
+ read FSeleccionableInterface
+ write FSeleccionableInterface
+ implements ISeleccionable;
+
+ // Descomentar esto si hay clases detalles
+ // property Detalles : IBizDetalles read GetDetalles write SetDetalles;
+ end;
+
+implementation
+
+{ TBizUnidadMedida }
+
+uses
+ SysUtils, uDataTableUtils;
+
+// Descomentar esto si hay clases detalles
+// function TBizUnidadMedida.GetDetalles: IBizDetalles;
+// begin
+// Result := FDetalles;
+// end;
+
+// Descomentar esto si hay clases detalles
+// procedure TBizUnidadMedida.SetDetalles(AValue: IBizDetalles);
+// begin
+// FDetalles := AValue;
+// EnlazarMaestroDetalle(FDetallesLink, FDetalles);
+// end;
+
+constructor TBizUnidadMedida.Create(aDataTable: TDADataTable);
+begin
+ inherited;
+ // Descomentar esto si hay clases detalles
+ // FDetallesLink := TDADataSource.Create(NIL);
+ // FDetallesLink.DataTable := aDataTable;
+
+ FSeleccionableInterface := TSeleccionable.Create(aDataTable);
+end;
+
+destructor TBizUnidadMedida.Destroy;
+begin
+ // Descomentar esto si hay clases detalles
+ // FDetalles := NIL;
+ // FreeAndNIL(FDetallesLink);
+
+ FSeleccionableInterface := NIL;
+ inherited;
+end;
+
+function TBizUnidadMedida.EsNuevo: Boolean;
+begin
+ Result := (ID < 0);
+end;
+
+procedure TBizUnidadMedida.IniciarValoresUnidadMedidaNuevo;
+begin
+ //
+end;
+
+procedure TBizUnidadMedida.OnNewRecord(Sender: TDADataTable);
+begin
+ inherited;
+ ID := GetRecNo; // -1, -2, -3...
+ IniciarValoresUnidadMedidaNuevo;
+end;
+
+initialization
+ RegisterDataTableRules(BIZ_CLIENT_UNIDADMEDIDA, TBizUnidadMedida);
+
+finalization
+
+end.
+
diff --git a/Source/Modulos/Unidades de medida/Plugin/UnidadesMedida_plugin.bdsproj b/Source/Modulos/Unidades de medida/Plugin/UnidadesMedida_plugin.bdsproj
new file mode 100644
index 00000000..c15673d5
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Plugin/UnidadesMedida_plugin.bdsproj
@@ -0,0 +1,175 @@
+
+
+
+
+
+
+
+
+
+
+
+ UnidadesMedida_plugin.dpk
+
+
+ 7.0
+
+
+ 8
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ True
+ True
+ WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+
+ False
+
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ False
+ False
+ False
+ True
+ True
+ True
+ True
+ True
+ True
+
+
+
+ 0
+ 0
+ False
+ 1
+ False
+ False
+ False
+ 16384
+ 1048576
+ 4194304
+
+
+
+
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+
+
+
+ False
+
+
+
+
+
+ False
+
+
+ True
+ False
+
+
+
+ $00000000
+
+
+
+ True
+ False
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ False
+ False
+ 3082
+ 1252
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+ 1.0.0.0
+
+
+
+
diff --git a/Source/Modulos/Unidades de medida/Plugin/UnidadesMedida_plugin.dpk b/Source/Modulos/Unidades de medida/Plugin/UnidadesMedida_plugin.dpk
new file mode 100644
index 00000000..1264c13b
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Plugin/UnidadesMedida_plugin.dpk
@@ -0,0 +1,41 @@
+package UnidadesMedida_plugin;
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$IMPLICITBUILD ON}
+
+requires
+ rtl,
+ vcl,
+ PluginSDK_D10R,
+ Base,
+ GUIBase,
+ ApplicationBase,
+ UnidadesMedida_model,
+ UnidadesMedida_controller,
+ UnidadesMedida_view;
+
+contains
+ uPluginUnidadesMedida in 'uPluginUnidadesMedida.pas';
+
+end.
diff --git a/Source/Modulos/Unidades de medida/Plugin/UnidadesMedida_plugin.dproj b/Source/Modulos/Unidades de medida/Plugin/UnidadesMedida_plugin.dproj
new file mode 100644
index 00000000..e238ce0d
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Plugin/UnidadesMedida_plugin.dproj
@@ -0,0 +1,545 @@
+
+
+
+ {139324a2-0c57-446d-aebd-edd9578e22fd}
+ UnidadesMedida_plugin.dpk
+ Debug
+ AnyCPU
+ DCC32
+ ..\..\..\..\Output\Debug\Cliente\UnidadesMedida_plugin.bpl
+
+
+ 7.0
+ False
+ False
+ 0
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Release\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ RELEASE
+
+
+ 7.0
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+
+
+ Delphi.Personality
+ Package
+
+FalseTrueFalseTrueFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0UnidadesMedida_plugin.dpk
+
+
+
+
+ MainSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Modulos/Unidades de medida/Plugin/UnidadesMedida_plugin.rc b/Source/Modulos/Unidades de medida/Plugin/UnidadesMedida_plugin.rc
new file mode 100644
index 00000000..153736af
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Plugin/UnidadesMedida_plugin.rc
@@ -0,0 +1,22 @@
+1 VERSIONINFO
+FILEVERSION 1,0,0,0
+PRODUCTVERSION 1,0,0,0
+FILEFLAGSMASK 0x3FL
+FILEFLAGS 0x00L
+FILEOS 0x40004L
+FILETYPE 0x1L
+FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "0C0A04E4"
+ BEGIN
+ VALUE "FileVersion", "1.0.0.0\0"
+ VALUE "ProductVersion", "1.0.0.0\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0C0A, 1252
+ END
+END
diff --git a/Source/Modulos/Unidades de medida/Plugin/UnidadesMedida_plugin.res b/Source/Modulos/Unidades de medida/Plugin/UnidadesMedida_plugin.res
new file mode 100644
index 00000000..8b251f31
Binary files /dev/null and b/Source/Modulos/Unidades de medida/Plugin/UnidadesMedida_plugin.res differ
diff --git a/Source/Modulos/Unidades de medida/Plugin/uPluginUnidadesMedida.dfm b/Source/Modulos/Unidades de medida/Plugin/uPluginUnidadesMedida.dfm
new file mode 100644
index 00000000..6b2d0506
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Plugin/uPluginUnidadesMedida.dfm
@@ -0,0 +1,108 @@
+object PluginUnidadesMedida: TPluginUnidadesMedida
+ OldCreateOrder = True
+ DefaultAction = actUnidadesMedida
+ Description = 'Tipos de IVA'
+ ModuleMenu = MainMenu
+ ModuleName = 'Tipos de IVA'
+ SmallImages = SmallImages
+ LargeImages = LargeImages
+ Author = 'Rodax Software S.L.'
+ Version = '1.0.0'
+ Height = 234
+ Width = 459
+ object LargeImages: TPngImageList
+ Height = 24
+ Width = 24
+ PngImages = <
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD2520000011E4944415478DA
+ 6364A010ACCA60F80FA2C366303062936724CD384CC3FD2AD63030B3F132AC6F
+ 72C76A09D916800C5FF7218261715F22C3D7EBD31998B86418762C9C82610959
+ 1620BB7C612DD0E529397039744B48B600D97098CBD101B2252459802D58D0C1
+ BF6F4F18AE5DDEC0F0E40624E289B600D9E597B7B933A868E7E0349C8307C2BF
+ 7386481F10132C30C3279D8860287359C1F0E30B03D817042D202558602EEFDA
+ 13C11024B0827010E14B2DB80C87B99C602453122C049329A5C182AC8E119BE1
+ A4A6166C2EC76A01B58205AB05D40C160C0BA8915A705A408B60C1EA03B7D000
+ AA050BCE38F088CFC16B38292EC7B000DD124A8205A705C8C14549B0E0B50066
+ 898A09F9C142D0029825321A94198ED702982594180E0200B0F2324A4753EBA6
+ 0000000049454E44AE426082}
+ Name = 'PngImage0'
+ Background = clWindow
+ end>
+ Left = 232
+ Top = 16
+ Bitmap = {}
+ end
+ object ModuleActionList: TActionList
+ Images = SmallImages
+ Left = 40
+ Top = 72
+ object actUnidadesMedida: TAction
+ Category = 'Datos'
+ Caption = 'Unidades de medida'
+ ImageIndex = 0
+ OnExecute = actUnidadesMedidaExecute
+ end
+ end
+ object MainMenu: TMainMenu
+ Images = LargeImages
+ Left = 40
+ Top = 16
+ object Ventas1: TMenuItem
+ Caption = 'Datos'
+ object UnidadesMedida1: TMenuItem
+ Tag = 313
+ Action = actUnidadesMedida
+ end
+ end
+ end
+ object SmallImages: TPngImageList
+ PngImages = <
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000000C14944415478DA
+ 63642001ACCA60F81F36838111598C9158CD111111FF17F72532AC6F72674036
+ 842803403607D6ED645858EBCE101215C0B06BF506B821040D80D9FCF7D76786
+ 1F7797303071C930FCFBF6046E082331365FDEE6CEA0A41800D7EC51FD82615A
+ CA09862D5BF0B80097CDF7EE6F00CB8334D76DC0E102743F63B319A4196B1810
+ 6B33D65820C6CFC89A510C20D566140348F133860130CDA4DA8CE102B750D26C
+ C608039821C4DA8C3316544C88D78C351D340530FC275633080000DE09BBE2B0
+ 1D07420000000049454E44AE426082}
+ Name = 'PngImage0'
+ Background = clWindow
+ end>
+ PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled]
+ Left = 308
+ Top = 16
+ Bitmap = {}
+ end
+ object ExtraImages: TPngImageList
+ Height = 28
+ Width = 28
+ PngImages = <
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D494844520000001C0000001C0806000000720DDF
+ 940000000970485973000017120000171201679FD252000001514944415478DA
+ 6364A0225895C1F03F6C0603233E358CC41A468C6581952B19D6B78733E0B394
+ 2A16822C5BF7218261715F2298BFBEC91DA7A5145B08F31903AB00C3E56DEE0C
+ BA5E3B19BE5E9FCEB06BF506AC96526421B2653000B28C894B06CCDEB1700A86
+ A5645B881E8CE896C100BAA5645988ECB385B5EE0CF1CD3BB15A0602574E4E61
+ 787283016E29C916120A4674CB387820EC3B672096926421B1C1886CD98F2F0C
+ 701AE453A22DC4951A09F90C04B2E6583014199C20DE87E4062308C07C46741C
+ 92138C5D7B2218CA5C56605846D042525323AE604456C7488C65940623410BA9
+ 911A892E4BA9951A71851C232ECBA8198C582DA4766AC46B212D52234E0BE911
+ 8CD87D58B79328CB884D8D44C5A15B68004D8211AB85304B3DE273A81E8C382D
+ 44B79492D448B485304B653418A8168C042D8459AA62429D6024CA42649F52CB
+ 328216C22CA59665200000B1F5433DEC7F85AD0000000049454E44AE426082}
+ Name = 'PngImage0'
+ Background = clWindow
+ end>
+ Left = 232
+ Top = 80
+ Bitmap = {}
+ end
+end
diff --git a/Source/Modulos/Unidades de medida/Plugin/uPluginUnidadesMedida.pas b/Source/Modulos/Unidades de medida/Plugin/uPluginUnidadesMedida.pas
new file mode 100644
index 00000000..dbea8e55
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Plugin/uPluginUnidadesMedida.pas
@@ -0,0 +1,73 @@
+unit uPluginUnidadesMedida;
+
+interface
+
+uses
+ uModuleController, uInterfaces, uHostManager, Menus, Classes, ActnList,
+ ImgList, Controls, PngImageList;
+
+type
+ IMCUnidadesMedida = interface(IInterface)
+ ['{386EDE31-46C9-4EA1-9F1D-423739372E1F}']
+ end;
+
+ TPluginUnidadesMedida = class(TModuleController, IMCUnidadesMedida)
+ actUnidadesMedida: TAction;
+ ExtraImages: TPngImageList;
+ LargeImages: TPngImageList;
+ MainMenu: TMainMenu;
+ ModuleActionList: TActionList;
+ SmallImages: TPngImageList;
+ Ventas1: TMenuItem;
+ UnidadesMedida1: TMenuItem;
+ procedure actUnidadesMedidaExecute(Sender: TObject);
+ public
+ constructor Create(AOwner: TComponent); override;
+ destructor Destroy; override;
+ end;
+
+implementation
+
+{$R *.dfm}
+
+uses
+ Forms, Dialogs, SysUtils,
+ uUnidadesMedidaController, uBizUnidadesMedida, uUnidadesMedidaViewRegister;
+
+function GetModule : TModuleController;
+begin
+ Result := TPluginUnidadesMedida.Create(NIL);
+end;
+
+exports
+ GetModule name GET_MODULE_FUNC;
+
+procedure TPluginUnidadesMedida.actUnidadesMedidaExecute(Sender: TObject);
+var
+ AUnidadesMedidaController : IUnidadesMedidaController;
+ AUnidadesMedida : IBizUnidadMedida;
+begin
+ AUnidadesMedidaController := TUnidadesMedidaController.Create;
+ AUnidadesMedida := (AUnidadesMedidaController.BuscarTodos as IBizUnidadMedida);
+ AUnidadesMedidaController.VerTodos(AUnidadesMedida);
+end;
+
+constructor TPluginUnidadesMedida.Create(AOwner: TComponent);
+begin
+ inherited;
+ uUnidadesMedidaViewRegister.RegisterViews;
+end;
+
+destructor TPluginUnidadesMedida.Destroy;
+begin
+ uUnidadesMedidaViewRegister.UnregisterViews;
+ inherited;
+end;
+
+initialization
+ RegisterModuleClass(TPluginUnidadesMedida);
+
+finalization
+ UnRegisterModuleClass(TPluginUnidadesMedida);
+
+end.
diff --git a/Source/Modulos/Unidades de medida/Servidor/srvUnidadesMedida_Impl.dfm b/Source/Modulos/Unidades de medida/Servidor/srvUnidadesMedida_Impl.dfm
new file mode 100644
index 00000000..6472a7f2
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Servidor/srvUnidadesMedida_Impl.dfm
@@ -0,0 +1,89 @@
+object srvUnidadesMedida: TsrvUnidadesMedida
+ OldCreateOrder = True
+ OnCreate = DARemoteServiceCreate
+ RequiresSession = True
+ SessionManager = dmServer.SessionManager
+ ServiceSchema = schUnidadesMedida
+ ServiceDataStreamer = Bin2DataStreamer
+ ExportedDataTables = <>
+ BeforeAcquireConnection = DataAbstractServiceBeforeAcquireConnection
+ Height = 300
+ Width = 334
+ object Diagrams: TDADiagrams
+ Left = 150
+ Top = 88
+ DiagramData = ''#13#10''#13#10
+ end
+ object DataDictionary: TDADataDictionary
+ Fields = <
+ item
+ Name = 'UnidadesMedida_ID'
+ DataType = datAutoInc
+ GeneratorName = 'GEN_UNIDADES_MEDIDA_ID'
+ Required = True
+ DisplayLabel = 'ID'
+ end
+ item
+ Name = 'UnidadesMedida_DESCRIPCION'
+ DataType = datString
+ Size = 255
+ DisplayLabel = 'Descripci'#243'n'
+ end>
+ Left = 150
+ Top = 24
+ end
+ object schUnidadesMedida: TDASchema
+ ConnectionManager = dmServer.ConnectionManager
+ DataDictionary = DataDictionary
+ Diagrams = Diagrams
+ Datasets = <
+ item
+ Params = <>
+ Statements = <
+ item
+ Connection = 'IBX'
+ ConnectionType = 'Interbase'
+ Default = True
+ TargetTable = 'UNIDADES_MEDIDA'
+ StatementType = stAutoSQL
+ ColumnMappings = <
+ item
+ DatasetField = 'ID'
+ TableField = 'ID'
+ end
+ item
+ DatasetField = 'DESCRIPCION'
+ TableField = 'DESCRIPCION'
+ end>
+ end>
+ Name = 'UnidadesMedida'
+ Fields = <
+ item
+ Name = 'ID'
+ DataType = datAutoInc
+ GeneratorName = 'GEN_UNIDADES_MEDIDA_ID'
+ ServerAutoRefresh = True
+ DictionaryEntry = 'UnidadesMedida_ID'
+ InPrimaryKey = True
+ end
+ item
+ Name = 'DESCRIPCION'
+ DataType = datString
+ Size = 255
+ DictionaryEntry = 'UnidadesMedida_DESCRIPCION'
+ end>
+ end>
+ JoinDataTables = <>
+ UnionDataTables = <>
+ Commands = <>
+ RelationShips = <>
+ UpdateRules = <>
+ Version = 0
+ Left = 48
+ Top = 24
+ end
+ object Bin2DataStreamer: TDABin2DataStreamer
+ Left = 48
+ Top = 88
+ end
+end
diff --git a/Source/Modulos/Unidades de medida/Servidor/srvUnidadesMedida_Impl.pas b/Source/Modulos/Unidades de medida/Servidor/srvUnidadesMedida_Impl.pas
new file mode 100644
index 00000000..b116c352
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Servidor/srvUnidadesMedida_Impl.pas
@@ -0,0 +1,63 @@
+unit srvUnidadesMedida_Impl;
+
+{----------------------------------------------------------------------------}
+{ This unit was automatically generated by the RemObjects SDK after reading }
+{ the RODL file associated with this project . }
+{ }
+{ This is where you are supposed to code the implementation of your objects. }
+{----------------------------------------------------------------------------}
+
+interface
+
+uses
+ {vcl:} Classes, SysUtils,
+ {RemObjects:} uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions,
+ {Ancestor Implementation:} DataAbstractService_Impl,
+ {Used RODLs:} DataAbstract4_Intf,
+ {Generated:} uDABusinessProcessor, uDABin2DataStreamer, uDADataStreamer,
+ uDAScriptingProvider, uDAClasses,
+ FactuGES_Intf, uDAInterfaces;
+
+type
+ { TsrvUnidadesMedida }
+ TsrvUnidadesMedida = class(TDataAbstractService, IsrvUnidadesMedida)
+ Diagrams: TDADiagrams;
+ Bin2DataStreamer: TDABin2DataStreamer;
+ schUnidadesMedida: TDASchema;
+ DataDictionary: TDADataDictionary;
+ procedure DARemoteServiceCreate(Sender: TObject);
+ procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject;
+ var aConnectionName: string);
+ private
+ protected
+ end;
+
+implementation
+
+{$R *.dfm}
+uses
+ {Generated:} FactuGES_Invk, uDataModuleServer, uDatabaseUtils;
+
+procedure Create_srvUnidadesMedida(out anInstance : IUnknown);
+begin
+ anInstance := TsrvUnidadesMedida.Create(NIL);
+end;
+
+{ srvUnidadesMedida }
+procedure TsrvUnidadesMedida.DARemoteServiceCreate(Sender: TObject);
+begin
+ SessionManager := dmServer.SessionManager;
+end;
+
+procedure TsrvUnidadesMedida.DataAbstractServiceBeforeAcquireConnection(
+ aSender: TObject; var aConnectionName: string);
+begin
+ ConnectionName := dmServer.ConnectionName;
+end;
+
+initialization
+ TROClassFactory.Create('srvUnidadesMedida', Create_srvUnidadesMedida, TsrvUnidadesMedida_Invoker);
+
+finalization
+
+end.
diff --git a/Source/Modulos/Unidades de medida/UnidadesMedida_Group.bdsgroup b/Source/Modulos/Unidades de medida/UnidadesMedida_Group.bdsgroup
new file mode 100644
index 00000000..96cc30ff
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/UnidadesMedida_Group.bdsgroup
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+ ..\..\Base\Base.bdsproj
+ ..\..\Base\GUIBase\GUIBase.bdsproj
+ ..\..\Base\Usuarios\Usuarios.bdsproj
+ Model\UnidadesMedida_model.bdsproj
+ Data\UnidadesMedida_data.bdsproj
+ Controller\UnidadesMedida_controller.bdsproj
+ Views\UnidadesMedida_view.bdsproj
+ Plugin\UnidadesMedida_plugin.bdsproj
+ Base.bpl GUIBase.bpl Usuarios.bpl UnidadesMedida_model.bpl UnidadesMedida_data.bpl UnidadesMedida_controller.bpl UnidadesMedida_view.bpl UnidadesMedida_plugin.bpl
+
+
+
+
diff --git a/Source/Modulos/Unidades de medida/UnidadesMedida_Group.groupproj b/Source/Modulos/Unidades de medida/UnidadesMedida_Group.groupproj
new file mode 100644
index 00000000..45d3bb51
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/UnidadesMedida_Group.groupproj
@@ -0,0 +1,114 @@
+
+
+ {033276d8-059f-49be-9cc2-3276e536a74d}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Default.Personality
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Source/Modulos/Unidades de medida/Views/UnidadesMedida_view.bdsproj b/Source/Modulos/Unidades de medida/Views/UnidadesMedida_view.bdsproj
new file mode 100644
index 00000000..6bacd554
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Views/UnidadesMedida_view.bdsproj
@@ -0,0 +1,175 @@
+
+
+
+
+
+
+
+
+
+
+
+ UnidadesMedida_view.dpk
+
+
+ 7.0
+
+
+ 8
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ True
+ True
+ WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+
+ False
+
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ False
+ False
+ False
+ True
+ True
+ True
+ True
+ True
+ True
+
+
+
+ 0
+ 0
+ False
+ 1
+ False
+ False
+ False
+ 16384
+ 1048576
+ 4194304
+
+
+
+
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+
+
+
+ False
+
+
+
+
+
+ False
+
+
+ True
+ False
+
+
+
+ $00000000
+
+
+
+ True
+ False
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ False
+ False
+ 3082
+ 1252
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+ 1.0.0.0
+
+
+
+
diff --git a/Source/Modulos/Unidades de medida/Views/UnidadesMedida_view.dpk b/Source/Modulos/Unidades de medida/Views/UnidadesMedida_view.dpk
new file mode 100644
index 00000000..77006d14
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Views/UnidadesMedida_view.dpk
@@ -0,0 +1,40 @@
+package UnidadesMedida_view;
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$IMPLICITBUILD ON}
+
+requires
+ rtl,
+ vcl,
+ Base,
+ GUIBase,
+ ApplicationBase,
+ UnidadesMedida_model,
+ UnidadesMedida_controller;
+
+contains
+ uEditorUnidadesMedida in 'uEditorUnidadesMedida.pas' {fEditorUnidadesMedida: TfEditorUnidadesMedida},
+ uUnidadesMedidaViewRegister in 'uUnidadesMedidaViewRegister.pas';
+
+end.
diff --git a/Source/Modulos/Unidades de medida/Views/UnidadesMedida_view.dproj b/Source/Modulos/Unidades de medida/Views/UnidadesMedida_view.dproj
new file mode 100644
index 00000000..65a09a44
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Views/UnidadesMedida_view.dproj
@@ -0,0 +1,546 @@
+
+
+ {e3d36a6f-7004-4c89-9f3d-f2d77e386d1b}
+ UnidadesMedida_view.dpk
+ Debug
+ AnyCPU
+ DCC32
+ ..\..\..\..\Output\Debug\Cliente\UnidadesMedida_view.bpl
+
+
+ 7.0
+ False
+ False
+ 0
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Release\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ RELEASE
+
+
+ 7.0
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+
+
+ Delphi.Personality
+ Package
+
+FalseTrueFalseTrueFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0UnidadesMedida_view.dpk
+
+
+
+
+ MainSource
+
+
+
+
+
+
+
+
+
+
+ TfEditorUnidadesMedida
+
+
+
+
+
+
diff --git a/Source/Modulos/Unidades de medida/Views/UnidadesMedida_view.rc b/Source/Modulos/Unidades de medida/Views/UnidadesMedida_view.rc
new file mode 100644
index 00000000..153736af
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Views/UnidadesMedida_view.rc
@@ -0,0 +1,22 @@
+1 VERSIONINFO
+FILEVERSION 1,0,0,0
+PRODUCTVERSION 1,0,0,0
+FILEFLAGSMASK 0x3FL
+FILEFLAGS 0x00L
+FILEOS 0x40004L
+FILETYPE 0x1L
+FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "0C0A04E4"
+ BEGIN
+ VALUE "FileVersion", "1.0.0.0\0"
+ VALUE "ProductVersion", "1.0.0.0\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0C0A, 1252
+ END
+END
diff --git a/Source/Modulos/Unidades de medida/Views/UnidadesMedida_view.res b/Source/Modulos/Unidades de medida/Views/UnidadesMedida_view.res
new file mode 100644
index 00000000..8b251f31
Binary files /dev/null and b/Source/Modulos/Unidades de medida/Views/UnidadesMedida_view.res differ
diff --git a/Source/Modulos/Unidades de medida/Views/uEditorUnidadesMedida.dfm b/Source/Modulos/Unidades de medida/Views/uEditorUnidadesMedida.dfm
new file mode 100644
index 00000000..9248e483
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Views/uEditorUnidadesMedida.dfm
@@ -0,0 +1,144 @@
+object fEditorUnidadesMedida: TfEditorUnidadesMedida
+ Left = 453
+ Top = 234
+ ActiveControl = ListaUnidadesMedida
+ BorderIcons = [biSystemMenu]
+ BorderStyle = bsSingle
+ Caption = 'Administraci'#243'n de unidades de medida'
+ ClientHeight = 494
+ ClientWidth = 404
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ Position = poScreenCenter
+ OnClose = CustomEditorClose
+ OnShow = FormShow
+ InstanceID = 0
+ ReadOnly = False
+ PixelsPerInch = 96
+ TextHeight = 13
+ object bAceptar: TButton
+ Left = 235
+ Top = 462
+ Width = 75
+ Height = 23
+ Action = actAceptar
+ Default = True
+ TabOrder = 1
+ end
+ object bCancelar: TButton
+ Left = 321
+ Top = 462
+ Width = 75
+ Height = 23
+ Action = actCancelar
+ Cancel = True
+ TabOrder = 2
+ end
+ object PageControl1: TPageControl
+ Left = 8
+ Top = 8
+ Width = 390
+ Height = 442
+ ActivePage = TabSheet1
+ TabOrder = 0
+ object TabSheet1: TTabSheet
+ Caption = 'Unidades de medida'
+ object Label1: TLabel
+ Left = 10
+ Top = 12
+ Width = 190
+ Height = 13
+ Caption = 'Lista de unidades de medida disponibles'
+ end
+ object Label2: TLabel
+ Left = 10
+ Top = 326
+ Width = 171
+ Height = 13
+ Caption = 'A'#241'adir una nueva unidad de medida'
+ end
+ object Bevel1: TBevel
+ Left = 187
+ Top = 330
+ Width = 189
+ Height = 5
+ Shape = bsBottomLine
+ end
+ object eCategoria: TLabel
+ Left = 18
+ Top = 353
+ Width = 40
+ Height = 13
+ Caption = 'Nombre:'
+ end
+ object ListaUnidadesMedida: TDBLookupListBox
+ Left = 8
+ Top = 31
+ Width = 262
+ Height = 277
+ KeyField = 'RecID'
+ ListField = 'DESCRIPCION'
+ ListSource = DADataSource
+ TabOrder = 0
+ end
+ object bEliminar: TButton
+ Left = 281
+ Top = 31
+ Width = 95
+ Height = 23
+ Action = actEliminar
+ TabOrder = 1
+ end
+ object editUnidadMedida: TEdit
+ Left = 64
+ Top = 349
+ Width = 312
+ Height = 21
+ TabOrder = 2
+ end
+ object bAnadir: TButton
+ Left = 281
+ Top = 382
+ Width = 95
+ Height = 23
+ Action = actAnadir
+ TabOrder = 3
+ end
+ end
+ end
+ object ActionList1: TActionList
+ Left = 144
+ Top = 16
+ object actAnadir: TAction
+ Caption = '&A'#241'adir'
+ OnExecute = actAnadirExecute
+ OnUpdate = actAnadirUpdate
+ end
+ object actEliminar: TAction
+ Caption = '&Eliminar'
+ OnExecute = actEliminarExecute
+ OnUpdate = actEliminarUpdate
+ end
+ object actAceptar: TAction
+ Caption = 'A&ceptar'
+ OnExecute = actAceptarExecute
+ end
+ object actCancelar: TAction
+ Caption = '&Cancelar'
+ OnExecute = actCancelarExecute
+ end
+ object actCerrar: TAction
+ Caption = 'actCerrar'
+ OnExecute = actCerrarExecute
+ end
+ end
+ object DADataSource: TDADataSource
+ Left = 168
+ Top = 16
+ end
+end
diff --git a/Source/Modulos/Unidades de medida/Views/uEditorUnidadesMedida.pas b/Source/Modulos/Unidades de medida/Views/uEditorUnidadesMedida.pas
new file mode 100644
index 00000000..7fa2c9f0
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Views/uEditorUnidadesMedida.pas
@@ -0,0 +1,180 @@
+{
+===============================================================================
+ Copyright (©) 2006. Rodax Software.
+===============================================================================
+ Los contenidos de este fichero son propiedad de Rodax Software titular del
+ copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado,
+ en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
+ acuerdo con los términos y condiciones establecidas en el acuerdo/contrato
+ bajo el que se suministra.
+ -----------------------------------------------------------------------------
+ Web: www.rodax-software.com
+===============================================================================
+ Fecha primera versión: 22-05-2006
+ Versión actual: 1.0.0
+ Fecha versión actual: 22-05-2006
+===============================================================================
+ Modificaciones:
+
+ Fecha Comentarios
+ ---------------------------------------------------------------------------
+===============================================================================
+}
+
+unit uEditorUnidadesMedida;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, DB, StdCtrls, DBCtrls, uDADataTable, ActnList,
+ uIEditorUnidadesMedida, uCustomEditor, uGUIBase, ExtCtrls,
+ ComCtrls, uBizUnidadesMedida, uUnidadesMedidaController, uDAInterfaces;
+
+type
+ TfEditorUnidadesMedida = class(TCustomEditor, IEditorUnidadesMedida)
+ ActionList1: TActionList;
+ DADataSource: TDADataSource;
+ ListaUnidadesMedida: TDBLookupListBox;
+ actAnadir: TAction;
+ actEliminar: TAction;
+ bEliminar: TButton;
+ actAceptar: TAction;
+ actCancelar: TAction;
+ bAceptar: TButton;
+ bCancelar: TButton;
+ actCerrar: TAction;
+ PageControl1: TPageControl;
+ TabSheet1: TTabSheet;
+ Label1: TLabel;
+ Label2: TLabel;
+ Bevel1: TBevel;
+ eCategoria: TLabel;
+ editUnidadMedida: TEdit;
+ bAnadir: TButton;
+ procedure FormShow(Sender: TObject);
+ procedure CustomEditorClose(Sender: TObject; var Action: TCloseAction);
+
+ procedure actAnadirExecute(Sender: TObject);
+ procedure actEliminarExecute(Sender: TObject);
+ procedure actAceptarExecute(Sender: TObject);
+ procedure actCancelarExecute(Sender: TObject);
+ procedure actCerrarExecute(Sender: TObject);
+ procedure actAnadirUpdate(Sender: TObject);
+ procedure actEliminarUpdate(Sender: TObject);
+ protected
+ FUnidadesMedida: IBizUnidadMedida;
+ FController: IUnidadesMedidaController;
+ function GetUnidadesMedida: IBizUnidadMedida;
+ procedure SetUnidadesMedida(const Value: IBizUnidadMedida);
+ function GetController : IUnidadesMedidaController;
+ procedure SetController (const Value : IUnidadesMedidaController);
+ public
+ property UnidadesMedida: IBizUnidadMedida read GetUnidadesMedida write SetUnidadesMedida;
+ property Controller : IUnidadesMedidaController read GetController write SetController;
+ end;
+
+
+implementation
+{$R *.dfm}
+
+{ TfEditorUnidadesMedida }
+
+uses
+ uDialogUtils;
+
+function TfEditorUnidadesMedida.GetController: IUnidadesMedidaController;
+begin
+ Result := FController;
+end;
+
+function TfEditorUnidadesMedida.GetUnidadesMedida: IBizUnidadMedida;
+begin
+ Result := FUnidadesMedida;
+end;
+
+procedure TfEditorUnidadesMedida.SetController(const Value: IUnidadesMedidaController);
+begin
+ FController := Value;
+end;
+
+procedure TfEditorUnidadesMedida.SetUnidadesMedida(const Value: IBizUnidadMedida);
+begin
+ FUnidadesMedida := Value;
+ DADataSource.DataTable := (FUnidadesMedida as IBizUnidadMedida).DataTable;
+ DADataSource.DataTable.Open;
+end;
+
+procedure TfEditorUnidadesMedida.actAnadirExecute(Sender: TObject);
+begin
+ if not FController.Localizar(UnidadesMedida, editUnidadMedida.Text) then
+ begin
+ UnidadesMedida.Append;
+ UnidadesMedida.DESCRIPCION := editUnidadMedida.Text;
+ UnidadesMedida.Post;
+ editUnidadMedida.Clear;
+ ListaUnidadesMedida.SetFocus;
+ end
+ else
+ ShowErrorMessage('Ya existe la unidad ' + editUnidadMedida.Text,
+ 'Ya existe la unidad ''' + editUnidadMedida.Text + ''' en la lista.');
+end;
+
+procedure TfEditorUnidadesMedida.actEliminarExecute(Sender: TObject);
+begin
+ UnidadesMedida.Delete;
+ ListaUnidadesMedida.SetFocus;
+end;
+
+procedure TfEditorUnidadesMedida.actEliminarUpdate(Sender: TObject);
+begin
+ (Sender as TAction).Enabled := (FUnidadesMedida.DataTable.RecordCount > 0) and
+ (Length(ListaUnidadesMedida.SelectedItem) > 0);
+
+end;
+
+procedure TfEditorUnidadesMedida.CustomEditorClose(Sender: TObject; var Action: TCloseAction);
+begin
+ FUnidadesMedida := Nil;
+ FController := Nil;
+end;
+
+procedure TfEditorUnidadesMedida.actAceptarExecute(Sender: TObject);
+begin
+ try
+ UnidadesMedida.DataTable.ApplyUpdates;
+ except
+ on E : Exception do begin
+ UnidadesMedida.DataTable.CancelUpdates;
+ ShowErrorMessage('Error al guardar cambios', 'Se ha producido un error grave', E);
+ exit;
+ end;
+ end;
+ actCerrar.Execute;
+end;
+
+procedure TfEditorUnidadesMedida.actCancelarExecute(Sender: TObject);
+begin
+ UnidadesMedida.DataTable.CancelUpdates;
+ actCerrar.Execute;
+end;
+
+procedure TfEditorUnidadesMedida.actCerrarExecute(Sender: TObject);
+begin
+ Close;
+end;
+
+procedure TfEditorUnidadesMedida.actAnadirUpdate(Sender: TObject);
+begin
+ (Sender as TAction).Enabled := (Length(editUnidadMedida.Text) > 0)
+end;
+
+procedure TfEditorUnidadesMedida.FormShow(Sender: TObject);
+begin
+ if not FUnidadesMedida.DataTable.Active then
+ FUnidadesMedida.DataTable.Active := true;
+
+ EditUnidadMedida.SetFocus;
+end;
+
+end.
diff --git a/Source/Modulos/Unidades de medida/Views/uUnidadesMedidaViewRegister.pas b/Source/Modulos/Unidades de medida/Views/uUnidadesMedidaViewRegister.pas
new file mode 100644
index 00000000..99b112dc
--- /dev/null
+++ b/Source/Modulos/Unidades de medida/Views/uUnidadesMedidaViewRegister.pas
@@ -0,0 +1,23 @@
+unit uUnidadesMedidaViewRegister;
+
+interface
+
+procedure RegisterViews;
+procedure UnregisterViews;
+
+implementation
+
+uses
+ uEditorRegistryUtils, uEditorUnidadesMedida;
+
+procedure RegisterViews;
+begin
+ EditorRegistry.RegisterClass(TfEditorUnidadesMedida, 'EditorUnidadesMedida');
+end;
+
+procedure UnregisterViews;
+begin
+ EditorRegistry.UnRegisterClass(TfEditorUnidadesMedida);
+end;
+
+end.
diff --git a/Source/Servicios/FactuGES.RODL b/Source/Servicios/FactuGES.RODL
index 9e9d0b9f..cbe57d08 100644
--- a/Source/Servicios/FactuGES.RODL
+++ b/Source/Servicios/FactuGES.RODL
@@ -381,6 +381,15 @@
+
+
+
+
+
+
+
+
+
diff --git a/Source/Servicios/FactuGES_Intf.pas b/Source/Servicios/FactuGES_Intf.pas
index f6119dd8..20b0ccd9 100644
--- a/Source/Servicios/FactuGES_Intf.pas
+++ b/Source/Servicios/FactuGES_Intf.pas
@@ -48,6 +48,7 @@ const
IsrvEjercicios_IID : TGUID = '{E99052D5-4ED9-480C-B4D4-384E8C6E4B08}';
IsrvReferencias_IID : TGUID = '{B957528D-3BE1-412D-A35E-801C97CCD252}';
IsrvContabilidad_IID : TGUID = '{04CDF2E1-EFC2-4247-AA4F-09BE782C73FA}';
+ IsrvUnidadesMedida_IID : TGUID = '{C1B36FAB-7514-40D2-A20C-04A86C9E71AB}';
{ Event ID's }
@@ -78,6 +79,7 @@ type
IsrvEjercicios = interface;
IsrvReferencias = interface;
IsrvContabilidad = interface;
+ IsrvUnidadesMedida = interface;
TRdxEmpresasArray = class;
@@ -623,6 +625,23 @@ type
end;
+ { IsrvUnidadesMedida }
+ IsrvUnidadesMedida = interface(IDataAbstractService)
+ ['{C1B36FAB-7514-40D2-A20C-04A86C9E71AB}']
+ end;
+
+ { CosrvUnidadesMedida }
+ CosrvUnidadesMedida = class
+ class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvUnidadesMedida;
+ end;
+
+ { TsrvUnidadesMedida_Proxy }
+ TsrvUnidadesMedida_Proxy = class(TDataAbstractService_Proxy, IsrvUnidadesMedida)
+ protected
+ function __GetInterfaceName:string; override;
+
+ end;
+
implementation
uses
@@ -1565,6 +1584,18 @@ begin
result := 'srvContabilidad';
end;
+{ CosrvUnidadesMedida }
+
+class function CosrvUnidadesMedida.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvUnidadesMedida;
+begin
+ result := TsrvUnidadesMedida_Proxy.Create(aMessage, aTransportChannel);
+end;
+
+function TsrvUnidadesMedida_Proxy.__GetInterfaceName:string;
+begin
+ result := 'srvUnidadesMedida';
+end;
+
initialization
RegisterROClass(TRdxLoginInfo);
RegisterROClass(TRdxEmpresasArray);
@@ -1593,6 +1624,7 @@ initialization
RegisterProxyClass(IsrvEjercicios_IID, TsrvEjercicios_Proxy);
RegisterProxyClass(IsrvReferencias_IID, TsrvReferencias_Proxy);
RegisterProxyClass(IsrvContabilidad_IID, TsrvContabilidad_Proxy);
+ RegisterProxyClass(IsrvUnidadesMedida_IID, TsrvUnidadesMedida_Proxy);
finalization
@@ -1623,5 +1655,6 @@ finalization
UnregisterProxyClass(IsrvEjercicios_IID);
UnregisterProxyClass(IsrvReferencias_IID);
UnregisterProxyClass(IsrvContabilidad_IID);
+ UnregisterProxyClass(IsrvUnidadesMedida_IID);
end.
diff --git a/Source/Servicios/FactuGES_Invk.pas b/Source/Servicios/FactuGES_Invk.pas
index ec56b432..76d4ed65 100644
--- a/Source/Servicios/FactuGES_Invk.pas
+++ b/Source/Servicios/FactuGES_Invk.pas
@@ -190,6 +190,12 @@ type
published
end;
+ TsrvUnidadesMedida_Invoker = class(TDataAbstractService_Invoker)
+ private
+ protected
+ published
+ end;
+
implementation
uses
diff --git a/Source/Servicios/RODLFILE.res b/Source/Servicios/RODLFILE.res
index 0e891141..ba8c595e 100644
Binary files a/Source/Servicios/RODLFILE.res and b/Source/Servicios/RODLFILE.res differ
diff --git a/Source/Servidor/FactuGES_Server.RES b/Source/Servidor/FactuGES_Server.RES
index 3b96a7fb..94b20307 100644
Binary files a/Source/Servidor/FactuGES_Server.RES and b/Source/Servidor/FactuGES_Server.RES differ
diff --git a/Source/Servidor/FactuGES_Server.dpr b/Source/Servidor/FactuGES_Server.dpr
index e6bde13a..587cbda5 100644
--- a/Source/Servidor/FactuGES_Server.dpr
+++ b/Source/Servidor/FactuGES_Server.dpr
@@ -106,7 +106,10 @@ uses
uBizRemesasClienteServer in '..\Modulos\Remesas de cliente\Model\uBizRemesasClienteServer.pas',
uBizRemesasProveedorServer in '..\Modulos\Remesas de proveedor\Model\uBizRemesasProveedorServer.pas',
schRemesasProveedorClient_Intf in '..\Modulos\Remesas de proveedor\Model\schRemesasProveedorClient_Intf.pas',
- schRemesasProveedorServer_Intf in '..\Modulos\Remesas de proveedor\Model\schRemesasProveedorServer_Intf.pas';
+ schRemesasProveedorServer_Intf in '..\Modulos\Remesas de proveedor\Model\schRemesasProveedorServer_Intf.pas',
+ srvUnidadesMedida_Impl in '..\Modulos\Unidades de medida\Servidor\srvUnidadesMedida_Impl.pas' {srvUnidadesMedida: TDataAbstractService},
+ schUnidadesMedidaClient_Intf in '..\Modulos\Unidades de medida\Model\schUnidadesMedidaClient_Intf.pas',
+ schUnidadesMedidaServer_Intf in '..\Modulos\Unidades de medida\Model\schUnidadesMedidaServer_Intf.pas';
{$R *.res}
{$R ..\Servicios\RODLFile.res}
diff --git a/Source/Servidor/FactuGES_Server.dproj b/Source/Servidor/FactuGES_Server.dproj
index 2fa16b16..7208bc16 100644
--- a/Source/Servidor/FactuGES_Server.dproj
+++ b/Source/Servidor/FactuGES_Server.dproj
@@ -1,229 +1,232 @@
-
+
-
- {ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1}
- FactuGES_Server.dpr
- Debug
- AnyCPU
- DCC32
- ..\..\Output\Debug\Servidor\FactuGES_Server.exe
-
-
- 7.0
- False
- False
- 0
- 3
- ..\..\Output\Release\Servidor
- RELEASE
-
-
- 7.0
- 3
- ..\..\Output\Debug\Servidor
- DEBUG;
- True
-
-
- Delphi.Personality
-
-
-FalseTrueFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.03.0.0.0lunes, 19 de noviembre de 2007 18:58
-
-
-
- RemObjects Pascal Script - RemObjects SDK 3.0 Integration
- FactuGES_Server.dpr
-
-
-
-
- MainSource
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDARemoteService
-
-
-
-
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDARemoteService
-
-
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
-
-
-
- TDARemoteService
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
-
-
- TDataAbstractService
-
-
-
- TFrame
-
-
-
- TFrame
-
-
-
- TForm
-
-
-
- TFrame
-
-
-
- TDARemoteService
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataModule
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ {ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1}
+ FactuGES_Server.dpr
+ Debug
+ AnyCPU
+ DCC32
+ ..\..\Output\Debug\Servidor\FactuGES_Server.exe
+
+
+ 7.0
+ False
+ False
+ 0
+ 3
+ ..\..\Output\Release\Servidor
+ RELEASE
+
+
+ 7.0
+ 3
+ ..\..\Output\Debug\Servidor
+ DEBUG;
+ True
+
+
+ Delphi.Personality
+
+
+ FalseTrueFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.03.0.0.0lunes, 19 de noviembre de 2007 18:58
+ RemObjects Pascal Script - RemObjects SDK 3.0 Integration
+ FactuGES_Server.dpr
+
+
+
+
+ MainSource
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDARemoteService
+
+
+
+
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDARemoteService
+
+
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+
+
+
+ TDARemoteService
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+ TFrame
+
+
+
+ TFrame
+
+
+
+ TForm
+
+
+
+ TFrame
+
+
+
+ TDARemoteService
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataModule
+
+
+
+
+
+
+
+
+
+
+
+
+