From c803ae8ecce0228ac373066c1690b5337bae05d5 Mon Sep 17 00:00:00 2001 From: roberto Date: Thu, 26 Apr 2012 09:19:07 +0000 Subject: [PATCH] Se habilita articulos para presupuestos, contratos, etc git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES2/trunk@553 f4e31baf-9722-1c47-927c-6f952f962d4b --- Source/GUIBase/GUIBase.res | Bin 384 -> 4748 bytes Source/Informes/InfContratoCliente.fr3 | 17 +++++++++++++++-- .../Modulos/Articulos/Data/Articulos_data.RES | Bin 384 -> 4748 bytes .../Articulos/Data/Articulos_data.dproj | 2 +- .../Articulos/Data/uDataModuleArticulos.pas | 6 +++++- .../Articulos/Servidor/srvArticulos_Impl.pas | 12 ++++++++---- Source/Servicios/FactuGES.RODL | 2 +- Source/Servicios/FactuGES_Intf.pas | 8 ++++---- Source/Servicios/FactuGES_Invk.pas | 16 ++++++++++++---- Source/Servicios/RODLFile.res | Bin 44053 -> 44046 bytes 10 files changed, 46 insertions(+), 17 deletions(-) diff --git a/Source/GUIBase/GUIBase.res b/Source/GUIBase/GUIBase.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/Informes/InfContratoCliente.fr3 b/Source/Informes/InfContratoCliente.fr3 index 95663798..dd2c51ca 100644 --- a/Source/Informes/InfContratoCliente.fr3 +++ b/Source/Informes/InfContratoCliente.fr3 @@ -1,5 +1,5 @@ - + @@ -68,7 +68,7 @@ - + @@ -78,4 +78,17 @@ + + + + + + + + + + + + + diff --git a/Source/Modulos/Articulos/Data/Articulos_data.RES b/Source/Modulos/Articulos/Data/Articulos_data.RES index 8b251f312bcccec5485024f6fe8d80e1cdf25746..1641339fcc482e7e3492d1b45813a86619622c33 100644 GIT binary patch literal 4748 zcmbW5&ub)A5XUPdpe&2#;C*uNAUVhgd+&(4um@dnom`vXF9g}ZuHJ;se=<3UNdFJg zbCw+UD9j$byGIXV`~6hC>h4S?F|k9X-j90q{Z_qtZ<;nUJCO8!h?p${kR>3GhM`oH*q zk=UsjOCIgA_4!`B+Gb&`I84R)bT4dy-BQV<-SyFz?R8ILEQ(+JB$u{sEXE@j@B*7W zT;iZH#|OJ<&DO$RCkM6VbK3(B(k{nbdv1lpc;E$xz9as|v3uE1V{hw2w~g3eD0an7 z{BT%G%irdMe*|oDJmgvJaA2`9B<6Xi*?M~Q;)@Sbfwf3uf zVaWkbUjU=;sL{BlYemIZXv%qZ{SZw{-TCU+;!nH6KDDIJumU+9{E0zXW4>7T)y|>$DQlv zRJe?TjSp{c!DqeayAnSMTtZZT;>LN7J0Rls+5m@q)MbyB*eL%Eu@(+$Cw}Pd@q7N| z%Q0*AHpCP^b9v`@jx-l_FD>khpW2W8(OU2&V5TrnoAY-m_hlcV?zq3;7{2gF{J#Hc z6R+o~mVenX?>@W0@_DVzyOFs(5464CY{!q9ChoF#_*eXi@4gFuV8?vhl=_w5$iKL0 zEV0nMBcN08xtRmsgJrqjh@s#|{?*ssnsG)mH*wa6{efF0JFWHok@kA5%b661{B38= zCcgJ|*ZFTpV$8<-&+AWpa)Q8*`wL&hMeNQ^v6I7$HSdLZhZ^&+6<@Uw_Zsml9^v3W zVvPDBKHh;i=RU4J_ta3E;)Mn>Y+L zKLZ0UQ+*km9FO-b?U4gmn-62iwzH6&*duKGo~aUV)bYDla8wWZ9+^7p-F<8lP@i!m z@vhbD_${F}h>^T;C(?(b*OJDk?{dEXB?nuehoON3HAb!7Mr7-ls!84-5V-jJugbu<_$}mU=Yd9!?TOX;|B-#B)+0x#9q*yqJiqS!`49d=7ztk$O+9=1i;?K_|J<8T z?0b7=-`Z3A#vV$4XJ5(lQ~TOZHUFdA%oWvK5zg&_IKXIbughQBA8XAsd#=@|TFLXC zy(^m((;DnQmDQKatmw!@c`| G?EMQ&4NnpP delta 11 ScmeBCZD5|Duvteife`=|>;pCc diff --git a/Source/Modulos/Articulos/Data/Articulos_data.dproj b/Source/Modulos/Articulos/Data/Articulos_data.dproj index 6f5c6a79..362ae2fb 100644 --- a/Source/Modulos/Articulos/Data/Articulos_data.dproj +++ b/Source/Modulos/Articulos/Data/Articulos_data.dproj @@ -54,7 +54,7 @@ MainSource - +
DataModuleArticulos
diff --git a/Source/Modulos/Articulos/Data/uDataModuleArticulos.pas b/Source/Modulos/Articulos/Data/uDataModuleArticulos.pas index 1c10c47e..43066eb7 100644 --- a/Source/Modulos/Articulos/Data/uDataModuleArticulos.pas +++ b/Source/Modulos/Articulos/Data/uDataModuleArticulos.pas @@ -44,8 +44,12 @@ uses { TdmArticulos } function TDataModuleArticulos.AnadirImagen(const ID: Integer; const AFileName: String): Boolean; +var + AImagen: Binary; begin - Result := (RORemoteService as IsrvArticulos).AnadirImagen(ID, AFileName); + AImagen := Binary.Create; + AImagen.LoadFromFile(AFileName); + Result := (RORemoteService as IsrvArticulos).AnadirImagen(ID, AImagen); end; procedure TDataModuleArticulos.AsignarClaseNegocio(AArticulo: TDADataTable); diff --git a/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.pas b/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.pas index a56f5a08..4a176b91 100644 --- a/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.pas +++ b/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.pas @@ -32,14 +32,14 @@ type procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject; var aConnectionName: string); function EliminarImagen(const ID_ARTICULO: Integer): Boolean; - function AnadirImagen(const ID_ARTICULO: Integer; const AFileName: AnsiString): Boolean; + function AnadirImagen(const ID_ARTICULO: Integer; const Imagen: Binary): Boolean; end; implementation {$R *.dfm} uses - {Generated:} FactuGES_Invk, uDataModuleServer, uROClasses, + {Generated:} FactuGES_Invk, uDataModuleServer, uROClasses, uSistemaFunc, uDatabaseUtils, schArticulosClient_Intf, uRestriccionesUsuarioUtils; procedure Create_srvArticulos(out anInstance : IUnknown); @@ -48,11 +48,12 @@ begin end; { srvArticulos } -function TsrvArticulos.AnadirImagen(const ID_ARTICULO: Integer; const AFileName: AnsiString): Boolean; +function TsrvArticulos.AnadirImagen(const ID_ARTICULO: Integer; const Imagen: Binary): Boolean; var AConn : IDAConnection; dsData: IDADataset; dsCommand: IDASQLCommand; + aAux : String; begin Result := False; @@ -76,9 +77,11 @@ begin begin try try + aAux := DarFicheroJPGTemporal; + Imagen.SaveToFile(aAux); dsCommand := schArticulos.NewCommand(AConn, 'ModificarImagen'); dsCommand.ParamByName('ID').AsInteger := ID_ARTICULO; - dsCommand.ParamByName('IMAGEN').LoadFromFile(AFileName); + dsCommand.ParamByName('IMAGEN').LoadFromFile(aAux); dsCommand.Execute; AConn.CommitTransaction; Result := True; @@ -87,6 +90,7 @@ begin AConn.RollbackTransaction; end; finally + DeleteFile(aAux); dsCommand := NIL; end; end; diff --git a/Source/Servicios/FactuGES.RODL b/Source/Servicios/FactuGES.RODL index f7cfce6c..4f58ee60 100644 --- a/Source/Servicios/FactuGES.RODL +++ b/Source/Servicios/FactuGES.RODL @@ -212,7 +212,7 @@ - + diff --git a/Source/Servicios/FactuGES_Intf.pas b/Source/Servicios/FactuGES_Intf.pas index 97904f97..ac7789e1 100644 --- a/Source/Servicios/FactuGES_Intf.pas +++ b/Source/Servicios/FactuGES_Intf.pas @@ -418,7 +418,7 @@ type IsrvArticulos = interface(IDataAbstractService) ['{CFBE5841-DF0F-48AD-853E-A35FDA989E6E}'] function EliminarImagen(const ID_ARTICULO: Integer): Boolean; - function AnadirImagen(const ID_ARTICULO: Integer; const AFileName: AnsiString): Boolean; + function AnadirImagen(const ID_ARTICULO: Integer; const Imagen: Binary): Boolean; end; { CosrvArticulos } @@ -432,7 +432,7 @@ type function __GetInterfaceName:string; override; function EliminarImagen(const ID_ARTICULO: Integer): Boolean; - function AnadirImagen(const ID_ARTICULO: Integer; const AFileName: AnsiString): Boolean; + function AnadirImagen(const ID_ARTICULO: Integer; const Imagen: Binary): Boolean; end; { IsrvRecibosCliente } @@ -1639,12 +1639,12 @@ begin end end; -function TsrvArticulos_Proxy.AnadirImagen(const ID_ARTICULO: Integer; const AFileName: AnsiString): Boolean; +function TsrvArticulos_Proxy.AnadirImagen(const ID_ARTICULO: Integer; const Imagen: Binary): Boolean; begin try __Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'AnadirImagen'); __Message.Write('ID_ARTICULO', TypeInfo(Integer), ID_ARTICULO, []); - __Message.Write('AFileName', TypeInfo(AnsiString), AFileName, []); + __Message.Write('Imagen', TypeInfo(Binary), Imagen, []); __Message.Finalize; __TransportChannel.Dispatch(__Message); diff --git a/Source/Servicios/FactuGES_Invk.pas b/Source/Servicios/FactuGES_Invk.pas index 56154c40..dcba1490 100644 --- a/Source/Servicios/FactuGES_Invk.pas +++ b/Source/Servicios/FactuGES_Invk.pas @@ -717,17 +717,19 @@ begin end; procedure TsrvArticulos_Invoker.Invoke_AnadirImagen(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); -{ function AnadirImagen(const ID_ARTICULO: Integer; const AFileName: AnsiString): Boolean; } +{ function AnadirImagen(const ID_ARTICULO: Integer; const Imagen: Binary): Boolean; } var ID_ARTICULO: Integer; - AFileName: AnsiString; + Imagen: Binary; lResult: Boolean; + __lObjectDisposer: TROObjectDisposer; begin + Imagen := nil; try __Message.Read('ID_ARTICULO', TypeInfo(Integer), ID_ARTICULO, []); - __Message.Read('AFileName', TypeInfo(AnsiString), AFileName, []); + __Message.Read('Imagen', TypeInfo(Binary), Imagen, []); - lResult := (__Instance as IsrvArticulos).AnadirImagen(ID_ARTICULO, AFileName); + lResult := (__Instance as IsrvArticulos).AnadirImagen(ID_ARTICULO, Imagen); __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvArticulos', 'AnadirImagenResponse'); __Message.Write('Result', TypeInfo(Boolean), lResult, []); @@ -735,6 +737,12 @@ begin __Message.UnsetAttributes(__Transport); finally + __lObjectDisposer := TROObjectDisposer.Create(__Instance); + try + __lObjectDisposer.Add(Imagen); + finally + __lObjectDisposer.Free(); + end; end; end; diff --git a/Source/Servicios/RODLFile.res b/Source/Servicios/RODLFile.res index bda058c604ea3e75e9fcf9da2c4c524a0e3f250f..c54c5103b7ecbf5956677eb418b20c3d833563b8 100644 GIT binary patch delta 37 tcmbPwgQ@QZ(*y;^eH#^-tl2zs6Vp@kCLh$1nk>a;JjvX1^D%4x0ssi?4YB|L delta 37 tcmeCX!8G*-(*y;^qZ<{OtT`RsGILV>5_3~07dp