git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES/tags/1.2.0@6 c93665c3-c93d-084d-9b98-7d5f4a9c3376
193 lines
5.0 KiB
ObjectPascal
193 lines
5.0 KiB
ObjectPascal
unit uBizPedidosProveedor;
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, uDADataTable, schPedidosProveedorClient_Intf,
|
|
uBizContactos, uBizDetallesPedidoProveedor;
|
|
|
|
const
|
|
BIZ_CLIENT_PEDIDO_PROVEEDOR = 'Client.PedidoProveedor';
|
|
|
|
SITUACION_PEDIDO_PENDIENTE = 'Pendiente';
|
|
SITUACION_PEDIDO_PARCIAL = 'Parcialmente recibido';
|
|
SITUACION_PEDIDO_RECIBIDO = 'Recibido';
|
|
|
|
type
|
|
IBizPedidoProveedor = interface(IPedidosProveedor)
|
|
['{513FE06A-48B8-4FA6-8D1D-0DD48EAD9352}']
|
|
|
|
procedure SetProveedor(AValue : IBizProveedor);
|
|
function GetProveedor : IBizProveedor;
|
|
property Proveedor : IBizProveedor read GetProveedor write SetProveedor;
|
|
|
|
function GetDetalles: IBizDetallesPedidoProveedor;
|
|
procedure SetDetalles(Value: IBizDetallesPedidoProveedor);
|
|
property Detalles: IBizDetallesPedidoProveedor read GetDetalles write SetDetalles;
|
|
|
|
function EsNuevo : Boolean;
|
|
function DarListaSituaciones: TStringList;
|
|
end;
|
|
|
|
TBizPedidoProveedor = class(TPedidosProveedorDataTableRules, IBizPedidoProveedor)
|
|
protected
|
|
FProveedor : IBizProveedor;
|
|
FDetalles : IBizDetallesPedidoProveedor;
|
|
FDetallesLink : TDADataSource;
|
|
|
|
procedure SetProveedor(AValue : IBizProveedor);
|
|
function GetProveedor : IBizProveedor;
|
|
|
|
function GetDetalles: IBizDetallesPedidoProveedor;
|
|
procedure SetDetalles(Value: IBizDetallesPedidoProveedor);
|
|
|
|
procedure SetFECHA_CONFIRMACIONValue(const aValue: TDateTime); override;
|
|
procedure SetFECHA_ENTREGAValue(const aValue: TDateTime); override;
|
|
procedure SetFECHA_PEDIDOValue(const aValue: TDateTime); override;
|
|
|
|
procedure OnNewRecord(Sender: TDADataTable); override;
|
|
procedure SetIDValue(const aValue: Integer); override;
|
|
procedure IniciarValoresPedidoNuevo;
|
|
public
|
|
function DarListaSituaciones: TStringList;
|
|
function EsNuevo : Boolean;
|
|
property Proveedor : IBizProveedor read GetProveedor write SetProveedor;
|
|
property Detalles: IBizDetallesPedidoProveedor read GetDetalles write SetDetalles;
|
|
|
|
constructor Create(aDataTable: TDADataTable); override;
|
|
destructor Destroy; override;
|
|
end;
|
|
|
|
implementation
|
|
|
|
uses
|
|
SysUtils, Variants, uDataModuleConfiguracion, uDataModuleUsuarios,
|
|
uDataTableUtils, DateUtils, uDateUtils;
|
|
|
|
{ TBizPedidoProveedor }
|
|
|
|
constructor TBizPedidoProveedor.Create(aDataTable: TDADataTable);
|
|
var
|
|
Ruta: Variant;
|
|
|
|
begin
|
|
inherited;
|
|
FProveedor := Nil;
|
|
FDetallesLink := TDADataSource.Create(NIL);
|
|
FDetallesLink.DataTable := aDataTable;
|
|
end;
|
|
|
|
function TBizPedidoProveedor.DarListaSituaciones: TStringList;
|
|
begin
|
|
Result := TStringList.Create;
|
|
with Result do
|
|
begin
|
|
Add(SITUACION_PEDIDO_PENDIENTE);
|
|
Add(SITUACION_PEDIDO_PARCIAL);
|
|
Add(SITUACION_PEDIDO_RECIBIDO);
|
|
end;
|
|
end;
|
|
|
|
destructor TBizPedidoProveedor.Destroy;
|
|
begin
|
|
FProveedor := NIL;
|
|
FDetalles := NIL;
|
|
FDetallesLink.Free;
|
|
inherited;
|
|
end;
|
|
|
|
function TBizPedidoProveedor.EsNuevo: Boolean;
|
|
begin
|
|
Result := (ID < 0);
|
|
end;
|
|
|
|
function TBizPedidoProveedor.GetProveedor: IBizProveedor;
|
|
begin
|
|
Result := FProveedor;
|
|
end;
|
|
|
|
procedure TBizPedidoProveedor.IniciarValoresPedidoNuevo;
|
|
begin
|
|
ID_EMPRESA := dmUsuarios.IDEmpresaActual;
|
|
USUARIO := dmUsuarios.LoginInfo.Usuario;
|
|
FECHA_PEDIDO := DateOf(Date);
|
|
SITUACION := SITUACION_PEDIDO_PENDIENTE;
|
|
INCIDENCIAS_ACTIVAS := 0;
|
|
end;
|
|
|
|
function TBizPedidoProveedor.GetDetalles: IBizDetallesPedidoProveedor;
|
|
begin
|
|
Result := FDetalles;
|
|
end;
|
|
|
|
procedure TBizPedidoProveedor.OnNewRecord(Sender: TDADataTable);
|
|
begin
|
|
inherited;
|
|
ID := GetRecNo; // -1, -2, -3...
|
|
IniciarValoresPedidoNuevo;
|
|
end;
|
|
|
|
procedure TBizPedidoProveedor.SetProveedor(AValue: IBizProveedor);
|
|
begin
|
|
FProveedor := AValue;
|
|
|
|
if Assigned(FProveedor) then
|
|
begin
|
|
if not FProveedor.DataTable.Active then
|
|
FProveedor.DataTable.Active := True;
|
|
|
|
if ID_PROVEEDOR <> FProveedor.ID then
|
|
begin
|
|
DataTable.Edit;
|
|
ID_PROVEEDOR := FProveedor.ID;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure TBizPedidoProveedor.SetDetalles(Value: IBizDetallesPedidoProveedor);
|
|
begin
|
|
FDetalles := Value;
|
|
EnlazarMaestroDetalle(FDetallesLink, FDetalles);
|
|
end;
|
|
|
|
procedure TBizPedidoProveedor.SetFECHA_CONFIRMACIONValue(
|
|
const aValue: TDateTime);
|
|
begin
|
|
inherited;
|
|
if EsFechaVacia(aValue) then
|
|
DataTable.Fields[idx_PedidosProveedorFECHA_CONFIRMACION].AsVariant := Null
|
|
else
|
|
inherited;
|
|
end;
|
|
|
|
procedure TBizPedidoProveedor.SetFECHA_ENTREGAValue(const aValue: TDateTime);
|
|
begin
|
|
inherited;
|
|
if EsFechaVacia(aValue) then
|
|
DataTable.Fields[idx_PedidosProveedorFECHA_ENTREGA].AsVariant := Null
|
|
else
|
|
inherited;
|
|
end;
|
|
|
|
procedure TBizPedidoProveedor.SetFECHA_PEDIDOValue(const aValue: TDateTime);
|
|
begin
|
|
inherited;
|
|
if EsFechaVacia(aValue) then
|
|
DataTable.Fields[idx_PedidosProveedorFECHA_PEDIDO].AsVariant := Null
|
|
else
|
|
inherited;
|
|
end;
|
|
|
|
procedure TBizPedidoProveedor.SetIDValue(const aValue: Integer);
|
|
begin
|
|
inherited;
|
|
end;
|
|
|
|
initialization
|
|
RegisterDataTableRules(BIZ_CLIENT_PEDIDO_PROVEEDOR, TBizPedidoProveedor);
|
|
|
|
finalization
|
|
|
|
end.
|
|
|