git-svn-id: https://192.168.0.254/svn/Proyectos.AbetoDesign_FactuGES/trunk@191 93f398dd-4eb6-7a46-baf6-13f46f578da2
183 lines
4.8 KiB
ObjectPascal
183 lines
4.8 KiB
ObjectPascal
unit uBizArticulos;
|
|
|
|
interface
|
|
|
|
uses
|
|
uDAInterfaces, uDADataTable, schArticulosClient_Intf, uDBSelectionListUtils,
|
|
uBizArticulosProveedores, uBizArticulosIdiomas;
|
|
|
|
const
|
|
BIZ_CLIENT_ARTICULO = 'Client.Articulo';
|
|
CTE_TARIFA_COMPRAS = 'Compras';
|
|
|
|
type
|
|
IBizArticulo = interface(IArticulos)
|
|
['{06AB61B1-C225-4791-9F5E-00A60DBA7FFD}']
|
|
function EsNuevo : Boolean;
|
|
function HayImagen: Boolean;
|
|
procedure SalvarImagen(const AFileName: String);
|
|
procedure CargarImagen(const AFileName: String);
|
|
procedure QuitarImagen;
|
|
|
|
function GetProveedores: IBizArticulosProveedores;
|
|
procedure SetProveedores(Value: IBizArticulosProveedores);
|
|
property Proveedores: IBizArticulosProveedores read GetProveedores write SetProveedores;
|
|
|
|
function GetIdiomas: IBizArticulosIdiomas;
|
|
procedure SetIdiomas(Value: IBizArticulosIdiomas);
|
|
property Idiomas: IBizArticulosIdiomas read GetIdiomas write SetIdiomas;
|
|
end;
|
|
|
|
TBizArticulo = class(TArticulosDataTableRules, IBizArticulo, ISeleccionable)
|
|
protected
|
|
FProveedores : IBizArticulosProveedores;
|
|
FProveedoresLink : TDADataSource;
|
|
FIdiomas : IBizArticulosIdiomas;
|
|
FIdiomasLink : TDADataSource;
|
|
FSeleccionableInterface : ISeleccionable;
|
|
procedure OnNewRecord(Sender: TDADataTable); override;
|
|
function GetProveedores: IBizArticulosProveedores;
|
|
procedure SetProveedores(Value: IBizArticulosProveedores);
|
|
function GetIdiomas: IBizArticulosIdiomas;
|
|
procedure SetIdiomas(Value: IBizArticulosIdiomas);
|
|
|
|
published
|
|
|
|
public
|
|
procedure IniciarValoresArticuloNuevo; virtual;
|
|
function HayImagen: Boolean;
|
|
procedure SalvarImagen(const AFileName: String);
|
|
procedure CargarImagen(const AFileName: String);
|
|
procedure QuitarImagen;
|
|
function EsNuevo : Boolean;
|
|
constructor Create(aDataTable: TDADataTable); override;
|
|
destructor Destroy; override;
|
|
property SeleccionableInterface : ISeleccionable read FSeleccionableInterface write FSeleccionableInterface implements ISeleccionable;
|
|
property Proveedores: IBizArticulosProveedores read GetProveedores write SetProveedores;
|
|
property Idiomas: IBizArticulosIdiomas read GetIdiomas write SetIdiomas;
|
|
end;
|
|
|
|
implementation
|
|
|
|
uses
|
|
uFactuGES_App, uDataTableUtils, SysUtils, uROClasses, Classes;
|
|
|
|
{ TBizArticulo }
|
|
|
|
procedure TBizArticulo.CargarImagen(const AFileName: String);
|
|
begin
|
|
{ inherited;
|
|
DataTable.Edit;
|
|
DataTable.FieldByName(fld_ArticulosIMAGEN).LoadFromFile(AFileName);
|
|
DataTable.Post;}
|
|
end;
|
|
|
|
constructor TBizArticulo.Create(aDataTable: TDADataTable);
|
|
begin
|
|
inherited;
|
|
|
|
FProveedoresLink := TDADataSource.Create(NIL);
|
|
FProveedoresLink.DataTable := aDataTable;
|
|
|
|
FIdiomasLink := TDADataSource.Create(NIL);
|
|
FIdiomasLink.DataTable := aDataTable;
|
|
|
|
FSeleccionableInterface := TSeleccionable.Create(aDataTable);
|
|
end;
|
|
|
|
destructor TBizArticulo.Destroy;
|
|
begin
|
|
FProveedores := NIL;
|
|
FProveedoresLink.Free;
|
|
|
|
FIdiomas := NIL;
|
|
FIdiomasLink.Free;
|
|
|
|
FSeleccionableInterface := NIL;
|
|
|
|
inherited;
|
|
end;
|
|
|
|
function TBizArticulo.EsNuevo: Boolean;
|
|
begin
|
|
Result := (ID < 0);
|
|
end;
|
|
|
|
function TBizArticulo.GetIdiomas: IBizArticulosIdiomas;
|
|
begin
|
|
Result := FIdiomas;
|
|
end;
|
|
|
|
function TBizArticulo.GetProveedores: IBizArticulosProveedores;
|
|
begin
|
|
Result := FProveedores;
|
|
end;
|
|
|
|
function TBizArticulo.HayImagen: Boolean;
|
|
{var
|
|
AStream : TMemoryStream;
|
|
AROStream : IROStream;}
|
|
begin
|
|
{ AStream := TMemoryStream.Create;
|
|
AROStream := TROStream.Create(AStream, False);
|
|
try
|
|
DataTable.FieldByName(fld_ArticulosIMAGEN).SaveToStream(AROStream);
|
|
Result := (AROStream.Size > 0);
|
|
finally
|
|
AROStream := NIL;
|
|
FreeAndNIL(AStream);
|
|
end;}
|
|
end;
|
|
|
|
procedure TBizArticulo.IniciarValoresArticuloNuevo;
|
|
begin
|
|
ID_EMPRESA := AppFactuGES.EmpresaActiva.ID;
|
|
PRECIO_PORTE := 0;
|
|
PRECIO_COSTE := 0;
|
|
DESCUENTO := 0;
|
|
PRECIO_NETO := 0;
|
|
COMISIONABLE := 1;
|
|
ELIMINADO := 0;
|
|
INVENTARIABLE := 0;
|
|
USUARIO := AppFactuGES.UsuarioActivo.UserName;
|
|
end;
|
|
|
|
procedure TBizArticulo.OnNewRecord(Sender: TDADataTable);
|
|
begin
|
|
inherited;
|
|
ID := GetRecNo; // -1, -2, -3...
|
|
IniciarValoresArticuloNuevo;
|
|
end;
|
|
|
|
procedure TBizArticulo.QuitarImagen;
|
|
begin
|
|
{ DataTable.Edit;
|
|
DataTable.Fields[idx_ArticulosIMAGEN].Clear;
|
|
DataTable.Post;}
|
|
end;
|
|
|
|
procedure TBizArticulo.SalvarImagen(const AFileName: String);
|
|
begin
|
|
// DataTable.FieldByName(fld_ArticulosIMAGEN).SaveToFile(AFileName);
|
|
end;
|
|
|
|
procedure TBizArticulo.SetIdiomas(Value: IBizArticulosIdiomas);
|
|
begin
|
|
FIdiomas := Value;
|
|
EnlazarMaestroDetalle(FIdiomasLink, FIdiomas);
|
|
end;
|
|
|
|
procedure TBizArticulo.SetProveedores(Value: IBizArticulosProveedores);
|
|
begin
|
|
FProveedores := Value;
|
|
EnlazarMaestroDetalle(FProveedoresLink, FProveedores);
|
|
end;
|
|
|
|
initialization
|
|
RegisterDataTableRules(BIZ_CLIENT_ARTICULO, TBizArticulo);
|
|
|
|
finalization
|
|
|
|
end.
|
|
|