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
This commit is contained in:
roberto 2012-04-26 09:19:07 +00:00
parent 2e593cbaf9
commit c803ae8ecc
10 changed files with 46 additions and 17 deletions

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@ -54,7 +54,7 @@
<DelphiCompile Include="Articulos_data.dpk"> <DelphiCompile Include="Articulos_data.dpk">
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </DelphiCompile>
<DCCReference Include="..\Articulos_model.dcp" /> <DCCReference Include="..\..\Presupuestos de cliente\Articulos_model.dcp" />
<DCCReference Include="uDataModuleArticulos.pas"> <DCCReference Include="uDataModuleArticulos.pas">
<Form>DataModuleArticulos</Form> <Form>DataModuleArticulos</Form>
</DCCReference> </DCCReference>

View File

@ -44,8 +44,12 @@ uses
{ TdmArticulos } { TdmArticulos }
function TDataModuleArticulos.AnadirImagen(const ID: Integer; const AFileName: String): Boolean; function TDataModuleArticulos.AnadirImagen(const ID: Integer; const AFileName: String): Boolean;
var
AImagen: Binary;
begin begin
Result := (RORemoteService as IsrvArticulos).AnadirImagen(ID, AFileName); AImagen := Binary.Create;
AImagen.LoadFromFile(AFileName);
Result := (RORemoteService as IsrvArticulos).AnadirImagen(ID, AImagen);
end; end;
procedure TDataModuleArticulos.AsignarClaseNegocio(AArticulo: TDADataTable); procedure TDataModuleArticulos.AsignarClaseNegocio(AArticulo: TDADataTable);

View File

@ -32,14 +32,14 @@ type
procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject; procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject;
var aConnectionName: string); var aConnectionName: string);
function EliminarImagen(const ID_ARTICULO: Integer): Boolean; 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; end;
implementation implementation
{$R *.dfm} {$R *.dfm}
uses uses
{Generated:} FactuGES_Invk, uDataModuleServer, uROClasses, {Generated:} FactuGES_Invk, uDataModuleServer, uROClasses, uSistemaFunc,
uDatabaseUtils, schArticulosClient_Intf, uRestriccionesUsuarioUtils; uDatabaseUtils, schArticulosClient_Intf, uRestriccionesUsuarioUtils;
procedure Create_srvArticulos(out anInstance : IUnknown); procedure Create_srvArticulos(out anInstance : IUnknown);
@ -48,11 +48,12 @@ begin
end; end;
{ srvArticulos } { srvArticulos }
function TsrvArticulos.AnadirImagen(const ID_ARTICULO: Integer; const AFileName: AnsiString): Boolean; function TsrvArticulos.AnadirImagen(const ID_ARTICULO: Integer; const Imagen: Binary): Boolean;
var var
AConn : IDAConnection; AConn : IDAConnection;
dsData: IDADataset; dsData: IDADataset;
dsCommand: IDASQLCommand; dsCommand: IDASQLCommand;
aAux : String;
begin begin
Result := False; Result := False;
@ -76,9 +77,11 @@ begin
begin begin
try try
try try
aAux := DarFicheroJPGTemporal;
Imagen.SaveToFile(aAux);
dsCommand := schArticulos.NewCommand(AConn, 'ModificarImagen'); dsCommand := schArticulos.NewCommand(AConn, 'ModificarImagen');
dsCommand.ParamByName('ID').AsInteger := ID_ARTICULO; dsCommand.ParamByName('ID').AsInteger := ID_ARTICULO;
dsCommand.ParamByName('IMAGEN').LoadFromFile(AFileName); dsCommand.ParamByName('IMAGEN').LoadFromFile(aAux);
dsCommand.Execute; dsCommand.Execute;
AConn.CommitTransaction; AConn.CommitTransaction;
Result := True; Result := True;
@ -87,6 +90,7 @@ begin
AConn.RollbackTransaction; AConn.RollbackTransaction;
end; end;
finally finally
DeleteFile(aAux);
dsCommand := NIL; dsCommand := NIL;
end; end;
end; end;

View File

@ -212,7 +212,7 @@
</Parameter> </Parameter>
<Parameter Name="ID_ARTICULO" DataType="Integer" Flag="In" > <Parameter Name="ID_ARTICULO" DataType="Integer" Flag="In" >
</Parameter> </Parameter>
<Parameter Name="AFileName" DataType="AnsiString" Flag="In" > <Parameter Name="Imagen" DataType="Binary" Flag="In" >
</Parameter> </Parameter>
</Parameters> </Parameters>
</Operation> </Operation>

View File

@ -418,7 +418,7 @@ type
IsrvArticulos = interface(IDataAbstractService) IsrvArticulos = interface(IDataAbstractService)
['{CFBE5841-DF0F-48AD-853E-A35FDA989E6E}'] ['{CFBE5841-DF0F-48AD-853E-A35FDA989E6E}']
function EliminarImagen(const ID_ARTICULO: Integer): Boolean; 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; end;
{ CosrvArticulos } { CosrvArticulos }
@ -432,7 +432,7 @@ type
function __GetInterfaceName:string; override; function __GetInterfaceName:string; override;
function EliminarImagen(const ID_ARTICULO: Integer): Boolean; 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; end;
{ IsrvRecibosCliente } { IsrvRecibosCliente }
@ -1639,12 +1639,12 @@ begin
end end
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 begin
try try
__Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'AnadirImagen'); __Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'AnadirImagen');
__Message.Write('ID_ARTICULO', TypeInfo(Integer), ID_ARTICULO, []); __Message.Write('ID_ARTICULO', TypeInfo(Integer), ID_ARTICULO, []);
__Message.Write('AFileName', TypeInfo(AnsiString), AFileName, []); __Message.Write('Imagen', TypeInfo(Binary), Imagen, []);
__Message.Finalize; __Message.Finalize;
__TransportChannel.Dispatch(__Message); __TransportChannel.Dispatch(__Message);

View File

@ -717,17 +717,19 @@ begin
end; end;
procedure TsrvArticulos_Invoker.Invoke_AnadirImagen(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); 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 var
ID_ARTICULO: Integer; ID_ARTICULO: Integer;
AFileName: AnsiString; Imagen: Binary;
lResult: Boolean; lResult: Boolean;
__lObjectDisposer: TROObjectDisposer;
begin begin
Imagen := nil;
try try
__Message.Read('ID_ARTICULO', TypeInfo(Integer), ID_ARTICULO, []); __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.InitializeResponseMessage(__Transport, 'FactuGES', 'srvArticulos', 'AnadirImagenResponse');
__Message.Write('Result', TypeInfo(Boolean), lResult, []); __Message.Write('Result', TypeInfo(Boolean), lResult, []);
@ -735,6 +737,12 @@ begin
__Message.UnsetAttributes(__Transport); __Message.UnsetAttributes(__Transport);
finally finally
__lObjectDisposer := TROObjectDisposer.Create(__Instance);
try
__lObjectDisposer.Add(Imagen);
finally
__lObjectDisposer.Free();
end;
end; end;
end; end;

Binary file not shown.