Poder ver en detalle los articulos de almacen reservados a quien estan reservados (DetalleReservados)

git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES/trunk@95 c93665c3-c93d-084d-9b98-7d5f4a9c3376
This commit is contained in:
roberto 2007-07-17 15:28:26 +00:00
parent 390001cdba
commit 91dd836812
44 changed files with 6384 additions and 1261 deletions

Binary file not shown.

View File

@ -1,4 +1,5 @@
DROP VIEW V_VENTAS_ARTICULOS; DROP VIEW V_VENTAS_ARTICULOS;
//DROP VIEW V_INV_DETALLE_RESERVAS;
/* /*
VISTAS RELATIVAS A PEDIDOS Y ALBARANES VISTAS RELATIVAS A PEDIDOS Y ALBARANES
@ -2293,4 +2294,80 @@ FROM
GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16; GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16;
/*Vista para ver para quien estan reservados los articulos del inventario*/
CREATE VIEW V_INV_DETALLE_RESERVAS(
ID_ALB,
ID_EMPRESA,
REFERENCIA_ALB,
SITUACION_ALB,
FECHA_PREVISTA_ENVIO_ALB,
ID_ALMACEN_ALB,
ALMACEN_ALB,
ID_CLIENTE_ALB,
CLIENTE_ALB,
ID_ART,
FAMILIA_ART,
REFERENCIA_ART,
REFERENCIA_PROV_ART,
DESCRIPCION_ART,
CANTIDAD_ART)
AS
SELECT
ALBARANES_CLIENTE_DETALLES.ID_ALBARAN,
ALBARANES_CLIENTE.ID_EMPRESA,
ALBARANES_CLIENTE.REFERENCIA,
V_ALB_CLI_SITUACION.SITUACION,
ALBARANES_CLIENTE.FECHA_PREVISTA_ENVIO,
ALBARANES_CLIENTE.ID_ALMACEN,
ALMACENES.NOMBRE AS ALMACEN,
ALBARANES_CLIENTE.ID_CLIENTE,
CONTACTOS.NOMBRE AS CLIENTE,
ARTICULOS.ID,
ARTICULOS.FAMILIA,
ARTICULOS.REFERENCIA,
ARTICULOS.REFERENCIA_PROV,
ARTICULOS.DESCRIPCION,
SUM(COALESCE(ALBARANES_CLIENTE_DETALLES.CANTIDAD, 0))
FROM ALBARANES_CLIENTE_DETALLES
LEFT JOIN ALBARANES_CLIENTE
ON (ALBARANES_CLIENTE_DETALLES.ID_ALBARAN = ALBARANES_CLIENTE.ID)
LEFT JOIN CONTACTOS
ON (ALBARANES_CLIENTE.ID_CLIENTE = CONTACTOS.ID)
LEFT JOIN ALMACENES
ON (ALBARANES_CLIENTE.ID_ALMACEN = ALMACENES.ID)
LEFT JOIN ARTICULOS
ON (ALBARANES_CLIENTE_DETALLES.ID_ARTICULO = ARTICULOS.ID)
LEFT JOIN V_ALB_CLI_SITUACION
ON (ALBARANES_CLIENTE_DETALLES.ID_ALBARAN = V_ALB_CLI_SITUACION.ID)
/*Quitamos aquellos detalles que no tengan cabecera existente
aquellos que no se correspondan con un almacén es decir albaranes libres
que el albaran este pendiente (los articulos estan reservados en el almacen)
aquellos que no se correspondan con artículos existentes en el catalogo
y que no sean inventariables*/
WHERE (ALBARANES_CLIENTE.ID IS NOT NULL)
AND (ALBARANES_CLIENTE.ID_ALMACEN IS NOT NULL)
AND (V_ALB_CLI_SITUACION.SITUACION = 'PENDIENTE')
AND (ARTICULOS.ID is not null)
AND (ARTICULOS.INVENTARIABLE = 1)
GROUP BY
ALBARANES_CLIENTE_DETALLES.ID_ALBARAN,
ALBARANES_CLIENTE.ID_EMPRESA,
ALBARANES_CLIENTE.REFERENCIA,
V_ALB_CLI_SITUACION.SITUACION,
ALBARANES_CLIENTE.FECHA_PREVISTA_ENVIO,
ALBARANES_CLIENTE.ID_ALMACEN,
ALMACENES.NOMBRE,
ALBARANES_CLIENTE.ID_CLIENTE,
CONTACTOS.NOMBRE,
ARTICULOS.ID,
ARTICULOS.FAMILIA,
ARTICULOS.REFERENCIA,
ARTICULOS.REFERENCIA_PROV,
ARTICULOS.DESCRIPCION;

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -27,8 +27,6 @@ type
property Items[Index: Integer]: Integer read GetItem; default; property Items[Index: Integer]: Integer read GetItem; default;
end; end;
TSeleccionable = class(TInterfacedObject, ISeleccionable) TSeleccionable = class(TInterfacedObject, ISeleccionable)
protected protected
FSelectedRecords : TSelectedRecords; FSelectedRecords : TSelectedRecords;

View File

@ -11,7 +11,8 @@ const
ID_PRIMERO = -9002; ID_PRIMERO = -9002;
type type
TModoDuplicarRegistros = (mdrTodos, mdrActual, mdrSeleccionados);
TModoDuplicarRegistros = (mdrTodos, mdrActual, mdrSeleccionados);
function SetFieldNull(ATarget: TDADataTable; const FieldName: String): Boolean; function SetFieldNull(ATarget: TDADataTable; const FieldName: String): Boolean;

View File

@ -85,20 +85,8 @@
<Projects Name="AlbaranesProveedor_plugin.bpl">Modulos\Albaranes de proveedor\Plugin\AlbaranesProveedor_plugin.bdsproj</Projects> <Projects Name="AlbaranesProveedor_plugin.bpl">Modulos\Albaranes de proveedor\Plugin\AlbaranesProveedor_plugin.bdsproj</Projects>
<Projects Name="FactuGES.exe">Cliente\FactuGES.bdsproj</Projects> <Projects Name="FactuGES.exe">Cliente\FactuGES.bdsproj</Projects>
<Projects Name="FactuGES_Server.exe">Servidor\FactuGES_Server.bdsproj</Projects> <Projects Name="FactuGES_Server.exe">Servidor\FactuGES_Server.bdsproj</Projects>
<Projects Name="Informes_model.bpl">Modulos\Informes base\Model\Informes_model.bdsproj</Projects> <Projects Name="PedProv_AlbProv_relation.bpl">Modulos\Relaciones\Pedidos de proveedor - Albaranes de proveedor\PedProv_AlbProv_relation.bdsproj</Projects>
<Projects Name="Informes_data.bpl">Modulos\Informes base\Data\Informes_data.bdsproj</Projects> <Projects Name="Targets">DataAbstract_D10.bpl Base.bpl ControllerBase.bpl GUIBase.bpl Empresas_model.bpl Empresas_data.bpl Empresas_controller.bpl Usuarios.bpl Empresas_view.bpl Empresas_plugin.bpl TiposIVA_model.bpl TiposIVA_data.bpl TiposIVA_controller.bpl TiposIVA_view.bpl TiposIVA_plugin.bpl Contactos_model.bpl Contactos_data.bpl Contactos_controller.bpl Contactos_view.bpl Contactos_plugin.bpl Almacenes_model.bpl Almacenes_data.bpl Almacenes_controller.bpl Almacenes_view.bpl Almacenes_plugin.bpl Articulos_model.bpl Articulos_data.bpl Articulos_controller.bpl Articulos_view.bpl Articulos_plugin.bpl RecibosCliente_model.bpl RecibosCliente_data.bpl RecibosCliente_controller.bpl RecibosCliente_view.bpl RecibosCliente_plugin.bpl RemesasCliente_model.bpl RemesasCliente_data.bpl RemesasCliente_controller.bpl BancaElectronica_controller.bpl BancaElectronica_view.bpl RemesasCliente_view.bpl RemesasCliente_plugin.bpl PedidosCliente_model.bpl PedidosCliente_data.bpl PedidosCliente_controller.bpl AlbaranesCliente_model.bpl AlbaranesCliente_data.bpl AlbaranesCliente_controller.bpl FacturasCliente_model.bpl FacturasCliente_data.bpl FacturasCliente_controller.bpl PedidosProveedor_model.bpl PedidosProveedor_data.bpl PedidosProveedor_controller.bpl Inventario_model.bpl Inventario_data.bpl Inventario_controller.bpl AlbaranesProveedor_model.bpl AlbaranesProveedor_data.bpl AlbaranesProveedor_controller.bpl PedCli_PedProv_relation.bpl PedCli_AlbCli_relation.bpl PedidosCliente_view.bpl PedidosCliente_plugin.bpl AlbaranesCliente_view.bpl AlbaranesCliente_plugin.bpl FacturasCliente_view.bpl FacturasCliente_plugin.bpl Inventario_view.bpl Inventario_plugin.bpl PedidosProveedor_view.bpl PedidosProveedor_plugin.bpl AlbaranesProveedor_view.bpl AlbaranesProveedor_plugin.bpl FactuGES.exe FactuGES_Server.exe PedProv_AlbProv_relation.bpl</Projects>
<Projects Name="InformesBase_controller.bpl">Modulos\Informes base\Controller\InformesBase_controller.bdsproj</Projects>
<Projects Name="Informes_controller.bpl">Modulos\Informes base\Controller\Informes_controller.bdsproj</Projects>
<Projects Name="Informes_view.bpl">Modulos\Informes base\Views\Informes_view.bdsproj</Projects>
<Projects Name="InformesBase_view.bpl">Modulos\Informes base\Views\InformesBase_view.bdsproj</Projects>
<Projects Name="Informes_plugin.bpl">Modulos\Informes base\Plugin\Informes_plugin.bdsproj</Projects>
<Projects Name="InfVentasArticulo_model.bpl">Modulos\Informe ventas por articulo\Model\InfVentasArticulo_model.bdsproj</Projects>
<Projects Name="InfVentasArticulo_data.bpl">Modulos\Informe ventas por articulo\Data\InfVentasArticulo_data.bdsproj</Projects>
<Projects Name="InfVentasArticulo_controller.bpl">Modulos\Informe ventas por articulo\Controller\InfVentasArticulo_controller.bdsproj</Projects>
<Projects Name="InfVentasArticulo_view.bpl">Modulos\Informe ventas por articulo\Views\InfVentasArticulo_view.bdsproj</Projects>
<Projects Name="InfVentasArticulo_plugin.bpl">Modulos\Informe ventas por articulo\Plugin\InfVentasArticulo_plugin.bdsproj</Projects>
<Projects Name="RemesasProveedor_view.bpl">Modulos\Remesas de proveedor\Views\RemesasProveedor_view.bdsproj</Projects>
<Projects Name="Targets">DataAbstract_D10.bpl Base.bpl ControllerBase.bpl GUIBase.bpl Empresas_model.bpl Empresas_data.bpl Empresas_controller.bpl Usuarios.bpl Empresas_view.bpl Empresas_plugin.bpl TiposIVA_model.bpl TiposIVA_data.bpl TiposIVA_controller.bpl TiposIVA_view.bpl TiposIVA_plugin.bpl Contactos_model.bpl Contactos_data.bpl Contactos_controller.bpl Contactos_view.bpl Contactos_plugin.bpl Almacenes_model.bpl Almacenes_data.bpl Almacenes_controller.bpl Almacenes_view.bpl Almacenes_plugin.bpl Articulos_model.bpl Articulos_data.bpl Articulos_controller.bpl Articulos_view.bpl Articulos_plugin.bpl RecibosCliente_model.bpl RecibosCliente_data.bpl RecibosCliente_controller.bpl RecibosCliente_view.bpl RecibosCliente_plugin.bpl RemesasCliente_model.bpl RemesasCliente_data.bpl RemesasCliente_controller.bpl BancaElectronica_controller.bpl BancaElectronica_view.bpl RemesasCliente_view.bpl RemesasCliente_plugin.bpl PedidosCliente_model.bpl PedidosCliente_data.bpl PedidosCliente_controller.bpl AlbaranesCliente_model.bpl AlbaranesCliente_data.bpl AlbaranesCliente_controller.bpl FacturasCliente_model.bpl FacturasCliente_data.bpl FacturasCliente_controller.bpl PedidosProveedor_model.bpl PedidosProveedor_data.bpl PedidosProveedor_controller.bpl Inventario_model.bpl Inventario_data.bpl Inventario_controller.bpl AlbaranesProveedor_model.bpl AlbaranesProveedor_data.bpl AlbaranesProveedor_controller.bpl PedCli_PedProv_relation.bpl PedCli_AlbCli_relation.bpl PedidosCliente_view.bpl PedidosCliente_plugin.bpl AlbaranesCliente_view.bpl AlbaranesCliente_plugin.bpl FacturasCliente_view.bpl FacturasCliente_plugin.bpl Inventario_view.bpl Inventario_plugin.bpl PedidosProveedor_view.bpl PedidosProveedor_plugin.bpl AlbaranesProveedor_view.bpl AlbaranesProveedor_plugin.bpl FactuGES.exe FactuGES_Server.exe Informes_model.bpl Informes_data.bpl InformesBase_controller.bpl Informes_controller.bpl Informes_view.bpl InformesBase_view.bpl Informes_plugin.bpl InfVentasArticulo_model.bpl InfVentasArticulo_data.bpl InfVentasArticulo_controller.bpl InfVentasArticulo_view.bpl InfVentasArticulo_plugin.bpl RemesasProveedor_view.bpl</Projects>
</Projects> </Projects>
<Dependencies/> <Dependencies/>
</Default.Personality> </Default.Personality>

Binary file not shown.

View File

@ -3,7 +3,7 @@ unit uBizDetallesAlbaranProveedor;
interface interface
uses uses
uDADataTable, schAlbaranesProveedorClient_Intf; uDADataTable, schAlbaranesProveedorClient_Intf, uDataTableUtils;
const const
BIZ_CLIENT_DETALLES_ALBARAN_PROVEEDOR = 'Client.DetallesAlbaran.Proveedor'; BIZ_CLIENT_DETALLES_ALBARAN_PROVEEDOR = 'Client.DetallesAlbaran.Proveedor';
@ -17,8 +17,10 @@ type
TBizDetallesAlbaranProveedor = class(TAlbaranesProveedor_DetallesDataTableRules, IBizDetallesAlbaranProveedor) TBizDetallesAlbaranProveedor = class(TAlbaranesProveedor_DetallesDataTableRules, IBizDetallesAlbaranProveedor)
private private
ContIdAux: Integer; ContIdAux: Integer;
protected protected
procedure OnNewRecord(Sender: TDADataTable); override; procedure OnNewRecord(Sender: TDADataTable); override;
public public
constructor Create(aDataTable: TDADataTable); override; constructor Create(aDataTable: TDADataTable); override;
end; end;
@ -27,10 +29,6 @@ implementation
{ TBizDetallesAlbaranProveedor } { TBizDetallesAlbaranProveedor }
uses
uDataTableUtils;
constructor TBizDetallesAlbaranProveedor.Create(aDataTable: TDADataTable); constructor TBizDetallesAlbaranProveedor.Create(aDataTable: TDADataTable);
begin begin
inherited Create(aDataTable); inherited Create(aDataTable);

View File

@ -51,6 +51,7 @@ contains
uArticulosInventarioController in 'uArticulosInventarioController.pas', uArticulosInventarioController in 'uArticulosInventarioController.pas',
uIEditorElegirArticulosCatalogo in 'View\uIEditorElegirArticulosCatalogo.pas', uIEditorElegirArticulosCatalogo in 'View\uIEditorElegirArticulosCatalogo.pas',
uIEditorElegirArticulosAlmacen in 'View\uIEditorElegirArticulosAlmacen.pas', uIEditorElegirArticulosAlmacen in 'View\uIEditorElegirArticulosAlmacen.pas',
uInventarioUtils in '..\Utiles\uInventarioUtils.pas' {dmInventarioUtils: TDataModule}; uInventarioUtils in '..\Utiles\uInventarioUtils.pas' {dmInventarioUtils: TDataModule},
uIEditorDetalleReservas in 'View\uIEditorDetalleReservas.pas';
end. end.

View File

@ -7,7 +7,8 @@ uses
Classes, SysUtils, uDADataTable, uControllerBase, uEditorDBItem, Classes, SysUtils, uDADataTable, uControllerBase, uEditorDBItem,
uIDataModuleInventario, uBizInventario, uArticulosInventarioController, uIDataModuleInventario, uBizInventario, uArticulosInventarioController,
uAlmacenesController, uPedidosClienteController, uBizPedidosCliente, uAlmacenesController, uPedidosClienteController, uBizPedidosCliente,
uPedidosProveedorController, uBizPedidosProveedor, uBizArticulos; uPedidosProveedorController, uBizPedidosProveedor, uBizArticulos,
uBizAlmacenes;
type type
IInventarioController = interface(IObservador) IInventarioController = interface(IObservador)
@ -20,14 +21,17 @@ type
// procedure RecibirPedidos(Const CodigoAlmacenDes: Integer); // procedure RecibirPedidos(Const CodigoAlmacenDes: Integer);
procedure Reservar(AInventario : IBizInventario); procedure Reservar(AInventario : IBizInventario);
function Liberar(AInventario : IBizInventario): Boolean; function Liberar(AInventario : IBizInventario): Boolean;
function Ver(AArticulos: IBizInventario; AInventario : IBizInventario; APedido: IBizPedidoProveedor = Nil): Boolean;
procedure VerTodos(AInventario: IBizInventario); procedure VerTodos(AInventario: IBizInventario);
procedure VerReservas(AArticulo: IBizInventario);
function BuscarTodos: IBizInventario; function BuscarTodos: IBizInventario;
function Buscar(const ID_ALMACEN: Integer): IBizInventario; function Buscar(const ID_ALMACEN: Integer): IBizInventario;
function BuscarDetalleReservas: IBizDetalleReservas;
function ExtraerSeleccionados(AArticulos: IBizInventario) : IBizInventario; function ExtraerSeleccionados(AArticulos: IBizInventario) : IBizInventario;
procedure Anadir(AArticulos, AInventario : IBizInventario); procedure Anadir(AArticulos, AInventario : IBizInventario);
function Ver(AArticulos: IBizInventario; AInventario : IBizInventario; APedido: IBizPedidoProveedor = Nil): Boolean;
function Guardar(AArticulos : IBizInventario; const FechaMovimiento: TDateTime; const CausaMovimiento: String): Boolean; function Guardar(AArticulos : IBizInventario; const FechaMovimiento: TDateTime; const CausaMovimiento: String): Boolean;
procedure EntradaArticulosLibre(AInventario: IBizInventario; Const CodigoAlmacenDestino: Integer); procedure EntradaArticulosLibre(AInventario: IBizInventario; Const CodigoAlmacenDestino: Integer);
@ -71,7 +75,8 @@ type
function CreateEditor(const AName : String; const IID: TGUID; out Intf): Boolean; function CreateEditor(const AName : String; const IID: TGUID; out Intf): Boolean;
function _Vacio : IBizInventario; function _Vacio : IBizInventario;
procedure FiltrarEmpresa(AInventario: IBizInventario); procedure FiltrarEmpresa(AInventario: IBizInventario); overload;
procedure FiltrarEmpresa(ADetalleReservas: IBizDetalleReservas); overload;
procedure DeshabilitarOnCalcFields(Sender: TDADataTable); procedure DeshabilitarOnCalcFields(Sender: TDADataTable);
function ValidarCantidades(AArticulos: IBizInventario): Boolean; function ValidarCantidades(AArticulos: IBizInventario): Boolean;
function Validar(AArticulos: IBizInventario): Boolean; function Validar(AArticulos: IBizInventario): Boolean;
@ -97,6 +102,7 @@ type
function Buscar(const ID_ALMACEN: Integer): IBizInventario; function Buscar(const ID_ALMACEN: Integer): IBizInventario;
function BuscarTodos: IBizInventario; function BuscarTodos: IBizInventario;
function BuscarDetalleReservas: IBizDetalleReservas;
function ElegirArticulos(AArticulos : IBizInventario; AMensaje: String; AMultiSelect: Boolean): IBizInventario; function ElegirArticulos(AArticulos : IBizInventario; AMensaje: String; AMultiSelect: Boolean): IBizInventario;
function ExtraerSeleccionados(AArticulos: IBizInventario) : IBizInventario; function ExtraerSeleccionados(AArticulos: IBizInventario) : IBizInventario;
@ -109,15 +115,15 @@ type
function EntradaPedido(AInventario: IBizInventario; APedido: IBizPedidoProveedor; ADetalles: IDAStronglyTypedDataTable; var ADetallesFinal: IBizInventario): Boolean; function EntradaPedido(AInventario: IBizInventario; APedido: IBizPedidoProveedor; ADetalles: IDAStronglyTypedDataTable; var ADetallesFinal: IBizInventario): Boolean;
function SalidaAlbaran(AInventario: IBizInventario; Const CodigoAlmacenOrigen: Integer; ADetalles: IDAStronglyTypedDataTable): Boolean; function SalidaAlbaran(AInventario: IBizInventario; Const CodigoAlmacenOrigen: Integer; ADetalles: IDAStronglyTypedDataTable): Boolean;
procedure VerTodos(AInventario: IBizInventario);
function Ver(AArticulos: IBizInventario; AInventario : IBizInventario; APedido: IBizPedidoProveedor = Nil): Boolean; function Ver(AArticulos: IBizInventario; AInventario : IBizInventario; APedido: IBizPedidoProveedor = Nil): Boolean;
procedure VerReservas(AArticulo: IBizInventario);
function Guardar(AArticulos : IBizInventario; const FechaMovimiento: TDateTime; const CausaMovimiento: String): Boolean; function Guardar(AArticulos : IBizInventario; const FechaMovimiento: TDateTime; const CausaMovimiento: String): Boolean;
function Liberar(AInventario : IBizInventario): Boolean; overload; function Liberar(AInventario : IBizInventario): Boolean; overload;
procedure Reservar(AInventario : IBizInventario); overload; procedure Reservar(AInventario : IBizInventario); overload;
procedure VerTodos(AInventario: IBizInventario);
end; end;
implementation implementation
@ -128,9 +134,10 @@ uses
uDataModuleUsuarios, uDAInterfaces, uDataTableUtils, uDataModuleUsuarios, uDAInterfaces, uDataTableUtils,
uDateUtils, uROTypes, DateUtils, Controls, Windows, uDateUtils, uROTypes, DateUtils, Controls, Windows,
dialogs, Variants, schPedidosProveedorClient_Intf, dialogs, Variants, schPedidosProveedorClient_Intf,
uBizAlmacenes, uControllerDetallesBase, uDialogUtils, uControllerDetallesBase, uDialogUtils,
uIEditorEntradaSalidaArticulos, schArticulosClient_Intf, uIEditorEntradaSalidaArticulos, schArticulosClient_Intf,
uIEditorElegirArticulosAlmacen, uInventarioUtils; uIEditorElegirArticulosAlmacen, uInventarioUtils,
uIEditorDetalleReservas;
{ TInventarioController } { TInventarioController }
@ -174,6 +181,12 @@ begin
FiltrarEmpresa(Result); FiltrarEmpresa(Result);
end; end;
function TInventarioController.BuscarDetalleReservas: IBizDetalleReservas;
begin
Result := FDataModule.GetDetalleReservas;
FiltrarEmpresa(Result);
end;
function TInventarioController.BuscarTodos: IBizInventario; function TInventarioController.BuscarTodos: IBizInventario;
begin begin
Result := FDataModule.GetItems; Result := FDataModule.GetItems;
@ -356,6 +369,23 @@ begin
Result := ASeleccionados; Result := ASeleccionados;
end; end;
procedure TInventarioController.FiltrarEmpresa(ADetalleReservas: IBizDetalleReservas);
begin
if ADetalleReservas.DataTable.Active then
ADetalleReservas.DataTable.Active := False;
// Filtrar los inventario actuales por empresa
with ADetalleReservas.DataTable.Where do
begin
if NotEmpty then
AddOperator(opAND);
OpenBraket;
AddText(fld_DETALLE_RESERVAS_INVID_EMPRESA + ' = ' + IntToStr(dmUsuarios.IDEmpresaActual));
CloseBraket;
end;
end;
function TInventarioController.Validar(AArticulos: IBizInventario): Boolean; function TInventarioController.Validar(AArticulos: IBizInventario): Boolean;
begin begin
Result := True; Result := True;
@ -438,6 +468,34 @@ begin
end; end;
end; end;
procedure TInventarioController.VerReservas(AArticulo: IBizInventario);
var
AEditor : IEditorDetalleReservas;
begin
AEditor := NIL;
ShowHourglassCursor;
try
CreateEditor('EditorDetalleReservas', IEditorDetalleReservas, AEditor);
with AEditor do
begin
// Controller := Self; //OJO ORDEN MUY IMPORTANTE
DetalleReservas := FDataModule.GetDetalleReservas;
Articulo := AArticulo;
// MultiSelect := False;
end;
finally
HideHourglassCursor;
end;
if Assigned(AEditor) then
try
AEditor.ShowModal;
AEditor.Release;
finally
AEditor := NIL;
end;
end;
procedure TInventarioController.VerTodos(AInventario: IBizInventario); procedure TInventarioController.VerTodos(AInventario: IBizInventario);
var var
AEditor : IEditorInventario; AEditor : IEditorInventario;

View File

@ -66,7 +66,7 @@ object DataModuleInventario: TDataModuleInventario
ProbeServers = False ProbeServers = False
ProbeFrequency = 60000 ProbeFrequency = 60000
UserAgent = 'RemObjects SDK' UserAgent = 'RemObjects SDK'
TargetURL = 'http://localhost:8099/bin' TargetURL = 'http://localhost:8090/bin'
Left = 48 Left = 48
Top = 272 Top = 272
end end
@ -418,4 +418,304 @@ object DataModuleInventario: TDataModuleInventario
Left = 280 Left = 280
Top = 96 Top = 96
end end
object tbl_DetalleReservas: TDACDSDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID_ALB'
DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'IdAlbaran'
Alignment = taLeftJustify
DictionaryEntry = 'DETALLE_RESERVAS_INV_ID_ALB'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'ID_EMPRESA'
DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'DETALLE_RESERVAS_INV_ID_EMPRESA'
Alignment = taLeftJustify
DictionaryEntry = 'DETALLE_RESERVAS_INV_ID_EMPRESA'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'REFERENCIA_ALB'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Ref. albar'#225'n'
Alignment = taLeftJustify
DictionaryEntry = 'DETALLE_RESERVAS_INV_REFERENCIA_ALB'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'SITUACION_ALB'
DataType = datString
Size = 9
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Situaci'#243'n'
Alignment = taLeftJustify
DictionaryEntry = 'DETALLE_RESERVAS_INV_SITUACION_ALB'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'FECHA_PREVISTA_ENVIO_ALB'
DataType = datDateTime
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Fecha prevista de envio'
Alignment = taLeftJustify
DictionaryEntry = 'DETALLE_RESERVAS_INV_FECHA_PREVISTA_ENVIO_ALB'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'ID_ALMACEN_ALB'
DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'IdAlmac'#233'n'
Alignment = taLeftJustify
DictionaryEntry = 'DETALLE_RESERVAS_INV_ID_ALMACEN_ALB'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'ALMACEN_ALB'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Almac'#233'n'
Alignment = taLeftJustify
DictionaryEntry = 'DETALLE_RESERVAS_INV_ALMACEN_ALB'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'ID_CLIENTE_ALB'
DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'IdCliente'
Alignment = taLeftJustify
DictionaryEntry = 'DETALLE_RESERVAS_INV_ID_CLIENTE_ALB'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'CLIENTE_ALB'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Cliente'
Alignment = taLeftJustify
DictionaryEntry = 'DETALLE_RESERVAS_INV_CLIENTE_ALB'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'ID_ART'
DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'IdArticulo'
Alignment = taLeftJustify
DictionaryEntry = 'DETALLE_RESERVAS_INV_ID_ART'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'FAMILIA_ART'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Familia'
Alignment = taLeftJustify
DictionaryEntry = 'DETALLE_RESERVAS_INV_FAMILIA_ART'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'REFERENCIA_ART'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Referencia'
Alignment = taLeftJustify
DictionaryEntry = 'DETALLE_RESERVAS_INV_REFERENCIA_ART'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'REFERENCIA_PROV_ART'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Ref. proveedor'
Alignment = taLeftJustify
DictionaryEntry = 'DETALLE_RESERVAS_INV_REFERENCIA_PROV_ART'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'DESCRIPCION_ART'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Descripci'#243'n'
Alignment = taLeftJustify
DictionaryEntry = 'DETALLE_RESERVAS_INV_DESCRIPCION_ART'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'CANTIDAD_ART'
DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Reservado'
Alignment = taLeftJustify
DictionaryEntry = 'DETALLE_RESERVAS_INV_CANTIDAD_ART'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end>
Params = <>
MasterMappingMode = mmDataRequest
StreamingOptions = [soDisableEventsWhileStreaming]
SchemaCall.MethodName = 'GetDatasetSchema'
SchemaCall.Params = <
item
Name = 'Result'
ParamType = fResult
DataType = rtBinary
end
item
Name = 'aDatasetName'
ParamType = fIn
DataType = rtString
Value = 'DETALLE_RESERVAS_INV'
end>
DataRequestCall.MethodName = 'GetDatasetDataEx'
DataRequestCall.Params = <
item
Name = 'Result'
ParamType = fResult
DataType = rtBinary
end
item
Name = 'DatasetName'
ParamType = fIn
DataType = rtString
Value = 'DETALLE_RESERVAS_INV'
end
item
Name = 'Params'
ParamType = fIn
DataType = rtUserDefined
UserClassName = 'TDADatasetParamArray'
end
item
Name = 'UserFilter'
ParamType = fIn
DataType = rtString
Value = ''
end
item
Name = 'IncludeSchema'
ParamType = fIn
DataType = rtBoolean
Value = False
end
item
Name = 'MaxRecords'
ParamType = fIn
DataType = rtInteger
Value = -1
end>
DataUpdateCall.MethodName = 'UpdateData'
DataUpdateCall.Params = <
item
Name = 'Result'
ParamType = fResult
DataType = rtBinary
end
item
Name = 'Delta'
ParamType = fIn
DataType = rtBinary
end>
ScriptCall.MethodName = 'GetDatasetScripts'
ScriptCall.Params = <
item
Name = 'Result'
ParamType = fResult
DataType = rtString
Value = ''
end
item
Name = 'DatasetNames'
ParamType = fIn
DataType = rtString
Value = 'DETALLE_RESERVAS_INV'
end>
ReadOnly = False
RemoteService = RORemoteService
Adapter = DABinAdapter
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'DETALLE_RESERVAS_INV'
IndexDefs = <>
Left = 408
Top = 160
end
object dsDetalleReservas: TDADataSource
DataTable = tbl_DetalleReservas
Left = 408
Top = 104
end
end end

View File

@ -19,16 +19,18 @@ type
ROBinMessage1: TROBinMessage; ROBinMessage1: TROBinMessage;
tbl_INVENTARIO: TDACDSDataTable; tbl_INVENTARIO: TDACDSDataTable;
ds_INVENTARIO: TDADataSource; ds_INVENTARIO: TDADataSource;
tbl_DetalleReservas: TDACDSDataTable;
dsDetalleReservas: TDADataSource;
procedure DAClientDataModuleCreate(Sender: TObject); procedure DAClientDataModuleCreate(Sender: TObject);
protected protected
function _CloneDataTable (const ADataTable : TDACDSDataTable): TDACDSDataTable; overload; function _CloneDataTable (const ADataTable : TDACDSDataTable): TDACDSDataTable; overload;
procedure AsignarClaseNegocio(var AInventario: TDACDSDataTable); virtual;
function darNombreGenerador(DataSetName: String): String; virtual; function darNombreGenerador(DataSetName: String): String; virtual;
public public
function GetItems : IBizInventario; overload; function GetItems : IBizInventario; overload;
function GetItems(const ID_ALMACEN : Integer) : IBizInventario; overload; function GetItems(const ID_ALMACEN : Integer) : IBizInventario; overload;
function GetNextID(const DataSetName : String) : Integer; function GetNextID(const DataSetName : String) : Integer;
function GetDetalleReservas: IBizDetalleReservas;
end; end;
implementation implementation
@ -41,11 +43,6 @@ uses
{ TdmArticulos } { TdmArticulos }
procedure TDataModuleInventario.AsignarClaseNegocio(var AInventario: TDACDSDataTable);
begin
AInventario.BusinessRulesID := BIZ_CLIENT_INVENTARIO;
end;
procedure TDataModuleInventario.DAClientDataModuleCreate(Sender: TObject); procedure TDataModuleInventario.DAClientDataModuleCreate(Sender: TObject);
begin begin
RORemoteService.Channel := dmConexion.Channel; RORemoteService.Channel := dmConexion.Channel;
@ -78,6 +75,20 @@ begin
CloneDataTable(ADataTable, Result); CloneDataTable(ADataTable, Result);
end; end;
function TDataModuleInventario.GetDetalleReservas: IBizDetalleReservas;
var
ADetalleReservas : TDACDSDataTable;
begin
ShowHourglassCursor;
try
ADetalleReservas := _CloneDataTable(tbl_DetalleReservas);
ADetalleReservas.BusinessRulesID := BIZ_CLIENT_DETALLE_RESERVAS_INV;
Result := (ADetalleReservas as IBizDetalleReservas);
finally
HideHourglassCursor;
end;
end;
function TDataModuleInventario.GetItems(const ID_ALMACEN: Integer): IBizInventario; function TDataModuleInventario.GetItems(const ID_ALMACEN: Integer): IBizInventario;
begin begin
ShowHourglassCursor; ShowHourglassCursor;
@ -104,7 +115,7 @@ begin
ShowHourglassCursor; ShowHourglassCursor;
try try
AInventario := _CloneDataTable(tbl_Inventario); AInventario := _CloneDataTable(tbl_Inventario);
AsignarClaseNegocio(AInventario); AInventario.BusinessRulesID := BIZ_CLIENT_INVENTARIO;
Result := (AInventario as IBizInventario); Result := (AInventario as IBizInventario);
finally finally
HideHourglassCursor; HideHourglassCursor;

View File

@ -11,6 +11,7 @@ type
function GetItems: IBizInventario; overload; function GetItems: IBizInventario; overload;
function GetItems(const ID_ALMACEN : Integer) : IBizInventario; overload; function GetItems(const ID_ALMACEN : Integer) : IBizInventario; overload;
function GetNextID(const DataSetName : String) : Integer; function GetNextID(const DataSetName : String) : Integer;
function GetDetalleReservas: IBizDetalleReservas;
end; end;
implementation implementation

View File

@ -9,10 +9,12 @@ const
{ Data table rules ids { Data table rules ids
Feel free to change them to something more human readable Feel free to change them to something more human readable
but make sure they are unique in the context of your application } but make sure they are unique in the context of your application }
RID_INVENTARIO = '{524320FC-D24F-497A-AF71-F47F0B218DB1}'; RID_INVENTARIO = '{3AB4E732-7897-4CF1-8E79-E09DD13DC2E9}';
RID_DETALLE_RESERVAS_INV = '{EE8DE96E-5709-43B7-9AB0-B67D3DFA1353}';
{ Data table names } { Data table names }
nme_INVENTARIO = 'INVENTARIO'; nme_INVENTARIO = 'INVENTARIO';
nme_DETALLE_RESERVAS_INV = 'DETALLE_RESERVAS_INV';
{ INVENTARIO fields } { INVENTARIO fields }
fld_INVENTARIOID = 'ID'; fld_INVENTARIOID = 'ID';
@ -56,10 +58,44 @@ const
idx_INVENTARIOCAUSA = 17; idx_INVENTARIOCAUSA = 17;
idx_INVENTARIOTIPO = 18; idx_INVENTARIOTIPO = 18;
{ DETALLE_RESERVAS_INV fields }
fld_DETALLE_RESERVAS_INVID_ALB = 'ID_ALB';
fld_DETALLE_RESERVAS_INVID_EMPRESA = 'ID_EMPRESA';
fld_DETALLE_RESERVAS_INVREFERENCIA_ALB = 'REFERENCIA_ALB';
fld_DETALLE_RESERVAS_INVSITUACION_ALB = 'SITUACION_ALB';
fld_DETALLE_RESERVAS_INVFECHA_PREVISTA_ENVIO_ALB = 'FECHA_PREVISTA_ENVIO_ALB';
fld_DETALLE_RESERVAS_INVID_ALMACEN_ALB = 'ID_ALMACEN_ALB';
fld_DETALLE_RESERVAS_INVALMACEN_ALB = 'ALMACEN_ALB';
fld_DETALLE_RESERVAS_INVID_CLIENTE_ALB = 'ID_CLIENTE_ALB';
fld_DETALLE_RESERVAS_INVCLIENTE_ALB = 'CLIENTE_ALB';
fld_DETALLE_RESERVAS_INVID_ART = 'ID_ART';
fld_DETALLE_RESERVAS_INVFAMILIA_ART = 'FAMILIA_ART';
fld_DETALLE_RESERVAS_INVREFERENCIA_ART = 'REFERENCIA_ART';
fld_DETALLE_RESERVAS_INVREFERENCIA_PROV_ART = 'REFERENCIA_PROV_ART';
fld_DETALLE_RESERVAS_INVDESCRIPCION_ART = 'DESCRIPCION_ART';
fld_DETALLE_RESERVAS_INVCANTIDAD_ART = 'CANTIDAD_ART';
{ DETALLE_RESERVAS_INV field indexes }
idx_DETALLE_RESERVAS_INVID_ALB = 0;
idx_DETALLE_RESERVAS_INVID_EMPRESA = 1;
idx_DETALLE_RESERVAS_INVREFERENCIA_ALB = 2;
idx_DETALLE_RESERVAS_INVSITUACION_ALB = 3;
idx_DETALLE_RESERVAS_INVFECHA_PREVISTA_ENVIO_ALB = 4;
idx_DETALLE_RESERVAS_INVID_ALMACEN_ALB = 5;
idx_DETALLE_RESERVAS_INVALMACEN_ALB = 6;
idx_DETALLE_RESERVAS_INVID_CLIENTE_ALB = 7;
idx_DETALLE_RESERVAS_INVCLIENTE_ALB = 8;
idx_DETALLE_RESERVAS_INVID_ART = 9;
idx_DETALLE_RESERVAS_INVFAMILIA_ART = 10;
idx_DETALLE_RESERVAS_INVREFERENCIA_ART = 11;
idx_DETALLE_RESERVAS_INVREFERENCIA_PROV_ART = 12;
idx_DETALLE_RESERVAS_INVDESCRIPCION_ART = 13;
idx_DETALLE_RESERVAS_INVCANTIDAD_ART = 14;
type type
{ IINVENTARIO } { IINVENTARIO }
IINVENTARIO = interface(IDAStronglyTypedDataTable) IINVENTARIO = interface(IDAStronglyTypedDataTable)
['{010FB413-3B2C-4983-9BBB-AED27F7AA673}'] ['{FF96221D-1DEB-42D7-9EB8-26DA6BD30F2A}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -194,6 +230,119 @@ type
end; end;
{ IDETALLE_RESERVAS_INV }
IDETALLE_RESERVAS_INV = interface(IDAStronglyTypedDataTable)
['{D0FB81D1-6746-4FCF-94C2-AE823C8382C8}']
{ Property getters and setters }
function GetID_ALBValue: Integer;
procedure SetID_ALBValue(const aValue: Integer);
function GetID_EMPRESAValue: Integer;
procedure SetID_EMPRESAValue(const aValue: Integer);
function GetREFERENCIA_ALBValue: String;
procedure SetREFERENCIA_ALBValue(const aValue: String);
function GetSITUACION_ALBValue: String;
procedure SetSITUACION_ALBValue(const aValue: String);
function GetFECHA_PREVISTA_ENVIO_ALBValue: DateTime;
procedure SetFECHA_PREVISTA_ENVIO_ALBValue(const aValue: DateTime);
function GetID_ALMACEN_ALBValue: Integer;
procedure SetID_ALMACEN_ALBValue(const aValue: Integer);
function GetALMACEN_ALBValue: String;
procedure SetALMACEN_ALBValue(const aValue: String);
function GetID_CLIENTE_ALBValue: Integer;
procedure SetID_CLIENTE_ALBValue(const aValue: Integer);
function GetCLIENTE_ALBValue: String;
procedure SetCLIENTE_ALBValue(const aValue: String);
function GetID_ARTValue: Integer;
procedure SetID_ARTValue(const aValue: Integer);
function GetFAMILIA_ARTValue: String;
procedure SetFAMILIA_ARTValue(const aValue: String);
function GetREFERENCIA_ARTValue: String;
procedure SetREFERENCIA_ARTValue(const aValue: String);
function GetREFERENCIA_PROV_ARTValue: String;
procedure SetREFERENCIA_PROV_ARTValue(const aValue: String);
function GetDESCRIPCION_ARTValue: String;
procedure SetDESCRIPCION_ARTValue(const aValue: String);
function GetCANTIDAD_ARTValue: Integer;
procedure SetCANTIDAD_ARTValue(const aValue: Integer);
{ Properties }
property ID_ALB: Integer read GetID_ALBValue write SetID_ALBValue;
property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
property REFERENCIA_ALB: String read GetREFERENCIA_ALBValue write SetREFERENCIA_ALBValue;
property SITUACION_ALB: String read GetSITUACION_ALBValue write SetSITUACION_ALBValue;
property FECHA_PREVISTA_ENVIO_ALB: DateTime read GetFECHA_PREVISTA_ENVIO_ALBValue write SetFECHA_PREVISTA_ENVIO_ALBValue;
property ID_ALMACEN_ALB: Integer read GetID_ALMACEN_ALBValue write SetID_ALMACEN_ALBValue;
property ALMACEN_ALB: String read GetALMACEN_ALBValue write SetALMACEN_ALBValue;
property ID_CLIENTE_ALB: Integer read GetID_CLIENTE_ALBValue write SetID_CLIENTE_ALBValue;
property CLIENTE_ALB: String read GetCLIENTE_ALBValue write SetCLIENTE_ALBValue;
property ID_ART: Integer read GetID_ARTValue write SetID_ARTValue;
property FAMILIA_ART: String read GetFAMILIA_ARTValue write SetFAMILIA_ARTValue;
property REFERENCIA_ART: String read GetREFERENCIA_ARTValue write SetREFERENCIA_ARTValue;
property REFERENCIA_PROV_ART: String read GetREFERENCIA_PROV_ARTValue write SetREFERENCIA_PROV_ARTValue;
property DESCRIPCION_ART: String read GetDESCRIPCION_ARTValue write SetDESCRIPCION_ARTValue;
property CANTIDAD_ART: Integer read GetCANTIDAD_ARTValue write SetCANTIDAD_ARTValue;
end;
{ TDETALLE_RESERVAS_INVDataTableRules }
TDETALLE_RESERVAS_INVDataTableRules = class(TDADataTableRules, IDETALLE_RESERVAS_INV)
private
protected
{ Property getters and setters }
function GetID_ALBValue: Integer; virtual;
procedure SetID_ALBValue(const aValue: Integer); virtual;
function GetID_EMPRESAValue: Integer; virtual;
procedure SetID_EMPRESAValue(const aValue: Integer); virtual;
function GetREFERENCIA_ALBValue: String; virtual;
procedure SetREFERENCIA_ALBValue(const aValue: String); virtual;
function GetSITUACION_ALBValue: String; virtual;
procedure SetSITUACION_ALBValue(const aValue: String); virtual;
function GetFECHA_PREVISTA_ENVIO_ALBValue: DateTime; virtual;
procedure SetFECHA_PREVISTA_ENVIO_ALBValue(const aValue: DateTime); virtual;
function GetID_ALMACEN_ALBValue: Integer; virtual;
procedure SetID_ALMACEN_ALBValue(const aValue: Integer); virtual;
function GetALMACEN_ALBValue: String; virtual;
procedure SetALMACEN_ALBValue(const aValue: String); virtual;
function GetID_CLIENTE_ALBValue: Integer; virtual;
procedure SetID_CLIENTE_ALBValue(const aValue: Integer); virtual;
function GetCLIENTE_ALBValue: String; virtual;
procedure SetCLIENTE_ALBValue(const aValue: String); virtual;
function GetID_ARTValue: Integer; virtual;
procedure SetID_ARTValue(const aValue: Integer); virtual;
function GetFAMILIA_ARTValue: String; virtual;
procedure SetFAMILIA_ARTValue(const aValue: String); virtual;
function GetREFERENCIA_ARTValue: String; virtual;
procedure SetREFERENCIA_ARTValue(const aValue: String); virtual;
function GetREFERENCIA_PROV_ARTValue: String; virtual;
procedure SetREFERENCIA_PROV_ARTValue(const aValue: String); virtual;
function GetDESCRIPCION_ARTValue: String; virtual;
procedure SetDESCRIPCION_ARTValue(const aValue: String); virtual;
function GetCANTIDAD_ARTValue: Integer; virtual;
procedure SetCANTIDAD_ARTValue(const aValue: Integer); virtual;
{ Properties }
property ID_ALB: Integer read GetID_ALBValue write SetID_ALBValue;
property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
property REFERENCIA_ALB: String read GetREFERENCIA_ALBValue write SetREFERENCIA_ALBValue;
property SITUACION_ALB: String read GetSITUACION_ALBValue write SetSITUACION_ALBValue;
property FECHA_PREVISTA_ENVIO_ALB: DateTime read GetFECHA_PREVISTA_ENVIO_ALBValue write SetFECHA_PREVISTA_ENVIO_ALBValue;
property ID_ALMACEN_ALB: Integer read GetID_ALMACEN_ALBValue write SetID_ALMACEN_ALBValue;
property ALMACEN_ALB: String read GetALMACEN_ALBValue write SetALMACEN_ALBValue;
property ID_CLIENTE_ALB: Integer read GetID_CLIENTE_ALBValue write SetID_CLIENTE_ALBValue;
property CLIENTE_ALB: String read GetCLIENTE_ALBValue write SetCLIENTE_ALBValue;
property ID_ART: Integer read GetID_ARTValue write SetID_ARTValue;
property FAMILIA_ART: String read GetFAMILIA_ARTValue write SetFAMILIA_ARTValue;
property REFERENCIA_ART: String read GetREFERENCIA_ARTValue write SetREFERENCIA_ARTValue;
property REFERENCIA_PROV_ART: String read GetREFERENCIA_PROV_ARTValue write SetREFERENCIA_PROV_ARTValue;
property DESCRIPCION_ART: String read GetDESCRIPCION_ARTValue write SetDESCRIPCION_ARTValue;
property CANTIDAD_ART: Integer read GetCANTIDAD_ARTValue write SetCANTIDAD_ARTValue;
public
constructor Create(aDataTable: TDADataTable); override;
destructor Destroy; override;
end;
implementation implementation
uses Variants; uses Variants;
@ -400,7 +549,170 @@ begin
end; end;
{ TDETALLE_RESERVAS_INVDataTableRules }
constructor TDETALLE_RESERVAS_INVDataTableRules.Create(aDataTable: TDADataTable);
begin
inherited;
end;
destructor TDETALLE_RESERVAS_INVDataTableRules.Destroy;
begin
inherited;
end;
function TDETALLE_RESERVAS_INVDataTableRules.GetID_ALBValue: Integer;
begin
result := DataTable.Fields[idx_DETALLE_RESERVAS_INVID_ALB].AsInteger;
end;
procedure TDETALLE_RESERVAS_INVDataTableRules.SetID_ALBValue(const aValue: Integer);
begin
DataTable.Fields[idx_DETALLE_RESERVAS_INVID_ALB].AsInteger := aValue;
end;
function TDETALLE_RESERVAS_INVDataTableRules.GetID_EMPRESAValue: Integer;
begin
result := DataTable.Fields[idx_DETALLE_RESERVAS_INVID_EMPRESA].AsInteger;
end;
procedure TDETALLE_RESERVAS_INVDataTableRules.SetID_EMPRESAValue(const aValue: Integer);
begin
DataTable.Fields[idx_DETALLE_RESERVAS_INVID_EMPRESA].AsInteger := aValue;
end;
function TDETALLE_RESERVAS_INVDataTableRules.GetREFERENCIA_ALBValue: String;
begin
result := DataTable.Fields[idx_DETALLE_RESERVAS_INVREFERENCIA_ALB].AsString;
end;
procedure TDETALLE_RESERVAS_INVDataTableRules.SetREFERENCIA_ALBValue(const aValue: String);
begin
DataTable.Fields[idx_DETALLE_RESERVAS_INVREFERENCIA_ALB].AsString := aValue;
end;
function TDETALLE_RESERVAS_INVDataTableRules.GetSITUACION_ALBValue: String;
begin
result := DataTable.Fields[idx_DETALLE_RESERVAS_INVSITUACION_ALB].AsString;
end;
procedure TDETALLE_RESERVAS_INVDataTableRules.SetSITUACION_ALBValue(const aValue: String);
begin
DataTable.Fields[idx_DETALLE_RESERVAS_INVSITUACION_ALB].AsString := aValue;
end;
function TDETALLE_RESERVAS_INVDataTableRules.GetFECHA_PREVISTA_ENVIO_ALBValue: DateTime;
begin
result := DataTable.Fields[idx_DETALLE_RESERVAS_INVFECHA_PREVISTA_ENVIO_ALB].AsDateTime;
end;
procedure TDETALLE_RESERVAS_INVDataTableRules.SetFECHA_PREVISTA_ENVIO_ALBValue(const aValue: DateTime);
begin
DataTable.Fields[idx_DETALLE_RESERVAS_INVFECHA_PREVISTA_ENVIO_ALB].AsDateTime := aValue;
end;
function TDETALLE_RESERVAS_INVDataTableRules.GetID_ALMACEN_ALBValue: Integer;
begin
result := DataTable.Fields[idx_DETALLE_RESERVAS_INVID_ALMACEN_ALB].AsInteger;
end;
procedure TDETALLE_RESERVAS_INVDataTableRules.SetID_ALMACEN_ALBValue(const aValue: Integer);
begin
DataTable.Fields[idx_DETALLE_RESERVAS_INVID_ALMACEN_ALB].AsInteger := aValue;
end;
function TDETALLE_RESERVAS_INVDataTableRules.GetALMACEN_ALBValue: String;
begin
result := DataTable.Fields[idx_DETALLE_RESERVAS_INVALMACEN_ALB].AsString;
end;
procedure TDETALLE_RESERVAS_INVDataTableRules.SetALMACEN_ALBValue(const aValue: String);
begin
DataTable.Fields[idx_DETALLE_RESERVAS_INVALMACEN_ALB].AsString := aValue;
end;
function TDETALLE_RESERVAS_INVDataTableRules.GetID_CLIENTE_ALBValue: Integer;
begin
result := DataTable.Fields[idx_DETALLE_RESERVAS_INVID_CLIENTE_ALB].AsInteger;
end;
procedure TDETALLE_RESERVAS_INVDataTableRules.SetID_CLIENTE_ALBValue(const aValue: Integer);
begin
DataTable.Fields[idx_DETALLE_RESERVAS_INVID_CLIENTE_ALB].AsInteger := aValue;
end;
function TDETALLE_RESERVAS_INVDataTableRules.GetCLIENTE_ALBValue: String;
begin
result := DataTable.Fields[idx_DETALLE_RESERVAS_INVCLIENTE_ALB].AsString;
end;
procedure TDETALLE_RESERVAS_INVDataTableRules.SetCLIENTE_ALBValue(const aValue: String);
begin
DataTable.Fields[idx_DETALLE_RESERVAS_INVCLIENTE_ALB].AsString := aValue;
end;
function TDETALLE_RESERVAS_INVDataTableRules.GetID_ARTValue: Integer;
begin
result := DataTable.Fields[idx_DETALLE_RESERVAS_INVID_ART].AsInteger;
end;
procedure TDETALLE_RESERVAS_INVDataTableRules.SetID_ARTValue(const aValue: Integer);
begin
DataTable.Fields[idx_DETALLE_RESERVAS_INVID_ART].AsInteger := aValue;
end;
function TDETALLE_RESERVAS_INVDataTableRules.GetFAMILIA_ARTValue: String;
begin
result := DataTable.Fields[idx_DETALLE_RESERVAS_INVFAMILIA_ART].AsString;
end;
procedure TDETALLE_RESERVAS_INVDataTableRules.SetFAMILIA_ARTValue(const aValue: String);
begin
DataTable.Fields[idx_DETALLE_RESERVAS_INVFAMILIA_ART].AsString := aValue;
end;
function TDETALLE_RESERVAS_INVDataTableRules.GetREFERENCIA_ARTValue: String;
begin
result := DataTable.Fields[idx_DETALLE_RESERVAS_INVREFERENCIA_ART].AsString;
end;
procedure TDETALLE_RESERVAS_INVDataTableRules.SetREFERENCIA_ARTValue(const aValue: String);
begin
DataTable.Fields[idx_DETALLE_RESERVAS_INVREFERENCIA_ART].AsString := aValue;
end;
function TDETALLE_RESERVAS_INVDataTableRules.GetREFERENCIA_PROV_ARTValue: String;
begin
result := DataTable.Fields[idx_DETALLE_RESERVAS_INVREFERENCIA_PROV_ART].AsString;
end;
procedure TDETALLE_RESERVAS_INVDataTableRules.SetREFERENCIA_PROV_ARTValue(const aValue: String);
begin
DataTable.Fields[idx_DETALLE_RESERVAS_INVREFERENCIA_PROV_ART].AsString := aValue;
end;
function TDETALLE_RESERVAS_INVDataTableRules.GetDESCRIPCION_ARTValue: String;
begin
result := DataTable.Fields[idx_DETALLE_RESERVAS_INVDESCRIPCION_ART].AsString;
end;
procedure TDETALLE_RESERVAS_INVDataTableRules.SetDESCRIPCION_ARTValue(const aValue: String);
begin
DataTable.Fields[idx_DETALLE_RESERVAS_INVDESCRIPCION_ART].AsString := aValue;
end;
function TDETALLE_RESERVAS_INVDataTableRules.GetCANTIDAD_ARTValue: Integer;
begin
result := DataTable.Fields[idx_DETALLE_RESERVAS_INVCANTIDAD_ART].AsInteger;
end;
procedure TDETALLE_RESERVAS_INVDataTableRules.SetCANTIDAD_ARTValue(const aValue: Integer);
begin
DataTable.Fields[idx_DETALLE_RESERVAS_INVCANTIDAD_ART].AsInteger := aValue;
end;
initialization initialization
RegisterDataTableRules(RID_INVENTARIO, TINVENTARIODataTableRules); RegisterDataTableRules(RID_INVENTARIO, TINVENTARIODataTableRules);
RegisterDataTableRules(RID_DETALLE_RESERVAS_INV, TDETALLE_RESERVAS_INVDataTableRules);
end. end.

View File

@ -9,12 +9,13 @@ const
{ Delta rules ids { Delta rules ids
Feel free to change them to something more human readable Feel free to change them to something more human readable
but make sure they are unique in the context of your application } but make sure they are unique in the context of your application }
RID_INVENTARIODelta = '{FA283AC8-1AC5-4D13-905D-352FB0617449}'; RID_INVENTARIODelta = '{FD6A3797-743C-4AE0-890F-C651A3E630A5}';
RID_DETALLE_RESERVAS_INVDelta = '{D5B89CFC-9817-4CF4-9E20-BFB33C0E196B}';
type type
{ IINVENTARIODelta } { IINVENTARIODelta }
IINVENTARIODelta = interface(IINVENTARIO) IINVENTARIODelta = interface(IINVENTARIO)
['{FA283AC8-1AC5-4D13-905D-352FB0617449}'] ['{FD6A3797-743C-4AE0-890F-C651A3E630A5}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldID_ALMACENValue : Integer; function GetOldID_ALMACENValue : Integer;
@ -167,6 +168,133 @@ type
end; end;
{ IDETALLE_RESERVAS_INVDelta }
IDETALLE_RESERVAS_INVDelta = interface(IDETALLE_RESERVAS_INV)
['{D5B89CFC-9817-4CF4-9E20-BFB33C0E196B}']
{ Property getters and setters }
function GetOldID_ALBValue : Integer;
function GetOldID_EMPRESAValue : Integer;
function GetOldREFERENCIA_ALBValue : String;
function GetOldSITUACION_ALBValue : String;
function GetOldFECHA_PREVISTA_ENVIO_ALBValue : DateTime;
function GetOldID_ALMACEN_ALBValue : Integer;
function GetOldALMACEN_ALBValue : String;
function GetOldID_CLIENTE_ALBValue : Integer;
function GetOldCLIENTE_ALBValue : String;
function GetOldID_ARTValue : Integer;
function GetOldFAMILIA_ARTValue : String;
function GetOldREFERENCIA_ARTValue : String;
function GetOldREFERENCIA_PROV_ARTValue : String;
function GetOldDESCRIPCION_ARTValue : String;
function GetOldCANTIDAD_ARTValue : Integer;
{ Properties }
property OldID_ALB : Integer read GetOldID_ALBValue;
property OldID_EMPRESA : Integer read GetOldID_EMPRESAValue;
property OldREFERENCIA_ALB : String read GetOldREFERENCIA_ALBValue;
property OldSITUACION_ALB : String read GetOldSITUACION_ALBValue;
property OldFECHA_PREVISTA_ENVIO_ALB : DateTime read GetOldFECHA_PREVISTA_ENVIO_ALBValue;
property OldID_ALMACEN_ALB : Integer read GetOldID_ALMACEN_ALBValue;
property OldALMACEN_ALB : String read GetOldALMACEN_ALBValue;
property OldID_CLIENTE_ALB : Integer read GetOldID_CLIENTE_ALBValue;
property OldCLIENTE_ALB : String read GetOldCLIENTE_ALBValue;
property OldID_ART : Integer read GetOldID_ARTValue;
property OldFAMILIA_ART : String read GetOldFAMILIA_ARTValue;
property OldREFERENCIA_ART : String read GetOldREFERENCIA_ARTValue;
property OldREFERENCIA_PROV_ART : String read GetOldREFERENCIA_PROV_ARTValue;
property OldDESCRIPCION_ART : String read GetOldDESCRIPCION_ARTValue;
property OldCANTIDAD_ART : Integer read GetOldCANTIDAD_ARTValue;
end;
{ TDETALLE_RESERVAS_INVBusinessProcessorRules }
TDETALLE_RESERVAS_INVBusinessProcessorRules = class(TDABusinessProcessorRules, IDETALLE_RESERVAS_INV, IDETALLE_RESERVAS_INVDelta)
private
protected
{ Property getters and setters }
function GetID_ALBValue: Integer; virtual;
function GetOldID_ALBValue: Integer; virtual;
procedure SetID_ALBValue(const aValue: Integer); virtual;
function GetID_EMPRESAValue: Integer; virtual;
function GetOldID_EMPRESAValue: Integer; virtual;
procedure SetID_EMPRESAValue(const aValue: Integer); virtual;
function GetREFERENCIA_ALBValue: String; virtual;
function GetOldREFERENCIA_ALBValue: String; virtual;
procedure SetREFERENCIA_ALBValue(const aValue: String); virtual;
function GetSITUACION_ALBValue: String; virtual;
function GetOldSITUACION_ALBValue: String; virtual;
procedure SetSITUACION_ALBValue(const aValue: String); virtual;
function GetFECHA_PREVISTA_ENVIO_ALBValue: DateTime; virtual;
function GetOldFECHA_PREVISTA_ENVIO_ALBValue: DateTime; virtual;
procedure SetFECHA_PREVISTA_ENVIO_ALBValue(const aValue: DateTime); virtual;
function GetID_ALMACEN_ALBValue: Integer; virtual;
function GetOldID_ALMACEN_ALBValue: Integer; virtual;
procedure SetID_ALMACEN_ALBValue(const aValue: Integer); virtual;
function GetALMACEN_ALBValue: String; virtual;
function GetOldALMACEN_ALBValue: String; virtual;
procedure SetALMACEN_ALBValue(const aValue: String); virtual;
function GetID_CLIENTE_ALBValue: Integer; virtual;
function GetOldID_CLIENTE_ALBValue: Integer; virtual;
procedure SetID_CLIENTE_ALBValue(const aValue: Integer); virtual;
function GetCLIENTE_ALBValue: String; virtual;
function GetOldCLIENTE_ALBValue: String; virtual;
procedure SetCLIENTE_ALBValue(const aValue: String); virtual;
function GetID_ARTValue: Integer; virtual;
function GetOldID_ARTValue: Integer; virtual;
procedure SetID_ARTValue(const aValue: Integer); virtual;
function GetFAMILIA_ARTValue: String; virtual;
function GetOldFAMILIA_ARTValue: String; virtual;
procedure SetFAMILIA_ARTValue(const aValue: String); virtual;
function GetREFERENCIA_ARTValue: String; virtual;
function GetOldREFERENCIA_ARTValue: String; virtual;
procedure SetREFERENCIA_ARTValue(const aValue: String); virtual;
function GetREFERENCIA_PROV_ARTValue: String; virtual;
function GetOldREFERENCIA_PROV_ARTValue: String; virtual;
procedure SetREFERENCIA_PROV_ARTValue(const aValue: String); virtual;
function GetDESCRIPCION_ARTValue: String; virtual;
function GetOldDESCRIPCION_ARTValue: String; virtual;
procedure SetDESCRIPCION_ARTValue(const aValue: String); virtual;
function GetCANTIDAD_ARTValue: Integer; virtual;
function GetOldCANTIDAD_ARTValue: Integer; virtual;
procedure SetCANTIDAD_ARTValue(const aValue: Integer); virtual;
{ Properties }
property ID_ALB : Integer read GetID_ALBValue write SetID_ALBValue;
property OldID_ALB : Integer read GetOldID_ALBValue;
property ID_EMPRESA : Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
property OldID_EMPRESA : Integer read GetOldID_EMPRESAValue;
property REFERENCIA_ALB : String read GetREFERENCIA_ALBValue write SetREFERENCIA_ALBValue;
property OldREFERENCIA_ALB : String read GetOldREFERENCIA_ALBValue;
property SITUACION_ALB : String read GetSITUACION_ALBValue write SetSITUACION_ALBValue;
property OldSITUACION_ALB : String read GetOldSITUACION_ALBValue;
property FECHA_PREVISTA_ENVIO_ALB : DateTime read GetFECHA_PREVISTA_ENVIO_ALBValue write SetFECHA_PREVISTA_ENVIO_ALBValue;
property OldFECHA_PREVISTA_ENVIO_ALB : DateTime read GetOldFECHA_PREVISTA_ENVIO_ALBValue;
property ID_ALMACEN_ALB : Integer read GetID_ALMACEN_ALBValue write SetID_ALMACEN_ALBValue;
property OldID_ALMACEN_ALB : Integer read GetOldID_ALMACEN_ALBValue;
property ALMACEN_ALB : String read GetALMACEN_ALBValue write SetALMACEN_ALBValue;
property OldALMACEN_ALB : String read GetOldALMACEN_ALBValue;
property ID_CLIENTE_ALB : Integer read GetID_CLIENTE_ALBValue write SetID_CLIENTE_ALBValue;
property OldID_CLIENTE_ALB : Integer read GetOldID_CLIENTE_ALBValue;
property CLIENTE_ALB : String read GetCLIENTE_ALBValue write SetCLIENTE_ALBValue;
property OldCLIENTE_ALB : String read GetOldCLIENTE_ALBValue;
property ID_ART : Integer read GetID_ARTValue write SetID_ARTValue;
property OldID_ART : Integer read GetOldID_ARTValue;
property FAMILIA_ART : String read GetFAMILIA_ARTValue write SetFAMILIA_ARTValue;
property OldFAMILIA_ART : String read GetOldFAMILIA_ARTValue;
property REFERENCIA_ART : String read GetREFERENCIA_ARTValue write SetREFERENCIA_ARTValue;
property OldREFERENCIA_ART : String read GetOldREFERENCIA_ARTValue;
property REFERENCIA_PROV_ART : String read GetREFERENCIA_PROV_ARTValue write SetREFERENCIA_PROV_ARTValue;
property OldREFERENCIA_PROV_ART : String read GetOldREFERENCIA_PROV_ARTValue;
property DESCRIPCION_ART : String read GetDESCRIPCION_ARTValue write SetDESCRIPCION_ARTValue;
property OldDESCRIPCION_ART : String read GetOldDESCRIPCION_ARTValue;
property CANTIDAD_ART : Integer read GetCANTIDAD_ARTValue write SetCANTIDAD_ARTValue;
property OldCANTIDAD_ART : Integer read GetOldCANTIDAD_ARTValue;
public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
destructor Destroy; override;
end;
implementation implementation
uses uses
@ -469,7 +597,245 @@ begin
end; end;
{ TDETALLE_RESERVAS_INVBusinessProcessorRules }
constructor TDETALLE_RESERVAS_INVBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
begin
inherited;
end;
destructor TDETALLE_RESERVAS_INVBusinessProcessorRules.Destroy;
begin
inherited;
end;
function TDETALLE_RESERVAS_INVBusinessProcessorRules.GetID_ALBValue: Integer;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_DETALLE_RESERVAS_INVID_ALB];
end;
function TDETALLE_RESERVAS_INVBusinessProcessorRules.GetOldID_ALBValue: Integer;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_DETALLE_RESERVAS_INVID_ALB];
end;
procedure TDETALLE_RESERVAS_INVBusinessProcessorRules.SetID_ALBValue(const aValue: Integer);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_DETALLE_RESERVAS_INVID_ALB] := aValue;
end;
function TDETALLE_RESERVAS_INVBusinessProcessorRules.GetID_EMPRESAValue: Integer;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_DETALLE_RESERVAS_INVID_EMPRESA];
end;
function TDETALLE_RESERVAS_INVBusinessProcessorRules.GetOldID_EMPRESAValue: Integer;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_DETALLE_RESERVAS_INVID_EMPRESA];
end;
procedure TDETALLE_RESERVAS_INVBusinessProcessorRules.SetID_EMPRESAValue(const aValue: Integer);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_DETALLE_RESERVAS_INVID_EMPRESA] := aValue;
end;
function TDETALLE_RESERVAS_INVBusinessProcessorRules.GetREFERENCIA_ALBValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_DETALLE_RESERVAS_INVREFERENCIA_ALB];
end;
function TDETALLE_RESERVAS_INVBusinessProcessorRules.GetOldREFERENCIA_ALBValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_DETALLE_RESERVAS_INVREFERENCIA_ALB];
end;
procedure TDETALLE_RESERVAS_INVBusinessProcessorRules.SetREFERENCIA_ALBValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_DETALLE_RESERVAS_INVREFERENCIA_ALB] := aValue;
end;
function TDETALLE_RESERVAS_INVBusinessProcessorRules.GetSITUACION_ALBValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_DETALLE_RESERVAS_INVSITUACION_ALB];
end;
function TDETALLE_RESERVAS_INVBusinessProcessorRules.GetOldSITUACION_ALBValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_DETALLE_RESERVAS_INVSITUACION_ALB];
end;
procedure TDETALLE_RESERVAS_INVBusinessProcessorRules.SetSITUACION_ALBValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_DETALLE_RESERVAS_INVSITUACION_ALB] := aValue;
end;
function TDETALLE_RESERVAS_INVBusinessProcessorRules.GetFECHA_PREVISTA_ENVIO_ALBValue: DateTime;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_DETALLE_RESERVAS_INVFECHA_PREVISTA_ENVIO_ALB];
end;
function TDETALLE_RESERVAS_INVBusinessProcessorRules.GetOldFECHA_PREVISTA_ENVIO_ALBValue: DateTime;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_DETALLE_RESERVAS_INVFECHA_PREVISTA_ENVIO_ALB];
end;
procedure TDETALLE_RESERVAS_INVBusinessProcessorRules.SetFECHA_PREVISTA_ENVIO_ALBValue(const aValue: DateTime);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_DETALLE_RESERVAS_INVFECHA_PREVISTA_ENVIO_ALB] := aValue;
end;
function TDETALLE_RESERVAS_INVBusinessProcessorRules.GetID_ALMACEN_ALBValue: Integer;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_DETALLE_RESERVAS_INVID_ALMACEN_ALB];
end;
function TDETALLE_RESERVAS_INVBusinessProcessorRules.GetOldID_ALMACEN_ALBValue: Integer;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_DETALLE_RESERVAS_INVID_ALMACEN_ALB];
end;
procedure TDETALLE_RESERVAS_INVBusinessProcessorRules.SetID_ALMACEN_ALBValue(const aValue: Integer);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_DETALLE_RESERVAS_INVID_ALMACEN_ALB] := aValue;
end;
function TDETALLE_RESERVAS_INVBusinessProcessorRules.GetALMACEN_ALBValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_DETALLE_RESERVAS_INVALMACEN_ALB];
end;
function TDETALLE_RESERVAS_INVBusinessProcessorRules.GetOldALMACEN_ALBValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_DETALLE_RESERVAS_INVALMACEN_ALB];
end;
procedure TDETALLE_RESERVAS_INVBusinessProcessorRules.SetALMACEN_ALBValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_DETALLE_RESERVAS_INVALMACEN_ALB] := aValue;
end;
function TDETALLE_RESERVAS_INVBusinessProcessorRules.GetID_CLIENTE_ALBValue: Integer;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_DETALLE_RESERVAS_INVID_CLIENTE_ALB];
end;
function TDETALLE_RESERVAS_INVBusinessProcessorRules.GetOldID_CLIENTE_ALBValue: Integer;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_DETALLE_RESERVAS_INVID_CLIENTE_ALB];
end;
procedure TDETALLE_RESERVAS_INVBusinessProcessorRules.SetID_CLIENTE_ALBValue(const aValue: Integer);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_DETALLE_RESERVAS_INVID_CLIENTE_ALB] := aValue;
end;
function TDETALLE_RESERVAS_INVBusinessProcessorRules.GetCLIENTE_ALBValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_DETALLE_RESERVAS_INVCLIENTE_ALB];
end;
function TDETALLE_RESERVAS_INVBusinessProcessorRules.GetOldCLIENTE_ALBValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_DETALLE_RESERVAS_INVCLIENTE_ALB];
end;
procedure TDETALLE_RESERVAS_INVBusinessProcessorRules.SetCLIENTE_ALBValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_DETALLE_RESERVAS_INVCLIENTE_ALB] := aValue;
end;
function TDETALLE_RESERVAS_INVBusinessProcessorRules.GetID_ARTValue: Integer;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_DETALLE_RESERVAS_INVID_ART];
end;
function TDETALLE_RESERVAS_INVBusinessProcessorRules.GetOldID_ARTValue: Integer;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_DETALLE_RESERVAS_INVID_ART];
end;
procedure TDETALLE_RESERVAS_INVBusinessProcessorRules.SetID_ARTValue(const aValue: Integer);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_DETALLE_RESERVAS_INVID_ART] := aValue;
end;
function TDETALLE_RESERVAS_INVBusinessProcessorRules.GetFAMILIA_ARTValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_DETALLE_RESERVAS_INVFAMILIA_ART];
end;
function TDETALLE_RESERVAS_INVBusinessProcessorRules.GetOldFAMILIA_ARTValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_DETALLE_RESERVAS_INVFAMILIA_ART];
end;
procedure TDETALLE_RESERVAS_INVBusinessProcessorRules.SetFAMILIA_ARTValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_DETALLE_RESERVAS_INVFAMILIA_ART] := aValue;
end;
function TDETALLE_RESERVAS_INVBusinessProcessorRules.GetREFERENCIA_ARTValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_DETALLE_RESERVAS_INVREFERENCIA_ART];
end;
function TDETALLE_RESERVAS_INVBusinessProcessorRules.GetOldREFERENCIA_ARTValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_DETALLE_RESERVAS_INVREFERENCIA_ART];
end;
procedure TDETALLE_RESERVAS_INVBusinessProcessorRules.SetREFERENCIA_ARTValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_DETALLE_RESERVAS_INVREFERENCIA_ART] := aValue;
end;
function TDETALLE_RESERVAS_INVBusinessProcessorRules.GetREFERENCIA_PROV_ARTValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_DETALLE_RESERVAS_INVREFERENCIA_PROV_ART];
end;
function TDETALLE_RESERVAS_INVBusinessProcessorRules.GetOldREFERENCIA_PROV_ARTValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_DETALLE_RESERVAS_INVREFERENCIA_PROV_ART];
end;
procedure TDETALLE_RESERVAS_INVBusinessProcessorRules.SetREFERENCIA_PROV_ARTValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_DETALLE_RESERVAS_INVREFERENCIA_PROV_ART] := aValue;
end;
function TDETALLE_RESERVAS_INVBusinessProcessorRules.GetDESCRIPCION_ARTValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_DETALLE_RESERVAS_INVDESCRIPCION_ART];
end;
function TDETALLE_RESERVAS_INVBusinessProcessorRules.GetOldDESCRIPCION_ARTValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_DETALLE_RESERVAS_INVDESCRIPCION_ART];
end;
procedure TDETALLE_RESERVAS_INVBusinessProcessorRules.SetDESCRIPCION_ARTValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_DETALLE_RESERVAS_INVDESCRIPCION_ART] := aValue;
end;
function TDETALLE_RESERVAS_INVBusinessProcessorRules.GetCANTIDAD_ARTValue: Integer;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_DETALLE_RESERVAS_INVCANTIDAD_ART];
end;
function TDETALLE_RESERVAS_INVBusinessProcessorRules.GetOldCANTIDAD_ARTValue: Integer;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_DETALLE_RESERVAS_INVCANTIDAD_ART];
end;
procedure TDETALLE_RESERVAS_INVBusinessProcessorRules.SetCANTIDAD_ARTValue(const aValue: Integer);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_DETALLE_RESERVAS_INVCANTIDAD_ART] := aValue;
end;
initialization initialization
RegisterBusinessProcessorRules(RID_INVENTARIODelta, TINVENTARIOBusinessProcessorRules); RegisterBusinessProcessorRules(RID_INVENTARIODelta, TINVENTARIOBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_DETALLE_RESERVAS_INVDelta, TDETALLE_RESERVAS_INVBusinessProcessorRules);
end. end.

View File

@ -8,6 +8,7 @@ uses
const const
BIZ_CLIENT_INVENTARIO = 'Client.Inventario'; BIZ_CLIENT_INVENTARIO = 'Client.Inventario';
BIZ_CLIENT_DETALLE_RESERVAS_INV = 'Client.DetallesReservasInv';
CTE_TIPO_ENTRADA = 'E'; CTE_TIPO_ENTRADA = 'E';
CTE_TIPO_SALIDA = 'S'; CTE_TIPO_SALIDA = 'S';
@ -19,6 +20,10 @@ type
tEntradaPedidoProveedor, tEntradaPedidoProveedor,
tSalidaAlbaranCliente); tSalidaAlbaranCliente);
IBizDetalleReservas = interface(IDetalle_Reservas_Inv)
['{7E718670-DDC1-411B-B8DF-A28B81F9B8C3}']
end;
IBizInventario = interface(IInventario) IBizInventario = interface(IInventario)
['{12051CDB-9BB1-43C5-AC89-181A27A35513}'] ['{12051CDB-9BB1-43C5-AC89-181A27A35513}']
function GetIDAlmacenOrigen: Integer; function GetIDAlmacenOrigen: Integer;
@ -34,6 +39,9 @@ type
property TipoMovimiento: TEnumTipoMovimiento read GetTipo write SetTipo; property TipoMovimiento: TEnumTipoMovimiento read GetTipo write SetTipo;
end; end;
TBizDetalleReservas = class(TDetalle_reservas_InvDataTableRules, IBizDetalleReservas)
end;
TBizInventario = class(TInventarioDataTableRules, IBizInventario, ISeleccionable) TBizInventario = class(TInventarioDataTableRules, IBizInventario, ISeleccionable)
private private
FIDAlmacenOrigen : Integer; FIDAlmacenOrigen : Integer;
@ -136,5 +144,6 @@ end;
initialization initialization
RegisterDataTableRules(BIZ_CLIENT_INVENTARIO, TBizInventario); RegisterDataTableRules(BIZ_CLIENT_INVENTARIO, TBizInventario);
RegisterDataTableRules(BIZ_CLIENT_DETALLE_RESERVAS_INV, TBizDetalleReservas);
end. end.

View File

@ -307,6 +307,244 @@ object srvInventario: TsrvInventario
end> end>
BusinessRulesClient.ScriptLanguage = rslPascalScript BusinessRulesClient.ScriptLanguage = rslPascalScript
BusinessRulesServer.ScriptLanguage = rslPascalScript BusinessRulesServer.ScriptLanguage = rslPascalScript
end
item
Params = <>
Statements = <
item
Connection = 'IBX'
TargetTable = 'V_INV_DETALLE_RESERVAS'
SQL =
'SELECT'#10' ID_ALB,'#10' ID_EMPRESA,'#10' REFERENCIA_ALB,'#10' SITUACION_ALB' +
','#10' FECHA_PREVISTA_ENVIO_ALB,'#10' ID_ALMACEN_ALB,'#10' ALMACEN_ALB,'#10' ' +
' ID_CLIENTE_ALB,'#10' CLIENTE_ALB,'#10' ID_ART,'#10' FAMILIA_ART,'#10' REFER' +
'ENCIA_ART,'#10' REFERENCIA_PROV_ART,'#10' DESCRIPCION_ART,'#10' CANTIDAD_' +
'ART'#10' '#10'FROM V_INV_DETALLE_RESERVAS'#10'ORDER BY REFERENCIA_ALB'
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'ID_ALB'
TableField = 'ID_ALB'
end
item
DatasetField = 'REFERENCIA_ALB'
TableField = 'REFERENCIA_ALB'
end
item
DatasetField = 'SITUACION_ALB'
TableField = 'SITUACION_ALB'
end
item
DatasetField = 'FECHA_PREVISTA_ENVIO_ALB'
TableField = 'FECHA_PREVISTA_ENVIO_ALB'
end
item
DatasetField = 'ID_ALMACEN_ALB'
TableField = 'ID_ALMACEN_ALB'
end
item
DatasetField = 'ALMACEN_ALB'
TableField = 'ALMACEN_ALB'
end
item
DatasetField = 'ID_CLIENTE_ALB'
TableField = 'ID_CLIENTE_ALB'
end
item
DatasetField = 'CLIENTE_ALB'
TableField = 'CLIENTE_ALB'
end
item
DatasetField = 'ID_ART'
TableField = 'ID_ART'
end
item
DatasetField = 'FAMILIA_ART'
TableField = 'FAMILIA_ART'
end
item
DatasetField = 'REFERENCIA_ART'
TableField = 'REFERENCIA_ART'
end
item
DatasetField = 'REFERENCIA_PROV_ART'
TableField = 'REFERENCIA_PROV_ART'
end
item
DatasetField = 'DESCRIPCION_ART'
TableField = 'DESCRIPCION_ART'
end
item
DatasetField = 'CANTIDAD_ART'
TableField = 'CANTIDAD_ART'
end
item
DatasetField = 'ID_EMPRESA'
TableField = 'ID_EMPRESA'
end>
end>
Name = 'DETALLE_RESERVAS_INV'
Fields = <
item
Name = 'ID_ALB'
DataType = datInteger
BlobType = dabtUnknown
DictionaryEntry = 'DETALLE_RESERVAS_INV_ID_ALB'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'ID_EMPRESA'
DataType = datInteger
BlobType = dabtUnknown
DictionaryEntry = 'DETALLE_RESERVAS_INV_ID_EMPRESA'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'REFERENCIA_ALB'
DataType = datString
Size = 255
BlobType = dabtUnknown
DictionaryEntry = 'DETALLE_RESERVAS_INV_REFERENCIA_ALB'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'SITUACION_ALB'
DataType = datString
Size = 9
BlobType = dabtUnknown
DictionaryEntry = 'DETALLE_RESERVAS_INV_SITUACION_ALB'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'FECHA_PREVISTA_ENVIO_ALB'
DataType = datDateTime
BlobType = dabtUnknown
DictionaryEntry = 'DETALLE_RESERVAS_INV_FECHA_PREVISTA_ENVIO_ALB'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'ID_ALMACEN_ALB'
DataType = datInteger
BlobType = dabtUnknown
DictionaryEntry = 'DETALLE_RESERVAS_INV_ID_ALMACEN_ALB'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'ALMACEN_ALB'
DataType = datString
Size = 255
BlobType = dabtUnknown
DictionaryEntry = 'DETALLE_RESERVAS_INV_ALMACEN_ALB'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'ID_CLIENTE_ALB'
DataType = datInteger
BlobType = dabtUnknown
DictionaryEntry = 'DETALLE_RESERVAS_INV_ID_CLIENTE_ALB'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'CLIENTE_ALB'
DataType = datString
Size = 255
BlobType = dabtUnknown
DictionaryEntry = 'DETALLE_RESERVAS_INV_CLIENTE_ALB'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'ID_ART'
DataType = datInteger
BlobType = dabtUnknown
DictionaryEntry = 'DETALLE_RESERVAS_INV_ID_ART'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'FAMILIA_ART'
DataType = datString
Size = 255
BlobType = dabtUnknown
DictionaryEntry = 'DETALLE_RESERVAS_INV_FAMILIA_ART'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'REFERENCIA_ART'
DataType = datString
Size = 255
BlobType = dabtUnknown
DictionaryEntry = 'DETALLE_RESERVAS_INV_REFERENCIA_ART'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'REFERENCIA_PROV_ART'
DataType = datString
Size = 255
BlobType = dabtUnknown
DictionaryEntry = 'DETALLE_RESERVAS_INV_REFERENCIA_PROV_ART'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'DESCRIPCION_ART'
DataType = datString
Size = 255
BlobType = dabtUnknown
DictionaryEntry = 'DETALLE_RESERVAS_INV_DESCRIPCION_ART'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'CANTIDAD_ART'
DataType = datInteger
BlobType = dabtUnknown
DictionaryEntry = 'DETALLE_RESERVAS_INV_CANTIDAD_ART'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end>
BusinessRulesClient.ScriptLanguage = rslPascalScript
BusinessRulesServer.ScriptLanguage = rslPascalScript
end> end>
Commands = < Commands = <
item item
@ -676,6 +914,133 @@ object srvInventario: TsrvInventario
DisplayWidth = 0 DisplayWidth = 0
DisplayLabel = 'Coste unidades' DisplayLabel = 'Coste unidades'
Alignment = taRightJustify Alignment = taRightJustify
end
item
Name = 'DETALLE_RESERVAS_INV_ID_ALB'
DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'IdAlbaran'
Alignment = taLeftJustify
end
item
Name = 'DETALLE_RESERVAS_INV_REFERENCIA_ALB'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Ref. albar'#225'n'
Alignment = taLeftJustify
end
item
Name = 'DETALLE_RESERVAS_INV_SITUACION_ALB'
DataType = datString
Size = 9
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Situaci'#243'n'
Alignment = taLeftJustify
end
item
Name = 'DETALLE_RESERVAS_INV_FECHA_PREVISTA_ENVIO_ALB'
DataType = datDateTime
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Fecha prevista de envio'
Alignment = taLeftJustify
end
item
Name = 'DETALLE_RESERVAS_INV_ID_ALMACEN_ALB'
DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'IdAlmac'#233'n'
Alignment = taLeftJustify
end
item
Name = 'DETALLE_RESERVAS_INV_ALMACEN_ALB'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Almac'#233'n'
Alignment = taLeftJustify
end
item
Name = 'DETALLE_RESERVAS_INV_ID_CLIENTE_ALB'
DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'IdCliente'
Alignment = taLeftJustify
end
item
Name = 'DETALLE_RESERVAS_INV_CLIENTE_ALB'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Cliente'
Alignment = taLeftJustify
end
item
Name = 'DETALLE_RESERVAS_INV_ID_ART'
DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'IdArticulo'
Alignment = taLeftJustify
end
item
Name = 'DETALLE_RESERVAS_INV_FAMILIA_ART'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Familia'
Alignment = taLeftJustify
end
item
Name = 'DETALLE_RESERVAS_INV_REFERENCIA_ART'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Referencia'
Alignment = taLeftJustify
end
item
Name = 'DETALLE_RESERVAS_INV_REFERENCIA_PROV_ART'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Ref. proveedor'
Alignment = taLeftJustify
end
item
Name = 'DETALLE_RESERVAS_INV_DESCRIPCION_ART'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Descripci'#243'n'
Alignment = taLeftJustify
end
item
Name = 'DETALLE_RESERVAS_INV_CANTIDAD_ART'
DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Reservado'
Alignment = taLeftJustify
end
item
Name = 'DETALLE_RESERVAS_INV_ID_EMPRESA'
DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
end> end>
Left = 126 Left = 126
Top = 14 Top = 14

View File

@ -79,7 +79,10 @@ requires
cfpack_d10, cfpack_d10,
JvAppFrmD10R, JvAppFrmD10R,
Articulos_view, Articulos_view,
PedProv_AlbProv_relation; PedProv_AlbProv_relation,
cxIntlPrintSys3D10,
JvCtrlsD10R,
JSDialog100;
contains contains
uViewInventario in 'uViewInventario.pas' {frViewInventario: TFrame}, uViewInventario in 'uViewInventario.pas' {frViewInventario: TFrame},
@ -89,6 +92,8 @@ contains
uEditorEntradaSalidaArticulos in 'uEditorEntradaSalidaArticulos.pas' {fEditorEntradaSalidaArticulos: TfEditorEntradaArticulosInventario}, uEditorEntradaSalidaArticulos in 'uEditorEntradaSalidaArticulos.pas' {fEditorEntradaSalidaArticulos: TfEditorEntradaArticulosInventario},
uViewElegirArticulosCatalogo in 'uViewElegirArticulosCatalogo.pas' {frViewElegirArticulosCatalogo: TFrame}, uViewElegirArticulosCatalogo in 'uViewElegirArticulosCatalogo.pas' {frViewElegirArticulosCatalogo: TFrame},
uEditorElegirArticulosCatalogo in 'uEditorElegirArticulosCatalogo.pas' {fEditorElegirArticulosCatalogo: TfEditorElegirArticulosInventario}, uEditorElegirArticulosCatalogo in 'uEditorElegirArticulosCatalogo.pas' {fEditorElegirArticulosCatalogo: TfEditorElegirArticulosInventario},
uEditorElegirArticulosAlmacen in 'uEditorElegirArticulosAlmacen.pas' {fEditorElegirArticulosAlmacen: TfEditorElegirArticulosAlmacen}; uEditorElegirArticulosAlmacen in 'uEditorElegirArticulosAlmacen.pas' {fEditorElegirArticulosAlmacen: TfEditorElegirArticulosAlmacen},
uViewDetalleReservas in 'uViewDetalleReservas.pas' {frViewDetalleReservas: TFrame},
uEditorDetalleReservas in 'uEditorDetalleReservas.pas' {fEditorDetalleReservas: TfEditorDetalleReservas};
end. end.

View File

@ -75,9 +75,15 @@ inherited fEditorInventario: TfEditorInventario
ExplicitWidth = 669 ExplicitWidth = 669
end end
inherited TBXTMain2: TTBXToolbar inherited TBXTMain2: TTBXToolbar
Left = 334 Left = 269
Visible = False DockPos = 264
ExplicitLeft = 334 Visible = True
ExplicitLeft = 269
ExplicitWidth = 113
object TBXItem38: TTBXItem
Action = actReservados
DisplayMode = nbdmImageAndText
end
end end
end end
inherited StatusBar: TJvStatusBar inherited StatusBar: TJvStatusBar
@ -106,6 +112,7 @@ inherited fEditorInventario: TfEditorInventario
inherited cxGrid: TcxGrid inherited cxGrid: TcxGrid
Width = 669 Width = 669
Height = 291 Height = 291
TabOrder = 2
ExplicitWidth = 669 ExplicitWidth = 669
ExplicitHeight = 291 ExplicitHeight = 291
inherited cxGridView: TcxGridDBTableView inherited cxGridView: TcxGridDBTableView
@ -130,11 +137,32 @@ inherited fEditorInventario: TfEditorInventario
Format = ',0.00 '#8364';-,0.00 '#8364 Format = ',0.00 '#8364';-,0.00 '#8364
Kind = skSum Kind = skSum
Column = frViewInventario1.cxGridViewCOSTE_UNIDADES Column = frViewInventario1.cxGridViewCOSTE_UNIDADES
end
item
Format = '0'
Kind = skSum
Column = frViewInventario1.cxGridViewUNIDADES_ALMACEN
end
item
Format = '0'
Kind = skSum
Column = frViewInventario1.cxGridViewSTOCK
end
item
Format = '0'
Kind = skSum
Column = frViewInventario1.cxGridViewRESERVA
end
item
Format = '0'
Kind = skSum
Column = frViewInventario1.cxGridViewPENDIENTE_RECEPCION
end> end>
end end
end end
inherited frViewFiltroBase1: TfrViewFiltroBase inherited frViewFiltroBase1: TfrViewFiltroBase
Width = 669 Width = 669
TabOrder = 0
ExplicitWidth = 669 ExplicitWidth = 669
inherited TBXDock1: TTBXDock inherited TBXDock1: TTBXDock
Width = 669 Width = 669
@ -172,6 +200,7 @@ inherited fEditorInventario: TfEditorInventario
end end
inherited pnlAgrupaciones: TTBXDockablePanel inherited pnlAgrupaciones: TTBXDockablePanel
Top = 393 Top = 393
TabOrder = 1
ExplicitTop = 393 ExplicitTop = 393
ExplicitWidth = 669 ExplicitWidth = 669
inherited TBXAlignmentPanel1: TTBXAlignmentPanel inherited TBXAlignmentPanel1: TTBXAlignmentPanel
@ -185,6 +214,8 @@ inherited fEditorInventario: TfEditorInventario
end end
inherited dxComponentPrinter: TdxComponentPrinter inherited dxComponentPrinter: TdxComponentPrinter
inherited dxComponentPrinterLink: TdxGridReportLink inherited dxComponentPrinterLink: TdxGridReportLink
Active = False
Component = nil
ReportDocument.CreationDate = 39211.788061157410000000 ReportDocument.CreationDate = 39211.788061157410000000
BuiltInReportLink = True BuiltInReportLink = True
end end
@ -269,6 +300,12 @@ inherited fEditorInventario: TfEditorInventario
Visible = False Visible = False
OnExecute = actContraerExecute OnExecute = actContraerExecute
end end
object actReservados: TAction
Caption = 'Ver reservados'
ImageIndex = 25
OnExecute = actReservadosExecute
OnUpdate = actReservadosUpdate
end
end end
inherited SmallImages: TPngImageList [5] inherited SmallImages: TPngImageList [5]
PngImages = < PngImages = <

View File

@ -1,4 +1,4 @@
unit uEditorInventario; unit uEditorInventario;
interface interface
@ -11,7 +11,7 @@ uses
JvAppRegistryStorage, JvFormPlacement, pngimage, ExtCtrls, uCustomView, JvAppRegistryStorage, JvFormPlacement, pngimage, ExtCtrls, uCustomView,
uViewBase, uViewBarraSeleccion, JvComponentBase, uEditorGridBase, uViewBase, uViewBarraSeleccion, JvComponentBase, uEditorGridBase,
uIEditorInventario, uBizInventario, uViewGridBase, uInventarioController, uIEditorInventario, uBizInventario, uViewGridBase, uInventarioController,
JvExComCtrls, JvStatusBar, uViewGrid2Niveles, JSDialog; JvExComCtrls, JvStatusBar, uViewGrid2Niveles, JSDialog, uBizAlmacenes;
type type
@ -28,6 +28,8 @@ type
actContraer: TAction; actContraer: TAction;
frViewInventario1: TfrViewInventario; frViewInventario1: TfrViewInventario;
JsElegirAlmacenDialog: TJSDialog; JsElegirAlmacenDialog: TJSDialog;
actReservados: TAction;
TBXItem38: TTBXItem;
procedure actModificarExecute(Sender: TObject); procedure actModificarExecute(Sender: TObject);
procedure actRecibirPedidoExecute(Sender: TObject); procedure actRecibirPedidoExecute(Sender: TObject);
procedure actTrasladarExecute(Sender: TObject); procedure actTrasladarExecute(Sender: TObject);
@ -40,11 +42,16 @@ type
procedure actContraerExecute(Sender: TObject); procedure actContraerExecute(Sender: TObject);
procedure FormShow(Sender: TObject); procedure FormShow(Sender: TObject);
procedure actReservadosUpdate(Sender: TObject);
procedure actReservadosExecute(Sender: TObject);
private private
function SeleccionarAlmacen(Descripcion: String): Integer; function SeleccionarAlmacen(Descripcion: String): Integer;
function DarIDAlmacenSeleccionado(Descripcion: String): Integer; function DarIDAlmacenSeleccionado(Descripcion: String): Integer;
function GetAlmacenes: IBizAlmacen;
procedure SetAlmacenes (const Value : IBizAlmacen);
protected protected
FInventario: IBizInventario; FInventario: IBizInventario;
FController : IInventarioController; FController : IInventarioController;
@ -64,6 +71,7 @@ type
procedure PrevisualizarInterno; override; procedure PrevisualizarInterno; override;
public public
property Almacenes: IBizAlmacen read GetAlmacenes write SetAlmacenes;
property Inventario: IBizInventario read GetInventario write SetInventario; property Inventario: IBizInventario read GetInventario write SetInventario;
property Controller : IInventarioController read GetController write SetController; property Controller : IInventarioController read GetController write SetController;
property ArticulosSeleccionados: IBizInventario read GetArticulosSeleccionados; property ArticulosSeleccionados: IBizInventario read GetArticulosSeleccionados;
@ -80,7 +88,8 @@ implementation
uses uses
cxControls, uGridUtils, uDataModuleInventario, uDataModuleUsuarios, cxControls, uGridUtils, uDataModuleInventario, uDataModuleUsuarios,
uEditorBase, uDBSelectionListUtils, cxGridDBTableView, cxGridCustomTableView, uEditorBase, uDBSelectionListUtils, cxGridDBTableView, cxGridCustomTableView,
uAlmacenesController, uBizAlmacenes, uGenerarAlbaranesProvUtils; uAlmacenesController, uGenerarAlbaranesProvUtils,
schInventarioClient_Intf;
{, uDBSelectionList, uDataModulePedidosProveedor, {, uDBSelectionList, uDataModulePedidosProveedor,
uBizPedidosProveedor, uBizMontajes, uDataModuleMontajes; uBizPedidosProveedor, uBizMontajes, uDataModuleMontajes;
@ -99,10 +108,6 @@ begin
end; end;
function TfEditorInventario.DarIDAlmacenSeleccionado(Descripcion: String): Integer; function TfEditorInventario.DarIDAlmacenSeleccionado(Descripcion: String): Integer;
var
AAlmacenes : IBizAlmacen;
AAlmacenesController : IAlmacenesController;
Respuesta : integer;
begin begin
if (ViewGrid._Grid.ActiveLevel.Tag = -1) then if (ViewGrid._Grid.ActiveLevel.Tag = -1) then
Result := SeleccionarAlmacen(Descripcion) Result := SeleccionarAlmacen(Descripcion)
@ -120,7 +125,7 @@ procedure TfEditorInventario.EliminarInterno;
var var
IDAlmacenOrigen: Integer; IDAlmacenOrigen: Integer;
begin begin
IDAlmacenOrigen := darIDAlmacenSeleccionado('Elija el almacén donde se realizará la salida'); IDAlmacenOrigen := darIDAlmacenSeleccionado('Elija el almacén donde se realizará la salida');
if IDAlmacenOrigen <> -1 then if IDAlmacenOrigen <> -1 then
begin begin
FController.SalidaArticulosLibre(FInventario, IDAlmacenOrigen); FController.SalidaArticulosLibre(FInventario, IDAlmacenOrigen);
@ -136,7 +141,7 @@ begin
raise Exception.Create('No hay ninguna vista asignada'); raise Exception.Create('No hay ninguna vista asignada');
if not Assigned(Inventario) then if not Assigned(Inventario) then
raise Exception.Create('No hay ningún inventario asignado'); raise Exception.Create('No hay ningún inventario asignado');
Inventario.DataTable.Active := True; Inventario.DataTable.Active := True;
actContraer.Execute; actContraer.Execute;
@ -148,6 +153,26 @@ begin
// inherited; // inherited;
end; end;
procedure TfEditorInventario.actReservadosExecute(Sender: TObject);
begin
inherited;
FController.VerReservas(Inventario);
end;
procedure TfEditorInventario.actReservadosUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := (Inventario.RESERVA > 0);
end;
function TfEditorInventario.GetAlmacenes: IBizAlmacen;
begin
Result := Nil;
if Assigned(ViewGrid) then
Result := (ViewGrid as IViewInventario).Almacenes;
end;
function TfEditorInventario.GetArticulosSeleccionados: IBizInventario; function TfEditorInventario.GetArticulosSeleccionados: IBizInventario;
begin begin
SeleccionarFilasDesdeGrid((ViewGrid as IViewInventario)._FocusedView, (Inventario as ISeleccionable).SelectedRecords); SeleccionarFilasDesdeGrid((ViewGrid as IViewInventario)._FocusedView, (Inventario as ISeleccionable).SelectedRecords);
@ -179,7 +204,7 @@ procedure TfEditorInventario.NuevoInterno;
var var
IDAlmacenDestino: Integer; IDAlmacenDestino: Integer;
begin begin
IDAlmacenDestino := darIDAlmacenSeleccionado('Elija el almacén donde se realizará la entrada'); IDAlmacenDestino := darIDAlmacenSeleccionado('Elija el almacén donde se realizará la entrada');
if IDAlmacenDestino <> -1 then if IDAlmacenDestino <> -1 then
begin begin
FController.EntradaArticulosLibre(FInventario, IDAlmacenDestino); FController.EntradaArticulosLibre(FInventario, IDAlmacenDestino);
@ -211,7 +236,7 @@ begin
with JsElegirAlmacenDialog.RadioButtons do with JsElegirAlmacenDialog.RadioButtons do
begin begin
Clear; Clear;
AAlmacenes := (ViewGrid as IViewInventario).Almacenes; AAlmacenes := Almacenes;
AAlmacenes.First; AAlmacenes.First;
while not AAlmacenes.EOF do while not AAlmacenes.EOF do
begin begin
@ -220,18 +245,24 @@ begin
Caption := AAlmacenes.NOMBRE; Caption := AAlmacenes.NOMBRE;
Value := 1000 + AAlmacenes.ID; Value := 1000 + AAlmacenes.ID;
end; end;
//Asi sabemos que solo va a intentar chequear el primero si hemos añadido al menos un item //Asi sabemos que solo va a intentar chequear el primero si hemos añadido al menos un item
Items[0].Checked := True; Items[0].Checked := True;
AAlmacenes.Next; AAlmacenes.Next;
end; end;
end; end;
//Sacar la pantalla de selección y devolver el almacén seleccionado. //Sacar la pantalla de selección y devolver el almacén seleccionado.
Respuesta := JsElegirAlmacenDialog.Execute; Respuesta := JsElegirAlmacenDialog.Execute;
if Respuesta <> IDCANCEL then if Respuesta <> IDCANCEL then
Result := JsElegirAlmacenDialog.RadioResult - 1000; Result := JsElegirAlmacenDialog.RadioResult - 1000;
end; end;
procedure TfEditorInventario.SetAlmacenes(const Value: IBizAlmacen);
begin
if Assigned(ViewGrid) then
(ViewGrid as IViewInventario).Almacenes := Value;
end;
procedure TfEditorInventario.SetController(const Value: IInventarioController); procedure TfEditorInventario.SetController(const Value: IInventarioController);
begin begin
FController := Value; FController := Value;
@ -239,7 +270,7 @@ begin
if Assigned(FController) then if Assigned(FController) then
begin begin
if Assigned(ViewGrid) then if Assigned(ViewGrid) then
(ViewGrid as IViewInventario).Almacenes := FController.AlmacenesController.BuscarTodos; Almacenes := FController.AlmacenesController.BuscarTodos;
end; end;
end; end;
@ -268,10 +299,10 @@ procedure TfEditorInventario.actTrasladarExecute(Sender: TObject);
var var
IDAlmacenOrigen, IDAlmacenDestino: Integer; IDAlmacenOrigen, IDAlmacenDestino: Integer;
begin begin
IDAlmacenOrigen := DarIDAlmacenSeleccionado('Elija el almacén de origen (de donde salen los artículos)'); IDAlmacenOrigen := DarIDAlmacenSeleccionado('Elija el almacén de origen (de donde salen los artículos)');
if IDAlmacenOrigen <> -1 then if IDAlmacenOrigen <> -1 then
begin begin
IDAlmacenDestino := SeleccionarAlmacen('Elija el almacén de destino (donde entran los artículos)'); IDAlmacenDestino := SeleccionarAlmacen('Elija el almacén de destino (donde entran los artículos)');
if IDAlmacenDestino <> -1 then if IDAlmacenDestino <> -1 then
begin begin
FController.TrasladarArticulosLibre(FInventario, IDAlmacenOrigen, IDAlmacenDestino); FController.TrasladarArticulosLibre(FInventario, IDAlmacenOrigen, IDAlmacenDestino);

View File

@ -9,7 +9,8 @@ implementation
uses uses
uEditorRegistryUtils, uEditorInventario, uEditorEntradaSalidaArticulos, uEditorRegistryUtils, uEditorInventario, uEditorEntradaSalidaArticulos,
uEditorElegirArticulosCatalogo, uEditorElegirArticulosAlmacen; uEditorElegirArticulosCatalogo, uEditorElegirArticulosAlmacen,
uEditorDetalleReservas;
procedure RegisterViews; procedure RegisterViews;
begin begin
@ -17,6 +18,7 @@ begin
EditorRegistry.RegisterClass(TfEditorEntradaSalidaArticulos, 'EditorEntradaSalidaArticulos'); EditorRegistry.RegisterClass(TfEditorEntradaSalidaArticulos, 'EditorEntradaSalidaArticulos');
EditorRegistry.RegisterClass(TfEditorElegirArticulosCatalogo, 'EditorElegirArticulosCatalogo'); EditorRegistry.RegisterClass(TfEditorElegirArticulosCatalogo, 'EditorElegirArticulosCatalogo');
EditorRegistry.RegisterClass(TfEditorElegirArticulosAlmacen, 'EditorElegirArticulosAlmacen'); EditorRegistry.RegisterClass(TfEditorElegirArticulosAlmacen, 'EditorElegirArticulosAlmacen');
EditorRegistry.RegisterClass(TfEditorDetalleReservas, 'EditorDetalleReservas');
end; end;
procedure UnregisterViews; procedure UnregisterViews;
@ -25,6 +27,7 @@ begin
EditorRegistry.UnRegisterClass(TfEditorEntradaSalidaArticulos); EditorRegistry.UnRegisterClass(TfEditorEntradaSalidaArticulos);
EditorRegistry.UnRegisterClass(TfEditorElegirArticulosCatalogo); EditorRegistry.UnRegisterClass(TfEditorElegirArticulosCatalogo);
EditorRegistry.UnRegisterClass(TfEditorElegirArticulosAlmacen); EditorRegistry.UnRegisterClass(TfEditorElegirArticulosAlmacen);
EditorRegistry.UnRegisterClass(TfEditorDetalleReservas);
end; end;
end. end.

View File

@ -25,6 +25,26 @@ inherited frViewInventario: TfrViewInventario
Format = ',0.00 '#8364';-,0.00 '#8364 Format = ',0.00 '#8364';-,0.00 '#8364
Kind = skSum Kind = skSum
Column = cxGridViewCOSTE_UNIDADES Column = cxGridViewCOSTE_UNIDADES
end
item
Format = '0'
Kind = skSum
Column = cxGridViewUNIDADES_ALMACEN
end
item
Format = '0'
Kind = skSum
Column = cxGridViewSTOCK
end
item
Format = '0'
Kind = skSum
Column = cxGridViewRESERVA
end
item
Format = '0'
Kind = skSum
Column = cxGridViewPENDIENTE_RECEPCION
end> end>
OptionsCustomize.ColumnHidingOnGrouping = False OptionsCustomize.ColumnHidingOnGrouping = False
OptionsCustomize.GroupBySorting = True OptionsCustomize.GroupBySorting = True
@ -94,6 +114,7 @@ inherited frViewInventario: TfrViewInventario
PropertiesClassName = 'TcxSpinEditProperties' PropertiesClassName = 'TcxSpinEditProperties'
Properties.Alignment.Horz = taRightJustify Properties.Alignment.Horz = taRightJustify
BestFitMaxWidth = 50 BestFitMaxWidth = 50
FooterAlignmentHorz = taRightJustify
HeaderAlignmentHorz = taRightJustify HeaderAlignmentHorz = taRightJustify
HeaderGlyphAlignmentHorz = taRightJustify HeaderGlyphAlignmentHorz = taRightJustify
MinWidth = 30 MinWidth = 30

View File

@ -175,7 +175,9 @@
<VersionInfoKeys Name="ProductName"></VersionInfoKeys> <VersionInfoKeys Name="ProductName"></VersionInfoKeys>
<VersionInfoKeys Name="ProductVersion">2.0.8.0</VersionInfoKeys> <VersionInfoKeys Name="ProductVersion">2.0.8.0</VersionInfoKeys>
<VersionInfoKeys Name="Comments"></VersionInfoKeys> <VersionInfoKeys Name="Comments"></VersionInfoKeys>
<VersionInfoKeys Name="CompileDate">lunes, 25 de junio de 2007 19:23</VersionInfoKeys></VersionInfoKeys> <Excluded_Packages> <VersionInfoKeys Name="CompileDate">lunes, 25 de junio de 2007 19:23</VersionInfoKeys></VersionInfoKeys>
<Excluded_Packages>
<Excluded_Packages Name="C:\Archivos de programa\RemObjects Software\Pascal Script\Dcu\D10\PascalScript_RO_D10.bpl">RemObjects Pascal Script - RemObjects SDK 3.0 Integration</Excluded_Packages> <Excluded_Packages Name="C:\Archivos de programa\RemObjects Software\Pascal Script\Dcu\D10\PascalScript_RO_D10.bpl">RemObjects Pascal Script - RemObjects SDK 3.0 Integration</Excluded_Packages>
</Excluded_Packages> </Excluded_Packages>
</Delphi.Personality> </Delphi.Personality>

View File

@ -93,8 +93,6 @@ uses
schFacturasClienteServer_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas', schFacturasClienteServer_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas',
schFacturasProveedorClient_Intf in '..\Modulos\Facturas de proveedor\Model\schFacturasProveedorClient_Intf.pas', schFacturasProveedorClient_Intf in '..\Modulos\Facturas de proveedor\Model\schFacturasProveedorClient_Intf.pas',
schFacturasProveedorServer_Intf in '..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas', schFacturasProveedorServer_Intf in '..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas',
schInventarioClient_Intf in '..\Modulos\Inventario\Model\schInventarioClient_Intf.pas',
schInventarioServer_Intf in '..\Modulos\Inventario\Model\schInventarioServer_Intf.pas',
srvHistoricoMovimientos_Impl in '..\Modulos\Historico de movimientos\Servidor\srvHistoricoMovimientos_Impl.pas' {srvHistoricoMovimientos: TDARemoteService}, srvHistoricoMovimientos_Impl in '..\Modulos\Historico de movimientos\Servidor\srvHistoricoMovimientos_Impl.pas' {srvHistoricoMovimientos: TDARemoteService},
uRptAlbaranesProveedor_Server in '..\Modulos\Albaranes de proveedor\Reports\uRptAlbaranesProveedor_Server.pas' {RptAlbaranesProveedor: TDataModule}, uRptAlbaranesProveedor_Server in '..\Modulos\Albaranes de proveedor\Reports\uRptAlbaranesProveedor_Server.pas' {RptAlbaranesProveedor: TDataModule},
uRptFacturasProveedor_Server in '..\Modulos\Facturas de proveedor\Reports\uRptFacturasProveedor_Server.pas' {RptFacturasProveedor: TDataModule}, uRptFacturasProveedor_Server in '..\Modulos\Facturas de proveedor\Reports\uRptFacturasProveedor_Server.pas' {RptFacturasProveedor: TDataModule},
@ -126,7 +124,9 @@ uses
schInformesClient_Intf in '..\Modulos\Informes base\Model\schInformesClient_Intf.pas', schInformesClient_Intf in '..\Modulos\Informes base\Model\schInformesClient_Intf.pas',
schInformesServer_Intf in '..\Modulos\Informes base\Model\schInformesServer_Intf.pas', schInformesServer_Intf in '..\Modulos\Informes base\Model\schInformesServer_Intf.pas',
schContactosClient_Intf in '..\Modulos\Contactos\Model\schContactosClient_Intf.pas', schContactosClient_Intf in '..\Modulos\Contactos\Model\schContactosClient_Intf.pas',
schContactosServer_Intf in '..\Modulos\Contactos\Model\schContactosServer_Intf.pas'; schContactosServer_Intf in '..\Modulos\Contactos\Model\schContactosServer_Intf.pas',
schInventarioClient_Intf in '..\Modulos\Inventario\Model\schInventarioClient_Intf.pas',
schInventarioServer_Intf in '..\Modulos\Inventario\Model\schInventarioServer_Intf.pas';
{$R *.res} {$R *.res}
{$R ..\Servicios\RODLFile.res} {$R ..\Servicios\RODLFile.res}