From b19508de31be2198ba3940e3d686d06c508fc470 Mon Sep 17 00:00:00 2001 From: roberto Date: Fri, 10 Feb 2023 17:39:45 +0000 Subject: [PATCH] Version 4.3.2 - Comerciales, instaladores y pasar facturas de cliente de abeto a facturas de proveedor a graden git-svn-id: https://192.168.0.254/svn/Proyectos.AbetoDesign_FactuGES/trunk@174 93f398dd-4eb6-7a46-baf6-13f46f578da2 --- .../Controller/View/uIEditorComercial.pas | 16 + .../Controller/View/uIEditorComerciales.pas | 16 + .../View/uIEditorElegirComerciales.pas | 16 + .../View/uIEditorElegirInstaladores.pas | 16 + .../Controller/View/uIEditorInstalador.pas | 16 + .../Controller/View/uIEditorInstaladores.pas | 16 + .../Controller/uComercialesController.pas | 291 ++++++++++++++++++ .../Controller/uInstaladoresController.pas | 291 ++++++++++++++++++ .../Contactos/Data/uDataModuleComerciales.dfm | 215 +++++++++++++ .../Contactos/Data/uDataModuleComerciales.pas | 83 +++++ .../Data/uDataModuleInstaladores.dfm | 204 ++++++++++++ .../Data/uDataModuleInstaladores.pas | 83 +++++ .../Model/Data/uIDataModuleComerciales.pas | 19 ++ .../Model/Data/uIDataModuleInstaladores.pas | 19 ++ .../Contactos/Model/uBizComercialesServer.pas | 104 +++++++ .../Model/uBizInstaladoresServer.pas | 107 +++++++ 16 files changed, 1512 insertions(+) create mode 100644 Source/Modulos/Contactos/Controller/View/uIEditorComercial.pas create mode 100644 Source/Modulos/Contactos/Controller/View/uIEditorComerciales.pas create mode 100644 Source/Modulos/Contactos/Controller/View/uIEditorElegirComerciales.pas create mode 100644 Source/Modulos/Contactos/Controller/View/uIEditorElegirInstaladores.pas create mode 100644 Source/Modulos/Contactos/Controller/View/uIEditorInstalador.pas create mode 100644 Source/Modulos/Contactos/Controller/View/uIEditorInstaladores.pas create mode 100644 Source/Modulos/Contactos/Controller/uComercialesController.pas create mode 100644 Source/Modulos/Contactos/Controller/uInstaladoresController.pas create mode 100644 Source/Modulos/Contactos/Data/uDataModuleComerciales.dfm create mode 100644 Source/Modulos/Contactos/Data/uDataModuleComerciales.pas create mode 100644 Source/Modulos/Contactos/Data/uDataModuleInstaladores.dfm create mode 100644 Source/Modulos/Contactos/Data/uDataModuleInstaladores.pas create mode 100644 Source/Modulos/Contactos/Model/Data/uIDataModuleComerciales.pas create mode 100644 Source/Modulos/Contactos/Model/Data/uIDataModuleInstaladores.pas create mode 100644 Source/Modulos/Contactos/Model/uBizComercialesServer.pas create mode 100644 Source/Modulos/Contactos/Model/uBizInstaladoresServer.pas diff --git a/Source/Modulos/Contactos/Controller/View/uIEditorComercial.pas b/Source/Modulos/Contactos/Controller/View/uIEditorComercial.pas new file mode 100644 index 0000000..b72961e --- /dev/null +++ b/Source/Modulos/Contactos/Controller/View/uIEditorComercial.pas @@ -0,0 +1,16 @@ +unit uIEditorComercial; + +interface + +uses + uIEditorContacto; + +type + IEditorComercial = interface(IEditorContacto) + ['{E8CCE5D6-400E-4720-BFFF-5BDBB522869F}'] + end; + + +implementation + +end. diff --git a/Source/Modulos/Contactos/Controller/View/uIEditorComerciales.pas b/Source/Modulos/Contactos/Controller/View/uIEditorComerciales.pas new file mode 100644 index 0000000..f769184 --- /dev/null +++ b/Source/Modulos/Contactos/Controller/View/uIEditorComerciales.pas @@ -0,0 +1,16 @@ +unit uIEditorComerciales; + +interface + +uses + uIEditorContactos, uBizContactos, uGUIBase; + +type + IEditorComerciales = interface(IEditorContactos) + ['{9DAB8672-D862-4D38-9D1D-371A631561A9}'] + end; + + +implementation + +end. diff --git a/Source/Modulos/Contactos/Controller/View/uIEditorElegirComerciales.pas b/Source/Modulos/Contactos/Controller/View/uIEditorElegirComerciales.pas new file mode 100644 index 0000000..fca00bb --- /dev/null +++ b/Source/Modulos/Contactos/Controller/View/uIEditorElegirComerciales.pas @@ -0,0 +1,16 @@ +unit uIEditorElegirComerciales; + +interface + +uses + uIEditorContactos, uIEditorElegirContactos, uBizContactos, uGUIBase; + +type + IEditorElegirComerciales = interface(IEditorElegirContactos) + ['{75167832-8965-481F-81AF-33A862A27696}'] + end; + + +implementation + +end. diff --git a/Source/Modulos/Contactos/Controller/View/uIEditorElegirInstaladores.pas b/Source/Modulos/Contactos/Controller/View/uIEditorElegirInstaladores.pas new file mode 100644 index 0000000..44cc913 --- /dev/null +++ b/Source/Modulos/Contactos/Controller/View/uIEditorElegirInstaladores.pas @@ -0,0 +1,16 @@ +unit uIEditorElegirInstaladores; + +interface + +uses + uIEditorContactos, uIEditorElegirContactos, uBizContactos, uGUIBase; + +type + IEditorElegirInstaladores = interface(IEditorElegirContactos) + ['{5B347F2F-4AD8-408A-8FA9-FCDBFF267DD2}'] + end; + + +implementation + +end. diff --git a/Source/Modulos/Contactos/Controller/View/uIEditorInstalador.pas b/Source/Modulos/Contactos/Controller/View/uIEditorInstalador.pas new file mode 100644 index 0000000..076ce7c --- /dev/null +++ b/Source/Modulos/Contactos/Controller/View/uIEditorInstalador.pas @@ -0,0 +1,16 @@ +unit uIEditorInstalador; + +interface + +uses + uIEditorContacto; + +type + IEditorInstalador = interface(IEditorContacto) + ['{999C00D3-AFD1-4BF0-A649-19328A5F2042}'] + end; + + +implementation + +end. diff --git a/Source/Modulos/Contactos/Controller/View/uIEditorInstaladores.pas b/Source/Modulos/Contactos/Controller/View/uIEditorInstaladores.pas new file mode 100644 index 0000000..2aabe3b --- /dev/null +++ b/Source/Modulos/Contactos/Controller/View/uIEditorInstaladores.pas @@ -0,0 +1,16 @@ +unit uIEditorInstaladores; + +interface + +uses + uIEditorContactos, uBizContactos, uGUIBase; + +type + IEditorInstaladores = interface(IEditorContactos) + ['{1B585DD8-DD18-4648-A69D-C1C9D4627DE1}'] + end; + + +implementation + +end. diff --git a/Source/Modulos/Contactos/Controller/uComercialesController.pas b/Source/Modulos/Contactos/Controller/uComercialesController.pas new file mode 100644 index 0000000..7061bdb --- /dev/null +++ b/Source/Modulos/Contactos/Controller/uComercialesController.pas @@ -0,0 +1,291 @@ +unit uComercialesController; + +interface + +uses + Classes, uCustomEditor, + uContactosController, uBizContactos, + uIEditorComerciales, uIEditorComercial, uIDataModuleContactos, uIDataModuleComerciales; + +const + CTE_COMERCIAL = 'Comercial'; + +type + IComercialesController = interface(IContactosController) + ['{855E9797-7DE1-4138-84CE-7AD0E8AAA330}'] + function EsEliminable(AComercial: IBizContacto): Boolean; + function Eliminar(AComercial: IBizContacto; AllItems: Boolean = false): Boolean; overload; + function DarListaComerciales : TStringList; + function BuscarTodos: IBizContacto; overload; + function BuscarTodos(const CadenaIDs: String): IBizContacto; overload; +// function DarIDComercialDeUsuario(const AUsuario: Integer): Integer; + end; + + TComercialesController = class(TContactosController, IComercialesController) + public + constructor Create; override; + function Duplicar(AContacto: IBizContacto): IBizContacto; override; + function Buscar(const ID: Integer): IBizContacto; override; + function BuscarTodos: IBizContacto; overload; override; + function BuscarTodos(const CadenaIDs: String): IBizContacto; overload; + function Nuevo : IBizContacto; override; + procedure Ver(AContacto : IBizContacto); override; + procedure VerTodos(AContactos: IBizContacto); override; + function ElegirContacto(AContactos : IBizContacto; + AMensaje: String; AMultiSelect: Boolean): IBizContacto; override; + + function DarListaComerciales : TStringList; + + function Eliminar(AComercial: IBizContacto; AllItems: Boolean = false): Boolean; overload; + function EsEliminable(AComercial: IBizContacto): Boolean; +// function DarIDComercialDeUsuario(const AUsuario: Integer): Integer; + end; + +implementation + +uses + Windows, SysUtils, Controls, cxControls, Dialogs, uDataModuleComerciales, uEditorRegistryUtils, + uDataTableUtils, uDADataTable, DB, schContactosClient_Intf, + uEditorGridBase, uDAInterfaces, uIEditorElegirComerciales; + +{ TComercialController } + +function TComercialesController.Buscar(const ID: Integer): IBizContacto; +begin + Result := (FDataModule as IDataModuleComerciales).GetItem(ID); + FiltrarEmpresa(Result); +end; + +function TComercialesController.BuscarTodos: IBizContacto; +begin + Result := (FDataModule as IDataModuleComerciales).GetItems; + FiltrarEmpresa(Result); +end; + +function TComercialesController.BuscarTodos(const CadenaIDs: String): IBizContacto; +var + Cadena : TStringList; + Condicion: TDAWhereExpression; + i: Integer; + +begin + ShowHourglassCursor; + try + Result := BuscarTodos; + + if (Length(CadenaIDs) > 0) then + begin + Cadena := TStringList.Create; + Cadena.CommaText := CadenaIDs; + + //Vamos generando todas las where de cada uno de los ID recibidos + for i := 0 to Cadena.Count - 1 do + with Result.DataTable.DynamicWhere do + begin + //Todas aquellos Comerciales que no esten asociados a la liquidación actual + Condicion := NewBinaryExpression(NewField('', fld_ComercialesID), NewConstant(StrToInt(Cadena.Strings[i]), datInteger), dboNotEqual); + + if IsEmpty then + Expression := Condicion + else + Expression := NewBinaryExpression(Expression, Condicion, dboAnd); + end; + + Cadena.Free; + end; + + finally + HideHourglassCursor; + end; +end; + +constructor TComercialesController.Create; +begin + inherited; + FDataModule := TDataModuleComerciales.Create(Nil); +end; + +{function TComercialesController.DarIDComercialDeUsuario( + const AUsuario: Integer): Integer; +var + AComerciales: IBizComercial; +begin + AComerciales := (BuscarTodos as IBizComercial); + AComerciales.DataTable.Active := True; + + with AComerciales.DataTable do + begin + First; + while not EOF do + begin + if (AComerciales.ID_USUARIO = AUsuario) then + begin + Result := AComerciales.ID; + Break; + end + else Next; + end; + end; +end; } + +function TComercialesController.DarListaComerciales: TStringList; +var + AComerciales: IBizContacto; +begin + AComerciales := BuscarTodos; + AComerciales.DataTable.Active := True; + + Result := TStringList.Create; + try + with Result do + begin + AComerciales.DataTable.First; + while not AComerciales.DataTable.EOF do + begin + Add(Format('%s=%d', [AComerciales.NOMBRE, AComerciales.ID])); + AComerciales.DataTable.Next; + end; + end; + finally + AComerciales := NIL; + end; +end; + +function TComercialesController.Duplicar(AContacto: IBizContacto): IBizContacto; +begin + Result := inherited Duplicar(AContacto); +end; + +function TComercialesController.ElegirContacto(AContactos: IBizContacto; + AMensaje: String; AMultiSelect: Boolean): IBizContacto; +var + AEditor : IEditorElegirComerciales; +begin + Result := NIL; + + CreateEditor('EditorElegirComerciales', IEditorElegirComerciales, AEditor); + if Assigned(AEditor) then + try + AEditor.Contactos := AContactos; + AEditor.Controller := Self; + AEditor.MultiSelect := AMultiSelect; + AEditor.Mensaje := AMensaje; + if IsPositiveResult(AEditor.ShowModal) then + Result := AEditor.ContactosSeleccionados; + finally + AEditor.Release; + AEditor := NIL; + end; +end; + +function TComercialesController.Eliminar(AComercial: IBizContacto; AllItems: Boolean = false): Boolean; +//En el caso de eliminar almenos un elemento del conjunto se devuelve true +var + bEliminado: Boolean; +begin + bEliminado := False; + + if not Assigned(AComercial) then + raise Exception.Create ('Contacto no asignado'); + + ShowHourglassCursor; + try + if not AComercial.DataTable.Active then + AComercial.DataTable.Active := True; + + if (AComercial.State in dsEditModes) then + AComercial.Cancel; + + //Siempre eliminaremos el seleccionado + if EsEliminable(AComercial) then + begin + AComercial.Delete; + bEliminado := True; + end; + + //En el caso de querer eliminar todos los items del objeto AComercial + if AllItems then + begin + with AComercial.DataTable do + begin + First; + while not EOF do + begin + if EsEliminable(AComercial) then + begin + AComercial.Delete; + bEliminado := True + end + else Next; + end; + end; + end; + + if bEliminado then + begin + AComercial.DataTable.ApplyUpdates; + Result := True; + end + else + Result := False; + + finally + HideHourglassCursor; + end; +end; + +function TComercialesController.EsEliminable(AComercial: IBizContacto): Boolean; +begin + if not Assigned(AComercial) then + raise Exception.Create ('Contacto no asignado: EsEliminable'); + + Result := True; +end; + +function TComercialesController.Nuevo: IBizContacto; +var + AContacto : IBizComercial; +begin + AContacto := (FDataModule as IDataModuleComerciales).NewItem; + FiltrarEmpresa(AContacto); + AContacto.DataTable.Active := True; + AContacto.Insert; + Result := AContacto; +end; + +procedure TComercialesController.Ver(AContacto: IBizContacto); +var + AEditor : IEditorComercial; +begin + AEditor := NIL; + + CreateEditor('EditorComercial', IEditorComercial, AEditor); + if Assigned(AEditor) then + try + AEditor.Contacto := AContacto; + AEditor.Controller := Self; + AEditor.ShowModal; + finally + AEditor.Release; + AEditor := NIL; + end; +end; + +procedure TComercialesController.VerTodos(AContactos: IBizContacto); +var + AEditor : IEditorComerciales; +begin + AEditor := NIL; + + CreateEditor('EditorComerciales', IEditorComerciales, AEditor); + if Assigned(AEditor) then + with AEditor do + begin + Contactos := AContactos; + Controller := Self; + MultiSelect := True; + ShowEmbedded; + end; +end; + +end. diff --git a/Source/Modulos/Contactos/Controller/uInstaladoresController.pas b/Source/Modulos/Contactos/Controller/uInstaladoresController.pas new file mode 100644 index 0000000..344c23c --- /dev/null +++ b/Source/Modulos/Contactos/Controller/uInstaladoresController.pas @@ -0,0 +1,291 @@ +unit uInstaladoresController; + +interface + +uses + Classes, uCustomEditor, + uContactosController, uBizContactos, + uIEditorInstaladores, uIEditorInstalador, uIDataModuleContactos, uIDataModuleInstaladores; + +const + CTE_INSTALADOR = 'Instalador'; + +type + IInstaladoresController = interface(IContactosController) + ['{EB88FC03-720E-47FA-9864-11BB096DDD35}'] + function EsEliminable(AInstalador: IBizContacto): Boolean; + function Eliminar(AInstalador: IBizContacto; AllItems: Boolean = false): Boolean; overload; + function DarListaInstaladores : TStringList; + function BuscarTodos: IBizContacto; overload; + function BuscarTodos(const CadenaIDs: String): IBizContacto; overload; +// function DarIDInstaladorDeUsuario(const AUsuario: Integer): Integer; + end; + + TInstaladoresController = class(TContactosController, IInstaladoresController) + public + constructor Create; override; + function Duplicar(AContacto: IBizContacto): IBizContacto; override; + function Buscar(const ID: Integer): IBizContacto; override; + function BuscarTodos: IBizContacto; overload; override; + function BuscarTodos(const CadenaIDs: String): IBizContacto; overload; + function Nuevo : IBizContacto; override; + procedure Ver(AContacto : IBizContacto); override; + procedure VerTodos(AContactos: IBizContacto); override; + function ElegirContacto(AContactos : IBizContacto; + AMensaje: String; AMultiSelect: Boolean): IBizContacto; override; + + function DarListaInstaladores : TStringList; + + function Eliminar(AInstalador: IBizContacto; AllItems: Boolean = false): Boolean; overload; + function EsEliminable(AInstalador: IBizContacto): Boolean; +// function DarIDInstaladorDeUsuario(const AUsuario: Integer): Integer; + end; + +implementation + +uses + Windows, SysUtils, Controls, cxControls, Dialogs, uDataModuleInstaladores, uEditorRegistryUtils, + uDataTableUtils, uDADataTable, DB, schContactosClient_Intf, + uEditorGridBase, uDAInterfaces, uIEditorElegirInstaladores; + +{ TInstaladorController } + +function TInstaladoresController.Buscar(const ID: Integer): IBizContacto; +begin + Result := (FDataModule as IDataModuleInstaladores).GetItem(ID); + FiltrarEmpresa(Result); +end; + +function TInstaladoresController.BuscarTodos: IBizContacto; +begin + Result := (FDataModule as IDataModuleInstaladores).GetItems; + FiltrarEmpresa(Result); +end; + +function TInstaladoresController.BuscarTodos(const CadenaIDs: String): IBizContacto; +var + Cadena : TStringList; + Condicion: TDAWhereExpression; + i: Integer; + +begin + ShowHourglassCursor; + try + Result := BuscarTodos; + + if (Length(CadenaIDs) > 0) then + begin + Cadena := TStringList.Create; + Cadena.CommaText := CadenaIDs; + + //Vamos generando todas las where de cada uno de los ID recibidos + for i := 0 to Cadena.Count - 1 do + with Result.DataTable.DynamicWhere do + begin + //Todas aquellos Instaladores que no esten asociados a la liquidación actual + Condicion := NewBinaryExpression(NewField('', fld_InstaladoresID), NewConstant(StrToInt(Cadena.Strings[i]), datInteger), dboNotEqual); + + if IsEmpty then + Expression := Condicion + else + Expression := NewBinaryExpression(Expression, Condicion, dboAnd); + end; + + Cadena.Free; + end; + + finally + HideHourglassCursor; + end; +end; + +constructor TInstaladoresController.Create; +begin + inherited; + FDataModule := TDataModuleInstaladores.Create(Nil); +end; + +{function TInstaladoresController.DarIDInstaladorDeUsuario( + const AUsuario: Integer): Integer; +var + AInstaladores: IBizInstalador; +begin + AInstaladores := (BuscarTodos as IBizInstalador); + AInstaladores.DataTable.Active := True; + + with AInstaladores.DataTable do + begin + First; + while not EOF do + begin + if (AInstaladores.ID_USUARIO = AUsuario) then + begin + Result := AInstaladores.ID; + Break; + end + else Next; + end; + end; +end; } + +function TInstaladoresController.DarListaInstaladores: TStringList; +var + AInstaladores: IBizContacto; +begin + AInstaladores := BuscarTodos; + AInstaladores.DataTable.Active := True; + + Result := TStringList.Create; + try + with Result do + begin + AInstaladores.DataTable.First; + while not AInstaladores.DataTable.EOF do + begin + Add(Format('%s=%d', [AInstaladores.NOMBRE, AInstaladores.ID])); + AInstaladores.DataTable.Next; + end; + end; + finally + AInstaladores := NIL; + end; +end; + +function TInstaladoresController.Duplicar(AContacto: IBizContacto): IBizContacto; +begin + Result := inherited Duplicar(AContacto); +end; + +function TInstaladoresController.ElegirContacto(AContactos: IBizContacto; + AMensaje: String; AMultiSelect: Boolean): IBizContacto; +var + AEditor : IEditorElegirInstaladores; +begin + Result := NIL; + + CreateEditor('EditorElegirInstaladores', IEditorElegirInstaladores, AEditor); + if Assigned(AEditor) then + try + AEditor.Contactos := AContactos; + AEditor.Controller := Self; + AEditor.MultiSelect := AMultiSelect; + AEditor.Mensaje := AMensaje; + if IsPositiveResult(AEditor.ShowModal) then + Result := AEditor.ContactosSeleccionados; + finally + AEditor.Release; + AEditor := NIL; + end; +end; + +function TInstaladoresController.Eliminar(AInstalador: IBizContacto; AllItems: Boolean = false): Boolean; +//En el caso de eliminar almenos un elemento del conjunto se devuelve true +var + bEliminado: Boolean; +begin + bEliminado := False; + + if not Assigned(AInstalador) then + raise Exception.Create ('Contacto no asignado'); + + ShowHourglassCursor; + try + if not AInstalador.DataTable.Active then + AInstalador.DataTable.Active := True; + + if (AInstalador.State in dsEditModes) then + AInstalador.Cancel; + + //Siempre eliminaremos el seleccionado + if EsEliminable(AInstalador) then + begin + AInstalador.Delete; + bEliminado := True; + end; + + //En el caso de querer eliminar todos los items del objeto AInstalador + if AllItems then + begin + with AInstalador.DataTable do + begin + First; + while not EOF do + begin + if EsEliminable(AInstalador) then + begin + AInstalador.Delete; + bEliminado := True + end + else Next; + end; + end; + end; + + if bEliminado then + begin + AInstalador.DataTable.ApplyUpdates; + Result := True; + end + else + Result := False; + + finally + HideHourglassCursor; + end; +end; + +function TInstaladoresController.EsEliminable(AInstalador: IBizContacto): Boolean; +begin + if not Assigned(AInstalador) then + raise Exception.Create ('Contacto no asignado: EsEliminable'); + + Result := True; +end; + +function TInstaladoresController.Nuevo: IBizContacto; +var + AContacto : IBizInstalador; +begin + AContacto := (FDataModule as IDataModuleInstaladores).NewItem; + FiltrarEmpresa(AContacto); + AContacto.DataTable.Active := True; + AContacto.Insert; + Result := AContacto; +end; + +procedure TInstaladoresController.Ver(AContacto: IBizContacto); +var + AEditor : IEditorInstalador; +begin + AEditor := NIL; + + CreateEditor('EditorInstalador', IEditorInstalador, AEditor); + if Assigned(AEditor) then + try + AEditor.Contacto := AContacto; + AEditor.Controller := Self; + AEditor.ShowModal; + finally + AEditor.Release; + AEditor := NIL; + end; +end; + +procedure TInstaladoresController.VerTodos(AContactos: IBizContacto); +var + AEditor : IEditorInstaladores; +begin + AEditor := NIL; + + CreateEditor('EditorInstaladores', IEditorInstaladores, AEditor); + if Assigned(AEditor) then + with AEditor do + begin + Contactos := AContactos; + Controller := Self; + MultiSelect := True; + ShowEmbedded; + end; +end; + +end. diff --git a/Source/Modulos/Contactos/Data/uDataModuleComerciales.dfm b/Source/Modulos/Contactos/Data/uDataModuleComerciales.dfm new file mode 100644 index 0000000..822372f --- /dev/null +++ b/Source/Modulos/Contactos/Data/uDataModuleComerciales.dfm @@ -0,0 +1,215 @@ +inherited DataModuleComerciales: TDataModuleComerciales + inherited ds_Contactos: TDADataSource + DataSet = tbl_Contactos.Dataset + end + inherited ds_DireccionesContacto: TDADataSource + DataSet = tbl_DireccionesContacto.Dataset + end + inherited ds_DatosBancarios: TDADataSource + DataSet = tbl_DatosBancarios.Dataset + end + inherited ds_PersonalContacto: TDADataSource + DataSet = tbl_PersonalContacto.Dataset + end + inherited ds_ContactosDirecciones: TDADataSource + DataSet = tbl_ContactosDirecciones.Dataset + end + object tbl_Comerciales: TDAMemDataTable + RemoteUpdatesOptions = [] + Fields = < + item + Name = 'ID' + DataType = datAutoInc + GeneratorName = 'GEN_CONTACTOS_ID' + ServerAutoRefresh = True + DictionaryEntry = 'Comerciales_ID' + InPrimaryKey = True + end + item + Name = 'ID_CATEGORIA' + DataType = datInteger + DisplayLabel = 'Comerciales_ID_CATEGORIA' + DictionaryEntry = 'Comerciales_ID_CATEGORIA' + end + item + Name = 'NIF_CIF' + DataType = datString + Size = 15 + DisplayLabel = 'Comerciales_NIF_CIF' + DictionaryEntry = 'Comerciales_NIF_CIF' + end + item + Name = 'NOMBRE' + DataType = datString + Size = 255 + DisplayLabel = 'Comerciales_NOMBRE' + DictionaryEntry = 'Comerciales_NOMBRE' + end + item + Name = 'PERSONA_CONTACTO' + DataType = datString + Size = 255 + DisplayLabel = 'Comerciales_PERSONA_CONTACTO' + DictionaryEntry = 'Comerciales_PERSONA_CONTACTO' + end + item + Name = 'CALLE' + DataType = datString + Size = 255 + DisplayLabel = 'Comerciales_CALLE' + DictionaryEntry = 'Comerciales_CALLE' + end + item + Name = 'POBLACION' + DataType = datString + Size = 255 + DisplayLabel = 'Comerciales_POBLACION' + DictionaryEntry = 'Comerciales_POBLACION' + end + item + Name = 'PROVINCIA' + DataType = datString + Size = 255 + DisplayLabel = 'Comerciales_PROVINCIA' + DictionaryEntry = 'Comerciales_PROVINCIA' + end + item + Name = 'CODIGO_POSTAL' + DataType = datString + Size = 10 + DisplayLabel = 'Comerciales_CODIGO_POSTAL' + DictionaryEntry = 'Comerciales_CODIGO_POSTAL' + end + item + Name = 'TELEFONO_1' + DataType = datString + Size = 25 + DisplayLabel = 'Comerciales_TELEFONO_1' + DictionaryEntry = 'Comerciales_TELEFONO_1' + end + item + Name = 'TELEFONO_2' + DataType = datString + Size = 25 + DisplayLabel = 'Comerciales_TELEFONO_2' + DictionaryEntry = 'Comerciales_TELEFONO_2' + end + item + Name = 'MOVIL_1' + DataType = datString + Size = 25 + DisplayLabel = 'Comerciales_MOVIL_1' + DictionaryEntry = 'Comerciales_MOVIL_1' + end + item + Name = 'MOVIL_2' + DataType = datString + Size = 25 + DisplayLabel = 'Comerciales_MOVIL_2' + DictionaryEntry = 'Comerciales_MOVIL_2' + end + item + Name = 'FAX' + DataType = datString + Size = 25 + DisplayLabel = 'Comerciales_FAX' + DictionaryEntry = 'Comerciales_FAX' + end + item + Name = 'EMAIL_1' + DataType = datString + Size = 255 + DisplayLabel = 'Comerciales_EMAIL_1' + DictionaryEntry = 'Comerciales_EMAIL_1' + end + item + Name = 'EMAIL_2' + DataType = datString + Size = 255 + DisplayLabel = 'Comerciales_EMAIL_2' + DictionaryEntry = 'Comerciales_EMAIL_2' + end + item + Name = 'PAGINA_WEB' + DataType = datString + Size = 255 + DisplayLabel = 'Comerciales_PAGINA_WEB' + DictionaryEntry = 'Comerciales_PAGINA_WEB' + end + item + Name = 'NOTAS' + DataType = datMemo + DisplayLabel = 'Comerciales_NOTAS' + DictionaryEntry = 'Comerciales_NOTAS' + end + item + Name = 'FECHA_ALTA' + DataType = datDateTime + DisplayLabel = 'Comerciales_FECHA_ALTA' + DictionaryEntry = 'Comerciales_FECHA_ALTA' + end + item + Name = 'FECHA_MODIFICACION' + DataType = datDateTime + DisplayLabel = 'Comerciales_FECHA_MODIFICACION' + DictionaryEntry = 'Comerciales_FECHA_MODIFICACION' + end + item + Name = 'USUARIO' + DataType = datString + Size = 30 + DisplayLabel = 'Comerciales_USUARIO' + DictionaryEntry = 'Comerciales_USUARIO' + end + item + Name = 'ID_EMPRESA' + DataType = datInteger + DisplayLabel = 'Comerciales_ID_EMPRESA' + DictionaryEntry = 'Comerciales_ID_EMPRESA' + end + item + Name = 'REFERENCIA' + DataType = datString + Size = 255 + DisplayLabel = 'Comerciales_REFERENCIA' + DictionaryEntry = 'Comerciales_REFERENCIA' + end + item + Name = 'ID_TIENDA' + DataType = datInteger + DisplayLabel = 'Comerciales_ID_TIENDA' + DictionaryEntry = 'Comerciales_ID_TIENDA' + end + item + Name = 'TIENDA' + DataType = datString + Size = 255 + DisplayLabel = 'Comerciales_TIENDA' + DictionaryEntry = 'Comerciales_TIENDA' + end + item + Name = 'COMISION' + DataType = datFloat + DisplayLabel = 'Comerciales_COMISION' + DictionaryEntry = 'Comerciales_COMISION' + end + item + Name = 'DELEGACION' + DataType = datString + Size = 255 + end> + Params = <> + StreamingOptions = [soDisableEventsWhileStreaming] + RemoteDataAdapter = rda_Contactos + LogicalName = 'Comerciales' + IndexDefs = <> + Left = 456 + Top = 224 + end + object ds_Comerciales: TDADataSource + DataSet = tbl_Comerciales.Dataset + DataTable = tbl_Comerciales + Left = 464 + Top = 160 + end +end diff --git a/Source/Modulos/Contactos/Data/uDataModuleComerciales.pas b/Source/Modulos/Contactos/Data/uDataModuleComerciales.pas new file mode 100644 index 0000000..ad140da --- /dev/null +++ b/Source/Modulos/Contactos/Data/uDataModuleComerciales.pas @@ -0,0 +1,83 @@ +unit uDataModuleComerciales; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, uDataModuleContactos, DB, uDADataTable, uDAScriptingProvider, + uDACDSDataTable, uDABINAdapter, uRORemoteService, + uROClient, uROBinMessage, uROWinInetHttpChannel, uROTypes, + uIDataModuleComerciales, uBizContactos, uDADesigntimeCall, + uDAInterfaces, uDAMemDataTable, uDADataStreamer, uDABin2DataStreamer, + uDARemoteDataAdapter; + +type + TDataModuleComerciales = class(TDataModuleContactos, IDataModuleComerciales) + tbl_Comerciales: TDAMemDataTable; + ds_Comerciales: TDADataSource; + public + function GetItem(const ID : Integer) : IBizComercial; + function NewItem : IBizComercial; + function GetItems : IBizComercial; + end; + + +implementation + +{$R *.dfm} + +uses + FactuGES_Intf, cxControls, schContactosClient_Intf, uDataTableUtils; + +{ TDataModuleComerciales } + +function TDataModuleComerciales.GetItem(const ID: Integer): IBizComercial; +var + Condicion: TDAWhereExpression; +begin + ShowHourglassCursor; + try + Result := Self.GetItems; + + with Result.DataTable.DynamicWhere do + begin + // (ID = :ID) + Condicion := NewBinaryExpression(NewField('', fld_ContactosID), NewConstant(ID, datInteger), dboEqual); + + if IsEmpty then + Expression := Condicion + else + Expression := NewBinaryExpression(Expression, Condicion, dboAnd); + end; + + finally + HideHourglassCursor; + end; +end; + +function TDataModuleComerciales.GetItems: IBizComercial; +var + AContacto : TDAMemDataTable; +begin + ShowHourglassCursor; + try + AContacto := CloneDataTable(tbl_Comerciales); + AContacto.BusinessRulesID := BIZ_CLIENT_COMERCIAL; + + with TBizComercial(AContacto.BusinessEventsObj) do + begin + DatosBancarios := _GetDatosBancarios; + end; + + Result := (AContacto as IBizComercial); + finally + HideHourglassCursor; + end; +end; + +function TDataModuleComerciales.NewItem: IBizComercial; +begin + Result := GetItem(ID_NULO) +end; + +end. diff --git a/Source/Modulos/Contactos/Data/uDataModuleInstaladores.dfm b/Source/Modulos/Contactos/Data/uDataModuleInstaladores.dfm new file mode 100644 index 0000000..512d514 --- /dev/null +++ b/Source/Modulos/Contactos/Data/uDataModuleInstaladores.dfm @@ -0,0 +1,204 @@ +inherited DataModuleInstaladores: TDataModuleInstaladores + inherited ds_Contactos: TDADataSource + DataSet = tbl_Contactos.Dataset + end + inherited ds_DireccionesContacto: TDADataSource + DataSet = tbl_DireccionesContacto.Dataset + end + inherited ds_DatosBancarios: TDADataSource + DataSet = tbl_DatosBancarios.Dataset + end + inherited ds_PersonalContacto: TDADataSource + DataSet = tbl_PersonalContacto.Dataset + end + inherited ds_ContactosDirecciones: TDADataSource + DataSet = tbl_ContactosDirecciones.Dataset + end + object tbl_Instaladores: TDAMemDataTable + RemoteUpdatesOptions = [] + Fields = < + item + Name = 'ID' + DataType = datAutoInc + GeneratorName = 'GEN_CONTACTOS_ID' + ServerAutoRefresh = True + DictionaryEntry = 'Instaladores_ID' + InPrimaryKey = True + end + item + Name = 'ID_CATEGORIA' + DataType = datInteger + DisplayLabel = 'Instaladores_ID_CATEGORIA' + DictionaryEntry = 'Instaladores_ID_CATEGORIA' + end + item + Name = 'NIF_CIF' + DataType = datString + Size = 15 + DisplayLabel = 'Instaladores_NIF_CIF' + DictionaryEntry = 'Instaladores_NIF_CIF' + end + item + Name = 'NOMBRE' + DataType = datString + Size = 255 + DisplayLabel = 'Instaladores_NOMBRE' + DictionaryEntry = 'Instaladores_NOMBRE' + end + item + Name = 'PERSONA_CONTACTO' + DataType = datString + Size = 255 + DisplayLabel = 'Instaladores_PERSONA_CONTACTO' + DictionaryEntry = 'Instaladores_PERSONA_CONTACTO' + end + item + Name = 'CALLE' + DataType = datString + Size = 255 + DisplayLabel = 'Instaladores_CALLE' + DictionaryEntry = 'Instaladores_CALLE' + end + item + Name = 'POBLACION' + DataType = datString + Size = 255 + DisplayLabel = 'Instaladores_POBLACION' + DictionaryEntry = 'Instaladores_POBLACION' + end + item + Name = 'PROVINCIA' + DataType = datString + Size = 255 + DisplayLabel = 'Instaladores_PROVINCIA' + DictionaryEntry = 'Instaladores_PROVINCIA' + end + item + Name = 'CODIGO_POSTAL' + DataType = datString + Size = 10 + DisplayLabel = 'Instaladores_CODIGO_POSTAL' + DictionaryEntry = 'Instaladores_CODIGO_POSTAL' + end + item + Name = 'TELEFONO_1' + DataType = datString + Size = 25 + DisplayLabel = 'Instaladores_TELEFONO_1' + DictionaryEntry = 'Instaladores_TELEFONO_1' + end + item + Name = 'TELEFONO_2' + DataType = datString + Size = 25 + DisplayLabel = 'Instaladores_TELEFONO_2' + DictionaryEntry = 'Instaladores_TELEFONO_2' + end + item + Name = 'MOVIL_1' + DataType = datString + Size = 25 + DisplayLabel = 'Instaladores_MOVIL_1' + DictionaryEntry = 'Instaladores_MOVIL_1' + end + item + Name = 'MOVIL_2' + DataType = datString + Size = 25 + DisplayLabel = 'Instaladores_MOVIL_2' + DictionaryEntry = 'Instaladores_MOVIL_2' + end + item + Name = 'FAX' + DataType = datString + Size = 25 + DisplayLabel = 'Instaladores_FAX' + DictionaryEntry = 'Instaladores_FAX' + end + item + Name = 'EMAIL_1' + DataType = datString + Size = 255 + DisplayLabel = 'Instaladores_EMAIL_1' + DictionaryEntry = 'Instaladores_EMAIL_1' + end + item + Name = 'EMAIL_2' + DataType = datString + Size = 255 + DisplayLabel = 'Instaladores_EMAIL_2' + DictionaryEntry = 'Instaladores_EMAIL_2' + end + item + Name = 'PAGINA_WEB' + DataType = datString + Size = 255 + DisplayLabel = 'Instaladores_PAGINA_WEB' + DictionaryEntry = 'Instaladores_PAGINA_WEB' + end + item + Name = 'NOTAS' + DataType = datMemo + DisplayLabel = 'Instaladores_NOTAS' + DictionaryEntry = 'Instaladores_NOTAS' + end + item + Name = 'FECHA_ALTA' + DataType = datDateTime + DisplayLabel = 'Instaladores_FECHA_ALTA' + DictionaryEntry = 'Instaladores_FECHA_ALTA' + end + item + Name = 'FECHA_MODIFICACION' + DataType = datDateTime + DisplayLabel = 'Instaladores_FECHA_MODIFICACION' + DictionaryEntry = 'Instaladores_FECHA_MODIFICACION' + end + item + Name = 'USUARIO' + DataType = datString + Size = 30 + DisplayLabel = 'Instaladores_USUARIO' + DictionaryEntry = 'Instaladores_USUARIO' + end + item + Name = 'ID_EMPRESA' + DataType = datInteger + DisplayLabel = 'Instaladores_ID_EMPRESA' + DictionaryEntry = 'Instaladores_ID_EMPRESA' + end + item + Name = 'REFERENCIA' + DataType = datString + Size = 255 + DisplayLabel = 'Instaladores_REFERENCIA' + DictionaryEntry = 'Instaladores_REFERENCIA' + end + item + Name = 'ID_TIENDA' + DataType = datInteger + DisplayLabel = 'Instaladores_ID_TIENDA' + DictionaryEntry = 'Instaladores_ID_TIENDA' + end + item + Name = 'TIENDA' + DataType = datString + Size = 255 + DisplayLabel = 'Instaladores_TIENDA' + DictionaryEntry = 'Instaladores_TIENDA' + end> + Params = <> + StreamingOptions = [soDisableEventsWhileStreaming] + RemoteDataAdapter = rda_Contactos + LogicalName = 'Instaladores' + IndexDefs = <> + Left = 456 + Top = 216 + end + object ds_Instaladores: TDADataSource + DataSet = tbl_Instaladores.Dataset + DataTable = tbl_Instaladores + Left = 448 + Top = 144 + end +end diff --git a/Source/Modulos/Contactos/Data/uDataModuleInstaladores.pas b/Source/Modulos/Contactos/Data/uDataModuleInstaladores.pas new file mode 100644 index 0000000..23cfc8a --- /dev/null +++ b/Source/Modulos/Contactos/Data/uDataModuleInstaladores.pas @@ -0,0 +1,83 @@ +unit uDataModuleInstaladores; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, uDataModuleContactos, DB, uDADataTable, uDAScriptingProvider, + uDACDSDataTable, uDABINAdapter, uRORemoteService, + uROClient, uROBinMessage, uROWinInetHttpChannel, uROTypes, + uIDataModuleInstaladores, uBizContactos, uDADesigntimeCall, + uDAInterfaces, uDAMemDataTable, uDADataStreamer, uDABin2DataStreamer, + uDARemoteDataAdapter; + +type + TDataModuleInstaladores = class(TDataModuleContactos, IDataModuleInstaladores) + tbl_Instaladores: TDAMemDataTable; + ds_Instaladores: TDADataSource; + public + function GetItem(const ID : Integer) : IBizInstalador; + function NewItem : IBizInstalador; + function GetItems : IBizInstalador; + end; + + +implementation + +{$R *.dfm} + +uses + FactuGES_Intf, cxControls, schContactosClient_Intf, uDataTableUtils; + +{ TDataModuleInstaladores } + +function TDataModuleInstaladores.GetItem(const ID: Integer): IBizInstalador; +var + Condicion: TDAWhereExpression; +begin + ShowHourglassCursor; + try + Result := Self.GetItems; + + with Result.DataTable.DynamicWhere do + begin + // (ID = :ID) + Condicion := NewBinaryExpression(NewField('', fld_ContactosID), NewConstant(ID, datInteger), dboEqual); + + if IsEmpty then + Expression := Condicion + else + Expression := NewBinaryExpression(Expression, Condicion, dboAnd); + end; + + finally + HideHourglassCursor; + end; +end; + +function TDataModuleInstaladores.GetItems: IBizInstalador; +var + AContacto : TDAMemDataTable; +begin + ShowHourglassCursor; + try + AContacto := CloneDataTable(tbl_Instaladores); + AContacto.BusinessRulesID := BIZ_CLIENT_Instalador; + + with TBizInstalador(AContacto.BusinessEventsObj) do + begin + DatosBancarios := _GetDatosBancarios; + end; + + Result := (AContacto as IBizInstalador); + finally + HideHourglassCursor; + end; +end; + +function TDataModuleInstaladores.NewItem: IBizInstalador; +begin + Result := GetItem(ID_NULO) +end; + +end. diff --git a/Source/Modulos/Contactos/Model/Data/uIDataModuleComerciales.pas b/Source/Modulos/Contactos/Model/Data/uIDataModuleComerciales.pas new file mode 100644 index 0000000..f85487e --- /dev/null +++ b/Source/Modulos/Contactos/Model/Data/uIDataModuleComerciales.pas @@ -0,0 +1,19 @@ +unit uIDataModuleComerciales; + +interface + +uses + uBizContactos, uIDataModuleContactos; + +type + IDataModuleComerciales = interface(IDataModuleContactos) + ['{C9CEA27B-106A-4864-A401-B0896CED0D38}'] + function GetItem(const ID : Integer) : IBizComercial; + function NewItem : IBizComercial; + function GetItems : IBizComercial; + end; + + +implementation + +end. diff --git a/Source/Modulos/Contactos/Model/Data/uIDataModuleInstaladores.pas b/Source/Modulos/Contactos/Model/Data/uIDataModuleInstaladores.pas new file mode 100644 index 0000000..ddd5769 --- /dev/null +++ b/Source/Modulos/Contactos/Model/Data/uIDataModuleInstaladores.pas @@ -0,0 +1,19 @@ +unit uIDataModuleInstaladores; + +interface + +uses + uBizContactos, uIDataModuleContactos; + +type + IDataModuleInstaladores = interface(IDataModuleContactos) + ['{4F1A2F9B-CD77-4AF6-B301-EDE6ABDDA9D8}'] + function GetItem(const ID : Integer) : IBizInstalador; + function NewItem : IBizInstalador; + function GetItems : IBizInstalador; + end; + + +implementation + +end. diff --git a/Source/Modulos/Contactos/Model/uBizComercialesServer.pas b/Source/Modulos/Contactos/Model/uBizComercialesServer.pas new file mode 100644 index 0000000..04df9aa --- /dev/null +++ b/Source/Modulos/Contactos/Model/uBizComercialesServer.pas @@ -0,0 +1,104 @@ +unit uBizComercialesServer; + +interface + +uses + schContactosServer_Intf, uDAInterfaces, uDADelta, + uDADataTable, uDABusinessProcessor, uBizContactosServer; + +const + BIZ_SERVER_COMERCIAL = 'Server.Comercial'; + +type + TBizComercialServer = class(TBizContactosServer) + protected + procedure Insert_Datos_Contacto(aChange: TDADeltaChange); override; + procedure Update_Datos_Contacto(aChange: TDADeltaChange); override; + procedure Delete_Datos_Contacto(aChange: TDADeltaChange); override; + end; + +implementation + +uses + uDataModuleServer, uDAClasses, + schContactosClient_Intf, uBusinessUtils; + +{ TBizComercialServer } + +procedure TBizComercialServer.Delete_Datos_Contacto(aChange: TDADeltaChange); +var + ASchema : TDASchema; + ACurrentConn : IDAConnection; + ACommand : IDASQLCommand; +begin + inherited; + + ASchema := BusinessProcessor.Schema; + ACurrentConn := GetBusinessProcessorConnection(BusinessProcessor); + + ACommand := ASchema.NewCommand(ACurrentConn, 'Delete_ComercialesDatos'); + try + with ACommand do + begin + ParamByName('OLD_ID_COMERCIAL').Value := aChange.OldValueByName[fld_ComercialesID]; + Execute; + end; + finally + ACommand := NIL; + end; +end; + +procedure TBizComercialServer.Insert_Datos_Contacto(aChange: TDADeltaChange); +var + ASchema : TDASchema; + ACurrentConn : IDAConnection; + ACommand : IDASQLCommand; +begin + inherited; + + ASchema := BusinessProcessor.Schema; + ACurrentConn := GetBusinessProcessorConnection(BusinessProcessor); + + ACommand := ASchema.NewCommand(ACurrentConn, 'Insert_ComercialesDatos'); + try + with ACommand do + begin + ParamByName('ID_COMERCIAL').Value := aChange.NewValueByName[fld_ComercialesID]; + ParamByName('COMISION').Value := aChange.NewValueByName[fld_ComercialesCOMISION]; + ParamByName('DELEGACION').Value := aChange.NewValueByName[fld_ComercialesDELEGACION]; + Execute; + end; + finally + ACommand := NIL; + end; +end; + +procedure TBizComercialServer.Update_Datos_Contacto(aChange: TDADeltaChange); +var + ASchema : TDASchema; + ACurrentConn : IDAConnection; + ACommand : IDASQLCommand; +begin + inherited; + + ASchema := BusinessProcessor.Schema; + ACurrentConn := GetBusinessProcessorConnection(BusinessProcessor); + + ACommand := ASchema.NewCommand(ACurrentConn, 'Update_ComercialesDatos'); + try + with ACommand do + begin + ParamByName('OLD_ID_COMERCIAL').Value := aChange.OldValueByName[fld_ComercialesID]; + ParamByName('COMISION').Value := aChange.NewValueByName[fld_ComercialesCOMISION]; + ParamByName('DELEGACION').Value := aChange.NewValueByName[fld_ComercialesDELEGACION]; + Execute; + end; + finally + ACommand := NIL; + end; +end; + +initialization + RegisterBusinessProcessorRules(BIZ_SERVER_Comercial, TBizComercialServer); + +end. diff --git a/Source/Modulos/Contactos/Model/uBizInstaladoresServer.pas b/Source/Modulos/Contactos/Model/uBizInstaladoresServer.pas new file mode 100644 index 0000000..276b1f0 --- /dev/null +++ b/Source/Modulos/Contactos/Model/uBizInstaladoresServer.pas @@ -0,0 +1,107 @@ +unit uBizInstaladoresServer; + +interface + +uses + schContactosServer_Intf, uDAInterfaces, uDADelta, + uDADataTable, uDABusinessProcessor, uBizContactosServer; + +const + BIZ_SERVER_INSTALADOR = 'Server.Instalador'; + +type + TBizInstaladorServer = class(TBizContactosServer) + protected + procedure Insert_Datos_Contacto(aChange: TDADeltaChange); override; + procedure Update_Datos_Contacto(aChange: TDADeltaChange); override; + procedure Delete_Datos_Contacto(aChange: TDADeltaChange); override; + end; + +implementation + +uses + uDataModuleServer, uDAClasses, + schContactosClient_Intf, uBusinessUtils; + +{ TBizInstaladorServer } + +procedure TBizInstaladorServer.Delete_Datos_Contacto(aChange: TDADeltaChange); +var + ASchema : TDASchema; + ACurrentConn : IDAConnection; + ACommand : IDASQLCommand; +begin + inherited; +{ + ASchema := BusinessProcessor.Schema; + ACurrentConn := GetBusinessProcessorConnection(BusinessProcessor); + + ACommand := ASchema.NewCommand(ACurrentConn, 'Delete_InstaladoresDatos'); + try + with ACommand do + begin + ParamByName('OLD_ID_Instalador').Value := aChange.OldValueByName[fld_InstaladoresID]; + Execute; + end; + finally + ACommand := NIL; + end; +} +end; + +procedure TBizInstaladorServer.Insert_Datos_Contacto(aChange: TDADeltaChange); +var + ASchema : TDASchema; + ACurrentConn : IDAConnection; + ACommand : IDASQLCommand; +begin + inherited; +{ + ASchema := BusinessProcessor.Schema; + ACurrentConn := GetBusinessProcessorConnection(BusinessProcessor); + + ACommand := ASchema.NewCommand(ACurrentConn, 'Insert_InstaladoresDatos'); + try + with ACommand do + begin + ParamByName('ID_Instalador').Value := aChange.NewValueByName[fld_InstaladoresID]; + ParamByName('ID_USUARIO').Value := aChange.NewValueByName[fld_InstaladoresID_USUARIO]; + ParamByName('COMISION').Value := aChange.NewValueByName[fld_InstaladoresCOMISION]; + Execute; + end; + finally + ACommand := NIL; + end; +} +end; + +procedure TBizInstaladorServer.Update_Datos_Contacto(aChange: TDADeltaChange); +var + ASchema : TDASchema; + ACurrentConn : IDAConnection; + ACommand : IDASQLCommand; +begin + inherited; +{ + ASchema := BusinessProcessor.Schema; + ACurrentConn := GetBusinessProcessorConnection(BusinessProcessor); + + ACommand := ASchema.NewCommand(ACurrentConn, 'Update_InstaladoresDatos'); + try + with ACommand do + begin + ParamByName('OLD_ID_Instalador').Value := aChange.OldValueByName[fld_InstaladoresID]; + ParamByName('ID_USUARIO').Value := aChange.NewValueByName[fld_InstaladoresID_USUARIO]; + ParamByName('COMISION').Value := aChange.NewValueByName[fld_InstaladoresCOMISION]; + Execute; + end; + finally + ACommand := NIL; + end; +} +end; + +initialization + RegisterBusinessProcessorRules(BIZ_SERVER_INSTALADOR, TBizInstaladorServer); + +end.