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">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\Articulos_model.dcp" />
<DCCReference Include="..\..\Presupuestos de cliente\Articulos_model.dcp" />
<DCCReference Include="uDataModuleArticulos.pas">
<Form>DataModuleArticulos</Form>
</DCCReference>

View File

@ -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);

View File

@ -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;

View File

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

View File

@ -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);

View File

@ -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;

Binary file not shown.