From f4f00f8728459178f4bcd1a72abbce72be77bed4 Mon Sep 17 00:00:00 2001 From: roberto Date: Wed, 11 Mar 2009 15:40:09 +0000 Subject: [PATCH] Se arregla el informe de etiquetas de cliente y proveedor que no funcionaba bien, se copia de tecsitel que ya estaba arreglado git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES2/trunk@408 f4e31baf-9722-1c47-927c-6f952f962d4b --- Database/ACANA.FDB | Bin 3620864 -> 3620864 bytes Source/Base/Base.dproj | 97 ++- Source/Base/Base.res | Bin 384 -> 4748 bytes Source/Cliente/FactuGES.dproj | 2 +- Source/Cliente/FactuGES.res | Bin 171984 -> 172156 bytes .../Controller/uClientesController.pas | 94 ++- .../uEtiquetasContactosReportController.pas | 30 +- .../Controller/uProveedoresController.pas | 95 ++- .../Contactos/Data/uDataModuleContactos.pas | 15 +- .../uIDataModuleEtiquetasContactosReport.pas | 4 +- .../Reports/uRptEtiquetasContacto_Server.dfm | 3 - .../Reports/uRptEtiquetasContacto_Server.pas | 45 +- .../Contactos/Servidor/srvContactos_Impl.pas | 6 +- .../Contactos/Views/uEditorContactos.dfm | 3 - Source/Servicios/FactuGES.RODL | 4 +- Source/Servicios/FactuGES_Intf.pas | 10 +- Source/Servicios/FactuGES_Invk.pas | 16 +- Source/Servicios/RODLFILE.res | Bin 40965 -> 40968 bytes Source/Servidor/FactuGES_Server.RES | Bin 23352 -> 23560 bytes Source/Servidor/FactuGES_Server.dproj | 561 +++++++++--------- Source/Servidor/FactuGES_Server.rc | 2 +- 21 files changed, 500 insertions(+), 487 deletions(-) diff --git a/Database/ACANA.FDB b/Database/ACANA.FDB index d684889bd039d20716db21992a8c71a63f04e608..45a1fcc5a73bcd368772453ec4c872028641b4d6 100644 GIT binary patch delta 478 zcma)2%Ps?982$g2R*TlHl)6``%jo>t8J$>B?d~L=z)ILiL}DQkNiEJ+Sjg-|JOB}4 zM4M|+b<_v~&6|4KrAr`)4 zlwGbQ7VVyj5tB)0s$#79waBUT3}hzNjA^B{{A@0#WmGn!S=ro#R#3W{$!D`^RWLVw z>)yD%_u3bC?r)7Hud{e(?BB>Er+UY{@OeHyPE}<(aDHG`%{7Prh)2If!*<)VY4~e` z^&%QvK3P2rjFsI!S6pWyA>9??@~3-`kn-tW^oE3PrSx=4x9pvW8cq&wsQ(x}wqM@N LF6Z#goX>v(*UNv+ delta 344 zcmYk1KTASU0LAb1>9g0%w5+tuwDM*Dv+`YtASh@&(BRzE7YG^}U(i_^B!_rwG}IWu zvs*ai5H$1&g4+53wmKyt*nu;gbKnQZ^S-3lu_MJ+sqrCtO4y#!O;=SRg3ea2IYk+q zfsjOqFo-Y_Axt7l^br=(PuRo&5hDhPIFTTRh+!g0j1Z&57?C2<#5gfQWQa*3OH2_t zB2P>cGsG-WARJ277 zpKH1qDfD*JJ&8ul(@>$TKi}L7!>{hDTmAj+=3nKVj$EoIQ^p^T_pHZj6+TGD{vp$U csFDOXooDzIwaxxDv(+A6DW+Ujus7w|q~o&W#< diff --git a/Source/Base/Base.dproj b/Source/Base/Base.dproj index 3efdabfa..478f4a08 100644 --- a/Source/Base/Base.dproj +++ b/Source/Base/Base.dproj @@ -44,13 +44,6 @@ Package FalseTrueFalseLibreria base de FactuGESFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0 - - - - - - - VCL for the Web Design Package for CodeGear RAD Studio CodeGear WebSnap Components CodeGear SOAP Components @@ -65,53 +58,53 @@ MainSource + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
fConfigurarConexion
TForm diff --git a/Source/Base/Base.res b/Source/Base/Base.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/Cliente/FactuGES.dproj b/Source/Cliente/FactuGES.dproj index 5bec7c8c..54426f6d 100644 --- a/Source/Cliente/FactuGES.dproj +++ b/Source/Cliente/FactuGES.dproj @@ -53,7 +53,7 @@ Delphi.Personality VCLApplication -FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse2300FalseFalseFalseFalseFalse30821252Rodax Software S.L.2.3.0.0FactuGESFactuGES2.3.0.0 +FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse2310FalseFalseFalseFalseFalse30821252Rodax Software S.L.2.3.1.0FactuGESFactuGES2.3.1.0 diff --git a/Source/Cliente/FactuGES.res b/Source/Cliente/FactuGES.res index b38313a9a4889071ba6db2681fb5f81268b8624c..ed4a1317da5127ef1d5cfb3d6716970b33453ba3 100644 GIT binary patch delta 488 zcmY+9KT88a6vThKCh>9xxiaNJ@P8A*PQ;)h0R@}%$)S=2jfQArl@tp30KzrNrOgMh z6)i0-t?m2{f%x|JVsKz@cbJ*?=04xt$-CQoR4+O;?0TM?;}41)o(BqtM%vt#`7~0X z$>**1k%5JT`Si1p!uPEKgVRlW;H61@#pM zk*;oRimo`O$u*Z8$+_d4j_@}3^1bE8#>3Z0Z>jC@C(^s!)i`x3?mB@a55?E!AkS0Bco^V-k%5OnK!AaPkwJnXgB3)>c`OVJObikd5V;d< z3=GV0UI!-w0}F$K0z_^F2Ll5uf(JB>jlsYGD#ypbz>eUlGQ=}*FgQ3sBsH8E7&sX` zJRrP|5C#S=hJ*yD#wiR8+zbs3P?a1YhcYmHU}RuW0Mh^e3ji^Y0|W*P2oHT=oc?Go zlZiUWu}olDdoT%dE(_3es32gv?K~!BMxE)2^O)kNznRCR!DujDbUu^y^b7Nu5`b*O H1x(%m2I4Aj diff --git a/Source/Modulos/Contactos/Controller/uClientesController.pas b/Source/Modulos/Contactos/Controller/uClientesController.pas index 9dc1494f..c33f0a26 100644 --- a/Source/Modulos/Contactos/Controller/uClientesController.pas +++ b/Source/Modulos/Contactos/Controller/uClientesController.pas @@ -57,7 +57,7 @@ uses Forms, Classes, Windows, SysUtils, Controls, cxControls, uDialogUtils, uDataModuleClientes, uEditorRegistryUtils, uDataTableUtils, uDADataTable, DB, schContactosClient_Intf, uEtiquetasContactosReportController, uIEditorElegirClientes, uEditorGridBase, uDAInterfaces, uFactuGES_App, - Dialogs; + Dialogs, uIntegerListUtils; { TClientesController } @@ -235,70 +235,68 @@ end; procedure TClientesController.Preview(ACliente: IBizCliente; AllItems: Boolean); var AReportController : IEtiquetasContactosReportController; - ListaID: TStringList; + ListaID: TIntegerList; begin AReportController := TEtiquetasContactosReportController.Create; - try - ListaID := TStringList.Create; - try - //Si deseamos previsualizar todos los items del objeto albaran - if AllItems then - begin - with ACliente.DataTable do - begin - First; - while not EOF do - begin - ListaID.Add(IntToStr(ACliente.ID)); - Next; - end; - end; - end - else //Solo previsualizamos el item seleccionado - ListaID.Add(IntToStr(ACliente.ID)); + ListaID := TIntegerList.Create; - AReportController.Preview(ListaID.CommaText); - finally - FreeANDNil(ListaID); - end; + try + //Si deseamos previsualizar todos los items del objeto albaran + if AllItems then + begin + with ACliente.DataTable do + begin + First; + while not EOF do + begin + ListaID.Add(ACliente.ID); + Next; + end; + end; + end + //Solo previsualizamos el item seleccionado + else + ListaID.Add(ACliente.ID); + + AReportController.Preview(ListaID); finally AReportController := NIL; + FreeANDNIL(ListaID); end; end; procedure TClientesController.Print(ACliente: IBizCliente; AllItems: Boolean); var AReportController : IEtiquetasContactosReportController; - ListaID: TStringList; + ListaID: TIntegerList; begin AReportController := TEtiquetasContactosReportController.Create; - try - ListaID := TStringList.Create; - try - //Si deseamos previsualizar todos los items del objeto albaran - if AllItems then - begin - with ACliente.DataTable do - begin - First; - while not EOF do - begin - ListaID.Add(IntToStr(ACliente.ID)); - Next; - end; - end; - end - //Solo previsualizamos el item seleccionado - else - ListaID.Add(IntToStr(ACliente.ID)); + ListaID := TIntegerList.Create; + + try + //Si deseamos previsualizar todos los items del objeto albaran + if AllItems then + begin + with ACliente.DataTable do + begin + First; + while not EOF do + begin + ListaID.Add(ACliente.ID); + Next; + end; + end; + end + //Solo previsualizamos el item seleccionado + else + ListaID.Add(ACliente.ID); + + AReportController.Print(ListaID); - AReportController.Print(ListaID.CommaText); - finally - FreeANDNIL(ListaID); - end; finally AReportController := NIL; + FreeANDNil(ListaID); end; end; diff --git a/Source/Modulos/Contactos/Controller/uEtiquetasContactosReportController.pas b/Source/Modulos/Contactos/Controller/uEtiquetasContactosReportController.pas index 60162232..d5eb76fa 100644 --- a/Source/Modulos/Contactos/Controller/uEtiquetasContactosReportController.pas +++ b/Source/Modulos/Contactos/Controller/uEtiquetasContactosReportController.pas @@ -4,13 +4,13 @@ interface uses Classes, SysUtils, uDADataTable, uIDataModuleEtiquetasContactosReport, - uVendedoresController, uControllerBase; + uVendedoresController, uControllerBase, uIntegerListUtils; type IEtiquetasContactosReportController = interface(IControllerBase) ['{76BB35E3-554E-4D30-8D3E-54E488EF82E2}'] - procedure Preview(const AContactosID : String); - procedure Print(const AContactosID : String); + procedure Preview(const ListaID : TIntegerList); + procedure Print(const ListaID : TIntegerList); end; TEtiquetasContactosReportController = class(TControllerBase, IEtiquetasContactosReportController) @@ -21,8 +21,8 @@ type constructor Create; override; destructor Destroy; override; - procedure Preview(const AContactosID : String); - procedure Print(const AContactosID : String); + procedure Preview(const ListaID : TIntegerList); + procedure Print(const ListaID : TIntegerList); end; @@ -52,30 +52,34 @@ begin inherited; end; -procedure TEtiquetasContactosReportController.Preview(const AContactosID : String); +procedure TEtiquetasContactosReportController.Preview(const ListaID : TIntegerList); var AStream: Binary; AEditor : IEditorEtiquetasContactosPreview; begin AEditor := NIL; - AStream := FDataModule.GetReport(AContactosID); + AStream := FDataModule.GetReport(ListaID); try CreateEditor('EditorEtiquetasContactosPreview', IEditorEtiquetasContactosPreview, AEditor); if Assigned(AEditor) then + begin try + AEditor.Controller := Self; + AEditor.ListaID := ListaID; AEditor.LoadFromStream(AStream); AEditor.Preview; finally AEditor.Release; - AEditor := NIL; end; + end; finally FreeAndNil(AStream); + AEditor := Nil; end; end; -procedure TEtiquetasContactosReportController.Print(const AContactosID : String); +procedure TEtiquetasContactosReportController.Print(const ListaID : TIntegerList); var AStream: Binary; AEditor : IEditorEtiquetasContactosPreview; @@ -83,19 +87,23 @@ begin AEditor := NIL; ShowHourglassCursor; try - AStream := FDataModule.GetReport(AContactosID); + AStream := FDataModule.GetReport(ListaID); try CreateEditor('EditorEtiquetasContactosPreview', IEditorEtiquetasContactosPreview, AEditor); if Assigned(AEditor) then + begin try + AEditor.Controller := Self; + AEditor.ListaID := ListaID; AEditor.LoadFromStream(AStream); AEditor.Print; finally AEditor.Release; - AEditor := Nil; end; + end; finally FreeAndNil(AStream); + AEditor := Nil; end; finally HideHourglassCursor; diff --git a/Source/Modulos/Contactos/Controller/uProveedoresController.pas b/Source/Modulos/Contactos/Controller/uProveedoresController.pas index 4e379a67..a535df83 100644 --- a/Source/Modulos/Contactos/Controller/uProveedoresController.pas +++ b/Source/Modulos/Contactos/Controller/uProveedoresController.pas @@ -51,7 +51,7 @@ uses Classes, SysUtils, cxControls, Dialogs, uDataModuleProveedores, uEditorRegistryUtils, uDataTableUtils, uDADataTable, DB, schContactosClient_Intf, uEtiquetasContactosReportController, uIEditorElegirProveedores, Controls, uEditorGridBase, JSDialogs, JSDialog, - uDAInterfaces, uFactuGES_App, Windows; + uDAInterfaces, uFactuGES_App, Windows, uIntegerListUtils; { TProveedoresController } @@ -221,72 +221,69 @@ end; procedure TProveedoresController.Preview(AProveedor: IBizProveedor; AllItems: Boolean); var AReportController : IEtiquetasContactosReportController; - ListaID: TStringList; + ListaID: TIntegerList; begin AReportController := TEtiquetasContactosReportController.Create; - try - ListaID := TStringList.Create; - try - //Si deseamos previsualizar todos los items del objeto albaran - if AllItems then - begin - with AProveedor.DataTable do - begin - First; - while not EOF do - begin - ListaID.Add(IntToStr(AProveedor.ID)); - Next; - end; - end; - end - //Solo previsualizamos el item seleccionado - else - ListaID.Add(IntToStr(AProveedor.ID)); + ListaID := TIntegerList.Create; - AReportController.Preview(ListaID.CommaText); - finally - FreeANDNIL(ListaID); - end; + try + //Si deseamos previsualizar todos los items del objeto albaran + if AllItems then + begin + with AProveedor.DataTable do + begin + First; + while not EOF do + begin + ListaID.Add(AProveedor.ID); + Next; + end; + end; + end + //Solo previsualizamos el item seleccionado + else + ListaID.Add(AProveedor.ID); + + AReportController.Preview(ListaID); finally AReportController := NIL; + FreeANDNil(ListaID); end; end; procedure TProveedoresController.Print(AProveedor: IBizProveedor; AllItems: Boolean); var AReportController : IEtiquetasContactosReportController; - ListaID: TStringList; + ListaID: TIntegerList; begin AReportController := TEtiquetasContactosReportController.Create; - try - ListaID := TStringList.Create; - try - //Si deseamos previsualizar todos los items del objeto albaran - if AllItems then - begin - with AProveedor.DataTable do - begin - First; - while not EOF do - begin - ListaID.Add(IntToStr(AProveedor.ID)); - Next; - end; - end; - end - //Solo previsualizamos el item seleccionado - else - ListaID.Add(IntToStr(AProveedor.ID)); + ListaID := TIntegerList.Create; + + try + //Si deseamos previsualizar todos los items del objeto albaran + if AllItems then + begin + with AProveedor.DataTable do + begin + First; + while not EOF do + begin + ListaID.Add(AProveedor.ID); + Next; + end; + end; + end + //Solo previsualizamos el item seleccionado + else + ListaID.Add(AProveedor.ID); + + AReportController.Print(ListaID); - AReportController.Print(ListaID.CommaText); - finally - FreeANDNIL(ListaID); - end; finally AReportController := NIL; + FreeANDNil(ListaID); end; end; diff --git a/Source/Modulos/Contactos/Data/uDataModuleContactos.pas b/Source/Modulos/Contactos/Data/uDataModuleContactos.pas index 90571452..c918069a 100644 --- a/Source/Modulos/Contactos/Data/uDataModuleContactos.pas +++ b/Source/Modulos/Contactos/Data/uDataModuleContactos.pas @@ -3,7 +3,7 @@ unit uDataModuleContactos; interface uses - SysUtils, Classes, DB, DBClient, + SysUtils, Classes, DB, DBClient, uIntegerListUtils, uDADataTable, uDABINAdapter, uDAScriptingProvider, uDACDSDataTable, uROWinInetHttpChannel, uRORemoteService, uROClient, uROBinMessage, @@ -36,7 +36,7 @@ type function NewDireccion : IBizDireccionesContacto; // Report - function GetReport(const AContactosID: String): Binary; + function GetReport(const ListaID: TIntegerList): Binary; end; implementation @@ -60,9 +60,16 @@ begin // end; -function TDataModuleContactos.GetReport(const AContactosID: String): Binary; +function TDataModuleContactos.GetReport(const ListaID: TIntegerList): Binary; +var + AParam : TIntegerArray; begin - Result := (RORemoteService as IsrvContactos).GenerateEtiquetasReport(AContactosID); + AParam := ListaID.ToIntegerArray; + try + Result := (RORemoteService as IsrvContactos).GenerarInformeEtiquetas(AParam); + finally + FreeANDNIL(AParam); + end; end; function TDataModuleContactos.NewDireccion: IBizDireccionesContacto; diff --git a/Source/Modulos/Contactos/Model/Data/uIDataModuleEtiquetasContactosReport.pas b/Source/Modulos/Contactos/Model/Data/uIDataModuleEtiquetasContactosReport.pas index 6b276848..5bf48d6c 100644 --- a/Source/Modulos/Contactos/Model/Data/uIDataModuleEtiquetasContactosReport.pas +++ b/Source/Modulos/Contactos/Model/Data/uIDataModuleEtiquetasContactosReport.pas @@ -3,12 +3,12 @@ unit uIDataModuleEtiquetasContactosReport; interface uses - SysUtils, Classes, uROTypes; + SysUtils, Classes, uROTypes, uIntegerListUtils; type IDataModuleEtiquetasContactosReport = interface ['{26E68DED-5BD9-4227-B07F-9644BED7AE7B}'] - function GetReport(const AClientesID: String): Binary; + function GetReport(const ListaID: TIntegerList): Binary; end; implementation diff --git a/Source/Modulos/Contactos/Reports/uRptEtiquetasContacto_Server.dfm b/Source/Modulos/Contactos/Reports/uRptEtiquetasContacto_Server.dfm index 4b740671..b1b9a100 100644 --- a/Source/Modulos/Contactos/Reports/uRptEtiquetasContacto_Server.dfm +++ b/Source/Modulos/Contactos/Reports/uRptEtiquetasContacto_Server.dfm @@ -56,11 +56,8 @@ object RptEtiquetasContacto: TRptEtiquetasContacto LogChanges = False StreamingOptions = [soDisableEventsWhileStreaming] RemoteFetchEnabled = False - LocalSchema = schReport - LocalDataStreamer = Bin2DataStreamer DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] - LogicalName = 'InformeEtiquetasContacto' IndexDefs = <> Left = 264 Top = 128 diff --git a/Source/Modulos/Contactos/Reports/uRptEtiquetasContacto_Server.pas b/Source/Modulos/Contactos/Reports/uRptEtiquetasContacto_Server.pas index ddb08557..1adea40d 100644 --- a/Source/Modulos/Contactos/Reports/uRptEtiquetasContacto_Server.pas +++ b/Source/Modulos/Contactos/Reports/uRptEtiquetasContacto_Server.pas @@ -7,7 +7,8 @@ uses Dialogs, frxClass, frxDBSet, uDAScriptingProvider, uDADataTable, uDACDSDataTable, DB, uDAClasses, frxChart, frxGradient, frxChBox, frxCross, frxOLE, frxBarcode, frxRich, uDABINAdapter, uROTypes, - uDAInterfaces, uDADataStreamer, uDABin2DataStreamer, uDAMemDataTable; + uDAInterfaces, uDADataStreamer, uDABin2DataStreamer, uDAMemDataTable, + FactuGES_Intf; type TRptEtiquetasContacto = class(TDataModule) @@ -29,7 +30,7 @@ type private FConnection: IDAConnection; public - function GenerarInforme(const AID : String): Binary; overload; + function GenerarInforme(const ListaID: TIntegerArray): Binary; overload; end; implementation @@ -56,42 +57,54 @@ begin frxReport.EngineOptions.NewSilentMode := simReThrow; end; -function TRptEtiquetasContacto.GenerarInforme(const AID: String): Binary; +function TRptEtiquetasContacto.GenerarInforme(const ListaID: TIntegerArray): Binary; var + AStream: TMemoryStream; + dsMaster: IDADataset; + i : Integer; + AWhereStr : String; AInforme: Variant; begin Result := Binary.Create; - FConnection.BeginTransaction; + AStream := TMemoryStream.Create; try -// AStream := TMemoryStream.Create; -// dsMaster := schReport.NewDataset(FConnection, ds_InformeContactos, [], [], False); //, ['ID'], ['611, 751']); //AID]); -// dsMaster.Where.AddText(fld_ContactosID + ' in (' + AID + ')'); -// dsMaster.Open; + dsMaster := schReport.NewDataset(FConnection, ds_InformeContactos, [], [], False); //, ['ID'], ['611, 751']); //AID]); + AWhereStr := fld_ContactosID + ' in ('; + for i := 0 to ListaID.Count - 1 do + begin + if i > 0 then + AWhereStr := AWhereStr + ', '; + AWhereStr := AWhereStr + IntToStr(ListaID.Items[i]); + end; -// AStream.Clear; -// Bin2DataStreamer.WriteDataset(AStream, dsMaster, [woRows, woSchema], -1); -// Bin2DataStreamer.ReadDataset(AStream, tbl_Contactos, TRUE, '', TRUE, TRUE); + AWhereStr := AWhereStr + ')'; + dsMaster.Where.AddText(AWhereStr); - tbl_Contactos.Where.AddCondition(fld_ContactosID, cIn, '(' + AID + ')'); - tbl_Contactos.Active := True; + dsMaster.Open; + + AStream.Clear; + Bin2DataStreamer.WriteDataset(AStream, dsMaster, [woRows, woSchema], -1); + Bin2DataStreamer.ReadDataset(AStream, tbl_Contactos, TRUE, '', TRUE, TRUE); AInforme := DarRutaFichero(DarRutaInformes, rptEtiquetasContacto); if VarIsNull(AInforme) then - raise Exception.Create (('Error Servidor: GenerarInforme, no encuentra informe' + rptEtiquetasContacto)); + raise Exception.Create (('Error Servidor: GenerarInforme, no encuentra informe ' + rptEtiquetasContacto)); frxReport.LoadFromFile(AInforme, True); frxReport.PrepareReport(True); + frxReport.PreviewPages.SaveToStream(Result); finally -// AStream.Free; -// dsMaster := Nil; + AStream.Free; + dsMaster := Nil; FConnection.RollbackTransaction; end; end; + end. diff --git a/Source/Modulos/Contactos/Servidor/srvContactos_Impl.pas b/Source/Modulos/Contactos/Servidor/srvContactos_Impl.pas index 7128d2ac..b5d64121 100644 --- a/Source/Modulos/Contactos/Servidor/srvContactos_Impl.pas +++ b/Source/Modulos/Contactos/Servidor/srvContactos_Impl.pas @@ -40,7 +40,7 @@ type procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject; var aConnectionName: string); public - function GenerateEtiquetasReport(const ContactosID: String): Binary; + function GenerarInformeEtiquetas(const ListaID: TIntegerArray): Binary; function DarTiendaDeUsuario(const ID_Empresa: Integer; const ID_Usuario: Integer): Integer; end; @@ -107,13 +107,13 @@ begin ConnectionName := dmServer.ConnectionName; end; -function TsrvContactos.GenerateEtiquetasReport(const ContactosID: String): Binary; +function TsrvContactos.GenerarInformeEtiquetas(const ListaID: TIntegerArray): Binary; var AReportGenerator : TRptEtiquetasContacto; begin AReportGenerator := TRptEtiquetasContacto.Create(nil); try - Result := AReportGenerator.GenerarInforme(ContactosID); + Result := AReportGenerator.GenerarInforme(ListaID); finally FreeAndNIL(AReportGenerator); end; diff --git a/Source/Modulos/Contactos/Views/uEditorContactos.dfm b/Source/Modulos/Contactos/Views/uEditorContactos.dfm index b46aee58..357b0213 100644 --- a/Source/Modulos/Contactos/Views/uEditorContactos.dfm +++ b/Source/Modulos/Contactos/Views/uEditorContactos.dfm @@ -10,9 +10,6 @@ inherited fEditorContactos: TfEditorContactos Caption = 'Lista de contactos' end inherited TBXDock: TTBXDock - inherited tbxMain: TTBXToolbar - ExplicitWidth = 543 - end inherited tbxFiltro: TTBXToolbar ExplicitWidth = 269 inherited tbxEditFiltro: TTBXEditItem diff --git a/Source/Servicios/FactuGES.RODL b/Source/Servicios/FactuGES.RODL index b60aa1d3..8d43a756 100644 --- a/Source/Servicios/FactuGES.RODL +++ b/Source/Servicios/FactuGES.RODL @@ -9,11 +9,11 @@ - + - + diff --git a/Source/Servicios/FactuGES_Intf.pas b/Source/Servicios/FactuGES_Intf.pas index ad7dfd33..33f9e9e3 100644 --- a/Source/Servicios/FactuGES_Intf.pas +++ b/Source/Servicios/FactuGES_Intf.pas @@ -204,7 +204,7 @@ type { IsrvContactos } IsrvContactos = interface(IDataAbstractService) ['{28CCDC07-A3A4-4917-89B4-64423DC70C9D}'] - function GenerateEtiquetasReport(const ContactosID: String): Binary; + function GenerarInformeEtiquetas(const ListaID: TIntegerArray): Binary; function DarTiendaDeUsuario(const ID_Empresa: Integer; const ID_Usuario: Integer): Integer; end; @@ -218,7 +218,7 @@ type protected function __GetInterfaceName:string; override; - function GenerateEtiquetasReport(const ContactosID: String): Binary; + function GenerarInformeEtiquetas(const ListaID: TIntegerArray): Binary; function DarTiendaDeUsuario(const ID_Empresa: Integer; const ID_Usuario: Integer): Integer; end; @@ -1261,12 +1261,12 @@ begin result := 'srvContactos'; end; -function TsrvContactos_Proxy.GenerateEtiquetasReport(const ContactosID: String): Binary; +function TsrvContactos_Proxy.GenerarInformeEtiquetas(const ListaID: TIntegerArray): Binary; begin try result := nil; - __Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerateEtiquetasReport'); - __Message.Write('ContactosID', TypeInfo(String), ContactosID, []); + __Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInformeEtiquetas'); + __Message.Write('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []); __Message.Finalize; __TransportChannel.Dispatch(__Message); diff --git a/Source/Servicios/FactuGES_Invk.pas b/Source/Servicios/FactuGES_Invk.pas index 4bbcfda2..ce7f3009 100644 --- a/Source/Servicios/FactuGES_Invk.pas +++ b/Source/Servicios/FactuGES_Invk.pas @@ -24,7 +24,7 @@ type private protected published - procedure Invoke_GenerateEtiquetasReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); + procedure Invoke_GenerarInformeEtiquetas(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure Invoke_DarTiendaDeUsuario(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); end; @@ -259,20 +259,21 @@ uses { TsrvContactos_Invoker } -procedure TsrvContactos_Invoker.Invoke_GenerateEtiquetasReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); -{ function GenerateEtiquetasReport(const ContactosID: String): Binary; } +procedure TsrvContactos_Invoker.Invoke_GenerarInformeEtiquetas(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); +{ function GenerarInformeEtiquetas(const ListaID: TIntegerArray): Binary; } var - ContactosID: String; + ListaID: FactuGES_Intf.TIntegerArray; lResult: Binary; __lObjectDisposer: TROObjectDisposer; begin + ListaID := nil; lResult := nil; try - __Message.Read('ContactosID', TypeInfo(String), ContactosID, []); + __Message.Read('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []); - lResult := (__Instance as IsrvContactos).GenerateEtiquetasReport(ContactosID); + lResult := (__Instance as IsrvContactos).GenerarInformeEtiquetas(ListaID); - __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvContactos', 'GenerateEtiquetasReportResponse'); + __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvContactos', 'GenerarInformeEtiquetasResponse'); __Message.Write('Result', TypeInfo(Binary), lResult, []); __Message.Finalize; __Message.UnsetAttributes(__Transport); @@ -280,6 +281,7 @@ begin finally __lObjectDisposer := TROObjectDisposer.Create(__Instance); try + __lObjectDisposer.Add(ListaID); __lObjectDisposer.Add(lResult); finally __lObjectDisposer.Free(); diff --git a/Source/Servicios/RODLFILE.res b/Source/Servicios/RODLFILE.res index c0a575a42a212e46c56aebd68bef272651ad9dc6..0b6a61971154bb677b60708c6c3d0dc4ea5c1cfc 100644 GIT binary patch delta 46 zcmV+}0MY-2zygTC0+1j9xUnHa9FyQe36nNR5R-izk&=%GlZ``Elg|SXlYl1)vwt0i Ef}(s8wg3PC delta 59 zcmeA;z|?wxX@Uad){TnJGJ++kt|gg;rKu%}#X+eB`9&p@OJ!zqI_Kw=Bqo>S7f*Kd P_Mdz~LwIwIY)=yar*9V? diff --git a/Source/Servidor/FactuGES_Server.RES b/Source/Servidor/FactuGES_Server.RES index 4bb8a89463ff8a20f33b17afefffd982f60f914d..4f739e319e8047bf1370d89a3b56889d385c5215 100644 GIT binary patch delta 418 zcmY+8yGjE=7=^#tBpM~iK7lL&#S2IRB4T3^2?RtNi|iIcP}xm18sdW3D0cSq5-F`D zuVUjX_y*$1&KU8BnV&P~GH3d3UZ>_Q?+(InxyF193xpvUs$`Yfb|@k%LqHTcZc>Gk zM-dY_$}}3DTY-v4;?__m)JpcVyBcVHcXv08+<{&VhyHKH3;mx#V3W8Wv;+GTpKor7 zH?-+`4~5;V7n)`OZ3P delta 211 zcmeC!!MI}^RL~aEK0|PUH z2h_pBU|;~1<6~f8MetM^fMzl<*f34L7a_+4r2a*iXn=Gxfo-*i+RXwqff34vQL`8) vM@1?zl`&4Pi;SDh5v9Ruz@W!qF!^RwIitbk!02>#V+Jb*V+O;?`=dPp4rCm# diff --git a/Source/Servidor/FactuGES_Server.dproj b/Source/Servidor/FactuGES_Server.dproj index 2e949823..3b7495b2 100644 --- a/Source/Servidor/FactuGES_Server.dproj +++ b/Source/Servidor/FactuGES_Server.dproj @@ -1,284 +1,285 @@ - + - - {ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1} - FactuGES_Server.dpr - Debug - AnyCPU - DCC32 - ..\..\Output\Debug\Servidor\FactuGES_Server.exe - - - 7.0 - False - False - 0 - 3 - ..\..\Output\Release\Servidor - RELEASE - - - 7.0 - 3 - ..\..\Output\Debug\Servidor - DEBUG; - True - - - Delphi.Personality - - - FalseTrueFalseTrueFalse2300FalseFalseFalseFalseFalse30821252Rodax Software S.L.2.3.0.0FactuGES (Servidor)2.3.0.0martes, 10 de marzo de 2009 19:06 - RemObjects Pascal Script - RemObjects SDK 3.0 Integration - FactuGES_Server.dpr - - - - - MainSource - - - - - -
srvEjercicios
- TDataAbstractService -
- - - -
srvEmpresas
- TDARemoteService -
- -
srvProvinciasPoblaciones
- TRORemoteDataModule -
- - - - - - - - - - - -
srvAlbaranesCliente
- TDataAbstractService -
- - - - -
srvAlbaranesProveedor
- TDataAbstractService -
- - - -
srvAlmacenes
- TDARemoteService -
- - - - - - - -
RptComisiones
- TDataModule -
- -
srvComisiones
- TDataAbstractService -
- - - - -
srvContabilidad
- TDataAbstractService -
- - - - - - - -
RptEtiquetasContacto
- TDataModule -
- -
srvContactos
- TDARemoteService -
- - - - -
RptFacturasCliente
- TDataModule -
- -
srvFacturasCliente
- TDataAbstractService -
- - - - -
RptFacturasProveedor
- TDataModule -
- -
srvFacturasProveedor
- TDataAbstractService -
- - - - - - - -
srvGestorDocumentos
- TDataAbstractService -
- -
srvGestorInformes
- TDataAbstractService -
- - - -
srvHistoricoMovimientos
- TDataAbstractService -
- - - -
srvInventario
- TDataAbstractService -
- - - - -
srvPedidosProveedor
- TDataAbstractService -
- - - - -
RptPresupuestosCliente
-
- -
srvPresupuestosCliente
- TDataAbstractService -
- - - - - -
RptRecibosCliente
- TDataModule -
- -
srvRecibosCliente
- TDataAbstractService -
- - - - - -
RptRecibosProveedor
- TDataModule -
- -
srvRecibosProveedor
- TDataAbstractService -
- - - -
srvReferencias
- TDataAbstractService -
- - - - -
srvRemesasCliente
- TDataAbstractService -
- - - - -
srvRemesasProveedor
- TDataAbstractService -
- - - - - - -
srvUnidadesMedida
- TDataAbstractService -
- - - -
srvConfiguracion
- TDataAbstractService -
- -
frConexionBD
- TFrame -
- -
frConfGeneral
- TFrame -
- -
fConfiguracion
- TForm -
- -
FrameConfiguracion
- TFrame -
- -
srvLogin
- TDARemoteService -
- -
fAcercaDe
-
- -
dmServer
- TDataModule -
- -
fServerForm
-
- - - - - - - - -
+ + {ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1} + FactuGES_Server.dpr + Debug + AnyCPU + DCC32 + ..\..\Output\Debug\Servidor\FactuGES_Server.exe + + + 7.0 + False + False + 0 + 3 + ..\..\Output\Release\Servidor + RELEASE + + + 7.0 + 3 + ..\..\Output\Debug\Servidor + DEBUG; + True + + + Delphi.Personality + + +FalseTrueFalseTrueFalse2310FalseFalseFalseFalseFalse30821252Rodax Software S.L.2.3.1.0FactuGES (Servidor)2.3.1.0miércoles, 11 de marzo de 2009 16:18 + + RemObjects Pascal Script - RemObjects SDK 3.0 Integration + FactuGES_Server.dpr + + + + + MainSource + + + + + +
srvEjercicios
+ TDataAbstractService +
+ + + +
srvEmpresas
+ TDARemoteService +
+ +
srvProvinciasPoblaciones
+ TRORemoteDataModule +
+ + + + + + + + + + + +
srvAlbaranesCliente
+ TDataAbstractService +
+ + + + +
srvAlbaranesProveedor
+ TDataAbstractService +
+ + + +
srvAlmacenes
+ TDARemoteService +
+ + + + + + + +
RptComisiones
+ TDataModule +
+ +
srvComisiones
+ TDataAbstractService +
+ + + + +
srvContabilidad
+ TDataAbstractService +
+ + + + + + + +
RptEtiquetasContacto
+ TDataModule +
+ +
srvContactos
+ TDARemoteService +
+ + + + +
RptFacturasCliente
+ TDataModule +
+ +
srvFacturasCliente
+ TDataAbstractService +
+ + + + +
RptFacturasProveedor
+ TDataModule +
+ +
srvFacturasProveedor
+ TDataAbstractService +
+ + + + + + + +
srvGestorDocumentos
+ TDataAbstractService +
+ +
srvGestorInformes
+ TDataAbstractService +
+ + + +
srvHistoricoMovimientos
+ TDataAbstractService +
+ + + +
srvInventario
+ TDataAbstractService +
+ + + + +
srvPedidosProveedor
+ TDataAbstractService +
+ + + + +
RptPresupuestosCliente
+
+ +
srvPresupuestosCliente
+ TDataAbstractService +
+ + + + + +
RptRecibosCliente
+ TDataModule +
+ +
srvRecibosCliente
+ TDataAbstractService +
+ + + + + +
RptRecibosProveedor
+ TDataModule +
+ +
srvRecibosProveedor
+ TDataAbstractService +
+ + + +
srvReferencias
+ TDataAbstractService +
+ + + + +
srvRemesasCliente
+ TDataAbstractService +
+ + + + +
srvRemesasProveedor
+ TDataAbstractService +
+ + + + + + +
srvUnidadesMedida
+ TDataAbstractService +
+ + + +
srvConfiguracion
+ TDataAbstractService +
+ +
frConexionBD
+ TFrame +
+ +
frConfGeneral
+ TFrame +
+ +
fConfiguracion
+ TForm +
+ +
FrameConfiguracion
+ TFrame +
+ +
srvLogin
+ TDARemoteService +
+ +
fAcercaDe
+
+ +
dmServer
+ TDataModule +
+ +
fServerForm
+
+ + + + + + + + +