From 2d1957540b083c90e8ec0fdcc9e668840669d7e4 Mon Sep 17 00:00:00 2001 From: roberto Date: Fri, 4 Jan 2008 15:58:34 +0000 Subject: [PATCH] Subida de procedencias de cliente para las fichas de cliente git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES2/trunk@94 f4e31baf-9722-1c47-927c-6f952f962d4b --- Source/FactuGES.inc | 1 + .../Controller/Contactos_controller.dpk | 15 +- .../Controller/Contactos_controller.dproj | 36 +- .../Controller/Contactos_controller.res | Bin 384 -> 4748 bytes .../View/uIEditorProcedenciasCliente.pas | 23 + .../uProcedenciasClienteController.pas | 227 +++++++++ .../Contactos/Data/uDataModuleClientes.dfm | 33 +- .../Contactos/Data/uDataModuleClientes.pas | 21 +- .../Contactos/Data/uDataModuleProveedores.dfm | 1 + .../Contactos/Model/Contactos_model.dpk | 3 +- .../Contactos/Model/Contactos_model.dproj | 1 + .../Contactos/Model/Contactos_model.res | Bin 384 -> 4748 bytes .../Model/Data/uIDataModuleClientes.pas | 4 +- .../Model/schContactosClient_Intf.pas | 186 +++++-- .../Model/schContactosServer_Intf.pas | 170 ++++++- .../Contactos/Model/uBizClientesServer.pas | 2 + .../Modulos/Contactos/Model/uBizContactos.pas | 21 +- .../Model/uBizProcedenciasCliente.pas | 27 + .../Contactos/Plugin/uPluginContactos.dfm | 8 + .../Contactos/Plugin/uPluginContactos.pas | 21 +- .../Contactos/Servidor/srvContactos_Impl.dfm | 64 ++- .../Contactos/Servidor/srvContactos_Impl.pas | 1 + .../Contactos/Views/Contactos_view.dpk | Bin 3770 -> 4064 bytes .../Contactos/Views/Contactos_view.dproj | 41 +- .../Views/uContactosViewRegister.pas | 7 +- .../Views/uEditorProcedenciasCliente.dfm | 138 ++++++ .../Views/uEditorProcedenciasCliente.pas | 179 +++++++ .../Modulos/Contactos/Views/uViewCliente.dfm | 179 ++++--- .../Modulos/Contactos/Views/uViewCliente.pas | 53 +- Source/Servidor/FactuGES_Server.dpr | 6 +- Source/Servidor/FactuGES_Server.dproj | 460 +++++++++--------- 31 files changed, 1518 insertions(+), 410 deletions(-) create mode 100644 Source/FactuGES.inc create mode 100644 Source/Modulos/Contactos/Controller/View/uIEditorProcedenciasCliente.pas create mode 100644 Source/Modulos/Contactos/Controller/uProcedenciasClienteController.pas create mode 100644 Source/Modulos/Contactos/Model/uBizProcedenciasCliente.pas create mode 100644 Source/Modulos/Contactos/Views/uEditorProcedenciasCliente.dfm create mode 100644 Source/Modulos/Contactos/Views/uEditorProcedenciasCliente.pas diff --git a/Source/FactuGES.inc b/Source/FactuGES.inc new file mode 100644 index 00000000..50642759 --- /dev/null +++ b/Source/FactuGES.inc @@ -0,0 +1 @@ +{DEFINE ALMACEN} \ No newline at end of file diff --git a/Source/Modulos/Contactos/Controller/Contactos_controller.dpk b/Source/Modulos/Contactos/Controller/Contactos_controller.dpk index 45199c59..ca6c0024 100644 --- a/Source/Modulos/Contactos/Controller/Contactos_controller.dpk +++ b/Source/Modulos/Contactos/Controller/Contactos_controller.dpk @@ -32,7 +32,16 @@ requires ApplicationBase, Contactos_model, Contactos_data, - Contabilidad_controller; + Contabilidad_controller, + dbrtl, + RemObjects_Core_D11, + DataAbstract_Core_D11, + vcldb, + dsnap, + adortl, + cxLibraryD11, + dxThemeD11, + dxGDIPlusD11; contains uContactosController in 'uContactosController.pas', @@ -62,6 +71,8 @@ contains uFichasEmpleadoReportController in 'uFichasEmpleadoReportController.pas', uIEditorFichasEmpleadoPreview in 'View\uIEditorFichasEmpleadoPreview.pas', uEtiquetasContactosReportController in 'uEtiquetasContactosReportController.pas', - uIEditorEtiquetasContactosPreview in 'View\uIEditorEtiquetasContactosPreview.pas'; + uIEditorEtiquetasContactosPreview in 'View\uIEditorEtiquetasContactosPreview.pas', + uProcedenciasClienteController in 'uProcedenciasClienteController.pas', + uIEditorProcedenciasCliente in 'View\uIEditorProcedenciasCliente.pas'; end. diff --git a/Source/Modulos/Contactos/Controller/Contactos_controller.dproj b/Source/Modulos/Contactos/Controller/Contactos_controller.dproj index 35ea573d..55487b2e 100644 --- a/Source/Modulos/Contactos/Controller/Contactos_controller.dproj +++ b/Source/Modulos/Contactos/Controller/Contactos_controller.dproj @@ -43,6 +43,15 @@ Package FalseTrueFalseTrueFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0 + + + + + + + + + JCL Debug IDE extension JCL Project Analyzer JCL Open and Save IDE dialogs with favorite folders @@ -53,14 +62,6 @@ MainSource - - - - - - - - @@ -70,7 +71,23 @@ + + + + + + + + + + + + + + + + @@ -87,8 +104,11 @@ + + + diff --git a/Source/Modulos/Contactos/Controller/Contactos_controller.res b/Source/Modulos/Contactos/Controller/Contactos_controller.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/Contactos/Controller/View/uIEditorProcedenciasCliente.pas b/Source/Modulos/Contactos/Controller/View/uIEditorProcedenciasCliente.pas new file mode 100644 index 00000000..6cd97f66 --- /dev/null +++ b/Source/Modulos/Contactos/Controller/View/uIEditorProcedenciasCliente.pas @@ -0,0 +1,23 @@ +unit uIEditorProcedenciasCliente; + +interface + +uses + uEditorDBBase, uBizProcedenciasCliente, uProcedenciasClienteController; + +type + IEditorProcedenciasCliente = interface(IEditorDBBase) + ['{E4FD5FEA-9771-40FD-AC69-600BE859ECCE}'] + function GetProcedenciasCliente: IBizProcedenciaCliente; + procedure SetProcedenciasCliente(const Value: IBizProcedenciaCliente); + property ProcedenciasCliente: IBizProcedenciaCliente read GetProcedenciasCliente write SetProcedenciasCliente; + + function GetController : IProcedenciasClienteController; + procedure SetController (const Value : IProcedenciasClienteController); + property Controller : IProcedenciasClienteController read GetController write SetController; + end; + + +implementation + +end. diff --git a/Source/Modulos/Contactos/Controller/uProcedenciasClienteController.pas b/Source/Modulos/Contactos/Controller/uProcedenciasClienteController.pas new file mode 100644 index 00000000..6abd7b55 --- /dev/null +++ b/Source/Modulos/Contactos/Controller/uProcedenciasClienteController.pas @@ -0,0 +1,227 @@ +unit uProcedenciasClienteController; + +interface + + +uses + Classes, SysUtils, uDADataTable, uControllerBase, uEditorDBItem, + uIDataModuleClientes, uBizProcedenciasCliente; + +type + IProcedenciasClienteController = interface(IObservador) + ['{C2D71CED-DCD6-47F1-8BCA-1027DA4A6385}'] + function BuscarTodos: IBizProcedenciaCliente; + procedure VerTodos(AProcedenciasCliente: IBizProcedenciaCliente); + procedure Anadir(AProcedenciaCliente : IBizProcedenciaCliente); + function Eliminar(AProcedenciaCliente : IBizProcedenciaCliente): Boolean; + function Guardar(AProcedenciaCliente : IBizProcedenciaCliente): Boolean; + procedure DescartarCambios(AProcedenciaCliente : IBizProcedenciaCliente); + function Localizar(AProcedenciasCliente: IBizProcedenciaCliente; ADescripcion:String): Boolean; + function DarListaProcedenciasCliente: TStringList; + end; + + TProcedenciasClienteController = class(TObservador, IProcedenciasClienteController) + protected + FDataModule : IDataModuleClientes; + procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); override; + function CreateEditor(const AName : String; const IID: TGUID; out Intf): Boolean; + function ValidarProcedenciaCliente(AProcedenciaCliente: IBizProcedenciaCliente): Boolean; + procedure AsignarDataModule; virtual; + public + constructor Create; override; + destructor Destroy; override; + + function Eliminar(AProcedenciaCliente : IBizProcedenciaCliente): Boolean; + function Guardar(AProcedenciaCliente : IBizProcedenciaCliente): Boolean; + procedure DescartarCambios(AProcedenciaCliente : IBizProcedenciaCliente); virtual; + procedure Anadir(AProcedenciaCliente : IBizProcedenciaCliente); + function BuscarTodos: IBizProcedenciaCliente; + procedure VerTodos(AProcedenciasCliente: IBizProcedenciaCliente); + function Localizar(AProcedenciasCliente: IBizProcedenciaCliente; ADescripcion:String): Boolean; + function DarListaProcedenciasCliente: TStringList; + end; + +implementation + +uses + cxControls, DB, uEditorRegistryUtils, + uIEditorProcedenciasCliente, uDataModuleClientes, + uDAInterfaces, uDataTableUtils, + uDateUtils, uROTypes, DateUtils, Controls, Windows, schContactosClient_Intf; + +{ TProcedenciasClienteController } + +procedure TProcedenciasClienteController.Anadir(AProcedenciaCliente: IBizProcedenciaCliente); +begin + AProcedenciaCliente.Insert; +end; + +procedure TProcedenciasClienteController.AsignarDataModule; +begin + FDataModule := TDataModuleClientes.Create(Nil); +end; + +function TProcedenciasClienteController.BuscarTodos: IBizProcedenciaCliente; +begin + Result := FDataModule.GetProcedenciasCliente; +end; + +constructor TProcedenciasClienteController.Create; +begin + inherited; + AsignarDataModule; +end; + +function TProcedenciasClienteController.CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean; +begin + Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf); +end; + +function TProcedenciasClienteController.DarListaProcedenciasCliente: TStringList; +var + AProcedenciasCliente: IBizProcedenciaCliente; +begin + AProcedenciasCliente := BuscarTodos; + AProcedenciasCliente.DataTable.Active := True; + Result := TStringList.Create; + try + with Result do + begin + AProcedenciasCliente.DataTable.First; + while not AProcedenciasCliente.DataTable.EOF do + begin + Add(AProcedenciasCliente.DESCRIPCION); + AProcedenciasCliente.DataTable.Next; + end; + end; + finally + AProcedenciasCliente := NIL; + end; +end; + +procedure TProcedenciasClienteController.DescartarCambios(AProcedenciaCliente: IBizProcedenciaCliente); +begin + if not Assigned(AProcedenciaCliente) then + raise Exception.Create ('ProcedenciaCliente no asignado'); + + ShowHourglassCursor; + try + if (AProcedenciaCliente.State in dsEditModes) then + AProcedenciaCliente.Cancel; + + AProcedenciaCliente.DataTable.CancelUpdates; + finally + HideHourglassCursor; + end; +end; + +destructor TProcedenciasClienteController.Destroy; +begin + FDataModule := Nil; + inherited; +end; + +function TProcedenciasClienteController.ValidarProcedenciaCliente(AProcedenciaCliente: IBizProcedenciaCliente): Boolean; +begin + Result := False; + + if not Assigned(AProcedenciaCliente) then + raise Exception.Create ('ProcedenciaCliente no asignada'); + + if (AProcedenciaCliente.DataTable.State in dsEditModes) then + AProcedenciaCliente.DataTable.Post; + + if Length(AProcedenciaCliente.DESCRIPCION) = 0 then + raise Exception.Create('Debe indicar al menos la descripción de esta procedencia.'); + + Result := True; +end; + +procedure TProcedenciasClienteController.VerTodos(AProcedenciasCliente: IBizProcedenciaCliente); +var + AEditor : IEditorProcedenciasCliente; +begin + AEditor := NIL; + ShowHourglassCursor; + try + CreateEditor('EditorProcedenciasCliente', IEditorProcedenciasCliente, AEditor); + if Assigned(AEditor) then + with AEditor do + begin + Controller := Self; //OJO ORDEN MUY IMPORTANTE + ProcedenciasCliente := AProcedenciasCliente; + ShowModal; + Release; + end; + finally + AEditor := NIL; + HideHourglassCursor; + end; +end; + +function TProcedenciasClienteController.Eliminar(AProcedenciaCliente: IBizProcedenciaCliente): Boolean; +begin + Result := False; + + if not Assigned(AProcedenciaCliente) then + raise Exception.Create ('ProcedenciaCliente no asignada'); + + ShowHourglassCursor; + try + if (AProcedenciaCliente.State in dsEditModes) then + AProcedenciaCliente.Cancel; + + AProcedenciaCliente.Delete; + AProcedenciaCliente.DataTable.ApplyUpdates; + HideHourglassCursor; + Result := True; + finally + HideHourglassCursor; + end; +end; + +procedure TProcedenciasClienteController.RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); +begin + inherited; +// +end; + +function TProcedenciasClienteController.Guardar(AProcedenciaCliente: IBizProcedenciaCliente): Boolean; +begin + Result := False; + + if ValidarProcedenciaCliente(AProcedenciaCliente) then + begin + ShowHourglassCursor; + try + if (AProcedenciaCliente.DataTable.State in dsEditModes) then + AProcedenciaCliente.DataTable.Post; + + AProcedenciaCliente.DataTable.ApplyUpdates; + + Result := True; + finally + HideHourglassCursor; + end; + end; +end; + +function TProcedenciasClienteController.Localizar(AProcedenciasCliente: IBizProcedenciaCliente; ADescripcion: String): Boolean; +begin + Result := True; + ShowHourglassCursor; + try + with AProcedenciasCliente.DataTable do + begin + DisableControls; + First; + if not Locate(fld_ProcedenciasClienteDESCRIPCION, ADescripcion, []) then + Result := False; + EnableControls; + end; + finally + HideHourglassCursor; + end; +end; + +end. diff --git a/Source/Modulos/Contactos/Data/uDataModuleClientes.dfm b/Source/Modulos/Contactos/Data/uDataModuleClientes.dfm index 5cd9d287..b83851e7 100644 --- a/Source/Modulos/Contactos/Data/uDataModuleClientes.dfm +++ b/Source/Modulos/Contactos/Data/uDataModuleClientes.dfm @@ -1,6 +1,6 @@ inherited DataModuleClientes: TDataModuleClientes Height = 325 - Width = 701 + Width = 738 inherited rda_Contactos: TDARemoteDataAdapter Top = 79 end @@ -249,6 +249,13 @@ inherited DataModuleClientes: TDataModuleClientes DataType = datInteger DisplayLabel = 'Clientes_IGNORAR_CONTABILIDAD' DictionaryEntry = 'Clientes_IGNORAR_CONTABILIDAD' + end + item + Name = 'PROCEDENCIA_CLIENTE' + DataType = datString + Size = 255 + DisplayLabel = 'Clientes_PROCEDENCIA_CLIENTE' + DictionaryEntry = 'Clientes_PROCEDENCIA_CLIENTE' end> Params = <> StreamingOptions = [soDisableEventsWhileStreaming] @@ -414,4 +421,28 @@ inherited DataModuleClientes: TDataModuleClientes Left = 600 Top = 16 end + object tbl_ProcedenciasCliente: TDAMemDataTable + RemoteUpdatesOptions = [] + Fields = < + item + Name = 'DESCRIPCION' + DataType = datString + Size = 255 + end> + Params = <> + StreamingOptions = [soDisableEventsWhileStreaming] + RemoteDataAdapter = rda_Contactos + DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] + MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] + LogicalName = 'ProcedenciasCliente' + IndexDefs = <> + Left = 648 + Top = 168 + end + object ds_ProcedenciasCliente: TDADataSource + DataSet = tbl_ProcedenciasCliente.Dataset + DataTable = tbl_ProcedenciasCliente + Left = 648 + Top = 224 + end end diff --git a/Source/Modulos/Contactos/Data/uDataModuleClientes.pas b/Source/Modulos/Contactos/Data/uDataModuleClientes.pas index 9d9ff00e..fef2facf 100644 --- a/Source/Modulos/Contactos/Data/uDataModuleClientes.pas +++ b/Source/Modulos/Contactos/Data/uDataModuleClientes.pas @@ -7,8 +7,8 @@ uses DB, uDADataTable, uDAScriptingProvider, uDACDSDataTable, uDABINAdapter, uROServiceComponent, uRORemoteService, uROClient, uROBinMessage, uROWinInetHttpChannel, uBizClientesDescuentos, - uBizGruposCliente, uBizContactos, uBizSubCuentasContacto, uDataModuleContactos, - uIDataModuleClientes, uDADesigntimeCall, uDARemoteDataAdapter, + uBizGruposCliente, uBizProcedenciasCliente, uBizContactos, uBizSubCuentasContacto, + uDataModuleContactos, uIDataModuleClientes, uDADesigntimeCall, uDARemoteDataAdapter, uDADataStreamer, uRODynamicRequest, uDAInterfaces, uDAMemDataTable, uDABin2DataStreamer, uControllerBase, uBizContactosDatosBancarios, uIDataModuleContactos; @@ -23,6 +23,8 @@ type ds_GruposCliente: TDADataSource; tbl_SubCuentasContacto: TDAMemDataTable; ds_SubCuentasContacto: TDADataSource; + tbl_ProcedenciasCliente: TDAMemDataTable; + ds_ProcedenciasCliente: TDADataSource; protected function _GetDescuentos: IBizClienteDescuentos; function _GetSubCuentas: IBizSubCuentasContacto; @@ -32,6 +34,7 @@ type function GetItems : IBizCliente; function GetItemsTiendaWeb : IBizCliente; function GetGruposCliente : IBizGrupoCliente; + function GetProcedenciasCliente : IBizProcedenciaCliente; end; implementation @@ -127,6 +130,20 @@ begin end; end; +function TDataModuleClientes.GetProcedenciasCliente: IBizProcedenciaCliente; +var + AProcedenciaCliente : TDAMemDataTable; +begin + ShowHourglassCursor; + try + AProcedenciaCliente := CloneDataTable(tbl_ProcedenciasCliente); + AProcedenciaCliente.BusinessRulesID := BIZ_CLIENT_PROCEDENCIASCLIENTE; + Result := (AProcedenciaCliente as IBizProcedenciaCliente); + finally + HideHourglassCursor; + end; +end; + function TDataModuleClientes.NewItem: IBizCliente; begin Result := GetItem(ID_NULO) diff --git a/Source/Modulos/Contactos/Data/uDataModuleProveedores.dfm b/Source/Modulos/Contactos/Data/uDataModuleProveedores.dfm index ebd66f15..06ff30c9 100644 --- a/Source/Modulos/Contactos/Data/uDataModuleProveedores.dfm +++ b/Source/Modulos/Contactos/Data/uDataModuleProveedores.dfm @@ -220,6 +220,7 @@ inherited DataModuleProveedores: TDataModuleProveedores item Name = 'GRUPO_PROVEEDOR' DataType = datString + Size = 255 DisplayLabel = 'Grupo proveedor' DictionaryEntry = 'Proveedores_GRUPO_PROVEEDOR' end diff --git a/Source/Modulos/Contactos/Model/Contactos_model.dpk b/Source/Modulos/Contactos/Model/Contactos_model.dpk index 6c49acaf..4d6a62e5 100644 --- a/Source/Modulos/Contactos/Model/Contactos_model.dpk +++ b/Source/Modulos/Contactos/Model/Contactos_model.dpk @@ -54,6 +54,7 @@ contains uIDataModuleEtiquetasContactosReport in 'Data\uIDataModuleEtiquetasContactosReport.pas', schContactosClient_Intf in 'schContactosClient_Intf.pas', schContactosServer_Intf in 'schContactosServer_Intf.pas', - uBizSubCuentasContacto in 'uBizSubCuentasContacto.pas'; + uBizSubCuentasContacto in 'uBizSubCuentasContacto.pas', + uBizProcedenciasCliente in 'uBizProcedenciasCliente.pas'; end. diff --git a/Source/Modulos/Contactos/Model/Contactos_model.dproj b/Source/Modulos/Contactos/Model/Contactos_model.dproj index c4958cc7..eaab2bdc 100644 --- a/Source/Modulos/Contactos/Model/Contactos_model.dproj +++ b/Source/Modulos/Contactos/Model/Contactos_model.dproj @@ -74,6 +74,7 @@ + diff --git a/Source/Modulos/Contactos/Model/Contactos_model.res b/Source/Modulos/Contactos/Model/Contactos_model.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/Contactos/Model/Data/uIDataModuleClientes.pas b/Source/Modulos/Contactos/Model/Data/uIDataModuleClientes.pas index f61e519e..b23850d7 100644 --- a/Source/Modulos/Contactos/Model/Data/uIDataModuleClientes.pas +++ b/Source/Modulos/Contactos/Model/Data/uIDataModuleClientes.pas @@ -3,7 +3,8 @@ unit uIDataModuleClientes; interface uses - uBizContactos, uIDataModuleContactos, uBizGruposCliente, uBizContactosDatosBancarios; + uBizContactos, uIDataModuleContactos, uBizGruposCliente, uBizProcedenciasCliente, + uBizContactosDatosBancarios; type IDataModuleClientes = interface(IDataModuleContactos) @@ -16,6 +17,7 @@ type function GetItems : IBizCliente; function GetItemsTiendaWeb : IBizCliente; function GetGruposCliente : IBizGrupoCliente; + function GetProcedenciasCliente : IBizProcedenciaCliente; end; diff --git a/Source/Modulos/Contactos/Model/schContactosClient_Intf.pas b/Source/Modulos/Contactos/Model/schContactosClient_Intf.pas index 72b94746..24ac6125 100644 --- a/Source/Modulos/Contactos/Model/schContactosClient_Intf.pas +++ b/Source/Modulos/Contactos/Model/schContactosClient_Intf.pas @@ -3,24 +3,25 @@ unit schContactosClient_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_SubCuentasContacto = '{4E9A4351-6088-4C3D-89BE-5C2045F3142E}'; - RID_Contactos = '{7488A5BA-619B-4BAB-A118-BCED33A85729}'; - RID_GruposCliente = '{3581CC88-21B9-4C30-A3AE-7565C18C3290}'; - RID_DatosBancarios = '{039C7134-AC7B-45EE-B678-BF31C4266A3E}'; - RID_Clientes = '{39651BB6-A46C-4E18-8370-B7E381F5E438}'; - RID_Proveedores = '{4E9E99D2-0F82-481A-9BD2-6178349034A0}'; - RID_Empleados = '{C0B6AA11-68AE-4658-9308-8C29C5F0936D}'; - RID_DireccionesContacto = '{EF3A2758-0CBE-4482-8770-91AD4F993A04}'; - RID_ClientesDescuentos = '{D64874F0-7499-4AC8-B3F1-DC1D63923CE9}'; - RID_GruposProveedor = '{86B9993A-ECB2-43E3-BA37-2C8DD53497A8}'; - RID_GruposEmpleado = '{877D71DA-AE8B-4B26-969F-AAA4DB1405D1}'; - RID_Contactos_Refresh = '{8758F490-8118-4E61-AC27-3925D66A739C}'; + RID_SubCuentasContacto = '{453B7BA1-323F-417A-8B42-F56AAB9BC9ED}'; + RID_Contactos = '{6EA22F95-6490-4206-AEFC-464E2445D2F6}'; + RID_GruposCliente = '{51F47DED-0BF8-43BE-AF8B-BEB6D5C15CE9}'; + RID_DatosBancarios = '{674DE4ED-7DD8-4D41-BE3C-622E01369871}'; + RID_Clientes = '{9FB6B0C3-74B1-4017-BAB3-8C34BA5188D9}'; + RID_Proveedores = '{C7CA7A82-6DFA-4038-B95F-FFF7029458A1}'; + RID_Empleados = '{01B148F8-50BB-4463-97A0-AF187AEDB96E}'; + RID_DireccionesContacto = '{2359A18E-A102-43D1-9921-22654D3DC341}'; + RID_ClientesDescuentos = '{29CCEAE4-2C27-4206-8993-DBBE74270B7C}'; + RID_ProcedenciasCliente = '{E5CFB5E4-8EC2-406C-91D7-F1228EE19FF9}'; + RID_GruposProveedor = '{61FBEB42-8215-4F10-A664-73961B921082}'; + RID_GruposEmpleado = '{1CDC7280-FFB2-4288-AEE4-D80883BD9E17}'; + RID_Contactos_Refresh = '{52B9CB54-1DF8-4CC7-ACB7-E52676886614}'; { Data table names } nme_SubCuentasContacto = 'SubCuentasContacto'; @@ -32,6 +33,7 @@ const nme_Empleados = 'Empleados'; nme_DireccionesContacto = 'DireccionesContacto'; nme_ClientesDescuentos = 'ClientesDescuentos'; + nme_ProcedenciasCliente = 'ProcedenciasCliente'; nme_GruposProveedor = 'GruposProveedor'; nme_GruposEmpleado = 'GruposEmpleado'; nme_Contactos_Refresh = 'Contactos_Refresh'; @@ -166,6 +168,7 @@ const fld_ClientesTIENDA_WEB = 'TIENDA_WEB'; fld_ClientesCODIGO_ASIGNADO = 'CODIGO_ASIGNADO'; fld_ClientesIGNORAR_CONTABILIDAD = 'IGNORAR_CONTABILIDAD'; + fld_ClientesPROCEDENCIA_CLIENTE = 'PROCEDENCIA_CLIENTE'; { Clientes field indexes } idx_ClientesID = 0; @@ -203,6 +206,7 @@ const idx_ClientesTIENDA_WEB = 32; idx_ClientesCODIGO_ASIGNADO = 33; idx_ClientesIGNORAR_CONTABILIDAD = 34; + idx_ClientesPROCEDENCIA_CLIENTE = 35; { Proveedores fields } fld_ProveedoresID = 'ID'; @@ -390,6 +394,12 @@ const idx_ClientesDescuentosNOMBRE = 3; idx_ClientesDescuentosDESCUENTO = 4; + { ProcedenciasCliente fields } + fld_ProcedenciasClienteDESCRIPCION = 'DESCRIPCION'; + + { ProcedenciasCliente field indexes } + idx_ProcedenciasClienteDESCRIPCION = 0; + { GruposProveedor fields } fld_GruposProveedorDESCRIPCION = 'DESCRIPCION'; @@ -451,7 +461,7 @@ const type { ISubCuentasContacto } ISubCuentasContacto = interface(IDAStronglyTypedDataTable) - ['{67E58E93-5163-41A9-86BD-6D2721F65D18}'] + ['{636CE6F2-F39C-4581-B6EE-74C8DC674858}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -495,7 +505,7 @@ type end; { TSubCuentasContactoDataTableRules } - TSubCuentasContactoDataTableRules = class(TIntfObjectDADataTableRules, ISubCuentasContacto) + TSubCuentasContactoDataTableRules = class(TDADataTableRules, ISubCuentasContacto) private protected { Property getters and setters } @@ -546,7 +556,7 @@ type { IContactos } IContactos = interface(IDAStronglyTypedDataTable) - ['{FCE955D0-D867-4E9E-AEF2-9CAEA0B6E1DC}'] + ['{F8E773E0-524E-471D-9D40-E2E1F76CEB23}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -691,7 +701,7 @@ type end; { TContactosDataTableRules } - TContactosDataTableRules = class(TIntfObjectDADataTableRules, IContactos) + TContactosDataTableRules = class(TDADataTableRules, IContactos) private f_NOTAS: IROStrings; procedure NOTAS_OnChange(Sender: TObject); @@ -845,7 +855,7 @@ type { IGruposCliente } IGruposCliente = interface(IDAStronglyTypedDataTable) - ['{A2060827-0FC3-452C-9EC0-A58E54F95402}'] + ['{57B3966E-B7C9-4DBF-8ADE-A988221D08FB}'] { Property getters and setters } function GetDESCRIPCIONValue: String; procedure SetDESCRIPCIONValue(const aValue: String); @@ -859,7 +869,7 @@ type end; { TGruposClienteDataTableRules } - TGruposClienteDataTableRules = class(TIntfObjectDADataTableRules, IGruposCliente) + TGruposClienteDataTableRules = class(TDADataTableRules, IGruposCliente) private protected { Property getters and setters } @@ -880,7 +890,7 @@ type { IDatosBancarios } IDatosBancarios = interface(IDAStronglyTypedDataTable) - ['{91DB169A-8525-43B6-BCA9-DED818C22BFF}'] + ['{C11E1061-38CA-4050-843F-A4BCA66BB16A}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -942,7 +952,7 @@ type end; { TDatosBancariosDataTableRules } - TDatosBancariosDataTableRules = class(TIntfObjectDADataTableRules, IDatosBancarios) + TDatosBancariosDataTableRules = class(TDADataTableRules, IDatosBancarios) private protected { Property getters and setters } @@ -1011,7 +1021,7 @@ type { IClientes } IClientes = interface(IDAStronglyTypedDataTable) - ['{EEA29F68-9A96-461E-9D7B-1AA1D0E26123}'] + ['{4BE233B1-CAA0-4046-90DD-AE98874CA216}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -1152,6 +1162,10 @@ type procedure SetIGNORAR_CONTABILIDADValue(const aValue: Integer); function GetIGNORAR_CONTABILIDADIsNull: Boolean; procedure SetIGNORAR_CONTABILIDADIsNull(const aValue: Boolean); + function GetPROCEDENCIA_CLIENTEValue: String; + procedure SetPROCEDENCIA_CLIENTEValue(const aValue: String); + function GetPROCEDENCIA_CLIENTEIsNull: Boolean; + procedure SetPROCEDENCIA_CLIENTEIsNull(const aValue: Boolean); { Properties } @@ -1225,10 +1239,12 @@ type property CODIGO_ASIGNADOIsNull: Boolean read GetCODIGO_ASIGNADOIsNull write SetCODIGO_ASIGNADOIsNull; property IGNORAR_CONTABILIDAD: Integer read GetIGNORAR_CONTABILIDADValue write SetIGNORAR_CONTABILIDADValue; property IGNORAR_CONTABILIDADIsNull: Boolean read GetIGNORAR_CONTABILIDADIsNull write SetIGNORAR_CONTABILIDADIsNull; + property PROCEDENCIA_CLIENTE: String read GetPROCEDENCIA_CLIENTEValue write SetPROCEDENCIA_CLIENTEValue; + property PROCEDENCIA_CLIENTEIsNull: Boolean read GetPROCEDENCIA_CLIENTEIsNull write SetPROCEDENCIA_CLIENTEIsNull; end; { TClientesDataTableRules } - TClientesDataTableRules = class(TIntfObjectDADataTableRules, IClientes) + TClientesDataTableRules = class(TDADataTableRules, IClientes) private f_NOTAS: IROStrings; procedure NOTAS_OnChange(Sender: TObject); @@ -1373,6 +1389,10 @@ type procedure SetIGNORAR_CONTABILIDADValue(const aValue: Integer); virtual; function GetIGNORAR_CONTABILIDADIsNull: Boolean; virtual; procedure SetIGNORAR_CONTABILIDADIsNull(const aValue: Boolean); virtual; + function GetPROCEDENCIA_CLIENTEValue: String; virtual; + procedure SetPROCEDENCIA_CLIENTEValue(const aValue: String); virtual; + function GetPROCEDENCIA_CLIENTEIsNull: Boolean; virtual; + procedure SetPROCEDENCIA_CLIENTEIsNull(const aValue: Boolean); virtual; { Properties } property ID: Integer read GetIDValue write SetIDValue; @@ -1445,6 +1465,8 @@ type property CODIGO_ASIGNADOIsNull: Boolean read GetCODIGO_ASIGNADOIsNull write SetCODIGO_ASIGNADOIsNull; property IGNORAR_CONTABILIDAD: Integer read GetIGNORAR_CONTABILIDADValue write SetIGNORAR_CONTABILIDADValue; property IGNORAR_CONTABILIDADIsNull: Boolean read GetIGNORAR_CONTABILIDADIsNull write SetIGNORAR_CONTABILIDADIsNull; + property PROCEDENCIA_CLIENTE: String read GetPROCEDENCIA_CLIENTEValue write SetPROCEDENCIA_CLIENTEValue; + property PROCEDENCIA_CLIENTEIsNull: Boolean read GetPROCEDENCIA_CLIENTEIsNull write SetPROCEDENCIA_CLIENTEIsNull; public constructor Create(aDataTable: TDADataTable); override; @@ -1454,7 +1476,7 @@ type { IProveedores } IProveedores = interface(IDAStronglyTypedDataTable) - ['{9EFD8DE5-E98C-4071-8CF6-E75A9AA9E3C3}'] + ['{78D65CFD-5B95-4EBB-B4D6-AE67A41A26DC}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -1665,7 +1687,7 @@ type end; { TProveedoresDataTableRules } - TProveedoresDataTableRules = class(TIntfObjectDADataTableRules, IProveedores) + TProveedoresDataTableRules = class(TDADataTableRules, IProveedores) private f_NOTAS: IROStrings; procedure NOTAS_OnChange(Sender: TObject); @@ -1885,7 +1907,7 @@ type { IEmpleados } IEmpleados = interface(IDAStronglyTypedDataTable) - ['{6A39017E-6CFF-4DA5-9685-9CA1F72AD052}'] + ['{BABFCBDE-10A2-4F2F-8C00-FA5F273552BB}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -2068,7 +2090,7 @@ type end; { TEmpleadosDataTableRules } - TEmpleadosDataTableRules = class(TIntfObjectDADataTableRules, IEmpleados) + TEmpleadosDataTableRules = class(TDADataTableRules, IEmpleados) private f_NOTAS: IROStrings; f_FORMACION_BASE: IROStrings; @@ -2268,7 +2290,7 @@ type { IDireccionesContacto } IDireccionesContacto = interface(IDAStronglyTypedDataTable) - ['{FC464110-B68D-47F7-B110-E8F0CAB02469}'] + ['{A1E4440E-7C2B-47D0-9F5B-1C05EA949260}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -2371,7 +2393,7 @@ type end; { TDireccionesContactoDataTableRules } - TDireccionesContactoDataTableRules = class(TIntfObjectDADataTableRules, IDireccionesContacto) + TDireccionesContactoDataTableRules = class(TDADataTableRules, IDireccionesContacto) private f_NOTAS: IROStrings; procedure NOTAS_OnChange(Sender: TObject); @@ -2483,7 +2505,7 @@ type { IClientesDescuentos } IClientesDescuentos = interface(IDAStronglyTypedDataTable) - ['{E18F5CD7-822B-48C7-9C22-A13591398D44}'] + ['{36595819-5873-4417-861E-965E05572490}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -2521,7 +2543,7 @@ type end; { TClientesDescuentosDataTableRules } - TClientesDescuentosDataTableRules = class(TIntfObjectDADataTableRules, IClientesDescuentos) + TClientesDescuentosDataTableRules = class(TDADataTableRules, IClientesDescuentos) private protected { Property getters and setters } @@ -2564,9 +2586,44 @@ type end; + { IProcedenciasCliente } + IProcedenciasCliente = interface(IDAStronglyTypedDataTable) + ['{B40342B9-D515-44CE-B625-AB2A28D1A492}'] + { Property getters and setters } + function GetDESCRIPCIONValue: String; + procedure SetDESCRIPCIONValue(const aValue: String); + function GetDESCRIPCIONIsNull: Boolean; + procedure SetDESCRIPCIONIsNull(const aValue: Boolean); + + + { Properties } + property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue; + property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull; + end; + + { TProcedenciasClienteDataTableRules } + TProcedenciasClienteDataTableRules = class(TDADataTableRules, IProcedenciasCliente) + private + protected + { Property getters and setters } + function GetDESCRIPCIONValue: String; virtual; + procedure SetDESCRIPCIONValue(const aValue: String); virtual; + function GetDESCRIPCIONIsNull: Boolean; virtual; + procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual; + + { Properties } + property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue; + property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull; + + public + constructor Create(aDataTable: TDADataTable); override; + destructor Destroy; override; + + end; + { IGruposProveedor } IGruposProveedor = interface(IDAStronglyTypedDataTable) - ['{CA3DAC4A-3007-47A3-89C2-B8D256F3302E}'] + ['{D71CE338-57E9-4A9F-9FDF-930F8A604CC2}'] { Property getters and setters } function GetDESCRIPCIONValue: String; procedure SetDESCRIPCIONValue(const aValue: String); @@ -2580,7 +2637,7 @@ type end; { TGruposProveedorDataTableRules } - TGruposProveedorDataTableRules = class(TIntfObjectDADataTableRules, IGruposProveedor) + TGruposProveedorDataTableRules = class(TDADataTableRules, IGruposProveedor) private protected { Property getters and setters } @@ -2601,7 +2658,7 @@ type { IGruposEmpleado } IGruposEmpleado = interface(IDAStronglyTypedDataTable) - ['{69A5969A-4106-4587-BAED-06541567A599}'] + ['{9D1C5665-2840-4EC1-B63D-341C8A2D30DC}'] { Property getters and setters } function GetDESCRIPCIONValue: String; procedure SetDESCRIPCIONValue(const aValue: String); @@ -2615,7 +2672,7 @@ type end; { TGruposEmpleadoDataTableRules } - TGruposEmpleadoDataTableRules = class(TIntfObjectDADataTableRules, IGruposEmpleado) + TGruposEmpleadoDataTableRules = class(TDADataTableRules, IGruposEmpleado) private protected { Property getters and setters } @@ -2636,7 +2693,7 @@ type { IContactos_Refresh } IContactos_Refresh = interface(IDAStronglyTypedDataTable) - ['{862C6067-8EDC-4805-8BA3-3131D61764C6}'] + ['{8411F090-017B-41A0-814D-1AB25F794BA4}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -2769,7 +2826,7 @@ type end; { TContactos_RefreshDataTableRules } - TContactos_RefreshDataTableRules = class(TIntfObjectDADataTableRules, IContactos_Refresh) + TContactos_RefreshDataTableRules = class(TDADataTableRules, IContactos_Refresh) private f_NOTAS: IROStrings; procedure NOTAS_OnChange(Sender: TObject); @@ -4540,6 +4597,27 @@ begin DataTable.Fields[idx_ClientesIGNORAR_CONTABILIDAD].AsVariant := Null; end; +function TClientesDataTableRules.GetPROCEDENCIA_CLIENTEValue: String; +begin + result := DataTable.Fields[idx_ClientesPROCEDENCIA_CLIENTE].AsString; +end; + +procedure TClientesDataTableRules.SetPROCEDENCIA_CLIENTEValue(const aValue: String); +begin + DataTable.Fields[idx_ClientesPROCEDENCIA_CLIENTE].AsString := aValue; +end; + +function TClientesDataTableRules.GetPROCEDENCIA_CLIENTEIsNull: boolean; +begin + result := DataTable.Fields[idx_ClientesPROCEDENCIA_CLIENTE].IsNull; +end; + +procedure TClientesDataTableRules.SetPROCEDENCIA_CLIENTEIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ClientesPROCEDENCIA_CLIENTE].AsVariant := Null; +end; + { TProveedoresDataTableRules } constructor TProveedoresDataTableRules.Create(aDataTable: TDADataTable); @@ -6415,6 +6493,39 @@ begin end; +{ TProcedenciasClienteDataTableRules } +constructor TProcedenciasClienteDataTableRules.Create(aDataTable: TDADataTable); +begin + inherited; +end; + +destructor TProcedenciasClienteDataTableRules.Destroy; +begin + inherited; +end; + +function TProcedenciasClienteDataTableRules.GetDESCRIPCIONValue: String; +begin + result := DataTable.Fields[idx_ProcedenciasClienteDESCRIPCION].AsString; +end; + +procedure TProcedenciasClienteDataTableRules.SetDESCRIPCIONValue(const aValue: String); +begin + DataTable.Fields[idx_ProcedenciasClienteDESCRIPCION].AsString := aValue; +end; + +function TProcedenciasClienteDataTableRules.GetDESCRIPCIONIsNull: boolean; +begin + result := DataTable.Fields[idx_ProcedenciasClienteDESCRIPCION].IsNull; +end; + +procedure TProcedenciasClienteDataTableRules.SetDESCRIPCIONIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ProcedenciasClienteDESCRIPCION].AsVariant := Null; +end; + + { TGruposProveedorDataTableRules } constructor TGruposProveedorDataTableRules.Create(aDataTable: TDADataTable); begin @@ -6951,6 +7062,7 @@ initialization RegisterDataTableRules(RID_Empleados, TEmpleadosDataTableRules); RegisterDataTableRules(RID_DireccionesContacto, TDireccionesContactoDataTableRules); RegisterDataTableRules(RID_ClientesDescuentos, TClientesDescuentosDataTableRules); + RegisterDataTableRules(RID_ProcedenciasCliente, TProcedenciasClienteDataTableRules); RegisterDataTableRules(RID_GruposProveedor, TGruposProveedorDataTableRules); RegisterDataTableRules(RID_GruposEmpleado, TGruposEmpleadoDataTableRules); RegisterDataTableRules(RID_Contactos_Refresh, TContactos_RefreshDataTableRules); diff --git a/Source/Modulos/Contactos/Model/schContactosServer_Intf.pas b/Source/Modulos/Contactos/Model/schContactosServer_Intf.pas index 102305fc..26423f9c 100644 --- a/Source/Modulos/Contactos/Model/schContactosServer_Intf.pas +++ b/Source/Modulos/Contactos/Model/schContactosServer_Intf.pas @@ -9,23 +9,24 @@ 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_SubCuentasContactoDelta = '{C61B54E1-F314-4542-997D-397E249D61FA}'; - RID_ContactosDelta = '{D3E2A0CE-96A3-41A9-85B4-7BE8CFA3C79A}'; - RID_GruposClienteDelta = '{F5B47AD6-5B43-4FE1-9607-5CB39CB79A21}'; - RID_DatosBancariosDelta = '{C2A910E1-08F1-49F7-B0E9-85C448A3FA78}'; - RID_ClientesDelta = '{DB2F0740-6510-4933-8319-A6C42A41B1D3}'; - RID_ProveedoresDelta = '{4F4D8353-5DFD-493F-98A7-098340C343A0}'; - RID_EmpleadosDelta = '{D89254AA-A456-4113-9356-87878DD0342B}'; - RID_DireccionesContactoDelta = '{488B60E5-27F3-4A85-B8CF-A78A05CE3555}'; - RID_ClientesDescuentosDelta = '{0E2CBA43-B994-4B22-9560-96C73CE304F3}'; - RID_GruposProveedorDelta = '{EFF7AA25-B5B3-41EE-AB8F-2E889A72B8E6}'; - RID_GruposEmpleadoDelta = '{784E3585-2E4F-441F-9B7C-ACF190737701}'; - RID_Contactos_RefreshDelta = '{141705B2-3547-40A3-B6B9-4ABFDE30CD10}'; + RID_SubCuentasContactoDelta = '{176D6032-77EB-42E3-B00D-A36F39E7FADA}'; + RID_ContactosDelta = '{1750564A-A0EB-447F-85D4-974BE7F93A1B}'; + RID_GruposClienteDelta = '{70646CE7-C62A-4D10-BCF5-245AAB51EE1B}'; + RID_DatosBancariosDelta = '{85AE58EF-3FF7-4F77-A94B-55AD73296126}'; + RID_ClientesDelta = '{7FB0E1AC-84E2-4C85-BDA4-EF7AEA8F3061}'; + RID_ProveedoresDelta = '{B54B8DC8-4564-46C3-8400-19DDCF3B2BF0}'; + RID_EmpleadosDelta = '{FE0C063A-18A0-4DBA-BC6A-2323006103FE}'; + RID_DireccionesContactoDelta = '{150BDD77-02FA-4D7C-BD7A-601E2080A0D5}'; + RID_ClientesDescuentosDelta = '{DB9B02CC-FD38-44BC-AEF1-D290B33ECDF3}'; + RID_ProcedenciasClienteDelta = '{7250F4FB-83DB-46E7-9A36-A9428DDDB86C}'; + RID_GruposProveedorDelta = '{80F30B7C-3451-4673-BF93-149065EC9D11}'; + RID_GruposEmpleadoDelta = '{94F7258A-EF0A-4E0F-BD2B-EB41E541A86B}'; + RID_Contactos_RefreshDelta = '{4C6D6C3E-4B74-4B9A-A59E-B640D3DB0415}'; type { ISubCuentasContactoDelta } ISubCuentasContactoDelta = interface(ISubCuentasContacto) - ['{C61B54E1-F314-4542-997D-397E249D61FA}'] + ['{176D6032-77EB-42E3-B00D-A36F39E7FADA}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldREF_SUBCUENTAValue : String; @@ -119,7 +120,7 @@ type { IContactosDelta } IContactosDelta = interface(IContactos) - ['{D3E2A0CE-96A3-41A9-85B4-7BE8CFA3C79A}'] + ['{1750564A-A0EB-447F-85D4-974BE7F93A1B}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_CATEGORIAValue : Integer; @@ -418,7 +419,7 @@ type { IGruposClienteDelta } IGruposClienteDelta = interface(IGruposCliente) - ['{F5B47AD6-5B43-4FE1-9607-5CB39CB79A21}'] + ['{70646CE7-C62A-4D10-BCF5-245AAB51EE1B}'] { Property getters and setters } function GetOldDESCRIPCIONValue : String; @@ -452,7 +453,7 @@ type { IDatosBancariosDelta } IDatosBancariosDelta = interface(IDatosBancarios) - ['{C2A910E1-08F1-49F7-B0E9-85C448A3FA78}'] + ['{85AE58EF-3FF7-4F77-A94B-55AD73296126}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_CONTACTOValue : Integer; @@ -582,7 +583,7 @@ type { IClientesDelta } IClientesDelta = interface(IClientes) - ['{DB2F0740-6510-4933-8319-A6C42A41B1D3}'] + ['{7FB0E1AC-84E2-4C85-BDA4-EF7AEA8F3061}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_CATEGORIAValue : Integer; @@ -619,6 +620,7 @@ type function GetOldTIENDA_WEBValue : SmallInt; function GetOldCODIGO_ASIGNADOValue : String; function GetOldIGNORAR_CONTABILIDADValue : Integer; + function GetOldPROCEDENCIA_CLIENTEValue : String; { Properties } property OldID : Integer read GetOldIDValue; @@ -656,6 +658,7 @@ type property OldTIENDA_WEB : SmallInt read GetOldTIENDA_WEBValue; property OldCODIGO_ASIGNADO : String read GetOldCODIGO_ASIGNADOValue; property OldIGNORAR_CONTABILIDAD : Integer read GetOldIGNORAR_CONTABILIDADValue; + property OldPROCEDENCIA_CLIENTE : String read GetOldPROCEDENCIA_CLIENTEValue; end; { TClientesBusinessProcessorRules } @@ -874,6 +877,12 @@ type function GetOldIGNORAR_CONTABILIDADIsNull: Boolean; virtual; procedure SetIGNORAR_CONTABILIDADValue(const aValue: Integer); virtual; procedure SetIGNORAR_CONTABILIDADIsNull(const aValue: Boolean); virtual; + function GetPROCEDENCIA_CLIENTEValue: String; virtual; + function GetPROCEDENCIA_CLIENTEIsNull: Boolean; virtual; + function GetOldPROCEDENCIA_CLIENTEValue: String; virtual; + function GetOldPROCEDENCIA_CLIENTEIsNull: Boolean; virtual; + procedure SetPROCEDENCIA_CLIENTEValue(const aValue: String); virtual; + procedure SetPROCEDENCIA_CLIENTEIsNull(const aValue: Boolean); virtual; { Properties } property ID : Integer read GetIDValue write SetIDValue; @@ -1016,6 +1025,10 @@ type property IGNORAR_CONTABILIDADIsNull : Boolean read GetIGNORAR_CONTABILIDADIsNull write SetIGNORAR_CONTABILIDADIsNull; property OldIGNORAR_CONTABILIDAD : Integer read GetOldIGNORAR_CONTABILIDADValue; property OldIGNORAR_CONTABILIDADIsNull : Boolean read GetOldIGNORAR_CONTABILIDADIsNull; + property PROCEDENCIA_CLIENTE : String read GetPROCEDENCIA_CLIENTEValue write SetPROCEDENCIA_CLIENTEValue; + property PROCEDENCIA_CLIENTEIsNull : Boolean read GetPROCEDENCIA_CLIENTEIsNull write SetPROCEDENCIA_CLIENTEIsNull; + property OldPROCEDENCIA_CLIENTE : String read GetOldPROCEDENCIA_CLIENTEValue; + property OldPROCEDENCIA_CLIENTEIsNull : Boolean read GetOldPROCEDENCIA_CLIENTEIsNull; public constructor Create(aBusinessProcessor: TDABusinessProcessor); override; @@ -1025,7 +1038,7 @@ type { IProveedoresDelta } IProveedoresDelta = interface(IProveedores) - ['{4F4D8353-5DFD-493F-98A7-098340C343A0}'] + ['{B54B8DC8-4564-46C3-8400-19DDCF3B2BF0}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_CATEGORIAValue : Integer; @@ -1456,7 +1469,7 @@ type { IEmpleadosDelta } IEmpleadosDelta = interface(IEmpleados) - ['{D89254AA-A456-4113-9356-87878DD0342B}'] + ['{FE0C063A-18A0-4DBA-BC6A-2323006103FE}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_CATEGORIAValue : Integer; @@ -1843,7 +1856,7 @@ type { IDireccionesContactoDelta } IDireccionesContactoDelta = interface(IDireccionesContacto) - ['{488B60E5-27F3-4A85-B8CF-A78A05CE3555}'] + ['{150BDD77-02FA-4D7C-BD7A-601E2080A0D5}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_CONTACTOValue : Integer; @@ -2058,7 +2071,7 @@ type { IClientesDescuentosDelta } IClientesDescuentosDelta = interface(IClientesDescuentos) - ['{0E2CBA43-B994-4B22-9560-96C73CE304F3}'] + ['{DB9B02CC-FD38-44BC-AEF1-D290B33ECDF3}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_CLIENTEValue : Integer; @@ -2138,9 +2151,43 @@ type end; + { IProcedenciasClienteDelta } + IProcedenciasClienteDelta = interface(IProcedenciasCliente) + ['{7250F4FB-83DB-46E7-9A36-A9428DDDB86C}'] + { Property getters and setters } + function GetOldDESCRIPCIONValue : String; + + { Properties } + property OldDESCRIPCION : String read GetOldDESCRIPCIONValue; + end; + + { TProcedenciasClienteBusinessProcessorRules } + TProcedenciasClienteBusinessProcessorRules = class(TDABusinessProcessorRules, IProcedenciasCliente, IProcedenciasClienteDelta) + private + protected + { Property getters and setters } + 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 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; + { IGruposProveedorDelta } IGruposProveedorDelta = interface(IGruposProveedor) - ['{EFF7AA25-B5B3-41EE-AB8F-2E889A72B8E6}'] + ['{80F30B7C-3451-4673-BF93-149065EC9D11}'] { Property getters and setters } function GetOldDESCRIPCIONValue : String; @@ -2174,7 +2221,7 @@ type { IGruposEmpleadoDelta } IGruposEmpleadoDelta = interface(IGruposEmpleado) - ['{784E3585-2E4F-441F-9B7C-ACF190737701}'] + ['{94F7258A-EF0A-4E0F-BD2B-EB41E541A86B}'] { Property getters and setters } function GetOldDESCRIPCIONValue : String; @@ -2208,7 +2255,7 @@ type { IContactos_RefreshDelta } IContactos_RefreshDelta = interface(IContactos_Refresh) - ['{141705B2-3547-40A3-B6B9-4ABFDE30CD10}'] + ['{4C6D6C3E-4B74-4B9A-A59E-B640D3DB0415}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldNIF_CIFValue : String; @@ -4855,6 +4902,37 @@ begin BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesIGNORAR_CONTABILIDAD] := Null; end; +function TClientesBusinessProcessorRules.GetPROCEDENCIA_CLIENTEValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesPROCEDENCIA_CLIENTE]; +end; + +function TClientesBusinessProcessorRules.GetPROCEDENCIA_CLIENTEIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesPROCEDENCIA_CLIENTE]); +end; + +function TClientesBusinessProcessorRules.GetOldPROCEDENCIA_CLIENTEValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesPROCEDENCIA_CLIENTE]; +end; + +function TClientesBusinessProcessorRules.GetOldPROCEDENCIA_CLIENTEIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesPROCEDENCIA_CLIENTE]); +end; + +procedure TClientesBusinessProcessorRules.SetPROCEDENCIA_CLIENTEValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesPROCEDENCIA_CLIENTE] := aValue; +end; + +procedure TClientesBusinessProcessorRules.SetPROCEDENCIA_CLIENTEIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesPROCEDENCIA_CLIENTE] := Null; +end; + { TProveedoresBusinessProcessorRules } constructor TProveedoresBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); @@ -7587,6 +7665,49 @@ begin end; +{ TProcedenciasClienteBusinessProcessorRules } +constructor TProcedenciasClienteBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); +begin + inherited; +end; + +destructor TProcedenciasClienteBusinessProcessorRules.Destroy; +begin + inherited; +end; + +function TProcedenciasClienteBusinessProcessorRules.GetDESCRIPCIONValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProcedenciasClienteDESCRIPCION]; +end; + +function TProcedenciasClienteBusinessProcessorRules.GetDESCRIPCIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ProcedenciasClienteDESCRIPCION]); +end; + +function TProcedenciasClienteBusinessProcessorRules.GetOldDESCRIPCIONValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProcedenciasClienteDESCRIPCION]; +end; + +function TProcedenciasClienteBusinessProcessorRules.GetOldDESCRIPCIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ProcedenciasClienteDESCRIPCION]); +end; + +procedure TProcedenciasClienteBusinessProcessorRules.SetDESCRIPCIONValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ProcedenciasClienteDESCRIPCION] := aValue; +end; + +procedure TProcedenciasClienteBusinessProcessorRules.SetDESCRIPCIONIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ProcedenciasClienteDESCRIPCION] := Null; +end; + + { TGruposProveedorBusinessProcessorRules } constructor TGruposProveedorBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); begin @@ -8354,6 +8475,7 @@ initialization RegisterBusinessProcessorRules(RID_EmpleadosDelta, TEmpleadosBusinessProcessorRules); RegisterBusinessProcessorRules(RID_DireccionesContactoDelta, TDireccionesContactoBusinessProcessorRules); RegisterBusinessProcessorRules(RID_ClientesDescuentosDelta, TClientesDescuentosBusinessProcessorRules); + RegisterBusinessProcessorRules(RID_ProcedenciasClienteDelta, TProcedenciasClienteBusinessProcessorRules); RegisterBusinessProcessorRules(RID_GruposProveedorDelta, TGruposProveedorBusinessProcessorRules); RegisterBusinessProcessorRules(RID_GruposEmpleadoDelta, TGruposEmpleadoBusinessProcessorRules); RegisterBusinessProcessorRules(RID_Contactos_RefreshDelta, TContactos_RefreshBusinessProcessorRules); diff --git a/Source/Modulos/Contactos/Model/uBizClientesServer.pas b/Source/Modulos/Contactos/Model/uBizClientesServer.pas index 050bca0f..5918e60b 100644 --- a/Source/Modulos/Contactos/Model/uBizClientesServer.pas +++ b/Source/Modulos/Contactos/Model/uBizClientesServer.pas @@ -77,6 +77,7 @@ begin ParamByName('TIENDA_WEB').Value := aChange.NewValueByName[fld_ClientesTIENDA_WEB]; ParamByName('CODIGO_ASIGNADO').Value := aChange.NewValueByName[fld_ClientesCODIGO_ASIGNADO]; ParamByName('IGNORAR_CONTABILIDAD').Value := aChange.NewValueByName[fld_ClientesIGNORAR_CONTABILIDAD]; + ParamByName('PROCEDENCIA_CLIENTE').Value := aChange.NewValueByName[fld_ClientesPROCEDENCIA_CLIENTE]; Execute; end; finally @@ -115,6 +116,7 @@ begin ParamByName('TIENDA_WEB').Value := aChange.NewValueByName[fld_ClientesTIENDA_WEB]; ParamByName('CODIGO_ASIGNADO').Value := aChange.NewValueByName[fld_ClientesCODIGO_ASIGNADO]; ParamByName('IGNORAR_CONTABILIDAD').Value := aChange.NewValueByName[fld_ClientesIGNORAR_CONTABILIDAD]; + ParamByName('PROCEDENCIA_CLIENTE').Value := aChange.NewValueByName[fld_ClientesPROCEDENCIA_CLIENTE]; Execute; end; finally diff --git a/Source/Modulos/Contactos/Model/uBizContactos.pas b/Source/Modulos/Contactos/Model/uBizContactos.pas index 8d883f1d..bd4e7e2d 100644 --- a/Source/Modulos/Contactos/Model/uBizContactos.pas +++ b/Source/Modulos/Contactos/Model/uBizContactos.pas @@ -47,6 +47,9 @@ type function GetGRUPO_CLIENTEValue: String; procedure SetGRUPO_CLIENTEValue(const aValue: String); + function GetPROCEDENCIA_CLIENTEValue: String; + procedure SetPROCEDENCIA_CLIENTEValue(const aValue: String); + function GetNOMBRE_COMERCIALValue: String; procedure SetNOMBRE_COMERCIALValue(const aValue: String); @@ -58,7 +61,7 @@ type function GetMOTIVO_BLOQUEOValue: String; procedure SetMOTIVO_BLOQUEOValue(const aValue: String); - + function GetRECARGO_EQUIVALENCIAValue: Integer; procedure SetRECARGO_EQUIVALENCIAValue(const aValue: Integer); @@ -79,7 +82,7 @@ type property Descuentos: IBizClienteDescuentos read GetDescuentos write SetDescuentos; property GRUPO_CLIENTE: String read GetGRUPO_CLIENTEValue write SetGRUPO_CLIENTEValue; - + property PROCEDENCIA_CLIENTE: String read GetPROCEDENCIA_CLIENTEValue write SetPROCEDENCIA_CLIENTEValue; property NOMBRE_COMERCIAL: String read GetNOMBRE_COMERCIALValue write SetNOMBRE_COMERCIALValue; property VENCIMIENTO_FACTURAS: Integer read GetVENCIMIENTO_FACTURASValue write SetVENCIMIENTO_FACTURASValue; property BLOQUEADO: Integer read GetBLOQUEADOValue write SetBLOQUEADOValue; @@ -231,6 +234,9 @@ type function GetGRUPO_CLIENTEValue: String; procedure SetGRUPO_CLIENTEValue(const aValue: String); + function GetPROCEDENCIA_CLIENTEValue: String; + procedure SetPROCEDENCIA_CLIENTEValue(const aValue: String); + function GetNOMBRE_COMERCIALValue: String; procedure SetNOMBRE_COMERCIALValue(const aValue: String); @@ -273,6 +279,7 @@ type destructor Destroy; override; property Descuentos: IBizClienteDescuentos read GetDescuentos write SetDescuentos; property GRUPO_CLIENTE: String read GetGRUPO_CLIENTEValue write SetGRUPO_CLIENTEValue; + property PROCEDENCIA_CLIENTE: String read GetPROCEDENCIA_CLIENTEValue write SetPROCEDENCIA_CLIENTEValue; property NOMBRE_COMERCIAL: String read GetNOMBRE_COMERCIALValue write SetNOMBRE_COMERCIALValue; property VENCIMIENTO_FACTURAS: Integer read GetVENCIMIENTO_FACTURASValue write SetVENCIMIENTO_FACTURASValue; property BLOQUEADO: Integer read GetBLOQUEADOValue write SetBLOQUEADOValue; @@ -527,6 +534,11 @@ begin result := DataTable.Fields[idx_ClientesNOMBRE_COMERCIAL].AsString; end; +function TBizCliente.GetPROCEDENCIA_CLIENTEValue: String; +begin + result := DataTable.Fields[idx_ClientesPROCEDENCIA_CLIENTE].AsString; +end; + procedure TBizCliente.SetBLOQUEADOValue(const aValue: Integer); begin DataTable.Fields[idx_ClientesBLOQUEADO].AsInteger := aValue; @@ -568,6 +580,11 @@ begin DataTable.Fields[idx_ClientesNOMBRE_COMERCIAL].AsString := aValue; end; +procedure TBizCliente.SetPROCEDENCIA_CLIENTEValue(const aValue: String); +begin + DataTable.Fields[idx_ClientesPROCEDENCIA_CLIENTE].AsString := aValue; +end; + function TBizCliente.GetRECARGO_EQUIVALENCIAValue: Integer; begin Result := DataTable.Fields[idx_ClientesRECARGO_EQUIVALENCIA].AsInteger; diff --git a/Source/Modulos/Contactos/Model/uBizProcedenciasCliente.pas b/Source/Modulos/Contactos/Model/uBizProcedenciasCliente.pas new file mode 100644 index 00000000..54ad7f35 --- /dev/null +++ b/Source/Modulos/Contactos/Model/uBizProcedenciasCliente.pas @@ -0,0 +1,27 @@ +unit uBizProcedenciasCliente; + +interface + +uses + uDAInterfaces, uDADataTable, schContactosClient_Intf; + +const + BIZ_CLIENT_PROCEDENCIASCLIENTE = 'Client.ProcedenciaCliente'; + +type + IBizProcedenciaCliente = interface(IProcedenciasCliente) + ['{305E0EFE-D650-447A-BF9A-8B5A89AED057}'] + end; + + TBizProcedenciaCliente = class(TProcedenciasClienteDataTableRules, IBizProcedenciaCliente) + end; + +implementation + +initialization + RegisterDataTableRules(BIZ_CLIENT_PROCEDENCIASCLIENTE, TBizProcedenciaCliente); + +finalization + +end. + diff --git a/Source/Modulos/Contactos/Plugin/uPluginContactos.dfm b/Source/Modulos/Contactos/Plugin/uPluginContactos.dfm index 9568f911..2a0982f0 100644 --- a/Source/Modulos/Contactos/Plugin/uPluginContactos.dfm +++ b/Source/Modulos/Contactos/Plugin/uPluginContactos.dfm @@ -249,6 +249,10 @@ object PluginContactos: TPluginContactos ImageIndex = 4 OnExecute = actGruposEmpleadoExecute end + object actProcedenciasCliente: TAction + Caption = 'Procedencias de cliente' + OnExecute = actProcedenciasClienteExecute + end end object MainMenu: TMainMenu Images = SmallImages @@ -269,6 +273,10 @@ object PluginContactos: TPluginContactos Tag = 103 Action = actGruposEmpleado end + object Procedenciasdecliente1: TMenuItem + Tag = 104 + Action = actProcedenciasCliente + end end object Compras1: TMenuItem Caption = '&Compras' diff --git a/Source/Modulos/Contactos/Plugin/uPluginContactos.pas b/Source/Modulos/Contactos/Plugin/uPluginContactos.pas index 00ef3898..2205e2a2 100644 --- a/Source/Modulos/Contactos/Plugin/uPluginContactos.pas +++ b/Source/Modulos/Contactos/Plugin/uPluginContactos.pas @@ -32,17 +32,20 @@ type Categoriasdeempleado1: TMenuItem; Gruposdeproveedor1: TMenuItem; Da1: TMenuItem; + actProcedenciasCliente: TAction; + Procedenciasdecliente1: TMenuItem; procedure actClientesExecute(Sender: TObject); procedure actProveedoresExecute(Sender: TObject); procedure actEmpleadosExecute(Sender: TObject); procedure actGruposClienteExecute(Sender: TObject); procedure actGruposProveedorExecute(Sender: TObject); procedure actGruposEmpleadoExecute(Sender: TObject); + procedure actProcedenciasClienteExecute(Sender: TObject); public constructor Create(AOwner: TComponent); override; destructor Destroy; override; end; - + implementation {$R *.dfm} @@ -50,9 +53,9 @@ implementation uses Forms, Dialogs, uGUIBase, uCustomEditor, SysUtils, uContactosController, uClientesController, uProveedoresController, uEmpleadosController, - uGruposClienteController, uBizGruposCliente, uGruposProveedorController, - uBizGruposProveedor, uGruposEmpleadoController, uBizGruposEmpleado, - uContactosViewRegister, uBizContactos; + uGruposClienteController, uProcedenciasClienteController, uBizGruposCliente, + uGruposProveedorController, uBizGruposProveedor, uBizProcedenciasCliente, + uGruposEmpleadoController, uBizGruposEmpleado, uContactosViewRegister, uBizContactos; function GetModule : TModuleController; begin @@ -110,6 +113,16 @@ begin AGruposProveedorController.VerTodos(AGruposProveedor); end; +procedure TPluginContactos.actProcedenciasClienteExecute(Sender: TObject); +var + AProcedenciasClienteController : IProcedenciasClienteController; + AProcedenciasCliente : IBizProcedenciaCliente; +begin + AProcedenciasClienteController := TProcedenciasClienteController.Create; + AProcedenciasCliente := (AProcedenciasClienteController.BuscarTodos as IBizProcedenciaCliente); + AProcedenciasClienteController.VerTodos(AProcedenciasCliente); +end; + procedure TPluginContactos.actProveedoresExecute(Sender: TObject); var AProveedoresController : IProveedoresController; diff --git a/Source/Modulos/Contactos/Servidor/srvContactos_Impl.dfm b/Source/Modulos/Contactos/Servidor/srvContactos_Impl.dfm index 26f91996..aae34aeb 100644 --- a/Source/Modulos/Contactos/Servidor/srvContactos_Impl.dfm +++ b/Source/Modulos/Contactos/Servidor/srvContactos_Impl.dfm @@ -594,6 +594,10 @@ object srvContactos: TsrvContactos item DatasetField = 'IGNORAR_CONTABILIDAD' TableField = 'IGNORAR_CONTABILIDAD' + end + item + DatasetField = 'PROCEDENCIA_CLIENTE' + TableField = 'PROCEDENCIA_CLIENTE' end> end> Name = 'Clientes' @@ -799,6 +803,12 @@ object srvContactos: TsrvContactos Name = 'IGNORAR_CONTABILIDAD' DataType = datInteger DictionaryEntry = 'Clientes_IGNORAR_CONTABILIDAD' + end + item + Name = 'PROCEDENCIA_CLIENTE' + DataType = datString + Size = 255 + DictionaryEntry = 'Clientes_PROCEDENCIA_CLIENTE' end> end item @@ -1105,6 +1115,7 @@ object srvContactos: TsrvContactos item Name = 'GRUPO_PROVEEDOR' DataType = datString + Size = 255 DictionaryEntry = 'Proveedores_GRUPO_PROVEEDOR' end item @@ -1620,6 +1631,7 @@ object srvContactos: TsrvContactos Statements = < item Connection = 'IBX' + TargetTable = 'CLIENTES_DTOS_PROVEEDORES' SQL = 'SELECT '#10' CLIENTES_DTOS_PROVEEDORES.ID,'#10' CLIENTES_DTOS_PROV' + 'EEDORES.ID_CLIENTE,'#10' CLIENTES_DTOS_PROVEEDORES.ID_PROVEEDOR,'#10 + @@ -1683,6 +1695,30 @@ object srvContactos: TsrvContactos DictionaryEntry = 'ClientesDescuentos_DESCUENTO' end> end + item + Params = <> + Statements = < + item + Connection = 'IBX' + ConnectionType = 'Interbase' + Default = True + TargetTable = 'CLIENTES_PROCEDENCIAS' + Name = 'IBX' + StatementType = stAutoSQL + ColumnMappings = < + item + DatasetField = 'DESCRIPCION' + TableField = 'DESCRIPCION' + end> + end> + Name = 'ProcedenciasCliente' + Fields = < + item + Name = 'DESCRIPCION' + DataType = datString + Size = 255 + end> + end item Params = <> Statements = < @@ -2642,6 +2678,10 @@ object srvContactos: TsrvContactos item Name = 'IGNORAR_CONTABILIDAD' Value = '' + end + item + Name = 'PROCEDENCIA_CLIENTE' + Value = '' end> Statements = < item @@ -2651,11 +2691,12 @@ object srvContactos: TsrvContactos 'INSERT'#10' INTO CLIENTES_DATOS'#10' (ID_CLIENTE, GRUPO_CLIENTE, REC' + 'ARGO_EQUIVALENCIA,'#10' NOMBRE_COMERCIAL, VENCIMIENTO_FACTURAS, ' + 'BLOQUEADO, MOTIVO_BLOQUEO,'#10' REGIMEN_IVA, ID_TIPO_IVA, ID_FOR' + - 'MA_PAGO, TIENDA_WEB, CODIGO_ASIGNADO, IGNORAR_CONTABILIDAD)'#10' VA' + - 'LUES'#10' (:ID_CLIENTE, :GRUPO_CLIENTE, :RECARGO_EQUIVALENCIA,'#10' ' + - ' :NOMBRE_COMERCIAL, :VENCIMIENTO_FACTURAS,'#10' :BLOQUEADO, :M' + - 'OTIVO_BLOQUEO, :REGIMEN_IVA,'#10' :ID_TIPO_IVA, :ID_FORMA_PAGO, ' + - ':TIENDA_WEB, :CODIGO_ASIGNADO, :IGNORAR_CONTABILIDAD)'#10 + 'MA_PAGO, TIENDA_WEB, CODIGO_ASIGNADO, IGNORAR_CONTABILIDAD,'#10' ' + + ' PROCEDENCIA_CLIENTE)'#10' VALUES'#10' (:ID_CLIENTE, :GRUPO_CLIENTE,' + + ' :RECARGO_EQUIVALENCIA,'#10' :NOMBRE_COMERCIAL, :VENCIMIENTO_FAC' + + 'TURAS,'#10' :BLOQUEADO, :MOTIVO_BLOQUEO, :REGIMEN_IVA,'#10' :ID_' + + 'TIPO_IVA, :ID_FORMA_PAGO, :TIENDA_WEB, :CODIGO_ASIGNADO, :IGNORA' + + 'R_CONTABILIDAD,'#10' :PROCEDENCIA_CLIENTE)'#10 StatementType = stSQL ColumnMappings = <> end> @@ -2735,6 +2776,10 @@ object srvContactos: TsrvContactos Name = 'IGNORAR_CONTABILIDAD' Value = '' end + item + Name = 'PROCEDENCIA_CLIENTE' + Value = '' + end item Name = 'OLD_ID_CLIENTE' Value = '' @@ -2752,7 +2797,8 @@ object srvContactos: TsrvContactos '= :REGIMEN_IVA,'#10' ID_TIPO_IVA = :ID_TIPO_IVA,'#10' ID_FORMA_PAG' + 'O = :ID_FORMA_PAGO,'#10' TIENDA_WEB = :TIENDA_WEB,'#10' CODIGO_ASI' + 'GNADO = :CODIGO_ASIGNADO,'#10' IGNORAR_CONTABILIDAD = :IGNORAR_CO' + - 'NTABILIDAD'#10' WHERE'#10' (ID_CLIENTE = :OLD_ID_CLIENTE)'#10 + 'NTABILIDAD,'#10' PROCEDENCIA_CLIENTE = :PROCEDENCIA_CLIENTE'#10' WHE' + + 'RE'#10' (ID_CLIENTE = :OLD_ID_CLIENTE)'#10 StatementType = stSQL ColumnMappings = <> end> @@ -4202,6 +4248,7 @@ object srvContactos: TsrvContactos item Name = 'Proveedores_GRUPO_PROVEEDOR' DataType = datString + Size = 255 DisplayLabel = 'Grupo proveedor' end item @@ -4333,6 +4380,11 @@ object srvContactos: TsrvContactos item Name = 'Clientes_IGNORAR_CONTABILIDAD' DataType = datInteger + end + item + Name = 'Clientes_PROCEDENCIA_CLIENTE' + DataType = datString + Size = 255 end> Left = 126 Top = 14 diff --git a/Source/Modulos/Contactos/Servidor/srvContactos_Impl.pas b/Source/Modulos/Contactos/Servidor/srvContactos_Impl.pas index 389e68e2..38159047 100644 --- a/Source/Modulos/Contactos/Servidor/srvContactos_Impl.pas +++ b/Source/Modulos/Contactos/Servidor/srvContactos_Impl.pas @@ -67,6 +67,7 @@ procedure TsrvContactos.DARemoteServiceBeforeGetDatasetData( begin if (DataSet.Name <> nme_DatosBancarios) and (DataSet.Name <> nme_DireccionesContacto) and + (DataSet.Name <> nme_ProcedenciasCliente) and (DataSet.Name <> nme_GruposCliente) and (DataSet.Name <> nme_GruposProveedor) and (DataSet.Name <> nme_GruposEmpleado) and diff --git a/Source/Modulos/Contactos/Views/Contactos_view.dpk b/Source/Modulos/Contactos/Views/Contactos_view.dpk index 0437c6a0b13d93698050abb6f96dd8dd12f605d6..7e6e2bfcf107b5834cba73562e0f8ba11942980e 100644 GIT binary patch delta 292 zcmdlb`#^rf2Bvx)UM>ZNl%%4P95AaaIVU9v%yLOANpwsqE-6Y(E{S)}FG`JfF*Jmz zF3w9V0J9QP@?jc-Qgi*2vQm>vicuB2hk6FPc*FHpo@~#~?~$CElA4#CnON+clbM=V xlB$rIr=VWynvz+PUldT3k1nlOkXWp)P@RUMVDdw532tj%E?%zGyc9iNE&%^4T2TN1 delta 26 hcmaDLze{$*2ByuK%zwFgt$De4xl;2|^mw@#7yy7w2T}k4 diff --git a/Source/Modulos/Contactos/Views/Contactos_view.dproj b/Source/Modulos/Contactos/Views/Contactos_view.dproj index 487fa7d0..ba669ffd 100644 --- a/Source/Modulos/Contactos/Views/Contactos_view.dproj +++ b/Source/Modulos/Contactos/Views/Contactos_view.dproj @@ -49,18 +49,26 @@ MainSource - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + +
fEditorCliente
@@ -121,6 +129,10 @@
fEditorGruposProveedor
TCustomEditor
+ +
fEditorProcedenciasCliente
+ TCustomEditor +
fEditorProveedor
TCustomEditor @@ -193,6 +205,11 @@
frViewSubCuentaContacto
TCustomView
+ + + + +