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= + + + + 0 + + + + True + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + True + True + False + False + False + False + False + False + False + False + 3082 + + 1 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + True + True + False + False + False + False + False + False + False + False + 3082 + + 1 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + True + True + False + False + False + False + False + False + False + False + 3082 + + 1 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + True + True + False + False + False + False + False + False + False + False + 3082 + + 1 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + True + True + False + False + False + False + False + False + False + False + 3082 + + 1 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + 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 - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + +
fDialogBase
+
+ +
fEditorBase
+ TCustomEditor +
+ +
fEditorBasico
+
+ +
fEditorDBBase
+ TCustomEditor +
+ +
fEditorDBItem
+ TCustomEditor +
+ +
fEditorGridBase
+ TCustomEditor +
+ +
fEditorItem
+ TCustomEditor +
+ +
fEditorPreview
+ TCustomEditor +
+ +
frViewBarraSeleccion
+ TFrame +
+ +
frViewBase
+ TFrame +
+ +
frViewDetallesBase
+ TFrame +
+ +
frViewDetallesDTO
+ TCustomView +
+ +
frViewDetallesGenerico
+ TFrame +
+ +
frViewFiltroBase
+ TFrame +
+ +
frViewFormaPago
+ TFrame +
+ +
frViewGrid
+ TFrame +
+ +
frViewGrid2Niveles
+ TFrame +
+ +
frViewGridBase
+ TFrame +
+ +
frViewIncidencias
+ TFrame +
+ +
frViewObservaciones
+ TFrame +
+ +
frViewPreview
+ TFrame +
+ +
frViewTotales
+ 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 + + + + + + + + +
DataModuleUnidadesMedida
+
+
+
+ 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 + + + + + + + + + +
fEditorUnidadesMedida
+ 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 - - - - - -
srvEjercicios
- TDataAbstractService -
- - - -
srvEmpresas
- TDARemoteService -
- - - - - - - - -
srvAlbaranesCliente
- TDataAbstractService -
- - - - -
srvAlbaranesProveedor
- TDataAbstractService -
- - - -
srvAlmacenes
- TDARemoteService -
- - - - - - -
srvContabilidad
- TDataAbstractService -
- - - - - - - -
srvContactos
- TDARemoteService -
- - - - -
srvFacturasCliente
- TDataAbstractService -
- - - - -
srvFacturasProveedor
- TDataAbstractService -
- - - - - - - - - -
srvHistoricoMovimientos
- TDataAbstractService -
- - - -
srvInventario
- TDataAbstractService -
- - - - -
srvPedidosProveedor
- TDataAbstractService -
- - - - -
RptPresupuestosCliente
-
- -
srvPresupuestosCliente
- TDataAbstractService -
- - - - -
srvRecibosCliente
- TDataAbstractService -
- - - -
srvRecibosProveedor
- TDataAbstractService -
- - - - -
srvRemesasCliente
- TDataAbstractService -
- - - - -
srvRemesasProveedor
- TDataAbstractService -
- - - - - - -
srvConfiguracion
- TDataAbstractService -
- -
frConexionBD
- TFrame -
- -
frConfGeneral
- TFrame -
- -
fConfiguracion
- TForm -
- -
FrameConfiguracion
- TFrame -
- -
srvLogin
- TDARemoteService -
- -
srvReferencias
- TDataAbstractService -
- -
fAcercaDe
-
- -
dmServer
- TDataModule -
- -
fServerForm
-
- - - - - - - - -
+ + {ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1} + FactuGES_Server.dpr + Debug + AnyCPU + DCC32 + ..\..\Output\Debug\Servidor\FactuGES_Server.exe + + + 7.0 + False + False + 0 + 3 + ..\..\Output\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 + + + + + +
srvEjercicios
+ TDataAbstractService +
+ + + +
srvEmpresas
+ TDARemoteService +
+ + + + + + + + +
srvAlbaranesCliente
+ TDataAbstractService +
+ + + + +
srvAlbaranesProveedor
+ TDataAbstractService +
+ + + +
srvAlmacenes
+ TDARemoteService +
+ + + + + + +
srvContabilidad
+ TDataAbstractService +
+ + + + + + + +
srvContactos
+ TDARemoteService +
+ + + + +
srvFacturasCliente
+ TDataAbstractService +
+ + + + +
srvFacturasProveedor
+ TDataAbstractService +
+ + + + + + + + + +
srvHistoricoMovimientos
+ TDataAbstractService +
+ + + +
srvInventario
+ TDataAbstractService +
+ + + + +
srvPedidosProveedor
+ TDataAbstractService +
+ + + + +
RptPresupuestosCliente
+
+ +
srvPresupuestosCliente
+ TDataAbstractService +
+ + + + +
srvRecibosCliente
+ TDataAbstractService +
+ + + +
srvRecibosProveedor
+ TDataAbstractService +
+ + + + +
srvRemesasCliente
+ TDataAbstractService +
+ + + + +
srvRemesasProveedor
+ TDataAbstractService +
+ + + + + + +
srvUnidadesMedida
+ TDataAbstractService +
+ + + +
srvConfiguracion
+ TDataAbstractService +
+ +
frConexionBD
+ TFrame +
+ +
frConfGeneral
+ TFrame +
+ +
fConfiguracion
+ TForm +
+ +
FrameConfiguracion
+ TFrame +
+ +
srvLogin
+ TDARemoteService +
+ +
srvReferencias
+ TDataAbstractService +
+ +
fAcercaDe
+
+ +
dmServer
+ TDataModule +
+ +
fServerForm
+
+ + + + + + + + +