2007-06-11 15:29:06 +00:00
|
|
|
|
unit uBizInventario;
|
|
|
|
|
|
|
|
|
|
|
|
interface
|
|
|
|
|
|
|
|
|
|
|
|
uses
|
|
|
|
|
|
uDAInterfaces, uDADataTable, schInventarioClient_Intf,
|
|
|
|
|
|
uBizArticulos, uDBSelectionListUtils;
|
|
|
|
|
|
|
|
|
|
|
|
const
|
|
|
|
|
|
BIZ_CLIENT_INVENTARIO = 'Client.Inventario';
|
2007-07-17 15:28:26 +00:00
|
|
|
|
BIZ_CLIENT_DETALLE_RESERVAS_INV = 'Client.DetallesReservasInv';
|
2008-05-28 17:19:09 +00:00
|
|
|
|
BIZ_CLIENT_DETALLE_SINALBARAN = 'Client.DetallesSinAlbaran';
|
|
|
|
|
|
BIZ_CLIENT_DETALLE_SINRECIBIR = 'Client.DetallesRecibir';
|
2007-06-11 15:29:06 +00:00
|
|
|
|
|
|
|
|
|
|
CTE_TIPO_ENTRADA = 'E';
|
|
|
|
|
|
CTE_TIPO_SALIDA = 'S';
|
|
|
|
|
|
|
|
|
|
|
|
type
|
|
|
|
|
|
TEnumTipoMovimiento = (tEntradaLibre,
|
|
|
|
|
|
tSalidaLibre,
|
|
|
|
|
|
tTraslado,
|
|
|
|
|
|
tEntradaPedidoProveedor,
|
|
|
|
|
|
tSalidaAlbaranCliente);
|
|
|
|
|
|
|
2007-07-17 15:28:26 +00:00
|
|
|
|
IBizDetalleReservas = interface(IDetalle_Reservas_Inv)
|
|
|
|
|
|
['{7E718670-DDC1-411B-B8DF-A28B81F9B8C3}']
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
2008-03-28 15:10:28 +00:00
|
|
|
|
IBizDetalleSinAlbaran = interface(IDetalle_sin_Albaranar)
|
|
|
|
|
|
['{FB982CC5-1CE6-4362-9D93-DCAC508D06AA}']
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
2008-05-28 17:19:09 +00:00
|
|
|
|
IBizDetalleSinRecibir = interface(IDetalle_sin_Recibir)
|
|
|
|
|
|
['{5C4E0F5E-03BF-4C26-A7E0-775CF508AB0E}']
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
2007-06-11 15:29:06 +00:00
|
|
|
|
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;
|
|
|
|
|
|
|
2007-07-17 15:28:26 +00:00
|
|
|
|
TBizDetalleReservas = class(TDetalle_reservas_InvDataTableRules, IBizDetalleReservas)
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
2008-03-28 15:10:28 +00:00
|
|
|
|
TBizDetalleSinAlbaran = class(TDETALLE_SIN_ALBARANARDataTableRules, IBizDetalleSinAlbaran, ISeleccionable)
|
|
|
|
|
|
protected
|
|
|
|
|
|
FSeleccionableInterface : ISeleccionable;
|
|
|
|
|
|
public
|
|
|
|
|
|
property SeleccionableInterface : ISeleccionable read FSeleccionableInterface write FSeleccionableInterface implements ISeleccionable;
|
|
|
|
|
|
|
|
|
|
|
|
constructor Create(aDataTable: TDADataTable); override;
|
|
|
|
|
|
destructor Destroy; override;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
2008-05-28 17:19:09 +00:00
|
|
|
|
TBizDetalleSinRecibir = class(TDETALLE_SIN_RECIBIRDataTableRules, IBizDetalleSinRecibir, ISeleccionable)
|
|
|
|
|
|
protected
|
|
|
|
|
|
FSeleccionableInterface : ISeleccionable;
|
|
|
|
|
|
public
|
|
|
|
|
|
property SeleccionableInterface : ISeleccionable read FSeleccionableInterface write FSeleccionableInterface implements ISeleccionable;
|
|
|
|
|
|
|
|
|
|
|
|
constructor Create(aDataTable: TDADataTable); override;
|
|
|
|
|
|
destructor Destroy; override;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
2007-06-11 15:29:06 +00:00
|
|
|
|
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;
|
|
|
|
|
|
|
2008-03-28 15:10:28 +00:00
|
|
|
|
{ TBizDetalleSinAlbaran }
|
|
|
|
|
|
|
|
|
|
|
|
constructor TBizDetalleSinAlbaran.Create(aDataTable: TDADataTable);
|
|
|
|
|
|
begin
|
|
|
|
|
|
inherited;
|
|
|
|
|
|
FSeleccionableInterface := TSeleccionable.Create(aDataTable);
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
destructor TBizDetalleSinAlbaran.Destroy;
|
|
|
|
|
|
begin
|
|
|
|
|
|
FSeleccionableInterface := NIL;
|
|
|
|
|
|
inherited;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
2008-05-28 17:19:09 +00:00
|
|
|
|
{ TBizDetalleSinRecibir }
|
|
|
|
|
|
|
|
|
|
|
|
constructor TBizDetalleSinRecibir.Create(aDataTable: TDADataTable);
|
|
|
|
|
|
begin
|
|
|
|
|
|
inherited;
|
|
|
|
|
|
FSeleccionableInterface := TSeleccionable.Create(aDataTable);
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
destructor TBizDetalleSinRecibir.Destroy;
|
|
|
|
|
|
begin
|
|
|
|
|
|
FSeleccionableInterface := NIL;
|
|
|
|
|
|
inherited;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
2007-06-11 15:29:06 +00:00
|
|
|
|
initialization
|
|
|
|
|
|
RegisterDataTableRules(BIZ_CLIENT_INVENTARIO, TBizInventario);
|
2007-07-17 15:28:26 +00:00
|
|
|
|
RegisterDataTableRules(BIZ_CLIENT_DETALLE_RESERVAS_INV, TBizDetalleReservas);
|
2008-03-28 15:10:28 +00:00
|
|
|
|
RegisterDataTableRules(BIZ_CLIENT_DETALLE_SINALBARAN, TBizDetalleSinAlbaran);
|
2008-05-28 17:19:09 +00:00
|
|
|
|
RegisterDataTableRules(BIZ_CLIENT_DETALLE_SINRECIBIR, TBizDetalleSinRecibir);
|
2007-06-11 15:29:06 +00:00
|
|
|
|
|
|
|
|
|
|
end.
|