git-svn-id: https://192.168.0.254/svn/Proyectos.AlonsoYSal_FactuGES2/trunk@6 40301925-124e-1c4e-b97d-170ad7a8785b
150 lines
4.4 KiB
ObjectPascal
150 lines
4.4 KiB
ObjectPascal
unit uBizInventario;
|
||
|
||
interface
|
||
|
||
uses
|
||
uDAInterfaces, uDADataTable, schInventarioClient_Intf,
|
||
uBizArticulos, uDBSelectionListUtils;
|
||
|
||
const
|
||
BIZ_CLIENT_INVENTARIO = 'Client.Inventario';
|
||
BIZ_CLIENT_DETALLE_RESERVAS_INV = 'Client.DetallesReservasInv';
|
||
|
||
CTE_TIPO_ENTRADA = 'E';
|
||
CTE_TIPO_SALIDA = 'S';
|
||
|
||
type
|
||
TEnumTipoMovimiento = (tEntradaLibre,
|
||
tSalidaLibre,
|
||
tTraslado,
|
||
tEntradaPedidoProveedor,
|
||
tSalidaAlbaranCliente);
|
||
|
||
IBizDetalleReservas = interface(IDetalleReservas)
|
||
['{7E718670-DDC1-411B-B8DF-A28B81F9B8C3}']
|
||
end;
|
||
|
||
IBizInventario = interface(IInventario)
|
||
['{12051CDB-9BB1-43C5-AC89-181A27A35513}']
|
||
function GetIDAlmacenOrigen: Integer;
|
||
procedure SetIDAlmacenOrigen(const Value: Integer);
|
||
property IDAlmacenOrigen: Integer read GetIDAlmacenOrigen write SetIDAlmacenOrigen;
|
||
|
||
function GetIDAlmacenDestino: Integer;
|
||
procedure SetIDAlmacenDestino(const Value: Integer);
|
||
property IDAlmacenDestino: Integer read GetIDAlmacenDestino write SetIDAlmacenDestino;
|
||
|
||
function GetTipo: TEnumTipoMovimiento;
|
||
procedure SetTipo(const Value: TEnumTipoMovimiento);
|
||
property TipoMovimiento: TEnumTipoMovimiento read GetTipo write SetTipo;
|
||
end;
|
||
|
||
TBizDetalleReservas = class(TDetalleReservasDataTableRules, IBizDetalleReservas)
|
||
end;
|
||
|
||
TBizInventario = class(TInventarioDataTableRules, IBizInventario, ISeleccionable)
|
||
private
|
||
FIDAlmacenOrigen : Integer;
|
||
FIDAlmacenDestino : Integer;
|
||
FTipoMovimiento : TEnumTipoMovimiento;
|
||
function GetIDAlmacenOrigen: Integer;
|
||
procedure SetIDAlmacenOrigen(const Value: Integer);
|
||
function GetIDAlmacenDestino: Integer;
|
||
procedure SetIDAlmacenDestino(const Value: Integer);
|
||
function GetTipo: TEnumTipoMovimiento;
|
||
procedure SetTipo(const Value: TEnumTipoMovimiento);
|
||
protected
|
||
FSeleccionableInterface : ISeleccionable;
|
||
procedure OnNewRecord(Sender: TDADataTable); override;
|
||
procedure OnCalcFields(Sender: TDADataTable); override;
|
||
|
||
public
|
||
property IDAlmacenOrigen: Integer read GetIDAlmacenOrigen write SetIDAlmacenOrigen;
|
||
property IDAlmacenDestino: Integer read GetIDAlmacenDestino write SetIDAlmacenDestino;
|
||
property TipoMovimiento: TEnumTipoMovimiento read GetTipo write SetTipo;
|
||
property SeleccionableInterface : ISeleccionable read FSeleccionableInterface
|
||
write FSeleccionableInterface implements ISeleccionable;
|
||
|
||
constructor Create(aDataTable: TDADataTable); override;
|
||
destructor Destroy; override;
|
||
end;
|
||
|
||
implementation
|
||
|
||
uses
|
||
Dialogs, uDACDSDataTable, SysUtils;
|
||
|
||
{ TBizInventario }
|
||
|
||
constructor TBizInventario.Create(aDataTable: TDADataTable);
|
||
begin
|
||
inherited;
|
||
IDAlmacenOrigen := -1;
|
||
IDAlmacenDestino := -1;
|
||
TipoMovimiento := tEntradaLibre;
|
||
FSeleccionableInterface := TSeleccionable.Create(aDataTable);
|
||
end;
|
||
|
||
destructor TBizInventario.Destroy;
|
||
begin
|
||
FSeleccionableInterface := NIL;
|
||
inherited;
|
||
end;
|
||
|
||
|
||
procedure TBizInventario.OnCalcFields(Sender: TDADataTable);
|
||
begin
|
||
inherited;
|
||
ID := Self.DataTable.RecIDValue;
|
||
end;
|
||
|
||
procedure TBizInventario.OnNewRecord(Sender: TDADataTable);
|
||
begin
|
||
inherited;
|
||
|
||
//Este ID realmente se corresponder<65> con el de la tabla de movimientos.
|
||
ID := GetRecNo;
|
||
|
||
//En funci<63>n del tipo de operaci<63>n vamos a coger el IDAlmacenOrigen o IDAlamcenDetino
|
||
Case TipoMovimiento of
|
||
tEntradaLibre, tEntradaPedidoProveedor : ID_ALMACEN := IDAlmacenDestino;
|
||
tSalidaLibre, tSalidaAlbaranCliente, tTraslado : ID_ALMACEN := IDAlmacenOrigen;
|
||
End;
|
||
end;
|
||
|
||
function TBizInventario.GetIDAlmacenDestino: Integer;
|
||
begin
|
||
Result := FIDAlmacenDestino;
|
||
end;
|
||
|
||
function TBizInventario.GetIDAlmacenOrigen: Integer;
|
||
begin
|
||
Result := FIDAlmacenOrigen;
|
||
end;
|
||
|
||
function TBizInventario.GetTipo: TEnumTipoMovimiento;
|
||
begin
|
||
Result := FTipoMovimiento;
|
||
end;
|
||
|
||
procedure TBizInventario.SetIDAlmacenDestino(const Value: Integer);
|
||
begin
|
||
FIDAlmacenDestino := Value;
|
||
end;
|
||
|
||
procedure TBizInventario.SetIDAlmacenOrigen(const Value: Integer);
|
||
begin
|
||
FIDAlmacenOrigen := Value;
|
||
end;
|
||
|
||
procedure TBizInventario.SetTipo(const Value: TEnumTipoMovimiento);
|
||
begin
|
||
FTipoMovimiento := Value;
|
||
end;
|
||
|
||
initialization
|
||
RegisterDataTableRules(BIZ_CLIENT_INVENTARIO, TBizInventario);
|
||
RegisterDataTableRules(BIZ_CLIENT_DETALLE_RESERVAS_INV, TBizDetalleReservas);
|
||
|
||
end.
|