From b999fe34f561f3a0f7f28ddfa1d479076ed8df0d Mon Sep 17 00:00:00 2001 From: roberto Date: Wed, 20 Feb 2008 16:16:23 +0000 Subject: [PATCH] Arreglo de articulos para que puedan meter fabricante, y puedan duplicar, se habilitan tambien los informes git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@284 0c75b7a4-871f-7646-8a2f-f78d34cc349f --- Database/ScriptSinDatos.sql | 10 +- Source/Cliente/uBootStrap.pas | 1 + .../Articulos/Articulos_Group.groupproj | 16 +- .../Articulos/Data/uDataModuleArticulos.dfm | 5 + .../Model/schArticulosClient_Intf.pas | 116 +++- .../Model/schArticulosServer_Intf.pas | 94 ++- .../Articulos/Servidor/srvArticulos_Impl.dfm | 65 +- .../Articulos/Views/Articulos_view.dpk | 3 +- .../Articulos/Views/Articulos_view.dproj | 13 +- .../Articulos/Views/Articulos_view.res | Bin 384 -> 4748 bytes .../Articulos/Views/uEditorArticulos.pas | 9 - .../Modulos/Articulos/Views/uViewArticulo.dfm | 104 ++-- .../Modulos/Articulos/Views/uViewArticulo.pas | 62 +- .../Articulos/Views/uViewArticulos.dfm | 29 + .../Articulos/Views/uViewArticulos.pas | 26 + .../Controller/Fabricantes_controller.dpk | 40 ++ .../Controller/Fabricantes_controller.dproj | 543 +++++++++++++++++ .../Fabricantes_controller.identcache | Bin 0 -> 198 bytes .../Controller/Fabricantes_controller.res | Bin 0 -> 4748 bytes .../Controller/View/uIEditorFabricantes.pas | 23 + .../Controller/uFabricantesController.pas | 234 ++++++++ .../Controller/uIEditorFabricantes.dcu | Bin 0 -> 1113 bytes .../Fabricantes/Data/Fabricantes_data.dpk | 47 ++ .../Fabricantes/Data/Fabricantes_data.dproj | 554 ++++++++++++++++++ .../Fabricantes/Data/Fabricantes_data.drc | 17 + .../Data/Fabricantes_data.identcache | Bin 0 -> 94 bytes .../Fabricantes/Data/Fabricantes_data.res | Bin 0 -> 4748 bytes .../Data/uDataModuleFabricantes.dfm | 61 ++ .../Data/uDataModuleFabricantes.pas | 112 ++++ .../Fabricantes/Fabricantes_Group.groupproj | 114 ++++ .../Model/Data/uIDataModuleFabricantes.pas | 42 ++ .../Fabricantes/Model/Fabricantes_model.dpk | 46 ++ .../Fabricantes/Model/Fabricantes_model.dproj | 551 +++++++++++++++++ .../Fabricantes/Model/Fabricantes_model.drc | 16 + .../Model/Fabricantes_model.identcache | Bin 0 -> 373 bytes .../Fabricantes/Model/Fabricantes_model.res | Bin 0 -> 5056 bytes .../Model/schFabricantesClient_Intf.dcu | Bin 0 -> 9947 bytes .../Model/schFabricantesClient_Intf.pas | 134 +++++ .../Model/schFabricantesServer_Intf.pas | 143 +++++ .../Fabricantes/Model/uBizFabricantes.pas | 141 +++++ .../Fabricantes/Plugin/Fabricantes_plugin.dpk | 41 ++ .../Plugin/Fabricantes_plugin.dproj | 546 +++++++++++++++++ .../Plugin/Fabricantes_plugin.identcache | Bin 0 -> 183 bytes .../Fabricantes/Plugin/Fabricantes_plugin.res | Bin 0 -> 4748 bytes .../Fabricantes/Plugin/uPluginFabricantes.dfm | 136 +++++ .../Fabricantes/Plugin/uPluginFabricantes.pas | 73 +++ .../Servidor/srvFabricantes_Impl.dfm | 90 +++ .../Servidor/srvFabricantes_Impl.pas | 61 ++ .../Fabricantes/Views/Fabricantes_view.dpk | 40 ++ .../Fabricantes/Views/Fabricantes_view.dproj | 545 +++++++++++++++++ .../Views/Fabricantes_view.identcache | Bin 0 -> 184 bytes .../Fabricantes/Views/Fabricantes_view.res | Bin 0 -> 4748 bytes .../Fabricantes/Views/uEditorFabricantes.dfm | 144 +++++ .../Fabricantes/Views/uEditorFabricantes.pas | 181 ++++++ .../Views/uFabricantesViewRegister.pas | 23 + Source/Servicios/FactuGES.RODL | 9 + Source/Servicios/FactuGES_Intf.pas | 33 ++ Source/Servicios/FactuGES_Invk.pas | 6 + Source/Servicios/RODLFILE.res | Bin 24408 -> 24732 bytes Source/Servidor/FactuGES_Server.dpr | 9 +- Source/Servidor/FactuGES_Server.dproj | 9 +- 61 files changed, 5208 insertions(+), 109 deletions(-) create mode 100644 Source/Modulos/Fabricantes/Controller/Fabricantes_controller.dpk create mode 100644 Source/Modulos/Fabricantes/Controller/Fabricantes_controller.dproj create mode 100644 Source/Modulos/Fabricantes/Controller/Fabricantes_controller.identcache create mode 100644 Source/Modulos/Fabricantes/Controller/Fabricantes_controller.res create mode 100644 Source/Modulos/Fabricantes/Controller/View/uIEditorFabricantes.pas create mode 100644 Source/Modulos/Fabricantes/Controller/uFabricantesController.pas create mode 100644 Source/Modulos/Fabricantes/Controller/uIEditorFabricantes.dcu create mode 100644 Source/Modulos/Fabricantes/Data/Fabricantes_data.dpk create mode 100644 Source/Modulos/Fabricantes/Data/Fabricantes_data.dproj create mode 100644 Source/Modulos/Fabricantes/Data/Fabricantes_data.drc create mode 100644 Source/Modulos/Fabricantes/Data/Fabricantes_data.identcache create mode 100644 Source/Modulos/Fabricantes/Data/Fabricantes_data.res create mode 100644 Source/Modulos/Fabricantes/Data/uDataModuleFabricantes.dfm create mode 100644 Source/Modulos/Fabricantes/Data/uDataModuleFabricantes.pas create mode 100644 Source/Modulos/Fabricantes/Fabricantes_Group.groupproj create mode 100644 Source/Modulos/Fabricantes/Model/Data/uIDataModuleFabricantes.pas create mode 100644 Source/Modulos/Fabricantes/Model/Fabricantes_model.dpk create mode 100644 Source/Modulos/Fabricantes/Model/Fabricantes_model.dproj create mode 100644 Source/Modulos/Fabricantes/Model/Fabricantes_model.drc create mode 100644 Source/Modulos/Fabricantes/Model/Fabricantes_model.identcache create mode 100644 Source/Modulos/Fabricantes/Model/Fabricantes_model.res create mode 100644 Source/Modulos/Fabricantes/Model/schFabricantesClient_Intf.dcu create mode 100644 Source/Modulos/Fabricantes/Model/schFabricantesClient_Intf.pas create mode 100644 Source/Modulos/Fabricantes/Model/schFabricantesServer_Intf.pas create mode 100644 Source/Modulos/Fabricantes/Model/uBizFabricantes.pas create mode 100644 Source/Modulos/Fabricantes/Plugin/Fabricantes_plugin.dpk create mode 100644 Source/Modulos/Fabricantes/Plugin/Fabricantes_plugin.dproj create mode 100644 Source/Modulos/Fabricantes/Plugin/Fabricantes_plugin.identcache create mode 100644 Source/Modulos/Fabricantes/Plugin/Fabricantes_plugin.res create mode 100644 Source/Modulos/Fabricantes/Plugin/uPluginFabricantes.dfm create mode 100644 Source/Modulos/Fabricantes/Plugin/uPluginFabricantes.pas create mode 100644 Source/Modulos/Fabricantes/Servidor/srvFabricantes_Impl.dfm create mode 100644 Source/Modulos/Fabricantes/Servidor/srvFabricantes_Impl.pas create mode 100644 Source/Modulos/Fabricantes/Views/Fabricantes_view.dpk create mode 100644 Source/Modulos/Fabricantes/Views/Fabricantes_view.dproj create mode 100644 Source/Modulos/Fabricantes/Views/Fabricantes_view.identcache create mode 100644 Source/Modulos/Fabricantes/Views/Fabricantes_view.res create mode 100644 Source/Modulos/Fabricantes/Views/uEditorFabricantes.dfm create mode 100644 Source/Modulos/Fabricantes/Views/uEditorFabricantes.pas create mode 100644 Source/Modulos/Fabricantes/Views/uFabricantesViewRegister.pas diff --git a/Database/ScriptSinDatos.sql b/Database/ScriptSinDatos.sql index 62a21858..59f157d4 100644 --- a/Database/ScriptSinDatos.sql +++ b/Database/ScriptSinDatos.sql @@ -1271,6 +1271,7 @@ CREATE VIEW V_ARTICULOS( ID_EMPRESA, REFERENCIA, DESCRIPCION, + UNIDAD_MEDIDA, FAMILIA, IMAGEN, COMISIONABLE, @@ -1285,10 +1286,12 @@ CREATE VIEW V_ARTICULOS( INVENTARIABLE, ID_PROVEEDOR, NOMBRE_PROVEEDOR, - ELIMINADO) + ELIMINADO, + FABRICANTE) AS SELECT ARTICULOS.ID, ARTICULOS.ID_EMPRESA, ARTICULOS.REFERENCIA, ARTICULOS.DESCRIPCION, - ARTICULOS.FAMILIA, ARTICULOS.IMAGEN, ARTICULOS.COMISIONABLE, ARTICULOS.FECHA_ALTA, + ARTICULOS.UNIDAD_MEDIDA, ARTICULOS.FAMILIA, ARTICULOS.IMAGEN, + ARTICULOS.COMISIONABLE, ARTICULOS.FECHA_ALTA, ARTICULOS.FECHA_MODIFICACION, ARTICULOS.USUARIO, ARTICULOS.REFERENCIA_PROV, ARTICULOS.PRECIO_COSTE, @@ -1298,7 +1301,8 @@ SELECT ARTICULOS.ID, ARTICULOS.ID_EMPRESA, ARTICULOS.REFERENCIA, ARTICULOS.DESCR ARTICULOS.INVENTARIABLE, ARTICULOS.ID_PROVEEDOR, CONTACTOS.NOMBRE AS NOMBRE_PROVEEDOR, - ARTICULOS.ELIMINADO + ARTICULOS.ELIMINADO, + ARTICULOS.FABRICANTE FROM ARTICULOS LEFT OUTER JOIN CONTACTOS ON (CONTACTOS.ID = ARTICULOS.ID_PROVEEDOR) WHERE (ARTICULOS.ELIMINADO = 0) diff --git a/Source/Cliente/uBootStrap.pas b/Source/Cliente/uBootStrap.pas index a762e973..8e657e0e 100644 --- a/Source/Cliente/uBootStrap.pas +++ b/Source/Cliente/uBootStrap.pas @@ -24,6 +24,7 @@ begin LoadModule('FormasPago_plugin.bpl'); LoadModule('TiposIVA_plugin.bpl'); LoadModule('Familias_plugin.bpl'); + LoadModule('Fabricantes_plugin.bpl'); LoadModule('UnidadesMedida_plugin.bpl'); LoadModule('Contactos_plugin.bpl'); diff --git a/Source/Modulos/Articulos/Articulos_Group.groupproj b/Source/Modulos/Articulos/Articulos_Group.groupproj index 85a972b6..ae024535 100644 --- a/Source/Modulos/Articulos/Articulos_Group.groupproj +++ b/Source/Modulos/Articulos/Articulos_Group.groupproj @@ -8,6 +8,7 @@ + @@ -111,14 +112,23 @@ + + + + + + + + + - + - + - + \ No newline at end of file diff --git a/Source/Modulos/Articulos/Data/uDataModuleArticulos.dfm b/Source/Modulos/Articulos/Data/uDataModuleArticulos.dfm index b3d36c5c..4f26d644 100644 --- a/Source/Modulos/Articulos/Data/uDataModuleArticulos.dfm +++ b/Source/Modulos/Articulos/Data/uDataModuleArticulos.dfm @@ -144,6 +144,11 @@ inherited DataModuleArticulos: TDataModuleArticulos Name = 'ELIMINADO' DataType = datSmallInt DisplayLabel = 'Eliminado' + end + item + Name = 'FABRICANTE' + DataType = datString + Size = 255 end> Params = <> StreamingOptions = [soDisableEventsWhileStreaming] diff --git a/Source/Modulos/Articulos/Model/schArticulosClient_Intf.pas b/Source/Modulos/Articulos/Model/schArticulosClient_Intf.pas index e6c326fd..63673541 100644 --- a/Source/Modulos/Articulos/Model/schArticulosClient_Intf.pas +++ b/Source/Modulos/Articulos/Model/schArticulosClient_Intf.pas @@ -3,14 +3,14 @@ unit schArticulosClient_Intf; interface uses - Classes, DB, schBase_Intf, SysUtils, uROClasses, uDADataTable, FmtBCD, uROXMLIntf; + Classes, DB, 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_Articulos = '{6930163F-C204-4661-9B8E-E5EB08652E93}'; - RID_ArticulosParaCliente = '{02961EF0-4BAA-4C29-B66E-E1FCD09DBC15}'; + RID_Articulos = '{042A5C28-35B0-4779-B864-11D70E7E1BD5}'; + RID_ArticulosParaCliente = '{03F3C87A-2A4B-4405-8327-F442AB029B42}'; { Data table names } nme_Articulos = 'Articulos'; @@ -37,6 +37,7 @@ const fld_ArticulosID_PROVEEDOR = 'ID_PROVEEDOR'; fld_ArticulosNOMBRE_PROVEEDOR = 'NOMBRE_PROVEEDOR'; fld_ArticulosELIMINADO = 'ELIMINADO'; + fld_ArticulosFABRICANTE = 'FABRICANTE'; { Articulos field indexes } idx_ArticulosID = 0; @@ -59,12 +60,14 @@ const idx_ArticulosID_PROVEEDOR = 17; idx_ArticulosNOMBRE_PROVEEDOR = 18; idx_ArticulosELIMINADO = 19; + idx_ArticulosFABRICANTE = 20; { ArticulosParaCliente fields } fld_ArticulosParaClienteID = 'ID'; fld_ArticulosParaClienteID_EMPRESA = 'ID_EMPRESA'; fld_ArticulosParaClienteREFERENCIA = 'REFERENCIA'; fld_ArticulosParaClienteDESCRIPCION = 'DESCRIPCION'; + fld_ArticulosParaClienteFABRICANTE = 'FABRICANTE'; fld_ArticulosParaClienteUNIDAD_MEDIDA = 'UNIDAD_MEDIDA'; fld_ArticulosParaClienteFAMILIA = 'FAMILIA'; fld_ArticulosParaClienteIMAGEN = 'IMAGEN'; @@ -87,27 +90,28 @@ const idx_ArticulosParaClienteID_EMPRESA = 1; idx_ArticulosParaClienteREFERENCIA = 2; idx_ArticulosParaClienteDESCRIPCION = 3; - idx_ArticulosParaClienteUNIDAD_MEDIDA = 4; - idx_ArticulosParaClienteFAMILIA = 5; - idx_ArticulosParaClienteIMAGEN = 6; - idx_ArticulosParaClienteCOMISIONABLE = 7; - idx_ArticulosParaClienteFECHA_ALTA = 8; - idx_ArticulosParaClienteFECHA_MODIFICACION = 9; - idx_ArticulosParaClienteUSUARIO = 10; - idx_ArticulosParaClienteREFERENCIA_PROV = 11; - idx_ArticulosParaClientePRECIO_COSTE = 12; - idx_ArticulosParaClientePRECIO_PORTE = 13; - idx_ArticulosParaClienteDESCUENTO = 14; - idx_ArticulosParaClientePRECIO_NETO = 15; - idx_ArticulosParaClienteINVENTARIABLE = 16; - idx_ArticulosParaClienteID_PROVEEDOR = 17; - idx_ArticulosParaClienteNOMBRE_PROVEEDOR = 18; - idx_ArticulosParaClienteELIMINADO = 19; + idx_ArticulosParaClienteFABRICANTE = 4; + idx_ArticulosParaClienteUNIDAD_MEDIDA = 5; + idx_ArticulosParaClienteFAMILIA = 6; + idx_ArticulosParaClienteIMAGEN = 7; + idx_ArticulosParaClienteCOMISIONABLE = 8; + idx_ArticulosParaClienteFECHA_ALTA = 9; + idx_ArticulosParaClienteFECHA_MODIFICACION = 10; + idx_ArticulosParaClienteUSUARIO = 11; + idx_ArticulosParaClienteREFERENCIA_PROV = 12; + idx_ArticulosParaClientePRECIO_COSTE = 13; + idx_ArticulosParaClientePRECIO_PORTE = 14; + idx_ArticulosParaClienteDESCUENTO = 15; + idx_ArticulosParaClientePRECIO_NETO = 16; + idx_ArticulosParaClienteINVENTARIABLE = 17; + idx_ArticulosParaClienteID_PROVEEDOR = 18; + idx_ArticulosParaClienteNOMBRE_PROVEEDOR = 19; + idx_ArticulosParaClienteELIMINADO = 20; type { IArticulos } IArticulos = interface(IDAStronglyTypedDataTable) - ['{0E1C6D96-6382-45DF-8992-448C25CF4CED}'] + ['{F1DCC683-41C3-4835-A07F-DD9F276298F0}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -188,6 +192,10 @@ type procedure SetELIMINADOValue(const aValue: SmallInt); function GetELIMINADOIsNull: Boolean; procedure SetELIMINADOIsNull(const aValue: Boolean); + function GetFABRICANTEValue: String; + procedure SetFABRICANTEValue(const aValue: String); + function GetFABRICANTEIsNull: Boolean; + procedure SetFABRICANTEIsNull(const aValue: Boolean); { Properties } @@ -231,10 +239,12 @@ type property NOMBRE_PROVEEDORIsNull: Boolean read GetNOMBRE_PROVEEDORIsNull write SetNOMBRE_PROVEEDORIsNull; property ELIMINADO: SmallInt read GetELIMINADOValue write SetELIMINADOValue; property ELIMINADOIsNull: Boolean read GetELIMINADOIsNull write SetELIMINADOIsNull; + property FABRICANTE: String read GetFABRICANTEValue write SetFABRICANTEValue; + property FABRICANTEIsNull: Boolean read GetFABRICANTEIsNull write SetFABRICANTEIsNull; end; { TArticulosDataTableRules } - TArticulosDataTableRules = class(TIntfObjectDADataTableRules, IArticulos) + TArticulosDataTableRules = class(TDADataTableRules, IArticulos) private f_IMAGEN: IROStream; procedure IMAGEN_OnChange(Sender: TObject); @@ -319,6 +329,10 @@ type procedure SetELIMINADOValue(const aValue: SmallInt); virtual; function GetELIMINADOIsNull: Boolean; virtual; procedure SetELIMINADOIsNull(const aValue: Boolean); virtual; + function GetFABRICANTEValue: String; virtual; + procedure SetFABRICANTEValue(const aValue: String); virtual; + function GetFABRICANTEIsNull: Boolean; virtual; + procedure SetFABRICANTEIsNull(const aValue: Boolean); virtual; { Properties } property ID: Integer read GetIDValue write SetIDValue; @@ -361,6 +375,8 @@ type property NOMBRE_PROVEEDORIsNull: Boolean read GetNOMBRE_PROVEEDORIsNull write SetNOMBRE_PROVEEDORIsNull; property ELIMINADO: SmallInt read GetELIMINADOValue write SetELIMINADOValue; property ELIMINADOIsNull: Boolean read GetELIMINADOIsNull write SetELIMINADOIsNull; + property FABRICANTE: String read GetFABRICANTEValue write SetFABRICANTEValue; + property FABRICANTEIsNull: Boolean read GetFABRICANTEIsNull write SetFABRICANTEIsNull; public constructor Create(aDataTable: TDADataTable); override; @@ -370,7 +386,7 @@ type { IArticulosParaCliente } IArticulosParaCliente = interface(IDAStronglyTypedDataTable) - ['{82CAF5F9-F5A9-4A0D-9FBB-6229D32300DA}'] + ['{5615D828-ACE3-4839-B434-1E1EFC9454E5}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -388,6 +404,10 @@ type procedure SetDESCRIPCIONValue(const aValue: String); function GetDESCRIPCIONIsNull: Boolean; procedure SetDESCRIPCIONIsNull(const aValue: Boolean); + function GetFABRICANTEValue: String; + procedure SetFABRICANTEValue(const aValue: String); + function GetFABRICANTEIsNull: Boolean; + procedure SetFABRICANTEIsNull(const aValue: Boolean); function GetUNIDAD_MEDIDAValue: String; procedure SetUNIDAD_MEDIDAValue(const aValue: String); function GetUNIDAD_MEDIDAIsNull: Boolean; @@ -462,6 +482,8 @@ type property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull; property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue; property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull; + property FABRICANTE: String read GetFABRICANTEValue write SetFABRICANTEValue; + property FABRICANTEIsNull: Boolean read GetFABRICANTEIsNull write SetFABRICANTEIsNull; property UNIDAD_MEDIDA: String read GetUNIDAD_MEDIDAValue write SetUNIDAD_MEDIDAValue; property UNIDAD_MEDIDAIsNull: Boolean read GetUNIDAD_MEDIDAIsNull write SetUNIDAD_MEDIDAIsNull; property FAMILIA: String read GetFAMILIAValue write SetFAMILIAValue; @@ -497,7 +519,7 @@ type end; { TArticulosParaClienteDataTableRules } - TArticulosParaClienteDataTableRules = class(TIntfObjectDADataTableRules, IArticulosParaCliente) + TArticulosParaClienteDataTableRules = class(TDADataTableRules, IArticulosParaCliente) private f_IMAGEN: IROStream; procedure IMAGEN_OnChange(Sender: TObject); @@ -519,6 +541,10 @@ type procedure SetDESCRIPCIONValue(const aValue: String); virtual; function GetDESCRIPCIONIsNull: Boolean; virtual; procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual; + function GetFABRICANTEValue: String; virtual; + procedure SetFABRICANTEValue(const aValue: String); virtual; + function GetFABRICANTEIsNull: Boolean; virtual; + procedure SetFABRICANTEIsNull(const aValue: Boolean); virtual; function GetUNIDAD_MEDIDAValue: String; virtual; procedure SetUNIDAD_MEDIDAValue(const aValue: String); virtual; function GetUNIDAD_MEDIDAIsNull: Boolean; virtual; @@ -592,6 +618,8 @@ type property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull; property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue; property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull; + property FABRICANTE: String read GetFABRICANTEValue write SetFABRICANTEValue; + property FABRICANTEIsNull: Boolean read GetFABRICANTEIsNull write SetFABRICANTEIsNull; property UNIDAD_MEDIDA: String read GetUNIDAD_MEDIDAValue write SetUNIDAD_MEDIDAValue; property UNIDAD_MEDIDAIsNull: Boolean read GetUNIDAD_MEDIDAIsNull write SetUNIDAD_MEDIDAIsNull; property FAMILIA: String read GetFAMILIAValue write SetFAMILIAValue; @@ -1077,6 +1105,27 @@ begin DataTable.Fields[idx_ArticulosELIMINADO].AsVariant := Null; end; +function TArticulosDataTableRules.GetFABRICANTEValue: String; +begin + result := DataTable.Fields[idx_ArticulosFABRICANTE].AsString; +end; + +procedure TArticulosDataTableRules.SetFABRICANTEValue(const aValue: String); +begin + DataTable.Fields[idx_ArticulosFABRICANTE].AsString := aValue; +end; + +function TArticulosDataTableRules.GetFABRICANTEIsNull: boolean; +begin + result := DataTable.Fields[idx_ArticulosFABRICANTE].IsNull; +end; + +procedure TArticulosDataTableRules.SetFABRICANTEIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ArticulosFABRICANTE].AsVariant := Null; +end; + { TArticulosParaClienteDataTableRules } constructor TArticulosParaClienteDataTableRules.Create(aDataTable: TDADataTable); @@ -1184,6 +1233,27 @@ begin DataTable.Fields[idx_ArticulosParaClienteDESCRIPCION].AsVariant := Null; end; +function TArticulosParaClienteDataTableRules.GetFABRICANTEValue: String; +begin + result := DataTable.Fields[idx_ArticulosParaClienteFABRICANTE].AsString; +end; + +procedure TArticulosParaClienteDataTableRules.SetFABRICANTEValue(const aValue: String); +begin + DataTable.Fields[idx_ArticulosParaClienteFABRICANTE].AsString := aValue; +end; + +function TArticulosParaClienteDataTableRules.GetFABRICANTEIsNull: boolean; +begin + result := DataTable.Fields[idx_ArticulosParaClienteFABRICANTE].IsNull; +end; + +procedure TArticulosParaClienteDataTableRules.SetFABRICANTEIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ArticulosParaClienteFABRICANTE].AsVariant := Null; +end; + function TArticulosParaClienteDataTableRules.GetUNIDAD_MEDIDAValue: String; begin result := DataTable.Fields[idx_ArticulosParaClienteUNIDAD_MEDIDA].AsString; diff --git a/Source/Modulos/Articulos/Model/schArticulosServer_Intf.pas b/Source/Modulos/Articulos/Model/schArticulosServer_Intf.pas index 5d69a3fe..25652198 100644 --- a/Source/Modulos/Articulos/Model/schArticulosServer_Intf.pas +++ b/Source/Modulos/Articulos/Model/schArticulosServer_Intf.pas @@ -9,13 +9,13 @@ const { Delta rules ids Feel free to change them to something more human readable but make sure they are unique in the context of your application } - RID_ArticulosDelta = '{A56987C7-0587-447A-80F8-44F882CC1326}'; - RID_ArticulosParaClienteDelta = '{4BF57D32-A849-47E2-9AC3-81691DC7B0CA}'; + RID_ArticulosDelta = '{4E74F5A8-5A74-41F9-B8A9-7DF2C8AA2A5A}'; + RID_ArticulosParaClienteDelta = '{AD7097E1-071E-4496-8F43-216E98BC8F47}'; type { IArticulosDelta } IArticulosDelta = interface(IArticulos) - ['{A56987C7-0587-447A-80F8-44F882CC1326}'] + ['{4E74F5A8-5A74-41F9-B8A9-7DF2C8AA2A5A}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_EMPRESAValue : Integer; @@ -37,6 +37,7 @@ type function GetOldID_PROVEEDORValue : Integer; function GetOldNOMBRE_PROVEEDORValue : String; function GetOldELIMINADOValue : SmallInt; + function GetOldFABRICANTEValue : String; { Properties } property OldID : Integer read GetOldIDValue; @@ -59,6 +60,7 @@ type property OldID_PROVEEDOR : Integer read GetOldID_PROVEEDORValue; property OldNOMBRE_PROVEEDOR : String read GetOldNOMBRE_PROVEEDORValue; property OldELIMINADO : SmallInt read GetOldELIMINADOValue; + property OldFABRICANTE : String read GetOldFABRICANTEValue; end; { TArticulosBusinessProcessorRules } @@ -187,6 +189,12 @@ type function GetOldELIMINADOIsNull: Boolean; virtual; procedure SetELIMINADOValue(const aValue: SmallInt); virtual; procedure SetELIMINADOIsNull(const aValue: Boolean); virtual; + function GetFABRICANTEValue: String; virtual; + function GetFABRICANTEIsNull: Boolean; virtual; + function GetOldFABRICANTEValue: String; virtual; + function GetOldFABRICANTEIsNull: Boolean; virtual; + procedure SetFABRICANTEValue(const aValue: String); virtual; + procedure SetFABRICANTEIsNull(const aValue: Boolean); virtual; { Properties } property ID : Integer read GetIDValue write SetIDValue; @@ -269,6 +277,10 @@ type property ELIMINADOIsNull : Boolean read GetELIMINADOIsNull write SetELIMINADOIsNull; property OldELIMINADO : SmallInt read GetOldELIMINADOValue; property OldELIMINADOIsNull : Boolean read GetOldELIMINADOIsNull; + property FABRICANTE : String read GetFABRICANTEValue write SetFABRICANTEValue; + property FABRICANTEIsNull : Boolean read GetFABRICANTEIsNull write SetFABRICANTEIsNull; + property OldFABRICANTE : String read GetOldFABRICANTEValue; + property OldFABRICANTEIsNull : Boolean read GetOldFABRICANTEIsNull; public constructor Create(aBusinessProcessor: TDABusinessProcessor); override; @@ -278,12 +290,13 @@ type { IArticulosParaClienteDelta } IArticulosParaClienteDelta = interface(IArticulosParaCliente) - ['{4BF57D32-A849-47E2-9AC3-81691DC7B0CA}'] + ['{AD7097E1-071E-4496-8F43-216E98BC8F47}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_EMPRESAValue : Integer; function GetOldREFERENCIAValue : String; function GetOldDESCRIPCIONValue : String; + function GetOldFABRICANTEValue : String; function GetOldUNIDAD_MEDIDAValue : String; function GetOldFAMILIAValue : String; function GetOldIMAGENValue : IROStream; @@ -306,6 +319,7 @@ type property OldID_EMPRESA : Integer read GetOldID_EMPRESAValue; property OldREFERENCIA : String read GetOldREFERENCIAValue; property OldDESCRIPCION : String read GetOldDESCRIPCIONValue; + property OldFABRICANTE : String read GetOldFABRICANTEValue; property OldUNIDAD_MEDIDA : String read GetOldUNIDAD_MEDIDAValue; property OldFAMILIA : String read GetOldFAMILIAValue; property OldIMAGEN : IROStream read GetOldIMAGENValue; @@ -355,6 +369,12 @@ type function GetOldDESCRIPCIONIsNull: Boolean; virtual; procedure SetDESCRIPCIONValue(const aValue: String); virtual; procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual; + function GetFABRICANTEValue: String; virtual; + function GetFABRICANTEIsNull: Boolean; virtual; + function GetOldFABRICANTEValue: String; virtual; + function GetOldFABRICANTEIsNull: Boolean; virtual; + procedure SetFABRICANTEValue(const aValue: String); virtual; + procedure SetFABRICANTEIsNull(const aValue: Boolean); virtual; function GetUNIDAD_MEDIDAValue: String; virtual; function GetUNIDAD_MEDIDAIsNull: Boolean; virtual; function GetOldUNIDAD_MEDIDAValue: String; virtual; @@ -468,6 +488,10 @@ type property DESCRIPCIONIsNull : Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull; property OldDESCRIPCION : String read GetOldDESCRIPCIONValue; property OldDESCRIPCIONIsNull : Boolean read GetOldDESCRIPCIONIsNull; + property FABRICANTE : String read GetFABRICANTEValue write SetFABRICANTEValue; + property FABRICANTEIsNull : Boolean read GetFABRICANTEIsNull write SetFABRICANTEIsNull; + property OldFABRICANTE : String read GetOldFABRICANTEValue; + property OldFABRICANTEIsNull : Boolean read GetOldFABRICANTEIsNull; property UNIDAD_MEDIDA : String read GetUNIDAD_MEDIDAValue write SetUNIDAD_MEDIDAValue; property UNIDAD_MEDIDAIsNull : Boolean read GetUNIDAD_MEDIDAIsNull write SetUNIDAD_MEDIDAIsNull; property OldUNIDAD_MEDIDA : String read GetOldUNIDAD_MEDIDAValue; @@ -1187,6 +1211,37 @@ begin BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosELIMINADO] := Null; end; +function TArticulosBusinessProcessorRules.GetFABRICANTEValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosFABRICANTE]; +end; + +function TArticulosBusinessProcessorRules.GetFABRICANTEIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosFABRICANTE]); +end; + +function TArticulosBusinessProcessorRules.GetOldFABRICANTEValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosFABRICANTE]; +end; + +function TArticulosBusinessProcessorRules.GetOldFABRICANTEIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosFABRICANTE]); +end; + +procedure TArticulosBusinessProcessorRules.SetFABRICANTEValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosFABRICANTE] := aValue; +end; + +procedure TArticulosBusinessProcessorRules.SetFABRICANTEIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosFABRICANTE] := Null; +end; + { TArticulosParaClienteBusinessProcessorRules } constructor TArticulosParaClienteBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); @@ -1334,6 +1389,37 @@ begin BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClienteDESCRIPCION] := Null; end; +function TArticulosParaClienteBusinessProcessorRules.GetFABRICANTEValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClienteFABRICANTE]; +end; + +function TArticulosParaClienteBusinessProcessorRules.GetFABRICANTEIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClienteFABRICANTE]); +end; + +function TArticulosParaClienteBusinessProcessorRules.GetOldFABRICANTEValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaClienteFABRICANTE]; +end; + +function TArticulosParaClienteBusinessProcessorRules.GetOldFABRICANTEIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaClienteFABRICANTE]); +end; + +procedure TArticulosParaClienteBusinessProcessorRules.SetFABRICANTEValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClienteFABRICANTE] := aValue; +end; + +procedure TArticulosParaClienteBusinessProcessorRules.SetFABRICANTEIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClienteFABRICANTE] := Null; +end; + function TArticulosParaClienteBusinessProcessorRules.GetUNIDAD_MEDIDAValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClienteUNIDAD_MEDIDA]; diff --git a/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.dfm b/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.dfm index a6c3a106..9ad6feda 100644 --- a/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.dfm +++ b/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.dfm @@ -209,6 +209,10 @@ object srvArticulos: TsrvArticulos item DatasetField = 'UNIDAD_MEDIDA' TableField = 'UNIDAD_MEDIDA' + end + item + DatasetField = 'FABRICANTE' + TableField = 'FABRICANTE' end> end> Name = 'Articulos' @@ -320,6 +324,11 @@ object srvArticulos: TsrvArticulos Name = 'ELIMINADO' DataType = datSmallInt DisplayLabel = 'Eliminado' + end + item + Name = 'FABRICANTE' + DataType = datString + Size = 255 end> end item @@ -335,18 +344,19 @@ object srvArticulos: TsrvArticulos TargetTable = 'ARTICULOS' SQL = 'SELECT V_ARTICULOS.ID, V_ARTICULOS.ID_EMPRESA, V_ARTICULOS.REFER' + - 'ENCIA, V_ARTICULOS.DESCRIPCION,'#10' V_ARTICULOS.UNIDAD_MEDIDA' + - ','#10' V_ARTICULOS.FAMILIA, V_ARTICULOS.IMAGEN, V_ARTICULOS.CO' + - 'MISIONABLE, V_ARTICULOS.FECHA_ALTA,'#10' V_ARTICULOS.FECHA_MOD' + - 'IFICACION, V_ARTICULOS.USUARIO,'#10' V_ARTICULOS.REFERENCIA_PR' + - 'OV,'#10' V_ARTICULOS.PRECIO_COSTE,'#10' V_ARTICULOS.PRECIO_P' + - 'ORTE,'#10' CLIENTES_DTOS_PROVEEDORES.DESCUENTO,'#10' V_ARTIC' + - 'ULOS.PRECIO_NETO,'#10' V_ARTICULOS.INVENTARIABLE,'#10' V_ART' + - 'ICULOS.ID_PROVEEDOR,'#10' V_ARTICULOS.NOMBRE_PROVEEDOR,'#10' ' + - ' V_ARTICULOS.ELIMINADO'#10'FROM V_ARTICULOS'#10'LEFT OUTER JOIN CLIENTES' + - '_DTOS_PROVEEDORES'#10'ON ((CLIENTES_DTOS_PROVEEDORES.ID_PROVEEDOR = ' + - 'V_ARTICULOS.ID_PROVEEDOR)'#10'AND (CLIENTES_DTOS_PROVEEDORES.ID_CLIE' + - 'NTE = :ID_CLIENTE))'#10'where {where}'#10 + 'ENCIA, V_ARTICULOS.DESCRIPCION,'#10' V_ARTICULOS.FABRICANTE,'#10' ' + + ' V_ARTICULOS.UNIDAD_MEDIDA,'#10' V_ARTICULOS.FAMILIA, V_A' + + 'RTICULOS.IMAGEN, V_ARTICULOS.COMISIONABLE, V_ARTICULOS.FECHA_ALT' + + 'A,'#10' V_ARTICULOS.FECHA_MODIFICACION, V_ARTICULOS.USUARIO,'#10' ' + + ' V_ARTICULOS.REFERENCIA_PROV,'#10' V_ARTICULOS.PRECIO_COS' + + 'TE,'#10' V_ARTICULOS.PRECIO_PORTE,'#10' CLIENTES_DTOS_PROVEE' + + 'DORES.DESCUENTO,'#10' V_ARTICULOS.PRECIO_NETO,'#10' V_ARTICU' + + 'LOS.INVENTARIABLE,'#10' V_ARTICULOS.ID_PROVEEDOR,'#10' V_ART' + + 'ICULOS.NOMBRE_PROVEEDOR,'#10' V_ARTICULOS.ELIMINADO'#10'FROM V_ART' + + 'ICULOS'#10'LEFT OUTER JOIN CLIENTES_DTOS_PROVEEDORES'#10'ON ((CLIENTES_D' + + 'TOS_PROVEEDORES.ID_PROVEEDOR = V_ARTICULOS.ID_PROVEEDOR)'#10'AND (CL' + + 'IENTES_DTOS_PROVEEDORES.ID_CLIENTE = :ID_CLIENTE))'#10'where {where}' + + #10 StatementType = stSQL ColumnMappings = < item @@ -429,6 +439,10 @@ object srvArticulos: TsrvArticulos item DatasetField = 'UNIDAD_MEDIDA' TableField = 'UNIDAD_MEDIDA' + end + item + DatasetField = 'FABRICANTE' + TableField = 'FABRICANTE' end> end> Name = 'ArticulosParaCliente' @@ -452,6 +466,11 @@ object srvArticulos: TsrvArticulos DataType = datString Size = 255 end + item + Name = 'FABRICANTE' + DataType = datString + Size = 255 + end item Name = 'UNIDAD_MEDIDA' DataType = datString @@ -605,6 +624,10 @@ object srvArticulos: TsrvArticulos item Name = 'ELIMINADO' Value = '' + end + item + Name = 'FABRICANTE' + Value = '' end> Statements = < item @@ -615,11 +638,12 @@ object srvArticulos: TsrvArticulos 'CION, UNIDAD_MEDIDA, FAMILIA, IMAGEN,'#10' COMISIONABLE, FECHA_A' + 'LTA, FECHA_MODIFICACION, USUARIO, '#10' PRECIO_COSTE, PRECIO_POR' + 'TE, DESCUENTO, ID_PROVEEDOR, '#10' PRECIO_NETO, REFERENCIA_PROV,' + - ' INVENTARIABLE, ELIMINADO)'#10' VALUES'#10' (:ID, :ID_EMPRESA, :REFE' + - 'RENCIA, :DESCRIPCION, :UNIDAD_MEDIDA, :FAMILIA,'#10' :IMAGEN, :C' + - 'OMISIONABLE, :FECHA_ALTA, :FECHA_MODIFICACION, '#10' :USUARIO, :' + - 'PRECIO_COSTE, :PRECIO_PORTE, :DESCUENTO, '#10' :ID_PROVEEDOR, :P' + - 'RECIO_NETO, :REFERENCIA_PROV,'#10' :INVENTARIABLE, :ELIMINADO)'#10 + ' INVENTARIABLE, ELIMINADO, FABRICANTE)'#10' VALUES'#10' (:ID, :ID_EM' + + 'PRESA, :REFERENCIA, :DESCRIPCION, :UNIDAD_MEDIDA, :FAMILIA,'#10' ' + + ' :IMAGEN, :COMISIONABLE, :FECHA_ALTA, :FECHA_MODIFICACION, '#10' ' + + ' :USUARIO, :PRECIO_COSTE, :PRECIO_PORTE, :DESCUENTO, '#10' :ID_P' + + 'ROVEEDOR, :PRECIO_NETO, :REFERENCIA_PROV,'#10' :INVENTARIABLE, :' + + 'ELIMINADO, :FABRICANTE)'#10 StatementType = stSQL ColumnMappings = <> end> @@ -717,6 +741,10 @@ object srvArticulos: TsrvArticulos Name = 'ELIMINADO' Value = '' end + item + Name = 'FABRICANTE' + Value = '' + end item Name = 'OLD_ID' Value = '' @@ -735,7 +763,8 @@ object srvArticulos: TsrvArticulos 'O_PORTE = :PRECIO_PORTE, '#10' DESCUENTO = :DESCUENTO, '#10' ID_PR' + 'OVEEDOR = :ID_PROVEEDOR, '#10' PRECIO_NETO = :PRECIO_NETO,'#10' IN' + 'VENTARIABLE = :INVENTARIABLE,'#10' REFERENCIA_PROV = :REFERENCIA_' + - 'PROV,'#10' ELIMINADO = :ELIMINADO'#10' WHERE'#10' (ID = :OLD_ID)'#10 + 'PROV,'#10' ELIMINADO = :ELIMINADO,'#10' FABRICANTE = :FABRICANTE'#10' ' + + ' WHERE'#10' (ID = :OLD_ID)'#10 StatementType = stSQL ColumnMappings = <> end> diff --git a/Source/Modulos/Articulos/Views/Articulos_view.dpk b/Source/Modulos/Articulos/Views/Articulos_view.dpk index f6deb99e..a1049aaf 100644 --- a/Source/Modulos/Articulos/Views/Articulos_view.dpk +++ b/Source/Modulos/Articulos/Views/Articulos_view.dpk @@ -30,7 +30,8 @@ requires Articulos_controller, Familias_controller, UnidadesMedida_controller, - Contactos_view; + Contactos_view, + Fabricantes_controller; contains uViewArticulos in 'uViewArticulos.pas' {frViewArticulos: TFrame}, diff --git a/Source/Modulos/Articulos/Views/Articulos_view.dproj b/Source/Modulos/Articulos/Views/Articulos_view.dproj index a62192fe..2e90b61c 100644 --- a/Source/Modulos/Articulos/Views/Articulos_view.dproj +++ b/Source/Modulos/Articulos/Views/Articulos_view.dproj @@ -54,12 +54,13 @@ MainSource - - - - - - + + + + + + +
fEditorArticulo
diff --git a/Source/Modulos/Articulos/Views/Articulos_view.res b/Source/Modulos/Articulos/Views/Articulos_view.res index 8b251f312bcccec5485024f6fe8d80e1cdf25746..1641339fcc482e7e3492d1b45813a86619622c33 100644 GIT binary patch literal 4748 zcmbW5&ub)A5XUPdpe&2#;C*uNAUVhgd+&(4um@dnom`vXF9g}ZuHJ;se=<3UNdFJg zbCw+UD9j$byGIXV`~6hC>h4S?F|k9X-j90q{Z_qtZ<;nUJCO8!h?p${kR>3GhM`oH*q zk=UsjOCIgA_4!`B+Gb&`I84R)bT4dy-BQV<-SyFz?R8ILEQ(+JB$u{sEXE@j@B*7W zT;iZH#|OJ<&DO$RCkM6VbK3(B(k{nbdv1lpc;E$xz9as|v3uE1V{hw2w~g3eD0an7 z{BT%G%irdMe*|oDJmgvJaA2`9B<6Xi*?M~Q;)@Sbfwf3uf zVaWkbUjU=;sL{BlYemIZXv%qZ{SZw{-TCU+;!nH6KDDIJumU+9{E0zXW4>7T)y|>$DQlv zRJe?TjSp{c!DqeayAnSMTtZZT;>LN7J0Rls+5m@q)MbyB*eL%Eu@(+$Cw}Pd@q7N| z%Q0*AHpCP^b9v`@jx-l_FD>khpW2W8(OU2&V5TrnoAY-m_hlcV?zq3;7{2gF{J#Hc z6R+o~mVenX?>@W0@_DVzyOFs(5464CY{!q9ChoF#_*eXi@4gFuV8?vhl=_w5$iKL0 zEV0nMBcN08xtRmsgJrqjh@s#|{?*ssnsG)mH*wa6{efF0JFWHok@kA5%b661{B38= zCcgJ|*ZFTpV$8<-&+AWpa)Q8*`wL&hMeNQ^v6I7$HSdLZhZ^&+6<@Uw_Zsml9^v3W zVvPDBKHh;i=RU4J_ta3E;)Mn>Y+L zKLZ0UQ+*km9FO-b?U4gmn-62iwzH6&*duKGo~aUV)bYDla8wWZ9+^7p-F<8lP@i!m z@vhbD_${F}h>^T;C(?(b*OJDk?{dEXB?nuehoON3HAb!7Mr7-ls!84-5V-jJugbu<_$}mU=Yd9!?TOX;|B-#B)+0x#9q*yqJiqS!`49d=7ztk$O+9=1i;?K_|J<8T z?0b7=-`Z3A#vV$4XJ5(lQ~TOZHUFdA%oWvK5zg&_IKXIbughQBA8XAsd#=@|TFLXC zy(^m((;DnQmDQKatmw!@c`| G?EMQ&4NnpP delta 11 ScmeBCZD5|Duvteife`=|>;pCc diff --git a/Source/Modulos/Articulos/Views/uEditorArticulos.pas b/Source/Modulos/Articulos/Views/uEditorArticulos.pas index 22207bcd..841254fb 100644 --- a/Source/Modulos/Articulos/Views/uEditorArticulos.pas +++ b/Source/Modulos/Articulos/Views/uEditorArticulos.pas @@ -85,10 +85,7 @@ end; procedure TfEditorArticulos.ImprimirInterno; begin - AppFactuGES.ShowCapado; -{ inherited; -} end; procedure TfEditorArticulos.ModificarInterno; @@ -114,10 +111,7 @@ end; procedure TfEditorArticulos.PrevisualizarInterno; begin -AppFactuGES.ShowCapado; -{ inherited; -} end; procedure TfEditorArticulos.SetArticulos(const Value: IBizArticulo); @@ -144,8 +138,6 @@ procedure TfEditorArticulos.DuplicarInterno; var AArticulo : IBizArticulo; begin - AppFactuGES.ShowCapado; -{ inherited; AArticulo := FController.Duplicar(Articulos); try @@ -153,7 +145,6 @@ begin finally actRefrescar.Execute; end; -} end; procedure TfEditorArticulos.EliminarInterno; diff --git a/Source/Modulos/Articulos/Views/uViewArticulo.dfm b/Source/Modulos/Articulos/Views/uViewArticulo.dfm index 73365f01..16c06bf1 100644 --- a/Source/Modulos/Articulos/Views/uViewArticulo.dfm +++ b/Source/Modulos/Articulos/Views/uViewArticulo.dfm @@ -1,6 +1,6 @@ inherited frViewArticulo: TfrViewArticulo - Width = 451 - Height = 304 + Width = 649 + Height = 426 Align = alClient OnCreate = CustomViewCreate OnDestroy = CustomViewDestroy @@ -10,17 +10,18 @@ inherited frViewArticulo: TfrViewArticulo object dxLayoutControlArticulo: TdxLayoutControl Left = 0 Top = 0 - Width = 451 + Width = 649 Height = 393 Align = alTop ParentBackground = True TabOrder = 0 AutoContentSizes = [acsWidth] + ExplicitWidth = 451 DesignSize = ( - 451 + 649 393) object PngSpeedButton2: TPngSpeedButton - Left = 546 + Left = 588 Top = 28 Width = 23 Height = 22 @@ -47,7 +48,7 @@ inherited frViewArticulo: TfrViewArticulo PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled] end object PngSpeedButton1: TPngSpeedButton - Left = 546 + Left = 588 Top = 56 Width = 23 Height = 22 @@ -97,7 +98,7 @@ inherited frViewArticulo: TfrViewArticulo end object eNoComisionable: TcxDBCheckBox Left = 103 - Top = 109 + Top = 136 Caption = 'Art'#237'culo no comisionable' DataBinding.DataField = 'COMISIONABLE' DataBinding.DataSource = dsViewArticulo @@ -116,11 +117,11 @@ inherited frViewArticulo: TfrViewArticulo StyleFocused.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.Kind = lfStandard StyleHot.LookAndFeel.NativeStyle = True - TabOrder = 4 + TabOrder = 5 Width = 144 end object eImagen: TcxImage - Left = 437 + Left = 468 Top = 28 Properties.GraphicClassName = 'TJPEGImage' Properties.ImmediatePost = True @@ -137,7 +138,7 @@ inherited frViewArticulo: TfrViewArticulo StyleFocused.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.Kind = lfStandard StyleHot.LookAndFeel.NativeStyle = True - TabOrder = 6 + TabOrder = 7 Height = 100 Width = 140 end @@ -166,8 +167,8 @@ inherited frViewArticulo: TfrViewArticulo Width = 162 end inline frViewDatosYSeleccionProveedor1: TfrViewDatosYSeleccionProveedor - Left = 219 - Top = 166 + Left = 261 + Top = 193 Width = 350 Height = 202 Font.Charset = DEFAULT_CHARSET @@ -176,10 +177,10 @@ inherited frViewArticulo: TfrViewArticulo Font.Name = 'Tahoma' Font.Style = [] ParentFont = False - TabOrder = 12 + TabOrder = 13 ReadOnly = False - ExplicitLeft = 219 - ExplicitTop = 166 + ExplicitLeft = 261 + ExplicitTop = 193 inherited dxLayoutControl1: TdxLayoutControl inherited edtNIFCIF: TcxDBTextEdit ExplicitWidth = 562 @@ -201,7 +202,7 @@ inherited frViewArticulo: TfrViewArticulo end object eReferenciaProv: TcxDBTextEdit Left = 103 - Top = 166 + Top = 193 Anchors = [akLeft, akTop, akRight] DataBinding.DataField = 'REFERENCIA_PROV' DataBinding.DataSource = dsViewArticulo @@ -213,12 +214,12 @@ inherited frViewArticulo: TfrViewArticulo StyleDisabled.LookAndFeel.NativeStyle = True StyleFocused.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.NativeStyle = True - TabOrder = 7 + TabOrder = 8 Width = 86 end object ePrecioCoste: TcxDBCurrencyEdit Left = 103 - Top = 193 + Top = 220 DataBinding.DataField = 'PRECIO_COSTE' DataBinding.DataSource = dsViewArticulo Properties.Alignment.Horz = taRightJustify @@ -233,12 +234,12 @@ inherited frViewArticulo: TfrViewArticulo StyleFocused.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.Kind = lfStandard StyleHot.LookAndFeel.NativeStyle = True - TabOrder = 8 + TabOrder = 9 Width = 86 end object eDescuento: TcxDBSpinEdit Left = 103 - Top = 220 + Top = 247 DataBinding.DataField = 'DESCUENTO' DataBinding.DataSource = dsViewArticulo Properties.Alignment.Horz = taRightJustify @@ -256,12 +257,12 @@ inherited frViewArticulo: TfrViewArticulo StyleFocused.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.Kind = lfStandard StyleHot.LookAndFeel.NativeStyle = True - TabOrder = 9 + TabOrder = 10 Width = 86 end object ePrecioNeto: TcxDBCurrencyEdit Left = 103 - Top = 247 + Top = 274 DataBinding.DataField = 'PRECIO_NETO' DataBinding.DataSource = dsViewArticulo Enabled = False @@ -281,12 +282,12 @@ inherited frViewArticulo: TfrViewArticulo StyleFocused.TextColor = clWindowText StyleHot.LookAndFeel.Kind = lfStandard StyleHot.LookAndFeel.NativeStyle = True - TabOrder = 10 + TabOrder = 11 Width = 86 end object ePrecioPorte: TcxDBCurrencyEdit Left = 103 - Top = 274 + Top = 301 DataBinding.DataField = 'PRECIO_PORTE' DataBinding.DataSource = dsViewArticulo Properties.Alignment.Horz = taRightJustify @@ -301,11 +302,11 @@ inherited frViewArticulo: TfrViewArticulo StyleFocused.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.Kind = lfStandard StyleHot.LookAndFeel.NativeStyle = True - TabOrder = 11 + TabOrder = 12 Width = 86 end object cbNoInventariable: TcxDBCheckBox - Left = 259 + Left = 253 Top = 109 Caption = 'Art'#237'culo no inventariable' DataBinding.DataField = 'INVENTARIABLE' @@ -325,11 +326,11 @@ inherited frViewArticulo: TfrViewArticulo StyleFocused.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.Kind = lfStandard StyleHot.LookAndFeel.NativeStyle = True - TabOrder = 5 + TabOrder = 6 Width = 144 end object cbUnidadMedida: TcxDBComboBox - Left = 292 + Left = 307 Top = 82 DataBinding.DataField = 'UNIDAD_MEDIDA' DataBinding.DataSource = dsViewArticulo @@ -352,6 +353,30 @@ inherited frViewArticulo: TfrViewArticulo TabOrder = 3 Width = 164 end + object cbFabricante: TcxDBComboBox + Left = 103 + Top = 109 + DataBinding.DataField = 'FABRICANTE' + DataBinding.DataSource = dsViewArticulo + Properties.DropDownRows = 16 + Properties.ImmediatePost = True + Properties.OnInitPopup = cbFabricantePropertiesInitPopup + Properties.OnValidate = cbFabricantePropertiesValidate + Style.BorderColor = clWindowFrame + Style.BorderStyle = ebs3D + Style.LookAndFeel.Kind = lfStandard + Style.LookAndFeel.NativeStyle = True + Style.ButtonStyle = bts3D + Style.PopupBorderStyle = epbsFrame3D + StyleDisabled.LookAndFeel.Kind = lfStandard + StyleDisabled.LookAndFeel.NativeStyle = True + StyleFocused.LookAndFeel.Kind = lfStandard + StyleFocused.LookAndFeel.NativeStyle = True + StyleHot.LookAndFeel.Kind = lfStandard + StyleHot.LookAndFeel.NativeStyle = True + TabOrder = 4 + Width = 127 + end object dxLayoutControlArticuloGroup_Root: TdxLayoutGroup ShowCaption = False Hidden = True @@ -413,12 +438,23 @@ inherited frViewArticulo: TfrViewArticulo Hidden = True LayoutDirection = ldHorizontal ShowBorder = False - object dxLayoutControlArticuloItem1: TdxLayoutItem - AutoAligns = [aaVertical] - AlignHorz = ahClient - Caption = ' ' - Control = eNoComisionable - ControlOptions.ShowBorder = False + object dxLayoutControlArticuloGroup10: TdxLayoutGroup + ShowCaption = False + Hidden = True + ShowBorder = False + object dxLayoutControlArticuloItem10: TdxLayoutItem + Caption = 'Fabricante:' + Control = cbFabricante + ControlOptions.ShowBorder = False + end + object dxLayoutControlArticuloItem1: TdxLayoutItem + AutoAligns = [aaVertical] + AlignHorz = ahClient + Caption = ' ' + Visible = False + Control = eNoComisionable + ControlOptions.ShowBorder = False + end end object dxLayoutControlArticuloItem7: TdxLayoutItem AutoAligns = [aaVertical] diff --git a/Source/Modulos/Articulos/Views/uViewArticulo.pas b/Source/Modulos/Articulos/Views/uViewArticulo.pas index 4edfc60a..8872c8cf 100644 --- a/Source/Modulos/Articulos/Views/uViewArticulo.pas +++ b/Source/Modulos/Articulos/Views/uViewArticulo.pas @@ -10,7 +10,7 @@ uses cxDBEdit, dxLayoutControl, cxCheckBox, PngSpeedButton, cxImage, ActnList, ImgList, PngImageList, cxGraphics, cxMaskEdit, cxDropDownEdit, uFamiliasController, uViewDatosYSeleccionProveedor, cxSpinEdit, cxCurrencyEdit, - uArticulosController, uUnidadesMedidaController, uDAInterfaces; + uArticulosController, uUnidadesMedidaController, uFabricantesController, uDAInterfaces; type IViewArticulo = interface(IViewBase) @@ -74,6 +74,9 @@ type dxLayoutControlArticuloItem9: TdxLayoutItem; cbUnidadMedida: TcxDBComboBox; dxLayoutControlArticuloGroup9: TdxLayoutGroup; + dxLayoutControlArticuloItem10: TdxLayoutItem; + cbFabricante: TcxDBComboBox; + dxLayoutControlArticuloGroup10: TdxLayoutGroup; procedure actEliminarExecute(Sender: TObject); procedure actAnadirExecute(Sender: TObject); procedure cbFamiliaPropertiesInitPopup(Sender: TObject); @@ -86,12 +89,16 @@ type procedure cbUnidadMedidaPropertiesInitPopup(Sender: TObject); procedure cbUnidadMedidaPropertiesValidate(Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean); + procedure cbFabricantePropertiesInitPopup(Sender: TObject); + procedure cbFabricantePropertiesValidate(Sender: TObject; + var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean); private procedure CargarImagen; procedure SalvarImagen; protected FFamiliasController: IFamiliasController; FUnidadesController: IUnidadesMedidaController; + FFabricantesController: IFabricantesController; FController: IArticulosController; FArticulo: IBizArticulo; function GetArticulo: IBizArticulo; @@ -108,7 +115,7 @@ implementation uses uDataModuleArticulos, uSistemaFunc, uBizFamilias, uBizContactos, - uBizUnidadesMedida; + uBizUnidadesMedida, uBizFabricantes; {$R *.dfm} @@ -156,6 +163,55 @@ begin end;} end; +procedure TfrViewArticulo.cbFabricantePropertiesInitPopup(Sender: TObject); +begin + inherited; + with cbFabricante.Properties.Items do + begin + if (Count = 0) then + begin + ShowHourglassCursor; + BeginUpdate; + try + Clear; + AddStrings(FFabricantesController.DarListaFabricantes); + finally + EndUpdate; + HideHourglassCursor; + end; + end; + end; +end; + +procedure TfrViewArticulo.cbFabricantePropertiesValidate(Sender: TObject; + var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean); +var + AFabricantes : IBizFabricante; +begin + inherited; + with (Sender as TcxDBComboBox) do + begin + if (Length(DisplayValue) > 0) and (DisplayValue <> FArticulo.FAMILIA) then + if Properties.LookupItems.IndexOf(DisplayValue) < 0 then + begin + ShowHourglassCursor; + Properties.LookupItems.BeginUpdate; + AFabricantes := FFabricantesController.BuscarTodos; + AFabricantes.DataTable.Active := True; + try + FFabricantesController.Anadir(AFabricantes); + AFabricantes.DESCRIPCION := DisplayValue; + FFabricantesController.Guardar(AFabricantes); + Properties.LookupItems.Add(DisplayValue); + finally + Properties.LookupItems.EndUpdate; + HideHourglassCursor; + AFabricantes := NIL; + end; + end; + end; +end; + procedure TfrViewArticulo.cbFamiliaPropertiesInitPopup(Sender: TObject); begin inherited; @@ -259,12 +315,14 @@ begin inherited; FFamiliasController := TFamiliasController.Create; FUnidadesController := TUnidadesMedidaController.Create; + FFabricantesController := TFabricantesController.Create; end; procedure TfrViewArticulo.CustomViewDestroy(Sender: TObject); begin FFamiliasController := Nil; FUnidadesController := NIL; + FFabricantesController := NIL; ePrecioCoste.Properties.OnEditValueChanged := Nil; eDescuento.Properties.OnEditValueChanged := Nil; inherited; diff --git a/Source/Modulos/Articulos/Views/uViewArticulos.dfm b/Source/Modulos/Articulos/Views/uViewArticulos.dfm index 8da06b5a..549a5c3d 100644 --- a/Source/Modulos/Articulos/Views/uViewArticulos.dfm +++ b/Source/Modulos/Articulos/Views/uViewArticulos.dfm @@ -1,5 +1,8 @@ inherited frViewArticulos: TfrViewArticulos + Width = 539 + ExplicitWidth = 539 inherited cxGrid: TcxGrid + Width = 539 inherited cxGridView: TcxGridDBTableView OnMouseMove = cxGridViewMouseMove DataController.KeyFieldNames = 'ID' @@ -74,6 +77,10 @@ inherited frViewArticulos: TfrViewArticulos BestFitMaxWidth = 60 Width = 60 end + object cxGridViewFABRICANTE: TcxGridDBColumn + Caption = 'Fabricante' + DataBinding.FieldName = 'FABRICANTE' + end object cxGridViewDESCRIPCION: TcxGridDBColumn Caption = 'Descripci'#243'n' DataBinding.FieldName = 'DESCRIPCION' @@ -139,8 +146,10 @@ inherited frViewArticulos: TfrViewArticulos end end inherited frViewFiltroBase1: TfrViewFiltroBase + Width = 539 inherited TBXDockablePanel1: TTBXDockablePanel inherited dxLayoutControl1: TdxLayoutControl + Width = 539 inherited txtFiltroTodo: TcxTextEdit ExplicitWidth = 273 Width = 273 @@ -150,16 +159,26 @@ inherited frViewArticulos: TfrViewArticulos Width = 121 end inherited edtFechaFinFiltro: TcxDateEdit + Left = 335 + ExplicitLeft = 335 ExplicitWidth = 121 Width = 121 end end + inherited TBXAlignmentPanel1: TTBXAlignmentPanel + Width = 539 + inherited tbxBotones: TTBXToolbar + Width = 529 + end + end end end inherited pnlAgrupaciones: TTBXDockablePanel Visible = True inherited TBXAlignmentPanel1: TTBXAlignmentPanel + Width = 539 inherited TBXToolbar1: TTBXToolbar + Width = 529 object TBXSeparatorItem1: TTBXSeparatorItem end object TBXItem3: TTBXItem @@ -170,6 +189,11 @@ inherited frViewArticulos: TfrViewArticulos object TBXItem2: TTBXItem Action = actProveedor end + object TBXSeparatorItem3: TTBXSeparatorItem + end + object TBXItem4: TTBXItem + Action = actFabricante + end end end end @@ -192,6 +216,11 @@ inherited frViewArticulos: TfrViewArticulos OnExecute = actProveedorExecute OnUpdate = actProveedorUpdate end + object actFabricante: TAction + Caption = 'Fabricante' + OnExecute = actFabricanteExecute + OnUpdate = actFabricanteUpdate + end end inherited PngImageList10: TPngImageList Left = 320 diff --git a/Source/Modulos/Articulos/Views/uViewArticulos.pas b/Source/Modulos/Articulos/Views/uViewArticulos.pas index c7cba095..1cec7bd8 100644 --- a/Source/Modulos/Articulos/Views/uViewArticulos.pas +++ b/Source/Modulos/Articulos/Views/uViewArticulos.pas @@ -38,6 +38,10 @@ type TBXSeparatorItem2: TTBXSeparatorItem; cxGridViewINVENTARIABLE: TcxGridDBColumn; cxGridViewUNIDAD_MEDIDA: TcxGridDBColumn; + cxGridViewFABRICANTE: TcxGridDBColumn; + TBXItem4: TTBXItem; + TBXSeparatorItem3: TTBXSeparatorItem; + actFabricante: TAction; procedure cxGridViewIDCustomDrawCell( Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); @@ -46,6 +50,8 @@ type procedure actFamiliaExecute(Sender: TObject); procedure actFamiliaUpdate(Sender: TObject); procedure cxGridViewMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); + procedure actFabricanteExecute(Sender: TObject); + procedure actFabricanteUpdate(Sender: TObject); protected FArticulos: IBizArticulo; function GetArticulos: IBizArticulo; virtual; @@ -80,6 +86,26 @@ begin end; +procedure TfrViewArticulos.actFabricanteExecute(Sender: TObject); +begin + if (cxGridViewFABRICANTE.GroupIndex < 0) then + begin + cxGridViewFABRICANTE.GroupIndex := cxGridView.GroupedColumnCount; + cxGridViewFABRICANTE.Visible := False; + end + else + begin + cxGridViewFABRICANTE.GroupIndex := -1; + cxGridViewFABRICANTE.Visible := True; + end; +end; + +procedure TfrViewArticulos.actFabricanteUpdate(Sender: TObject); +begin + inherited; + (Sender as TAction).Checked := not (cxGridViewFABRICANTE.GroupIndex < 0); +end; + procedure TfrViewArticulos.actFamiliaExecute(Sender: TObject); begin if (cxGridViewFAMILIA.GroupIndex < 0) then diff --git a/Source/Modulos/Fabricantes/Controller/Fabricantes_controller.dpk b/Source/Modulos/Fabricantes/Controller/Fabricantes_controller.dpk new file mode 100644 index 00000000..1b2cbf4f --- /dev/null +++ b/Source/Modulos/Fabricantes/Controller/Fabricantes_controller.dpk @@ -0,0 +1,40 @@ +package Fabricantes_controller; + +{$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, + Fabricantes_data, + Fabricantes_model; + +contains + uFabricantesController in 'uFabricantesController.pas', + uIEditorFabricantes in 'View\uIEditorFabricantes.pas'; + +end. diff --git a/Source/Modulos/Fabricantes/Controller/Fabricantes_controller.dproj b/Source/Modulos/Fabricantes/Controller/Fabricantes_controller.dproj new file mode 100644 index 00000000..541542e3 --- /dev/null +++ b/Source/Modulos/Fabricantes/Controller/Fabricantes_controller.dproj @@ -0,0 +1,543 @@ + + + + {7f80f8aa-6912-4714-986d-aed73035472b} + Fabricantes_controller.dpk + Debug + AnyCPU + DCC32 + ..\..\..\..\Output\Debug\Cliente\Fabricantes_controller.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.0Fabricantes_controller.dpk + + + + + MainSource + + + + + + + + + + + + + diff --git a/Source/Modulos/Fabricantes/Controller/Fabricantes_controller.identcache b/Source/Modulos/Fabricantes/Controller/Fabricantes_controller.identcache new file mode 100644 index 0000000000000000000000000000000000000000..4d39f165e3df5fa9d40e02695cf66cedc71b68eb GIT binary patch literal 198 zcmZQ#U|F3v1T&4~%lFD*(=jq%M-Db2|*j&Vy&D#}bw%qvMP x1}e=fDay~uNiB*gMG{8{>lGvx1C51)P_oSr%Sh4S?F|k9X-j90q{Z_qtZ<;nUJCO8!h?p${kR>3GhM`oH*q zk=UsjOCIgA_4!`B+Gb&`I84R)bT4dy-BQV<-SyFz?R8ILEQ(+JB$u{sEXE@j@B*7W zT;iZH#|OJ<&DO$RCkM6VbK3(B(k{nbdv1lpc;E$xz9as|v3uE1V{hw2w~g3eD0an7 z{BT%G%irdMe*|oDJmgvJaA2`9B<6Xi*?M~Q;)@Sbfwf3uf zVaWkbUjU=;sL{BlYemIZXv%qZ{SZw{-TCU+;!nH6KDDIJumU+9{E0zXW4>7T)y|>$DQlv zRJe?TjSp{c!DqeayAnSMTtZZT;>LN7J0Rls+5m@q)MbyB*eL%Eu@(+$Cw}Pd@q7N| z%Q0*AHpCP^b9v`@jx-l_FD>khpW2W8(OU2&V5TrnoAY-m_hlcV?zq3;7{2gF{J#Hc z6R+o~mVenX?>@W0@_DVzyOFs(5464CY{!q9ChoF#_*eXi@4gFuV8?vhl=_w5$iKL0 zEV0nMBcN08xtRmsgJrqjh@s#|{?*ssnsG)mH*wa6{efF0JFWHok@kA5%b661{B38= zCcgJ|*ZFTpV$8<-&+AWpa)Q8*`wL&hMeNQ^v6I7$HSdLZhZ^&+6<@Uw_Zsml9^v3W zVvPDBKHh;i=RU4J_ta3E;)Mn>Y+L zKLZ0UQ+*km9FO-b?U4gmn-62iwzH6&*duKGo~aUV)bYDla8wWZ9+^7p-F<8lP@i!m z@vhbD_${F}h>^T;C(?(b*OJDk?{dEXB?nuehoON3HAb!7Mr7-ls!84-5V-jJugbu<_$}mU=Yd9!?TOX;|B-#B)+0x#9q*yqJiqS!`49d=7ztk$O+9=1i;?K_|J<8T z?0b7=-`Z3A#vV$4XJ5(lQ~TOZHUFdA%oWvK5zg&_IKXIbughQBA8XAsd#=@|TFLXC zy(^m((;DnQmDQKatmw!@c`| G?EMQ&4NnpP literal 0 HcmV?d00001 diff --git a/Source/Modulos/Fabricantes/Controller/View/uIEditorFabricantes.pas b/Source/Modulos/Fabricantes/Controller/View/uIEditorFabricantes.pas new file mode 100644 index 00000000..b62b1ece --- /dev/null +++ b/Source/Modulos/Fabricantes/Controller/View/uIEditorFabricantes.pas @@ -0,0 +1,23 @@ +unit uIEditorFabricantes; + +interface + +uses + uEditorDBBase, uBizFabricantes, uFabricantesController; + +type + IEditorFabricantes = interface(IEditorDBBase) + ['{1DD6E573-CCD8-4443-9AC3-378CF63EB639}'] + function GetFabricantes: IBizFabricante; + procedure SetFabricantes(const Value: IBizFabricante); + property Fabricantes: IBizFabricante read GetFabricantes write SetFabricantes; + + function GetController : IFabricantesController; + procedure SetController (const Value : IFabricantesController); + property Controller : IFabricantesController read GetController write SetController; + end; + + +implementation + +end. diff --git a/Source/Modulos/Fabricantes/Controller/uFabricantesController.pas b/Source/Modulos/Fabricantes/Controller/uFabricantesController.pas new file mode 100644 index 00000000..510060c8 --- /dev/null +++ b/Source/Modulos/Fabricantes/Controller/uFabricantesController.pas @@ -0,0 +1,234 @@ +unit uFabricantesController; + +interface + + +uses + Classes, SysUtils, uDADataTable, uControllerBase, uEditorDBItem, + uIDataModuleFabricantes, uBizFabricantes; + +type + IFabricantesController = interface(IObservador) + ['{8D56360B-0AAA-41FA-9C48-90C586B07E37}'] + function BuscarTodos: IBizFabricante; + procedure VerTodos(AFabricantes: IBizFabricante); + procedure Anadir(AFabricante : IBizFabricante); + function Eliminar(AFabricante : IBizFabricante): Boolean; + function Guardar(AFabricante : IBizFabricante): Boolean; + procedure DescartarCambios(AFabricante : IBizFabricante); + function Localizar(AFabricantes: IBizFabricante; ADescripcion:String): Boolean; + function DarListaFabricantes: TStringList; + end; + + TFabricantesController = class(TObservador, IFabricantesController) + protected + FDataModule : IDataModuleFabricantes; + + procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); override; + function CreateEditor(const AName : String; const IID: TGUID; out Intf): Boolean; + + function ValidarAlmacen(AFabricante: IBizFabricante): 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(AFabricante : IBizFabricante): Boolean; + function Guardar(AFabricante : IBizFabricante): Boolean; + procedure DescartarCambios(AFabricante : IBizFabricante); virtual; + procedure Anadir(AFabricante : IBizFabricante); + function BuscarTodos: IBizFabricante; + procedure VerTodos(AFabricantes: IBizFabricante); + function Localizar(AFabricantes: IBizFabricante; ADescripcion:String): Boolean; + function DarListaFabricantes: TStringList; + end; + +implementation + +uses + cxControls, DB, uEditorRegistryUtils, schFabricantesClient_Intf, + uIEditorFabricantes, uDataModuleFabricantes, + uDAInterfaces, uDataTableUtils, + uDateUtils, uROTypes, DateUtils, Controls, Windows; + +{ TFabricantesController } + +procedure TFabricantesController.Anadir(AFabricante: IBizFabricante); +begin + AFabricante.Insert; +end; + +procedure TFabricantesController.AsignarDataModule; +begin + FDataModule := TDataModuleFabricantes.Create(Nil); +end; + +function TFabricantesController.BuscarTodos: IBizFabricante; +begin + Result := FDataModule.GetItems; +end; + +constructor TFabricantesController.Create; +begin + inherited; + AsignarDataModule; +end; + +function TFabricantesController.CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean; +begin + Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf); +end; + +function TFabricantesController.DarListaFabricantes: TStringList; +var + AFabricantes: IBizFabricante; +begin + AFabricantes := BuscarTodos; + AFabricantes.DataTable.Active := True; + Result := TStringList.Create; + try + with Result do + begin + AFabricantes.DataTable.First; + while not AFabricantes.DataTable.EOF do + begin + Add(AFabricantes.DESCRIPCION); + AFabricantes.DataTable.Next; + end; + end; + finally + AFabricantes := NIL; + end; +end; + +procedure TFabricantesController.DescartarCambios(AFabricante: IBizFabricante); +begin + if not Assigned(AFabricante) then + raise Exception.Create ('Almacen no asignado'); + + ShowHourglassCursor; + try + if (AFabricante.State in dsEditModes) then + AFabricante.Cancel; + + AFabricante.DataTable.CancelUpdates; + finally + HideHourglassCursor; + end; +end; + +destructor TFabricantesController.Destroy; +begin + FDataModule := Nil; + inherited; +end; + +function TFabricantesController.ValidarAlmacen(AFabricante: IBizFabricante): Boolean; +begin +// +end; + +procedure TFabricantesController.ValidarObjetos; +begin +// +end; + +procedure TFabricantesController.VerTodos(AFabricantes: IBizFabricante); +var + AEditor : IEditorFabricantes; +begin + AEditor := NIL; + ShowHourglassCursor; + try + CreateEditor('EditorFabricantes', IEditorFabricantes, AEditor); + if Assigned(AEditor) then + with AEditor do + begin + Controller := Self; //OJO ORDEN MUY IMPORTANTE + Fabricantes := AFabricantes; + ShowModal; + Release; + end; + finally + AEditor := NIL; + HideHourglassCursor; + end; +end; + +function TFabricantesController.Eliminar(AFabricante: IBizFabricante): Boolean; +begin + Result := False; + + if not Assigned(AFabricante) then + raise Exception.Create ('Almacen no asignada'); + + ShowHourglassCursor; + try + if (AFabricante.State in dsEditModes) then + AFabricante.Cancel; + + AFabricante.Delete; + AFabricante.DataTable.ApplyUpdates; + HideHourglassCursor; + Result := True; + finally + HideHourglassCursor; + end; +end; + +procedure TFabricantesController.RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); +begin + inherited; +// +end; + +function TFabricantesController.Guardar(AFabricante: IBizFabricante): Boolean; +begin + Result := False; + + if not Assigned(AFabricante) then + raise Exception.Create ('Almacen no asignada'); + + ValidarObjetos; + + if ValidarAlmacen(AFabricante) then + begin + ShowHourglassCursor; + try + if (AFabricante.DataTable.State in dsEditModes) then + AFabricante.DataTable.Post; + + AFabricante.DataTable.ApplyUpdates; + + Result := True; + finally + HideHourglassCursor; + end; + end; +end; + +function TFabricantesController.Localizar(AFabricantes: IBizFabricante; ADescripcion: String): Boolean; +begin + Result := True; + ShowHourglassCursor; + try + with AFabricantes.DataTable do + begin + DisableControls; + First; + if not Locate(fld_FabricantesDESCRIPCION, ADescripcion, []) then + Result := False; + EnableControls; + end; + finally + HideHourglassCursor; + end; +end; + +end. diff --git a/Source/Modulos/Fabricantes/Controller/uIEditorFabricantes.dcu b/Source/Modulos/Fabricantes/Controller/uIEditorFabricantes.dcu new file mode 100644 index 0000000000000000000000000000000000000000..b884a65d07c99b7ceae4cc2399bd53daac6c80e8 GIT binary patch literal 1113 zcmaJ=-)qxQ82xgWWg(_%s58{!#yT;SSVQ-tZi33(=C(d}8*EHwyvb%HOGlF;n?sAf zI275Oh)7Wp|Ayh?pa_D3Z{owiCkI1cd>M*t@uraW(X+l}Y2F6F97eHq)$W-QCd61tSCiM;G; z`izsc#*l}}*AG4*oZS0P8Ye5kd7RvzT)@eLIYT)4&rlLpLI>x67k<7vn&P{V+BN_J z#Q4(a%z4cvE2*@jwB_smct_w8+vt1{JBQl~v qipVq#q-GFA!amU4(kinwG`Gqe4W#A~v?@fbK4O&?l0roO3fga2p*RKr literal 0 HcmV?d00001 diff --git a/Source/Modulos/Fabricantes/Data/Fabricantes_data.dpk b/Source/Modulos/Fabricantes/Data/Fabricantes_data.dpk new file mode 100644 index 00000000..f9adc2e9 --- /dev/null +++ b/Source/Modulos/Fabricantes/Data/Fabricantes_data.dpk @@ -0,0 +1,47 @@ +package Fabricantes_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, + dbrtl, + RemObjects_Core_D11, + DataAbstract_Core_D11, + vcldb, + dsnap, + adortl, + cxLibraryD11, + dxThemeD11, + dxGDIPlusD11, + Fabricantes_model; + +contains + uDataModuleFabricantes in 'uDataModuleFabricantes.pas' {DataModuleFabricantes}; + +end. diff --git a/Source/Modulos/Fabricantes/Data/Fabricantes_data.dproj b/Source/Modulos/Fabricantes/Data/Fabricantes_data.dproj new file mode 100644 index 00000000..dac126b0 --- /dev/null +++ b/Source/Modulos/Fabricantes/Data/Fabricantes_data.dproj @@ -0,0 +1,554 @@ + + + + {55d06c67-fc74-4d88-8787-801dee872bb3} + Fabricantes_data.dpk + Debug + AnyCPU + DCC32 + ..\..\..\..\Output\Debug\Cliente\Fabricantes_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.0Fabricantes_data.dpk + + + + + MainSource + + + + + + + + + + + + + + + + + +
DataModuleFabricante
+
+
+
+ diff --git a/Source/Modulos/Fabricantes/Data/Fabricantes_data.drc b/Source/Modulos/Fabricantes/Data/Fabricantes_data.drc new file mode 100644 index 00000000..2d164a3f --- /dev/null +++ b/Source/Modulos/Fabricantes/Data/Fabricantes_data.drc @@ -0,0 +1,17 @@ +/* VER185 + Generated by the CodeGear Delphi Pascal Compiler + because -GD or --drc was supplied to the compiler. + + This file contains compiler-generated resources that + were bound to the executable. + If this file is empty, then no compiler-generated + resources were bound to the produced executable. +*/ + +STRINGTABLE +BEGIN +END + +/* C:\Codigo Tecsitel\Source\Modulos\Fabricantes\Data\uDataModuleFabricantes.DFM */ +/* C:\Codigo Tecsitel\Source\Modulos\Fabricantes\Data\Fabricantes_data.res */ +/* C:\Codigo Tecsitel\Source\Modulos\Fabricantes\Data\Fabricantes_data.drf */ diff --git a/Source/Modulos/Fabricantes/Data/Fabricantes_data.identcache b/Source/Modulos/Fabricantes/Data/Fabricantes_data.identcache new file mode 100644 index 0000000000000000000000000000000000000000..2a0edd5ee737e563355c25e1f1c321f21f324d4c GIT binary patch literal 94 zcmZQ%U|{fdwu*7iPsvQrR|rW>F3v1T&4~%lFD*(=jq%M-Db2|*j&Vy&D#}bw%qvMP aj&VsWNsK84kzmh4S?F|k9X-j90q{Z_qtZ<;nUJCO8!h?p${kR>3GhM`oH*q zk=UsjOCIgA_4!`B+Gb&`I84R)bT4dy-BQV<-SyFz?R8ILEQ(+JB$u{sEXE@j@B*7W zT;iZH#|OJ<&DO$RCkM6VbK3(B(k{nbdv1lpc;E$xz9as|v3uE1V{hw2w~g3eD0an7 z{BT%G%irdMe*|oDJmgvJaA2`9B<6Xi*?M~Q;)@Sbfwf3uf zVaWkbUjU=;sL{BlYemIZXv%qZ{SZw{-TCU+;!nH6KDDIJumU+9{E0zXW4>7T)y|>$DQlv zRJe?TjSp{c!DqeayAnSMTtZZT;>LN7J0Rls+5m@q)MbyB*eL%Eu@(+$Cw}Pd@q7N| z%Q0*AHpCP^b9v`@jx-l_FD>khpW2W8(OU2&V5TrnoAY-m_hlcV?zq3;7{2gF{J#Hc z6R+o~mVenX?>@W0@_DVzyOFs(5464CY{!q9ChoF#_*eXi@4gFuV8?vhl=_w5$iKL0 zEV0nMBcN08xtRmsgJrqjh@s#|{?*ssnsG)mH*wa6{efF0JFWHok@kA5%b661{B38= zCcgJ|*ZFTpV$8<-&+AWpa)Q8*`wL&hMeNQ^v6I7$HSdLZhZ^&+6<@Uw_Zsml9^v3W zVvPDBKHh;i=RU4J_ta3E;)Mn>Y+L zKLZ0UQ+*km9FO-b?U4gmn-62iwzH6&*duKGo~aUV)bYDla8wWZ9+^7p-F<8lP@i!m z@vhbD_${F}h>^T;C(?(b*OJDk?{dEXB?nuehoON3HAb!7Mr7-ls!84-5V-jJugbu<_$}mU=Yd9!?TOX;|B-#B)+0x#9q*yqJiqS!`49d=7ztk$O+9=1i;?K_|J<8T z?0b7=-`Z3A#vV$4XJ5(lQ~TOZHUFdA%oWvK5zg&_IKXIbughQBA8XAsd#=@|TFLXC zy(^m((;DnQmDQKatmw!@c`| G?EMQ&4NnpP literal 0 HcmV?d00001 diff --git a/Source/Modulos/Fabricantes/Data/uDataModuleFabricantes.dfm b/Source/Modulos/Fabricantes/Data/uDataModuleFabricantes.dfm new file mode 100644 index 00000000..c7d85035 --- /dev/null +++ b/Source/Modulos/Fabricantes/Data/uDataModuleFabricantes.dfm @@ -0,0 +1,61 @@ +inherited DataModuleFabricantes: TDataModuleFabricantes + OnCreate = DAClientDataModuleCreate + Height = 165 + Width = 409 + object RORemoteService: TRORemoteService + Message = dmConexion.ROMessage + Channel = dmConexion.ROChannel + ServiceName = 'srvFabricantes' + Left = 48 + Top = 24 + end + object rda_Fabricantes: 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_Fabricantes: TDAMemDataTable + RemoteUpdatesOptions = [] + Fields = < + item + Name = 'ID' + DataType = datAutoInc + GeneratorName = 'GEN_FABRICANTES_ID' + Required = True + ServerAutoRefresh = True + DictionaryEntry = 'Fabricantes_ID' + InPrimaryKey = True + end + item + Name = 'DESCRIPCION' + DataType = datString + Size = 255 + DisplayLabel = 'Descripci'#195#179'n' + DictionaryEntry = 'Fabricantes_DESCRIPCION' + end> + Params = <> + StreamingOptions = [soDisableEventsWhileStreaming] + RemoteDataAdapter = rda_Fabricantes + DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] + MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] + LogicalName = 'Fabricantes' + IndexDefs = <> + Left = 312 + Top = 32 + end + object ds_Fabricantes: TDADataSource + DataSet = tbl_Fabricantes.Dataset + DataTable = tbl_Fabricantes + Left = 312 + Top = 88 + end +end diff --git a/Source/Modulos/Fabricantes/Data/uDataModuleFabricantes.pas b/Source/Modulos/Fabricantes/Data/uDataModuleFabricantes.pas new file mode 100644 index 00000000..4da6a597 --- /dev/null +++ b/Source/Modulos/Fabricantes/Data/uDataModuleFabricantes.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 uDataModuleFabricantes; + +interface + +uses + SysUtils, Classes, DB, uDADataTable, uDABINAdapter, + uDAScriptingProvider, uDACDSDataTable, uROWinInetHttpChannel, uROTypes, + uRORemoteService, uROClient, uROBinMessage, + uDADesigntimeCall, + + uIDataModuleFabricantes, uBizFabricantes, uDADataStreamer, uDARemoteDataAdapter, + uDAInterfaces, uRODynamicRequest, uDABin2DataStreamer, uDAMemDataTable, + uDataModuleBase; + +type + TDataModuleFabricantes = class(TDataModuleBase, IDataModuleFabricantes) + RORemoteService: TRORemoteService; + rda_Fabricantes: TDARemoteDataAdapter; + Bin2DataStreamer: TDABin2DataStreamer; + tbl_Fabricantes: TDAMemDataTable; + ds_Fabricantes: TDADataSource; + procedure DAClientDataModuleCreate(Sender: TObject); + public + function GetItems: IBizFabricante; + function GetItem(const ID : Integer) : IBizFabricante; + function NewItem : IBizFabricante; + end; + +implementation + +{$R *.DFM} + +uses + FactuGES_Intf, uDataModuleConexion, uDataTableUtils, cxControls, + schFabricantesClient_Intf; + +{ TDataModuleFabricantes } + +procedure TDataModuleFabricantes.DAClientDataModuleCreate(Sender: TObject); +begin + RORemoteService.Channel := dmConexion.Channel; + RORemoteService.Message := dmConexion.Message; +end; + +function TDataModuleFabricantes.GetItems: IBizFabricante; +var + AFabricante : TDAMemDataTable; +begin + ShowHourglassCursor; + try + AFabricante := CloneDataTable(tbl_Fabricantes); + AFabricante.BusinessRulesID := BIZ_CLIENT_Fabricante; + + Result := (AFabricante as IBizFabricante); + finally + HideHourglassCursor; + end; +end; + +function TDataModuleFabricantes.NewItem: IBizFabricante; +begin + Result := GetItem(ID_NULO) +end; + +function TDataModuleFabricantes.GetItem(const ID: Integer): IBizFabricante; +var + Condicion: TDAWhereExpression; +begin + ShowHourglassCursor; + try + Result := Self.GetItems; + + with Result.DataTable.DynamicWhere do + begin + // (ID = :ID) + Condicion := NewBinaryExpression(NewField('', fld_FabricantesID), 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/Fabricantes/Fabricantes_Group.groupproj b/Source/Modulos/Fabricantes/Fabricantes_Group.groupproj new file mode 100644 index 00000000..5d85f2cb --- /dev/null +++ b/Source/Modulos/Fabricantes/Fabricantes_Group.groupproj @@ -0,0 +1,114 @@ + + + {033276d8-059f-49be-9cc2-3276e536a74d} + + + + + + + + + + + + + + + Default.Personality + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Source/Modulos/Fabricantes/Model/Data/uIDataModuleFabricantes.pas b/Source/Modulos/Fabricantes/Model/Data/uIDataModuleFabricantes.pas new file mode 100644 index 00000000..009221d1 --- /dev/null +++ b/Source/Modulos/Fabricantes/Model/Data/uIDataModuleFabricantes.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 uIDataModuleFabricantes; + +interface + +uses + uBizFabricantes; + +type + IDataModuleFabricantes = interface + ['{15D57E95-7964-482D-858D-EE49699B708A}'] + function GetItems: IBizFabricante; + function GetItem(const ID : Integer) : IBizFabricante; + function NewItem : IBizFabricante; + + end; + +implementation + +end. diff --git a/Source/Modulos/Fabricantes/Model/Fabricantes_model.dpk b/Source/Modulos/Fabricantes/Model/Fabricantes_model.dpk new file mode 100644 index 00000000..9e026450 --- /dev/null +++ b/Source/Modulos/Fabricantes/Model/Fabricantes_model.dpk @@ -0,0 +1,46 @@ +package Fabricantes_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, + dbrtl, + RemObjects_Core_D11, + DataAbstract_Core_D11, + vcldb, + dsnap, + adortl; + +contains + uIDataModuleFabricantes in 'Data\uIDataModuleFabricantes.pas', + schFabricantesServer_Intf in 'schFabricantesServer_Intf.pas', + schFabricantesClient_Intf in 'schFabricantesClient_Intf.pas', + uBizFabricantes in 'uBizFabricantes.pas'; + +end. diff --git a/Source/Modulos/Fabricantes/Model/Fabricantes_model.dproj b/Source/Modulos/Fabricantes/Model/Fabricantes_model.dproj new file mode 100644 index 00000000..1b9fe8ce --- /dev/null +++ b/Source/Modulos/Fabricantes/Model/Fabricantes_model.dproj @@ -0,0 +1,551 @@ + + + + {82fe21d8-609d-444d-879e-4d9e1c291607} + Fabricantes_model.dpk + Debug + AnyCPU + DCC32 + ..\..\..\..\Output\Debug\Cliente\Fabricantes_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.0Fabricantes_model.dpk + + + + + MainSource + + + + + + + + + + + + + + + + + + + diff --git a/Source/Modulos/Fabricantes/Model/Fabricantes_model.drc b/Source/Modulos/Fabricantes/Model/Fabricantes_model.drc new file mode 100644 index 00000000..438fae7e --- /dev/null +++ b/Source/Modulos/Fabricantes/Model/Fabricantes_model.drc @@ -0,0 +1,16 @@ +/* VER185 + Generated by the CodeGear Delphi Pascal Compiler + because -GD or --drc was supplied to the compiler. + + This file contains compiler-generated resources that + were bound to the executable. + If this file is empty, then no compiler-generated + resources were bound to the produced executable. +*/ + +STRINGTABLE +BEGIN +END + +/* C:\Codigo Tecsitel\Source\Modulos\Fabricantes\Model\Fabricantes_model.res */ +/* C:\Codigo Tecsitel\Source\Modulos\Fabricantes\Model\Fabricantes_model.drf */ diff --git a/Source/Modulos/Fabricantes/Model/Fabricantes_model.identcache b/Source/Modulos/Fabricantes/Model/Fabricantes_model.identcache new file mode 100644 index 0000000000000000000000000000000000000000..01fe2dc7a819c9ea30cbb65051d6f246684d2b8c GIT binary patch literal 373 zcmZQ!U|?`}wu*7iPsvQrR|rW>F3v1T&4~%lFD*(=jq%M-Db2|*j&Vy&D#}bw%qvMP z28jU`lsaWrA&Kf0Bo+gWf`dSE%q&jMKr+%fCo?s#B;GTxBn{p45OPd+Ni0c>DfI+V XU~i=&*@bQa6`UWOT2z)=gw^=~t`&RA literal 0 HcmV?d00001 diff --git a/Source/Modulos/Fabricantes/Model/Fabricantes_model.res b/Source/Modulos/Fabricantes/Model/Fabricantes_model.res new file mode 100644 index 0000000000000000000000000000000000000000..86c94e6ada7b3c85f6761b1ee234a9f34ef3c861 GIT binary patch literal 5056 zcmbW5&x;&Y5XWnifD(f4!IPI+L`3!=E9BmaF%VEA#@TDLXpF&R6XJUC)cc=I4kFSA z{{!hg%bp}hVRP_qjvmDJ`>A@>-7}euyEfF+`%$mH-*3IwZ-y~5+miKtn3_w^Pn$V^ zQ861nx4C)wN(Q~H#+K|o*@m~&(3=1I%Llk7>S*pvE7;Yjz^+ljNYba;|&8!P>=GYp<9J^QiRC`-*du(Wb zBJI+RemE@Tm2dSSKL$269_p-ia&WJ{$B|EYy#Bt1`fm?B(CB-l8nlXqgY!6fUOzP@ zr|Te|e4cZxgJWuLF8<`}dughP69?9a%ha4}r`jtX-7UCl^he&nV;_S<)Ya!2FlEJu zrr{t12%dXkNqpywX{@?Eb_MKs@29XRNI;2D%DxW zo|xv^jnf#kFIDZr^e=W==PW{#^6Ao{deqzuxId;ujOZ~3;otiwSzBXu3^t3 z&$C~D3=Umz@OQRR9+}nP>x>=u115dAI{rd2#Mbgv81-@e%IA6)a8SDwHm3Di`~F1x z)jhG~04Fd5o4f^Iah!WFIS0|E#)aohzS6onIG_;>-~Ytz3J0A}=DenTZ*cIo-Ves9 zp>qHmo5lV+rntk2He9_1!t%2yZsF;l)>iGc4jkU$0bBWEPmBKKP>uSjxhXIDsSodT z@EG|gFZa>|hHF!PaN};FzIxxlpPKT;87{i(!eu7T%H?}r^yeP=K2c}If`cyKd-3DW z_4ib`jDt-MZ?C~;z1O=EKN(!YbpFJR_c`u>(C=ph9O_Y*Jz5Z>`Zs7T9Mn$y@ay$^ z{gulxYxXwGq@TIGbG$~Hi*qk8?9|WMkNweF@MU18F;AQKZ>jcWAL86`f59r^Yh;+XfGU10gV*5=*FT)q#qz2B_Ik28(#vUlW{{>1m(1wXK3zHQ3+RoHfz^$cuqg(^F;eqz6WUMUE^m$ z9R1u2H_t9ue%}<_JcD5KB$svgjBysd-ql#|toxF$&>h1Qc)Vw6j~u{SeHg>my$i{SJtD^MnJV!{AK!ZgN9Q4bN2bs7?m1Qo zsLwc-c&GZ4_%7jWppm+9C(?(bpCye?f6Mv)ml~{r9)<=EoH5SYSxm8xsWZv%2MjL$ zd)R%{gxqI&lEaJ6!*jggJMcIz?<5?~hn@VA1Kzcrp$;C`m0CzQdy{!G?|FT$$5W3N zaydTsdE#>2dGSt*&wOX~r{!54?~lxS4gM|rOZH6mRCZMCP#!z)bEv-^up_gJ*i*BY zl>1d-%!E}5v+s{C_OF@Qj;!xrv5)P2yJ4TmKCqke`Aq-U;NJ}WpRu*&|7!3r$c7zU zF#m_6?>Cia!E%D)b;IaF{ zzPG~QEyw>z^LKm}whzS>Dx3Ct`1w98?Y5eG z!V(KK{LqC&BBA0bcC2L2+Lo?vrK>Jdy9)(5+O@9I)^*i(!GlNH-R{9|dqj_f{eJJ8 znY-S-A@j^0uQgGscwB>iwb2!D`<3vE=$jk&HG~zVDG*Uz0a-bY9&?Su z?}|hmVa25?ALVzS_U6>odQ>Is2m&lTD676;;8E-DuS0pA;t7Tor;;c?A$9(ZcechL zii1O6ymEfbJEul#yulZ6`Tawe`a-YB?wOEvQ^2PZ0?(pRC4$e)S%*Iy+^bceUzBAI zcC;lRp09Luv|(q2JuX>sYq^hKvV7G$KaIn_YETIeCE$NQYr&7aCFyY2WqHC7dR^i_ zLFldNSX-69i1+Wy0FvG2L1(SgrMkLY8~q9ld47|#7DhQ3@cM_khC+%v;r#5t?N52K zyL9l5LBA6Dbmgyq>oMz#SNw9%PVde75&^W|tEjawUR#uw4gbC+9iTG~XhlHY^$g9y z;GYkM)}y!ZdN1%Nf-OQ!L0U|w3RB60{&{KrO_BP6kUFFoGju3&Yfv`uLlVO8M*sY@ zEws2`eTCaXICmo(3~<1cgzGcFVb+T3^7&(YE(09!CE+$A?w0H0Yl<}Z6u-N5(C_ym zBuytdV5x@%svi&@3y{U@W8EX^{*e{h*gI2V~h=@B7k!JE~B(S!Wuv%u& zkYLducN#RL(bT(r>Ow>qrGtP)(^9ktBdUEm3IyDR0K;S)xC{Hs5tF9Zv@Q{lifL(_ zieFKc%IRn{$l_^fI^}TC?_V+%-w-c)1}D4z+;%nIQy+Qb1N9r0Dw8+X4+f zKWsT#K=&Z(wsa_weW%>747eag|4Iaw8Uk^%?NBxk!V4GCUqf_pI<(gFQ@k~Zyu%oo zLR@PYhDMC=)gd?R>KH~HqHj+}F0xAoJH9mLurDOCb0TuOPKyKU5m;i_er+h^AJU?Y zG<-?xElSu6=NZ51x_A24r+|%yt;5(W@b1O@;r*_-2AUAMAYGtZx9TIk53$xXSlCv- zj=ry6?-LtpGdk03>Oigp-0cQlZRc5K;MJB*2YSn8P?3YxHst)Zr@PrcEdi{d#wMIHy;K!#oGa!x+|irLpNrY?ADI!>(QAe zGtE1Q?IJVINOAhqPKmLD`WAF2y_)d+sBOCK;a~_}vqS&%--q+P)(*w%!}C-!&!uy} z&yd}whL)~6*^LKyJhQK9X~t_3nzP{CTOaVkp@k5!Ts5N(l8W74I$a*Iq111c6>(I{ z@87XbR(Q87?1PIJTm-xlo{~n&Li@clYoOTS5AXWs!vnHnfwt=4auFVCRQwPsUK*6y z&|>1;kG1h+B@%MLiw*8ea2lM-(fj@3pUYLoSG{4f;rQ4;Gr1~pTa)CfsXI&|7>OH7 zkz6HiG4tgr-8H6Iu1dPcERd^GE(4Xo-Y}rnIh=&Nt)UY=_>NqX)zReKpu1s?kmbQY zoRZl3Yw!m*R`QL?CDr9imsVCRa#Yq=ELu|E;9OLJ-W#`LLR=jwNheM#52G*IY~)D3d~vG>F8)` zcQm!Nj*#P(6|Fjcoe%hZ?yaf(&usswVlEJu6r?zHHAl#gG!!c{H|ZkYORjwWZ|&A< zs7|)uwBTlYm(H0yX@|+&M^}C)kCYV{WA>7YpY$~qEM@k}1~QLS>E`2a<*GC@@1k64 zGp4g^t8tiYd~fgq31`nJEU-zPir-@;1>8pMR#IfLWx5h^T8TxHqqKs}B*apXRXTqf z>ex~qCNgq&RAi*#2CmvTSIIP7u=tyt-7f#2GEBOWt}betiquqO>QEx^Rl!P31Snf> zgc5E<3CjDCvTLs{K$Fen67A&>69>wkIOT#bi?S(#+rltegPe^~o;FO5VJbJmDZ-3% z_8{k*`Z)PioSXsY<~Zjx^9;8c-OP=3>srwVQAro?ZHaD`un)H12sd6dr`B4G`vK%$ zYY?}T3EcbQ+;>gizdG)Cr}QFu>vSD`=tjts1CNuhL-Mx`A{RYA5hpi`4@$lVUAUDG z6a213dTj>^iTqtwI^9-|TLU>_d5>kJtpF?X4x}!Gn+X{ag@Fgcikjv#d2c}WI>d^l{0q!0+dV?2ep&(DE&nY zRKZ}AXQs(4=(*uz>;>HR#dDOt6^HO9r&gCRt^r?SKh*($9S7c|n^c5J8uk=>MTh;@ zI5t~{O<{kH{X$pcH?bP>y@V4|@SBW=e9CQ%@HwRM7M4vXNfEP>$(p2*l(x38Xp~+M zbqkV*QhKn5?Tyk8B&^ zRN(q!9F=}VrCIb4l6{tdC6mR*RGLjEknL&=CPr0?jp_yVp{_gW4DF3mF*T}EY*a6? z-|2uEabVJ@O0iM>g#A&6ofXHX8Pz!ZXY8u3#_U*)yG+`P^Ca6+!LnyWX?Dy}J~Q^( zJIN+%Sw%*a=Egj-6DPtvF-x=Hr1H%pH85#OEw1+>!miF}1i$rt(FQwwsar+M`_LUU-ixivCJc zo$xn{wGIyWYXn4>pD~Y~UH`zk)1qRc#^^7HKlmb6Y0rB* zX2u@lz|nU`PYbM2i_dBGEY~_3<4mK!Pmg(flwTXiedNoi4&vsau`PaW75sHW9w%4# z_d>DzTDf~)5oB2!i%TCy`~G?@^ZlzYuff)ES6h5?ZBLJTpQT?0BMvw%Hkbdnyngh< zSpKO|pTM=EC5M5pYK}$SegEj^qnGuK>yZC~jpEk2VZBD1+!H#a<(g5J8=!h3%RAFI zG<~A*HOVkh?8lNs3)jR%Nc7M`aKw7%iim&rA}Ap=Vj0cFhvTK7M4zlXP2g?#Cw)^P z19#6LX1F`hTvkk%c+C0i5M#?NY{dn}R$5q%h1FS@)501otkJ^mv#@3hYqhX;3+u43 zu9s;(b z9IrW?omZOSMnP??Msz~8(_Fy{*xUm4hLu@M&9%(T@`~7-R#sp!x3C;mlgZ%n_;H@O zhvmhMVzV;kDKu|pMbOUtxHpHLuLRq|J}|R+R`d2)y}9h;Li4^Uqu6{XMj|{DKr#^{ zfdWA?ksx`N&7se-JX*pE;1_r;W|j$74kVFDStk2cXf`|0cnck|Y|de2EXP#M=CM3e zAz;f*CTM86iNkX>JTGCKwVRx=GRRPPR>VBrrXws*DjH`D=E*_HO2~@B0zx(}{MM^Y zjKRU1O@hj!_*j^Mx_B1q1+!5v%tmd8Rm4bjE@Ki|(UHp}iL8VllSFE|av7IM9sFcU z#Mzz8%o1sUpE(j~T$9Tz61fk4au@;pTt)zAWd!_rjI4oiW2CPIj`7l_{^x9rnMnV( zu^zPjn@-r6WFnikjVWjc{AX;;WFr0@W1GUeRZX$slW82XVhu*cZOcMzWkL^QS z4PUe|vx$U<#}1*rMg1=un`0vCuCWQUw{5v%V-^$HvTMwS(QUI~bUSPq-LMU#+g1I% zbalqakqU&5?2X!BR*}8cFGAti4{Nb-Y~*`37!)#6-3K?9vFeRNyM^`$y-8@l&;g-C zLWhM`h2A3cR-qphdYjODgnn4)Oraka`Z1vo2z^lKy+V%&{fN+GLVsK6CxqT1^svyo zP?t)myP449xe7-k3;yR&@E&}M)(cym?Z{gtp78R!8lQf=PS~WYZjB3{PWXfkpYVeN z_;hvZ}7MN8UI-T|6x8qM44oC-Ld>)2PW&)K{KGozEUq zD_9>P<*bU8@q1XAbT=zA-NRPE&9VlI>)AZs#O9e=SUY@3P9S&)2zEl{ zeaP9z_JcXjax(X`j>&P5LmKB{;5^J4C!b`EWJ2S78aR&v=TYE%njM^cmK6~U6g6}G E55tIofdBvi literal 0 HcmV?d00001 diff --git a/Source/Modulos/Fabricantes/Model/schFabricantesClient_Intf.pas b/Source/Modulos/Fabricantes/Model/schFabricantesClient_Intf.pas new file mode 100644 index 00000000..f042c502 --- /dev/null +++ b/Source/Modulos/Fabricantes/Model/schFabricantesClient_Intf.pas @@ -0,0 +1,134 @@ +unit schFabricantesClient_Intf; + +interface + +uses + Classes, DB, 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_Fabricantes = '{24607721-C2E1-4EFD-B898-307AC1462048}'; + + { Data table names } + nme_Fabricantes = 'Fabricantes'; + + { Fabricantes fields } + fld_FabricantesID = 'ID'; + fld_FabricantesDESCRIPCION = 'DESCRIPCION'; + + { Fabricantes field indexes } + idx_FabricantesID = 0; + idx_FabricantesDESCRIPCION = 1; + +type + { IFabricantes } + IFabricantes = interface(IDAStronglyTypedDataTable) + ['{6018A1F9-F72E-46E2-A71E-C34CA806D20E}'] + { 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; + + { TFabricantesDataTableRules } + TFabricantesDataTableRules = class(TDADataTableRules, IFabricantes) + 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; + +{ TFabricantesDataTableRules } +constructor TFabricantesDataTableRules.Create(aDataTable: TDADataTable); +begin + inherited; +end; + +destructor TFabricantesDataTableRules.Destroy; +begin + inherited; +end; + +function TFabricantesDataTableRules.GetIDValue: Integer; +begin + result := DataTable.Fields[idx_FabricantesID].AsInteger; +end; + +procedure TFabricantesDataTableRules.SetIDValue(const aValue: Integer); +begin + DataTable.Fields[idx_FabricantesID].AsInteger := aValue; +end; + +function TFabricantesDataTableRules.GetIDIsNull: boolean; +begin + result := DataTable.Fields[idx_FabricantesID].IsNull; +end; + +procedure TFabricantesDataTableRules.SetIDIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_FabricantesID].AsVariant := Null; +end; + +function TFabricantesDataTableRules.GetDESCRIPCIONValue: String; +begin + result := DataTable.Fields[idx_FabricantesDESCRIPCION].AsString; +end; + +procedure TFabricantesDataTableRules.SetDESCRIPCIONValue(const aValue: String); +begin + DataTable.Fields[idx_FabricantesDESCRIPCION].AsString := aValue; +end; + +function TFabricantesDataTableRules.GetDESCRIPCIONIsNull: boolean; +begin + result := DataTable.Fields[idx_FabricantesDESCRIPCION].IsNull; +end; + +procedure TFabricantesDataTableRules.SetDESCRIPCIONIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_FabricantesDESCRIPCION].AsVariant := Null; +end; + + +initialization + RegisterDataTableRules(RID_Fabricantes, TFabricantesDataTableRules); + +end. diff --git a/Source/Modulos/Fabricantes/Model/schFabricantesServer_Intf.pas b/Source/Modulos/Fabricantes/Model/schFabricantesServer_Intf.pas new file mode 100644 index 00000000..2b114411 --- /dev/null +++ b/Source/Modulos/Fabricantes/Model/schFabricantesServer_Intf.pas @@ -0,0 +1,143 @@ +unit schFabricantesServer_Intf; + +interface + +uses + Classes, DB, SysUtils, uROClasses, uDADataTable, uDABusinessProcessor, FmtBCD, uROXMLIntf, schFabricantesClient_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_FabricantesDelta = '{4EA345C5-9E36-44DF-8403-CBEE4967A1B5}'; + +type + { IFabricantesDelta } + IFabricantesDelta = interface(IFabricantes) + ['{4EA345C5-9E36-44DF-8403-CBEE4967A1B5}'] + { Property getters and setters } + function GetOldIDValue : Integer; + function GetOldDESCRIPCIONValue : String; + + { Properties } + property OldID : Integer read GetOldIDValue; + property OldDESCRIPCION : String read GetOldDESCRIPCIONValue; + end; + + { TFabricantesBusinessProcessorRules } + TFabricantesBusinessProcessorRules = class(TDABusinessProcessorRules, IFabricantes, IFabricantesDelta) + 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; + +{ TFabricantesBusinessProcessorRules } +constructor TFabricantesBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); +begin + inherited; +end; + +destructor TFabricantesBusinessProcessorRules.Destroy; +begin + inherited; +end; + +function TFabricantesBusinessProcessorRules.GetIDValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_FabricantesID]; +end; + +function TFabricantesBusinessProcessorRules.GetIDIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_FabricantesID]); +end; + +function TFabricantesBusinessProcessorRules.GetOldIDValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_FabricantesID]; +end; + +function TFabricantesBusinessProcessorRules.GetOldIDIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_FabricantesID]); +end; + +procedure TFabricantesBusinessProcessorRules.SetIDValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_FabricantesID] := aValue; +end; + +procedure TFabricantesBusinessProcessorRules.SetIDIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_FabricantesID] := Null; +end; + +function TFabricantesBusinessProcessorRules.GetDESCRIPCIONValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_FabricantesDESCRIPCION]; +end; + +function TFabricantesBusinessProcessorRules.GetDESCRIPCIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_FabricantesDESCRIPCION]); +end; + +function TFabricantesBusinessProcessorRules.GetOldDESCRIPCIONValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_FabricantesDESCRIPCION]; +end; + +function TFabricantesBusinessProcessorRules.GetOldDESCRIPCIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_FabricantesDESCRIPCION]); +end; + +procedure TFabricantesBusinessProcessorRules.SetDESCRIPCIONValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_FabricantesDESCRIPCION] := aValue; +end; + +procedure TFabricantesBusinessProcessorRules.SetDESCRIPCIONIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_FabricantesDESCRIPCION] := Null; +end; + + +initialization + RegisterBusinessProcessorRules(RID_FabricantesDelta, TFabricantesBusinessProcessorRules); + +end. diff --git a/Source/Modulos/Fabricantes/Model/uBizFabricantes.pas b/Source/Modulos/Fabricantes/Model/uBizFabricantes.pas new file mode 100644 index 00000000..a15eea6e --- /dev/null +++ b/Source/Modulos/Fabricantes/Model/uBizFabricantes.pas @@ -0,0 +1,141 @@ +{ +=============================================================================== + 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 uBizFabricantes; + +interface + +uses + uDAInterfaces, uDADataTable, uDBSelectionListUtils, schFabricantesClient_Intf; + +const + BIZ_CLIENT_Fabricante = 'Client.Fabricante'; + +type + IBizFabricante = interface(IFabricantes) + ['{A82736D7-55AC-475F-8B08-98832EB6A1B1}'] + function EsNuevo : Boolean; + + // Descomentar esto si hay clases detalles + // procedure SetDetalles(AValue : IBizDetalles); + // function GetDetalles : IBizDetalles; + // property Detalles : IBizDetalles read GetDetalles write SetDetalles; + end; + + TBizFabricante = class(TFabricantesDataTableRules, IBizFabricante, 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; + procedure AfterOpen(Sender: TDADataTable); override; + public + procedure IniciarValoresFabricanteNuevo; + 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 + +{ TBizFabricante } + +uses + SysUtils, uDataTableUtils; + +// Descomentar esto si hay clases detalles +// function TBizFabricante.GetDetalles: IBizDetalles; +// begin +// Result := FDetalles; +// end; + +// Descomentar esto si hay clases detalles +// procedure TBizFabricante.SetDetalles(AValue: IBizDetalles); +// begin +// FDetalles := AValue; +// EnlazarMaestroDetalle(FDetallesLink, FDetalles); +// end; + +procedure TBizFabricante.AfterOpen(Sender: TDADataTable); +begin + inherited; + DataTable.Sort([fld_FabricantesDESCRIPCION], [sdAscending]); +end; + +constructor TBizFabricante.Create(aDataTable: TDADataTable); +begin + inherited; + // Descomentar esto si hay clases detalles + // FDetallesLink := TDADataSource.Create(NIL); + // FDetallesLink.DataTable := aDataTable; + + FSeleccionableInterface := TSeleccionable.Create(aDataTable); +end; + +destructor TBizFabricante.Destroy; +begin + // Descomentar esto si hay clases detalles + // FDetalles := NIL; + // FreeAndNIL(FDetallesLink); + + FSeleccionableInterface := NIL; + inherited; +end; + +function TBizFabricante.EsNuevo: Boolean; +begin + Result := (ID < 0); +end; + +procedure TBizFabricante.IniciarValoresFabricanteNuevo; +begin + // +end; + +procedure TBizFabricante.OnNewRecord(Sender: TDADataTable); +begin + inherited; + ID := GetRecNo; // -1, -2, -3... + IniciarValoresFabricanteNuevo; +end; + +initialization + RegisterDataTableRules(BIZ_CLIENT_Fabricante, TBizFabricante); + +finalization + +end. + diff --git a/Source/Modulos/Fabricantes/Plugin/Fabricantes_plugin.dpk b/Source/Modulos/Fabricantes/Plugin/Fabricantes_plugin.dpk new file mode 100644 index 00000000..bafb968c --- /dev/null +++ b/Source/Modulos/Fabricantes/Plugin/Fabricantes_plugin.dpk @@ -0,0 +1,41 @@ +package Fabricantes_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, + Fabricantes_view, + Fabricantes_controller, + Fabricantes_model; + +contains + uPluginFabricantes in 'uPluginFabricantes.pas' {PluginFabricantes}; + +end. diff --git a/Source/Modulos/Fabricantes/Plugin/Fabricantes_plugin.dproj b/Source/Modulos/Fabricantes/Plugin/Fabricantes_plugin.dproj new file mode 100644 index 00000000..504c3050 --- /dev/null +++ b/Source/Modulos/Fabricantes/Plugin/Fabricantes_plugin.dproj @@ -0,0 +1,546 @@ + + + + {139324a2-0c57-446d-aebd-edd9578e22fd} + Fabricantes_plugin.dpk + Debug + AnyCPU + DCC32 + ..\..\..\..\Output\Debug\Cliente\Fabricantes_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.0Fabricantes_plugin.dpk + + + + + MainSource + + + + + + + + + + +
PluginFabricantes
+
+ +
+
+ diff --git a/Source/Modulos/Fabricantes/Plugin/Fabricantes_plugin.identcache b/Source/Modulos/Fabricantes/Plugin/Fabricantes_plugin.identcache new file mode 100644 index 0000000000000000000000000000000000000000..11abdbd3ce55c955204c4c0917726d90ef017293 GIT binary patch literal 183 zcmZQ#U|{fbwu*7iPsvQrR|rW>F3v1T&4~%lFD*(=jq%M-Db2|*j&Vy&D#}bw%qvMP sjtR&qP0!4WDTUCXd6_ARDXGQ2sVP8)UO{3p&_p=!ro?C@OVP~*0AD^l6951J literal 0 HcmV?d00001 diff --git a/Source/Modulos/Fabricantes/Plugin/Fabricantes_plugin.res b/Source/Modulos/Fabricantes/Plugin/Fabricantes_plugin.res new file mode 100644 index 0000000000000000000000000000000000000000..1641339fcc482e7e3492d1b45813a86619622c33 GIT binary patch literal 4748 zcmbW5&ub)A5XUPdpe&2#;C*uNAUVhgd+&(4um@dnom`vXF9g}ZuHJ;se=<3UNdFJg zbCw+UD9j$byGIXV`~6hC>h4S?F|k9X-j90q{Z_qtZ<;nUJCO8!h?p${kR>3GhM`oH*q zk=UsjOCIgA_4!`B+Gb&`I84R)bT4dy-BQV<-SyFz?R8ILEQ(+JB$u{sEXE@j@B*7W zT;iZH#|OJ<&DO$RCkM6VbK3(B(k{nbdv1lpc;E$xz9as|v3uE1V{hw2w~g3eD0an7 z{BT%G%irdMe*|oDJmgvJaA2`9B<6Xi*?M~Q;)@Sbfwf3uf zVaWkbUjU=;sL{BlYemIZXv%qZ{SZw{-TCU+;!nH6KDDIJumU+9{E0zXW4>7T)y|>$DQlv zRJe?TjSp{c!DqeayAnSMTtZZT;>LN7J0Rls+5m@q)MbyB*eL%Eu@(+$Cw}Pd@q7N| z%Q0*AHpCP^b9v`@jx-l_FD>khpW2W8(OU2&V5TrnoAY-m_hlcV?zq3;7{2gF{J#Hc z6R+o~mVenX?>@W0@_DVzyOFs(5464CY{!q9ChoF#_*eXi@4gFuV8?vhl=_w5$iKL0 zEV0nMBcN08xtRmsgJrqjh@s#|{?*ssnsG)mH*wa6{efF0JFWHok@kA5%b661{B38= zCcgJ|*ZFTpV$8<-&+AWpa)Q8*`wL&hMeNQ^v6I7$HSdLZhZ^&+6<@Uw_Zsml9^v3W zVvPDBKHh;i=RU4J_ta3E;)Mn>Y+L zKLZ0UQ+*km9FO-b?U4gmn-62iwzH6&*duKGo~aUV)bYDla8wWZ9+^7p-F<8lP@i!m z@vhbD_${F}h>^T;C(?(b*OJDk?{dEXB?nuehoON3HAb!7Mr7-ls!84-5V-jJugbu<_$}mU=Yd9!?TOX;|B-#B)+0x#9q*yqJiqS!`49d=7ztk$O+9=1i;?K_|J<8T z?0b7=-`Z3A#vV$4XJ5(lQ~TOZHUFdA%oWvK5zg&_IKXIbughQBA8XAsd#=@|TFLXC zy(^m((;DnQmDQKatmw!@c`| G?EMQ&4NnpP literal 0 HcmV?d00001 diff --git a/Source/Modulos/Fabricantes/Plugin/uPluginFabricantes.dfm b/Source/Modulos/Fabricantes/Plugin/uPluginFabricantes.dfm new file mode 100644 index 00000000..0ea4d57b --- /dev/null +++ b/Source/Modulos/Fabricantes/Plugin/uPluginFabricantes.dfm @@ -0,0 +1,136 @@ +object PluginFabricantes: TPluginFabricantes + OldCreateOrder = True + DefaultAction = actFabricantes + Description = 'Fabricantes' + ModuleMenu = MainMenu + ModuleName = 'Fabricantes' + 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 + F8000000097048597300000B3A00000B3A01647F570D000002874944415478DA + B5944D68134114C7DF50C47E585BA2D0B095924095A51E4CA5CA2208D58BE9AD + 154F06CA565452A1A224E736F4165088F45222480881DE6C901EA4274F122FC9 + 0A3DE450684C2FA188C4A6F9EA6EB2CE5BBBC36E13936CA40F1E339999FC7FFB + E63F3344555538CB20670EE864D1FA7AC2471B81E6384DD7C9B044739766C2EB + 15DE760C0804246349F18101A53438A83CE6790EC6C62E82D339C4268B451962 + B1644B5053C0CACA0DF63B184C42A5D20399CC1736B6BC2C6A2004E8B9BD9DC6 + 29FF6908317E7520E022B4EFA1DD18428E8E6428148E211CDE8DD3B9B993B5DA + BCDF3F6102944A0AA4523F1A20C4F8D50B0BEF2012798510D5E79BD0C4313736 + B21ADC58E5E2E2559378B9FCB7CD660F80024853000642D6D65E3071CCADAD1C + 033C7BFE441DE55EC2FCBCA3411C7367A704767B85556102C8721DAAD59A49DC + 66EB856834A301425E507F2AD7A176E91E9CEF7B0A333323267145A9433E9F6F + 345914439B3E9F6796E32E306104A1389AB9B7F75B83B8875D50EBE761F36B11 + F2E7EEC395D1D726F31D8E69AD32FD3FABAB115681872E7C8490C3C3636DF1FE + 7E8196DACF8EA60E79303205A4AA40F0130797C7DDF03EFC81E8772597EB7D83 + 000C141704C16F344E83D0EEAC3EE676BB9B4286732E887EE321994A9B8E396E + 35027471F4A1E54DA65BA7FE0B623C5546006E992EDEF4A2E981860A3C2D5D0A + 811548DB9B6C14770922A43312843E8B5D43483BF14A4E82047D05A44A779590 + 4EC47543AD7A6202B413EFD6786245BC1B08B12A6E1542961EDAD4E93BD7A047 + FE0EF6BE7247E2ED2078D1F055665B74739257EFF2BFC03974D0B1782B087D91 + E31430673279EAF62DB52E172C89378344221F9978C331FD9F40086D4CE2187F + 00FADE10E28785B5A40000000049454E44AE426082} + Name = 'PngImage0' + Background = clWindow + end> + Left = 232 + Top = 16 + Bitmap = {} + end + object ModuleActionList: TActionList + Images = SmallImages + Left = 40 + Top = 72 + object actFabricantes: TAction + Category = 'Datos' + Caption = 'Fabricantes' + ImageIndex = 0 + OnExecute = actFabricantesExecute + end + end + object MainMenu: TMainMenu + Images = LargeImages + Left = 40 + Top = 16 + object Ventas1: TMenuItem + Caption = 'Datos' + object Fabricantes1: TMenuItem + Tag = 313 + Action = actFabricantes + end + end + end + object SmallImages: TPngImageList + PngImages = < + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 61000000097048597300000B1300000B1301009A9C18000001604944415478DA + A5923F48C34014C6DF81B838A88B145DD22D20D8E8505737330A5D9CE4BA650C + 34739BEE0AE7E658B277A8939364B5A0C6A19231500417A14D177539EF1D5EB8 + E64F1D3C7821B9F7BE1FDFFB08E19CC37F0E512FBE1FE9244FD465C9BCE7FBD6 + 5529000FA58C33E60063B1005A04BFF1BEDBA550AF6F42BFFF5280C8A1C1C025 + CA45ABB507C3E19B04FCDE75D04DAFD780F9FC4BC275880418C649E6220F5060 + D735613A5DC81A8FD3AC4F946D6C4C261FD06CD62008926C40B4F8AC164930CE + A4E937DC3F8E6077E354BA4040470FCCB66D5186B4BAF56E814329C44904EC8E + CAFE6C6D013BDBEB08280D51C274C89949210C23081E4C787A8E899E49BB7DBD + 0CA882DC8ECEA558CF244942C0F00B00DC196D3B37D6D23A7AA895FF8112E3CE + 683BFA647F42489518773E68385E7E9D3C845489D5CE6599E810B24A5C166CFE + 3F918FA343935F1CC7A5E23C44D4AB487FBF900142AAC4ABCE0F9C32EE2C4B99 + 4F200000000049454E44AE426082} + 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 + 94000000097048597300004E2000004E2001167D99DE000002C04944415478DA + E5D54D6813411400E0B788D816B1A5150CA99404AA2CF5E02AFE2C82503DA5B7 + 14BD054A2A6A130F5549CE6DDA9BD0424A2F69041B42A517B1417A909E3C497A + 3129F49043A131BD8422129BE6A7CDCF3A6F935932C96E9AB0928B0F1E43B233 + FBCD4CDE4C384992A093C1FD1F20C7712D0FF0F9C22ED2882487490AD5AFA324 + F748861D0E71516BAC6CB50356B1059E37C2D0D025309B7B99E72B2BDB4D6155 + D0E389D6EE7188E4278F47F85805A564B20BE2F16F4A879919BB0C67320525B7 + B662F8C85D8F6A82B3B33795CF73733B0C5A1BA4AF8D346B6EF7080366B34588 + 447E36A00A485E2A555E2070F425881E1F17209D3E05BF7F2F449E8DAB6D334E + D0E9BCC660B95CA54D240E81809C2A88C0E4E41204026F10955CAE1119C35C5F + 4FC893A9C75EBC7C260D1AA76162C2D48061EEEE66C160C82BAB6C0031105D5E + 7EA560989B9BC906D0EB00E957F10694061EC185EEE730367685C18AC532A452 + 2966825353F739062C14CA70725262B0FEFE2E0806E30C8898C803947A78D8F8 + 9E81D4F9C77075F02D534C26D3A8BC722CA8FDFD3F303F1F80D5D5D71590AC6A + C3E5B2598DC68B0A8430627400452926887652186BC09D14E1DD17235C1EB6C0 + 7BFF078E1E1F52CD0B086220268AA29BAC7091AED04666F714D1A3A353B9D3C1 + 419AEC7F8F72DE286AE913642C168F423E1985303901C16D1E7E4462CC96631D + 204831FC1D996381D58928E96BA5832C168B2A6AE5ED4D310AE216534CF31CD6 + 86DDEE95B4D0BEA4A08969454B575B3354EDA8E8026981F8A25EF8176853B0B6 + 1AB140BC5FEDBA514DB01EA30512CDEB5BA92AA885D102D1F39B368067617A0B + 89015BC5F4A00AB8E4E4DAC2CE42F176C17F1D4D70FAC98034FAE03A9C2BEC80 + A13BD712D60C2577738880E39A206EE9ED5BBCF490FF0DE6DEC3B66F905A3410 + F8AC8AA916CD9D7B77A57221DD16568B92461363C04E46C7C1BF0E73BFE74CCD + 6AD20000000049454E44AE426082} + Name = 'PngImage0' + Background = clWindow + end> + Left = 232 + Top = 80 + Bitmap = {} + end +end diff --git a/Source/Modulos/Fabricantes/Plugin/uPluginFabricantes.pas b/Source/Modulos/Fabricantes/Plugin/uPluginFabricantes.pas new file mode 100644 index 00000000..4b6b4b85 --- /dev/null +++ b/Source/Modulos/Fabricantes/Plugin/uPluginFabricantes.pas @@ -0,0 +1,73 @@ +unit uPluginFabricantes; + +interface + +uses + uModuleController, uInterfaces, uHostManager, Menus, Classes, ActnList, + ImgList, Controls, PngImageList; + +type + IMCFabricantes = interface(IInterface) + ['{F7C8960F-5ECE-492B-8D6C-D068DAA66E6C}'] + end; + + TPluginFabricantes = class(TModuleController, IMCFabricantes) + actFabricantes: TAction; + ExtraImages: TPngImageList; + LargeImages: TPngImageList; + MainMenu: TMainMenu; + ModuleActionList: TActionList; + SmallImages: TPngImageList; + Ventas1: TMenuItem; + Fabricantes1: TMenuItem; + procedure actFabricantesExecute(Sender: TObject); + public + constructor Create(AOwner: TComponent); override; + destructor Destroy; override; + end; + +implementation + +{$R *.dfm} + +uses + Forms, Dialogs, SysUtils, + uFabricantesController, uBizFabricantes, uFabricantesViewRegister; + +function GetModule : TModuleController; +begin + Result := TPluginFabricantes.Create(NIL); +end; + +exports + GetModule name GET_MODULE_FUNC; + +procedure TPluginFabricantes.actFabricantesExecute(Sender: TObject); +var + AFabricantesController : IFabricantesController; + AFabricantes : IBizFabricante; +begin + AFabricantesController := TFabricantesController.Create; + AFabricantes := (AFabricantesController.BuscarTodos as IBizFabricante); + AFabricantesController.VerTodos(AFabricantes); +end; + +constructor TPluginFabricantes.Create(AOwner: TComponent); +begin + inherited; + uFabricantesViewRegister.RegisterViews; +end; + +destructor TPluginFabricantes.Destroy; +begin + uFabricantesViewRegister.UnregisterViews; + inherited; +end; + +initialization + RegisterModuleClass(TPluginFabricantes); + +finalization + UnRegisterModuleClass(TPluginFabricantes); + +end. diff --git a/Source/Modulos/Fabricantes/Servidor/srvFabricantes_Impl.dfm b/Source/Modulos/Fabricantes/Servidor/srvFabricantes_Impl.dfm new file mode 100644 index 00000000..b8dcedaf --- /dev/null +++ b/Source/Modulos/Fabricantes/Servidor/srvFabricantes_Impl.dfm @@ -0,0 +1,90 @@ +object srvFabricantes: TsrvFabricantes + OldCreateOrder = True + OnCreate = DARemoteServiceCreate + RequiresSession = True + SessionManager = dmServer.SessionManager + ServiceSchema = schFabricantes + 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 = 'Fabricantes_ID' + DataType = datAutoInc + GeneratorName = 'GEN_FABRICANTES_ID' + Required = True + DisplayLabel = 'ID' + ServerAutoRefresh = True + end + item + Name = 'Fabricantes_DESCRIPCION' + DataType = datString + Size = 255 + DisplayLabel = 'Descripci'#243'n' + end> + Left = 150 + Top = 24 + end + object schFabricantes: TDASchema + ConnectionManager = dmServer.ConnectionManager + DataDictionary = DataDictionary + Diagrams = Diagrams + Datasets = < + item + Params = <> + Statements = < + item + Connection = 'IBX' + ConnectionType = 'Interbase' + Default = True + TargetTable = 'FABRICANTES' + StatementType = stAutoSQL + ColumnMappings = < + item + DatasetField = 'ID' + TableField = 'ID' + end + item + DatasetField = 'DESCRIPCION' + TableField = 'DESCRIPCION' + end> + end> + Name = 'Fabricantes' + Fields = < + item + Name = 'ID' + DataType = datAutoInc + GeneratorName = 'GEN_FABRICANTES_ID' + ServerAutoRefresh = True + DictionaryEntry = 'Fabricantes_ID' + InPrimaryKey = True + end + item + Name = 'DESCRIPCION' + DataType = datString + Size = 255 + DictionaryEntry = 'Fabricantes_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/Fabricantes/Servidor/srvFabricantes_Impl.pas b/Source/Modulos/Fabricantes/Servidor/srvFabricantes_Impl.pas new file mode 100644 index 00000000..95920d50 --- /dev/null +++ b/Source/Modulos/Fabricantes/Servidor/srvFabricantes_Impl.pas @@ -0,0 +1,61 @@ +unit srvFabricantes_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 + { TsrvFabricantes } + TsrvFabricantes = class(TDataAbstractService, IsrvFabricantes) + Diagrams: TDADiagrams; + Bin2DataStreamer: TDABin2DataStreamer; + schFabricantes: TDASchema; + DataDictionary: TDADataDictionary; + procedure DARemoteServiceCreate(Sender: TObject); + procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject; + var aConnectionName: string); + end; + +implementation + +{$R *.dfm} +uses + {Generated:} FactuGES_Invk, uDataModuleServer, uDatabaseUtils; + +procedure Create_srvFabricantes(out anInstance : IUnknown); +begin + anInstance := TsrvFabricantes.Create(NIL); +end; + +{ srvFabricantes } +procedure TsrvFabricantes.DARemoteServiceCreate(Sender: TObject); +begin + SessionManager := dmServer.SessionManager; +end; + +procedure TsrvFabricantes.DataAbstractServiceBeforeAcquireConnection( + aSender: TObject; var aConnectionName: string); +begin + ConnectionName := dmServer.ConnectionName; +end; + +initialization + TROClassFactory.Create('srvFabricantes', Create_srvFabricantes, TsrvFabricantes_Invoker); + +finalization + +end. diff --git a/Source/Modulos/Fabricantes/Views/Fabricantes_view.dpk b/Source/Modulos/Fabricantes/Views/Fabricantes_view.dpk new file mode 100644 index 00000000..2e2786de --- /dev/null +++ b/Source/Modulos/Fabricantes/Views/Fabricantes_view.dpk @@ -0,0 +1,40 @@ +package Fabricantes_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, + Fabricantes_model, + Fabricantes_controller; + +contains + uEditorFabricantes in 'uEditorFabricantes.pas' {fEditorFabricantes: TfEditorUnidadesMedida}, + uFabricantesViewRegister in 'uFabricantesViewRegister.pas'; + +end. diff --git a/Source/Modulos/Fabricantes/Views/Fabricantes_view.dproj b/Source/Modulos/Fabricantes/Views/Fabricantes_view.dproj new file mode 100644 index 00000000..e94547a5 --- /dev/null +++ b/Source/Modulos/Fabricantes/Views/Fabricantes_view.dproj @@ -0,0 +1,545 @@ + + + {e3d36a6f-7004-4c89-9f3d-f2d77e386d1b} + Fabricantes_view.dpk + Debug + AnyCPU + DCC32 + ..\..\..\..\Output\Debug\Cliente\Fabricantes_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.0Fabricantes_view.dpk + + + + + MainSource + + + + + + + + + +
fEditorFabricantes
+ TfEditorUnidadesMedida +
+ +
+
+ diff --git a/Source/Modulos/Fabricantes/Views/Fabricantes_view.identcache b/Source/Modulos/Fabricantes/Views/Fabricantes_view.identcache new file mode 100644 index 0000000000000000000000000000000000000000..aa4822dc292ccfa446537e3ea8b12f8de248ca23 GIT binary patch literal 184 zcmZQ#U|{fawu*7iPsvQrR|rW>F3v1T&4~%lFD*(=jq%M-Db2|*j&Vy&D#}bw%qvMP ujtR?5EiaBKbxp}E$uB~Z&?`tR2AT#30c07AWFW|*pw#rt;*!)Nbi)Cc2t2F+ literal 0 HcmV?d00001 diff --git a/Source/Modulos/Fabricantes/Views/Fabricantes_view.res b/Source/Modulos/Fabricantes/Views/Fabricantes_view.res new file mode 100644 index 0000000000000000000000000000000000000000..1641339fcc482e7e3492d1b45813a86619622c33 GIT binary patch literal 4748 zcmbW5&ub)A5XUPdpe&2#;C*uNAUVhgd+&(4um@dnom`vXF9g}ZuHJ;se=<3UNdFJg zbCw+UD9j$byGIXV`~6hC>h4S?F|k9X-j90q{Z_qtZ<;nUJCO8!h?p${kR>3GhM`oH*q zk=UsjOCIgA_4!`B+Gb&`I84R)bT4dy-BQV<-SyFz?R8ILEQ(+JB$u{sEXE@j@B*7W zT;iZH#|OJ<&DO$RCkM6VbK3(B(k{nbdv1lpc;E$xz9as|v3uE1V{hw2w~g3eD0an7 z{BT%G%irdMe*|oDJmgvJaA2`9B<6Xi*?M~Q;)@Sbfwf3uf zVaWkbUjU=;sL{BlYemIZXv%qZ{SZw{-TCU+;!nH6KDDIJumU+9{E0zXW4>7T)y|>$DQlv zRJe?TjSp{c!DqeayAnSMTtZZT;>LN7J0Rls+5m@q)MbyB*eL%Eu@(+$Cw}Pd@q7N| z%Q0*AHpCP^b9v`@jx-l_FD>khpW2W8(OU2&V5TrnoAY-m_hlcV?zq3;7{2gF{J#Hc z6R+o~mVenX?>@W0@_DVzyOFs(5464CY{!q9ChoF#_*eXi@4gFuV8?vhl=_w5$iKL0 zEV0nMBcN08xtRmsgJrqjh@s#|{?*ssnsG)mH*wa6{efF0JFWHok@kA5%b661{B38= zCcgJ|*ZFTpV$8<-&+AWpa)Q8*`wL&hMeNQ^v6I7$HSdLZhZ^&+6<@Uw_Zsml9^v3W zVvPDBKHh;i=RU4J_ta3E;)Mn>Y+L zKLZ0UQ+*km9FO-b?U4gmn-62iwzH6&*duKGo~aUV)bYDla8wWZ9+^7p-F<8lP@i!m z@vhbD_${F}h>^T;C(?(b*OJDk?{dEXB?nuehoON3HAb!7Mr7-ls!84-5V-jJugbu<_$}mU=Yd9!?TOX;|B-#B)+0x#9q*yqJiqS!`49d=7ztk$O+9=1i;?K_|J<8T z?0b7=-`Z3A#vV$4XJ5(lQ~TOZHUFdA%oWvK5zg&_IKXIbughQBA8XAsd#=@|TFLXC zy(^m((;DnQmDQKatmw!@c`| G?EMQ&4NnpP literal 0 HcmV?d00001 diff --git a/Source/Modulos/Fabricantes/Views/uEditorFabricantes.dfm b/Source/Modulos/Fabricantes/Views/uEditorFabricantes.dfm new file mode 100644 index 00000000..c82fd5a4 --- /dev/null +++ b/Source/Modulos/Fabricantes/Views/uEditorFabricantes.dfm @@ -0,0 +1,144 @@ +object fEditorFabricantes: TfEditorFabricantes + Left = 453 + Top = 234 + ActiveControl = ListaFabricantes + BorderIcons = [biSystemMenu] + BorderStyle = bsSingle + Caption = 'Administraci'#243'n de fabricantes' + 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 = 'Fabricantes' + object Label1: TLabel + Left = 10 + Top = 12 + Width = 147 + Height = 13 + Caption = 'Lista de fabricantes disponibles' + end + object Label2: TLabel + Left = 10 + Top = 326 + Width = 128 + Height = 13 + Caption = 'A'#241'adir un nuevo fabricante' + end + object Bevel1: TBevel + Left = 144 + Top = 330 + Width = 232 + Height = 5 + Shape = bsBottomLine + end + object eCategoria: TLabel + Left = 18 + Top = 353 + Width = 40 + Height = 13 + Caption = 'Nombre:' + end + object ListaFabricantes: 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 editFabricante: 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/Fabricantes/Views/uEditorFabricantes.pas b/Source/Modulos/Fabricantes/Views/uEditorFabricantes.pas new file mode 100644 index 00000000..d0a12219 --- /dev/null +++ b/Source/Modulos/Fabricantes/Views/uEditorFabricantes.pas @@ -0,0 +1,181 @@ +{ +=============================================================================== + 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 uEditorFabricantes; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, DB, StdCtrls, DBCtrls, uDADataTable, ActnList, + uIEditorFabricantes, uCustomEditor, uGUIBase, ExtCtrls, + ComCtrls, uBizFabricantes, uFabricantesController, uDAInterfaces; + +type + TfEditorFabricantes = class(TCustomEditor, IEditorFabricantes) + ActionList1: TActionList; + DADataSource: TDADataSource; + ListaFabricantes: 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; + editFabricante: 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 + FFabricantes: IBizFabricante; + FController: IFabricantesController; + function GetFabricantes: IBizFabricante; + procedure SetFabricantes(const Value: IBizFabricante); + function GetController : IFabricantesController; + procedure SetController (const Value : IFabricantesController); + public + property Fabricantes: IBizFabricante read GetFabricantes write SetFabricantes; + property Controller : IFabricantesController read GetController write SetController; + end; + + +implementation +{$R *.dfm} + +{ TfEditorFabricantes } + +uses + uDialogUtils; + +function TfEditorFabricantes.GetController: IFabricantesController; +begin + Result := FController; +end; + +function TfEditorFabricantes.GetFabricantes: IBizFabricante; +begin + Result := FFabricantes; +end; + +procedure TfEditorFabricantes.SetController(const Value: IFabricantesController); +begin + FController := Value; +end; + +procedure TfEditorFabricantes.SetFabricantes(const Value: IBizFabricante); +begin + FFabricantes := Value; + DADataSource.DataTable := (FFabricantes as IBizFabricante).DataTable; + DADataSource.DataTable.Open; +end; + +procedure TfEditorFabricantes.actAnadirExecute(Sender: TObject); +begin + if not FController.Localizar(Fabricantes, editFabricante.Text) then + begin + Fabricantes.Append; + Fabricantes.DESCRIPCION := editFabricante.Text; + Fabricantes.Post; + editFabricante.Clear; + ListaFabricantes.SetFocus; + end + else + ShowErrorMessage('Ya existe la unidad ' + editFabricante.Text, + 'Ya existe la unidad ''' + editFabricante.Text + ''' en la lista.'); +end; + +procedure TfEditorFabricantes.actEliminarExecute(Sender: TObject); +begin + Fabricantes.Delete; + ListaFabricantes.SetFocus; +end; + +procedure TfEditorFabricantes.actEliminarUpdate(Sender: TObject); +begin + (Sender as TAction).Enabled := (FFabricantes.DataTable.RecordCount > 0) and + (Length(ListaFabricantes.SelectedItem) > 0); + +end; + +procedure TfEditorFabricantes.CustomEditorClose(Sender: TObject; var Action: TCloseAction); +begin + FFabricantes := Nil; + FController := Nil; +end; + +procedure TfEditorFabricantes.actAceptarExecute(Sender: TObject); +begin + try + Fabricantes.DataTable.ApplyUpdates; + except + on E : Exception do begin + Fabricantes.DataTable.CancelUpdates; + ShowErrorMessage('Error al guardar cambios', 'Se ha producido un error grave', E); + exit; + end; + end; + actCerrar.Execute; +end; + +procedure TfEditorFabricantes.actCancelarExecute(Sender: TObject); +begin + Fabricantes.DataTable.CancelUpdates; + actCerrar.Execute; +end; + +procedure TfEditorFabricantes.actCerrarExecute(Sender: TObject); +begin + Close; +end; + +procedure TfEditorFabricantes.actAnadirUpdate(Sender: TObject); +begin + (Sender as TAction).Enabled := (Length(editFabricante.Text) > 0) +end; + +procedure TfEditorFabricantes.FormShow(Sender: TObject); +begin + if not FFabricantes.DataTable.Active then + FFabricantes.DataTable.Active := true; + + FFabricantes.DataTable.Sort(['DESCRIPCION'], [sdAscending]); + EditFabricante.SetFocus; +end; + +end. diff --git a/Source/Modulos/Fabricantes/Views/uFabricantesViewRegister.pas b/Source/Modulos/Fabricantes/Views/uFabricantesViewRegister.pas new file mode 100644 index 00000000..d1c389c0 --- /dev/null +++ b/Source/Modulos/Fabricantes/Views/uFabricantesViewRegister.pas @@ -0,0 +1,23 @@ +unit uFabricantesViewRegister; + +interface + +procedure RegisterViews; +procedure UnregisterViews; + +implementation + +uses + uEditorRegistryUtils, uEditorFabricantes; + +procedure RegisterViews; +begin + EditorRegistry.RegisterClass(TfEditorFabricantes, 'EditorFabricantes'); +end; + +procedure UnregisterViews; +begin + EditorRegistry.UnRegisterClass(TfEditorFabricantes); +end; + +end. diff --git a/Source/Servicios/FactuGES.RODL b/Source/Servicios/FactuGES.RODL index dc49ae00..8acb7b25 100644 --- a/Source/Servicios/FactuGES.RODL +++ b/Source/Servicios/FactuGES.RODL @@ -400,6 +400,15 @@ + + + + + + + + + diff --git a/Source/Servicios/FactuGES_Intf.pas b/Source/Servicios/FactuGES_Intf.pas index 5adef2ee..2565c334 100644 --- a/Source/Servicios/FactuGES_Intf.pas +++ b/Source/Servicios/FactuGES_Intf.pas @@ -47,6 +47,7 @@ const IsrvAlbaranesProveedor_IID : TGUID = '{66B71884-5CE4-4574-B825-60CDA956B628}'; IsrvReferencias_IID : TGUID = '{B957528D-3BE1-412D-A35E-801C97CCD252}'; IsrvUnidadesMedida_IID : TGUID = '{8B4C72F0-5ACE-46FF-9F00-D70C2B611652}'; + IsrvFabricantes_IID : TGUID = '{E26547E0-9E61-4BC8-B154-49ACC9339875}'; { Event ID's } @@ -76,6 +77,7 @@ type IsrvAlbaranesProveedor = interface; IsrvReferencias = interface; IsrvUnidadesMedida = interface; + IsrvFabricantes = interface; TRdxEmpresasArray = class; @@ -612,6 +614,23 @@ type end; + { IsrvFabricantes } + IsrvFabricantes = interface(IDataAbstractService) + ['{E26547E0-9E61-4BC8-B154-49ACC9339875}'] + end; + + { CosrvFabricantes } + CosrvFabricantes = class + class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvFabricantes; + end; + + { TsrvFabricantes_Proxy } + TsrvFabricantes_Proxy = class(TDataAbstractService_Proxy, IsrvFabricantes) + protected + function __GetInterfaceName:string; override; + + end; + implementation uses @@ -1604,6 +1623,18 @@ begin result := 'srvUnidadesMedida'; end; +{ CosrvFabricantes } + +class function CosrvFabricantes.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvFabricantes; +begin + result := TsrvFabricantes_Proxy.Create(aMessage, aTransportChannel); +end; + +function TsrvFabricantes_Proxy.__GetInterfaceName:string; +begin + result := 'srvFabricantes'; +end; + initialization RegisterROClass(TRdxLoginInfo); RegisterROClass(TRdxEmpresasArray); @@ -1631,6 +1662,7 @@ initialization RegisterProxyClass(IsrvAlbaranesProveedor_IID, TsrvAlbaranesProveedor_Proxy); RegisterProxyClass(IsrvReferencias_IID, TsrvReferencias_Proxy); RegisterProxyClass(IsrvUnidadesMedida_IID, TsrvUnidadesMedida_Proxy); + RegisterProxyClass(IsrvFabricantes_IID, TsrvFabricantes_Proxy); finalization @@ -1660,5 +1692,6 @@ finalization UnregisterProxyClass(IsrvAlbaranesProveedor_IID); UnregisterProxyClass(IsrvReferencias_IID); UnregisterProxyClass(IsrvUnidadesMedida_IID); + UnregisterProxyClass(IsrvFabricantes_IID); end. diff --git a/Source/Servicios/FactuGES_Invk.pas b/Source/Servicios/FactuGES_Invk.pas index 56b4951c..94e531c2 100644 --- a/Source/Servicios/FactuGES_Invk.pas +++ b/Source/Servicios/FactuGES_Invk.pas @@ -188,6 +188,12 @@ type published end; + TsrvFabricantes_Invoker = class(TDataAbstractService_Invoker) + private + protected + published + end; + implementation uses diff --git a/Source/Servicios/RODLFILE.res b/Source/Servicios/RODLFILE.res index 8c757af03e081b7e5a5e210a15dcb4ea07daf238..80034d7ece1aae62f64fb2e227d6b90f86507767 100644 GIT binary patch delta 125 zcmcbyk8#dH#t8~cJ_#F@>H;P=s0o_8B_x|*1on;7Xj znK_y3ni!iK>sq*&JL)=G7#JFwIh&Z8x>-(MsL-S0YGh_=V(x07Yw2ocsB7ZnY@zF9 dXlkNsV(IAYY-wz4X<=?USy9zz^MZgKd;mCdBOw3) delta 20 ccmbPpknzSo#t8~c9Pt~K>H;=D3EaU409dgIUH||9 diff --git a/Source/Servidor/FactuGES_Server.dpr b/Source/Servidor/FactuGES_Server.dpr index e2777eb3..c975e864 100644 --- a/Source/Servidor/FactuGES_Server.dpr +++ b/Source/Servidor/FactuGES_Server.dpr @@ -103,8 +103,6 @@ uses uRptWordPresupuestoCliente in '..\Modulos\Presupuestos de cliente\Reports\uRptWordPresupuestoCliente.pas' {RptWordPresupuestosCliente: TDataModule}, AHWord97 in 'Utiles\AHWord97.pas', uSistemaFunc in '..\Base\Utiles\uSistemaFunc.pas', - schArticulosClient_Intf in '..\Modulos\Articulos\Model\schArticulosClient_Intf.pas', - schArticulosServer_Intf in '..\Modulos\Articulos\Model\schArticulosServer_Intf.pas', uRptWordAlbaranCliente in '..\Modulos\Albaranes de cliente\Reports\uRptWordAlbaranCliente.pas' {RptWordAlbaranCliente: TDataModule}, schContactosClient_Intf in '..\Modulos\Contactos\Model\schContactosClient_Intf.pas', schContactosServer_Intf in '..\Modulos\Contactos\Model\schContactosServer_Intf.pas', @@ -114,7 +112,12 @@ uses uRptFichasEmpleado_Server in '..\Modulos\Contactos\Reports\uRptFichasEmpleado_Server.pas' {RptFichasEmpleado: TDataModule}, uRptEtiquetasContacto_Server in '..\Modulos\Contactos\Reports\uRptEtiquetasContacto_Server.pas' {RptEtiquetasContacto: TDataModule}, uRptWordFacturaCliente in '..\Modulos\Facturas de cliente\Reports\uRptWordFacturaCliente.pas' {RptWordFacturaCliente: TDataModule}, - uCiaServiceTools in 'Utiles\uCiaServiceTools.pas'; + uCiaServiceTools in 'Utiles\uCiaServiceTools.pas', + srvFabricantes_Impl in '..\Modulos\Fabricantes\Servidor\srvFabricantes_Impl.pas' {srvFabricantes: TDataAbstractService}, + schFabricantesClient_Intf in '..\Modulos\Fabricantes\Model\schFabricantesClient_Intf.pas', + schFabricantesServer_Intf in '..\Modulos\Fabricantes\Model\schFabricantesServer_Intf.pas', + schArticulosClient_Intf in '..\Modulos\Articulos\Model\schArticulosClient_Intf.pas', + schArticulosServer_Intf in '..\Modulos\Articulos\Model\schArticulosServer_Intf.pas'; {$R *.res} {$R ..\Servicios\RODLFile.res} diff --git a/Source/Servidor/FactuGES_Server.dproj b/Source/Servidor/FactuGES_Server.dproj index 34ecde3c..74938115 100644 --- a/Source/Servidor/FactuGES_Server.dproj +++ b/Source/Servidor/FactuGES_Server.dproj @@ -42,9 +42,6 @@ - - - ExpressPrinting System by Developer Express Inc. Microsoft Office 2000 Sample Automation Server Wrapper Components Microsoft Office XP Sample Automation Server Wrapper Components @@ -116,6 +113,12 @@
srvContactos
TDARemoteService
+ + + +
srvFabricantes
+ TDataAbstractService +