diff --git a/Source/Modulos/Presupuestos de cliente/Controller/PresupuestosCliente_controller.dpk b/Source/Modulos/Presupuestos de cliente/Controller/PresupuestosCliente_controller.dpk
new file mode 100644
index 00000000..7ddc9bec
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Controller/PresupuestosCliente_controller.dpk
@@ -0,0 +1,46 @@
+package PresupuestosCliente_controller;
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$IMPLICITBUILD ON}
+
+requires
+ GUIBase,
+ PresupuestosCliente_data,
+ Contactos_controller,
+ Articulos_controller,
+ PresupuestosCliente_model;
+
+contains
+ uPresupuestosClienteController in 'uPresupuestosClienteController.pas',
+ uDetallesPresupuestoClienteController in 'uDetallesPresupuestoClienteController.pas',
+ uIEditorPresupuestosCliente in 'View\uIEditorPresupuestosCliente.pas',
+ uIEditorPresupuestoCliente in 'View\uIEditorPresupuestoCliente.pas',
+ uIEditorElegirPresupuestosCliente in 'View\uIEditorElegirPresupuestosCliente.pas',
+ uArticulosPresupuestoClienteController in 'uArticulosPresupuestoClienteController.pas',
+ uIEditorElegirArticulosPresupuestosCliente in 'View\uIEditorElegirArticulosPresupuestosCliente.pas',
+ uIEditorDireccionEntregaPresupuestoCliente in 'View\uIEditorDireccionEntregaPresupuestoCliente.pas',
+ uPresupuestosClienteReportController in 'uPresupuestosClienteReportController.pas',
+ uIEditorPresupuestosClientePreview in 'View\uIEditorPresupuestosClientePreview.pas';
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Controller/PresupuestosCliente_controller.dproj b/Source/Modulos/Presupuestos de cliente/Controller/PresupuestosCliente_controller.dproj
new file mode 100644
index 00000000..d3134877
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Controller/PresupuestosCliente_controller.dproj
@@ -0,0 +1,551 @@
+
+
+
+ {7ed85635-c723-4c0b-bf1d-f719e0ea33ad}
+ PresupuestosCliente_controller.dpk
+ Debug
+ AnyCPU
+ DCC32
+ ..\..\..\..\Output\Debug\Cliente\PresupuestosCliente_controller.bpl
+
+
+ 7.0
+ False
+ False
+ 0
+ 3
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ RELEASE
+
+
+ 7.0
+ 3
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+
+
+ Delphi.Personality
+ Package
+
+FalseTrueFalseTrueFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0PresupuestosCliente_controller.dpk
+
+
+
+
+ MainSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Modulos/Presupuestos de cliente/Controller/PresupuestosCliente_controller.drc b/Source/Modulos/Presupuestos de cliente/Controller/PresupuestosCliente_controller.drc
new file mode 100644
index 00000000..fdb2888a
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Controller/PresupuestosCliente_controller.drc
@@ -0,0 +1,16 @@
+/* VER185
+ Generated by the CodeGear Delphi Pascal Compiler
+ because -GD or --drc was supplied to the compiler.
+
+ This file contains compiler-generated resources that
+ were bound to the executable.
+ If this file is empty, then no compiler-generated
+ resources were bound to the produced executable.
+*/
+
+STRINGTABLE
+BEGIN
+END
+
+/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Controller\PresupuestosCliente_controller.res */
+/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Controller\PresupuestosCliente_controller.drf */
diff --git a/Source/Modulos/Presupuestos de cliente/Controller/PresupuestosCliente_controller.res b/Source/Modulos/Presupuestos de cliente/Controller/PresupuestosCliente_controller.res
new file mode 100644
index 00000000..86c94e6a
Binary files /dev/null and b/Source/Modulos/Presupuestos de cliente/Controller/PresupuestosCliente_controller.res differ
diff --git a/Source/Modulos/Presupuestos de cliente/Controller/View/uIEditorDireccionEntregaPresupuestoCliente.pas b/Source/Modulos/Presupuestos de cliente/Controller/View/uIEditorDireccionEntregaPresupuestoCliente.pas
new file mode 100644
index 00000000..b954f4db
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Controller/View/uIEditorDireccionEntregaPresupuestoCliente.pas
@@ -0,0 +1,22 @@
+unit uIEditorDireccionEntregaPresupuestoCliente;
+
+interface
+
+uses
+ uBizPresupuestosCliente;
+
+type
+ IEditorDireccionEntregaPresupuestoCliente = interface
+ ['{9CF49F99-92A6-4E08-B518-EDBB3FBF0FB2}']
+ function GetPedido: IBizPresupuestoCliente;
+ procedure SetPedido(const Value: IBizPresupuestoCliente);
+ property Pedido: IBizPresupuestoCliente read GetPedido write SetPedido;
+
+ function ShowModal : Integer;
+ procedure Release;
+ end;
+
+
+implementation
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Controller/View/uIEditorElegirArticulosPresupuestosCliente.pas b/Source/Modulos/Presupuestos de cliente/Controller/View/uIEditorElegirArticulosPresupuestosCliente.pas
new file mode 100644
index 00000000..80c78e0b
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Controller/View/uIEditorElegirArticulosPresupuestosCliente.pas
@@ -0,0 +1,16 @@
+unit uIEditorElegirArticulosPresupuestosCliente;
+
+interface
+
+uses
+ uIEditorElegirArticulos;
+
+type
+ IEditorElegirArticulosPresupuestosCliente = interface(IEditorElegirArticulos)
+ ['{549F3B97-46E2-4D40-8080-566065735FA0}']
+ end;
+
+
+implementation
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Controller/View/uIEditorElegirPresupuestosCliente.pas b/Source/Modulos/Presupuestos de cliente/Controller/View/uIEditorElegirPresupuestosCliente.pas
new file mode 100644
index 00000000..90e4b78b
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Controller/View/uIEditorElegirPresupuestosCliente.pas
@@ -0,0 +1,26 @@
+unit uIEditorElegirPresupuestosCliente;
+
+interface
+
+uses
+ uIEditorPresupuestosCliente, uBizPresupuestosCliente, uGUIBase;
+
+type
+ IEditorElegirPresupuestosCliente = interface(IEditorPresupuestosCliente)
+ ['{FA60C50C-D927-4951-82C8-1C6628CF7BA5}']
+ function GetPresupuestosClienteSeleccionados: IBizPresupuestoCliente;
+ property PresupuestosClienteSeleccionados: IBizPresupuestoCliente read GetPresupuestosClienteSeleccionados;
+
+ procedure SetMultiSelect (AValue : Boolean);
+ function GetMultiSelect : Boolean;
+ property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect;
+
+ procedure SetMensaje (const AValue: String);
+ function GetMensaje: String;
+ property Mensaje : String read GetMensaje write SetMensaje;
+ end;
+
+
+implementation
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Controller/View/uIEditorPresupuestoCliente.pas b/Source/Modulos/Presupuestos de cliente/Controller/View/uIEditorPresupuestoCliente.pas
new file mode 100644
index 00000000..d9d7f8de
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Controller/View/uIEditorPresupuestoCliente.pas
@@ -0,0 +1,23 @@
+unit uIEditorPresupuestoCliente;
+
+interface
+
+uses
+ uEditorDBItem, uBizPresupuestosCliente, uPresupuestosClienteController;
+
+type
+ IEditorPresupuestoCliente = interface(IEditorDBItem)
+ ['{244C8E63-7BA2-4C8E-A2B8-4ECCEFDB5196}']
+ function GetController : IPresupuestosClienteController;
+ procedure SetController (const Value : IPresupuestosClienteController);
+ property Controller : IPresupuestosClienteController read GetController
+ write SetController;
+
+ function GetPedido: IBizPresupuestoCliente;
+ procedure SetPedido(const Value: IBizPresupuestoCliente);
+ property Pedido: IBizPresupuestoCliente read GetPedido write SetPedido;
+ end;
+
+implementation
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Controller/View/uIEditorPresupuestosCliente.pas b/Source/Modulos/Presupuestos de cliente/Controller/View/uIEditorPresupuestosCliente.pas
new file mode 100644
index 00000000..9eb5f11e
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Controller/View/uIEditorPresupuestosCliente.pas
@@ -0,0 +1,23 @@
+unit uIEditorPresupuestosCliente;
+
+interface
+
+uses
+ uEditorGridBase, uBizPresupuestosCliente, uPresupuestosClienteController;
+
+type
+ IEditorPresupuestosCliente = interface(IEditorGridBase)
+ ['{9FBF3D67-D0B1-4C2F-A37F-58BCD2DB0561}']
+ function GetPedidos: IBizPresupuestoCliente;
+ procedure SetPedidos(const Value: IBizPresupuestoCliente);
+ property Pedidos: IBizPresupuestoCliente read GetPedidos write SetPedidos;
+
+ function GetController : IPresupuestosClienteController;
+ procedure SetController (const Value : IPresupuestosClienteController);
+ property Controller : IPresupuestosClienteController read GetController write SetController;
+ end;
+
+
+implementation
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Controller/View/uIEditorPresupuestosClientePreview.pas b/Source/Modulos/Presupuestos de cliente/Controller/View/uIEditorPresupuestosClientePreview.pas
new file mode 100644
index 00000000..ac830bdd
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Controller/View/uIEditorPresupuestosClientePreview.pas
@@ -0,0 +1,16 @@
+unit uIEditorPresupuestosClientePreview;
+
+interface
+
+uses
+ uEditorPreview;
+
+type
+ IEditorPresupuestosClientePreview = interface(IEditorPreview)
+ ['{B60B6013-32C0-4694-9676-F582A759CB48}']
+ end;
+
+
+implementation
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Controller/uArticulosPresupuestoClienteController.pas b/Source/Modulos/Presupuestos de cliente/Controller/uArticulosPresupuestoClienteController.pas
new file mode 100644
index 00000000..35c6410b
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Controller/uArticulosPresupuestoClienteController.pas
@@ -0,0 +1,47 @@
+unit uArticulosPresupuestoClienteController;
+
+interface
+
+uses
+ uDADataTable, uArticulosController, uBizArticulos;
+
+type
+ IArticulosPresupuestoClienteController = interface(IArticulosController)
+ ['{B334F1FC-65B7-4E77-8D1B-A7CF12F6CF3C}']
+ end;
+
+ TArticulosPresupuestoClienteController = class(TArticulosController, IArticulosPresupuestoClienteController)
+ public
+ function ElegirArticulos(AArticulos : IBizArticulo; AMensaje: String; AMultiSelect: Boolean): IBizArticulo; override;
+ end;
+
+implementation
+
+{ TArticulosPresupuestoClienteController }
+
+uses Controls, uIEditorElegirArticulosPresupuestosCliente, uIEditorElegirArticulos;
+
+function TArticulosPresupuestoClienteController.ElegirArticulos(AArticulos: IBizArticulo; AMensaje: String;
+ AMultiSelect: Boolean): IBizArticulo;
+var
+ AEditor : IEditorElegirArticulosPresupuestosCliente;
+begin
+ Result := NIL;
+ CreateEditor('EditorElegirArticulosPresupuestosCliente', IEditorElegirArticulosPresupuestosCliente, AEditor);
+ try
+ with AEditor do
+ begin
+ Controller := Self;
+ Articulos := AArticulos;
+ MultiSelect := AMultiSelect;
+ Mensaje := AMensaje;
+ if IsPositiveResult(ShowModal) then
+ Result := ArticulosSeleccionados;
+ Release;
+ end;
+ finally
+ AEditor := NIL;
+ end;
+end;
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Controller/uDetallesPresupuestoClienteController.pas b/Source/Modulos/Presupuestos de cliente/Controller/uDetallesPresupuestoClienteController.pas
new file mode 100644
index 00000000..d5dfc23b
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Controller/uDetallesPresupuestoClienteController.pas
@@ -0,0 +1,148 @@
+ unit uDetallesPresupuestoClienteController;
+
+interface
+
+uses
+ uDADataTable, uControllerDetallesArticulos, uBizDetallesPresupuestoCliente, uIDataModulePresupuestosCliente,
+ uBizArticulos, uBizContactos;
+
+type
+ IDetallesPresupuestoClienteController = interface(IControllerDetallesArticulos)
+ ['{8D1D3559-E695-4962-9999-404B26B50D6C}']
+ procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente); overload;
+ procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente); overload;
+ procedure DesglosarPorteDetalles(ImportePorte: Currency; ADetalles: IDAStronglyTypedDataTable);
+ function DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double;
+ end;
+
+ TDetallesPresupuestoClienteController = class(TControllerDetallesArticulos, IDetallesPresupuestoClienteController)
+ private
+ FDataModule : IDataModulePresupuestosCliente;
+ protected
+ procedure AsignarDatos(ADetalles: IDAStronglyTypedDataTable; IDCabecera: Integer); override;
+ procedure RellenarOtros(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo); overload; override;
+ procedure RellenarImportes(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo); override;
+
+ procedure AsignarController; override;
+ //Si sobreescribimos este método podremos tener en cuenta otras columnas para el calculo del importe total de un concepto
+ function CalcularImporteTotalConcepto(DataTable: TDADataTable): Double; override;
+ procedure ValidarCampos(DataTable: TDADataTable); override;
+ procedure DesglosarPorteDetalles(ImportePorte: Currency; ADetalles: IDAStronglyTypedDataTable);
+ function DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double;
+
+ public
+ procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente); reintroduce; overload;
+ procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente); overload;
+ constructor Create; override;
+ destructor Destroy; override;
+ end;
+
+implementation
+
+uses Dialogs, uDialogUtils, Variants, uControllerDetallesBase, uDataModulePresupuestosCliente, uArticulosPresupuestoClienteController,
+ uDataTableUtils, uCalculosUtils;
+
+{ TDetallesPresupuestoClienteController }
+
+procedure TDetallesPresupuestoClienteController.ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente);
+var
+ AArticulos : IBizArticulo;
+begin
+ if Assigned(ADetalles) then
+ begin
+ try
+ AArticulos := (FArticulosController.BuscarTodos(ACliente) as IBizArticulo);
+ ActualizarDetalles(ADetalles, AArticulos);
+ ShowInfoMessage('Se han actualizado los descuentos para el cliente seleccionado');
+ finally
+ AArticulos := Nil;
+ end;
+ end;
+end;
+
+procedure TDetallesPresupuestoClienteController.AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente);
+var
+ AArticulos: IBizArticulo;
+begin
+ if Assigned(ADetalles) then
+ begin
+ try
+ AArticulos := (FArticulosController.BuscarTodos(ACliente) as IBizArticulo);
+ AArticulos := (FArticulosController as IArticulosPresupuestoClienteController).ElegirArticulos(AArticulos, 'Elija los artículos que desea añadir a este pedido de cliente', True);
+ Add(ADetalles, AArticulos);
+ finally
+ AArticulos := Nil;
+ end;
+ end;
+end;
+
+procedure TDetallesPresupuestoClienteController.AsignarController;
+begin
+ FArticulosController := TArticulosPresupuestoClienteController.Create;
+end;
+
+procedure TDetallesPresupuestoClienteController.AsignarDatos(ADetalles: IDAStronglyTypedDataTable; IDCabecera: Integer);
+begin
+ inherited;
+
+ with (ADetalles as IBizDetallesPresupuestoCliente) do
+ begin
+ Edit;
+ ID := FDataModule.GetNextID(DataTable.LogicalName);
+ ID_PEDIDO := IDCabecera;
+ Post
+ end;
+end;
+
+function TDetallesPresupuestoClienteController.CalcularImporteTotalConcepto(DataTable: TDADataTable): Double;
+begin
+ Result := CalcularLineaConcepto(DataTable);
+end;
+
+constructor TDetallesPresupuestoClienteController.Create;
+begin
+ inherited;
+ FDataModule := TDataModulePresupuestosCliente.Create(Nil);
+end;
+
+function TDetallesPresupuestoClienteController.DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double;
+begin
+ Result := DarTotalPorte(ADetalles);
+end;
+
+procedure TDetallesPresupuestoClienteController.DesglosarPorteDetalles(ImportePorte: Currency; ADetalles: IDAStronglyTypedDataTable);
+begin
+ DesglosarPorte(ImportePorte, ADetalles);
+ ActualizarTotales(ADetalles);
+end;
+
+destructor TDetallesPresupuestoClienteController.Destroy;
+begin
+ FDataModule := Nil;
+ inherited;
+end;
+
+
+procedure TDetallesPresupuestoClienteController.RellenarOtros(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo);
+begin
+ if Assigned(AArticulos) then
+ ADetalles.DataTable.FieldByName(CAMPO_DESCUENTO).AsFloat := AArticulos.DESCUENTO
+ else
+ ADetalles.DataTable.FieldByName(CAMPO_DESCUENTO).AsFloat := 0;
+end;
+
+procedure TDetallesPresupuestoClienteController.ValidarCampos(DataTable: TDADataTable);
+begin
+ inherited;
+ ValidarCamposLineaConcepto(DataTable);
+end;
+
+procedure TDetallesPresupuestoClienteController.RellenarImportes(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo);
+begin
+ if Assigned(AArticulos) then
+ ADetalles.DataTable.FieldByName(CAMPO_IMPORTE_UNIDAD).AsVariant := AArticulos.PRECIO_COSTE
+ else
+ ADetalles.DataTable.FieldByName(CAMPO_IMPORTE_UNIDAD).AsVariant := Null;
+end;
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas b/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas
new file mode 100644
index 00000000..c49bc593
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas
@@ -0,0 +1,851 @@
+unit uPresupuestosClienteController;
+
+interface
+
+
+uses
+ SysUtils, uDADataTable, uEditorDBItem,
+ uControllerBase, uIDataModulePresupuestosCliente, uClientesController,
+ uDetallesPresupuestoClienteController, uBizPresupuestosCliente, uBizDireccionesContacto,
+ uBizDetallesPresupuestoCliente;
+
+type
+ IPresupuestosClienteController = interface(IObservador)
+ ['{21ED0332-F0E0-468D-8D53-8CA362757191}']
+ function GetClienteController: IClientesController;
+ procedure SetClienteController(const Value: IClientesController);
+ property ClienteController: IClientesController read GetClienteController write SetClienteController;
+
+ function GetDetallesController: IDetallesPresupuestoClienteController;
+ procedure SetDetallesController(const Value: IDetallesPresupuestoClienteController);
+ property DetallesController: IDetallesPresupuestoClienteController read GetDetallesController write SetDetallesController;
+
+ procedure RecuperarCliente(APedido : IBizPresupuestoCliente);
+ function Buscar(const ID: Integer): IBizPresupuestoCliente;
+ function BuscarTodos: IBizPresupuestoCliente;
+ function BuscarPendientes : IBizPresupuestoCliente;
+ function BuscarPendientesPedir(const ID : Integer): IBizPresupuestoClienteArticulosPendientesPedirAProv;
+ procedure Ver(APedido : IBizPresupuestoCliente);
+ procedure VerTodos(APedidos: IBizPresupuestoCliente);
+ procedure VerDireccionEntrega(APedido : IBizPresupuestoCliente);
+ function Nuevo : IBizPresupuestoCliente;
+ function Anadir(APedido : IBizPresupuestoCliente) : Boolean;
+ function Eliminar(const ID : Integer): Boolean; overload;
+ function Eliminar(APedido : IBizPresupuestoCliente; AllItems: Boolean = false): Boolean; overload;
+ function Guardar(APedido : IBizPresupuestoCliente): Boolean;
+ procedure DescartarCambios(APedido : IBizPresupuestoCliente);
+ function Existe(const ID: Integer) : Boolean;
+ function Duplicar(APedido: IBizPresupuestoCliente): IBizPresupuestoCliente;
+
+ function Localizar(APedidos: IBizPresupuestoCliente; const ID : Integer): Boolean;
+ function ExtraerSeleccionados(APedido: IBizPresupuestoCliente) : IBizPresupuestoCliente;
+ function ElegirPedidos(APedido: IBizPresupuestoCliente; AMensaje: String; AMultiSelect: Boolean): IBizPresupuestoCliente;
+
+ procedure CopiarDireccionEnvio (const ADireccionEnvio: IBizDireccionesContacto;
+ APedido: IBizPresupuestoCliente);
+ procedure QuitarDireccionEnvio(APedido: IBizPresupuestoCliente);
+
+ procedure RecalcularImportes(APedido : IBizPresupuestoCliente);
+ function EsModificable(APedido : IBizPresupuestoCliente): Boolean;
+ function EsEliminable(APedido : IBizPresupuestoCliente): Boolean;
+
+ procedure Preview(APedido : IBizPresupuestoCliente; AllItems: Boolean = false);
+ procedure Print(APedido : IBizPresupuestoCliente; AllItems: Boolean = false);
+
+ function ArticulosPendientes(const ID : Integer): IBizPresupuestoClienteArticulosPend;
+ end;
+
+ TPresupuestosClienteController = class(TObservador, IPresupuestosClienteController)
+ protected
+ FDataModule : IDataModulePresupuestosCliente;
+ FClienteController : IClientesController;
+ FDetallesController : IDetallesPresupuestoClienteController;
+
+ function GetClienteController: IClientesController;
+ procedure SetClienteController(const Value: IClientesController);
+ function GetDetallesController: IDetallesPresupuestoClienteController;
+ procedure SetDetallesController(const Value: IDetallesPresupuestoClienteController);
+
+ //Estos son los tres métodos a sobre escribir si se desea heredar toda la logica de
+ //este controller
+ procedure AsignarDataModule; virtual;
+ procedure RecuperarObjetos(APedido: IBizPresupuestoCliente); virtual;
+
+ procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); override;
+ procedure AsignarID(APedido: IBizPresupuestoCliente; const IDNuevo : Integer);
+ function CreateEditor(const AName : String; const IID: TGUID; out Intf): Boolean;
+ procedure FiltrarEmpresa(APedido: IBizPresupuestoCliente);
+ function _Vacio : IBizPresupuestoCliente;
+ function ValidarPedido(APedido: IBizPresupuestoCliente): Boolean;
+ public
+ property ClienteController: IClientesController read GetClienteController write SetClienteController;
+ property DetallesController: IDetallesPresupuestoClienteController read GetDetallesController write SetDetallesController;
+
+ constructor Create; virtual;
+ destructor Destroy; override;
+
+ function Localizar(APedidos: IBizPresupuestoCliente; const ID : Integer): Boolean;
+
+ procedure RecuperarCliente(APedido : IBizPresupuestoCliente);
+ function Eliminar(const ID : Integer): Boolean; overload;
+ function Eliminar(APedido : IBizPresupuestoCliente; AllItems: Boolean = false): Boolean; overload;
+ function Guardar(APedido : IBizPresupuestoCliente): Boolean;
+ procedure DescartarCambios(APedido : IBizPresupuestoCliente); virtual;
+ function Existe(const ID: Integer) : Boolean; virtual;
+ function Anadir(APedido : IBizPresupuestoCliente) : Boolean;
+ function Buscar(const ID: Integer): IBizPresupuestoCliente;
+ function BuscarTodos: IBizPresupuestoCliente;
+ function BuscarPendientes : IBizPresupuestoCliente;
+ function BuscarPendientesPedir(const ID : Integer): IBizPresupuestoClienteArticulosPendientesPedirAProv;
+ function Nuevo : IBizPresupuestoCliente;
+ procedure Ver(APedido : IBizPresupuestoCliente);
+ procedure VerTodos(APedidos: IBizPresupuestoCliente);
+ procedure VerDireccionEntrega(APedido : IBizPresupuestoCliente);
+ function Duplicar(APedido: IBizPresupuestoCliente): IBizPresupuestoCliente;
+ procedure CopiarDireccionEnvio (const ADireccionEnvio: IBizDireccionesContacto;
+ APedido: IBizPresupuestoCliente);
+
+ procedure QuitarDireccionEnvio(APedido: IBizPresupuestoCliente);
+ function ExtraerSeleccionados(APedido: IBizPresupuestoCliente) : IBizPresupuestoCliente;
+ function ElegirPedidos(APedido: IBizPresupuestoCliente; AMensaje: String; AMultiSelect: Boolean): IBizPresupuestoCliente;
+
+ procedure RecalcularImportes(APedido : IBizPresupuestoCliente);
+ function EsModificable(APedido : IBizPresupuestoCliente): Boolean;
+ function EsEliminable(APedido : IBizPresupuestoCliente): Boolean;
+
+ procedure Preview(APedido : IBizPresupuestoCliente; AllItems: Boolean = false);
+ procedure Print(APedido : IBizPresupuestoCliente; AllItems: Boolean = false);
+
+ function ArticulosPendientes(const ID : Integer): IBizPresupuestoClienteArticulosPend;
+ end;
+
+implementation
+
+uses
+ uROTypes, Controls, cxControls, DB, uEditorRegistryUtils, uEditorPreview, DateUtils,
+ uIEditorPresupuestosCliente, uDataModulePresupuestosCliente, Variants,
+ uBizContactos, uDataTableUtils, uDataModuleUsuarios, Classes,
+ schPedidosClienteClient_Intf, uDAInterfaces, uDateUtils, uIEditorPresupuestoCliente,
+ uIEditorElegirPresupuestosCliente, uIEditorDireccionEntregaPresupuestoCliente,
+ schContactosClient_Intf, uPresupuestosClienteReportController;
+
+{ TPresupuestosClienteController }
+
+function TPresupuestosClienteController.Anadir(APedido: IBizPresupuestoCliente): Boolean;
+begin
+ if not Assigned(APedido) then
+ raise Exception.Create ('Pedido no asignado (Anadir)');
+ APedido.Insert;
+ Result := True;
+end;
+
+function TPresupuestosClienteController.ArticulosPendientes(
+ const ID: Integer): IBizPresupuestoClienteArticulosPend;
+begin
+ Result := FDataModule.GetArticulosPendientes(ID);
+end;
+
+procedure TPresupuestosClienteController.AsignarDataModule;
+begin
+ FDataModule := TDataModulePresupuestosCliente.Create(Nil);
+end;
+
+procedure TPresupuestosClienteController.AsignarID(APedido: IBizPresupuestoCliente; const IDNuevo : Integer);
+begin
+ if not Assigned(APedido) then
+ raise Exception.Create ('Pedido no asignado');
+
+ if not Assigned(APedido.Detalles) then
+ raise Exception.Create ('Detalles de pedido no asignados');
+
+ if not Assigned(FDetallesController) then
+ raise Exception.Create ('Controller detalles no asignado');
+
+ { Los detalles siempre hay que comprobarlos }
+ FDetallesController.AsignarID(APedido.Detalles, IDNuevo, APedido.EsNuevo);
+
+ if APedido.EsNuevo then
+ begin
+ APedido.Edit;
+ APedido.ID := IDNuevo;
+ APedido.Post;
+ end;
+end;
+
+function TPresupuestosClienteController.Buscar(const ID: Integer): IBizPresupuestoCliente;
+begin
+ Result := FDataModule.GetItem(ID);
+ FiltrarEmpresa(Result);
+end;
+
+function TPresupuestosClienteController.BuscarTodos: IBizPresupuestoCliente;
+begin
+ Result := FDataModule.GetItems;
+ FiltrarEmpresa(Result);
+end;
+
+function TPresupuestosClienteController.BuscarPendientes: IBizPresupuestoCliente;
+begin
+ ShowHourglassCursor;
+ try
+ Result := BuscarTodos;
+ with Result.DataTable.Where do
+ begin
+ if NotEmpty then
+ AddOperator(opAND);
+ OpenBraket;
+ AddText(fld_PedidosClienteSITUACION + ' <> ''' + SITUACION_PEDIDO_SERVIDO + '''');
+ CloseBraket;
+ end;
+ finally
+ HideHourglassCursor;
+ end;
+end;
+
+function TPresupuestosClienteController.BuscarPendientesPedir(
+ const ID: Integer): IBizPresupuestoClienteArticulosPendientesPedirAProv;
+begin
+ ShowHourglassCursor;
+ try
+ Result := FDataModule.GetArticulosPendientesPedirAProv(ID);
+ finally
+ HideHourglassCursor;
+ end;
+end;
+
+procedure TPresupuestosClienteController.CopiarDireccionEnvio(
+ const ADireccionEnvio: IBizDireccionesContacto; APedido: IBizPresupuestoCliente);
+var
+ bEnEdicion : Boolean;
+begin
+ if not Assigned(APedido) then
+ raise Exception.Create ('Pedido no asignado (CopiarDireccionEnvio)');
+
+ if not Assigned(ADireccionEnvio) then
+ raise Exception.Create ('No se ha indicado la dirección (CopiarDireccionEnvio)');
+
+ if APedido.DataTable.Active then
+ APedido.DataTable.Active := True;
+
+ if ADireccionEnvio.DataTable.Active then
+ ADireccionEnvio.DataTable.Active := True;
+
+
+ bEnEdicion := (APedido.DataTable.State in dsEditModes);
+ if not bEnEdicion then
+ APedido.Edit;
+
+ ShowHourglassCursor;
+ APedido.Edit;
+ try
+ APedido.CALLE := ADireccionEnvio.CALLE;
+ APedido.POBLACION := ADireccionEnvio.POBLACION;
+ APedido.CODIGO_POSTAL := ADireccionEnvio.CODIGO_POSTAL;
+ APedido.PROVINCIA := ADireccionEnvio.PROVINCIA;
+ APedido.TELEFONO := ADireccionEnvio.TELEFONO;
+ APedido.PERSONA_CONTACTO := ADireccionEnvio.PERSONA_CONTACTO;
+
+ if not bEnEdicion then
+ APedido.Post;
+ finally
+ HideHourglassCursor;
+ end;
+end;
+
+constructor TPresupuestosClienteController.Create;
+begin
+ AsignarDataModule;
+
+ FClienteController := TClientesController.Create;
+ FDetallesController := TDetallesPresupuestoClienteController.Create;
+ FDetallesController.addObservador(Self);
+end;
+
+function TPresupuestosClienteController.CreateEditor(const AName: String;
+ const IID: TGUID; out Intf): Boolean;
+begin
+ Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf);
+end;
+
+procedure TPresupuestosClienteController.DescartarCambios(APedido: IBizPresupuestoCliente);
+begin
+ if not Assigned(APedido) then
+ raise Exception.Create ('Pedido no asignada');
+
+ ShowHourglassCursor;
+ try
+ if (APedido.State in dsEditModes) then
+ APedido.Cancel;
+
+ APedido.DataTable.CancelUpdates;
+ finally
+ HideHourglassCursor;
+ end;
+end;
+
+destructor TPresupuestosClienteController.Destroy;
+begin
+ FDataModule := Nil;
+ FClienteController := Nil;
+ FDetallesController := Nil;
+ inherited;
+end;
+
+function TPresupuestosClienteController.Duplicar(
+ APedido: IBizPresupuestoCliente): IBizPresupuestoCliente;
+begin
+ Result := Self._Vacio;
+ ShowHourglassCursor;
+ try
+ DuplicarRegistros(APedido.DataTable, Result.DataTable, mdrActual);
+ DuplicarRegistros(APedido.Detalles.DataTable, Result.Detalles.DataTable, mdrTodos);
+
+ // Hay que dejar algunos campos como si fuera un presupuesto nuevo
+ Result.Edit;
+ with Result do
+ begin
+// ID_EMPRESA := dmUsuarios.IDEmpresaActual;
+// USUARIO := dmUsuarios.LoginInfo.Usuario;
+ FECHA_PEDIDO := DateOf(Now);
+ FECHA_PREVISTA_ENVIO := 0;
+ INCIDENCIAS_ACTIVAS := 0;
+// INCIDENCIAS := Nil;
+ REFERENCIA := '';
+// SetFieldNull(DataTable, fld_PedidosClienteREF_TIENDA_WEB);
+ end;
+ Result.Post;
+ finally
+ HideHourglassCursor;
+ end;
+end;
+
+function TPresupuestosClienteController.ValidarPedido(
+ APedido: IBizPresupuestoCliente): Boolean;
+begin
+ Result := False;
+
+ if not Assigned(APedido) then
+ raise Exception.Create ('Pedido no asignado');
+
+ if (APedido.DataTable.State in dsEditModes) then
+ APedido.DataTable.Post;
+
+ //Tambien hacemos post de sus tablas hija
+ if (APedido.Detalles.DataTable.State in dsEditModes) then
+ APedido.Detalles.DataTable.Post;
+
+ // Abrir el cliente para la validación
+ if Assigned(APedido.Cliente) then
+ APedido.Cliente.DataTable.Active := True;
+
+ if (APedido.ID_Cliente < 0) or
+ (not Assigned(APedido.Cliente)) or
+ (APedido.Cliente.IsEmpty) then
+ raise Exception.Create('Debe indicar el cliente de este pedido');
+
+ if (EsFechaVacia(APedido.FECHA_PEDIDO)) then
+ raise Exception.Create('Debe indicar la fecha de este pedido');
+
+ if (not EsFechaVacia(APedido.FECHA_PREVISTA_ENVIO)) then
+ begin
+ if (APedido.FECHA_PREVISTA_ENVIO < APedido.FECHA_PEDIDO) then
+ raise Exception.Create('La fecha prevista de envío no puede ser anterior a la fecha del pedido');
+ end;
+
+ if (APedido.Detalles.DataTable.RecordCount = 0) then
+ raise Exception.Create('El pedido debe tener en su contenido al menos un concepto');
+
+ { Asegurarse de valores en campos "automáticos" tanto
+ en MODIFICACIÓN como en INSERCIÓN. }
+ APedido.Edit;
+ try
+// APedido.USUARIO := dmUsuarios.LoginInfo.Usuario;
+
+ if Assigned(APedido.Cliente)
+ and (APedido.ID_CLIENTE <> APedido.Cliente.ID) then
+ APedido.ID_CLIENTE := APedido.Cliente.ID;
+
+ Result := True;
+ finally
+ APedido.Post;
+ end;
+end;
+
+procedure TPresupuestosClienteController.Ver(APedido: IBizPresupuestoCliente);
+var
+ AEditor : IEditorPresupuestoCliente;
+begin
+ AEditor := NIL;
+ ShowHourglassCursor;
+ try
+ RecuperarObjetos(APedido);
+ CreateEditor('EditorPresupuestoCliente', IEditorPresupuestoCliente, AEditor);
+
+ if Assigned(AEditor) then
+ with AEditor do
+ begin
+ Controller := Self; //OJO ORDEN MUY IMPORTANTE
+ Pedido := APedido;
+
+ //MODO CONSULTAR
+ if not EsModificable(APedido) then
+ begin
+ SetDataTableReadOnly(APedido.DataTable, True);
+ ReadOnly := True;
+ end;
+
+ ShowModal;
+
+ //MODO CONSULTAR (Se deja la tabla como estaba)
+ if ReadOnly then
+ SetDataTableReadOnly(APedido.DataTable, False);
+
+ AEditor.Release;
+ end;
+ finally
+ AEditor := NIL;
+ HideHourglassCursor;
+ end;
+end;
+
+procedure TPresupuestosClienteController.VerDireccionEntrega(
+ APedido: IBizPresupuestoCliente);
+var
+ AEditor : IEditorDireccionEntregaPresupuestoCliente;
+begin
+ AEditor := NIL;
+ ShowHourglassCursor;
+ try
+ //RecuperarObjetos(APedido); <- No descomentar. No hace falta
+ CreateEditor('EditorDireccionEntregaPresupuestoCliente', IEditorDireccionEntregaPresupuestoCliente, AEditor);
+
+ with (AEditor as IEditorDireccionEntregaPresupuestoCliente) do
+ begin
+ Pedido := APedido;
+ end;
+ finally
+ HideHourglassCursor;
+ end;
+
+ if Assigned(AEditor) then
+ try
+ AEditor.ShowModal;
+ AEditor.Release;
+ finally
+ AEditor := NIL;
+ end;
+end;
+
+procedure TPresupuestosClienteController.VerTodos(APedidos: IBizPresupuestoCliente);
+var
+ AEditor : IEditorPresupuestosCliente;
+begin
+ AEditor := NIL;
+ ShowHourglassCursor;
+ try
+ CreateEditor('EditorPresupuestosCliente', IEditorPresupuestosCliente, AEditor);
+ if Assigned(AEditor) then
+ with AEditor do
+ begin
+ Controller := Self; //OJO ORDEN MUY IMPORTANTE
+ Pedidos := APedidos;
+ MultiSelect := True;
+ ShowEmbedded;
+ end;
+ finally
+ AEditor := NIL;
+ HideHourglassCursor;
+ end;
+end;
+
+function TPresupuestosClienteController._Vacio: IBizPresupuestoCliente;
+begin
+ Result := Buscar(ID_NULO);
+end;
+
+function TPresupuestosClienteController.Eliminar(const ID: Integer): Boolean;
+var
+ APedido : IBizPresupuestoCliente;
+begin
+ APedido := Buscar(ID);
+
+ if not Assigned(APedido) then
+ raise Exception.Create(Format('No se ha encontrado el pedido con ID = %d', [ID]));
+
+ Result := Eliminar(APedido);
+ APedido := NIL;
+end;
+
+function TPresupuestosClienteController.ElegirPedidos(APedido: IBizPresupuestoCliente; AMensaje: String; AMultiSelect: Boolean): IBizPresupuestoCliente;
+var
+ AEditor : IEditorElegirPresupuestosCliente;
+begin
+ Result := NIL;
+
+ CreateEditor('EditorElegirPresupuestosCliente', IEditorElegirPresupuestosCliente, AEditor);
+ try
+ with AEditor do
+ begin
+ Controller := Self;
+ Pedidos := APedido;
+ MultiSelect := AMultiSelect;
+ Mensaje := AMensaje;
+ if IsPositiveResult(ShowModal) then
+ Result := PresupuestosClienteSeleccionados;
+ Release;
+ end;
+ finally
+ AEditor := NIL;
+ end;
+end;
+
+function TPresupuestosClienteController.Eliminar(APedido: IBizPresupuestoCliente; AllItems: Boolean = false): Boolean;
+//En el caso de eliminar almenos un elemento del conjunto se devuelve true
+var
+ bEliminado: Boolean;
+
+begin
+ bEliminado := False;
+
+ if not Assigned(APedido) then
+ raise Exception.Create ('APedido no asignado');
+
+ ShowHourglassCursor;
+ try
+ if not APedido.DataTable.Active then
+ APedido.DataTable.Active := True;
+
+ if (APedido.State in dsEditModes) then
+ APedido.Cancel;
+
+ //Siempre eliminaremos el seleccionado
+ if EsEliminable(APedido) then
+ begin
+ APedido.Delete;
+ bEliminado := True;
+ end;
+
+ //En el caso de querer eliminar todos los items del objeto AAlbaran
+ if AllItems then
+ begin
+ with APedido.DataTable do
+ begin
+ First;
+ while not EOF do
+ begin
+ if EsEliminable(APedido) then
+ begin
+ APedido.Delete;
+ bEliminado := True
+ end
+ else Next;
+ end;
+ end;
+ end;
+
+ if bEliminado then
+ begin
+ APedido.DataTable.ApplyUpdates;
+ Result := True;
+ end
+ else
+ Result := False;
+
+ finally
+ HideHourglassCursor;
+ end;
+end;
+
+function TPresupuestosClienteController.EsEliminable(APedido: IBizPresupuestoCliente): Boolean;
+begin
+ if not Assigned(APedido) then
+ raise Exception.Create ('Pedido no asignado: EsEliminable');
+
+ Result := (APedido.SITUACION = SITUACION_PEDIDO_PENDIENTE);
+end;
+
+function TPresupuestosClienteController.EsModificable(APedido: IBizPresupuestoCliente): Boolean;
+begin
+ if not Assigned(APedido) then
+ raise Exception.Create ('Pedido no asignado: EsModificable');
+
+ Result := (APedido.SITUACION <> SITUACION_PEDIDO_SERVIDO);
+end;
+
+procedure TPresupuestosClienteController.RecalcularImportes(
+ APedido: IBizPresupuestoCliente);
+var
+ bEnEdicion : Boolean;
+begin
+ if not Assigned(APedido) then
+ raise Exception.Create ('Pedido no asignado (RecalcularImportes)');
+
+ if APedido.DataTable.Active then
+ APedido.DataTable.Active := True;
+
+ bEnEdicion := (APedido.DataTable.State in dsEditModes);
+ if not bEnEdicion then
+ APedido.Edit;
+
+ ShowHourglassCursor;
+ APedido.Edit;
+ try
+ APedido.IMPORTE_NETO := FDetallesController.DarTotalImporteTotal(APedido.Detalles);
+ APedido.IMPORTE_PORTE := FDetallesController.DarTotalPorteTotal(APedido.Detalles);
+ if not bEnEdicion then
+ APedido.Post;
+ finally
+ HideHourglassCursor;
+ end;
+end;
+
+procedure TPresupuestosClienteController.RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable);
+var
+ APedido : IBizPresupuestoCliente;
+ ADetalles : IBizDetallesPresupuestoCliente;
+begin
+ inherited;
+
+ if Supports(ADataTable, IBizDetallesPresupuestoCliente, ADetalles) and
+ Supports(ADetalles.DataTable.MasterSource.DataTable, IBizPresupuestoCliente, APedido) then
+ begin
+ RecalcularImportes(APedido);
+ end;
+end;
+
+procedure TPresupuestosClienteController.RecuperarObjetos(APedido: IBizPresupuestoCliente);
+begin
+ RecuperarCliente(APedido);
+end;
+
+procedure TPresupuestosClienteController.RecuperarCliente(
+ APedido: IBizPresupuestoCliente);
+begin
+ APedido._Cliente := (FClienteController.Buscar(APedido.ID_Cliente) as IBizCliente);
+end;
+
+function TPresupuestosClienteController.Existe(const ID: Integer): Boolean;
+var
+ APedido : IBizPresupuestoCliente;
+begin
+ try
+ APedido := Buscar(ID);
+ Result := Assigned(APedido) and (APedido.ID = ID);
+ finally
+ APedido := NIL;
+ end;
+end;
+
+function TPresupuestosClienteController.ExtraerSeleccionados(APedido: IBizPresupuestoCliente): IBizPresupuestoCliente;
+var
+ ASeleccionados : IBizPresupuestoCliente;
+begin
+ ASeleccionados := (Self.Buscar(ID_NULO) as IBizPresupuestoCliente);
+ CopyDataTable(APedido.DataTable, ASeleccionados.DataTable, True);
+ Result := ASeleccionados;
+end;
+
+procedure TPresupuestosClienteController.FiltrarEmpresa(
+ APedido: IBizPresupuestoCliente);
+begin
+ if APedido.DataTable.Active then
+ APedido.DataTable.Active := False;
+
+ // Filtrar los presupuestos actuales por empresa
+{ with APedido.DataTable.Where do
+ begin
+ if NotEmpty then
+ AddOperator(opAND);
+ AddCondition(fld_PedidosClienteID_EMPRESA, cEqual, dmUsuarios.IDEmpresaActual);
+ end;
+}
+end;
+
+procedure TPresupuestosClienteController.SetClienteController(const Value: IClientesController);
+begin
+ FClienteController := Value;
+end;
+
+procedure TPresupuestosClienteController.SetDetallesController(const Value: IDetallesPresupuestoClienteController);
+begin
+ FDetallesController := Value;
+end;
+
+function TPresupuestosClienteController.Guardar(APedido: IBizPresupuestoCliente): Boolean;
+var
+ IDNuevo: Integer;
+begin
+ Result := False;
+
+ if not Assigned(APedido) then
+ raise Exception.Create ('Pedido no asignada');
+
+ if not Assigned(FDetallesController) then
+ raise Exception.Create ('Controller detalles no asignado');
+
+ if ValidarPedido(APedido) then
+ begin
+ ShowHourglassCursor;
+
+ // Asegurarnos de que todos los importes están bien.
+ RecalcularImportes(APedido);
+
+ try
+ if (APedido.EsNuevo) then
+ IDNuevo := FDataModule.GetNextID(APedido.DataTable.LogicalName)
+ else
+ IDNuevo := APedido.ID;
+
+ AsignarID(APedido, IDNuevo);
+ APedido.DataTable.ApplyUpdates;
+
+ Result := True;
+ finally
+ HideHourglassCursor;
+ end;
+ end;
+end;
+
+function TPresupuestosClienteController.Localizar(APedidos: IBizPresupuestoCliente;
+ const ID: Integer): Boolean;
+begin
+ Result := True;
+ ShowHourglassCursor;
+ try
+ with APedidos.DataTable do
+ begin
+ DisableControls;
+ First;
+ if not Locate(fld_PedidosClienteID, ID, []) then
+ Result := False;
+ EnableControls;
+ end;
+ finally
+ HideHourglassCursor;
+ end;
+end;
+
+function TPresupuestosClienteController.Nuevo: IBizPresupuestoCliente;
+var
+ APedido : IBizPresupuestoCliente;
+begin
+ APedido := FDataModule.NewItem;
+ FiltrarEmpresa(APedido);
+ APedido.DataTable.Active := True;
+ APedido.Insert;
+ Result := APedido;
+end;
+
+procedure TPresupuestosClienteController.QuitarDireccionEnvio(
+ APedido: IBizPresupuestoCliente);
+var
+ bEnEdicion : Boolean;
+begin
+ if not Assigned(APedido) then
+ raise Exception.Create ('Pedido no asignado (QuitarDireccionEnvio)');
+
+ if APedido.DataTable.Active then
+ APedido.DataTable.Active := True;
+
+ bEnEdicion := (APedido.DataTable.State in dsEditModes);
+ if not bEnEdicion then
+ APedido.Edit;
+
+ ShowHourglassCursor;
+ APedido.Edit;
+ try
+ APedido.DataTable.FieldByName(fld_PedidosClienteCALLE).Clear;
+ APedido.DataTable.FieldByName(fld_PedidosClientePOBLACION).Clear;
+ APedido.DataTable.FieldByName(fld_PedidosClienteCODIGO_POSTAL).Clear;
+ APedido.DataTable.FieldByName(fld_PedidosClientePROVINCIA).Clear;
+ APedido.DataTable.FieldByName(fld_PedidosClienteTELEFONO).Clear;
+ APedido.DataTable.FieldByName(fld_PedidosClientePERSONA_CONTACTO).Clear;
+
+ if not bEnEdicion then
+ APedido.Post;
+ finally
+ HideHourglassCursor;
+ end;
+end;
+
+procedure TPresupuestosClienteController.Preview(APedido: IBizPresupuestoCliente; AllItems: Boolean = false);
+var
+ AReportController : IPresupuestosClienteReportController;
+ ID_Pedidos: TStringList;
+
+begin
+ AReportController := TPresupuestosClienteReportController.Create;
+ try
+ ID_Pedidos := TStringList.Create;
+
+ //Si deseamos previsualizar todos los items del objeto albaran
+ if AllItems then
+ begin
+ with APedido.DataTable do
+ begin
+ First;
+ while not EOF do
+ begin
+ ID_Pedidos.Add(IntToStr(APedido.ID));
+ Next;
+ end;
+ end;
+ end
+ //Solo previsualizamos el item seleccionado
+ else
+ ID_Pedidos.Add(IntToStr(APedido.ID));
+
+ AReportController.Preview(ID_Pedidos.CommaText);
+
+ finally
+ AReportController := NIL;
+ ID_Pedidos.Free;
+ end;
+end;
+
+procedure TPresupuestosClienteController.Print(APedido: IBizPresupuestoCliente; AllItems: Boolean = false);
+var
+ AReportController : IPresupuestosClienteReportController;
+ ID_Pedidos: TStringList;
+
+begin
+ AReportController := TPresupuestosClienteReportController.Create;
+ try
+ ID_Pedidos := TStringList.Create;
+
+ //Si deseamos previsualizar todos los items del objeto albaran
+ if AllItems then
+ begin
+ with APedido.DataTable do
+ begin
+ First;
+ while not EOF do
+ begin
+ ID_Pedidos.Add(IntToStr(APedido.ID));
+ Next;
+ end;
+ end;
+ end
+ //Solo previsualizamos el item seleccionado
+ else
+ ID_Pedidos.Add(IntToStr(APedido.ID));
+
+ AReportController.Print(ID_Pedidos.CommaText);
+
+ finally
+ AReportController := NIL;
+ ID_Pedidos.Free;
+ end;
+end;
+
+function TPresupuestosClienteController.GetClienteController: IClientesController;
+begin
+ Result := FClienteController;
+end;
+
+function TPresupuestosClienteController.GetDetallesController: IDetallesPresupuestoClienteController;
+begin
+ Result := FDetallesController;
+end;
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteReportController.pas b/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteReportController.pas
new file mode 100644
index 00000000..cff493bc
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteReportController.pas
@@ -0,0 +1,104 @@
+unit uPresupuestosClienteReportController;
+
+interface
+
+uses
+ Classes, SysUtils, uDADataTable, uControllerBase, uIDataModulePresupuestosClienteReport,
+ uClientesController, uPresupuestosClienteController, uDetallesPresupuestoClienteController,
+ uBizPresupuestosCliente;
+
+type
+ IPresupuestosClienteReportController = interface
+ ['{D0686358-251C-43C4-9927-6112F2F4D3B8}']
+ procedure Preview(const AID : String);
+ procedure Print(const AID : String);
+ end;
+
+ TPresupuestosClienteReportController = class(TInterfacedObject, IPresupuestosClienteReportController)
+ private
+ FDataModule : IDataModulePresupuestosClienteReport;
+ function CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean;
+ public
+ constructor Create;
+ destructor Destroy; override;
+
+ procedure Preview(const AID : String);
+ procedure Print(const AID : String);
+ end;
+
+
+implementation
+
+uses
+ uROTypes, uEditorRegistryUtils, uIEditorPresupuestosClientePreview,
+ uEditorPreview, uDataModulePresupuestosCliente, uEditorBase, cxControls;
+
+{ TPresupuestosClienteReportController }
+
+constructor TPresupuestosClienteReportController.Create;
+begin
+ FDataModule := TDataModulePresupuestosCliente.Create(Nil);
+end;
+
+function TPresupuestosClienteReportController.CreateEditor(const AName: String;
+ const IID: TGUID; out Intf): Boolean;
+begin
+ Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf);
+end;
+
+
+destructor TPresupuestosClienteReportController.Destroy;
+begin
+ FDataModule := NIL;
+ inherited;
+end;
+
+procedure TPresupuestosClienteReportController.Preview(const AID : String);
+var
+ AStream: Binary;
+ AEditor : IEditorPresupuestosClientePreview;
+begin
+ AEditor := NIL;
+
+ ShowHourglassCursor;
+ try
+ AStream := FDataModule.GetReport(AID);
+ try
+ CreateEditor('EditorPresupuestosClientePreview', IEditorPresupuestosClientePreview, AEditor);
+ AEditor.LoadFromStream(AStream);
+ finally
+ AStream.Free;
+ end;
+ finally
+ HideHourglassCursor;
+ end;
+
+ if Assigned(AEditor) then
+ AEditor.Preview;
+end;
+
+procedure TPresupuestosClienteReportController.Print(const AID : String);
+var
+ AStream: Binary;
+ AEditor : IEditorPresupuestosClientePreview;
+begin
+ AEditor := NIL;
+
+ ShowHourglassCursor;
+ try
+ AStream := FDataModule.GetReport(AID);
+ try
+ CreateEditor('EditorPresupuestosClientePreview', IEditorPresupuestosClientePreview, AEditor);
+ AEditor.LoadFromStream(AStream);
+ finally
+ AStream.Free;
+ end;
+ finally
+ HideHourglassCursor;
+ end;
+
+ if Assigned(AEditor) then
+ AEditor.Print
+end;
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Data/PresupuestosCliente_data.dpk b/Source/Modulos/Presupuestos de cliente/Data/PresupuestosCliente_data.dpk
new file mode 100644
index 00000000..7d615b01
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Data/PresupuestosCliente_data.dpk
@@ -0,0 +1,33 @@
+package PresupuestosCliente_data;
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$IMPLICITBUILD ON}
+
+requires
+ PresupuestosCliente_model;
+
+contains
+ uDataModulePresupuestosCliente in 'uDataModulePresupuestosCliente.pas' {DataModulePresupuestosCliente};
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Data/PresupuestosCliente_data.dproj b/Source/Modulos/Presupuestos de cliente/Data/PresupuestosCliente_data.dproj
new file mode 100644
index 00000000..5b2a3ed0
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Data/PresupuestosCliente_data.dproj
@@ -0,0 +1,540 @@
+
+
+
+ {38eef566-1895-4bdd-8007-f92f5e32cce6}
+ PresupuestosCliente_data.dpk
+ Debug
+ AnyCPU
+ DCC32
+ ..\..\..\..\Output\Debug\Cliente\PresupuestosCliente_data.bpl
+
+
+ 7.0
+ False
+ False
+ 0
+ 3
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ RELEASE
+
+
+ 7.0
+ 3
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+
+
+ Delphi.Personality
+ Package
+
+FalseTrueFalseTrueFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0PresupuestosCliente_data.dpk
+
+
+
+
+ MainSource
+
+
+
+
+
+
+
+
diff --git a/Source/Modulos/Presupuestos de cliente/Data/PresupuestosCliente_data.drc b/Source/Modulos/Presupuestos de cliente/Data/PresupuestosCliente_data.drc
new file mode 100644
index 00000000..1173046a
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Data/PresupuestosCliente_data.drc
@@ -0,0 +1,17 @@
+/* VER185
+ Generated by the CodeGear Delphi Pascal Compiler
+ because -GD or --drc was supplied to the compiler.
+
+ This file contains compiler-generated resources that
+ were bound to the executable.
+ If this file is empty, then no compiler-generated
+ resources were bound to the produced executable.
+*/
+
+STRINGTABLE
+BEGIN
+END
+
+/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Data\uDataModulePresupuestosCliente.DFM */
+/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Data\PresupuestosCliente_data.res */
+/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Data\PresupuestosCliente_data.drf */
diff --git a/Source/Modulos/Presupuestos de cliente/Data/PresupuestosCliente_data.res b/Source/Modulos/Presupuestos de cliente/Data/PresupuestosCliente_data.res
new file mode 100644
index 00000000..86c94e6a
Binary files /dev/null and b/Source/Modulos/Presupuestos de cliente/Data/PresupuestosCliente_data.res differ
diff --git a/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.dfm b/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.dfm
new file mode 100644
index 00000000..89a8a793
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.dfm
@@ -0,0 +1,471 @@
+inherited DataModulePresupuestosCliente: TDataModulePresupuestosCliente
+ OnCreate = DAClientDataModuleCreate
+ Height = 403
+ Width = 768
+ object RORemoteService: TRORemoteService
+ ServiceName = 'srvPedidosCliente'
+ Left = 40
+ Top = 56
+ end
+ object tbl_PresupuestosCliente: TDACDSDataTable
+ RemoteUpdatesOptions = []
+ Fields = <
+ item
+ Name = 'ID'
+ DataType = datAutoInc
+ DictionaryEntry = 'PedidosCliente_ID'
+ InPrimaryKey = True
+ end
+ item
+ Name = 'ID_EMPRESA'
+ DataType = datInteger
+ DictionaryEntry = 'PedidosCliente_ID_EMPRESA'
+ end
+ item
+ Name = 'ID_CLIENTE'
+ DataType = datInteger
+ DictionaryEntry = 'PedidosCliente_ID_CLIENTE'
+ end
+ item
+ Name = 'NOMBRE'
+ DataType = datString
+ Size = 255
+ DisplayLabel = 'Nombre del cliente'
+ DictionaryEntry = 'PedidosCliente_NOMBRE'
+ end
+ item
+ Name = 'REFERENCIA'
+ DataType = datString
+ Size = 255
+ DisplayLabel = 'Referencia'
+ DictionaryEntry = 'PedidosCliente_REFERENCIA'
+ end
+ item
+ Name = 'REFERENCIA_CLIENTE'
+ DataType = datString
+ Size = 255
+ DisplayLabel = 'PedidosCliente_REFERENCIA_CLIENTE'
+ DictionaryEntry = 'PedidosCliente_REFERENCIA_CLIENTE'
+ end
+ item
+ Name = 'SITUACION'
+ DataType = datString
+ Size = 255
+ DisplayLabel = 'Situaci'#243'n'
+ DictionaryEntry = 'PedidosCliente_SITUACION'
+ end
+ item
+ Name = 'FECHA_PEDIDO'
+ DataType = datDateTime
+ DisplayLabel = 'Fecha pedido'
+ DictionaryEntry = 'PedidosCliente_FECHA_PEDIDO'
+ end
+ item
+ Name = 'CALLE'
+ DataType = datString
+ Size = 255
+ DisplayLabel = 'Calle'
+ DictionaryEntry = 'PedidosCliente_CALLE'
+ end
+ item
+ Name = 'CODIGO_POSTAL'
+ DataType = datString
+ Size = 10
+ DisplayLabel = 'C'#243'd. postal'
+ DictionaryEntry = 'PedidosCliente_CODIGO_POSTAL'
+ end
+ item
+ Name = 'POBLACION'
+ DataType = datString
+ Size = 255
+ DisplayLabel = 'Poblaci'#243'n'
+ DictionaryEntry = 'PedidosCliente_POBLACION'
+ end
+ item
+ Name = 'PROVINCIA'
+ DataType = datString
+ Size = 255
+ DisplayLabel = 'Provincia'
+ DictionaryEntry = 'PedidosCliente_PROVINCIA'
+ end
+ item
+ Name = 'PERSONA_CONTACTO'
+ DataType = datString
+ Size = 255
+ DisplayLabel = 'Persona de contacto'
+ DictionaryEntry = 'PedidosCliente_PERSONA_CONTACTO'
+ end
+ item
+ Name = 'TELEFONO'
+ DataType = datString
+ Size = 25
+ DisplayLabel = 'Tel'#233'fono'
+ DictionaryEntry = 'PedidosCliente_TELEFONO'
+ end
+ item
+ Name = 'OBSERVACIONES'
+ DataType = datMemo
+ DisplayLabel = 'Observaciones'
+ DictionaryEntry = 'PedidosCliente_OBSERVACIONES'
+ end
+ item
+ Name = 'INCIDENCIAS'
+ DataType = datMemo
+ DictionaryEntry = 'PedidosCliente_INCIDENCIAS'
+ end
+ item
+ Name = 'INCIDENCIAS_ACTIVAS'
+ DataType = datInteger
+ DictionaryEntry = 'PedidosCliente_INCIDENCIAS_ACTIVAS'
+ end
+ item
+ Name = 'FECHA_ALTA'
+ DataType = datDateTime
+ DictionaryEntry = 'PedidosCliente_FECHA_ALTA'
+ end
+ item
+ Name = 'FECHA_MODIFICACION'
+ DataType = datDateTime
+ DictionaryEntry = 'PedidosCliente_FECHA_MODIFICACION'
+ end
+ item
+ Name = 'USUARIO'
+ DataType = datString
+ Size = 20
+ DictionaryEntry = 'PedidosCliente_USUARIO'
+ end
+ item
+ Name = 'IMPORTE_NETO'
+ DataType = datCurrency
+ DisplayLabel = 'Importe neto'
+ Alignment = taRightJustify
+ DictionaryEntry = 'PedidosCliente_IMPORTE_NETO'
+ end
+ item
+ Name = 'IMPORTE_PORTE'
+ DataType = datCurrency
+ DisplayLabel = 'Importe del porte'
+ Alignment = taRightJustify
+ DictionaryEntry = 'PedidosCliente_IMPORTE_PORTE'
+ end
+ item
+ Name = 'DESCUENTO'
+ DataType = datFloat
+ DisplayLabel = 'Descuento'
+ DisplayFormat = ',0.00 %;-,0.00 %'
+ Alignment = taRightJustify
+ DictionaryEntry = 'PedidosCliente_DESCUENTO'
+ end
+ item
+ Name = 'IMPORTE_DESCUENTO'
+ DataType = datCurrency
+ DisplayLabel = 'Importe dto.'
+ Alignment = taRightJustify
+ DictionaryEntry = 'PedidosCliente_IMPORTE_DESCUENTO'
+ end
+ item
+ Name = 'BASE_IMPONIBLE'
+ DataType = datCurrency
+ DisplayLabel = 'Base imponible'
+ Alignment = taRightJustify
+ DictionaryEntry = 'PedidosCliente_BASE_IMPONIBLE'
+ end
+ item
+ Name = 'IVA'
+ DataType = datFloat
+ DisplayFormat = ',0.00 %;-,0.00 %'
+ Alignment = taRightJustify
+ DictionaryEntry = 'PedidosCliente_IVA'
+ end
+ item
+ Name = 'IMPORTE_IVA'
+ DataType = datCurrency
+ DisplayLabel = 'Importe IVA'
+ Alignment = taRightJustify
+ DictionaryEntry = 'PedidosCliente_IMPORTE_IVA'
+ end
+ item
+ Name = 'IMPORTE_TOTAL'
+ DataType = datCurrency
+ DisplayLabel = 'Importe total'
+ Alignment = taRightJustify
+ DictionaryEntry = 'PedidosCliente_IMPORTE_TOTAL'
+ end
+ item
+ Name = 'ID_FORMA_PAGO'
+ DataType = datInteger
+ DictionaryEntry = 'PedidosCliente_ID_FORMA_PAGO'
+ end
+ item
+ Name = 'REF_TIENDA_WEB'
+ DataType = datInteger
+ DictionaryEntry = 'PedidosCliente_REF_TIENDA_WEB'
+ end
+ item
+ Name = 'FECHA_PREVISTA_ENVIO'
+ DataType = datDateTime
+ DisplayLabel = 'Fecha de entrega prevista'
+ DictionaryEntry = 'PedidosCliente_FECHA_PREVISTA_ENVIO'
+ end>
+ Params = <>
+ MasterMappingMode = mmDataRequest
+ StreamingOptions = [soDisableEventsWhileStreaming]
+ RemoteDataAdapter = rda_PresupuestosCliente
+ DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
+ MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
+ LogicalName = 'PedidosCliente'
+ IndexDefs = <>
+ Left = 208
+ Top = 104
+ end
+ object ds_PedidosCliente: TDADataSource
+ DataSet = tbl_PresupuestosCliente.Dataset
+ DataTable = tbl_PresupuestosCliente
+ Left = 208
+ Top = 48
+ end
+ object tbl_PresupuestosCliente_Detalles: TDACDSDataTable
+ RemoteUpdatesOptions = []
+ Fields = <
+ item
+ Name = 'ID'
+ DataType = datAutoInc
+ Required = True
+ DictionaryEntry = 'PedidosCliente_Detalles_ID'
+ InPrimaryKey = True
+ end
+ item
+ Name = 'ID_PEDIDO'
+ DataType = datInteger
+ DictionaryEntry = 'PedidosCliente_Detalles_ID_PEDIDO'
+ end
+ item
+ Name = 'POSICION'
+ DataType = datInteger
+ DictionaryEntry = 'POSICIONCONCEPTO'
+ end
+ item
+ Name = 'TIPO_DETALLE'
+ DataType = datString
+ Size = 10
+ DictionaryEntry = 'PedidosCliente_Detalles_TIPO_DETALLE'
+ end
+ item
+ Name = 'REFERENCIA'
+ DataType = datString
+ Size = 255
+ DisplayLabel = 'Referencia'
+ DictionaryEntry = 'PedidosCliente_Detalles_REFERENCIA'
+ end
+ item
+ Name = 'ID_ARTICULO'
+ DataType = datInteger
+ DictionaryEntry = 'PedidosCliente_Detalles_ID_ARTICULO'
+ end
+ item
+ Name = 'CONCEPTO'
+ DataType = datString
+ Size = 2000
+ DictionaryEntry = 'PedidosCliente_Detalles_CONCEPTO'
+ end
+ item
+ Name = 'CANTIDAD'
+ DataType = datInteger
+ Alignment = taRightJustify
+ DictionaryEntry = 'CANTIDAD'
+ end
+ item
+ Name = 'IMPORTE_UNIDAD'
+ DataType = datCurrency
+ DisplayLabel = 'Importe unidad'
+ Alignment = taRightJustify
+ DictionaryEntry = 'PedidosCliente_Detalles_IMPORTE_UNIDAD'
+ end
+ item
+ Name = 'IMPORTE_TOTAL'
+ DataType = datCurrency
+ DisplayLabel = 'Importe total'
+ Alignment = taRightJustify
+ DictionaryEntry = 'PedidosCliente_Detalles_IMPORTE_TOTAL'
+ end
+ item
+ Name = 'DESCUENTO'
+ DataType = datFloat
+ DisplayLabel = 'Descuento'
+ DisplayFormat = ',0.00 %;-,0.00 %'
+ Alignment = taRightJustify
+ DictionaryEntry = 'PedidosCliente_Detalles_DESCUENTO'
+ end
+ item
+ Name = 'IMPORTE_PORTE'
+ DataType = datCurrency
+ DisplayLabel = 'Importe porte'
+ Alignment = taRightJustify
+ DictionaryEntry = 'PedidosCliente_Detalles_IMPORTE_PORTE'
+ end
+ item
+ Name = 'VISIBLE'
+ DataType = datInteger
+ DictionaryEntry = 'PedidosCliente_Detalles_VISIBLE'
+ end
+ item
+ Name = 'REFERENCIA_PROVEEDOR'
+ DataType = datString
+ Size = 255
+ DisplayLabel = 'Ref. proveedor'
+ DictionaryEntry = 'PedidosCliente_Detalles_REFERENCIA_PROVEEDOR'
+ end>
+ Params = <
+ item
+ Name = 'ID_PEDIDO'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end>
+ MasterMappingMode = mmWhere
+ MasterParamsMappings.Strings = (
+ 'ID_PEDIDO=ID')
+ StreamingOptions = [soDisableEventsWhileStreaming]
+ RemoteDataAdapter = rda_PresupuestosCliente
+ MasterSource = ds_PedidosCliente
+ MasterFields = 'ID'
+ DetailFields = 'ID_PEDIDO'
+ DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
+ MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
+ LogicalName = 'PedidosCliente_Detalles'
+ IndexDefs = <>
+ Left = 329
+ Top = 104
+ end
+ object ds_PedidosCliente_Detalles: TDADataSource
+ DataSet = tbl_PresupuestosCliente_Detalles.Dataset
+ DataTable = tbl_PresupuestosCliente_Detalles
+ Left = 329
+ Top = 48
+ end
+ object tbl_PresupuestoCliente_Articulos_Pendientes: TDACDSDataTable
+ RemoteUpdatesOptions = []
+ Fields = <
+ item
+ Name = 'ID_ARTICULO'
+ DataType = datInteger
+ DictionaryEntry = 'PedidoCliente_Articulos_Pendientes_ID_ARTICULO'
+ InPrimaryKey = True
+ end
+ item
+ Name = 'CANTIDAD_PED'
+ DataType = datInteger
+ DisplayLabel = 'Cantidad en pedido'
+ Alignment = taRightJustify
+ DictionaryEntry = 'PedidoCliente_Articulos_Pendientes_CANTIDAD_PED'
+ end
+ item
+ Name = 'CANTIDAD_ALB'
+ DataType = datInteger
+ DisplayLabel = 'Cantidad en albaranes'
+ Alignment = taRightJustify
+ DictionaryEntry = 'PedidoCliente_Articulos_Pendientes_CANTIDAD_ALB'
+ end
+ item
+ Name = 'CANTIDAD_PENDIENTE'
+ DataType = datLargeInt
+ DisplayLabel = 'Cantidad pendiente'
+ Alignment = taRightJustify
+ DictionaryEntry = 'PedidoCliente_Articulos_Pendientes_CANTIDAD_PENDIENTE'
+ end>
+ Params = <
+ item
+ Name = 'ID_PEDIDO'
+ DataType = datInteger
+ Value = '11'
+ ParamType = daptInput
+ end>
+ MasterMappingMode = mmDataRequest
+ StreamingOptions = [soDisableEventsWhileStreaming]
+ RemoteDataAdapter = rda_PresupuestosCliente
+ DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
+ MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
+ LogicalName = 'PedidoCliente_Articulos_Pendientes'
+ IndexDefs = <>
+ Left = 208
+ Top = 192
+ end
+ object ds_PresupuestoCliente_Articulos_Pendientes: TDADataSource
+ DataSet = tbl_PresupuestoCliente_Articulos_Pendientes.Dataset
+ DataTable = tbl_PresupuestoCliente_Articulos_Pendientes
+ Left = 208
+ Top = 256
+ end
+ object tbl_PresupuestoCliente_ArticulosPendientesPedirAProv: TDACDSDataTable
+ RemoteUpdatesOptions = []
+ Fields = <
+ item
+ Name = 'ID_PEDIDO'
+ DataType = datAutoInc
+ DictionaryEntry = 'DarArticulosPendientesPedirAProv_ID_PEDIDO'
+ end
+ item
+ Name = 'ID_ARTICULO'
+ DataType = datInteger
+ DictionaryEntry = 'DarArticulosPendientesPedirAProv_ID_ARTICULO'
+ end
+ item
+ Name = 'CANT_PEDIDA_CLIENTE'
+ DataType = datInteger
+ DisplayLabel = 'Cant. pedida por cliente'
+ DictionaryEntry = 'DarArticulosPendientesPedirAProv_CANT_PEDIDA_CLIENTE'
+ end
+ item
+ Name = 'ID_PROVEEDOR'
+ DataType = datInteger
+ DictionaryEntry = 'DarArticulosPendientesPedirAProv_ID_PROVEEDOR'
+ end
+ item
+ Name = 'CANT_PEDIDA_PROVEEDOR'
+ DataType = datInteger
+ DisplayLabel = 'Cant. pedida a proveedor'
+ DictionaryEntry = 'DarArticulosPendientesPedirAProv_CANT_PEDIDA_PROVEEDOR'
+ end
+ item
+ Name = 'CANT_PENDIENTE_PEDIR'
+ DataType = datInteger
+ DisplayLabel = 'Cant. pendiente pedir'
+ DictionaryEntry = 'DarArticulosPendientesPedirAProv_CANT_PENDIENTE_PEDIR'
+ end>
+ Params = <
+ item
+ Name = 'ID_PEDIDO'
+ Value = ''
+ ParamType = daptInput
+ end>
+ MasterMappingMode = mmDataRequest
+ StreamingOptions = [soDisableEventsWhileStreaming]
+ RemoteDataAdapter = rda_PresupuestosCliente
+ DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
+ MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
+ LogicalName = 'PedidoCliente_ArticulosPendientesPedirAProv'
+ IndexDefs = <>
+ Left = 440
+ Top = 192
+ end
+ object ds_PresupuestoCliente_ArticulosPendientesPedirAProv: TDADataSource
+ DataSet = tbl_PresupuestoCliente_ArticulosPendientesPedirAProv.Dataset
+ DataTable = tbl_PresupuestoCliente_ArticulosPendientesPedirAProv
+ Left = 440
+ Top = 256
+ end
+ object Bin2DataStreamer: TDABin2DataStreamer
+ Left = 40
+ Top = 108
+ end
+ object rda_PresupuestosCliente: TDARemoteDataAdapter
+ GetSchemaCall.RemoteService = RORemoteService
+ GetDataCall.RemoteService = RORemoteService
+ UpdateDataCall.RemoteService = RORemoteService
+ GetScriptsCall.RemoteService = RORemoteService
+ RemoteService = RORemoteService
+ DataStreamer = Bin2DataStreamer
+ Left = 43
+ Top = 175
+ end
+end
diff --git a/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.pas b/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.pas
new file mode 100644
index 00000000..bebf02f9
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.pas
@@ -0,0 +1,199 @@
+unit uDataModulePresupuestosCliente;
+
+interface
+
+uses
+ DB, Classes, SysUtils, uDADesigntimeCall, uROServiceComponent,
+ uRORemoteService, uROClient, uROBinMessage, uDAScriptingProvider,
+ uDACDSDataTable, uROWinInetHttpChannel, uDADataTable, uDABINAdapter,
+
+ uDAClientDataModule, uROTypes,
+ uIDataModulePresupuestosCliente, uBizPresupuestosCliente, uBizDetallesPresupuestoCliente,
+ uIDataModulePresupuestosClienteReport, uDataModuleBase, uDAInterfaces,
+ uRODynamicRequest, uDADataStreamer, uDARemoteDataAdapter, uDABin2DataStreamer;
+
+type
+ TDataModulePresupuestosCliente = class(TDataModuleBase, IDataModulePresupuestosCliente, IDataModulePresupuestosClienteReport)
+ RORemoteService: TRORemoteService;
+ tbl_PresupuestosCliente: TDACDSDataTable;
+ ds_PedidosCliente: TDADataSource;
+ tbl_PresupuestosCliente_Detalles: TDACDSDataTable;
+ ds_PedidosCliente_Detalles: TDADataSource;
+ tbl_PresupuestoCliente_Articulos_Pendientes: TDACDSDataTable;
+ ds_PresupuestoCliente_Articulos_Pendientes: TDADataSource;
+ tbl_PresupuestoCliente_ArticulosPendientesPedirAProv: TDACDSDataTable;
+ ds_PresupuestoCliente_ArticulosPendientesPedirAProv: TDADataSource;
+ Bin2DataStreamer: TDABin2DataStreamer;
+ rda_PresupuestosCliente: TDARemoteDataAdapter;
+ procedure DAClientDataModuleCreate(Sender: TObject);
+
+ private
+ function _CloneDataTable (const ADataTable : TDACDSDataTable): TDACDSDataTable; overload;
+ function _GetDetalles : IBizDetallesPresupuestoCliente;
+
+ protected
+ procedure AsignarClaseNegocio(var APedido: TDACDSDataTable); virtual;
+
+ public
+ function GetArticulosPendientesPedirAProv(const IDPedido: Integer): IBizPresupuestoClienteArticulosPendientesPedirAProv;
+ function GetArticulosPendientes(const IDPedido: Integer): IBizPresupuestoClienteArticulosPend;
+ function GetItems : IBizPresupuestoCliente; virtual;
+ function GetItem(const ID : Integer) : IBizPresupuestoCliente;
+ function GetNextID(const DataSetName : String) : Integer;
+ function NewItem : IBizPresupuestoCliente;
+
+ // Report
+ function GetReport(const AID: String): Binary;
+ end;
+
+implementation
+
+{$R *.DFM}
+
+uses
+ cxControls, FactuGES_Intf, uDataModuleConexion,
+ uDataTableUtils, schPedidosClienteClient_Intf, uBizContactos;
+
+{ TdmPedidosCliente }
+
+procedure TDataModulePresupuestosCliente.AsignarClaseNegocio(var APedido: TDACDSDataTable);
+begin
+ APedido.BusinessRulesID := BIZ_CLIENT_PEDIDO_CLIENTE;
+end;
+
+procedure TDataModulePresupuestosCliente.DAClientDataModuleCreate(Sender: TObject);
+begin
+ RORemoteService.Channel := dmConexion.Channel;
+ RORemoteService.Message := dmConexion.Message;
+end;
+
+function TDataModulePresupuestosCliente.GetNextID(const DataSetName: String): Integer;
+var
+ aGeneratorName : String;
+begin
+{
+ if DataSetName = nme_PedidosCliente then
+ aGeneratorName := 'GEN_PEDIDOS_CLI_ID';
+
+ if DataSetName = nme_PedidosCliente_Detalles then
+ aGeneratorName := 'GEN_PEDIDOS_CLI_DETALLES_ID';
+}
+// Result := (RORemoteService as IsrvPresupuestosCliente).GetNextAutoInc(aGeneratorName)
+end;
+
+function TDataModulePresupuestosCliente.GetReport(const AID: String): Binary;
+begin
+ Result := (RORemoteService as IsrvPresupuestosCliente).GenerateReport(AID)
+end;
+
+function TDataModulePresupuestosCliente.NewItem: IBizPresupuestoCliente;
+begin
+ Result := GetItem(ID_NULO)
+end;
+
+function TDataModulePresupuestosCliente._CloneDataTable(const ADataTable : TDACDSDataTable): TDACDSDataTable;
+begin
+ Result := NIL;
+
+ if not Assigned(ADataTable) then
+ raise Exception.Create ('No se ha asignado la tabla de origen (CloneDataTable)');
+
+ Result := TDACDSDataTable.Create(NIL);
+ CloneDataTable(ADataTable, Result);
+end;
+
+function TDataModulePresupuestosCliente._GetDetalles: IBizDetallesPresupuestoCliente;
+var
+ ADetalles : TDACDSDataTable;
+begin
+ ShowHourglassCursor;
+ try
+ ADetalles := _CloneDataTable(tbl_PresupuestosCliente_Detalles);
+ with ADetalles do
+ begin
+ BusinessRulesID := BIZ_CLIENT_DETALLES_PEDIDO_CLIENTE;
+ DetailOptions := DetailOptions -
+ [dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates];
+ end;
+ Result := (ADetalles as IBizDetallesPresupuestoCliente);
+ finally
+ HideHourglassCursor;
+ end;
+end;
+
+function TDataModulePresupuestosCliente.GetArticulosPendientes(
+ const IDPedido: Integer): IBizPresupuestoClienteArticulosPend;
+var
+ AArticulos : TDACDSDataTable;
+begin
+ ShowHourglassCursor;
+ try
+ AArticulos := _CloneDataTable(tbl_PresupuestoCliente_Articulos_Pendientes);
+ AArticulos.BusinessRulesID := BIZ_CLIENT_ARTICULOS_PEND_PEDIDO_CLIENTE;
+ AArticulos.ParamByName('ID_PEDIDO').AsInteger := IDPedido;
+ Result := (AArticulos as IBizPresupuestoClienteArticulosPend);
+ finally
+ HideHourglassCursor;
+ end;
+end;
+
+function TDataModulePresupuestosCliente.GetArticulosPendientesPedirAProv(
+ const IDPedido: Integer): IBizPresupuestoClienteArticulosPendientesPedirAProv;
+var
+ AArticulos : TDACDSDataTable;
+begin
+ ShowHourglassCursor;
+ try
+ AArticulos := _CloneDataTable(tbl_PresupuestoCliente_ArticulosPendientesPedirAProv);
+ AArticulos.BusinessRulesID := BIZ_CLIENT_PEDIDO_CLIENTE_ARTICULOS_PENDIENTES_PEDIR_A_PROV;
+ AArticulos.ParamByName('ID_PEDIDO').AsInteger := IDPedido;
+ Result := (AArticulos as IBizPresupuestoClienteArticulosPendientesPedirAProv);
+ finally
+ HideHourglassCursor;
+ end;
+end;
+
+function TDataModulePresupuestosCliente.GetItem(const ID: Integer): IBizPresupuestoCliente;
+begin
+ ShowHourglassCursor;
+ try
+ Result := Self.GetItems;
+ with Result.DataTable.Where do
+ begin
+ if NotEmpty then
+ AddOperator(opAND);
+ OpenBraket;
+ AddText(fld_PedidosClienteID + ' = ' + IntToStr(ID));
+ CloseBraket;
+ end;
+ finally
+ HideHourglassCursor;
+ end;
+end;
+
+function TDataModulePresupuestosCliente.GetItems: IBizPresupuestoCliente;
+var
+ APedido : TDACDSDataTable;
+begin
+ ShowHourglassCursor;
+ try
+ APedido := _CloneDataTable(tbl_PresupuestosCliente);
+
+ // EL CAMPO REFERENCIA Y SITUACIÓN TIENEN QUE SER AUTOREFRESH!!!!!
+ APedido.FieldByName(fld_PedidosClienteREFERENCIA).ServerAutoRefresh := TRUE;
+ APedido.FieldByName(fld_PedidosClienteSITUACION).ServerAutoRefresh := TRUE;
+
+ AsignarClaseNegocio(APedido);
+
+ with TBizPresupuestoCliente(APedido.BusinessEventsObj) do
+ begin
+ Detalles := _GetDetalles;
+ end;
+
+ Result := (APedido as IBizPresupuestoCliente);
+ finally
+ HideHourglassCursor;
+ end;
+end;
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Model/Data/uIDataModulePresupuestosCliente.pas b/Source/Modulos/Presupuestos de cliente/Model/Data/uIDataModulePresupuestosCliente.pas
new file mode 100644
index 00000000..0af25371
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Model/Data/uIDataModulePresupuestosCliente.pas
@@ -0,0 +1,21 @@
+unit uIDataModulePresupuestosCliente;
+
+interface
+
+uses
+ uBizPresupuestosCliente, uBizDetallesPresupuestoCliente;
+
+type
+ IDataModulePresupuestosCliente = interface
+ ['{F0DDD126-9E62-4FEC-A849-FDCA75718F5B}']
+ function GetItems: IBizPresupuestoCliente;
+ function GetItem(const ID : Integer) : IBizPresupuestoCliente;
+ function GetNextID(const DataSetName : String) : Integer;
+ function NewItem : IBizPresupuestoCliente;
+ function GetArticulosPendientes(const IDPedido: Integer): IBizPresupuestoClienteArticulosPend;
+ function GetArticulosPendientesPedirAProv(const IDPedido: Integer): IBizPresupuestoClienteArticulosPendientesPedirAProv;
+ end;
+
+implementation
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Model/Data/uIDataModulePresupuestosClienteReport.pas b/Source/Modulos/Presupuestos de cliente/Model/Data/uIDataModulePresupuestosClienteReport.pas
new file mode 100644
index 00000000..be44e84f
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Model/Data/uIDataModulePresupuestosClienteReport.pas
@@ -0,0 +1,16 @@
+unit uIDataModulePresupuestosClienteReport;
+
+interface
+
+uses
+ uROTypes;
+
+type
+ IDataModulePresupuestosClienteReport = interface
+ ['{70CEBB06-376F-4363-B80F-DDA4324E0F85}']
+ function GetReport(const AID: String): Binary;
+ end;
+
+implementation
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Model/ModelSupport_PresupuestosCliente_model/PedidosCliente_model.prjconfig b/Source/Modulos/Presupuestos de cliente/Model/ModelSupport_PresupuestosCliente_model/PedidosCliente_model.prjconfig
new file mode 100644
index 00000000..c8f28340
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Model/ModelSupport_PresupuestosCliente_model/PedidosCliente_model.prjconfig
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/Source/Modulos/Presupuestos de cliente/Model/ModelSupport_PresupuestosCliente_model/PedidosProveedor_model.prjconfig b/Source/Modulos/Presupuestos de cliente/Model/ModelSupport_PresupuestosCliente_model/PedidosProveedor_model.prjconfig
new file mode 100644
index 00000000..c8f28340
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Model/ModelSupport_PresupuestosCliente_model/PedidosProveedor_model.prjconfig
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/Source/Modulos/Presupuestos de cliente/Model/ModelSupport_PresupuestosCliente_model/default.txaPackage b/Source/Modulos/Presupuestos de cliente/Model/ModelSupport_PresupuestosCliente_model/default.txaPackage
new file mode 100644
index 00000000..34cb595f
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Model/ModelSupport_PresupuestosCliente_model/default.txaPackage
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/Source/Modulos/Presupuestos de cliente/Model/ModelSupport_PresupuestosCliente_model/default.txvpck b/Source/Modulos/Presupuestos de cliente/Model/ModelSupport_PresupuestosCliente_model/default.txvpck
new file mode 100644
index 00000000..586e3754
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Model/ModelSupport_PresupuestosCliente_model/default.txvpck
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Source/Modulos/Presupuestos de cliente/Model/ModelSupport_PresupuestosCliente_model/default_diagram.tvsconfig b/Source/Modulos/Presupuestos de cliente/Model/ModelSupport_PresupuestosCliente_model/default_diagram.tvsconfig
new file mode 100644
index 00000000..c8f28340
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Model/ModelSupport_PresupuestosCliente_model/default_diagram.tvsconfig
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/Source/Modulos/Presupuestos de cliente/Model/PresupuestosCliente_model.dpk b/Source/Modulos/Presupuestos de cliente/Model/PresupuestosCliente_model.dpk
new file mode 100644
index 00000000..6893344f
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Model/PresupuestosCliente_model.dpk
@@ -0,0 +1,39 @@
+package PresupuestosCliente_model;
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$IMPLICITBUILD ON}
+
+requires
+ Base,
+ Contactos_model;
+
+contains
+ uIDataModulePresupuestosCliente in 'Data\uIDataModulePresupuestosCliente.pas',
+ uBizDetallesPresupuestoCliente in 'uBizDetallesPresupuestoCliente.pas',
+ uBizPresupuestosCliente in 'uBizPresupuestosCliente.pas',
+ uIDataModulePresupuestosClienteReport in 'Data\uIDataModulePresupuestosClienteReport.pas',
+ schPedidosClienteClient_Intf in 'schPedidosClienteClient_Intf.pas',
+ schPedidosClienteServer_Intf in 'schPedidosClienteServer_Intf.pas';
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Model/PresupuestosCliente_model.dproj b/Source/Modulos/Presupuestos de cliente/Model/PresupuestosCliente_model.dproj
new file mode 100644
index 00000000..cbfecff2
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Model/PresupuestosCliente_model.dproj
@@ -0,0 +1,549 @@
+
+
+
+ {a7225a8d-f40d-4878-9a27-c5de0e7cb638}
+ PresupuestosCliente_model.dpk
+ Debug
+ AnyCPU
+ DCC32
+ ..\..\..\..\Output\Debug\Cliente\PresupuestosCliente_model.bpl
+
+
+ 7.0
+ False
+ False
+ 0
+ 3
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ RELEASE
+
+
+ 7.0
+ 3
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+
+
+ Delphi.Personality
+ Package
+
+FalseTrueFalseTrueFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0
+
+
+ RemObjects Pascal Script - RemObjects SDK 3.0 Integration
+ EurekaLog 5.1.9
+ PresupuestosCliente_model.dpk
+
+
+
+
+ MainSource
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Modulos/Presupuestos de cliente/Model/PresupuestosCliente_model.drc b/Source/Modulos/Presupuestos de cliente/Model/PresupuestosCliente_model.drc
new file mode 100644
index 00000000..7d8c79d5
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Model/PresupuestosCliente_model.drc
@@ -0,0 +1,16 @@
+/* VER185
+ Generated by the CodeGear Delphi Pascal Compiler
+ because -GD or --drc was supplied to the compiler.
+
+ This file contains compiler-generated resources that
+ were bound to the executable.
+ If this file is empty, then no compiler-generated
+ resources were bound to the produced executable.
+*/
+
+STRINGTABLE
+BEGIN
+END
+
+/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Model\PresupuestosCliente_model.res */
+/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Model\PresupuestosCliente_model.drf */
diff --git a/Source/Modulos/Presupuestos de cliente/Model/PresupuestosCliente_model.res b/Source/Modulos/Presupuestos de cliente/Model/PresupuestosCliente_model.res
new file mode 100644
index 00000000..86c94e6a
Binary files /dev/null and b/Source/Modulos/Presupuestos de cliente/Model/PresupuestosCliente_model.res differ
diff --git a/Source/Modulos/Presupuestos de cliente/Model/PresupuestosCliente_model_project.tvsconfig b/Source/Modulos/Presupuestos de cliente/Model/PresupuestosCliente_model_project.tvsconfig
new file mode 100644
index 00000000..c8f28340
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Model/PresupuestosCliente_model_project.tvsconfig
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/Source/Modulos/Presupuestos de cliente/Model/schPedidosCliente.daConnections b/Source/Modulos/Presupuestos de cliente/Model/schPedidosCliente.daConnections
new file mode 100644
index 00000000..6b58eeff
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Model/schPedidosCliente.daConnections
@@ -0,0 +1 @@
+IBX?Server=LOCALHOST;Database=E:\Codigo\BD\FACTUGES.FDB;UserID=sysdba;Password=masterkey;Dialect=3;Charset=ISO8859_1;TrueIBX010pbWaitTrue6001
diff --git a/Source/Modulos/Presupuestos de cliente/Model/schPedidosCliente.daSchema b/Source/Modulos/Presupuestos de cliente/Model/schPedidosCliente.daSchema
new file mode 100644
index 00000000..7ea17eb2
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Model/schPedidosCliente.daSchema
@@ -0,0 +1,70 @@
+Insert_PedidosClientedabtUnknowndatStringUSUARIOdaptInput20dabtUnknowndatMemoOBSERVACIONESdaptInput0dabtUnknowndatStringREFERENCIAdaptInput255dabtUnknowndatIntegerIDdaptInput0dabtUnknowndatIntegerID_EMPRESAdaptInput0dabtUnknowndatStringSITUACIONdaptInput255dabtUnknowndatDateTimeFECHA_ALTAdaptInput0dabtUnknowndatDateTimeFECHA_MODIFICACIONdaptInput0dabtUnknowndatDateTimeFECHA_PEDIDOdaptInput0dabtUnknowndatDateTimeFECHA_CONFIRMACIONdaptInput0dabtUnknowndatDateTimeFECHA_ENTREGAdaptInput0dabtUnknowndatMemoINCIDENCIASdaptInput0dabtUnknowndatFloatIMPORTE_TOTALdaptInput0dabtUnknowndatIntegerINCIDENCIAS_ACTIVASdaptInput0dabtUnknowndatIntegerID_CLIENTEdaptInput0dabtUnknowndatStringCALLEdaptInput255dabtUnknowndatStringCODIGO_POSTALdaptInput10dabtUnknowndatStringPOBLACIONdaptInput255dabtUnknowndatStringPROVINCIAdaptInput255dabtUnknowndatStringPERSONA_CONTACTOdaptInput255dabtUnknowndatStringTELEFONOdaptInput25IBXINSERT
+ INTO PEDIDOS_CLIENTE
+ (USUARIO, OBSERVACIONES, REFERENCIA, ID, ID_EMPRESA,
+ SITUACION, FECHA_ALTA, FECHA_MODIFICACION, FECHA_PEDIDO,
+ FECHA_CONFIRMACION, FECHA_ENTREGA, INCIDENCIAS, IMPORTE_TOTAL,
+ INCIDENCIAS_ACTIVAS, ID_CLIENTE, CALLE, CODIGO_POSTAL,
+ POBLACION, PROVINCIA, PERSONA_CONTACTO, TELEFONO)
+ VALUES
+ (:USUARIO, :OBSERVACIONES, :REFERENCIA, :ID,
+ :ID_EMPRESA, :SITUACION, :FECHA_ALTA, :FECHA_MODIFICACION,
+ :FECHA_PEDIDO, :FECHA_CONFIRMACION, :FECHA_ENTREGA,
+ :INCIDENCIAS, :IMPORTE_TOTAL, :INCIDENCIAS_ACTIVAS,
+ :ID_CLIENTE, :CALLE, :CODIGO_POSTAL, :POBLACION, :PROVINCIA,
+ :PERSONA_CONTACTO, :TELEFONO)stSQLPEDIDOS_CLIENTEDelete_PedidosClientedabtUnknowndatIntegerOLD_IDdaptInput0IBXDELETE
+ FROM
+ PEDIDOS_CLIENTE
+ WHERE
+ (ID = :OLD_ID)stSQLPEDIDOS_CLIENTEUpdate_PedidosClientedabtUnknowndatStringUSUARIOdaptInput20dabtUnknowndatMemoOBSERVACIONESdaptInput0dabtUnknowndatStringREFERENCIAdaptInput255dabtUnknowndatIntegerIDdaptInput0dabtUnknowndatIntegerID_EMPRESAdaptInput0dabtUnknowndatStringSITUACIONdaptInput255dabtUnknowndatDateTimeFECHA_ALTAdaptInput0dabtUnknowndatDateTimeFECHA_MODIFICACIONdaptInput0dabtUnknowndatDateTimeFECHA_PEDIDOdaptInput0dabtUnknowndatDateTimeFECHA_CONFIRMACIONdaptInput0dabtUnknowndatDateTimeFECHA_ENTREGAdaptInput0dabtUnknowndatMemoINCIDENCIASdaptInput0dabtUnknowndatFloatIMPORTE_TOTALdaptInput0dabtUnknowndatIntegerINCIDENCIAS_ACTIVASdaptInput0dabtUnknowndatIntegerID_CLIENTEdaptInput0dabtUnknowndatStringCALLEdaptInput255dabtUnknowndatStringCODIGO_POSTALdaptInput10dabtUnknowndatStringPOBLACIONdaptInput255dabtUnknowndatStringPROVINCIAdaptInput255dabtUnknowndatStringPERSONA_CONTACTOdaptInput255dabtUnknowndatStringTELEFONOdaptInput25dabtUnknowndatIntegerOLD_IDdaptInput0IBXUPDATE PEDIDOS_CLIENTE
+ SET
+ USUARIO = :USUARIO,
+ OBSERVACIONES = :OBSERVACIONES,
+ REFERENCIA = :REFERENCIA,
+ ID = :ID,
+ ID_EMPRESA = :ID_EMPRESA,
+ SITUACION = :SITUACION,
+ FECHA_ALTA = :FECHA_ALTA,
+ FECHA_MODIFICACION = :FECHA_MODIFICACION,
+ FECHA_PEDIDO = :FECHA_PEDIDO,
+ FECHA_CONFIRMACION = :FECHA_CONFIRMACION,
+ FECHA_ENTREGA = :FECHA_ENTREGA,
+ INCIDENCIAS = :INCIDENCIAS,
+ IMPORTE_TOTAL = :IMPORTE_TOTAL,
+ INCIDENCIAS_ACTIVAS = :INCIDENCIAS_ACTIVAS,
+ ID_CLIENTE = :ID_CLIENTE,
+ CALLE = :CALLE,
+ CODIGO_POSTAL = :CODIGO_POSTAL,
+ POBLACION = :POBLACION,
+ PROVINCIA = :PROVINCIA,
+ PERSONA_CONTACTO = :PERSONA_CONTACTO,
+ TELEFONO = :TELEFONO
+ WHERE
+ (ID = :OLD_ID)stSQLPEDIDOS_CLIENTETrueTruerslPascalScriptrslPascalScripttaLeftJustifydabtUnknownFalsedatIntegerPedidosCliente_IDID0TrueTrueFalseFalseIDFalseTrueFalse0TruetaLeftJustifydabtUnknownFalsedatIntegerPedidosCliente_ID_EMPRESAID_EMPRESA0FalseTrueFalseFalseID_EMPRESAFalseFalseFalse0TruetaLeftJustifydabtUnknownFalsedatIntegerPedidosCliente_ID_CLIENTEID_CLIENTE0FalseTrueFalseFalseID_CLIENTEFalseFalseFalse0TruetaLeftJustifydabtUnknownFalsedatStringUSUARIOUSUARIO0FalseTrueFalseFalseUSUARIOFalseFalseFalse100TruetaLeftJustifydabtUnknownFalsedatDateTimePedidosCliente_FECHA_PEDIDOFECHA_PEDIDO0FalseTrueFalseFalseFECHA_PEDIDOFalseFalseFalse0TruetaLeftJustifydabtUnknownFalsedatDateTimePedidosCliente_FECHA_CONFIRMACIONFECHA_CONFIRMACION0FalseTrueFalseFalseFECHA_CONFIRMACIONFalseFalseFalse0TruetaLeftJustifydabtUnknownFalsedatDateTimePedidosCliente_FECHA_ENTREGAFECHA_ENTREGA0FalseTrueFalseFalseFECHA_ENTREGAFalseFalseFalse0TruetaLeftJustifydabtUnknownFalsedatStringPedidosCliente_SITUACIONSITUACION0FalseTrueFalseFalseSITUACIONFalseFalseFalse255TruetaLeftJustifydabtUnknownFalsedatStringPedidosCliente_CALLECALLE0FalseTrueFalseFalseCALLEFalseFalseFalse255TruetaLeftJustifydabtUnknownFalsedatStringPedidosCliente_CODIGO_POSTALCODIGO_POSTAL0FalseTrueFalseFalseCODIGO_POSTALFalseFalseFalse10TruetaLeftJustifydabtUnknownFalsedatStringPedidosCliente_POBLACIONPOBLACION0FalseTrueFalseFalsePOBLACIONFalseFalseFalse255TruetaLeftJustifydabtUnknownFalsedatStringPedidosCliente_PROVINCIAPROVINCIA0FalseTrueFalseFalsePROVINCIAFalseFalseFalse255TruetaLeftJustifydabtUnknownFalsedatStringPedidosCliente_PERSONA_CONTACTOPERSONA_CONTACTO0FalseTrueFalseFalsePERSONA_CONTACTOFalseFalseFalse255TruetaLeftJustifydabtUnknownFalsedatStringPedidosCliente_TELEFONOTELEFONO0FalseTrueFalseFalseTELEFONOFalseFalseFalse25TruetaLeftJustifydabtUnknownFalsedatStringPedidosCliente_Detalles_REFERENCIAREFERENCIA0FalseTrueFalseFalseREFERENCIAFalseFalseFalse255TruetaLeftJustifydabtUnknownFalsedatFloatPedidosCliente_IMPORTE_TOTALIMPORTE_TOTAL0FalseTrueFalseFalseIMPORTE_TOTALFalseFalseFalse0TruetaLeftJustifydabtUnknownFalsedatMemoPedidosCliente_INCIDENCIASINCIDENCIAS0FalseTrueFalseFalseINCIDENCIASFalseFalseFalse0TruetaLeftJustifydabtUnknownFalsedatIntegerPedidosCliente_INCIDENCIAS_ACTIVASINCIDENCIAS_ACTIVAS0FalseTrueFalseFalseINCIDENCIAS_ACTIVASFalseFalseFalse0TruetaLeftJustifydabtUnknownFalsedatMemoOBSERVACIONESOBSERVACIONES0FalseTrueFalseFalseOBSERVACIONESFalseFalseFalse0TruetaLeftJustifydabtUnknownFalsedatStringNOMBRENOMBRE0FalseTrueFalseFalseNOMBREFalseFalseFalse100TruetaLeftJustifydabtUnknownFalsedatDateTimePedidosCliente_FECHA_ALTAFECHA_ALTA0FalseTrueFalseFalseFECHA_ALTAFalseFalseFalse0TruetaLeftJustifydabtUnknownFalsedatDateTimePedidosCliente_FECHA_MODIFICACIONFECHA_MODIFICACION0FalseTrueFalseFalseFECHA_MODIFICACIONFalseFalseFalse0TruePedidosClienteIDIDIDID_EMPRESAID_EMPRESAID_EMPRESAID_CLIENTEID_CLIENTEID_CLIENTEUSUARIOUSUARIOUSUARIOFECHA_PEDIDOFECHA_PEDIDOFECHA_PEDIDOFECHA_CONFIRMACIONFECHA_CONFIRMACIONFECHA_CONFIRMACIONFECHA_ENTREGAFECHA_ENTREGAFECHA_ENTREGASITUACIONSITUACIONSITUACIONCALLECALLECALLECODIGO_POSTALCODIGO_POSTALCODIGO_POSTALPOBLACIONPOBLACIONPOBLACIONPROVINCIAPROVINCIAPROVINCIAPERSONA_CONTACTOPERSONA_CONTACTOPERSONA_CONTACTOTELEFONOTELEFONOTELEFONOREFERENCIAREFERENCIAREFERENCIAIMPORTE_TOTALIMPORTE_TOTALIMPORTE_TOTALINCIDENCIASINCIDENCIASINCIDENCIASINCIDENCIAS_ACTIVASINCIDENCIAS_ACTIVASINCIDENCIAS_ACTIVASOBSERVACIONESOBSERVACIONESOBSERVACIONESNOMBRENOMBRENOMBREFECHA_ALTAFECHA_ALTAFECHA_ALTAFECHA_MODIFICACIONFECHA_MODIFICACIONFECHA_MODIFICACIONIBXSELECT
+ PEDIDOS_CLIENTE.ID, PEDIDOS_CLIENTE.ID_EMPRESA, PEDIDOS_CLIENTE.ID_CLIENTE,
+ PEDIDOS_CLIENTE.REFERENCIA, PEDIDOS_CLIENTE.FECHA_PEDIDO, PEDIDOS_CLIENTE.FECHA_CONFIRMACION,
+ PEDIDOS_CLIENTE.FECHA_ENTREGA, PEDIDOS_CLIENTE.SITUACION, PEDIDOS_CLIENTE.CALLE,
+ PEDIDOS_CLIENTE.CODIGO_POSTAL, PEDIDOS_CLIENTE.POBLACION, PEDIDOS_CLIENTE.PROVINCIA,
+ PEDIDOS_CLIENTE.PERSONA_CONTACTO, PEDIDOS_CLIENTE.TELEFONO, PEDIDOS_CLIENTE.OBSERVACIONES,
+ PEDIDOS_CLIENTE.IMPORTE_TOTAL, PEDIDOS_CLIENTE.INCIDENCIAS, PEDIDOS_CLIENTE.INCIDENCIAS_ACTIVAS,
+ PEDIDOS_CLIENTE.FECHA_ALTA, PEDIDOS_CLIENTE.FECHA_MODIFICACION, PEDIDOS_CLIENTE.USUARIO,
+ CONTACTOS.NOMBRE
+
+FROM PEDIDOS_CLIENTE
+LEFT JOIN CONTACTOS ON PEDIDOS_CLIENTE.ID_CLIENTE = CONTACTOS.IDstSQLPEDIDOS_CLIENTETrueTruerslPascalScriptrslPascalScripttaLeftJustifydabtUnknownFalsedatIntegerPedidosCliente_Detalles_IDID0TrueTrueFalseFalseIDFalseTrueFalse0TruetaLeftJustifydabtUnknownFalsedatIntegerPedidosCliente_Detalles_ID_PEDIDOID_PEDIDO0FalseTrueFalseFalseID_PEDIDOFalseFalseFalse0TruetaLeftJustifydabtUnknownFalsedatIntegerPOSICIONCONCEPTOPOSICION0FalseTrueFalseFalsePOSICIONFalseFalseFalse0TruetaLeftJustifydabtUnknownFalsedatStringPedidosCliente_Detalles_TIPO_DETALLETIPO_DETALLE0FalseTrueFalseFalseTIPO_DETALLEFalseFalseFalse10TruetaLeftJustifydabtUnknownFalsedatStringPedidosCliente_Detalles_REFERENCIAREFERENCIA0FalseTrueFalseFalseREFERENCIAFalseFalseFalse255TruetaLeftJustifydabtUnknownFalsedatIntegerPedidosCliente_Detalles_ID_ARTICULOID_ARTICULO0FalseTrueFalseFalseID_ARTICULOFalseFalseFalse0TruetaLeftJustifydabtUnknownFalsedatStringPedidosCliente_Detalles_CONCEPTOCONCEPTO0FalseTrueFalseFalseCONCEPTOFalseFalseFalse2000TruetaLeftJustifydabtUnknownFalsedatIntegerCANTIDADCANTIDAD0FalseTrueFalseFalseCANTIDADFalseFalseFalse0TruetaLeftJustifydabtUnknownFalsedatFloatPedidosCliente_Detalles_IMPORTE_UNIDADIMPORTE_UNIDAD0FalseTrueFalseFalseIMPORTE_UNIDADFalseFalseFalse0TruetaLeftJustifydabtUnknownFalsedatFloatPedidosCliente_Detalles_IMPORTE_TOTALIMPORTE_TOTAL0FalseTrueFalseFalseIMPORTE_TOTALFalseFalseFalse0TruetaLeftJustifydabtUnknownFalsedatIntegerPedidosCliente_Detalles_VISIBLEVISIBLE0FalseTrueFalseFalseVISIBLEFalseFalseFalse0TruePedidosCliente_DetallesdabtUnknowndatIntegerID_PEDIDOdaptInput0CANTIDADCANTIDADCANTIDADPOSICIONPOSICIONPOSICIONIDIDIDTIPO_DETALLETIPO_DETALLETIPO_DETALLECONCEPTOCONCEPTOCONCEPTOIMPORTE_UNIDADIMPORTE_UNIDADIMPORTE_UNIDADIMPORTE_TOTALIMPORTE_TOTALIMPORTE_TOTALVISIBLEVISIBLEVISIBLEID_PEDIDOID_PEDIDOID_PEDIDOREFERENCIAREFERENCIAREFERENCIAID_ARTICULOID_ARTICULOID_ARTICULOIBXSELECT
+ ID, ID_PEDIDO, POSICION, TIPO_DETALLE, REFERENCIA, ID_ARTICULO, CONCEPTO,
+ CANTIDAD, IMPORTE_UNIDAD, IMPORTE_TOTAL, VISIBLE
+FROM PEDIDOS_CLIENTE_DETALLES
+WHERE ID_PEDIDO = :ID_PEDIDO
+ORDER BY POSICION;stSQLPEDIDOS_CLIENTE_DETALLESTrueTruerslPascalScriptrslPascalScripttaLeftJustifydabtUnknownFalsedatIntegerID0TrueTrueFalseFalseIDFalseTrueFalse0TruetaLeftJustifydabtUnknownFalsedatIntegerID_EMPRESA0FalseTrueFalseFalseID_EMPRESAFalseFalseFalse0TruetaLeftJustifydabtUnknownFalsedatIntegerID_CLIENTE0FalseTrueFalseFalseID_CLIENTEFalseFalseFalse0TruetaLeftJustifydabtUnknownFalsedatStringUSUARIOUSUARIO0FalseTrueFalseFalseUSUARIOFalseFalseFalse100TruetaLeftJustifydabtUnknownFalsedatDateTimeFECHA_PEDIDO0FalseTrueFalseFalseFECHA_PEDIDOFalseFalseFalse0TruetaLeftJustifydabtUnknownFalsedatDateTimeFECHA_CONFIRMACION0FalseTrueFalseFalseFECHA_CONFIRMACIONFalseFalseFalse0TruetaLeftJustifydabtUnknownFalsedatDateTimeFECHA_ENTREGA0FalseTrueFalseFalseFECHA_ENTREGAFalseFalseFalse0TruetaLeftJustifydabtUnknownFalsedatStringSITUACION0FalseTrueFalseFalseSITUACIONFalseFalseFalse255TruetaLeftJustifydabtUnknownFalsedatStringCALLE0FalseTrueFalseFalseCALLEFalseFalseFalse255TruetaLeftJustifydabtUnknownFalsedatStringCODIGO_POSTAL0FalseTrueFalseFalseCODIGO_POSTALFalseFalseFalse10TruetaLeftJustifydabtUnknownFalsedatStringPOBLACION0FalseTrueFalseFalsePOBLACIONFalseFalseFalse255TruetaLeftJustifydabtUnknownFalsedatStringPROVINCIA0FalseTrueFalseFalsePROVINCIAFalseFalseFalse255TruetaLeftJustifydabtUnknownFalsedatStringPERSONA_CONTACTO0FalseTrueFalseFalsePERSONA_CONTACTOFalseFalseFalse255TruetaLeftJustifydabtUnknownFalsedatStringTELEFONO0FalseTrueFalseFalseTELEFONOFalseFalseFalse25TruetaLeftJustifydabtUnknownFalsedatStringPedidosCliente_Detalles_REFERENCIAREFERENCIA0FalseTrueFalseFalseREFERENCIAFalseFalseFalse255TruetaLeftJustifydabtUnknownFalsedatFloatIMPORTE_TOTAL0FalseTrueFalseFalseIMPORTE_TOTALFalseFalseFalse0TruetaLeftJustifydabtUnknownFalsedatMemoINCIDENCIAS0FalseTrueFalseFalseINCIDENCIASFalseFalseFalse0TruetaLeftJustifydabtUnknownFalsedatIntegerINCIDENCIAS_ACTIVAS0FalseTrueFalseFalseINCIDENCIAS_ACTIVASFalseFalseFalse0TruetaLeftJustifydabtUnknownFalsedatMemoOBSERVACIONESOBSERVACIONES0FalseTrueFalseFalseOBSERVACIONESFalseFalseFalse0TruetaLeftJustifydabtUnknownFalsedatStringNOMBRENOMBRE0FalseTrueFalseFalseNOMBREFalseFalseFalse100TruetaLeftJustifydabtUnknownFalsedatDateTimeFECHA_ALTA0FalseTrueFalseFalseFECHA_ALTAFalseFalseFalse0TruetaLeftJustifydabtUnknownFalsedatDateTimeFECHA_MODIFICACION0FalseTrueFalseFalseFECHA_MODIFICACIONFalseFalseFalse0TruePedidosCliente_Refresh41dabtUnknowndatIntegerIDdaptInput041USUARIOUSUARIOUSUARIOOBSERVACIONESOBSERVACIONESOBSERVACIONESNOMBRENOMBRENOMBREREFERENCIAREFERENCIAREFERENCIAIDIDIDID_EMPRESAID_EMPRESAID_EMPRESASITUACIONSITUACIONSITUACIONFECHA_ALTAFECHA_ALTAFECHA_ALTAFECHA_MODIFICACIONFECHA_MODIFICACIONFECHA_MODIFICACIONFECHA_PEDIDOFECHA_PEDIDOFECHA_PEDIDOFECHA_CONFIRMACIONFECHA_CONFIRMACIONFECHA_CONFIRMACIONFECHA_ENTREGAFECHA_ENTREGAFECHA_ENTREGAINCIDENCIASINCIDENCIASINCIDENCIASIMPORTE_TOTALIMPORTE_TOTALIMPORTE_TOTALINCIDENCIAS_ACTIVASINCIDENCIAS_ACTIVASINCIDENCIAS_ACTIVASID_CLIENTEID_CLIENTEID_CLIENTECALLECALLECALLECODIGO_POSTALCODIGO_POSTALCODIGO_POSTALPOBLACIONPOBLACIONPOBLACIONPROVINCIAPROVINCIAPROVINCIAPERSONA_CONTACTOPERSONA_CONTACTOPERSONA_CONTACTOTELEFONOTELEFONOTELEFONOIBXSELECT
+ PEDIDOS_CLIENTE.ID, PEDIDOS_CLIENTE.ID_EMPRESA, PEDIDOS_CLIENTE.ID_CLIENTE,
+ PEDIDOS_CLIENTE.REFERENCIA, PEDIDOS_CLIENTE.FECHA_PEDIDO, PEDIDOS_CLIENTE.FECHA_CONFIRMACION,
+ PEDIDOS_CLIENTE.FECHA_ENTREGA, PEDIDOS_CLIENTE.SITUACION, PEDIDOS_CLIENTE.CALLE,
+ PEDIDOS_CLIENTE.CODIGO_POSTAL, PEDIDOS_CLIENTE.POBLACION, PEDIDOS_CLIENTE.PROVINCIA,
+ PEDIDOS_CLIENTE.PERSONA_CONTACTO, PEDIDOS_CLIENTE.TELEFONO, PEDIDOS_CLIENTE.OBSERVACIONES,
+ PEDIDOS_CLIENTE.IMPORTE_TOTAL, PEDIDOS_CLIENTE.INCIDENCIAS, PEDIDOS_CLIENTE.INCIDENCIAS_ACTIVAS,
+ PEDIDOS_CLIENTE.FECHA_ALTA, PEDIDOS_CLIENTE.FECHA_MODIFICACION, PEDIDOS_CLIENTE.USUARIO,
+ CONTACTOS.NOMBRE
+
+FROM PEDIDOS_CLIENTE
+LEFT JOIN CONTACTOS ON PEDIDOS_CLIENTE.ID_CLIENTE = CONTACTOS.ID
+WHERE PEDIDOS_CLIENTE.ID = :IDstSQLPEDIDOS_CLIENTE0FacturasClienteFalseTrueFalsefbRaiseExceptionInsert FacturasClienteFacturasClienteFalseFalseTruefbRaiseExceptionUpdate FacturasClienteDetallesFacturasClienteTrueFalseFalsefbRaiseExceptionDelete DetallesFacturasClienteDetallesFacturasClienteFalseTrueFalsefbRaiseExceptionInsert DetallesFacturasClienteDetallesFacturasClienteFalseFalseTruefbRaiseExceptionUpdate DetallesFacturasClienteFacturasClienteTrueFalseFalsefbRaiseExceptionDelete FacturasCliente
diff --git a/Source/Modulos/Presupuestos de cliente/Model/schPedidosClienteClient_Intf.pas b/Source/Modulos/Presupuestos de cliente/Model/schPedidosClienteClient_Intf.pas
new file mode 100644
index 00000000..eb585287
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Model/schPedidosClienteClient_Intf.pas
@@ -0,0 +1,3875 @@
+unit schPedidosClienteClient_Intf;
+
+interface
+
+uses
+ Classes, DB, schBase_Intf, SysUtils, uROClasses, uDADataTable, FmtBCD, uROXMLIntf;
+
+const
+ { Data table rules ids
+ Feel free to change them to something more human readable
+ but make sure they are unique in the context of your application }
+ RID_PedidoCliente_ArticulosPendientesPedirAProv = '{12249033-3C61-413E-B53B-C4B8783D4C67}';
+ RID_DarReferencia = '{8085C724-CD94-49BB-BCC0-3987A885FC59}';
+ RID_PedidosCliente = '{6537017A-6C73-4A19-BBEA-5E2D6053BCFD}';
+ RID_PedidosCliente_Detalles = '{A20F8E0F-6971-40EC-BDE9-5D2EFBFB74E4}';
+ RID_PedidosCliente_Refresh = '{12BAA824-6FE4-4A01-A199-BCDBFC28BBF5}';
+ RID_PedidosCliente_Detalles_Refresh = '{7E1FB748-E7C1-47A7-86D7-B3F42EA58391}';
+ RID_PedidoCliente_Articulos_Pendientes = '{DEF11911-2DB8-4AE6-87CF-6757D8F0B036}';
+
+ { Data table names }
+ nme_PedidoCliente_ArticulosPendientesPedirAProv = 'PedidoCliente_ArticulosPendientesPedirAProv';
+ nme_DarReferencia = 'DarReferencia';
+ nme_PedidosCliente = 'PedidosCliente';
+ nme_PedidosCliente_Detalles = 'PedidosCliente_Detalles';
+ nme_PedidosCliente_Refresh = 'PedidosCliente_Refresh';
+ nme_PedidosCliente_Detalles_Refresh = 'PedidosCliente_Detalles_Refresh';
+ nme_PedidoCliente_Articulos_Pendientes = 'PedidoCliente_Articulos_Pendientes';
+
+ { PedidoCliente_ArticulosPendientesPedirAProv fields }
+ fld_PedidoCliente_ArticulosPendientesPedirAProvID_PEDIDO = 'ID_PEDIDO';
+ fld_PedidoCliente_ArticulosPendientesPedirAProvID_ARTICULO = 'ID_ARTICULO';
+ fld_PedidoCliente_ArticulosPendientesPedirAProvCANT_PEDIDA_CLIENTE = 'CANT_PEDIDA_CLIENTE';
+ fld_PedidoCliente_ArticulosPendientesPedirAProvID_PROVEEDOR = 'ID_PROVEEDOR';
+ fld_PedidoCliente_ArticulosPendientesPedirAProvCANT_PEDIDA_PROVEEDOR = 'CANT_PEDIDA_PROVEEDOR';
+ fld_PedidoCliente_ArticulosPendientesPedirAProvCANT_PENDIENTE_PEDIR = 'CANT_PENDIENTE_PEDIR';
+
+ { PedidoCliente_ArticulosPendientesPedirAProv field indexes }
+ idx_PedidoCliente_ArticulosPendientesPedirAProvID_PEDIDO = 0;
+ idx_PedidoCliente_ArticulosPendientesPedirAProvID_ARTICULO = 1;
+ idx_PedidoCliente_ArticulosPendientesPedirAProvCANT_PEDIDA_CLIENTE = 2;
+ idx_PedidoCliente_ArticulosPendientesPedirAProvID_PROVEEDOR = 3;
+ idx_PedidoCliente_ArticulosPendientesPedirAProvCANT_PEDIDA_PROVEEDOR = 4;
+ idx_PedidoCliente_ArticulosPendientesPedirAProvCANT_PENDIENTE_PEDIR = 5;
+
+ { DarReferencia fields }
+ fld_DarReferenciaVALOR = 'VALOR';
+
+ { DarReferencia field indexes }
+ idx_DarReferenciaVALOR = 0;
+
+ { PedidosCliente fields }
+ fld_PedidosClienteID = 'ID';
+ fld_PedidosClienteID_EMPRESA = 'ID_EMPRESA';
+ fld_PedidosClienteID_CLIENTE = 'ID_CLIENTE';
+ fld_PedidosClienteNOMBRE = 'NOMBRE';
+ fld_PedidosClienteREFERENCIA = 'REFERENCIA';
+ fld_PedidosClienteREFERENCIA_CLIENTE = 'REFERENCIA_CLIENTE';
+ fld_PedidosClienteSITUACION = 'SITUACION';
+ fld_PedidosClienteFECHA_PEDIDO = 'FECHA_PEDIDO';
+ fld_PedidosClienteCALLE = 'CALLE';
+ fld_PedidosClienteCODIGO_POSTAL = 'CODIGO_POSTAL';
+ fld_PedidosClientePOBLACION = 'POBLACION';
+ fld_PedidosClientePROVINCIA = 'PROVINCIA';
+ fld_PedidosClientePERSONA_CONTACTO = 'PERSONA_CONTACTO';
+ fld_PedidosClienteTELEFONO = 'TELEFONO';
+ fld_PedidosClienteOBSERVACIONES = 'OBSERVACIONES';
+ fld_PedidosClienteINCIDENCIAS = 'INCIDENCIAS';
+ fld_PedidosClienteINCIDENCIAS_ACTIVAS = 'INCIDENCIAS_ACTIVAS';
+ fld_PedidosClienteFECHA_ALTA = 'FECHA_ALTA';
+ fld_PedidosClienteFECHA_MODIFICACION = 'FECHA_MODIFICACION';
+ fld_PedidosClienteUSUARIO = 'USUARIO';
+ fld_PedidosClienteIMPORTE_NETO = 'IMPORTE_NETO';
+ fld_PedidosClienteIMPORTE_PORTE = 'IMPORTE_PORTE';
+ fld_PedidosClienteDESCUENTO = 'DESCUENTO';
+ fld_PedidosClienteIMPORTE_DESCUENTO = 'IMPORTE_DESCUENTO';
+ fld_PedidosClienteBASE_IMPONIBLE = 'BASE_IMPONIBLE';
+ fld_PedidosClienteIVA = 'IVA';
+ fld_PedidosClienteIMPORTE_IVA = 'IMPORTE_IVA';
+ fld_PedidosClienteIMPORTE_TOTAL = 'IMPORTE_TOTAL';
+ fld_PedidosClienteID_FORMA_PAGO = 'ID_FORMA_PAGO';
+ fld_PedidosClienteREF_TIENDA_WEB = 'REF_TIENDA_WEB';
+ fld_PedidosClienteFECHA_PREVISTA_ENVIO = 'FECHA_PREVISTA_ENVIO';
+
+ { PedidosCliente field indexes }
+ idx_PedidosClienteID = 0;
+ idx_PedidosClienteID_EMPRESA = 1;
+ idx_PedidosClienteID_CLIENTE = 2;
+ idx_PedidosClienteNOMBRE = 3;
+ idx_PedidosClienteREFERENCIA = 4;
+ idx_PedidosClienteREFERENCIA_CLIENTE = 5;
+ idx_PedidosClienteSITUACION = 6;
+ idx_PedidosClienteFECHA_PEDIDO = 7;
+ idx_PedidosClienteCALLE = 8;
+ idx_PedidosClienteCODIGO_POSTAL = 9;
+ idx_PedidosClientePOBLACION = 10;
+ idx_PedidosClientePROVINCIA = 11;
+ idx_PedidosClientePERSONA_CONTACTO = 12;
+ idx_PedidosClienteTELEFONO = 13;
+ idx_PedidosClienteOBSERVACIONES = 14;
+ idx_PedidosClienteINCIDENCIAS = 15;
+ idx_PedidosClienteINCIDENCIAS_ACTIVAS = 16;
+ idx_PedidosClienteFECHA_ALTA = 17;
+ idx_PedidosClienteFECHA_MODIFICACION = 18;
+ idx_PedidosClienteUSUARIO = 19;
+ idx_PedidosClienteIMPORTE_NETO = 20;
+ idx_PedidosClienteIMPORTE_PORTE = 21;
+ idx_PedidosClienteDESCUENTO = 22;
+ idx_PedidosClienteIMPORTE_DESCUENTO = 23;
+ idx_PedidosClienteBASE_IMPONIBLE = 24;
+ idx_PedidosClienteIVA = 25;
+ idx_PedidosClienteIMPORTE_IVA = 26;
+ idx_PedidosClienteIMPORTE_TOTAL = 27;
+ idx_PedidosClienteID_FORMA_PAGO = 28;
+ idx_PedidosClienteREF_TIENDA_WEB = 29;
+ idx_PedidosClienteFECHA_PREVISTA_ENVIO = 30;
+
+ { PedidosCliente_Detalles fields }
+ fld_PedidosCliente_DetallesID = 'ID';
+ fld_PedidosCliente_DetallesID_PEDIDO = 'ID_PEDIDO';
+ fld_PedidosCliente_DetallesPOSICION = 'POSICION';
+ fld_PedidosCliente_DetallesTIPO_DETALLE = 'TIPO_DETALLE';
+ fld_PedidosCliente_DetallesREFERENCIA = 'REFERENCIA';
+ fld_PedidosCliente_DetallesID_ARTICULO = 'ID_ARTICULO';
+ fld_PedidosCliente_DetallesCONCEPTO = 'CONCEPTO';
+ fld_PedidosCliente_DetallesCANTIDAD = 'CANTIDAD';
+ fld_PedidosCliente_DetallesIMPORTE_UNIDAD = 'IMPORTE_UNIDAD';
+ fld_PedidosCliente_DetallesIMPORTE_TOTAL = 'IMPORTE_TOTAL';
+ fld_PedidosCliente_DetallesDESCUENTO = 'DESCUENTO';
+ fld_PedidosCliente_DetallesIMPORTE_PORTE = 'IMPORTE_PORTE';
+ fld_PedidosCliente_DetallesVISIBLE = 'VISIBLE';
+ fld_PedidosCliente_DetallesREFERENCIA_PROVEEDOR = 'REFERENCIA_PROVEEDOR';
+
+ { PedidosCliente_Detalles field indexes }
+ idx_PedidosCliente_DetallesID = 0;
+ idx_PedidosCliente_DetallesID_PEDIDO = 1;
+ idx_PedidosCliente_DetallesPOSICION = 2;
+ idx_PedidosCliente_DetallesTIPO_DETALLE = 3;
+ idx_PedidosCliente_DetallesREFERENCIA = 4;
+ idx_PedidosCliente_DetallesID_ARTICULO = 5;
+ idx_PedidosCliente_DetallesCONCEPTO = 6;
+ idx_PedidosCliente_DetallesCANTIDAD = 7;
+ idx_PedidosCliente_DetallesIMPORTE_UNIDAD = 8;
+ idx_PedidosCliente_DetallesIMPORTE_TOTAL = 9;
+ idx_PedidosCliente_DetallesDESCUENTO = 10;
+ idx_PedidosCliente_DetallesIMPORTE_PORTE = 11;
+ idx_PedidosCliente_DetallesVISIBLE = 12;
+ idx_PedidosCliente_DetallesREFERENCIA_PROVEEDOR = 13;
+
+ { PedidosCliente_Refresh fields }
+ fld_PedidosCliente_RefreshID = 'ID';
+ fld_PedidosCliente_RefreshID_EMPRESA = 'ID_EMPRESA';
+ fld_PedidosCliente_RefreshID_CLIENTE = 'ID_CLIENTE';
+ fld_PedidosCliente_RefreshNOMBRE = 'NOMBRE';
+ fld_PedidosCliente_RefreshREFERENCIA = 'REFERENCIA';
+ fld_PedidosCliente_RefreshREFERENCIA_CLIENTE = 'REFERENCIA_CLIENTE';
+ fld_PedidosCliente_RefreshSITUACION = 'SITUACION';
+ fld_PedidosCliente_RefreshFECHA_PEDIDO = 'FECHA_PEDIDO';
+ fld_PedidosCliente_RefreshCALLE = 'CALLE';
+ fld_PedidosCliente_RefreshCODIGO_POSTAL = 'CODIGO_POSTAL';
+ fld_PedidosCliente_RefreshPOBLACION = 'POBLACION';
+ fld_PedidosCliente_RefreshPROVINCIA = 'PROVINCIA';
+ fld_PedidosCliente_RefreshPERSONA_CONTACTO = 'PERSONA_CONTACTO';
+ fld_PedidosCliente_RefreshTELEFONO = 'TELEFONO';
+ fld_PedidosCliente_RefreshOBSERVACIONES = 'OBSERVACIONES';
+ fld_PedidosCliente_RefreshINCIDENCIAS = 'INCIDENCIAS';
+ fld_PedidosCliente_RefreshINCIDENCIAS_ACTIVAS = 'INCIDENCIAS_ACTIVAS';
+ fld_PedidosCliente_RefreshFECHA_ALTA = 'FECHA_ALTA';
+ fld_PedidosCliente_RefreshFECHA_MODIFICACION = 'FECHA_MODIFICACION';
+ fld_PedidosCliente_RefreshUSUARIO = 'USUARIO';
+ fld_PedidosCliente_RefreshIMPORTE_NETO = 'IMPORTE_NETO';
+ fld_PedidosCliente_RefreshIMPORTE_PORTE = 'IMPORTE_PORTE';
+ fld_PedidosCliente_RefreshDESCUENTO = 'DESCUENTO';
+ fld_PedidosCliente_RefreshIMPORTE_DESCUENTO = 'IMPORTE_DESCUENTO';
+ fld_PedidosCliente_RefreshBASE_IMPONIBLE = 'BASE_IMPONIBLE';
+ fld_PedidosCliente_RefreshIVA = 'IVA';
+ fld_PedidosCliente_RefreshIMPORTE_IVA = 'IMPORTE_IVA';
+ fld_PedidosCliente_RefreshIMPORTE_TOTAL = 'IMPORTE_TOTAL';
+ fld_PedidosCliente_RefreshID_FORMA_PAGO = 'ID_FORMA_PAGO';
+ fld_PedidosCliente_RefreshREF_TIENDA_WEB = 'REF_TIENDA_WEB';
+ fld_PedidosCliente_RefreshFECHA_PREVISTA_ENVIO = 'FECHA_PREVISTA_ENVIO';
+
+ { PedidosCliente_Refresh field indexes }
+ idx_PedidosCliente_RefreshID = 0;
+ idx_PedidosCliente_RefreshID_EMPRESA = 1;
+ idx_PedidosCliente_RefreshID_CLIENTE = 2;
+ idx_PedidosCliente_RefreshNOMBRE = 3;
+ idx_PedidosCliente_RefreshREFERENCIA = 4;
+ idx_PedidosCliente_RefreshREFERENCIA_CLIENTE = 5;
+ idx_PedidosCliente_RefreshSITUACION = 6;
+ idx_PedidosCliente_RefreshFECHA_PEDIDO = 7;
+ idx_PedidosCliente_RefreshCALLE = 8;
+ idx_PedidosCliente_RefreshCODIGO_POSTAL = 9;
+ idx_PedidosCliente_RefreshPOBLACION = 10;
+ idx_PedidosCliente_RefreshPROVINCIA = 11;
+ idx_PedidosCliente_RefreshPERSONA_CONTACTO = 12;
+ idx_PedidosCliente_RefreshTELEFONO = 13;
+ idx_PedidosCliente_RefreshOBSERVACIONES = 14;
+ idx_PedidosCliente_RefreshINCIDENCIAS = 15;
+ idx_PedidosCliente_RefreshINCIDENCIAS_ACTIVAS = 16;
+ idx_PedidosCliente_RefreshFECHA_ALTA = 17;
+ idx_PedidosCliente_RefreshFECHA_MODIFICACION = 18;
+ idx_PedidosCliente_RefreshUSUARIO = 19;
+ idx_PedidosCliente_RefreshIMPORTE_NETO = 20;
+ idx_PedidosCliente_RefreshIMPORTE_PORTE = 21;
+ idx_PedidosCliente_RefreshDESCUENTO = 22;
+ idx_PedidosCliente_RefreshIMPORTE_DESCUENTO = 23;
+ idx_PedidosCliente_RefreshBASE_IMPONIBLE = 24;
+ idx_PedidosCliente_RefreshIVA = 25;
+ idx_PedidosCliente_RefreshIMPORTE_IVA = 26;
+ idx_PedidosCliente_RefreshIMPORTE_TOTAL = 27;
+ idx_PedidosCliente_RefreshID_FORMA_PAGO = 28;
+ idx_PedidosCliente_RefreshREF_TIENDA_WEB = 29;
+ idx_PedidosCliente_RefreshFECHA_PREVISTA_ENVIO = 30;
+
+ { PedidosCliente_Detalles_Refresh fields }
+ fld_PedidosCliente_Detalles_RefreshID = 'ID';
+ fld_PedidosCliente_Detalles_RefreshID_PEDIDO = 'ID_PEDIDO';
+ fld_PedidosCliente_Detalles_RefreshPOSICION = 'POSICION';
+ fld_PedidosCliente_Detalles_RefreshTIPO_DETALLE = 'TIPO_DETALLE';
+ fld_PedidosCliente_Detalles_RefreshREFERENCIA = 'REFERENCIA';
+ fld_PedidosCliente_Detalles_RefreshID_ARTICULO = 'ID_ARTICULO';
+ fld_PedidosCliente_Detalles_RefreshCONCEPTO = 'CONCEPTO';
+ fld_PedidosCliente_Detalles_RefreshCANTIDAD = 'CANTIDAD';
+ fld_PedidosCliente_Detalles_RefreshIMPORTE_UNIDAD = 'IMPORTE_UNIDAD';
+ fld_PedidosCliente_Detalles_RefreshIMPORTE_TOTAL = 'IMPORTE_TOTAL';
+ fld_PedidosCliente_Detalles_RefreshDESCUENTO = 'DESCUENTO';
+ fld_PedidosCliente_Detalles_RefreshIMPORTE_PORTE = 'IMPORTE_PORTE';
+ fld_PedidosCliente_Detalles_RefreshVISIBLE = 'VISIBLE';
+ fld_PedidosCliente_Detalles_RefreshREFERENCIA_PROVEEDOR = 'REFERENCIA_PROVEEDOR';
+
+ { PedidosCliente_Detalles_Refresh field indexes }
+ idx_PedidosCliente_Detalles_RefreshID = 0;
+ idx_PedidosCliente_Detalles_RefreshID_PEDIDO = 1;
+ idx_PedidosCliente_Detalles_RefreshPOSICION = 2;
+ idx_PedidosCliente_Detalles_RefreshTIPO_DETALLE = 3;
+ idx_PedidosCliente_Detalles_RefreshREFERENCIA = 4;
+ idx_PedidosCliente_Detalles_RefreshID_ARTICULO = 5;
+ idx_PedidosCliente_Detalles_RefreshCONCEPTO = 6;
+ idx_PedidosCliente_Detalles_RefreshCANTIDAD = 7;
+ idx_PedidosCliente_Detalles_RefreshIMPORTE_UNIDAD = 8;
+ idx_PedidosCliente_Detalles_RefreshIMPORTE_TOTAL = 9;
+ idx_PedidosCliente_Detalles_RefreshDESCUENTO = 10;
+ idx_PedidosCliente_Detalles_RefreshIMPORTE_PORTE = 11;
+ idx_PedidosCliente_Detalles_RefreshVISIBLE = 12;
+ idx_PedidosCliente_Detalles_RefreshREFERENCIA_PROVEEDOR = 13;
+
+ { PedidoCliente_Articulos_Pendientes fields }
+ fld_PedidoCliente_Articulos_PendientesID_ARTICULO = 'ID_ARTICULO';
+ fld_PedidoCliente_Articulos_PendientesCANTIDAD_PED = 'CANTIDAD_PED';
+ fld_PedidoCliente_Articulos_PendientesCANTIDAD_ALB = 'CANTIDAD_ALB';
+ fld_PedidoCliente_Articulos_PendientesCANTIDAD_PENDIENTE = 'CANTIDAD_PENDIENTE';
+
+ { PedidoCliente_Articulos_Pendientes field indexes }
+ idx_PedidoCliente_Articulos_PendientesID_ARTICULO = 0;
+ idx_PedidoCliente_Articulos_PendientesCANTIDAD_PED = 1;
+ idx_PedidoCliente_Articulos_PendientesCANTIDAD_ALB = 2;
+ idx_PedidoCliente_Articulos_PendientesCANTIDAD_PENDIENTE = 3;
+
+type
+ { IPedidoCliente_ArticulosPendientesPedirAProv }
+ IPedidoCliente_ArticulosPendientesPedirAProv = interface(IDAStronglyTypedDataTable)
+ ['{064BDEF0-26EC-4877-A5F4-64B215751C76}']
+ { Property getters and setters }
+ function GetID_PEDIDOValue: Integer;
+ procedure SetID_PEDIDOValue(const aValue: Integer);
+ function GetID_PEDIDOIsNull: Boolean;
+ procedure SetID_PEDIDOIsNull(const aValue: Boolean);
+ function GetID_ARTICULOValue: Integer;
+ procedure SetID_ARTICULOValue(const aValue: Integer);
+ function GetID_ARTICULOIsNull: Boolean;
+ procedure SetID_ARTICULOIsNull(const aValue: Boolean);
+ function GetCANT_PEDIDA_CLIENTEValue: Integer;
+ procedure SetCANT_PEDIDA_CLIENTEValue(const aValue: Integer);
+ function GetCANT_PEDIDA_CLIENTEIsNull: Boolean;
+ procedure SetCANT_PEDIDA_CLIENTEIsNull(const aValue: Boolean);
+ function GetID_PROVEEDORValue: Integer;
+ procedure SetID_PROVEEDORValue(const aValue: Integer);
+ function GetID_PROVEEDORIsNull: Boolean;
+ procedure SetID_PROVEEDORIsNull(const aValue: Boolean);
+ function GetCANT_PEDIDA_PROVEEDORValue: Integer;
+ procedure SetCANT_PEDIDA_PROVEEDORValue(const aValue: Integer);
+ function GetCANT_PEDIDA_PROVEEDORIsNull: Boolean;
+ procedure SetCANT_PEDIDA_PROVEEDORIsNull(const aValue: Boolean);
+ function GetCANT_PENDIENTE_PEDIRValue: Integer;
+ procedure SetCANT_PENDIENTE_PEDIRValue(const aValue: Integer);
+ function GetCANT_PENDIENTE_PEDIRIsNull: Boolean;
+ procedure SetCANT_PENDIENTE_PEDIRIsNull(const aValue: Boolean);
+
+
+ { Properties }
+ property ID_PEDIDO: Integer read GetID_PEDIDOValue write SetID_PEDIDOValue;
+ property ID_PEDIDOIsNull: Boolean read GetID_PEDIDOIsNull write SetID_PEDIDOIsNull;
+ property ID_ARTICULO: Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
+ property ID_ARTICULOIsNull: Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull;
+ property CANT_PEDIDA_CLIENTE: Integer read GetCANT_PEDIDA_CLIENTEValue write SetCANT_PEDIDA_CLIENTEValue;
+ property CANT_PEDIDA_CLIENTEIsNull: Boolean read GetCANT_PEDIDA_CLIENTEIsNull write SetCANT_PEDIDA_CLIENTEIsNull;
+ property ID_PROVEEDOR: Integer read GetID_PROVEEDORValue write SetID_PROVEEDORValue;
+ property ID_PROVEEDORIsNull: Boolean read GetID_PROVEEDORIsNull write SetID_PROVEEDORIsNull;
+ property CANT_PEDIDA_PROVEEDOR: Integer read GetCANT_PEDIDA_PROVEEDORValue write SetCANT_PEDIDA_PROVEEDORValue;
+ property CANT_PEDIDA_PROVEEDORIsNull: Boolean read GetCANT_PEDIDA_PROVEEDORIsNull write SetCANT_PEDIDA_PROVEEDORIsNull;
+ property CANT_PENDIENTE_PEDIR: Integer read GetCANT_PENDIENTE_PEDIRValue write SetCANT_PENDIENTE_PEDIRValue;
+ property CANT_PENDIENTE_PEDIRIsNull: Boolean read GetCANT_PENDIENTE_PEDIRIsNull write SetCANT_PENDIENTE_PEDIRIsNull;
+ end;
+
+ { TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules }
+ TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules = class(TIntfObjectDADataTableRules, IPedidoCliente_ArticulosPendientesPedirAProv)
+ private
+ protected
+ { Property getters and setters }
+ function GetID_PEDIDOValue: Integer; virtual;
+ procedure SetID_PEDIDOValue(const aValue: Integer); virtual;
+ function GetID_PEDIDOIsNull: Boolean; virtual;
+ procedure SetID_PEDIDOIsNull(const aValue: Boolean); virtual;
+ function GetID_ARTICULOValue: Integer; virtual;
+ procedure SetID_ARTICULOValue(const aValue: Integer); virtual;
+ function GetID_ARTICULOIsNull: Boolean; virtual;
+ procedure SetID_ARTICULOIsNull(const aValue: Boolean); virtual;
+ function GetCANT_PEDIDA_CLIENTEValue: Integer; virtual;
+ procedure SetCANT_PEDIDA_CLIENTEValue(const aValue: Integer); virtual;
+ function GetCANT_PEDIDA_CLIENTEIsNull: Boolean; virtual;
+ procedure SetCANT_PEDIDA_CLIENTEIsNull(const aValue: Boolean); virtual;
+ function GetID_PROVEEDORValue: Integer; virtual;
+ procedure SetID_PROVEEDORValue(const aValue: Integer); virtual;
+ function GetID_PROVEEDORIsNull: Boolean; virtual;
+ procedure SetID_PROVEEDORIsNull(const aValue: Boolean); virtual;
+ function GetCANT_PEDIDA_PROVEEDORValue: Integer; virtual;
+ procedure SetCANT_PEDIDA_PROVEEDORValue(const aValue: Integer); virtual;
+ function GetCANT_PEDIDA_PROVEEDORIsNull: Boolean; virtual;
+ procedure SetCANT_PEDIDA_PROVEEDORIsNull(const aValue: Boolean); virtual;
+ function GetCANT_PENDIENTE_PEDIRValue: Integer; virtual;
+ procedure SetCANT_PENDIENTE_PEDIRValue(const aValue: Integer); virtual;
+ function GetCANT_PENDIENTE_PEDIRIsNull: Boolean; virtual;
+ procedure SetCANT_PENDIENTE_PEDIRIsNull(const aValue: Boolean); virtual;
+
+ { Properties }
+ property ID_PEDIDO: Integer read GetID_PEDIDOValue write SetID_PEDIDOValue;
+ property ID_PEDIDOIsNull: Boolean read GetID_PEDIDOIsNull write SetID_PEDIDOIsNull;
+ property ID_ARTICULO: Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
+ property ID_ARTICULOIsNull: Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull;
+ property CANT_PEDIDA_CLIENTE: Integer read GetCANT_PEDIDA_CLIENTEValue write SetCANT_PEDIDA_CLIENTEValue;
+ property CANT_PEDIDA_CLIENTEIsNull: Boolean read GetCANT_PEDIDA_CLIENTEIsNull write SetCANT_PEDIDA_CLIENTEIsNull;
+ property ID_PROVEEDOR: Integer read GetID_PROVEEDORValue write SetID_PROVEEDORValue;
+ property ID_PROVEEDORIsNull: Boolean read GetID_PROVEEDORIsNull write SetID_PROVEEDORIsNull;
+ property CANT_PEDIDA_PROVEEDOR: Integer read GetCANT_PEDIDA_PROVEEDORValue write SetCANT_PEDIDA_PROVEEDORValue;
+ property CANT_PEDIDA_PROVEEDORIsNull: Boolean read GetCANT_PEDIDA_PROVEEDORIsNull write SetCANT_PEDIDA_PROVEEDORIsNull;
+ property CANT_PENDIENTE_PEDIR: Integer read GetCANT_PENDIENTE_PEDIRValue write SetCANT_PENDIENTE_PEDIRValue;
+ property CANT_PENDIENTE_PEDIRIsNull: Boolean read GetCANT_PENDIENTE_PEDIRIsNull write SetCANT_PENDIENTE_PEDIRIsNull;
+
+ public
+ constructor Create(aDataTable: TDADataTable); override;
+ destructor Destroy; override;
+
+ end;
+
+ { IDarReferencia }
+ IDarReferencia = interface(IDAStronglyTypedDataTable)
+ ['{36B069E3-E657-4F84-9705-E7FA237ADCFE}']
+ { Property getters and setters }
+ function GetVALORValue: String;
+ procedure SetVALORValue(const aValue: String);
+ function GetVALORIsNull: Boolean;
+ procedure SetVALORIsNull(const aValue: Boolean);
+
+
+ { Properties }
+ property VALOR: String read GetVALORValue write SetVALORValue;
+ property VALORIsNull: Boolean read GetVALORIsNull write SetVALORIsNull;
+ end;
+
+ { TDarReferenciaDataTableRules }
+ TDarReferenciaDataTableRules = class(TIntfObjectDADataTableRules, IDarReferencia)
+ private
+ protected
+ { Property getters and setters }
+ function GetVALORValue: String; virtual;
+ procedure SetVALORValue(const aValue: String); virtual;
+ function GetVALORIsNull: Boolean; virtual;
+ procedure SetVALORIsNull(const aValue: Boolean); virtual;
+
+ { Properties }
+ property VALOR: String read GetVALORValue write SetVALORValue;
+ property VALORIsNull: Boolean read GetVALORIsNull write SetVALORIsNull;
+
+ public
+ constructor Create(aDataTable: TDADataTable); override;
+ destructor Destroy; override;
+
+ end;
+
+ { IPedidosCliente }
+ IPedidosCliente = interface(IDAStronglyTypedDataTable)
+ ['{660989E3-0DF3-487B-A693-E933E797131F}']
+ { Property getters and setters }
+ function GetIDValue: Integer;
+ procedure SetIDValue(const aValue: Integer);
+ function GetIDIsNull: Boolean;
+ procedure SetIDIsNull(const aValue: Boolean);
+ function GetID_EMPRESAValue: Integer;
+ procedure SetID_EMPRESAValue(const aValue: Integer);
+ function GetID_EMPRESAIsNull: Boolean;
+ procedure SetID_EMPRESAIsNull(const aValue: Boolean);
+ function GetID_CLIENTEValue: Integer;
+ procedure SetID_CLIENTEValue(const aValue: Integer);
+ function GetID_CLIENTEIsNull: Boolean;
+ procedure SetID_CLIENTEIsNull(const aValue: Boolean);
+ function GetNOMBREValue: String;
+ procedure SetNOMBREValue(const aValue: String);
+ function GetNOMBREIsNull: Boolean;
+ procedure SetNOMBREIsNull(const aValue: Boolean);
+ function GetREFERENCIAValue: String;
+ procedure SetREFERENCIAValue(const aValue: String);
+ function GetREFERENCIAIsNull: Boolean;
+ procedure SetREFERENCIAIsNull(const aValue: Boolean);
+ function GetREFERENCIA_CLIENTEValue: String;
+ procedure SetREFERENCIA_CLIENTEValue(const aValue: String);
+ function GetREFERENCIA_CLIENTEIsNull: Boolean;
+ procedure SetREFERENCIA_CLIENTEIsNull(const aValue: Boolean);
+ function GetSITUACIONValue: String;
+ procedure SetSITUACIONValue(const aValue: String);
+ function GetSITUACIONIsNull: Boolean;
+ procedure SetSITUACIONIsNull(const aValue: Boolean);
+ function GetFECHA_PEDIDOValue: DateTime;
+ procedure SetFECHA_PEDIDOValue(const aValue: DateTime);
+ function GetFECHA_PEDIDOIsNull: Boolean;
+ procedure SetFECHA_PEDIDOIsNull(const aValue: Boolean);
+ function GetCALLEValue: String;
+ procedure SetCALLEValue(const aValue: String);
+ function GetCALLEIsNull: Boolean;
+ procedure SetCALLEIsNull(const aValue: Boolean);
+ function GetCODIGO_POSTALValue: String;
+ procedure SetCODIGO_POSTALValue(const aValue: String);
+ function GetCODIGO_POSTALIsNull: Boolean;
+ procedure SetCODIGO_POSTALIsNull(const aValue: Boolean);
+ function GetPOBLACIONValue: String;
+ procedure SetPOBLACIONValue(const aValue: String);
+ function GetPOBLACIONIsNull: Boolean;
+ procedure SetPOBLACIONIsNull(const aValue: Boolean);
+ function GetPROVINCIAValue: String;
+ procedure SetPROVINCIAValue(const aValue: String);
+ function GetPROVINCIAIsNull: Boolean;
+ procedure SetPROVINCIAIsNull(const aValue: Boolean);
+ function GetPERSONA_CONTACTOValue: String;
+ procedure SetPERSONA_CONTACTOValue(const aValue: String);
+ function GetPERSONA_CONTACTOIsNull: Boolean;
+ procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean);
+ function GetTELEFONOValue: String;
+ procedure SetTELEFONOValue(const aValue: String);
+ function GetTELEFONOIsNull: Boolean;
+ procedure SetTELEFONOIsNull(const aValue: Boolean);
+ function GetOBSERVACIONESValue: IROStrings;
+ function GetOBSERVACIONESIsNull: Boolean;
+ procedure SetOBSERVACIONESIsNull(const aValue: Boolean);
+ function GetINCIDENCIASValue: IROStrings;
+ function GetINCIDENCIASIsNull: Boolean;
+ procedure SetINCIDENCIASIsNull(const aValue: Boolean);
+ function GetINCIDENCIAS_ACTIVASValue: Integer;
+ procedure SetINCIDENCIAS_ACTIVASValue(const aValue: Integer);
+ function GetINCIDENCIAS_ACTIVASIsNull: Boolean;
+ procedure SetINCIDENCIAS_ACTIVASIsNull(const aValue: Boolean);
+ function GetFECHA_ALTAValue: DateTime;
+ procedure SetFECHA_ALTAValue(const aValue: DateTime);
+ function GetFECHA_ALTAIsNull: Boolean;
+ procedure SetFECHA_ALTAIsNull(const aValue: Boolean);
+ function GetFECHA_MODIFICACIONValue: DateTime;
+ procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime);
+ function GetFECHA_MODIFICACIONIsNull: Boolean;
+ procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean);
+ function GetUSUARIOValue: String;
+ procedure SetUSUARIOValue(const aValue: String);
+ function GetUSUARIOIsNull: Boolean;
+ procedure SetUSUARIOIsNull(const aValue: Boolean);
+ function GetIMPORTE_NETOValue: Currency;
+ procedure SetIMPORTE_NETOValue(const aValue: Currency);
+ function GetIMPORTE_NETOIsNull: Boolean;
+ procedure SetIMPORTE_NETOIsNull(const aValue: Boolean);
+ function GetIMPORTE_PORTEValue: Currency;
+ procedure SetIMPORTE_PORTEValue(const aValue: Currency);
+ function GetIMPORTE_PORTEIsNull: Boolean;
+ procedure SetIMPORTE_PORTEIsNull(const aValue: Boolean);
+ function GetDESCUENTOValue: Float;
+ procedure SetDESCUENTOValue(const aValue: Float);
+ function GetDESCUENTOIsNull: Boolean;
+ procedure SetDESCUENTOIsNull(const aValue: Boolean);
+ function GetIMPORTE_DESCUENTOValue: Currency;
+ procedure SetIMPORTE_DESCUENTOValue(const aValue: Currency);
+ function GetIMPORTE_DESCUENTOIsNull: Boolean;
+ procedure SetIMPORTE_DESCUENTOIsNull(const aValue: Boolean);
+ function GetBASE_IMPONIBLEValue: Currency;
+ procedure SetBASE_IMPONIBLEValue(const aValue: Currency);
+ function GetBASE_IMPONIBLEIsNull: Boolean;
+ procedure SetBASE_IMPONIBLEIsNull(const aValue: Boolean);
+ function GetIVAValue: Float;
+ procedure SetIVAValue(const aValue: Float);
+ function GetIVAIsNull: Boolean;
+ procedure SetIVAIsNull(const aValue: Boolean);
+ function GetIMPORTE_IVAValue: Currency;
+ procedure SetIMPORTE_IVAValue(const aValue: Currency);
+ function GetIMPORTE_IVAIsNull: Boolean;
+ procedure SetIMPORTE_IVAIsNull(const aValue: Boolean);
+ function GetIMPORTE_TOTALValue: Currency;
+ procedure SetIMPORTE_TOTALValue(const aValue: Currency);
+ function GetIMPORTE_TOTALIsNull: Boolean;
+ procedure SetIMPORTE_TOTALIsNull(const aValue: Boolean);
+ function GetID_FORMA_PAGOValue: Integer;
+ procedure SetID_FORMA_PAGOValue(const aValue: Integer);
+ function GetID_FORMA_PAGOIsNull: Boolean;
+ procedure SetID_FORMA_PAGOIsNull(const aValue: Boolean);
+ function GetREF_TIENDA_WEBValue: Integer;
+ procedure SetREF_TIENDA_WEBValue(const aValue: Integer);
+ function GetREF_TIENDA_WEBIsNull: Boolean;
+ procedure SetREF_TIENDA_WEBIsNull(const aValue: Boolean);
+ function GetFECHA_PREVISTA_ENVIOValue: DateTime;
+ procedure SetFECHA_PREVISTA_ENVIOValue(const aValue: DateTime);
+ function GetFECHA_PREVISTA_ENVIOIsNull: Boolean;
+ procedure SetFECHA_PREVISTA_ENVIOIsNull(const aValue: Boolean);
+
+
+ { Properties }
+ property ID: Integer read GetIDValue write SetIDValue;
+ property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
+ property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
+ property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
+ property ID_CLIENTE: Integer read GetID_CLIENTEValue write SetID_CLIENTEValue;
+ property ID_CLIENTEIsNull: Boolean read GetID_CLIENTEIsNull write SetID_CLIENTEIsNull;
+ property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
+ property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
+ property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
+ property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
+ property REFERENCIA_CLIENTE: String read GetREFERENCIA_CLIENTEValue write SetREFERENCIA_CLIENTEValue;
+ property REFERENCIA_CLIENTEIsNull: Boolean read GetREFERENCIA_CLIENTEIsNull write SetREFERENCIA_CLIENTEIsNull;
+ property SITUACION: String read GetSITUACIONValue write SetSITUACIONValue;
+ property SITUACIONIsNull: Boolean read GetSITUACIONIsNull write SetSITUACIONIsNull;
+ property FECHA_PEDIDO: DateTime read GetFECHA_PEDIDOValue write SetFECHA_PEDIDOValue;
+ property FECHA_PEDIDOIsNull: Boolean read GetFECHA_PEDIDOIsNull write SetFECHA_PEDIDOIsNull;
+ property CALLE: String read GetCALLEValue write SetCALLEValue;
+ property CALLEIsNull: Boolean read GetCALLEIsNull write SetCALLEIsNull;
+ property CODIGO_POSTAL: String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue;
+ property CODIGO_POSTALIsNull: Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull;
+ property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue;
+ property POBLACIONIsNull: Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull;
+ property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue;
+ property PROVINCIAIsNull: Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull;
+ property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
+ property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;
+ property TELEFONO: String read GetTELEFONOValue write SetTELEFONOValue;
+ property TELEFONOIsNull: Boolean read GetTELEFONOIsNull write SetTELEFONOIsNull;
+ property OBSERVACIONES: IROStrings read GetOBSERVACIONESValue;
+ property OBSERVACIONESIsNull: Boolean read GetOBSERVACIONESIsNull write SetOBSERVACIONESIsNull;
+ property INCIDENCIAS: IROStrings read GetINCIDENCIASValue;
+ property INCIDENCIASIsNull: Boolean read GetINCIDENCIASIsNull write SetINCIDENCIASIsNull;
+ property INCIDENCIAS_ACTIVAS: Integer read GetINCIDENCIAS_ACTIVASValue write SetINCIDENCIAS_ACTIVASValue;
+ property INCIDENCIAS_ACTIVASIsNull: Boolean read GetINCIDENCIAS_ACTIVASIsNull write SetINCIDENCIAS_ACTIVASIsNull;
+ property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue;
+ property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull;
+ property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue;
+ property FECHA_MODIFICACIONIsNull: Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull;
+ property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue;
+ property USUARIOIsNull: Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull;
+ property IMPORTE_NETO: Currency read GetIMPORTE_NETOValue write SetIMPORTE_NETOValue;
+ property IMPORTE_NETOIsNull: Boolean read GetIMPORTE_NETOIsNull write SetIMPORTE_NETOIsNull;
+ property IMPORTE_PORTE: Currency read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue;
+ property IMPORTE_PORTEIsNull: Boolean read GetIMPORTE_PORTEIsNull write SetIMPORTE_PORTEIsNull;
+ property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
+ property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
+ property IMPORTE_DESCUENTO: Currency read GetIMPORTE_DESCUENTOValue write SetIMPORTE_DESCUENTOValue;
+ property IMPORTE_DESCUENTOIsNull: Boolean read GetIMPORTE_DESCUENTOIsNull write SetIMPORTE_DESCUENTOIsNull;
+ property BASE_IMPONIBLE: Currency read GetBASE_IMPONIBLEValue write SetBASE_IMPONIBLEValue;
+ property BASE_IMPONIBLEIsNull: Boolean read GetBASE_IMPONIBLEIsNull write SetBASE_IMPONIBLEIsNull;
+ property IVA: Float read GetIVAValue write SetIVAValue;
+ property IVAIsNull: Boolean read GetIVAIsNull write SetIVAIsNull;
+ property IMPORTE_IVA: Currency read GetIMPORTE_IVAValue write SetIMPORTE_IVAValue;
+ property IMPORTE_IVAIsNull: Boolean read GetIMPORTE_IVAIsNull write SetIMPORTE_IVAIsNull;
+ property IMPORTE_TOTAL: Currency read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue;
+ property IMPORTE_TOTALIsNull: Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
+ property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
+ property ID_FORMA_PAGOIsNull: Boolean read GetID_FORMA_PAGOIsNull write SetID_FORMA_PAGOIsNull;
+ property REF_TIENDA_WEB: Integer read GetREF_TIENDA_WEBValue write SetREF_TIENDA_WEBValue;
+ property REF_TIENDA_WEBIsNull: Boolean read GetREF_TIENDA_WEBIsNull write SetREF_TIENDA_WEBIsNull;
+ property FECHA_PREVISTA_ENVIO: DateTime read GetFECHA_PREVISTA_ENVIOValue write SetFECHA_PREVISTA_ENVIOValue;
+ property FECHA_PREVISTA_ENVIOIsNull: Boolean read GetFECHA_PREVISTA_ENVIOIsNull write SetFECHA_PREVISTA_ENVIOIsNull;
+ end;
+
+ { TPedidosClienteDataTableRules }
+ TPedidosClienteDataTableRules = class(TIntfObjectDADataTableRules, IPedidosCliente)
+ private
+ f_OBSERVACIONES: IROStrings;
+ f_INCIDENCIAS: IROStrings;
+ procedure OBSERVACIONES_OnChange(Sender: TObject);
+ procedure INCIDENCIAS_OnChange(Sender: TObject);
+ protected
+ { Property getters and setters }
+ function GetIDValue: Integer; virtual;
+ procedure SetIDValue(const aValue: Integer); virtual;
+ function GetIDIsNull: Boolean; virtual;
+ procedure SetIDIsNull(const aValue: Boolean); virtual;
+ function GetID_EMPRESAValue: Integer; virtual;
+ procedure SetID_EMPRESAValue(const aValue: Integer); virtual;
+ function GetID_EMPRESAIsNull: Boolean; virtual;
+ procedure SetID_EMPRESAIsNull(const aValue: Boolean); virtual;
+ function GetID_CLIENTEValue: Integer; virtual;
+ procedure SetID_CLIENTEValue(const aValue: Integer); virtual;
+ function GetID_CLIENTEIsNull: Boolean; virtual;
+ procedure SetID_CLIENTEIsNull(const aValue: Boolean); virtual;
+ function GetNOMBREValue: String; virtual;
+ procedure SetNOMBREValue(const aValue: String); virtual;
+ function GetNOMBREIsNull: Boolean; virtual;
+ procedure SetNOMBREIsNull(const aValue: Boolean); virtual;
+ function GetREFERENCIAValue: String; virtual;
+ procedure SetREFERENCIAValue(const aValue: String); virtual;
+ function GetREFERENCIAIsNull: Boolean; virtual;
+ procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
+ function GetREFERENCIA_CLIENTEValue: String; virtual;
+ procedure SetREFERENCIA_CLIENTEValue(const aValue: String); virtual;
+ function GetREFERENCIA_CLIENTEIsNull: Boolean; virtual;
+ procedure SetREFERENCIA_CLIENTEIsNull(const aValue: Boolean); virtual;
+ function GetSITUACIONValue: String; virtual;
+ procedure SetSITUACIONValue(const aValue: String); virtual;
+ function GetSITUACIONIsNull: Boolean; virtual;
+ procedure SetSITUACIONIsNull(const aValue: Boolean); virtual;
+ function GetFECHA_PEDIDOValue: DateTime; virtual;
+ procedure SetFECHA_PEDIDOValue(const aValue: DateTime); virtual;
+ function GetFECHA_PEDIDOIsNull: Boolean; virtual;
+ procedure SetFECHA_PEDIDOIsNull(const aValue: Boolean); virtual;
+ function GetCALLEValue: String; virtual;
+ procedure SetCALLEValue(const aValue: String); virtual;
+ function GetCALLEIsNull: Boolean; virtual;
+ procedure SetCALLEIsNull(const aValue: Boolean); virtual;
+ function GetCODIGO_POSTALValue: String; virtual;
+ procedure SetCODIGO_POSTALValue(const aValue: String); virtual;
+ function GetCODIGO_POSTALIsNull: Boolean; virtual;
+ procedure SetCODIGO_POSTALIsNull(const aValue: Boolean); virtual;
+ function GetPOBLACIONValue: String; virtual;
+ procedure SetPOBLACIONValue(const aValue: String); virtual;
+ function GetPOBLACIONIsNull: Boolean; virtual;
+ procedure SetPOBLACIONIsNull(const aValue: Boolean); virtual;
+ function GetPROVINCIAValue: String; virtual;
+ procedure SetPROVINCIAValue(const aValue: String); virtual;
+ function GetPROVINCIAIsNull: Boolean; virtual;
+ procedure SetPROVINCIAIsNull(const aValue: Boolean); virtual;
+ function GetPERSONA_CONTACTOValue: String; virtual;
+ procedure SetPERSONA_CONTACTOValue(const aValue: String); virtual;
+ function GetPERSONA_CONTACTOIsNull: Boolean; virtual;
+ procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean); virtual;
+ function GetTELEFONOValue: String; virtual;
+ procedure SetTELEFONOValue(const aValue: String); virtual;
+ function GetTELEFONOIsNull: Boolean; virtual;
+ procedure SetTELEFONOIsNull(const aValue: Boolean); virtual;
+ function GetOBSERVACIONESValue: IROStrings; virtual;
+ function GetOBSERVACIONESIsNull: Boolean; virtual;
+ procedure SetOBSERVACIONESIsNull(const aValue: Boolean); virtual;
+ function GetINCIDENCIASValue: IROStrings; virtual;
+ function GetINCIDENCIASIsNull: Boolean; virtual;
+ procedure SetINCIDENCIASIsNull(const aValue: Boolean); virtual;
+ function GetINCIDENCIAS_ACTIVASValue: Integer; virtual;
+ procedure SetINCIDENCIAS_ACTIVASValue(const aValue: Integer); virtual;
+ function GetINCIDENCIAS_ACTIVASIsNull: Boolean; virtual;
+ procedure SetINCIDENCIAS_ACTIVASIsNull(const aValue: Boolean); virtual;
+ function GetFECHA_ALTAValue: DateTime; virtual;
+ procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual;
+ function GetFECHA_ALTAIsNull: Boolean; virtual;
+ procedure SetFECHA_ALTAIsNull(const aValue: Boolean); virtual;
+ function GetFECHA_MODIFICACIONValue: DateTime; virtual;
+ procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual;
+ function GetFECHA_MODIFICACIONIsNull: Boolean; virtual;
+ procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); virtual;
+ function GetUSUARIOValue: String; virtual;
+ procedure SetUSUARIOValue(const aValue: String); virtual;
+ function GetUSUARIOIsNull: Boolean; virtual;
+ procedure SetUSUARIOIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_NETOValue: Currency; virtual;
+ procedure SetIMPORTE_NETOValue(const aValue: Currency); virtual;
+ function GetIMPORTE_NETOIsNull: Boolean; virtual;
+ procedure SetIMPORTE_NETOIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_PORTEValue: Currency; virtual;
+ procedure SetIMPORTE_PORTEValue(const aValue: Currency); virtual;
+ function GetIMPORTE_PORTEIsNull: Boolean; virtual;
+ procedure SetIMPORTE_PORTEIsNull(const aValue: Boolean); virtual;
+ function GetDESCUENTOValue: Float; virtual;
+ procedure SetDESCUENTOValue(const aValue: Float); virtual;
+ function GetDESCUENTOIsNull: Boolean; virtual;
+ procedure SetDESCUENTOIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_DESCUENTOValue: Currency; virtual;
+ procedure SetIMPORTE_DESCUENTOValue(const aValue: Currency); virtual;
+ function GetIMPORTE_DESCUENTOIsNull: Boolean; virtual;
+ procedure SetIMPORTE_DESCUENTOIsNull(const aValue: Boolean); virtual;
+ function GetBASE_IMPONIBLEValue: Currency; virtual;
+ procedure SetBASE_IMPONIBLEValue(const aValue: Currency); virtual;
+ function GetBASE_IMPONIBLEIsNull: Boolean; virtual;
+ procedure SetBASE_IMPONIBLEIsNull(const aValue: Boolean); virtual;
+ function GetIVAValue: Float; virtual;
+ procedure SetIVAValue(const aValue: Float); virtual;
+ function GetIVAIsNull: Boolean; virtual;
+ procedure SetIVAIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_IVAValue: Currency; virtual;
+ procedure SetIMPORTE_IVAValue(const aValue: Currency); virtual;
+ function GetIMPORTE_IVAIsNull: Boolean; virtual;
+ procedure SetIMPORTE_IVAIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_TOTALValue: Currency; virtual;
+ procedure SetIMPORTE_TOTALValue(const aValue: Currency); virtual;
+ function GetIMPORTE_TOTALIsNull: Boolean; virtual;
+ procedure SetIMPORTE_TOTALIsNull(const aValue: Boolean); virtual;
+ function GetID_FORMA_PAGOValue: Integer; virtual;
+ procedure SetID_FORMA_PAGOValue(const aValue: Integer); virtual;
+ function GetID_FORMA_PAGOIsNull: Boolean; virtual;
+ procedure SetID_FORMA_PAGOIsNull(const aValue: Boolean); virtual;
+ function GetREF_TIENDA_WEBValue: Integer; virtual;
+ procedure SetREF_TIENDA_WEBValue(const aValue: Integer); virtual;
+ function GetREF_TIENDA_WEBIsNull: Boolean; virtual;
+ procedure SetREF_TIENDA_WEBIsNull(const aValue: Boolean); virtual;
+ function GetFECHA_PREVISTA_ENVIOValue: DateTime; virtual;
+ procedure SetFECHA_PREVISTA_ENVIOValue(const aValue: DateTime); virtual;
+ function GetFECHA_PREVISTA_ENVIOIsNull: Boolean; virtual;
+ procedure SetFECHA_PREVISTA_ENVIOIsNull(const aValue: Boolean); virtual;
+
+ { Properties }
+ property ID: Integer read GetIDValue write SetIDValue;
+ property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
+ property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
+ property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
+ property ID_CLIENTE: Integer read GetID_CLIENTEValue write SetID_CLIENTEValue;
+ property ID_CLIENTEIsNull: Boolean read GetID_CLIENTEIsNull write SetID_CLIENTEIsNull;
+ property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
+ property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
+ property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
+ property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
+ property REFERENCIA_CLIENTE: String read GetREFERENCIA_CLIENTEValue write SetREFERENCIA_CLIENTEValue;
+ property REFERENCIA_CLIENTEIsNull: Boolean read GetREFERENCIA_CLIENTEIsNull write SetREFERENCIA_CLIENTEIsNull;
+ property SITUACION: String read GetSITUACIONValue write SetSITUACIONValue;
+ property SITUACIONIsNull: Boolean read GetSITUACIONIsNull write SetSITUACIONIsNull;
+ property FECHA_PEDIDO: DateTime read GetFECHA_PEDIDOValue write SetFECHA_PEDIDOValue;
+ property FECHA_PEDIDOIsNull: Boolean read GetFECHA_PEDIDOIsNull write SetFECHA_PEDIDOIsNull;
+ property CALLE: String read GetCALLEValue write SetCALLEValue;
+ property CALLEIsNull: Boolean read GetCALLEIsNull write SetCALLEIsNull;
+ property CODIGO_POSTAL: String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue;
+ property CODIGO_POSTALIsNull: Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull;
+ property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue;
+ property POBLACIONIsNull: Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull;
+ property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue;
+ property PROVINCIAIsNull: Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull;
+ property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
+ property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;
+ property TELEFONO: String read GetTELEFONOValue write SetTELEFONOValue;
+ property TELEFONOIsNull: Boolean read GetTELEFONOIsNull write SetTELEFONOIsNull;
+ property OBSERVACIONES: IROStrings read GetOBSERVACIONESValue;
+ property OBSERVACIONESIsNull: Boolean read GetOBSERVACIONESIsNull write SetOBSERVACIONESIsNull;
+ property INCIDENCIAS: IROStrings read GetINCIDENCIASValue;
+ property INCIDENCIASIsNull: Boolean read GetINCIDENCIASIsNull write SetINCIDENCIASIsNull;
+ property INCIDENCIAS_ACTIVAS: Integer read GetINCIDENCIAS_ACTIVASValue write SetINCIDENCIAS_ACTIVASValue;
+ property INCIDENCIAS_ACTIVASIsNull: Boolean read GetINCIDENCIAS_ACTIVASIsNull write SetINCIDENCIAS_ACTIVASIsNull;
+ property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue;
+ property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull;
+ property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue;
+ property FECHA_MODIFICACIONIsNull: Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull;
+ property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue;
+ property USUARIOIsNull: Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull;
+ property IMPORTE_NETO: Currency read GetIMPORTE_NETOValue write SetIMPORTE_NETOValue;
+ property IMPORTE_NETOIsNull: Boolean read GetIMPORTE_NETOIsNull write SetIMPORTE_NETOIsNull;
+ property IMPORTE_PORTE: Currency read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue;
+ property IMPORTE_PORTEIsNull: Boolean read GetIMPORTE_PORTEIsNull write SetIMPORTE_PORTEIsNull;
+ property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
+ property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
+ property IMPORTE_DESCUENTO: Currency read GetIMPORTE_DESCUENTOValue write SetIMPORTE_DESCUENTOValue;
+ property IMPORTE_DESCUENTOIsNull: Boolean read GetIMPORTE_DESCUENTOIsNull write SetIMPORTE_DESCUENTOIsNull;
+ property BASE_IMPONIBLE: Currency read GetBASE_IMPONIBLEValue write SetBASE_IMPONIBLEValue;
+ property BASE_IMPONIBLEIsNull: Boolean read GetBASE_IMPONIBLEIsNull write SetBASE_IMPONIBLEIsNull;
+ property IVA: Float read GetIVAValue write SetIVAValue;
+ property IVAIsNull: Boolean read GetIVAIsNull write SetIVAIsNull;
+ property IMPORTE_IVA: Currency read GetIMPORTE_IVAValue write SetIMPORTE_IVAValue;
+ property IMPORTE_IVAIsNull: Boolean read GetIMPORTE_IVAIsNull write SetIMPORTE_IVAIsNull;
+ property IMPORTE_TOTAL: Currency read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue;
+ property IMPORTE_TOTALIsNull: Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
+ property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
+ property ID_FORMA_PAGOIsNull: Boolean read GetID_FORMA_PAGOIsNull write SetID_FORMA_PAGOIsNull;
+ property REF_TIENDA_WEB: Integer read GetREF_TIENDA_WEBValue write SetREF_TIENDA_WEBValue;
+ property REF_TIENDA_WEBIsNull: Boolean read GetREF_TIENDA_WEBIsNull write SetREF_TIENDA_WEBIsNull;
+ property FECHA_PREVISTA_ENVIO: DateTime read GetFECHA_PREVISTA_ENVIOValue write SetFECHA_PREVISTA_ENVIOValue;
+ property FECHA_PREVISTA_ENVIOIsNull: Boolean read GetFECHA_PREVISTA_ENVIOIsNull write SetFECHA_PREVISTA_ENVIOIsNull;
+
+ public
+ constructor Create(aDataTable: TDADataTable); override;
+ destructor Destroy; override;
+
+ end;
+
+ { IPedidosCliente_Detalles }
+ IPedidosCliente_Detalles = interface(IDAStronglyTypedDataTable)
+ ['{B053F6D8-E46C-4796-9FBB-60CDB2C89A79}']
+ { Property getters and setters }
+ function GetIDValue: Integer;
+ procedure SetIDValue(const aValue: Integer);
+ function GetIDIsNull: Boolean;
+ procedure SetIDIsNull(const aValue: Boolean);
+ function GetID_PEDIDOValue: Integer;
+ procedure SetID_PEDIDOValue(const aValue: Integer);
+ function GetID_PEDIDOIsNull: Boolean;
+ procedure SetID_PEDIDOIsNull(const aValue: Boolean);
+ function GetPOSICIONValue: Integer;
+ procedure SetPOSICIONValue(const aValue: Integer);
+ function GetPOSICIONIsNull: Boolean;
+ procedure SetPOSICIONIsNull(const aValue: Boolean);
+ function GetTIPO_DETALLEValue: String;
+ procedure SetTIPO_DETALLEValue(const aValue: String);
+ function GetTIPO_DETALLEIsNull: Boolean;
+ procedure SetTIPO_DETALLEIsNull(const aValue: Boolean);
+ function GetREFERENCIAValue: String;
+ procedure SetREFERENCIAValue(const aValue: String);
+ function GetREFERENCIAIsNull: Boolean;
+ procedure SetREFERENCIAIsNull(const aValue: Boolean);
+ function GetID_ARTICULOValue: Integer;
+ procedure SetID_ARTICULOValue(const aValue: Integer);
+ function GetID_ARTICULOIsNull: Boolean;
+ procedure SetID_ARTICULOIsNull(const aValue: Boolean);
+ function GetCONCEPTOValue: String;
+ procedure SetCONCEPTOValue(const aValue: String);
+ function GetCONCEPTOIsNull: Boolean;
+ procedure SetCONCEPTOIsNull(const aValue: Boolean);
+ function GetCANTIDADValue: Integer;
+ procedure SetCANTIDADValue(const aValue: Integer);
+ function GetCANTIDADIsNull: Boolean;
+ procedure SetCANTIDADIsNull(const aValue: Boolean);
+ function GetIMPORTE_UNIDADValue: Currency;
+ procedure SetIMPORTE_UNIDADValue(const aValue: Currency);
+ function GetIMPORTE_UNIDADIsNull: Boolean;
+ procedure SetIMPORTE_UNIDADIsNull(const aValue: Boolean);
+ function GetIMPORTE_TOTALValue: Currency;
+ procedure SetIMPORTE_TOTALValue(const aValue: Currency);
+ function GetIMPORTE_TOTALIsNull: Boolean;
+ procedure SetIMPORTE_TOTALIsNull(const aValue: Boolean);
+ function GetDESCUENTOValue: Float;
+ procedure SetDESCUENTOValue(const aValue: Float);
+ function GetDESCUENTOIsNull: Boolean;
+ procedure SetDESCUENTOIsNull(const aValue: Boolean);
+ function GetIMPORTE_PORTEValue: Currency;
+ procedure SetIMPORTE_PORTEValue(const aValue: Currency);
+ function GetIMPORTE_PORTEIsNull: Boolean;
+ procedure SetIMPORTE_PORTEIsNull(const aValue: Boolean);
+ function GetVISIBLEValue: Integer;
+ procedure SetVISIBLEValue(const aValue: Integer);
+ function GetVISIBLEIsNull: Boolean;
+ procedure SetVISIBLEIsNull(const aValue: Boolean);
+ function GetREFERENCIA_PROVEEDORValue: String;
+ procedure SetREFERENCIA_PROVEEDORValue(const aValue: String);
+ function GetREFERENCIA_PROVEEDORIsNull: Boolean;
+ procedure SetREFERENCIA_PROVEEDORIsNull(const aValue: Boolean);
+
+
+ { Properties }
+ property ID: Integer read GetIDValue write SetIDValue;
+ property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
+ property ID_PEDIDO: Integer read GetID_PEDIDOValue write SetID_PEDIDOValue;
+ property ID_PEDIDOIsNull: Boolean read GetID_PEDIDOIsNull write SetID_PEDIDOIsNull;
+ property POSICION: Integer read GetPOSICIONValue write SetPOSICIONValue;
+ property POSICIONIsNull: Boolean read GetPOSICIONIsNull write SetPOSICIONIsNull;
+ property TIPO_DETALLE: String read GetTIPO_DETALLEValue write SetTIPO_DETALLEValue;
+ property TIPO_DETALLEIsNull: Boolean read GetTIPO_DETALLEIsNull write SetTIPO_DETALLEIsNull;
+ property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
+ property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
+ property ID_ARTICULO: Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
+ property ID_ARTICULOIsNull: Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull;
+ property CONCEPTO: String read GetCONCEPTOValue write SetCONCEPTOValue;
+ property CONCEPTOIsNull: Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
+ property CANTIDAD: Integer read GetCANTIDADValue write SetCANTIDADValue;
+ property CANTIDADIsNull: Boolean read GetCANTIDADIsNull write SetCANTIDADIsNull;
+ property IMPORTE_UNIDAD: Currency read GetIMPORTE_UNIDADValue write SetIMPORTE_UNIDADValue;
+ property IMPORTE_UNIDADIsNull: Boolean read GetIMPORTE_UNIDADIsNull write SetIMPORTE_UNIDADIsNull;
+ property IMPORTE_TOTAL: Currency read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue;
+ property IMPORTE_TOTALIsNull: Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
+ property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
+ property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
+ property IMPORTE_PORTE: Currency read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue;
+ property IMPORTE_PORTEIsNull: Boolean read GetIMPORTE_PORTEIsNull write SetIMPORTE_PORTEIsNull;
+ property VISIBLE: Integer read GetVISIBLEValue write SetVISIBLEValue;
+ property VISIBLEIsNull: Boolean read GetVISIBLEIsNull write SetVISIBLEIsNull;
+ property REFERENCIA_PROVEEDOR: String read GetREFERENCIA_PROVEEDORValue write SetREFERENCIA_PROVEEDORValue;
+ property REFERENCIA_PROVEEDORIsNull: Boolean read GetREFERENCIA_PROVEEDORIsNull write SetREFERENCIA_PROVEEDORIsNull;
+ end;
+
+ { TPedidosCliente_DetallesDataTableRules }
+ TPedidosCliente_DetallesDataTableRules = class(TIntfObjectDADataTableRules, IPedidosCliente_Detalles)
+ private
+ protected
+ { Property getters and setters }
+ function GetIDValue: Integer; virtual;
+ procedure SetIDValue(const aValue: Integer); virtual;
+ function GetIDIsNull: Boolean; virtual;
+ procedure SetIDIsNull(const aValue: Boolean); virtual;
+ function GetID_PEDIDOValue: Integer; virtual;
+ procedure SetID_PEDIDOValue(const aValue: Integer); virtual;
+ function GetID_PEDIDOIsNull: Boolean; virtual;
+ procedure SetID_PEDIDOIsNull(const aValue: Boolean); virtual;
+ function GetPOSICIONValue: Integer; virtual;
+ procedure SetPOSICIONValue(const aValue: Integer); virtual;
+ function GetPOSICIONIsNull: Boolean; virtual;
+ procedure SetPOSICIONIsNull(const aValue: Boolean); virtual;
+ function GetTIPO_DETALLEValue: String; virtual;
+ procedure SetTIPO_DETALLEValue(const aValue: String); virtual;
+ function GetTIPO_DETALLEIsNull: Boolean; virtual;
+ procedure SetTIPO_DETALLEIsNull(const aValue: Boolean); virtual;
+ function GetREFERENCIAValue: String; virtual;
+ procedure SetREFERENCIAValue(const aValue: String); virtual;
+ function GetREFERENCIAIsNull: Boolean; virtual;
+ procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
+ function GetID_ARTICULOValue: Integer; virtual;
+ procedure SetID_ARTICULOValue(const aValue: Integer); virtual;
+ function GetID_ARTICULOIsNull: Boolean; virtual;
+ procedure SetID_ARTICULOIsNull(const aValue: Boolean); virtual;
+ function GetCONCEPTOValue: String; virtual;
+ procedure SetCONCEPTOValue(const aValue: String); virtual;
+ function GetCONCEPTOIsNull: Boolean; virtual;
+ procedure SetCONCEPTOIsNull(const aValue: Boolean); virtual;
+ function GetCANTIDADValue: Integer; virtual;
+ procedure SetCANTIDADValue(const aValue: Integer); virtual;
+ function GetCANTIDADIsNull: Boolean; virtual;
+ procedure SetCANTIDADIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_UNIDADValue: Currency; virtual;
+ procedure SetIMPORTE_UNIDADValue(const aValue: Currency); virtual;
+ function GetIMPORTE_UNIDADIsNull: Boolean; virtual;
+ procedure SetIMPORTE_UNIDADIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_TOTALValue: Currency; virtual;
+ procedure SetIMPORTE_TOTALValue(const aValue: Currency); virtual;
+ function GetIMPORTE_TOTALIsNull: Boolean; virtual;
+ procedure SetIMPORTE_TOTALIsNull(const aValue: Boolean); virtual;
+ function GetDESCUENTOValue: Float; virtual;
+ procedure SetDESCUENTOValue(const aValue: Float); virtual;
+ function GetDESCUENTOIsNull: Boolean; virtual;
+ procedure SetDESCUENTOIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_PORTEValue: Currency; virtual;
+ procedure SetIMPORTE_PORTEValue(const aValue: Currency); virtual;
+ function GetIMPORTE_PORTEIsNull: Boolean; virtual;
+ procedure SetIMPORTE_PORTEIsNull(const aValue: Boolean); virtual;
+ function GetVISIBLEValue: Integer; virtual;
+ procedure SetVISIBLEValue(const aValue: Integer); virtual;
+ function GetVISIBLEIsNull: Boolean; virtual;
+ procedure SetVISIBLEIsNull(const aValue: Boolean); virtual;
+ function GetREFERENCIA_PROVEEDORValue: String; virtual;
+ procedure SetREFERENCIA_PROVEEDORValue(const aValue: String); virtual;
+ function GetREFERENCIA_PROVEEDORIsNull: Boolean; virtual;
+ procedure SetREFERENCIA_PROVEEDORIsNull(const aValue: Boolean); virtual;
+
+ { Properties }
+ property ID: Integer read GetIDValue write SetIDValue;
+ property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
+ property ID_PEDIDO: Integer read GetID_PEDIDOValue write SetID_PEDIDOValue;
+ property ID_PEDIDOIsNull: Boolean read GetID_PEDIDOIsNull write SetID_PEDIDOIsNull;
+ property POSICION: Integer read GetPOSICIONValue write SetPOSICIONValue;
+ property POSICIONIsNull: Boolean read GetPOSICIONIsNull write SetPOSICIONIsNull;
+ property TIPO_DETALLE: String read GetTIPO_DETALLEValue write SetTIPO_DETALLEValue;
+ property TIPO_DETALLEIsNull: Boolean read GetTIPO_DETALLEIsNull write SetTIPO_DETALLEIsNull;
+ property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
+ property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
+ property ID_ARTICULO: Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
+ property ID_ARTICULOIsNull: Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull;
+ property CONCEPTO: String read GetCONCEPTOValue write SetCONCEPTOValue;
+ property CONCEPTOIsNull: Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
+ property CANTIDAD: Integer read GetCANTIDADValue write SetCANTIDADValue;
+ property CANTIDADIsNull: Boolean read GetCANTIDADIsNull write SetCANTIDADIsNull;
+ property IMPORTE_UNIDAD: Currency read GetIMPORTE_UNIDADValue write SetIMPORTE_UNIDADValue;
+ property IMPORTE_UNIDADIsNull: Boolean read GetIMPORTE_UNIDADIsNull write SetIMPORTE_UNIDADIsNull;
+ property IMPORTE_TOTAL: Currency read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue;
+ property IMPORTE_TOTALIsNull: Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
+ property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
+ property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
+ property IMPORTE_PORTE: Currency read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue;
+ property IMPORTE_PORTEIsNull: Boolean read GetIMPORTE_PORTEIsNull write SetIMPORTE_PORTEIsNull;
+ property VISIBLE: Integer read GetVISIBLEValue write SetVISIBLEValue;
+ property VISIBLEIsNull: Boolean read GetVISIBLEIsNull write SetVISIBLEIsNull;
+ property REFERENCIA_PROVEEDOR: String read GetREFERENCIA_PROVEEDORValue write SetREFERENCIA_PROVEEDORValue;
+ property REFERENCIA_PROVEEDORIsNull: Boolean read GetREFERENCIA_PROVEEDORIsNull write SetREFERENCIA_PROVEEDORIsNull;
+
+ public
+ constructor Create(aDataTable: TDADataTable); override;
+ destructor Destroy; override;
+
+ end;
+
+ { IPedidosCliente_Refresh }
+ IPedidosCliente_Refresh = interface(IDAStronglyTypedDataTable)
+ ['{0228E95A-F978-48BD-8D80-4574C7696690}']
+ { Property getters and setters }
+ function GetIDValue: Integer;
+ procedure SetIDValue(const aValue: Integer);
+ function GetIDIsNull: Boolean;
+ procedure SetIDIsNull(const aValue: Boolean);
+ function GetID_EMPRESAValue: Integer;
+ procedure SetID_EMPRESAValue(const aValue: Integer);
+ function GetID_EMPRESAIsNull: Boolean;
+ procedure SetID_EMPRESAIsNull(const aValue: Boolean);
+ function GetID_CLIENTEValue: Integer;
+ procedure SetID_CLIENTEValue(const aValue: Integer);
+ function GetID_CLIENTEIsNull: Boolean;
+ procedure SetID_CLIENTEIsNull(const aValue: Boolean);
+ function GetNOMBREValue: String;
+ procedure SetNOMBREValue(const aValue: String);
+ function GetNOMBREIsNull: Boolean;
+ procedure SetNOMBREIsNull(const aValue: Boolean);
+ function GetREFERENCIAValue: String;
+ procedure SetREFERENCIAValue(const aValue: String);
+ function GetREFERENCIAIsNull: Boolean;
+ procedure SetREFERENCIAIsNull(const aValue: Boolean);
+ function GetREFERENCIA_CLIENTEValue: String;
+ procedure SetREFERENCIA_CLIENTEValue(const aValue: String);
+ function GetREFERENCIA_CLIENTEIsNull: Boolean;
+ procedure SetREFERENCIA_CLIENTEIsNull(const aValue: Boolean);
+ function GetSITUACIONValue: String;
+ procedure SetSITUACIONValue(const aValue: String);
+ function GetSITUACIONIsNull: Boolean;
+ procedure SetSITUACIONIsNull(const aValue: Boolean);
+ function GetFECHA_PEDIDOValue: DateTime;
+ procedure SetFECHA_PEDIDOValue(const aValue: DateTime);
+ function GetFECHA_PEDIDOIsNull: Boolean;
+ procedure SetFECHA_PEDIDOIsNull(const aValue: Boolean);
+ function GetCALLEValue: String;
+ procedure SetCALLEValue(const aValue: String);
+ function GetCALLEIsNull: Boolean;
+ procedure SetCALLEIsNull(const aValue: Boolean);
+ function GetCODIGO_POSTALValue: String;
+ procedure SetCODIGO_POSTALValue(const aValue: String);
+ function GetCODIGO_POSTALIsNull: Boolean;
+ procedure SetCODIGO_POSTALIsNull(const aValue: Boolean);
+ function GetPOBLACIONValue: String;
+ procedure SetPOBLACIONValue(const aValue: String);
+ function GetPOBLACIONIsNull: Boolean;
+ procedure SetPOBLACIONIsNull(const aValue: Boolean);
+ function GetPROVINCIAValue: String;
+ procedure SetPROVINCIAValue(const aValue: String);
+ function GetPROVINCIAIsNull: Boolean;
+ procedure SetPROVINCIAIsNull(const aValue: Boolean);
+ function GetPERSONA_CONTACTOValue: String;
+ procedure SetPERSONA_CONTACTOValue(const aValue: String);
+ function GetPERSONA_CONTACTOIsNull: Boolean;
+ procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean);
+ function GetTELEFONOValue: String;
+ procedure SetTELEFONOValue(const aValue: String);
+ function GetTELEFONOIsNull: Boolean;
+ procedure SetTELEFONOIsNull(const aValue: Boolean);
+ function GetOBSERVACIONESValue: IROStrings;
+ function GetOBSERVACIONESIsNull: Boolean;
+ procedure SetOBSERVACIONESIsNull(const aValue: Boolean);
+ function GetINCIDENCIASValue: IROStrings;
+ function GetINCIDENCIASIsNull: Boolean;
+ procedure SetINCIDENCIASIsNull(const aValue: Boolean);
+ function GetINCIDENCIAS_ACTIVASValue: Integer;
+ procedure SetINCIDENCIAS_ACTIVASValue(const aValue: Integer);
+ function GetINCIDENCIAS_ACTIVASIsNull: Boolean;
+ procedure SetINCIDENCIAS_ACTIVASIsNull(const aValue: Boolean);
+ function GetFECHA_ALTAValue: DateTime;
+ procedure SetFECHA_ALTAValue(const aValue: DateTime);
+ function GetFECHA_ALTAIsNull: Boolean;
+ procedure SetFECHA_ALTAIsNull(const aValue: Boolean);
+ function GetFECHA_MODIFICACIONValue: DateTime;
+ procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime);
+ function GetFECHA_MODIFICACIONIsNull: Boolean;
+ procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean);
+ function GetUSUARIOValue: String;
+ procedure SetUSUARIOValue(const aValue: String);
+ function GetUSUARIOIsNull: Boolean;
+ procedure SetUSUARIOIsNull(const aValue: Boolean);
+ function GetIMPORTE_NETOValue: Currency;
+ procedure SetIMPORTE_NETOValue(const aValue: Currency);
+ function GetIMPORTE_NETOIsNull: Boolean;
+ procedure SetIMPORTE_NETOIsNull(const aValue: Boolean);
+ function GetIMPORTE_PORTEValue: Currency;
+ procedure SetIMPORTE_PORTEValue(const aValue: Currency);
+ function GetIMPORTE_PORTEIsNull: Boolean;
+ procedure SetIMPORTE_PORTEIsNull(const aValue: Boolean);
+ function GetDESCUENTOValue: Float;
+ procedure SetDESCUENTOValue(const aValue: Float);
+ function GetDESCUENTOIsNull: Boolean;
+ procedure SetDESCUENTOIsNull(const aValue: Boolean);
+ function GetIMPORTE_DESCUENTOValue: Currency;
+ procedure SetIMPORTE_DESCUENTOValue(const aValue: Currency);
+ function GetIMPORTE_DESCUENTOIsNull: Boolean;
+ procedure SetIMPORTE_DESCUENTOIsNull(const aValue: Boolean);
+ function GetBASE_IMPONIBLEValue: Currency;
+ procedure SetBASE_IMPONIBLEValue(const aValue: Currency);
+ function GetBASE_IMPONIBLEIsNull: Boolean;
+ procedure SetBASE_IMPONIBLEIsNull(const aValue: Boolean);
+ function GetIVAValue: Float;
+ procedure SetIVAValue(const aValue: Float);
+ function GetIVAIsNull: Boolean;
+ procedure SetIVAIsNull(const aValue: Boolean);
+ function GetIMPORTE_IVAValue: Currency;
+ procedure SetIMPORTE_IVAValue(const aValue: Currency);
+ function GetIMPORTE_IVAIsNull: Boolean;
+ procedure SetIMPORTE_IVAIsNull(const aValue: Boolean);
+ function GetIMPORTE_TOTALValue: Currency;
+ procedure SetIMPORTE_TOTALValue(const aValue: Currency);
+ function GetIMPORTE_TOTALIsNull: Boolean;
+ procedure SetIMPORTE_TOTALIsNull(const aValue: Boolean);
+ function GetID_FORMA_PAGOValue: Integer;
+ procedure SetID_FORMA_PAGOValue(const aValue: Integer);
+ function GetID_FORMA_PAGOIsNull: Boolean;
+ procedure SetID_FORMA_PAGOIsNull(const aValue: Boolean);
+ function GetREF_TIENDA_WEBValue: Integer;
+ procedure SetREF_TIENDA_WEBValue(const aValue: Integer);
+ function GetREF_TIENDA_WEBIsNull: Boolean;
+ procedure SetREF_TIENDA_WEBIsNull(const aValue: Boolean);
+ function GetFECHA_PREVISTA_ENVIOValue: DateTime;
+ procedure SetFECHA_PREVISTA_ENVIOValue(const aValue: DateTime);
+ function GetFECHA_PREVISTA_ENVIOIsNull: Boolean;
+ procedure SetFECHA_PREVISTA_ENVIOIsNull(const aValue: Boolean);
+
+
+ { Properties }
+ property ID: Integer read GetIDValue write SetIDValue;
+ property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
+ property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
+ property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
+ property ID_CLIENTE: Integer read GetID_CLIENTEValue write SetID_CLIENTEValue;
+ property ID_CLIENTEIsNull: Boolean read GetID_CLIENTEIsNull write SetID_CLIENTEIsNull;
+ property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
+ property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
+ property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
+ property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
+ property REFERENCIA_CLIENTE: String read GetREFERENCIA_CLIENTEValue write SetREFERENCIA_CLIENTEValue;
+ property REFERENCIA_CLIENTEIsNull: Boolean read GetREFERENCIA_CLIENTEIsNull write SetREFERENCIA_CLIENTEIsNull;
+ property SITUACION: String read GetSITUACIONValue write SetSITUACIONValue;
+ property SITUACIONIsNull: Boolean read GetSITUACIONIsNull write SetSITUACIONIsNull;
+ property FECHA_PEDIDO: DateTime read GetFECHA_PEDIDOValue write SetFECHA_PEDIDOValue;
+ property FECHA_PEDIDOIsNull: Boolean read GetFECHA_PEDIDOIsNull write SetFECHA_PEDIDOIsNull;
+ property CALLE: String read GetCALLEValue write SetCALLEValue;
+ property CALLEIsNull: Boolean read GetCALLEIsNull write SetCALLEIsNull;
+ property CODIGO_POSTAL: String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue;
+ property CODIGO_POSTALIsNull: Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull;
+ property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue;
+ property POBLACIONIsNull: Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull;
+ property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue;
+ property PROVINCIAIsNull: Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull;
+ property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
+ property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;
+ property TELEFONO: String read GetTELEFONOValue write SetTELEFONOValue;
+ property TELEFONOIsNull: Boolean read GetTELEFONOIsNull write SetTELEFONOIsNull;
+ property OBSERVACIONES: IROStrings read GetOBSERVACIONESValue;
+ property OBSERVACIONESIsNull: Boolean read GetOBSERVACIONESIsNull write SetOBSERVACIONESIsNull;
+ property INCIDENCIAS: IROStrings read GetINCIDENCIASValue;
+ property INCIDENCIASIsNull: Boolean read GetINCIDENCIASIsNull write SetINCIDENCIASIsNull;
+ property INCIDENCIAS_ACTIVAS: Integer read GetINCIDENCIAS_ACTIVASValue write SetINCIDENCIAS_ACTIVASValue;
+ property INCIDENCIAS_ACTIVASIsNull: Boolean read GetINCIDENCIAS_ACTIVASIsNull write SetINCIDENCIAS_ACTIVASIsNull;
+ property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue;
+ property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull;
+ property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue;
+ property FECHA_MODIFICACIONIsNull: Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull;
+ property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue;
+ property USUARIOIsNull: Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull;
+ property IMPORTE_NETO: Currency read GetIMPORTE_NETOValue write SetIMPORTE_NETOValue;
+ property IMPORTE_NETOIsNull: Boolean read GetIMPORTE_NETOIsNull write SetIMPORTE_NETOIsNull;
+ property IMPORTE_PORTE: Currency read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue;
+ property IMPORTE_PORTEIsNull: Boolean read GetIMPORTE_PORTEIsNull write SetIMPORTE_PORTEIsNull;
+ property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
+ property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
+ property IMPORTE_DESCUENTO: Currency read GetIMPORTE_DESCUENTOValue write SetIMPORTE_DESCUENTOValue;
+ property IMPORTE_DESCUENTOIsNull: Boolean read GetIMPORTE_DESCUENTOIsNull write SetIMPORTE_DESCUENTOIsNull;
+ property BASE_IMPONIBLE: Currency read GetBASE_IMPONIBLEValue write SetBASE_IMPONIBLEValue;
+ property BASE_IMPONIBLEIsNull: Boolean read GetBASE_IMPONIBLEIsNull write SetBASE_IMPONIBLEIsNull;
+ property IVA: Float read GetIVAValue write SetIVAValue;
+ property IVAIsNull: Boolean read GetIVAIsNull write SetIVAIsNull;
+ property IMPORTE_IVA: Currency read GetIMPORTE_IVAValue write SetIMPORTE_IVAValue;
+ property IMPORTE_IVAIsNull: Boolean read GetIMPORTE_IVAIsNull write SetIMPORTE_IVAIsNull;
+ property IMPORTE_TOTAL: Currency read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue;
+ property IMPORTE_TOTALIsNull: Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
+ property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
+ property ID_FORMA_PAGOIsNull: Boolean read GetID_FORMA_PAGOIsNull write SetID_FORMA_PAGOIsNull;
+ property REF_TIENDA_WEB: Integer read GetREF_TIENDA_WEBValue write SetREF_TIENDA_WEBValue;
+ property REF_TIENDA_WEBIsNull: Boolean read GetREF_TIENDA_WEBIsNull write SetREF_TIENDA_WEBIsNull;
+ property FECHA_PREVISTA_ENVIO: DateTime read GetFECHA_PREVISTA_ENVIOValue write SetFECHA_PREVISTA_ENVIOValue;
+ property FECHA_PREVISTA_ENVIOIsNull: Boolean read GetFECHA_PREVISTA_ENVIOIsNull write SetFECHA_PREVISTA_ENVIOIsNull;
+ end;
+
+ { TPedidosCliente_RefreshDataTableRules }
+ TPedidosCliente_RefreshDataTableRules = class(TIntfObjectDADataTableRules, IPedidosCliente_Refresh)
+ private
+ f_OBSERVACIONES: IROStrings;
+ f_INCIDENCIAS: IROStrings;
+ procedure OBSERVACIONES_OnChange(Sender: TObject);
+ procedure INCIDENCIAS_OnChange(Sender: TObject);
+ protected
+ { Property getters and setters }
+ function GetIDValue: Integer; virtual;
+ procedure SetIDValue(const aValue: Integer); virtual;
+ function GetIDIsNull: Boolean; virtual;
+ procedure SetIDIsNull(const aValue: Boolean); virtual;
+ function GetID_EMPRESAValue: Integer; virtual;
+ procedure SetID_EMPRESAValue(const aValue: Integer); virtual;
+ function GetID_EMPRESAIsNull: Boolean; virtual;
+ procedure SetID_EMPRESAIsNull(const aValue: Boolean); virtual;
+ function GetID_CLIENTEValue: Integer; virtual;
+ procedure SetID_CLIENTEValue(const aValue: Integer); virtual;
+ function GetID_CLIENTEIsNull: Boolean; virtual;
+ procedure SetID_CLIENTEIsNull(const aValue: Boolean); virtual;
+ function GetNOMBREValue: String; virtual;
+ procedure SetNOMBREValue(const aValue: String); virtual;
+ function GetNOMBREIsNull: Boolean; virtual;
+ procedure SetNOMBREIsNull(const aValue: Boolean); virtual;
+ function GetREFERENCIAValue: String; virtual;
+ procedure SetREFERENCIAValue(const aValue: String); virtual;
+ function GetREFERENCIAIsNull: Boolean; virtual;
+ procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
+ function GetREFERENCIA_CLIENTEValue: String; virtual;
+ procedure SetREFERENCIA_CLIENTEValue(const aValue: String); virtual;
+ function GetREFERENCIA_CLIENTEIsNull: Boolean; virtual;
+ procedure SetREFERENCIA_CLIENTEIsNull(const aValue: Boolean); virtual;
+ function GetSITUACIONValue: String; virtual;
+ procedure SetSITUACIONValue(const aValue: String); virtual;
+ function GetSITUACIONIsNull: Boolean; virtual;
+ procedure SetSITUACIONIsNull(const aValue: Boolean); virtual;
+ function GetFECHA_PEDIDOValue: DateTime; virtual;
+ procedure SetFECHA_PEDIDOValue(const aValue: DateTime); virtual;
+ function GetFECHA_PEDIDOIsNull: Boolean; virtual;
+ procedure SetFECHA_PEDIDOIsNull(const aValue: Boolean); virtual;
+ function GetCALLEValue: String; virtual;
+ procedure SetCALLEValue(const aValue: String); virtual;
+ function GetCALLEIsNull: Boolean; virtual;
+ procedure SetCALLEIsNull(const aValue: Boolean); virtual;
+ function GetCODIGO_POSTALValue: String; virtual;
+ procedure SetCODIGO_POSTALValue(const aValue: String); virtual;
+ function GetCODIGO_POSTALIsNull: Boolean; virtual;
+ procedure SetCODIGO_POSTALIsNull(const aValue: Boolean); virtual;
+ function GetPOBLACIONValue: String; virtual;
+ procedure SetPOBLACIONValue(const aValue: String); virtual;
+ function GetPOBLACIONIsNull: Boolean; virtual;
+ procedure SetPOBLACIONIsNull(const aValue: Boolean); virtual;
+ function GetPROVINCIAValue: String; virtual;
+ procedure SetPROVINCIAValue(const aValue: String); virtual;
+ function GetPROVINCIAIsNull: Boolean; virtual;
+ procedure SetPROVINCIAIsNull(const aValue: Boolean); virtual;
+ function GetPERSONA_CONTACTOValue: String; virtual;
+ procedure SetPERSONA_CONTACTOValue(const aValue: String); virtual;
+ function GetPERSONA_CONTACTOIsNull: Boolean; virtual;
+ procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean); virtual;
+ function GetTELEFONOValue: String; virtual;
+ procedure SetTELEFONOValue(const aValue: String); virtual;
+ function GetTELEFONOIsNull: Boolean; virtual;
+ procedure SetTELEFONOIsNull(const aValue: Boolean); virtual;
+ function GetOBSERVACIONESValue: IROStrings; virtual;
+ function GetOBSERVACIONESIsNull: Boolean; virtual;
+ procedure SetOBSERVACIONESIsNull(const aValue: Boolean); virtual;
+ function GetINCIDENCIASValue: IROStrings; virtual;
+ function GetINCIDENCIASIsNull: Boolean; virtual;
+ procedure SetINCIDENCIASIsNull(const aValue: Boolean); virtual;
+ function GetINCIDENCIAS_ACTIVASValue: Integer; virtual;
+ procedure SetINCIDENCIAS_ACTIVASValue(const aValue: Integer); virtual;
+ function GetINCIDENCIAS_ACTIVASIsNull: Boolean; virtual;
+ procedure SetINCIDENCIAS_ACTIVASIsNull(const aValue: Boolean); virtual;
+ function GetFECHA_ALTAValue: DateTime; virtual;
+ procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual;
+ function GetFECHA_ALTAIsNull: Boolean; virtual;
+ procedure SetFECHA_ALTAIsNull(const aValue: Boolean); virtual;
+ function GetFECHA_MODIFICACIONValue: DateTime; virtual;
+ procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual;
+ function GetFECHA_MODIFICACIONIsNull: Boolean; virtual;
+ procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); virtual;
+ function GetUSUARIOValue: String; virtual;
+ procedure SetUSUARIOValue(const aValue: String); virtual;
+ function GetUSUARIOIsNull: Boolean; virtual;
+ procedure SetUSUARIOIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_NETOValue: Currency; virtual;
+ procedure SetIMPORTE_NETOValue(const aValue: Currency); virtual;
+ function GetIMPORTE_NETOIsNull: Boolean; virtual;
+ procedure SetIMPORTE_NETOIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_PORTEValue: Currency; virtual;
+ procedure SetIMPORTE_PORTEValue(const aValue: Currency); virtual;
+ function GetIMPORTE_PORTEIsNull: Boolean; virtual;
+ procedure SetIMPORTE_PORTEIsNull(const aValue: Boolean); virtual;
+ function GetDESCUENTOValue: Float; virtual;
+ procedure SetDESCUENTOValue(const aValue: Float); virtual;
+ function GetDESCUENTOIsNull: Boolean; virtual;
+ procedure SetDESCUENTOIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_DESCUENTOValue: Currency; virtual;
+ procedure SetIMPORTE_DESCUENTOValue(const aValue: Currency); virtual;
+ function GetIMPORTE_DESCUENTOIsNull: Boolean; virtual;
+ procedure SetIMPORTE_DESCUENTOIsNull(const aValue: Boolean); virtual;
+ function GetBASE_IMPONIBLEValue: Currency; virtual;
+ procedure SetBASE_IMPONIBLEValue(const aValue: Currency); virtual;
+ function GetBASE_IMPONIBLEIsNull: Boolean; virtual;
+ procedure SetBASE_IMPONIBLEIsNull(const aValue: Boolean); virtual;
+ function GetIVAValue: Float; virtual;
+ procedure SetIVAValue(const aValue: Float); virtual;
+ function GetIVAIsNull: Boolean; virtual;
+ procedure SetIVAIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_IVAValue: Currency; virtual;
+ procedure SetIMPORTE_IVAValue(const aValue: Currency); virtual;
+ function GetIMPORTE_IVAIsNull: Boolean; virtual;
+ procedure SetIMPORTE_IVAIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_TOTALValue: Currency; virtual;
+ procedure SetIMPORTE_TOTALValue(const aValue: Currency); virtual;
+ function GetIMPORTE_TOTALIsNull: Boolean; virtual;
+ procedure SetIMPORTE_TOTALIsNull(const aValue: Boolean); virtual;
+ function GetID_FORMA_PAGOValue: Integer; virtual;
+ procedure SetID_FORMA_PAGOValue(const aValue: Integer); virtual;
+ function GetID_FORMA_PAGOIsNull: Boolean; virtual;
+ procedure SetID_FORMA_PAGOIsNull(const aValue: Boolean); virtual;
+ function GetREF_TIENDA_WEBValue: Integer; virtual;
+ procedure SetREF_TIENDA_WEBValue(const aValue: Integer); virtual;
+ function GetREF_TIENDA_WEBIsNull: Boolean; virtual;
+ procedure SetREF_TIENDA_WEBIsNull(const aValue: Boolean); virtual;
+ function GetFECHA_PREVISTA_ENVIOValue: DateTime; virtual;
+ procedure SetFECHA_PREVISTA_ENVIOValue(const aValue: DateTime); virtual;
+ function GetFECHA_PREVISTA_ENVIOIsNull: Boolean; virtual;
+ procedure SetFECHA_PREVISTA_ENVIOIsNull(const aValue: Boolean); virtual;
+
+ { Properties }
+ property ID: Integer read GetIDValue write SetIDValue;
+ property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
+ property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
+ property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
+ property ID_CLIENTE: Integer read GetID_CLIENTEValue write SetID_CLIENTEValue;
+ property ID_CLIENTEIsNull: Boolean read GetID_CLIENTEIsNull write SetID_CLIENTEIsNull;
+ property NOMBRE: String read GetNOMBREValue write SetNOMBREValue;
+ property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
+ property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
+ property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
+ property REFERENCIA_CLIENTE: String read GetREFERENCIA_CLIENTEValue write SetREFERENCIA_CLIENTEValue;
+ property REFERENCIA_CLIENTEIsNull: Boolean read GetREFERENCIA_CLIENTEIsNull write SetREFERENCIA_CLIENTEIsNull;
+ property SITUACION: String read GetSITUACIONValue write SetSITUACIONValue;
+ property SITUACIONIsNull: Boolean read GetSITUACIONIsNull write SetSITUACIONIsNull;
+ property FECHA_PEDIDO: DateTime read GetFECHA_PEDIDOValue write SetFECHA_PEDIDOValue;
+ property FECHA_PEDIDOIsNull: Boolean read GetFECHA_PEDIDOIsNull write SetFECHA_PEDIDOIsNull;
+ property CALLE: String read GetCALLEValue write SetCALLEValue;
+ property CALLEIsNull: Boolean read GetCALLEIsNull write SetCALLEIsNull;
+ property CODIGO_POSTAL: String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue;
+ property CODIGO_POSTALIsNull: Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull;
+ property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue;
+ property POBLACIONIsNull: Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull;
+ property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue;
+ property PROVINCIAIsNull: Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull;
+ property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
+ property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;
+ property TELEFONO: String read GetTELEFONOValue write SetTELEFONOValue;
+ property TELEFONOIsNull: Boolean read GetTELEFONOIsNull write SetTELEFONOIsNull;
+ property OBSERVACIONES: IROStrings read GetOBSERVACIONESValue;
+ property OBSERVACIONESIsNull: Boolean read GetOBSERVACIONESIsNull write SetOBSERVACIONESIsNull;
+ property INCIDENCIAS: IROStrings read GetINCIDENCIASValue;
+ property INCIDENCIASIsNull: Boolean read GetINCIDENCIASIsNull write SetINCIDENCIASIsNull;
+ property INCIDENCIAS_ACTIVAS: Integer read GetINCIDENCIAS_ACTIVASValue write SetINCIDENCIAS_ACTIVASValue;
+ property INCIDENCIAS_ACTIVASIsNull: Boolean read GetINCIDENCIAS_ACTIVASIsNull write SetINCIDENCIAS_ACTIVASIsNull;
+ property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue;
+ property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull;
+ property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue;
+ property FECHA_MODIFICACIONIsNull: Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull;
+ property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue;
+ property USUARIOIsNull: Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull;
+ property IMPORTE_NETO: Currency read GetIMPORTE_NETOValue write SetIMPORTE_NETOValue;
+ property IMPORTE_NETOIsNull: Boolean read GetIMPORTE_NETOIsNull write SetIMPORTE_NETOIsNull;
+ property IMPORTE_PORTE: Currency read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue;
+ property IMPORTE_PORTEIsNull: Boolean read GetIMPORTE_PORTEIsNull write SetIMPORTE_PORTEIsNull;
+ property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
+ property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
+ property IMPORTE_DESCUENTO: Currency read GetIMPORTE_DESCUENTOValue write SetIMPORTE_DESCUENTOValue;
+ property IMPORTE_DESCUENTOIsNull: Boolean read GetIMPORTE_DESCUENTOIsNull write SetIMPORTE_DESCUENTOIsNull;
+ property BASE_IMPONIBLE: Currency read GetBASE_IMPONIBLEValue write SetBASE_IMPONIBLEValue;
+ property BASE_IMPONIBLEIsNull: Boolean read GetBASE_IMPONIBLEIsNull write SetBASE_IMPONIBLEIsNull;
+ property IVA: Float read GetIVAValue write SetIVAValue;
+ property IVAIsNull: Boolean read GetIVAIsNull write SetIVAIsNull;
+ property IMPORTE_IVA: Currency read GetIMPORTE_IVAValue write SetIMPORTE_IVAValue;
+ property IMPORTE_IVAIsNull: Boolean read GetIMPORTE_IVAIsNull write SetIMPORTE_IVAIsNull;
+ property IMPORTE_TOTAL: Currency read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue;
+ property IMPORTE_TOTALIsNull: Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
+ property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
+ property ID_FORMA_PAGOIsNull: Boolean read GetID_FORMA_PAGOIsNull write SetID_FORMA_PAGOIsNull;
+ property REF_TIENDA_WEB: Integer read GetREF_TIENDA_WEBValue write SetREF_TIENDA_WEBValue;
+ property REF_TIENDA_WEBIsNull: Boolean read GetREF_TIENDA_WEBIsNull write SetREF_TIENDA_WEBIsNull;
+ property FECHA_PREVISTA_ENVIO: DateTime read GetFECHA_PREVISTA_ENVIOValue write SetFECHA_PREVISTA_ENVIOValue;
+ property FECHA_PREVISTA_ENVIOIsNull: Boolean read GetFECHA_PREVISTA_ENVIOIsNull write SetFECHA_PREVISTA_ENVIOIsNull;
+
+ public
+ constructor Create(aDataTable: TDADataTable); override;
+ destructor Destroy; override;
+
+ end;
+
+ { IPedidosCliente_Detalles_Refresh }
+ IPedidosCliente_Detalles_Refresh = interface(IDAStronglyTypedDataTable)
+ ['{1D9DEA21-42AD-44C3-9F01-74291279DB09}']
+ { Property getters and setters }
+ function GetIDValue: Integer;
+ procedure SetIDValue(const aValue: Integer);
+ function GetIDIsNull: Boolean;
+ procedure SetIDIsNull(const aValue: Boolean);
+ function GetID_PEDIDOValue: Integer;
+ procedure SetID_PEDIDOValue(const aValue: Integer);
+ function GetID_PEDIDOIsNull: Boolean;
+ procedure SetID_PEDIDOIsNull(const aValue: Boolean);
+ function GetPOSICIONValue: Integer;
+ procedure SetPOSICIONValue(const aValue: Integer);
+ function GetPOSICIONIsNull: Boolean;
+ procedure SetPOSICIONIsNull(const aValue: Boolean);
+ function GetTIPO_DETALLEValue: String;
+ procedure SetTIPO_DETALLEValue(const aValue: String);
+ function GetTIPO_DETALLEIsNull: Boolean;
+ procedure SetTIPO_DETALLEIsNull(const aValue: Boolean);
+ function GetREFERENCIAValue: String;
+ procedure SetREFERENCIAValue(const aValue: String);
+ function GetREFERENCIAIsNull: Boolean;
+ procedure SetREFERENCIAIsNull(const aValue: Boolean);
+ function GetID_ARTICULOValue: Integer;
+ procedure SetID_ARTICULOValue(const aValue: Integer);
+ function GetID_ARTICULOIsNull: Boolean;
+ procedure SetID_ARTICULOIsNull(const aValue: Boolean);
+ function GetCONCEPTOValue: String;
+ procedure SetCONCEPTOValue(const aValue: String);
+ function GetCONCEPTOIsNull: Boolean;
+ procedure SetCONCEPTOIsNull(const aValue: Boolean);
+ function GetCANTIDADValue: Integer;
+ procedure SetCANTIDADValue(const aValue: Integer);
+ function GetCANTIDADIsNull: Boolean;
+ procedure SetCANTIDADIsNull(const aValue: Boolean);
+ function GetIMPORTE_UNIDADValue: Currency;
+ procedure SetIMPORTE_UNIDADValue(const aValue: Currency);
+ function GetIMPORTE_UNIDADIsNull: Boolean;
+ procedure SetIMPORTE_UNIDADIsNull(const aValue: Boolean);
+ function GetIMPORTE_TOTALValue: Currency;
+ procedure SetIMPORTE_TOTALValue(const aValue: Currency);
+ function GetIMPORTE_TOTALIsNull: Boolean;
+ procedure SetIMPORTE_TOTALIsNull(const aValue: Boolean);
+ function GetDESCUENTOValue: Float;
+ procedure SetDESCUENTOValue(const aValue: Float);
+ function GetDESCUENTOIsNull: Boolean;
+ procedure SetDESCUENTOIsNull(const aValue: Boolean);
+ function GetIMPORTE_PORTEValue: Currency;
+ procedure SetIMPORTE_PORTEValue(const aValue: Currency);
+ function GetIMPORTE_PORTEIsNull: Boolean;
+ procedure SetIMPORTE_PORTEIsNull(const aValue: Boolean);
+ function GetVISIBLEValue: Integer;
+ procedure SetVISIBLEValue(const aValue: Integer);
+ function GetVISIBLEIsNull: Boolean;
+ procedure SetVISIBLEIsNull(const aValue: Boolean);
+ function GetREFERENCIA_PROVEEDORValue: String;
+ procedure SetREFERENCIA_PROVEEDORValue(const aValue: String);
+ function GetREFERENCIA_PROVEEDORIsNull: Boolean;
+ procedure SetREFERENCIA_PROVEEDORIsNull(const aValue: Boolean);
+
+
+ { Properties }
+ property ID: Integer read GetIDValue write SetIDValue;
+ property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
+ property ID_PEDIDO: Integer read GetID_PEDIDOValue write SetID_PEDIDOValue;
+ property ID_PEDIDOIsNull: Boolean read GetID_PEDIDOIsNull write SetID_PEDIDOIsNull;
+ property POSICION: Integer read GetPOSICIONValue write SetPOSICIONValue;
+ property POSICIONIsNull: Boolean read GetPOSICIONIsNull write SetPOSICIONIsNull;
+ property TIPO_DETALLE: String read GetTIPO_DETALLEValue write SetTIPO_DETALLEValue;
+ property TIPO_DETALLEIsNull: Boolean read GetTIPO_DETALLEIsNull write SetTIPO_DETALLEIsNull;
+ property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
+ property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
+ property ID_ARTICULO: Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
+ property ID_ARTICULOIsNull: Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull;
+ property CONCEPTO: String read GetCONCEPTOValue write SetCONCEPTOValue;
+ property CONCEPTOIsNull: Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
+ property CANTIDAD: Integer read GetCANTIDADValue write SetCANTIDADValue;
+ property CANTIDADIsNull: Boolean read GetCANTIDADIsNull write SetCANTIDADIsNull;
+ property IMPORTE_UNIDAD: Currency read GetIMPORTE_UNIDADValue write SetIMPORTE_UNIDADValue;
+ property IMPORTE_UNIDADIsNull: Boolean read GetIMPORTE_UNIDADIsNull write SetIMPORTE_UNIDADIsNull;
+ property IMPORTE_TOTAL: Currency read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue;
+ property IMPORTE_TOTALIsNull: Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
+ property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
+ property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
+ property IMPORTE_PORTE: Currency read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue;
+ property IMPORTE_PORTEIsNull: Boolean read GetIMPORTE_PORTEIsNull write SetIMPORTE_PORTEIsNull;
+ property VISIBLE: Integer read GetVISIBLEValue write SetVISIBLEValue;
+ property VISIBLEIsNull: Boolean read GetVISIBLEIsNull write SetVISIBLEIsNull;
+ property REFERENCIA_PROVEEDOR: String read GetREFERENCIA_PROVEEDORValue write SetREFERENCIA_PROVEEDORValue;
+ property REFERENCIA_PROVEEDORIsNull: Boolean read GetREFERENCIA_PROVEEDORIsNull write SetREFERENCIA_PROVEEDORIsNull;
+ end;
+
+ { TPedidosCliente_Detalles_RefreshDataTableRules }
+ TPedidosCliente_Detalles_RefreshDataTableRules = class(TIntfObjectDADataTableRules, IPedidosCliente_Detalles_Refresh)
+ private
+ protected
+ { Property getters and setters }
+ function GetIDValue: Integer; virtual;
+ procedure SetIDValue(const aValue: Integer); virtual;
+ function GetIDIsNull: Boolean; virtual;
+ procedure SetIDIsNull(const aValue: Boolean); virtual;
+ function GetID_PEDIDOValue: Integer; virtual;
+ procedure SetID_PEDIDOValue(const aValue: Integer); virtual;
+ function GetID_PEDIDOIsNull: Boolean; virtual;
+ procedure SetID_PEDIDOIsNull(const aValue: Boolean); virtual;
+ function GetPOSICIONValue: Integer; virtual;
+ procedure SetPOSICIONValue(const aValue: Integer); virtual;
+ function GetPOSICIONIsNull: Boolean; virtual;
+ procedure SetPOSICIONIsNull(const aValue: Boolean); virtual;
+ function GetTIPO_DETALLEValue: String; virtual;
+ procedure SetTIPO_DETALLEValue(const aValue: String); virtual;
+ function GetTIPO_DETALLEIsNull: Boolean; virtual;
+ procedure SetTIPO_DETALLEIsNull(const aValue: Boolean); virtual;
+ function GetREFERENCIAValue: String; virtual;
+ procedure SetREFERENCIAValue(const aValue: String); virtual;
+ function GetREFERENCIAIsNull: Boolean; virtual;
+ procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
+ function GetID_ARTICULOValue: Integer; virtual;
+ procedure SetID_ARTICULOValue(const aValue: Integer); virtual;
+ function GetID_ARTICULOIsNull: Boolean; virtual;
+ procedure SetID_ARTICULOIsNull(const aValue: Boolean); virtual;
+ function GetCONCEPTOValue: String; virtual;
+ procedure SetCONCEPTOValue(const aValue: String); virtual;
+ function GetCONCEPTOIsNull: Boolean; virtual;
+ procedure SetCONCEPTOIsNull(const aValue: Boolean); virtual;
+ function GetCANTIDADValue: Integer; virtual;
+ procedure SetCANTIDADValue(const aValue: Integer); virtual;
+ function GetCANTIDADIsNull: Boolean; virtual;
+ procedure SetCANTIDADIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_UNIDADValue: Currency; virtual;
+ procedure SetIMPORTE_UNIDADValue(const aValue: Currency); virtual;
+ function GetIMPORTE_UNIDADIsNull: Boolean; virtual;
+ procedure SetIMPORTE_UNIDADIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_TOTALValue: Currency; virtual;
+ procedure SetIMPORTE_TOTALValue(const aValue: Currency); virtual;
+ function GetIMPORTE_TOTALIsNull: Boolean; virtual;
+ procedure SetIMPORTE_TOTALIsNull(const aValue: Boolean); virtual;
+ function GetDESCUENTOValue: Float; virtual;
+ procedure SetDESCUENTOValue(const aValue: Float); virtual;
+ function GetDESCUENTOIsNull: Boolean; virtual;
+ procedure SetDESCUENTOIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_PORTEValue: Currency; virtual;
+ procedure SetIMPORTE_PORTEValue(const aValue: Currency); virtual;
+ function GetIMPORTE_PORTEIsNull: Boolean; virtual;
+ procedure SetIMPORTE_PORTEIsNull(const aValue: Boolean); virtual;
+ function GetVISIBLEValue: Integer; virtual;
+ procedure SetVISIBLEValue(const aValue: Integer); virtual;
+ function GetVISIBLEIsNull: Boolean; virtual;
+ procedure SetVISIBLEIsNull(const aValue: Boolean); virtual;
+ function GetREFERENCIA_PROVEEDORValue: String; virtual;
+ procedure SetREFERENCIA_PROVEEDORValue(const aValue: String); virtual;
+ function GetREFERENCIA_PROVEEDORIsNull: Boolean; virtual;
+ procedure SetREFERENCIA_PROVEEDORIsNull(const aValue: Boolean); virtual;
+
+ { Properties }
+ property ID: Integer read GetIDValue write SetIDValue;
+ property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
+ property ID_PEDIDO: Integer read GetID_PEDIDOValue write SetID_PEDIDOValue;
+ property ID_PEDIDOIsNull: Boolean read GetID_PEDIDOIsNull write SetID_PEDIDOIsNull;
+ property POSICION: Integer read GetPOSICIONValue write SetPOSICIONValue;
+ property POSICIONIsNull: Boolean read GetPOSICIONIsNull write SetPOSICIONIsNull;
+ property TIPO_DETALLE: String read GetTIPO_DETALLEValue write SetTIPO_DETALLEValue;
+ property TIPO_DETALLEIsNull: Boolean read GetTIPO_DETALLEIsNull write SetTIPO_DETALLEIsNull;
+ property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
+ property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
+ property ID_ARTICULO: Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
+ property ID_ARTICULOIsNull: Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull;
+ property CONCEPTO: String read GetCONCEPTOValue write SetCONCEPTOValue;
+ property CONCEPTOIsNull: Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
+ property CANTIDAD: Integer read GetCANTIDADValue write SetCANTIDADValue;
+ property CANTIDADIsNull: Boolean read GetCANTIDADIsNull write SetCANTIDADIsNull;
+ property IMPORTE_UNIDAD: Currency read GetIMPORTE_UNIDADValue write SetIMPORTE_UNIDADValue;
+ property IMPORTE_UNIDADIsNull: Boolean read GetIMPORTE_UNIDADIsNull write SetIMPORTE_UNIDADIsNull;
+ property IMPORTE_TOTAL: Currency read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue;
+ property IMPORTE_TOTALIsNull: Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
+ property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
+ property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
+ property IMPORTE_PORTE: Currency read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue;
+ property IMPORTE_PORTEIsNull: Boolean read GetIMPORTE_PORTEIsNull write SetIMPORTE_PORTEIsNull;
+ property VISIBLE: Integer read GetVISIBLEValue write SetVISIBLEValue;
+ property VISIBLEIsNull: Boolean read GetVISIBLEIsNull write SetVISIBLEIsNull;
+ property REFERENCIA_PROVEEDOR: String read GetREFERENCIA_PROVEEDORValue write SetREFERENCIA_PROVEEDORValue;
+ property REFERENCIA_PROVEEDORIsNull: Boolean read GetREFERENCIA_PROVEEDORIsNull write SetREFERENCIA_PROVEEDORIsNull;
+
+ public
+ constructor Create(aDataTable: TDADataTable); override;
+ destructor Destroy; override;
+
+ end;
+
+ { IPedidoCliente_Articulos_Pendientes }
+ IPedidoCliente_Articulos_Pendientes = interface(IDAStronglyTypedDataTable)
+ ['{0A970073-F28D-4401-A9D2-091BBB5A4D31}']
+ { Property getters and setters }
+ function GetID_ARTICULOValue: Integer;
+ procedure SetID_ARTICULOValue(const aValue: Integer);
+ function GetID_ARTICULOIsNull: Boolean;
+ procedure SetID_ARTICULOIsNull(const aValue: Boolean);
+ function GetCANTIDAD_PEDValue: Integer;
+ procedure SetCANTIDAD_PEDValue(const aValue: Integer);
+ function GetCANTIDAD_PEDIsNull: Boolean;
+ procedure SetCANTIDAD_PEDIsNull(const aValue: Boolean);
+ function GetCANTIDAD_ALBValue: Integer;
+ procedure SetCANTIDAD_ALBValue(const aValue: Integer);
+ function GetCANTIDAD_ALBIsNull: Boolean;
+ procedure SetCANTIDAD_ALBIsNull(const aValue: Boolean);
+ function GetCANTIDAD_PENDIENTEValue: Integer;
+ procedure SetCANTIDAD_PENDIENTEValue(const aValue: Integer);
+ function GetCANTIDAD_PENDIENTEIsNull: Boolean;
+ procedure SetCANTIDAD_PENDIENTEIsNull(const aValue: Boolean);
+
+
+ { Properties }
+ property ID_ARTICULO: Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
+ property ID_ARTICULOIsNull: Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull;
+ property CANTIDAD_PED: Integer read GetCANTIDAD_PEDValue write SetCANTIDAD_PEDValue;
+ property CANTIDAD_PEDIsNull: Boolean read GetCANTIDAD_PEDIsNull write SetCANTIDAD_PEDIsNull;
+ property CANTIDAD_ALB: Integer read GetCANTIDAD_ALBValue write SetCANTIDAD_ALBValue;
+ property CANTIDAD_ALBIsNull: Boolean read GetCANTIDAD_ALBIsNull write SetCANTIDAD_ALBIsNull;
+ property CANTIDAD_PENDIENTE: Integer read GetCANTIDAD_PENDIENTEValue write SetCANTIDAD_PENDIENTEValue;
+ property CANTIDAD_PENDIENTEIsNull: Boolean read GetCANTIDAD_PENDIENTEIsNull write SetCANTIDAD_PENDIENTEIsNull;
+ end;
+
+ { TPedidoCliente_Articulos_PendientesDataTableRules }
+ TPedidoCliente_Articulos_PendientesDataTableRules = class(TIntfObjectDADataTableRules, IPedidoCliente_Articulos_Pendientes)
+ private
+ protected
+ { Property getters and setters }
+ function GetID_ARTICULOValue: Integer; virtual;
+ procedure SetID_ARTICULOValue(const aValue: Integer); virtual;
+ function GetID_ARTICULOIsNull: Boolean; virtual;
+ procedure SetID_ARTICULOIsNull(const aValue: Boolean); virtual;
+ function GetCANTIDAD_PEDValue: Integer; virtual;
+ procedure SetCANTIDAD_PEDValue(const aValue: Integer); virtual;
+ function GetCANTIDAD_PEDIsNull: Boolean; virtual;
+ procedure SetCANTIDAD_PEDIsNull(const aValue: Boolean); virtual;
+ function GetCANTIDAD_ALBValue: Integer; virtual;
+ procedure SetCANTIDAD_ALBValue(const aValue: Integer); virtual;
+ function GetCANTIDAD_ALBIsNull: Boolean; virtual;
+ procedure SetCANTIDAD_ALBIsNull(const aValue: Boolean); virtual;
+ function GetCANTIDAD_PENDIENTEValue: Integer; virtual;
+ procedure SetCANTIDAD_PENDIENTEValue(const aValue: Integer); virtual;
+ function GetCANTIDAD_PENDIENTEIsNull: Boolean; virtual;
+ procedure SetCANTIDAD_PENDIENTEIsNull(const aValue: Boolean); virtual;
+
+ { Properties }
+ property ID_ARTICULO: Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
+ property ID_ARTICULOIsNull: Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull;
+ property CANTIDAD_PED: Integer read GetCANTIDAD_PEDValue write SetCANTIDAD_PEDValue;
+ property CANTIDAD_PEDIsNull: Boolean read GetCANTIDAD_PEDIsNull write SetCANTIDAD_PEDIsNull;
+ property CANTIDAD_ALB: Integer read GetCANTIDAD_ALBValue write SetCANTIDAD_ALBValue;
+ property CANTIDAD_ALBIsNull: Boolean read GetCANTIDAD_ALBIsNull write SetCANTIDAD_ALBIsNull;
+ property CANTIDAD_PENDIENTE: Integer read GetCANTIDAD_PENDIENTEValue write SetCANTIDAD_PENDIENTEValue;
+ property CANTIDAD_PENDIENTEIsNull: Boolean read GetCANTIDAD_PENDIENTEIsNull write SetCANTIDAD_PENDIENTEIsNull;
+
+ public
+ constructor Create(aDataTable: TDADataTable); override;
+ destructor Destroy; override;
+
+ end;
+
+implementation
+
+uses Variants, uROBinaryHelpers;
+
+{ TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules }
+constructor TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules.Create(aDataTable: TDADataTable);
+begin
+ inherited;
+end;
+
+destructor TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules.Destroy;
+begin
+ inherited;
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules.GetID_PEDIDOValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidoCliente_ArticulosPendientesPedirAProvID_PEDIDO].AsInteger;
+end;
+
+procedure TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules.SetID_PEDIDOValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidoCliente_ArticulosPendientesPedirAProvID_PEDIDO].AsInteger := aValue;
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules.GetID_PEDIDOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidoCliente_ArticulosPendientesPedirAProvID_PEDIDO].IsNull;
+end;
+
+procedure TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules.SetID_PEDIDOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidoCliente_ArticulosPendientesPedirAProvID_PEDIDO].AsVariant := Null;
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules.GetID_ARTICULOValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidoCliente_ArticulosPendientesPedirAProvID_ARTICULO].AsInteger;
+end;
+
+procedure TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules.SetID_ARTICULOValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidoCliente_ArticulosPendientesPedirAProvID_ARTICULO].AsInteger := aValue;
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules.GetID_ARTICULOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidoCliente_ArticulosPendientesPedirAProvID_ARTICULO].IsNull;
+end;
+
+procedure TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules.SetID_ARTICULOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidoCliente_ArticulosPendientesPedirAProvID_ARTICULO].AsVariant := Null;
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules.GetCANT_PEDIDA_CLIENTEValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidoCliente_ArticulosPendientesPedirAProvCANT_PEDIDA_CLIENTE].AsInteger;
+end;
+
+procedure TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules.SetCANT_PEDIDA_CLIENTEValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidoCliente_ArticulosPendientesPedirAProvCANT_PEDIDA_CLIENTE].AsInteger := aValue;
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules.GetCANT_PEDIDA_CLIENTEIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidoCliente_ArticulosPendientesPedirAProvCANT_PEDIDA_CLIENTE].IsNull;
+end;
+
+procedure TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules.SetCANT_PEDIDA_CLIENTEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidoCliente_ArticulosPendientesPedirAProvCANT_PEDIDA_CLIENTE].AsVariant := Null;
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules.GetID_PROVEEDORValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidoCliente_ArticulosPendientesPedirAProvID_PROVEEDOR].AsInteger;
+end;
+
+procedure TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules.SetID_PROVEEDORValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidoCliente_ArticulosPendientesPedirAProvID_PROVEEDOR].AsInteger := aValue;
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules.GetID_PROVEEDORIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidoCliente_ArticulosPendientesPedirAProvID_PROVEEDOR].IsNull;
+end;
+
+procedure TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules.SetID_PROVEEDORIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidoCliente_ArticulosPendientesPedirAProvID_PROVEEDOR].AsVariant := Null;
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules.GetCANT_PEDIDA_PROVEEDORValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidoCliente_ArticulosPendientesPedirAProvCANT_PEDIDA_PROVEEDOR].AsInteger;
+end;
+
+procedure TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules.SetCANT_PEDIDA_PROVEEDORValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidoCliente_ArticulosPendientesPedirAProvCANT_PEDIDA_PROVEEDOR].AsInteger := aValue;
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules.GetCANT_PEDIDA_PROVEEDORIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidoCliente_ArticulosPendientesPedirAProvCANT_PEDIDA_PROVEEDOR].IsNull;
+end;
+
+procedure TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules.SetCANT_PEDIDA_PROVEEDORIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidoCliente_ArticulosPendientesPedirAProvCANT_PEDIDA_PROVEEDOR].AsVariant := Null;
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules.GetCANT_PENDIENTE_PEDIRValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidoCliente_ArticulosPendientesPedirAProvCANT_PENDIENTE_PEDIR].AsInteger;
+end;
+
+procedure TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules.SetCANT_PENDIENTE_PEDIRValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidoCliente_ArticulosPendientesPedirAProvCANT_PENDIENTE_PEDIR].AsInteger := aValue;
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules.GetCANT_PENDIENTE_PEDIRIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidoCliente_ArticulosPendientesPedirAProvCANT_PENDIENTE_PEDIR].IsNull;
+end;
+
+procedure TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules.SetCANT_PENDIENTE_PEDIRIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidoCliente_ArticulosPendientesPedirAProvCANT_PENDIENTE_PEDIR].AsVariant := Null;
+end;
+
+
+{ TDarReferenciaDataTableRules }
+constructor TDarReferenciaDataTableRules.Create(aDataTable: TDADataTable);
+begin
+ inherited;
+end;
+
+destructor TDarReferenciaDataTableRules.Destroy;
+begin
+ inherited;
+end;
+
+function TDarReferenciaDataTableRules.GetVALORValue: String;
+begin
+ result := DataTable.Fields[idx_DarReferenciaVALOR].AsString;
+end;
+
+procedure TDarReferenciaDataTableRules.SetVALORValue(const aValue: String);
+begin
+ DataTable.Fields[idx_DarReferenciaVALOR].AsString := aValue;
+end;
+
+function TDarReferenciaDataTableRules.GetVALORIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_DarReferenciaVALOR].IsNull;
+end;
+
+procedure TDarReferenciaDataTableRules.SetVALORIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_DarReferenciaVALOR].AsVariant := Null;
+end;
+
+
+{ TPedidosClienteDataTableRules }
+constructor TPedidosClienteDataTableRules.Create(aDataTable: TDADataTable);
+var
+ StrList: TStringList;
+begin
+ inherited;
+
+ StrList := TStringList.Create;
+ StrList.OnChange := OBSERVACIONES_OnChange;
+ f_OBSERVACIONES := NewROStrings(StrList,True);
+
+ StrList := TStringList.Create;
+ StrList.OnChange := INCIDENCIAS_OnChange;
+ f_INCIDENCIAS := NewROStrings(StrList,True);
+end;
+
+destructor TPedidosClienteDataTableRules.Destroy;
+begin
+ inherited;
+end;
+
+procedure TPedidosClienteDataTableRules.OBSERVACIONES_OnChange(Sender: TObject);
+begin
+ if DataTable.Editing then DataTable.Fields[idx_PedidosClienteOBSERVACIONES].AsVariant := TStringList(Sender).Text;
+end;
+
+procedure TPedidosClienteDataTableRules.INCIDENCIAS_OnChange(Sender: TObject);
+begin
+ if DataTable.Editing then DataTable.Fields[idx_PedidosClienteINCIDENCIAS].AsVariant := TStringList(Sender).Text;
+end;
+
+function TPedidosClienteDataTableRules.GetIDValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidosClienteID].AsInteger;
+end;
+
+procedure TPedidosClienteDataTableRules.SetIDValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidosClienteID].AsInteger := aValue;
+end;
+
+function TPedidosClienteDataTableRules.GetIDIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClienteID].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetIDIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClienteID].AsVariant := Null;
+end;
+
+function TPedidosClienteDataTableRules.GetID_EMPRESAValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidosClienteID_EMPRESA].AsInteger;
+end;
+
+procedure TPedidosClienteDataTableRules.SetID_EMPRESAValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidosClienteID_EMPRESA].AsInteger := aValue;
+end;
+
+function TPedidosClienteDataTableRules.GetID_EMPRESAIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClienteID_EMPRESA].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetID_EMPRESAIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClienteID_EMPRESA].AsVariant := Null;
+end;
+
+function TPedidosClienteDataTableRules.GetID_CLIENTEValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidosClienteID_CLIENTE].AsInteger;
+end;
+
+procedure TPedidosClienteDataTableRules.SetID_CLIENTEValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidosClienteID_CLIENTE].AsInteger := aValue;
+end;
+
+function TPedidosClienteDataTableRules.GetID_CLIENTEIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClienteID_CLIENTE].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetID_CLIENTEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClienteID_CLIENTE].AsVariant := Null;
+end;
+
+function TPedidosClienteDataTableRules.GetNOMBREValue: String;
+begin
+ result := DataTable.Fields[idx_PedidosClienteNOMBRE].AsString;
+end;
+
+procedure TPedidosClienteDataTableRules.SetNOMBREValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PedidosClienteNOMBRE].AsString := aValue;
+end;
+
+function TPedidosClienteDataTableRules.GetNOMBREIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClienteNOMBRE].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetNOMBREIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClienteNOMBRE].AsVariant := Null;
+end;
+
+function TPedidosClienteDataTableRules.GetREFERENCIAValue: String;
+begin
+ result := DataTable.Fields[idx_PedidosClienteREFERENCIA].AsString;
+end;
+
+procedure TPedidosClienteDataTableRules.SetREFERENCIAValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PedidosClienteREFERENCIA].AsString := aValue;
+end;
+
+function TPedidosClienteDataTableRules.GetREFERENCIAIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClienteREFERENCIA].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetREFERENCIAIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClienteREFERENCIA].AsVariant := Null;
+end;
+
+function TPedidosClienteDataTableRules.GetREFERENCIA_CLIENTEValue: String;
+begin
+ result := DataTable.Fields[idx_PedidosClienteREFERENCIA_CLIENTE].AsString;
+end;
+
+procedure TPedidosClienteDataTableRules.SetREFERENCIA_CLIENTEValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PedidosClienteREFERENCIA_CLIENTE].AsString := aValue;
+end;
+
+function TPedidosClienteDataTableRules.GetREFERENCIA_CLIENTEIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClienteREFERENCIA_CLIENTE].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetREFERENCIA_CLIENTEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClienteREFERENCIA_CLIENTE].AsVariant := Null;
+end;
+
+function TPedidosClienteDataTableRules.GetSITUACIONValue: String;
+begin
+ result := DataTable.Fields[idx_PedidosClienteSITUACION].AsString;
+end;
+
+procedure TPedidosClienteDataTableRules.SetSITUACIONValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PedidosClienteSITUACION].AsString := aValue;
+end;
+
+function TPedidosClienteDataTableRules.GetSITUACIONIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClienteSITUACION].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetSITUACIONIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClienteSITUACION].AsVariant := Null;
+end;
+
+function TPedidosClienteDataTableRules.GetFECHA_PEDIDOValue: DateTime;
+begin
+ result := DataTable.Fields[idx_PedidosClienteFECHA_PEDIDO].AsDateTime;
+end;
+
+procedure TPedidosClienteDataTableRules.SetFECHA_PEDIDOValue(const aValue: DateTime);
+begin
+ DataTable.Fields[idx_PedidosClienteFECHA_PEDIDO].AsDateTime := aValue;
+end;
+
+function TPedidosClienteDataTableRules.GetFECHA_PEDIDOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClienteFECHA_PEDIDO].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetFECHA_PEDIDOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClienteFECHA_PEDIDO].AsVariant := Null;
+end;
+
+function TPedidosClienteDataTableRules.GetCALLEValue: String;
+begin
+ result := DataTable.Fields[idx_PedidosClienteCALLE].AsString;
+end;
+
+procedure TPedidosClienteDataTableRules.SetCALLEValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PedidosClienteCALLE].AsString := aValue;
+end;
+
+function TPedidosClienteDataTableRules.GetCALLEIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClienteCALLE].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetCALLEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClienteCALLE].AsVariant := Null;
+end;
+
+function TPedidosClienteDataTableRules.GetCODIGO_POSTALValue: String;
+begin
+ result := DataTable.Fields[idx_PedidosClienteCODIGO_POSTAL].AsString;
+end;
+
+procedure TPedidosClienteDataTableRules.SetCODIGO_POSTALValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PedidosClienteCODIGO_POSTAL].AsString := aValue;
+end;
+
+function TPedidosClienteDataTableRules.GetCODIGO_POSTALIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClienteCODIGO_POSTAL].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetCODIGO_POSTALIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClienteCODIGO_POSTAL].AsVariant := Null;
+end;
+
+function TPedidosClienteDataTableRules.GetPOBLACIONValue: String;
+begin
+ result := DataTable.Fields[idx_PedidosClientePOBLACION].AsString;
+end;
+
+procedure TPedidosClienteDataTableRules.SetPOBLACIONValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PedidosClientePOBLACION].AsString := aValue;
+end;
+
+function TPedidosClienteDataTableRules.GetPOBLACIONIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClientePOBLACION].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetPOBLACIONIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClientePOBLACION].AsVariant := Null;
+end;
+
+function TPedidosClienteDataTableRules.GetPROVINCIAValue: String;
+begin
+ result := DataTable.Fields[idx_PedidosClientePROVINCIA].AsString;
+end;
+
+procedure TPedidosClienteDataTableRules.SetPROVINCIAValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PedidosClientePROVINCIA].AsString := aValue;
+end;
+
+function TPedidosClienteDataTableRules.GetPROVINCIAIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClientePROVINCIA].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetPROVINCIAIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClientePROVINCIA].AsVariant := Null;
+end;
+
+function TPedidosClienteDataTableRules.GetPERSONA_CONTACTOValue: String;
+begin
+ result := DataTable.Fields[idx_PedidosClientePERSONA_CONTACTO].AsString;
+end;
+
+procedure TPedidosClienteDataTableRules.SetPERSONA_CONTACTOValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PedidosClientePERSONA_CONTACTO].AsString := aValue;
+end;
+
+function TPedidosClienteDataTableRules.GetPERSONA_CONTACTOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClientePERSONA_CONTACTO].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetPERSONA_CONTACTOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClientePERSONA_CONTACTO].AsVariant := Null;
+end;
+
+function TPedidosClienteDataTableRules.GetTELEFONOValue: String;
+begin
+ result := DataTable.Fields[idx_PedidosClienteTELEFONO].AsString;
+end;
+
+procedure TPedidosClienteDataTableRules.SetTELEFONOValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PedidosClienteTELEFONO].AsString := aValue;
+end;
+
+function TPedidosClienteDataTableRules.GetTELEFONOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClienteTELEFONO].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetTELEFONOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClienteTELEFONO].AsVariant := Null;
+end;
+
+function TPedidosClienteDataTableRules.GetOBSERVACIONESValue: IROStrings;
+begin
+ result := f_OBSERVACIONES;
+ result.Text := DataTable.Fields[idx_PedidosClienteOBSERVACIONES].AsString;
+end;
+
+function TPedidosClienteDataTableRules.GetOBSERVACIONESIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClienteOBSERVACIONES].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetOBSERVACIONESIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClienteOBSERVACIONES].AsVariant := Null;
+end;
+
+function TPedidosClienteDataTableRules.GetINCIDENCIASValue: IROStrings;
+begin
+ result := f_INCIDENCIAS;
+ result.Text := DataTable.Fields[idx_PedidosClienteINCIDENCIAS].AsString;
+end;
+
+function TPedidosClienteDataTableRules.GetINCIDENCIASIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClienteINCIDENCIAS].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetINCIDENCIASIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClienteINCIDENCIAS].AsVariant := Null;
+end;
+
+function TPedidosClienteDataTableRules.GetINCIDENCIAS_ACTIVASValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidosClienteINCIDENCIAS_ACTIVAS].AsInteger;
+end;
+
+procedure TPedidosClienteDataTableRules.SetINCIDENCIAS_ACTIVASValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidosClienteINCIDENCIAS_ACTIVAS].AsInteger := aValue;
+end;
+
+function TPedidosClienteDataTableRules.GetINCIDENCIAS_ACTIVASIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClienteINCIDENCIAS_ACTIVAS].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetINCIDENCIAS_ACTIVASIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClienteINCIDENCIAS_ACTIVAS].AsVariant := Null;
+end;
+
+function TPedidosClienteDataTableRules.GetFECHA_ALTAValue: DateTime;
+begin
+ result := DataTable.Fields[idx_PedidosClienteFECHA_ALTA].AsDateTime;
+end;
+
+procedure TPedidosClienteDataTableRules.SetFECHA_ALTAValue(const aValue: DateTime);
+begin
+ DataTable.Fields[idx_PedidosClienteFECHA_ALTA].AsDateTime := aValue;
+end;
+
+function TPedidosClienteDataTableRules.GetFECHA_ALTAIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClienteFECHA_ALTA].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetFECHA_ALTAIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClienteFECHA_ALTA].AsVariant := Null;
+end;
+
+function TPedidosClienteDataTableRules.GetFECHA_MODIFICACIONValue: DateTime;
+begin
+ result := DataTable.Fields[idx_PedidosClienteFECHA_MODIFICACION].AsDateTime;
+end;
+
+procedure TPedidosClienteDataTableRules.SetFECHA_MODIFICACIONValue(const aValue: DateTime);
+begin
+ DataTable.Fields[idx_PedidosClienteFECHA_MODIFICACION].AsDateTime := aValue;
+end;
+
+function TPedidosClienteDataTableRules.GetFECHA_MODIFICACIONIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClienteFECHA_MODIFICACION].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetFECHA_MODIFICACIONIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClienteFECHA_MODIFICACION].AsVariant := Null;
+end;
+
+function TPedidosClienteDataTableRules.GetUSUARIOValue: String;
+begin
+ result := DataTable.Fields[idx_PedidosClienteUSUARIO].AsString;
+end;
+
+procedure TPedidosClienteDataTableRules.SetUSUARIOValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PedidosClienteUSUARIO].AsString := aValue;
+end;
+
+function TPedidosClienteDataTableRules.GetUSUARIOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClienteUSUARIO].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetUSUARIOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClienteUSUARIO].AsVariant := Null;
+end;
+
+function TPedidosClienteDataTableRules.GetIMPORTE_NETOValue: Currency;
+begin
+ result := DataTable.Fields[idx_PedidosClienteIMPORTE_NETO].AsCurrency;
+end;
+
+procedure TPedidosClienteDataTableRules.SetIMPORTE_NETOValue(const aValue: Currency);
+begin
+ DataTable.Fields[idx_PedidosClienteIMPORTE_NETO].AsCurrency := aValue;
+end;
+
+function TPedidosClienteDataTableRules.GetIMPORTE_NETOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClienteIMPORTE_NETO].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetIMPORTE_NETOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClienteIMPORTE_NETO].AsVariant := Null;
+end;
+
+function TPedidosClienteDataTableRules.GetIMPORTE_PORTEValue: Currency;
+begin
+ result := DataTable.Fields[idx_PedidosClienteIMPORTE_PORTE].AsCurrency;
+end;
+
+procedure TPedidosClienteDataTableRules.SetIMPORTE_PORTEValue(const aValue: Currency);
+begin
+ DataTable.Fields[idx_PedidosClienteIMPORTE_PORTE].AsCurrency := aValue;
+end;
+
+function TPedidosClienteDataTableRules.GetIMPORTE_PORTEIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClienteIMPORTE_PORTE].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetIMPORTE_PORTEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClienteIMPORTE_PORTE].AsVariant := Null;
+end;
+
+function TPedidosClienteDataTableRules.GetDESCUENTOValue: Float;
+begin
+ result := DataTable.Fields[idx_PedidosClienteDESCUENTO].AsFloat;
+end;
+
+procedure TPedidosClienteDataTableRules.SetDESCUENTOValue(const aValue: Float);
+begin
+ DataTable.Fields[idx_PedidosClienteDESCUENTO].AsFloat := aValue;
+end;
+
+function TPedidosClienteDataTableRules.GetDESCUENTOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClienteDESCUENTO].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetDESCUENTOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClienteDESCUENTO].AsVariant := Null;
+end;
+
+function TPedidosClienteDataTableRules.GetIMPORTE_DESCUENTOValue: Currency;
+begin
+ result := DataTable.Fields[idx_PedidosClienteIMPORTE_DESCUENTO].AsCurrency;
+end;
+
+procedure TPedidosClienteDataTableRules.SetIMPORTE_DESCUENTOValue(const aValue: Currency);
+begin
+ DataTable.Fields[idx_PedidosClienteIMPORTE_DESCUENTO].AsCurrency := aValue;
+end;
+
+function TPedidosClienteDataTableRules.GetIMPORTE_DESCUENTOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClienteIMPORTE_DESCUENTO].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetIMPORTE_DESCUENTOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClienteIMPORTE_DESCUENTO].AsVariant := Null;
+end;
+
+function TPedidosClienteDataTableRules.GetBASE_IMPONIBLEValue: Currency;
+begin
+ result := DataTable.Fields[idx_PedidosClienteBASE_IMPONIBLE].AsCurrency;
+end;
+
+procedure TPedidosClienteDataTableRules.SetBASE_IMPONIBLEValue(const aValue: Currency);
+begin
+ DataTable.Fields[idx_PedidosClienteBASE_IMPONIBLE].AsCurrency := aValue;
+end;
+
+function TPedidosClienteDataTableRules.GetBASE_IMPONIBLEIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClienteBASE_IMPONIBLE].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetBASE_IMPONIBLEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClienteBASE_IMPONIBLE].AsVariant := Null;
+end;
+
+function TPedidosClienteDataTableRules.GetIVAValue: Float;
+begin
+ result := DataTable.Fields[idx_PedidosClienteIVA].AsFloat;
+end;
+
+procedure TPedidosClienteDataTableRules.SetIVAValue(const aValue: Float);
+begin
+ DataTable.Fields[idx_PedidosClienteIVA].AsFloat := aValue;
+end;
+
+function TPedidosClienteDataTableRules.GetIVAIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClienteIVA].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetIVAIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClienteIVA].AsVariant := Null;
+end;
+
+function TPedidosClienteDataTableRules.GetIMPORTE_IVAValue: Currency;
+begin
+ result := DataTable.Fields[idx_PedidosClienteIMPORTE_IVA].AsCurrency;
+end;
+
+procedure TPedidosClienteDataTableRules.SetIMPORTE_IVAValue(const aValue: Currency);
+begin
+ DataTable.Fields[idx_PedidosClienteIMPORTE_IVA].AsCurrency := aValue;
+end;
+
+function TPedidosClienteDataTableRules.GetIMPORTE_IVAIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClienteIMPORTE_IVA].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetIMPORTE_IVAIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClienteIMPORTE_IVA].AsVariant := Null;
+end;
+
+function TPedidosClienteDataTableRules.GetIMPORTE_TOTALValue: Currency;
+begin
+ result := DataTable.Fields[idx_PedidosClienteIMPORTE_TOTAL].AsCurrency;
+end;
+
+procedure TPedidosClienteDataTableRules.SetIMPORTE_TOTALValue(const aValue: Currency);
+begin
+ DataTable.Fields[idx_PedidosClienteIMPORTE_TOTAL].AsCurrency := aValue;
+end;
+
+function TPedidosClienteDataTableRules.GetIMPORTE_TOTALIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClienteIMPORTE_TOTAL].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetIMPORTE_TOTALIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClienteIMPORTE_TOTAL].AsVariant := Null;
+end;
+
+function TPedidosClienteDataTableRules.GetID_FORMA_PAGOValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidosClienteID_FORMA_PAGO].AsInteger;
+end;
+
+procedure TPedidosClienteDataTableRules.SetID_FORMA_PAGOValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidosClienteID_FORMA_PAGO].AsInteger := aValue;
+end;
+
+function TPedidosClienteDataTableRules.GetID_FORMA_PAGOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClienteID_FORMA_PAGO].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetID_FORMA_PAGOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClienteID_FORMA_PAGO].AsVariant := Null;
+end;
+
+function TPedidosClienteDataTableRules.GetREF_TIENDA_WEBValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidosClienteREF_TIENDA_WEB].AsInteger;
+end;
+
+procedure TPedidosClienteDataTableRules.SetREF_TIENDA_WEBValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidosClienteREF_TIENDA_WEB].AsInteger := aValue;
+end;
+
+function TPedidosClienteDataTableRules.GetREF_TIENDA_WEBIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClienteREF_TIENDA_WEB].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetREF_TIENDA_WEBIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClienteREF_TIENDA_WEB].AsVariant := Null;
+end;
+
+function TPedidosClienteDataTableRules.GetFECHA_PREVISTA_ENVIOValue: DateTime;
+begin
+ result := DataTable.Fields[idx_PedidosClienteFECHA_PREVISTA_ENVIO].AsDateTime;
+end;
+
+procedure TPedidosClienteDataTableRules.SetFECHA_PREVISTA_ENVIOValue(const aValue: DateTime);
+begin
+ DataTable.Fields[idx_PedidosClienteFECHA_PREVISTA_ENVIO].AsDateTime := aValue;
+end;
+
+function TPedidosClienteDataTableRules.GetFECHA_PREVISTA_ENVIOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosClienteFECHA_PREVISTA_ENVIO].IsNull;
+end;
+
+procedure TPedidosClienteDataTableRules.SetFECHA_PREVISTA_ENVIOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosClienteFECHA_PREVISTA_ENVIO].AsVariant := Null;
+end;
+
+
+{ TPedidosCliente_DetallesDataTableRules }
+constructor TPedidosCliente_DetallesDataTableRules.Create(aDataTable: TDADataTable);
+begin
+ inherited;
+end;
+
+destructor TPedidosCliente_DetallesDataTableRules.Destroy;
+begin
+ inherited;
+end;
+
+function TPedidosCliente_DetallesDataTableRules.GetIDValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_DetallesID].AsInteger;
+end;
+
+procedure TPedidosCliente_DetallesDataTableRules.SetIDValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidosCliente_DetallesID].AsInteger := aValue;
+end;
+
+function TPedidosCliente_DetallesDataTableRules.GetIDIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_DetallesID].IsNull;
+end;
+
+procedure TPedidosCliente_DetallesDataTableRules.SetIDIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_DetallesID].AsVariant := Null;
+end;
+
+function TPedidosCliente_DetallesDataTableRules.GetID_PEDIDOValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_DetallesID_PEDIDO].AsInteger;
+end;
+
+procedure TPedidosCliente_DetallesDataTableRules.SetID_PEDIDOValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidosCliente_DetallesID_PEDIDO].AsInteger := aValue;
+end;
+
+function TPedidosCliente_DetallesDataTableRules.GetID_PEDIDOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_DetallesID_PEDIDO].IsNull;
+end;
+
+procedure TPedidosCliente_DetallesDataTableRules.SetID_PEDIDOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_DetallesID_PEDIDO].AsVariant := Null;
+end;
+
+function TPedidosCliente_DetallesDataTableRules.GetPOSICIONValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_DetallesPOSICION].AsInteger;
+end;
+
+procedure TPedidosCliente_DetallesDataTableRules.SetPOSICIONValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidosCliente_DetallesPOSICION].AsInteger := aValue;
+end;
+
+function TPedidosCliente_DetallesDataTableRules.GetPOSICIONIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_DetallesPOSICION].IsNull;
+end;
+
+procedure TPedidosCliente_DetallesDataTableRules.SetPOSICIONIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_DetallesPOSICION].AsVariant := Null;
+end;
+
+function TPedidosCliente_DetallesDataTableRules.GetTIPO_DETALLEValue: String;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_DetallesTIPO_DETALLE].AsString;
+end;
+
+procedure TPedidosCliente_DetallesDataTableRules.SetTIPO_DETALLEValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PedidosCliente_DetallesTIPO_DETALLE].AsString := aValue;
+end;
+
+function TPedidosCliente_DetallesDataTableRules.GetTIPO_DETALLEIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_DetallesTIPO_DETALLE].IsNull;
+end;
+
+procedure TPedidosCliente_DetallesDataTableRules.SetTIPO_DETALLEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_DetallesTIPO_DETALLE].AsVariant := Null;
+end;
+
+function TPedidosCliente_DetallesDataTableRules.GetREFERENCIAValue: String;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_DetallesREFERENCIA].AsString;
+end;
+
+procedure TPedidosCliente_DetallesDataTableRules.SetREFERENCIAValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PedidosCliente_DetallesREFERENCIA].AsString := aValue;
+end;
+
+function TPedidosCliente_DetallesDataTableRules.GetREFERENCIAIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_DetallesREFERENCIA].IsNull;
+end;
+
+procedure TPedidosCliente_DetallesDataTableRules.SetREFERENCIAIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_DetallesREFERENCIA].AsVariant := Null;
+end;
+
+function TPedidosCliente_DetallesDataTableRules.GetID_ARTICULOValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_DetallesID_ARTICULO].AsInteger;
+end;
+
+procedure TPedidosCliente_DetallesDataTableRules.SetID_ARTICULOValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidosCliente_DetallesID_ARTICULO].AsInteger := aValue;
+end;
+
+function TPedidosCliente_DetallesDataTableRules.GetID_ARTICULOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_DetallesID_ARTICULO].IsNull;
+end;
+
+procedure TPedidosCliente_DetallesDataTableRules.SetID_ARTICULOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_DetallesID_ARTICULO].AsVariant := Null;
+end;
+
+function TPedidosCliente_DetallesDataTableRules.GetCONCEPTOValue: String;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_DetallesCONCEPTO].AsString;
+end;
+
+procedure TPedidosCliente_DetallesDataTableRules.SetCONCEPTOValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PedidosCliente_DetallesCONCEPTO].AsString := aValue;
+end;
+
+function TPedidosCliente_DetallesDataTableRules.GetCONCEPTOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_DetallesCONCEPTO].IsNull;
+end;
+
+procedure TPedidosCliente_DetallesDataTableRules.SetCONCEPTOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_DetallesCONCEPTO].AsVariant := Null;
+end;
+
+function TPedidosCliente_DetallesDataTableRules.GetCANTIDADValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_DetallesCANTIDAD].AsInteger;
+end;
+
+procedure TPedidosCliente_DetallesDataTableRules.SetCANTIDADValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidosCliente_DetallesCANTIDAD].AsInteger := aValue;
+end;
+
+function TPedidosCliente_DetallesDataTableRules.GetCANTIDADIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_DetallesCANTIDAD].IsNull;
+end;
+
+procedure TPedidosCliente_DetallesDataTableRules.SetCANTIDADIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_DetallesCANTIDAD].AsVariant := Null;
+end;
+
+function TPedidosCliente_DetallesDataTableRules.GetIMPORTE_UNIDADValue: Currency;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_DetallesIMPORTE_UNIDAD].AsCurrency;
+end;
+
+procedure TPedidosCliente_DetallesDataTableRules.SetIMPORTE_UNIDADValue(const aValue: Currency);
+begin
+ DataTable.Fields[idx_PedidosCliente_DetallesIMPORTE_UNIDAD].AsCurrency := aValue;
+end;
+
+function TPedidosCliente_DetallesDataTableRules.GetIMPORTE_UNIDADIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_DetallesIMPORTE_UNIDAD].IsNull;
+end;
+
+procedure TPedidosCliente_DetallesDataTableRules.SetIMPORTE_UNIDADIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_DetallesIMPORTE_UNIDAD].AsVariant := Null;
+end;
+
+function TPedidosCliente_DetallesDataTableRules.GetIMPORTE_TOTALValue: Currency;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_DetallesIMPORTE_TOTAL].AsCurrency;
+end;
+
+procedure TPedidosCliente_DetallesDataTableRules.SetIMPORTE_TOTALValue(const aValue: Currency);
+begin
+ DataTable.Fields[idx_PedidosCliente_DetallesIMPORTE_TOTAL].AsCurrency := aValue;
+end;
+
+function TPedidosCliente_DetallesDataTableRules.GetIMPORTE_TOTALIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_DetallesIMPORTE_TOTAL].IsNull;
+end;
+
+procedure TPedidosCliente_DetallesDataTableRules.SetIMPORTE_TOTALIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_DetallesIMPORTE_TOTAL].AsVariant := Null;
+end;
+
+function TPedidosCliente_DetallesDataTableRules.GetDESCUENTOValue: Float;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_DetallesDESCUENTO].AsFloat;
+end;
+
+procedure TPedidosCliente_DetallesDataTableRules.SetDESCUENTOValue(const aValue: Float);
+begin
+ DataTable.Fields[idx_PedidosCliente_DetallesDESCUENTO].AsFloat := aValue;
+end;
+
+function TPedidosCliente_DetallesDataTableRules.GetDESCUENTOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_DetallesDESCUENTO].IsNull;
+end;
+
+procedure TPedidosCliente_DetallesDataTableRules.SetDESCUENTOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_DetallesDESCUENTO].AsVariant := Null;
+end;
+
+function TPedidosCliente_DetallesDataTableRules.GetIMPORTE_PORTEValue: Currency;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_DetallesIMPORTE_PORTE].AsCurrency;
+end;
+
+procedure TPedidosCliente_DetallesDataTableRules.SetIMPORTE_PORTEValue(const aValue: Currency);
+begin
+ DataTable.Fields[idx_PedidosCliente_DetallesIMPORTE_PORTE].AsCurrency := aValue;
+end;
+
+function TPedidosCliente_DetallesDataTableRules.GetIMPORTE_PORTEIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_DetallesIMPORTE_PORTE].IsNull;
+end;
+
+procedure TPedidosCliente_DetallesDataTableRules.SetIMPORTE_PORTEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_DetallesIMPORTE_PORTE].AsVariant := Null;
+end;
+
+function TPedidosCliente_DetallesDataTableRules.GetVISIBLEValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_DetallesVISIBLE].AsInteger;
+end;
+
+procedure TPedidosCliente_DetallesDataTableRules.SetVISIBLEValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidosCliente_DetallesVISIBLE].AsInteger := aValue;
+end;
+
+function TPedidosCliente_DetallesDataTableRules.GetVISIBLEIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_DetallesVISIBLE].IsNull;
+end;
+
+procedure TPedidosCliente_DetallesDataTableRules.SetVISIBLEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_DetallesVISIBLE].AsVariant := Null;
+end;
+
+function TPedidosCliente_DetallesDataTableRules.GetREFERENCIA_PROVEEDORValue: String;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_DetallesREFERENCIA_PROVEEDOR].AsString;
+end;
+
+procedure TPedidosCliente_DetallesDataTableRules.SetREFERENCIA_PROVEEDORValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PedidosCliente_DetallesREFERENCIA_PROVEEDOR].AsString := aValue;
+end;
+
+function TPedidosCliente_DetallesDataTableRules.GetREFERENCIA_PROVEEDORIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_DetallesREFERENCIA_PROVEEDOR].IsNull;
+end;
+
+procedure TPedidosCliente_DetallesDataTableRules.SetREFERENCIA_PROVEEDORIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_DetallesREFERENCIA_PROVEEDOR].AsVariant := Null;
+end;
+
+
+{ TPedidosCliente_RefreshDataTableRules }
+constructor TPedidosCliente_RefreshDataTableRules.Create(aDataTable: TDADataTable);
+var
+ StrList: TStringList;
+begin
+ inherited;
+
+ StrList := TStringList.Create;
+ StrList.OnChange := OBSERVACIONES_OnChange;
+ f_OBSERVACIONES := NewROStrings(StrList,True);
+
+ StrList := TStringList.Create;
+ StrList.OnChange := INCIDENCIAS_OnChange;
+ f_INCIDENCIAS := NewROStrings(StrList,True);
+end;
+
+destructor TPedidosCliente_RefreshDataTableRules.Destroy;
+begin
+ inherited;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.OBSERVACIONES_OnChange(Sender: TObject);
+begin
+ if DataTable.Editing then DataTable.Fields[idx_PedidosCliente_RefreshOBSERVACIONES].AsVariant := TStringList(Sender).Text;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.INCIDENCIAS_OnChange(Sender: TObject);
+begin
+ if DataTable.Editing then DataTable.Fields[idx_PedidosCliente_RefreshINCIDENCIAS].AsVariant := TStringList(Sender).Text;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetIDValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshID].AsInteger;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetIDValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidosCliente_RefreshID].AsInteger := aValue;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetIDIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshID].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetIDIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshID].AsVariant := Null;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetID_EMPRESAValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshID_EMPRESA].AsInteger;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetID_EMPRESAValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidosCliente_RefreshID_EMPRESA].AsInteger := aValue;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetID_EMPRESAIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshID_EMPRESA].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetID_EMPRESAIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshID_EMPRESA].AsVariant := Null;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetID_CLIENTEValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshID_CLIENTE].AsInteger;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetID_CLIENTEValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidosCliente_RefreshID_CLIENTE].AsInteger := aValue;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetID_CLIENTEIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshID_CLIENTE].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetID_CLIENTEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshID_CLIENTE].AsVariant := Null;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetNOMBREValue: String;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshNOMBRE].AsString;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetNOMBREValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PedidosCliente_RefreshNOMBRE].AsString := aValue;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetNOMBREIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshNOMBRE].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetNOMBREIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshNOMBRE].AsVariant := Null;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetREFERENCIAValue: String;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshREFERENCIA].AsString;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetREFERENCIAValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PedidosCliente_RefreshREFERENCIA].AsString := aValue;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetREFERENCIAIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshREFERENCIA].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetREFERENCIAIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshREFERENCIA].AsVariant := Null;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetREFERENCIA_CLIENTEValue: String;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshREFERENCIA_CLIENTE].AsString;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetREFERENCIA_CLIENTEValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PedidosCliente_RefreshREFERENCIA_CLIENTE].AsString := aValue;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetREFERENCIA_CLIENTEIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshREFERENCIA_CLIENTE].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetREFERENCIA_CLIENTEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshREFERENCIA_CLIENTE].AsVariant := Null;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetSITUACIONValue: String;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshSITUACION].AsString;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetSITUACIONValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PedidosCliente_RefreshSITUACION].AsString := aValue;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetSITUACIONIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshSITUACION].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetSITUACIONIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshSITUACION].AsVariant := Null;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetFECHA_PEDIDOValue: DateTime;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshFECHA_PEDIDO].AsDateTime;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetFECHA_PEDIDOValue(const aValue: DateTime);
+begin
+ DataTable.Fields[idx_PedidosCliente_RefreshFECHA_PEDIDO].AsDateTime := aValue;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetFECHA_PEDIDOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshFECHA_PEDIDO].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetFECHA_PEDIDOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshFECHA_PEDIDO].AsVariant := Null;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetCALLEValue: String;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshCALLE].AsString;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetCALLEValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PedidosCliente_RefreshCALLE].AsString := aValue;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetCALLEIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshCALLE].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetCALLEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshCALLE].AsVariant := Null;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetCODIGO_POSTALValue: String;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshCODIGO_POSTAL].AsString;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetCODIGO_POSTALValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PedidosCliente_RefreshCODIGO_POSTAL].AsString := aValue;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetCODIGO_POSTALIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshCODIGO_POSTAL].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetCODIGO_POSTALIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshCODIGO_POSTAL].AsVariant := Null;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetPOBLACIONValue: String;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshPOBLACION].AsString;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetPOBLACIONValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PedidosCliente_RefreshPOBLACION].AsString := aValue;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetPOBLACIONIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshPOBLACION].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetPOBLACIONIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshPOBLACION].AsVariant := Null;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetPROVINCIAValue: String;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshPROVINCIA].AsString;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetPROVINCIAValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PedidosCliente_RefreshPROVINCIA].AsString := aValue;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetPROVINCIAIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshPROVINCIA].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetPROVINCIAIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshPROVINCIA].AsVariant := Null;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetPERSONA_CONTACTOValue: String;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshPERSONA_CONTACTO].AsString;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetPERSONA_CONTACTOValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PedidosCliente_RefreshPERSONA_CONTACTO].AsString := aValue;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetPERSONA_CONTACTOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshPERSONA_CONTACTO].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetPERSONA_CONTACTOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshPERSONA_CONTACTO].AsVariant := Null;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetTELEFONOValue: String;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshTELEFONO].AsString;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetTELEFONOValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PedidosCliente_RefreshTELEFONO].AsString := aValue;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetTELEFONOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshTELEFONO].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetTELEFONOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshTELEFONO].AsVariant := Null;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetOBSERVACIONESValue: IROStrings;
+begin
+ result := f_OBSERVACIONES;
+ result.Text := DataTable.Fields[idx_PedidosCliente_RefreshOBSERVACIONES].AsString;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetOBSERVACIONESIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshOBSERVACIONES].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetOBSERVACIONESIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshOBSERVACIONES].AsVariant := Null;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetINCIDENCIASValue: IROStrings;
+begin
+ result := f_INCIDENCIAS;
+ result.Text := DataTable.Fields[idx_PedidosCliente_RefreshINCIDENCIAS].AsString;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetINCIDENCIASIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshINCIDENCIAS].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetINCIDENCIASIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshINCIDENCIAS].AsVariant := Null;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetINCIDENCIAS_ACTIVASValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshINCIDENCIAS_ACTIVAS].AsInteger;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetINCIDENCIAS_ACTIVASValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidosCliente_RefreshINCIDENCIAS_ACTIVAS].AsInteger := aValue;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetINCIDENCIAS_ACTIVASIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshINCIDENCIAS_ACTIVAS].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetINCIDENCIAS_ACTIVASIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshINCIDENCIAS_ACTIVAS].AsVariant := Null;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetFECHA_ALTAValue: DateTime;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshFECHA_ALTA].AsDateTime;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetFECHA_ALTAValue(const aValue: DateTime);
+begin
+ DataTable.Fields[idx_PedidosCliente_RefreshFECHA_ALTA].AsDateTime := aValue;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetFECHA_ALTAIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshFECHA_ALTA].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetFECHA_ALTAIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshFECHA_ALTA].AsVariant := Null;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetFECHA_MODIFICACIONValue: DateTime;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshFECHA_MODIFICACION].AsDateTime;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetFECHA_MODIFICACIONValue(const aValue: DateTime);
+begin
+ DataTable.Fields[idx_PedidosCliente_RefreshFECHA_MODIFICACION].AsDateTime := aValue;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetFECHA_MODIFICACIONIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshFECHA_MODIFICACION].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetFECHA_MODIFICACIONIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshFECHA_MODIFICACION].AsVariant := Null;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetUSUARIOValue: String;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshUSUARIO].AsString;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetUSUARIOValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PedidosCliente_RefreshUSUARIO].AsString := aValue;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetUSUARIOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshUSUARIO].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetUSUARIOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshUSUARIO].AsVariant := Null;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetIMPORTE_NETOValue: Currency;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshIMPORTE_NETO].AsCurrency;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetIMPORTE_NETOValue(const aValue: Currency);
+begin
+ DataTable.Fields[idx_PedidosCliente_RefreshIMPORTE_NETO].AsCurrency := aValue;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetIMPORTE_NETOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshIMPORTE_NETO].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetIMPORTE_NETOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshIMPORTE_NETO].AsVariant := Null;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetIMPORTE_PORTEValue: Currency;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshIMPORTE_PORTE].AsCurrency;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetIMPORTE_PORTEValue(const aValue: Currency);
+begin
+ DataTable.Fields[idx_PedidosCliente_RefreshIMPORTE_PORTE].AsCurrency := aValue;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetIMPORTE_PORTEIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshIMPORTE_PORTE].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetIMPORTE_PORTEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshIMPORTE_PORTE].AsVariant := Null;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetDESCUENTOValue: Float;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshDESCUENTO].AsFloat;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetDESCUENTOValue(const aValue: Float);
+begin
+ DataTable.Fields[idx_PedidosCliente_RefreshDESCUENTO].AsFloat := aValue;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetDESCUENTOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshDESCUENTO].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetDESCUENTOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshDESCUENTO].AsVariant := Null;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetIMPORTE_DESCUENTOValue: Currency;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshIMPORTE_DESCUENTO].AsCurrency;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetIMPORTE_DESCUENTOValue(const aValue: Currency);
+begin
+ DataTable.Fields[idx_PedidosCliente_RefreshIMPORTE_DESCUENTO].AsCurrency := aValue;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetIMPORTE_DESCUENTOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshIMPORTE_DESCUENTO].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetIMPORTE_DESCUENTOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshIMPORTE_DESCUENTO].AsVariant := Null;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetBASE_IMPONIBLEValue: Currency;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshBASE_IMPONIBLE].AsCurrency;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetBASE_IMPONIBLEValue(const aValue: Currency);
+begin
+ DataTable.Fields[idx_PedidosCliente_RefreshBASE_IMPONIBLE].AsCurrency := aValue;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetBASE_IMPONIBLEIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshBASE_IMPONIBLE].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetBASE_IMPONIBLEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshBASE_IMPONIBLE].AsVariant := Null;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetIVAValue: Float;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshIVA].AsFloat;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetIVAValue(const aValue: Float);
+begin
+ DataTable.Fields[idx_PedidosCliente_RefreshIVA].AsFloat := aValue;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetIVAIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshIVA].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetIVAIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshIVA].AsVariant := Null;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetIMPORTE_IVAValue: Currency;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshIMPORTE_IVA].AsCurrency;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetIMPORTE_IVAValue(const aValue: Currency);
+begin
+ DataTable.Fields[idx_PedidosCliente_RefreshIMPORTE_IVA].AsCurrency := aValue;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetIMPORTE_IVAIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshIMPORTE_IVA].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetIMPORTE_IVAIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshIMPORTE_IVA].AsVariant := Null;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetIMPORTE_TOTALValue: Currency;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshIMPORTE_TOTAL].AsCurrency;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetIMPORTE_TOTALValue(const aValue: Currency);
+begin
+ DataTable.Fields[idx_PedidosCliente_RefreshIMPORTE_TOTAL].AsCurrency := aValue;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetIMPORTE_TOTALIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshIMPORTE_TOTAL].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetIMPORTE_TOTALIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshIMPORTE_TOTAL].AsVariant := Null;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetID_FORMA_PAGOValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshID_FORMA_PAGO].AsInteger;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetID_FORMA_PAGOValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidosCliente_RefreshID_FORMA_PAGO].AsInteger := aValue;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetID_FORMA_PAGOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshID_FORMA_PAGO].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetID_FORMA_PAGOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshID_FORMA_PAGO].AsVariant := Null;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetREF_TIENDA_WEBValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshREF_TIENDA_WEB].AsInteger;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetREF_TIENDA_WEBValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidosCliente_RefreshREF_TIENDA_WEB].AsInteger := aValue;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetREF_TIENDA_WEBIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshREF_TIENDA_WEB].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetREF_TIENDA_WEBIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshREF_TIENDA_WEB].AsVariant := Null;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetFECHA_PREVISTA_ENVIOValue: DateTime;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshFECHA_PREVISTA_ENVIO].AsDateTime;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetFECHA_PREVISTA_ENVIOValue(const aValue: DateTime);
+begin
+ DataTable.Fields[idx_PedidosCliente_RefreshFECHA_PREVISTA_ENVIO].AsDateTime := aValue;
+end;
+
+function TPedidosCliente_RefreshDataTableRules.GetFECHA_PREVISTA_ENVIOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_RefreshFECHA_PREVISTA_ENVIO].IsNull;
+end;
+
+procedure TPedidosCliente_RefreshDataTableRules.SetFECHA_PREVISTA_ENVIOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_RefreshFECHA_PREVISTA_ENVIO].AsVariant := Null;
+end;
+
+
+{ TPedidosCliente_Detalles_RefreshDataTableRules }
+constructor TPedidosCliente_Detalles_RefreshDataTableRules.Create(aDataTable: TDADataTable);
+begin
+ inherited;
+end;
+
+destructor TPedidosCliente_Detalles_RefreshDataTableRules.Destroy;
+begin
+ inherited;
+end;
+
+function TPedidosCliente_Detalles_RefreshDataTableRules.GetIDValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_Detalles_RefreshID].AsInteger;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshDataTableRules.SetIDValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidosCliente_Detalles_RefreshID].AsInteger := aValue;
+end;
+
+function TPedidosCliente_Detalles_RefreshDataTableRules.GetIDIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_Detalles_RefreshID].IsNull;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshDataTableRules.SetIDIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_Detalles_RefreshID].AsVariant := Null;
+end;
+
+function TPedidosCliente_Detalles_RefreshDataTableRules.GetID_PEDIDOValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_Detalles_RefreshID_PEDIDO].AsInteger;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshDataTableRules.SetID_PEDIDOValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidosCliente_Detalles_RefreshID_PEDIDO].AsInteger := aValue;
+end;
+
+function TPedidosCliente_Detalles_RefreshDataTableRules.GetID_PEDIDOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_Detalles_RefreshID_PEDIDO].IsNull;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshDataTableRules.SetID_PEDIDOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_Detalles_RefreshID_PEDIDO].AsVariant := Null;
+end;
+
+function TPedidosCliente_Detalles_RefreshDataTableRules.GetPOSICIONValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_Detalles_RefreshPOSICION].AsInteger;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshDataTableRules.SetPOSICIONValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidosCliente_Detalles_RefreshPOSICION].AsInteger := aValue;
+end;
+
+function TPedidosCliente_Detalles_RefreshDataTableRules.GetPOSICIONIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_Detalles_RefreshPOSICION].IsNull;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshDataTableRules.SetPOSICIONIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_Detalles_RefreshPOSICION].AsVariant := Null;
+end;
+
+function TPedidosCliente_Detalles_RefreshDataTableRules.GetTIPO_DETALLEValue: String;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_Detalles_RefreshTIPO_DETALLE].AsString;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshDataTableRules.SetTIPO_DETALLEValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PedidosCliente_Detalles_RefreshTIPO_DETALLE].AsString := aValue;
+end;
+
+function TPedidosCliente_Detalles_RefreshDataTableRules.GetTIPO_DETALLEIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_Detalles_RefreshTIPO_DETALLE].IsNull;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshDataTableRules.SetTIPO_DETALLEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_Detalles_RefreshTIPO_DETALLE].AsVariant := Null;
+end;
+
+function TPedidosCliente_Detalles_RefreshDataTableRules.GetREFERENCIAValue: String;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_Detalles_RefreshREFERENCIA].AsString;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshDataTableRules.SetREFERENCIAValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PedidosCliente_Detalles_RefreshREFERENCIA].AsString := aValue;
+end;
+
+function TPedidosCliente_Detalles_RefreshDataTableRules.GetREFERENCIAIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_Detalles_RefreshREFERENCIA].IsNull;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshDataTableRules.SetREFERENCIAIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_Detalles_RefreshREFERENCIA].AsVariant := Null;
+end;
+
+function TPedidosCliente_Detalles_RefreshDataTableRules.GetID_ARTICULOValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_Detalles_RefreshID_ARTICULO].AsInteger;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshDataTableRules.SetID_ARTICULOValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidosCliente_Detalles_RefreshID_ARTICULO].AsInteger := aValue;
+end;
+
+function TPedidosCliente_Detalles_RefreshDataTableRules.GetID_ARTICULOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_Detalles_RefreshID_ARTICULO].IsNull;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshDataTableRules.SetID_ARTICULOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_Detalles_RefreshID_ARTICULO].AsVariant := Null;
+end;
+
+function TPedidosCliente_Detalles_RefreshDataTableRules.GetCONCEPTOValue: String;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_Detalles_RefreshCONCEPTO].AsString;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshDataTableRules.SetCONCEPTOValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PedidosCliente_Detalles_RefreshCONCEPTO].AsString := aValue;
+end;
+
+function TPedidosCliente_Detalles_RefreshDataTableRules.GetCONCEPTOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_Detalles_RefreshCONCEPTO].IsNull;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshDataTableRules.SetCONCEPTOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_Detalles_RefreshCONCEPTO].AsVariant := Null;
+end;
+
+function TPedidosCliente_Detalles_RefreshDataTableRules.GetCANTIDADValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_Detalles_RefreshCANTIDAD].AsInteger;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshDataTableRules.SetCANTIDADValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidosCliente_Detalles_RefreshCANTIDAD].AsInteger := aValue;
+end;
+
+function TPedidosCliente_Detalles_RefreshDataTableRules.GetCANTIDADIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_Detalles_RefreshCANTIDAD].IsNull;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshDataTableRules.SetCANTIDADIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_Detalles_RefreshCANTIDAD].AsVariant := Null;
+end;
+
+function TPedidosCliente_Detalles_RefreshDataTableRules.GetIMPORTE_UNIDADValue: Currency;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_Detalles_RefreshIMPORTE_UNIDAD].AsCurrency;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshDataTableRules.SetIMPORTE_UNIDADValue(const aValue: Currency);
+begin
+ DataTable.Fields[idx_PedidosCliente_Detalles_RefreshIMPORTE_UNIDAD].AsCurrency := aValue;
+end;
+
+function TPedidosCliente_Detalles_RefreshDataTableRules.GetIMPORTE_UNIDADIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_Detalles_RefreshIMPORTE_UNIDAD].IsNull;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshDataTableRules.SetIMPORTE_UNIDADIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_Detalles_RefreshIMPORTE_UNIDAD].AsVariant := Null;
+end;
+
+function TPedidosCliente_Detalles_RefreshDataTableRules.GetIMPORTE_TOTALValue: Currency;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_Detalles_RefreshIMPORTE_TOTAL].AsCurrency;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshDataTableRules.SetIMPORTE_TOTALValue(const aValue: Currency);
+begin
+ DataTable.Fields[idx_PedidosCliente_Detalles_RefreshIMPORTE_TOTAL].AsCurrency := aValue;
+end;
+
+function TPedidosCliente_Detalles_RefreshDataTableRules.GetIMPORTE_TOTALIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_Detalles_RefreshIMPORTE_TOTAL].IsNull;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshDataTableRules.SetIMPORTE_TOTALIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_Detalles_RefreshIMPORTE_TOTAL].AsVariant := Null;
+end;
+
+function TPedidosCliente_Detalles_RefreshDataTableRules.GetDESCUENTOValue: Float;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_Detalles_RefreshDESCUENTO].AsFloat;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshDataTableRules.SetDESCUENTOValue(const aValue: Float);
+begin
+ DataTable.Fields[idx_PedidosCliente_Detalles_RefreshDESCUENTO].AsFloat := aValue;
+end;
+
+function TPedidosCliente_Detalles_RefreshDataTableRules.GetDESCUENTOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_Detalles_RefreshDESCUENTO].IsNull;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshDataTableRules.SetDESCUENTOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_Detalles_RefreshDESCUENTO].AsVariant := Null;
+end;
+
+function TPedidosCliente_Detalles_RefreshDataTableRules.GetIMPORTE_PORTEValue: Currency;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_Detalles_RefreshIMPORTE_PORTE].AsCurrency;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshDataTableRules.SetIMPORTE_PORTEValue(const aValue: Currency);
+begin
+ DataTable.Fields[idx_PedidosCliente_Detalles_RefreshIMPORTE_PORTE].AsCurrency := aValue;
+end;
+
+function TPedidosCliente_Detalles_RefreshDataTableRules.GetIMPORTE_PORTEIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_Detalles_RefreshIMPORTE_PORTE].IsNull;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshDataTableRules.SetIMPORTE_PORTEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_Detalles_RefreshIMPORTE_PORTE].AsVariant := Null;
+end;
+
+function TPedidosCliente_Detalles_RefreshDataTableRules.GetVISIBLEValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_Detalles_RefreshVISIBLE].AsInteger;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshDataTableRules.SetVISIBLEValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidosCliente_Detalles_RefreshVISIBLE].AsInteger := aValue;
+end;
+
+function TPedidosCliente_Detalles_RefreshDataTableRules.GetVISIBLEIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_Detalles_RefreshVISIBLE].IsNull;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshDataTableRules.SetVISIBLEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_Detalles_RefreshVISIBLE].AsVariant := Null;
+end;
+
+function TPedidosCliente_Detalles_RefreshDataTableRules.GetREFERENCIA_PROVEEDORValue: String;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_Detalles_RefreshREFERENCIA_PROVEEDOR].AsString;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshDataTableRules.SetREFERENCIA_PROVEEDORValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PedidosCliente_Detalles_RefreshREFERENCIA_PROVEEDOR].AsString := aValue;
+end;
+
+function TPedidosCliente_Detalles_RefreshDataTableRules.GetREFERENCIA_PROVEEDORIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidosCliente_Detalles_RefreshREFERENCIA_PROVEEDOR].IsNull;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshDataTableRules.SetREFERENCIA_PROVEEDORIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidosCliente_Detalles_RefreshREFERENCIA_PROVEEDOR].AsVariant := Null;
+end;
+
+
+{ TPedidoCliente_Articulos_PendientesDataTableRules }
+constructor TPedidoCliente_Articulos_PendientesDataTableRules.Create(aDataTable: TDADataTable);
+begin
+ inherited;
+end;
+
+destructor TPedidoCliente_Articulos_PendientesDataTableRules.Destroy;
+begin
+ inherited;
+end;
+
+function TPedidoCliente_Articulos_PendientesDataTableRules.GetID_ARTICULOValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidoCliente_Articulos_PendientesID_ARTICULO].AsInteger;
+end;
+
+procedure TPedidoCliente_Articulos_PendientesDataTableRules.SetID_ARTICULOValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidoCliente_Articulos_PendientesID_ARTICULO].AsInteger := aValue;
+end;
+
+function TPedidoCliente_Articulos_PendientesDataTableRules.GetID_ARTICULOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidoCliente_Articulos_PendientesID_ARTICULO].IsNull;
+end;
+
+procedure TPedidoCliente_Articulos_PendientesDataTableRules.SetID_ARTICULOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidoCliente_Articulos_PendientesID_ARTICULO].AsVariant := Null;
+end;
+
+function TPedidoCliente_Articulos_PendientesDataTableRules.GetCANTIDAD_PEDValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidoCliente_Articulos_PendientesCANTIDAD_PED].AsInteger;
+end;
+
+procedure TPedidoCliente_Articulos_PendientesDataTableRules.SetCANTIDAD_PEDValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidoCliente_Articulos_PendientesCANTIDAD_PED].AsInteger := aValue;
+end;
+
+function TPedidoCliente_Articulos_PendientesDataTableRules.GetCANTIDAD_PEDIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidoCliente_Articulos_PendientesCANTIDAD_PED].IsNull;
+end;
+
+procedure TPedidoCliente_Articulos_PendientesDataTableRules.SetCANTIDAD_PEDIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidoCliente_Articulos_PendientesCANTIDAD_PED].AsVariant := Null;
+end;
+
+function TPedidoCliente_Articulos_PendientesDataTableRules.GetCANTIDAD_ALBValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidoCliente_Articulos_PendientesCANTIDAD_ALB].AsInteger;
+end;
+
+procedure TPedidoCliente_Articulos_PendientesDataTableRules.SetCANTIDAD_ALBValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidoCliente_Articulos_PendientesCANTIDAD_ALB].AsInteger := aValue;
+end;
+
+function TPedidoCliente_Articulos_PendientesDataTableRules.GetCANTIDAD_ALBIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidoCliente_Articulos_PendientesCANTIDAD_ALB].IsNull;
+end;
+
+procedure TPedidoCliente_Articulos_PendientesDataTableRules.SetCANTIDAD_ALBIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidoCliente_Articulos_PendientesCANTIDAD_ALB].AsVariant := Null;
+end;
+
+function TPedidoCliente_Articulos_PendientesDataTableRules.GetCANTIDAD_PENDIENTEValue: Integer;
+begin
+ result := DataTable.Fields[idx_PedidoCliente_Articulos_PendientesCANTIDAD_PENDIENTE].AsInteger;
+end;
+
+procedure TPedidoCliente_Articulos_PendientesDataTableRules.SetCANTIDAD_PENDIENTEValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_PedidoCliente_Articulos_PendientesCANTIDAD_PENDIENTE].AsInteger := aValue;
+end;
+
+function TPedidoCliente_Articulos_PendientesDataTableRules.GetCANTIDAD_PENDIENTEIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PedidoCliente_Articulos_PendientesCANTIDAD_PENDIENTE].IsNull;
+end;
+
+procedure TPedidoCliente_Articulos_PendientesDataTableRules.SetCANTIDAD_PENDIENTEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PedidoCliente_Articulos_PendientesCANTIDAD_PENDIENTE].AsVariant := Null;
+end;
+
+
+initialization
+ RegisterDataTableRules(RID_PedidoCliente_ArticulosPendientesPedirAProv, TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules);
+ RegisterDataTableRules(RID_DarReferencia, TDarReferenciaDataTableRules);
+ RegisterDataTableRules(RID_PedidosCliente, TPedidosClienteDataTableRules);
+ RegisterDataTableRules(RID_PedidosCliente_Detalles, TPedidosCliente_DetallesDataTableRules);
+ RegisterDataTableRules(RID_PedidosCliente_Refresh, TPedidosCliente_RefreshDataTableRules);
+ RegisterDataTableRules(RID_PedidosCliente_Detalles_Refresh, TPedidosCliente_Detalles_RefreshDataTableRules);
+ RegisterDataTableRules(RID_PedidoCliente_Articulos_Pendientes, TPedidoCliente_Articulos_PendientesDataTableRules);
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Model/schPedidosClienteServer_Intf.pas b/Source/Modulos/Presupuestos de cliente/Model/schPedidosClienteServer_Intf.pas
new file mode 100644
index 00000000..11c8f918
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Model/schPedidosClienteServer_Intf.pas
@@ -0,0 +1,4648 @@
+unit schPedidosClienteServer_Intf;
+
+interface
+
+uses
+ Classes, DB, SysUtils, uROClasses, uDADataTable, uDABusinessProcessor, FmtBCD, uROXMLIntf, schPedidosClienteClient_Intf;
+
+const
+ { Delta rules ids
+ Feel free to change them to something more human readable
+ but make sure they are unique in the context of your application }
+ RID_PedidoCliente_ArticulosPendientesPedirAProvDelta = '{8EF37E01-3DC3-4244-BDAE-C880AB4622C3}';
+ RID_DarReferenciaDelta = '{D6C8851E-C40C-4ACA-ABD1-DB387A3CDE98}';
+ RID_PedidosClienteDelta = '{B71F5150-94F5-48AB-9564-111899516BC4}';
+ RID_PedidosCliente_DetallesDelta = '{236C59E6-22B8-48D9-B7D5-6F94F8E4FDC6}';
+ RID_PedidosCliente_RefreshDelta = '{C7219F0B-F0EA-456A-B19B-E4E6F9F9157C}';
+ RID_PedidosCliente_Detalles_RefreshDelta = '{40A1CEA1-CE22-49B2-AA59-4B39B51A00F4}';
+ RID_PedidoCliente_Articulos_PendientesDelta = '{AC3995A4-F42A-4A8E-9398-B36926F20613}';
+
+type
+ { IPedidoCliente_ArticulosPendientesPedirAProvDelta }
+ IPedidoCliente_ArticulosPendientesPedirAProvDelta = interface(IPedidoCliente_ArticulosPendientesPedirAProv)
+ ['{8EF37E01-3DC3-4244-BDAE-C880AB4622C3}']
+ { Property getters and setters }
+ function GetOldID_PEDIDOValue : Integer;
+ function GetOldID_ARTICULOValue : Integer;
+ function GetOldCANT_PEDIDA_CLIENTEValue : Integer;
+ function GetOldID_PROVEEDORValue : Integer;
+ function GetOldCANT_PEDIDA_PROVEEDORValue : Integer;
+ function GetOldCANT_PENDIENTE_PEDIRValue : Integer;
+
+ { Properties }
+ property OldID_PEDIDO : Integer read GetOldID_PEDIDOValue;
+ property OldID_ARTICULO : Integer read GetOldID_ARTICULOValue;
+ property OldCANT_PEDIDA_CLIENTE : Integer read GetOldCANT_PEDIDA_CLIENTEValue;
+ property OldID_PROVEEDOR : Integer read GetOldID_PROVEEDORValue;
+ property OldCANT_PEDIDA_PROVEEDOR : Integer read GetOldCANT_PEDIDA_PROVEEDORValue;
+ property OldCANT_PENDIENTE_PEDIR : Integer read GetOldCANT_PENDIENTE_PEDIRValue;
+ end;
+
+ { TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules }
+ TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules = class(TDABusinessProcessorRules, IPedidoCliente_ArticulosPendientesPedirAProv, IPedidoCliente_ArticulosPendientesPedirAProvDelta)
+ private
+ protected
+ { Property getters and setters }
+ function GetID_PEDIDOValue: Integer; virtual;
+ function GetID_PEDIDOIsNull: Boolean; virtual;
+ function GetOldID_PEDIDOValue: Integer; virtual;
+ function GetOldID_PEDIDOIsNull: Boolean; virtual;
+ procedure SetID_PEDIDOValue(const aValue: Integer); virtual;
+ procedure SetID_PEDIDOIsNull(const aValue: Boolean); virtual;
+ function GetID_ARTICULOValue: Integer; virtual;
+ function GetID_ARTICULOIsNull: Boolean; virtual;
+ function GetOldID_ARTICULOValue: Integer; virtual;
+ function GetOldID_ARTICULOIsNull: Boolean; virtual;
+ procedure SetID_ARTICULOValue(const aValue: Integer); virtual;
+ procedure SetID_ARTICULOIsNull(const aValue: Boolean); virtual;
+ function GetCANT_PEDIDA_CLIENTEValue: Integer; virtual;
+ function GetCANT_PEDIDA_CLIENTEIsNull: Boolean; virtual;
+ function GetOldCANT_PEDIDA_CLIENTEValue: Integer; virtual;
+ function GetOldCANT_PEDIDA_CLIENTEIsNull: Boolean; virtual;
+ procedure SetCANT_PEDIDA_CLIENTEValue(const aValue: Integer); virtual;
+ procedure SetCANT_PEDIDA_CLIENTEIsNull(const aValue: Boolean); virtual;
+ function GetID_PROVEEDORValue: Integer; virtual;
+ function GetID_PROVEEDORIsNull: Boolean; virtual;
+ function GetOldID_PROVEEDORValue: Integer; virtual;
+ function GetOldID_PROVEEDORIsNull: Boolean; virtual;
+ procedure SetID_PROVEEDORValue(const aValue: Integer); virtual;
+ procedure SetID_PROVEEDORIsNull(const aValue: Boolean); virtual;
+ function GetCANT_PEDIDA_PROVEEDORValue: Integer; virtual;
+ function GetCANT_PEDIDA_PROVEEDORIsNull: Boolean; virtual;
+ function GetOldCANT_PEDIDA_PROVEEDORValue: Integer; virtual;
+ function GetOldCANT_PEDIDA_PROVEEDORIsNull: Boolean; virtual;
+ procedure SetCANT_PEDIDA_PROVEEDORValue(const aValue: Integer); virtual;
+ procedure SetCANT_PEDIDA_PROVEEDORIsNull(const aValue: Boolean); virtual;
+ function GetCANT_PENDIENTE_PEDIRValue: Integer; virtual;
+ function GetCANT_PENDIENTE_PEDIRIsNull: Boolean; virtual;
+ function GetOldCANT_PENDIENTE_PEDIRValue: Integer; virtual;
+ function GetOldCANT_PENDIENTE_PEDIRIsNull: Boolean; virtual;
+ procedure SetCANT_PENDIENTE_PEDIRValue(const aValue: Integer); virtual;
+ procedure SetCANT_PENDIENTE_PEDIRIsNull(const aValue: Boolean); virtual;
+
+ { Properties }
+ property ID_PEDIDO : Integer read GetID_PEDIDOValue write SetID_PEDIDOValue;
+ property ID_PEDIDOIsNull : Boolean read GetID_PEDIDOIsNull write SetID_PEDIDOIsNull;
+ property OldID_PEDIDO : Integer read GetOldID_PEDIDOValue;
+ property OldID_PEDIDOIsNull : Boolean read GetOldID_PEDIDOIsNull;
+ property ID_ARTICULO : Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
+ property ID_ARTICULOIsNull : Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull;
+ property OldID_ARTICULO : Integer read GetOldID_ARTICULOValue;
+ property OldID_ARTICULOIsNull : Boolean read GetOldID_ARTICULOIsNull;
+ property CANT_PEDIDA_CLIENTE : Integer read GetCANT_PEDIDA_CLIENTEValue write SetCANT_PEDIDA_CLIENTEValue;
+ property CANT_PEDIDA_CLIENTEIsNull : Boolean read GetCANT_PEDIDA_CLIENTEIsNull write SetCANT_PEDIDA_CLIENTEIsNull;
+ property OldCANT_PEDIDA_CLIENTE : Integer read GetOldCANT_PEDIDA_CLIENTEValue;
+ property OldCANT_PEDIDA_CLIENTEIsNull : Boolean read GetOldCANT_PEDIDA_CLIENTEIsNull;
+ property ID_PROVEEDOR : Integer read GetID_PROVEEDORValue write SetID_PROVEEDORValue;
+ property ID_PROVEEDORIsNull : Boolean read GetID_PROVEEDORIsNull write SetID_PROVEEDORIsNull;
+ property OldID_PROVEEDOR : Integer read GetOldID_PROVEEDORValue;
+ property OldID_PROVEEDORIsNull : Boolean read GetOldID_PROVEEDORIsNull;
+ property CANT_PEDIDA_PROVEEDOR : Integer read GetCANT_PEDIDA_PROVEEDORValue write SetCANT_PEDIDA_PROVEEDORValue;
+ property CANT_PEDIDA_PROVEEDORIsNull : Boolean read GetCANT_PEDIDA_PROVEEDORIsNull write SetCANT_PEDIDA_PROVEEDORIsNull;
+ property OldCANT_PEDIDA_PROVEEDOR : Integer read GetOldCANT_PEDIDA_PROVEEDORValue;
+ property OldCANT_PEDIDA_PROVEEDORIsNull : Boolean read GetOldCANT_PEDIDA_PROVEEDORIsNull;
+ property CANT_PENDIENTE_PEDIR : Integer read GetCANT_PENDIENTE_PEDIRValue write SetCANT_PENDIENTE_PEDIRValue;
+ property CANT_PENDIENTE_PEDIRIsNull : Boolean read GetCANT_PENDIENTE_PEDIRIsNull write SetCANT_PENDIENTE_PEDIRIsNull;
+ property OldCANT_PENDIENTE_PEDIR : Integer read GetOldCANT_PENDIENTE_PEDIRValue;
+ property OldCANT_PENDIENTE_PEDIRIsNull : Boolean read GetOldCANT_PENDIENTE_PEDIRIsNull;
+
+ public
+ constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
+ destructor Destroy; override;
+
+ end;
+
+ { IDarReferenciaDelta }
+ IDarReferenciaDelta = interface(IDarReferencia)
+ ['{D6C8851E-C40C-4ACA-ABD1-DB387A3CDE98}']
+ { Property getters and setters }
+ function GetOldVALORValue : String;
+
+ { Properties }
+ property OldVALOR : String read GetOldVALORValue;
+ end;
+
+ { TDarReferenciaBusinessProcessorRules }
+ TDarReferenciaBusinessProcessorRules = class(TDABusinessProcessorRules, IDarReferencia, IDarReferenciaDelta)
+ private
+ protected
+ { Property getters and setters }
+ function GetVALORValue: String; virtual;
+ function GetVALORIsNull: Boolean; virtual;
+ function GetOldVALORValue: String; virtual;
+ function GetOldVALORIsNull: Boolean; virtual;
+ procedure SetVALORValue(const aValue: String); virtual;
+ procedure SetVALORIsNull(const aValue: Boolean); virtual;
+
+ { Properties }
+ property VALOR : String read GetVALORValue write SetVALORValue;
+ property VALORIsNull : Boolean read GetVALORIsNull write SetVALORIsNull;
+ property OldVALOR : String read GetOldVALORValue;
+ property OldVALORIsNull : Boolean read GetOldVALORIsNull;
+
+ public
+ constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
+ destructor Destroy; override;
+
+ end;
+
+ { IPedidosClienteDelta }
+ IPedidosClienteDelta = interface(IPedidosCliente)
+ ['{B71F5150-94F5-48AB-9564-111899516BC4}']
+ { Property getters and setters }
+ function GetOldIDValue : Integer;
+ function GetOldID_EMPRESAValue : Integer;
+ function GetOldID_CLIENTEValue : Integer;
+ function GetOldNOMBREValue : String;
+ function GetOldREFERENCIAValue : String;
+ function GetOldREFERENCIA_CLIENTEValue : String;
+ function GetOldSITUACIONValue : String;
+ function GetOldFECHA_PEDIDOValue : DateTime;
+ function GetOldCALLEValue : String;
+ function GetOldCODIGO_POSTALValue : String;
+ function GetOldPOBLACIONValue : String;
+ function GetOldPROVINCIAValue : String;
+ function GetOldPERSONA_CONTACTOValue : String;
+ function GetOldTELEFONOValue : String;
+ function GetOldOBSERVACIONESValue : IROStrings;
+ function GetOldINCIDENCIASValue : IROStrings;
+ function GetOldINCIDENCIAS_ACTIVASValue : Integer;
+ function GetOldFECHA_ALTAValue : DateTime;
+ function GetOldFECHA_MODIFICACIONValue : DateTime;
+ function GetOldUSUARIOValue : String;
+ function GetOldIMPORTE_NETOValue : Currency;
+ function GetOldIMPORTE_PORTEValue : Currency;
+ function GetOldDESCUENTOValue : Float;
+ function GetOldIMPORTE_DESCUENTOValue : Currency;
+ function GetOldBASE_IMPONIBLEValue : Currency;
+ function GetOldIVAValue : Float;
+ function GetOldIMPORTE_IVAValue : Currency;
+ function GetOldIMPORTE_TOTALValue : Currency;
+ function GetOldID_FORMA_PAGOValue : Integer;
+ function GetOldREF_TIENDA_WEBValue : Integer;
+ function GetOldFECHA_PREVISTA_ENVIOValue : DateTime;
+
+ { Properties }
+ property OldID : Integer read GetOldIDValue;
+ property OldID_EMPRESA : Integer read GetOldID_EMPRESAValue;
+ property OldID_CLIENTE : Integer read GetOldID_CLIENTEValue;
+ property OldNOMBRE : String read GetOldNOMBREValue;
+ property OldREFERENCIA : String read GetOldREFERENCIAValue;
+ property OldREFERENCIA_CLIENTE : String read GetOldREFERENCIA_CLIENTEValue;
+ property OldSITUACION : String read GetOldSITUACIONValue;
+ property OldFECHA_PEDIDO : DateTime read GetOldFECHA_PEDIDOValue;
+ property OldCALLE : String read GetOldCALLEValue;
+ property OldCODIGO_POSTAL : String read GetOldCODIGO_POSTALValue;
+ property OldPOBLACION : String read GetOldPOBLACIONValue;
+ property OldPROVINCIA : String read GetOldPROVINCIAValue;
+ property OldPERSONA_CONTACTO : String read GetOldPERSONA_CONTACTOValue;
+ property OldTELEFONO : String read GetOldTELEFONOValue;
+ property OldOBSERVACIONES : IROStrings read GetOldOBSERVACIONESValue;
+ property OldINCIDENCIAS : IROStrings read GetOldINCIDENCIASValue;
+ property OldINCIDENCIAS_ACTIVAS : Integer read GetOldINCIDENCIAS_ACTIVASValue;
+ property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue;
+ property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue;
+ property OldUSUARIO : String read GetOldUSUARIOValue;
+ property OldIMPORTE_NETO : Currency read GetOldIMPORTE_NETOValue;
+ property OldIMPORTE_PORTE : Currency read GetOldIMPORTE_PORTEValue;
+ property OldDESCUENTO : Float read GetOldDESCUENTOValue;
+ property OldIMPORTE_DESCUENTO : Currency read GetOldIMPORTE_DESCUENTOValue;
+ property OldBASE_IMPONIBLE : Currency read GetOldBASE_IMPONIBLEValue;
+ property OldIVA : Float read GetOldIVAValue;
+ property OldIMPORTE_IVA : Currency read GetOldIMPORTE_IVAValue;
+ property OldIMPORTE_TOTAL : Currency read GetOldIMPORTE_TOTALValue;
+ property OldID_FORMA_PAGO : Integer read GetOldID_FORMA_PAGOValue;
+ property OldREF_TIENDA_WEB : Integer read GetOldREF_TIENDA_WEBValue;
+ property OldFECHA_PREVISTA_ENVIO : DateTime read GetOldFECHA_PREVISTA_ENVIOValue;
+ end;
+
+ { TPedidosClienteBusinessProcessorRules }
+ TPedidosClienteBusinessProcessorRules = class(TDABusinessProcessorRules, IPedidosCliente, IPedidosClienteDelta)
+ private
+ f_OBSERVACIONES: IROStrings;
+ f_INCIDENCIAS: IROStrings;
+ procedure OBSERVACIONES_OnChange(Sender: TObject);
+ procedure INCIDENCIAS_OnChange(Sender: TObject);
+ protected
+ { Property getters and setters }
+ function GetIDValue: Integer; virtual;
+ function GetIDIsNull: Boolean; virtual;
+ function GetOldIDValue: Integer; virtual;
+ function GetOldIDIsNull: Boolean; virtual;
+ procedure SetIDValue(const aValue: Integer); virtual;
+ procedure SetIDIsNull(const aValue: Boolean); virtual;
+ function GetID_EMPRESAValue: Integer; virtual;
+ function GetID_EMPRESAIsNull: Boolean; virtual;
+ function GetOldID_EMPRESAValue: Integer; virtual;
+ function GetOldID_EMPRESAIsNull: Boolean; virtual;
+ procedure SetID_EMPRESAValue(const aValue: Integer); virtual;
+ procedure SetID_EMPRESAIsNull(const aValue: Boolean); virtual;
+ function GetID_CLIENTEValue: Integer; virtual;
+ function GetID_CLIENTEIsNull: Boolean; virtual;
+ function GetOldID_CLIENTEValue: Integer; virtual;
+ function GetOldID_CLIENTEIsNull: Boolean; virtual;
+ procedure SetID_CLIENTEValue(const aValue: Integer); virtual;
+ procedure SetID_CLIENTEIsNull(const aValue: Boolean); virtual;
+ function GetNOMBREValue: String; virtual;
+ function GetNOMBREIsNull: Boolean; virtual;
+ function GetOldNOMBREValue: String; virtual;
+ function GetOldNOMBREIsNull: Boolean; virtual;
+ procedure SetNOMBREValue(const aValue: String); virtual;
+ procedure SetNOMBREIsNull(const aValue: Boolean); virtual;
+ function GetREFERENCIAValue: String; virtual;
+ function GetREFERENCIAIsNull: Boolean; virtual;
+ function GetOldREFERENCIAValue: String; virtual;
+ function GetOldREFERENCIAIsNull: Boolean; virtual;
+ procedure SetREFERENCIAValue(const aValue: String); virtual;
+ procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
+ function GetREFERENCIA_CLIENTEValue: String; virtual;
+ function GetREFERENCIA_CLIENTEIsNull: Boolean; virtual;
+ function GetOldREFERENCIA_CLIENTEValue: String; virtual;
+ function GetOldREFERENCIA_CLIENTEIsNull: Boolean; virtual;
+ procedure SetREFERENCIA_CLIENTEValue(const aValue: String); virtual;
+ procedure SetREFERENCIA_CLIENTEIsNull(const aValue: Boolean); virtual;
+ function GetSITUACIONValue: String; virtual;
+ function GetSITUACIONIsNull: Boolean; virtual;
+ function GetOldSITUACIONValue: String; virtual;
+ function GetOldSITUACIONIsNull: Boolean; virtual;
+ procedure SetSITUACIONValue(const aValue: String); virtual;
+ procedure SetSITUACIONIsNull(const aValue: Boolean); virtual;
+ function GetFECHA_PEDIDOValue: DateTime; virtual;
+ function GetFECHA_PEDIDOIsNull: Boolean; virtual;
+ function GetOldFECHA_PEDIDOValue: DateTime; virtual;
+ function GetOldFECHA_PEDIDOIsNull: Boolean; virtual;
+ procedure SetFECHA_PEDIDOValue(const aValue: DateTime); virtual;
+ procedure SetFECHA_PEDIDOIsNull(const aValue: Boolean); virtual;
+ function GetCALLEValue: String; virtual;
+ function GetCALLEIsNull: Boolean; virtual;
+ function GetOldCALLEValue: String; virtual;
+ function GetOldCALLEIsNull: Boolean; virtual;
+ procedure SetCALLEValue(const aValue: String); virtual;
+ procedure SetCALLEIsNull(const aValue: Boolean); virtual;
+ function GetCODIGO_POSTALValue: String; virtual;
+ function GetCODIGO_POSTALIsNull: Boolean; virtual;
+ function GetOldCODIGO_POSTALValue: String; virtual;
+ function GetOldCODIGO_POSTALIsNull: Boolean; virtual;
+ procedure SetCODIGO_POSTALValue(const aValue: String); virtual;
+ procedure SetCODIGO_POSTALIsNull(const aValue: Boolean); virtual;
+ function GetPOBLACIONValue: String; virtual;
+ function GetPOBLACIONIsNull: Boolean; virtual;
+ function GetOldPOBLACIONValue: String; virtual;
+ function GetOldPOBLACIONIsNull: Boolean; virtual;
+ procedure SetPOBLACIONValue(const aValue: String); virtual;
+ procedure SetPOBLACIONIsNull(const aValue: Boolean); virtual;
+ function GetPROVINCIAValue: String; virtual;
+ function GetPROVINCIAIsNull: Boolean; virtual;
+ function GetOldPROVINCIAValue: String; virtual;
+ function GetOldPROVINCIAIsNull: Boolean; virtual;
+ procedure SetPROVINCIAValue(const aValue: String); virtual;
+ procedure SetPROVINCIAIsNull(const aValue: Boolean); virtual;
+ function GetPERSONA_CONTACTOValue: String; virtual;
+ function GetPERSONA_CONTACTOIsNull: Boolean; virtual;
+ function GetOldPERSONA_CONTACTOValue: String; virtual;
+ function GetOldPERSONA_CONTACTOIsNull: Boolean; virtual;
+ procedure SetPERSONA_CONTACTOValue(const aValue: String); virtual;
+ procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean); virtual;
+ function GetTELEFONOValue: String; virtual;
+ function GetTELEFONOIsNull: Boolean; virtual;
+ function GetOldTELEFONOValue: String; virtual;
+ function GetOldTELEFONOIsNull: Boolean; virtual;
+ procedure SetTELEFONOValue(const aValue: String); virtual;
+ procedure SetTELEFONOIsNull(const aValue: Boolean); virtual;
+ function GetOBSERVACIONESValue: IROStrings; virtual;
+ function GetOBSERVACIONESIsNull: Boolean; virtual;
+ function GetOldOBSERVACIONESValue: IROStrings; virtual;
+ function GetOldOBSERVACIONESIsNull: Boolean; virtual;
+ procedure SetOBSERVACIONESIsNull(const aValue: Boolean); virtual;
+ function GetINCIDENCIASValue: IROStrings; virtual;
+ function GetINCIDENCIASIsNull: Boolean; virtual;
+ function GetOldINCIDENCIASValue: IROStrings; virtual;
+ function GetOldINCIDENCIASIsNull: Boolean; virtual;
+ procedure SetINCIDENCIASIsNull(const aValue: Boolean); virtual;
+ function GetINCIDENCIAS_ACTIVASValue: Integer; virtual;
+ function GetINCIDENCIAS_ACTIVASIsNull: Boolean; virtual;
+ function GetOldINCIDENCIAS_ACTIVASValue: Integer; virtual;
+ function GetOldINCIDENCIAS_ACTIVASIsNull: Boolean; virtual;
+ procedure SetINCIDENCIAS_ACTIVASValue(const aValue: Integer); virtual;
+ procedure SetINCIDENCIAS_ACTIVASIsNull(const aValue: Boolean); virtual;
+ function GetFECHA_ALTAValue: DateTime; virtual;
+ function GetFECHA_ALTAIsNull: Boolean; virtual;
+ function GetOldFECHA_ALTAValue: DateTime; virtual;
+ function GetOldFECHA_ALTAIsNull: Boolean; virtual;
+ procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual;
+ procedure SetFECHA_ALTAIsNull(const aValue: Boolean); virtual;
+ function GetFECHA_MODIFICACIONValue: DateTime; virtual;
+ function GetFECHA_MODIFICACIONIsNull: Boolean; virtual;
+ function GetOldFECHA_MODIFICACIONValue: DateTime; virtual;
+ function GetOldFECHA_MODIFICACIONIsNull: Boolean; virtual;
+ procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual;
+ procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); virtual;
+ function GetUSUARIOValue: String; virtual;
+ function GetUSUARIOIsNull: Boolean; virtual;
+ function GetOldUSUARIOValue: String; virtual;
+ function GetOldUSUARIOIsNull: Boolean; virtual;
+ procedure SetUSUARIOValue(const aValue: String); virtual;
+ procedure SetUSUARIOIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_NETOValue: Currency; virtual;
+ function GetIMPORTE_NETOIsNull: Boolean; virtual;
+ function GetOldIMPORTE_NETOValue: Currency; virtual;
+ function GetOldIMPORTE_NETOIsNull: Boolean; virtual;
+ procedure SetIMPORTE_NETOValue(const aValue: Currency); virtual;
+ procedure SetIMPORTE_NETOIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_PORTEValue: Currency; virtual;
+ function GetIMPORTE_PORTEIsNull: Boolean; virtual;
+ function GetOldIMPORTE_PORTEValue: Currency; virtual;
+ function GetOldIMPORTE_PORTEIsNull: Boolean; virtual;
+ procedure SetIMPORTE_PORTEValue(const aValue: Currency); virtual;
+ procedure SetIMPORTE_PORTEIsNull(const aValue: Boolean); virtual;
+ function GetDESCUENTOValue: Float; virtual;
+ function GetDESCUENTOIsNull: Boolean; virtual;
+ function GetOldDESCUENTOValue: Float; virtual;
+ function GetOldDESCUENTOIsNull: Boolean; virtual;
+ procedure SetDESCUENTOValue(const aValue: Float); virtual;
+ procedure SetDESCUENTOIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_DESCUENTOValue: Currency; virtual;
+ function GetIMPORTE_DESCUENTOIsNull: Boolean; virtual;
+ function GetOldIMPORTE_DESCUENTOValue: Currency; virtual;
+ function GetOldIMPORTE_DESCUENTOIsNull: Boolean; virtual;
+ procedure SetIMPORTE_DESCUENTOValue(const aValue: Currency); virtual;
+ procedure SetIMPORTE_DESCUENTOIsNull(const aValue: Boolean); virtual;
+ function GetBASE_IMPONIBLEValue: Currency; virtual;
+ function GetBASE_IMPONIBLEIsNull: Boolean; virtual;
+ function GetOldBASE_IMPONIBLEValue: Currency; virtual;
+ function GetOldBASE_IMPONIBLEIsNull: Boolean; virtual;
+ procedure SetBASE_IMPONIBLEValue(const aValue: Currency); virtual;
+ procedure SetBASE_IMPONIBLEIsNull(const aValue: Boolean); virtual;
+ function GetIVAValue: Float; virtual;
+ function GetIVAIsNull: Boolean; virtual;
+ function GetOldIVAValue: Float; virtual;
+ function GetOldIVAIsNull: Boolean; virtual;
+ procedure SetIVAValue(const aValue: Float); virtual;
+ procedure SetIVAIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_IVAValue: Currency; virtual;
+ function GetIMPORTE_IVAIsNull: Boolean; virtual;
+ function GetOldIMPORTE_IVAValue: Currency; virtual;
+ function GetOldIMPORTE_IVAIsNull: Boolean; virtual;
+ procedure SetIMPORTE_IVAValue(const aValue: Currency); virtual;
+ procedure SetIMPORTE_IVAIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_TOTALValue: Currency; virtual;
+ function GetIMPORTE_TOTALIsNull: Boolean; virtual;
+ function GetOldIMPORTE_TOTALValue: Currency; virtual;
+ function GetOldIMPORTE_TOTALIsNull: Boolean; virtual;
+ procedure SetIMPORTE_TOTALValue(const aValue: Currency); virtual;
+ procedure SetIMPORTE_TOTALIsNull(const aValue: Boolean); virtual;
+ function GetID_FORMA_PAGOValue: Integer; virtual;
+ function GetID_FORMA_PAGOIsNull: Boolean; virtual;
+ function GetOldID_FORMA_PAGOValue: Integer; virtual;
+ function GetOldID_FORMA_PAGOIsNull: Boolean; virtual;
+ procedure SetID_FORMA_PAGOValue(const aValue: Integer); virtual;
+ procedure SetID_FORMA_PAGOIsNull(const aValue: Boolean); virtual;
+ function GetREF_TIENDA_WEBValue: Integer; virtual;
+ function GetREF_TIENDA_WEBIsNull: Boolean; virtual;
+ function GetOldREF_TIENDA_WEBValue: Integer; virtual;
+ function GetOldREF_TIENDA_WEBIsNull: Boolean; virtual;
+ procedure SetREF_TIENDA_WEBValue(const aValue: Integer); virtual;
+ procedure SetREF_TIENDA_WEBIsNull(const aValue: Boolean); virtual;
+ function GetFECHA_PREVISTA_ENVIOValue: DateTime; virtual;
+ function GetFECHA_PREVISTA_ENVIOIsNull: Boolean; virtual;
+ function GetOldFECHA_PREVISTA_ENVIOValue: DateTime; virtual;
+ function GetOldFECHA_PREVISTA_ENVIOIsNull: Boolean; virtual;
+ procedure SetFECHA_PREVISTA_ENVIOValue(const aValue: DateTime); virtual;
+ procedure SetFECHA_PREVISTA_ENVIOIsNull(const aValue: Boolean); virtual;
+
+ { Properties }
+ property ID : Integer read GetIDValue write SetIDValue;
+ property IDIsNull : Boolean read GetIDIsNull write SetIDIsNull;
+ property OldID : Integer read GetOldIDValue;
+ property OldIDIsNull : Boolean read GetOldIDIsNull;
+ property ID_EMPRESA : Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
+ property ID_EMPRESAIsNull : Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
+ property OldID_EMPRESA : Integer read GetOldID_EMPRESAValue;
+ property OldID_EMPRESAIsNull : Boolean read GetOldID_EMPRESAIsNull;
+ property ID_CLIENTE : Integer read GetID_CLIENTEValue write SetID_CLIENTEValue;
+ property ID_CLIENTEIsNull : Boolean read GetID_CLIENTEIsNull write SetID_CLIENTEIsNull;
+ property OldID_CLIENTE : Integer read GetOldID_CLIENTEValue;
+ property OldID_CLIENTEIsNull : Boolean read GetOldID_CLIENTEIsNull;
+ property NOMBRE : String read GetNOMBREValue write SetNOMBREValue;
+ property NOMBREIsNull : Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
+ property OldNOMBRE : String read GetOldNOMBREValue;
+ property OldNOMBREIsNull : Boolean read GetOldNOMBREIsNull;
+ property REFERENCIA : String read GetREFERENCIAValue write SetREFERENCIAValue;
+ property REFERENCIAIsNull : Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
+ property OldREFERENCIA : String read GetOldREFERENCIAValue;
+ property OldREFERENCIAIsNull : Boolean read GetOldREFERENCIAIsNull;
+ property REFERENCIA_CLIENTE : String read GetREFERENCIA_CLIENTEValue write SetREFERENCIA_CLIENTEValue;
+ property REFERENCIA_CLIENTEIsNull : Boolean read GetREFERENCIA_CLIENTEIsNull write SetREFERENCIA_CLIENTEIsNull;
+ property OldREFERENCIA_CLIENTE : String read GetOldREFERENCIA_CLIENTEValue;
+ property OldREFERENCIA_CLIENTEIsNull : Boolean read GetOldREFERENCIA_CLIENTEIsNull;
+ property SITUACION : String read GetSITUACIONValue write SetSITUACIONValue;
+ property SITUACIONIsNull : Boolean read GetSITUACIONIsNull write SetSITUACIONIsNull;
+ property OldSITUACION : String read GetOldSITUACIONValue;
+ property OldSITUACIONIsNull : Boolean read GetOldSITUACIONIsNull;
+ property FECHA_PEDIDO : DateTime read GetFECHA_PEDIDOValue write SetFECHA_PEDIDOValue;
+ property FECHA_PEDIDOIsNull : Boolean read GetFECHA_PEDIDOIsNull write SetFECHA_PEDIDOIsNull;
+ property OldFECHA_PEDIDO : DateTime read GetOldFECHA_PEDIDOValue;
+ property OldFECHA_PEDIDOIsNull : Boolean read GetOldFECHA_PEDIDOIsNull;
+ property CALLE : String read GetCALLEValue write SetCALLEValue;
+ property CALLEIsNull : Boolean read GetCALLEIsNull write SetCALLEIsNull;
+ property OldCALLE : String read GetOldCALLEValue;
+ property OldCALLEIsNull : Boolean read GetOldCALLEIsNull;
+ property CODIGO_POSTAL : String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue;
+ property CODIGO_POSTALIsNull : Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull;
+ property OldCODIGO_POSTAL : String read GetOldCODIGO_POSTALValue;
+ property OldCODIGO_POSTALIsNull : Boolean read GetOldCODIGO_POSTALIsNull;
+ property POBLACION : String read GetPOBLACIONValue write SetPOBLACIONValue;
+ property POBLACIONIsNull : Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull;
+ property OldPOBLACION : String read GetOldPOBLACIONValue;
+ property OldPOBLACIONIsNull : Boolean read GetOldPOBLACIONIsNull;
+ property PROVINCIA : String read GetPROVINCIAValue write SetPROVINCIAValue;
+ property PROVINCIAIsNull : Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull;
+ property OldPROVINCIA : String read GetOldPROVINCIAValue;
+ property OldPROVINCIAIsNull : Boolean read GetOldPROVINCIAIsNull;
+ property PERSONA_CONTACTO : String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
+ property PERSONA_CONTACTOIsNull : Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;
+ property OldPERSONA_CONTACTO : String read GetOldPERSONA_CONTACTOValue;
+ property OldPERSONA_CONTACTOIsNull : Boolean read GetOldPERSONA_CONTACTOIsNull;
+ property TELEFONO : String read GetTELEFONOValue write SetTELEFONOValue;
+ property TELEFONOIsNull : Boolean read GetTELEFONOIsNull write SetTELEFONOIsNull;
+ property OldTELEFONO : String read GetOldTELEFONOValue;
+ property OldTELEFONOIsNull : Boolean read GetOldTELEFONOIsNull;
+ property OBSERVACIONES : IROStrings read GetOBSERVACIONESValue;
+ property OBSERVACIONESIsNull : Boolean read GetOBSERVACIONESIsNull write SetOBSERVACIONESIsNull;
+ property OldOBSERVACIONES : IROStrings read GetOldOBSERVACIONESValue;
+ property OldOBSERVACIONESIsNull : Boolean read GetOldOBSERVACIONESIsNull;
+ property INCIDENCIAS : IROStrings read GetINCIDENCIASValue;
+ property INCIDENCIASIsNull : Boolean read GetINCIDENCIASIsNull write SetINCIDENCIASIsNull;
+ property OldINCIDENCIAS : IROStrings read GetOldINCIDENCIASValue;
+ property OldINCIDENCIASIsNull : Boolean read GetOldINCIDENCIASIsNull;
+ property INCIDENCIAS_ACTIVAS : Integer read GetINCIDENCIAS_ACTIVASValue write SetINCIDENCIAS_ACTIVASValue;
+ property INCIDENCIAS_ACTIVASIsNull : Boolean read GetINCIDENCIAS_ACTIVASIsNull write SetINCIDENCIAS_ACTIVASIsNull;
+ property OldINCIDENCIAS_ACTIVAS : Integer read GetOldINCIDENCIAS_ACTIVASValue;
+ property OldINCIDENCIAS_ACTIVASIsNull : Boolean read GetOldINCIDENCIAS_ACTIVASIsNull;
+ property FECHA_ALTA : DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue;
+ property FECHA_ALTAIsNull : Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull;
+ property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue;
+ property OldFECHA_ALTAIsNull : Boolean read GetOldFECHA_ALTAIsNull;
+ property FECHA_MODIFICACION : DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue;
+ property FECHA_MODIFICACIONIsNull : Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull;
+ property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue;
+ property OldFECHA_MODIFICACIONIsNull : Boolean read GetOldFECHA_MODIFICACIONIsNull;
+ property USUARIO : String read GetUSUARIOValue write SetUSUARIOValue;
+ property USUARIOIsNull : Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull;
+ property OldUSUARIO : String read GetOldUSUARIOValue;
+ property OldUSUARIOIsNull : Boolean read GetOldUSUARIOIsNull;
+ property IMPORTE_NETO : Currency read GetIMPORTE_NETOValue write SetIMPORTE_NETOValue;
+ property IMPORTE_NETOIsNull : Boolean read GetIMPORTE_NETOIsNull write SetIMPORTE_NETOIsNull;
+ property OldIMPORTE_NETO : Currency read GetOldIMPORTE_NETOValue;
+ property OldIMPORTE_NETOIsNull : Boolean read GetOldIMPORTE_NETOIsNull;
+ property IMPORTE_PORTE : Currency read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue;
+ property IMPORTE_PORTEIsNull : Boolean read GetIMPORTE_PORTEIsNull write SetIMPORTE_PORTEIsNull;
+ property OldIMPORTE_PORTE : Currency read GetOldIMPORTE_PORTEValue;
+ property OldIMPORTE_PORTEIsNull : Boolean read GetOldIMPORTE_PORTEIsNull;
+ property DESCUENTO : Float read GetDESCUENTOValue write SetDESCUENTOValue;
+ property DESCUENTOIsNull : Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
+ property OldDESCUENTO : Float read GetOldDESCUENTOValue;
+ property OldDESCUENTOIsNull : Boolean read GetOldDESCUENTOIsNull;
+ property IMPORTE_DESCUENTO : Currency read GetIMPORTE_DESCUENTOValue write SetIMPORTE_DESCUENTOValue;
+ property IMPORTE_DESCUENTOIsNull : Boolean read GetIMPORTE_DESCUENTOIsNull write SetIMPORTE_DESCUENTOIsNull;
+ property OldIMPORTE_DESCUENTO : Currency read GetOldIMPORTE_DESCUENTOValue;
+ property OldIMPORTE_DESCUENTOIsNull : Boolean read GetOldIMPORTE_DESCUENTOIsNull;
+ property BASE_IMPONIBLE : Currency read GetBASE_IMPONIBLEValue write SetBASE_IMPONIBLEValue;
+ property BASE_IMPONIBLEIsNull : Boolean read GetBASE_IMPONIBLEIsNull write SetBASE_IMPONIBLEIsNull;
+ property OldBASE_IMPONIBLE : Currency read GetOldBASE_IMPONIBLEValue;
+ property OldBASE_IMPONIBLEIsNull : Boolean read GetOldBASE_IMPONIBLEIsNull;
+ property IVA : Float read GetIVAValue write SetIVAValue;
+ property IVAIsNull : Boolean read GetIVAIsNull write SetIVAIsNull;
+ property OldIVA : Float read GetOldIVAValue;
+ property OldIVAIsNull : Boolean read GetOldIVAIsNull;
+ property IMPORTE_IVA : Currency read GetIMPORTE_IVAValue write SetIMPORTE_IVAValue;
+ property IMPORTE_IVAIsNull : Boolean read GetIMPORTE_IVAIsNull write SetIMPORTE_IVAIsNull;
+ property OldIMPORTE_IVA : Currency read GetOldIMPORTE_IVAValue;
+ property OldIMPORTE_IVAIsNull : Boolean read GetOldIMPORTE_IVAIsNull;
+ property IMPORTE_TOTAL : Currency read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue;
+ property IMPORTE_TOTALIsNull : Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
+ property OldIMPORTE_TOTAL : Currency read GetOldIMPORTE_TOTALValue;
+ property OldIMPORTE_TOTALIsNull : Boolean read GetOldIMPORTE_TOTALIsNull;
+ property ID_FORMA_PAGO : Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
+ property ID_FORMA_PAGOIsNull : Boolean read GetID_FORMA_PAGOIsNull write SetID_FORMA_PAGOIsNull;
+ property OldID_FORMA_PAGO : Integer read GetOldID_FORMA_PAGOValue;
+ property OldID_FORMA_PAGOIsNull : Boolean read GetOldID_FORMA_PAGOIsNull;
+ property REF_TIENDA_WEB : Integer read GetREF_TIENDA_WEBValue write SetREF_TIENDA_WEBValue;
+ property REF_TIENDA_WEBIsNull : Boolean read GetREF_TIENDA_WEBIsNull write SetREF_TIENDA_WEBIsNull;
+ property OldREF_TIENDA_WEB : Integer read GetOldREF_TIENDA_WEBValue;
+ property OldREF_TIENDA_WEBIsNull : Boolean read GetOldREF_TIENDA_WEBIsNull;
+ property FECHA_PREVISTA_ENVIO : DateTime read GetFECHA_PREVISTA_ENVIOValue write SetFECHA_PREVISTA_ENVIOValue;
+ property FECHA_PREVISTA_ENVIOIsNull : Boolean read GetFECHA_PREVISTA_ENVIOIsNull write SetFECHA_PREVISTA_ENVIOIsNull;
+ property OldFECHA_PREVISTA_ENVIO : DateTime read GetOldFECHA_PREVISTA_ENVIOValue;
+ property OldFECHA_PREVISTA_ENVIOIsNull : Boolean read GetOldFECHA_PREVISTA_ENVIOIsNull;
+
+ public
+ constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
+ destructor Destroy; override;
+
+ end;
+
+ { IPedidosCliente_DetallesDelta }
+ IPedidosCliente_DetallesDelta = interface(IPedidosCliente_Detalles)
+ ['{236C59E6-22B8-48D9-B7D5-6F94F8E4FDC6}']
+ { Property getters and setters }
+ function GetOldIDValue : Integer;
+ function GetOldID_PEDIDOValue : Integer;
+ function GetOldPOSICIONValue : Integer;
+ function GetOldTIPO_DETALLEValue : String;
+ function GetOldREFERENCIAValue : String;
+ function GetOldID_ARTICULOValue : Integer;
+ function GetOldCONCEPTOValue : String;
+ function GetOldCANTIDADValue : Integer;
+ function GetOldIMPORTE_UNIDADValue : Currency;
+ function GetOldIMPORTE_TOTALValue : Currency;
+ function GetOldDESCUENTOValue : Float;
+ function GetOldIMPORTE_PORTEValue : Currency;
+ function GetOldVISIBLEValue : Integer;
+ function GetOldREFERENCIA_PROVEEDORValue : String;
+
+ { Properties }
+ property OldID : Integer read GetOldIDValue;
+ property OldID_PEDIDO : Integer read GetOldID_PEDIDOValue;
+ property OldPOSICION : Integer read GetOldPOSICIONValue;
+ property OldTIPO_DETALLE : String read GetOldTIPO_DETALLEValue;
+ property OldREFERENCIA : String read GetOldREFERENCIAValue;
+ property OldID_ARTICULO : Integer read GetOldID_ARTICULOValue;
+ property OldCONCEPTO : String read GetOldCONCEPTOValue;
+ property OldCANTIDAD : Integer read GetOldCANTIDADValue;
+ property OldIMPORTE_UNIDAD : Currency read GetOldIMPORTE_UNIDADValue;
+ property OldIMPORTE_TOTAL : Currency read GetOldIMPORTE_TOTALValue;
+ property OldDESCUENTO : Float read GetOldDESCUENTOValue;
+ property OldIMPORTE_PORTE : Currency read GetOldIMPORTE_PORTEValue;
+ property OldVISIBLE : Integer read GetOldVISIBLEValue;
+ property OldREFERENCIA_PROVEEDOR : String read GetOldREFERENCIA_PROVEEDORValue;
+ end;
+
+ { TPedidosCliente_DetallesBusinessProcessorRules }
+ TPedidosCliente_DetallesBusinessProcessorRules = class(TDABusinessProcessorRules, IPedidosCliente_Detalles, IPedidosCliente_DetallesDelta)
+ private
+ protected
+ { Property getters and setters }
+ function GetIDValue: Integer; virtual;
+ function GetIDIsNull: Boolean; virtual;
+ function GetOldIDValue: Integer; virtual;
+ function GetOldIDIsNull: Boolean; virtual;
+ procedure SetIDValue(const aValue: Integer); virtual;
+ procedure SetIDIsNull(const aValue: Boolean); virtual;
+ function GetID_PEDIDOValue: Integer; virtual;
+ function GetID_PEDIDOIsNull: Boolean; virtual;
+ function GetOldID_PEDIDOValue: Integer; virtual;
+ function GetOldID_PEDIDOIsNull: Boolean; virtual;
+ procedure SetID_PEDIDOValue(const aValue: Integer); virtual;
+ procedure SetID_PEDIDOIsNull(const aValue: Boolean); virtual;
+ function GetPOSICIONValue: Integer; virtual;
+ function GetPOSICIONIsNull: Boolean; virtual;
+ function GetOldPOSICIONValue: Integer; virtual;
+ function GetOldPOSICIONIsNull: Boolean; virtual;
+ procedure SetPOSICIONValue(const aValue: Integer); virtual;
+ procedure SetPOSICIONIsNull(const aValue: Boolean); virtual;
+ function GetTIPO_DETALLEValue: String; virtual;
+ function GetTIPO_DETALLEIsNull: Boolean; virtual;
+ function GetOldTIPO_DETALLEValue: String; virtual;
+ function GetOldTIPO_DETALLEIsNull: Boolean; virtual;
+ procedure SetTIPO_DETALLEValue(const aValue: String); virtual;
+ procedure SetTIPO_DETALLEIsNull(const aValue: Boolean); virtual;
+ function GetREFERENCIAValue: String; virtual;
+ function GetREFERENCIAIsNull: Boolean; virtual;
+ function GetOldREFERENCIAValue: String; virtual;
+ function GetOldREFERENCIAIsNull: Boolean; virtual;
+ procedure SetREFERENCIAValue(const aValue: String); virtual;
+ procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
+ function GetID_ARTICULOValue: Integer; virtual;
+ function GetID_ARTICULOIsNull: Boolean; virtual;
+ function GetOldID_ARTICULOValue: Integer; virtual;
+ function GetOldID_ARTICULOIsNull: Boolean; virtual;
+ procedure SetID_ARTICULOValue(const aValue: Integer); virtual;
+ procedure SetID_ARTICULOIsNull(const aValue: Boolean); virtual;
+ function GetCONCEPTOValue: String; virtual;
+ function GetCONCEPTOIsNull: Boolean; virtual;
+ function GetOldCONCEPTOValue: String; virtual;
+ function GetOldCONCEPTOIsNull: Boolean; virtual;
+ procedure SetCONCEPTOValue(const aValue: String); virtual;
+ procedure SetCONCEPTOIsNull(const aValue: Boolean); virtual;
+ function GetCANTIDADValue: Integer; virtual;
+ function GetCANTIDADIsNull: Boolean; virtual;
+ function GetOldCANTIDADValue: Integer; virtual;
+ function GetOldCANTIDADIsNull: Boolean; virtual;
+ procedure SetCANTIDADValue(const aValue: Integer); virtual;
+ procedure SetCANTIDADIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_UNIDADValue: Currency; virtual;
+ function GetIMPORTE_UNIDADIsNull: Boolean; virtual;
+ function GetOldIMPORTE_UNIDADValue: Currency; virtual;
+ function GetOldIMPORTE_UNIDADIsNull: Boolean; virtual;
+ procedure SetIMPORTE_UNIDADValue(const aValue: Currency); virtual;
+ procedure SetIMPORTE_UNIDADIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_TOTALValue: Currency; virtual;
+ function GetIMPORTE_TOTALIsNull: Boolean; virtual;
+ function GetOldIMPORTE_TOTALValue: Currency; virtual;
+ function GetOldIMPORTE_TOTALIsNull: Boolean; virtual;
+ procedure SetIMPORTE_TOTALValue(const aValue: Currency); virtual;
+ procedure SetIMPORTE_TOTALIsNull(const aValue: Boolean); virtual;
+ function GetDESCUENTOValue: Float; virtual;
+ function GetDESCUENTOIsNull: Boolean; virtual;
+ function GetOldDESCUENTOValue: Float; virtual;
+ function GetOldDESCUENTOIsNull: Boolean; virtual;
+ procedure SetDESCUENTOValue(const aValue: Float); virtual;
+ procedure SetDESCUENTOIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_PORTEValue: Currency; virtual;
+ function GetIMPORTE_PORTEIsNull: Boolean; virtual;
+ function GetOldIMPORTE_PORTEValue: Currency; virtual;
+ function GetOldIMPORTE_PORTEIsNull: Boolean; virtual;
+ procedure SetIMPORTE_PORTEValue(const aValue: Currency); virtual;
+ procedure SetIMPORTE_PORTEIsNull(const aValue: Boolean); virtual;
+ function GetVISIBLEValue: Integer; virtual;
+ function GetVISIBLEIsNull: Boolean; virtual;
+ function GetOldVISIBLEValue: Integer; virtual;
+ function GetOldVISIBLEIsNull: Boolean; virtual;
+ procedure SetVISIBLEValue(const aValue: Integer); virtual;
+ procedure SetVISIBLEIsNull(const aValue: Boolean); virtual;
+ function GetREFERENCIA_PROVEEDORValue: String; virtual;
+ function GetREFERENCIA_PROVEEDORIsNull: Boolean; virtual;
+ function GetOldREFERENCIA_PROVEEDORValue: String; virtual;
+ function GetOldREFERENCIA_PROVEEDORIsNull: Boolean; virtual;
+ procedure SetREFERENCIA_PROVEEDORValue(const aValue: String); virtual;
+ procedure SetREFERENCIA_PROVEEDORIsNull(const aValue: Boolean); virtual;
+
+ { Properties }
+ property ID : Integer read GetIDValue write SetIDValue;
+ property IDIsNull : Boolean read GetIDIsNull write SetIDIsNull;
+ property OldID : Integer read GetOldIDValue;
+ property OldIDIsNull : Boolean read GetOldIDIsNull;
+ property ID_PEDIDO : Integer read GetID_PEDIDOValue write SetID_PEDIDOValue;
+ property ID_PEDIDOIsNull : Boolean read GetID_PEDIDOIsNull write SetID_PEDIDOIsNull;
+ property OldID_PEDIDO : Integer read GetOldID_PEDIDOValue;
+ property OldID_PEDIDOIsNull : Boolean read GetOldID_PEDIDOIsNull;
+ property POSICION : Integer read GetPOSICIONValue write SetPOSICIONValue;
+ property POSICIONIsNull : Boolean read GetPOSICIONIsNull write SetPOSICIONIsNull;
+ property OldPOSICION : Integer read GetOldPOSICIONValue;
+ property OldPOSICIONIsNull : Boolean read GetOldPOSICIONIsNull;
+ property TIPO_DETALLE : String read GetTIPO_DETALLEValue write SetTIPO_DETALLEValue;
+ property TIPO_DETALLEIsNull : Boolean read GetTIPO_DETALLEIsNull write SetTIPO_DETALLEIsNull;
+ property OldTIPO_DETALLE : String read GetOldTIPO_DETALLEValue;
+ property OldTIPO_DETALLEIsNull : Boolean read GetOldTIPO_DETALLEIsNull;
+ property REFERENCIA : String read GetREFERENCIAValue write SetREFERENCIAValue;
+ property REFERENCIAIsNull : Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
+ property OldREFERENCIA : String read GetOldREFERENCIAValue;
+ property OldREFERENCIAIsNull : Boolean read GetOldREFERENCIAIsNull;
+ property ID_ARTICULO : Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
+ property ID_ARTICULOIsNull : Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull;
+ property OldID_ARTICULO : Integer read GetOldID_ARTICULOValue;
+ property OldID_ARTICULOIsNull : Boolean read GetOldID_ARTICULOIsNull;
+ property CONCEPTO : String read GetCONCEPTOValue write SetCONCEPTOValue;
+ property CONCEPTOIsNull : Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
+ property OldCONCEPTO : String read GetOldCONCEPTOValue;
+ property OldCONCEPTOIsNull : Boolean read GetOldCONCEPTOIsNull;
+ property CANTIDAD : Integer read GetCANTIDADValue write SetCANTIDADValue;
+ property CANTIDADIsNull : Boolean read GetCANTIDADIsNull write SetCANTIDADIsNull;
+ property OldCANTIDAD : Integer read GetOldCANTIDADValue;
+ property OldCANTIDADIsNull : Boolean read GetOldCANTIDADIsNull;
+ property IMPORTE_UNIDAD : Currency read GetIMPORTE_UNIDADValue write SetIMPORTE_UNIDADValue;
+ property IMPORTE_UNIDADIsNull : Boolean read GetIMPORTE_UNIDADIsNull write SetIMPORTE_UNIDADIsNull;
+ property OldIMPORTE_UNIDAD : Currency read GetOldIMPORTE_UNIDADValue;
+ property OldIMPORTE_UNIDADIsNull : Boolean read GetOldIMPORTE_UNIDADIsNull;
+ property IMPORTE_TOTAL : Currency read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue;
+ property IMPORTE_TOTALIsNull : Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
+ property OldIMPORTE_TOTAL : Currency read GetOldIMPORTE_TOTALValue;
+ property OldIMPORTE_TOTALIsNull : Boolean read GetOldIMPORTE_TOTALIsNull;
+ property DESCUENTO : Float read GetDESCUENTOValue write SetDESCUENTOValue;
+ property DESCUENTOIsNull : Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
+ property OldDESCUENTO : Float read GetOldDESCUENTOValue;
+ property OldDESCUENTOIsNull : Boolean read GetOldDESCUENTOIsNull;
+ property IMPORTE_PORTE : Currency read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue;
+ property IMPORTE_PORTEIsNull : Boolean read GetIMPORTE_PORTEIsNull write SetIMPORTE_PORTEIsNull;
+ property OldIMPORTE_PORTE : Currency read GetOldIMPORTE_PORTEValue;
+ property OldIMPORTE_PORTEIsNull : Boolean read GetOldIMPORTE_PORTEIsNull;
+ property VISIBLE : Integer read GetVISIBLEValue write SetVISIBLEValue;
+ property VISIBLEIsNull : Boolean read GetVISIBLEIsNull write SetVISIBLEIsNull;
+ property OldVISIBLE : Integer read GetOldVISIBLEValue;
+ property OldVISIBLEIsNull : Boolean read GetOldVISIBLEIsNull;
+ property REFERENCIA_PROVEEDOR : String read GetREFERENCIA_PROVEEDORValue write SetREFERENCIA_PROVEEDORValue;
+ property REFERENCIA_PROVEEDORIsNull : Boolean read GetREFERENCIA_PROVEEDORIsNull write SetREFERENCIA_PROVEEDORIsNull;
+ property OldREFERENCIA_PROVEEDOR : String read GetOldREFERENCIA_PROVEEDORValue;
+ property OldREFERENCIA_PROVEEDORIsNull : Boolean read GetOldREFERENCIA_PROVEEDORIsNull;
+
+ public
+ constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
+ destructor Destroy; override;
+
+ end;
+
+ { IPedidosCliente_RefreshDelta }
+ IPedidosCliente_RefreshDelta = interface(IPedidosCliente_Refresh)
+ ['{C7219F0B-F0EA-456A-B19B-E4E6F9F9157C}']
+ { Property getters and setters }
+ function GetOldIDValue : Integer;
+ function GetOldID_EMPRESAValue : Integer;
+ function GetOldID_CLIENTEValue : Integer;
+ function GetOldNOMBREValue : String;
+ function GetOldREFERENCIAValue : String;
+ function GetOldREFERENCIA_CLIENTEValue : String;
+ function GetOldSITUACIONValue : String;
+ function GetOldFECHA_PEDIDOValue : DateTime;
+ function GetOldCALLEValue : String;
+ function GetOldCODIGO_POSTALValue : String;
+ function GetOldPOBLACIONValue : String;
+ function GetOldPROVINCIAValue : String;
+ function GetOldPERSONA_CONTACTOValue : String;
+ function GetOldTELEFONOValue : String;
+ function GetOldOBSERVACIONESValue : IROStrings;
+ function GetOldINCIDENCIASValue : IROStrings;
+ function GetOldINCIDENCIAS_ACTIVASValue : Integer;
+ function GetOldFECHA_ALTAValue : DateTime;
+ function GetOldFECHA_MODIFICACIONValue : DateTime;
+ function GetOldUSUARIOValue : String;
+ function GetOldIMPORTE_NETOValue : Currency;
+ function GetOldIMPORTE_PORTEValue : Currency;
+ function GetOldDESCUENTOValue : Float;
+ function GetOldIMPORTE_DESCUENTOValue : Currency;
+ function GetOldBASE_IMPONIBLEValue : Currency;
+ function GetOldIVAValue : Float;
+ function GetOldIMPORTE_IVAValue : Currency;
+ function GetOldIMPORTE_TOTALValue : Currency;
+ function GetOldID_FORMA_PAGOValue : Integer;
+ function GetOldREF_TIENDA_WEBValue : Integer;
+ function GetOldFECHA_PREVISTA_ENVIOValue : DateTime;
+
+ { Properties }
+ property OldID : Integer read GetOldIDValue;
+ property OldID_EMPRESA : Integer read GetOldID_EMPRESAValue;
+ property OldID_CLIENTE : Integer read GetOldID_CLIENTEValue;
+ property OldNOMBRE : String read GetOldNOMBREValue;
+ property OldREFERENCIA : String read GetOldREFERENCIAValue;
+ property OldREFERENCIA_CLIENTE : String read GetOldREFERENCIA_CLIENTEValue;
+ property OldSITUACION : String read GetOldSITUACIONValue;
+ property OldFECHA_PEDIDO : DateTime read GetOldFECHA_PEDIDOValue;
+ property OldCALLE : String read GetOldCALLEValue;
+ property OldCODIGO_POSTAL : String read GetOldCODIGO_POSTALValue;
+ property OldPOBLACION : String read GetOldPOBLACIONValue;
+ property OldPROVINCIA : String read GetOldPROVINCIAValue;
+ property OldPERSONA_CONTACTO : String read GetOldPERSONA_CONTACTOValue;
+ property OldTELEFONO : String read GetOldTELEFONOValue;
+ property OldOBSERVACIONES : IROStrings read GetOldOBSERVACIONESValue;
+ property OldINCIDENCIAS : IROStrings read GetOldINCIDENCIASValue;
+ property OldINCIDENCIAS_ACTIVAS : Integer read GetOldINCIDENCIAS_ACTIVASValue;
+ property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue;
+ property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue;
+ property OldUSUARIO : String read GetOldUSUARIOValue;
+ property OldIMPORTE_NETO : Currency read GetOldIMPORTE_NETOValue;
+ property OldIMPORTE_PORTE : Currency read GetOldIMPORTE_PORTEValue;
+ property OldDESCUENTO : Float read GetOldDESCUENTOValue;
+ property OldIMPORTE_DESCUENTO : Currency read GetOldIMPORTE_DESCUENTOValue;
+ property OldBASE_IMPONIBLE : Currency read GetOldBASE_IMPONIBLEValue;
+ property OldIVA : Float read GetOldIVAValue;
+ property OldIMPORTE_IVA : Currency read GetOldIMPORTE_IVAValue;
+ property OldIMPORTE_TOTAL : Currency read GetOldIMPORTE_TOTALValue;
+ property OldID_FORMA_PAGO : Integer read GetOldID_FORMA_PAGOValue;
+ property OldREF_TIENDA_WEB : Integer read GetOldREF_TIENDA_WEBValue;
+ property OldFECHA_PREVISTA_ENVIO : DateTime read GetOldFECHA_PREVISTA_ENVIOValue;
+ end;
+
+ { TPedidosCliente_RefreshBusinessProcessorRules }
+ TPedidosCliente_RefreshBusinessProcessorRules = class(TDABusinessProcessorRules, IPedidosCliente_Refresh, IPedidosCliente_RefreshDelta)
+ private
+ f_OBSERVACIONES: IROStrings;
+ f_INCIDENCIAS: IROStrings;
+ procedure OBSERVACIONES_OnChange(Sender: TObject);
+ procedure INCIDENCIAS_OnChange(Sender: TObject);
+ protected
+ { Property getters and setters }
+ function GetIDValue: Integer; virtual;
+ function GetIDIsNull: Boolean; virtual;
+ function GetOldIDValue: Integer; virtual;
+ function GetOldIDIsNull: Boolean; virtual;
+ procedure SetIDValue(const aValue: Integer); virtual;
+ procedure SetIDIsNull(const aValue: Boolean); virtual;
+ function GetID_EMPRESAValue: Integer; virtual;
+ function GetID_EMPRESAIsNull: Boolean; virtual;
+ function GetOldID_EMPRESAValue: Integer; virtual;
+ function GetOldID_EMPRESAIsNull: Boolean; virtual;
+ procedure SetID_EMPRESAValue(const aValue: Integer); virtual;
+ procedure SetID_EMPRESAIsNull(const aValue: Boolean); virtual;
+ function GetID_CLIENTEValue: Integer; virtual;
+ function GetID_CLIENTEIsNull: Boolean; virtual;
+ function GetOldID_CLIENTEValue: Integer; virtual;
+ function GetOldID_CLIENTEIsNull: Boolean; virtual;
+ procedure SetID_CLIENTEValue(const aValue: Integer); virtual;
+ procedure SetID_CLIENTEIsNull(const aValue: Boolean); virtual;
+ function GetNOMBREValue: String; virtual;
+ function GetNOMBREIsNull: Boolean; virtual;
+ function GetOldNOMBREValue: String; virtual;
+ function GetOldNOMBREIsNull: Boolean; virtual;
+ procedure SetNOMBREValue(const aValue: String); virtual;
+ procedure SetNOMBREIsNull(const aValue: Boolean); virtual;
+ function GetREFERENCIAValue: String; virtual;
+ function GetREFERENCIAIsNull: Boolean; virtual;
+ function GetOldREFERENCIAValue: String; virtual;
+ function GetOldREFERENCIAIsNull: Boolean; virtual;
+ procedure SetREFERENCIAValue(const aValue: String); virtual;
+ procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
+ function GetREFERENCIA_CLIENTEValue: String; virtual;
+ function GetREFERENCIA_CLIENTEIsNull: Boolean; virtual;
+ function GetOldREFERENCIA_CLIENTEValue: String; virtual;
+ function GetOldREFERENCIA_CLIENTEIsNull: Boolean; virtual;
+ procedure SetREFERENCIA_CLIENTEValue(const aValue: String); virtual;
+ procedure SetREFERENCIA_CLIENTEIsNull(const aValue: Boolean); virtual;
+ function GetSITUACIONValue: String; virtual;
+ function GetSITUACIONIsNull: Boolean; virtual;
+ function GetOldSITUACIONValue: String; virtual;
+ function GetOldSITUACIONIsNull: Boolean; virtual;
+ procedure SetSITUACIONValue(const aValue: String); virtual;
+ procedure SetSITUACIONIsNull(const aValue: Boolean); virtual;
+ function GetFECHA_PEDIDOValue: DateTime; virtual;
+ function GetFECHA_PEDIDOIsNull: Boolean; virtual;
+ function GetOldFECHA_PEDIDOValue: DateTime; virtual;
+ function GetOldFECHA_PEDIDOIsNull: Boolean; virtual;
+ procedure SetFECHA_PEDIDOValue(const aValue: DateTime); virtual;
+ procedure SetFECHA_PEDIDOIsNull(const aValue: Boolean); virtual;
+ function GetCALLEValue: String; virtual;
+ function GetCALLEIsNull: Boolean; virtual;
+ function GetOldCALLEValue: String; virtual;
+ function GetOldCALLEIsNull: Boolean; virtual;
+ procedure SetCALLEValue(const aValue: String); virtual;
+ procedure SetCALLEIsNull(const aValue: Boolean); virtual;
+ function GetCODIGO_POSTALValue: String; virtual;
+ function GetCODIGO_POSTALIsNull: Boolean; virtual;
+ function GetOldCODIGO_POSTALValue: String; virtual;
+ function GetOldCODIGO_POSTALIsNull: Boolean; virtual;
+ procedure SetCODIGO_POSTALValue(const aValue: String); virtual;
+ procedure SetCODIGO_POSTALIsNull(const aValue: Boolean); virtual;
+ function GetPOBLACIONValue: String; virtual;
+ function GetPOBLACIONIsNull: Boolean; virtual;
+ function GetOldPOBLACIONValue: String; virtual;
+ function GetOldPOBLACIONIsNull: Boolean; virtual;
+ procedure SetPOBLACIONValue(const aValue: String); virtual;
+ procedure SetPOBLACIONIsNull(const aValue: Boolean); virtual;
+ function GetPROVINCIAValue: String; virtual;
+ function GetPROVINCIAIsNull: Boolean; virtual;
+ function GetOldPROVINCIAValue: String; virtual;
+ function GetOldPROVINCIAIsNull: Boolean; virtual;
+ procedure SetPROVINCIAValue(const aValue: String); virtual;
+ procedure SetPROVINCIAIsNull(const aValue: Boolean); virtual;
+ function GetPERSONA_CONTACTOValue: String; virtual;
+ function GetPERSONA_CONTACTOIsNull: Boolean; virtual;
+ function GetOldPERSONA_CONTACTOValue: String; virtual;
+ function GetOldPERSONA_CONTACTOIsNull: Boolean; virtual;
+ procedure SetPERSONA_CONTACTOValue(const aValue: String); virtual;
+ procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean); virtual;
+ function GetTELEFONOValue: String; virtual;
+ function GetTELEFONOIsNull: Boolean; virtual;
+ function GetOldTELEFONOValue: String; virtual;
+ function GetOldTELEFONOIsNull: Boolean; virtual;
+ procedure SetTELEFONOValue(const aValue: String); virtual;
+ procedure SetTELEFONOIsNull(const aValue: Boolean); virtual;
+ function GetOBSERVACIONESValue: IROStrings; virtual;
+ function GetOBSERVACIONESIsNull: Boolean; virtual;
+ function GetOldOBSERVACIONESValue: IROStrings; virtual;
+ function GetOldOBSERVACIONESIsNull: Boolean; virtual;
+ procedure SetOBSERVACIONESIsNull(const aValue: Boolean); virtual;
+ function GetINCIDENCIASValue: IROStrings; virtual;
+ function GetINCIDENCIASIsNull: Boolean; virtual;
+ function GetOldINCIDENCIASValue: IROStrings; virtual;
+ function GetOldINCIDENCIASIsNull: Boolean; virtual;
+ procedure SetINCIDENCIASIsNull(const aValue: Boolean); virtual;
+ function GetINCIDENCIAS_ACTIVASValue: Integer; virtual;
+ function GetINCIDENCIAS_ACTIVASIsNull: Boolean; virtual;
+ function GetOldINCIDENCIAS_ACTIVASValue: Integer; virtual;
+ function GetOldINCIDENCIAS_ACTIVASIsNull: Boolean; virtual;
+ procedure SetINCIDENCIAS_ACTIVASValue(const aValue: Integer); virtual;
+ procedure SetINCIDENCIAS_ACTIVASIsNull(const aValue: Boolean); virtual;
+ function GetFECHA_ALTAValue: DateTime; virtual;
+ function GetFECHA_ALTAIsNull: Boolean; virtual;
+ function GetOldFECHA_ALTAValue: DateTime; virtual;
+ function GetOldFECHA_ALTAIsNull: Boolean; virtual;
+ procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual;
+ procedure SetFECHA_ALTAIsNull(const aValue: Boolean); virtual;
+ function GetFECHA_MODIFICACIONValue: DateTime; virtual;
+ function GetFECHA_MODIFICACIONIsNull: Boolean; virtual;
+ function GetOldFECHA_MODIFICACIONValue: DateTime; virtual;
+ function GetOldFECHA_MODIFICACIONIsNull: Boolean; virtual;
+ procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual;
+ procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); virtual;
+ function GetUSUARIOValue: String; virtual;
+ function GetUSUARIOIsNull: Boolean; virtual;
+ function GetOldUSUARIOValue: String; virtual;
+ function GetOldUSUARIOIsNull: Boolean; virtual;
+ procedure SetUSUARIOValue(const aValue: String); virtual;
+ procedure SetUSUARIOIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_NETOValue: Currency; virtual;
+ function GetIMPORTE_NETOIsNull: Boolean; virtual;
+ function GetOldIMPORTE_NETOValue: Currency; virtual;
+ function GetOldIMPORTE_NETOIsNull: Boolean; virtual;
+ procedure SetIMPORTE_NETOValue(const aValue: Currency); virtual;
+ procedure SetIMPORTE_NETOIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_PORTEValue: Currency; virtual;
+ function GetIMPORTE_PORTEIsNull: Boolean; virtual;
+ function GetOldIMPORTE_PORTEValue: Currency; virtual;
+ function GetOldIMPORTE_PORTEIsNull: Boolean; virtual;
+ procedure SetIMPORTE_PORTEValue(const aValue: Currency); virtual;
+ procedure SetIMPORTE_PORTEIsNull(const aValue: Boolean); virtual;
+ function GetDESCUENTOValue: Float; virtual;
+ function GetDESCUENTOIsNull: Boolean; virtual;
+ function GetOldDESCUENTOValue: Float; virtual;
+ function GetOldDESCUENTOIsNull: Boolean; virtual;
+ procedure SetDESCUENTOValue(const aValue: Float); virtual;
+ procedure SetDESCUENTOIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_DESCUENTOValue: Currency; virtual;
+ function GetIMPORTE_DESCUENTOIsNull: Boolean; virtual;
+ function GetOldIMPORTE_DESCUENTOValue: Currency; virtual;
+ function GetOldIMPORTE_DESCUENTOIsNull: Boolean; virtual;
+ procedure SetIMPORTE_DESCUENTOValue(const aValue: Currency); virtual;
+ procedure SetIMPORTE_DESCUENTOIsNull(const aValue: Boolean); virtual;
+ function GetBASE_IMPONIBLEValue: Currency; virtual;
+ function GetBASE_IMPONIBLEIsNull: Boolean; virtual;
+ function GetOldBASE_IMPONIBLEValue: Currency; virtual;
+ function GetOldBASE_IMPONIBLEIsNull: Boolean; virtual;
+ procedure SetBASE_IMPONIBLEValue(const aValue: Currency); virtual;
+ procedure SetBASE_IMPONIBLEIsNull(const aValue: Boolean); virtual;
+ function GetIVAValue: Float; virtual;
+ function GetIVAIsNull: Boolean; virtual;
+ function GetOldIVAValue: Float; virtual;
+ function GetOldIVAIsNull: Boolean; virtual;
+ procedure SetIVAValue(const aValue: Float); virtual;
+ procedure SetIVAIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_IVAValue: Currency; virtual;
+ function GetIMPORTE_IVAIsNull: Boolean; virtual;
+ function GetOldIMPORTE_IVAValue: Currency; virtual;
+ function GetOldIMPORTE_IVAIsNull: Boolean; virtual;
+ procedure SetIMPORTE_IVAValue(const aValue: Currency); virtual;
+ procedure SetIMPORTE_IVAIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_TOTALValue: Currency; virtual;
+ function GetIMPORTE_TOTALIsNull: Boolean; virtual;
+ function GetOldIMPORTE_TOTALValue: Currency; virtual;
+ function GetOldIMPORTE_TOTALIsNull: Boolean; virtual;
+ procedure SetIMPORTE_TOTALValue(const aValue: Currency); virtual;
+ procedure SetIMPORTE_TOTALIsNull(const aValue: Boolean); virtual;
+ function GetID_FORMA_PAGOValue: Integer; virtual;
+ function GetID_FORMA_PAGOIsNull: Boolean; virtual;
+ function GetOldID_FORMA_PAGOValue: Integer; virtual;
+ function GetOldID_FORMA_PAGOIsNull: Boolean; virtual;
+ procedure SetID_FORMA_PAGOValue(const aValue: Integer); virtual;
+ procedure SetID_FORMA_PAGOIsNull(const aValue: Boolean); virtual;
+ function GetREF_TIENDA_WEBValue: Integer; virtual;
+ function GetREF_TIENDA_WEBIsNull: Boolean; virtual;
+ function GetOldREF_TIENDA_WEBValue: Integer; virtual;
+ function GetOldREF_TIENDA_WEBIsNull: Boolean; virtual;
+ procedure SetREF_TIENDA_WEBValue(const aValue: Integer); virtual;
+ procedure SetREF_TIENDA_WEBIsNull(const aValue: Boolean); virtual;
+ function GetFECHA_PREVISTA_ENVIOValue: DateTime; virtual;
+ function GetFECHA_PREVISTA_ENVIOIsNull: Boolean; virtual;
+ function GetOldFECHA_PREVISTA_ENVIOValue: DateTime; virtual;
+ function GetOldFECHA_PREVISTA_ENVIOIsNull: Boolean; virtual;
+ procedure SetFECHA_PREVISTA_ENVIOValue(const aValue: DateTime); virtual;
+ procedure SetFECHA_PREVISTA_ENVIOIsNull(const aValue: Boolean); virtual;
+
+ { Properties }
+ property ID : Integer read GetIDValue write SetIDValue;
+ property IDIsNull : Boolean read GetIDIsNull write SetIDIsNull;
+ property OldID : Integer read GetOldIDValue;
+ property OldIDIsNull : Boolean read GetOldIDIsNull;
+ property ID_EMPRESA : Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
+ property ID_EMPRESAIsNull : Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull;
+ property OldID_EMPRESA : Integer read GetOldID_EMPRESAValue;
+ property OldID_EMPRESAIsNull : Boolean read GetOldID_EMPRESAIsNull;
+ property ID_CLIENTE : Integer read GetID_CLIENTEValue write SetID_CLIENTEValue;
+ property ID_CLIENTEIsNull : Boolean read GetID_CLIENTEIsNull write SetID_CLIENTEIsNull;
+ property OldID_CLIENTE : Integer read GetOldID_CLIENTEValue;
+ property OldID_CLIENTEIsNull : Boolean read GetOldID_CLIENTEIsNull;
+ property NOMBRE : String read GetNOMBREValue write SetNOMBREValue;
+ property NOMBREIsNull : Boolean read GetNOMBREIsNull write SetNOMBREIsNull;
+ property OldNOMBRE : String read GetOldNOMBREValue;
+ property OldNOMBREIsNull : Boolean read GetOldNOMBREIsNull;
+ property REFERENCIA : String read GetREFERENCIAValue write SetREFERENCIAValue;
+ property REFERENCIAIsNull : Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
+ property OldREFERENCIA : String read GetOldREFERENCIAValue;
+ property OldREFERENCIAIsNull : Boolean read GetOldREFERENCIAIsNull;
+ property REFERENCIA_CLIENTE : String read GetREFERENCIA_CLIENTEValue write SetREFERENCIA_CLIENTEValue;
+ property REFERENCIA_CLIENTEIsNull : Boolean read GetREFERENCIA_CLIENTEIsNull write SetREFERENCIA_CLIENTEIsNull;
+ property OldREFERENCIA_CLIENTE : String read GetOldREFERENCIA_CLIENTEValue;
+ property OldREFERENCIA_CLIENTEIsNull : Boolean read GetOldREFERENCIA_CLIENTEIsNull;
+ property SITUACION : String read GetSITUACIONValue write SetSITUACIONValue;
+ property SITUACIONIsNull : Boolean read GetSITUACIONIsNull write SetSITUACIONIsNull;
+ property OldSITUACION : String read GetOldSITUACIONValue;
+ property OldSITUACIONIsNull : Boolean read GetOldSITUACIONIsNull;
+ property FECHA_PEDIDO : DateTime read GetFECHA_PEDIDOValue write SetFECHA_PEDIDOValue;
+ property FECHA_PEDIDOIsNull : Boolean read GetFECHA_PEDIDOIsNull write SetFECHA_PEDIDOIsNull;
+ property OldFECHA_PEDIDO : DateTime read GetOldFECHA_PEDIDOValue;
+ property OldFECHA_PEDIDOIsNull : Boolean read GetOldFECHA_PEDIDOIsNull;
+ property CALLE : String read GetCALLEValue write SetCALLEValue;
+ property CALLEIsNull : Boolean read GetCALLEIsNull write SetCALLEIsNull;
+ property OldCALLE : String read GetOldCALLEValue;
+ property OldCALLEIsNull : Boolean read GetOldCALLEIsNull;
+ property CODIGO_POSTAL : String read GetCODIGO_POSTALValue write SetCODIGO_POSTALValue;
+ property CODIGO_POSTALIsNull : Boolean read GetCODIGO_POSTALIsNull write SetCODIGO_POSTALIsNull;
+ property OldCODIGO_POSTAL : String read GetOldCODIGO_POSTALValue;
+ property OldCODIGO_POSTALIsNull : Boolean read GetOldCODIGO_POSTALIsNull;
+ property POBLACION : String read GetPOBLACIONValue write SetPOBLACIONValue;
+ property POBLACIONIsNull : Boolean read GetPOBLACIONIsNull write SetPOBLACIONIsNull;
+ property OldPOBLACION : String read GetOldPOBLACIONValue;
+ property OldPOBLACIONIsNull : Boolean read GetOldPOBLACIONIsNull;
+ property PROVINCIA : String read GetPROVINCIAValue write SetPROVINCIAValue;
+ property PROVINCIAIsNull : Boolean read GetPROVINCIAIsNull write SetPROVINCIAIsNull;
+ property OldPROVINCIA : String read GetOldPROVINCIAValue;
+ property OldPROVINCIAIsNull : Boolean read GetOldPROVINCIAIsNull;
+ property PERSONA_CONTACTO : String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
+ property PERSONA_CONTACTOIsNull : Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;
+ property OldPERSONA_CONTACTO : String read GetOldPERSONA_CONTACTOValue;
+ property OldPERSONA_CONTACTOIsNull : Boolean read GetOldPERSONA_CONTACTOIsNull;
+ property TELEFONO : String read GetTELEFONOValue write SetTELEFONOValue;
+ property TELEFONOIsNull : Boolean read GetTELEFONOIsNull write SetTELEFONOIsNull;
+ property OldTELEFONO : String read GetOldTELEFONOValue;
+ property OldTELEFONOIsNull : Boolean read GetOldTELEFONOIsNull;
+ property OBSERVACIONES : IROStrings read GetOBSERVACIONESValue;
+ property OBSERVACIONESIsNull : Boolean read GetOBSERVACIONESIsNull write SetOBSERVACIONESIsNull;
+ property OldOBSERVACIONES : IROStrings read GetOldOBSERVACIONESValue;
+ property OldOBSERVACIONESIsNull : Boolean read GetOldOBSERVACIONESIsNull;
+ property INCIDENCIAS : IROStrings read GetINCIDENCIASValue;
+ property INCIDENCIASIsNull : Boolean read GetINCIDENCIASIsNull write SetINCIDENCIASIsNull;
+ property OldINCIDENCIAS : IROStrings read GetOldINCIDENCIASValue;
+ property OldINCIDENCIASIsNull : Boolean read GetOldINCIDENCIASIsNull;
+ property INCIDENCIAS_ACTIVAS : Integer read GetINCIDENCIAS_ACTIVASValue write SetINCIDENCIAS_ACTIVASValue;
+ property INCIDENCIAS_ACTIVASIsNull : Boolean read GetINCIDENCIAS_ACTIVASIsNull write SetINCIDENCIAS_ACTIVASIsNull;
+ property OldINCIDENCIAS_ACTIVAS : Integer read GetOldINCIDENCIAS_ACTIVASValue;
+ property OldINCIDENCIAS_ACTIVASIsNull : Boolean read GetOldINCIDENCIAS_ACTIVASIsNull;
+ property FECHA_ALTA : DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue;
+ property FECHA_ALTAIsNull : Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull;
+ property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue;
+ property OldFECHA_ALTAIsNull : Boolean read GetOldFECHA_ALTAIsNull;
+ property FECHA_MODIFICACION : DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue;
+ property FECHA_MODIFICACIONIsNull : Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull;
+ property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue;
+ property OldFECHA_MODIFICACIONIsNull : Boolean read GetOldFECHA_MODIFICACIONIsNull;
+ property USUARIO : String read GetUSUARIOValue write SetUSUARIOValue;
+ property USUARIOIsNull : Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull;
+ property OldUSUARIO : String read GetOldUSUARIOValue;
+ property OldUSUARIOIsNull : Boolean read GetOldUSUARIOIsNull;
+ property IMPORTE_NETO : Currency read GetIMPORTE_NETOValue write SetIMPORTE_NETOValue;
+ property IMPORTE_NETOIsNull : Boolean read GetIMPORTE_NETOIsNull write SetIMPORTE_NETOIsNull;
+ property OldIMPORTE_NETO : Currency read GetOldIMPORTE_NETOValue;
+ property OldIMPORTE_NETOIsNull : Boolean read GetOldIMPORTE_NETOIsNull;
+ property IMPORTE_PORTE : Currency read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue;
+ property IMPORTE_PORTEIsNull : Boolean read GetIMPORTE_PORTEIsNull write SetIMPORTE_PORTEIsNull;
+ property OldIMPORTE_PORTE : Currency read GetOldIMPORTE_PORTEValue;
+ property OldIMPORTE_PORTEIsNull : Boolean read GetOldIMPORTE_PORTEIsNull;
+ property DESCUENTO : Float read GetDESCUENTOValue write SetDESCUENTOValue;
+ property DESCUENTOIsNull : Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
+ property OldDESCUENTO : Float read GetOldDESCUENTOValue;
+ property OldDESCUENTOIsNull : Boolean read GetOldDESCUENTOIsNull;
+ property IMPORTE_DESCUENTO : Currency read GetIMPORTE_DESCUENTOValue write SetIMPORTE_DESCUENTOValue;
+ property IMPORTE_DESCUENTOIsNull : Boolean read GetIMPORTE_DESCUENTOIsNull write SetIMPORTE_DESCUENTOIsNull;
+ property OldIMPORTE_DESCUENTO : Currency read GetOldIMPORTE_DESCUENTOValue;
+ property OldIMPORTE_DESCUENTOIsNull : Boolean read GetOldIMPORTE_DESCUENTOIsNull;
+ property BASE_IMPONIBLE : Currency read GetBASE_IMPONIBLEValue write SetBASE_IMPONIBLEValue;
+ property BASE_IMPONIBLEIsNull : Boolean read GetBASE_IMPONIBLEIsNull write SetBASE_IMPONIBLEIsNull;
+ property OldBASE_IMPONIBLE : Currency read GetOldBASE_IMPONIBLEValue;
+ property OldBASE_IMPONIBLEIsNull : Boolean read GetOldBASE_IMPONIBLEIsNull;
+ property IVA : Float read GetIVAValue write SetIVAValue;
+ property IVAIsNull : Boolean read GetIVAIsNull write SetIVAIsNull;
+ property OldIVA : Float read GetOldIVAValue;
+ property OldIVAIsNull : Boolean read GetOldIVAIsNull;
+ property IMPORTE_IVA : Currency read GetIMPORTE_IVAValue write SetIMPORTE_IVAValue;
+ property IMPORTE_IVAIsNull : Boolean read GetIMPORTE_IVAIsNull write SetIMPORTE_IVAIsNull;
+ property OldIMPORTE_IVA : Currency read GetOldIMPORTE_IVAValue;
+ property OldIMPORTE_IVAIsNull : Boolean read GetOldIMPORTE_IVAIsNull;
+ property IMPORTE_TOTAL : Currency read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue;
+ property IMPORTE_TOTALIsNull : Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
+ property OldIMPORTE_TOTAL : Currency read GetOldIMPORTE_TOTALValue;
+ property OldIMPORTE_TOTALIsNull : Boolean read GetOldIMPORTE_TOTALIsNull;
+ property ID_FORMA_PAGO : Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
+ property ID_FORMA_PAGOIsNull : Boolean read GetID_FORMA_PAGOIsNull write SetID_FORMA_PAGOIsNull;
+ property OldID_FORMA_PAGO : Integer read GetOldID_FORMA_PAGOValue;
+ property OldID_FORMA_PAGOIsNull : Boolean read GetOldID_FORMA_PAGOIsNull;
+ property REF_TIENDA_WEB : Integer read GetREF_TIENDA_WEBValue write SetREF_TIENDA_WEBValue;
+ property REF_TIENDA_WEBIsNull : Boolean read GetREF_TIENDA_WEBIsNull write SetREF_TIENDA_WEBIsNull;
+ property OldREF_TIENDA_WEB : Integer read GetOldREF_TIENDA_WEBValue;
+ property OldREF_TIENDA_WEBIsNull : Boolean read GetOldREF_TIENDA_WEBIsNull;
+ property FECHA_PREVISTA_ENVIO : DateTime read GetFECHA_PREVISTA_ENVIOValue write SetFECHA_PREVISTA_ENVIOValue;
+ property FECHA_PREVISTA_ENVIOIsNull : Boolean read GetFECHA_PREVISTA_ENVIOIsNull write SetFECHA_PREVISTA_ENVIOIsNull;
+ property OldFECHA_PREVISTA_ENVIO : DateTime read GetOldFECHA_PREVISTA_ENVIOValue;
+ property OldFECHA_PREVISTA_ENVIOIsNull : Boolean read GetOldFECHA_PREVISTA_ENVIOIsNull;
+
+ public
+ constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
+ destructor Destroy; override;
+
+ end;
+
+ { IPedidosCliente_Detalles_RefreshDelta }
+ IPedidosCliente_Detalles_RefreshDelta = interface(IPedidosCliente_Detalles_Refresh)
+ ['{40A1CEA1-CE22-49B2-AA59-4B39B51A00F4}']
+ { Property getters and setters }
+ function GetOldIDValue : Integer;
+ function GetOldID_PEDIDOValue : Integer;
+ function GetOldPOSICIONValue : Integer;
+ function GetOldTIPO_DETALLEValue : String;
+ function GetOldREFERENCIAValue : String;
+ function GetOldID_ARTICULOValue : Integer;
+ function GetOldCONCEPTOValue : String;
+ function GetOldCANTIDADValue : Integer;
+ function GetOldIMPORTE_UNIDADValue : Currency;
+ function GetOldIMPORTE_TOTALValue : Currency;
+ function GetOldDESCUENTOValue : Float;
+ function GetOldIMPORTE_PORTEValue : Currency;
+ function GetOldVISIBLEValue : Integer;
+ function GetOldREFERENCIA_PROVEEDORValue : String;
+
+ { Properties }
+ property OldID : Integer read GetOldIDValue;
+ property OldID_PEDIDO : Integer read GetOldID_PEDIDOValue;
+ property OldPOSICION : Integer read GetOldPOSICIONValue;
+ property OldTIPO_DETALLE : String read GetOldTIPO_DETALLEValue;
+ property OldREFERENCIA : String read GetOldREFERENCIAValue;
+ property OldID_ARTICULO : Integer read GetOldID_ARTICULOValue;
+ property OldCONCEPTO : String read GetOldCONCEPTOValue;
+ property OldCANTIDAD : Integer read GetOldCANTIDADValue;
+ property OldIMPORTE_UNIDAD : Currency read GetOldIMPORTE_UNIDADValue;
+ property OldIMPORTE_TOTAL : Currency read GetOldIMPORTE_TOTALValue;
+ property OldDESCUENTO : Float read GetOldDESCUENTOValue;
+ property OldIMPORTE_PORTE : Currency read GetOldIMPORTE_PORTEValue;
+ property OldVISIBLE : Integer read GetOldVISIBLEValue;
+ property OldREFERENCIA_PROVEEDOR : String read GetOldREFERENCIA_PROVEEDORValue;
+ end;
+
+ { TPedidosCliente_Detalles_RefreshBusinessProcessorRules }
+ TPedidosCliente_Detalles_RefreshBusinessProcessorRules = class(TDABusinessProcessorRules, IPedidosCliente_Detalles_Refresh, IPedidosCliente_Detalles_RefreshDelta)
+ private
+ protected
+ { Property getters and setters }
+ function GetIDValue: Integer; virtual;
+ function GetIDIsNull: Boolean; virtual;
+ function GetOldIDValue: Integer; virtual;
+ function GetOldIDIsNull: Boolean; virtual;
+ procedure SetIDValue(const aValue: Integer); virtual;
+ procedure SetIDIsNull(const aValue: Boolean); virtual;
+ function GetID_PEDIDOValue: Integer; virtual;
+ function GetID_PEDIDOIsNull: Boolean; virtual;
+ function GetOldID_PEDIDOValue: Integer; virtual;
+ function GetOldID_PEDIDOIsNull: Boolean; virtual;
+ procedure SetID_PEDIDOValue(const aValue: Integer); virtual;
+ procedure SetID_PEDIDOIsNull(const aValue: Boolean); virtual;
+ function GetPOSICIONValue: Integer; virtual;
+ function GetPOSICIONIsNull: Boolean; virtual;
+ function GetOldPOSICIONValue: Integer; virtual;
+ function GetOldPOSICIONIsNull: Boolean; virtual;
+ procedure SetPOSICIONValue(const aValue: Integer); virtual;
+ procedure SetPOSICIONIsNull(const aValue: Boolean); virtual;
+ function GetTIPO_DETALLEValue: String; virtual;
+ function GetTIPO_DETALLEIsNull: Boolean; virtual;
+ function GetOldTIPO_DETALLEValue: String; virtual;
+ function GetOldTIPO_DETALLEIsNull: Boolean; virtual;
+ procedure SetTIPO_DETALLEValue(const aValue: String); virtual;
+ procedure SetTIPO_DETALLEIsNull(const aValue: Boolean); virtual;
+ function GetREFERENCIAValue: String; virtual;
+ function GetREFERENCIAIsNull: Boolean; virtual;
+ function GetOldREFERENCIAValue: String; virtual;
+ function GetOldREFERENCIAIsNull: Boolean; virtual;
+ procedure SetREFERENCIAValue(const aValue: String); virtual;
+ procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
+ function GetID_ARTICULOValue: Integer; virtual;
+ function GetID_ARTICULOIsNull: Boolean; virtual;
+ function GetOldID_ARTICULOValue: Integer; virtual;
+ function GetOldID_ARTICULOIsNull: Boolean; virtual;
+ procedure SetID_ARTICULOValue(const aValue: Integer); virtual;
+ procedure SetID_ARTICULOIsNull(const aValue: Boolean); virtual;
+ function GetCONCEPTOValue: String; virtual;
+ function GetCONCEPTOIsNull: Boolean; virtual;
+ function GetOldCONCEPTOValue: String; virtual;
+ function GetOldCONCEPTOIsNull: Boolean; virtual;
+ procedure SetCONCEPTOValue(const aValue: String); virtual;
+ procedure SetCONCEPTOIsNull(const aValue: Boolean); virtual;
+ function GetCANTIDADValue: Integer; virtual;
+ function GetCANTIDADIsNull: Boolean; virtual;
+ function GetOldCANTIDADValue: Integer; virtual;
+ function GetOldCANTIDADIsNull: Boolean; virtual;
+ procedure SetCANTIDADValue(const aValue: Integer); virtual;
+ procedure SetCANTIDADIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_UNIDADValue: Currency; virtual;
+ function GetIMPORTE_UNIDADIsNull: Boolean; virtual;
+ function GetOldIMPORTE_UNIDADValue: Currency; virtual;
+ function GetOldIMPORTE_UNIDADIsNull: Boolean; virtual;
+ procedure SetIMPORTE_UNIDADValue(const aValue: Currency); virtual;
+ procedure SetIMPORTE_UNIDADIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_TOTALValue: Currency; virtual;
+ function GetIMPORTE_TOTALIsNull: Boolean; virtual;
+ function GetOldIMPORTE_TOTALValue: Currency; virtual;
+ function GetOldIMPORTE_TOTALIsNull: Boolean; virtual;
+ procedure SetIMPORTE_TOTALValue(const aValue: Currency); virtual;
+ procedure SetIMPORTE_TOTALIsNull(const aValue: Boolean); virtual;
+ function GetDESCUENTOValue: Float; virtual;
+ function GetDESCUENTOIsNull: Boolean; virtual;
+ function GetOldDESCUENTOValue: Float; virtual;
+ function GetOldDESCUENTOIsNull: Boolean; virtual;
+ procedure SetDESCUENTOValue(const aValue: Float); virtual;
+ procedure SetDESCUENTOIsNull(const aValue: Boolean); virtual;
+ function GetIMPORTE_PORTEValue: Currency; virtual;
+ function GetIMPORTE_PORTEIsNull: Boolean; virtual;
+ function GetOldIMPORTE_PORTEValue: Currency; virtual;
+ function GetOldIMPORTE_PORTEIsNull: Boolean; virtual;
+ procedure SetIMPORTE_PORTEValue(const aValue: Currency); virtual;
+ procedure SetIMPORTE_PORTEIsNull(const aValue: Boolean); virtual;
+ function GetVISIBLEValue: Integer; virtual;
+ function GetVISIBLEIsNull: Boolean; virtual;
+ function GetOldVISIBLEValue: Integer; virtual;
+ function GetOldVISIBLEIsNull: Boolean; virtual;
+ procedure SetVISIBLEValue(const aValue: Integer); virtual;
+ procedure SetVISIBLEIsNull(const aValue: Boolean); virtual;
+ function GetREFERENCIA_PROVEEDORValue: String; virtual;
+ function GetREFERENCIA_PROVEEDORIsNull: Boolean; virtual;
+ function GetOldREFERENCIA_PROVEEDORValue: String; virtual;
+ function GetOldREFERENCIA_PROVEEDORIsNull: Boolean; virtual;
+ procedure SetREFERENCIA_PROVEEDORValue(const aValue: String); virtual;
+ procedure SetREFERENCIA_PROVEEDORIsNull(const aValue: Boolean); virtual;
+
+ { Properties }
+ property ID : Integer read GetIDValue write SetIDValue;
+ property IDIsNull : Boolean read GetIDIsNull write SetIDIsNull;
+ property OldID : Integer read GetOldIDValue;
+ property OldIDIsNull : Boolean read GetOldIDIsNull;
+ property ID_PEDIDO : Integer read GetID_PEDIDOValue write SetID_PEDIDOValue;
+ property ID_PEDIDOIsNull : Boolean read GetID_PEDIDOIsNull write SetID_PEDIDOIsNull;
+ property OldID_PEDIDO : Integer read GetOldID_PEDIDOValue;
+ property OldID_PEDIDOIsNull : Boolean read GetOldID_PEDIDOIsNull;
+ property POSICION : Integer read GetPOSICIONValue write SetPOSICIONValue;
+ property POSICIONIsNull : Boolean read GetPOSICIONIsNull write SetPOSICIONIsNull;
+ property OldPOSICION : Integer read GetOldPOSICIONValue;
+ property OldPOSICIONIsNull : Boolean read GetOldPOSICIONIsNull;
+ property TIPO_DETALLE : String read GetTIPO_DETALLEValue write SetTIPO_DETALLEValue;
+ property TIPO_DETALLEIsNull : Boolean read GetTIPO_DETALLEIsNull write SetTIPO_DETALLEIsNull;
+ property OldTIPO_DETALLE : String read GetOldTIPO_DETALLEValue;
+ property OldTIPO_DETALLEIsNull : Boolean read GetOldTIPO_DETALLEIsNull;
+ property REFERENCIA : String read GetREFERENCIAValue write SetREFERENCIAValue;
+ property REFERENCIAIsNull : Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
+ property OldREFERENCIA : String read GetOldREFERENCIAValue;
+ property OldREFERENCIAIsNull : Boolean read GetOldREFERENCIAIsNull;
+ property ID_ARTICULO : Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
+ property ID_ARTICULOIsNull : Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull;
+ property OldID_ARTICULO : Integer read GetOldID_ARTICULOValue;
+ property OldID_ARTICULOIsNull : Boolean read GetOldID_ARTICULOIsNull;
+ property CONCEPTO : String read GetCONCEPTOValue write SetCONCEPTOValue;
+ property CONCEPTOIsNull : Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
+ property OldCONCEPTO : String read GetOldCONCEPTOValue;
+ property OldCONCEPTOIsNull : Boolean read GetOldCONCEPTOIsNull;
+ property CANTIDAD : Integer read GetCANTIDADValue write SetCANTIDADValue;
+ property CANTIDADIsNull : Boolean read GetCANTIDADIsNull write SetCANTIDADIsNull;
+ property OldCANTIDAD : Integer read GetOldCANTIDADValue;
+ property OldCANTIDADIsNull : Boolean read GetOldCANTIDADIsNull;
+ property IMPORTE_UNIDAD : Currency read GetIMPORTE_UNIDADValue write SetIMPORTE_UNIDADValue;
+ property IMPORTE_UNIDADIsNull : Boolean read GetIMPORTE_UNIDADIsNull write SetIMPORTE_UNIDADIsNull;
+ property OldIMPORTE_UNIDAD : Currency read GetOldIMPORTE_UNIDADValue;
+ property OldIMPORTE_UNIDADIsNull : Boolean read GetOldIMPORTE_UNIDADIsNull;
+ property IMPORTE_TOTAL : Currency read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue;
+ property IMPORTE_TOTALIsNull : Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
+ property OldIMPORTE_TOTAL : Currency read GetOldIMPORTE_TOTALValue;
+ property OldIMPORTE_TOTALIsNull : Boolean read GetOldIMPORTE_TOTALIsNull;
+ property DESCUENTO : Float read GetDESCUENTOValue write SetDESCUENTOValue;
+ property DESCUENTOIsNull : Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
+ property OldDESCUENTO : Float read GetOldDESCUENTOValue;
+ property OldDESCUENTOIsNull : Boolean read GetOldDESCUENTOIsNull;
+ property IMPORTE_PORTE : Currency read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue;
+ property IMPORTE_PORTEIsNull : Boolean read GetIMPORTE_PORTEIsNull write SetIMPORTE_PORTEIsNull;
+ property OldIMPORTE_PORTE : Currency read GetOldIMPORTE_PORTEValue;
+ property OldIMPORTE_PORTEIsNull : Boolean read GetOldIMPORTE_PORTEIsNull;
+ property VISIBLE : Integer read GetVISIBLEValue write SetVISIBLEValue;
+ property VISIBLEIsNull : Boolean read GetVISIBLEIsNull write SetVISIBLEIsNull;
+ property OldVISIBLE : Integer read GetOldVISIBLEValue;
+ property OldVISIBLEIsNull : Boolean read GetOldVISIBLEIsNull;
+ property REFERENCIA_PROVEEDOR : String read GetREFERENCIA_PROVEEDORValue write SetREFERENCIA_PROVEEDORValue;
+ property REFERENCIA_PROVEEDORIsNull : Boolean read GetREFERENCIA_PROVEEDORIsNull write SetREFERENCIA_PROVEEDORIsNull;
+ property OldREFERENCIA_PROVEEDOR : String read GetOldREFERENCIA_PROVEEDORValue;
+ property OldREFERENCIA_PROVEEDORIsNull : Boolean read GetOldREFERENCIA_PROVEEDORIsNull;
+
+ public
+ constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
+ destructor Destroy; override;
+
+ end;
+
+ { IPedidoCliente_Articulos_PendientesDelta }
+ IPedidoCliente_Articulos_PendientesDelta = interface(IPedidoCliente_Articulos_Pendientes)
+ ['{AC3995A4-F42A-4A8E-9398-B36926F20613}']
+ { Property getters and setters }
+ function GetOldID_ARTICULOValue : Integer;
+ function GetOldCANTIDAD_PEDValue : Integer;
+ function GetOldCANTIDAD_ALBValue : Integer;
+ function GetOldCANTIDAD_PENDIENTEValue : Integer;
+
+ { Properties }
+ property OldID_ARTICULO : Integer read GetOldID_ARTICULOValue;
+ property OldCANTIDAD_PED : Integer read GetOldCANTIDAD_PEDValue;
+ property OldCANTIDAD_ALB : Integer read GetOldCANTIDAD_ALBValue;
+ property OldCANTIDAD_PENDIENTE : Integer read GetOldCANTIDAD_PENDIENTEValue;
+ end;
+
+ { TPedidoCliente_Articulos_PendientesBusinessProcessorRules }
+ TPedidoCliente_Articulos_PendientesBusinessProcessorRules = class(TDABusinessProcessorRules, IPedidoCliente_Articulos_Pendientes, IPedidoCliente_Articulos_PendientesDelta)
+ private
+ protected
+ { Property getters and setters }
+ function GetID_ARTICULOValue: Integer; virtual;
+ function GetID_ARTICULOIsNull: Boolean; virtual;
+ function GetOldID_ARTICULOValue: Integer; virtual;
+ function GetOldID_ARTICULOIsNull: Boolean; virtual;
+ procedure SetID_ARTICULOValue(const aValue: Integer); virtual;
+ procedure SetID_ARTICULOIsNull(const aValue: Boolean); virtual;
+ function GetCANTIDAD_PEDValue: Integer; virtual;
+ function GetCANTIDAD_PEDIsNull: Boolean; virtual;
+ function GetOldCANTIDAD_PEDValue: Integer; virtual;
+ function GetOldCANTIDAD_PEDIsNull: Boolean; virtual;
+ procedure SetCANTIDAD_PEDValue(const aValue: Integer); virtual;
+ procedure SetCANTIDAD_PEDIsNull(const aValue: Boolean); virtual;
+ function GetCANTIDAD_ALBValue: Integer; virtual;
+ function GetCANTIDAD_ALBIsNull: Boolean; virtual;
+ function GetOldCANTIDAD_ALBValue: Integer; virtual;
+ function GetOldCANTIDAD_ALBIsNull: Boolean; virtual;
+ procedure SetCANTIDAD_ALBValue(const aValue: Integer); virtual;
+ procedure SetCANTIDAD_ALBIsNull(const aValue: Boolean); virtual;
+ function GetCANTIDAD_PENDIENTEValue: Integer; virtual;
+ function GetCANTIDAD_PENDIENTEIsNull: Boolean; virtual;
+ function GetOldCANTIDAD_PENDIENTEValue: Integer; virtual;
+ function GetOldCANTIDAD_PENDIENTEIsNull: Boolean; virtual;
+ procedure SetCANTIDAD_PENDIENTEValue(const aValue: Integer); virtual;
+ procedure SetCANTIDAD_PENDIENTEIsNull(const aValue: Boolean); virtual;
+
+ { Properties }
+ property ID_ARTICULO : Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
+ property ID_ARTICULOIsNull : Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull;
+ property OldID_ARTICULO : Integer read GetOldID_ARTICULOValue;
+ property OldID_ARTICULOIsNull : Boolean read GetOldID_ARTICULOIsNull;
+ property CANTIDAD_PED : Integer read GetCANTIDAD_PEDValue write SetCANTIDAD_PEDValue;
+ property CANTIDAD_PEDIsNull : Boolean read GetCANTIDAD_PEDIsNull write SetCANTIDAD_PEDIsNull;
+ property OldCANTIDAD_PED : Integer read GetOldCANTIDAD_PEDValue;
+ property OldCANTIDAD_PEDIsNull : Boolean read GetOldCANTIDAD_PEDIsNull;
+ property CANTIDAD_ALB : Integer read GetCANTIDAD_ALBValue write SetCANTIDAD_ALBValue;
+ property CANTIDAD_ALBIsNull : Boolean read GetCANTIDAD_ALBIsNull write SetCANTIDAD_ALBIsNull;
+ property OldCANTIDAD_ALB : Integer read GetOldCANTIDAD_ALBValue;
+ property OldCANTIDAD_ALBIsNull : Boolean read GetOldCANTIDAD_ALBIsNull;
+ property CANTIDAD_PENDIENTE : Integer read GetCANTIDAD_PENDIENTEValue write SetCANTIDAD_PENDIENTEValue;
+ property CANTIDAD_PENDIENTEIsNull : Boolean read GetCANTIDAD_PENDIENTEIsNull write SetCANTIDAD_PENDIENTEIsNull;
+ property OldCANTIDAD_PENDIENTE : Integer read GetOldCANTIDAD_PENDIENTEValue;
+ property OldCANTIDAD_PENDIENTEIsNull : Boolean read GetOldCANTIDAD_PENDIENTEIsNull;
+
+ public
+ constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
+ destructor Destroy; override;
+
+ end;
+
+implementation
+
+uses
+ Variants, uROBinaryHelpers, uDAInterfaces;
+
+{ TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules }
+constructor TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
+begin
+ inherited;
+end;
+
+destructor TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.Destroy;
+begin
+ inherited;
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.GetID_PEDIDOValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvID_PEDIDO];
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.GetID_PEDIDOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvID_PEDIDO]);
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.GetOldID_PEDIDOValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvID_PEDIDO];
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.GetOldID_PEDIDOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvID_PEDIDO]);
+end;
+
+procedure TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.SetID_PEDIDOValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvID_PEDIDO] := aValue;
+end;
+
+procedure TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.SetID_PEDIDOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvID_PEDIDO] := Null;
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.GetID_ARTICULOValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvID_ARTICULO];
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.GetID_ARTICULOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvID_ARTICULO]);
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.GetOldID_ARTICULOValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvID_ARTICULO];
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.GetOldID_ARTICULOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvID_ARTICULO]);
+end;
+
+procedure TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.SetID_ARTICULOValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvID_ARTICULO] := aValue;
+end;
+
+procedure TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.SetID_ARTICULOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvID_ARTICULO] := Null;
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.GetCANT_PEDIDA_CLIENTEValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvCANT_PEDIDA_CLIENTE];
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.GetCANT_PEDIDA_CLIENTEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvCANT_PEDIDA_CLIENTE]);
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.GetOldCANT_PEDIDA_CLIENTEValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvCANT_PEDIDA_CLIENTE];
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.GetOldCANT_PEDIDA_CLIENTEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvCANT_PEDIDA_CLIENTE]);
+end;
+
+procedure TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.SetCANT_PEDIDA_CLIENTEValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvCANT_PEDIDA_CLIENTE] := aValue;
+end;
+
+procedure TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.SetCANT_PEDIDA_CLIENTEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvCANT_PEDIDA_CLIENTE] := Null;
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.GetID_PROVEEDORValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvID_PROVEEDOR];
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.GetID_PROVEEDORIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvID_PROVEEDOR]);
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.GetOldID_PROVEEDORValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvID_PROVEEDOR];
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.GetOldID_PROVEEDORIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvID_PROVEEDOR]);
+end;
+
+procedure TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.SetID_PROVEEDORValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvID_PROVEEDOR] := aValue;
+end;
+
+procedure TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.SetID_PROVEEDORIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvID_PROVEEDOR] := Null;
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.GetCANT_PEDIDA_PROVEEDORValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvCANT_PEDIDA_PROVEEDOR];
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.GetCANT_PEDIDA_PROVEEDORIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvCANT_PEDIDA_PROVEEDOR]);
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.GetOldCANT_PEDIDA_PROVEEDORValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvCANT_PEDIDA_PROVEEDOR];
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.GetOldCANT_PEDIDA_PROVEEDORIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvCANT_PEDIDA_PROVEEDOR]);
+end;
+
+procedure TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.SetCANT_PEDIDA_PROVEEDORValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvCANT_PEDIDA_PROVEEDOR] := aValue;
+end;
+
+procedure TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.SetCANT_PEDIDA_PROVEEDORIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvCANT_PEDIDA_PROVEEDOR] := Null;
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.GetCANT_PENDIENTE_PEDIRValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvCANT_PENDIENTE_PEDIR];
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.GetCANT_PENDIENTE_PEDIRIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvCANT_PENDIENTE_PEDIR]);
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.GetOldCANT_PENDIENTE_PEDIRValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvCANT_PENDIENTE_PEDIR];
+end;
+
+function TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.GetOldCANT_PENDIENTE_PEDIRIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvCANT_PENDIENTE_PEDIR]);
+end;
+
+procedure TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.SetCANT_PENDIENTE_PEDIRValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvCANT_PENDIENTE_PEDIR] := aValue;
+end;
+
+procedure TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules.SetCANT_PENDIENTE_PEDIRIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_ArticulosPendientesPedirAProvCANT_PENDIENTE_PEDIR] := Null;
+end;
+
+
+{ TDarReferenciaBusinessProcessorRules }
+constructor TDarReferenciaBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
+begin
+ inherited;
+end;
+
+destructor TDarReferenciaBusinessProcessorRules.Destroy;
+begin
+ inherited;
+end;
+
+function TDarReferenciaBusinessProcessorRules.GetVALORValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_DarReferenciaVALOR];
+end;
+
+function TDarReferenciaBusinessProcessorRules.GetVALORIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DarReferenciaVALOR]);
+end;
+
+function TDarReferenciaBusinessProcessorRules.GetOldVALORValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_DarReferenciaVALOR];
+end;
+
+function TDarReferenciaBusinessProcessorRules.GetOldVALORIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DarReferenciaVALOR]);
+end;
+
+procedure TDarReferenciaBusinessProcessorRules.SetVALORValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_DarReferenciaVALOR] := aValue;
+end;
+
+procedure TDarReferenciaBusinessProcessorRules.SetVALORIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_DarReferenciaVALOR] := Null;
+end;
+
+
+{ TPedidosClienteBusinessProcessorRules }
+constructor TPedidosClienteBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
+var
+ StrList: TStringList;
+begin
+ inherited;
+
+ StrList := TStringList.Create;
+ StrList.OnChange := OBSERVACIONES_OnChange;
+ f_OBSERVACIONES := NewROStrings(StrList,True);
+
+ StrList := TStringList.Create;
+ StrList.OnChange := INCIDENCIAS_OnChange;
+ f_INCIDENCIAS := NewROStrings(StrList,True);
+end;
+
+destructor TPedidosClienteBusinessProcessorRules.Destroy;
+begin
+ inherited;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.OBSERVACIONES_OnChange(Sender: TObject);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteOBSERVACIONES] := TStringList(Sender).Text;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.INCIDENCIAS_OnChange(Sender: TObject);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteINCIDENCIAS] := TStringList(Sender).Text;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetIDValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteID];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetIDIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteID]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldIDValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteID];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldIDIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteID]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetIDValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteID] := aValue;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetIDIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteID] := Null;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetID_EMPRESAValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteID_EMPRESA];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetID_EMPRESAIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteID_EMPRESA]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldID_EMPRESAValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteID_EMPRESA];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldID_EMPRESAIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteID_EMPRESA]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetID_EMPRESAValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteID_EMPRESA] := aValue;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetID_EMPRESAIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteID_EMPRESA] := Null;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetID_CLIENTEValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteID_CLIENTE];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetID_CLIENTEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteID_CLIENTE]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldID_CLIENTEValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteID_CLIENTE];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldID_CLIENTEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteID_CLIENTE]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetID_CLIENTEValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteID_CLIENTE] := aValue;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetID_CLIENTEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteID_CLIENTE] := Null;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetNOMBREValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteNOMBRE];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetNOMBREIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteNOMBRE]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldNOMBREValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteNOMBRE];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldNOMBREIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteNOMBRE]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetNOMBREValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteNOMBRE] := aValue;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetNOMBREIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteNOMBRE] := Null;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetREFERENCIAValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteREFERENCIA];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetREFERENCIAIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteREFERENCIA]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldREFERENCIAValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteREFERENCIA];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldREFERENCIAIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteREFERENCIA]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetREFERENCIAValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteREFERENCIA] := aValue;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetREFERENCIAIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteREFERENCIA] := Null;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetREFERENCIA_CLIENTEValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteREFERENCIA_CLIENTE];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetREFERENCIA_CLIENTEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteREFERENCIA_CLIENTE]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldREFERENCIA_CLIENTEValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteREFERENCIA_CLIENTE];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldREFERENCIA_CLIENTEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteREFERENCIA_CLIENTE]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetREFERENCIA_CLIENTEValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteREFERENCIA_CLIENTE] := aValue;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetREFERENCIA_CLIENTEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteREFERENCIA_CLIENTE] := Null;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetSITUACIONValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteSITUACION];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetSITUACIONIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteSITUACION]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldSITUACIONValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteSITUACION];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldSITUACIONIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteSITUACION]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetSITUACIONValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteSITUACION] := aValue;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetSITUACIONIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteSITUACION] := Null;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetFECHA_PEDIDOValue: DateTime;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteFECHA_PEDIDO];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetFECHA_PEDIDOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteFECHA_PEDIDO]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldFECHA_PEDIDOValue: DateTime;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteFECHA_PEDIDO];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldFECHA_PEDIDOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteFECHA_PEDIDO]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetFECHA_PEDIDOValue(const aValue: DateTime);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteFECHA_PEDIDO] := aValue;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetFECHA_PEDIDOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteFECHA_PEDIDO] := Null;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetCALLEValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteCALLE];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetCALLEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteCALLE]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldCALLEValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteCALLE];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldCALLEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteCALLE]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetCALLEValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteCALLE] := aValue;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetCALLEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteCALLE] := Null;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetCODIGO_POSTALValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteCODIGO_POSTAL];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetCODIGO_POSTALIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteCODIGO_POSTAL]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldCODIGO_POSTALValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteCODIGO_POSTAL];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldCODIGO_POSTALIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteCODIGO_POSTAL]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetCODIGO_POSTALValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteCODIGO_POSTAL] := aValue;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetCODIGO_POSTALIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteCODIGO_POSTAL] := Null;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetPOBLACIONValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClientePOBLACION];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetPOBLACIONIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClientePOBLACION]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldPOBLACIONValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClientePOBLACION];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldPOBLACIONIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClientePOBLACION]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetPOBLACIONValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClientePOBLACION] := aValue;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetPOBLACIONIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClientePOBLACION] := Null;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetPROVINCIAValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClientePROVINCIA];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetPROVINCIAIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClientePROVINCIA]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldPROVINCIAValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClientePROVINCIA];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldPROVINCIAIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClientePROVINCIA]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetPROVINCIAValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClientePROVINCIA] := aValue;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetPROVINCIAIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClientePROVINCIA] := Null;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetPERSONA_CONTACTOValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClientePERSONA_CONTACTO];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetPERSONA_CONTACTOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClientePERSONA_CONTACTO]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldPERSONA_CONTACTOValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClientePERSONA_CONTACTO];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldPERSONA_CONTACTOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClientePERSONA_CONTACTO]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetPERSONA_CONTACTOValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClientePERSONA_CONTACTO] := aValue;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetPERSONA_CONTACTOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClientePERSONA_CONTACTO] := Null;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetTELEFONOValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteTELEFONO];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetTELEFONOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteTELEFONO]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldTELEFONOValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteTELEFONO];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldTELEFONOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteTELEFONO]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetTELEFONOValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteTELEFONO] := aValue;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetTELEFONOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteTELEFONO] := Null;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOBSERVACIONESValue: IROStrings;
+begin
+ result := f_OBSERVACIONES;
+ result.Text := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteOBSERVACIONES];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOBSERVACIONESIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteOBSERVACIONES]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldOBSERVACIONESValue: IROStrings;
+begin
+ result := NewROStrings();
+ result.Text := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteOBSERVACIONES];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldOBSERVACIONESIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteOBSERVACIONES]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetOBSERVACIONESIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteOBSERVACIONES] := Null;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetINCIDENCIASValue: IROStrings;
+begin
+ result := f_INCIDENCIAS;
+ result.Text := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteINCIDENCIAS];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetINCIDENCIASIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteINCIDENCIAS]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldINCIDENCIASValue: IROStrings;
+begin
+ result := NewROStrings();
+ result.Text := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteINCIDENCIAS];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldINCIDENCIASIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteINCIDENCIAS]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetINCIDENCIASIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteINCIDENCIAS] := Null;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetINCIDENCIAS_ACTIVASValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteINCIDENCIAS_ACTIVAS];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetINCIDENCIAS_ACTIVASIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteINCIDENCIAS_ACTIVAS]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldINCIDENCIAS_ACTIVASValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteINCIDENCIAS_ACTIVAS];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldINCIDENCIAS_ACTIVASIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteINCIDENCIAS_ACTIVAS]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetINCIDENCIAS_ACTIVASValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteINCIDENCIAS_ACTIVAS] := aValue;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetINCIDENCIAS_ACTIVASIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteINCIDENCIAS_ACTIVAS] := Null;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetFECHA_ALTAValue: DateTime;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteFECHA_ALTA];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetFECHA_ALTAIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteFECHA_ALTA]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldFECHA_ALTAValue: DateTime;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteFECHA_ALTA];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldFECHA_ALTAIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteFECHA_ALTA]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetFECHA_ALTAValue(const aValue: DateTime);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteFECHA_ALTA] := aValue;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetFECHA_ALTAIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteFECHA_ALTA] := Null;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetFECHA_MODIFICACIONValue: DateTime;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteFECHA_MODIFICACION];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetFECHA_MODIFICACIONIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteFECHA_MODIFICACION]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldFECHA_MODIFICACIONValue: DateTime;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteFECHA_MODIFICACION];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldFECHA_MODIFICACIONIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteFECHA_MODIFICACION]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetFECHA_MODIFICACIONValue(const aValue: DateTime);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteFECHA_MODIFICACION] := aValue;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetFECHA_MODIFICACIONIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteFECHA_MODIFICACION] := Null;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetUSUARIOValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteUSUARIO];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetUSUARIOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteUSUARIO]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldUSUARIOValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteUSUARIO];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldUSUARIOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteUSUARIO]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetUSUARIOValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteUSUARIO] := aValue;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetUSUARIOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteUSUARIO] := Null;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetIMPORTE_NETOValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteIMPORTE_NETO];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetIMPORTE_NETOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteIMPORTE_NETO]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldIMPORTE_NETOValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteIMPORTE_NETO];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldIMPORTE_NETOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteIMPORTE_NETO]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetIMPORTE_NETOValue(const aValue: Currency);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteIMPORTE_NETO] := aValue;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetIMPORTE_NETOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteIMPORTE_NETO] := Null;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetIMPORTE_PORTEValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteIMPORTE_PORTE];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetIMPORTE_PORTEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteIMPORTE_PORTE]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldIMPORTE_PORTEValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteIMPORTE_PORTE];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldIMPORTE_PORTEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteIMPORTE_PORTE]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetIMPORTE_PORTEValue(const aValue: Currency);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteIMPORTE_PORTE] := aValue;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetIMPORTE_PORTEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteIMPORTE_PORTE] := Null;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetDESCUENTOValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteDESCUENTO];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetDESCUENTOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteDESCUENTO]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldDESCUENTOValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteDESCUENTO];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldDESCUENTOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteDESCUENTO]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetDESCUENTOValue(const aValue: Float);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteDESCUENTO] := aValue;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetDESCUENTOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteDESCUENTO] := Null;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetIMPORTE_DESCUENTOValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteIMPORTE_DESCUENTO];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetIMPORTE_DESCUENTOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteIMPORTE_DESCUENTO]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldIMPORTE_DESCUENTOValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteIMPORTE_DESCUENTO];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldIMPORTE_DESCUENTOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteIMPORTE_DESCUENTO]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetIMPORTE_DESCUENTOValue(const aValue: Currency);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteIMPORTE_DESCUENTO] := aValue;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetIMPORTE_DESCUENTOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteIMPORTE_DESCUENTO] := Null;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetBASE_IMPONIBLEValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteBASE_IMPONIBLE];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetBASE_IMPONIBLEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteBASE_IMPONIBLE]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldBASE_IMPONIBLEValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteBASE_IMPONIBLE];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldBASE_IMPONIBLEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteBASE_IMPONIBLE]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetBASE_IMPONIBLEValue(const aValue: Currency);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteBASE_IMPONIBLE] := aValue;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetBASE_IMPONIBLEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteBASE_IMPONIBLE] := Null;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetIVAValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteIVA];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetIVAIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteIVA]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldIVAValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteIVA];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldIVAIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteIVA]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetIVAValue(const aValue: Float);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteIVA] := aValue;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetIVAIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteIVA] := Null;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetIMPORTE_IVAValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteIMPORTE_IVA];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetIMPORTE_IVAIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteIMPORTE_IVA]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldIMPORTE_IVAValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteIMPORTE_IVA];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldIMPORTE_IVAIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteIMPORTE_IVA]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetIMPORTE_IVAValue(const aValue: Currency);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteIMPORTE_IVA] := aValue;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetIMPORTE_IVAIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteIMPORTE_IVA] := Null;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetIMPORTE_TOTALValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteIMPORTE_TOTAL];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetIMPORTE_TOTALIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteIMPORTE_TOTAL]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldIMPORTE_TOTALValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteIMPORTE_TOTAL];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldIMPORTE_TOTALIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteIMPORTE_TOTAL]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetIMPORTE_TOTALValue(const aValue: Currency);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteIMPORTE_TOTAL] := aValue;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetIMPORTE_TOTALIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteIMPORTE_TOTAL] := Null;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetID_FORMA_PAGOValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteID_FORMA_PAGO];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetID_FORMA_PAGOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteID_FORMA_PAGO]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldID_FORMA_PAGOValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteID_FORMA_PAGO];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldID_FORMA_PAGOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteID_FORMA_PAGO]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetID_FORMA_PAGOValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteID_FORMA_PAGO] := aValue;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetID_FORMA_PAGOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteID_FORMA_PAGO] := Null;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetREF_TIENDA_WEBValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteREF_TIENDA_WEB];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetREF_TIENDA_WEBIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteREF_TIENDA_WEB]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldREF_TIENDA_WEBValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteREF_TIENDA_WEB];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldREF_TIENDA_WEBIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteREF_TIENDA_WEB]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetREF_TIENDA_WEBValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteREF_TIENDA_WEB] := aValue;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetREF_TIENDA_WEBIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteREF_TIENDA_WEB] := Null;
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetFECHA_PREVISTA_ENVIOValue: DateTime;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteFECHA_PREVISTA_ENVIO];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetFECHA_PREVISTA_ENVIOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteFECHA_PREVISTA_ENVIO]);
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldFECHA_PREVISTA_ENVIOValue: DateTime;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteFECHA_PREVISTA_ENVIO];
+end;
+
+function TPedidosClienteBusinessProcessorRules.GetOldFECHA_PREVISTA_ENVIOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteFECHA_PREVISTA_ENVIO]);
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetFECHA_PREVISTA_ENVIOValue(const aValue: DateTime);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteFECHA_PREVISTA_ENVIO] := aValue;
+end;
+
+procedure TPedidosClienteBusinessProcessorRules.SetFECHA_PREVISTA_ENVIOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteFECHA_PREVISTA_ENVIO] := Null;
+end;
+
+
+{ TPedidosCliente_DetallesBusinessProcessorRules }
+constructor TPedidosCliente_DetallesBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
+begin
+ inherited;
+end;
+
+destructor TPedidosCliente_DetallesBusinessProcessorRules.Destroy;
+begin
+ inherited;
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetIDValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesID];
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetIDIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesID]);
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetOldIDValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_DetallesID];
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetOldIDIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_DetallesID]);
+end;
+
+procedure TPedidosCliente_DetallesBusinessProcessorRules.SetIDValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesID] := aValue;
+end;
+
+procedure TPedidosCliente_DetallesBusinessProcessorRules.SetIDIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesID] := Null;
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetID_PEDIDOValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesID_PEDIDO];
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetID_PEDIDOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesID_PEDIDO]);
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetOldID_PEDIDOValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_DetallesID_PEDIDO];
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetOldID_PEDIDOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_DetallesID_PEDIDO]);
+end;
+
+procedure TPedidosCliente_DetallesBusinessProcessorRules.SetID_PEDIDOValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesID_PEDIDO] := aValue;
+end;
+
+procedure TPedidosCliente_DetallesBusinessProcessorRules.SetID_PEDIDOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesID_PEDIDO] := Null;
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetPOSICIONValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesPOSICION];
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetPOSICIONIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesPOSICION]);
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetOldPOSICIONValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_DetallesPOSICION];
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetOldPOSICIONIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_DetallesPOSICION]);
+end;
+
+procedure TPedidosCliente_DetallesBusinessProcessorRules.SetPOSICIONValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesPOSICION] := aValue;
+end;
+
+procedure TPedidosCliente_DetallesBusinessProcessorRules.SetPOSICIONIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesPOSICION] := Null;
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetTIPO_DETALLEValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesTIPO_DETALLE];
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetTIPO_DETALLEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesTIPO_DETALLE]);
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetOldTIPO_DETALLEValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_DetallesTIPO_DETALLE];
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetOldTIPO_DETALLEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_DetallesTIPO_DETALLE]);
+end;
+
+procedure TPedidosCliente_DetallesBusinessProcessorRules.SetTIPO_DETALLEValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesTIPO_DETALLE] := aValue;
+end;
+
+procedure TPedidosCliente_DetallesBusinessProcessorRules.SetTIPO_DETALLEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesTIPO_DETALLE] := Null;
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetREFERENCIAValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesREFERENCIA];
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetREFERENCIAIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesREFERENCIA]);
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetOldREFERENCIAValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_DetallesREFERENCIA];
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetOldREFERENCIAIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_DetallesREFERENCIA]);
+end;
+
+procedure TPedidosCliente_DetallesBusinessProcessorRules.SetREFERENCIAValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesREFERENCIA] := aValue;
+end;
+
+procedure TPedidosCliente_DetallesBusinessProcessorRules.SetREFERENCIAIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesREFERENCIA] := Null;
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetID_ARTICULOValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesID_ARTICULO];
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetID_ARTICULOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesID_ARTICULO]);
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetOldID_ARTICULOValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_DetallesID_ARTICULO];
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetOldID_ARTICULOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_DetallesID_ARTICULO]);
+end;
+
+procedure TPedidosCliente_DetallesBusinessProcessorRules.SetID_ARTICULOValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesID_ARTICULO] := aValue;
+end;
+
+procedure TPedidosCliente_DetallesBusinessProcessorRules.SetID_ARTICULOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesID_ARTICULO] := Null;
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetCONCEPTOValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesCONCEPTO];
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetCONCEPTOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesCONCEPTO]);
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetOldCONCEPTOValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_DetallesCONCEPTO];
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetOldCONCEPTOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_DetallesCONCEPTO]);
+end;
+
+procedure TPedidosCliente_DetallesBusinessProcessorRules.SetCONCEPTOValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesCONCEPTO] := aValue;
+end;
+
+procedure TPedidosCliente_DetallesBusinessProcessorRules.SetCONCEPTOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesCONCEPTO] := Null;
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetCANTIDADValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesCANTIDAD];
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetCANTIDADIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesCANTIDAD]);
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetOldCANTIDADValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_DetallesCANTIDAD];
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetOldCANTIDADIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_DetallesCANTIDAD]);
+end;
+
+procedure TPedidosCliente_DetallesBusinessProcessorRules.SetCANTIDADValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesCANTIDAD] := aValue;
+end;
+
+procedure TPedidosCliente_DetallesBusinessProcessorRules.SetCANTIDADIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesCANTIDAD] := Null;
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetIMPORTE_UNIDADValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesIMPORTE_UNIDAD];
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetIMPORTE_UNIDADIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesIMPORTE_UNIDAD]);
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetOldIMPORTE_UNIDADValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_DetallesIMPORTE_UNIDAD];
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetOldIMPORTE_UNIDADIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_DetallesIMPORTE_UNIDAD]);
+end;
+
+procedure TPedidosCliente_DetallesBusinessProcessorRules.SetIMPORTE_UNIDADValue(const aValue: Currency);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesIMPORTE_UNIDAD] := aValue;
+end;
+
+procedure TPedidosCliente_DetallesBusinessProcessorRules.SetIMPORTE_UNIDADIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesIMPORTE_UNIDAD] := Null;
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetIMPORTE_TOTALValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesIMPORTE_TOTAL];
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetIMPORTE_TOTALIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesIMPORTE_TOTAL]);
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetOldIMPORTE_TOTALValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_DetallesIMPORTE_TOTAL];
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetOldIMPORTE_TOTALIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_DetallesIMPORTE_TOTAL]);
+end;
+
+procedure TPedidosCliente_DetallesBusinessProcessorRules.SetIMPORTE_TOTALValue(const aValue: Currency);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesIMPORTE_TOTAL] := aValue;
+end;
+
+procedure TPedidosCliente_DetallesBusinessProcessorRules.SetIMPORTE_TOTALIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesIMPORTE_TOTAL] := Null;
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetDESCUENTOValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesDESCUENTO];
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetDESCUENTOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesDESCUENTO]);
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetOldDESCUENTOValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_DetallesDESCUENTO];
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetOldDESCUENTOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_DetallesDESCUENTO]);
+end;
+
+procedure TPedidosCliente_DetallesBusinessProcessorRules.SetDESCUENTOValue(const aValue: Float);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesDESCUENTO] := aValue;
+end;
+
+procedure TPedidosCliente_DetallesBusinessProcessorRules.SetDESCUENTOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesDESCUENTO] := Null;
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetIMPORTE_PORTEValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesIMPORTE_PORTE];
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetIMPORTE_PORTEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesIMPORTE_PORTE]);
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetOldIMPORTE_PORTEValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_DetallesIMPORTE_PORTE];
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetOldIMPORTE_PORTEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_DetallesIMPORTE_PORTE]);
+end;
+
+procedure TPedidosCliente_DetallesBusinessProcessorRules.SetIMPORTE_PORTEValue(const aValue: Currency);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesIMPORTE_PORTE] := aValue;
+end;
+
+procedure TPedidosCliente_DetallesBusinessProcessorRules.SetIMPORTE_PORTEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesIMPORTE_PORTE] := Null;
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetVISIBLEValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesVISIBLE];
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetVISIBLEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesVISIBLE]);
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetOldVISIBLEValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_DetallesVISIBLE];
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetOldVISIBLEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_DetallesVISIBLE]);
+end;
+
+procedure TPedidosCliente_DetallesBusinessProcessorRules.SetVISIBLEValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesVISIBLE] := aValue;
+end;
+
+procedure TPedidosCliente_DetallesBusinessProcessorRules.SetVISIBLEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesVISIBLE] := Null;
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetREFERENCIA_PROVEEDORValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesREFERENCIA_PROVEEDOR];
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetREFERENCIA_PROVEEDORIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesREFERENCIA_PROVEEDOR]);
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetOldREFERENCIA_PROVEEDORValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_DetallesREFERENCIA_PROVEEDOR];
+end;
+
+function TPedidosCliente_DetallesBusinessProcessorRules.GetOldREFERENCIA_PROVEEDORIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_DetallesREFERENCIA_PROVEEDOR]);
+end;
+
+procedure TPedidosCliente_DetallesBusinessProcessorRules.SetREFERENCIA_PROVEEDORValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesREFERENCIA_PROVEEDOR] := aValue;
+end;
+
+procedure TPedidosCliente_DetallesBusinessProcessorRules.SetREFERENCIA_PROVEEDORIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_DetallesREFERENCIA_PROVEEDOR] := Null;
+end;
+
+
+{ TPedidosCliente_RefreshBusinessProcessorRules }
+constructor TPedidosCliente_RefreshBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
+var
+ StrList: TStringList;
+begin
+ inherited;
+
+ StrList := TStringList.Create;
+ StrList.OnChange := OBSERVACIONES_OnChange;
+ f_OBSERVACIONES := NewROStrings(StrList,True);
+
+ StrList := TStringList.Create;
+ StrList.OnChange := INCIDENCIAS_OnChange;
+ f_INCIDENCIAS := NewROStrings(StrList,True);
+end;
+
+destructor TPedidosCliente_RefreshBusinessProcessorRules.Destroy;
+begin
+ inherited;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.OBSERVACIONES_OnChange(Sender: TObject);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshOBSERVACIONES] := TStringList(Sender).Text;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.INCIDENCIAS_OnChange(Sender: TObject);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshINCIDENCIAS] := TStringList(Sender).Text;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetIDValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshID];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetIDIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshID]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldIDValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshID];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldIDIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshID]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetIDValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshID] := aValue;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetIDIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshID] := Null;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetID_EMPRESAValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshID_EMPRESA];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetID_EMPRESAIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshID_EMPRESA]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldID_EMPRESAValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshID_EMPRESA];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldID_EMPRESAIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshID_EMPRESA]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetID_EMPRESAValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshID_EMPRESA] := aValue;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetID_EMPRESAIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshID_EMPRESA] := Null;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetID_CLIENTEValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshID_CLIENTE];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetID_CLIENTEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshID_CLIENTE]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldID_CLIENTEValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshID_CLIENTE];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldID_CLIENTEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshID_CLIENTE]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetID_CLIENTEValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshID_CLIENTE] := aValue;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetID_CLIENTEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshID_CLIENTE] := Null;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetNOMBREValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshNOMBRE];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetNOMBREIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshNOMBRE]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldNOMBREValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshNOMBRE];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldNOMBREIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshNOMBRE]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetNOMBREValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshNOMBRE] := aValue;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetNOMBREIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshNOMBRE] := Null;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetREFERENCIAValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshREFERENCIA];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetREFERENCIAIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshREFERENCIA]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldREFERENCIAValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshREFERENCIA];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldREFERENCIAIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshREFERENCIA]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetREFERENCIAValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshREFERENCIA] := aValue;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetREFERENCIAIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshREFERENCIA] := Null;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetREFERENCIA_CLIENTEValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshREFERENCIA_CLIENTE];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetREFERENCIA_CLIENTEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshREFERENCIA_CLIENTE]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldREFERENCIA_CLIENTEValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshREFERENCIA_CLIENTE];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldREFERENCIA_CLIENTEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshREFERENCIA_CLIENTE]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetREFERENCIA_CLIENTEValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshREFERENCIA_CLIENTE] := aValue;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetREFERENCIA_CLIENTEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshREFERENCIA_CLIENTE] := Null;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetSITUACIONValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshSITUACION];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetSITUACIONIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshSITUACION]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldSITUACIONValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshSITUACION];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldSITUACIONIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshSITUACION]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetSITUACIONValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshSITUACION] := aValue;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetSITUACIONIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshSITUACION] := Null;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetFECHA_PEDIDOValue: DateTime;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshFECHA_PEDIDO];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetFECHA_PEDIDOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshFECHA_PEDIDO]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldFECHA_PEDIDOValue: DateTime;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshFECHA_PEDIDO];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldFECHA_PEDIDOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshFECHA_PEDIDO]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetFECHA_PEDIDOValue(const aValue: DateTime);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshFECHA_PEDIDO] := aValue;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetFECHA_PEDIDOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshFECHA_PEDIDO] := Null;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetCALLEValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshCALLE];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetCALLEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshCALLE]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldCALLEValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshCALLE];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldCALLEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshCALLE]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetCALLEValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshCALLE] := aValue;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetCALLEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshCALLE] := Null;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetCODIGO_POSTALValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshCODIGO_POSTAL];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetCODIGO_POSTALIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshCODIGO_POSTAL]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldCODIGO_POSTALValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshCODIGO_POSTAL];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldCODIGO_POSTALIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshCODIGO_POSTAL]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetCODIGO_POSTALValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshCODIGO_POSTAL] := aValue;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetCODIGO_POSTALIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshCODIGO_POSTAL] := Null;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetPOBLACIONValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshPOBLACION];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetPOBLACIONIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshPOBLACION]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldPOBLACIONValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshPOBLACION];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldPOBLACIONIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshPOBLACION]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetPOBLACIONValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshPOBLACION] := aValue;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetPOBLACIONIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshPOBLACION] := Null;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetPROVINCIAValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshPROVINCIA];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetPROVINCIAIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshPROVINCIA]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldPROVINCIAValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshPROVINCIA];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldPROVINCIAIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshPROVINCIA]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetPROVINCIAValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshPROVINCIA] := aValue;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetPROVINCIAIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshPROVINCIA] := Null;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetPERSONA_CONTACTOValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshPERSONA_CONTACTO];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetPERSONA_CONTACTOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshPERSONA_CONTACTO]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldPERSONA_CONTACTOValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshPERSONA_CONTACTO];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldPERSONA_CONTACTOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshPERSONA_CONTACTO]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetPERSONA_CONTACTOValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshPERSONA_CONTACTO] := aValue;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetPERSONA_CONTACTOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshPERSONA_CONTACTO] := Null;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetTELEFONOValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshTELEFONO];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetTELEFONOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshTELEFONO]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldTELEFONOValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshTELEFONO];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldTELEFONOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshTELEFONO]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetTELEFONOValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshTELEFONO] := aValue;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetTELEFONOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshTELEFONO] := Null;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOBSERVACIONESValue: IROStrings;
+begin
+ result := f_OBSERVACIONES;
+ result.Text := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshOBSERVACIONES];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOBSERVACIONESIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshOBSERVACIONES]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldOBSERVACIONESValue: IROStrings;
+begin
+ result := NewROStrings();
+ result.Text := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshOBSERVACIONES];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldOBSERVACIONESIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshOBSERVACIONES]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetOBSERVACIONESIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshOBSERVACIONES] := Null;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetINCIDENCIASValue: IROStrings;
+begin
+ result := f_INCIDENCIAS;
+ result.Text := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshINCIDENCIAS];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetINCIDENCIASIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshINCIDENCIAS]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldINCIDENCIASValue: IROStrings;
+begin
+ result := NewROStrings();
+ result.Text := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshINCIDENCIAS];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldINCIDENCIASIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshINCIDENCIAS]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetINCIDENCIASIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshINCIDENCIAS] := Null;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetINCIDENCIAS_ACTIVASValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshINCIDENCIAS_ACTIVAS];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetINCIDENCIAS_ACTIVASIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshINCIDENCIAS_ACTIVAS]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldINCIDENCIAS_ACTIVASValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshINCIDENCIAS_ACTIVAS];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldINCIDENCIAS_ACTIVASIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshINCIDENCIAS_ACTIVAS]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetINCIDENCIAS_ACTIVASValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshINCIDENCIAS_ACTIVAS] := aValue;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetINCIDENCIAS_ACTIVASIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshINCIDENCIAS_ACTIVAS] := Null;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetFECHA_ALTAValue: DateTime;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshFECHA_ALTA];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetFECHA_ALTAIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshFECHA_ALTA]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldFECHA_ALTAValue: DateTime;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshFECHA_ALTA];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldFECHA_ALTAIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshFECHA_ALTA]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetFECHA_ALTAValue(const aValue: DateTime);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshFECHA_ALTA] := aValue;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetFECHA_ALTAIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshFECHA_ALTA] := Null;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetFECHA_MODIFICACIONValue: DateTime;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshFECHA_MODIFICACION];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetFECHA_MODIFICACIONIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshFECHA_MODIFICACION]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldFECHA_MODIFICACIONValue: DateTime;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshFECHA_MODIFICACION];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldFECHA_MODIFICACIONIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshFECHA_MODIFICACION]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetFECHA_MODIFICACIONValue(const aValue: DateTime);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshFECHA_MODIFICACION] := aValue;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetFECHA_MODIFICACIONIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshFECHA_MODIFICACION] := Null;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetUSUARIOValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshUSUARIO];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetUSUARIOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshUSUARIO]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldUSUARIOValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshUSUARIO];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldUSUARIOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshUSUARIO]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetUSUARIOValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshUSUARIO] := aValue;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetUSUARIOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshUSUARIO] := Null;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetIMPORTE_NETOValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshIMPORTE_NETO];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetIMPORTE_NETOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshIMPORTE_NETO]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldIMPORTE_NETOValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshIMPORTE_NETO];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldIMPORTE_NETOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshIMPORTE_NETO]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetIMPORTE_NETOValue(const aValue: Currency);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshIMPORTE_NETO] := aValue;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetIMPORTE_NETOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshIMPORTE_NETO] := Null;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetIMPORTE_PORTEValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshIMPORTE_PORTE];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetIMPORTE_PORTEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshIMPORTE_PORTE]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldIMPORTE_PORTEValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshIMPORTE_PORTE];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldIMPORTE_PORTEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshIMPORTE_PORTE]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetIMPORTE_PORTEValue(const aValue: Currency);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshIMPORTE_PORTE] := aValue;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetIMPORTE_PORTEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshIMPORTE_PORTE] := Null;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetDESCUENTOValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshDESCUENTO];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetDESCUENTOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshDESCUENTO]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldDESCUENTOValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshDESCUENTO];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldDESCUENTOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshDESCUENTO]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetDESCUENTOValue(const aValue: Float);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshDESCUENTO] := aValue;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetDESCUENTOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshDESCUENTO] := Null;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetIMPORTE_DESCUENTOValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshIMPORTE_DESCUENTO];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetIMPORTE_DESCUENTOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshIMPORTE_DESCUENTO]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldIMPORTE_DESCUENTOValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshIMPORTE_DESCUENTO];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldIMPORTE_DESCUENTOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshIMPORTE_DESCUENTO]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetIMPORTE_DESCUENTOValue(const aValue: Currency);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshIMPORTE_DESCUENTO] := aValue;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetIMPORTE_DESCUENTOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshIMPORTE_DESCUENTO] := Null;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetBASE_IMPONIBLEValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshBASE_IMPONIBLE];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetBASE_IMPONIBLEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshBASE_IMPONIBLE]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldBASE_IMPONIBLEValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshBASE_IMPONIBLE];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldBASE_IMPONIBLEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshBASE_IMPONIBLE]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetBASE_IMPONIBLEValue(const aValue: Currency);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshBASE_IMPONIBLE] := aValue;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetBASE_IMPONIBLEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshBASE_IMPONIBLE] := Null;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetIVAValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshIVA];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetIVAIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshIVA]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldIVAValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshIVA];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldIVAIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshIVA]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetIVAValue(const aValue: Float);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshIVA] := aValue;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetIVAIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshIVA] := Null;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetIMPORTE_IVAValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshIMPORTE_IVA];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetIMPORTE_IVAIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshIMPORTE_IVA]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldIMPORTE_IVAValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshIMPORTE_IVA];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldIMPORTE_IVAIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshIMPORTE_IVA]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetIMPORTE_IVAValue(const aValue: Currency);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshIMPORTE_IVA] := aValue;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetIMPORTE_IVAIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshIMPORTE_IVA] := Null;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetIMPORTE_TOTALValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshIMPORTE_TOTAL];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetIMPORTE_TOTALIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshIMPORTE_TOTAL]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldIMPORTE_TOTALValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshIMPORTE_TOTAL];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldIMPORTE_TOTALIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshIMPORTE_TOTAL]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetIMPORTE_TOTALValue(const aValue: Currency);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshIMPORTE_TOTAL] := aValue;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetIMPORTE_TOTALIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshIMPORTE_TOTAL] := Null;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetID_FORMA_PAGOValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshID_FORMA_PAGO];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetID_FORMA_PAGOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshID_FORMA_PAGO]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldID_FORMA_PAGOValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshID_FORMA_PAGO];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldID_FORMA_PAGOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshID_FORMA_PAGO]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetID_FORMA_PAGOValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshID_FORMA_PAGO] := aValue;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetID_FORMA_PAGOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshID_FORMA_PAGO] := Null;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetREF_TIENDA_WEBValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshREF_TIENDA_WEB];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetREF_TIENDA_WEBIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshREF_TIENDA_WEB]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldREF_TIENDA_WEBValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshREF_TIENDA_WEB];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldREF_TIENDA_WEBIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshREF_TIENDA_WEB]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetREF_TIENDA_WEBValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshREF_TIENDA_WEB] := aValue;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetREF_TIENDA_WEBIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshREF_TIENDA_WEB] := Null;
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetFECHA_PREVISTA_ENVIOValue: DateTime;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshFECHA_PREVISTA_ENVIO];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetFECHA_PREVISTA_ENVIOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshFECHA_PREVISTA_ENVIO]);
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldFECHA_PREVISTA_ENVIOValue: DateTime;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshFECHA_PREVISTA_ENVIO];
+end;
+
+function TPedidosCliente_RefreshBusinessProcessorRules.GetOldFECHA_PREVISTA_ENVIOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_RefreshFECHA_PREVISTA_ENVIO]);
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetFECHA_PREVISTA_ENVIOValue(const aValue: DateTime);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshFECHA_PREVISTA_ENVIO] := aValue;
+end;
+
+procedure TPedidosCliente_RefreshBusinessProcessorRules.SetFECHA_PREVISTA_ENVIOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_RefreshFECHA_PREVISTA_ENVIO] := Null;
+end;
+
+
+{ TPedidosCliente_Detalles_RefreshBusinessProcessorRules }
+constructor TPedidosCliente_Detalles_RefreshBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
+begin
+ inherited;
+end;
+
+destructor TPedidosCliente_Detalles_RefreshBusinessProcessorRules.Destroy;
+begin
+ inherited;
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetIDValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshID];
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetIDIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshID]);
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetOldIDValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_Detalles_RefreshID];
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetOldIDIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_Detalles_RefreshID]);
+end;
+
+procedure TPedidosCliente_Detalles_RefreshBusinessProcessorRules.SetIDValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshID] := aValue;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshBusinessProcessorRules.SetIDIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshID] := Null;
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetID_PEDIDOValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshID_PEDIDO];
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetID_PEDIDOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshID_PEDIDO]);
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetOldID_PEDIDOValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_Detalles_RefreshID_PEDIDO];
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetOldID_PEDIDOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_Detalles_RefreshID_PEDIDO]);
+end;
+
+procedure TPedidosCliente_Detalles_RefreshBusinessProcessorRules.SetID_PEDIDOValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshID_PEDIDO] := aValue;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshBusinessProcessorRules.SetID_PEDIDOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshID_PEDIDO] := Null;
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetPOSICIONValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshPOSICION];
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetPOSICIONIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshPOSICION]);
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetOldPOSICIONValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_Detalles_RefreshPOSICION];
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetOldPOSICIONIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_Detalles_RefreshPOSICION]);
+end;
+
+procedure TPedidosCliente_Detalles_RefreshBusinessProcessorRules.SetPOSICIONValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshPOSICION] := aValue;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshBusinessProcessorRules.SetPOSICIONIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshPOSICION] := Null;
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetTIPO_DETALLEValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshTIPO_DETALLE];
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetTIPO_DETALLEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshTIPO_DETALLE]);
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetOldTIPO_DETALLEValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_Detalles_RefreshTIPO_DETALLE];
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetOldTIPO_DETALLEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_Detalles_RefreshTIPO_DETALLE]);
+end;
+
+procedure TPedidosCliente_Detalles_RefreshBusinessProcessorRules.SetTIPO_DETALLEValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshTIPO_DETALLE] := aValue;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshBusinessProcessorRules.SetTIPO_DETALLEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshTIPO_DETALLE] := Null;
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetREFERENCIAValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshREFERENCIA];
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetREFERENCIAIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshREFERENCIA]);
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetOldREFERENCIAValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_Detalles_RefreshREFERENCIA];
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetOldREFERENCIAIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_Detalles_RefreshREFERENCIA]);
+end;
+
+procedure TPedidosCliente_Detalles_RefreshBusinessProcessorRules.SetREFERENCIAValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshREFERENCIA] := aValue;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshBusinessProcessorRules.SetREFERENCIAIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshREFERENCIA] := Null;
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetID_ARTICULOValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshID_ARTICULO];
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetID_ARTICULOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshID_ARTICULO]);
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetOldID_ARTICULOValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_Detalles_RefreshID_ARTICULO];
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetOldID_ARTICULOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_Detalles_RefreshID_ARTICULO]);
+end;
+
+procedure TPedidosCliente_Detalles_RefreshBusinessProcessorRules.SetID_ARTICULOValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshID_ARTICULO] := aValue;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshBusinessProcessorRules.SetID_ARTICULOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshID_ARTICULO] := Null;
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetCONCEPTOValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshCONCEPTO];
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetCONCEPTOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshCONCEPTO]);
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetOldCONCEPTOValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_Detalles_RefreshCONCEPTO];
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetOldCONCEPTOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_Detalles_RefreshCONCEPTO]);
+end;
+
+procedure TPedidosCliente_Detalles_RefreshBusinessProcessorRules.SetCONCEPTOValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshCONCEPTO] := aValue;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshBusinessProcessorRules.SetCONCEPTOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshCONCEPTO] := Null;
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetCANTIDADValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshCANTIDAD];
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetCANTIDADIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshCANTIDAD]);
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetOldCANTIDADValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_Detalles_RefreshCANTIDAD];
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetOldCANTIDADIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_Detalles_RefreshCANTIDAD]);
+end;
+
+procedure TPedidosCliente_Detalles_RefreshBusinessProcessorRules.SetCANTIDADValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshCANTIDAD] := aValue;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshBusinessProcessorRules.SetCANTIDADIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshCANTIDAD] := Null;
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetIMPORTE_UNIDADValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshIMPORTE_UNIDAD];
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetIMPORTE_UNIDADIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshIMPORTE_UNIDAD]);
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetOldIMPORTE_UNIDADValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_Detalles_RefreshIMPORTE_UNIDAD];
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetOldIMPORTE_UNIDADIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_Detalles_RefreshIMPORTE_UNIDAD]);
+end;
+
+procedure TPedidosCliente_Detalles_RefreshBusinessProcessorRules.SetIMPORTE_UNIDADValue(const aValue: Currency);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshIMPORTE_UNIDAD] := aValue;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshBusinessProcessorRules.SetIMPORTE_UNIDADIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshIMPORTE_UNIDAD] := Null;
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetIMPORTE_TOTALValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshIMPORTE_TOTAL];
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetIMPORTE_TOTALIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshIMPORTE_TOTAL]);
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetOldIMPORTE_TOTALValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_Detalles_RefreshIMPORTE_TOTAL];
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetOldIMPORTE_TOTALIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_Detalles_RefreshIMPORTE_TOTAL]);
+end;
+
+procedure TPedidosCliente_Detalles_RefreshBusinessProcessorRules.SetIMPORTE_TOTALValue(const aValue: Currency);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshIMPORTE_TOTAL] := aValue;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshBusinessProcessorRules.SetIMPORTE_TOTALIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshIMPORTE_TOTAL] := Null;
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetDESCUENTOValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshDESCUENTO];
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetDESCUENTOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshDESCUENTO]);
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetOldDESCUENTOValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_Detalles_RefreshDESCUENTO];
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetOldDESCUENTOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_Detalles_RefreshDESCUENTO]);
+end;
+
+procedure TPedidosCliente_Detalles_RefreshBusinessProcessorRules.SetDESCUENTOValue(const aValue: Float);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshDESCUENTO] := aValue;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshBusinessProcessorRules.SetDESCUENTOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshDESCUENTO] := Null;
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetIMPORTE_PORTEValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshIMPORTE_PORTE];
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetIMPORTE_PORTEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshIMPORTE_PORTE]);
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetOldIMPORTE_PORTEValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_Detalles_RefreshIMPORTE_PORTE];
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetOldIMPORTE_PORTEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_Detalles_RefreshIMPORTE_PORTE]);
+end;
+
+procedure TPedidosCliente_Detalles_RefreshBusinessProcessorRules.SetIMPORTE_PORTEValue(const aValue: Currency);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshIMPORTE_PORTE] := aValue;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshBusinessProcessorRules.SetIMPORTE_PORTEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshIMPORTE_PORTE] := Null;
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetVISIBLEValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshVISIBLE];
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetVISIBLEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshVISIBLE]);
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetOldVISIBLEValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_Detalles_RefreshVISIBLE];
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetOldVISIBLEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_Detalles_RefreshVISIBLE]);
+end;
+
+procedure TPedidosCliente_Detalles_RefreshBusinessProcessorRules.SetVISIBLEValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshVISIBLE] := aValue;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshBusinessProcessorRules.SetVISIBLEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshVISIBLE] := Null;
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetREFERENCIA_PROVEEDORValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshREFERENCIA_PROVEEDOR];
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetREFERENCIA_PROVEEDORIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshREFERENCIA_PROVEEDOR]);
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetOldREFERENCIA_PROVEEDORValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_Detalles_RefreshREFERENCIA_PROVEEDOR];
+end;
+
+function TPedidosCliente_Detalles_RefreshBusinessProcessorRules.GetOldREFERENCIA_PROVEEDORIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosCliente_Detalles_RefreshREFERENCIA_PROVEEDOR]);
+end;
+
+procedure TPedidosCliente_Detalles_RefreshBusinessProcessorRules.SetREFERENCIA_PROVEEDORValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshREFERENCIA_PROVEEDOR] := aValue;
+end;
+
+procedure TPedidosCliente_Detalles_RefreshBusinessProcessorRules.SetREFERENCIA_PROVEEDORIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosCliente_Detalles_RefreshREFERENCIA_PROVEEDOR] := Null;
+end;
+
+
+{ TPedidoCliente_Articulos_PendientesBusinessProcessorRules }
+constructor TPedidoCliente_Articulos_PendientesBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
+begin
+ inherited;
+end;
+
+destructor TPedidoCliente_Articulos_PendientesBusinessProcessorRules.Destroy;
+begin
+ inherited;
+end;
+
+function TPedidoCliente_Articulos_PendientesBusinessProcessorRules.GetID_ARTICULOValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_Articulos_PendientesID_ARTICULO];
+end;
+
+function TPedidoCliente_Articulos_PendientesBusinessProcessorRules.GetID_ARTICULOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_Articulos_PendientesID_ARTICULO]);
+end;
+
+function TPedidoCliente_Articulos_PendientesBusinessProcessorRules.GetOldID_ARTICULOValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidoCliente_Articulos_PendientesID_ARTICULO];
+end;
+
+function TPedidoCliente_Articulos_PendientesBusinessProcessorRules.GetOldID_ARTICULOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidoCliente_Articulos_PendientesID_ARTICULO]);
+end;
+
+procedure TPedidoCliente_Articulos_PendientesBusinessProcessorRules.SetID_ARTICULOValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_Articulos_PendientesID_ARTICULO] := aValue;
+end;
+
+procedure TPedidoCliente_Articulos_PendientesBusinessProcessorRules.SetID_ARTICULOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_Articulos_PendientesID_ARTICULO] := Null;
+end;
+
+function TPedidoCliente_Articulos_PendientesBusinessProcessorRules.GetCANTIDAD_PEDValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_Articulos_PendientesCANTIDAD_PED];
+end;
+
+function TPedidoCliente_Articulos_PendientesBusinessProcessorRules.GetCANTIDAD_PEDIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_Articulos_PendientesCANTIDAD_PED]);
+end;
+
+function TPedidoCliente_Articulos_PendientesBusinessProcessorRules.GetOldCANTIDAD_PEDValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidoCliente_Articulos_PendientesCANTIDAD_PED];
+end;
+
+function TPedidoCliente_Articulos_PendientesBusinessProcessorRules.GetOldCANTIDAD_PEDIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidoCliente_Articulos_PendientesCANTIDAD_PED]);
+end;
+
+procedure TPedidoCliente_Articulos_PendientesBusinessProcessorRules.SetCANTIDAD_PEDValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_Articulos_PendientesCANTIDAD_PED] := aValue;
+end;
+
+procedure TPedidoCliente_Articulos_PendientesBusinessProcessorRules.SetCANTIDAD_PEDIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_Articulos_PendientesCANTIDAD_PED] := Null;
+end;
+
+function TPedidoCliente_Articulos_PendientesBusinessProcessorRules.GetCANTIDAD_ALBValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_Articulos_PendientesCANTIDAD_ALB];
+end;
+
+function TPedidoCliente_Articulos_PendientesBusinessProcessorRules.GetCANTIDAD_ALBIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_Articulos_PendientesCANTIDAD_ALB]);
+end;
+
+function TPedidoCliente_Articulos_PendientesBusinessProcessorRules.GetOldCANTIDAD_ALBValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidoCliente_Articulos_PendientesCANTIDAD_ALB];
+end;
+
+function TPedidoCliente_Articulos_PendientesBusinessProcessorRules.GetOldCANTIDAD_ALBIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidoCliente_Articulos_PendientesCANTIDAD_ALB]);
+end;
+
+procedure TPedidoCliente_Articulos_PendientesBusinessProcessorRules.SetCANTIDAD_ALBValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_Articulos_PendientesCANTIDAD_ALB] := aValue;
+end;
+
+procedure TPedidoCliente_Articulos_PendientesBusinessProcessorRules.SetCANTIDAD_ALBIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_Articulos_PendientesCANTIDAD_ALB] := Null;
+end;
+
+function TPedidoCliente_Articulos_PendientesBusinessProcessorRules.GetCANTIDAD_PENDIENTEValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_Articulos_PendientesCANTIDAD_PENDIENTE];
+end;
+
+function TPedidoCliente_Articulos_PendientesBusinessProcessorRules.GetCANTIDAD_PENDIENTEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_Articulos_PendientesCANTIDAD_PENDIENTE]);
+end;
+
+function TPedidoCliente_Articulos_PendientesBusinessProcessorRules.GetOldCANTIDAD_PENDIENTEValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidoCliente_Articulos_PendientesCANTIDAD_PENDIENTE];
+end;
+
+function TPedidoCliente_Articulos_PendientesBusinessProcessorRules.GetOldCANTIDAD_PENDIENTEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidoCliente_Articulos_PendientesCANTIDAD_PENDIENTE]);
+end;
+
+procedure TPedidoCliente_Articulos_PendientesBusinessProcessorRules.SetCANTIDAD_PENDIENTEValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_Articulos_PendientesCANTIDAD_PENDIENTE] := aValue;
+end;
+
+procedure TPedidoCliente_Articulos_PendientesBusinessProcessorRules.SetCANTIDAD_PENDIENTEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PedidoCliente_Articulos_PendientesCANTIDAD_PENDIENTE] := Null;
+end;
+
+
+initialization
+ RegisterBusinessProcessorRules(RID_PedidoCliente_ArticulosPendientesPedirAProvDelta, TPedidoCliente_ArticulosPendientesPedirAProvBusinessProcessorRules);
+ RegisterBusinessProcessorRules(RID_DarReferenciaDelta, TDarReferenciaBusinessProcessorRules);
+ RegisterBusinessProcessorRules(RID_PedidosClienteDelta, TPedidosClienteBusinessProcessorRules);
+ RegisterBusinessProcessorRules(RID_PedidosCliente_DetallesDelta, TPedidosCliente_DetallesBusinessProcessorRules);
+ RegisterBusinessProcessorRules(RID_PedidosCliente_RefreshDelta, TPedidosCliente_RefreshBusinessProcessorRules);
+ RegisterBusinessProcessorRules(RID_PedidosCliente_Detalles_RefreshDelta, TPedidosCliente_Detalles_RefreshBusinessProcessorRules);
+ RegisterBusinessProcessorRules(RID_PedidoCliente_Articulos_PendientesDelta, TPedidoCliente_Articulos_PendientesBusinessProcessorRules);
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Model/uBizDetallesPresupuestoCliente.pas b/Source/Modulos/Presupuestos de cliente/Model/uBizDetallesPresupuestoCliente.pas
new file mode 100644
index 00000000..1dfe0df4
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Model/uBizDetallesPresupuestoCliente.pas
@@ -0,0 +1,59 @@
+unit uBizDetallesPresupuestoCliente;
+
+interface
+
+uses
+ uDADataTable, schPedidosClienteClient_Intf;
+
+const
+ BIZ_CLIENT_DETALLES_PEDIDO_CLIENTE = 'Client.PresupuestoCliente.Detalles';
+ BIZ_CLIENT_ARTICULOS_PEND_PEDIDO_CLIENTE = 'Client.PresupuestoCliente.ArticulosPendientes';
+
+type
+ IBizDetallesPresupuestoCliente = interface(IPedidosCliente_Detalles)
+ ['{2D7781DC-AD16-4857-9567-5C1620319781}']
+ end;
+
+ IBizPresupuestoClienteArticulosPend = interface(IPedidoCliente_Articulos_Pendientes)
+ ['{DD245879-DD80-4E96-995A-6D3A09D72544}']
+ end;
+
+ TBizDetallesPresupuestoCliente = class(TPedidosCliente_DetallesDataTableRules, IBizDetallesPresupuestoCliente)
+ private
+ ContIdAux: Integer;
+ protected
+ procedure OnNewRecord(Sender: TDADataTable); override;
+ public
+ constructor Create(aDataTable: TDADataTable); override;
+ end;
+
+ TBizPresupuestoClienteArticulosPend = class(TPedidoCliente_Articulos_PendientesDataTableRules, IBizPresupuestoClienteArticulosPend)
+ end;
+
+
+implementation
+
+{ TBizDetallesPresupuestoCliente }
+
+uses
+ uDataTableUtils;
+
+
+constructor TBizDetallesPresupuestoCliente.Create(aDataTable: TDADataTable);
+begin
+ inherited Create(aDataTable);
+ ContIdAux := -1;
+end;
+
+procedure TBizDetallesPresupuestoCliente.OnNewRecord(Sender: TDADataTable);
+begin
+ inherited;
+ ID := ContIdAux; // -1, -2, -3...
+ Dec(ContIdAux);
+end;
+
+initialization
+ RegisterDataTableRules(BIZ_CLIENT_DETALLES_PEDIDO_CLIENTE, TBizDetallesPresupuestoCliente);
+ RegisterDataTableRules(BIZ_CLIENT_ARTICULOS_PEND_PEDIDO_CLIENTE, TBizPresupuestoClienteArticulosPend);
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Model/uBizPresupuestosCliente.pas b/Source/Modulos/Presupuestos de cliente/Model/uBizPresupuestosCliente.pas
new file mode 100644
index 00000000..72af7054
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Model/uBizPresupuestosCliente.pas
@@ -0,0 +1,319 @@
+unit uBizPresupuestosCliente;
+
+interface
+
+uses
+ Classes, uDADataTable, uDAInterfaces, uROClasses,
+ schPedidosClienteClient_Intf, uDBSelectionListUtils,
+ uBizContactos, uBizDetallesPresupuestoCliente;
+
+const
+ BIZ_CLIENT_PEDIDO_CLIENTE = 'Client.PresupuestoCliente';
+ BIZ_CLIENT_PEDIDO_CLIENTE_ARTICULOS_PENDIENTES_PEDIR_A_PROV = 'Client.PresupuestoClienteArticulosPendientesPedirAProv';
+
+ SITUACION_PEDIDO_PENDIENTE = 'PENDIENTE';
+ SITUACION_PEDIDO_ENPROCESO = 'EN PROCESO';
+ SITUACION_PEDIDO_SERVIDO = 'SERVIDO';
+
+type
+ IBizPresupuestoCliente = interface(IPedidosCliente)
+ ['{86A2FAD7-D125-47C2-B0BA-52A42FDFA6F6}']
+
+ procedure SetCliente(AValue : IBizCliente);
+ function GetCliente : IBizCliente;
+ property Cliente : IBizCliente read GetCliente write SetCliente;
+
+ // Esta propidad es para que el controlador pueda acceder directamente
+ // a la propiedad Cliente
+ procedure _SetCliente(AValue : IBizCliente);
+ function _GetCliente : IBizCliente;
+ property _Cliente : IBizCliente read _GetCliente write _SetCliente;
+
+ function GetDetalles: IBizDetallesPresupuestoCliente;
+ procedure SetDetalles(Value: IBizDetallesPresupuestoCliente);
+ property Detalles: IBizDetallesPresupuestoCliente read GetDetalles write SetDetalles;
+
+ procedure CalcularImporteTotal;
+
+ function EsNuevo : Boolean;
+ function DarListaSituaciones: TStringList;
+ end;
+
+ IBizPresupuestoClienteArticulosPendientesPedirAProv = interface(IPedidoCliente_ArticulosPendientesPedirAProv)
+ ['{00537EF7-363E-4A50-BA03-1C0B79D17D31}']
+ end;
+
+
+ TBizPresupuestoCliente = class(TPedidosClienteDataTableRules, IBizPresupuestoCliente, ISeleccionable)
+ private
+ procedure CalcularBaseImponible;
+ procedure CalcularIVA;
+ protected
+ FSeleccionableInterface : ISeleccionable;
+ FCliente : IBizCliente;
+ FDetalles : IBizDetallesPresupuestoCliente;
+ FDetallesLink : TDADataSource;
+
+ procedure SetCliente(AValue : IBizCliente);
+ function GetCliente : IBizCliente;
+
+ procedure _SetCliente(AValue : IBizCliente);
+ function _GetCliente : IBizCliente;
+
+ function GetDetalles: IBizDetallesPresupuestoCliente;
+ procedure SetDetalles(Value: IBizDetallesPresupuestoCliente);
+
+ procedure SetFECHA_PEDIDOValue(const aValue: TDateTime); override;
+ procedure SetFECHA_PREVISTA_ENVIOValue(const aValue: DateTime); override;
+// procedure SetINCIDENCIASValue(const aValue: IROStrings); override;
+ procedure SetID_FORMA_PAGOValue(const aValue: Integer); override;
+
+ procedure OnNewRecord(Sender: TDADataTable); override;
+ procedure IniciarValoresPedidoNuevo;
+
+ procedure IMPORTE_NETOOnChange(Sender: TDACustomField);
+ procedure IMPORTE_PORTEOnChange(Sender: TDACustomField);
+ procedure DESCUENTOOnChange(Sender: TDACustomField);
+ procedure IVAOnChange(Sender: TDACustomField);
+
+ public
+ function DarListaSituaciones: TStringList;
+ function EsNuevo : Boolean;
+ procedure CalcularImporteTotal;
+ property Cliente : IBizCliente read GetCliente write SetCliente;
+ property _Cliente : IBizCliente read _GetCliente write _SetCliente;
+
+ property Detalles: IBizDetallesPresupuestoCliente read GetDetalles write SetDetalles;
+
+ property SeleccionableInterface : ISeleccionable read FSeleccionableInterface
+ write FSeleccionableInterface implements ISeleccionable;
+
+ constructor Create(aDataTable: TDADataTable); override;
+ destructor Destroy; override;
+ end;
+
+ TBizPresupuestoClienteArticulosPendientesPedirAProv = class(TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules, IBizPresupuestoClienteArticulosPendientesPedirAProv)
+ end;
+
+
+implementation
+
+uses
+ SysUtils, Variants, uDataModuleConfiguracion, uDataModuleUsuarios,
+ uDataTableUtils, DateUtils, uDateUtils, DB;
+
+{ TBizPresupuestoCliente }
+
+procedure TBizPresupuestoCliente.CalcularBaseImponible;
+begin
+ if not Self.DataTable.Editing then
+ Edit;
+ IMPORTE_DESCUENTO := IMPORTE_NETO * (DESCUENTO/100);
+ BASE_IMPONIBLE := IMPORTE_NETO - IMPORTE_DESCUENTO + IMPORTE_PORTE;
+end;
+
+procedure TBizPresupuestoCliente.CalcularImporteTotal;
+begin
+ DataTable.DisableControls;
+ DataTable.Fields.FieldEventsDisabled := True;
+ try
+ CalcularBaseImponible;
+ CalcularIVA;
+
+ if not Self.DataTable.Editing then
+ Edit;
+ IMPORTE_TOTAL := BASE_IMPONIBLE + IMPORTE_IVA;
+ finally
+ DataTable.Fields.FieldEventsDisabled := False;
+ DataTable.EnableControls;
+ end;
+end;
+
+procedure TBizPresupuestoCliente.CalcularIVA;
+begin
+ if not Self.DataTable.Editing then
+ Edit;
+ IMPORTE_IVA := (IVA / 100) * (BASE_IMPONIBLE);
+end;
+
+constructor TBizPresupuestoCliente.Create(aDataTable: TDADataTable);
+begin
+ inherited;
+ FCliente := Nil;
+
+ with DataTable do
+ begin
+ FieldByName(fld_PedidosClienteIMPORTE_NETO).OnChange := IMPORTE_NETOOnChange;
+ FieldByName(fld_PedidosClienteIMPORTE_PORTE).OnChange := IMPORTE_PORTEOnChange;
+ FieldByName(fld_PedidosClienteDESCUENTO).OnChange := DESCUENTOOnChange;
+ FieldByName(fld_PedidosClienteIVA).OnChange := IVAOnChange;
+ end;
+
+ FDetallesLink := TDADataSource.Create(NIL);
+ FDetallesLink.DataTable := aDataTable;
+
+ FSeleccionableInterface := TSeleccionable.Create(aDataTable);
+end;
+
+function TBizPresupuestoCliente.DarListaSituaciones: TStringList;
+begin
+ Result := TStringList.Create;
+ with Result do
+ begin
+ Add(SITUACION_PEDIDO_PENDIENTE);
+ Add(SITUACION_PEDIDO_ENPROCESO);
+ Add(SITUACION_PEDIDO_SERVIDO);
+ end;
+end;
+
+procedure TBizPresupuestoCliente.DESCUENTOOnChange(Sender: TDACustomField);
+begin
+ CalcularImporteTotal;
+end;
+
+destructor TBizPresupuestoCliente.Destroy;
+begin
+ FCliente := NIL;
+ FDetalles := NIL;
+ FDetallesLink.Free;
+
+ FSeleccionableInterface := NIL;
+ inherited;
+end;
+
+function TBizPresupuestoCliente.EsNuevo: Boolean;
+begin
+ Result := (ID < 0);
+end;
+
+function TBizPresupuestoCliente.GetCliente: IBizCliente;
+begin
+ Result := FCliente;
+end;
+
+procedure TBizPresupuestoCliente.IMPORTE_NETOOnChange(Sender: TDACustomField);
+begin
+ CalcularImporteTotal;
+end;
+
+procedure TBizPresupuestoCliente.IMPORTE_PORTEOnChange(Sender: TDACustomField);
+begin
+ CalcularImporteTotal;
+end;
+
+procedure TBizPresupuestoCliente.IniciarValoresPedidoNuevo;
+begin
+// ID_EMPRESA := dmUsuarios.IDEmpresaActual;
+// USUARIO := dmUsuarios.LoginInfo.Usuario;
+ FECHA_PEDIDO := DateOf(Date);
+ FECHA_PREVISTA_ENVIO := 0;
+ INCIDENCIAS_ACTIVAS := 0;
+// INCIDENCIAS := NIL;
+ REFERENCIA := '';
+ SetFieldNull(DataTable, fld_PedidosClienteREF_TIENDA_WEB);
+ SITUACION := SITUACION_PEDIDO_PENDIENTE;
+end;
+
+procedure TBizPresupuestoCliente.IVAOnChange(Sender: TDACustomField);
+begin
+ CalcularImporteTotal;
+end;
+
+function TBizPresupuestoCliente.GetDetalles: IBizDetallesPresupuestoCliente;
+begin
+ Result := FDetalles;
+end;
+
+procedure TBizPresupuestoCliente.OnNewRecord(Sender: TDADataTable);
+begin
+ inherited;
+ ID := GetRecNo; // -1, -2, -3...
+ IniciarValoresPedidoNuevo;
+end;
+
+procedure TBizPresupuestoCliente.SetCliente(AValue: IBizCliente);
+var
+ bEnEdicion : Boolean;
+
+begin
+ FCliente := AValue;
+
+ if Assigned(FCliente) then
+ begin
+ if not FCliente.DataTable.Active then
+ FCliente.DataTable.Active := True;
+
+ if ID_Cliente <> FCliente.ID then
+ begin
+ bEnEdicion := (DataTable.State in dsEditModes);
+ if not bEnEdicion then
+ DataTable.Edit;
+
+ ID_CLIENTE := FCliente.ID;
+ ID_FORMA_PAGO := FCliente.ID_FORMA_PAGO;
+
+ DataTable.Post; //Muy importante ya que es necesario hacer un post de la cabecera antes de añadir detalles
+ //si se quita el id de la cabecera y los detalles se desincroniza
+ if bEnEdicion then
+ DataTable.Edit;
+ end;
+ end;
+end;
+
+procedure TBizPresupuestoCliente.SetDetalles(Value: IBizDetallesPresupuestoCliente);
+begin
+ FDetalles := Value;
+ EnlazarMaestroDetalle(FDetallesLink, FDetalles);
+end;
+
+procedure TBizPresupuestoCliente.SetFECHA_PEDIDOValue(const aValue: TDateTime);
+begin
+ if EsFechaVacia(aValue) then
+ SetFieldNull(DataTable, fld_PedidosClienteFECHA_PEDIDO)
+ else
+ inherited;
+end;
+
+procedure TBizPresupuestoCliente.SetFECHA_PREVISTA_ENVIOValue(
+ const aValue: DateTime);
+begin
+ if EsFechaVacia(aValue) then
+ SetFieldNull(DataTable, fld_PedidosClienteFECHA_PREVISTA_ENVIO)
+ else
+ inherited;
+end;
+
+procedure TBizPresupuestoCliente.SetID_FORMA_PAGOValue(const aValue: Integer);
+begin
+ if (aValue = 0) then
+ SetFieldNull(DataTable, fld_PedidosClienteID_FORMA_PAGO)
+ else
+ inherited;
+end;
+{
+procedure TBizPresupuestoCliente.SetINCIDENCIASValue(const aValue: IROStrings);
+begin
+ if not Assigned(aValue) then
+ SetFieldNull(DataTable, fld_PedidosClienteINCIDENCIAS)
+ else
+ inherited;
+end;
+}
+function TBizPresupuestoCliente._GetCliente: IBizCliente;
+begin
+ Result := FCliente;
+end;
+
+procedure TBizPresupuestoCliente._SetCliente(AValue: IBizCliente);
+begin
+ FCliente := AValue;
+end;
+
+initialization
+ RegisterDataTableRules(BIZ_CLIENT_PEDIDO_CLIENTE, TBizPresupuestoCliente);
+ RegisterDataTableRules(BIZ_CLIENT_PEDIDO_CLIENTE_ARTICULOS_PENDIENTES_PEDIR_A_PROV, TBizPresupuestoClienteArticulosPendientesPedirAProv);
+
+finalization
+
+end.
+
diff --git a/Source/Modulos/Presupuestos de cliente/Model/uBizPresupuestosClienteServer.pas b/Source/Modulos/Presupuestos de cliente/Model/uBizPresupuestosClienteServer.pas
new file mode 100644
index 00000000..81a7f672
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Model/uBizPresupuestosClienteServer.pas
@@ -0,0 +1,134 @@
+unit uBizPresupuestosClienteServer;
+
+interface
+
+uses
+ schPedidosClienteServer_Intf, uDAInterfaces, uDADelta,
+ uDADataTable, uDABusinessProcessor;
+
+const
+ BIZ_SERVER_PEDIDOS_CLIENTE = 'Server.PresupuestosCliente';
+ REF_PEDIDOS_CLIENTE = 'REF_PEDIDOS_CLIENTE';
+
+type
+ TBizPresupuestosClienteServer = class(TPedidosClienteBusinessProcessorRules)
+ protected
+{
+ procedure BeforeProcessChange(Sender: TDABusinessProcessor;
+ aChangeType: TDAChangeType; aChange: TDADeltaChange;
+ var ProcessChange: Boolean); override;
+}
+ procedure AfterProcessChange(Sender: TDABusinessProcessor;
+ aChange: TDADeltaChange; Processed: Boolean;
+ var CanRemoveFromDelta: Boolean); override;
+
+
+
+ end;
+
+implementation
+
+uses
+ Dialogs, SysUtils, Variants, uDataModuleServer, uDAClasses, DARemoteService_Impl,
+ schPedidosClienteClient_Intf, uBusinessUtils, uReferenciasUtils, uROClasses;
+
+{ TBizPresupuestosClienteServer }
+
+procedure TBizPresupuestosClienteServer.AfterProcessChange(
+ Sender: TDABusinessProcessor; aChange: TDADeltaChange; Processed: Boolean;
+ var CanRemoveFromDelta: Boolean);
+var
+ ASchema : TDASchema;
+ ACurrentConn : IDAConnection;
+ dsData: IDADataset;
+ Empresa : Variant;
+
+begin
+ inherited;
+ case aChange.ChangeType of
+ ctInsert, ctUpdate: begin
+ //Si la referencia no ha sido asignada le asignamos una nosotros
+ if (VarIsNull(aChange.NewValueByName[fld_PedidosClienteREFERENCIA]))
+ or (VarToStr(aChange.NewValueByName[fld_PedidosClienteREFERENCIA]) = '') then
+ begin
+ ASchema := BusinessProcessor.Schema;
+ ACurrentConn := GetBusinessProcessorConnection(BusinessProcessor);
+
+ try
+ //Siempre va a estar rellena
+ Empresa := aChange.NewValueByName[fld_PedidosClienteID_EMPRESA];
+ dsData := ASchema.NewDataset(ACurrentConn, 'DarReferencia', ['CODIGO', 'ID_EMPRESA'], [REF_PEDIDOS_CLIENTE, Empresa]);
+ except
+ RaiseError('No existe la tabla REFERENCIAS');
+ end;
+
+ dsData.Active := True;
+
+ if dsData.IsEmpty then
+ RaiseError('NO HAY REFERENCIA ' + REF_PEDIDOS_CLIENTE + ' DECLARADA EN TABLA REFERENCIAS');
+
+ REFERENCIA := dsData.FieldByName(fld_DarReferenciaVALOR).AsString;
+
+ try
+ ASchema.NewCommand(ACurrentConn, 'ModificarReferencia', ['CODIGO', 'VALOR', 'ID_EMPRESA'], [REF_PEDIDOS_CLIENTE, DarReferenciaSiguiente(REFERENCIA), Empresa]);
+ except
+ RaiseError('Error al asignar la nueva ' + REFERENCIA + ' referencia en tabla');
+ end;
+
+ end;
+ end;
+ end;
+end;
+
+{
+procedure TBizPresupuestosClienteServer.BeforeProcessChange(
+ Sender: TDABusinessProcessor; aChangeType: TDAChangeType;
+ aChange: TDADeltaChange; var ProcessChange: Boolean);
+var
+ ASchema : TDASchema;
+ ACurrentConn : IDAConnection;
+ dsData: IDADataset;
+ Empresa : Variant;
+
+begin
+ inherited;
+ case aChangeType of
+ ctInsert, ctUpdate: begin
+ //Si la referencia no ha sido asignada le asignamos una nosotros
+ if (VarIsNull(aChange.NewValueByName[fld_PedidosClienteREFERENCIA]))
+ or (VarToStr(aChange.NewValueByName[fld_PedidosClienteREFERENCIA]) = '') then
+ begin
+ ASchema := BusinessProcessor.Schema;
+ ACurrentConn := GetBusinessProcessorConnection(BusinessProcessor);
+
+ try
+ //Siempre va a estar rellena
+ Empresa := aChange.NewValueByName[fld_PedidosClienteID_EMPRESA];
+ dsData := ASchema.NewDataset(ACurrentConn, 'DarReferencia', ['CODIGO', 'ID_EMPRESA'], [REF_PEDIDOS_CLIENTE, Empresa]);
+ except
+ RaiseError('No existe la tabla REFERENCIAS');
+ end;
+
+ dsData.Active := True;
+
+ if dsData.IsEmpty then
+ RaiseError('NO HAY REFERENCIA ' + REF_PEDIDOS_CLIENTE + ' DECLARADA EN TABLA REFERENCIAS');
+
+ REFERENCIA := dsData.FieldByName(fld_DarReferenciaVALOR).AsString;
+
+ try
+ ASchema.NewCommand(ACurrentConn, 'ModificarReferencia', ['CODIGO', 'VALOR', 'ID_EMPRESA'], [REF_PEDIDOS_CLIENTE, DarReferenciaSiguiente(REFERENCIA), Empresa]);
+ except
+ RaiseError('Error al asignar la nueva ' + REFERENCIA + ' referencia en tabla');
+ end;
+
+ end;
+ end;
+ end;
+end;
+}
+
+initialization
+ RegisterBusinessProcessorRules(BIZ_SERVER_PEDIDOS_CLIENTE, TBizPresupuestosClienteServer);
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/PedidosCliente_Group.bdsgroup b/Source/Modulos/Presupuestos de cliente/PedidosCliente_Group.bdsgroup
new file mode 100644
index 00000000..cddfade0
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/PedidosCliente_Group.bdsgroup
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+ ..\..\Base\Base.bdsproj
+ ..\..\Base\ControllerBase\ControllerBase.bdsproj
+ ..\..\Base\GUIBase\GUIBase.bdsproj
+ ..\Articulos\Model\Articulos_model.bdsproj
+ ..\Articulos\Data\Articulos_data.bdsproj
+ ..\Articulos\Controller\Articulos_controller.bdsproj
+ ..\Articulos\Views\Articulos_view.bdsproj
+ Model\PedidosCliente_model.bdsproj
+ Data\PedidosCliente_data.bdsproj
+ Controller\PedidosCliente_controller.bdsproj
+ Views\PedidosCliente_view.bdsproj
+ Plugin\PedidosCliente_plugin.bdsproj
+ Base.bpl ControllerBase.bpl GUIBase.bpl Articulos_model.bpl Articulos_data.bpl Articulos_controller.bpl Articulos_view.bpl PedidosCliente_model.bpl PedidosCliente_data.bpl PedidosCliente_controller.bpl PedidosCliente_view.bpl PedidosCliente_plugin.bpl
+
+
+
+
diff --git a/Source/Modulos/Presupuestos de cliente/PedidosCliente_Group.config b/Source/Modulos/Presupuestos de cliente/PedidosCliente_Group.config
new file mode 100644
index 00000000..c8f28340
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/PedidosCliente_Group.config
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/Source/Modulos/Presupuestos de cliente/Plugin/PresupuestosCliente_plugin.dpk b/Source/Modulos/Presupuestos de cliente/Plugin/PresupuestosCliente_plugin.dpk
new file mode 100644
index 00000000..36aff96e
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Plugin/PresupuestosCliente_plugin.dpk
@@ -0,0 +1,35 @@
+package PresupuestosCliente_plugin;
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$IMPLICITBUILD ON}
+
+requires
+ PluginSDK_D10R,
+ PresupuestosCliente_controller,
+ PresupuestosCliente_view;
+
+contains
+ uPluginPresupuestosCliente in 'uPluginPresupuestosCliente.pas' {PluginPresupuestosCliente};
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Plugin/PresupuestosCliente_plugin.dproj b/Source/Modulos/Presupuestos de cliente/Plugin/PresupuestosCliente_plugin.dproj
new file mode 100644
index 00000000..c58b6e4c
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Plugin/PresupuestosCliente_plugin.dproj
@@ -0,0 +1,637 @@
+
+
+ {e7d762a1-3a15-46b2-bd5b-3821d13b8347}
+ PresupuestosCliente_plugin.dpk
+ Debug
+ AnyCPU
+ DCC32
+ ..\..\..\..\Output\Debug\Cliente\PresupuestosCliente_plugin.bpl
+
+
+ 7.0
+ False
+ False
+ 0
+ 3
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ RELEASE
+
+
+ 7.0
+ 3
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+
+
+ Delphi.Personality
+ Package
+
+
+ False
+ True
+ False
+
+
+ True
+ False
+ False
+
+
+ True
+ False
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ False
+ False
+ 3082
+ 1252
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ RemObjects Pascal Script - RemObjects SDK 3.0 Integration
+ EurekaLog 5.1.9
+
+
+ PresupuestosCliente_plugin.dpk
+
+
+
+
+
+
+ MainSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Modulos/Presupuestos de cliente/Plugin/PresupuestosCliente_plugin.drc b/Source/Modulos/Presupuestos de cliente/Plugin/PresupuestosCliente_plugin.drc
new file mode 100644
index 00000000..a3aa87fe
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Plugin/PresupuestosCliente_plugin.drc
@@ -0,0 +1,17 @@
+/* VER185
+ Generated by the CodeGear Delphi Pascal Compiler
+ because -GD or --drc was supplied to the compiler.
+
+ This file contains compiler-generated resources that
+ were bound to the executable.
+ If this file is empty, then no compiler-generated
+ resources were bound to the produced executable.
+*/
+
+STRINGTABLE
+BEGIN
+END
+
+/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Plugin\uPluginPresupuestosCliente.dfm */
+/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Plugin\PresupuestosCliente_plugin.res */
+/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Plugin\PresupuestosCliente_plugin.drf */
diff --git a/Source/Modulos/Presupuestos de cliente/Plugin/PresupuestosCliente_plugin.res b/Source/Modulos/Presupuestos de cliente/Plugin/PresupuestosCliente_plugin.res
new file mode 100644
index 00000000..86c94e6a
Binary files /dev/null and b/Source/Modulos/Presupuestos de cliente/Plugin/PresupuestosCliente_plugin.res differ
diff --git a/Source/Modulos/Presupuestos de cliente/Plugin/uPluginPresupuestosCliente.dfm b/Source/Modulos/Presupuestos de cliente/Plugin/uPluginPresupuestosCliente.dfm
new file mode 100644
index 00000000..78334432
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Plugin/uPluginPresupuestosCliente.dfm
@@ -0,0 +1,392 @@
+object PluginPresupuestosCliente: TPluginPresupuestosCliente
+ OldCreateOrder = True
+ DefaultAction = actPresupuestosCliente
+ Description = 'Ventas'
+ ModuleMenu = MainMenu
+ ModuleName = 'Presupuestos de cliente'
+ SmallImages = SmallImages
+ LargeImages = LargeImages
+ Author = 'Rodax Software'
+ Version = '1.0.0'
+ Height = 252
+ Width = 401
+ object LargeImages: TPngImageList
+ Height = 24
+ Width = 24
+ PngImages = <
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD25200000A4D694343505068
+ 6F746F73686F70204943432070726F66696C65000078DA9D53775893F7163EDF
+ F7650F5642D8F0B1976C81002223AC08C81059A21092006184101240C585880A
+ 561415119C4855C482D50A489D88E2A028B867418A885A8B555C38EE1FDCA7B5
+ 7D7AEFEDEDFBD7FBBCE79CE7FCCE79CF0F8011122691E6A26A003952853C3AD8
+ 1F8F4F48C4C9BD80021548E0042010E6CBC26705C50000F00379787E74B03FFC
+ 01AF6F00020070D52E2412C7E1FF83BA50265700209100E02212E70B01905200
+ C82E54C81400C81800B053B3640A009400006C797C422200AA0D00ECF4493E05
+ 00D8A993DC1700D8A21CA908008D0100992847240240BB00605581522C02C0C2
+ 00A0AC40222E04C0AE018059B632470280BD0500768E58900F4060008099422C
+ CC0020380200431E13CD03204C03A030D2BFE0A95F7085B8480100C0CB95CD97
+ 4BD23314B895D01A77F2F0E0E221E2C26CB142611729106609E4229C979B2313
+ 48E7034CCE0C00001AF9D1C1FE383F90E7E6E4E1E666E76CEFF4C5A2FE6BF06F
+ 223E21F1DFFEBC8C020400104ECFEFDA5FE5E5D60370C701B075BF6BA95B00DA
+ 560068DFF95D33DB09A05A0AD07AF98B7938FC401E9EA150C83C1D1C0A0B0BED
+ 2562A1BD30E38B3EFF33E16FE08B7EF6FC401EFEDB7AF000719A4099ADC0A383
+ FD71616E76AE528EE7CB0442316EF7E723FEC7857FFD8E29D1E234B15C2C158A
+ F15889B850224DC779B952914421C995E212E97F32F11F96FD0993770D00AC86
+ 4FC04EB607B5CB6CC07EEE01028B0E58D27600407EF32D8C1A0B910010673432
+ 79F7000093BFF98F402B0100CD97A4E30000BCE8185CA894174CC608000044A0
+ 812AB041070CC114ACC00E9CC11DBCC01702610644400C24C03C104206E4801C
+ 0AA11896411954C03AD804B5B0031AA0119AE110B4C131380DE7E0125C81EB70
+ 170660189EC218BC86090441C8081361213A8811628ED822CE0817998E042261
+ 48349280A420E988145122C5C872A402A9426A915D4823F22D7214398D5C40FA
+ 90DBC820328AFC8ABC47319481B25103D4027540B9A81F1A8AC6A073D174340F
+ 5D8096A26BD11AB41E3D80B6A2A7D14BE87574007D8A8E6380D1310E668CD961
+ 5C8C87456089581A26C71663E55835568F35631D583776151BC09E61EF082402
+ 8B8013EC085E8410C26C82909047584C5843A825EC23B412BA085709838431C2
+ 272293A84FB4257A12F9C478623AB1905846AC26EE211E219E255E270E135F93
+ 48240EC992E44E0A21259032490B496B48DB482DA453A43ED210699C4C26EB90
+ 6DC9DEE408B280AC209791B7900F904F92FBC9C3E4B7143AC588E24C09A22452
+ A494124A35653FE504A59F324299A0AA51CDA99ED408AA883A9F5A496DA07650
+ 2F5387A91334759A25CD9B1643CBA42DA3D5D09A696769F7682FE974BA09DD83
+ 1E4597D097D26BE807E9E7E983F4770C0D860D83C7486228196B197B19A718B7
+ 192F994CA605D39799C85430D7321B9967980F986F55582AF62A7C1591CA1295
+ 3A9556957E95E7AA545573553FD579AA0B54AB550FAB5E567DA64655B350E3A9
+ 09D416ABD5A91D55BBA936AECE5277528F50CF515FA3BE5FFD82FA630DB28685
+ 46A08648A35463B7C6198D2116C63265F15842D6725603EB2C6B984D625BB2F9
+ EC4C7605FB1B762F7B4C534373AA66AC6691669DE671CD010EC6B1E0F039D99C
+ 4ACE21CE0DCE7B2D032D3F2DB1D66AAD66AD7EAD37DA7ADABEDA62ED72ED16ED
+ EBDAEF75709D409D2C9DF53A6D3AF77509BA36BA51BA85BADB75CFEA3ED363EB
+ 79E909F5CAF50EE9DDD147F56DF4A3F517EAEFD6EFD11F373034083690196C31
+ 3863F0CC9063E86B9869B8D1F084E1A811CB68BA91C468A3D149A327B826EE87
+ 67E33578173E66AC6F1C62AC34DE65DC6B3C61626932DBA4C4A4C5E4BE29CD94
+ 6B9A66BAD1B4D374CCCCC82CDCACD8ACC9EC8E39D59C6B9E61BED9BCDBFC8D85
+ A5459CC54A8B368BC796DA967CCB05964D96F7AC98563E567956F556D7AC49D6
+ 5CEB2CEB6DD6576C501B579B0C9B3A9BCBB6A8AD9BADC4769B6DDF14E2148F29
+ D229F5536EDA31ECFCEC0AEC9AEC06ED39F661F625F66DF6CF1DCC1C121DD63B
+ 743B7C727475CC766C70BCEBA4E134C3A9C4A9C3E957671B67A1739DF33517A6
+ 4B90CB1297769717536DA78AA76E9F7ACB95E51AEEBAD2B5D3F5A39BBB9BDCAD
+ D96DD4DDCC3DC57DABFB4D2E9B1BC95DC33DEF41F4F0F758E271CCE39DA79BA7
+ C2F390E72F5E765E595EFBBD1E4FB39C269ED6306DC8DBC45BE0BDCB7B603A3E
+ 3D65FACEE9033EC63E029F7A9F87BEA6BE22DF3DBE237ED67E997E07FC9EFB3B
+ FACBFD8FF8BFE179F216F14E056001C101E501BD811A81B3036B031F049904A5
+ 0735058D05BB062F0C3E15420C090D591F72936FC017F21BF96333DC672C9AD1
+ 15CA089D155A1BFA30CC264C1ED6118E86CF08DF107E6FA6F94CE9CCB60888E0
+ 476C88B81F69199917F97D14292A32AA2EEA51B453747174F72CD6ACE459FB67
+ BD8EF18FA98CB93BDB6AB6727667AC6A6C526C63EC9BB880B8AAB8817887F845
+ F1971274132409ED89E4C4D8C43D89E37302E76C9A339CE49A54967463AEE5DC
+ A2B917E6E9CECB9E773C593559907C3885981297B23FE5832042502F184FE5A7
+ 6E4D1D13F2849B854F45BEA28DA251B1B7B84A3C92E69D5695F638DD3B7D43FA
+ 68864F4675C633094F522B79911992B923F34D5644D6DEACCFD971D92D39949C
+ 949CA3520D6996B42BD730B728B74F662B2B930DE479E66DCA1B9387CAF7E423
+ F973F3DB156C854CD1A3B452AE500E164C2FA82B785B185B78B848BD485AD433
+ DF66FEEAF9230B82167CBD90B050B8B0B3D8B87859F1E022BF45BB16238B5317
+ 772E315D52BA647869F0D27DCB68CBB296FD50E2585255F26A79DCF28E5283D2
+ A5A5432B82573495A994C9CB6EAEF45AB9631561956455EF6A97D55B567F2A17
+ 955FAC70ACA8AEF8B046B8E6E2574E5FD57CF5796DDADADE4AB7CAEDEB48EBA4
+ EB6EACF759BFAF4ABD6A41D5D086F00DAD1BF18DE51B5F6D4ADE74A17A6AF58E
+ CDB4CDCACD03356135ED5BCCB6ACDBF2A136A3F67A9D7F5DCB56FDADABB7BED9
+ 26DAD6BFDD777BF30E831D153BDEEF94ECBCB52B78576BBD457DF56ED2EE82DD
+ 8F1A621BBABFE67EDDB847774FC59E8F7BA57B07F645EFEB6A746F6CDCAFBFBF
+ B2096D52368D1E483A70E59B806FDA9BED9A77B5705A2A0EC241E5C127DFA67C
+ 7BE350E8A1CEC3DCC3CDDF997FB7F508EB48792BD23ABF75AC2DA36DA03DA1BD
+ EFE88CA39D1D5E1D47BEB7FF7EEF31E36375C7358F579EA09D283DF1F9E48293
+ E3A764A79E9D4E3F3DD499DC79F74CFC996B5D515DBD6743CF9E3F1774EE4CB7
+ 5FF7C9F3DEE78F5DF0BC70F422F762DB25B74BAD3DAE3D477E70FDE148AF5B6F
+ EB65F7CBED573CAE74F44DEB3BD1EFD37FFA6AC0D573D7F8D72E5D9F79BDEFC6
+ EC1BB76E26DD1CB825BAF5F876F6ED17770AEE4CDC5D7A8F78AFFCBEDAFDEA07
+ FA0FEA7FB4FEB165C06DE0F860C060CFC3590FEF0E09879EFE94FFD387E1D247
+ CC47D52346238D8F9D1F1F1B0D1ABDF264CE93E1A7B2A713CFCA7E56FF79EB73
+ ABE7DFFDE2FB4BCF58FCD8F00BF98BCFBFAE79A9F372EFABA9AF3AC723C71FBC
+ CE793DF1A6FCADCEDB7DEFB8EFBADFC7BD1F9928FC40FE50F3D1FA63C7A7D04F
+ F73EE77CFEFC2FF784F3FB25D29F330000026B4944415478DA63FCFFFF3F032D
+ 0123B2054BB79CA49A6DD13EE68C582D004A906CD8DFBFFF80F83F980601EBC0
+ 7C86733BA6E1B6C073BF2D8A01DB1D0FE3341C59ED2AB33D0C0BD7ED6798B774
+ 137E0B4871B9CF217B0659251686D93B0E30BC8FFCC6B064E341C21660F301BA
+ 18086CB43EC0E07FD48161C7AD2360FE9BB02F0CCBB71CA6CC07FFFF01C31A88
+ FF005D0F62FFF9F70F1A07FFC0ECD5DB8E92EE036200C8178F03DE336CD87582
+ 380B60DE26053CF07DCBB079EF29E22CC09772B001909E692A1B18B61E384DBC
+ 05B8820A66394C1EA676B2D27A861D87CE50EE8389058E0C5FD9CF3108BFFA84
+ D7574FBE3A91E60398A56DE5FC0C117EBF1824187F30FCFAC900C13F18187EC2
+ 68203E7982080BB08199898C0CB1A910363EC3F9251818AEDEC5624184A72938
+ 7762F341C0A2230C2C82F823FBCF7B84E158E320D4CD049C3BB1F900D9F520F0
+ E93DC4C5300CF2C1993390A0B133DCC770E83C161F04391B31049D70C2690148
+ 332100321C04B05AE0E768C01076CA05AB46501021FB0004FEFE0506CB6F0686
+ DFBF80BEF8CEC070E306420EAB05DE767AF0720556C680CA1E10BDA75E14C502
+ 90A1BF8186FFF90561AF59C3C1A0A6F183818D058F051ED63A580D075528FB9B
+ C430E2006430C80720BC651B0783943CC402365606861397B158E062A985D570
+ 107DA85502C582B72F1186832CDAB9878341441A62C1953B4E0CCDABF6326258
+ 606FAA0E36ECDF5F44B10CB3F078A734DC029081EF5E210C0705D5BE831C0C7C
+ E23F181E3C81188E3599DA18A9824B446C80759F27D88299533970A6A077BFAD
+ 18B67E52C75D16F54E598853B33DEF3E061E4669BC4914643808C02C00000530
+ 36AC648583960000000049454E44AE426082}
+ Name = 'PngImage0'
+ Background = clWindow
+ end>
+ Left = 232
+ Top = 16
+ Bitmap = {}
+ end
+ object ModuleActionList: TActionList
+ Images = LargeImages
+ Left = 40
+ Top = 72
+ object actPresupuestosCliente: TAction
+ Category = 'Ventas'
+ Caption = 'Presupuestos de cliente'
+ ImageIndex = 0
+ OnExecute = actPresupuestosClienteExecute
+ end
+ object actInfPresupuestos: TAction
+ Category = 'Informes'
+ Caption = 'Informe presupuestos'
+ OnExecute = actPresupuestosClienteExecute
+ end
+ end
+ object MainMenu: TMainMenu
+ Images = LargeImages
+ Left = 40
+ Top = 16
+ object Ventas1: TMenuItem
+ Caption = 'Ventas'
+ object PresupuestosdeCliente1: TMenuItem
+ Tag = 103
+ Action = actPresupuestosCliente
+ end
+ end
+ end
+ object SmallImages: TPngImageList
+ PngImages = <
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD25200000A4D694343505068
+ 6F746F73686F70204943432070726F66696C65000078DA9D53775893F7163EDF
+ F7650F5642D8F0B1976C81002223AC08C81059A21092006184101240C585880A
+ 561415119C4855C482D50A489D88E2A028B867418A885A8B555C38EE1FDCA7B5
+ 7D7AEFEDEDFBD7FBBCE79CE7FCCE79CF0F8011122691E6A26A003952853C3AD8
+ 1F8F4F48C4C9BD80021548E0042010E6CBC26705C50000F00379787E74B03FFC
+ 01AF6F00020070D52E2412C7E1FF83BA50265700209100E02212E70B01905200
+ C82E54C81400C81800B053B3640A009400006C797C422200AA0D00ECF4493E05
+ 00D8A993DC1700D8A21CA908008D0100992847240240BB00605581522C02C0C2
+ 00A0AC40222E04C0AE018059B632470280BD0500768E58900F4060008099422C
+ CC0020380200431E13CD03204C03A030D2BFE0A95F7085B8480100C0CB95CD97
+ 4BD23314B895D01A77F2F0E0E221E2C26CB142611729106609E4229C979B2313
+ 48E7034CCE0C00001AF9D1C1FE383F90E7E6E4E1E666E76CEFF4C5A2FE6BF06F
+ 223E21F1DFFEBC8C020400104ECFEFDA5FE5E5D60370C701B075BF6BA95B00DA
+ 560068DFF95D33DB09A05A0AD07AF98B7938FC401E9EA150C83C1D1C0A0B0BED
+ 2562A1BD30E38B3EFF33E16FE08B7EF6FC401EFEDB7AF000719A4099ADC0A383
+ FD71616E76AE528EE7CB0442316EF7E723FEC7857FFD8E29D1E234B15C2C158A
+ F15889B850224DC779B952914421C995E212E97F32F11F96FD0993770D00AC86
+ 4FC04EB607B5CB6CC07EEE01028B0E58D27600407EF32D8C1A0B910010673432
+ 79F7000093BFF98F402B0100CD97A4E30000BCE8185CA894174CC608000044A0
+ 812AB041070CC114ACC00E9CC11DBCC01702610644400C24C03C104206E4801C
+ 0AA11896411954C03AD804B5B0031AA0119AE110B4C131380DE7E0125C81EB70
+ 170660189EC218BC86090441C8081361213A8811628ED822CE0817998E042261
+ 48349280A420E988145122C5C872A402A9426A915D4823F22D7214398D5C40FA
+ 90DBC820328AFC8ABC47319481B25103D4027540B9A81F1A8AC6A073D174340F
+ 5D8096A26BD11AB41E3D80B6A2A7D14BE87574007D8A8E6380D1310E668CD961
+ 5C8C87456089581A26C71663E55835568F35631D583776151BC09E61EF082402
+ 8B8013EC085E8410C26C82909047584C5843A825EC23B412BA085709838431C2
+ 272293A84FB4257A12F9C478623AB1905846AC26EE211E219E255E270E135F93
+ 48240EC992E44E0A21259032490B496B48DB482DA453A43ED210699C4C26EB90
+ 6DC9DEE408B280AC209791B7900F904F92FBC9C3E4B7143AC588E24C09A22452
+ A494124A35653FE504A59F324299A0AA51CDA99ED408AA883A9F5A496DA07650
+ 2F5387A91334759A25CD9B1643CBA42DA3D5D09A696769F7682FE974BA09DD83
+ 1E4597D097D26BE807E9E7E983F4770C0D860D83C7486228196B197B19A718B7
+ 192F994CA605D39799C85430D7321B9967980F986F55582AF62A7C1591CA1295
+ 3A9556957E95E7AA545573553FD579AA0B54AB550FAB5E567DA64655B350E3A9
+ 09D416ABD5A91D55BBA936AECE5277528F50CF515FA3BE5FFD82FA630DB28685
+ 46A08648A35463B7C6198D2116C63265F15842D6725603EB2C6B984D625BB2F9
+ EC4C7605FB1B762F7B4C534373AA66AC6691669DE671CD010EC6B1E0F039D99C
+ 4ACE21CE0DCE7B2D032D3F2DB1D66AAD66AD7EAD37DA7ADABEDA62ED72ED16ED
+ EBDAEF75709D409D2C9DF53A6D3AF77509BA36BA51BA85BADB75CFEA3ED363EB
+ 79E909F5CAF50EE9DDD147F56DF4A3F517EAEFD6EFD11F373034083690196C31
+ 3863F0CC9063E86B9869B8D1F084E1A811CB68BA91C468A3D149A327B826EE87
+ 67E33578173E66AC6F1C62AC34DE65DC6B3C61626932DBA4C4A4C5E4BE29CD94
+ 6B9A66BAD1B4D374CCCCC82CDCACD8ACC9EC8E39D59C6B9E61BED9BCDBFC8D85
+ A5459CC54A8B368BC796DA967CCB05964D96F7AC98563E567956F556D7AC49D6
+ 5CEB2CEB6DD6576C501B579B0C9B3A9BCBB6A8AD9BADC4769B6DDF14E2148F29
+ D229F5536EDA31ECFCEC0AEC9AEC06ED39F661F625F66DF6CF1DCC1C121DD63B
+ 743B7C727475CC766C70BCEBA4E134C3A9C4A9C3E957671B67A1739DF33517A6
+ 4B90CB1297769717536DA78AA76E9F7ACB95E51AEEBAD2B5D3F5A39BBB9BDCAD
+ D96DD4DDCC3DC57DABFB4D2E9B1BC95DC33DEF41F4F0F758E271CCE39DA79BA7
+ C2F390E72F5E765E595EFBBD1E4FB39C269ED6306DC8DBC45BE0BDCB7B603A3E
+ 3D65FACEE9033EC63E029F7A9F87BEA6BE22DF3DBE237ED67E997E07FC9EFB3B
+ FACBFD8FF8BFE179F216F14E056001C101E501BD811A81B3036B031F049904A5
+ 0735058D05BB062F0C3E15420C090D591F72936FC017F21BF96333DC672C9AD1
+ 15CA089D155A1BFA30CC264C1ED6118E86CF08DF107E6FA6F94CE9CCB60888E0
+ 476C88B81F69199917F97D14292A32AA2EEA51B453747174F72CD6ACE459FB67
+ BD8EF18FA98CB93BDB6AB6727667AC6A6C526C63EC9BB880B8AAB8817887F845
+ F1971274132409ED89E4C4D8C43D89E37302E76C9A339CE49A54967463AEE5DC
+ A2B917E6E9CECB9E773C593559907C3885981297B23FE5832042502F184FE5A7
+ 6E4D1D13F2849B854F45BEA28DA251B1B7B84A3C92E69D5695F638DD3B7D43FA
+ 68864F4675C633094F522B79911992B923F34D5644D6DEACCFD971D92D39949C
+ 949CA3520D6996B42BD730B728B74F662B2B930DE479E66DCA1B9387CAF7E423
+ F973F3DB156C854CD1A3B452AE500E164C2FA82B785B185B78B848BD485AD433
+ DF66FEEAF9230B82167CBD90B050B8B0B3D8B87859F1E022BF45BB16238B5317
+ 772E315D52BA647869F0D27DCB68CBB296FD50E2585255F26A79DCF28E5283D2
+ A5A5432B82573495A994C9CB6EAEF45AB9631561956455EF6A97D55B567F2A17
+ 955FAC70ACA8AEF8B046B8E6E2574E5FD57CF5796DDADADE4AB7CAEDEB48EBA4
+ EB6EACF759BFAF4ABD6A41D5D086F00DAD1BF18DE51B5F6D4ADE74A17A6AF58E
+ CDB4CDCACD03356135ED5BCCB6ACDBF2A136A3F67A9D7F5DCB56FDADABB7BED9
+ 26DAD6BFDD777BF30E831D153BDEEF94ECBCB52B78576BBD457DF56ED2EE82DD
+ 8F1A621BBABFE67EDDB847774FC59E8F7BA57B07F645EFEB6A746F6CDCAFBFBF
+ B2096D52368D1E483A70E59B806FDA9BED9A77B5705A2A0EC241E5C127DFA67C
+ 7BE350E8A1CEC3DCC3CDDF997FB7F508EB48792BD23ABF75AC2DA36DA03DA1BD
+ EFE88CA39D1D5E1D47BEB7FF7EEF31E36375C7358F579EA09D283DF1F9E48293
+ E3A764A79E9D4E3F3DD499DC79F74CFC996B5D515DBD6743CF9E3F1774EE4CB7
+ 5FF7C9F3DEE78F5DF0BC70F422F762DB25B74BAD3DAE3D477E70FDE148AF5B6F
+ EB65F7CBED573CAE74F44DEB3BD1EFD37FFA6AC0D573D7F8D72E5D9F79BDEFC6
+ EC1BB76E26DD1CB825BAF5F876F6ED17770AEE4CDC5D7A8F78AFFCBEDAFDEA07
+ FA0FEA7FB4FEB165C06DE0F860C060CFC3590FEF0E09879EFE94FFD387E1D247
+ CC47D52346238D8F9D1F1F1B0D1ABDF264CE93E1A7B2A713CFCA7E56FF79EB73
+ ABE7DFFDE2FB4BCF58FCD8F00BF98BCFBFAE79A9F372EFABA9AF3AC723C71FBC
+ CE793DF1A6FCADCEDB7DEFB8EFBADFC7BD1F9928FC40FE50F3D1FA63C7A7D04F
+ F73EE77CFEFC2FF784F3FB25D29F33000001764944415478DA63FCFFFF3FC394
+ C53BFE33900172623D1819610600394469FAF3F71FC3EF3F7F19ACFDF319CEED
+ 98866A80CB7E5B14C57B1C0F836964F1CD56FB18E6AEDACB306FE9264C03F081
+ 5FBFFF826D06E1251B0E623700DD05D8C07283ED0C2BB71CC16D00CCD920F00F
+ 28F7E7CF3FB8CD2167DC1816EB6C6558BBE3187E03602ED9667380C1EB8803DC
+ E6C80B9E0CF33436316CDA7312BF01309B3FDF3ECCF072712C3E1FB96018B0CB
+ E11083DB013BB0ECA45D0F18941B6A18D8D9D33174FEFC3993615E620B038601
+ 2067C3FCFCAC4D8D41ABFD3158311CFCF801C4DF1966EF326060DE9E8A302023
+ CA8DC1E3903D8A2D2017A01800D2FCE11DC480534EA806248739836D85857AF4
+ 252F5403609AC106FC64987D2B08D580B8200794284BB8E68B30E0E34484E60F
+ 1F202E7895826A40949F1D5C33DCA0194610031ED62334C3BCF0AB0CD580502F
+ 6B86D5DB8EA28481D3B554702CCC5E258F350E510C00250C74A0CDFB86C18AF5
+ 38CE44602FCFE00200175B62A961F8A2FD0000000049454E44AE426082}
+ Name = 'PngImage0'
+ Background = clWindow
+ end>
+ PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled]
+ Left = 308
+ Top = 16
+ Bitmap = {}
+ end
+ object ExtraImages: TPngImageList
+ Height = 28
+ Width = 28
+ PngImages = <
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D494844520000001C0000001C0806000000720DDF
+ 940000000970485973000017120000171201679FD25200000A4D694343505068
+ 6F746F73686F70204943432070726F66696C65000078DA9D53775893F7163EDF
+ F7650F5642D8F0B1976C81002223AC08C81059A21092006184101240C585880A
+ 561415119C4855C482D50A489D88E2A028B867418A885A8B555C38EE1FDCA7B5
+ 7D7AEFEDEDFBD7FBBCE79CE7FCCE79CF0F8011122691E6A26A003952853C3AD8
+ 1F8F4F48C4C9BD80021548E0042010E6CBC26705C50000F00379787E74B03FFC
+ 01AF6F00020070D52E2412C7E1FF83BA50265700209100E02212E70B01905200
+ C82E54C81400C81800B053B3640A009400006C797C422200AA0D00ECF4493E05
+ 00D8A993DC1700D8A21CA908008D0100992847240240BB00605581522C02C0C2
+ 00A0AC40222E04C0AE018059B632470280BD0500768E58900F4060008099422C
+ CC0020380200431E13CD03204C03A030D2BFE0A95F7085B8480100C0CB95CD97
+ 4BD23314B895D01A77F2F0E0E221E2C26CB142611729106609E4229C979B2313
+ 48E7034CCE0C00001AF9D1C1FE383F90E7E6E4E1E666E76CEFF4C5A2FE6BF06F
+ 223E21F1DFFEBC8C020400104ECFEFDA5FE5E5D60370C701B075BF6BA95B00DA
+ 560068DFF95D33DB09A05A0AD07AF98B7938FC401E9EA150C83C1D1C0A0B0BED
+ 2562A1BD30E38B3EFF33E16FE08B7EF6FC401EFEDB7AF000719A4099ADC0A383
+ FD71616E76AE528EE7CB0442316EF7E723FEC7857FFD8E29D1E234B15C2C158A
+ F15889B850224DC779B952914421C995E212E97F32F11F96FD0993770D00AC86
+ 4FC04EB607B5CB6CC07EEE01028B0E58D27600407EF32D8C1A0B910010673432
+ 79F7000093BFF98F402B0100CD97A4E30000BCE8185CA894174CC608000044A0
+ 812AB041070CC114ACC00E9CC11DBCC01702610644400C24C03C104206E4801C
+ 0AA11896411954C03AD804B5B0031AA0119AE110B4C131380DE7E0125C81EB70
+ 170660189EC218BC86090441C8081361213A8811628ED822CE0817998E042261
+ 48349280A420E988145122C5C872A402A9426A915D4823F22D7214398D5C40FA
+ 90DBC820328AFC8ABC47319481B25103D4027540B9A81F1A8AC6A073D174340F
+ 5D8096A26BD11AB41E3D80B6A2A7D14BE87574007D8A8E6380D1310E668CD961
+ 5C8C87456089581A26C71663E55835568F35631D583776151BC09E61EF082402
+ 8B8013EC085E8410C26C82909047584C5843A825EC23B412BA085709838431C2
+ 272293A84FB4257A12F9C478623AB1905846AC26EE211E219E255E270E135F93
+ 48240EC992E44E0A21259032490B496B48DB482DA453A43ED210699C4C26EB90
+ 6DC9DEE408B280AC209791B7900F904F92FBC9C3E4B7143AC588E24C09A22452
+ A494124A35653FE504A59F324299A0AA51CDA99ED408AA883A9F5A496DA07650
+ 2F5387A91334759A25CD9B1643CBA42DA3D5D09A696769F7682FE974BA09DD83
+ 1E4597D097D26BE807E9E7E983F4770C0D860D83C7486228196B197B19A718B7
+ 192F994CA605D39799C85430D7321B9967980F986F55582AF62A7C1591CA1295
+ 3A9556957E95E7AA545573553FD579AA0B54AB550FAB5E567DA64655B350E3A9
+ 09D416ABD5A91D55BBA936AECE5277528F50CF515FA3BE5FFD82FA630DB28685
+ 46A08648A35463B7C6198D2116C63265F15842D6725603EB2C6B984D625BB2F9
+ EC4C7605FB1B762F7B4C534373AA66AC6691669DE671CD010EC6B1E0F039D99C
+ 4ACE21CE0DCE7B2D032D3F2DB1D66AAD66AD7EAD37DA7ADABEDA62ED72ED16ED
+ EBDAEF75709D409D2C9DF53A6D3AF77509BA36BA51BA85BADB75CFEA3ED363EB
+ 79E909F5CAF50EE9DDD147F56DF4A3F517EAEFD6EFD11F373034083690196C31
+ 3863F0CC9063E86B9869B8D1F084E1A811CB68BA91C468A3D149A327B826EE87
+ 67E33578173E66AC6F1C62AC34DE65DC6B3C61626932DBA4C4A4C5E4BE29CD94
+ 6B9A66BAD1B4D374CCCCC82CDCACD8ACC9EC8E39D59C6B9E61BED9BCDBFC8D85
+ A5459CC54A8B368BC796DA967CCB05964D96F7AC98563E567956F556D7AC49D6
+ 5CEB2CEB6DD6576C501B579B0C9B3A9BCBB6A8AD9BADC4769B6DDF14E2148F29
+ D229F5536EDA31ECFCEC0AEC9AEC06ED39F661F625F66DF6CF1DCC1C121DD63B
+ 743B7C727475CC766C70BCEBA4E134C3A9C4A9C3E957671B67A1739DF33517A6
+ 4B90CB1297769717536DA78AA76E9F7ACB95E51AEEBAD2B5D3F5A39BBB9BDCAD
+ D96DD4DDCC3DC57DABFB4D2E9B1BC95DC33DEF41F4F0F758E271CCE39DA79BA7
+ C2F390E72F5E765E595EFBBD1E4FB39C269ED6306DC8DBC45BE0BDCB7B603A3E
+ 3D65FACEE9033EC63E029F7A9F87BEA6BE22DF3DBE237ED67E997E07FC9EFB3B
+ FACBFD8FF8BFE179F216F14E056001C101E501BD811A81B3036B031F049904A5
+ 0735058D05BB062F0C3E15420C090D591F72936FC017F21BF96333DC672C9AD1
+ 15CA089D155A1BFA30CC264C1ED6118E86CF08DF107E6FA6F94CE9CCB60888E0
+ 476C88B81F69199917F97D14292A32AA2EEA51B453747174F72CD6ACE459FB67
+ BD8EF18FA98CB93BDB6AB6727667AC6A6C526C63EC9BB880B8AAB8817887F845
+ F1971274132409ED89E4C4D8C43D89E37302E76C9A339CE49A54967463AEE5DC
+ A2B917E6E9CECB9E773C593559907C3885981297B23FE5832042502F184FE5A7
+ 6E4D1D13F2849B854F45BEA28DA251B1B7B84A3C92E69D5695F638DD3B7D43FA
+ 68864F4675C633094F522B79911992B923F34D5644D6DEACCFD971D92D39949C
+ 949CA3520D6996B42BD730B728B74F662B2B930DE479E66DCA1B9387CAF7E423
+ F973F3DB156C854CD1A3B452AE500E164C2FA82B785B185B78B848BD485AD433
+ DF66FEEAF9230B82167CBD90B050B8B0B3D8B87859F1E022BF45BB16238B5317
+ 772E315D52BA647869F0D27DCB68CBB296FD50E2585255F26A79DCF28E5283D2
+ A5A5432B82573495A994C9CB6EAEF45AB9631561956455EF6A97D55B567F2A17
+ 955FAC70ACA8AEF8B046B8E6E2574E5FD57CF5796DDADADE4AB7CAEDEB48EBA4
+ EB6EACF759BFAF4ABD6A41D5D086F00DAD1BF18DE51B5F6D4ADE74A17A6AF58E
+ CDB4CDCACD03356135ED5BCCB6ACDBF2A136A3F67A9D7F5DCB56FDADABB7BED9
+ 26DAD6BFDD777BF30E831D153BDEEF94ECBCB52B78576BBD457DF56ED2EE82DD
+ 8F1A621BBABFE67EDDB847774FC59E8F7BA57B07F645EFEB6A746F6CDCAFBFBF
+ B2096D52368D1E483A70E59B806FDA9BED9A77B5705A2A0EC241E5C127DFA67C
+ 7BE350E8A1CEC3DCC3CDDF997FB7F508EB48792BD23ABF75AC2DA36DA03DA1BD
+ EFE88CA39D1D5E1D47BEB7FF7EEF31E36375C7358F579EA09D283DF1F9E48293
+ E3A764A79E9D4E3F3DD499DC79F74CFC996B5D515DBD6743CF9E3F1774EE4CB7
+ 5FF7C9F3DEE78F5DF0BC70F422F762DB25B74BAD3DAE3D477E70FDE148AF5B6F
+ EB65F7CBED573CAE74F44DEB3BD1EFD37FFA6AC0D573D7F8D72E5D9F79BDEFC6
+ EC1BB76E26DD1CB825BAF5F876F6ED17770AEE4CDC5D7A8F78AFFCBEDAFDEA07
+ FA0FEA7FB4FEB165C06DE0F860C060CFC3590FEF0E09879EFE94FFD387E1D247
+ CC47D52346238D8F9D1F1F1B0D1ABDF264CE93E1A7B2A713CFCA7E56FF79EB73
+ ABE7DFFDE2FB4BCF58FCD8F00BF98BCFBFAE79A9F372EFABA9AF3AC723C71FBC
+ CE793DF1A6FCADCEDB7DEFB8EFBADFC7BD1F9928FC40FE50F3D1FA63C7A7D04F
+ F73EE77CFEFC2FF784F3FB25D29F330000032C4944415478DABDD6DB4FD35018
+ 00F06FE3E21213F54103E203181435CA1D1E24721B6C5C34A213048C3E68A2AF
+ 26FE03266AE21F603081446E8E8830C606386EBBC0C66038702A608891C40762
+ 3451891A2330D6634FBB8D6DED693B49FCB693B6A73DFDF5FB4EBB4E861082FF
+ 19B2507060E21DB381FB022D6C9BFE305FFF3AB39FF9228891C7F0027515D932
+ 2268B42DA19AD293FF7CF5147D2E8A42E0F351E0A328286CBC01F3FD5A3268B0
+ 2EA20BCA53506E2BE49CCC5CEA204291C70F9CB6406BAF15DAF45A6960B481C1
+ E23435AC6C59A163C4093FAFFE820EBD4D1CECB72CA08B65E9C40CF9FAC74AEC
+ A09E2802CBFBD960DFDA951FA0354C8A837AF35BA429CF909C199E279F0F31CB
+ D0B9C37DDD430E71B0CFFC065D2ACFE4CD446AE04C3FD77E835E935302384E83
+ 2A160C2D51B4F149F315FA46A6C541DDD86B54ABCE6240A1BB5228F0D8F61383
+ 6018778983BDA31E443FA83B069F1C33C2A0E5A538D833FA0A5DAEC809824273
+ 19B8A0D06302635A8E1AC064738B83CF47E6517D65EE8E337C7C580F638E7909
+ E0300D56ED1C7C94AC038BD3230E760FCFA186AA3CC192865E48F375194413AB
+ BF95E1E033931B3556E70B6688E8075B269733D8B59BDCFD9B1BFEB60EB01158
+ D26DD6C507BE70A3FAEA3CE6A74AA8A49DB713E148EA17C8CA938EED4D04585A
+ 8900BB8666E939CC874A7B31B1A4759D53208BA5E7221E40BE4BBC8C5B6BDB18
+ 670E3158ABCE85B3CE526286A452E24C36FEF897FE86339C9B634B59946D05BB
+ 272243EDA00B695439707EA64C10C4278826308683033E1D984135CA6CD0B855
+ C4C1B8A47C1906C2E7A3CBE805F06EB2192F2F6FEFE305CF9564F2BF7228F6EF
+ 83E5EE012288112F8D6D6DB2EB3A9D02D28EAF437C2C01EC344EA3EAA24C2286
+ B727EE25F0829118CED26054404A2A0DC6018372C00E83135516661031BCED78
+ 709003F261B80D99149094CC668851D74204D8DE3F852ACE6410315CEAE98749
+ 612009C3EBA36605EC3FC4828B1F9470BFC7220B03DBF40EA42A4867DE65A488
+ B3560541210CF75B2715B027611D3EAEB2181E1306B6F6D95193B645F016BFB5
+ AF8B019B9B14121E0880EFDE8220C601A5C49D8654B49B4A917C7C2886E32FA1
+ 48B9B918B6DCA70000000049454E44AE426082}
+ Name = 'PngImage0'
+ Background = clWindow
+ end>
+ Left = 232
+ Top = 80
+ Bitmap = {}
+ end
+end
diff --git a/Source/Modulos/Presupuestos de cliente/Plugin/uPluginPresupuestosCliente.pas b/Source/Modulos/Presupuestos de cliente/Plugin/uPluginPresupuestosCliente.pas
new file mode 100644
index 00000000..65391f24
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Plugin/uPluginPresupuestosCliente.pas
@@ -0,0 +1,75 @@
+unit uPluginPresupuestosCliente;
+
+interface
+
+uses
+ uModuleController, uInterfaces, uHostManager, Menus, Classes, ActnList,
+ ImgList, Controls, PngImageList;
+
+type
+ IMCPresupuestosCliente = interface(IInterface)
+ ['{4C4C1C6A-3CA8-4D81-B420-40F068BFF833}']
+ end;
+
+ TPluginPresupuestosCliente = class(TModuleController, IMCPresupuestosCliente)
+ actPresupuestosCliente: TAction;
+ ExtraImages: TPngImageList;
+ LargeImages: TPngImageList;
+ MainMenu: TMainMenu;
+ ModuleActionList: TActionList;
+ SmallImages: TPngImageList;
+ Ventas1: TMenuItem;
+ PresupuestosdeCliente1: TMenuItem;
+ actInfPresupuestos: TAction;
+ procedure actPresupuestosClienteExecute(Sender: TObject);
+ public
+ constructor Create(AOwner: TComponent); override;
+ destructor Destroy; override;
+ end;
+
+implementation
+
+{$R *.dfm}
+
+uses
+ Forms, Dialogs, SysUtils,
+ uPresupuestosClienteController, uBizPresupuestosCliente, uPresupuestosClienteViewRegister;
+
+function GetModule : TModuleController;
+begin
+ Result := TPluginPresupuestosCliente.Create(NIL);
+end;
+
+exports
+ GetModule name GET_MODULE_FUNC;
+
+procedure TPluginPresupuestosCliente.actPresupuestosClienteExecute(Sender: TObject);
+var
+ APresupuestosClienteController : IPresupuestosClienteController;
+ APresupuestosCliente : IBizPresupuestoCliente;
+
+begin
+ APresupuestosClienteController := TPresupuestosClienteController.Create;
+ APresupuestosCliente := (APresupuestosClienteController.BuscarTodos as IBizPresupuestoCliente);
+ APresupuestosClienteController.VerTodos(APresupuestosCliente);
+end;
+
+constructor TPluginPresupuestosCliente.Create(AOwner: TComponent);
+begin
+ inherited;
+ uPresupuestosClienteViewRegister.RegisterViews;
+end;
+
+destructor TPluginPresupuestosCliente.Destroy;
+begin
+ uPresupuestosClienteViewRegister.UnregisterViews;
+ inherited;
+end;
+
+initialization
+ RegisterModuleClass(TPluginPresupuestosCliente);
+
+finalization
+ UnRegisterModuleClass(TPluginPresupuestosCliente);
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Reports/uRptPedidosCliente_Server.dfm b/Source/Modulos/Presupuestos de cliente/Reports/uRptPedidosCliente_Server.dfm
new file mode 100644
index 00000000..5576c854
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Reports/uRptPedidosCliente_Server.dfm
@@ -0,0 +1,952 @@
+object RptPedidosCliente: TRptPedidosCliente
+ OldCreateOrder = True
+ OnCreate = DataModuleCreate
+ Height = 405
+ Width = 447
+ object DADataCabecera: TDADataSource
+ DataTable = tbl_Cabecera
+ Left = 264
+ Top = 72
+ end
+ object DADataDetalles: TDADataSource
+ DataTable = tbl_Detalles
+ Left = 344
+ Top = 72
+ end
+ object tbl_Cabecera: TDACDSDataTable
+ RemoteUpdatesOptions = []
+ Fields = <>
+ Params = <>
+ MasterMappingMode = mmDataRequest
+ LogChanges = False
+ StreamingOptions = [soDisableEventsWhileStreaming]
+ RemoteFetchEnabled = False
+ SchemaCall.Params = <>
+ DataRequestCall.Params = <>
+ DataUpdateCall.Params = <>
+ ScriptCall.Params = <>
+ ReadOnly = False
+ DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
+ MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
+ IndexDefs = <>
+ Left = 264
+ Top = 128
+ end
+ object tbl_Detalles: TDACDSDataTable
+ RemoteUpdatesOptions = []
+ Fields = <>
+ Params = <>
+ MasterMappingMode = mmDataRequest
+ LogChanges = False
+ StreamingOptions = [soDisableEventsWhileStreaming]
+ RemoteFetchEnabled = False
+ SchemaCall.Params = <>
+ DataRequestCall.Params = <>
+ DataUpdateCall.Params = <>
+ ScriptCall.Params = <>
+ ReadOnly = False
+ DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
+ MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
+ IndexDefs = <>
+ Left = 344
+ Top = 128
+ end
+ object DABINAdapter: TDABINAdapter
+ Left = 48
+ Top = 80
+ end
+ object frxRichObject1: TfrxRichObject
+ Left = 48
+ Top = 296
+ end
+ object frxBarCodeObject1: TfrxBarCodeObject
+ Left = 144
+ Top = 296
+ end
+ object frxOLEObject1: TfrxOLEObject
+ Left = 48
+ Top = 344
+ end
+ object frxCrossObject1: TfrxCrossObject
+ Left = 144
+ Top = 344
+ end
+ object frxCheckBoxObject1: TfrxCheckBoxObject
+ Left = 256
+ Top = 296
+ end
+ object frxGradientObject1: TfrxGradientObject
+ Left = 360
+ Top = 296
+ end
+ object frxChartObject1: TfrxChartObject
+ Left = 256
+ Top = 344
+ end
+ object schReport: TDASchema
+ ConnectionManager = dmServer.ConnectionManager
+ DataDictionary = DataDictionary
+ Datasets = <
+ item
+ Params = <
+ item
+ Name = 'ID'
+ DataType = datInteger
+ BlobType = dabtUnknown
+ Value = '15'
+ ParamType = daptInput
+ end>
+ Statements = <
+ item
+ Connection = 'IBX'
+ TargetTable = 'PEDIDOS_CLIENTE'
+ SQL =
+ 'SELECT'#10' V_PEDIDOS_CLIENTE.ID,'#10' V_PEDIDOS_CLIENTE.ID_EMPRESA,'#10' ' +
+ ' V_PEDIDOS_CLIENTE.ID_CLIENTE,'#10' V_PEDIDOS_CLIENTE.NOMBRE,'#10' V_C' +
+ 'LIENTES.NOMBRE_COMERCIAL,'#10' V_PEDIDOS_CLIENTE.REFERENCIA,'#10' V_PE' +
+ 'DIDOS_CLIENTE.REFERENCIA_CLIENTE,'#10' V_PEDIDOS_CLIENTE.SITUACION,' +
+ #10' V_PEDIDOS_CLIENTE.FECHA_PEDIDO,'#10' V_PEDIDOS_CLIENTE.CALLE,'#10' ' +
+ 'V_PEDIDOS_CLIENTE.CODIGO_POSTAL,'#10' V_PEDIDOS_CLIENTE.POBLACION,'#10 +
+ ' V_PEDIDOS_CLIENTE.PROVINCIA,'#10' V_PEDIDOS_CLIENTE.PERSONA_CONTA' +
+ 'CTO,'#10' V_PEDIDOS_CLIENTE.TELEFONO,'#10' V_PEDIDOS_CLIENTE.OBSERVACI' +
+ 'ONES,'#10' V_PEDIDOS_CLIENTE.INCIDENCIAS,'#10' V_PEDIDOS_CLIENTE.INCID' +
+ 'ENCIAS_ACTIVAS,'#10' V_PEDIDOS_CLIENTE.FECHA_ALTA,'#10' V_PEDIDOS_CLIE' +
+ 'NTE.FECHA_MODIFICACION,'#10' V_PEDIDOS_CLIENTE.USUARIO,'#10' V_PEDIDOS' +
+ '_CLIENTE.IMPORTE_NETO,'#10' V_PEDIDOS_CLIENTE.IMPORTE_PORTE,'#10' V_PE' +
+ 'DIDOS_CLIENTE.DESCUENTO,'#10' V_PEDIDOS_CLIENTE.IMPORTE_DESCUENTO,'#10 +
+ ' V_PEDIDOS_CLIENTE.BASE_IMPONIBLE,'#10' V_PEDIDOS_CLIENTE.IVA,'#10' V' +
+ '_PEDIDOS_CLIENTE.IMPORTE_IVA,'#10' V_PEDIDOS_CLIENTE.IMPORTE_TOTAL,' +
+ #10' V_PEDIDOS_CLIENTE.ID_FORMA_PAGO,'#10' EMPRESAS.NOMBRE AS NOMBRE_' +
+ 'EMPRESA,'#10' EMPRESAS.TELEFONO_1 as TELEFONO_1_EMPRESA,'#10' EMPRESAS' +
+ '.FAX as FAX_EMPRESA'#10'FROM'#10' V_PEDIDOS_CLIENTE'#10' LEFT OUTER JOIN E' +
+ 'MPRESAS ON (V_PEDIDOS_CLIENTE.ID_EMPRESA = EMPRESAS.ID)'#10' LEFT O' +
+ 'UTER JOIN V_CLIENTES ON (V_CLIENTES.ID = V_PEDIDOS_CLIENTE.ID_CL' +
+ 'IENTE)'#10'WHERE'#10' V_PEDIDOS_CLIENTE.ID = :ID'
+ StatementType = stSQL
+ ColumnMappings = <
+ item
+ DatasetField = 'OBSERVACIONES'
+ TableField = 'OBSERVACIONES'
+ end
+ item
+ DatasetField = 'NOMBRE'
+ TableField = 'NOMBRE'
+ end
+ item
+ DatasetField = 'CALLE'
+ TableField = 'CALLE'
+ end
+ item
+ DatasetField = 'POBLACION'
+ TableField = 'POBLACION'
+ end
+ item
+ DatasetField = 'REFERENCIA'
+ TableField = 'REFERENCIA'
+ end
+ item
+ DatasetField = 'ID'
+ TableField = 'ID'
+ end
+ item
+ DatasetField = 'ID_EMPRESA'
+ TableField = 'ID_EMPRESA'
+ end
+ item
+ DatasetField = 'IMPORTE_TOTAL'
+ TableField = 'IMPORTE_TOTAL'
+ end
+ item
+ DatasetField = 'CODIGO_POSTAL'
+ TableField = 'CODIGO_POSTAL'
+ end
+ item
+ DatasetField = 'FECHA_PEDIDO'
+ TableField = 'FECHA_PEDIDO'
+ end
+ item
+ DatasetField = 'PROVINCIA'
+ TableField = 'PROVINCIA'
+ end
+ item
+ DatasetField = 'PERSONA_CONTACTO'
+ TableField = 'PERSONA_CONTACTO'
+ end
+ item
+ DatasetField = 'TELEFONO'
+ TableField = 'TELEFONO'
+ end
+ item
+ DatasetField = 'ID_CLIENTE'
+ TableField = 'ID_CLIENTE'
+ end
+ item
+ DatasetField = 'SITUACION'
+ TableField = 'SITUACION'
+ end
+ item
+ DatasetField = 'INCIDENCIAS'
+ TableField = 'INCIDENCIAS'
+ end
+ item
+ DatasetField = 'INCIDENCIAS_ACTIVAS'
+ TableField = 'INCIDENCIAS_ACTIVAS'
+ end
+ item
+ DatasetField = 'FECHA_ALTA'
+ TableField = 'FECHA_ALTA'
+ end
+ item
+ DatasetField = 'FECHA_MODIFICACION'
+ TableField = 'FECHA_MODIFICACION'
+ end
+ item
+ DatasetField = 'USUARIO'
+ TableField = 'USUARIO'
+ end
+ item
+ DatasetField = 'IMPORTE_NETO'
+ TableField = 'IMPORTE_NETO'
+ end
+ item
+ DatasetField = 'IMPORTE_PORTE'
+ TableField = 'IMPORTE_PORTE'
+ end
+ item
+ DatasetField = 'DESCUENTO'
+ TableField = 'DESCUENTO'
+ end
+ item
+ DatasetField = 'IMPORTE_DESCUENTO'
+ TableField = 'IMPORTE_DESCUENTO'
+ end
+ item
+ DatasetField = 'BASE_IMPONIBLE'
+ TableField = 'BASE_IMPONIBLE'
+ end
+ item
+ DatasetField = 'IVA'
+ TableField = 'IVA'
+ end
+ item
+ DatasetField = 'IMPORTE_IVA'
+ TableField = 'IMPORTE_IVA'
+ end
+ item
+ DatasetField = 'ID_FORMA_PAGO'
+ TableField = 'ID_FORMA_PAGO'
+ end
+ item
+ DatasetField = 'NOMBRE_EMPRESA'
+ TableField = 'NOMBRE_EMPRESA'
+ end
+ item
+ DatasetField = 'TELEFONO_1_EMPRESA'
+ TableField = 'TELEFONO_1_EMPRESA'
+ end
+ item
+ DatasetField = 'FAX_EMPRESA'
+ TableField = 'FAX_EMPRESA'
+ end
+ item
+ DatasetField = 'NOMBRE_COMERCIAL'
+ TableField = 'NOMBRE_COMERCIAL'
+ end
+ item
+ DatasetField = 'REFERENCIA_CLIENTE'
+ TableField = 'REFERENCIA_CLIENTE'
+ end>
+ end>
+ Name = 'Informe_Cabecera'
+ Fields = <
+ item
+ Name = 'ID'
+ DataType = datInteger
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = True
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'ID_EMPRESA'
+ DataType = datInteger
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'ID_CLIENTE'
+ DataType = datInteger
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'REFERENCIA'
+ DataType = datString
+ Size = 255
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'NOMBRE_COMERCIAL'
+ DataType = datString
+ Size = 255
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'FECHA_PEDIDO'
+ DataType = datDateTime
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'REFERENCIA_CLIENTE'
+ DataType = datString
+ Size = 255
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'SITUACION'
+ DataType = datString
+ Size = 9
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMPORTE_TOTAL'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'OBSERVACIONES'
+ DataType = datMemo
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'NOMBRE'
+ DataType = datString
+ Size = 255
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'CALLE'
+ DataType = datString
+ Size = 255
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'CODIGO_POSTAL'
+ DataType = datString
+ Size = 10
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'PROVINCIA'
+ DataType = datString
+ Size = 255
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'PERSONA_CONTACTO'
+ DataType = datString
+ Size = 255
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'TELEFONO'
+ DataType = datString
+ Size = 25
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'INCIDENCIAS'
+ DataType = datMemo
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'INCIDENCIAS_ACTIVAS'
+ DataType = datInteger
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'FECHA_ALTA'
+ DataType = datDateTime
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'FECHA_MODIFICACION'
+ DataType = datDateTime
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'USUARIO'
+ DataType = datString
+ Size = 20
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMPORTE_NETO'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMPORTE_PORTE'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'DESCUENTO'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMPORTE_DESCUENTO'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'BASE_IMPONIBLE'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IVA'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMPORTE_IVA'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'POBLACION'
+ DataType = datString
+ Size = 255
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'ID_FORMA_PAGO'
+ DataType = datInteger
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'NOMBRE_EMPRESA'
+ DataType = datString
+ Size = 255
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'TELEFONO_1_EMPRESA'
+ DataType = datString
+ Size = 25
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'FAX_EMPRESA'
+ DataType = datString
+ Size = 25
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end>
+ BusinessRulesClient.ScriptLanguage = rslPascalScript
+ BusinessRulesServer.ScriptLanguage = rslPascalScript
+ end
+ item
+ Params = <
+ item
+ Name = 'ID_PEDIDO'
+ BlobType = dabtUnknown
+ Value = ''
+ ParamType = daptInput
+ end>
+ Statements = <
+ item
+ Connection = 'IBX'
+ TargetTable = 'PEDIDOS_CLIENTE_DETALLES'
+ SQL =
+ 'SELECT PEDIDOS_CLIENTE_DETALLES.ID, PEDIDOS_CLIENTE_DETALLES.ID_' +
+ 'PEDIDO,'#10' PEDIDOS_CLIENTE_DETALLES.POSICION, PEDIDOS_CLIENT' +
+ 'E_DETALLES.TIPO_DETALLE,'#10' PEDIDOS_CLIENTE_DETALLES.CONCEPT' +
+ 'O, PEDIDOS_CLIENTE_DETALLES.CANTIDAD,'#10' PEDIDOS_CLIENTE_DET' +
+ 'ALLES.IMPORTE_UNIDAD, PEDIDOS_CLIENTE_DETALLES.IMPORTE_TOTAL,'#10' ' +
+ ' ARTICULOS.REFERENCIA, ARTICULOS.FAMILIA, ARTICULOS.REFERENC' +
+ 'IA_PROV as REFERENCIA_PROVEEDOR'#10#10'FROM PEDIDOS_CLIENTE_DETALLES'#10'L' +
+ 'EFT JOIN ARTICULOS ON (PEDIDOS_CLIENTE_DETALLES.ID_ARTICULO = AR' +
+ 'TICULOS.ID)'#10'WHERE ID_PEDIDO = :ID_PEDIDO'#10'ORDER BY POSICION'
+ StatementType = stSQL
+ ColumnMappings = <
+ item
+ DatasetField = 'CANTIDAD'
+ TableField = 'CANTIDAD'
+ end
+ item
+ DatasetField = 'POSICION'
+ TableField = 'POSICION'
+ end
+ item
+ DatasetField = 'ID'
+ TableField = 'ID'
+ end
+ item
+ DatasetField = 'TIPO_DETALLE'
+ TableField = 'TIPO_DETALLE'
+ end
+ item
+ DatasetField = 'CONCEPTO'
+ TableField = 'CONCEPTO'
+ end
+ item
+ DatasetField = 'IMPORTE_UNIDAD'
+ TableField = 'IMPORTE_UNIDAD'
+ end
+ item
+ DatasetField = 'IMPORTE_TOTAL'
+ TableField = 'IMPORTE_TOTAL'
+ end
+ item
+ DatasetField = 'ID_PEDIDO'
+ TableField = 'ID_PEDIDO'
+ end
+ item
+ DatasetField = 'REFERENCIA'
+ TableField = 'REFERENCIA'
+ end
+ item
+ DatasetField = 'FAMILIA'
+ TableField = 'FAMILIA'
+ end
+ item
+ DatasetField = 'REFERENCIA_PROVEEDOR'
+ TableField = 'REFERENCIA_PROVEEDOR'
+ end>
+ end>
+ Name = 'Informe_Detalles'
+ Fields = <
+ item
+ Name = 'ID'
+ DataType = datInteger
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'ID_PEDIDO'
+ DataType = datInteger
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'POSICION'
+ DataType = datInteger
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'TIPO_DETALLE'
+ DataType = datString
+ Size = 10
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'REFERENCIA'
+ DataType = datString
+ Size = 255
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'CONCEPTO'
+ DataType = datString
+ Size = 2000
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'CANTIDAD'
+ DataType = datInteger
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMPORTE_UNIDAD'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMPORTE_TOTAL'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'FAMILIA'
+ DataType = datString
+ Size = 255
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'REFERENCIA_PROVEEDOR'
+ DataType = datString
+ Size = 255
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end>
+ BusinessRulesClient.ScriptLanguage = rslPascalScript
+ BusinessRulesServer.ScriptLanguage = rslPascalScript
+ end>
+ Commands = <>
+ RelationShips = <>
+ UpdateRules = <>
+ Left = 48
+ Top = 16
+ end
+ object DataDictionary: TDADataDictionary
+ Fields = <>
+ Left = 46
+ Top = 158
+ end
+ object frxReport: TfrxReport
+ Version = '3.23.7'
+ DotMatrixReport = False
+ EngineOptions.DoublePass = True
+ IniFile = '\Software\Fast Reports'
+ PreviewOptions.Buttons = [pbPrint, pbLoad, pbSave, pbExport, pbZoom, pbFind, pbOutline, pbPageSetup, pbTools, pbEdit, pbNavigator, pbExportQuick]
+ PreviewOptions.Zoom = 1.000000000000000000
+ PrintOptions.Printer = 'Por defecto'
+ ReportOptions.CreateDate = 39065.872423495400000000
+ ReportOptions.LastChange = 39255.590290254630000000
+ ScriptLanguage = 'PascalScript'
+ ScriptText.Strings = (
+ ''
+ 'procedure DatosEmpresaOnBeforePrint(Sender: TfrxComponent);'
+ 'var'
+ ' Cadena: String;'
+ 'begin'
+ ' DatosEmpresa.Lines.Clear;'
+ ' if ( <> '#39#39') then'
+ ' Cadena := '#39'TLF: '#39' + ;'
+ ' if ( <> '#39#39') then'
+
+ ' Cadena := Cadena + '#39' FAX: '#39' + ;'
+ ' DatosEmpresa.Lines.Add(Cadena);'
+ 'end;'
+ ''
+ 'procedure NombreEmpresaOnBeforePrint(Sender: TfrxComponent);'
+ 'begin'
+ ' NombreEmpresa.Lines.Clear;'
+ ' NombreEmpresa.Lines.Add();'
+ 'end;'
+ ''
+ 'procedure DireccionEnvioOnBeforePrint(Sender: TfrxComponent);'
+ 'var'
+ ' ACadena : String;'
+ 'begin'
+ ' ACadena := '#39#39';'
+ ' DireccionEnvio.Lines.Clear;'
+ ' if ( <> '#39#39') then'
+ ' ACadena := ;'
+ ''
+ ' if ( <> '#39#39') then'
+
+ ' ACadena := ACadena + '#39' '#39' + ;'
+ ''
+ ' DireccionEnvio.Lines.Add(ACadena);'
+ ' ACadena := '#39#39';'
+ ' DireccionEnvio.Lines.Add();'
+ ' if ( <> '#39#39') then'
+ ' ACadena := + '#39' '#39';'
+ ' if ( <> '#39#39') then'
+ ' ACadena := ACadena + ;'
+ ''
+ ' if (ACadena <> '#39#39') then'
+ ' DireccionEnvio.Lines.Add(ACadena);'
+ ''
+ ' if ( <> '#39#39') then'
+ ' DireccionEnvio.Lines.Add();'
+ ''
+ ' if ( <> '#39#39') then'
+ ' DireccionEnvio.Lines.Add();'
+ 'end;'
+ ''
+ 'begin'
+ ''
+ 'end.')
+ ShowProgress = False
+ StoreInDFM = False
+ Left = 169
+ Top = 16
+ Datasets = <
+ item
+ DataSet = frxDBCabecera
+ DataSetName = 'frxDBCabecera'
+ end
+ item
+ DataSet = frxDBDetalles
+ DataSetName = 'frxDBDetalles'
+ end>
+ Variables = <>
+ Style = <>
+ end
+ object frxDBCabecera: TfrxDBDataset
+ UserName = 'frxDBCabecera'
+ CloseDataSource = False
+ DataSource = DADataCabecera
+ Left = 264
+ Top = 16
+ end
+ object frxDBDetalles: TfrxDBDataset
+ UserName = 'frxDBDetalles'
+ CloseDataSource = False
+ DataSource = DADataDetalles
+ Left = 344
+ Top = 16
+ end
+end
diff --git a/Source/Modulos/Presupuestos de cliente/Reports/uRptPedidosCliente_Server.pas b/Source/Modulos/Presupuestos de cliente/Reports/uRptPedidosCliente_Server.pas
new file mode 100644
index 00000000..ef6908f8
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Reports/uRptPedidosCliente_Server.pas
@@ -0,0 +1,118 @@
+unit uRptPedidosCliente_Server;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, frxClass, frxDBSet, uDAScriptingProvider,
+ uDADataTable, uDACDSDataTable, DB, uDAClasses, frxChart, frxGradient,
+ frxChBox, frxCross, frxOLE, frxBarcode, frxRich, uDABINAdapter, uROTypes,
+ uDAInterfaces;
+
+type
+ TRptPedidosCliente = class(TDataModule)
+ DADataCabecera: TDADataSource;
+ DADataDetalles: TDADataSource;
+ tbl_Cabecera: TDACDSDataTable;
+ tbl_Detalles: TDACDSDataTable;
+ DABINAdapter: TDABINAdapter;
+ frxRichObject1: TfrxRichObject;
+ frxBarCodeObject1: TfrxBarCodeObject;
+ frxOLEObject1: TfrxOLEObject;
+ frxCrossObject1: TfrxCrossObject;
+ frxCheckBoxObject1: TfrxCheckBoxObject;
+ frxGradientObject1: TfrxGradientObject;
+ frxChartObject1: TfrxChartObject;
+ frxDBCabecera: TfrxDBDataset;
+ frxDBDetalles: TfrxDBDataset;
+ schReport: TDASchema;
+ DataDictionary: TDADataDictionary;
+ frxReport: TfrxReport;
+ procedure DataModuleCreate(Sender: TObject);
+ private
+ FConnection: IDAConnection;
+ procedure GenerarPedido(const AID : Integer); overload;
+ public
+ function GenerarPedido(const AID : String): Binary; overload;
+ end;
+
+implementation
+
+{$R *.dfm}
+
+uses
+ uDataModuleServer, schPedidosClienteClient_Intf;
+
+const
+ rptInforme = 'InfPedidoCliente.fr3';
+
+ { Dataset names for schReport }
+ ds_InformeCabecera = 'Informe_Cabecera';
+ ds_InformeDetalles = 'Informe_Detalles';
+
+
+{ TRptPedidosProveedor }
+
+
+procedure TRptPedidosCliente.DataModuleCreate(Sender: TObject);
+begin
+ schReport.ConnectionManager := dmServer.ConnectionManager;
+ FConnection := dmServer.DarNuevaConexion;
+ frxReport.EngineOptions.NewSilentMode := simReThrow;
+end;
+
+function TRptPedidosCliente.GenerarPedido(const AID: String): Binary;
+var
+ ID_Pedidos: TStringList;
+ i: Integer;
+
+begin
+ Result := Binary.Create;
+ FConnection.BeginTransaction;
+
+ try
+ ID_Pedidos := TStringList.Create;
+ ID_Pedidos.CommaText := AID;
+
+ //Vamos generando todos y cada uno de los albaranes recibidos
+ for i := 0 to ID_Pedidos.Count - 1 do
+ GenerarPedido(StrToInt(ID_Pedidos.Strings[i]));
+
+ frxReport.PreviewPages.SaveToStream(Result);
+
+ finally
+ FConnection.RollbackTransaction;
+ end;
+end;
+
+procedure TRptPedidosCliente.GenerarPedido(const AID: Integer);
+var
+ AStream: TMemoryStream;
+ dsMaster: IDADataset;
+ dsDetail: IDADataset;
+begin
+ AStream := TMemoryStream.Create;
+
+ try
+ dsMaster := schReport.NewDataset(FConnection, ds_InformeCabecera, ['ID'], [AID]);
+ dsDetail := schReport.NewDataset(FConnection, ds_InformeDetalles, ['ID_PEDIDO'], [AID], False);
+
+ AStream.Clear;
+ DABINAdapter.WriteDataset(AStream, dsMaster, [woRows, woSchema], -1);
+ DABINAdapter.ReadDataset(AStream, tbl_Cabecera, TRUE, '', TRUE, TRUE);
+
+ AStream.Clear;
+ DABINAdapter.WriteDataset(AStream, dsDetail, [woRows, woSchema], -1);
+ DABINAdapter.ReadDataset(AStream, tbl_Detalles, TRUE, '', TRUE, TRUE);
+
+ frxReport.LoadFromFile(DarRutaInformes + rptInforme, True);
+ frxReport.PrepareReport(False);
+
+ finally
+ AStream.Free;
+ dsMaster := Nil;
+ dsDetail := Nil;
+ end;
+end;
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.dfm b/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.dfm
new file mode 100644
index 00000000..bbf11bcf
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.dfm
@@ -0,0 +1,2227 @@
+object srvPresupuestosCliente: TsrvPresupuestosCliente
+ OldCreateOrder = True
+ OnCreate = DARemoteServiceCreate
+ RequiresSession = True
+ SessionManager = dmServer.SessionManager
+ ConnectionName = 'IBX'
+ ServiceSchema = schPedidosCliente
+ ServiceDataStreamer = Bin2DataStreamer
+ ExportedDataTables = <>
+ Height = 247
+ Width = 347
+ object schPedidosCliente: TDASchema
+ ConnectionManager = dmServer.ConnectionManager
+ DataDictionary = DADataDictionary
+ Datasets = <
+ item
+ Params = <
+ item
+ Name = 'ID_PEDIDO'
+ Value = ''
+ ParamType = daptInput
+ end>
+ Statements = <
+ item
+ Connection = 'IBX'
+ SQL =
+ 'SELECT '#10' ID_PEDIDO, ID_ARTICULO, CANT_PEDIDA_CLIENTE, ID_PROV' +
+ 'EEDOR, '#10' CANT_PEDIDA_PROVEEDOR, CANT_PENDIENTE_PEDIR'#10' FROM'#10' ' +
+ ' V_PED_CLI_ART_PEND_PEDIR_PROV'#10' WHERE ID_PEDIDO = :ID_PEDIDO'
+ StatementType = stSQL
+ ColumnMappings = <
+ item
+ DatasetField = 'ID_PEDIDO'
+ TableField = 'ID_PEDIDO'
+ end
+ item
+ DatasetField = 'ID_ARTICULO'
+ TableField = 'ID_ARTICULO'
+ end
+ item
+ DatasetField = 'CANT_PEDIDA_CLIENTE'
+ TableField = 'CANT_PEDIDA_CLIENTE'
+ end
+ item
+ DatasetField = 'ID_PROVEEDOR'
+ TableField = 'ID_PROVEEDOR'
+ end
+ item
+ DatasetField = 'CANT_PEDIDA_PROVEEDOR'
+ TableField = 'CANT_PEDIDA_PROVEEDOR'
+ end
+ item
+ DatasetField = 'CANT_PENDIENTE_PEDIR'
+ TableField = 'CANT_PENDIENTE_PEDIR'
+ end>
+ end>
+ Name = 'PedidoCliente_ArticulosPendientesPedirAProv'
+ Fields = <
+ item
+ Name = 'ID_PEDIDO'
+ DataType = datAutoInc
+ DictionaryEntry = 'DarArticulosPendientesPedirAProv_ID_PEDIDO'
+ end
+ item
+ Name = 'ID_ARTICULO'
+ DataType = datInteger
+ DictionaryEntry = 'DarArticulosPendientesPedirAProv_ID_ARTICULO'
+ end
+ item
+ Name = 'CANT_PEDIDA_CLIENTE'
+ DataType = datInteger
+ DictionaryEntry = 'DarArticulosPendientesPedirAProv_CANT_PEDIDA_CLIENTE'
+ end
+ item
+ Name = 'ID_PROVEEDOR'
+ DataType = datInteger
+ DictionaryEntry = 'DarArticulosPendientesPedirAProv_ID_PROVEEDOR'
+ end
+ item
+ Name = 'CANT_PEDIDA_PROVEEDOR'
+ DataType = datInteger
+ DictionaryEntry = 'DarArticulosPendientesPedirAProv_CANT_PEDIDA_PROVEEDOR'
+ end
+ item
+ Name = 'CANT_PENDIENTE_PEDIR'
+ DataType = datInteger
+ DictionaryEntry = 'DarArticulosPendientesPedirAProv_CANT_PENDIENTE_PEDIR'
+ end>
+ end
+ item
+ Params = <
+ item
+ Name = 'CODIGO'
+ DataType = datString
+ Size = 50
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'ID_EMPRESA'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end>
+ Statements = <
+ item
+ Connection = 'IBX'
+ TargetTable = 'REFERENCIAS'
+ SQL =
+ 'SELECT'#10' VALOR'#10'FROM'#10' REFERENCIAS'#10'WHERE'#10' CODIGO = :COD' +
+ 'IGO'#10'AND ID_EMPRESA = :ID_EMPRESA'
+ StatementType = stSQL
+ ColumnMappings = <
+ item
+ DatasetField = 'VALOR'
+ TableField = 'VALOR'
+ end>
+ end>
+ Name = 'DarReferencia'
+ Fields = <
+ item
+ Name = 'VALOR'
+ DataType = datString
+ Size = 255
+ end>
+ end
+ item
+ Params = <>
+ Statements = <
+ item
+ Connection = 'IBX'
+ Default = True
+ TargetTable = 'V_PEDIDOS_CLIENTE'
+ StatementType = stAutoSQL
+ ColumnMappings = <
+ item
+ DatasetField = 'ID'
+ TableField = 'ID'
+ end
+ item
+ DatasetField = 'ID_EMPRESA'
+ TableField = 'ID_EMPRESA'
+ end
+ item
+ DatasetField = 'ID_CLIENTE'
+ TableField = 'ID_CLIENTE'
+ end
+ item
+ DatasetField = 'USUARIO'
+ TableField = 'USUARIO'
+ end
+ item
+ DatasetField = 'FECHA_PEDIDO'
+ TableField = 'FECHA_PEDIDO'
+ end
+ item
+ DatasetField = 'CALLE'
+ TableField = 'CALLE'
+ end
+ item
+ DatasetField = 'CODIGO_POSTAL'
+ TableField = 'CODIGO_POSTAL'
+ end
+ item
+ DatasetField = 'POBLACION'
+ TableField = 'POBLACION'
+ end
+ item
+ DatasetField = 'PROVINCIA'
+ TableField = 'PROVINCIA'
+ end
+ item
+ DatasetField = 'PERSONA_CONTACTO'
+ TableField = 'PERSONA_CONTACTO'
+ end
+ item
+ DatasetField = 'TELEFONO'
+ TableField = 'TELEFONO'
+ end
+ item
+ DatasetField = 'REFERENCIA'
+ TableField = 'REFERENCIA'
+ end
+ item
+ DatasetField = 'IMPORTE_TOTAL'
+ TableField = 'IMPORTE_TOTAL'
+ end
+ item
+ DatasetField = 'INCIDENCIAS'
+ TableField = 'INCIDENCIAS'
+ end
+ item
+ DatasetField = 'INCIDENCIAS_ACTIVAS'
+ TableField = 'INCIDENCIAS_ACTIVAS'
+ end
+ item
+ DatasetField = 'OBSERVACIONES'
+ TableField = 'OBSERVACIONES'
+ end
+ item
+ DatasetField = 'NOMBRE'
+ TableField = 'NOMBRE'
+ end
+ item
+ DatasetField = 'FECHA_ALTA'
+ TableField = 'FECHA_ALTA'
+ end
+ item
+ DatasetField = 'FECHA_MODIFICACION'
+ TableField = 'FECHA_MODIFICACION'
+ end
+ item
+ DatasetField = 'SITUACION'
+ TableField = 'SITUACION'
+ end
+ item
+ DatasetField = 'IMPORTE_NETO'
+ TableField = 'IMPORTE_NETO'
+ end
+ item
+ DatasetField = 'IMPORTE_PORTE'
+ TableField = 'IMPORTE_PORTE'
+ end
+ item
+ DatasetField = 'DESCUENTO'
+ TableField = 'DESCUENTO'
+ end
+ item
+ DatasetField = 'IMPORTE_DESCUENTO'
+ TableField = 'IMPORTE_DESCUENTO'
+ end
+ item
+ DatasetField = 'BASE_IMPONIBLE'
+ TableField = 'BASE_IMPONIBLE'
+ end
+ item
+ DatasetField = 'IVA'
+ TableField = 'IVA'
+ end
+ item
+ DatasetField = 'IMPORTE_IVA'
+ TableField = 'IMPORTE_IVA'
+ end
+ item
+ DatasetField = 'ID_FORMA_PAGO'
+ TableField = 'ID_FORMA_PAGO'
+ end
+ item
+ DatasetField = 'REF_TIENDA_WEB'
+ TableField = 'REF_TIENDA_WEB'
+ end
+ item
+ DatasetField = 'FECHA_PREVISTA_ENVIO'
+ TableField = 'FECHA_PREVISTA_ENVIO'
+ end
+ item
+ DatasetField = 'REFERENCIA_CLIENTE'
+ TableField = 'REFERENCIA_CLIENTE'
+ end>
+ end>
+ Name = 'PedidosCliente'
+ Fields = <
+ item
+ Name = 'ID'
+ DataType = datAutoInc
+ GeneratorName = 'GEN_PEDIDOS_CLI_ID'
+ DictionaryEntry = 'PedidosCliente_ID'
+ InPrimaryKey = True
+ end
+ item
+ Name = 'ID_EMPRESA'
+ DataType = datInteger
+ DictionaryEntry = 'PedidosCliente_ID_EMPRESA'
+ end
+ item
+ Name = 'ID_CLIENTE'
+ DataType = datInteger
+ DictionaryEntry = 'PedidosCliente_ID_CLIENTE'
+ end
+ item
+ Name = 'NOMBRE'
+ DataType = datString
+ Size = 255
+ DictionaryEntry = 'PedidosCliente_NOMBRE'
+ end
+ item
+ Name = 'REFERENCIA'
+ DataType = datString
+ Size = 255
+ DictionaryEntry = 'PedidosCliente_REFERENCIA'
+ end
+ item
+ Name = 'REFERENCIA_CLIENTE'
+ DataType = datString
+ Size = 255
+ DictionaryEntry = 'PedidosCliente_REFERENCIA_CLIENTE'
+ end
+ item
+ Name = 'SITUACION'
+ DataType = datString
+ Size = 255
+ DictionaryEntry = 'PedidosCliente_SITUACION'
+ end
+ item
+ Name = 'FECHA_PEDIDO'
+ DataType = datDateTime
+ DictionaryEntry = 'PedidosCliente_FECHA_PEDIDO'
+ end
+ item
+ Name = 'CALLE'
+ DataType = datString
+ Size = 255
+ DictionaryEntry = 'PedidosCliente_CALLE'
+ end
+ item
+ Name = 'CODIGO_POSTAL'
+ DataType = datString
+ Size = 10
+ DictionaryEntry = 'PedidosCliente_CODIGO_POSTAL'
+ end
+ item
+ Name = 'POBLACION'
+ DataType = datString
+ Size = 255
+ DictionaryEntry = 'PedidosCliente_POBLACION'
+ end
+ item
+ Name = 'PROVINCIA'
+ DataType = datString
+ Size = 255
+ DictionaryEntry = 'PedidosCliente_PROVINCIA'
+ end
+ item
+ Name = 'PERSONA_CONTACTO'
+ DataType = datString
+ Size = 255
+ DictionaryEntry = 'PedidosCliente_PERSONA_CONTACTO'
+ end
+ item
+ Name = 'TELEFONO'
+ DataType = datString
+ Size = 25
+ DictionaryEntry = 'PedidosCliente_TELEFONO'
+ end
+ item
+ Name = 'OBSERVACIONES'
+ DataType = datMemo
+ DictionaryEntry = 'PedidosCliente_OBSERVACIONES'
+ end
+ item
+ Name = 'INCIDENCIAS'
+ DataType = datMemo
+ DictionaryEntry = 'PedidosCliente_INCIDENCIAS'
+ end
+ item
+ Name = 'INCIDENCIAS_ACTIVAS'
+ DataType = datInteger
+ DictionaryEntry = 'PedidosCliente_INCIDENCIAS_ACTIVAS'
+ end
+ item
+ Name = 'FECHA_ALTA'
+ DataType = datDateTime
+ DictionaryEntry = 'PedidosCliente_FECHA_ALTA'
+ end
+ item
+ Name = 'FECHA_MODIFICACION'
+ DataType = datDateTime
+ DictionaryEntry = 'PedidosCliente_FECHA_MODIFICACION'
+ end
+ item
+ Name = 'USUARIO'
+ DataType = datString
+ Size = 20
+ DictionaryEntry = 'PedidosCliente_USUARIO'
+ end
+ item
+ Name = 'IMPORTE_NETO'
+ DataType = datCurrency
+ DictionaryEntry = 'PedidosCliente_IMPORTE_NETO'
+ end
+ item
+ Name = 'IMPORTE_PORTE'
+ DataType = datCurrency
+ DictionaryEntry = 'PedidosCliente_IMPORTE_PORTE'
+ end
+ item
+ Name = 'DESCUENTO'
+ DataType = datFloat
+ DictionaryEntry = 'PedidosCliente_DESCUENTO'
+ end
+ item
+ Name = 'IMPORTE_DESCUENTO'
+ DataType = datCurrency
+ DictionaryEntry = 'PedidosCliente_IMPORTE_DESCUENTO'
+ end
+ item
+ Name = 'BASE_IMPONIBLE'
+ DataType = datCurrency
+ DictionaryEntry = 'PedidosCliente_BASE_IMPONIBLE'
+ end
+ item
+ Name = 'IVA'
+ DataType = datFloat
+ DictionaryEntry = 'PedidosCliente_IVA'
+ end
+ item
+ Name = 'IMPORTE_IVA'
+ DataType = datCurrency
+ DictionaryEntry = 'PedidosCliente_IMPORTE_IVA'
+ end
+ item
+ Name = 'IMPORTE_TOTAL'
+ DataType = datCurrency
+ DictionaryEntry = 'PedidosCliente_IMPORTE_TOTAL'
+ end
+ item
+ Name = 'ID_FORMA_PAGO'
+ DataType = datInteger
+ DictionaryEntry = 'PedidosCliente_ID_FORMA_PAGO'
+ end
+ item
+ Name = 'REF_TIENDA_WEB'
+ DataType = datInteger
+ DictionaryEntry = 'PedidosCliente_REF_TIENDA_WEB'
+ end
+ item
+ Name = 'FECHA_PREVISTA_ENVIO'
+ DataType = datDateTime
+ DictionaryEntry = 'PedidosCliente_FECHA_PREVISTA_ENVIO'
+ end>
+ end
+ item
+ Params = <>
+ Statements = <
+ item
+ Connection = 'IBX'
+ TargetTable = 'PEDIDOS_CLIENTE_DETALLES'
+ SQL =
+ 'SELECT PEDIDOS_CLIENTE_DETALLES.ID,'#10' PEDIDOS_CLIENTE_DETAL' +
+ 'LES.ID_PEDIDO,'#10' PEDIDOS_CLIENTE_DETALLES.POSICION,'#10' ' +
+ 'PEDIDOS_CLIENTE_DETALLES.TIPO_DETALLE,'#10' PEDIDOS_CLIENTE_DE' +
+ 'TALLES.ID_ARTICULO,'#10' ARTICULOS.REFERENCIA,'#10' ARTICULO' +
+ 'S.REFERENCIA_PROV as REFERENCIA_PROVEEDOR,'#10' PEDIDOS_CLIENT' +
+ 'E_DETALLES.CONCEPTO,'#10' PEDIDOS_CLIENTE_DETALLES.CANTIDAD,'#10' ' +
+ ' PEDIDOS_CLIENTE_DETALLES.IMPORTE_UNIDAD,'#10' PEDIDOS_CL' +
+ 'IENTE_DETALLES.DESCUENTO,'#10' PEDIDOS_CLIENTE_DETALLES.IMPORT' +
+ 'E_PORTE,'#10' PEDIDOS_CLIENTE_DETALLES.IMPORTE_TOTAL,'#10' P' +
+ 'EDIDOS_CLIENTE_DETALLES.VISIBLE'#10'FROM PEDIDOS_CLIENTE_DETALLES'#10' ' +
+ ' LEFT JOIN ARTICULOS ON PEDIDOS_CLIENTE_DETALLES.ID_ARTICULO =' +
+ ' ARTICULOS.ID'#10'WHERE {WHERE}'#10'ORDER BY POSICION;'#10
+ StatementType = stSQL
+ ColumnMappings = <
+ item
+ DatasetField = 'CANTIDAD'
+ TableField = 'CANTIDAD'
+ end
+ item
+ DatasetField = 'POSICION'
+ TableField = 'POSICION'
+ end
+ item
+ DatasetField = 'ID'
+ TableField = 'ID'
+ end
+ item
+ DatasetField = 'TIPO_DETALLE'
+ TableField = 'TIPO_DETALLE'
+ end
+ item
+ DatasetField = 'CONCEPTO'
+ TableField = 'CONCEPTO'
+ end
+ item
+ DatasetField = 'IMPORTE_UNIDAD'
+ TableField = 'IMPORTE_UNIDAD'
+ end
+ item
+ DatasetField = 'IMPORTE_TOTAL'
+ TableField = 'IMPORTE_TOTAL'
+ end
+ item
+ DatasetField = 'VISIBLE'
+ TableField = 'VISIBLE'
+ end
+ item
+ DatasetField = 'ID_PEDIDO'
+ TableField = 'ID_PEDIDO'
+ end
+ item
+ DatasetField = 'REFERENCIA'
+ TableField = 'REFERENCIA'
+ end
+ item
+ DatasetField = 'ID_ARTICULO'
+ TableField = 'ID_ARTICULO'
+ end
+ item
+ DatasetField = 'DESCUENTO'
+ TableField = 'DESCUENTO'
+ end
+ item
+ DatasetField = 'REFERENCIA_PROVEEDOR'
+ TableField = 'REFERENCIA_PROVEEDOR'
+ end
+ item
+ DatasetField = 'IMPORTE_PORTE'
+ TableField = 'IMPORTE_PORTE'
+ end>
+ end>
+ Name = 'PedidosCliente_Detalles'
+ Fields = <
+ item
+ Name = 'ID'
+ DataType = datAutoInc
+ DictionaryEntry = 'PedidosCliente_Detalles_ID'
+ InPrimaryKey = True
+ end
+ item
+ Name = 'ID_PEDIDO'
+ DataType = datInteger
+ DictionaryEntry = 'PedidosCliente_Detalles_ID_PEDIDO'
+ end
+ item
+ Name = 'POSICION'
+ DataType = datInteger
+ DictionaryEntry = 'POSICIONCONCEPTO'
+ end
+ item
+ Name = 'TIPO_DETALLE'
+ DataType = datString
+ Size = 10
+ DictionaryEntry = 'PedidosCliente_Detalles_TIPO_DETALLE'
+ end
+ item
+ Name = 'REFERENCIA'
+ DataType = datString
+ Size = 255
+ DictionaryEntry = 'PedidosCliente_Detalles_REFERENCIA'
+ end
+ item
+ Name = 'ID_ARTICULO'
+ DataType = datInteger
+ DictionaryEntry = 'PedidosCliente_Detalles_ID_ARTICULO'
+ end
+ item
+ Name = 'CONCEPTO'
+ DataType = datString
+ Size = 2000
+ DictionaryEntry = 'PedidosCliente_Detalles_CONCEPTO'
+ end
+ item
+ Name = 'CANTIDAD'
+ DataType = datInteger
+ DictionaryEntry = 'CANTIDAD'
+ end
+ item
+ Name = 'IMPORTE_UNIDAD'
+ DataType = datCurrency
+ DictionaryEntry = 'PedidosCliente_Detalles_IMPORTE_UNIDAD'
+ end
+ item
+ Name = 'IMPORTE_TOTAL'
+ DataType = datCurrency
+ DictionaryEntry = 'PedidosCliente_Detalles_IMPORTE_TOTAL'
+ end
+ item
+ Name = 'DESCUENTO'
+ DataType = datFloat
+ DictionaryEntry = 'PedidosCliente_Detalles_DESCUENTO'
+ end
+ item
+ Name = 'IMPORTE_PORTE'
+ DataType = datCurrency
+ DictionaryEntry = 'PedidosCliente_Detalles_IMPORTE_PORTE'
+ end
+ item
+ Name = 'VISIBLE'
+ DataType = datInteger
+ DictionaryEntry = 'PedidosCliente_Detalles_VISIBLE'
+ end
+ item
+ Name = 'REFERENCIA_PROVEEDOR'
+ DataType = datString
+ Size = 255
+ DictionaryEntry = 'PedidosCliente_Detalles_REFERENCIA_PROVEEDOR'
+ end>
+ end
+ item
+ Params = <
+ item
+ Name = 'ID'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end>
+ Statements = <
+ item
+ Connection = 'IBX'
+ TargetTable = 'PEDIDOS_CLIENTE'
+ SQL =
+ 'SELECT ID,'#10' ID_EMPRESA,'#10' ID_CLIENTE,'#10' NOMBRE,'#10 +
+ ' REFERENCIA,'#10' REFERENCIA_CLIENTE,'#10' SITUACION,'#10 +
+ ' FECHA_PEDIDO,'#10' CALLE,'#10' CODIGO_POSTAL,'#10' ' +
+ 'POBLACION,'#10' PROVINCIA,'#10' PERSONA_CONTACTO,'#10' TEL' +
+ 'EFONO,'#10' OBSERVACIONES,'#10' INCIDENCIAS,'#10' INCIDENC' +
+ 'IAS_ACTIVAS,'#10' FECHA_ALTA,'#10' FECHA_MODIFICACION,'#10' ' +
+ ' USUARIO,'#10' IMPORTE_NETO,'#10' IMPORTE_PORTE,'#10' DES' +
+ 'CUENTO,'#10' IMPORTE_DESCUENTO,'#10' BASE_IMPONIBLE,'#10' ' +
+ 'IVA,'#10' IMPORTE_IVA,'#10' IMPORTE_TOTAL,'#10' ID_FORMA_P' +
+ 'AGO,'#10' REF_TIENDA_WEB,'#10' FECHA_PREVISTA_ENVIO'#10'FROM V_P' +
+ 'EDIDOS_CLIENTE'#10'WHERE'#10' ID = :ID'
+ StatementType = stSQL
+ ColumnMappings = <
+ item
+ DatasetField = 'ID'
+ TableField = 'ID'
+ end
+ item
+ DatasetField = 'ID_EMPRESA'
+ TableField = 'ID_EMPRESA'
+ end
+ item
+ DatasetField = 'ID_CLIENTE'
+ TableField = 'ID_CLIENTE'
+ end
+ item
+ DatasetField = 'USUARIO'
+ TableField = 'USUARIO'
+ end
+ item
+ DatasetField = 'FECHA_PEDIDO'
+ TableField = 'FECHA_PEDIDO'
+ end
+ item
+ DatasetField = 'CALLE'
+ TableField = 'CALLE'
+ end
+ item
+ DatasetField = 'CODIGO_POSTAL'
+ TableField = 'CODIGO_POSTAL'
+ end
+ item
+ DatasetField = 'POBLACION'
+ TableField = 'POBLACION'
+ end
+ item
+ DatasetField = 'PROVINCIA'
+ TableField = 'PROVINCIA'
+ end
+ item
+ DatasetField = 'PERSONA_CONTACTO'
+ TableField = 'PERSONA_CONTACTO'
+ end
+ item
+ DatasetField = 'TELEFONO'
+ TableField = 'TELEFONO'
+ end
+ item
+ DatasetField = 'REFERENCIA'
+ TableField = 'REFERENCIA'
+ end
+ item
+ DatasetField = 'IMPORTE_TOTAL'
+ TableField = 'IMPORTE_TOTAL'
+ end
+ item
+ DatasetField = 'INCIDENCIAS'
+ TableField = 'INCIDENCIAS'
+ end
+ item
+ DatasetField = 'INCIDENCIAS_ACTIVAS'
+ TableField = 'INCIDENCIAS_ACTIVAS'
+ end
+ item
+ DatasetField = 'OBSERVACIONES'
+ TableField = 'OBSERVACIONES'
+ end
+ item
+ DatasetField = 'NOMBRE'
+ TableField = 'NOMBRE'
+ end
+ item
+ DatasetField = 'FECHA_ALTA'
+ TableField = 'FECHA_ALTA'
+ end
+ item
+ DatasetField = 'FECHA_MODIFICACION'
+ TableField = 'FECHA_MODIFICACION'
+ end
+ item
+ DatasetField = 'SITUACION'
+ TableField = 'SITUACION'
+ end
+ item
+ DatasetField = 'IMPORTE_NETO'
+ TableField = 'IMPORTE_NETO'
+ end
+ item
+ DatasetField = 'IMPORTE_PORTE'
+ TableField = 'IMPORTE_PORTE'
+ end
+ item
+ DatasetField = 'DESCUENTO'
+ TableField = 'DESCUENTO'
+ end
+ item
+ DatasetField = 'IMPORTE_DESCUENTO'
+ TableField = 'IMPORTE_DESCUENTO'
+ end
+ item
+ DatasetField = 'BASE_IMPONIBLE'
+ TableField = 'BASE_IMPONIBLE'
+ end
+ item
+ DatasetField = 'IVA'
+ TableField = 'IVA'
+ end
+ item
+ DatasetField = 'IMPORTE_IVA'
+ TableField = 'IMPORTE_IVA'
+ end
+ item
+ DatasetField = 'ID_FORMA_PAGO'
+ TableField = 'ID_FORMA_PAGO'
+ end
+ item
+ DatasetField = 'REF_TIENDA_WEB'
+ TableField = 'REF_TIENDA_WEB'
+ end
+ item
+ DatasetField = 'FECHA_PREVISTA_ENVIO'
+ TableField = 'FECHA_PREVISTA_ENVIO'
+ end
+ item
+ DatasetField = 'REFERENCIA_CLIENTE'
+ TableField = 'REFERENCIA_CLIENTE'
+ end>
+ end>
+ Name = 'PedidosCliente_Refresh'
+ Fields = <
+ item
+ Name = 'ID'
+ DataType = datAutoInc
+ GeneratorName = 'GEN_PEDIDOS_CLI_ID'
+ DictionaryEntry = 'PedidosCliente_ID'
+ InPrimaryKey = True
+ end
+ item
+ Name = 'ID_EMPRESA'
+ DataType = datInteger
+ DictionaryEntry = 'PedidosCliente_ID_EMPRESA'
+ end
+ item
+ Name = 'ID_CLIENTE'
+ DataType = datInteger
+ DictionaryEntry = 'PedidosCliente_ID_CLIENTE'
+ end
+ item
+ Name = 'NOMBRE'
+ DataType = datString
+ Size = 255
+ DictionaryEntry = 'PedidosCliente_NOMBRE'
+ end
+ item
+ Name = 'REFERENCIA'
+ DataType = datString
+ Size = 255
+ DisplayLabel = 'Referencia'
+ end
+ item
+ Name = 'REFERENCIA_CLIENTE'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'SITUACION'
+ DataType = datString
+ Size = 255
+ DisplayLabel = 'Situaci'#243'n'
+ ServerAutoRefresh = True
+ end
+ item
+ Name = 'FECHA_PEDIDO'
+ DataType = datDateTime
+ DictionaryEntry = 'PedidosCliente_FECHA_PEDIDO'
+ end
+ item
+ Name = 'CALLE'
+ DataType = datString
+ Size = 255
+ DictionaryEntry = 'PedidosCliente_CALLE'
+ end
+ item
+ Name = 'CODIGO_POSTAL'
+ DataType = datString
+ Size = 10
+ DictionaryEntry = 'PedidosCliente_CODIGO_POSTAL'
+ end
+ item
+ Name = 'POBLACION'
+ DataType = datString
+ Size = 255
+ DictionaryEntry = 'PedidosCliente_POBLACION'
+ end
+ item
+ Name = 'PROVINCIA'
+ DataType = datString
+ Size = 255
+ DictionaryEntry = 'PedidosCliente_PROVINCIA'
+ end
+ item
+ Name = 'PERSONA_CONTACTO'
+ DataType = datString
+ Size = 255
+ DictionaryEntry = 'PedidosCliente_PERSONA_CONTACTO'
+ end
+ item
+ Name = 'TELEFONO'
+ DataType = datString
+ Size = 25
+ DictionaryEntry = 'PedidosCliente_TELEFONO'
+ end
+ item
+ Name = 'OBSERVACIONES'
+ DataType = datMemo
+ DictionaryEntry = 'PedidosCliente_OBSERVACIONES'
+ end
+ item
+ Name = 'INCIDENCIAS'
+ DataType = datMemo
+ DictionaryEntry = 'PedidosCliente_INCIDENCIAS'
+ end
+ item
+ Name = 'INCIDENCIAS_ACTIVAS'
+ DataType = datInteger
+ DictionaryEntry = 'PedidosCliente_INCIDENCIAS_ACTIVAS'
+ end
+ item
+ Name = 'FECHA_ALTA'
+ DataType = datDateTime
+ DictionaryEntry = 'PedidosCliente_FECHA_ALTA'
+ end
+ item
+ Name = 'FECHA_MODIFICACION'
+ DataType = datDateTime
+ DictionaryEntry = 'PedidosCliente_FECHA_MODIFICACION'
+ end
+ item
+ Name = 'USUARIO'
+ DataType = datString
+ Size = 20
+ DictionaryEntry = 'PedidosCliente_USUARIO'
+ end
+ item
+ Name = 'IMPORTE_NETO'
+ DataType = datCurrency
+ DictionaryEntry = 'PedidosCliente_IMPORTE_NETO'
+ end
+ item
+ Name = 'IMPORTE_PORTE'
+ DataType = datCurrency
+ DictionaryEntry = 'PedidosCliente_IMPORTE_PORTE'
+ end
+ item
+ Name = 'DESCUENTO'
+ DataType = datFloat
+ DictionaryEntry = 'PedidosCliente_DESCUENTO'
+ end
+ item
+ Name = 'IMPORTE_DESCUENTO'
+ DataType = datCurrency
+ DictionaryEntry = 'PedidosCliente_IMPORTE_DESCUENTO'
+ end
+ item
+ Name = 'BASE_IMPONIBLE'
+ DataType = datCurrency
+ DictionaryEntry = 'PedidosCliente_BASE_IMPONIBLE'
+ end
+ item
+ Name = 'IVA'
+ DataType = datFloat
+ DictionaryEntry = 'PedidosCliente_IVA'
+ end
+ item
+ Name = 'IMPORTE_IVA'
+ DataType = datCurrency
+ DictionaryEntry = 'PedidosCliente_IMPORTE_IVA'
+ end
+ item
+ Name = 'IMPORTE_TOTAL'
+ DataType = datCurrency
+ DictionaryEntry = 'PedidosCliente_IMPORTE_TOTAL'
+ end
+ item
+ Name = 'ID_FORMA_PAGO'
+ DataType = datInteger
+ DictionaryEntry = 'PedidosCliente_ID_FORMA_PAGO'
+ end
+ item
+ Name = 'REF_TIENDA_WEB'
+ DataType = datInteger
+ end
+ item
+ Name = 'FECHA_PREVISTA_ENVIO'
+ DataType = datDateTime
+ DictionaryEntry = 'PedidosCliente_FECHA_PREVISTA_ENVIO'
+ end>
+ end
+ item
+ Params = <
+ item
+ Name = 'ID_PEDIDO'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'ID'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end>
+ Statements = <
+ item
+ Connection = 'IBX'
+ TargetTable = 'PEDIDOS_CLIENTE_DETALLES'
+ SQL =
+ 'SELECT PEDIDOS_CLIENTE_DETALLES.ID,'#10' PEDIDOS_CLIENTE_DETAL' +
+ 'LES.ID_PEDIDO,'#10' PEDIDOS_CLIENTE_DETALLES.POSICION,'#10' ' +
+ 'PEDIDOS_CLIENTE_DETALLES.TIPO_DETALLE,'#10' PEDIDOS_CLIENTE_DE' +
+ 'TALLES.ID_ARTICULO,'#10' ARTICULOS.REFERENCIA,'#10' ARTICULO' +
+ 'S.REFERENCIA_PROV as REFERENCIA_PROVEEDOR,'#10' PEDIDOS_CLIENT' +
+ 'E_DETALLES.CONCEPTO,'#10' PEDIDOS_CLIENTE_DETALLES.CANTIDAD,'#10' ' +
+ ' PEDIDOS_CLIENTE_DETALLES.IMPORTE_UNIDAD,'#10' PEDIDOS_CL' +
+ 'IENTE_DETALLES.DESCUENTO,'#10' PEDIDOS_CLIENTE_DETALLES.IMPORT' +
+ 'E_PORTE,'#10' PEDIDOS_CLIENTE_DETALLES.IMPORTE_TOTAL,'#10' P' +
+ 'EDIDOS_CLIENTE_DETALLES.VISIBLE'#10'FROM PEDIDOS_CLIENTE_DETALLES'#10' ' +
+ ' LEFT JOIN ARTICULOS ON PEDIDOS_CLIENTE_DETALLES.ID_ARTICULO =' +
+ ' ARTICULOS.ID'#10'WHERE'#10' PEDIDOS_CLIENTE_DETALLES.ID_PEDIDO = :I' +
+ 'D_PEDIDO'#10' AND PEDIDOS_CLIENTE_DETALLES.ID = :ID'#10'ORDER BY POSICIO' +
+ 'N;'
+ StatementType = stSQL
+ ColumnMappings = <
+ item
+ DatasetField = 'CANTIDAD'
+ TableField = 'CANTIDAD'
+ end
+ item
+ DatasetField = 'POSICION'
+ TableField = 'POSICION'
+ end
+ item
+ DatasetField = 'ID'
+ TableField = 'ID'
+ end
+ item
+ DatasetField = 'TIPO_DETALLE'
+ TableField = 'TIPO_DETALLE'
+ end
+ item
+ DatasetField = 'CONCEPTO'
+ TableField = 'CONCEPTO'
+ end
+ item
+ DatasetField = 'IMPORTE_UNIDAD'
+ TableField = 'IMPORTE_UNIDAD'
+ end
+ item
+ DatasetField = 'IMPORTE_TOTAL'
+ TableField = 'IMPORTE_TOTAL'
+ end
+ item
+ DatasetField = 'VISIBLE'
+ TableField = 'VISIBLE'
+ end
+ item
+ DatasetField = 'ID_PEDIDO'
+ TableField = 'ID_PEDIDO'
+ end
+ item
+ DatasetField = 'REFERENCIA'
+ TableField = 'REFERENCIA'
+ end
+ item
+ DatasetField = 'ID_ARTICULO'
+ TableField = 'ID_ARTICULO'
+ end
+ item
+ DatasetField = 'DESCUENTO'
+ TableField = 'DESCUENTO'
+ end
+ item
+ DatasetField = 'REFERENCIA_PROVEEDOR'
+ TableField = 'REFERENCIA_PROVEEDOR'
+ end
+ item
+ DatasetField = 'IMPORTE_PORTE'
+ TableField = 'IMPORTE_PORTE'
+ end>
+ end>
+ Name = 'PedidosCliente_Detalles_Refresh'
+ Fields = <
+ item
+ Name = 'ID'
+ DataType = datAutoInc
+ DictionaryEntry = 'PedidosCliente_Detalles_ID'
+ InPrimaryKey = True
+ end
+ item
+ Name = 'ID_PEDIDO'
+ DataType = datInteger
+ DictionaryEntry = 'PedidosCliente_Detalles_ID_PEDIDO'
+ end
+ item
+ Name = 'POSICION'
+ DataType = datInteger
+ DictionaryEntry = 'POSICIONCONCEPTO'
+ end
+ item
+ Name = 'TIPO_DETALLE'
+ DataType = datString
+ Size = 10
+ DictionaryEntry = 'PedidosCliente_Detalles_TIPO_DETALLE'
+ end
+ item
+ Name = 'REFERENCIA'
+ DataType = datString
+ Size = 255
+ DictionaryEntry = 'PedidosCliente_Detalles_REFERENCIA'
+ end
+ item
+ Name = 'ID_ARTICULO'
+ DataType = datInteger
+ DictionaryEntry = 'PedidosCliente_Detalles_ID_ARTICULO'
+ end
+ item
+ Name = 'CONCEPTO'
+ DataType = datString
+ Size = 2000
+ DictionaryEntry = 'PedidosCliente_Detalles_CONCEPTO'
+ end
+ item
+ Name = 'CANTIDAD'
+ DataType = datInteger
+ DictionaryEntry = 'CANTIDAD'
+ end
+ item
+ Name = 'IMPORTE_UNIDAD'
+ DataType = datCurrency
+ DictionaryEntry = 'PedidosCliente_Detalles_IMPORTE_UNIDAD'
+ end
+ item
+ Name = 'IMPORTE_TOTAL'
+ DataType = datCurrency
+ DictionaryEntry = 'PedidosCliente_Detalles_IMPORTE_TOTAL'
+ end
+ item
+ Name = 'DESCUENTO'
+ DataType = datFloat
+ DictionaryEntry = 'PedidosCliente_Detalles_DESCUENTO'
+ end
+ item
+ Name = 'IMPORTE_PORTE'
+ DataType = datCurrency
+ DictionaryEntry = 'PedidosCliente_Detalles_IMPORTE_PORTE'
+ end
+ item
+ Name = 'VISIBLE'
+ DataType = datInteger
+ DictionaryEntry = 'PedidosCliente_Detalles_VISIBLE'
+ end
+ item
+ Name = 'REFERENCIA_PROVEEDOR'
+ DataType = datString
+ Size = 255
+ DictionaryEntry = 'PedidosCliente_Detalles_REFERENCIA_PROVEEDOR'
+ end>
+ end
+ item
+ Params = <
+ item
+ Name = 'ID_PEDIDO'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end>
+ Statements = <
+ item
+ Connection = 'IBX'
+ TargetTable = 'V_PED_CLI_ARTICULOS'
+ SQL =
+ 'SELECT ID_ARTICULO,'#10' CANTIDAD_PEDIDA AS CANTIDAD_PED,'#10' ' +
+ ' CANTIDAD_RESERVADA + CANTIDAD_ENVIADA + CANTIDAD_SERVIDA AS C' +
+ 'ANTIDAD_ALB,'#10' CANTIDAD_PENDIENTE'#10'FROM V_PED_CLI_ARTICULOS'#10 +
+ 'WHERE ID_PEDIDO = :ID_PEDIDO AND'#10' CANTIDAD_PENDIENTE > 0'
+ StatementType = stSQL
+ ColumnMappings = <
+ item
+ DatasetField = 'ID_ARTICULO'
+ TableField = 'ID_ARTICULO'
+ end
+ item
+ DatasetField = 'CANTIDAD_PED'
+ TableField = 'CANTIDAD_PED'
+ end
+ item
+ DatasetField = 'CANTIDAD_ALB'
+ TableField = 'CANTIDAD_ALB'
+ end
+ item
+ DatasetField = 'CANTIDAD_PENDIENTE'
+ TableField = 'CANTIDAD_PENDIENTE'
+ end>
+ end>
+ Name = 'PedidoCliente_Articulos_Pendientes'
+ Fields = <
+ item
+ Name = 'ID_ARTICULO'
+ DataType = datInteger
+ DictionaryEntry = 'PedidoCliente_Articulos_Pendientes_ID_ARTICULO'
+ InPrimaryKey = True
+ end
+ item
+ Name = 'CANTIDAD_PED'
+ DataType = datInteger
+ DictionaryEntry = 'PedidoCliente_Articulos_Pendientes_CANTIDAD_PED'
+ end
+ item
+ Name = 'CANTIDAD_ALB'
+ DataType = datInteger
+ DictionaryEntry = 'PedidoCliente_Articulos_Pendientes_CANTIDAD_ALB'
+ end
+ item
+ Name = 'CANTIDAD_PENDIENTE'
+ DataType = datInteger
+ DictionaryEntry = 'PedidoCliente_Articulos_Pendientes_CANTIDAD_PENDIENTE'
+ end>
+ end>
+ JoinDataTables = <>
+ UnionDataTables = <>
+ Commands = <
+ item
+ Params = <
+ item
+ Name = 'VALOR'
+ DataType = datString
+ Size = 255
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'CODIGO'
+ DataType = datString
+ Size = 50
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'ID_EMPRESA'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end>
+ Statements = <
+ item
+ Connection = 'IBX'
+ TargetTable = 'REFERENCIAS'
+ SQL =
+ 'UPDATE REFERENCIAS SET'#10' VALOR = :VALOR'#10'WHERE CODIGO = :COD' +
+ 'IGO AND'#10' ID_EMPRESA = :ID_EMPRESA'
+ StatementType = stSQL
+ ColumnMappings = <>
+ end>
+ Name = 'ModificarReferencia'
+ end
+ item
+ Params = <
+ item
+ Name = 'CANTIDAD'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'POSICION'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'ID'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'TIPO_DETALLE'
+ DataType = datString
+ Size = 10
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'CONCEPTO'
+ DataType = datString
+ Size = 2000
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'IMPORTE_UNIDAD'
+ DataType = datFloat
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'IMPORTE_TOTAL'
+ DataType = datFloat
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'VISIBLE'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'ID_PEDIDO'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'ID_ARTICULO'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'DESCUENTO'
+ DataType = datFloat
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'IMPORTE_PORTE'
+ DataType = datFloat
+ Value = ''
+ ParamType = daptInput
+ end>
+ Statements = <
+ item
+ Connection = 'IBX'
+ TargetTable = 'PEDIDOS_CLIENTE_DETALLES'
+ SQL =
+ 'INSERT'#10' INTO PEDIDOS_CLIENTE_DETALLES'#10' (CANTIDAD, POSICION, ' +
+ 'ID, TIPO_DETALLE, CONCEPTO, IMPORTE_UNIDAD, '#10' IMPORTE_TOTAL,' +
+ ' VISIBLE, ID_PEDIDO,'#10' ID_ARTICULO, DESCUENTO, IMPORTE_PORTE)' +
+ #10' VALUES'#10' (:CANTIDAD, :POSICION, :ID, :TIPO_DETALLE, :CONCEP' +
+ 'TO, '#10' :IMPORTE_UNIDAD, :IMPORTE_TOTAL, :VISIBLE, :ID_PEDIDO,' +
+ ' '#10' :ID_ARTICULO, :DESCUENTO, :IMPORTE_PORTE)'
+ StatementType = stSQL
+ ColumnMappings = <>
+ end>
+ Name = 'Insert_PedidosCliente_Detalles'
+ end
+ item
+ Params = <
+ item
+ Name = 'OLD_ID'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end>
+ Statements = <
+ item
+ Connection = 'IBX'
+ TargetTable = 'PEDIDOS_CLIENTE_DETALLES'
+ SQL =
+ 'DELETE '#10' FROM'#10' PEDIDOS_CLIENTE_DETALLES'#10' WHERE'#10' (ID = :O' +
+ 'LD_ID)'
+ StatementType = stSQL
+ ColumnMappings = <>
+ end>
+ Name = 'Delete_PedidosCliente_Detalles'
+ end
+ item
+ Params = <
+ item
+ Name = 'CANTIDAD'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'POSICION'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'ID'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'TIPO_DETALLE'
+ DataType = datString
+ Size = 10
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'CONCEPTO'
+ DataType = datString
+ Size = 2000
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'IMPORTE_UNIDAD'
+ DataType = datFloat
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'IMPORTE_TOTAL'
+ DataType = datFloat
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'VISIBLE'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'ID_PEDIDO'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'ID_ARTICULO'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'DESCUENTO'
+ DataType = datFloat
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'IMPORTE_PORTE'
+ DataType = datFloat
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'OLD_ID'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end>
+ Statements = <
+ item
+ Connection = 'IBX'
+ TargetTable = 'PEDIDOS_CLIENTE_DETALLES'
+ SQL =
+ 'UPDATE PEDIDOS_CLIENTE_DETALLES'#10' SET '#10' CANTIDAD = :CANTIDAD,' +
+ ' '#10' POSICION = :POSICION, '#10' ID = :ID, '#10' TIPO_DETALLE = :' +
+ 'TIPO_DETALLE, '#10' CONCEPTO = :CONCEPTO, '#10' IMPORTE_UNIDAD = :' +
+ 'IMPORTE_UNIDAD, '#10' IMPORTE_TOTAL = :IMPORTE_TOTAL, '#10' VISIBL' +
+ 'E = :VISIBLE, '#10' ID_PEDIDO = :ID_PEDIDO, '#10' ID_ARTICULO = :I' +
+ 'D_ARTICULO,'#10' DESCUENTO = :DESCUENTO,'#10' IMPORTE_PORTE = :IMP' +
+ 'ORTE_PORTE'#10' WHERE'#10' (ID = :OLD_ID)'
+ StatementType = stSQL
+ ColumnMappings = <>
+ end>
+ Name = 'Update_PedidosCliente_Detalles'
+ end
+ item
+ Params = <
+ item
+ Name = 'ID'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'ID_EMPRESA'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'ID_CLIENTE'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'USUARIO'
+ DataType = datString
+ Size = 20
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'FECHA_PEDIDO'
+ DataType = datDateTime
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'CALLE'
+ DataType = datString
+ Size = 255
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'CODIGO_POSTAL'
+ DataType = datString
+ Size = 10
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'POBLACION'
+ DataType = datString
+ Size = 255
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'PROVINCIA'
+ DataType = datString
+ Size = 255
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'PERSONA_CONTACTO'
+ DataType = datString
+ Size = 255
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'TELEFONO'
+ DataType = datString
+ Size = 25
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'REFERENCIA'
+ DataType = datString
+ Size = 255
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'REFERENCIA_CLIENTE'
+ DataType = datString
+ Size = 255
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'IMPORTE_TOTAL'
+ DataType = datFloat
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'INCIDENCIAS'
+ DataType = datMemo
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'INCIDENCIAS_ACTIVAS'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'OBSERVACIONES'
+ DataType = datMemo
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'FECHA_ALTA'
+ DataType = datDateTime
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'FECHA_MODIFICACION'
+ DataType = datDateTime
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'IMPORTE_NETO'
+ DataType = datFloat
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'IMPORTE_PORTE'
+ DataType = datFloat
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'DESCUENTO'
+ DataType = datFloat
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'IMPORTE_DESCUENTO'
+ DataType = datFloat
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'BASE_IMPONIBLE'
+ DataType = datFloat
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'IVA'
+ DataType = datFloat
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'IMPORTE_IVA'
+ DataType = datFloat
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'ID_FORMA_PAGO'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'REF_TIENDA_WEB'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'FECHA_PREVISTA_ENVIO'
+ DataType = datDateTime
+ Value = ''
+ ParamType = daptInput
+ end>
+ Statements = <
+ item
+ Connection = 'IBX'
+ TargetTable = 'PEDIDOS_CLIENTE'
+ SQL =
+ 'INSERT'#10' INTO PEDIDOS_CLIENTE'#10' (ID, ID_EMPRESA, ID_CLIENTE, U' +
+ 'SUARIO, FECHA_PEDIDO, '#10' CALLE, CODIGO_POSTAL, POBLACION, PRO' +
+ 'VINCIA, PERSONA_CONTACTO, '#10' TELEFONO, REFERENCIA, REFERENCIA' +
+ '_CLIENTE, IMPORTE_TOTAL, INCIDENCIAS,'#10' INCIDENCIAS_ACTIVAS, ' +
+ 'OBSERVACIONES, FECHA_ALTA, FECHA_MODIFICACION,'#10' IMPORTE_NETO' +
+ ', IMPORTE_PORTE, DESCUENTO,'#10' IMPORTE_DESCUENTO, BASE_IMPONIB' +
+ 'LE, IVA, IMPORTE_IVA, '#10' ID_FORMA_PAGO, REF_TIENDA_WEB, FECHA' +
+ '_PREVISTA_ENVIO)'#10' VALUES'#10' (:ID, :ID_EMPRESA, :ID_CLIENTE, :U' +
+ 'SUARIO, :FECHA_PEDIDO, '#10' :CALLE, :CODIGO_POSTAL, :POBLACION,' +
+ ' :PROVINCIA, :PERSONA_CONTACTO, '#10' :TELEFONO, :REFERENCIA, :R' +
+ 'EFERENCIA_CLIENTE, :IMPORTE_TOTAL, :INCIDENCIAS,'#10' :INCIDENCI' +
+ 'AS_ACTIVAS, :OBSERVACIONES, :FECHA_ALTA,'#10' :FECHA_MODIFICACIO' +
+ 'N, :IMPORTE_NETO, :IMPORTE_PORTE,'#10' :DESCUENTO, :IMPORTE_DESC' +
+ 'UENTO, :BASE_IMPONIBLE, :IVA, '#10' :IMPORTE_IVA, :ID_FORMA_PAGO' +
+ ', :REF_TIENDA_WEB, :FECHA_PREVISTA_ENVIO)'
+ StatementType = stSQL
+ ColumnMappings = <>
+ end>
+ Name = 'Insert_PedidosCliente'
+ end
+ item
+ Params = <
+ item
+ Name = 'OLD_ID'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end>
+ Statements = <
+ item
+ Connection = 'IBX'
+ TargetTable = 'PEDIDOS_CLIENTE'
+ SQL = 'DELETE '#10' FROM'#10' PEDIDOS_CLIENTE'#10' WHERE'#10' (ID = :OLD_ID)'
+ StatementType = stSQL
+ ColumnMappings = <>
+ end>
+ Name = 'Delete_PedidosCliente'
+ end
+ item
+ Params = <
+ item
+ Name = 'ID_EMPRESA'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'ID_CLIENTE'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'USUARIO'
+ DataType = datString
+ Size = 20
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'FECHA_PEDIDO'
+ DataType = datDateTime
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'CALLE'
+ DataType = datString
+ Size = 255
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'CODIGO_POSTAL'
+ DataType = datString
+ Size = 10
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'POBLACION'
+ DataType = datString
+ Size = 255
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'PROVINCIA'
+ DataType = datString
+ Size = 255
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'PERSONA_CONTACTO'
+ DataType = datString
+ Size = 255
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'TELEFONO'
+ DataType = datString
+ Size = 25
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'REFERENCIA'
+ DataType = datString
+ Size = 255
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'REFERENCIA_CLIENTE'
+ DataType = datString
+ Size = 255
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'IMPORTE_TOTAL'
+ DataType = datFloat
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'INCIDENCIAS'
+ DataType = datMemo
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'INCIDENCIAS_ACTIVAS'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'OBSERVACIONES'
+ DataType = datMemo
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'FECHA_ALTA'
+ DataType = datDateTime
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'FECHA_MODIFICACION'
+ DataType = datDateTime
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'IMPORTE_NETO'
+ DataType = datFloat
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'IMPORTE_PORTE'
+ DataType = datFloat
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'DESCUENTO'
+ DataType = datFloat
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'IMPORTE_DESCUENTO'
+ DataType = datFloat
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'BASE_IMPONIBLE'
+ DataType = datFloat
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'IVA'
+ DataType = datFloat
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'IMPORTE_IVA'
+ DataType = datFloat
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'ID_FORMA_PAGO'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'REF_TIENDA_WEB'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'FECHA_PREVISTA_ENVIO'
+ DataType = datDateTime
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'OLD_ID'
+ DataType = datInteger
+ Value = ''
+ ParamType = daptInput
+ end>
+ Statements = <
+ item
+ Connection = 'IBX'
+ TargetTable = 'PEDIDOS_CLIENTE'
+ SQL =
+ 'UPDATE PEDIDOS_CLIENTE'#10' SET '#10' ID_EMPRESA = :ID_EMPRESA,'#10' ' +
+ 'ID_CLIENTE = :ID_CLIENTE, '#10' USUARIO = :USUARIO, '#10' FECHA_PE' +
+ 'DIDO = :FECHA_PEDIDO, '#10' CALLE = :CALLE, '#10' CODIGO_POSTAL = ' +
+ ':CODIGO_POSTAL, '#10' POBLACION = :POBLACION, '#10' PROVINCIA = :P' +
+ 'ROVINCIA, '#10' PERSONA_CONTACTO = :PERSONA_CONTACTO, '#10' TELEFO' +
+ 'NO = :TELEFONO, '#10' REFERENCIA = :REFERENCIA, '#10' REFERENCIA_C' +
+ 'LIENTE = :REFERENCIA_CLIENTE,'#10' IMPORTE_TOTAL = :IMPORTE_TOTAL' +
+ ', '#10' INCIDENCIAS = :INCIDENCIAS, '#10' INCIDENCIAS_ACTIVAS = :I' +
+ 'NCIDENCIAS_ACTIVAS, '#10' OBSERVACIONES = :OBSERVACIONES, '#10' FE' +
+ 'CHA_ALTA = :FECHA_ALTA,'#10' FECHA_MODIFICACION = :FECHA_MODIFICA' +
+ 'CION,'#10' IMPORTE_NETO = :IMPORTE_NETO,'#10' IMPORTE_PORTE = :IMP' +
+ 'ORTE_PORTE, '#10' DESCUENTO = :DESCUENTO, '#10' IMPORTE_DESCUENTO ' +
+ '= :IMPORTE_DESCUENTO, '#10' BASE_IMPONIBLE = :BASE_IMPONIBLE, '#10' ' +
+ ' IVA = :IVA, '#10' IMPORTE_IVA = :IMPORTE_IVA, '#10' ID_FORMA_PAG' +
+ 'O = :ID_FORMA_PAGO,'#10' REF_TIENDA_WEB = :REF_TIENDA_WEB,'#10' FE' +
+ 'CHA_PREVISTA_ENVIO = :FECHA_PREVISTA_ENVIO'#10' WHERE'#10' (ID = :OL' +
+ 'D_ID)'
+ StatementType = stSQL
+ ColumnMappings = <>
+ end>
+ Name = 'Update_PedidosCliente'
+ end>
+ RelationShips = <
+ item
+ Name = 'FK_PedidosCliente_Detalles'
+ MasterDatasetName = 'PedidosCliente'
+ MasterFields = 'ID'
+ DetailDatasetName = 'PedidosCliente_Detalles'
+ DetailFields = 'ID_PEDIDO'
+ RelationshipType = rtForeignKey
+ end>
+ UpdateRules = <
+ item
+ Name = 'Insert PedidosCliente'
+ DoUpdate = False
+ DoDelete = False
+ DatasetName = 'PedidosCliente'
+ FailureBehavior = fbRaiseException
+ end
+ item
+ Name = 'Insert PedidosCliente_Detalles'
+ DoUpdate = False
+ DoDelete = False
+ DatasetName = 'PedidosCliente_Detalles'
+ FailureBehavior = fbRaiseException
+ end
+ item
+ Name = 'Update PedidosCliente'
+ DoInsert = False
+ DoDelete = False
+ DatasetName = 'PedidosCliente'
+ FailureBehavior = fbRaiseException
+ end
+ item
+ Name = 'Update PedidosCliente_Detalles'
+ DoInsert = False
+ DoDelete = False
+ DatasetName = 'PedidosCliente_Detalles'
+ FailureBehavior = fbRaiseException
+ end
+ item
+ Name = 'Delete PedidosCliente_Detalles'
+ DoUpdate = False
+ DoInsert = False
+ DatasetName = 'PedidosCliente_Detalles'
+ FailureBehavior = fbRaiseException
+ end
+ item
+ Name = 'Delete PedidosCliente'
+ DoUpdate = False
+ DoInsert = False
+ DatasetName = 'PedidosCliente'
+ FailureBehavior = fbRaiseException
+ end>
+ Version = 0
+ Left = 48
+ Top = 24
+ end
+ object bpPedidosCliente: TDABusinessProcessor
+ Schema = schPedidosCliente
+ InsertCommandName = 'Insert_PedidosCliente'
+ DeleteCommandName = 'Delete_PedidosCliente'
+ UpdateCommandName = 'Update_PedidosCliente'
+ RefreshDatasetName = 'PedidosCliente_Refresh'
+ ReferencedDataset = 'PedidosCliente'
+ ProcessorOptions = [poPrepareCommands]
+ UpdateMode = updWhereKeyOnly
+ Left = 192
+ Top = 24
+ end
+ object bpPedidosCliente_Detalles: TDABusinessProcessor
+ Schema = schPedidosCliente
+ InsertCommandName = 'Insert_PedidosCliente_Detalles'
+ DeleteCommandName = 'Delete_PedidosCliente_Detalles'
+ UpdateCommandName = 'Update_PedidosCliente_Detalles'
+ RefreshDatasetName = 'PedidosCliente_Detalles_Refresh'
+ ReferencedDataset = 'PedidosCliente_Detalles'
+ ProcessorOptions = [poPrepareCommands]
+ UpdateMode = updWhereKeyOnly
+ Left = 192
+ Top = 80
+ end
+ object DADataDictionary: TDADataDictionary
+ Fields = <
+ item
+ Name = 'PedidosCliente_ID'
+ DataType = datAutoInc
+ GeneratorName = 'GEN_PEDIDOS_CLI_ID'
+ DisplayLabel = 'ID'
+ end
+ item
+ Name = 'PedidosCliente_ID_EMPRESA'
+ DataType = datInteger
+ DisplayLabel = 'ID_EMPRESA'
+ end
+ item
+ Name = 'PedidosCliente_ID_CLIENTE'
+ DataType = datInteger
+ DisplayLabel = 'ID_CLIENTE'
+ end
+ item
+ Name = 'PedidosCliente_NOMBRE'
+ DataType = datString
+ Size = 255
+ DisplayLabel = 'Nombre del cliente'
+ end
+ item
+ Name = 'PedidosCliente_FECHA_PEDIDO'
+ DataType = datDateTime
+ DisplayLabel = 'Fecha pedido'
+ end
+ item
+ Name = 'PedidosCliente_CALLE'
+ DataType = datString
+ Size = 255
+ DisplayLabel = 'Calle'
+ end
+ item
+ Name = 'PedidosCliente_CODIGO_POSTAL'
+ DataType = datString
+ Size = 10
+ DisplayLabel = 'C'#243'd. postal'
+ end
+ item
+ Name = 'PedidosCliente_POBLACION'
+ DataType = datString
+ Size = 255
+ DisplayLabel = 'Poblaci'#243'n'
+ end
+ item
+ Name = 'PedidosCliente_PROVINCIA'
+ DataType = datString
+ Size = 255
+ DisplayLabel = 'Provincia'
+ end
+ item
+ Name = 'PedidosCliente_PERSONA_CONTACTO'
+ DataType = datString
+ Size = 255
+ DisplayLabel = 'Persona de contacto'
+ end
+ item
+ Name = 'PedidosCliente_TELEFONO'
+ DataType = datString
+ Size = 25
+ DisplayLabel = 'Tel'#233'fono'
+ end
+ item
+ Name = 'PedidosCliente_OBSERVACIONES'
+ DataType = datMemo
+ DisplayLabel = 'Observaciones'
+ end
+ item
+ Name = 'PedidosCliente_INCIDENCIAS'
+ DataType = datMemo
+ DisplayLabel = 'INCIDENCIAS'
+ end
+ item
+ Name = 'PedidosCliente_INCIDENCIAS_ACTIVAS'
+ DataType = datInteger
+ DisplayLabel = 'INCIDENCIAS_ACTIVAS'
+ end
+ item
+ Name = 'PedidosCliente_FECHA_ALTA'
+ DataType = datDateTime
+ DisplayLabel = 'FECHA_ALTA'
+ end
+ item
+ Name = 'PedidosCliente_FECHA_MODIFICACION'
+ DataType = datDateTime
+ DisplayLabel = 'FECHA_MODIFICACION'
+ end
+ item
+ Name = 'PedidosCliente_USUARIO'
+ DataType = datString
+ Size = 20
+ DisplayLabel = 'USUARIO'
+ end
+ item
+ Name = 'PedidosCliente_IMPORTE_NETO'
+ DataType = datCurrency
+ DisplayLabel = 'Importe neto'
+ Alignment = taRightJustify
+ end
+ item
+ Name = 'PedidosCliente_IMPORTE_PORTE'
+ DataType = datCurrency
+ DisplayLabel = 'Importe del porte'
+ Alignment = taRightJustify
+ end
+ item
+ Name = 'PedidosCliente_DESCUENTO'
+ DataType = datFloat
+ DisplayLabel = 'Descuento'
+ DisplayFormat = ',0.00 %;-,0.00 %'
+ Alignment = taRightJustify
+ end
+ item
+ Name = 'PedidosCliente_IMPORTE_DESCUENTO'
+ DataType = datCurrency
+ DisplayLabel = 'Importe dto.'
+ Alignment = taRightJustify
+ end
+ item
+ Name = 'PedidosCliente_BASE_IMPONIBLE'
+ DataType = datCurrency
+ DisplayLabel = 'Base imponible'
+ Alignment = taRightJustify
+ end
+ item
+ Name = 'PedidosCliente_IVA'
+ DataType = datFloat
+ DisplayLabel = 'IVA'
+ DisplayFormat = ',0.00 %;-,0.00 %'
+ Alignment = taRightJustify
+ end
+ item
+ Name = 'PedidosCliente_IMPORTE_IVA'
+ DataType = datCurrency
+ DisplayLabel = 'Importe IVA'
+ Alignment = taRightJustify
+ end
+ item
+ Name = 'PedidosCliente_IMPORTE_TOTAL'
+ DataType = datCurrency
+ DisplayLabel = 'Importe total'
+ Alignment = taRightJustify
+ end
+ item
+ Name = 'PedidosCliente_ID_FORMA_PAGO'
+ DataType = datInteger
+ DisplayLabel = 'ID_FORMA_PAGO'
+ end
+ item
+ Name = 'PedidosCliente_Detalles_ID'
+ DataType = datAutoInc
+ Required = True
+ DisplayLabel = 'ID'
+ end
+ item
+ Name = 'PedidosCliente_Detalles_ID_PEDIDO'
+ DataType = datInteger
+ DisplayLabel = 'ID_PEDIDO'
+ end
+ item
+ Name = 'POSICIONCONCEPTO'
+ DataType = datInteger
+ DisplayLabel = 'POSICION'
+ end
+ item
+ Name = 'PedidosCliente_Detalles_TIPO_DETALLE'
+ DataType = datString
+ Size = 10
+ DisplayLabel = 'TIPO_DETALLE'
+ end
+ item
+ Name = 'PedidosCliente_Detalles_REFERENCIA'
+ DataType = datString
+ Size = 255
+ DisplayLabel = 'Referencia'
+ end
+ item
+ Name = 'PedidosCliente_Detalles_ID_ARTICULO'
+ DataType = datInteger
+ DisplayLabel = 'ID_ARTICULO'
+ end
+ item
+ Name = 'PedidosCliente_Detalles_CONCEPTO'
+ DataType = datString
+ Size = 2000
+ DisplayLabel = 'CONCEPTO'
+ end
+ item
+ Name = 'CANTIDAD'
+ DataType = datInteger
+ Alignment = taRightJustify
+ end
+ item
+ Name = 'PedidosCliente_Detalles_IMPORTE_UNIDAD'
+ DataType = datCurrency
+ DisplayLabel = 'Importe unidad'
+ Alignment = taRightJustify
+ end
+ item
+ Name = 'PedidosCliente_Detalles_IMPORTE_TOTAL'
+ DataType = datCurrency
+ DisplayLabel = 'Importe total'
+ Alignment = taRightJustify
+ end
+ item
+ Name = 'PedidosCliente_Detalles_DESCUENTO'
+ DataType = datFloat
+ DisplayLabel = 'Descuento'
+ DisplayFormat = ',0.00 %;-,0.00 %'
+ Alignment = taRightJustify
+ end
+ item
+ Name = 'PedidosCliente_Detalles_IMPORTE_PORTE'
+ DataType = datCurrency
+ DisplayLabel = 'Importe porte'
+ Alignment = taRightJustify
+ end
+ item
+ Name = 'PedidosCliente_Detalles_VISIBLE'
+ DataType = datInteger
+ DisplayLabel = 'VISIBLE'
+ end
+ item
+ Name = 'PedidosCliente_Detalles_REFERENCIA_PROVEEDOR'
+ DataType = datString
+ Size = 255
+ DisplayLabel = 'Ref. proveedor'
+ end
+ item
+ Name = 'PedidoCliente_Articulos_Pendientes_ID_ARTICULO'
+ DataType = datInteger
+ DisplayLabel = 'ID_ARTICULO'
+ end
+ item
+ Name = 'PedidoCliente_Articulos_Pendientes_CANTIDAD_PED'
+ DataType = datInteger
+ DisplayLabel = 'Cantidad en pedido'
+ Alignment = taRightJustify
+ end
+ item
+ Name = 'PedidoCliente_Articulos_Pendientes_CANTIDAD_ALB'
+ DataType = datInteger
+ DisplayLabel = 'Cantidad en albaranes'
+ Alignment = taRightJustify
+ end
+ item
+ Name = 'PedidoCliente_Articulos_Pendientes_CANTIDAD_PENDIENTE'
+ DataType = datInteger
+ DisplayLabel = 'Cantidad pendiente'
+ Alignment = taRightJustify
+ end
+ item
+ Name = 'DarArticulosPendientesPedirAProv_ID_PEDIDO'
+ DataType = datAutoInc
+ DisplayLabel = 'ID_PEDIDO'
+ end
+ item
+ Name = 'DarArticulosPendientesPedirAProv_ID_ARTICULO'
+ DataType = datInteger
+ DisplayLabel = 'ID_ARTICULO'
+ end
+ item
+ Name = 'DarArticulosPendientesPedirAProv_CANT_PEDIDA_CLIENTE'
+ DataType = datInteger
+ DisplayLabel = 'Cant. pedida por cliente'
+ end
+ item
+ Name = 'DarArticulosPendientesPedirAProv_ID_PROVEEDOR'
+ DataType = datInteger
+ DisplayLabel = 'ID_PROVEEDOR'
+ end
+ item
+ Name = 'DarArticulosPendientesPedirAProv_CANT_PEDIDA_PROVEEDOR'
+ DataType = datInteger
+ DisplayLabel = 'Cant. pedida a proveedor'
+ end
+ item
+ Name = 'DarArticulosPendientesPedirAProv_CANT_PENDIENTE_PEDIR'
+ DataType = datInteger
+ DisplayLabel = 'Cant. pendiente pedir'
+ end
+ item
+ Name = 'PedidosCliente_FECHA_PREVISTA_ENVIO'
+ DataType = datDateTime
+ DisplayLabel = 'Fecha de entrega prevista'
+ end
+ item
+ Name = 'PedidosCliente_REFERENCIA'
+ DataType = datString
+ Size = 255
+ DisplayLabel = 'Referencia'
+ ServerAutoRefresh = True
+ end
+ item
+ Name = 'PedidosCliente_REFERENCIA_CLIENTE'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'PedidosCliente_SITUACION'
+ DataType = datString
+ Size = 255
+ DisplayLabel = 'Situaci'#243'n'
+ ServerAutoRefresh = True
+ end
+ item
+ Name = 'PedidosCliente_REF_TIENDA_WEB'
+ DataType = datInteger
+ DisplayLabel = 'REF_TIENDA_WEB'
+ end>
+ Left = 48
+ Top = 152
+ end
+ object Bin2DataStreamer: TDABin2DataStreamer
+ Left = 48
+ Top = 80
+ end
+end
diff --git a/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.pas b/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.pas
new file mode 100644
index 00000000..5979a2c6
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.pas
@@ -0,0 +1,112 @@
+unit srvPresupuestosCliente_Impl;
+
+{----------------------------------------------------------------------------}
+{ This unit was automatically generated by the RemObjects SDK after reading }
+{ the RODL file associated with this project . }
+{ }
+{ This is where you are supposed to code the implementation of your objects. }
+{----------------------------------------------------------------------------}
+
+interface
+
+uses
+ {vcl:} Classes, SysUtils,
+ {RemObjects:} uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions,
+ {Ancestor Implementation:} DataAbstractService_Impl,
+ {Used RODLs:} DataAbstract4_Intf,
+ {Generated:} FactuGES_Intf, uDADataTable, uDABINAdapter, uDAClasses,
+ uDAInterfaces, uDAScriptingProvider,
+ uDABusinessProcessor, uDADataStreamer, uDABin2DataStreamer;
+
+{
+
+ uDACDSDataTable, uDAInterfaces, DB,
+ frxClass, frxDBSet, frxDCtrl, frxDMPExport, frxGradient,
+ frxChBox, frxCross, frxRich, frxChart, frxOLE, frxBarcode, uDADataStreamer,
+ uDABin2DataStreamer;
+}
+
+type
+ { TsrvPedidosProveedor }
+ TsrvPresupuestosCliente = class(TDataAbstractService, IsrvPresupuestosCliente)
+ bpPedidosCliente: TDABusinessProcessor;
+ bpPedidosCliente_Detalles: TDABusinessProcessor;
+ Bin2DataStreamer: TDABin2DataStreamer;
+ schPedidosCliente: TDASchema;
+ DADataDictionary: TDADataDictionary;
+ procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject;
+ var aConnectionName: string);
+ procedure DARemoteServiceBeforeGetDatasetData(const Dataset: IDADataset;
+ const IncludeSchema: Boolean; const MaxRecords: Integer);
+ procedure DARemoteServiceCreate(Sender: TObject);
+ private
+ protected
+ { IsrvPedidosProveedor methods }
+ function GetNextAutoInc(const GeneratorName: String): Integer;
+ function GenerateReport(const ID: String): Binary;
+ end;
+
+implementation
+
+{$R *.dfm}
+uses
+ Dialogs,
+ {Generated:} FactuGES_Invk, uDataModuleServer, uDatabaseUtils,
+ schPedidosClienteClient_Intf, uRestriccionesUsuarioUtils,
+// uRptPedidosCliente_Server,
+ uBizPresupuestosClienteServer;
+
+procedure Create_srvPresupuestosCliente(out anInstance : IUnknown);
+begin
+ anInstance := TsrvPresupuestosCliente.Create(NIL);
+end;
+
+{ srvPedidosProveedor }
+
+procedure TsrvPresupuestosCliente.DARemoteServiceBeforeGetDatasetData(
+ const Dataset: IDADataset; const IncludeSchema: Boolean;
+ const MaxRecords: Integer);
+begin
+ if DataSet.Name = nme_PedidosCliente then
+ begin
+ { Aquí se asegura que el usuario sólo accede a pedidos
+ de las empresas a las que tiene permiso para acceder
+ filtrando DataSet por ID_EMPRESA. }
+ FiltrarAccesoUsuario(Session, Connection, schPedidosCliente, DataSet, fld_PedidosClienteID_EMPRESA);
+ end;
+end;
+
+procedure TsrvPresupuestosCliente.DARemoteServiceCreate(Sender: TObject);
+begin
+ SessionManager := dmServer.SessionManager;
+ bpPedidosCliente.BusinessRulesID := BIZ_SERVER_PEDIDOS_CLIENTE;
+end;
+
+procedure TsrvPresupuestosCliente.DataAbstractServiceBeforeAcquireConnection(aSender: TObject; var aConnectionName: string);
+begin
+ ConnectionName := dmServer.ConnectionName;
+end;
+
+function TsrvPresupuestosCliente.GenerateReport(const ID: String): Binary;
+//var
+// AReportGenerator : TRptPedidosCliente;
+begin
+// AReportGenerator := TRptPedidosCliente.Create(nil);
+// try
+// Result := AReportGenerator.GenerarPedido(ID);
+// finally
+// FreeAndNIL(AReportGenerator);
+// end;
+end;
+
+function TsrvPresupuestosCliente.GetNextAutoInc(const GeneratorName: String): Integer;
+begin
+ Result := uDatabaseUtils.GetNextAutoInc(GeneratorName)
+end;
+
+initialization
+ TROClassFactory.Create('srvPresupuestosCliente', Create_srvPresupuestosCliente, TsrvPresupuestosCliente_Invoker);
+
+finalization
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Test/Presupuestos_Test.bdsproj b/Source/Modulos/Presupuestos de cliente/Test/Presupuestos_Test.bdsproj
new file mode 100644
index 00000000..c5dacc4d
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Test/Presupuestos_Test.bdsproj
@@ -0,0 +1,496 @@
+
+
+
+
+
+
+
+
+
+
+
+ Presupuestos_Test.dpr
+
+
+ 7.0
+
+
+ 8
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ True
+ True
+ WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+
+ False
+
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ False
+ False
+ False
+ True
+ True
+ True
+ True
+ True
+ True
+
+
+
+ 3
+ 0
+ False
+ 1
+ False
+ False
+ False
+ 16384
+ 1048576
+ 4194304
+
+
+
+ ..\..\..\Output\Cliente
+ .\
+
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ DataAbstract_D10;base;GUIBase;ClassRegistry;Empresas_controller;Presupuestos_model;presupuestos_data;presupuestos_controller;presupuestos_view;presupuestos_plugin
+ _CONSOLE_TESTRUNNER;EUREKALOG;EUREKALOG_VER5
+
+ True
+
+
+
+
+
+ False
+
+
+ True
+ False
+
+
+
+ $00000000
+
+
+
+ True
+ False
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ False
+ False
+ 3082
+ 1252
+
+
+
+
+ 1.0.0.0
+ Presupuestos_Test
+
+
+
+ Presupuestos_Test
+ 1.0.0.0
+
+
+
+
+ DUnit / Delphi Win32
+ GUI
+
+
+
diff --git a/Source/Modulos/Presupuestos de cliente/Test/Presupuestos_Test.dpr b/Source/Modulos/Presupuestos de cliente/Test/Presupuestos_Test.dpr
new file mode 100644
index 00000000..5b596879
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Test/Presupuestos_Test.dpr
@@ -0,0 +1,40 @@
+program Presupuestos_Test;
+{
+
+ Delphi DUnit Test Project
+ -------------------------
+ This project contains the DUnit test framework and the GUI/Console test runners.
+ Add "CONSOLE_TESTRUNNER" to the conditional defines entry in the project options
+ to use the console test runner. Otherwise the GUI test runner will be used by
+ default.
+
+}
+
+{$IFDEF CONSOLE_TESTRUNNER}
+{$APPTYPE CONSOLE}
+{$ENDIF}
+
+uses
+ ExceptionLog,
+ Forms,
+ TestFramework,
+ GUITestRunner,
+ TextTestRunner,
+ uPresupuestosViewRegister,
+ uContactosViewRegister,
+ uPluginPresupuestos_Test in 'uPluginPresupuestos_Test.pas',
+ uHostMainForm in 'uHostMainForm.pas' {HostMainForm},
+ uPresupuestosController_Test in 'uPresupuestosController_Test.pas',
+ uDataModulePresupuestos_Test in 'uDataModulePresupuestos_Test.pas';
+
+{$R *.RES}
+
+begin
+ Application.Initialize;
+ Application.CreateForm(THostMainForm, HostMainForm);
+ uPresupuestosViewRegister.RegisterViews;
+ uContactosViewRegister.RegisterViews;
+ Application.Run;
+ Application.Terminate;
+end.
+
diff --git a/Source/Modulos/Presupuestos de cliente/Test/Presupuestos_Test.drc b/Source/Modulos/Presupuestos de cliente/Test/Presupuestos_Test.drc
new file mode 100644
index 00000000..7642ac97
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Test/Presupuestos_Test.drc
@@ -0,0 +1,14 @@
+/* VER180
+ Generated by the Borland Delphi Pascal Compiler
+ because -GD or --drc was supplied to the compiler.
+
+ This file contains compiler-generated resources that
+ were bound to the executable.
+ If this file is empty, then no compiler-generated
+ resources were bound to the produced executable.
+*/
+
+STRINGTABLE
+BEGIN
+END
+
diff --git a/Source/Modulos/Presupuestos de cliente/Test/Presupuestos_Test.res b/Source/Modulos/Presupuestos de cliente/Test/Presupuestos_Test.res
new file mode 100644
index 00000000..37a3dbd7
Binary files /dev/null and b/Source/Modulos/Presupuestos de cliente/Test/Presupuestos_Test.res differ
diff --git a/Source/Modulos/Presupuestos de cliente/Test/uDataModulePresupuestos_Test.pas b/Source/Modulos/Presupuestos de cliente/Test/uDataModulePresupuestos_Test.pas
new file mode 100644
index 00000000..b054a7ca
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Test/uDataModulePresupuestos_Test.pas
@@ -0,0 +1,98 @@
+unit uDataModulePresupuestos_Test;
+{
+
+ Delphi DUnit Test Case
+ ----------------------
+ This unit contains a skeleton test case class generated by the Test Case Wizard.
+ Modify the generated code to correctly setup and call the methods from the unit
+ being tested.
+
+}
+
+interface
+
+uses
+ TestFramework, uROBinMessage, uROServiceComponent, uDAClientDataModule,
+ uDACDSDataTable, uDADataTable, uBizDetallesPresupuesto, uBizPresupuestos, Classes, DB,
+ uDAScriptingProvider, SysUtils, uIDataModulePresupuestos, uROWinInetHttpChannel,
+ uROClient, uDABINAdapter, uRORemoteService, DBClient, uDataModulePresupuestos;
+type
+ // Test methods for class TDataModulePresupuestos
+
+ TestTDataModulePresupuestos = class(TTestCase)
+ strict private
+ FDataModulePresupuestos: TDataModulePresupuestos;
+ public
+ procedure SetUp; override;
+ procedure TearDown; override;
+ published
+ procedure TestDAClientDataModuleCreate;
+ procedure Test_CloneDataTable;
+ procedure TestGetDetalles;
+ procedure TestGetItems;
+ procedure TestGetNextID;
+ end;
+
+implementation
+
+procedure TestTDataModulePresupuestos.SetUp;
+begin
+ FDataModulePresupuestos := TDataModulePresupuestos.Create(Nil);
+end;
+
+procedure TestTDataModulePresupuestos.TearDown;
+begin
+ FDataModulePresupuestos.Free;
+ FDataModulePresupuestos := nil;
+end;
+
+procedure TestTDataModulePresupuestos.TestDAClientDataModuleCreate;
+var
+ Sender: TObject;
+begin
+ // TODO: Setup method call parameters
+ FDataModulePresupuestos.DAClientDataModuleCreate(Sender);
+ // TODO: Validate method results
+end;
+
+procedure TestTDataModulePresupuestos.Test_CloneDataTable;
+var
+ ReturnValue: TDACDSDataTable;
+ ADataTable: TDACDSDataTable;
+begin
+ // TODO: Setup method call parameters
+ ReturnValue := FDataModulePresupuestos._CloneDataTable(ADataTable);
+ // TODO: Validate method results
+end;
+
+procedure TestTDataModulePresupuestos.TestGetDetalles;
+var
+ ReturnValue: IBizDetallesPresupuesto;
+begin
+// ReturnValue := FDataModulePresupuestos.GetDetalles;
+ // TODO: Validate method results
+end;
+
+procedure TestTDataModulePresupuestos.TestGetItems;
+var
+ ReturnValue: IBizPresupuesto;
+begin
+ ReturnValue := FDataModulePresupuestos.GetItems;
+ // TODO: Validate method results
+end;
+
+procedure TestTDataModulePresupuestos.TestGetNextID;
+var
+ ReturnValue: Integer;
+ DataSetName: string;
+begin
+ // TODO: Setup method call parameters
+ ReturnValue := FDataModulePresupuestos.GetNextID(DataSetName);
+ // TODO: Validate method results
+end;
+
+initialization
+ // Register any test cases with the test runner
+ RegisterTest(TestTDataModulePresupuestos.Suite);
+end.
+
diff --git a/Source/Modulos/Presupuestos de cliente/Test/uHostMainForm.dfm b/Source/Modulos/Presupuestos de cliente/Test/uHostMainForm.dfm
new file mode 100644
index 00000000..1de986c4
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Test/uHostMainForm.dfm
@@ -0,0 +1,28 @@
+object HostMainForm: THostMainForm
+ Left = 0
+ Top = 0
+ Caption = 'HostMainForm'
+ ClientHeight = 598
+ ClientWidth = 690
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ OldCreateOrder = False
+ Position = poScreenCenter
+ OnCloseQuery = FormCloseQuery
+ OnShow = FormShow
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 690
+ Height = 598
+ Align = alClient
+ BevelOuter = bvNone
+ TabOrder = 0
+ end
+end
diff --git a/Source/Modulos/Presupuestos de cliente/Test/uHostMainForm.pas b/Source/Modulos/Presupuestos de cliente/Test/uHostMainForm.pas
new file mode 100644
index 00000000..50f4b46e
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Test/uHostMainForm.pas
@@ -0,0 +1,116 @@
+unit uHostMainForm;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, uGUIBase, ExtCtrls, uCustomEditor, cxControls;
+
+type
+ THostMainForm = class(TForm, IHostForm)
+ Panel1: TPanel;
+ procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
+ procedure FormShow(Sender: TObject);
+ protected
+ FContenido : TCustomEditor;
+ function GetWorkPanel: TWinControl;
+ procedure OnWorkPanelChanged(AEditor : ICustomEditor);
+ procedure ShowEmbedded(AEditor : ICustomEditor);
+ procedure ReleaseEmbedded;
+ public
+ constructor Create(AOwner: TComponent); override;
+ destructor Destroy; override;
+ property WorkPanel: TWinControl read GetWorkPanel;
+ end;
+
+var
+ HostMainForm: THostMainForm;
+
+implementation
+
+{$R *.dfm}
+
+uses
+ TestFramework, GUITestRunner, TextTestRunner;
+
+
+{ TForm1 }
+
+constructor THostMainForm.Create(AOwner: TComponent);
+begin
+ inherited;
+ FContenido := NIL;
+end;
+
+destructor THostMainForm.Destroy;
+begin
+ ReleaseEmbedded;
+ inherited;
+end;
+
+procedure THostMainForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
+begin
+ CanClose := True;
+ if Assigned(FContenido) then
+ CanClose := FContenido.CloseQuery;
+end;
+
+procedure THostMainForm.FormShow(Sender: TObject);
+begin
+ if IsConsole then
+ TextTestRunner.RunRegisteredTests
+ else
+ GUITestRunner.RunRegisteredTestsModeless;
+ Self.SendToBack;
+end;
+
+function THostMainForm.GetWorkPanel: TWinControl;
+begin
+ Result := Panel1;
+end;
+
+procedure THostMainForm.OnWorkPanelChanged(AEditor: ICustomEditor);
+begin
+ //
+end;
+
+procedure THostMainForm.ReleaseEmbedded;
+begin
+ if Assigned(FContenido) then
+ FContenido.Release;
+ Application.ProcessMessages;
+end;
+
+procedure THostMainForm.ShowEmbedded(AEditor: ICustomEditor);
+begin
+ if Assigned(FContenido) then
+ if not FContenido.CloseQuery then
+ begin
+ AEditor.Release;
+ AEditor := NIL;
+ Exit;
+ end;
+
+ ShowHourglassCursor;
+ LockWindowUpdate(Handle);
+ try
+ FContenido := AEditor.GetInstance as TCustomEditor;
+ with (FContenido) do
+ begin
+ Visible := False;
+ BorderIcons := [];
+ BorderStyle := bsNone;
+ Parent := WorkPanel;
+ FContenido.Show;
+ Align := alClient;
+ FContenido.SetFocus;
+ end;
+ finally
+ Application.ProcessMessages;
+ LockWindowUpdate(0);
+ HideHourglassCursor;
+ end;
+ OnWorkPanelChanged(FContenido);
+end;
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Test/uPluginPresupuestos_Test.pas b/Source/Modulos/Presupuestos de cliente/Test/uPluginPresupuestos_Test.pas
new file mode 100644
index 00000000..e8df46e1
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Test/uPluginPresupuestos_Test.pas
@@ -0,0 +1,56 @@
+unit uPluginPresupuestos_Test;
+{
+
+ Delphi DUnit Test Case
+ ----------------------
+ This unit contains a skeleton test case class generated by the Test Case Wizard.
+ Modify the generated code to correctly setup and call the methods from the unit
+ being tested.
+
+}
+
+interface
+
+uses
+ TestFramework, ActnList, uPluginPresupuestos, Classes, ImgList, uInterfaces,
+ uModuleController, uHostManager, PngImageList, Controls, Menus;
+type
+ // Test methods for class TPluginPresupuestos
+
+ TestTPluginPresupuestos = class(TTestCase)
+ strict private
+ FPluginPresupuestos: TPluginPresupuestos;
+ public
+ procedure SetUp; override;
+ procedure TearDown; override;
+ published
+ procedure TestactPresupuestosExecute;
+ end;
+
+implementation
+
+procedure TestTPluginPresupuestos.SetUp;
+begin
+ FPluginPresupuestos := TPluginPresupuestos.Create(Nil);
+end;
+
+procedure TestTPluginPresupuestos.TearDown;
+begin
+ FPluginPresupuestos.Free;
+ FPluginPresupuestos := nil;
+end;
+
+procedure TestTPluginPresupuestos.TestactPresupuestosExecute;
+var
+ Sender: TObject;
+begin
+ // TODO: Setup method call parameters
+// FPluginPresupuestos.actPresupuestosExecute(Sender);
+ // TODO: Validate method results
+end;
+
+initialization
+ // Register any test cases with the test runner
+ RegisterTest(TestTPluginPresupuestos.Suite);
+end.
+
diff --git a/Source/Modulos/Presupuestos de cliente/Test/uPresupuestosController_Test.pas b/Source/Modulos/Presupuestos de cliente/Test/uPresupuestosController_Test.pas
new file mode 100644
index 00000000..e5e483c4
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Test/uPresupuestosController_Test.pas
@@ -0,0 +1,85 @@
+unit uPresupuestosController_Test;
+{
+
+ Delphi DUnit Test Case
+ ----------------------
+ This unit contains a skeleton test case class generated by the Test Case Wizard.
+ Modify the generated code to correctly setup and call the methods from the unit
+ being tested.
+
+}
+
+interface
+
+uses
+ TestFramework, uBizPresupuestos, Classes, Contnrs, Windows,
+ Forms, SysUtils, Controls, uBizDetallesPresupuesto, uIDataModulePresupuestos,
+ uPresupuestosController;
+type
+ // Test methods for class TPresupuestosController
+
+ TestTPresupuestosController = class(TTestCase)
+ strict private
+ FPresupuestosController : IPresupuestosController;
+ public
+ procedure SetUp; override;
+ procedure TearDown; override;
+ published
+ procedure TestBuscarTodos;
+ procedure TestVerTodos;
+ procedure hola;
+ end;
+
+var
+ FPresupuestosController: IPresupuestosController;
+
+implementation
+
+uses dialogs;
+
+
+procedure TestTPresupuestosController.hola;
+begin
+ //
+end;
+
+procedure TestTPresupuestosController.SetUp;
+begin
+ FPresupuestosController := TPresupuestosController.Create;
+end;
+
+procedure TestTPresupuestosController.TearDown;
+begin
+ FPresupuestosController := Nil;
+end;
+
+procedure TestTPresupuestosController.TestBuscarTodos;
+var
+ ReturnValue: IBizPresupuesto;
+begin
+ ReturnValue := FPresupuestosController.BuscarTodos;
+
+ ReturnValue.DataTable.Open;
+ showmessage(IntToStr(ReturnValue.DataTable.RecordCount));
+end;
+
+procedure TestTPresupuestosController.TestVerTodos;
+var
+ APresupuestos: IBizPresupuesto;
+begin
+ APresupuestos := FPresupuestosController.BuscarTodos;
+ APresupuestos.DataTable.Open;
+ // TODO: Setup method call parameters
+ FPresupuestosController.VerTodos(APresupuestos);
+ // TODO: Validate method results
+end;
+
+initialization
+ // Register any test cases with the test runner
+ RegisterTest(TestTPresupuestosController.Suite);
+
+finalization
+
+
+end.
+
diff --git a/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.dpk b/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.dpk
new file mode 100644
index 00000000..2b9be747
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.dpk
@@ -0,0 +1,47 @@
+package PresupuestosCliente_view;
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$IMPLICITBUILD ON}
+
+requires
+ Base,
+ GUIBase,
+ PresupuestosCliente_model,
+ PresupuestosCliente_controller,
+ Articulos_view;
+
+contains
+ uPresupuestosClienteViewRegister in 'uPresupuestosClienteViewRegister.pas',
+ uEditorPresupuestosCliente in 'uEditorPresupuestosCliente.pas' {fEditorPresupuestosCliente: TfEditorPedidosCliente},
+ uViewPresupuestosCliente in 'uViewPresupuestosCliente.pas' {frViewPresupuestosCliente: TFrame},
+ uViewPresupuestoCliente in 'uViewPresupuestoCliente.pas' {frViewPresupuestoCliente: TFrame},
+ uEditorPresupuestoCliente in 'uEditorPresupuestoCliente.pas' {fEditorPresupuestoCliente: TfEditorPedidoCliente},
+ uViewDetallesPresupuestoCliente in 'uViewDetallesPresupuestoCliente.pas' {frViewDetallesPresupuestoCliente: TFrame},
+ uEditorElegirPresupuestosCliente in 'uEditorElegirPresupuestosCliente.pas' {fEditorElegirPresupuestosCliente: TfEditorElegirPedidosCliente},
+ uViewElegirArticulosPresupuestosCliente in 'uViewElegirArticulosPresupuestosCliente.pas' {frViewElegirArticulosPresupuestosCliente: TFrame},
+ uEditorElegirArticulosPresupuestoCliente in 'uEditorElegirArticulosPresupuestoCliente.pas' {fEditorElegirArticulosPresupuestoCliente: TfEditorElegirArticulosPedidoCliente},
+ uViewDireccionEntregaPresupuestoCliente in 'uViewDireccionEntregaPresupuestoCliente.pas' {frViewDireccionEntregaPresupuestoCliente: TFrame},
+ uEditorPresupuestosClienteReport in 'uEditorPresupuestosClienteReport.pas' {fEditorPresupuestosClientePreview: TfEditorPedidosClientePreview};
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.dproj b/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.dproj
new file mode 100644
index 00000000..921a3a86
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.dproj
@@ -0,0 +1,575 @@
+
+
+ {9e558626-cf49-4cff-a178-e12c186758ac}
+ PresupuestosCliente_view.dpk
+ Debug
+ AnyCPU
+ DCC32
+ ..\..\..\..\Output\Debug\Cliente\PresupuestosCliente_view.bpl
+
+
+ 7.0
+ False
+ False
+ 0
+ 3
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ RELEASE
+
+
+ 7.0
+ 3
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+
+
+ Delphi.Personality
+ Package
+
+FalseTrueFalseTrueFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0
+
+
+ Intraweb 8.0 Design Package for Borland Development Studio 2006
+ PresupuestosCliente_view.dpk
+
+
+
+
+ MainSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.drc b/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.drc
new file mode 100644
index 00000000..4e90e885
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.drc
@@ -0,0 +1,26 @@
+/* VER185
+ Generated by the CodeGear Delphi Pascal Compiler
+ because -GD or --drc was supplied to the compiler.
+
+ This file contains compiler-generated resources that
+ were bound to the executable.
+ If this file is empty, then no compiler-generated
+ resources were bound to the produced executable.
+*/
+
+STRINGTABLE
+BEGIN
+END
+
+/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Views\uViewPresupuestosCliente.dfm */
+/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Views\uEditorPresupuestosCliente.dfm */
+/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Views\uViewDireccionEntregaPresupuestoCliente.dfm */
+/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Views\uViewPresupuestoCliente.dfm */
+/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Views\uViewDetallesPresupuestoCliente.dfm */
+/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Views\uEditorPresupuestoCliente.dfm */
+/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Views\uEditorElegirPresupuestosCliente.dfm */
+/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Views\uViewElegirArticulosPresupuestosCliente.dfm */
+/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Views\uEditorElegirArticulosPresupuestoCliente.dfm */
+/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Views\uEditorPresupuestosClienteReport.dfm */
+/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Views\PresupuestosCliente_view.res */
+/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Views\PresupuestosCliente_view.drf */
diff --git a/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.res b/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.res
new file mode 100644
index 00000000..86c94e6a
Binary files /dev/null and b/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.res differ
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uEditorElegirArticulosPresupuestoCliente.dfm b/Source/Modulos/Presupuestos de cliente/Views/uEditorElegirArticulosPresupuestoCliente.dfm
new file mode 100644
index 00000000..3635b849
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Views/uEditorElegirArticulosPresupuestoCliente.dfm
@@ -0,0 +1,7 @@
+inherited fEditorElegirArticulosPresupuestoCliente: TfEditorElegirArticulosPresupuestoCliente
+ Caption = 'fEditorElegirArticulosPresupuestoCliente'
+ ExplicitWidth = 320
+ ExplicitHeight = 471
+ PixelsPerInch = 96
+ TextHeight = 13
+end
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uEditorElegirArticulosPresupuestoCliente.pas b/Source/Modulos/Presupuestos de cliente/Views/uEditorElegirArticulosPresupuestoCliente.pas
new file mode 100644
index 00000000..bd636526
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Views/uEditorElegirArticulosPresupuestoCliente.pas
@@ -0,0 +1,33 @@
+unit uEditorElegirArticulosPresupuestoCliente;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, uEditorElegirArticulos, Menus, DB, uDADataTable, JvAppStorage,
+ JvAppRegistryStorage, JvComponentBase, JvFormPlacement, ImgList, PngImageList,
+ StdActns, ActnList, uCustomView, uViewBase, uViewBarraSeleccion, ComCtrls,
+ JvExComCtrls, JvStatusBar, TBX, TB2ExtItems, TBXExtItems, TB2Item, TB2Dock,
+ TB2Toolbar, pngimage, ExtCtrls, JvExControls, JvComponent, JvNavigationPane,
+ JvgWizardHeader, uIEditorElegirArticulosPresupuestosCliente, uDAInterfaces;
+
+type
+ TfEditorElegirArticulosPresupuestoCliente = class(TfEditorElegirArticulos, IEditorElegirArticulosPresupuestosCliente)
+ protected
+ procedure AsignarVista; override;
+ end;
+
+
+implementation
+{$R *.dfm}
+
+uses uViewElegirArticulosPresupuestosCliente;
+
+{ TfEditorElegirArticulosPedidoCliente }
+
+procedure TfEditorElegirArticulosPresupuestoCliente.AsignarVista;
+begin
+ ViewGrid := CreateView(TfrViewElegirArticulosPresupuestosCliente) as IViewElegirArticulosPresupuestosCliente;
+end;
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uEditorElegirPresupuestosCliente.dfm b/Source/Modulos/Presupuestos de cliente/Views/uEditorElegirPresupuestosCliente.dfm
new file mode 100644
index 00000000..0086be15
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Views/uEditorElegirPresupuestosCliente.dfm
@@ -0,0 +1,207 @@
+inherited fEditorElegirPresupuestosCliente: TfEditorElegirPresupuestosCliente
+ Caption = 'Seleccionar pedido de cliente'
+ ClientWidth = 656
+ ExplicitWidth = 664
+ ExplicitHeight = 240
+ PixelsPerInch = 96
+ TextHeight = 13
+ object JvgWizardHeader1: TJvgWizardHeader [0]
+ Left = 0
+ Top = 27
+ Width = 656
+ Height = 60
+ CaptionFont.Charset = DEFAULT_CHARSET
+ CaptionFont.Color = clWindowText
+ CaptionFont.Height = -11
+ CaptionFont.Name = 'Tahoma'
+ CaptionFont.Style = [fsBold]
+ CommentFont.Charset = DEFAULT_CHARSET
+ CommentFont.Color = clWindowText
+ CommentFont.Height = -11
+ CommentFont.Name = 'Tahoma'
+ CommentFont.Style = []
+ SymbolFont.Charset = DEFAULT_CHARSET
+ SymbolFont.Color = clHighlightText
+ SymbolFont.Height = -35
+ SymbolFont.Name = 'Wingdings'
+ SymbolFont.Style = [fsBold]
+ Captions.Strings = (
+ 'Seleccione el pedido de cliente')
+ Comments.Strings = (
+ ' ')
+ Gradient.FromColor = clHighlight
+ Gradient.ToColor = clWindow
+ Gradient.Active = False
+ Gradient.Orientation = fgdVertical
+ BufferedDraw = False
+ ExplicitLeft = -8
+ ExplicitTop = 8
+ end
+ inherited JvNavPanelHeader: TJvNavPanelHeader
+ Width = 656
+ Visible = False
+ ExplicitWidth = 656
+ inherited Image1: TImage
+ Left = 629
+ ExplicitLeft = 629
+ end
+ end
+ inherited TBXDock: TTBXDock
+ Top = 87
+ Width = 656
+ ExplicitTop = 87
+ ExplicitWidth = 656
+ inherited tbxMain: TTBXToolbar
+ ExplicitWidth = 126
+ inherited TBXItem2: TTBXItem
+ Visible = False
+ end
+ inherited TBXItem5: TTBXItem
+ Visible = False
+ end
+ inherited TBXItem4: TTBXItem
+ Visible = False
+ end
+ inherited TBXSeparatorItem3: TTBXSeparatorItem
+ Visible = False
+ end
+ inherited TBXItem6: TTBXItem
+ Visible = False
+ end
+ inherited TBXItem36: TTBXItem
+ Action = actAnchoAuto2
+ end
+ end
+ inherited tbxFiltro: TTBXToolbar
+ Left = 126
+ Top = 23
+ DockPos = 104
+ DockRow = 1
+ ExplicitLeft = 126
+ ExplicitTop = 23
+ inherited TBXItem34: TTBXItem
+ Action = actQuitarFiltro2
+ end
+ end
+ inherited tbxMenu: TTBXToolbar
+ ExplicitWidth = 656
+ end
+ inherited TBXTMain2: TTBXToolbar
+ Left = 334
+ Visible = False
+ ExplicitLeft = 334
+ end
+ end
+ inherited StatusBar: TJvStatusBar
+ Width = 656
+ ExplicitWidth = 656
+ end
+ inline frViewBarraSeleccion1: TfrViewBarraSeleccion [4]
+ Left = 0
+ Top = 389
+ Width = 656
+ Height = 36
+ Align = alBottom
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 3
+ ReadOnly = False
+ ExplicitTop = 389
+ ExplicitWidth = 656
+ ExplicitHeight = 36
+ inherited JvFooter1: TJvFooter
+ Width = 656
+ Height = 36
+ ExplicitWidth = 656
+ ExplicitHeight = 36
+ inherited bSeleccionar: TJvFooterBtn
+ Left = 444
+ Top = 3
+ ExplicitLeft = 444
+ ExplicitTop = 3
+ end
+ inherited bCancelar: TJvFooterBtn
+ Left = 548
+ Top = 4
+ ExplicitLeft = 548
+ ExplicitTop = 4
+ end
+ end
+ inherited BarraSeleccionActionList: TActionList
+ inherited actSeleccionar: TAction
+ OnExecute = frViewBarraSeleccion1actSeleccionarExecute
+ OnUpdate = frViewBarraSeleccion1actSeleccionarUpdate
+ end
+ inherited actCancelar: TAction
+ OnExecute = frViewBarraSeleccion1actCancelarExecute
+ end
+ end
+ end
+ inherited EditorActionList: TActionList [8]
+ Left = 112
+ Top = 192
+ inherited actPrevisualizar: TAction
+ Visible = False
+ end
+ inherited actImprimir: TAction
+ Visible = False
+ end
+ inherited actDuplicar: TAction
+ Visible = False
+ end
+ inherited actGenerarAlbaranCli: TAction
+ Visible = False
+ end
+ inherited actGenerarPedidoProv: TAction
+ Visible = False
+ end
+ end
+ inherited JvAppRegistryStorage: TJvAppRegistryStorage [9]
+ end
+ inherited dsDataTable: TDADataSource [10]
+ Left = 8
+ Top = 192
+ end
+ inherited StatusBarImages: TPngImageList [11]
+ end
+ inherited GridPopupMenu: TPopupMenu [12]
+ Left = 80
+ Top = 192
+ inherited N4: TMenuItem
+ Visible = False
+ end
+ end
+ inherited JsGenerarDialog: TJSDialog [13]
+ end
+ inherited JsPrevisualizarDialog: TJSDialog [14]
+ end
+ inherited JsImprimirDialog: TJSDialog [15]
+ end
+ object EditorSeleccionActionList: TActionList
+ Images = SmallImages
+ Left = 152
+ Top = 192
+ object actBuscar2: TAction
+ Category = 'Buscar'
+ Caption = 'Buscar'
+ ImageIndex = 10
+ ShortCut = 114
+ end
+ object actQuitarFiltro2: TAction
+ Category = 'Buscar'
+ Caption = 'Quitar filtro y ver todo'
+ ImageIndex = 19
+ OnExecute = actQuitarFiltro2Execute
+ end
+ object actAnchoAuto2: TAction
+ Category = 'Ver'
+ Caption = 'Ancho autom'#225'tico'
+ ImageIndex = 21
+ OnExecute = actAnchoAuto2Execute
+ end
+ end
+end
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uEditorElegirPresupuestosCliente.pas b/Source/Modulos/Presupuestos de cliente/Views/uEditorElegirPresupuestosCliente.pas
new file mode 100644
index 00000000..b3bba106
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Views/uEditorElegirPresupuestosCliente.pas
@@ -0,0 +1,128 @@
+unit uEditorElegirPresupuestosCliente;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, DB, uDADataTable, Menus, JvAppStorage, JvAppRegistryStorage,
+ JvComponentBase, JvFormPlacement, ImgList, PngImageList, StdActns,
+ ActnList, uCustomView, uViewBase, uViewGridBase, uViewGrid,
+ uViewPresupuestosCliente, ComCtrls, TB2ExtItems, TBXExtItems, TBX,
+ TB2Item, TB2Dock, TB2Toolbar, pngimage, ExtCtrls, JvExControls, JvComponent,
+ JvNavigationPane, uViewBarraSeleccion, JvgWizardHeader, StdCtrls,
+ uEditorPresupuestosCliente, uBizPresupuestosCliente, uIEditorElegirPresupuestosCliente,
+ JvExComCtrls, JvStatusBar, JSDialog, uDAInterfaces;
+
+type
+ TfEditorElegirPresupuestosCliente = class(TfEditorPresupuestosCliente, IEditorElegirPresupuestosCliente)
+ frViewBarraSeleccion1: TfrViewBarraSeleccion;
+ JvgWizardHeader1: TJvgWizardHeader;
+ EditorSeleccionActionList: TActionList;
+ actBuscar2: TAction;
+ actQuitarFiltro2: TAction;
+ actAnchoAuto2: TAction;
+ procedure frViewBarraSeleccion1actSeleccionarUpdate(Sender: TObject);
+ procedure frViewBarraSeleccion1actCancelarExecute(Sender: TObject);
+ procedure frViewBarraSeleccion1actSeleccionarExecute(Sender: TObject);
+ procedure FormShow(Sender: TObject);
+ procedure actAnchoAuto2Execute(Sender: TObject);
+ procedure actQuitarFiltro2Execute(Sender: TObject);
+ protected
+ procedure SetMultiSelect (AValue : Boolean);
+ function GetMultiSelect : Boolean;
+ function GetPresupuestosClienteSeleccionados: IBizPresupuestoCliente;
+ procedure SetViewGrid(const Value: IViewGridBase); override;
+ procedure SetMensaje (const AValue: String);
+ function GetMensaje: String;
+ public
+ property Mensaje : String read GetMensaje write SetMensaje;
+ property PresupuestosClienteSeleccionados: IBizPresupuestoCliente read GetPresupuestosClienteSeleccionados;
+ property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect;
+ end;
+
+implementation
+
+uses
+ uEditorGridBase, cxGridCustomTableView, uIntegerListUtils, uDBSelectionListUtils,
+ uGridUtils, uEditorBase, uPresupuestosClienteController,
+ cxGridLevel;
+
+{$R *.dfm}
+
+{ TfEditorElegirPresupuestosCliente }
+
+procedure TfEditorElegirPresupuestosCliente.actAnchoAuto2Execute(Sender: TObject);
+begin
+ inherited;
+ actAnchoAuto.Execute;
+end;
+
+procedure TfEditorElegirPresupuestosCliente.actQuitarFiltro2Execute(Sender: TObject);
+begin
+ inherited;
+ actQuitarFiltro.Execute;
+end;
+
+procedure TfEditorElegirPresupuestosCliente.FormShow(Sender: TObject);
+begin
+ inherited;
+ EditorActionList.State := asSuspended;
+end;
+
+procedure TfEditorElegirPresupuestosCliente.frViewBarraSeleccion1actCancelarExecute(
+ Sender: TObject);
+begin
+ inherited;
+ Close;
+end;
+
+procedure TfEditorElegirPresupuestosCliente.frViewBarraSeleccion1actSeleccionarExecute(
+ Sender: TObject);
+begin
+ inherited;
+ ModalResult := mrOk;
+end;
+
+procedure TfEditorElegirPresupuestosCliente.frViewBarraSeleccion1actSeleccionarUpdate(
+ Sender: TObject);
+begin
+ inherited;
+ (Sender as TAction).Enabled := (ViewGrid._FocusedView.Controller.SelectedRowCount > 0)
+end;
+
+function TfEditorElegirPresupuestosCliente.GetPresupuestosClienteSeleccionados: IBizPresupuestoCliente;
+begin
+ SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Pedidos as ISeleccionable).SelectedRecords);
+ // En SelectedRecords tengo los ID de las filas seleccionadas del grid
+ Result := (Controller as IPresupuestosClienteController).ExtraerSeleccionados(Pedidos) as IBizPresupuestoCliente;
+end;
+
+function TfEditorElegirPresupuestosCliente.GetMensaje: String;
+begin
+ Result := JvgWizardHeader1.Comments.Text;
+end;
+
+function TfEditorElegirPresupuestosCliente.GetMultiSelect: Boolean;
+begin
+ Result := ViewGrid.MultiSelect;
+end;
+
+procedure TfEditorElegirPresupuestosCliente.SetMensaje(const AValue: String);
+begin
+ JvgWizardHeader1.Comments.Text := AValue;
+end;
+
+procedure TfEditorElegirPresupuestosCliente.SetMultiSelect(AValue: Boolean);
+begin
+ ViewGrid.MultiSelect := AValue;
+end;
+
+procedure TfEditorElegirPresupuestosCliente.SetViewGrid(const Value: IViewGridBase);
+begin
+ inherited;
+ //Para que no salgan las pestañas de filtrado
+ ViewGrid._Grid.RootLevelOptions.DetailTabsPosition := dtpNone;
+ ViewGrid.OnDblClick := frViewBarraSeleccion1.actSeleccionar.OnExecute;
+end;
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.dfm b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.dfm
new file mode 100644
index 00000000..4bf83720
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.dfm
@@ -0,0 +1,483 @@
+inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
+ Left = 332
+ Top = 147
+ Caption = 'Nuevo pedido de cliente'
+ ClientHeight = 608
+ ClientWidth = 632
+ OnClose = CustomEditorClose
+ ExplicitWidth = 640
+ ExplicitHeight = 635
+ PixelsPerInch = 96
+ TextHeight = 13
+ inherited JvNavPanelHeader: TJvNavPanelHeader
+ Width = 632
+ Caption = 'Nuevo pedido de cliente'
+ ExplicitWidth = 632
+ inherited Image1: TImage
+ Left = 605
+ Picture.Data = {
+ 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001800
+ 0000180806000000E0773DF80000000970485973000017120000171201679FD2
+ 5200000A4D6943435050686F746F73686F70204943432070726F66696C650000
+ 78DA9D53775893F7163EDFF7650F5642D8F0B1976C81002223AC08C81059A210
+ 92006184101240C585880A561415119C4855C482D50A489D88E2A028B867418A
+ 885A8B555C38EE1FDCA7B57D7AEFEDEDFBD7FBBCE79CE7FCCE79CF0F80111226
+ 91E6A26A003952853C3AD81F8F4F48C4C9BD80021548E0042010E6CBC26705C5
+ 0000F00379787E74B03FFC01AF6F00020070D52E2412C7E1FF83BA5026570020
+ 9100E02212E70B01905200C82E54C81400C81800B053B3640A009400006C797C
+ 422200AA0D00ECF4493E0500D8A993DC1700D8A21CA908008D01009928472402
+ 40BB00605581522C02C0C200A0AC40222E04C0AE018059B632470280BD050076
+ 8E58900F4060008099422CCC0020380200431E13CD03204C03A030D2BFE0A95F
+ 7085B8480100C0CB95CD974BD23314B895D01A77F2F0E0E221E2C26CB1426117
+ 29106609E4229C979B231348E7034CCE0C00001AF9D1C1FE383F90E7E6E4E1E6
+ 66E76CEFF4C5A2FE6BF06F223E21F1DFFEBC8C020400104ECFEFDA5FE5E5D603
+ 70C701B075BF6BA95B00DA560068DFF95D33DB09A05A0AD07AF98B7938FC401E
+ 9EA150C83C1D1C0A0B0BED2562A1BD30E38B3EFF33E16FE08B7EF6FC401EFEDB
+ 7AF000719A4099ADC0A383FD71616E76AE528EE7CB0442316EF7E723FEC7857F
+ FD8E29D1E234B15C2C158AF15889B850224DC779B952914421C995E212E97F32
+ F11F96FD0993770D00AC864FC04EB607B5CB6CC07EEE01028B0E58D27600407E
+ F32D8C1A0B91001067343279F7000093BFF98F402B0100CD97A4E30000BCE818
+ 5CA894174CC608000044A0812AB041070CC114ACC00E9CC11DBCC01702610644
+ 400C24C03C104206E4801C0AA11896411954C03AD804B5B0031AA0119AE110B4
+ C131380DE7E0125C81EB70170660189EC218BC86090441C8081361213A881162
+ 8ED822CE0817998E04226148349280A420E988145122C5C872A402A9426A915D
+ 4823F22D7214398D5C40FA90DBC820328AFC8ABC47319481B25103D4027540B9
+ A81F1A8AC6A073D174340F5D8096A26BD11AB41E3D80B6A2A7D14BE87574007D
+ 8A8E6380D1310E668CD9615C8C87456089581A26C71663E55835568F35631D58
+ 3776151BC09E61EF0824028B8013EC085E8410C26C82909047584C5843A825EC
+ 23B412BA085709838431C2272293A84FB4257A12F9C478623AB1905846AC26EE
+ 211E219E255E270E135F9348240EC992E44E0A21259032490B496B48DB482DA4
+ 53A43ED210699C4C26EB906DC9DEE408B280AC209791B7900F904F92FBC9C3E4
+ B7143AC588E24C09A22452A494124A35653FE504A59F324299A0AA51CDA99ED4
+ 08AA883A9F5A496DA076502F5387A91334759A25CD9B1643CBA42DA3D5D09A69
+ 6769F7682FE974BA09DD831E4597D097D26BE807E9E7E983F4770C0D860D83C7
+ 486228196B197B19A718B7192F994CA605D39799C85430D7321B9967980F986F
+ 55582AF62A7C1591CA12953A9556957E95E7AA545573553FD579AA0B54AB550F
+ AB5E567DA64655B350E3A909D416ABD5A91D55BBA936AECE5277528F50CF515F
+ A3BE5FFD82FA630DB2868546A08648A35463B7C6198D2116C63265F15842D672
+ 5603EB2C6B984D625BB2F9EC4C7605FB1B762F7B4C534373AA66AC6691669DE6
+ 71CD010EC6B1E0F039D99C4ACE21CE0DCE7B2D032D3F2DB1D66AAD66AD7EAD37
+ DA7ADABEDA62ED72ED16EDEBDAEF75709D409D2C9DF53A6D3AF77509BA36BA51
+ BA85BADB75CFEA3ED363EB79E909F5CAF50EE9DDD147F56DF4A3F517EAEFD6EF
+ D11F373034083690196C313863F0CC9063E86B9869B8D1F084E1A811CB68BA91
+ C468A3D149A327B826EE8767E33578173E66AC6F1C62AC34DE65DC6B3C616269
+ 32DBA4C4A4C5E4BE29CD946B9A66BAD1B4D374CCCCC82CDCACD8ACC9EC8E39D5
+ 9C6B9E61BED9BCDBFC8D85A5459CC54A8B368BC796DA967CCB05964D96F7AC98
+ 563E567956F556D7AC49D65CEB2CEB6DD6576C501B579B0C9B3A9BCBB6A8AD9B
+ ADC4769B6DDF14E2148F29D229F5536EDA31ECFCEC0AEC9AEC06ED39F661F625
+ F66DF6CF1DCC1C121DD63B743B7C727475CC766C70BCEBA4E134C3A9C4A9C3E9
+ 57671B67A1739DF33517A64B90CB1297769717536DA78AA76E9F7ACB95E51AEE
+ BAD2B5D3F5A39BBB9BDCADD96DD4DDCC3DC57DABFB4D2E9B1BC95DC33DEF41F4
+ F0F758E271CCE39DA79BA7C2F390E72F5E765E595EFBBD1E4FB39C269ED6306D
+ C8DBC45BE0BDCB7B603A3E3D65FACEE9033EC63E029F7A9F87BEA6BE22DF3DBE
+ 237ED67E997E07FC9EFB3BFACBFD8FF8BFE179F216F14E056001C101E501BD81
+ 1A81B3036B031F049904A50735058D05BB062F0C3E15420C090D591F72936FC0
+ 17F21BF96333DC672C9AD115CA089D155A1BFA30CC264C1ED6118E86CF08DF10
+ 7E6FA6F94CE9CCB60888E0476C88B81F69199917F97D14292A32AA2EEA51B453
+ 747174F72CD6ACE459FB67BD8EF18FA98CB93BDB6AB6727667AC6A6C526C63EC
+ 9BB880B8AAB8817887F845F1971274132409ED89E4C4D8C43D89E37302E76C9A
+ 339CE49A54967463AEE5DCA2B917E6E9CECB9E773C593559907C3885981297B2
+ 3FE5832042502F184FE5A76E4D1D13F2849B854F45BEA28DA251B1B7B84A3C92
+ E69D5695F638DD3B7D43FA68864F4675C633094F522B79911992B923F34D5644
+ D6DEACCFD971D92D39949C949CA3520D6996B42BD730B728B74F662B2B930DE4
+ 79E66DCA1B9387CAF7E423F973F3DB156C854CD1A3B452AE500E164C2FA82B78
+ 5B185B78B848BD485AD433DF66FEEAF9230B82167CBD90B050B8B0B3D8B87859
+ F1E022BF45BB16238B5317772E315D52BA647869F0D27DCB68CBB296FD50E258
+ 5255F26A79DCF28E5283D2A5A5432B82573495A994C9CB6EAEF45AB963156195
+ 6455EF6A97D55B567F2A17955FAC70ACA8AEF8B046B8E6E2574E5FD57CF5796D
+ DADADE4AB7CAEDEB48EBA4EB6EACF759BFAF4ABD6A41D5D086F00DAD1BF18DE5
+ 1B5F6D4ADE74A17A6AF58ECDB4CDCACD03356135ED5BCCB6ACDBF2A136A3F67A
+ 9D7F5DCB56FDADABB7BED926DAD6BFDD777BF30E831D153BDEEF94ECBCB52B78
+ 576BBD457DF56ED2EE82DD8F1A621BBABFE67EDDB847774FC59E8F7BA57B07F6
+ 45EFEB6A746F6CDCAFBFBFB2096D52368D1E483A70E59B806FDA9BED9A77B570
+ 5A2A0EC241E5C127DFA67C7BE350E8A1CEC3DCC3CDDF997FB7F508EB48792BD2
+ 3ABF75AC2DA36DA03DA1BDEFE88CA39D1D5E1D47BEB7FF7EEF31E36375C7358F
+ 579EA09D283DF1F9E48293E3A764A79E9D4E3F3DD499DC79F74CFC996B5D515D
+ BD6743CF9E3F1774EE4CB75FF7C9F3DEE78F5DF0BC70F422F762DB25B74BAD3D
+ AE3D477E70FDE148AF5B6FEB65F7CBED573CAE74F44DEB3BD1EFD37FFA6AC0D5
+ 73D7F8D72E5D9F79BDEFC6EC1BB76E26DD1CB825BAF5F876F6ED17770AEE4CDC
+ 5D7A8F78AFFCBEDAFDEA07FA0FEA7FB4FEB165C06DE0F860C060CFC3590FEF0E
+ 09879EFE94FFD387E1D247CC47D52346238D8F9D1F1F1B0D1ABDF264CE93E1A7
+ B2A713CFCA7E56FF79EB73ABE7DFFDE2FB4BCF58FCD8F00BF98BCFBFAE79A9F3
+ 72EFABA9AF3AC723C71FBCCE793DF1A6FCADCEDB7DEFB8EFBADFC7BD1F9928FC
+ 40FE50F3D1FA63C7A7D04FF73EE77CFEFC2FF784F3FB25D29F33000000046741
+ 4D410000B18E7CFB51930000026B4944415478DA63FCFFFF3F032D0123B2054B
+ B79CA49A6DD13EE68C582D004A906CD8DFBFFF80F83F980601EBC07C86733BA6
+ E1B6C073BF2D8A01DB1D0FE3341C59ED2AB33D0C0BD7ED6798B774137E0B4871
+ B9CF217B0659251686D93B0E30BC8FFCC6B064E341C21660F301BA18086CB43E
+ C0E07FD48161C7AD2360FE9BB02F0CCBB71CA6CC07FFFF01C31A88FF005D0F62
+ FFF9F70F1A07FFC0ECD5DB8E92EE036200C8178F03DE336CD87582380B60DE26
+ 053CF07DCBB079EF29E22CC09772B001909E692A1B18B61E384DBC05B8820A66
+ 394C1EA676B2D27A861D87CE50EE8389058E0C5FD9CF3108BFFA84D7574FBE3A
+ 91E60398A56DE5FC0C117EBF1824187F30FCFAC900C13F18187EC268203E7982
+ 080BB08199898C0CB1A910363EC3F9251818AEDEC5624184A729387762F341C0
+ A2230C2C82F823FBCF7B84E158E320D4CD049C3BB1F900D9F520F0E93DC4C530
+ 0CF2C1993390A0B133DCC770E83C161F04391B31049D70C2690148332100321C
+ 04B05AE0E768C01076CA05AB46501021FB0004FEFE0506CB6F0686DFBF80BEF8
+ CEC070E306420EAB05DE767AF0720556C680CA1E10BDA75E14C50290A1BF8186
+ FFF90561AF59C3C1A0A6F183818D058F051ED63A580D075528FB9BC430E20064
+ 30C80720BC651B0783943CC402365606861397B158E062A985D570107DA85502
+ C582B72F1186832CDAB9878341441A62C1953B4E0CCDABF6326258606FAA0E36
+ ECDF5F44B10CB3F078A734DC029081EF5E210C0705D5BE831C0C7CE23F181E3C
+ 81188E3599DA18A9824B446C80759F27D88299533970A6A077BFAD18B67E52C7
+ 5D16F54E598853B33DEF3E061E4669BC4914643808C02C0000053036AC648583
+ 960000000049454E44AE426082}
+ ExplicitLeft = 735
+ end
+ end
+ inherited TBXDock: TTBXDock
+ Width = 632
+ ExplicitWidth = 632
+ inherited tbxMain: TTBXToolbar
+ ExplicitWidth = 488
+ inherited TBXItem2: TTBXItem
+ Visible = False
+ end
+ inherited TBXSeparatorItem1: TTBXSeparatorItem
+ Visible = False
+ end
+ inherited TBXItem5: TTBXItem
+ Visible = False
+ end
+ end
+ inherited tbxMenu: TTBXToolbar
+ ExplicitWidth = 632
+ end
+ end
+ inherited pgPaginas: TPageControl
+ Width = 632
+ Height = 442
+ TabOrder = 1
+ OnChanging = pgPaginasChanging
+ ExplicitWidth = 632
+ ExplicitHeight = 442
+ inherited pagGeneral: TTabSheet
+ ExplicitLeft = 4
+ ExplicitTop = 24
+ ExplicitWidth = 624
+ ExplicitHeight = 414
+ end
+ object pagContenido: TTabSheet
+ Caption = 'Contenido'
+ ImageIndex = 1
+ inline frViewDetallesPresupuestoCliente1: TfrViewDetallesPresupuestoCliente
+ Left = 0
+ Top = 0
+ Width = 624
+ Height = 414
+ Align = alClient
+ BiDiMode = bdLeftToRight
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentBiDiMode = False
+ ParentFont = False
+ TabOrder = 0
+ ReadOnly = False
+ ExplicitWidth = 624
+ ExplicitHeight = 414
+ inherited ToolBar1: TToolBar
+ Width = 624
+ ExplicitWidth = 624
+ end
+ inherited cxGrid: TcxGrid
+ Width = 624
+ Height = 342
+ ExplicitWidth = 624
+ ExplicitHeight = 342
+ end
+ inherited TBXDock1: TTBXDock
+ Width = 624
+ ExplicitWidth = 624
+ inherited TBXToolbar1: TTBXToolbar
+ ExplicitWidth = 548
+ end
+ end
+ end
+ end
+ object pagInicidencias: TTabSheet
+ Caption = 'Incidencias'
+ ImageIndex = 2
+ ExplicitLeft = 0
+ ExplicitTop = 0
+ ExplicitWidth = 0
+ ExplicitHeight = 0
+ inline frViewIncidenciasCli: TfrViewIncidencias
+ Left = 0
+ Top = 0
+ Width = 624
+ Height = 414
+ Align = alClient
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 0
+ ReadOnly = False
+ ExplicitWidth = 624
+ ExplicitHeight = 414
+ inherited pnlSup: TPanel
+ Width = 624
+ ExplicitWidth = 624
+ inherited eIncidenciaActiva: TcxDBCheckBox
+ ExplicitHeight = 21
+ end
+ end
+ inherited GroupBox1: TGroupBox
+ Width = 624
+ Height = 386
+ ExplicitWidth = 624
+ ExplicitHeight = 386
+ inherited eIncidencias: TcxDBMemo
+ ExplicitWidth = 601
+ ExplicitHeight = 353
+ Height = 353
+ Width = 601
+ end
+ end
+ end
+ end
+ end
+ inherited StatusBar: TJvStatusBar
+ Top = 589
+ Width = 632
+ Panels = <
+ item
+ Width = 200
+ end>
+ ExplicitTop = 589
+ ExplicitWidth = 632
+ end
+ inline frViewTotales1: TfrViewTotales [4]
+ Left = 0
+ Top = 518
+ Width = 632
+ Height = 71
+ Align = alBottom
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 4
+ ReadOnly = False
+ ExplicitTop = 518
+ ExplicitWidth = 632
+ ExplicitHeight = 71
+ inherited dxLayoutControl1: TdxLayoutControl
+ Width = 632
+ Height = 171
+ LookAndFeel = dxLayoutOfficeLookAndFeel1
+ ExplicitWidth = 632
+ ExplicitHeight = 171
+ inherited Bevel1: TBevel
+ Left = 93
+ Top = 92
+ Width = 73
+ ExplicitLeft = 93
+ ExplicitTop = 92
+ ExplicitWidth = 73
+ end
+ inherited Bevel3: TBevel
+ Left = 313
+ Top = 11
+ Width = 8
+ Height = 54
+ ExplicitLeft = 313
+ ExplicitTop = 11
+ ExplicitWidth = 8
+ ExplicitHeight = 54
+ end
+ inherited Bevel4: TBevel
+ Left = 430
+ Top = 92
+ Width = 21
+ ExplicitLeft = 430
+ ExplicitTop = 92
+ ExplicitWidth = 21
+ end
+ inherited ImporteDto: TcxDBCurrencyEdit
+ Left = 164
+ Top = 112
+ Style.IsFontAssigned = True
+ ExplicitLeft = 164
+ ExplicitTop = 112
+ ExplicitWidth = 93
+ Width = 93
+ end
+ inherited ImporteIVA: TcxDBCurrencyEdit
+ Left = 501
+ Top = 38
+ Style.IsFontAssigned = True
+ ExplicitLeft = 501
+ ExplicitTop = 38
+ ExplicitWidth = 137
+ Width = 137
+ end
+ inherited ImporteTotal: TcxDBCurrencyEdit
+ Left = 431
+ Top = 112
+ Style.IsFontAssigned = True
+ ExplicitLeft = 431
+ ExplicitTop = 112
+ ExplicitWidth = 137
+ Width = 137
+ end
+ inherited edtDescuento: TcxDBSpinEdit
+ Left = 93
+ Top = 112
+ Style.IsFontAssigned = True
+ ExplicitLeft = 93
+ ExplicitTop = 112
+ end
+ inherited edtIVA: TcxDBSpinEdit
+ Left = 430
+ Top = 38
+ Style.IsFontAssigned = True
+ ExplicitLeft = 430
+ ExplicitTop = 38
+ end
+ inherited ImporteBase: TcxDBCurrencyEdit
+ Left = 430
+ Top = 11
+ Style.IsFontAssigned = True
+ ExplicitLeft = 430
+ ExplicitTop = 11
+ ExplicitWidth = 92
+ Width = 92
+ end
+ inherited edtRE: TcxDBSpinEdit
+ Left = 430
+ Top = 65
+ DataBinding.DataField = ''
+ DataBinding.DataSource = nil
+ Style.IsFontAssigned = True
+ ExplicitLeft = 430
+ ExplicitTop = 65
+ end
+ inherited ImporteRE: TcxDBCurrencyEdit
+ Left = 501
+ Top = 65
+ DataBinding.DataField = ''
+ DataBinding.DataSource = nil
+ Style.IsFontAssigned = True
+ ExplicitLeft = 501
+ ExplicitTop = 65
+ ExplicitWidth = 56
+ Width = 56
+ end
+ inherited eImporteNeto: TcxDBCurrencyEdit
+ Left = 93
+ Top = 11
+ Style.IsFontAssigned = True
+ ExplicitLeft = 93
+ ExplicitTop = 11
+ ExplicitWidth = 147
+ Width = 147
+ end
+ inherited ePorte: TcxDBCurrencyEdit
+ Left = 93
+ Top = 139
+ Properties.OnValidate = frViewTotales1ePortePropertiesValidate
+ Style.IsFontAssigned = True
+ ExplicitLeft = 93
+ ExplicitTop = 139
+ ExplicitWidth = 147
+ Width = 147
+ end
+ inherited eIVA: TcxDBLookupComboBox
+ Left = 93
+ Top = 38
+ DataBinding.DataField = ''
+ DataBinding.DataSource = nil
+ ExplicitLeft = 93
+ ExplicitTop = 38
+ ExplicitWidth = 81
+ Width = 81
+ end
+ inherited bTiposIVA: TButton
+ Left = 165
+ Top = 38
+ ExplicitLeft = 165
+ ExplicitTop = 38
+ end
+ inherited cbRecargoEquivalencia: TcxDBCheckBox
+ Left = 93
+ Top = 65
+ DataBinding.DataField = ''
+ ExplicitLeft = 93
+ ExplicitTop = 65
+ ExplicitWidth = 219
+ Width = 219
+ end
+ inherited dxLayoutControl1Group_Root: TdxLayoutGroup
+ inherited dxLayoutControl1Group1: TdxLayoutGroup
+ ShowCaption = False
+ ShowBorder = False
+ inherited dxLayoutControl1Group2: TdxLayoutGroup
+ inherited dxLayoutControl1Group6: TdxLayoutGroup
+ Visible = False
+ end
+ inherited dxLayoutControl1Item16: TdxLayoutItem
+ Visible = False
+ end
+ inherited dxLayoutControl1Item10: TdxLayoutItem
+ Visible = False
+ end
+ inherited dxLayoutControl1Group7: TdxLayoutGroup
+ Visible = False
+ end
+ end
+ inherited dxLayoutControl1Group5: TdxLayoutGroup
+ inherited dxLayoutControl1Group3: TdxLayoutGroup
+ inherited dxLayoutControl1Item12: TdxLayoutItem
+ Visible = False
+ end
+ inherited dxLayoutControl1Group9: TdxLayoutGroup
+ Visible = False
+ end
+ inherited dxLayoutControl1Group8: TdxLayoutGroup
+ Visible = False
+ end
+ inherited dxLayoutControl1Item14: TdxLayoutItem
+ Visible = False
+ end
+ end
+ end
+ end
+ end
+ end
+ end
+ inherited EditorActionList: TActionList [5]
+ end
+ inherited SmallImages: TPngImageList [6]
+ end
+ inherited LargeImages: TPngImageList [7]
+ end
+ inherited JvFormStorage: TJvFormStorage [8]
+ end
+ inherited dsDataTable: TDADataSource [10]
+ end
+ inherited StatusBarImages: TPngImageList
+ Left = 16
+ Top = 408
+ end
+ object dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList
+ Left = 336
+ Top = 160
+ object dxLayoutOfficeLookAndFeel1: TdxLayoutOfficeLookAndFeel
+ GroupOptions.CaptionOptions.Font.Charset = DEFAULT_CHARSET
+ GroupOptions.CaptionOptions.Font.Color = clWindowText
+ GroupOptions.CaptionOptions.Font.Height = -11
+ GroupOptions.CaptionOptions.Font.Name = 'Tahoma'
+ GroupOptions.CaptionOptions.Font.Style = [fsBold]
+ GroupOptions.CaptionOptions.TextColor = clHighlight
+ GroupOptions.CaptionOptions.UseDefaultFont = False
+ end
+ end
+end
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.pas b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.pas
new file mode 100644
index 00000000..62e7714e
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.pas
@@ -0,0 +1,341 @@
+unit uEditorPresupuestoCliente;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ uEditorDBItem, DB, uDADataTable, JvAppStorage,
+ JvAppRegistryStorage, JvComponent, JvFormPlacement, ImgList,
+ PngImageList, StdActns, ActnList, ComCtrls, TBX, TB2Item, TB2Dock,
+ TB2Toolbar, ExtCtrls, JvExControls, JvNavigationPane,
+ uCustomView, uViewBase, JvComponentBase,
+ StdCtrls, pngimage, AppEvnts, cxControls, cxContainer, cxEdit, cxTextEdit, cxMemo, cxDBEdit,
+ uViewIncidencias,
+ uPresupuestosClienteController,
+ uViewDetallesBase,
+ dxLayoutLookAndFeels, JvExComCtrls, JvStatusBar, uViewTotales,
+ uIEditorPresupuestoCliente, uBizPresupuestosCliente, uViewPresupuestoCliente,
+ uViewDetallesDTO, uViewDetallesArticulos, uViewDetallesPresupuestoCliente,
+ uDAInterfaces;
+
+type
+ TfEditorPresupuestoCliente = class(TfEditorDBItem, IEditorPresupuestoCliente)
+ pagContenido: TTabSheet;
+ pagInicidencias: TTabSheet;
+ frViewIncidenciasCli: TfrViewIncidencias;
+ dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList;
+ dxLayoutOfficeLookAndFeel1: TdxLayoutOfficeLookAndFeel;
+ frViewTotales1: TfrViewTotales;
+ frViewDetallesPresupuestoCliente1: TfrViewDetallesPresupuestoCliente;
+
+ procedure FormShow(Sender: TObject); override;
+ procedure CustomEditorClose(Sender: TObject; var Action: TCloseAction);
+ procedure pgPaginasChanging(Sender: TObject; var AllowChange: Boolean);
+ procedure frViewTotales1ePortePropertiesValidate(Sender: TObject;
+ var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
+ private
+ procedure RecalcularPortePorUnidad;
+
+ protected
+ FPedido: IBizPresupuestoCliente;
+ FViewPedido: IViewPresupuestoCliente;
+ FController : IPresupuestosClienteController;
+
+ function GetController : IPresupuestosClienteController;
+ procedure SetController (const Value : IPresupuestosClienteController); virtual;
+
+ function GetPedido: IBizPresupuestoCliente;
+ procedure SetPedido(const Value: IBizPresupuestoCliente); virtual;
+
+ function GetViewPedido: IViewPresupuestoCliente;
+ procedure SetViewPedido(const Value: IViewPresupuestoCliente);
+
+ procedure PrevisualizarInterno; override;
+ procedure ImprimirInterno; override;
+ procedure GuardarInterno; override;
+ procedure EliminarInterno; override;
+
+ property ViewPedido: IViewPresupuestoCliente read GetViewPedido write SetViewPedido;
+
+ procedure OnClienteChanged(Sender : TObject);
+
+ //Si queremos crear otra vista para el editor heredado solo tendriamos que
+ //sobreescribir este metodo
+ procedure AsignarVista; virtual;
+
+ procedure PonerTitulos(const ATitulo: string = ''); override;
+ public
+ property Controller : IPresupuestosClienteController read GetController write SetController;
+ property Pedido: IBizPresupuestoCliente read GetPedido write SetPedido;
+ constructor Create(AOwner: TComponent); override;
+ destructor Destroy; override;
+ end;
+
+implementation
+
+uses
+ uViewDatosYSeleccionCliente, uDataModuleUsuarios, uClientesController,
+ uBizDireccionesContacto, uDialogUtils;
+
+{$R *.dfm}
+
+{ TfEditorPresupuestoCliente }
+
+{
+**************************** TfEditorPresupuestoCliente ****************************
+}
+procedure TfEditorPresupuestoCliente.AsignarVista;
+var
+ AViewPresupuestoCliente: TfrViewPresupuestoCliente;
+
+begin
+ AViewPresupuestoCliente := TfrViewPresupuestoCliente.create(Self);
+ with AViewPresupuestoCliente do
+ begin
+ Parent := pagGeneral;
+ Align := alClient;
+ dxLayoutControl1.LookAndFeel := dxLayoutOfficeLookAndFeel1;
+ end;
+ ViewPedido := AViewPresupuestoCliente;
+end;
+
+constructor TfEditorPresupuestoCliente.Create(AOwner: TComponent);
+begin
+ inherited;
+ pgPaginas.ActivePageIndex := 0;
+
+ AsignarVista;
+end;
+
+procedure TfEditorPresupuestoCliente.CustomEditorClose(Sender: TObject;
+ var Action: TCloseAction);
+begin
+ inherited;
+ FViewPedido := NIL;
+ FPedido := NIL;
+end;
+
+destructor TfEditorPresupuestoCliente.Destroy;
+begin
+ // Utilizar mejor OnClose;
+ inherited;
+end;
+
+procedure TfEditorPresupuestoCliente.EliminarInterno;
+begin
+ if (ShowConfirmMessage('¿Desea borrar este pedido de cliente?', '') = IDYES) then
+ begin
+ FController.Eliminar(FPedido);
+ inherited
+ end
+end;
+
+procedure TfEditorPresupuestoCliente.FormShow(Sender: TObject);
+begin
+ inherited;
+
+ if not Assigned(FViewPedido) then
+ raise Exception.Create('No hay ninguna vista asignada');
+
+ if not Assigned(Pedido) then
+ raise Exception.Create('No hay ningún pedido asignado');
+
+ Pedido.DataTable.Active := True;
+ pgPaginas.ActivePage := pagGeneral;
+end;
+
+procedure TfEditorPresupuestoCliente.frViewTotales1ePortePropertiesValidate(
+ Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
+ var Error: Boolean);
+begin
+ inherited;
+ if not VarIsNull(DisplayValue) then
+ FPedido.IMPORTE_PORTE := DisplayValue
+ else
+ FPedido.IMPORTE_PORTE := 0;
+
+ RecalcularPortePorUnidad;
+end;
+
+function TfEditorPresupuestoCliente.GetController: IPresupuestosClienteController;
+begin
+ Result := FController;
+end;
+
+function TfEditorPresupuestoCliente.GetPedido: IBizPresupuestoCliente;
+begin
+ Result := FPedido;
+end;
+
+function TfEditorPresupuestoCliente.GetViewPedido: IViewPresupuestoCliente;
+begin
+ Result := FViewPedido;
+end;
+
+procedure TfEditorPresupuestoCliente.GuardarInterno;
+var
+ bEsNuevo : Boolean;
+begin
+ inherited;
+ bEsNuevo := False;
+
+ ShowHourglassCursor;
+// frViewDetallesPresupuestoCliente1.SaveGridStatus;
+ frViewDetallesPresupuestoCliente1.BeginUpdate;
+ try
+ bEsNuevo := FPedido.EsNuevo;
+ FController.Guardar(FPedido);
+ finally
+ frViewDetallesPresupuestoCliente1.EndUpdate;
+// frViewDetallesPresupuestoCliente1.RestoreGridStatus;
+ HideHourglassCursor;
+ end;
+ if bEsNuevo then
+ ShowInfoMessage('El pedido se ha dado de alta con el código ' + FPedido.REFERENCIA);
+
+ Modified := False;
+end;
+
+procedure TfEditorPresupuestoCliente.ImprimirInterno;
+begin
+ inherited;
+ if not Modified then
+ FController.Print(FPedido);
+end;
+
+procedure TfEditorPresupuestoCliente.OnClienteChanged(Sender: TObject);
+var
+ AClientesController : IClientesController;
+ ADireccion : IBizDireccionesContacto;
+begin
+ if Assigned(FPedido) then
+ begin
+ FPedido.Cliente := ViewPedido.ViewClientePedido.Cliente;
+
+ AClientesController := TClientesController.Create;
+ try
+ if not AClientesController.TieneDatosBancarios(FPedido.Cliente) then
+ MessageBox(0, 'Este cliente no tiene datos bancarios en su ficha', 'Atención', MB_ICONWARNING or MB_OK);
+
+ case FPedido.Cliente.Direcciones.RecordCount of
+ 0 : begin
+ FController.QuitarDireccionEnvio(FPedido);
+ MessageBox(0, '¡Atención! Este cliente no tiene ' + #10#13 + 'ninguna dirección de envío en su ficha', 'Atención', MB_ICONWARNING or MB_OK);
+ FPedido.Edit;
+ FPedido.IMPORTE_PORTE := 0;
+ end;
+ 1 : begin
+ FController.CopiarDireccionEnvio(FPedido.Cliente.Direcciones, FPedido);
+ FPedido.Edit;
+ FPedido.IMPORTE_PORTE := FPedido.Cliente.Direcciones.PORTE;
+ end
+ else begin
+ ADireccion := AClientesController.ElegirDireccionEntrega(FPedido.Cliente.Direcciones, '');
+ try
+ if Assigned(ADireccion) then
+ begin
+ FController.CopiarDireccionEnvio(ADireccion, FPedido);
+ FPedido.Edit;
+ FPedido.IMPORTE_PORTE := ADireccion.PORTE;
+ end;
+ finally
+ ADireccion := NIL;
+ end;
+ end;
+ end;
+
+ // Si el pedido tiene detalles hay que mirar si los descuentos y otros campos
+ // para los artículos hay que cambiarlos.
+ if (FPedido.Detalles.RecordCount > 0) then
+ FController.DetallesController.ActualizarDetalles(FPedido.Detalles, FPedido.Cliente);
+
+ finally
+ AClientesController := NIL;
+ end;
+ end;
+end;
+
+procedure TfEditorPresupuestoCliente.pgPaginasChanging(Sender: TObject; var AllowChange: Boolean);
+begin
+ inherited;
+ if (not Assigned(FPedido)) or (FPedido.ID_CLIENTE = 0) then
+ begin
+ ShowWarningMessage('Antes de introducir conceptos debe elegir un cliente para este pedido');
+ AllowChange := False;
+ end;
+end;
+
+procedure TfEditorPresupuestoCliente.PonerTitulos(const ATitulo: string);
+var
+ FTitulo : String;
+begin
+ FTitulo := ATitulo;
+ if (FTitulo = '') and Assigned(FPedido) then
+ begin
+ if FPedido.EsNuevo then
+ FTitulo := 'Nuevo pedido de cliente'
+ else
+ FTitulo := 'Pedido de cliente' + ' - ' + FPedido.Cliente.Nombre + ' - ' + FPedido.SITUACION;
+ end;
+
+ inherited PonerTitulos(FTitulo);
+
+// Self.Caption := FTitulo + ' (' + dmUsuarios.EmpresaActual.NOMBRE + ')';
+end;
+
+procedure TfEditorPresupuestoCliente.PrevisualizarInterno;
+begin
+ inherited;
+ if not Modified then
+ FController.Preview(FPedido);
+end;
+
+procedure TfEditorPresupuestoCliente.RecalcularPortePorUnidad;
+begin
+ //Esta lógica se llamará en el editor porque es para facilitar el rellenado de información del documento
+ //no puede ir en la clase de negocio porque no es una lógica que tenga sentido fuera del editor.
+ if Assigned(Controller)
+ and Assigned(Controller.DetallesController) then
+ Controller.DetallesController.DesglosarPorteDetalles(FPedido.IMPORTE_PORTE, FPedido.Detalles)
+end;
+
+procedure TfEditorPresupuestoCliente.SetController(const Value: IPresupuestosClienteController);
+begin
+ FController := Value;
+
+ if Assigned(FController) then
+ begin
+ ViewPedido.ViewClientePedido.Controller := Controller.ClienteController;
+ frViewDetallesPresupuestoCliente1.Controller := Controller.DetallesController;
+ end;
+end;
+
+procedure TfEditorPresupuestoCliente.SetPedido(const Value: IBizPresupuestoCliente);
+begin
+ FPedido := Value;
+
+ if Assigned(FPedido) then
+ begin
+ dsDataTable.DataTable := FPedido.DataTable;
+ frViewIncidenciasCli.DADataSource.DataTable := dsDataTable.DataTable;
+ frViewTotales1.DADataSource.DataTable := dsDataTable.DataTable;
+ if Assigned(FViewPedido) then
+ begin
+ FViewPedido.Pedido := FPedido;
+ ViewPedido.ViewClientePedido.Cliente := FPedido.Cliente;
+ ViewPedido.ViewClientePedido.OnClienteChanged := OnClienteChanged;
+ frViewDetallesPresupuestoCliente1.Detalles := FPedido.Detalles;
+ frViewDetallesPresupuestoCliente1.Pedido := FPedido; //Para poder sacar los descuento del articulos segun el cliente seleccionado
+ end;
+ end;
+end;
+
+procedure TfEditorPresupuestoCliente.SetViewPedido(const Value: IViewPresupuestoCliente);
+begin
+ FViewPedido := Value;
+
+ if Assigned(FViewPedido) and Assigned(Pedido) then
+ FViewPedido.Pedido := Pedido;
+end;
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.dfm b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.dfm
new file mode 100644
index 00000000..cc0c52ac
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.dfm
@@ -0,0 +1,3127 @@
+inherited fEditorPresupuestosCliente: TfEditorPresupuestosCliente
+ Caption = 'Lista de pedidos de cliente'
+ ClientWidth = 674
+ ExplicitWidth = 682
+ ExplicitHeight = 471
+ PixelsPerInch = 96
+ TextHeight = 13
+ inherited JvNavPanelHeader: TJvNavPanelHeader
+ Width = 674
+ Caption = 'Lista de pedidos de cliente'
+ ExplicitWidth = 674
+ inherited Image1: TImage
+ Left = 647
+ Picture.Data = {
+ 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001800
+ 0000180806000000E0773DF80000000970485973000017120000171201679FD2
+ 5200000A4D6943435050686F746F73686F70204943432070726F66696C650000
+ 78DA9D53775893F7163EDFF7650F5642D8F0B1976C81002223AC08C81059A210
+ 92006184101240C585880A561415119C4855C482D50A489D88E2A028B867418A
+ 885A8B555C38EE1FDCA7B57D7AEFEDEDFBD7FBBCE79CE7FCCE79CF0F80111226
+ 91E6A26A003952853C3AD81F8F4F48C4C9BD80021548E0042010E6CBC26705C5
+ 0000F00379787E74B03FFC01AF6F00020070D52E2412C7E1FF83BA5026570020
+ 9100E02212E70B01905200C82E54C81400C81800B053B3640A009400006C797C
+ 422200AA0D00ECF4493E0500D8A993DC1700D8A21CA908008D01009928472402
+ 40BB00605581522C02C0C200A0AC40222E04C0AE018059B632470280BD050076
+ 8E58900F4060008099422CCC0020380200431E13CD03204C03A030D2BFE0A95F
+ 7085B8480100C0CB95CD974BD23314B895D01A77F2F0E0E221E2C26CB1426117
+ 29106609E4229C979B231348E7034CCE0C00001AF9D1C1FE383F90E7E6E4E1E6
+ 66E76CEFF4C5A2FE6BF06F223E21F1DFFEBC8C020400104ECFEFDA5FE5E5D603
+ 70C701B075BF6BA95B00DA560068DFF95D33DB09A05A0AD07AF98B7938FC401E
+ 9EA150C83C1D1C0A0B0BED2562A1BD30E38B3EFF33E16FE08B7EF6FC401EFEDB
+ 7AF000719A4099ADC0A383FD71616E76AE528EE7CB0442316EF7E723FEC7857F
+ FD8E29D1E234B15C2C158AF15889B850224DC779B952914421C995E212E97F32
+ F11F96FD0993770D00AC864FC04EB607B5CB6CC07EEE01028B0E58D27600407E
+ F32D8C1A0B91001067343279F7000093BFF98F402B0100CD97A4E30000BCE818
+ 5CA894174CC608000044A0812AB041070CC114ACC00E9CC11DBCC01702610644
+ 400C24C03C104206E4801C0AA11896411954C03AD804B5B0031AA0119AE110B4
+ C131380DE7E0125C81EB70170660189EC218BC86090441C8081361213A881162
+ 8ED822CE0817998E04226148349280A420E988145122C5C872A402A9426A915D
+ 4823F22D7214398D5C40FA90DBC820328AFC8ABC47319481B25103D4027540B9
+ A81F1A8AC6A073D174340F5D8096A26BD11AB41E3D80B6A2A7D14BE87574007D
+ 8A8E6380D1310E668CD9615C8C87456089581A26C71663E55835568F35631D58
+ 3776151BC09E61EF0824028B8013EC085E8410C26C82909047584C5843A825EC
+ 23B412BA085709838431C2272293A84FB4257A12F9C478623AB1905846AC26EE
+ 211E219E255E270E135F9348240EC992E44E0A21259032490B496B48DB482DA4
+ 53A43ED210699C4C26EB906DC9DEE408B280AC209791B7900F904F92FBC9C3E4
+ B7143AC588E24C09A22452A494124A35653FE504A59F324299A0AA51CDA99ED4
+ 08AA883A9F5A496DA076502F5387A91334759A25CD9B1643CBA42DA3D5D09A69
+ 6769F7682FE974BA09DD831E4597D097D26BE807E9E7E983F4770C0D860D83C7
+ 486228196B197B19A718B7192F994CA605D39799C85430D7321B9967980F986F
+ 55582AF62A7C1591CA12953A9556957E95E7AA545573553FD579AA0B54AB550F
+ AB5E567DA64655B350E3A909D416ABD5A91D55BBA936AECE5277528F50CF515F
+ A3BE5FFD82FA630DB2868546A08648A35463B7C6198D2116C63265F15842D672
+ 5603EB2C6B984D625BB2F9EC4C7605FB1B762F7B4C534373AA66AC6691669DE6
+ 71CD010EC6B1E0F039D99C4ACE21CE0DCE7B2D032D3F2DB1D66AAD66AD7EAD37
+ DA7ADABEDA62ED72ED16EDEBDAEF75709D409D2C9DF53A6D3AF77509BA36BA51
+ BA85BADB75CFEA3ED363EB79E909F5CAF50EE9DDD147F56DF4A3F517EAEFD6EF
+ D11F373034083690196C313863F0CC9063E86B9869B8D1F084E1A811CB68BA91
+ C468A3D149A327B826EE8767E33578173E66AC6F1C62AC34DE65DC6B3C616269
+ 32DBA4C4A4C5E4BE29CD946B9A66BAD1B4D374CCCCC82CDCACD8ACC9EC8E39D5
+ 9C6B9E61BED9BCDBFC8D85A5459CC54A8B368BC796DA967CCB05964D96F7AC98
+ 563E567956F556D7AC49D65CEB2CEB6DD6576C501B579B0C9B3A9BCBB6A8AD9B
+ ADC4769B6DDF14E2148F29D229F5536EDA31ECFCEC0AEC9AEC06ED39F661F625
+ F66DF6CF1DCC1C121DD63B743B7C727475CC766C70BCEBA4E134C3A9C4A9C3E9
+ 57671B67A1739DF33517A64B90CB1297769717536DA78AA76E9F7ACB95E51AEE
+ BAD2B5D3F5A39BBB9BDCADD96DD4DDCC3DC57DABFB4D2E9B1BC95DC33DEF41F4
+ F0F758E271CCE39DA79BA7C2F390E72F5E765E595EFBBD1E4FB39C269ED6306D
+ C8DBC45BE0BDCB7B603A3E3D65FACEE9033EC63E029F7A9F87BEA6BE22DF3DBE
+ 237ED67E997E07FC9EFB3BFACBFD8FF8BFE179F216F14E056001C101E501BD81
+ 1A81B3036B031F049904A50735058D05BB062F0C3E15420C090D591F72936FC0
+ 17F21BF96333DC672C9AD115CA089D155A1BFA30CC264C1ED6118E86CF08DF10
+ 7E6FA6F94CE9CCB60888E0476C88B81F69199917F97D14292A32AA2EEA51B453
+ 747174F72CD6ACE459FB67BD8EF18FA98CB93BDB6AB6727667AC6A6C526C63EC
+ 9BB880B8AAB8817887F845F1971274132409ED89E4C4D8C43D89E37302E76C9A
+ 339CE49A54967463AEE5DCA2B917E6E9CECB9E773C593559907C3885981297B2
+ 3FE5832042502F184FE5A76E4D1D13F2849B854F45BEA28DA251B1B7B84A3C92
+ E69D5695F638DD3B7D43FA68864F4675C633094F522B79911992B923F34D5644
+ D6DEACCFD971D92D39949C949CA3520D6996B42BD730B728B74F662B2B930DE4
+ 79E66DCA1B9387CAF7E423F973F3DB156C854CD1A3B452AE500E164C2FA82B78
+ 5B185B78B848BD485AD433DF66FEEAF9230B82167CBD90B050B8B0B3D8B87859
+ F1E022BF45BB16238B5317772E315D52BA647869F0D27DCB68CBB296FD50E258
+ 5255F26A79DCF28E5283D2A5A5432B82573495A994C9CB6EAEF45AB963156195
+ 6455EF6A97D55B567F2A17955FAC70ACA8AEF8B046B8E6E2574E5FD57CF5796D
+ DADADE4AB7CAEDEB48EBA4EB6EACF759BFAF4ABD6A41D5D086F00DAD1BF18DE5
+ 1B5F6D4ADE74A17A6AF58ECDB4CDCACD03356135ED5BCCB6ACDBF2A136A3F67A
+ 9D7F5DCB56FDADABB7BED926DAD6BFDD777BF30E831D153BDEEF94ECBCB52B78
+ 576BBD457DF56ED2EE82DD8F1A621BBABFE67EDDB847774FC59E8F7BA57B07F6
+ 45EFEB6A746F6CDCAFBFBFB2096D52368D1E483A70E59B806FDA9BED9A77B570
+ 5A2A0EC241E5C127DFA67C7BE350E8A1CEC3DCC3CDDF997FB7F508EB48792BD2
+ 3ABF75AC2DA36DA03DA1BDEFE88CA39D1D5E1D47BEB7FF7EEF31E36375C7358F
+ 579EA09D283DF1F9E48293E3A764A79E9D4E3F3DD499DC79F74CFC996B5D515D
+ BD6743CF9E3F1774EE4CB75FF7C9F3DEE78F5DF0BC70F422F762DB25B74BAD3D
+ AE3D477E70FDE148AF5B6FEB65F7CBED573CAE74F44DEB3BD1EFD37FFA6AC0D5
+ 73D7F8D72E5D9F79BDEFC6EC1BB76E26DD1CB825BAF5F876F6ED17770AEE4CDC
+ 5D7A8F78AFFCBEDAFDEA07FA0FEA7FB4FEB165C06DE0F860C060CFC3590FEF0E
+ 09879EFE94FFD387E1D247CC47D52346238D8F9D1F1F1B0D1ABDF264CE93E1A7
+ B2A713CFCA7E56FF79EB73ABE7DFFDE2FB4BCF58FCD8F00BF98BCFBFAE79A9F3
+ 72EFABA9AF3AC723C71FBCCE793DF1A6FCADCEDB7DEFB8EFBADFC7BD1F9928FC
+ 40FE50F3D1FA63C7A7D04FF73EE77CFEFC2FF784F3FB25D29F33000000046741
+ 4D410000B18E7CFB51930000026B4944415478DA63FCFFFF3F032D0123B2054B
+ B79CA49A6DD13EE68C582D004A906CD8DFBFFF80F83F980601EBC07C86733BA6
+ E1B6C073BF2D8A01DB1D0FE3341C59ED2AB33D0C0BD7ED6798B774137E0B4871
+ B9CF217B0659251686D93B0E30BC8FFCC6B064E341C21660F301BA18086CB43E
+ C0E07FD48161C7AD2360FE9BB02F0CCBB71CA6CC07FFFF01C31A88FF005D0F62
+ FFF9F70F1A07FFC0ECD5DB8E92EE036200C8178F03DE336CD87582380B60DE26
+ 053CF07DCBB079EF29E22CC09772B001909E692A1B18B61E384DBC05B8820A66
+ 394C1EA676B2D27A861D87CE50EE8389058E0C5FD9CF3108BFFA84D7574FBE3A
+ 91E60398A56DE5FC0C117EBF1824187F30FCFAC900C13F18187EC268203E7982
+ 080BB08199898C0CB1A910363EC3F9251818AEDEC5624184A729387762F341C0
+ A2230C2C82F823FBCF7B84E158E320D4CD049C3BB1F900D9F520F0E93DC4C530
+ 0CF2C1993390A0B133DCC770E83C161F04391B31049D70C2690148332100321C
+ 04B05AE0E768C01076CA05AB46501021FB0004FEFE0506CB6F0686DFBF80BEF8
+ CEC070E306420EAB05DE767AF0720556C680CA1E10BDA75E14C50290A1BF8186
+ FFF90561AF59C3C1A0A6F183818D058F051ED63A580D075528FB9BC430E20064
+ 30C80720BC651B0783943CC402365606861397B158E062A985D570107DA85502
+ C582B72F1186832CDAB9878341441A62C1953B4E0CCDABF6326258606FAA0E36
+ ECDF5F44B10CB3F078A734DC029081EF5E210C0705D5BE831C0C7CE23F181E3C
+ 81188E3599DA18A9824B446C80759F27D88299533970A6A077BFAD18B67E52C7
+ 5D16F54E598853B33DEF3E061E4669BC4914643808C02C0000053036AC648583
+ 960000000049454E44AE426082}
+ ExplicitLeft = 647
+ end
+ end
+ inherited TBXDock: TTBXDock
+ Width = 674
+ ExplicitWidth = 674
+ inherited tbxMain: TTBXToolbar
+ ExplicitWidth = 632
+ end
+ inherited tbxMenu: TTBXToolbar
+ ExplicitWidth = 674
+ object TBXSubmenuItem2: TTBXSubmenuItem [4]
+ Caption = 'A&cciones'
+ object TBXItem39: TTBXItem
+ Action = actGenerarAlbaranCli
+ end
+ object TBXItem38: TTBXItem
+ Action = actGenerarFactura
+ end
+ object TBXSeparatorItem17: TTBXSeparatorItem
+ end
+ end
+ end
+ inherited TBXTMain2: TTBXToolbar
+ Visible = True
+ ExplicitWidth = 91
+ object TBXItem40: TTBXItem
+ Action = actGenerar
+ DisplayMode = nbdmImageAndText
+ end
+ end
+ end
+ inherited StatusBar: TJvStatusBar
+ Width = 674
+ ExplicitWidth = 674
+ end
+ inherited EditorActionList: TActionList
+ inherited actNuevo: TAction
+ ImageIndex = 22
+ end
+ inherited actPrevisualizar: TAction
+ Visible = True
+ end
+ inherited actImprimir: TAction
+ Visible = True
+ end
+ object actGenerarAlbaranCli: TAction
+ Category = 'Acciones'
+ Caption = 'Generar albar'#225'n de cliente'
+ ImageIndex = 23
+ OnExecute = actGenerarAlbaranCliExecute
+ end
+ object actGenerarFactura: TAction
+ Category = 'Acciones'
+ Caption = 'Generar factura de cliente'
+ Enabled = False
+ ImageIndex = 24
+ Visible = False
+ OnExecute = actGenerarFacturaExecute
+ OnUpdate = actGenerarFacturaUpdate
+ end
+ object actGenerarPedidoProv: TAction
+ Category = 'Acciones'
+ Caption = 'Generar pedido a proveedor'
+ ImageIndex = 25
+ OnExecute = actGenerarPedidoProvExecute
+ end
+ object actGenerar: TAction
+ Category = 'Acciones'
+ Caption = 'Generar...'
+ ImageIndex = 26
+ OnExecute = actGenerarExecute
+ OnUpdate = actGenerarUpdate
+ end
+ end
+ inherited SmallImages: TPngImageList
+ PngImages = <
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000774494D45000000000000000973942E000000097048597300001712
+ 0000171201679FD252000001754944415478DA6364C001D6ECBE900CA4E640B9
+ 2921AE0673B1A963C4A739C8598FE1DB8FDF0C33966C67505054C06A08232ECD
+ 3EF6BA0C250B7F315C7FF88F6179E15F86456BF76135841197CD79737F324C4E
+ E1008BF345BC63B833959561F13A4C4318D13507BBE833E4CEF9C160ACC1C290
+ 60C30296734D5FCD70F2A333564318B1D90CD20C02D72E9C04D33C92A60CAFDF
+ FF6358B8E71B86218CE87E866986D90E738186A92FC397EF0C0C6B8FA21A0232
+ E03FBACD5FBEFF07E30A3F36B801323ABE0C3F7FFF67F8FE938161EFC5EF7043
+ C00678586B32F8B7FD61887167836BFEF59B81A12E186180A8BA0F58F3E76FFF
+ 194EDDFE0136A07DDA1AB001C90FEE3F98131BE4C4A092FD9BA12A8A07AC19E4
+ 67582C800CE051F0C1D06C636994020F44902171214E0CCA99BF19E25DB8E09A
+ 91C301161330CDE040448E46649764D85C473160C6114D0CCD581312B221CEFA
+ 9C589D8D3521E13204047069C69B99608680002ECD380D4036E4C98B77383583
+ 000005100EB8572466A60000000049454E44AE426082}
+ Name = 'PngImage1'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001074944415478DA
+ 63FCFFFF3F032580912A06303232E2543079D1766F201505C520B02C37CE331A
+ C400EBC5670054F3960057330631617E0690B2F357EF336CDA7786A1B5289211
+ AF01C89A254505183E7FFDC1F0F5DB0F06311101A021F7184E5DBA733927D643
+ 0FAB01E89ADF7EF802D6FCF5FB4F866F406CA6AFC21095DBC6B06C7215238601
+ C4689EB27807C3B153E7300D2056F38B371F18B62EDA79EDFCF9F9DA700348D4
+ CC70E1C2024420022548D68C128D40C906A0E67A5234631860A6A752AF202346
+ B466740396C2521AD020B0A49EA622C39C95BB716AC64889C0405C0A541C2501
+ 4C2830804F33D6A40C8A09A0A62DF7EEDD03F3AF1FB98D372301A39191E2DC08
+ 0029AC32F01825AACD0000000049454E44AE426082}
+ Name = 'PngImage2'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001514944415478DA
+ 635CB5E3DC7F062C20CCC388918108C0083220D4DD104570F5CEF30CEDFDB319
+ CEEF9C4ED0109C06D818AB3278C7941134046E40CBAA0760819A3005B80B6000
+ 9F21182EF8F1F30F10FF86E05F7F1882926B883300E60264C0C1805D5F69B802
+ 238601E836FF04E2CDA7BF339484C9A368EE59F59261D9C1BB0CE7A75933C20D
+ F0B4D56698B0E5195617601AF09021DA4998C1297307C38D35A18C60031CCDD4
+ C036FF84DAFCE7EF3F307DF0FA7FB001112D57C09A57D4E8800D98BBFA346A18
+ 58EA2BC235C39C0FC2671EB0A2B8E0DBCF7F0C5F7FFE05E27F60B65DE26C8801
+ 7316ADC11A58AEFE69282E4009C8284506F7F4B90C781349F7CA07FF4106A0DB
+ FCFD171003E980BCF9840D48F5916148EFBB8E2197EC2BCB1059B290B001512E
+ 92609BC1B602F1EF3FFFC1F437204EAE5A4CD8007F5B71B8E66F480681407AED
+ 12C20674CCDE884F0903000B1A00979E81F9710000000049454E44AE426082}
+ Name = 'PngImage3'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000E9C00000E9C01079453DD000002574944415478DA
+ 63FCFFFF3F03258011D9004646468696696B17FFFECAD0DE581A7C0D596155CF
+ 0AF77F7FFFD975944755A3E8413760EA929DAF393938D62785D8A7C1C48BBB17
+ 711BABAB5C7AF9F6FDDFC2446F354206BC75B6D4E35ABCFE90536B49F87190F8
+ E4853B2779DA1BE46EDE7FE62ED00015BC06F4CFDBBA24CACF26FAD0A99B5B42
+ BDCC7C6BFA563B057B986FFDFDE72FC7D20D072B26D62574E235A0A26DA999B0
+ 98E0F2607713F9251B8E85692A4B5698E9AB9AAEDA7EE2DEBB571F3DDAAB226F
+ E33500044A3B979507B898B6BF78F3FEA3B1B612FF992BF7FF1F3975336E425D
+ CC52903C4103EAEBEB5998450D8FAA2A889BC94888306CD977664D675964284C
+ 1D0103EA99F8DDF50C8CD439E3FFFE67CB7DFFE9DB1F7E3E9EC637DF5977DC98
+ B3E73C0343E33F9C0670B8AC555292175BC8F6FF9BEEDF6FEF995E7DF8F95941
+ 55EDE5AB17AFBEFCFAC7C2F1ECC5FBEF0C4C4C89FF0F47DDC36A8056F2A103FF
+ DEDEE465FBFFB5F1D577EECB8C8CFFF72AAA6A7CFFF4F842CED54D7907184CE7
+ 4631B0B227FC3F1AE38AD5008D981DDFD9BEDE48BABCA1703983DE226E09891F
+ D754B4756F7DBC7FBAEFF286BCED0C32BD9C0CB222B7FF1F8B93C16A805ED2EE
+ D74CEFAF445FDC50B48BC172858E34DFFB6582B2DAFB38BEDCFC7166456A0583
+ CE0471063EA103FF8FC66A623540C063F55669B6E747AE3DE3E861E5E158A9C8
+ FBF1D1FD6F628BF4147977FC7A79D3E3F2736E39060E9E84FF47A202B0C782ED
+ 627356C6FF935998FEB349737FB9FE95E975F2F32D8DDF98EC9647B1FCFF55F0
+ EB1FD31FA08EC2FF87634F6235801C0000382740F0DFD997BD0000000049454E
+ 44AE426082}
+ Name = 'PngImage4'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000AEB00000AEB01828B0D5A000002854944415478DA
+ A5935D48536118C7FFAFDB8CCD557E7F34B33167F9119617A91596495D781304
+ 451021A651362821B1ABA49B6EA4460961D88542055D84DD6545415992174994
+ 9625CC8F9C329D9B5F3BE9CED9D9797BCEA1C932A3A0079EC3CBE13CBFE7FF7F
+ 9FF330CE39FE2798FAB80BA4E61559EB2551E67B07279AE8D51FA98F2CC99546
+ 031A3D6E5FF329993F631D80B52227A6D7929F9BAEA459D1D73BE8DC3330D6B8
+ 1AD206641414DA5A6224E1E8ECA47779660955D532EF642F1371BD74331A14FA
+ 9C27A4439F5D88777DAE1B65FD230D11485786B9363D65FD35C1EB4B9817427E
+ 9F80C335C05BD53E23B2A934132FB23662B71406C2B14698F38AF0E9EB9473E8
+ E3C8655BD686D6F858A5DA3F27B04511E37E0195B5C0A00AD6003FE5259758F0
+ 3AD1843C15125218CCB6AD707FF34EAC93973217041154ECF608D8770E188BD8
+ 5A01A8A1DEC5F60CF4980CB0A890E8A47AFFF477EC3F037C8EBE975F006ADC37
+ 60A7351E3D061DE222C522A5270047AD82DBAB27B21AC09EDA373525E9A52BCB
+ 7E5F4CB4822509BE80848AB3C0C09A806380EE7CA1BDC55EB4CDE17AF2984932
+ 75A60CCA088739742A84CE1E49C1010730F41BA03B27CD595C517CB1FFF92B04
+ E6035AF142101DCB12DA743AB413243FA468331D0F01E51780D1154057AAF148
+ D92E7BE794778E8DB92634C901116FA6451CAA27214EC06802AE5227AA839ED2
+ 45A0729AC6A406182DD9329C10A7B7F57D18D63A93DF99D92076905F4FB4DF56
+ A08C20ED9476027CD1209C7BD9FBDC947BC1C0E2C9596A4B003E27E2F8E9301E
+ AEB507B700334968A6631D019C759C5F627780822413BA194312CDFB41958C13
+ 7FDB4052739000430ECEDD913F313B568F9B8B326AC8F7CCBFAEB27A073F0058
+ 5538F0EAB25B380000000049454E44AE426082}
+ Name = 'PngImage5'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001934944415478DA
+ 6364C002662430FC47E6672C606064C001C0122726A06AB870818121A1632A98
+ 5D169DCD10E58B90B32840358C11A4D920622A5C604145365833482308D4F5E6
+ 3134154F62A8EE4805F35B2B66334CDA8B3004C50098E62F2F6E823581347F7F
+ FB80E1E58DBD0C8BD67D6588F6656258BAF91F7E03AE3D66C009081A800CD61F
+ B161C0072243F419711AF0F7F777864D275D192282F5B06A5EB1F23C43D7FCD9
+ 0CE7774E67C43000A41984B79EF3C36AC08F9F7F18366CB8CC10116EC860E491
+ 85EA0298E6BFBFBE33ECB8120E36C071E64DB8E6ED09CA40037E33ECD87E03EC
+ 02142F206BFEF7FB07C3AE9BF1282E00D90CD20CC6BFFE30EC3B719561CAECE5
+ 100374837B503483E8BDF733305C000333DC04198E9EBB893040CBAF1945F3DF
+ 3FDF190E3C2E041B806EF34F283E73E52EC200758F2A865B3B3A506CB927739E
+ C1C75383C177F17D0C17745971325CBEF51062004820CF19352F808065E64506
+ 172748A0C16CFDF3F71F9806B9E4F683A70803B081E56B2EFEB7B19663D875F4
+ 32CEC444D080AED9331808010085EE16005695A1DA0000000049454E44AE4260
+ 82}
+ Name = 'PngImage6'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000774494D45000000000000000973942E000000097048597300001712
+ 0000171201679FD252000002164944415478DA95D35F4853511CC0F1EFD491DD
+ D9587F2C83AC8C328DFE4949908BC0AC142A147BC8077B88A01EECA5E718F958
+ 410486C384B50A1F7A991023CBEC0F594F81E5D4C211E130D7D4DDCDA15B5EEF
+ DD5DD74B1B8EA9D90FCEC3EFC0EFC3EF9CF33B06FE46CBE3AE042B886B176B0C
+ 0B73C342A0A9B17AD9E2FB4F5EE0E878C6E79776C37F03AAAAD2DAD1CDDEDD3B
+ B96EBB9B425604CC17CB8A4AFBD31EEA6BAC0CFF08A4907F02C962598EE374BD
+ D58F908C2581442241603C8CCBFD89D86C9C9C9C1C0A365A282DDE446FDF37E6
+ AB9277B128F02B10C6DDF385CD074B10D6593019211E9CC2EF1DA5A0C0821895
+ 68BE6D5F1A6873BEA6D07A0879951945CD626B1E6C372978BD7EBC5F4710D608
+ DC6A712C0EC84A9C7B6DDDECAF3B459E315B3B3B685B9835448DCD30F4BE0FC1
+ 94CB9D56672670A5E1A47E590F1EBDE374C3091D88CD4120063359902B4719F9
+ D88F201835E0612670E97CA5DE41578F870A6B296BD79B096BC0B8B6C4DF3252
+ 4024E81960832071B3FD7926D0587B5C7F32DFE8243FC74214EDD906AB4D4C29
+ 1011230487BC1419BFB32BE8E06CE7BE4CE0C299637A07B3928CCF37816F4CD4
+ F2040943365234823134C8E1FC094A8A8D4C0DF6B2E5EA8774A0BEFAA80E283A
+ A21012A791E6E6B4618249FF08AFEC97292B2CA7B64221BFAC9C90E74DFA289F
+ AB3A42FFB07FD90FE5B255A510B754379D062C1CD3E5E240AC931D9537B03537
+ 19FE00839434866373C4BA0000000049454E44AE426082}
+ Name = 'PngImage7'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000774494D45000000000000000973942E000000097048597300001712
+ 0000171201679FD252000001724944415478DA6364A0103062135CB1E2C26E20
+ E5824F63448401235603809AA381D412374F5506413E2EB0D89FBFFF187EFFF9
+ 0BC62F3EFD6728A999C0B0795E15A60150CD1540CD3A7B4FDCC5B0D5D94299E1
+ CAD3BF0CDD3D53F280064CC666C06EA066176C36FF05B25F7F6544B11DC50098
+ D3C3C3F519D6ECBA8C61BBBDA922C38D17FF41B6C384B6020DF261846AFE0FA4
+ AE809C0EB21DDD6610FFCF9F7F0CE91553194CF49518A4558D1836AE59037609
+ 23C8E6AB4F2E2C2136DAE4B5AC186E9CD9C570F3C1278801B53D0BFE3715C7E3
+ D4F0E5C75F86CFDF8118487FF9F18F61C3BA350C12CA260C3B366F4218408CCD
+ 17AE3D03D3065A520CEC42AA0C278F1CC4EF02749BBF82F0CFBF0CC7F66E64F8
+ C92AC970FDE259DC06A06BAE3DEFC390ABB49EE1FEB5530CCF9F3F6778FA919D
+ E1F5D3FBD80DC066F3AC743D8680EEB30CAFEE9E61D8BEF72C4CA90CD080A770
+ 03A62FDB45542C400D006B062724DFA4366920FD84D86844D68C9212C905001F
+ 16FA1194E3DBC30000000049454E44AE426082}
+ Name = 'PngImage8'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000774494D45000000000000000973942E000000097048597300001712
+ 0000171201679FD2520000015F4944415478DA6364A000FC3060F8CF884D62C5
+ 8A0BBB81940BB258E7FC99286A8EBF9CCEC06EE4C5C088457334905AE2E6A9CA
+ 20C8C70516FBF3F71F8399770E44D3F9FF0C3F0D19219AE76D6364C4A2B902A8
+ 5967EF89BB2806B7F54D6738E7C4C1F073793F58B3D1537986F33BA76318B01B
+ A8D905D9E6DF7FFE82B1437011C3B91DD31818BA8AC07246FB7EA01A00737A78
+ B83EC39A5D9731C205E40274003700A8F93F90BA02723AC876649BFF02D920FE
+ 9F3FFF18D22BA63298E82B3148AB1A316C5CB38661F5B92A064690CD579F5C58
+ 4228CAB6EC3E893D166A7B16FC6F2A8EC7A9F1CB8FBF0C9FBFFF65F08E2CC01E
+ 0B20038849342017608D055C2E80D9FC19487FF9F18F2125B3147B2C6033005D
+ 73ED791F86E7B334B1C702BA01E89ABF02F1AC743D8680EEB30CAFEE9E61D8BE
+ F72C4CA9CCE679554FE1064C5FB68B98A0801900D60C6230FA26B54903E92744
+ E946B219C661244123560000C9AFE6B31530CB2E0000000049454E44AE426082}
+ Name = 'PngImage9'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD2520000016A4944415478DA
+ 63FCFFFF3F03082CDD7212C22000627C2D18616C905E466403A27DCCF16A06AA
+ 61E89DB290E1FCCEE98C241BF0EFDF3F86E5DB4E33488B093314D5F5810D21DA
+ 0090E6DF7FFE31ACD97596C1C9429BE1E6BD176043CEED98C688D3804D0F0E30
+ F45E6A02B37779EC62E05CC0C6B058EA38D80B3080D30090E6805D4E182E7911
+ FC91E1C4E5C70C8F1E3F6298B774137603609AFFA4FC013B1B64738BB13743CD
+ D9AD0C8FFDDF81C5B6EC3B85DB00A6594C289A91C13DEF3740F1BF0C3B0F9DC5
+ 6D0048C1EFDF7F21F49F7F50FA2FC31F181F2877E0E445EC068479988015F02C
+ E640B1F98EE72BB066CDDD120C676D1E311C3D7B05BB0181CE8660DB049773C3
+ FD8DAC3957BB80219A379FE1D4C5EBD80DF0B1D7032B165BCD8B110330CD200B
+ CE5FBD85DD00776B1DB002E9F502609B13CF8781E50C840DE09A41165CB97907
+ BB014EE69A1801060B44986610C06980ADB11AC3A63D2789C994D80D404EA6C4
+ 0090010087546EF0ACB0C7920000000049454E44AE426082}
+ Name = 'PngImage10'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001024944415478DA
+ 63FCFFFF3F03258071D400064674018780D0A7823C7C09EB97CCDD8D4B535EC3
+ C493AF1EDC305B3E7F1A2323BA66090111A9272F9F301CD9BE99119701110999
+ FF416A0E6FDB843000A4F9CFCF1F52F834C2808DA72FD8DF700348D18C6C08D8
+ 004B77AF69F292F299308987CF1F4E979256DEB076DEE45D207E7052AEDBB3A7
+ 770390D58000DC0B20FFCC98D0CE70E1053FC3DBBF3F191E7F66603831A310C5
+ B6E533A6311C7CC080228F624046C534B82408AC690C856B9611976140970719
+ 20ACA0CB30A53E13624068693F5CF2F2E3F70C37E7A5C163019BFCD7AD4D0C2B
+ 164C07A72146981F999998C17EFCFBEF2FD630C0260F3660C0933200BCB3BCE1
+ CDA578040000000049454E44AE426082}
+ Name = 'PngImage11'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001C04944415478DA
+ 63FCFFFF3F0325801164C0C20D47A381F41292353332C6800D58B0FEC8FF8440
+ 1BA234FDF9FB8FE1F79FBF60EC105CC4806200A3E14C86FFE7D3C13408E0627F
+ 3C12CF70ECEC0D86AAB659D80D4007FF806AFEFC41D80CC2672FDFC1340019C8
+ 7A2C6178F2F22B98ADAE20C0D09869CCE06E29CD2068B788E1D9AE48868BD7EF
+ 117601C8E673D7DF309846AF6310E66767B8BE3E8441CC6929C3C36D610CD76E
+ 3FC46DC0CBB7DF19EA679C613870E619C3C3679F197EFCFA0B36106433C8F97F
+ 80F8D6FD27B8BD1053BD8F61E9B6DB0C0B9B1C181C4C2518E43D5780C54136CB
+ 7BAD62B8B12E90E1FEE367D85DF0F75C1A836FDE0E866D471E315C5A15CCF0F1
+ CB4F06DBA42D6003EE6E0A6650F65BCB7061B90FC3F357AFB11BF0F3540AC3B1
+ 8B2F18A2ABF6313C7BFD8DC1C14412E895E76003AEAEF6077B4123528661FFC4
+ F3A806C4F859C1A30839CAE0ECDF10BE41E416860F7F32188E4F453320DCCB9C
+ 81CB621ED8A6177BA218245C9681D9B7360431A805AC03B37F306430FCF8C3C0
+ F0E61B0483D8700382DC4CF0DAFC1B498EDD5785E1FD4A3417F83919319CBA78
+ 8BA8FCF0DFCF908171139201A0DC3871C6529273637E46740C00F128724C706C
+ 80060000000049454E44AE426082}
+ Name = 'PngImage12'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000E9C00000E9C01079453DD000002324944415478DA
+ 63FCFFFF3F03258011640023232386C4922BFF0D9818FFC57EFFFE57FDEFBFFF
+ CC8CFF19BEF0F1B36D5C73E9EAAAD5613ABF60166318505FFF9F4939F077F98B
+ 97BF6BEFDCFEC6F9EDDB3F86BF7F810A9918192424D9FEF3F1B32FBFFA93236E
+ 5528C35FB8018D9B7E2C6DF0E38859759581F5E7BF3FD36EDEF89AF4E51B03E3
+ B72F7FC0867EF8F897E1EF3F06867F40ACA1C9F96FE392D5BA5737265D831BE0
+ 58F9F0BF83A5F83245796696CB973E87FEF9C70CD6FCE2D92B86E78F6EFCFCF7
+ EFEF17360E5E4151590326666626067D7DDE65F57E1CD12806288BB3FF676567
+ 66E0E062036B7EFEF425C39307576E8A2A19B9EE6A557DA217B2A88E9B5FBA41
+ 405C87C1DC9CEF01D0004514031444391804843918409ADFBFFFCE70E7EA91FB
+ 9F3FF06BDED9E1F513A450357481341FBBD03D611973362B4B2C067CF8C1C060
+ A020C0F0E3FB4F86CF1FDEBCBE7FFD84C3B54DC9D760812B13DACB29CAAAF84A
+ 58C69AC7C61A8B01CF9FFF61E014646190E365627870FD40C3A535718DC8D1AA
+ E2B1988F5788E7B998823597A5392FA6010C1F1EC0157FF8F081E1DF9F4F0D1C
+ EC6AFDA7965A7C02899924ED550746C555793523665D1D2ED440C49690D08149
+ D2A9764E3ED90A037DEEFF3696BC7161EA0C4B8836402FF6A41A37AFF0690E2E
+ 7E3E7B5B9E65C08494084C48BF8832402BF40A0F8F30DB3E0E2E4153277B9E65
+ 0DFE9C60A7E34CCA280098ACCDDF3C5A2925C913ACAFCBB51CA6997803ECF7B3
+ 301C74FC834D0AC5004A000026261CF09ABF155A0000000049454E44AE426082}
+ Name = 'PngImage13'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000AEB00000AEB01828B0D5A000002E64944415478DA
+ 8D936B4893511CC6FF67DA74BAC9BC9478C9357338CC4B0EBC1709F929A25414
+ A13E48082D8CFC20267E1B925DD004B3120C75919AA99B5DADD485E56DA2791D
+ 739ABA2D9DB7A953379D6EEF5EDFDE14859C810F3C5F0ECFF33BFFF38783E0FF
+ 425902A13B668448DCB4C5B658709C40D8F0A4563120A97FB1B61F3AAC291008
+ EDB1630ED7ECECA97C6F7F6FAEABB72BCDB46902B54CAD5BD4CCF7AAC68772C5
+ 6F8A06C8286E05484EAEB3F10BB6A49FE2B2F2C2628318E0C440063300410050
+ 910596D4B344F7BBB63169FBA7B4D6E65AA915205320E47A9EF4ECB89A7CCE85
+ CDA021950141E2BD2E9049645029E683BB3301EB2AE5F657E15B4955457EAA15
+ 205B5095CD8BE33D0C8BE0523C1002B50120E5C12EE03509D8A60078386EC1B7
+ F2066DA3A89C8FFE1DBF9076CADFADFA4A467C829E70829C82AE43B79B97150D
+ B3522956F3F4C9B3030001DD87C3AE49C84CBCBC646640FCA5D29DF3A0B8A09D
+ 09F62469E1C3A4B4D7F2EAF1A3DA834FA064DC2D2D8E4DB9984E63F922ED2A02
+ 161DE04EE1EE13D4ED7CB090CB5CD9C6E1439978A3FE655189D50E52D37263CE
+ 4486374725C5D2168DF6C88E2CE414ED02942400030246C6A7087149C5688DF0
+ 7EC63EE0F38DB3C79974A8ECB70B7459649E0F64F17854767800C588D390830D
+ 02172A19226F5E58D211DFEB9AF40DD5CFCB46E5DD0568AFECC6C43FFA470747
+ 2CEBF420D2048072C57ED3CB2F846005F9D19CBD4E80C96882B9F16942D1DBA7
+ FBD15C2B960F77159355056AB919E0E3E24C17F9C58487E1737218966D429386
+ 01F235CB8589854D87D3DCD0448613938D61669B89B1C1099552DEB9AA9B9790
+ E559D204FA99C5EBF78D0A0FB5D5ABA0BF6F0D7AA66CA1757CC4B862D808E9D6
+ 9826C990236927D236A4B748AF92C6F6FF82243F890861AE817CC8001D6A0A74
+ 2A478D1AFD7A926CC6FC058E20743BEDFA2F1ECC70B45A0CDA2614CB5AFDFAAD
+ BE19B3E828E51D009FCFE710C6F546ED680F473DFF3B7E70DAFCFEA8E5BFFA03
+ 503A4EA60D6AAC070000000049454E44AE426082}
+ Name = 'PngImage14'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000AEB00000AEB01828B0D5A000002E44944415478DA
+ 8D936B48D35118C6DFB379D9D4C9BC94A8CB399B38CC4B0E9C9A45427D8C5251
+ 82FA2021B430F08398F4258650145A615642A12E4A31AF6565795958A69B685E
+ C7BCB4B92D9D3AA74E7771BAFD37FFFDA728E40A7CE0FDF6FC9E73DE877310FC
+ 5FA850200CC22C90ECB06EB1EC76870347D8F88C6E7244D4F8D2B06FFA172910
+ 082998BBD7154F8A079F11C5E0043002A8D64D2BA8A56AFDB2463BA8928F1537
+ BF2D1B21AC0E9780ECEC06323BCE9E17CE61DE4D4C8BA5812F0D996C00380EE0
+ 81ECB0A25EC0FBDFF74C4B7E7CCAEDEEAC97B8041408849C906321BD97B24FFB
+ B36854A43221106B01ECCE007780203F1CCC2AE576BBF09DA8A6BA24C725A048
+ 5053C43DCFBD9F98C4210523046A13C0D0320099BCBBF0360920D87B0BBE56B5
+ E8DA9AAAF8E8EFEB3FA2864705D65ECC4FCF30E2BE70BB54ECD28F542485D676
+ 3E2C482458DDD327CF0E04087CC222597519059917566C34B8F358BC031C94A8
+ 8B0F339241FBEB870FEA0FAE40CABFF5A23CEDF2B93C2A3302E9D611307D0002
+ 29006EC4D529A4DD2ED6B61DF0A1B279A3F15559854B0739B9C5A92792799D29
+ 5969D4650B05791200C31B804A74E046B831C061423E8B3757544FD509EFE5EF
+ 077CBE76F208DD07DE0C7BC6F82FD3CFC430B95C0F162F9A64715091171981BF
+ 0761224E5E5AD1E3DF1A3A8C2DB5CF2BA764FDA5680F0EA43B3E469D8A4B5AD5
+ 1BA149130DCA35CA66283B1E67C6B2A97EA147C16AB1C2A27C0E9F1C1CD27FEF
+ AC6F968D8BCB097412755D8F0EF3F7F36962A7F2121D8B3218976E4287860632
+ 83FDAC6269D3EB38272193E64B6761988DAC981E55A894B2BE75BD5644C00BC4
+ E0E867217738228597E06654C1F090010666DDA05B3E6159336DC4F76BAC3384
+ 8968007C8971BE842D62D6C159C5DE5F109564E1F17403C8C64CD0AB26419F72
+ CAA2319AB3A4F3B62F7008A19BB9577F71613E52A7C3A04731B9AA339A6F0CCD
+ DB9A0E03EF04F0F9FC48DC626ED34D0D44AAB5BFD347E76CAD87859DFA0386D8
+ 3FA68502A9830000000049454E44AE426082}
+ Name = 'PngImage0'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000AEB00000AEB01828B0D5A0000032A4944415478DA
+ 6D937B4814411CC77FB3B7777A5E7276969AA4648A20A5592A4585FE654122BD
+ 0CAA3FE2841EA45946697591BD8DB27748A2BDA0A43FA2420C893252D2A244B4
+ 7C24495986AFBC3BDDDBDB9DDDBDDDDB663714B366F9B2BB33DFCF777E3BB383
+ E0DF66235A19342370912538D0CAB2825BF00A6DA4EF2D1133D5A8AA2AA029EF
+ 4126B3292B2E21BA70697A5262626A9C393422040D0FBAFCAD6F3BF187C68ED6
+ 9F5F472E2992524FBCE2F400735884ED40E6BAE58539F6CCD0B9F323009111C5
+ EF075191600C7BA0ABEBAB5AF7A071A4ADBEE71CE7C615849126032823B52D77
+ EFBAEBF6BDEBAD164B20E941A092EBF89ED75050960C6ECC805B6060D8E984E7
+ 379B9C2D8F3AB71353CD4440CC8ACCE49725D7F2626DB3AC60A028C2535092FF
+ 4A2FCD5E1A0F2E3C062E9E8171D1034303A3F0E24CF3A7910EF72A1230826813
+ BDAFF87CEE85ACCD19269AA2C16030C0093273EDC372C8DE92FFD7EACEDDE902
+ 06B3D0F1A41777DEED2D5015F5369A1335BBB6ACFA4056745C24A22903941636
+ EBF044C38204BCE003FBEE62B0DAFBC1237A61B8C7A9B69DE979ECF3F836A1A4
+ 65F15F4EDD2A880BB606A12B45AD93B02C2BE023D2604D79FB8F02B5F533B022
+ 078C9B55BBCF7EEBC43F8424B4243DE19BA37C678CC962844A47B71E204F8212
+ 09F1EBF783474E02BBB105BC1207DE711EFACA06BE8B7D520C8A8A0D6F70DCD9
+ 951E343B1061598067A54EA8AEBAA4435A0826D22A3976B21406B31B80F76160
+ FB3975E8E2E84785F12F460166E3E91D17361D8E5D1E45F332062C8BD07EC300
+ D7CA4EC1BEA292BF16B177751D6893304D5E9979E0AD5265354FDBC694B4EC05
+ 7599FB57844906093862D04CCEBB913AE4D9F01EBC3E1EBC22AF87635680F1FB
+ EC4FB95DC922DBD8A105A0008BF1444641DAA1A88C8800CE8F8123656AA59A1F
+ A740FF9A7AF22CE8B0208AC035F258A8911C20C3D5A9BF72D8CC79C197E3D7CE
+ CBB12D0D09106862D4A13F9F343133F70E63F18D740F7E818330E3D30FD31CA3
+ D5986F5B68B55B532DE128923248269F0EF2DF05856FC58372AF52013C5412AF
+ EB7FA7516B34512232C2063A944E44C1C82C7B14CEEFF2B793929F92B16E2265
+ EA71FE0D330BBCF031BDB9A60000000049454E44AE426082}
+ Name = 'PngImage15'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000AEB00000AEB01828B0D5A0000031C4944415478DA
+ 6D536B481451143E779D5D5D37D95AD354523445905AB32C0A0DFD653F92252B
+ 8BFA130A3D40F385D1C3B09766A5652548D23B34FA1115624894A0F6502845CB
+ 079298A5F8CA75737677E6CECCCEA3BB532DAB75868F3B73EFF77DE7CCBDF720
+ F8374C045BFC97F8AD3504F8191D0ECEC639B91E32D741407B13154501E4F5ED
+ AFD3EBD263E2220A37A5C49BCD1B62F481214BD1F4E49CDCDDD18F3FB4F7758F
+ 8FCC5C9504A98570F9C506FAE01053715A46526166565AE0CA552180C88A24CB
+ C04B02FCC476181818519A1BDA677A5A862E32365C473482C740A3D5ECCFCECF
+ A8C9CADF613418FCC80C02853C678EB4425E5502D8300D368E8669AB155EDE7C
+ 67FDF8A4FF002135FE35884A4E4B787DFA464EB469B9117C341AA2D78008329C
+ CF6D55CBB39406C11C4BC33C6F87A989597855FEFEF34C9F6D2B319841948E2A
+ 387639BB327D6FAA8ED2505056F066C18E363DAE05CBBE5C30E7BBE02767071A
+ 3BA0EFD930EEBF3F9CA748CA5D141A1ED454F5A8383D22260C511A1FA8287CAF
+ 8ABC037302ECC92E0263D618D879274C0F59959EF2A1A72EBB6B378ADF1CFBE5
+ FC9DBC9800A33F2201D547BB3C06A228818B80E55C2A728A4E01B3AB0B689B43
+ 19BCF0B51F7FE7E2D1FA94B8AF25B587A274062DD971173C2C1D560D448F5020
+ 26B23A1E3D790EA62C6DE09C6761B46AE21B3F2A44A1F0E8156D25F70EA7F807
+ F9212C72F0A2C20ACFEB6B3C62F788094E9496C12411B32E0C8E314699BA32FB
+ 49A2E575C857AF2D3B58B9FB44745238C58A183AAF890BFEFF5259A947CC082C
+ B893D0EF9C22DDE0BCAD884A8EFB1813375A5637A71525070B3E023084E02631
+ 24136E88564D262DADE0E4DD621EB08383F97AC7B8D82BA59363EC731B205F83
+ F66C6ADEC6E3E1A921BE8C8C55B1BB54FDD34418DBD642DE3955CCF13C30ED2C
+ E61A85127251AE7B5FE5E0659101D5B1DB23334D9B96FA721421AA22FC3BEB9F
+ CC4C27C6FC5BE101FC8012A2995FDC4CA15AA336D7B4C69865DC605881C2343E
+ 82CEA50AD96F9CC476E3497158AA03166E11EEDCFFBAD11D1481196961271548
+ 995100D28B768991E7E45E52F273B236482079B7F32FB7E1BAF0E8F71C040000
+ 000049454E44AE426082}
+ Name = 'PngImage16'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD2520000019E4944415478DA
+ 63FCFFFF3F4341F1F9FF0C6402469801BEFE4A0C0B16DD60583CC71CABC21F3F
+ FF327CFFF90748FF6128ABBCC2A0A5CEC0B072C752E20C40D6FCE3D71F86BAFA
+ 1B0CEB963B31A85A241336005DF38FDF7F18DA5AEE3098997032CC5D3D07BF01
+ D834FFFCF597A1B7EB3E612FE0D20CC253263C625092FFC5B0F1C06AEC06E0D3
+ 0CE2CF99F68C4152EC0BC3AE931B310D983EC908A119AA11A409660008CC9FF9
+ 9C4180F72DC3E14B3B500D00019021840048F3F7EF3F19CEDCDE8F6AC09F3F40
+ DB7EFC024B82E81FDF816C280D11FFC5F0F9D337B03C08DF7C79126180A7B73C
+ 86E6CF9FBF43C460867DFB09D70C32ECD1A7F308036CEC44C18A976E9A82D7F9
+ 7CFF8DC19A4186BCFE7D0D618089193FD896B5BB67311CDA309341504A87E1C9
+ ED930CEF3FFD60F8F0F927C3FD671F1956AD59CDF0EC96105833C8BBEFFFDF44
+ 18A0A3CB0976EAB6C30B182E1CDDCBA06768C8B073FD02B8CDF79F7E64E89C34
+ 87E1EE456EB06610403140599519EC827D6796312447F833F072B130B0B0B2A1
+ 387FF5D6430C37CF72C0F9700318191919F49D72C9CAD200FAC9B5C145016BDA
+ 0000000049454E44AE426082}
+ Name = 'PngImage17'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD2520000015D4944415478DA
+ 63FCFFFF3F03082CDD7212C22000627C2D1891F98CC80644FB98E3D50C54C3D0
+ 3B6521C3F99DD3194936E0DFBF7F0CCBB79D6690161366B04C57058B715C6060
+ 24CA0090E6DF7FFE31ACD9759621A4D68281352A97E1F7B2C90C8B2E10E10298
+ E6DFBFFF325C5DC2C1F044E912C39B4B4B19984A3AB17BC171E64DACAEE860D0
+ 60D0F399C2F0F2D636868587CC18A41A1A18D218F07801DD669866100E699161
+ 10D5F6050726411720DB0CD35CDE369B61DED24DD80DF8FDE72FD856107D6319
+ 1786E6ED7B4F311C387911BB01611E260C6E73EF80F9110C1F180C182C18C4D5
+ BC5034830C3E7AF60A7603029D0D212E00FA7DEDAA2B0C2D2D210C6B6A9EA068
+ 06E15317AF6337C0C75E8F2160D92330FF4E8B0B838B4B0D985D5CE907D70CC2
+ E7AFDEC26E80BBB50E5CD11FA84B60E181C0FF18AEDCBC83DD0027734D829A41
+ 00A701B6C66A0C9BF69C24265362370094D348012003002CB76B52FA97B19500
+ 00000049454E44AE426082}
+ Name = 'PngImage18'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001B04944415478DA
+ 63FCFFFF3F03258071D400064674018780D0A7823C7C09EB97CCDD8D4B535EC3
+ C493AF1EDC305BB1603A2323BA66090111A9272F9F301CD9BE99119701110999
+ FF616A189135FFF9F9430A9F4618B0F1F405FB1B6E0021CDD70CF8FF0B09B0D7
+ 481C78D50AE2FF7295B1FBC82F7AF0C585F30C8C96EE5ED3E425E533618A1F3E
+ 7F385D4A5A79C3DA79937781F8C149B96E6627F7F4F8B23ED3DD226BC2F04840
+ 96A19CE72DC3E7E387182EDEF8389911E49F1913DA192EBCE06778FBF727C3E3
+ CF0C0C276614A2B860F98C690C9BAA5A1854F7F530282A4830DC7FF08261E657
+ 318689B76F33820DC8A89806D70C026B1A43E19A65C46518C0F25F3F3048CE28
+ 6050BFBC9A61DB7F198693AE390C535AF220068496F6C3355F7EFC9EE1E6BC34
+ 782CC0E47F5EBFC060D7E5C170E8BD208301F73B06BE7F1FFD642E316C6604F9
+ F1D9D3BB01CC4CCCE070F8FBEF2F4618FC7D723D22F3EF93C4FB37DE301C1296
+ D9E8FBE68198BED87F4BFEBF1FED084619087CB4178BB974FFD3D42B8F7E7801
+ 6D390A12DB28C4BA51558ECB8F2803D6F1B2C67CFEF5C728EEE7FF62A006701A
+ 98C0C0202ECBCDB00A00547CD715F016991D0000000049454E44AE426082}
+ Name = 'PngImage19'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001034944415478DA
+ 636498F123988181610D032A0861C8E058CB400460041AF07F8201AA60C10520
+ 91C1C1489201604DC40114D7313234DCF84FB4561868D080BB8E71F3BEBBFF7D
+ 1C9550E4FFFCFDC7F0E7CF5F86DF60FC0F4C83F8DF7EFC66084FAF6738BF733A
+ 7603D6DEFBC710B2FB378A61732CFF307888FF061B7AEDEE4B86EAD6C9B80D60
+ 9CF993015B803EF0FDCAF0EBF75F863B8FDEE036006403EB9CDF0CA40628D800
+ 0F3B05B01F393BEE911C9E6003ECCDA4188E9CBBCFF0F70F3B03A9010A36A0AE
+ B307ACB8A9BC04C5005C9A91031425B52107283ECDC8018AD500429A41F8D1F3
+ F7D80D8005283ECDBF81F8F99B4FD80D8005283100AB01B0002516000097A51A
+ 7A68BA98860000000049454E44AE426082}
+ Name = 'PngImage20'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001124944415478DA
+ 63FCFFFF3F03258091620340848147C2FF0B3B1630A24B1223CE08E20CAC0B28
+ 0A0098010B361C807BE3E7CF5F0C5FBF7D63F8F2ED3B98D65455C62ADE599ACC
+ 886240BCBF3D58E19FBFFF18BE7DFFC5F0EDC72F86D6A98B1826D7E760159FD2
+ 908B69C0EF3F7F810A7E337C072ABC71FF15C3FC556B1916F69463155FD45B81
+ 3060DAF21DFF93835D18BEFF80D8F0FDC71F8647CFDF334C9CB38061E5D446AC
+ E21B66B7220CE89AB3EE7F6AA80754D16F862F409BDE7FFCC6D0D43F8561DDCC
+ 76ACE2FB574C4418503771F1FFB4085F86DB0F5EA3847049633BC3C6F97D58C5
+ CF6E9B8730A0A86DE6FF6FC0D0FDF4F90BC3E72F5FA1F417867FFFFE33589818
+ 601587A78381CF4C941A00005C20FBD97F751C0A0000000049454E44AE426082}
+ Name = 'PngImage21'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD25200000A4D694343505068
+ 6F746F73686F70204943432070726F66696C65000078DA9D53775893F7163EDF
+ F7650F5642D8F0B1976C81002223AC08C81059A21092006184101240C585880A
+ 561415119C4855C482D50A489D88E2A028B867418A885A8B555C38EE1FDCA7B5
+ 7D7AEFEDEDFBD7FBBCE79CE7FCCE79CF0F8011122691E6A26A003952853C3AD8
+ 1F8F4F48C4C9BD80021548E0042010E6CBC26705C50000F00379787E74B03FFC
+ 01AF6F00020070D52E2412C7E1FF83BA50265700209100E02212E70B01905200
+ C82E54C81400C81800B053B3640A009400006C797C422200AA0D00ECF4493E05
+ 00D8A993DC1700D8A21CA908008D0100992847240240BB00605581522C02C0C2
+ 00A0AC40222E04C0AE018059B632470280BD0500768E58900F4060008099422C
+ CC0020380200431E13CD03204C03A030D2BFE0A95F7085B8480100C0CB95CD97
+ 4BD23314B895D01A77F2F0E0E221E2C26CB142611729106609E4229C979B2313
+ 48E7034CCE0C00001AF9D1C1FE383F90E7E6E4E1E666E76CEFF4C5A2FE6BF06F
+ 223E21F1DFFEBC8C020400104ECFEFDA5FE5E5D60370C701B075BF6BA95B00DA
+ 560068DFF95D33DB09A05A0AD07AF98B7938FC401E9EA150C83C1D1C0A0B0BED
+ 2562A1BD30E38B3EFF33E16FE08B7EF6FC401EFEDB7AF000719A4099ADC0A383
+ FD71616E76AE528EE7CB0442316EF7E723FEC7857FFD8E29D1E234B15C2C158A
+ F15889B850224DC779B952914421C995E212E97F32F11F96FD0993770D00AC86
+ 4FC04EB607B5CB6CC07EEE01028B0E58D27600407EF32D8C1A0B910010673432
+ 79F7000093BFF98F402B0100CD97A4E30000BCE8185CA894174CC608000044A0
+ 812AB041070CC114ACC00E9CC11DBCC01702610644400C24C03C104206E4801C
+ 0AA11896411954C03AD804B5B0031AA0119AE110B4C131380DE7E0125C81EB70
+ 170660189EC218BC86090441C8081361213A8811628ED822CE0817998E042261
+ 48349280A420E988145122C5C872A402A9426A915D4823F22D7214398D5C40FA
+ 90DBC820328AFC8ABC47319481B25103D4027540B9A81F1A8AC6A073D174340F
+ 5D8096A26BD11AB41E3D80B6A2A7D14BE87574007D8A8E6380D1310E668CD961
+ 5C8C87456089581A26C71663E55835568F35631D583776151BC09E61EF082402
+ 8B8013EC085E8410C26C82909047584C5843A825EC23B412BA085709838431C2
+ 272293A84FB4257A12F9C478623AB1905846AC26EE211E219E255E270E135F93
+ 48240EC992E44E0A21259032490B496B48DB482DA453A43ED210699C4C26EB90
+ 6DC9DEE408B280AC209791B7900F904F92FBC9C3E4B7143AC588E24C09A22452
+ A494124A35653FE504A59F324299A0AA51CDA99ED408AA883A9F5A496DA07650
+ 2F5387A91334759A25CD9B1643CBA42DA3D5D09A696769F7682FE974BA09DD83
+ 1E4597D097D26BE807E9E7E983F4770C0D860D83C7486228196B197B19A718B7
+ 192F994CA605D39799C85430D7321B9967980F986F55582AF62A7C1591CA1295
+ 3A9556957E95E7AA545573553FD579AA0B54AB550FAB5E567DA64655B350E3A9
+ 09D416ABD5A91D55BBA936AECE5277528F50CF515FA3BE5FFD82FA630DB28685
+ 46A08648A35463B7C6198D2116C63265F15842D6725603EB2C6B984D625BB2F9
+ EC4C7605FB1B762F7B4C534373AA66AC6691669DE671CD010EC6B1E0F039D99C
+ 4ACE21CE0DCE7B2D032D3F2DB1D66AAD66AD7EAD37DA7ADABEDA62ED72ED16ED
+ EBDAEF75709D409D2C9DF53A6D3AF77509BA36BA51BA85BADB75CFEA3ED363EB
+ 79E909F5CAF50EE9DDD147F56DF4A3F517EAEFD6EFD11F373034083690196C31
+ 3863F0CC9063E86B9869B8D1F084E1A811CB68BA91C468A3D149A327B826EE87
+ 67E33578173E66AC6F1C62AC34DE65DC6B3C61626932DBA4C4A4C5E4BE29CD94
+ 6B9A66BAD1B4D374CCCCC82CDCACD8ACC9EC8E39D59C6B9E61BED9BCDBFC8D85
+ A5459CC54A8B368BC796DA967CCB05964D96F7AC98563E567956F556D7AC49D6
+ 5CEB2CEB6DD6576C501B579B0C9B3A9BCBB6A8AD9BADC4769B6DDF14E2148F29
+ D229F5536EDA31ECFCEC0AEC9AEC06ED39F661F625F66DF6CF1DCC1C121DD63B
+ 743B7C727475CC766C70BCEBA4E134C3A9C4A9C3E957671B67A1739DF33517A6
+ 4B90CB1297769717536DA78AA76E9F7ACB95E51AEEBAD2B5D3F5A39BBB9BDCAD
+ D96DD4DDCC3DC57DABFB4D2E9B1BC95DC33DEF41F4F0F758E271CCE39DA79BA7
+ C2F390E72F5E765E595EFBBD1E4FB39C269ED6306DC8DBC45BE0BDCB7B603A3E
+ 3D65FACEE9033EC63E029F7A9F87BEA6BE22DF3DBE237ED67E997E07FC9EFB3B
+ FACBFD8FF8BFE179F216F14E056001C101E501BD811A81B3036B031F049904A5
+ 0735058D05BB062F0C3E15420C090D591F72936FC017F21BF96333DC672C9AD1
+ 15CA089D155A1BFA30CC264C1ED6118E86CF08DF107E6FA6F94CE9CCB60888E0
+ 476C88B81F69199917F97D14292A32AA2EEA51B453747174F72CD6ACE459FB67
+ BD8EF18FA98CB93BDB6AB6727667AC6A6C526C63EC9BB880B8AAB8817887F845
+ F1971274132409ED89E4C4D8C43D89E37302E76C9A339CE49A54967463AEE5DC
+ A2B917E6E9CECB9E773C593559907C3885981297B23FE5832042502F184FE5A7
+ 6E4D1D13F2849B854F45BEA28DA251B1B7B84A3C92E69D5695F638DD3B7D43FA
+ 68864F4675C633094F522B79911992B923F34D5644D6DEACCFD971D92D39949C
+ 949CA3520D6996B42BD730B728B74F662B2B930DE479E66DCA1B9387CAF7E423
+ F973F3DB156C854CD1A3B452AE500E164C2FA82B785B185B78B848BD485AD433
+ DF66FEEAF9230B82167CBD90B050B8B0B3D8B87859F1E022BF45BB16238B5317
+ 772E315D52BA647869F0D27DCB68CBB296FD50E2585255F26A79DCF28E5283D2
+ A5A5432B82573495A994C9CB6EAEF45AB9631561956455EF6A97D55B567F2A17
+ 955FAC70ACA8AEF8B046B8E6E2574E5FD57CF5796DDADADE4AB7CAEDEB48EBA4
+ EB6EACF759BFAF4ABD6A41D5D086F00DAD1BF18DE51B5F6D4ADE74A17A6AF58E
+ CDB4CDCACD03356135ED5BCCB6ACDBF2A136A3F67A9D7F5DCB56FDADABB7BED9
+ 26DAD6BFDD777BF30E831D153BDEEF94ECBCB52B78576BBD457DF56ED2EE82DD
+ 8F1A621BBABFE67EDDB847774FC59E8F7BA57B07F645EFEB6A746F6CDCAFBFBF
+ B2096D52368D1E483A70E59B806FDA9BED9A77B5705A2A0EC241E5C127DFA67C
+ 7BE350E8A1CEC3DCC3CDDF997FB7F508EB48792BD23ABF75AC2DA36DA03DA1BD
+ EFE88CA39D1D5E1D47BEB7FF7EEF31E36375C7358F579EA09D283DF1F9E48293
+ E3A764A79E9D4E3F3DD499DC79F74CFC996B5D515DBD6743CF9E3F1774EE4CB7
+ 5FF7C9F3DEE78F5DF0BC70F422F762DB25B74BAD3DAE3D477E70FDE148AF5B6F
+ EB65F7CBED573CAE74F44DEB3BD1EFD37FFA6AC0D573D7F8D72E5D9F79BDEFC6
+ EC1BB76E26DD1CB825BAF5F876F6ED17770AEE4CDC5D7A8F78AFFCBEDAFDEA07
+ FA0FEA7FB4FEB165C06DE0F860C060CFC3590FEF0E09879EFE94FFD387E1D247
+ CC47D52346238D8F9D1F1F1B0D1ABDF264CE93E1A7B2A713CFCA7E56FF79EB73
+ ABE7DFFDE2FB4BCF58FCD8F00BF98BCFBFAE79A9F372EFABA9AF3AC723C71FBC
+ CE793DF1A6FCADCEDB7DEFB8EFBADFC7BD1F9928FC40FE50F3D1FA63C7A7D04F
+ F73EE77CFEFC2FF784F3FB25D29F33000001764944415478DA63FCFFFF3FC394
+ C53BFE33900172623D1819610600394469FAF3F71FC3EF3F7F19ACFDF319CEED
+ 98866A80CB7E5B14C57B1C0F836964F1CD56FB18E6AEDACB306FE9264C03F081
+ 5FBFFF826D06E1251B0E623700DD05D8C07283ED0C2BB71CC16D00CCD920F00F
+ 28F7E7CF3FB8CD2167DC1816EB6C6558BBE3187E03602ED9667380C1EB8803DC
+ E6C80B9E0CF33436316CDA7312BF01309B3FDF3ECCF072712C3E1FB96018B0CB
+ E11083DB013BB0ECA45D0F18941B6A18D8D9D33174FEFC3993615E620B038601
+ 2067C3FCFCAC4D8D41ABFD3158311CFCF801C4DF1966EF326060DE9E8A302023
+ CA8DC1E3903D8A2D2017A01800D2FCE11DC480534EA806248739836D85857AF4
+ 252F5403609AC106FC64987D2B08D580B8200794284BB8E68B30E0E34484E60F
+ 1F202E7895826A40949F1D5C33DCA0194610031ED62334C3BCF0AB0CD580502F
+ 6B86D5DB8EA28481D3B554702CCC5E258F350E510C00250C74A0CDFB86C18AF5
+ 38CE44602FCFE00200175B62A961F8A2FD0000000049454E44AE426082}
+ Name = 'PngImage22'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001784944415478DA
+ 63FCFFFF3FC384055BFF3390010A12BC1919610600394469FAF3F71FC3EF3F7F
+ 192CBCB3192EEE99856AC05E4B2B14C5CEC78F81696471AB030719662EDFC530
+ 7FC9464C03F0815FBFFF826D06D10BD7EDC36E00BA0BB001DDAD3B19966D3A84
+ DB0098B341E01F50EECF9F7F709BCFB93B33686EDCCEB06ADB11FC06C05C627B
+ E830C3613B5BB8CD97BDDD1954D66E6158BFEB387E03D06DFEFDE70F987FDDDF
+ 934161E54686CDFB4EE136C0F1D85186FD56D6605B8D76EE053B1B044036DF09
+ F661905ABA9E61E7A133B80D00391BDDE69FBFFE30FC028A3D890C60109ABB8A
+ E1E0A98B9806E4C47A321CB4B1410971B5F55B196E0542A2577CD15A869771C1
+ 0CBC3357301C3B7719D380F44837B02D7F7EFF03DB7CD5D7834169F566B0D8EF
+ DF10FC2E398C8163EA5286D397AE611A9018EA0CD70CF202CC6674C03C7111C3
+ 856B37310D880D70846B06F91BD9E6DFD01801E17FFFFE335CBA710BD380081F
+ 5B86155B0E139D13310C0009900A400600000CC180F01CA0F4A8000000004945
+ 4E44AE426082}
+ Name = 'PngImage23'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001684944415478DA
+ 63FCFFFF3FC394C53BFE33900172623D1819610600394469FAF3F71FC3EF3F7F
+ 19ACFDF319CEED98866A806DD17E14C587FB1CC134B2F8AE761B86B9ABF632CC
+ 5BBA09D3007CE0D7EFBF609B4178C98683D80D40770136B0AED69461E59623B8
+ 0D80391B04FE01E5FEFCF907B7D9B7FE04C3AA4A6386B53B8EE13700E692BD9D
+ 760CCEE587E03607359F66585A6AC0B069CF49FC06A0DB0CC2207E58FB598685
+ 85BA0CDB0E9CC16DC0C15E0706FBE203605B37375A809D0D02209BA3BB2F30CC
+ C9D566D87DE41C6E0340CE46B7F9E7AF3F6076D2C42B0C53D2D4180E9FBE8C69
+ 4046941B8363E94194105F5E6EC810D9791ECC9E99A5C9903EED3A437F920AC3
+ 89F357310D480E7386DB08A2435ACF302C2ED687B8049A067266DD62E88A5364
+ 387BF906A60171410E280107B3191DB446C9315CBA7E1BD380283F3B147F23DB
+ FC1BC9E07FFFFE335CB97907D380502F6B86D5DB8E129D13310C0009900A4006
+ 00004B6D80F047EC10D30000000049454E44AE426082}
+ Name = 'PngImage24'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001864944415478DA
+ 63FCFFFF3FC384055BFF3390010A12BC1919610600394469FAF3F71FC3EF3F7F
+ 192CBCB3192EEE99856AC05E4B2B14C5CEC78F81696471AB030719662EDFC530
+ 7FC9464C03F0815FBFFF826D06D10BD7EDC36E00BA0BB001DDAD3B19966D3A84
+ DB0098B341E01F50EECF9F7F709BCFB93B33686EDCCEB06ADB11FC06C05C627B
+ E830C3613B5BB8CD97BDDD1954D66E6158BFEB387E0360367FBA7990E1C5C218
+ 7C3E72C130C0F1D85186FD56D66059719B070CAA2D350CECEC59183A7FFE9CC6
+ 303BB68501C30090B3617E7EDAACCCA0D3FD0CAC180EBE7F6760F8F19D61FA0E
+ 4306966DA9080372623D190EDAD8A0D80272018A0120CD1FDE81E9E9279D510D
+ 488F7463F805B4F9CF6F50A8FF61B8EAEB816A004CF37B20FEF19361FACD6054
+ 0312439DE19A415EB815E88D30E0432F42F3870F1017BC4A45352036C011AE19
+ 140320D7FC9E6A0031E041354233D80540037E95A31A10E163CBB062CB61D438
+ BA9A0A8E85E9CBE5B1C6218A01A084810EB478DF3058B39EC099081CE4195C00
+ 45135E518E0B4E380000000049454E44AE426082}
+ Name = 'PngImage25'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000B3A00000B3A01647F570D0000015D4944415478DA
+ 63FCFFFF3F030830323232C0C0CEB58DCA2F6E6CBDF3FEF129B818C30F061490
+ 3FFF3F58032336032E9C58FD9F8B47904155DB192EF6FFD72B867F9F2F31FCB9
+ E3CA3063061E0380B6DBB373F01CB076CD66606165C7AAB96001923E6403809A
+ 9979F925FEC8299B32482B18E2D40C16C7614032D08039164EA97017810CF875
+ 5E1CAC196F18EC5AD7C40F74FA073DB36006411179B8E6FF3F5F32FCBEA687A2
+ 196B18000D681797D6AAD06008852B64D5BA0434E4251833000DFBFBA2087718
+ 2CEF76FFFFE1E119865F5FDF81F9B993706BC61906D0589056D7D07F2223CE8D
+ 53332103DAC5C4A52B749438706AC6170BECACAC6C3FF4547918F8397FE3D48C
+ 3F1A79F9E7982A7F66F8FBBA16A7669C061CDB35E1BF9CAA1D83C84B23BC9AB1
+ 1A008C466BA0F38F5888D632CC9AF907AF66AC065C383AF73FC7B7150C3B97ED
+ 21A819AB0137CE2CFBBF776E2643CE8C4F0435231B00004A4C11F0D3652A8300
+ 00000049454E44AE426082}
+ Name = 'PngImage26'
+ Background = clWindow
+ end>
+ Bitmap = {}
+ end
+ inherited LargeImages: TPngImageList
+ PngImages = <
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000774494D45000000000000000973942E000000097048597300001712
+ 0000171201679FD252000003CD4944415478DA8D96ED4F53571CC7BF17EC9315
+ 11864234C607C6D4E9408621F88CBA88D0C64D48EA906C3E3459F40FD077666F
+ 7CEB62A2912C43F0A950A12A3001AD2613810908B46869E69E8B2FBA3087F499
+ B6F7B63BF7E0BDB6D2A79BDCDE73EEBDE7F339E7777EE7DC3248E1303C346BC9
+ A5812FDBED767AAF51D7B9C9F4A07E22595B2655F8DED202642D5E089F3F88B6
+ EE415CF8BE857F9C54C2A402DFBD651D7296C8C5FBD3336EE87F7C8206DDBDA4
+ 1226197C57493E96662D9A7BF9F810BD861A4BF1EFB4136D5DFDB8D2DC9550C2
+ 2482EF2161C9266111E00D470B611C015A75D7E11FD6E2F51B176EF7FC8CA696
+ F812261EFCC0F60D502AA451706DB902A7EB5F60D2F32195B8068EC1E5F1C1D0
+ CD4B62878B4904F7F8392C3A3922C2C361D280B438736900B6D94FA9E4D5FD5A
+ C8A46968E9E8C555FDFC9130EFC3856C8984A72F90E0E31C274AD767A3EBF138
+ 7A2D6E64AF2D82C99A4E257FDED320C4B1E87C34881BAD3D511226D1840A70E1
+ B09AE7269987FB021CBCE49C9C545089AD5B0387CB03E39351E80C0F44892008
+ 278207D830BE297F27FAB6DD41E182A4A9CF0698CDF8BDA31A334E2F7E7A6A42
+ F36D2395303C3C56B644F69C09BA3139C5E2ECE11C5AE727DA9791274AF8B3C3
+ 64A712ABE17338C9C4F70D3D4757DF2FA0829ACF8AE2C2BD410E013F0397C329
+ 0A4E9CEB059B5B4005B38110825C083EF25EDFAFFF518959AF86E5E55F387FB9
+ 19CCC5EB3D61AD661F14320915683616A2B24C22C2F9DE05FD0B10F4450B9C59
+ 6B299C070B23197FE5A082519D0AD6DFFEC677F56F0599194AA8CA8BB1848429
+ BDE40768EABEC6EE923431C6E1800C0C1B2D9852AE8E091FB959058F771643A6
+ 0974F7BF04535C716A236963D1D6A95173601B9128A1286BA4924DEB58DA98F5
+ C891217347096CD29531E16E12FFC1B109DC6A7F3837C9FCAF20397144854315
+ 5B91A15C88CC9DD7A864F90A2F8A729538B6F7DD662748C602B9F37AFE74D422
+ C2C5348D941CAF55A19A8C840B315855758B4A64996F909FEE84C7350D960D61
+ C6C7D1364D7FC829BCFF4A05A97118187901FD1DE3FC85365FA28646BD132E6F
+ 0005070DC0E6CD5015E6C58C390F9748D2D03F3C8E9B6DD1AB38E66627488E7E
+ A942D59E2D9090945DA36EA392B2FCEC28F8B31B9598251FA061B335263CEE76
+ 2D48BED25462DFF66228E4527CF4C55D2AA1C75B38CD16027F3F2C49059192BA
+ 9A0AEC2A2B2212193ED174D2673CDCED9DCB96D6F64771E109059192DAEAFDD8
+ 515A08B94C0A8EAC5A9A2D6396A4F0A48248C9113292BC651F807C1260FFE735
+ F4778D49E129090449E6B25516C7948DD64919A49CD2DF96FF0126B669571175
+ 682F0000000049454E44AE426082}
+ Name = 'PngImage1'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD2520000032A4944415478DA
+ BD95CD4F134118877F5B0A22D84205341E30087E24021A45893131F1E2C178F1
+ 2A26FE07C6C478319E8D9E8C8926EA49E217D1B328F142A24123070B2E6DB76C
+ 0B5DB6A585B614CA47BB1F6D7D772CDAD22DA0094C32997476F67966DE79F72D
+ 97CBE5B0958DDB1601C7719B7EE1D18B8F9768E8A17EB660FA2BF537D7AF5DEC
+ 2F5CCBD8FF22C8C3DF5FBED04D2F73882FAC40CF64114BA6E1F3F9797AC693E4
+ EA7F090AE1FB9AEAD9DCD24A1ABA9E81AA6510239920C530CABB71F7E615EE9F
+ 0425705A6E80753D4B27C8A0AAD24A630EFE5002E25494242E26D994A01C5C55
+ 7528AC6BC866B3A8B7D782B35830198A63C829E2D9BDDEFB4EE7F3DBEB0ACCE0
+ AAA617C155EA29458546D2867A1B72D90CDEF67F41DFD37E3709DACB0ACCE00C
+ AA680CAC685A5EA4B13B38D97E00B14412BC57C2C0E0777C7A37545E50166E80
+ F302E324EC37CD7775B4223EBF0861621AA35E19636322BE7D18361798C2159D
+ ED785550024F2C821F9F82673202419882382A221C0897DEC146F0D59014C213
+ 0B4BF0D0CE9D8244F020FC3CC127C31819E92DCE2233785AF90B53F360632E43
+ 1FD7098A79742E899F047691C0352621264F63C22D3178D177F0F8E540093C95
+ 568BE29EA64C512834468A9EEA6CC34C7C1E6E5F082EA3BBA71097C310F9893F
+ F0B582D7C78EECEFE9EA6883B5C2C2629C5EB373259F9EDDC70F6226364FE020
+ C6082E8E87200B0148A25C045F2B983C77FA684BE7E16696D3A9945A10EBBC48
+ FB0D8FC617081CA44B0D421483181F19C7AC3C5B023715B43637D109AC58585C
+ C64A4A29806B043F84394AC561DE4FE560165E418668C083E6F01281A3CED6D2
+ E4D8853D0D75D8595DC52ED2C89E2C8D5D14F34834C1B2E5873B00C123232147
+ E017A4B2F0B582C14C8E3B5FBDA30A95560BF6EEB6A3916486A4C16187DD5603
+ A77B025E2902371FC072740E9E51DFBAF0926A7AE7415FCE6677C052C1C1565D
+ 81C6FA5AAA2B39D45111CBD2627F7086761E424494E0F30436849B966B4362AD
+ AC84BDA69A5295C3F2D21295619D95E5C5E40ABC4E3F8B79FB99F68DD8ACBD7A
+ 728B332B153722B1F987E170181ADD81F1DCE8AECFDE4D410B1B950A6E7BFEF4
+ B7B2FD02BC08E5EFAAF547E00000000049454E44AE426082}
+ Name = 'PngImage2'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD2520000022C4944415478DA
+ 63FCFFFF3F032D0123CC82D53BCF13655398871123B18683CC46B120D4DD10AF
+ 06A01A86F6FED90CE7774E27CA12922CF80754B776D7050651415E86A2BA3EA2
+ 2C21DA0290E17FFFFE63D8B0F712838DB12AC3CD7B2F88B284280BFEFDFBCFF0
+ 0768F89FBF7F19B61EBC0A0E2218A08A0520D0B3EA2131410E06A5E10A704BB1
+ 5AD0B2EA0186260E0646869230798286831CD2317B23C3DB3DF98C382D00F141
+ 610E0E963FFF18FEFEFBC7306BEB4BA22D3051F8CD1052BD0D6C098605216E06
+ D008FDCFF0FBCF5FB0E1A0C89DBBE335410B7EFDF9CF3069DD23866827617022
+ 0059F266771E238A0541AEFA0CED6B1E91144440FBC186FF02FA76F69627E020
+ 82010C0BFC1C7519DE7EF88661C8B203EFB15A806C388CDEB9FF2458AE6CC679
+ 4C0B3C6DB5C061FF179A2C81084CAF3AFC096E4144CB159CC1D49EA60AB6E4E8
+ F133D82D70B5D26098B2FD25C120C2E67264FAF4E9B3D82D70325763F8F8F907
+ 8605EB8E7F815B40C87010BE78FE1C760BEC4C5418FEFD852451502A82E4E07F
+ 0CDBCEFE005B00323CBA0D7710954629327CFBF997E1F6B58BD82DB0355261B8
+ FFF41D86C6A3B718180A43E419BEFFFA87D5C520F6CFDF08B187B72E61B760DE
+ 92B5E0B2071DB8FAA73164F8C912653888FDE2FE654C0B181971975BDD2B1FFC
+ 4FF292061B5030E5264E75715E32608BDE3DBE4ABA05316E52045DFE0B5CB430
+ 307C7C4A8605614E1244190E026459106027CE70E8E869066201C916209731C4
+ 02140B6805009C1383EFACA508270000000049454E44AE426082}
+ Name = 'PngImage3'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000E9C00000E9C01079453DD000004BF4944415478DA
+ B5D37B4C53571800F0737A5B6ECB4B2F2D2D2D2053408286870CD4C9C0B89989
+ 8ACEB041F035064CEB365800D93235C0EA40FD836D380C085B44C7C30993111E
+ 93199411DE844029B80908586094577B81963EE8E3EE82D311662A35DB97DCE4
+ 3CBE737EB9E77C07120401FECF802B010821A8ACACC7BAC453B54A95E6405AE2
+ E111631B7C9E7E331102E87431313C76B1FFAFFD9E071492C0A3A109218D8AD4
+ 68C68527040281E1799B9FCF2A738306439314971765244598060C3C9E1406FA
+ BA73EE36F6045E381DD6B672F39339393457C4BE748BFBFAE08AFBED572E9B04
+ 94D7B20647645D7111FB7805E58D359DF2817DB97CBE76795E7246717450E096
+ 5C7239E5C7AAA62B99C9260039F977B893B3AA9E84A8FD3603C313BA9FAA5B8F
+ 9C8F0B2D799A73F6AB627B77676E4750A0375BD43B0ACA6ADA7ECE4C8A085935
+ 9097574B1F56C89A2342767A6356E6A0AAB6E3E1AF1DFD5B6E0822D5A1A1C588
+ D71B66D7DF7B3BE0E862767BCF20A8691265647D1115BF6A6031522E9784B130
+ EB9BEF066DA72C68B5C4F5D2BACF5262DF493F935E78684F804FE9C6F53CF8E7
+ 040E6E57B7E04A9572DBB7C951FD26018BCDF8B4FCAC5DDB37F377F86C84AD5D
+ 0353F79A1FECD9ECC22B3EF8E6AB2EB25925B85327D4F70E8DC5640B22AF3E5D
+ 640A004EA7FCC046D7A06D216F6D73E230AD417E59BD243CF8353B081128FC43
+ 0C6A9BBBEF4BF48CBD2582B085970296904B45611C1BEB225F4F67848A40E0FA
+ 0A178C4864A0F46EEB2C3E33BF332735BA6B79BEC9C062BD5B482D8A5998D5A1
+ 0D8E6C60678B01D14331E81D94246509DE4F052BC26400B8FC821E0E5178D9D9
+ 326A5BC516E6737225F0B09BEB1892500FB688E7A5A02E52FD72C08E026F3B1E
+ 2B92CBC676D3E9664E23A313A85EA7910368A6B1E3602C3A1D5DA0D210B14422
+ BBFF6860FC3BD018DEB53AC03797C659E79062CF65C6418346AF981AD3E85438
+ 9C56D3692C864A6EE1E0A3D62AA6AD0787261A210D250044BCD45A832DB93413
+ A8E70544FB49AD5100DB5FF1D14667CE3732F103056A98EBA322C42D8D9ED239
+ 348725AEB39CF56438FA2E5066FAB893B8C27D4C4A1D279770C9DF3E09CCE831
+ 8002CF12F5C7B28C022E11BF89508DD489AA1ABE26421D12414998FEEF23BBEA
+ 6683EF46ED7D09BDACD756A61AE2492A05CAA539A73C3A60EB6F03338623D170
+ C4D328E01E5DAF21A47D5A864EE92FACFAE49F12F42F28DA84C93CA9F67E2832
+ 3FECA4C30739DD5567F067F3BEB9A90035FF9468388A1A053CF8CD7238FDFB3C
+ 55A7F2E92C8F1D7B329A42A1BCEE52ED8EC9AC11DE56E61A44EE3833DA13DC5D
+ 9E50B30CB848023124606514F03AD5D24F99E9B5D42B64FEDD5509834B837E37
+ 98660CD8E7B616BF2745DD985C267D977E52745D88D49F0025254F8ED0EFFB22
+ F21EFC48C0D52860B9B7347B2D9C896252E70E8B2AE24BC1CE142AD0B97ECD36
+ 577DCC3197F3BB71762B8FC3CAD8C0D46D958FF59DEA2A4F2804DED99B009D71
+ 0B204803D170EC43E3651A50E88F52F4D55C0B45E563B9F597900031185DF381
+ BD85A262DA801F5FBAD8C0020F1EDBA61ACE8D40E50225145722C1804AE39355
+ 7480A83FDAF8E287E69FCF275BE7C82EC7D152A1C650F5B529037EEE59D52C5D
+ 7AD166000C17C85610F94D904F2C0D341ECF79E143FBAFE32F16D672EF3D728C
+ 4A0000000049454E44AE426082}
+ Name = 'PngImage4'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000AEB00000AEB01828B0D5A0000043D4944415478DA
+ B5956D6C535518C7FFB7B7ED36B66E5D47D67663731BECD5B18605D8504C084B
+ 74982DC16468D4F881AD0305E3870550D100EABE482246712A8AA00182BA9828
+ 84252006D7264AA2631B461325DD5C9ABDC0686B6F5FB7DEDEE373EF6869C736
+ B6189FE4A4A7E79EFBFFF5799EFFE9E11863F83F834BFCF211506AD6A7585DFE
+ A99E3611BD4B1553DE7FC0DC797B64FC9C13387B883149017C0064549A528F56
+ 5A2A9E31AE2CD00EDF700AB62B034DAD22EC8B117E07482B3019F61516E7ED15
+ 6F8DA6BB6F79D84D1F0E5A197B8BDB06F06D7A743F5C8827B4997A684A6A804C
+ 031C7F8D78ED97FA9B5BB130E4531E9B2A2D655D191AA9CAE570201C61CC15C0
+ D94911D60EC642DC4915DA9BCA714C97024E6E87C46BA029AE86DA5C08C79F4E
+ A1F7CAB566AB08DB3DC280C19CA77FBBA42877BB776C940F08018444B0DB3E1C
+ EE6178AD1B88CAFDE58E02797526D8561BB1324A00519A191A532174E535181A
+ 1A176C3FF42595EB6360836595E1AB1C9DB660CC39A1EC0F46204E06B0AF4DC2
+ BBB17D0A409E1C032AD6E7E3C7223D8C31803C54E999C8B1AC85F3A6CF6BBFFC
+ 4BB30C3995A2B2D696E6BC2F8602691E6F50D9E79F4298CAD2DE069C4ECC320E
+ 90E32450BF6605BE37A623231122A9782CAF5A0DF7B44618F869F0FC9A55D94F
+ BB275DAA6058549EFB66C45BACC085D9654C02C8F1058F268B09DF64A5429B08
+ 11A97419463304B707E1E014A669215696093F9EDB097C399701EE01C8714A83
+ D60773F1499A1A7C1264D6A0864A54F397A8E65DF3396C4E801C67B4D85F9683
+ 4EB50ADC5CE25351B04972CB76865716B2F0BC8083D4DFAA545C2DCEC6BA9868
+ 34011096ED18C4E1768657659D2501C8519A2C9DB6AB7A6DB955F8E3376EBE12
+ C959F8C238B003E85C3480C497E5E51BCE6C78AA79EBDF17CE21484D5DA80FD3
+ 049916B1872047EE0B20F1ACE212F3B71B5B1EDD343E781DA3D7FA93C4C88E1E
+ 8941CDABA04B5C8F48F289C58BCF2BE76F1E00D55C5DBF42FF5D43D3238F07C3
+ 115CEFB90831CAE222816984DD213446818954158E136463ECD413546E428446
+ FB2E72FA9C80AF759A37B734D4BC9E663070FDBD5721787C890D955C41B45119
+ 3E57F6D29FA31BE8500187E8F1B2B8D80CE459827427014EF0D8FC585DD1C53C
+ 935E3DEC9CC4B06334A9C6247EC4CAB06776FA1F02D5F4EB8ED3743D77F75EA1
+ DE63DB6EE07C1CD05791FB7B6D85B1CAE70FE1D7010722E2DDD2FC13823D1C45
+ 039DD4C83C76D61A8197497D3F8DD43B990428BBADF4CE6505602FCAEE7EA826
+ BFA56FD0018F371417F747E017A650FB027003F70932482D099FA0A9E5CE9240
+ A37127633F739FF16859579ADD3D36E1492A0DB176B72BB7E0E2E23D20450B1C
+ A0E95ECA86A7526DDEC5582F27A759A6852D330575316708615C1A91B0E50D32
+ C9620109BDA9A78F27A9D91D7117D19D6A58AEC6E9340D1AC9350295A796360C
+ 2D557C76241D34D97E5E4A8F9270ED506EC4FF1E32E05FC9675CEF0AFC725300
+ 00000049454E44AE426082}
+ Name = 'PngImage5'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD2520000027F4944415478DA
+ 63FCFFFF3F032D0123CC02464646AC0A66243060B820630103230391006EC1C9
+ 898CEE406A07B2E4890B40C33AA6A268B8B8229761E9E67F0CD1BE4C1886FD67
+ F8E76151C0B0139705FF154C1A18045444212EAFC8061BFEE5C54D86A6E24970
+ 0D75BD790C770F4C015BD2B16802C3FFBFBF19FE01F1D7A7BF1836CC69C0F01D
+ 8A05061153510C7F7D7527032EF0ECF216B025AD73DAC016DCD8D2C870FEC23F
+ E22C787C6C21C3D64DA70886AFB79F1983988E07D8825B3B3B89B70066092100
+ 331C84EFECE923CD027430F9A037410B61A0345C016E095116FCFFFF8F61CA21
+ 5F869230798286F7AC7AC8D0317B23C3DB3DF98C445900321C9452A61E0D22DA
+ 021385DF0C21D5DBC096E0B50066F8BF3FBF18A69F8C2068C1AF3FFF1926AD7B
+ C410ED24CC70F3DE0BB025382D00451C03D00290E120F6CC33B1382DF8FB0F62
+ F8AF3FFF18666F79020E22BC71003210968160ECD91752B05A806C388CDEB9FF
+ 2458AE6CC6794C0BB0190EF2C5DC2B59700B225AAEE00CA6F63455B025478F9F
+ C1B4402F740256C341F4BCEBF9283EC0E67264FAF4E9B39816E8067563351CC4
+ 5F70AB046E0121C341F8E2F973981668FBB761351C8417DDAD045B00323CBA0D
+ 7710954629327CFBF997E1F6B58B981668FA346235FCFFBF3F0C8BEFD7321486
+ C8337CFFF50FAB8B41EC9FBF11620F6F5DC2B440C3B306ABE120FE92474D0C19
+ 7EB244190E62BFB87F19D302559712B8E1E8F4F2E75D0C495ED260030AA6DCC4
+ 1944715E32608BDE3DBE8A6981B45E00C3B34B9BB06A3C24798F21C64D8AA0CB
+ 416C503C7D7C8A6901B8CABC7001BBCB3E7B3E6008739220CA7010C0B00057A5
+ 0F03DD2B1FFC0FB013673874F43403B180640B90CB18620100261ED9D6E5FCF2
+ FA0000000049454E44AE426082}
+ Name = 'PngImage6'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD2520000037C4944415478DA
+ B595DF4F5B6518C73F2DFD4191B66C6C4E8512618376DD28B485B1C126D90F36
+ 8D1B1726264B76B53BAF3431DE99F80F18BDD1449399254B644E1747743ADD94
+ 48169C428131268366832D631BC838FC687B0A057AEA7B0EB692B562417D9393
+ 9C93F33EDFCFFB7D9EE73C47974824F83F976E25A0E59BCE75D1DEFBF00CD72F
+ 7FA4CB0A70E268DD9AC4450C454F17F2E63BEF6784FC2780EAEDCFF3580A6784
+ FC2B403CAE70EEBB007BFD4E22D15846C8BA01AA783C9EE0FC956E0EECDEC1C2
+ E2524648D680E1FB9374760E119A95B1D99FA2AECEC5739BED5C68EBD58AFCE4
+ CA1A1096635CBC14D084B7941761CECB25321D66EAFE440A343032811C959124
+ 498B39DDF275760055BCE5B3761C9E321CDB1D42DC844EA7435114E6E57946FB
+ 4778187C44D3613F66B3414BDBC5B6AEEC0167CF77905FBC096F4D3936430EF7
+ C2301E5D7E67B5409E3EC648D720F353111A1ADC28A226DFB607B203A839FFE1
+ 4A0FF5C71B291169B1EBE14E086E882C0813E488E70D3630CA53F48B4EF2EE72
+ 512852F6FDD5EEEC00EAE973375AA93C50C55C04CC0A8C89D3CB4B5060165D24
+ C242E2DE4A98B1BE2114D1413E7F053FFEDC9B1DE0E34F2E535A5341597529C3
+ 63301703530E3C9B07361308034C2E08A09009DD1A606CE801FB1AABF8E9D7BE
+ 7F06A8C5FAFCC235AC22FFAE3D2E46C661711136E5C266711905A8C0080BC255
+ 707A9E4737832CCE84D95959C6D540FFEA80E32FD56A1FD0E8F8B45683FD279B
+ 90643D2191A62DA2B076215C201C6C109738070392CC2F5F75E0F26CC5969FCB
+ B59EDF5607BC7AB84673B0245A51EDFF925D4E0A859389591D46B1F519E1C022
+ F2633588B489E79B771E70B73B48B5AF428B09DC185C1DF0CA419FB651854833
+ B2E6C2DFBC1BEB461BB373A20E8A0EBB69B9931E4F4DD37BA90B5FA59D2F4F9F
+ E575DF755AF3DE5E1DD0BCBFFACF39B3EC22223EB6E488F01CF163C9B7109989
+ 30D0D6A7C544676EE1609CA6E2DB58BC47986CFF9463AD957F0F78F9054F4A3C
+ 098A2B097E17436C38389A9A455B9D0E0C7A3D5F7CF02E45917BD497C6707B8C
+ E4541DD320C5AF756406BCD8B0334D3C39399F0427EF4FBD518FD751AB419C6E
+ 03267F730A920638B4C7BD26F1E4BE336FED4B41563A490334D63AB52075AEA8
+ 814BF1BF84944422A37872AD846C739B18948CE980BDBE726D22AE77F59C3A99
+ 829C934AD201997E1E6B5D55D1560A771C659BC7CB1F1C73BA92B5793DE80000
+ 000049454E44AE426082}
+ Name = 'PngImage7'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000B3A00000B3A01647F570D000002724944415478DA
+ 63FCFFFF3F032D01235D2C606464C42AB978D3F10C0E76EEE9E4181CEAAE0731
+ 1B9F05AB775E3A1DE2A66B822E0EF2F3BF7FFF19FEFEFB8742FF03D217AE3F67
+ E89DB19261F3BC2AFC16C05C0FB480E1E0E97B0CAFDF7FC5E95A51416E067D0D
+ 49B02513E6AC66D0D3353A03F481295E0B40AEB73751341115E2818BFDFB0F72
+ 2DC4A5A82E87E0CBB75E3014D6F6309CDF391D6C204E0B905D4FACE120B9C9F3
+ D6C05D8FD70264D713133C5A2AE20CD7EEBC44713D4E0BD05D4F8CCB4172A965
+ 5318FC3C6C18EEDDBDCEC0C6C6CEA0A363C400348311C30264D7136BF88D7BAF
+ C129C7232C99C152959B61FDFA350C17AE3D63D834B712AB05FF41AE07197EF8
+ CC7D82C1A3A620C2905E3115C570297975866DDBF7A35A50DBB3E03F30821880
+ AE671012E0C69AC681086BFACFAE9ECED0589D07371C04502C689EB8E4FFEF3F
+ 7FC9C9B070C0CCCCC2202EA30C371C04E016D4F52EFCDF541C4FD0901FBFFE31
+ 7CFFFD1F4CFFF8FD8FE1CF5F18FB3FC3E68D88A0F1F27444F5013116A01B0EA6
+ A18683F0FE9DEBC0110B321C2388401650143EB060E2E063E0E6E165E0E1E621
+ DE07845CFE1D2A7EE1C82686EF7F9818787878C0961C3A749AB005840C5FF4D5
+ 8E61C1850B0C4BB5DE30DC38B585E10D304973F3F2822D397BEE067E0B8871B9
+ F76901B0DAB9AAAF181E9CDFC670FFD173065E5E3EB025376F3DC16D01B1C1E2
+ 9D21C43083D59481B5790BC38B2BDB192E5EB9C1C0C7C7CFF0F1CB7FD4FA0066
+ 0138D9C10C40321C268E6C3848FC75B127D841300B4E9FBBC8C0CA210A361C24
+ 8E62415D411CC3EC95BBC94E41CF9F3F07275398E12816C08A0A4A92A8B28621
+ 43828F3E4AB90FB7809600004F6ECDEFF6DCFB3B0000000049454E44AE426082}
+ Name = 'PngImage8'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000B3A00000B3A01647F570D000002954944415478DA
+ B5955F6852511CC7BF3E9882694B723D6450D4A21ED61FB3879EEA295CABA058
+ D1CB6A23A315C2A441AC4123368A82FE5011066D63D1ECAF6058291643AC8D60
+ 966EB5FE3E64D4966B7B1841B1997A4FF75CF14E773DFE1978E070EE3D1E3F9F
+ EF399C9FCA082190C964284523F73A88AC54020A8F9E3323A7E0B6EB558352A1
+ B2150BAF991C00852B0779742EC143EFDB40CDB64AA3241DDF398EC066F74ABE
+ 6399372AC2E93B53904ACF0BE00F7CC5C4E45FC99AB15FA3B054AD07ECE781C6
+ CB4084876FD743D1DC01D97E736E014DBFC5B8DCA8D3CE17E7387E6D824FCE71
+ 9CB083CE07BD387CA94AF84CE1FC88E8EE3550D45961F04411F2DAD882F4F42C
+ 78821FBB1D3E58E2EF10BD7A425CA7708FC0507F26B7203D3DEB78C423DABA12
+ 38DD8868D02D1C0DF6D4C2B0D3CA16CC4E9F2D3927BC13F43CF2C3526B02EE5E
+ 037E8401F34940AB83C1740C2DC78F0AB74922484F9F0B4EFB1DD70B74D95D59
+ 7717ACDF88AC75C00B084D4FE12F5F8799C7439B6EA10AAB962DC291E6EB30ED
+ 3B84CD152A389D0EB4E9E3D23A3875A19BACAD34804F0F6D994A4C3B939A8EC8
+ 987378FA9975B0D770168FBB5A9282F62B3D24164FA0D8565EBE985907BB9E8D
+ CF085A2FDE226D4D07F302A7FF71988A11619C8E7178EAF531EB40BF64697182
+ D9703AF6FAFCCC3A90088A3E9FD41131EAA0E01D644B9E7C267833D0C7AC8382
+ 04B9E0B4BF0FF533EB20AF201F7C8A7FAE0E94096B3B2BC6F12DE446F87B046A
+ B5062AB51A9FBF8CB00585C0E97C75831637E49B206F7F82B1610F86863F41A3
+ 5980DF7F8800A7AC0C413C91064883A7E6D3E1747EA2297945538240700872A5
+ 4E8467085AAD0770F3FEF3B95C26A14522110C7EF899011705A99F8A39D3F9B6
+ 62F506D4ED5827F9E71204A56CFF01E5E2820611E3A8010000000049454E44AE
+ 426082}
+ Name = 'PngImage9'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD2520000029E4944415478DA
+ 63FCFFFF3F032D0123B2054BB79C24CBB6DE290B19CEEF9CCE882C063317C382
+ 681F73920C07EA619016136628AAEB43B184AA1618682A30BC7EFB19C512AA58
+ F0F7EF3F8615DB4F33D818AB337CF9F613C5128A2D0019FEF7EF7F86D5BBCE30
+ 38596833FCFAFD07C592733BA6319265C1FF7FFF19FE02F11FA00520F6BABDE7
+ C0918C0E48B2E0D687070C53AF4E62B8F0F6020348B59BB41F43A1661603EF12
+ 0E8637E15F188E9C7FC0F0F5DB5786B76FDF82D5CF5BBA89780BE6DC58C0B0FD
+ D9620C4B4F3FBFCFF0E4EB038697219FC0C1F5E7DF3F30BD79EF29E22D38FDEA
+ 0283F906230CC303551CC1F4FA3BFB199E057E801BFE0F18275B0F9C26DE0287
+ CD4E0C879E1F6028D56B606834AC021B62BEC582415D44106EC123FF7770C341
+ 71B3E3D019E22C38F5F20283FB7627860D6EFB18CC8575A0A9E61F83D5762B14
+ 0BEEFBBC811B0E8AF83D47CF116741FED12206676064BA49DAC00D1758CE8511
+ 5C773D5FC30D07A9D97FE202610B400A6BCEB430D4E95532FC03CA234722321B
+ E6F2B92FA631C408A581C50E9DBE84DF82084F5370068219C4BF9413C3D5F7BC
+ DFC033DAD467ED60B164E112B0FA6367AFE0B720D4CD04C595422BB8E1A9E6E6
+ 9BF70C5BACF7C00D7FCEFE942160971343B16E1D83277B3058CFE98BD7F15B10
+ E46C84121CA2AB79512CD868B10B6CF8DC97D319BA2F3530D8493A30F42A2E84
+ EB3977E5267E0BFC1C0D50C25A722D3FDC0274004A454DC67D0CAEAC81703D17
+ AFDFC66F81B79D1E4A10C96C106490E15600E75A74806E3828C2AFDCBC83DF02
+ 0F6B1D942092DF2CCC70DBE315C3F2D74B18763DDDC400D265206CC020CA2187
+ 61380810B4C0C5520B45132C4271255564C389B2C0DE541D258DC33210580C4B
+ 9E40369C280B6C8C54C125222500AF05D82A0F7200CC0200F191E9EFB5062090
+ 0000000049454E44AE426082}
+ Name = 'PngImage10'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300004E2000004E2001167D99DE0000035A4944415478DA
+ ED954D4C134114C7DFEC6E0B420B085A6A040DD88A45C0C4602D4A2D281F5589
+ F1AB6AA2094A4C5502DC34F160EAD11BF1E4498D462F1A43FC408BA052C11435
+ F8890AA222A2601B6B2D94B26DB73BEEB4168B16E1E2C1C4974C7627F37BFFFF
+ CB9B995D843186BF19E8BFC1940653012693897AF9CEAEA5696825732FE72B6B
+ 3877F2B6F01A982A77435595F48F0646A351E4E3E3342CE7BDFBD1F6F1E7024D
+ 957CE6BCED6FCC66EF6485D71D3DDE617FDFAD9ECC00E96B6BC5727FAC9A65DD
+ 41718EF795A6CBE6F9699A6925738F67ACE091A5A5235AB2C1502DA1E3F108E1
+ A219A0CA4A530C15CFE68F7986DB0814F0072AAC2DD71BC9A276FDA69D98E7CE
+ 7198DFDC616E6C8866A0D6EB13C448E48AB6078278A5209E22888F05C531E075
+ F76E5CBB11660B4AD716D30C732BC0F37A6B5363535403B56090F2BB01D209E2
+ 4AA96C99DB1D6A0BE251455BD395C6C8E4253A5D929491248F70CCD7A796CBDF
+ A219E495EE8A4F605CEE09060683412C92CED6F03CB64C26FE830F9F6B4A187C
+ D41D144EDECAFBF7D50889AC41039D4EC7C83354050850B0721FEB392441D892
+ 1827C62C93E892393F7F3863B1F822049142A110CB6473553C254AA431041806
+ 80E3001266A7D8ED036FFA3A3333F94237CB1103B4AD72DF0A0A51EDD18AE91F
+ EA3F2191CCBADA7CE9ECCD88EA614B556DC9E0A7B71BE7CF997FE0579E773B2E
+ 386C0EAB5CA962D1DE9A835AD273B25873B41E66C602385900DB28C0C008C0F3
+ 0127F49C3282D3ED2F7FD16626170C6FDB53534CE140F39FF8A10FB6D573E6A5
+ DE463B761FC061F17C39C0A03B34C209244892F9702924C5607DD6E2A501719C
+ A4793A7C863203D05C450ED6166AE1C8B17A9821F4718C9B5811097A580CC7AA
+ F38070E1980E1FDC2C7966567ED1AAD50F4945E1707943C3EE9998402A229196
+ 9A06D3E159AF6719D2EB6B63B20A942D19E5C6C2746908F0064209E449E0272E
+ 1BBC3D5F37D865BD6BCCC9CDE5E4694AB3667F3D4CC5B73E7EB020784CD76EDC
+ BE70C4EBE9D96ABA0831B470DC9CE2F1EA084CFAF9CDE95C33EAF8D49E9D9D0D
+ 0AC5224D5C72AA85984CC6B37E9FCAD1FFBA7BFCA269CACA14CB57569CEEEC68
+ 2EECEBED1B4F50E6A8067BBA7B770F753F89FC4453E5DB77AE1A1D1EBE13C986
+ F9AE675D455FDEBDEA0DEEC1BFFF47FBE70DBE03EC16D6DE8FAAF1BC00000000
+ 49454E44AE426082}
+ Name = 'PngImage11'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD252000003784944415478DA
+ B5566B48544114FE362D31A3C78F104C7B50145A902FECE15299D12668ADBA61
+ AE925AA405811585F4A31745FD308A0A42DB5EBBE96E56AE9AAF30CD2CC5C79A
+ BB998FCCEDA5640F15823233DC7B9BB9EBBDEEB65BAD5207863967E6CCF7CD39
+ 6766EE15B12C8BFF29224AA0CCAF89237DD63F051689E21323C5D91CC1F5BC6A
+ 96186302A0EB68EC0CC3C2C430309918B34E7A2AF2DD2751A23A21B22210F965
+ 9A17EB5304DD9ECD34256382FF25C11EA84D82DB8A6B9CDEFF301E771FE8A0D4
+ 94E0E1ED745B020A36F69DD39EC5F4552A7CAA88437155A37D02478421FE96E0
+ E6366293C610FD5E75D3F822A0E096B9363116E0C4765FA74677690CCA6B0D63
+ 23287EDC850B375BF0A4AD177D9FBF63DA94499086CCC1B15D0198E2EA2C44E1
+ 21D1E04DF16654D6373B4E702CF3098E663422FFAC049215B35050F5165BD22A
+ B8B9D0200FA84FAE11A2F00ACBC1CB42191EE99E395E03D76597F1FD8709BB36
+ FB207DEF320E689A58C9CD393B89D0551243C6F81A985357D3D4EA5804F47424
+ 1DA982BAD488C329FE48952FC6FDDA77901D28177C68CE79F0F91177D09E2B45
+ DDD3F6BF13F005A5EDC730C3919C57B7C063E6645434F40804AF8B64233B67B1
+ 28528B67B736A2B1A5E3F704F412D1313EDCEE8F0388492B87FE793FC2C45E50
+ 1C0A86A7E4A64060BC1B2D6CC447560083261CFAF64E5B82046930B7800233FC
+ 1927FADAE462E85A7BB9B9B6DC284C759B08CF0D390241475EA4E0CBF7CD1D46
+ FB04F4FA0F356CB75AE0BE2E1B43A4C854CA2E4AA02A3222ABE4A54060D044C0
+ 89149BFAFAC616A1E146185A3B5FD912C46F5C8989810A7C23EF8AC9E22229B4
+ 1D38AED07360625F77246E5A0065A111F7EB7AE03C4184D80DF3B047EE8D3A6F
+ 4F81D4455B694B200F5F0E97A02BF85293387A4B99D14233BF1C45ABB490A65B
+ 321B29CA73C84C48B54F10131664B573BB4056F3E6776778C447BF74EE9F09A2
+ D707622AB9407D95F1E6428F000D5B00FFFA06D5FB8CA685CA8E3307A1D877CA
+ 6A4C2090860660C66A1537D853160B8FF51AC1E9457E14164AB582AD5787C34F
+ 5E840CC34E6ED7ECE057B0FD1FC0F4BD0778BDD380EB060B8288103F3B69F8F3
+ EB49D36229DBB78A7145556D3F024A5058A973E89B604F86A242B02D7C01AE92
+ 636C5303FAD1CFD196667D1B1C1A3741EC9DD348F40597168D6C3F92E2A4A31F
+ 7DF207306E605E3200E1FF6727C90CAFFF0482645308AD8246DC000000004945
+ 4E44AE426082}
+ Name = 'PngImage12'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000E9C00000E9C01079453DD000003DC4944415478DA
+ BD947F4C1B6518C79F7BEF8EFBD56BAFC7951F33BA75E9822B88520C88D92C93
+ 05C410CA70986D3261B1DB3F261B24D3F92331F2A799C6B0F96B666668165D88
+ 12E7FE598CC14C639C43D0988D41B69974DD5A680B584A5B68EFFA7AAD81306C
+ 8D0BE2935CEE9E7B9FE7FB79DEF779DF97C018C35A1AF1BF020882C81978E004
+ A6EB6BA106236D0B42E4BD080045E3AA8A35ECA3587A607709717531F60ECD7F
+ 0378FFDBF806A9807E2734956898F027A94844054D03C86310701C02AB950B47
+ E3DA075D4EEEA5BB069CB898DCC671D03F3E1655BCDE0548A520F3A4D332DFFA
+ 9BA208D8B2D5047351B5EB48BDD09B13F0E27B41E7A580E5870B3D849AF64F5F
+ 49BA522AEE1B198E48B11806DE40416C4EBDA380A9192D03E278048D0DE61BDE
+ 49B2FAE5ED309515B0AFD7838D14FFEE3C6DE9AEAD559B6211AD7F642842A91A
+ B1243E3D1D85D999202416E2C08B0A30BC5907109999382A045C5E2674B6DAE0
+ 93AC8096377EC7452C8F79237DB6AC5CAC1BBA14165329B4243EE10B82DF3B06
+ 34237E93C2DA607C36F4B849595F67B26C22B03E0B399F82E626F9B3A76CB027
+ 27A0D0600235F9D7325034B5241E0C84E1E6F591A02E7870F058D599F4F87AE7
+ 295654882F8B37D434D08CA4C7226869967F7CA6143D9A1320911C305C5EC65F
+ 140F8713E0B9368C3535F5E4D069D7F9E53DB0EF38D526291BFB8DCAFD603090
+ B0C3257DB7A79474660534BF12C0884A81C9844056988C7824A24168D283FDDE
+ AB472F7FD17164E52EB3B77D7C1FCF291EB9F8613D8F84D656F3B95D25A83927
+ E076488375051498440C825E5178568399D0ED9F3DD7475CE35FB97D2B01B627
+ 3EB218154B405E570D160B05AD2D52DF4E1BDA97133039A3427AD714EA0D33EA
+ 907455A169350E40BA075EB37CBA12B0A9ADEF1E91C9BF251557C1462B03CEAD
+ E25BED65E8705640E5013F9E5767F553A4014AA9A07700B4E43CA49271482EC4
+ E7584172FD76A66E7039A0F2D9F35588CCFB49904BC1F1100F763B77F0390779
+ 3C2BA0F11830E274805EF4037F3BD731F5428F757EF91FC7DEAFBB04B3ED6D82
+ 12A0A9D1A4996554ED76D0C35901FF74D965B347BA6F725AD8F73D27592BD3B9
+ 9DED66DF956B0B9547DB8489FF0450D171712F6750FA106D440F3EC0E9CBC39C
+ 7CBE266FFF5DDFA6D9CCDE71B98867F02F2C5F50C43024EC6C312646C763F6E3
+ 9DD28D5503CADB7F1568160D7086C27A8AD42FB97A51CDB75087DD0EAA373DBE
+ 6A40C5FEB10F395674CB324B6C731A4010D09B7E0FF56ACFD34462D580C70E85
+ 369BCC7874730987CB4AD9D1C980FAFA0BDBD9CF97C7AC0AE03C3423EDDA2D9C
+ 5414FADCAD089CEDAE20FE58199313B016B6E6803F0192C0D6E065D4DD9D0000
+ 000049454E44AE426082}
+ Name = 'PngImage13'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000AEB00000AEB01828B0D5A0000053A4944415478DA
+ AD956B50546518C79F73CE2ECB5ED9B3ECB22C48800A02CA45101BBCA005D9D4
+ 4C17758C6FD57899FAE0D4871AB3CC6B5FD2748CA91877600AB3A949CA4427E3
+ A65C1409729565B92CEEB2807B935DD80BECB2B773F6F4420A5841493D33E7D3
+ 7BDEDFEF39FFF799F760F058C5601F2BAB443E079B0C077DF250304086432117
+ CDC6AD3EA77FACAC6CAF77EAA5B93BB07F8B3EFD55A37872CC95C7E5725E6671
+ 584F4570D871188E7182815068D2E3354E38DC17273C8E2B9DC33A4D735599E7
+ B10495E76FC63B6CCED7F8A4708F58267A429620C5C4B1628C601310F006C06E
+ 1A656CF7ECA151B3ADDB366256EA07BB2EFEF4CD19FBF427FF13FCA4F29214A3
+ 88BD9218F2CDB4DCA531B1F1122C40B0C11B02A0C37F74C822502A011F63EA37
+ 33BACEBB8377BBD5A75B9B7EF956A3B9E15C50B063C77922AF20622B29979CC8
+ 29484D4C7F428647E038DCF703BC70E826681A34F0F9B15720398F0452C0000F
+ 0FC1B0C640AB9A3ABA55ED8DEFFD5C5D797541C1A7E5D5F2E024766C59CEB29D
+ F96B5388380E0BC351CFEE2040E187B3024516096C1680044958FE71467D4D1D
+ AAABAE52B65D6F38BAA0E0E8890B05B21871E5AAC28C94D8043926A601F80480
+ 651260DB47B382F47C12BC14008ED6A2793458D4FDE196CBB53D576BBE7B635E
+ C1543C2B32A8ED4B33932A5617670929161F761EB9396F330F6519EB49A06C56
+ 4655D3EA3A5B7162DF0282C3112969A9AFA7E7A794E61467478E072360FD66E5
+ CC7A6671E634746E4D0956AD2301BC4EE8ACFDD5AF2C3DF2C9BC824D9B0EB30A
+ 3624EF589EBDBC3CB7389B1F2004A06A76CEAC2B5BFA66BA9E5B1B3693601DB6
+ 30B7EB5B3D155F1C2B5DF00C0E1CAE2C8C8E8B399BFB744EA2302E16333B3020
+ D08E680EC09EE3B367B0BD98041A4D2A9A5AF08469E8EAE8635A2E5D19BCF07D
+ D9A90505EF1CA84814F1F92757ADCFDC96929F8A8F4DA2F9F7014421C1C62DCA
+ 9958B622C154518866754E80A6454D55559EA96F69AA3E3EAF40B57FCB726D50
+ C0D2466DD9268D4F7C376B6396589A28C7EC1E0218344D7DEDB371BD84040CC6
+ 80C31F64746A1DEABECE5873F9EBB33A9DFAB3BF15B41F78A690C7659A3D9152
+ D044AE8500AE08B1F83266C593692C91428A071836BA0470E0A2B1E4A10747E1
+ 38C6BD8C65C014EEBCFE9BA3B1EEC7DAB6EB57CA298A6AFB8BA0637FF18B3C11
+ 5D91B03A534684ECA0712583C61D0316271EE408E4DEA495295162B904E39242
+ 60B1D998DFE367D04507F6210BD577476DBD73BBF9467B5BED799FC7D38470EE
+ 47041D1F146D1788C22715B9EB92843C0A5CDA4EE8B708A163221E8C7E4269F3
+ B0FB2339FC2269AC224D1EAF904444B2591E97276C1A1A720E1B740383035DB7
+ 7A7B54F5341DB88D702E987BD94D752E10D3A58ABC8D4922AE7F1A6E30B2C130
+ 26048DD50A23E38EE7CBEB354D19196B93A3158A748C2696D1B43F0AC5002EF7
+ 98C334ACEFF47ADD030835821EDF432EF630733E9FFA217ECD3A998817828981
+ 2ED0E93130B824A0350D41B7590F6E7FF0B9BA2E67CD833DE8E6017410403CE0
+ 4C4D68706A90E0CF3F1CD5C1E2A24801D1B0243707F85C149AF60E188609E877
+ 4483D6A8875E8BDEE5F4516F35F6B8CEC1220AEB39FE2CB3247B25F0055C14CB
+ 2D1834B2C0E010836678007AAD7ABBCB1B3C78AD775CB918F8B4A0FE5409B366
+ 752A50860E1832A1CC4705A0351B416DEC7721F8FBD7FAC6CF2C163E2D38B4EF
+ 6D2647781F12682F82F3A0CF6C821EF3008C7A03AF2E36964704BB77EF629688
+ F9407A6CE01CB987E006704FFA76D575BBBFFCAFF06941494949915020688811
+ F1E15E4F2BD82CFA5D63DDEE732A80D0FF21F81D69327688E78891A000000000
+ 49454E44AE426082}
+ Name = 'PngImage14'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000AEB00000AEB01828B0D5A000005234944415478DA
+ AD956B4C53671880DF7329BD9CB6B4A5174A454005112F205E16DCD46C3097ED
+ C7B2690CFFB665BAE80FB3FDD8E2DC8C739AFD984EE3C8326203D9702E5B069B
+ 139D8E9B82283299454AB9147B81DA9BB4D00BB4F476DAB3AF80896E02D3ED24
+ 5F4E4ECEF99EE7FDDEEF7DBF83C1135D0CF6B9BA4E18F2B0C4896848118B46C4
+ 8958CC1767E1CE90373C5E59B92F98FCE8E119D8BF459FFAB6553435EE5BC7E5
+ B25F23D9E4F3296C56068663EC6824169B0A04AD931EFFF9C980E7728FC5A0BB
+ 5657197822414DED4D95C7E57D93120BDE11C9848B6599524C942EC208160191
+ 6004DCB631C675CF1D1BB3BBFA5CA376B571B8F7FCAFDF9F764F2F7921F809F5
+ 05294613FB2472F1DEFCE225F27495048B102C08C600E2899908490265251262
+ 6C4376C6D07377F86E9FF65447DBEF3FE87437BCF30A76EEAC25D695A4BC2E56
+ 488E1795E465AD582CC353701CEE870106BD00D1F84C0E481C40CC678087C7C0
+ A233C7356D5D7D9A5BAD1F5EAAAFB932AFE0CBAA7A45740A3BBAB468E9DB1B36
+ E612196C12C311D11F05E81E07F044101F9B192C12408224647882D15ED5C69A
+ EAEBD49DD75B8ECC2B3872FC5C894C2EAA59B5A520373D53818950C41401E098
+ 0218F2CD940B8F35B38A200D80A37769BC3838B44389F68B8DFD571A7EDC33A7
+ 20999EE505F48E25ABB3ABD796AD11D024056EEFC2BBC6E502D02E27A369E8F0
+ 9DA93EBE7F1EC1E194DCFCBCB7566CC8AD282A2BE44C445360EF6737E704EB5A
+ 7470E9B73D4071D043D00B3D8D7F84D5159F7E31A760EBD6C364C973393B9715
+ 2EAB2A2E2BA422041F4AB6AAE78D3E295009019C1607D3DDDC11A8FEFA68C5BC
+ 0B3E78B8664B5A86FC4CF10B4559828C74ECBE77E1B6C9498D436FD720D37EE1
+ F2F0B99F2A4FCE3BE3FD83D559428A3AB1EAD9D5DB7337E4E1E353A8FE4300A9
+ 6C00394A059B98ED83590A8DEE4EEF24E8DAB5745DCDE9E6F6B6FA63730A3407
+ B62DD347F9A43E75DB76A92AEB83359BD788A4590ACC1D208041D5244896650A
+ 2A4FD4033896DC7C063CE12863D01A50F44DD6868BDF9D3118B45F3D5670EBE0
+ 8B5B785CE65A8023051D67234470658CA464CCF267F249A1528A4718549B0C0E
+ 5CB4021E1A3824C03311641C265BA2E7FA9F9ED6A65F1A3BAF5FAEA269BAF31F
+ 82AE0365AFF284F1EACCB5AB6544CC0D3A5F0EE8FC727078F1289BAF0866AFCC
+ 4D15292418572C0092C5C2C28130830E3A708F38E8C13B5AE79DEE6B376E7536
+ D68602813684F33F22E8FAB874075F9838A12CDE942DE0D1E0D3F7C09043005D
+ 932AB08609B52BC01AE2B0A95269BA325FA1524A52382C32E00B246C23235E8B
+ D9601A36F5DE1EE8D734C7E3916E8443ADF850DB2423E78BE215CA759BB385DC
+ F034DC6C6581795C003AA71346273CAF5435EBDA0A0A36E6A429952BB038B134
+ 1E0FA7A23480CF3FEEB1598C3DC1A0DF8450A368841E70B10739A728FA67D5FA
+ 4D32212F0693A65E30183130FB24A0B78D409FDD08FE70F4E5A65E6FC3EC1CB4
+ C5903C2488590E3A57219A2C24F8FB0F4773A8AC94C3275A1615170185DADCAF
+ BF03660B01439E34D05B8D30E030FABC21FADDD67EDFD9059BE03117D67FEC25
+ 6651E14AA0F85C9496DB306C25C1EC1181CE628201A7D1ED0B460F5D1D98503F
+ 0D7C5AD07CB29C59BF360F6873178CD850CEC7F8A0B75B416B1DF221F8475707
+ 274E3F2D7C5AF0C9FEF79822C17DC88C07119C0783761BF4DB4D30168CBCF1B4
+ 697944B07BF72E6691880271C005DED17B086E06FF546857539FFF9BFF0A9F16
+ 949797970AF8FC16B990827BFD1DE07218778DF7F9CF6A0062FF87E02F9F6855
+ 88E7298D620000000049454E44AE426082}
+ Name = 'PngImage0'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000AEB00000AEB01828B0D5A000005A34944415478DA
+ 8D960B50546514C7CFBDFB625958DC455049C8074A3C44B490C67C8C5A098A8E
+ 8E61A0E68C363A4C884C5A3E7240D1F1C13496A58E634FCD0AABC9416DB29C18
+ D9626C542052234904158170A10576F7DEBBDF7D75BEBB0B3E82F49BF9CF7767
+ F7DCFFEF7CCF731918B8E950C1283B6AB8D96C8C62F5AC4994149EF0A4197F6B
+ 4575A13894D29F81AAAAC00C601EA6D3416A5090F9F9509B65AA2D3C74C490E8
+ C121C19620D6E316E4F616678FCBD973C3E5723B445E2CC7F81A94F7710034EB
+ B17ABD7E516C42744E424AECA8F8F1234D23C63CC10C8D8900539001BC5E1E5A
+ 6EFD0DF57537D53F6A1BF9FADAC66B6D8D1DC7144529C3776F51DF8100D43CCD
+ 1E11B626754A52C69CACA9831252464358B815581DA305CB8A028AAA804F26E0
+ 1638686DBBAB5EB9F417549EAA71D6573595096E72103DAEF442EE07B0A8F1B6
+ 48EB96CC97A6A72F58362B3866F43046A763FBD2A1C6C5F90ED8F8EEB3C0893C
+ 78509C28809BF74243FD6DF5E7D2AA9ECB3F5DFF9678C91E0C6FF0FBDF034418
+ 0CBA4DF397CE5CBD7CCD7C4B544C24A36391C930BDB940D19A735AE0EB7B9F06
+ 0FE1347935103EFB38B8D3D0AE3A3EAD72D59737BD8361FB513DBD0093C1C02E
+ 9B38257157DE9625914F258F445F06588645E1D46048515E399C2E3D08F372F2
+ 20B7244933778B5EF05210422888230234D5DC81F3876B9B3AEA5DEBD1F73402
+ 240A181E3ED476287BD5EC3959AFA6B366B34903E8581DF66C9F396D14B0724F
+ 3CB87D1E70138F96B936020471124E57B7176A8F5F93AE7F7FFB33C9236D4440
+ 07CE33A4C7A5C41ECDDF9A13999C1AA7654DB3A7806DF9157DE6BD80FE5AD4AA
+ 0EE071148244A0F9421B5C3DD2D0E469E65620C0C1982C86E21973D336BF5698
+ 6D1844774C20FB9D05950F98D31D24490A88921C90FF39B7E02DB0AF6C418080
+ 001F74B5F640DD478DA2EBF79E4259944B98109BE5544E6E46E6E2D5E98CDEA0
+ 031617F7ED75171ECB9C2A7F7D21985FB901BCE407705E011A4BEFA8CE739D47
+ 245E59C9D822C2AAF28AB3274E9FFB0C43E77EDF869AC736F71109DED85C0CCC
+ 92BAC0088876465ACF38D5B613CE5F658FFC1C631F32A8A660D7D209A93393B4
+ 1D7968F3953E407FA6D243CF9B0A77009F558D009F66EE9345E83CD705EDDF74
+ D6CA6E790263B5592A96AD9B37EDC5ECC98C04321045842FB7DE8413C7DE7FA4
+ 39ED0B8B77C13F0BCE6BD3A3017C22749C76A9DD673DD58AA0A432C1A1410766
+ 2C9A949BB576B60E8218201844213FEC76C1E71FEEFD5F73AAED3B4BA0655E05
+ F81040307BA18B40676997CAFF269C54457521C31AD8E58993461F78796346A8
+ 2DC61A18A61F72699F0A1FECDFDD6758F06651BFDBB431E34704F8DFE11A04E8
+ FECACD49B7E5125556B7D383161F1963FB62F6EA2929492FC4323E55BC079125
+ 683C6C85F7DEDEAE01E8822AD957B5E9E051DAB468BDDF5CC445F73838953B2B
+ FCA276AB5BF01C545240A8C1ACDB903C2B6EFDF455A966A3DD0082ECD3168B42
+ 44EC5D47A361CF8E426D41DD8B2EF6ED169A756FE634195F1B016F19D72DD5C9
+ 5B41828F11E0E9BDECE22DB6A092B4A5E3D3C7A63FA9978D0AC35388F6B27F67
+ E8BF4ED602DB321D81D1899A4445F2F76E51E52A0442CAC5E340A010439BEFBF
+ 4D8DA8CCC1636D45E316C4260E993458279914C6171809096CBFF09393E166C6
+ 59CDD01730A72324682E54119138C845F52E6C432F074A7AB8E0846255586C1F
+ 655D1B3D6D5842449A5DCFD870573DB026FE7511E994507311FF6B2720541322
+ 568BD56A3BD0ABFA3B943050C9B4A266996C8615F6C4B099D6849060D3082303
+ 363CD1264583116AEA45E05DEC9B7C2AA9177BA4EBF2192CFD9FE0BB9528FE51
+ 45DF801AC31AD9857AAB3ED318AE8F3344E843749178EF5A8021DDA24ADA4549
+ 724A3DB24BF95375AB65B8A02703F5587A54D1EF6DF477FAC91285953A99D1C3
+ 38303276BC074D8A0CBC4A54271EFACBA8AB18D30EFE4F97FF340AF8172272E4
+ FE66E507F40000000049454E44AE426082}
+ Name = 'PngImage16'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000AEB00000AEB01828B0D5A000005A14944415478DA
+ 8D960B50546514C7CFBD771FC0C2E22E026A8A2F140145B490C65047AC0445D3
+ F111A463A38DE608CA949A1A83864C2AD5E8543A4D33659AD360E3E8A036D958
+ 069B943D80C8576E12A8BCC28559D8C7DDBBDF7D75BECB2EBE60F49BF9CFBD77
+ F7DCFFEF7CE77B5D06066E1C2A0C65450D0F0D350C6375AC5194141FF19166FC
+ AD0DD58DE2514A7F06AAAA0233807924C7415A4848E8F31116D30C4B54C4A8D8
+ 1183C3C34C21ACC72DC81DAD0E97D3E1FAD7E974DB449F7801E3EB50DE2701D0
+ ACC7EB74BA25F14923F29252E3C7244E1E6D1C35EE2966485C341843F4E0F5FA
+ A0F5F67F60BF7E4BBD56DFE8B3D737DE686FEC3CA6284A05BE7B9BFA0E04A0E6
+ E9D6E8C882B48C89D9F396CD1894943A1622A3CCC0728C162C2B0A28AA027E99
+ 805BE0A1ADFDAE7AE58F7FA0FA4C9DC35ED35421B8C921F4B81284DC0F605193
+ 2D31E6A29CA5B3B216AD9C1316377628C3716C5F3AD4B864A30DB61D781678D1
+ 071E142F0AE0F679A1C17E47FDA9BCC675F9879B278997ECC3F0865EFF7B8068
+ BD9EDBBE7045E6BA55050B4DC3E262188E4526C30473D12EBB0A2AB5E0B57B13
+ C14378F06A201E3C7E1E5A1A3A54DB17354EFB85A6FD18F231CA150418F57A76
+ E5D48CE43DF945AFC44C48198DBE0CB00C8BC2D260888A5192224169810DCE96
+ 1F820579F9F0D2CE58F02284F68482782240535D0BFCF2697D53A7DDB9197DCF
+ 2240A280E151432C9FE4AE9D3B6FD96B596C68A85103702C87572C11CB8084CF
+ 7E4584F736546900DA2824638BB1B70708E2252C578F17EA8FDF906E7E7BE74B
+ C9236D434027D619B21252E38F6EDC9517939296A0654DB32F2DBCD8EFFCA500
+ 3AD892A4C0D2570B21219F0737027CD80B4122D0FC5B3B5C3DD2D0E469E65723
+ C0C6184DFA92D9F3D3776C28CED50FA2332690FDBB85D57DD9DEDF82E6A2246B
+ 5AF5FA56B0AE69458080003F74B7B9E0FA678DA2F32F57B12CCA654CB8C57426
+ 6F7D76CEF275598C4ECF01CBB25A0FCADEB8F408E061733170BFBEF06D80BC6B
+ 1A80F70AD058DEA23A2ABB8E483E650D63898EACC92FC99D3A6BFE338C36B808
+ A0A37F606BED038081CCA9FC44822D3B4AA07BF1AFDA1A693BE750DB4F392EC9
+ 1EF939C61A3BA8AE70CF8A29699913B5A9884B09449C31878BEC7D80FE4CA587
+ EEB7179742FB822A0488D055D90D1D27BAEA65B73C85315B4C552BDF5C30F3C5
+ DCE98C0432109C2DA22CC189DD2D1AE049CDDB722AB5ECFD7E113ACF3AD59EF3
+ 9E5A4550D298B0889083B3974C5BBF6CD35C0E421820184421DFED75C2A9631F
+ 3D91792BCD1CEB4F307BA19B405779B7EAFB5338AD8AEA6286D5B3AB92A78D3D
+ F8F2B6EC084B9CB9370BD4CFFB49BFD3F4C3F7773F98399AD3C1F54BBD89F10D
+ 02F47CEDE6A53B72992AABBBE9424B8C89B37C35775D46EAC417E219BF2AF641
+ 08968ABE4402CF3D4747C2077B77DDCB9C9605CD8580B98883EDB1F12A7F5EB8
+ A8F6A8453859AA2920421FCABD95322761F3ACB569A106AB1E04D9AF0D163515
+ E5205004B97C02EC2B2DD6CC5B727ED4B20E664E93F1B713F056F03DD27519B3
+ 80CF11E0096E7689264B4859FA8AC959E3B346EA6483C2F8E460B77BCD697DC3
+ 4E3EAD05DFCAFE5E7BA6A2334EBBBA4595AF1208B9201E0702C518D67CFF6E6A
+ 40E50C1E6FD93969517C72ECB4C19C6454187FA02724D083A8D3D3D1FCBC66E8
+ 0F98D31E1234176A88486CE477F52EBC835E3694F4F0811381A7C272EB18F3A6
+ 1133872645A75B758C0567D50363D23B2E222D093517F1BF0E02422D2162AD58
+ AB7600DDAABF4109031D9966D41CA345BFDA9A1C99694E0A0F338E323060C195
+ 6C543418A1A65E04DEC56B935F2576D125DD94CFE1D17F18DFAD46F91E77E8EB
+ 51E35803BB5867D6E518A27409FA685D381783FBAE0918D223AAA443942487E4
+ 929DCADFAA5BADC0013D1D388FA5C71DFAC1467FA79F2CC3F0A44E617430090C
+ 8C15B729A322834F25AA0317FD65D4558CE980DE4F97471A05FC0F622CD6FE88
+ 2F15D20000000049454E44AE426082}
+ Name = 'PngImage15'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD252000002814944415478DA
+ 63FCFFFF3F032D0123C8822F5C7FFED767DC625876E301458645692830B0B2FF
+ 67E8ECD06184391CCC282EBAF6DFC7478B21AA671BC3F36D5E040DFAF3E71FC3
+ EFBF7F19FEFDFB0F66FF01B275A20E32AC28E766F0F2F26250538B63387F7E3A
+ 235E0B3AD73F25CAD571D6BC60DA28E108C3A783A160365116E07339C4D540FC
+ 07C1364B3EC6D0E0AFCDF0EBD72F8679F3FA48B7009FE1206C957682A1CA5395
+ E1E7AFDF0C4B974CA65E10051AB28169FBACD30CC5CE0A401FFC6658BD6A06F1
+ 3E20E4F2DF50BE73DE59862C2B09A0057F18B66C9E4F9C05C41A0E4A45EE8517
+ 18524C44C03ED8B573097E0B40C9AF7BE333A282C8550D92DEBD4B2F31C4E9F1
+ 03E3E017C3C1FDAB705BF0748B2786EB103EC04CFF3039FF8A2B0CE11A9C601F
+ 1C3FBA1EB7050F37BAE3351C3DB8FE41732CC882402516B005674F6FC16E0138
+ BB032D2107C00C07E583CB1777E1B6E02FD07520853F7FFE82D0504DE86C506A
+ 8188C1F81039909A5BD7F763B7006678754D0159BE5056B303EB7FFCE038A605
+ 6E6EC05CF813E292D6B60A9002AC86FCFEF593E1F7CF9F0CBF8018C4CE2E3A0A
+ 16BF7DF30083AC822558FFCB6767302DB0B757807BB3BBA70E6C0137373758B3
+ 868605C3D9B37B310CFFF3FB17437EF969B805E252266033DEBFB9886981A5A5
+ 343C0C274D6A065B2025A5C42029A9C8A0AB6BCD307B563586E1BF81EA4B6A2F
+ C22D1014D107B3B15A606C2C0A8DC4DF0C336674802D303676061BAEA666C450
+ 90EB8461F81F20AE68BE4E9C053ABA02F0208216B70C09097560C385852519C2
+ 8395300C07D1B59D77095BC0C8C8C8505478F5BF82222B72718B35CC910DFF07
+ CC78F53D0F88B300040C0C32A8D202B87061066A9D4C4B40730B0038C31BFE85
+ 5838D40000000049454E44AE426082}
+ Name = 'PngImage17'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD2520000026D4944415478DA
+ B5966D48535118C7FF138A455F84588C0A7A27AA1163CDB69168929851CB5806
+ 81D5878A7C29412428484264A85006814342E805112DE8436F94F43E74393775
+ ABC1552C87B5EA6286B7B01AB4BBD3CE8D0DC57976B7D9038773B8F79CDFEF9C
+ F33C17AE821082FF198AE982F607CE946C4DCD3731D8D5A2A063FFDA73E4C9FB
+ 469C8CB0E30A4AF61A928247D660F9D225A8BE7019366F0B0CD595C8186B43AB
+ 4D9024F322D06E5C8521F75D2CAB2A85E94026E010C00533D1CD09E99D4014C3
+ E87CE482F2A717D93B8A305AA381A97F4282D3484B40E1A248F0BAE33486825A
+ 188D464C0A5FF1A3AA002A9EC0C7837D457957C7124A6A958DD896AF4146C08D
+ 1B1E23D46A35789E87D56A452010483EC9244C20465A28B27B6767650CFEE5D7
+ 38BE8F7F46AF5026C1559BCDB1AA922D48040F0A1E145B57E06C7D2BAEB5DF4B
+ 4E20176E7778F0F0A54B9E205E0EA6DF793C38DDC463BB5BFE0992D97974DED3
+ 9E01798254E0B4745FF47A120BA2354EFB70E47D435D09FE902294177630E1B4
+ D95D6FD88243BBB324F8AEEB01E95959A8166F3F4E4137F509CEC515B0AC3922
+ C1D7D574CFC8CF95DC050885C370F4FBD88283057A69277432ED2FD51FC5999C
+ 85F03FE7E00F2A71E7C322D435DF8A9D303A2F3A767939B6C0B253175BD4D556
+ 0197E3154EE95663D0FF1B8E491EE50D7D73C2693FE01B660BF6E569638B8E9F
+ 3886D1110E2B5504872D7AE8CD179970DABCDC085BB027678B34B1F8F604BED9
+ CC385FBA1586FD4D33123F179C26DC37FC8E2D28DCAE99B5482E9C464241BE69
+ 53CA705982DCAC0DFFEA5F24B36A9C7E132CB82C41B66E3DEE3FEB433AC114D0
+ 3F84F988A8E02F75743575B8E251160000000049454E44AE426082}
+ Name = 'PngImage18'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300004E2000004E2001167D99DE000004124944415478DA
+ ED955F4C5B551CC77FF7DEFE61D0C204D7758139C15684752C1A565A47D7A983
+ 1664449D75337301A7D68D8CBD69F4C11463627858427C30DD8B3A0C8B0FBA10
+ 71B8F247470706A6996E93617173C060A56D645DD7526EDBDB7BBCE75E6F2D5A
+ 46E2E29BBFE4E49ED3F33DDFCFEFFCEE39B7044208FECB20FE07AC0A584DE070
+ 38C889EB011345C1101EC798786D77D747DF72DDE46A6B1B0F1E54DE1560B7DB
+ A57136DB4033B17373FEB9BF262872978F898D5C73B9622B257EB4ED83B1C0B4
+ 47BF1280B0B6B6CAD4892C3D4D477873868DD76C543D90A028C9101E47A34BC6
+ 1FDD83639916DB6C2D0A2A0785B12E1380686A72C8C91CBA72297A67188B9289
+ 64C3E8E0D7BD78D2F4F4B3FB11CB7431887D6ECCD5DB9D09A0B75A7365843494
+ E91D70E64D9C790167BEC49B2340F5DF9D397D46D41A6BEA9EA024926F922C6B
+ 1DEDEBEDCB08D07380827F02083367AE55AAB64522425908966818EEEBE94D5F
+ BCD56C5EAB9428F2C38CE4D625F797B733012A6A5ECAC9958422CB00369B4D26
+ 55AE33B02C72AF64FEA75E3CD724D7D88C6F903B79DBCF9FD7138474940798CD
+ 6689BAB8CC4800C1671EA7A36F2A08E4CECB96215A921752057D373ADDEE789A
+ 21A1D168642A5561194B4AF3280449890480610072D7150402B3D7A62E9494B0
+ D5119AC100E285A6D71F27097224533233F3334E85E2FEAF064E7DDA2F663F57
+ 21DC01DB867AE7A60D9B0EA7EBF3E6273EFB708DFF45DF758F90C9AB47DE30E1
+ 9AE3C191B60EB82F0B204803F8170166C3003FCF0661F2633B042309CB956117
+ BE60E83897EC6B4E07CC3BDF85503F9DD2FB16A2606F7F14C8DDCDFCDCE9CB1C
+ 605FF361249A57AA01BC11A189001C18E27ABB06D6CA91B574F3634959B66260
+ E709278890E91E9AD737BE550E64FD81947957DD6E200A353A64AA36C13BED1D
+ B086ABE312B37C0738A83B32686FA900AC1303EB87D5592988BAA41408CBBE94
+ F97B1A9D50226EA272E78E277FC03B102314135A20BA1C50AC2DE6C745EB8B40
+ D48F3F9805AF580BF9BEDF7B93374FF4B3BC9E8E45B711566BABBCD4A81D2CB6
+ D8AB372A05C3585200E02736BF18F2C36F278F7AC747CFD9755BB630EA22ADCB
+ 70A803B05E1EFE1D2C6D55BC398EEE636C4A3FF4D3F70FF1C7B4EE99BD0F8763
+ D1C9E71D9F839CE2DE605096DA0D16E3FADF0E069F5A5CB839525E5E0E1ACD23
+ 86ECFCF56EA3FD18B4BCBF19FC37A6F9CCF14E30A82AAA033A112F5B98F9D593
+ BA6886DA5A4DD5F6864F2E8C0D544F5D9D4A01B4BA32EFA4E76AF3BCE762FA27
+ 9AB4ECDDBFE340E897B37B923EE81CF0420F57B646EE0E8990A2CBC2255EF5FF
+ 60A548580BF7708F2FB0399344CD87003AF1EFDC1146E9907B01A0D1F1004CCC
+ 254E70E62FA7CFA543FE3560726B3E3A7BE916EE2A38C0E2DFE731A4A1E21E4A
+ 745CF86CE838F32B77D3FC01CF05F8A9B438C37F0000000049454E44AE426082}
+ Name = 'PngImage19'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD252000001B74944415478DA
+ B5943D2C044114C7DF6A5CA150894204052AD14B7C14D7701D9D44EB4A854434
+ BE3A89E28A0BD128080DA7388ABB444E88904B705710111FA5467D91DB9D9D31
+ 6F6677CFB9B998DD75AFD8F9DCFF6FDEBCFDAFC118834686810063BB3CC9FB47
+ 8AF52988475241C585B6036089C1DA0D7345FE88478C7F030841FF5137CB0A60
+ F5395C2156FA95597A80D3F377161BEBF953C7223694BE4C20361563D324109B
+ 598442762B3800D75110C54DCB167D14C638CEDEC0CE7E3A3800D76C14E4E284
+ C81641160761A4CFF2C100388745213617B628942DC2019801952D9180ECE55D
+ 30804D2950CAE0F0D586E98BDAFA27064A106D3321775DD4074C8C763B93F2E4
+ 16BF92965D06F5FC5118FE84ABDB077DC0F88804C8821271E7AD074D10C61F6C
+ B639E501A2439D62567E2D4464D09EFC08A4EC65B0DC6754D520B997A9DAD0D5
+ D10B61FC719FD9AC0096D6376A5E5C5B988730FEF00086A1FE9F9DE4DE42F9C3
+ 37C0AF3F7C035C7FE049F1C41240C518A1652703D71F5A00953F4C47D86BC555
+ 71805303D71F5A00953F4C2703B7B5BCB104E48B4FFA00953F7E9E5C05283EBE
+ F8ABC16F7FE8843640E50FDDF0008D8C6F397A5EEFE9EAF0950000000049454E
+ 44AE426082}
+ Name = 'PngImage20'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD2520000018C4944415478DA
+ 63FCFFFF3F032D01E3A8054459C0C8C8C860E091F0FFC28E058C843490AA8E3E
+ 16187A26D22C9C864910812CA079102DD87000251E40E23F7FFE62F8F90B827F
+ C0D8405A47439528753D15A98C2816C4FBDBA3D8FEFBCF5F08FEFD17CEEE98B1
+ 9461626D1651EA26D565E3B6009BA64BB75E306CD8B183617A733E51EA66B414
+ 60B7009BA6DF7FFE315CBFF78A61F9860D0C0BBACB8952B7B0A70261C1FCF5FB
+ FF270438E0D404A2EF3C7ACB307FC54A861593EB8852B7724A3DC282192B76FE
+ 4F0A76C6A9E91750ECD1F30F0CD3162C625833BD8928759BE6B4212C98B868F3
+ FF9450379C9A40F8C59BCF0C7D336633AC9FDD4694BA5D4B7A111674CD59FB3F
+ 2DCC13A7A65FBFFF30BCFBF89DA175E21486CD73BB88527778F51484054D5397
+ FFCF8CF4C1A9E9D7AFBF0C5FBEFF62A8EDEC61D8B6B09F2875A737CF415850DD
+ BFF07F76B43F3889E103152D1D0CDB164D204A1D4A5151D231FBFF2F600EFCF5
+ EB37C3F71F3F187EFCF809A47F42E89F20FA0730DCFF8035DB599912A50E6E01
+ 2DC1D0B7000029AD9AF9DFD03E1F0000000049454E44AE426082}
+ Name = 'PngImage21'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD25200000A4D694343505068
+ 6F746F73686F70204943432070726F66696C65000078DA9D53775893F7163EDF
+ F7650F5642D8F0B1976C81002223AC08C81059A21092006184101240C585880A
+ 561415119C4855C482D50A489D88E2A028B867418A885A8B555C38EE1FDCA7B5
+ 7D7AEFEDEDFBD7FBBCE79CE7FCCE79CF0F8011122691E6A26A003952853C3AD8
+ 1F8F4F48C4C9BD80021548E0042010E6CBC26705C50000F00379787E74B03FFC
+ 01AF6F00020070D52E2412C7E1FF83BA50265700209100E02212E70B01905200
+ C82E54C81400C81800B053B3640A009400006C797C422200AA0D00ECF4493E05
+ 00D8A993DC1700D8A21CA908008D0100992847240240BB00605581522C02C0C2
+ 00A0AC40222E04C0AE018059B632470280BD0500768E58900F4060008099422C
+ CC0020380200431E13CD03204C03A030D2BFE0A95F7085B8480100C0CB95CD97
+ 4BD23314B895D01A77F2F0E0E221E2C26CB142611729106609E4229C979B2313
+ 48E7034CCE0C00001AF9D1C1FE383F90E7E6E4E1E666E76CEFF4C5A2FE6BF06F
+ 223E21F1DFFEBC8C020400104ECFEFDA5FE5E5D60370C701B075BF6BA95B00DA
+ 560068DFF95D33DB09A05A0AD07AF98B7938FC401E9EA150C83C1D1C0A0B0BED
+ 2562A1BD30E38B3EFF33E16FE08B7EF6FC401EFEDB7AF000719A4099ADC0A383
+ FD71616E76AE528EE7CB0442316EF7E723FEC7857FFD8E29D1E234B15C2C158A
+ F15889B850224DC779B952914421C995E212E97F32F11F96FD0993770D00AC86
+ 4FC04EB607B5CB6CC07EEE01028B0E58D27600407EF32D8C1A0B910010673432
+ 79F7000093BFF98F402B0100CD97A4E30000BCE8185CA894174CC608000044A0
+ 812AB041070CC114ACC00E9CC11DBCC01702610644400C24C03C104206E4801C
+ 0AA11896411954C03AD804B5B0031AA0119AE110B4C131380DE7E0125C81EB70
+ 170660189EC218BC86090441C8081361213A8811628ED822CE0817998E042261
+ 48349280A420E988145122C5C872A402A9426A915D4823F22D7214398D5C40FA
+ 90DBC820328AFC8ABC47319481B25103D4027540B9A81F1A8AC6A073D174340F
+ 5D8096A26BD11AB41E3D80B6A2A7D14BE87574007D8A8E6380D1310E668CD961
+ 5C8C87456089581A26C71663E55835568F35631D583776151BC09E61EF082402
+ 8B8013EC085E8410C26C82909047584C5843A825EC23B412BA085709838431C2
+ 272293A84FB4257A12F9C478623AB1905846AC26EE211E219E255E270E135F93
+ 48240EC992E44E0A21259032490B496B48DB482DA453A43ED210699C4C26EB90
+ 6DC9DEE408B280AC209791B7900F904F92FBC9C3E4B7143AC588E24C09A22452
+ A494124A35653FE504A59F324299A0AA51CDA99ED408AA883A9F5A496DA07650
+ 2F5387A91334759A25CD9B1643CBA42DA3D5D09A696769F7682FE974BA09DD83
+ 1E4597D097D26BE807E9E7E983F4770C0D860D83C7486228196B197B19A718B7
+ 192F994CA605D39799C85430D7321B9967980F986F55582AF62A7C1591CA1295
+ 3A9556957E95E7AA545573553FD579AA0B54AB550FAB5E567DA64655B350E3A9
+ 09D416ABD5A91D55BBA936AECE5277528F50CF515FA3BE5FFD82FA630DB28685
+ 46A08648A35463B7C6198D2116C63265F15842D6725603EB2C6B984D625BB2F9
+ EC4C7605FB1B762F7B4C534373AA66AC6691669DE671CD010EC6B1E0F039D99C
+ 4ACE21CE0DCE7B2D032D3F2DB1D66AAD66AD7EAD37DA7ADABEDA62ED72ED16ED
+ EBDAEF75709D409D2C9DF53A6D3AF77509BA36BA51BA85BADB75CFEA3ED363EB
+ 79E909F5CAF50EE9DDD147F56DF4A3F517EAEFD6EFD11F373034083690196C31
+ 3863F0CC9063E86B9869B8D1F084E1A811CB68BA91C468A3D149A327B826EE87
+ 67E33578173E66AC6F1C62AC34DE65DC6B3C61626932DBA4C4A4C5E4BE29CD94
+ 6B9A66BAD1B4D374CCCCC82CDCACD8ACC9EC8E39D59C6B9E61BED9BCDBFC8D85
+ A5459CC54A8B368BC796DA967CCB05964D96F7AC98563E567956F556D7AC49D6
+ 5CEB2CEB6DD6576C501B579B0C9B3A9BCBB6A8AD9BADC4769B6DDF14E2148F29
+ D229F5536EDA31ECFCEC0AEC9AEC06ED39F661F625F66DF6CF1DCC1C121DD63B
+ 743B7C727475CC766C70BCEBA4E134C3A9C4A9C3E957671B67A1739DF33517A6
+ 4B90CB1297769717536DA78AA76E9F7ACB95E51AEEBAD2B5D3F5A39BBB9BDCAD
+ D96DD4DDCC3DC57DABFB4D2E9B1BC95DC33DEF41F4F0F758E271CCE39DA79BA7
+ C2F390E72F5E765E595EFBBD1E4FB39C269ED6306DC8DBC45BE0BDCB7B603A3E
+ 3D65FACEE9033EC63E029F7A9F87BEA6BE22DF3DBE237ED67E997E07FC9EFB3B
+ FACBFD8FF8BFE179F216F14E056001C101E501BD811A81B3036B031F049904A5
+ 0735058D05BB062F0C3E15420C090D591F72936FC017F21BF96333DC672C9AD1
+ 15CA089D155A1BFA30CC264C1ED6118E86CF08DF107E6FA6F94CE9CCB60888E0
+ 476C88B81F69199917F97D14292A32AA2EEA51B453747174F72CD6ACE459FB67
+ BD8EF18FA98CB93BDB6AB6727667AC6A6C526C63EC9BB880B8AAB8817887F845
+ F1971274132409ED89E4C4D8C43D89E37302E76C9A339CE49A54967463AEE5DC
+ A2B917E6E9CECB9E773C593559907C3885981297B23FE5832042502F184FE5A7
+ 6E4D1D13F2849B854F45BEA28DA251B1B7B84A3C92E69D5695F638DD3B7D43FA
+ 68864F4675C633094F522B79911992B923F34D5644D6DEACCFD971D92D39949C
+ 949CA3520D6996B42BD730B728B74F662B2B930DE479E66DCA1B9387CAF7E423
+ F973F3DB156C854CD1A3B452AE500E164C2FA82B785B185B78B848BD485AD433
+ DF66FEEAF9230B82167CBD90B050B8B0B3D8B87859F1E022BF45BB16238B5317
+ 772E315D52BA647869F0D27DCB68CBB296FD50E2585255F26A79DCF28E5283D2
+ A5A5432B82573495A994C9CB6EAEF45AB9631561956455EF6A97D55B567F2A17
+ 955FAC70ACA8AEF8B046B8E6E2574E5FD57CF5796DDADADE4AB7CAEDEB48EBA4
+ EB6EACF759BFAF4ABD6A41D5D086F00DAD1BF18DE51B5F6D4ADE74A17A6AF58E
+ CDB4CDCACD03356135ED5BCCB6ACDBF2A136A3F67A9D7F5DCB56FDADABB7BED9
+ 26DAD6BFDD777BF30E831D153BDEEF94ECBCB52B78576BBD457DF56ED2EE82DD
+ 8F1A621BBABFE67EDDB847774FC59E8F7BA57B07F645EFEB6A746F6CDCAFBFBF
+ B2096D52368D1E483A70E59B806FDA9BED9A77B5705A2A0EC241E5C127DFA67C
+ 7BE350E8A1CEC3DCC3CDDF997FB7F508EB48792BD23ABF75AC2DA36DA03DA1BD
+ EFE88CA39D1D5E1D47BEB7FF7EEF31E36375C7358F579EA09D283DF1F9E48293
+ E3A764A79E9D4E3F3DD499DC79F74CFC996B5D515DBD6743CF9E3F1774EE4CB7
+ 5FF7C9F3DEE78F5DF0BC70F422F762DB25B74BAD3DAE3D477E70FDE148AF5B6F
+ EB65F7CBED573CAE74F44DEB3BD1EFD37FFA6AC0D573D7F8D72E5D9F79BDEFC6
+ EC1BB76E26DD1CB825BAF5F876F6ED17770AEE4CDC5D7A8F78AFFCBEDAFDEA07
+ FA0FEA7FB4FEB165C06DE0F860C060CFC3590FEF0E09879EFE94FFD387E1D247
+ CC47D52346238D8F9D1F1F1B0D1ABDF264CE93E1A7B2A713CFCA7E56FF79EB73
+ ABE7DFFDE2FB4BCF58FCD8F00BF98BCFBFAE79A9F372EFABA9AF3AC723C71FBC
+ CE793DF1A6FCADCEDB7DEFB8EFBADFC7BD1F9928FC40FE50F3D1FA63C7A7D04F
+ F73EE77CFEFC2FF784F3FB25D29F330000026B4944415478DA63FCFFFF3F032D
+ 0123B2054BB79CA49A6DD13EE68C582D004A906CD8DFBFFF80F83F980601EBC0
+ 7C86733BA6E1B6C073BF2D8A01DB1D0FE3341C59ED2AB33D0C0BD7ED6798B774
+ 137E0B4871B9CF217B0659251686D93B0E30BC8FFCC6B064E341C21660F301BA
+ 18086CB43EC0E07FD48161C7AD2360FE9BB02F0CCBB71CA6CC07FFFF01C31A88
+ FF005D0F62FFF9F70F1A07FFC0ECD5DB8E92EE036200C8178F03DE336CD87582
+ 380B60DE26053CF07DCBB079EF29E22CC09772B001909E692A1B18B61E384DBC
+ 05B8820A66394C1EA676B2D27A861D87CE50EE8389058E0C5FD9CF3108BFFA84
+ D7574FBE3A91E60398A56DE5FC0C117EBF1824187F30FCFAC900C13F18187EC2
+ 68203E7982080BB08199898C0CB1A910363EC3F9251818AEDEC5624184A72938
+ 7762F341C0A2230C2C82F823FBCF7B84E158E320D4CD049C3BB1F900D9F520F0
+ E93DC4C5300CF2C1993390A0B133DCC770E83C161F04391B31049D70C2690148
+ 332100321C04B05AE0E768C01076CA05AB46501021FB0004FEFE0506CB6F0686
+ DFBF80BEF8CEC070E306420EAB05DE767AF0720556C680CA1E10BDA75E14C502
+ 90A1BF8186FFF90561AF59C3C1A0A6F183818D058F051ED63A580D075528FB9B
+ C430E2006430C80720BC651B0783943CC402365606861397B158E062A985D570
+ 107DA85502C582B72F1186832CDAB9878341441A62C1953B4E0CCDABF6326258
+ 606FAA0E36ECDF5F44B10CB3F078A734DC029081EF5E210C0705D5BE831C0C7C
+ E23F181E3C81188E3599DA18A9824B446C80759F27D88299533970A6A077BFAD
+ 18B67E52C75D16F54E598853B33DEF3E061E4669BC4914643808C02C00000530
+ 36AC648583960000000049454E44AE426082}
+ Name = 'PngImage22'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD252000001CE4944415478DA
+ 63FCFFFF3F032D0123B2058B361EA79A6D71FE968C582D004A906CD8DFBFFF80
+ F83F9806010BDF6C868B7B66E1B660AFA53D8A01CEC70FE2341C59ADE99E5D0C
+ F356EF6198BF64237E0B4871F9011B4706651669866DA7973344BEFCC6B070FD
+ 3EC21660F301BA1808D81EDCC770D8DE89E1E6F943607ED8B32F0C4B361DA0CC
+ 07FFFF01C31A88FF005D0F62FFFE070CFF3FFFC0BEF9F3EF2FC38A2D8749F701
+ 3100E40BDF07EF18D6EE38469C05306F9302BCEEBE61D8B0FB047116E04B39D8
+ 00488FE2CAB50C9BF69D24DE025C4105B31C260F532BB77C0DC3D603A768E703
+ C925AB18761D3E433B1F882D58C1B0F7F839DAF94078EE328603A72EE0B720DA
+ C71C9C3BC9F101FFEC250C47CE5CC26F4184A719387792E303AEE90B194E5EB8
+ 8ADF8250371386634E2E6459C03E653EC399CBD7F15B10E062C470DAC50DAF61
+ 20CBFFCC9D0FE7B32427822D60993897E1FCB59BF82DF0753080972B9072FE1F
+ B8EC018B01CBFCA7D1A118F103E333F6CF61B874E3167E0BBC6CF5701A0EA25F
+ C485630D3EA22D70B3D6C66938A8047D93188933E888B2C0D15C036CD8BFBF90
+ 62F9F75F4471FCEF3FD4A27FFF501C810C085A6067A2062E112901782DE89D3C
+ 9F6C839101CC0200E97E29EF897181770000000049454E44AE426082}
+ Name = 'PngImage23'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD252000001BE4944415478DA
+ 63FCFFFF3F032D0123B2054BB79CA49A6DD13EE68C582D004A906CD8DFBFFF80
+ F83F980601EBC07C86733BA6E1B6C0B6683F8A0187FB1C711A8EAC765BB315C3
+ C275FB19E62DDD84DF02525CEE507A9081455D89E1C08C1D0CEF0FC6312CD978
+ 90B005D87C802E06027B3BEC189C2B0E311CD97F0BCC7FB32F8661F996C394F9
+ E0FF3F605803F11FA0EB41EC3FFFFE41E3E01F98BD7ADB51D27D400C00F9E2F1
+ 8E70860DBB4E106701CCDBA480075B431936EF3D459C05F8520E3600D2B3A850
+ 8F61EB81D3C45B802BA86096C3E4616AE7E7EB32EC387486763E989DA3CDB0E7
+ E839DAF96046A626C3FE131768E783A969EA0C874E5FC26F4184A729387792E3
+ 838929AA0CC7CE5EC16F41A89B09387792E3839E042586D317AFE3B720C8D988
+ C1ADFA08591674C62A309CBB7213BF057E8E060C5EB5C7F01A06B27CC1913F70
+ 7E820D0BD882B62839868BD76FE3B7C0DB4E0F5EAEC0CA1850D9032BF393275F
+ C1881F18BF394296E1CACD3BF82DF0B0D6C16938884E9B760D6BF0116D818BA5
+ 164EC3411667CDB88133E888B2C0DE541D6CD8BFBF88621966E1BFFFFFB1061F
+ 322068818D912AB844A404E0B5A077CA428A0C8701980500619929EF09CFCE42
+ 0000000049454E44AE426082}
+ Name = 'PngImage24'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F80000000970485973000017120000171201679FD2520000026C4944415478DA
+ 63FCFFFF3FC3A28DC7FF335009C4F95B3222F319611600254836ECEFDF7F40FC
+ 1F4C8380856F36C3C53DB3705BB0D7D21EC500E7E307711A8EACD674CF2E8679
+ ABF730CC5FB211BF05A4B8FC808D2383328B34C3B6D3CB19225F7E6358B87E1F
+ 610BB0F9005D0C046C0FEE63386CEFC470F3FC21303FECD91786259B0E50E683
+ FFFF80610DC47F80AE07B17FFF0386FF9F7F60DFFCF9F79761C596C3A4FB8018
+ 00F285EF83770C6B771C23CE0298B749015E77DF306CD87D82380BF0A51C6C00
+ A44771E55A864DFB4E126F01AEA082590E9387A9955BBE8661EB8153B4F381E4
+ 92550CBB0E9FA1AE0F6EAA108EABC75FEDC8F3C1B4584686847408FBE74F0686
+ 5F3F2018C4FEF903824F1C47B320DAC71C9C3B09F98058C3F9251818AEDC45B2
+ 20C2D30C9C3BF1F90064388B207EDFFD798F301C250E42DD4C188E39B910B400
+ E67A10F8F80EE2E21F5097FFFACEC070FA0C2468EC0D0F311C3C8FE483001723
+ 86D32E6E785D078A5890664200643808A058E0EB60002F5720E5FC3F70D90316
+ 0396F94FA343C11620FB001C247F81F83703C36F501C007D70ED3A420EC5022F
+ 5B3D9C8683E81771E11816FCFA05341888FF40E995ABD919D4357E32B0B160B1
+ C0CD5A1BA7E1A012F44D62248605A038005B00F201106FDACACE202D0FB1808D
+ 9581E1F865240B1CCD35C086FDFB0B29967FFF4514C7FFFE432C3ADD2D8F62C1
+ 9B1708C341166DDFCDCE202A0DB1E0F21D3B86F6750719E116D899A8814B447C
+ 806DAF0FDC0250F0BC7B89301C44EF39C0CEC02FFE93E1FE1388E128C9B477F2
+ 7C82A9235D7236D882A993D971AA79F7DB1C6E38DC0262417738C73AA00181F8
+ D4201B0E0200C20B50400F1E42A70000000049454E44AE426082}
+ Name = 'PngImage25'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
+ F8000000097048597300000B3A00000B3A01647F570D000001B94944415478DA
+ 63FCFFFF3F032D01E38058C0C8C888C2DFB9B651F9C58DAD77DE3F3E85AAF007
+ 7643F3E7FF6724C9828B27D7FCE7E0E46350D3754511FFFFEB15C3BFCF9718FE
+ 7FB90CC40F18FE7D99C43063068916005D6FCEC2CA71C2CE239F8185959DA0E1
+ 050B50CD2468C1C903F3FF4B486B32C8A9986375FDBF179B510C07CB116B01D0
+ F5C15C3C426BAC5DB3512CC56738D116000D67061AFE4755DB99411CE803620D
+ 27C5827C0161B90966F6091841F3E7762BDC7064407410ED5AD7C40F8CD80FC6
+ D6D10CFC42D22886FFFFF992E1EFA339600B9001497100B4A05B4246BB44CF2C
+ 18C3F0FFBF209801C4474B3D4407D1F26EF7FF1F1E9E61F8F5F51D5C2C77D225
+ A20C272915415392B4BA9ACC13194939A20C27C7826E7131C1126D6521A20C27
+ C902A0E1DC2C2CCC5F0CD5051878397E116538A916E40BF0734F3052FCCEF0FF
+ FB6BA20C27DA027046E364FFA322C5C420CCF28468C349B1C01F68C10633B967
+ C0A021DE70A22D38B9A7E7BF28DF1F06A97F1524194E9405C08C660C8CDC3316
+ 624D0CB367FE22C970A22CB87864F27FB66F5B18762DDF45B2E1445970E3F4F4
+ FF7BE75530E4CCF844B2E14459404D40730B006B5E9AE0A24640FE0000000049
+ 454E44AE426082}
+ Name = 'PngImage26'
+ Background = clWindow
+ end>
+ Bitmap = {}
+ end
+ inherited JvAppRegistryStorage: TJvAppRegistryStorage [7]
+ end
+ inherited dsDataTable: TDADataSource [8]
+ end
+ inherited GridPopupMenu: TPopupMenu
+ object Generar2: TMenuItem [6]
+ Action = actGenerar
+ end
+ object N4: TMenuItem [7]
+ Caption = '-'
+ end
+ end
+ object JsGenerarDialog: TJSDialog
+ Content.Strings = (
+ 'Elija una opci'#243'n:')
+ DialogOptions = [doCommandLinks, doModal]
+ Glyph.Data = {
+ 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00
+ 00001C0806000000720DDF940000000970485973000017120000171201679FD2
+ 520000000467414D410000B18E7CFB5193000003104944415478DAAD96FB4B14
+ 5114C7CFE463DC1E606444BFF54424D3DC55CA52B1CCD7165A219905054182FD
+ 1452FD5810FD100406610A669A998FC4F5BDB6266265DAB60F5DD15E58FE03B2
+ 3F99D29ABBA7B9779C71C61D9D6177CFCE70CFDCB97B3EF7DCF3BD33C38082FD
+ B502B2B300CC656020048688A24F036233A0671F40D43160BA87BF62AEEE1010
+ 60D7AE293AD8B835815E9B625C80DC8F1E88D4A7C1E8C1FB8F9FD6C3C44035B3
+ 21500A65F6D700FE2EA580A5EC551F4A50359316B31D76EFDC0EE5F72A645045
+ A067AE0623074B8140891108F1057064CC0D556053DF173812B707E6DCF332A8
+ 225080D201DB4AF99BF335B4D502F371415BCC364833C4C29F458F0C2A031281
+ 081734AB0B3C88403C1E6E3E2E7960F6A8FFD27A7D3EF07A11DA2C76C84A8D87
+ A57FCB32E8B8A54A4C8C21B59365C9015996EF2240B6634DF435B51460A46D1F
+ 70C093AA46BF09C980C12CA914E6F371ADD707EF1DB3B0B0B8006EB79B8EA96B
+ EA5106121851245129118FD8BFA2DC5C53C6BAF5EBBBBA97C2D64EC064195B1F
+ 286C76E956A0EA5C51AEB4764A9929F5750D5A9581D2274B9B651C0BA2F514A8
+ 6F28E36B70AD9A4253EF97A9AA55B0CEBA87D03B645B3F43C1DE589C58186D10
+ 81150FCAC57B11E161B04517099BB953C78643141B01BA28EEE4DAB0B04DE2B8
+ CA460B9C399902E661BB3AB0F5AD038BF30CD4D7E7DD14815A61023027DD00EF
+ 469C1A80FD1C307F1578FD4A81E665945AD68924181A9D5007B6F4DBF1527E32
+ F5C9D3632351F8F549AEE916B14EAA039BCD362C31A6040D23E7887D4A03B0CF
+ 86C5C6641A24BB7646D3F2D51A77F8C1BCDCFFC79CD3EAC0D7BD56AE86294165
+ 4660CB5C6B737DD3062CCA31D00069E76E05241862CF1EDD05E7D40F756063CF
+ 673C7F5A4F679A59541EF03E4C8C3B0893DF67D481AFBAC7B0F05412CD30EBE2
+ ED80F7617CEC0198FEF94B1BF06C6622AD4B4EC99D80F7A1666043D7281A3312
+ FD84C20B8417C3AA789405239826E0CBCE4F98979E10344C33B0BE630473D312
+ 82866906D6993E62F6F1C3F45D160A5305BE68FF8095CF5B4302134CFE1185EA
+ 1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082}
+ Instruction.Text = 'Generar a partir del pedido...'
+ Instruction.Glyph.Data = {
+ 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00
+ 00001C0806000000720DDF940000000970485973000017120000171201679FD2
+ 520000000467414D410000B18E7CFB5193000003104944415478DAAD96FB4B14
+ 5114C7CFE463DC1E606444BFF54424D3DC55CA52B1CCD7165A219905054182FD
+ 1452FD5810FD100406610A669A998FC4F5BDB6266265DAB60F5DD15E58FE03B2
+ 3F99D29ABBA7B9779C71C61D9D6177CFCE70CFDCB97B3EF7DCF3BD33C38082FD
+ B502B2B300CC656020048688A24F036233A0671F40D43160BA87BF62AEEE1010
+ 60D7AE293AD8B835815E9B625C80DC8F1E88D4A7C1E8C1FB8F9FD6C3C44035B3
+ 21500A65F6D700FE2EA580A5EC551F4A50359316B31D76EFDC0EE5F72A645045
+ A067AE0623074B8140891108F1057064CC0D556053DF173812B707E6DCF332A8
+ 225080D201DB4AF99BF335B4D502F371415BCC364833C4C29F458F0C2A031281
+ 081734AB0B3C88403C1E6E3E2E7960F6A8FFD27A7D3EF07A11DA2C76C84A8D87
+ A57FCB32E8B8A54A4C8C21B59365C9015996EF2240B6634DF435B51460A46D1F
+ 70C093AA46BF09C980C12CA914E6F371ADD707EF1DB3B0B0B8006EB79B8EA96B
+ EA5106121851245129118FD8BFA2DC5C53C6BAF5EBBBBA97C2D64EC064195B1F
+ 286C76E956A0EA5C51AEB4764A9929F5750D5A9581D2274B9B651C0BA2F514A8
+ 6F28E36B70AD9A4253EF97A9AA55B0CEBA87D03B645B3F43C1DE589C58186D10
+ 81150FCAC57B11E161B04517099BB953C78643141B01BA28EEE4DAB0B04DE2B8
+ CA460B9C399902E661BB3AB0F5AD038BF30CD4D7E7DD14815A61023027DD00EF
+ 469C1A80FD1C307F1578FD4A81E665945AD68924181A9D5007B6F4DBF1527E32
+ F5C9D3632351F8F549AEE916B14EAA039BCD362C31A6040D23E7887D4A03B0CF
+ 86C5C6641A24BB7646D3F2D51A77F8C1BCDCFFC79CD3EAC0D7BD56AE86294165
+ 4660CB5C6B737DD3062CCA31D00069E76E05241862CF1EDD05E7D40F756063CF
+ 673C7F5A4F679A59541EF03E4C8C3B0893DF67D481AFBAC7B0F05412CD30EBE2
+ ED80F7617CEC0198FEF94B1BF06C6622AD4B4EC99D80F7A1666043D7281A3312
+ FD84C20B8417C3AA789405239826E0CBCE4F98979E10344C33B0BE630473D312
+ 82866906D6993E62F6F1C3F45D160A5305BE68FF8095CF5B4302134CFE1185EA
+ 1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082}
+ Instruction.Icon = tdiCustom
+ CustomButtons = <
+ item
+ Caption = 'Generar un albar'#225'n de cliente'
+ Value = 100
+ Default = True
+ Info.Strings = (
+
+ 'Se generar'#225' un albar'#225'n de cliente basado en este pedido. Solo se' +
+ ' tendr'#225'n en cuenta aquellos art'#237'culos que existan en el cat'#225'logo' +
+ ' y sean inventariables.'
+ '')
+ end
+ item
+ Caption = 'Generar uno o m'#225's pedidos a proveedor'
+ Value = 200
+ Info.Strings = (
+
+ 'Generar pedidos a los proveedores con los art'#237'culos de este pedi' +
+ 'do que existan en el cat'#225'logo y sean inventariables.')
+ end>
+ ButtonBar.Buttons = [cbCancel]
+ MainIcon = tdiCustom
+ Title = 'FactuGES'
+ Position = dpMainFormCenter
+ Icon.Data = {
+ 0000010003002020100001000400E8020000360000002020000001000800A808
+ 00001E0300002020000001002000A8100000C60B000028000000200000004000
+ 0000010004000000000000020000000000000000000000000000000000000000
+ 000000008000008000000080800080000000800080008080000080808000C0C0
+ C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000
+ 0000000000000000000000000000000008777777777777777777777700000000
+ 0877767777677776777767760000000008F88888888888888888888700000000
+ 08F8FF8F8F888888888888860000000008FF8F8F88F8F8888888888C00000000
+ 08F88888F8888888888888860000000008F8688878E8888E88E8788700000000
+ 08F8688888F8F8FFFFFF88760000000008FF4888888F8FFFFFFF788700000000
+ 08F8676767677677677658E50000000008FF8888888887878787888700000000
+ 08FF8887887E8888888888860000000008FFE8E8E788C8E8FF8F8F8600000000
+ 08FFF8F8F8F8FF8F88F8F8870000000008FFFFFF8FF8F8F8F88F888600000000
+ 0FF8477878787878788788860000000008FF68888888F8FF8F8F788700000000
+ 08B7588888FF8FFFFFFF78860000083008BB47887776777777776F86000000B7
+ 8B9B73BB88788787E87878870000008BB8B9BB78888888EFF8F8FF8600000087
+ B8BB8B888E8E8E88FFF8F886000000088BBB888FFFFFFFFFF8F877770000B9BB
+ B8FFBB9B9BFFFFFFF87466460000BBB9BB8FBBBBB8FFFFFFF88F888700000008
+ B8BB88888FFFFFFFF88F8F7700000008BBBBBB8FFFFFFFFFFF8887700000007B
+ B7B98BB8FFFFFFFFF8887700000000B78B9B87B888F88F88F8877000000007B0
+ 08BB883B78888788787700000000000000B9000000000000000000000000FFFF
+ FFFFF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800
+ 000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800
+ 000FF800000FF800000F9800000FC000000FC000000FC000000FE000000F0000
+ 000F0000000FE000000FE000001FC000003FC000007F980000FFFCFFFFFF2800
+ 0000200000004000000001000800000000000004000000000000000000000001
+ 00000001000000000000694731007C5D49007E604C0081635000826451008567
+ 540085685500886B5900896D5B008A6E5D008B705F008E715F008B7260008C72
+ 61008E74640084766C00957A6900977D6D00887B72009A8171009D8272009C84
+ 76009D8778009F897B00A28A7900A08B7D00A18C7E00E1B06E00E1B67D003E7A
+ 970073A0A5007AA2B70074AFBD007BB2BB003CAACE0028A5DB0020ADDF000D9A
+ E500209EE3000DA6E2001AA4EF0000A6FF000CABFE0009ACFE0010A4F10015AC
+ FA0000B5FB0000B0FD000CB6FC0000BFF90000BAFD0004BAFD0009BBFB0013B6
+ F40015BFFA001CBDFB0026B7FD00589EC50040A4CD0040ABCC0050A2C7005DAE
+ C00060A3C20062A4C60060B7CB006AB0CD007BB6C80077BAC80061BADD0044AD
+ E50000C3F80007C6FB0000CAF80000CFFB0000D4F90026C8FA0026CDF8002BCC
+ F90039C4FB0039C2FC0039CAFA003FCFFB0024D6F80030D2F80039D5F80000F8
+ F8001FF8F8002CF6F8003EF4F8005AC6DC0070CDDF0052C0E40054C9E3004DCE
+ FA005FC7FF004FD2FB004DD9F8005FD9FB006ED3E70063CDFE0060D1FB0060D8
+ F90060DDF80046F8F90056F0F8005FFAFA0073E3F80073E4F90073EEF80060F1
+ F800958A84009A918C0081999500A68F8200AD968500A3968C00AE988900AD9A
+ 8D00B19A8B00AF9C9000B09E9200B59F9200B7A29300B2A19600B5A19400B7A4
+ 9700BDA79700B4A39800B1A59D00B4A79F00BAA69800BCA79900B4A89F00BCA8
+ 9900BAA89C00BDAA9D00BEAC9E0083ADBD00B5A9A100BDABA000BEADA100BFAF
+ A500A0BABE00C0AB9E00C1AC9E00C6AE9F00E2B98100E4BA8300E4BB8400E5BC
+ 8500E1BD8E00E3BF9000C0ADA000C2B0A300C2B1A500C4B2A600C1B2A800C3B5
+ AB00C8B4A800CCB9AD00CEBCB100D0BEB200D1BFB400E4C19300E5C29400E6C4
+ 9600E8C69900D0C9A300CFC1B800D2C1B600D3C3B800D5C4B900D6C6BC00D8C6
+ BC00D6C8BE00DAC9BF00ECD3B000EDD4B200EFD6B500E7D1B800E7D3BD00F0D8
+ B6008CB7C40080BEC70097C3C70099C3C900ABD7CF00AFD9DD0086E3F90086E7
+ F90086ECF8009EE5FB0090E8F900ACEDFC00BCEAFD00BCF1FB00BFF1FD00D7C9
+ C000D9CAC100DCCBC200DACCC200DDCCC300DACCC400DDCEC400DED0C600DED1
+ C900DED3CC00DFD4CD00E1D1C900E2D5CD00F0DCC200E3D8D200E5D9D200E2DA
+ D500E6DBD400E5DCD500E8DDD600E6DDD800E9DFD900E6E0DB00EAE0DA00EAE2
+ DD00ECE3DE00EBE4DE00ECE4DE00F3E7D900C6E1EF00C9EFFD00D7F6FD00DFF3
+ FF00DFFEFE00EBE7E300EDE6E100EFE7E400EEE8E400F0EAE600F2EDE900F2EE
+ EC00F4EFEC00F5F0EE00F9F4ED00E7FAFD00EBF8FF00F6F2F000F7F4F100F8F4
+ F200F9F7F500FAF8F600FBF9F900FCFBFA00FCFCFB00FEFEFE00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000007D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D
+ 0D0D0000000000000000009C9C19191919191919191919191919191919191919
+ 1903000000000000000000ABDECBCBC7C7AFABABABABAAA3A2A2A0A0A0A0A0A0
+ 8607000000000000000000ABECEAE9DEDEDEDED7D5D2D2D2CBCBCBCBB0CBB0CB
+ 9007000000000000000000ABEDECEAE9DEDEDBD7D7D5D2D2D2CDCDCBB0B0B0B0
+ 9007000000000000000000AFEDE9A9CFD2CFD2CDCBCBCBB0B0ABACA3A3A3A3B0
+ 9007000000000000000000AFF0D5017783838386868686869099909999907BB0
+ 9007000000000000000000B0F4D501A0B0CBD2D5DEECEDF7FAFAFAFAFAF77BAA
+ 9007000000000000000000CBF4DC01A0B0B0B0D2D5DBEAEDF7FAFAFAFAF47BB0
+ 9007000000000000000000CBF8DC010404070604090909090D0D110D110D02A3
+ 9007000000000000000000CBFAED9E9E9E9C999E8C8C8C868683837E7D7D7ACB
+ 9007000000000000000000CBFAF1A7A7A6A6A6A69898989898B5DBDBD5D5D2D2
+ 9907000000000000000000CDFAF796969696961D961D931D1DB4DEDBD7D5D5D2
+ 9C07000000000000000000CFFAFAFAFAF8F7F0F0EDEDEDECE9E9DEDEDED7D5D5
+ 9907000000000000000000CDFAFAEAF0EDEDECEAEAE9DEDEDBDCD5D5D5D5D2D5
+ 9C07000000000000000000D2FAEC01737D7D7B7D7D7B7D7B7D7B7B7B7D7B7DD2
+ 9907000000000000000000CFFAEC019EABB0CBD2D5DCDEECEDF4F4F4F4EA7BD2
+ 9C07000000000000000000B9524601A0B0B0CBB5D5DEEAEDF7FAFAFAFAF47DD5
+ 9C070000000000213F0000B83226010C3F5C1F111214141616191B1B1B1807D2
+ 9C07000000000000253D8A5B322D711E2860BA7E7E7A7E797A797979767676D5
+ 9E0700000000000041375E662F2B65314EBBB6B6B6B6B4B4B1E2F4EDEDEDECEA
+ 9C070000000000008F5D66663232394EC1A81C1C1C1C1C1C1CD3F7F4EDDED7D5
+ 9C0700000000000000B7BE6E5758BEBDE4E6E6F3FAFAFAFAFAFAF7F4D5928675
+ 7304000000002A2A2A2A4A6AFAE7562F2A2A2A5FFAFAFAFAFAFAF8D577010101
+ 0101000000004747472F4A59C5E7564A32474766FAFAFAFAFAFAFADCA0D2CFB0
+ A20C00000000000000436C6958686D6BC2C5C5E7FAFAFAFAFAFAFADEAADEDBCB
+ 1470000000000000004551534A4A5250C0E7FAFAFAFAFAFAFAFAFADEAAD7B514
+ 700000000000000042384C54472B613550C3FAFAFAFAFAFAFAFAFADEA1B0196F
+ 000000000000000024234463322EBC5A3664E3ECE9E9E9E9E9E9E9CF90731300
+ 000000000000003A3C00002232298B8B3E3B207E8B7E8B7E827E817E74100000
+ 0000000000000000000000003227000000000000000000000000000000000000
+ 000000000000FFFFFFFFF800000FF800000FF800000FF800000FF800000FF800
+ 000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800
+ 000FF800000FF800000FF800000FF800000F9800000FC000000FC000000FC000
+ 000FE000000F0000000F0000000FE000000FE000001FC000003FC000007F9800
+ 00FFFCFFFFFF2800000020000000400000000100200000000000801000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000007067
+ 5F70AA9382E570513CE3735540E3735540E3735540E3735540E3735540E37355
+ 40E3735540E3735540E3735540E3735540E3735540E3735540E3735540E37355
+ 40E3735540E3735540E3735540E3735540E3735540E3735540E372533EE5BAAB
+ A070000000000000000000000000000000000000000000000000000000005E54
+ 4C7FCAB7ABFFC5B5AAFFA18877FFA28A78FFA28A79FFA28A79FFA28A79FFA28A
+ 79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A
+ 79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA58D7CFF7A5B46FFB2A1
+ 967F000000000000000000000000000000000000000000000000000000006055
+ 4D7ED7C6BBFFEDE4E0FFD9CCC4FFD9CCC4FFD9CBC3FFD8CAC1FFD7C9BFFFD6C7
+ BDFFD5C6BBFFD4C4BAFFD3C3B8FFD2C1B7FFD1C0B5FFD0BEB3FFCFBDB2FFCEBC
+ B0FFCEBBAFFFCEBBAFFFCEBBAFFFCEBBAFFFCEBCB0FFBEAA9CFF82644FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006056
+ 4D7ED7C8BCFFF2EBE8FFEFE9E5FFEEE7E2FFECE5E0FFEBE2DEFFEAE0DBFFE9DE
+ D8FFE7DBD4FFE5D9D1FFE3D7CFFFE2D4CCFFE1D2C9FFDFD0C7FFDDCDC4FFDCCB
+ C2FFDBC9BFFFDBC9BFFFDBC9BFFFDBC9BFFFDCCAC1FFC1AC9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006155
+ 4E7ED8C9BDFFF3EDE9FFF1EAE6FFF0E9E6FFEEE6E1FFECE4DFFFEBE2DDFFEAE0
+ DAFFE9DED7FFE7DBD4FFE5D9D1FFE3D7CFFFE2D4CCFFE1D2C9FFDFD0C7FFDDCD
+ C4FFDCCBC2FFDBC9BFFFDBC9BFFFDBC9BFFFDCCAC0FFC1AC9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006157
+ 4E7ED9C9BFFFF4EFEDFFEFE8E3FFD0C2B9FFDFD5CEFFE0D5CEFFE0D4CCFFDED3
+ CBFFDDD1C8FFDCCFC6FFDACCC4FFD9CBC1FFD8C9BFFFD7C7BDFFD6C5BBFFD5C4
+ B9FFD3C2B7FFD2C0B5FFD2BFB4FFD2BFB4FFDAC8BEFFC1AC9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006256
+ 4F7EDACCC0FFF5F2EFFFE5DDD9FF5C3821FFB0998AFFB8A394FFB8A394FFB9A3
+ 94FFB8A495FFB9A597FFB9A698FFBAA698FFBBA799FFBBA89AFFBBA89BFFBCA8
+ 9BFFBCA89BFFBCA89BFFBBA89AFFB49E8FFFD8C6BBFFC1AC9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006256
+ 4F7EDBCBC1FFF8F4F3FFE7E0DBFF5F3C24FFD0BDB2FFDCCBC1FFDDCCC3FFE2D2
+ CBFFE7DBD4FFEDE2DEFFF0E8E6FFF5F0EDFFF9F7F4FFFDFDFDFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFAF8F7FFB39D8DFFD8C6BBFFC1AC9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006256
+ 4F7EDCCEC3FFFAF6F5FFE9E2DDFF5F3C24FFD2BFB5FFDFCDC4FFDECCC3FFE0CE
+ C6FFE4D4CDFFE9DDD6FFEFE4E0FFF1EAE8FFF7F1EFFFFBF8F6FFFFFEFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFBFAFFB5A090FFD9C7BEFFC1AD9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006257
+ 4F7EDDCFC4FFFCF9F9FFE9E4E0FF5F3A23FF7C5D49FF7F5F4CFF7E5F4CFF7E60
+ 4DFF7F614DFF816350FF826552FF836654FF846856FF856A57FF866B59FF876C
+ 5BFF876D5BFF876D5BFF866B59FF72523DFFD5C3B9FFC1AFA1FF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006357
+ 507EDECFC6FFFCFCFBFFF4F1F0FFC3B6AEFFC3B5ADFFC1B4ACFFC0B3AAFFBFB1
+ A9FFBEB0A6FFBDAEA5FFBDACA3FFBCABA2FFBBAAA0FFBAA99FFFB8A69AFFB8A4
+ 98FFB6A396FFB5A194FFB49F93FFB39D90FFDCCDC4FFC2AEA1FF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006357
+ 507EDFD2C7FFFEFEFDFFF9F5EFFFE8C696FFE9C799FFE8C697FFE7C596FFE7C4
+ 95FFE6C394FFE5C293FFE4C091FFE4C090FFE3BF8FFFE2BD8CFFE9D5BFFFEBE1
+ DCFFEADFD8FFE7DCD5FFE5DAD3FFE4D8D0FFE3D4CCFFC2AFA2FF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006458
+ 517EE0D3C8FFFFFFFFFFFAF5EFFFE3B77CFFE4B97FFFE2B87EFFE3B77DFFE2B7
+ 7CFFE2B67BFFE1B57AFFE1B479FFE0B478FFE0B377FFDFB174FFE6D0B7FFEBE1
+ DCFFE8DFD9FFE8DDD6FFE6D9D2FFE3D8D1FFE4D7CFFFC3AFA2FF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006458
+ 517EE1D2C9FFFFFFFFFFFEFEFDFFFEFFFFFFFCFDFEFFFBFBFBFFF9F7F8FFF8F5
+ F6FFF7F3F2FFF5F1F0FFF4EFEEFFF1EDEBFFF0EBE9FFEEE9E6FFEDE6E2FFECE3
+ DEFFEBE1DBFFE9DFD9FFE8DDD6FFE6DAD3FFE5D9D2FFC3B0A3FF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006459
+ 517EE1D4CAFFFFFFFFFFFDFDFCFFEEEBE8FFF5F2F0FFF4F0EFFFF3EFECFFF2ED
+ EAFFF1EBE8FFEEE9E5FFEFE7E3FFECE5E1FFEAE4DEFFEAE1DCFFE8E0DAFFE7DE
+ D8FFE6DDD6FFE5DBD4FFE4D8D1FFE2D6CEFFE6DBD4FFC3B1A4FF81634EFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006559
+ 527EE2D4CAFFFFFFFFFFF0ECEAFF5B361EFFAB9383FFB39D8EFFB39D8DFFB39D
+ 8DFFB29D8DFFB29C8DFFB29C8CFFB29C8CFFB29C8CFFB29C8CFFB29C8CFFB29C
+ 8CFFB29C8CFFB29C8CFFB29C8DFFB39D8EFFE3D8D0FFC4B1A4FF81634EFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006559
+ 527EE5D4CAFFFFFFFFFFF7F0EBFF5F3B24FFCCB8ADFFD7C5BAFFD9C7BDFFDCCC
+ C3FFE1D4CCFFE5DAD4FFE8E0DBFFEDE5E1FFF1EBE9FFF5F2EFFFF7F5F3FFF8F6
+ F4FFF8F5F4FFF8F6F4FFF1EEEAFFB29C8DFFE6DAD3FFC4B2A5FF81634EFFB2A1
+ 967E00000000000000000000000000000000000000000000000000000000685A
+ 527E9AC6C9FF35CFFEFF3DAEEBFF663E24FFD2BFB4FFE0CBBFFFE0C9BDFFE1CD
+ C4FFE4D5CDFFE9DED7FFEEE5E0FFF2EBE8FFF6F2F0FFFCF8F8FFFFFFFEFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFAF9FFB49E8FFFE7DED7FFC5B3A6FF81634EFFB2A1
+ 967E00000000000000000000000000000000007792910072A7A3001E33366957
+ 4C7C86C1C8FF00BFFBFF079AEBFF6A3E23FF926D57FF5FA3C8FF4AC1E8FF6C9C
+ A2FF917260FF927767FF947A69FF957C6CFF977E6FFF998171FF9A8374FF9B85
+ 76FF9C8678FF9C8678FF998274FF7D5E49FFE3D9D4FFC5B3A7FF81634EFFB2A1
+ 967E00000000000000000000000000000000005A6F7000A9E5E40075AEAE5C90
+ A5BD75D0E0FF00BFFAFF0CA3F4FF8A9A91FF3C7492FF03A4E4FF4AD5FFFF98C4
+ CBFFB3A196FFB1A197FFB0A096FFB09F95FFAF9D92FFAF9C91FFAD9A8EFFAC99
+ 8CFFAB988AFFAB9789FFAA9688FFA99386FFE8E0DAFFC5B4A7FF81634EFFB2A1
+ 967E00000000000000000000000000000000000000002DA5BFC110C2FFFF4DD0
+ FDFF64DBF9FF00B3FAFF09A8FEFF68D7FFFF04B5FFFF24CCFBFFAFD8CEFFF7DA
+ B8FFF3DBBBFFF3DBBAFFF2D9B9FFF1D8B7FFF0D7B4FFEED5B2FFF6EADDFFF9F6
+ F4FFF7F3F1FFF5F1EEFFF5EFECFFF4EDEAFFF1EBE7FFC6B4A8FF81634EFFB2A1
+ 967E00000000000000000000000000000000000000005F8A909142C7E4E960DE
+ F8FF64D7FAFF00B6FDFF00B8FDFF21B2FDFF1ECCF7FF93EBFCFFD2C69BFFE1AB
+ 63FFDFAC66FFDFAC66FFDFAC66FFDFAC66FFDFAC66FFDEA961FFEFDBC0FFF8F6
+ F5FFF6F2F0FFF3EDEBFFECE2DCFFE9DFD9FFE5DBD6FFC2B1A4FF81634FFFB2A1
+ 967E000000000000000000000000000E171A000E171A00040B145994A4A990EB
+ FCFF61F1F7FF13FAF7FF23F9F7FF93EDF7FF8CE5F8FFD5F2FDFFE9F8FFFFE7F8
+ FFFFF0FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFDFEFFFFFAFAF9FFF9F7
+ F5FFF7F2F0FFE8DFD8FFC7AE9FFFBEA998FFAF9888FFB09A8AFF7F604DFFB2A1
+ 967E00000000000000000000000000AAFFFF00AAFFFF00AAFFFF00A4FFFF00CD
+ FAFF5DFCF9FFFFFFFFFFEEFEFEFF00FBF7FF00AAFEFF00A1FFFF00A1FFFF00A0
+ FFFF56C3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFDFBFFFCFBFAFFFBFA
+ F8FFE6DDD6FFAA9180FF5D3922FF603D26FF613E27FF613E28FF634029FFB4A3
+ 987E00000000000000000000000000CAFFFF00CAFFFF00CBFFFF00B0FFFF00CD
+ FBFF38F5F7FFC3EFFAFFF0FFFEFF00FAF7FF00C8F7FF00C2F7FF00C2F7FF00C1
+ F7FF57D7FAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFDFDFCFFFCFC
+ FBFFE7DED8FFCCB9ACFFE6DBD5FFE2D7D0FFDCCFC5FFD7C5BBFF8E705DFFB4A2
+ 9680000000000000000000000000002E383C002E383C00252F364C99B0B57DE8
+ FBFF59F1F7FF25F7F7FF41FAF8FF7CEEF7FF77E4F7FFB5EFFCFFC6F2FDFFC3F2
+ FDFFD9F6FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFEFEFFFEFE
+ FEFFE9E1DAFFCEBCAFFFF1E9E3FFEADFD8FFE4D5CCFF9D816FFF3A291F868985
+ 831C00000000000000000000000000000000000000004E7073774AB0DADC37C9
+ FBFF22D5F7FF00D3F9FF02C3FBFF37D5F7FF34BEFCFFA2E6FAFFECFBFDFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF
+ FFFFEAE2DCFFCDBBADFFEADFD8FFE3D5CBFF9F8271FF3E2D2386050100200000
+ 000000000000000000000000000000000000000000003E9CC4C219C0FFFF23C9
+ FCFF30D3F8FF00BEF8FF06A8FEFF4FDCF8FF00B8FCFF32C2FBFFC0EBFCFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFEAE3DEFFCDB9ABFFDDCEC4FFA58979FF3E2C1F8F0905041B000000000000
+ 000000000000000000000000000000000000003451510099DDDB0091C0C35DAD
+ BCCF76D7E9FF00BEF9FF10A9FBFFBDDEDEFF5AC8DDFF0AB5F7FF62CEFFFFCBE4
+ F1FFF1E7E0FFEFE7E1FFEEE6E1FFEEE6E1FFEEE6E0FFEDE6E0FFEDE5E0FFEEE6
+ E1FFE1D4CCFFC5AE9FFFA68D7FF53E2718A10402000E00000000000000000000
+ 0000000000000000000000000000000000000075B7AF0099C7C500323E425442
+ 3B5C6BA8B1DA00C1FCFF0EA1F3F8A98E80C0AB9081C12698B1C10088C4C14C85
+ A3C1A18D80C19E8D81C19E8B81C19D8C80C19B8C7FC19B8A7FC19C897FC19A89
+ 7EC19B8B7EC1897769C2432B1BAC000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000045565A00C5FFFF0094E6E2000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000FFFFFFFFF0000007F0000007F0000007F000
+ 0007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F000
+ 0007F0000007F0000007F0000007F0000007F0000007F0000007800000078000
+ 0007C0000007C000000700000007000000070000000700000007C000000FC000
+ 001F8000003F800000FFF8FFFFFF}
+ Width = 450
+ Left = 152
+ Top = 112
+ end
+ object JsPrevisualizarDialog: TJSDialog
+ Content.Strings = (
+ 'Elija una opci'#243'n:')
+ DialogOptions = [doCommandLinks, doModal]
+ Glyph.Data = {
+ 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00
+ 00001C0806000000720DDF940000000970485973000017120000171201679FD2
+ 520000000467414D410000B18E7CFB5193000003104944415478DAAD96FB4B14
+ 5114C7CFE463DC1E606444BFF54424D3DC55CA52B1CCD7165A219905054182FD
+ 1452FD5810FD100406610A669A998FC4F5BDB6266265DAB60F5DD15E58FE03B2
+ 3F99D29ABBA7B9779C71C61D9D6177CFCE70CFDCB97B3EF7DCF3BD33C38082FD
+ B502B2B300CC656020048688A24F036233A0671F40D43160BA87BF62AEEE1010
+ 60D7AE293AD8B835815E9B625C80DC8F1E88D4A7C1E8C1FB8F9FD6C3C44035B3
+ 21500A65F6D700FE2EA580A5EC551F4A50359316B31D76EFDC0EE5F72A645045
+ A067AE0623074B8140891108F1057064CC0D556053DF173812B707E6DCF332A8
+ 225080D201DB4AF99BF335B4D502F371415BCC364833C4C29F458F0C2A031281
+ 081734AB0B3C88403C1E6E3E2E7960F6A8FFD27A7D3EF07A11DA2C76C84A8D87
+ A57FCB32E8B8A54A4C8C21B59365C9015996EF2240B6634DF435B51460A46D1F
+ 70C093AA46BF09C980C12CA914E6F371ADD707EF1DB3B0B0B8006EB79B8EA96B
+ EA5106121851245129118FD8BFA2DC5C53C6BAF5EBBBBA97C2D64EC064195B1F
+ 286C76E956A0EA5C51AEB4764A9929F5750D5A9581D2274B9B651C0BA2F514A8
+ 6F28E36B70AD9A4253EF97A9AA55B0CEBA87D03B645B3F43C1DE589C58186D10
+ 81150FCAC57B11E161B04517099BB953C78643141B01BA28EEE4DAB0B04DE2B8
+ CA460B9C399902E661BB3AB0F5AD038BF30CD4D7E7DD14815A61023027DD00EF
+ 469C1A80FD1C307F1578FD4A81E665945AD68924181A9D5007B6F4DBF1527E32
+ F5C9D3632351F8F549AEE916B14EAA039BCD362C31A6040D23E7887D4A03B0CF
+ 86C5C6641A24BB7646D3F2D51A77F8C1BCDCFFC79CD3EAC0D7BD56AE86294165
+ 4660CB5C6B737DD3062CCA31D00069E76E05241862CF1EDD05E7D40F756063CF
+ 673C7F5A4F679A59541EF03E4C8C3B0893DF67D481AFBAC7B0F05412CD30EBE2
+ ED80F7617CEC0198FEF94B1BF06C6622AD4B4EC99D80F7A1666043D7281A3312
+ FD84C20B8417C3AA789405239826E0CBCE4F98979E10344C33B0BE630473D312
+ 82866906D6993E62F6F1C3F45D160A5305BE68FF8095CF5B4302134CFE1185EA
+ 1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082}
+ Instruction.Text = 'Previsualizar...'
+ Instruction.Glyph.Data = {
+ 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00
+ 00001C0806000000720DDF940000000970485973000017120000171201679FD2
+ 520000000467414D410000B18E7CFB5193000003104944415478DAAD96FB4B14
+ 5114C7CFE463DC1E606444BFF54424D3DC55CA52B1CCD7165A219905054182FD
+ 1452FD5810FD100406610A669A998FC4F5BDB6266265DAB60F5DD15E58FE03B2
+ 3F99D29ABBA7B9779C71C61D9D6177CFCE70CFDCB97B3EF7DCF3BD33C38082FD
+ B502B2B300CC656020048688A24F036233A0671F40D43160BA87BF62AEEE1010
+ 60D7AE293AD8B835815E9B625C80DC8F1E88D4A7C1E8C1FB8F9FD6C3C44035B3
+ 21500A65F6D700FE2EA580A5EC551F4A50359316B31D76EFDC0EE5F72A645045
+ A067AE0623074B8140891108F1057064CC0D556053DF173812B707E6DCF332A8
+ 225080D201DB4AF99BF335B4D502F371415BCC364833C4C29F458F0C2A031281
+ 081734AB0B3C88403C1E6E3E2E7960F6A8FFD27A7D3EF07A11DA2C76C84A8D87
+ A57FCB32E8B8A54A4C8C21B59365C9015996EF2240B6634DF435B51460A46D1F
+ 70C093AA46BF09C980C12CA914E6F371ADD707EF1DB3B0B0B8006EB79B8EA96B
+ EA5106121851245129118FD8BFA2DC5C53C6BAF5EBBBBA97C2D64EC064195B1F
+ 286C76E956A0EA5C51AEB4764A9929F5750D5A9581D2274B9B651C0BA2F514A8
+ 6F28E36B70AD9A4253EF97A9AA55B0CEBA87D03B645B3F43C1DE589C58186D10
+ 81150FCAC57B11E161B04517099BB953C78643141B01BA28EEE4DAB0B04DE2B8
+ CA460B9C399902E661BB3AB0F5AD038BF30CD4D7E7DD14815A61023027DD00EF
+ 469C1A80FD1C307F1578FD4A81E665945AD68924181A9D5007B6F4DBF1527E32
+ F5C9D3632351F8F549AEE916B14EAA039BCD362C31A6040D23E7887D4A03B0CF
+ 86C5C6641A24BB7646D3F2D51A77F8C1BCDCFFC79CD3EAC0D7BD56AE86294165
+ 4660CB5C6B737DD3062CCA31D00069E76E05241862CF1EDD05E7D40F756063CF
+ 673C7F5A4F679A59541EF03E4C8C3B0893DF67D481AFBAC7B0F05412CD30EBE2
+ ED80F7617CEC0198FEF94B1BF06C6622AD4B4EC99D80F7A1666043D7281A3312
+ FD84C20B8417C3AA789405239826E0CBCE4F98979E10344C33B0BE630473D312
+ 82866906D6993E62F6F1C3F45D160A5305BE68FF8095CF5B4302134CFE1185EA
+ 1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082}
+ Instruction.Icon = tdiCustom
+ CustomButtons = <
+ item
+ Caption = 'Previsualizar el pedido/s seleccionado/s'
+ Value = 100
+ Default = True
+ end
+ item
+ Caption = 'Previsualizar la lista de pedidos actual'
+ Value = 200
+ end>
+ ButtonBar.Buttons = [cbCancel]
+ MainIcon = tdiCustom
+ Title = 'FactuGES'
+ Position = dpMainFormCenter
+ Icon.Data = {
+ 0000010003002020100001000400E8020000360000002020000001000800A808
+ 00001E0300002020000001002000A8100000C60B000028000000200000004000
+ 0000010004000000000000020000000000000000000000000000000000000000
+ 000000008000008000000080800080000000800080008080000080808000C0C0
+ C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000
+ 0000000000000000000000000000000008777777777777777777777700000000
+ 0877767777677776777767760000000008F88888888888888888888700000000
+ 08F8FF8F8F888888888888860000000008FF8F8F88F8F8888888888C00000000
+ 08F88888F8888888888888860000000008F8688878E8888E88E8788700000000
+ 08F8688888F8F8FFFFFF88760000000008FF4888888F8FFFFFFF788700000000
+ 08F8676767677677677658E50000000008FF8888888887878787888700000000
+ 08FF8887887E8888888888860000000008FFE8E8E788C8E8FF8F8F8600000000
+ 08FFF8F8F8F8FF8F88F8F8870000000008FFFFFF8FF8F8F8F88F888600000000
+ 0FF8477878787878788788860000000008FF68888888F8FF8F8F788700000000
+ 08B7588888FF8FFFFFFF78860000083008BB47887776777777776F86000000B7
+ 8B9B73BB88788787E87878870000008BB8B9BB78888888EFF8F8FF8600000087
+ B8BB8B888E8E8E88FFF8F886000000088BBB888FFFFFFFFFF8F877770000B9BB
+ B8FFBB9B9BFFFFFFF87466460000BBB9BB8FBBBBB8FFFFFFF88F888700000008
+ B8BB88888FFFFFFFF88F8F7700000008BBBBBB8FFFFFFFFFFF8887700000007B
+ B7B98BB8FFFFFFFFF8887700000000B78B9B87B888F88F88F8877000000007B0
+ 08BB883B78888788787700000000000000B9000000000000000000000000FFFF
+ FFFFF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800
+ 000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800
+ 000FF800000FF800000F9800000FC000000FC000000FC000000FE000000F0000
+ 000F0000000FE000000FE000001FC000003FC000007F980000FFFCFFFFFF2800
+ 0000200000004000000001000800000000000004000000000000000000000001
+ 00000001000000000000694731007C5D49007E604C0081635000826451008567
+ 540085685500886B5900896D5B008A6E5D008B705F008E715F008B7260008C72
+ 61008E74640084766C00957A6900977D6D00887B72009A8171009D8272009C84
+ 76009D8778009F897B00A28A7900A08B7D00A18C7E00E1B06E00E1B67D003E7A
+ 970073A0A5007AA2B70074AFBD007BB2BB003CAACE0028A5DB0020ADDF000D9A
+ E500209EE3000DA6E2001AA4EF0000A6FF000CABFE0009ACFE0010A4F10015AC
+ FA0000B5FB0000B0FD000CB6FC0000BFF90000BAFD0004BAFD0009BBFB0013B6
+ F40015BFFA001CBDFB0026B7FD00589EC50040A4CD0040ABCC0050A2C7005DAE
+ C00060A3C20062A4C60060B7CB006AB0CD007BB6C80077BAC80061BADD0044AD
+ E50000C3F80007C6FB0000CAF80000CFFB0000D4F90026C8FA0026CDF8002BCC
+ F90039C4FB0039C2FC0039CAFA003FCFFB0024D6F80030D2F80039D5F80000F8
+ F8001FF8F8002CF6F8003EF4F8005AC6DC0070CDDF0052C0E40054C9E3004DCE
+ FA005FC7FF004FD2FB004DD9F8005FD9FB006ED3E70063CDFE0060D1FB0060D8
+ F90060DDF80046F8F90056F0F8005FFAFA0073E3F80073E4F90073EEF80060F1
+ F800958A84009A918C0081999500A68F8200AD968500A3968C00AE988900AD9A
+ 8D00B19A8B00AF9C9000B09E9200B59F9200B7A29300B2A19600B5A19400B7A4
+ 9700BDA79700B4A39800B1A59D00B4A79F00BAA69800BCA79900B4A89F00BCA8
+ 9900BAA89C00BDAA9D00BEAC9E0083ADBD00B5A9A100BDABA000BEADA100BFAF
+ A500A0BABE00C0AB9E00C1AC9E00C6AE9F00E2B98100E4BA8300E4BB8400E5BC
+ 8500E1BD8E00E3BF9000C0ADA000C2B0A300C2B1A500C4B2A600C1B2A800C3B5
+ AB00C8B4A800CCB9AD00CEBCB100D0BEB200D1BFB400E4C19300E5C29400E6C4
+ 9600E8C69900D0C9A300CFC1B800D2C1B600D3C3B800D5C4B900D6C6BC00D8C6
+ BC00D6C8BE00DAC9BF00ECD3B000EDD4B200EFD6B500E7D1B800E7D3BD00F0D8
+ B6008CB7C40080BEC70097C3C70099C3C900ABD7CF00AFD9DD0086E3F90086E7
+ F90086ECF8009EE5FB0090E8F900ACEDFC00BCEAFD00BCF1FB00BFF1FD00D7C9
+ C000D9CAC100DCCBC200DACCC200DDCCC300DACCC400DDCEC400DED0C600DED1
+ C900DED3CC00DFD4CD00E1D1C900E2D5CD00F0DCC200E3D8D200E5D9D200E2DA
+ D500E6DBD400E5DCD500E8DDD600E6DDD800E9DFD900E6E0DB00EAE0DA00EAE2
+ DD00ECE3DE00EBE4DE00ECE4DE00F3E7D900C6E1EF00C9EFFD00D7F6FD00DFF3
+ FF00DFFEFE00EBE7E300EDE6E100EFE7E400EEE8E400F0EAE600F2EDE900F2EE
+ EC00F4EFEC00F5F0EE00F9F4ED00E7FAFD00EBF8FF00F6F2F000F7F4F100F8F4
+ F200F9F7F500FAF8F600FBF9F900FCFBFA00FCFCFB00FEFEFE00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000007D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D
+ 0D0D0000000000000000009C9C19191919191919191919191919191919191919
+ 1903000000000000000000ABDECBCBC7C7AFABABABABAAA3A2A2A0A0A0A0A0A0
+ 8607000000000000000000ABECEAE9DEDEDEDED7D5D2D2D2CBCBCBCBB0CBB0CB
+ 9007000000000000000000ABEDECEAE9DEDEDBD7D7D5D2D2D2CDCDCBB0B0B0B0
+ 9007000000000000000000AFEDE9A9CFD2CFD2CDCBCBCBB0B0ABACA3A3A3A3B0
+ 9007000000000000000000AFF0D5017783838386868686869099909999907BB0
+ 9007000000000000000000B0F4D501A0B0CBD2D5DEECEDF7FAFAFAFAFAF77BAA
+ 9007000000000000000000CBF4DC01A0B0B0B0D2D5DBEAEDF7FAFAFAFAF47BB0
+ 9007000000000000000000CBF8DC010404070604090909090D0D110D110D02A3
+ 9007000000000000000000CBFAED9E9E9E9C999E8C8C8C868683837E7D7D7ACB
+ 9007000000000000000000CBFAF1A7A7A6A6A6A69898989898B5DBDBD5D5D2D2
+ 9907000000000000000000CDFAF796969696961D961D931D1DB4DEDBD7D5D5D2
+ 9C07000000000000000000CFFAFAFAFAF8F7F0F0EDEDEDECE9E9DEDEDED7D5D5
+ 9907000000000000000000CDFAFAEAF0EDEDECEAEAE9DEDEDBDCD5D5D5D5D2D5
+ 9C07000000000000000000D2FAEC01737D7D7B7D7D7B7D7B7D7B7B7B7D7B7DD2
+ 9907000000000000000000CFFAEC019EABB0CBD2D5DCDEECEDF4F4F4F4EA7BD2
+ 9C07000000000000000000B9524601A0B0B0CBB5D5DEEAEDF7FAFAFAFAF47DD5
+ 9C070000000000213F0000B83226010C3F5C1F111214141616191B1B1B1807D2
+ 9C07000000000000253D8A5B322D711E2860BA7E7E7A7E797A797979767676D5
+ 9E0700000000000041375E662F2B65314EBBB6B6B6B6B4B4B1E2F4EDEDEDECEA
+ 9C070000000000008F5D66663232394EC1A81C1C1C1C1C1C1CD3F7F4EDDED7D5
+ 9C0700000000000000B7BE6E5758BEBDE4E6E6F3FAFAFAFAFAFAF7F4D5928675
+ 7304000000002A2A2A2A4A6AFAE7562F2A2A2A5FFAFAFAFAFAFAF8D577010101
+ 0101000000004747472F4A59C5E7564A32474766FAFAFAFAFAFAFADCA0D2CFB0
+ A20C00000000000000436C6958686D6BC2C5C5E7FAFAFAFAFAFAFADEAADEDBCB
+ 1470000000000000004551534A4A5250C0E7FAFAFAFAFAFAFAFAFADEAAD7B514
+ 700000000000000042384C54472B613550C3FAFAFAFAFAFAFAFAFADEA1B0196F
+ 000000000000000024234463322EBC5A3664E3ECE9E9E9E9E9E9E9CF90731300
+ 000000000000003A3C00002232298B8B3E3B207E8B7E8B7E827E817E74100000
+ 0000000000000000000000003227000000000000000000000000000000000000
+ 000000000000FFFFFFFFF800000FF800000FF800000FF800000FF800000FF800
+ 000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800
+ 000FF800000FF800000FF800000FF800000F9800000FC000000FC000000FC000
+ 000FE000000F0000000F0000000FE000000FE000001FC000003FC000007F9800
+ 00FFFCFFFFFF2800000020000000400000000100200000000000801000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000007067
+ 5F70AA9382E570513CE3735540E3735540E3735540E3735540E3735540E37355
+ 40E3735540E3735540E3735540E3735540E3735540E3735540E3735540E37355
+ 40E3735540E3735540E3735540E3735540E3735540E3735540E372533EE5BAAB
+ A070000000000000000000000000000000000000000000000000000000005E54
+ 4C7FCAB7ABFFC5B5AAFFA18877FFA28A78FFA28A79FFA28A79FFA28A79FFA28A
+ 79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A
+ 79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA58D7CFF7A5B46FFB2A1
+ 967F000000000000000000000000000000000000000000000000000000006055
+ 4D7ED7C6BBFFEDE4E0FFD9CCC4FFD9CCC4FFD9CBC3FFD8CAC1FFD7C9BFFFD6C7
+ BDFFD5C6BBFFD4C4BAFFD3C3B8FFD2C1B7FFD1C0B5FFD0BEB3FFCFBDB2FFCEBC
+ B0FFCEBBAFFFCEBBAFFFCEBBAFFFCEBBAFFFCEBCB0FFBEAA9CFF82644FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006056
+ 4D7ED7C8BCFFF2EBE8FFEFE9E5FFEEE7E2FFECE5E0FFEBE2DEFFEAE0DBFFE9DE
+ D8FFE7DBD4FFE5D9D1FFE3D7CFFFE2D4CCFFE1D2C9FFDFD0C7FFDDCDC4FFDCCB
+ C2FFDBC9BFFFDBC9BFFFDBC9BFFFDBC9BFFFDCCAC1FFC1AC9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006155
+ 4E7ED8C9BDFFF3EDE9FFF1EAE6FFF0E9E6FFEEE6E1FFECE4DFFFEBE2DDFFEAE0
+ DAFFE9DED7FFE7DBD4FFE5D9D1FFE3D7CFFFE2D4CCFFE1D2C9FFDFD0C7FFDDCD
+ C4FFDCCBC2FFDBC9BFFFDBC9BFFFDBC9BFFFDCCAC0FFC1AC9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006157
+ 4E7ED9C9BFFFF4EFEDFFEFE8E3FFD0C2B9FFDFD5CEFFE0D5CEFFE0D4CCFFDED3
+ CBFFDDD1C8FFDCCFC6FFDACCC4FFD9CBC1FFD8C9BFFFD7C7BDFFD6C5BBFFD5C4
+ B9FFD3C2B7FFD2C0B5FFD2BFB4FFD2BFB4FFDAC8BEFFC1AC9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006256
+ 4F7EDACCC0FFF5F2EFFFE5DDD9FF5C3821FFB0998AFFB8A394FFB8A394FFB9A3
+ 94FFB8A495FFB9A597FFB9A698FFBAA698FFBBA799FFBBA89AFFBBA89BFFBCA8
+ 9BFFBCA89BFFBCA89BFFBBA89AFFB49E8FFFD8C6BBFFC1AC9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006256
+ 4F7EDBCBC1FFF8F4F3FFE7E0DBFF5F3C24FFD0BDB2FFDCCBC1FFDDCCC3FFE2D2
+ CBFFE7DBD4FFEDE2DEFFF0E8E6FFF5F0EDFFF9F7F4FFFDFDFDFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFAF8F7FFB39D8DFFD8C6BBFFC1AC9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006256
+ 4F7EDCCEC3FFFAF6F5FFE9E2DDFF5F3C24FFD2BFB5FFDFCDC4FFDECCC3FFE0CE
+ C6FFE4D4CDFFE9DDD6FFEFE4E0FFF1EAE8FFF7F1EFFFFBF8F6FFFFFEFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFBFAFFB5A090FFD9C7BEFFC1AD9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006257
+ 4F7EDDCFC4FFFCF9F9FFE9E4E0FF5F3A23FF7C5D49FF7F5F4CFF7E5F4CFF7E60
+ 4DFF7F614DFF816350FF826552FF836654FF846856FF856A57FF866B59FF876C
+ 5BFF876D5BFF876D5BFF866B59FF72523DFFD5C3B9FFC1AFA1FF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006357
+ 507EDECFC6FFFCFCFBFFF4F1F0FFC3B6AEFFC3B5ADFFC1B4ACFFC0B3AAFFBFB1
+ A9FFBEB0A6FFBDAEA5FFBDACA3FFBCABA2FFBBAAA0FFBAA99FFFB8A69AFFB8A4
+ 98FFB6A396FFB5A194FFB49F93FFB39D90FFDCCDC4FFC2AEA1FF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006357
+ 507EDFD2C7FFFEFEFDFFF9F5EFFFE8C696FFE9C799FFE8C697FFE7C596FFE7C4
+ 95FFE6C394FFE5C293FFE4C091FFE4C090FFE3BF8FFFE2BD8CFFE9D5BFFFEBE1
+ DCFFEADFD8FFE7DCD5FFE5DAD3FFE4D8D0FFE3D4CCFFC2AFA2FF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006458
+ 517EE0D3C8FFFFFFFFFFFAF5EFFFE3B77CFFE4B97FFFE2B87EFFE3B77DFFE2B7
+ 7CFFE2B67BFFE1B57AFFE1B479FFE0B478FFE0B377FFDFB174FFE6D0B7FFEBE1
+ DCFFE8DFD9FFE8DDD6FFE6D9D2FFE3D8D1FFE4D7CFFFC3AFA2FF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006458
+ 517EE1D2C9FFFFFFFFFFFEFEFDFFFEFFFFFFFCFDFEFFFBFBFBFFF9F7F8FFF8F5
+ F6FFF7F3F2FFF5F1F0FFF4EFEEFFF1EDEBFFF0EBE9FFEEE9E6FFEDE6E2FFECE3
+ DEFFEBE1DBFFE9DFD9FFE8DDD6FFE6DAD3FFE5D9D2FFC3B0A3FF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006459
+ 517EE1D4CAFFFFFFFFFFFDFDFCFFEEEBE8FFF5F2F0FFF4F0EFFFF3EFECFFF2ED
+ EAFFF1EBE8FFEEE9E5FFEFE7E3FFECE5E1FFEAE4DEFFEAE1DCFFE8E0DAFFE7DE
+ D8FFE6DDD6FFE5DBD4FFE4D8D1FFE2D6CEFFE6DBD4FFC3B1A4FF81634EFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006559
+ 527EE2D4CAFFFFFFFFFFF0ECEAFF5B361EFFAB9383FFB39D8EFFB39D8DFFB39D
+ 8DFFB29D8DFFB29C8DFFB29C8CFFB29C8CFFB29C8CFFB29C8CFFB29C8CFFB29C
+ 8CFFB29C8CFFB29C8CFFB29C8DFFB39D8EFFE3D8D0FFC4B1A4FF81634EFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006559
+ 527EE5D4CAFFFFFFFFFFF7F0EBFF5F3B24FFCCB8ADFFD7C5BAFFD9C7BDFFDCCC
+ C3FFE1D4CCFFE5DAD4FFE8E0DBFFEDE5E1FFF1EBE9FFF5F2EFFFF7F5F3FFF8F6
+ F4FFF8F5F4FFF8F6F4FFF1EEEAFFB29C8DFFE6DAD3FFC4B2A5FF81634EFFB2A1
+ 967E00000000000000000000000000000000000000000000000000000000685A
+ 527E9AC6C9FF35CFFEFF3DAEEBFF663E24FFD2BFB4FFE0CBBFFFE0C9BDFFE1CD
+ C4FFE4D5CDFFE9DED7FFEEE5E0FFF2EBE8FFF6F2F0FFFCF8F8FFFFFFFEFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFAF9FFB49E8FFFE7DED7FFC5B3A6FF81634EFFB2A1
+ 967E00000000000000000000000000000000007792910072A7A3001E33366957
+ 4C7C86C1C8FF00BFFBFF079AEBFF6A3E23FF926D57FF5FA3C8FF4AC1E8FF6C9C
+ A2FF917260FF927767FF947A69FF957C6CFF977E6FFF998171FF9A8374FF9B85
+ 76FF9C8678FF9C8678FF998274FF7D5E49FFE3D9D4FFC5B3A7FF81634EFFB2A1
+ 967E00000000000000000000000000000000005A6F7000A9E5E40075AEAE5C90
+ A5BD75D0E0FF00BFFAFF0CA3F4FF8A9A91FF3C7492FF03A4E4FF4AD5FFFF98C4
+ CBFFB3A196FFB1A197FFB0A096FFB09F95FFAF9D92FFAF9C91FFAD9A8EFFAC99
+ 8CFFAB988AFFAB9789FFAA9688FFA99386FFE8E0DAFFC5B4A7FF81634EFFB2A1
+ 967E00000000000000000000000000000000000000002DA5BFC110C2FFFF4DD0
+ FDFF64DBF9FF00B3FAFF09A8FEFF68D7FFFF04B5FFFF24CCFBFFAFD8CEFFF7DA
+ B8FFF3DBBBFFF3DBBAFFF2D9B9FFF1D8B7FFF0D7B4FFEED5B2FFF6EADDFFF9F6
+ F4FFF7F3F1FFF5F1EEFFF5EFECFFF4EDEAFFF1EBE7FFC6B4A8FF81634EFFB2A1
+ 967E00000000000000000000000000000000000000005F8A909142C7E4E960DE
+ F8FF64D7FAFF00B6FDFF00B8FDFF21B2FDFF1ECCF7FF93EBFCFFD2C69BFFE1AB
+ 63FFDFAC66FFDFAC66FFDFAC66FFDFAC66FFDFAC66FFDEA961FFEFDBC0FFF8F6
+ F5FFF6F2F0FFF3EDEBFFECE2DCFFE9DFD9FFE5DBD6FFC2B1A4FF81634FFFB2A1
+ 967E000000000000000000000000000E171A000E171A00040B145994A4A990EB
+ FCFF61F1F7FF13FAF7FF23F9F7FF93EDF7FF8CE5F8FFD5F2FDFFE9F8FFFFE7F8
+ FFFFF0FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFDFEFFFFFAFAF9FFF9F7
+ F5FFF7F2F0FFE8DFD8FFC7AE9FFFBEA998FFAF9888FFB09A8AFF7F604DFFB2A1
+ 967E00000000000000000000000000AAFFFF00AAFFFF00AAFFFF00A4FFFF00CD
+ FAFF5DFCF9FFFFFFFFFFEEFEFEFF00FBF7FF00AAFEFF00A1FFFF00A1FFFF00A0
+ FFFF56C3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFDFBFFFCFBFAFFFBFA
+ F8FFE6DDD6FFAA9180FF5D3922FF603D26FF613E27FF613E28FF634029FFB4A3
+ 987E00000000000000000000000000CAFFFF00CAFFFF00CBFFFF00B0FFFF00CD
+ FBFF38F5F7FFC3EFFAFFF0FFFEFF00FAF7FF00C8F7FF00C2F7FF00C2F7FF00C1
+ F7FF57D7FAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFDFDFCFFFCFC
+ FBFFE7DED8FFCCB9ACFFE6DBD5FFE2D7D0FFDCCFC5FFD7C5BBFF8E705DFFB4A2
+ 9680000000000000000000000000002E383C002E383C00252F364C99B0B57DE8
+ FBFF59F1F7FF25F7F7FF41FAF8FF7CEEF7FF77E4F7FFB5EFFCFFC6F2FDFFC3F2
+ FDFFD9F6FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFEFEFFFEFE
+ FEFFE9E1DAFFCEBCAFFFF1E9E3FFEADFD8FFE4D5CCFF9D816FFF3A291F868985
+ 831C00000000000000000000000000000000000000004E7073774AB0DADC37C9
+ FBFF22D5F7FF00D3F9FF02C3FBFF37D5F7FF34BEFCFFA2E6FAFFECFBFDFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF
+ FFFFEAE2DCFFCDBBADFFEADFD8FFE3D5CBFF9F8271FF3E2D2386050100200000
+ 000000000000000000000000000000000000000000003E9CC4C219C0FFFF23C9
+ FCFF30D3F8FF00BEF8FF06A8FEFF4FDCF8FF00B8FCFF32C2FBFFC0EBFCFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFEAE3DEFFCDB9ABFFDDCEC4FFA58979FF3E2C1F8F0905041B000000000000
+ 000000000000000000000000000000000000003451510099DDDB0091C0C35DAD
+ BCCF76D7E9FF00BEF9FF10A9FBFFBDDEDEFF5AC8DDFF0AB5F7FF62CEFFFFCBE4
+ F1FFF1E7E0FFEFE7E1FFEEE6E1FFEEE6E1FFEEE6E0FFEDE6E0FFEDE5E0FFEEE6
+ E1FFE1D4CCFFC5AE9FFFA68D7FF53E2718A10402000E00000000000000000000
+ 0000000000000000000000000000000000000075B7AF0099C7C500323E425442
+ 3B5C6BA8B1DA00C1FCFF0EA1F3F8A98E80C0AB9081C12698B1C10088C4C14C85
+ A3C1A18D80C19E8D81C19E8B81C19D8C80C19B8C7FC19B8A7FC19C897FC19A89
+ 7EC19B8B7EC1897769C2432B1BAC000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000045565A00C5FFFF0094E6E2000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000FFFFFFFFF0000007F0000007F0000007F000
+ 0007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F000
+ 0007F0000007F0000007F0000007F0000007F0000007F0000007800000078000
+ 0007C0000007C000000700000007000000070000000700000007C000000FC000
+ 001F8000003F800000FFF8FFFFFF}
+ Width = 450
+ Left = 232
+ Top = 112
+ end
+ object JsImprimirDialog: TJSDialog
+ Content.Strings = (
+ 'Elija una opci'#243'n:')
+ DialogOptions = [doCommandLinks, doModal]
+ Glyph.Data = {
+ 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00
+ 00001C0806000000720DDF940000000970485973000017120000171201679FD2
+ 520000000467414D410000B18E7CFB5193000003104944415478DAAD96FB4B14
+ 5114C7CFE463DC1E606444BFF54424D3DC55CA52B1CCD7165A219905054182FD
+ 1452FD5810FD100406610A669A998FC4F5BDB6266265DAB60F5DD15E58FE03B2
+ 3F99D29ABBA7B9779C71C61D9D6177CFCE70CFDCB97B3EF7DCF3BD33C38082FD
+ B502B2B300CC656020048688A24F036233A0671F40D43160BA87BF62AEEE1010
+ 60D7AE293AD8B835815E9B625C80DC8F1E88D4A7C1E8C1FB8F9FD6C3C44035B3
+ 21500A65F6D700FE2EA580A5EC551F4A50359316B31D76EFDC0EE5F72A645045
+ A067AE0623074B8140891108F1057064CC0D556053DF173812B707E6DCF332A8
+ 225080D201DB4AF99BF335B4D502F371415BCC364833C4C29F458F0C2A031281
+ 081734AB0B3C88403C1E6E3E2E7960F6A8FFD27A7D3EF07A11DA2C76C84A8D87
+ A57FCB32E8B8A54A4C8C21B59365C9015996EF2240B6634DF435B51460A46D1F
+ 70C093AA46BF09C980C12CA914E6F371ADD707EF1DB3B0B0B8006EB79B8EA96B
+ EA5106121851245129118FD8BFA2DC5C53C6BAF5EBBBBA97C2D64EC064195B1F
+ 286C76E956A0EA5C51AEB4764A9929F5750D5A9581D2274B9B651C0BA2F514A8
+ 6F28E36B70AD9A4253EF97A9AA55B0CEBA87D03B645B3F43C1DE589C58186D10
+ 81150FCAC57B11E161B04517099BB953C78643141B01BA28EEE4DAB0B04DE2B8
+ CA460B9C399902E661BB3AB0F5AD038BF30CD4D7E7DD14815A61023027DD00EF
+ 469C1A80FD1C307F1578FD4A81E665945AD68924181A9D5007B6F4DBF1527E32
+ F5C9D3632351F8F549AEE916B14EAA039BCD362C31A6040D23E7887D4A03B0CF
+ 86C5C6641A24BB7646D3F2D51A77F8C1BCDCFFC79CD3EAC0D7BD56AE86294165
+ 4660CB5C6B737DD3062CCA31D00069E76E05241862CF1EDD05E7D40F756063CF
+ 673C7F5A4F679A59541EF03E4C8C3B0893DF67D481AFBAC7B0F05412CD30EBE2
+ ED80F7617CEC0198FEF94B1BF06C6622AD4B4EC99D80F7A1666043D7281A3312
+ FD84C20B8417C3AA789405239826E0CBCE4F98979E10344C33B0BE630473D312
+ 82866906D6993E62F6F1C3F45D160A5305BE68FF8095CF5B4302134CFE1185EA
+ 1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082}
+ Instruction.Text = 'Imprimir...'
+ Instruction.Glyph.Data = {
+ 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00
+ 00001C0806000000720DDF940000000970485973000017120000171201679FD2
+ 520000000467414D410000B18E7CFB5193000003104944415478DAAD96FB4B14
+ 5114C7CFE463DC1E606444BFF54424D3DC55CA52B1CCD7165A219905054182FD
+ 1452FD5810FD100406610A669A998FC4F5BDB6266265DAB60F5DD15E58FE03B2
+ 3F99D29ABBA7B9779C71C61D9D6177CFCE70CFDCB97B3EF7DCF3BD33C38082FD
+ B502B2B300CC656020048688A24F036233A0671F40D43160BA87BF62AEEE1010
+ 60D7AE293AD8B835815E9B625C80DC8F1E88D4A7C1E8C1FB8F9FD6C3C44035B3
+ 21500A65F6D700FE2EA580A5EC551F4A50359316B31D76EFDC0EE5F72A645045
+ A067AE0623074B8140891108F1057064CC0D556053DF173812B707E6DCF332A8
+ 225080D201DB4AF99BF335B4D502F371415BCC364833C4C29F458F0C2A031281
+ 081734AB0B3C88403C1E6E3E2E7960F6A8FFD27A7D3EF07A11DA2C76C84A8D87
+ A57FCB32E8B8A54A4C8C21B59365C9015996EF2240B6634DF435B51460A46D1F
+ 70C093AA46BF09C980C12CA914E6F371ADD707EF1DB3B0B0B8006EB79B8EA96B
+ EA5106121851245129118FD8BFA2DC5C53C6BAF5EBBBBA97C2D64EC064195B1F
+ 286C76E956A0EA5C51AEB4764A9929F5750D5A9581D2274B9B651C0BA2F514A8
+ 6F28E36B70AD9A4253EF97A9AA55B0CEBA87D03B645B3F43C1DE589C58186D10
+ 81150FCAC57B11E161B04517099BB953C78643141B01BA28EEE4DAB0B04DE2B8
+ CA460B9C399902E661BB3AB0F5AD038BF30CD4D7E7DD14815A61023027DD00EF
+ 469C1A80FD1C307F1578FD4A81E665945AD68924181A9D5007B6F4DBF1527E32
+ F5C9D3632351F8F549AEE916B14EAA039BCD362C31A6040D23E7887D4A03B0CF
+ 86C5C6641A24BB7646D3F2D51A77F8C1BCDCFFC79CD3EAC0D7BD56AE86294165
+ 4660CB5C6B737DD3062CCA31D00069E76E05241862CF1EDD05E7D40F756063CF
+ 673C7F5A4F679A59541EF03E4C8C3B0893DF67D481AFBAC7B0F05412CD30EBE2
+ ED80F7617CEC0198FEF94B1BF06C6622AD4B4EC99D80F7A1666043D7281A3312
+ FD84C20B8417C3AA789405239826E0CBCE4F98979E10344C33B0BE630473D312
+ 82866906D6993E62F6F1C3F45D160A5305BE68FF8095CF5B4302134CFE1185EA
+ 1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082}
+ Instruction.Icon = tdiCustom
+ CustomButtons = <
+ item
+ Caption = 'Imprimir el pedido/s seleccionado/s'
+ Value = 100
+ Default = True
+ end
+ item
+ Caption = 'Imprimir la lista de pedidos actual'
+ Value = 200
+ end>
+ ButtonBar.Buttons = [cbCancel]
+ MainIcon = tdiCustom
+ Title = 'FactuGES'
+ Position = dpMainFormCenter
+ Icon.Data = {
+ 0000010003002020100001000400E8020000360000002020000001000800A808
+ 00001E0300002020000001002000A8100000C60B000028000000200000004000
+ 0000010004000000000000020000000000000000000000000000000000000000
+ 000000008000008000000080800080000000800080008080000080808000C0C0
+ C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000
+ 0000000000000000000000000000000008777777777777777777777700000000
+ 0877767777677776777767760000000008F88888888888888888888700000000
+ 08F8FF8F8F888888888888860000000008FF8F8F88F8F8888888888C00000000
+ 08F88888F8888888888888860000000008F8688878E8888E88E8788700000000
+ 08F8688888F8F8FFFFFF88760000000008FF4888888F8FFFFFFF788700000000
+ 08F8676767677677677658E50000000008FF8888888887878787888700000000
+ 08FF8887887E8888888888860000000008FFE8E8E788C8E8FF8F8F8600000000
+ 08FFF8F8F8F8FF8F88F8F8870000000008FFFFFF8FF8F8F8F88F888600000000
+ 0FF8477878787878788788860000000008FF68888888F8FF8F8F788700000000
+ 08B7588888FF8FFFFFFF78860000083008BB47887776777777776F86000000B7
+ 8B9B73BB88788787E87878870000008BB8B9BB78888888EFF8F8FF8600000087
+ B8BB8B888E8E8E88FFF8F886000000088BBB888FFFFFFFFFF8F877770000B9BB
+ B8FFBB9B9BFFFFFFF87466460000BBB9BB8FBBBBB8FFFFFFF88F888700000008
+ B8BB88888FFFFFFFF88F8F7700000008BBBBBB8FFFFFFFFFFF8887700000007B
+ B7B98BB8FFFFFFFFF8887700000000B78B9B87B888F88F88F8877000000007B0
+ 08BB883B78888788787700000000000000B9000000000000000000000000FFFF
+ FFFFF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800
+ 000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800
+ 000FF800000FF800000F9800000FC000000FC000000FC000000FE000000F0000
+ 000F0000000FE000000FE000001FC000003FC000007F980000FFFCFFFFFF2800
+ 0000200000004000000001000800000000000004000000000000000000000001
+ 00000001000000000000694731007C5D49007E604C0081635000826451008567
+ 540085685500886B5900896D5B008A6E5D008B705F008E715F008B7260008C72
+ 61008E74640084766C00957A6900977D6D00887B72009A8171009D8272009C84
+ 76009D8778009F897B00A28A7900A08B7D00A18C7E00E1B06E00E1B67D003E7A
+ 970073A0A5007AA2B70074AFBD007BB2BB003CAACE0028A5DB0020ADDF000D9A
+ E500209EE3000DA6E2001AA4EF0000A6FF000CABFE0009ACFE0010A4F10015AC
+ FA0000B5FB0000B0FD000CB6FC0000BFF90000BAFD0004BAFD0009BBFB0013B6
+ F40015BFFA001CBDFB0026B7FD00589EC50040A4CD0040ABCC0050A2C7005DAE
+ C00060A3C20062A4C60060B7CB006AB0CD007BB6C80077BAC80061BADD0044AD
+ E50000C3F80007C6FB0000CAF80000CFFB0000D4F90026C8FA0026CDF8002BCC
+ F90039C4FB0039C2FC0039CAFA003FCFFB0024D6F80030D2F80039D5F80000F8
+ F8001FF8F8002CF6F8003EF4F8005AC6DC0070CDDF0052C0E40054C9E3004DCE
+ FA005FC7FF004FD2FB004DD9F8005FD9FB006ED3E70063CDFE0060D1FB0060D8
+ F90060DDF80046F8F90056F0F8005FFAFA0073E3F80073E4F90073EEF80060F1
+ F800958A84009A918C0081999500A68F8200AD968500A3968C00AE988900AD9A
+ 8D00B19A8B00AF9C9000B09E9200B59F9200B7A29300B2A19600B5A19400B7A4
+ 9700BDA79700B4A39800B1A59D00B4A79F00BAA69800BCA79900B4A89F00BCA8
+ 9900BAA89C00BDAA9D00BEAC9E0083ADBD00B5A9A100BDABA000BEADA100BFAF
+ A500A0BABE00C0AB9E00C1AC9E00C6AE9F00E2B98100E4BA8300E4BB8400E5BC
+ 8500E1BD8E00E3BF9000C0ADA000C2B0A300C2B1A500C4B2A600C1B2A800C3B5
+ AB00C8B4A800CCB9AD00CEBCB100D0BEB200D1BFB400E4C19300E5C29400E6C4
+ 9600E8C69900D0C9A300CFC1B800D2C1B600D3C3B800D5C4B900D6C6BC00D8C6
+ BC00D6C8BE00DAC9BF00ECD3B000EDD4B200EFD6B500E7D1B800E7D3BD00F0D8
+ B6008CB7C40080BEC70097C3C70099C3C900ABD7CF00AFD9DD0086E3F90086E7
+ F90086ECF8009EE5FB0090E8F900ACEDFC00BCEAFD00BCF1FB00BFF1FD00D7C9
+ C000D9CAC100DCCBC200DACCC200DDCCC300DACCC400DDCEC400DED0C600DED1
+ C900DED3CC00DFD4CD00E1D1C900E2D5CD00F0DCC200E3D8D200E5D9D200E2DA
+ D500E6DBD400E5DCD500E8DDD600E6DDD800E9DFD900E6E0DB00EAE0DA00EAE2
+ DD00ECE3DE00EBE4DE00ECE4DE00F3E7D900C6E1EF00C9EFFD00D7F6FD00DFF3
+ FF00DFFEFE00EBE7E300EDE6E100EFE7E400EEE8E400F0EAE600F2EDE900F2EE
+ EC00F4EFEC00F5F0EE00F9F4ED00E7FAFD00EBF8FF00F6F2F000F7F4F100F8F4
+ F200F9F7F500FAF8F600FBF9F900FCFBFA00FCFCFB00FEFEFE00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000007D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D
+ 0D0D0000000000000000009C9C19191919191919191919191919191919191919
+ 1903000000000000000000ABDECBCBC7C7AFABABABABAAA3A2A2A0A0A0A0A0A0
+ 8607000000000000000000ABECEAE9DEDEDEDED7D5D2D2D2CBCBCBCBB0CBB0CB
+ 9007000000000000000000ABEDECEAE9DEDEDBD7D7D5D2D2D2CDCDCBB0B0B0B0
+ 9007000000000000000000AFEDE9A9CFD2CFD2CDCBCBCBB0B0ABACA3A3A3A3B0
+ 9007000000000000000000AFF0D5017783838386868686869099909999907BB0
+ 9007000000000000000000B0F4D501A0B0CBD2D5DEECEDF7FAFAFAFAFAF77BAA
+ 9007000000000000000000CBF4DC01A0B0B0B0D2D5DBEAEDF7FAFAFAFAF47BB0
+ 9007000000000000000000CBF8DC010404070604090909090D0D110D110D02A3
+ 9007000000000000000000CBFAED9E9E9E9C999E8C8C8C868683837E7D7D7ACB
+ 9007000000000000000000CBFAF1A7A7A6A6A6A69898989898B5DBDBD5D5D2D2
+ 9907000000000000000000CDFAF796969696961D961D931D1DB4DEDBD7D5D5D2
+ 9C07000000000000000000CFFAFAFAFAF8F7F0F0EDEDEDECE9E9DEDEDED7D5D5
+ 9907000000000000000000CDFAFAEAF0EDEDECEAEAE9DEDEDBDCD5D5D5D5D2D5
+ 9C07000000000000000000D2FAEC01737D7D7B7D7D7B7D7B7D7B7B7B7D7B7DD2
+ 9907000000000000000000CFFAEC019EABB0CBD2D5DCDEECEDF4F4F4F4EA7BD2
+ 9C07000000000000000000B9524601A0B0B0CBB5D5DEEAEDF7FAFAFAFAF47DD5
+ 9C070000000000213F0000B83226010C3F5C1F111214141616191B1B1B1807D2
+ 9C07000000000000253D8A5B322D711E2860BA7E7E7A7E797A797979767676D5
+ 9E0700000000000041375E662F2B65314EBBB6B6B6B6B4B4B1E2F4EDEDEDECEA
+ 9C070000000000008F5D66663232394EC1A81C1C1C1C1C1C1CD3F7F4EDDED7D5
+ 9C0700000000000000B7BE6E5758BEBDE4E6E6F3FAFAFAFAFAFAF7F4D5928675
+ 7304000000002A2A2A2A4A6AFAE7562F2A2A2A5FFAFAFAFAFAFAF8D577010101
+ 0101000000004747472F4A59C5E7564A32474766FAFAFAFAFAFAFADCA0D2CFB0
+ A20C00000000000000436C6958686D6BC2C5C5E7FAFAFAFAFAFAFADEAADEDBCB
+ 1470000000000000004551534A4A5250C0E7FAFAFAFAFAFAFAFAFADEAAD7B514
+ 700000000000000042384C54472B613550C3FAFAFAFAFAFAFAFAFADEA1B0196F
+ 000000000000000024234463322EBC5A3664E3ECE9E9E9E9E9E9E9CF90731300
+ 000000000000003A3C00002232298B8B3E3B207E8B7E8B7E827E817E74100000
+ 0000000000000000000000003227000000000000000000000000000000000000
+ 000000000000FFFFFFFFF800000FF800000FF800000FF800000FF800000FF800
+ 000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800
+ 000FF800000FF800000FF800000FF800000F9800000FC000000FC000000FC000
+ 000FE000000F0000000F0000000FE000000FE000001FC000003FC000007F9800
+ 00FFFCFFFFFF2800000020000000400000000100200000000000801000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000007067
+ 5F70AA9382E570513CE3735540E3735540E3735540E3735540E3735540E37355
+ 40E3735540E3735540E3735540E3735540E3735540E3735540E3735540E37355
+ 40E3735540E3735540E3735540E3735540E3735540E3735540E372533EE5BAAB
+ A070000000000000000000000000000000000000000000000000000000005E54
+ 4C7FCAB7ABFFC5B5AAFFA18877FFA28A78FFA28A79FFA28A79FFA28A79FFA28A
+ 79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A
+ 79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA58D7CFF7A5B46FFB2A1
+ 967F000000000000000000000000000000000000000000000000000000006055
+ 4D7ED7C6BBFFEDE4E0FFD9CCC4FFD9CCC4FFD9CBC3FFD8CAC1FFD7C9BFFFD6C7
+ BDFFD5C6BBFFD4C4BAFFD3C3B8FFD2C1B7FFD1C0B5FFD0BEB3FFCFBDB2FFCEBC
+ B0FFCEBBAFFFCEBBAFFFCEBBAFFFCEBBAFFFCEBCB0FFBEAA9CFF82644FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006056
+ 4D7ED7C8BCFFF2EBE8FFEFE9E5FFEEE7E2FFECE5E0FFEBE2DEFFEAE0DBFFE9DE
+ D8FFE7DBD4FFE5D9D1FFE3D7CFFFE2D4CCFFE1D2C9FFDFD0C7FFDDCDC4FFDCCB
+ C2FFDBC9BFFFDBC9BFFFDBC9BFFFDBC9BFFFDCCAC1FFC1AC9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006155
+ 4E7ED8C9BDFFF3EDE9FFF1EAE6FFF0E9E6FFEEE6E1FFECE4DFFFEBE2DDFFEAE0
+ DAFFE9DED7FFE7DBD4FFE5D9D1FFE3D7CFFFE2D4CCFFE1D2C9FFDFD0C7FFDDCD
+ C4FFDCCBC2FFDBC9BFFFDBC9BFFFDBC9BFFFDCCAC0FFC1AC9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006157
+ 4E7ED9C9BFFFF4EFEDFFEFE8E3FFD0C2B9FFDFD5CEFFE0D5CEFFE0D4CCFFDED3
+ CBFFDDD1C8FFDCCFC6FFDACCC4FFD9CBC1FFD8C9BFFFD7C7BDFFD6C5BBFFD5C4
+ B9FFD3C2B7FFD2C0B5FFD2BFB4FFD2BFB4FFDAC8BEFFC1AC9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006256
+ 4F7EDACCC0FFF5F2EFFFE5DDD9FF5C3821FFB0998AFFB8A394FFB8A394FFB9A3
+ 94FFB8A495FFB9A597FFB9A698FFBAA698FFBBA799FFBBA89AFFBBA89BFFBCA8
+ 9BFFBCA89BFFBCA89BFFBBA89AFFB49E8FFFD8C6BBFFC1AC9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006256
+ 4F7EDBCBC1FFF8F4F3FFE7E0DBFF5F3C24FFD0BDB2FFDCCBC1FFDDCCC3FFE2D2
+ CBFFE7DBD4FFEDE2DEFFF0E8E6FFF5F0EDFFF9F7F4FFFDFDFDFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFAF8F7FFB39D8DFFD8C6BBFFC1AC9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006256
+ 4F7EDCCEC3FFFAF6F5FFE9E2DDFF5F3C24FFD2BFB5FFDFCDC4FFDECCC3FFE0CE
+ C6FFE4D4CDFFE9DDD6FFEFE4E0FFF1EAE8FFF7F1EFFFFBF8F6FFFFFEFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFBFAFFB5A090FFD9C7BEFFC1AD9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006257
+ 4F7EDDCFC4FFFCF9F9FFE9E4E0FF5F3A23FF7C5D49FF7F5F4CFF7E5F4CFF7E60
+ 4DFF7F614DFF816350FF826552FF836654FF846856FF856A57FF866B59FF876C
+ 5BFF876D5BFF876D5BFF866B59FF72523DFFD5C3B9FFC1AFA1FF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006357
+ 507EDECFC6FFFCFCFBFFF4F1F0FFC3B6AEFFC3B5ADFFC1B4ACFFC0B3AAFFBFB1
+ A9FFBEB0A6FFBDAEA5FFBDACA3FFBCABA2FFBBAAA0FFBAA99FFFB8A69AFFB8A4
+ 98FFB6A396FFB5A194FFB49F93FFB39D90FFDCCDC4FFC2AEA1FF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006357
+ 507EDFD2C7FFFEFEFDFFF9F5EFFFE8C696FFE9C799FFE8C697FFE7C596FFE7C4
+ 95FFE6C394FFE5C293FFE4C091FFE4C090FFE3BF8FFFE2BD8CFFE9D5BFFFEBE1
+ DCFFEADFD8FFE7DCD5FFE5DAD3FFE4D8D0FFE3D4CCFFC2AFA2FF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006458
+ 517EE0D3C8FFFFFFFFFFFAF5EFFFE3B77CFFE4B97FFFE2B87EFFE3B77DFFE2B7
+ 7CFFE2B67BFFE1B57AFFE1B479FFE0B478FFE0B377FFDFB174FFE6D0B7FFEBE1
+ DCFFE8DFD9FFE8DDD6FFE6D9D2FFE3D8D1FFE4D7CFFFC3AFA2FF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006458
+ 517EE1D2C9FFFFFFFFFFFEFEFDFFFEFFFFFFFCFDFEFFFBFBFBFFF9F7F8FFF8F5
+ F6FFF7F3F2FFF5F1F0FFF4EFEEFFF1EDEBFFF0EBE9FFEEE9E6FFEDE6E2FFECE3
+ DEFFEBE1DBFFE9DFD9FFE8DDD6FFE6DAD3FFE5D9D2FFC3B0A3FF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006459
+ 517EE1D4CAFFFFFFFFFFFDFDFCFFEEEBE8FFF5F2F0FFF4F0EFFFF3EFECFFF2ED
+ EAFFF1EBE8FFEEE9E5FFEFE7E3FFECE5E1FFEAE4DEFFEAE1DCFFE8E0DAFFE7DE
+ D8FFE6DDD6FFE5DBD4FFE4D8D1FFE2D6CEFFE6DBD4FFC3B1A4FF81634EFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006559
+ 527EE2D4CAFFFFFFFFFFF0ECEAFF5B361EFFAB9383FFB39D8EFFB39D8DFFB39D
+ 8DFFB29D8DFFB29C8DFFB29C8CFFB29C8CFFB29C8CFFB29C8CFFB29C8CFFB29C
+ 8CFFB29C8CFFB29C8CFFB29C8DFFB39D8EFFE3D8D0FFC4B1A4FF81634EFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006559
+ 527EE5D4CAFFFFFFFFFFF7F0EBFF5F3B24FFCCB8ADFFD7C5BAFFD9C7BDFFDCCC
+ C3FFE1D4CCFFE5DAD4FFE8E0DBFFEDE5E1FFF1EBE9FFF5F2EFFFF7F5F3FFF8F6
+ F4FFF8F5F4FFF8F6F4FFF1EEEAFFB29C8DFFE6DAD3FFC4B2A5FF81634EFFB2A1
+ 967E00000000000000000000000000000000000000000000000000000000685A
+ 527E9AC6C9FF35CFFEFF3DAEEBFF663E24FFD2BFB4FFE0CBBFFFE0C9BDFFE1CD
+ C4FFE4D5CDFFE9DED7FFEEE5E0FFF2EBE8FFF6F2F0FFFCF8F8FFFFFFFEFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFAF9FFB49E8FFFE7DED7FFC5B3A6FF81634EFFB2A1
+ 967E00000000000000000000000000000000007792910072A7A3001E33366957
+ 4C7C86C1C8FF00BFFBFF079AEBFF6A3E23FF926D57FF5FA3C8FF4AC1E8FF6C9C
+ A2FF917260FF927767FF947A69FF957C6CFF977E6FFF998171FF9A8374FF9B85
+ 76FF9C8678FF9C8678FF998274FF7D5E49FFE3D9D4FFC5B3A7FF81634EFFB2A1
+ 967E00000000000000000000000000000000005A6F7000A9E5E40075AEAE5C90
+ A5BD75D0E0FF00BFFAFF0CA3F4FF8A9A91FF3C7492FF03A4E4FF4AD5FFFF98C4
+ CBFFB3A196FFB1A197FFB0A096FFB09F95FFAF9D92FFAF9C91FFAD9A8EFFAC99
+ 8CFFAB988AFFAB9789FFAA9688FFA99386FFE8E0DAFFC5B4A7FF81634EFFB2A1
+ 967E00000000000000000000000000000000000000002DA5BFC110C2FFFF4DD0
+ FDFF64DBF9FF00B3FAFF09A8FEFF68D7FFFF04B5FFFF24CCFBFFAFD8CEFFF7DA
+ B8FFF3DBBBFFF3DBBAFFF2D9B9FFF1D8B7FFF0D7B4FFEED5B2FFF6EADDFFF9F6
+ F4FFF7F3F1FFF5F1EEFFF5EFECFFF4EDEAFFF1EBE7FFC6B4A8FF81634EFFB2A1
+ 967E00000000000000000000000000000000000000005F8A909142C7E4E960DE
+ F8FF64D7FAFF00B6FDFF00B8FDFF21B2FDFF1ECCF7FF93EBFCFFD2C69BFFE1AB
+ 63FFDFAC66FFDFAC66FFDFAC66FFDFAC66FFDFAC66FFDEA961FFEFDBC0FFF8F6
+ F5FFF6F2F0FFF3EDEBFFECE2DCFFE9DFD9FFE5DBD6FFC2B1A4FF81634FFFB2A1
+ 967E000000000000000000000000000E171A000E171A00040B145994A4A990EB
+ FCFF61F1F7FF13FAF7FF23F9F7FF93EDF7FF8CE5F8FFD5F2FDFFE9F8FFFFE7F8
+ FFFFF0FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFDFEFFFFFAFAF9FFF9F7
+ F5FFF7F2F0FFE8DFD8FFC7AE9FFFBEA998FFAF9888FFB09A8AFF7F604DFFB2A1
+ 967E00000000000000000000000000AAFFFF00AAFFFF00AAFFFF00A4FFFF00CD
+ FAFF5DFCF9FFFFFFFFFFEEFEFEFF00FBF7FF00AAFEFF00A1FFFF00A1FFFF00A0
+ FFFF56C3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFDFBFFFCFBFAFFFBFA
+ F8FFE6DDD6FFAA9180FF5D3922FF603D26FF613E27FF613E28FF634029FFB4A3
+ 987E00000000000000000000000000CAFFFF00CAFFFF00CBFFFF00B0FFFF00CD
+ FBFF38F5F7FFC3EFFAFFF0FFFEFF00FAF7FF00C8F7FF00C2F7FF00C2F7FF00C1
+ F7FF57D7FAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFDFDFCFFFCFC
+ FBFFE7DED8FFCCB9ACFFE6DBD5FFE2D7D0FFDCCFC5FFD7C5BBFF8E705DFFB4A2
+ 9680000000000000000000000000002E383C002E383C00252F364C99B0B57DE8
+ FBFF59F1F7FF25F7F7FF41FAF8FF7CEEF7FF77E4F7FFB5EFFCFFC6F2FDFFC3F2
+ FDFFD9F6FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFEFEFFFEFE
+ FEFFE9E1DAFFCEBCAFFFF1E9E3FFEADFD8FFE4D5CCFF9D816FFF3A291F868985
+ 831C00000000000000000000000000000000000000004E7073774AB0DADC37C9
+ FBFF22D5F7FF00D3F9FF02C3FBFF37D5F7FF34BEFCFFA2E6FAFFECFBFDFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF
+ FFFFEAE2DCFFCDBBADFFEADFD8FFE3D5CBFF9F8271FF3E2D2386050100200000
+ 000000000000000000000000000000000000000000003E9CC4C219C0FFFF23C9
+ FCFF30D3F8FF00BEF8FF06A8FEFF4FDCF8FF00B8FCFF32C2FBFFC0EBFCFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFEAE3DEFFCDB9ABFFDDCEC4FFA58979FF3E2C1F8F0905041B000000000000
+ 000000000000000000000000000000000000003451510099DDDB0091C0C35DAD
+ BCCF76D7E9FF00BEF9FF10A9FBFFBDDEDEFF5AC8DDFF0AB5F7FF62CEFFFFCBE4
+ F1FFF1E7E0FFEFE7E1FFEEE6E1FFEEE6E1FFEEE6E0FFEDE6E0FFEDE5E0FFEEE6
+ E1FFE1D4CCFFC5AE9FFFA68D7FF53E2718A10402000E00000000000000000000
+ 0000000000000000000000000000000000000075B7AF0099C7C500323E425442
+ 3B5C6BA8B1DA00C1FCFF0EA1F3F8A98E80C0AB9081C12698B1C10088C4C14C85
+ A3C1A18D80C19E8D81C19E8B81C19D8C80C19B8C7FC19B8A7FC19C897FC19A89
+ 7EC19B8B7EC1897769C2432B1BAC000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000045565A00C5FFFF0094E6E2000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000FFFFFFFFF0000007F0000007F0000007F000
+ 0007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F000
+ 0007F0000007F0000007F0000007F0000007F0000007F0000007800000078000
+ 0007C0000007C000000700000007000000070000000700000007C000000FC000
+ 001F8000003F800000FFF8FFFFFF}
+ Width = 450
+ Left = 264
+ Top = 112
+ end
+ object JsListaPedidosNoEliminados: TJSDialog
+ Glyph.Data = {
+ 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00
+ 00001C0806000000720DDF940000000970485973000017120000171201679FD2
+ 520000000467414D410000B18E7CFB5193000003104944415478DAAD96FB4B14
+ 5114C7CFE463DC1E606444BFF54424D3DC55CA52B1CCD7165A219905054182FD
+ 1452FD5810FD100406610A669A998FC4F5BDB6266265DAB60F5DD15E58FE03B2
+ 3F99D29ABBA7B9779C71C61D9D6177CFCE70CFDCB97B3EF7DCF3BD33C38082FD
+ B502B2B300CC656020048688A24F036233A0671F40D43160BA87BF62AEEE1010
+ 60D7AE293AD8B835815E9B625C80DC8F1E88D4A7C1E8C1FB8F9FD6C3C44035B3
+ 21500A65F6D700FE2EA580A5EC551F4A50359316B31D76EFDC0EE5F72A645045
+ A067AE0623074B8140891108F1057064CC0D556053DF173812B707E6DCF332A8
+ 225080D201DB4AF99BF335B4D502F371415BCC364833C4C29F458F0C2A031281
+ 081734AB0B3C88403C1E6E3E2E7960F6A8FFD27A7D3EF07A11DA2C76C84A8D87
+ A57FCB32E8B8A54A4C8C21B59365C9015996EF2240B6634DF435B51460A46D1F
+ 70C093AA46BF09C980C12CA914E6F371ADD707EF1DB3B0B0B8006EB79B8EA96B
+ EA5106121851245129118FD8BFA2DC5C53C6BAF5EBBBBA97C2D64EC064195B1F
+ 286C76E956A0EA5C51AEB4764A9929F5750D5A9581D2274B9B651C0BA2F514A8
+ 6F28E36B70AD9A4253EF97A9AA55B0CEBA87D03B645B3F43C1DE589C58186D10
+ 81150FCAC57B11E161B04517099BB953C78643141B01BA28EEE4DAB0B04DE2B8
+ CA460B9C399902E661BB3AB0F5AD038BF30CD4D7E7DD14815A61023027DD00EF
+ 469C1A80FD1C307F1578FD4A81E665945AD68924181A9D5007B6F4DBF1527E32
+ F5C9D3632351F8F549AEE916B14EAA039BCD362C31A6040D23E7887D4A03B0CF
+ 86C5C6641A24BB7646D3F2D51A77F8C1BCDCFFC79CD3EAC0D7BD56AE86294165
+ 4660CB5C6B737DD3062CCA31D00069E76E05241862CF1EDD05E7D40F756063CF
+ 673C7F5A4F679A59541EF03E4C8C3B0893DF67D481AFBAC7B0F05412CD30EBE2
+ ED80F7617CEC0198FEF94B1BF06C6622AD4B4EC99D80F7A1666043D7281A3312
+ FD84C20B8417C3AA789405239826E0CBCE4F98979E10344C33B0BE630473D312
+ 82866906D6993E62F6F1C3F45D160A5305BE68FF8095CF5B4302134CFE1185EA
+ 1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082}
+ Instruction.Text =
+ 'Los siguientes pedidos no han podido ser eliminados, porque tien' +
+ 'en albaranes asociados'
+ Instruction.Glyph.Data = {
+ 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00
+ 00001C0806000000720DDF940000000970485973000017120000171201679FD2
+ 520000000467414D410000B18E7CFB5193000003104944415478DAAD96FB4B14
+ 5114C7CFE463DC1E606444BFF54424D3DC55CA52B1CCD7165A219905054182FD
+ 1452FD5810FD100406610A669A998FC4F5BDB6266265DAB60F5DD15E58FE03B2
+ 3F99D29ABBA7B9779C71C61D9D6177CFCE70CFDCB97B3EF7DCF3BD33C38082FD
+ B502B2B300CC656020048688A24F036233A0671F40D43160BA87BF62AEEE1010
+ 60D7AE293AD8B835815E9B625C80DC8F1E88D4A7C1E8C1FB8F9FD6C3C44035B3
+ 21500A65F6D700FE2EA580A5EC551F4A50359316B31D76EFDC0EE5F72A645045
+ A067AE0623074B8140891108F1057064CC0D556053DF173812B707E6DCF332A8
+ 225080D201DB4AF99BF335B4D502F371415BCC364833C4C29F458F0C2A031281
+ 081734AB0B3C88403C1E6E3E2E7960F6A8FFD27A7D3EF07A11DA2C76C84A8D87
+ A57FCB32E8B8A54A4C8C21B59365C9015996EF2240B6634DF435B51460A46D1F
+ 70C093AA46BF09C980C12CA914E6F371ADD707EF1DB3B0B0B8006EB79B8EA96B
+ EA5106121851245129118FD8BFA2DC5C53C6BAF5EBBBBA97C2D64EC064195B1F
+ 286C76E956A0EA5C51AEB4764A9929F5750D5A9581D2274B9B651C0BA2F514A8
+ 6F28E36B70AD9A4253EF97A9AA55B0CEBA87D03B645B3F43C1DE589C58186D10
+ 81150FCAC57B11E161B04517099BB953C78643141B01BA28EEE4DAB0B04DE2B8
+ CA460B9C399902E661BB3AB0F5AD038BF30CD4D7E7DD14815A61023027DD00EF
+ 469C1A80FD1C307F1578FD4A81E665945AD68924181A9D5007B6F4DBF1527E32
+ F5C9D3632351F8F549AEE916B14EAA039BCD362C31A6040D23E7887D4A03B0CF
+ 86C5C6641A24BB7646D3F2D51A77F8C1BCDCFFC79CD3EAC0D7BD56AE86294165
+ 4660CB5C6B737DD3062CCA31D00069E76E05241862CF1EDD05E7D40F756063CF
+ 673C7F5A4F679A59541EF03E4C8C3B0893DF67D481AFBAC7B0F05412CD30EBE2
+ ED80F7617CEC0198FEF94B1BF06C6622AD4B4EC99D80F7A1666043D7281A3312
+ FD84C20B8417C3AA789405239826E0CBCE4F98979E10344C33B0BE630473D312
+ 82866906D6993E62F6F1C3F45D160A5305BE68FF8095CF5B4302134CFE1185EA
+ 1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082}
+ Instruction.Icon = tdiCustom
+ ButtonBar.Buttons = [cbOK]
+ ButtonBar.Cancel = cbOK
+ ButtonBar.UseCancel = False
+ MainIcon = tdiCustom
+ Title = 'FactuGES'
+ Position = dpMainFormCenter
+ Icon.Data = {
+ 0000010003002020100001000400E8020000360000002020000001000800A808
+ 00001E0300002020000001002000A8100000C60B000028000000200000004000
+ 0000010004000000000000020000000000000000000000000000000000000000
+ 000000008000008000000080800080000000800080008080000080808000C0C0
+ C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000
+ 0000000000000000000000000000000008777777777777777777777700000000
+ 0877767777677776777767760000000008F88888888888888888888700000000
+ 08F8FF8F8F888888888888860000000008FF8F8F88F8F8888888888C00000000
+ 08F88888F8888888888888860000000008F8688878E8888E88E8788700000000
+ 08F8688888F8F8FFFFFF88760000000008FF4888888F8FFFFFFF788700000000
+ 08F8676767677677677658E50000000008FF8888888887878787888700000000
+ 08FF8887887E8888888888860000000008FFE8E8E788C8E8FF8F8F8600000000
+ 08FFF8F8F8F8FF8F88F8F8870000000008FFFFFF8FF8F8F8F88F888600000000
+ 0FF8477878787878788788860000000008FF68888888F8FF8F8F788700000000
+ 08B7588888FF8FFFFFFF78860000083008BB47887776777777776F86000000B7
+ 8B9B73BB88788787E87878870000008BB8B9BB78888888EFF8F8FF8600000087
+ B8BB8B888E8E8E88FFF8F886000000088BBB888FFFFFFFFFF8F877770000B9BB
+ B8FFBB9B9BFFFFFFF87466460000BBB9BB8FBBBBB8FFFFFFF88F888700000008
+ B8BB88888FFFFFFFF88F8F7700000008BBBBBB8FFFFFFFFFFF8887700000007B
+ B7B98BB8FFFFFFFFF8887700000000B78B9B87B888F88F88F8877000000007B0
+ 08BB883B78888788787700000000000000B9000000000000000000000000FFFF
+ FFFFF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800
+ 000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800
+ 000FF800000FF800000F9800000FC000000FC000000FC000000FE000000F0000
+ 000F0000000FE000000FE000001FC000003FC000007F980000FFFCFFFFFF2800
+ 0000200000004000000001000800000000000004000000000000000000000001
+ 00000001000000000000694731007C5D49007E604C0081635000826451008567
+ 540085685500886B5900896D5B008A6E5D008B705F008E715F008B7260008C72
+ 61008E74640084766C00957A6900977D6D00887B72009A8171009D8272009C84
+ 76009D8778009F897B00A28A7900A08B7D00A18C7E00E1B06E00E1B67D003E7A
+ 970073A0A5007AA2B70074AFBD007BB2BB003CAACE0028A5DB0020ADDF000D9A
+ E500209EE3000DA6E2001AA4EF0000A6FF000CABFE0009ACFE0010A4F10015AC
+ FA0000B5FB0000B0FD000CB6FC0000BFF90000BAFD0004BAFD0009BBFB0013B6
+ F40015BFFA001CBDFB0026B7FD00589EC50040A4CD0040ABCC0050A2C7005DAE
+ C00060A3C20062A4C60060B7CB006AB0CD007BB6C80077BAC80061BADD0044AD
+ E50000C3F80007C6FB0000CAF80000CFFB0000D4F90026C8FA0026CDF8002BCC
+ F90039C4FB0039C2FC0039CAFA003FCFFB0024D6F80030D2F80039D5F80000F8
+ F8001FF8F8002CF6F8003EF4F8005AC6DC0070CDDF0052C0E40054C9E3004DCE
+ FA005FC7FF004FD2FB004DD9F8005FD9FB006ED3E70063CDFE0060D1FB0060D8
+ F90060DDF80046F8F90056F0F8005FFAFA0073E3F80073E4F90073EEF80060F1
+ F800958A84009A918C0081999500A68F8200AD968500A3968C00AE988900AD9A
+ 8D00B19A8B00AF9C9000B09E9200B59F9200B7A29300B2A19600B5A19400B7A4
+ 9700BDA79700B4A39800B1A59D00B4A79F00BAA69800BCA79900B4A89F00BCA8
+ 9900BAA89C00BDAA9D00BEAC9E0083ADBD00B5A9A100BDABA000BEADA100BFAF
+ A500A0BABE00C0AB9E00C1AC9E00C6AE9F00E2B98100E4BA8300E4BB8400E5BC
+ 8500E1BD8E00E3BF9000C0ADA000C2B0A300C2B1A500C4B2A600C1B2A800C3B5
+ AB00C8B4A800CCB9AD00CEBCB100D0BEB200D1BFB400E4C19300E5C29400E6C4
+ 9600E8C69900D0C9A300CFC1B800D2C1B600D3C3B800D5C4B900D6C6BC00D8C6
+ BC00D6C8BE00DAC9BF00ECD3B000EDD4B200EFD6B500E7D1B800E7D3BD00F0D8
+ B6008CB7C40080BEC70097C3C70099C3C900ABD7CF00AFD9DD0086E3F90086E7
+ F90086ECF8009EE5FB0090E8F900ACEDFC00BCEAFD00BCF1FB00BFF1FD00D7C9
+ C000D9CAC100DCCBC200DACCC200DDCCC300DACCC400DDCEC400DED0C600DED1
+ C900DED3CC00DFD4CD00E1D1C900E2D5CD00F0DCC200E3D8D200E5D9D200E2DA
+ D500E6DBD400E5DCD500E8DDD600E6DDD800E9DFD900E6E0DB00EAE0DA00EAE2
+ DD00ECE3DE00EBE4DE00ECE4DE00F3E7D900C6E1EF00C9EFFD00D7F6FD00DFF3
+ FF00DFFEFE00EBE7E300EDE6E100EFE7E400EEE8E400F0EAE600F2EDE900F2EE
+ EC00F4EFEC00F5F0EE00F9F4ED00E7FAFD00EBF8FF00F6F2F000F7F4F100F8F4
+ F200F9F7F500FAF8F600FBF9F900FCFBFA00FCFCFB00FEFEFE00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000007D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D
+ 0D0D0000000000000000009C9C19191919191919191919191919191919191919
+ 1903000000000000000000ABDECBCBC7C7AFABABABABAAA3A2A2A0A0A0A0A0A0
+ 8607000000000000000000ABECEAE9DEDEDEDED7D5D2D2D2CBCBCBCBB0CBB0CB
+ 9007000000000000000000ABEDECEAE9DEDEDBD7D7D5D2D2D2CDCDCBB0B0B0B0
+ 9007000000000000000000AFEDE9A9CFD2CFD2CDCBCBCBB0B0ABACA3A3A3A3B0
+ 9007000000000000000000AFF0D5017783838386868686869099909999907BB0
+ 9007000000000000000000B0F4D501A0B0CBD2D5DEECEDF7FAFAFAFAFAF77BAA
+ 9007000000000000000000CBF4DC01A0B0B0B0D2D5DBEAEDF7FAFAFAFAF47BB0
+ 9007000000000000000000CBF8DC010404070604090909090D0D110D110D02A3
+ 9007000000000000000000CBFAED9E9E9E9C999E8C8C8C868683837E7D7D7ACB
+ 9007000000000000000000CBFAF1A7A7A6A6A6A69898989898B5DBDBD5D5D2D2
+ 9907000000000000000000CDFAF796969696961D961D931D1DB4DEDBD7D5D5D2
+ 9C07000000000000000000CFFAFAFAFAF8F7F0F0EDEDEDECE9E9DEDEDED7D5D5
+ 9907000000000000000000CDFAFAEAF0EDEDECEAEAE9DEDEDBDCD5D5D5D5D2D5
+ 9C07000000000000000000D2FAEC01737D7D7B7D7D7B7D7B7D7B7B7B7D7B7DD2
+ 9907000000000000000000CFFAEC019EABB0CBD2D5DCDEECEDF4F4F4F4EA7BD2
+ 9C07000000000000000000B9524601A0B0B0CBB5D5DEEAEDF7FAFAFAFAF47DD5
+ 9C070000000000213F0000B83226010C3F5C1F111214141616191B1B1B1807D2
+ 9C07000000000000253D8A5B322D711E2860BA7E7E7A7E797A797979767676D5
+ 9E0700000000000041375E662F2B65314EBBB6B6B6B6B4B4B1E2F4EDEDEDECEA
+ 9C070000000000008F5D66663232394EC1A81C1C1C1C1C1C1CD3F7F4EDDED7D5
+ 9C0700000000000000B7BE6E5758BEBDE4E6E6F3FAFAFAFAFAFAF7F4D5928675
+ 7304000000002A2A2A2A4A6AFAE7562F2A2A2A5FFAFAFAFAFAFAF8D577010101
+ 0101000000004747472F4A59C5E7564A32474766FAFAFAFAFAFAFADCA0D2CFB0
+ A20C00000000000000436C6958686D6BC2C5C5E7FAFAFAFAFAFAFADEAADEDBCB
+ 1470000000000000004551534A4A5250C0E7FAFAFAFAFAFAFAFAFADEAAD7B514
+ 700000000000000042384C54472B613550C3FAFAFAFAFAFAFAFAFADEA1B0196F
+ 000000000000000024234463322EBC5A3664E3ECE9E9E9E9E9E9E9CF90731300
+ 000000000000003A3C00002232298B8B3E3B207E8B7E8B7E827E817E74100000
+ 0000000000000000000000003227000000000000000000000000000000000000
+ 000000000000FFFFFFFFF800000FF800000FF800000FF800000FF800000FF800
+ 000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800
+ 000FF800000FF800000FF800000FF800000F9800000FC000000FC000000FC000
+ 000FE000000F0000000F0000000FE000000FE000001FC000003FC000007F9800
+ 00FFFCFFFFFF2800000020000000400000000100200000000000801000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000007067
+ 5F70AA9382E570513CE3735540E3735540E3735540E3735540E3735540E37355
+ 40E3735540E3735540E3735540E3735540E3735540E3735540E3735540E37355
+ 40E3735540E3735540E3735540E3735540E3735540E3735540E372533EE5BAAB
+ A070000000000000000000000000000000000000000000000000000000005E54
+ 4C7FCAB7ABFFC5B5AAFFA18877FFA28A78FFA28A79FFA28A79FFA28A79FFA28A
+ 79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A
+ 79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA58D7CFF7A5B46FFB2A1
+ 967F000000000000000000000000000000000000000000000000000000006055
+ 4D7ED7C6BBFFEDE4E0FFD9CCC4FFD9CCC4FFD9CBC3FFD8CAC1FFD7C9BFFFD6C7
+ BDFFD5C6BBFFD4C4BAFFD3C3B8FFD2C1B7FFD1C0B5FFD0BEB3FFCFBDB2FFCEBC
+ B0FFCEBBAFFFCEBBAFFFCEBBAFFFCEBBAFFFCEBCB0FFBEAA9CFF82644FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006056
+ 4D7ED7C8BCFFF2EBE8FFEFE9E5FFEEE7E2FFECE5E0FFEBE2DEFFEAE0DBFFE9DE
+ D8FFE7DBD4FFE5D9D1FFE3D7CFFFE2D4CCFFE1D2C9FFDFD0C7FFDDCDC4FFDCCB
+ C2FFDBC9BFFFDBC9BFFFDBC9BFFFDBC9BFFFDCCAC1FFC1AC9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006155
+ 4E7ED8C9BDFFF3EDE9FFF1EAE6FFF0E9E6FFEEE6E1FFECE4DFFFEBE2DDFFEAE0
+ DAFFE9DED7FFE7DBD4FFE5D9D1FFE3D7CFFFE2D4CCFFE1D2C9FFDFD0C7FFDDCD
+ C4FFDCCBC2FFDBC9BFFFDBC9BFFFDBC9BFFFDCCAC0FFC1AC9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006157
+ 4E7ED9C9BFFFF4EFEDFFEFE8E3FFD0C2B9FFDFD5CEFFE0D5CEFFE0D4CCFFDED3
+ CBFFDDD1C8FFDCCFC6FFDACCC4FFD9CBC1FFD8C9BFFFD7C7BDFFD6C5BBFFD5C4
+ B9FFD3C2B7FFD2C0B5FFD2BFB4FFD2BFB4FFDAC8BEFFC1AC9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006256
+ 4F7EDACCC0FFF5F2EFFFE5DDD9FF5C3821FFB0998AFFB8A394FFB8A394FFB9A3
+ 94FFB8A495FFB9A597FFB9A698FFBAA698FFBBA799FFBBA89AFFBBA89BFFBCA8
+ 9BFFBCA89BFFBCA89BFFBBA89AFFB49E8FFFD8C6BBFFC1AC9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006256
+ 4F7EDBCBC1FFF8F4F3FFE7E0DBFF5F3C24FFD0BDB2FFDCCBC1FFDDCCC3FFE2D2
+ CBFFE7DBD4FFEDE2DEFFF0E8E6FFF5F0EDFFF9F7F4FFFDFDFDFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFAF8F7FFB39D8DFFD8C6BBFFC1AC9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006256
+ 4F7EDCCEC3FFFAF6F5FFE9E2DDFF5F3C24FFD2BFB5FFDFCDC4FFDECCC3FFE0CE
+ C6FFE4D4CDFFE9DDD6FFEFE4E0FFF1EAE8FFF7F1EFFFFBF8F6FFFFFEFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFBFAFFB5A090FFD9C7BEFFC1AD9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006257
+ 4F7EDDCFC4FFFCF9F9FFE9E4E0FF5F3A23FF7C5D49FF7F5F4CFF7E5F4CFF7E60
+ 4DFF7F614DFF816350FF826552FF836654FF846856FF856A57FF866B59FF876C
+ 5BFF876D5BFF876D5BFF866B59FF72523DFFD5C3B9FFC1AFA1FF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006357
+ 507EDECFC6FFFCFCFBFFF4F1F0FFC3B6AEFFC3B5ADFFC1B4ACFFC0B3AAFFBFB1
+ A9FFBEB0A6FFBDAEA5FFBDACA3FFBCABA2FFBBAAA0FFBAA99FFFB8A69AFFB8A4
+ 98FFB6A396FFB5A194FFB49F93FFB39D90FFDCCDC4FFC2AEA1FF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006357
+ 507EDFD2C7FFFEFEFDFFF9F5EFFFE8C696FFE9C799FFE8C697FFE7C596FFE7C4
+ 95FFE6C394FFE5C293FFE4C091FFE4C090FFE3BF8FFFE2BD8CFFE9D5BFFFEBE1
+ DCFFEADFD8FFE7DCD5FFE5DAD3FFE4D8D0FFE3D4CCFFC2AFA2FF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006458
+ 517EE0D3C8FFFFFFFFFFFAF5EFFFE3B77CFFE4B97FFFE2B87EFFE3B77DFFE2B7
+ 7CFFE2B67BFFE1B57AFFE1B479FFE0B478FFE0B377FFDFB174FFE6D0B7FFEBE1
+ DCFFE8DFD9FFE8DDD6FFE6D9D2FFE3D8D1FFE4D7CFFFC3AFA2FF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006458
+ 517EE1D2C9FFFFFFFFFFFEFEFDFFFEFFFFFFFCFDFEFFFBFBFBFFF9F7F8FFF8F5
+ F6FFF7F3F2FFF5F1F0FFF4EFEEFFF1EDEBFFF0EBE9FFEEE9E6FFEDE6E2FFECE3
+ DEFFEBE1DBFFE9DFD9FFE8DDD6FFE6DAD3FFE5D9D2FFC3B0A3FF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006459
+ 517EE1D4CAFFFFFFFFFFFDFDFCFFEEEBE8FFF5F2F0FFF4F0EFFFF3EFECFFF2ED
+ EAFFF1EBE8FFEEE9E5FFEFE7E3FFECE5E1FFEAE4DEFFEAE1DCFFE8E0DAFFE7DE
+ D8FFE6DDD6FFE5DBD4FFE4D8D1FFE2D6CEFFE6DBD4FFC3B1A4FF81634EFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006559
+ 527EE2D4CAFFFFFFFFFFF0ECEAFF5B361EFFAB9383FFB39D8EFFB39D8DFFB39D
+ 8DFFB29D8DFFB29C8DFFB29C8CFFB29C8CFFB29C8CFFB29C8CFFB29C8CFFB29C
+ 8CFFB29C8CFFB29C8CFFB29C8DFFB39D8EFFE3D8D0FFC4B1A4FF81634EFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006559
+ 527EE5D4CAFFFFFFFFFFF7F0EBFF5F3B24FFCCB8ADFFD7C5BAFFD9C7BDFFDCCC
+ C3FFE1D4CCFFE5DAD4FFE8E0DBFFEDE5E1FFF1EBE9FFF5F2EFFFF7F5F3FFF8F6
+ F4FFF8F5F4FFF8F6F4FFF1EEEAFFB29C8DFFE6DAD3FFC4B2A5FF81634EFFB2A1
+ 967E00000000000000000000000000000000000000000000000000000000685A
+ 527E9AC6C9FF35CFFEFF3DAEEBFF663E24FFD2BFB4FFE0CBBFFFE0C9BDFFE1CD
+ C4FFE4D5CDFFE9DED7FFEEE5E0FFF2EBE8FFF6F2F0FFFCF8F8FFFFFFFEFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFAF9FFB49E8FFFE7DED7FFC5B3A6FF81634EFFB2A1
+ 967E00000000000000000000000000000000007792910072A7A3001E33366957
+ 4C7C86C1C8FF00BFFBFF079AEBFF6A3E23FF926D57FF5FA3C8FF4AC1E8FF6C9C
+ A2FF917260FF927767FF947A69FF957C6CFF977E6FFF998171FF9A8374FF9B85
+ 76FF9C8678FF9C8678FF998274FF7D5E49FFE3D9D4FFC5B3A7FF81634EFFB2A1
+ 967E00000000000000000000000000000000005A6F7000A9E5E40075AEAE5C90
+ A5BD75D0E0FF00BFFAFF0CA3F4FF8A9A91FF3C7492FF03A4E4FF4AD5FFFF98C4
+ CBFFB3A196FFB1A197FFB0A096FFB09F95FFAF9D92FFAF9C91FFAD9A8EFFAC99
+ 8CFFAB988AFFAB9789FFAA9688FFA99386FFE8E0DAFFC5B4A7FF81634EFFB2A1
+ 967E00000000000000000000000000000000000000002DA5BFC110C2FFFF4DD0
+ FDFF64DBF9FF00B3FAFF09A8FEFF68D7FFFF04B5FFFF24CCFBFFAFD8CEFFF7DA
+ B8FFF3DBBBFFF3DBBAFFF2D9B9FFF1D8B7FFF0D7B4FFEED5B2FFF6EADDFFF9F6
+ F4FFF7F3F1FFF5F1EEFFF5EFECFFF4EDEAFFF1EBE7FFC6B4A8FF81634EFFB2A1
+ 967E00000000000000000000000000000000000000005F8A909142C7E4E960DE
+ F8FF64D7FAFF00B6FDFF00B8FDFF21B2FDFF1ECCF7FF93EBFCFFD2C69BFFE1AB
+ 63FFDFAC66FFDFAC66FFDFAC66FFDFAC66FFDFAC66FFDEA961FFEFDBC0FFF8F6
+ F5FFF6F2F0FFF3EDEBFFECE2DCFFE9DFD9FFE5DBD6FFC2B1A4FF81634FFFB2A1
+ 967E000000000000000000000000000E171A000E171A00040B145994A4A990EB
+ FCFF61F1F7FF13FAF7FF23F9F7FF93EDF7FF8CE5F8FFD5F2FDFFE9F8FFFFE7F8
+ FFFFF0FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFDFEFFFFFAFAF9FFF9F7
+ F5FFF7F2F0FFE8DFD8FFC7AE9FFFBEA998FFAF9888FFB09A8AFF7F604DFFB2A1
+ 967E00000000000000000000000000AAFFFF00AAFFFF00AAFFFF00A4FFFF00CD
+ FAFF5DFCF9FFFFFFFFFFEEFEFEFF00FBF7FF00AAFEFF00A1FFFF00A1FFFF00A0
+ FFFF56C3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFDFBFFFCFBFAFFFBFA
+ F8FFE6DDD6FFAA9180FF5D3922FF603D26FF613E27FF613E28FF634029FFB4A3
+ 987E00000000000000000000000000CAFFFF00CAFFFF00CBFFFF00B0FFFF00CD
+ FBFF38F5F7FFC3EFFAFFF0FFFEFF00FAF7FF00C8F7FF00C2F7FF00C2F7FF00C1
+ F7FF57D7FAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFDFDFCFFFCFC
+ FBFFE7DED8FFCCB9ACFFE6DBD5FFE2D7D0FFDCCFC5FFD7C5BBFF8E705DFFB4A2
+ 9680000000000000000000000000002E383C002E383C00252F364C99B0B57DE8
+ FBFF59F1F7FF25F7F7FF41FAF8FF7CEEF7FF77E4F7FFB5EFFCFFC6F2FDFFC3F2
+ FDFFD9F6FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFEFEFFFEFE
+ FEFFE9E1DAFFCEBCAFFFF1E9E3FFEADFD8FFE4D5CCFF9D816FFF3A291F868985
+ 831C00000000000000000000000000000000000000004E7073774AB0DADC37C9
+ FBFF22D5F7FF00D3F9FF02C3FBFF37D5F7FF34BEFCFFA2E6FAFFECFBFDFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF
+ FFFFEAE2DCFFCDBBADFFEADFD8FFE3D5CBFF9F8271FF3E2D2386050100200000
+ 000000000000000000000000000000000000000000003E9CC4C219C0FFFF23C9
+ FCFF30D3F8FF00BEF8FF06A8FEFF4FDCF8FF00B8FCFF32C2FBFFC0EBFCFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFEAE3DEFFCDB9ABFFDDCEC4FFA58979FF3E2C1F8F0905041B000000000000
+ 000000000000000000000000000000000000003451510099DDDB0091C0C35DAD
+ BCCF76D7E9FF00BEF9FF10A9FBFFBDDEDEFF5AC8DDFF0AB5F7FF62CEFFFFCBE4
+ F1FFF1E7E0FFEFE7E1FFEEE6E1FFEEE6E1FFEEE6E0FFEDE6E0FFEDE5E0FFEEE6
+ E1FFE1D4CCFFC5AE9FFFA68D7FF53E2718A10402000E00000000000000000000
+ 0000000000000000000000000000000000000075B7AF0099C7C500323E425442
+ 3B5C6BA8B1DA00C1FCFF0EA1F3F8A98E80C0AB9081C12698B1C10088C4C14C85
+ A3C1A18D80C19E8D81C19E8B81C19D8C80C19B8C7FC19B8A7FC19C897FC19A89
+ 7EC19B8B7EC1897769C2432B1BAC000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000045565A00C5FFFF0094E6E2000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000FFFFFFFFF0000007F0000007F0000007F000
+ 0007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F000
+ 0007F0000007F0000007F0000007F0000007F0000007F0000007800000078000
+ 0007C0000007C000000700000007000000070000000700000007C000000FC000
+ 001F8000003F800000FFF8FFFFFF}
+ Width = 450
+ Left = 184
+ Top = 112
+ end
+end
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.pas b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.pas
new file mode 100644
index 00000000..eeb06954
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.pas
@@ -0,0 +1,391 @@
+unit uEditorPresupuestosCliente;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Menus, DB, uDADataTable, JvAppStorage,
+ JvAppRegistryStorage, JvComponent, JvFormPlacement, ImgList,
+ PngImageList, StdActns, ActnList, ComCtrls, TB2ExtItems, TBXExtItems,
+ TBX, TB2Item, TB2Dock, TB2Toolbar, ExtCtrls, JvExControls,
+ JvNavigationPane, uViewGrid, pngimage, JvComponentBase,
+ uEditorGridBase,
+ uBizPresupuestosCliente, uIEditorPresupuestosCliente, uPresupuestosClienteController,
+ uCustomView, uViewBase, uViewBarraSeleccion, uViewGridBase,
+ uViewPresupuestosCliente, JvExComCtrls, JvStatusBar, JSDialog, StdCtrls,
+ uDAInterfaces;
+
+type
+ TfEditorPresupuestosCliente = class(TfEditorGridBase, IEditorPresupuestosCliente)
+ actGenerarAlbaranCli: TAction;
+ actGenerarFactura: TAction;
+ actGenerarPedidoProv: TAction;
+ TBXSubmenuItem2: TTBXSubmenuItem;
+ TBXSeparatorItem17: TTBXSeparatorItem;
+ TBXItem38: TTBXItem;
+ TBXItem39: TTBXItem;
+ N4: TMenuItem;
+ actGenerar: TAction;
+ Generar2: TMenuItem;
+ JsGenerarDialog: TJSDialog;
+ JsPrevisualizarDialog: TJSDialog;
+ JsImprimirDialog: TJSDialog;
+ TBXItem40: TTBXItem;
+ JsListaPedidosNoEliminados: TJSDialog;
+ procedure FormShow(Sender: TObject);
+ procedure actGenerarAlbaranCliExecute(Sender: TObject);
+ procedure actEliminarUpdate(Sender: TObject);
+ procedure actGenerarFacturaUpdate(Sender: TObject);
+ procedure actGenerarFacturaExecute(Sender: TObject);
+ procedure actGenerarPedidoProvExecute(Sender: TObject);
+ procedure actGenerarExecute(Sender: TObject);
+ procedure actGenerarUpdate(Sender: TObject);
+
+ protected
+ FPedidos: IBizPresupuestoCliente;
+ FController : IPresupuestosClienteController;
+
+ function GetPedidos: IBizPresupuestoCliente;
+ procedure SetPedidos(const Value: IBizPresupuestoCliente);
+
+ function GetController : IPresupuestosClienteController; virtual;
+ procedure SetController (const Value : IPresupuestosClienteController); virtual;
+
+ procedure NuevoInterno; override;
+ procedure ModificarInterno; override;
+ procedure EliminarInterno; override;
+ procedure DuplicarInterno; override;
+ procedure ImprimirInterno; override;
+ procedure PrevisualizarInterno; override;
+
+ //Si queremos crear otra vista para el editor heredado solo tendriamos que
+ //sobreescribir este metodo
+ procedure AsignarVista; virtual;
+
+ public
+ procedure PonerTitulos(const ATitulo: string = ''); override;
+ property Pedidos: IBizPresupuestoCliente read GetPedidos write SetPedidos;
+ property Controller : IPresupuestosClienteController read GetController write SetController;
+ constructor Create(AOwner: TComponent); override;
+ destructor Destroy; override;
+ end;
+
+implementation
+
+uses
+ uDataModulePresupuestosCliente, uDataModuleUsuarios,
+// uBizAlbaranesCliente, uAlbaranesClienteController,
+ uEditorBase, uEditorDBBase, uDialogUtils,
+// uFacturasClienteController, uBizFacturasCliente,
+ uGridUtils, uDBSelectionListUtils;
+// uGenerarPedidosProvUtils, uGenerarAlbaranesCliUtils;
+
+
+{$R *.dfm}
+
+{
+*************************** TfEditorPresupuestosCliente ***************************
+}
+procedure TfEditorPresupuestosCliente.actEliminarUpdate(Sender: TObject);
+begin
+ inherited;
+ if (Sender as TAction).Enabled then
+ (Sender as TAction).Enabled := (FPedidos.SITUACION = SITUACION_PEDIDO_PENDIENTE);
+end;
+
+procedure TfEditorPresupuestosCliente.actGenerarAlbaranCliExecute(Sender: TObject);
+var
+ IDAlbaranAux : Integer;
+begin
+ inherited;
+// GenerarAlbaranCli(FPedidos.ID, IDAlbaranAux);
+end;
+
+procedure TfEditorPresupuestosCliente.actGenerarExecute(Sender: TObject);
+var
+ Respuesta : Integer;
+begin
+ inherited;
+
+ Respuesta := JsGenerarDialog.Execute;
+
+ if Respuesta <> IDCANCEL then
+ begin
+ case JsGenerarDialog.CustomButtonResult of
+ 200 : begin // Generar uno o más pedidos a proveedor
+ actGenerarPedidoProv.Execute;
+ end;
+ 100 : begin // Albaran nuevo
+ actGenerarAlbaranCli.Execute;
+ end;
+ end;
+ actRefrescar.Execute;
+ end;
+end;
+
+procedure TfEditorPresupuestosCliente.actGenerarFacturaExecute(Sender: TObject);
+{
+var
+ AFacturasController : IFacturasClienteController;
+ AFactura : IBizFacturaCliente;
+}
+begin
+{
+ inherited;
+ AFacturasController := TFacturasClienteController.Create;
+ try
+ AFactura := AFacturasController.Nuevo;
+ if AFacturasController.Anadir(AFactura, FPedidos.ID) then
+ AFacturasController.Ver(AFactura);
+ actRefrescar.Execute;
+ finally
+ AFacturasController := NIL;
+ AFactura := NIL;
+ end;
+}
+end;
+
+procedure TfEditorPresupuestosCliente.actGenerarFacturaUpdate(Sender: TObject);
+begin
+ inherited;
+ (Sender as TAction).Enabled := HayDatos
+ and ViewGrid.esSeleccionCeldaDatos
+ and (FPedidos.SITUACION = SITUACION_PEDIDO_PENDIENTE);
+end;
+
+procedure TfEditorPresupuestosCliente.actGenerarPedidoProvExecute(Sender: TObject);
+begin
+ inherited;
+// GenerarPedidosProv(FPedidos);
+end;
+
+procedure TfEditorPresupuestosCliente.actGenerarUpdate(Sender: TObject);
+begin
+ inherited;
+ (Sender as TAction).Enabled := HayDatos and
+ not (ViewGrid.NumSeleccionados > 1) and
+ ViewGrid.esSeleccionCeldaDatos and
+ (FPedidos.SITUACION <> SITUACION_PEDIDO_SERVIDO);
+end;
+
+procedure TfEditorPresupuestosCliente.AsignarVista;
+begin
+ ViewGrid := CreateView(TfrViewPresupuestosCliente) as IViewPresupuestosCliente;
+end;
+
+constructor TfEditorPresupuestosCliente.Create(AOwner: TComponent);
+begin
+ inherited;
+ AsignarVista;
+end;
+
+destructor TfEditorPresupuestosCliente.Destroy;
+begin
+ FPedidos := NIL;
+ FController := NIL;
+ inherited;
+end;
+
+procedure TfEditorPresupuestosCliente.DuplicarInterno;
+var
+ APedido : IBizPresupuestoCliente;
+begin
+ inherited;
+ APedido := FController.Duplicar(Pedidos);
+ try
+ FController.Ver(APedido);
+ finally
+ actRefrescar.Execute;
+ end;
+end;
+
+procedure TfEditorPresupuestosCliente.EliminarInterno;
+var
+ APedidos: IBizPresupuestoCliente;
+ AllItems: Boolean;
+begin
+ APedidos := Nil;
+ AllItems := False;
+
+ if MultiSelect and Assigned(ViewGrid) then
+ AllItems := (ViewGrid.NumSeleccionados > 1);
+
+ if AllItems then
+ begin
+ if (Application.MessageBox('¿Desea borrar los pedidos de proveedor seleccionados?', 'Atención', MB_YESNO) = IDYES) then
+ begin
+ SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Pedidos as ISeleccionable).SelectedRecords);
+ APedidos := (Controller as IPresupuestosClienteController).ExtraerSeleccionados(Pedidos) as IBizPresupuestoCliente;
+ end
+ end
+ else begin
+ if (Application.MessageBox('¿Desea borrar el pedido de proveedor seleccionado?', 'Atención', MB_YESNO) = IDYES) then
+ APedidos := Pedidos;
+ end;
+
+ if Assigned(APedidos) then
+ begin
+ FController.Eliminar(APedidos, AllItems);
+ if AllItems then
+ begin
+ if (APedidos.DataTable.RecordCount > 0) then
+ begin
+ with APedidos.DataTable do
+ begin
+ First;
+ while not EOF do
+ begin
+ JsListaPedidosNoEliminados.Content.Add('Ref. pedido: ' + APedidos.REFERENCIA + ' ' + APedidos.NOMBRE);
+ Next;
+ end;
+ end;
+ JsListaPedidosNoEliminados.Execute;
+ end;
+ actRefrescar.Execute;
+ end;
+ end;
+
+ ViewGrid.GotoFirst;
+end;
+
+procedure TfEditorPresupuestosCliente.FormShow(Sender: TObject);
+begin
+ inherited;
+
+ if not Assigned(ViewGrid) then
+ raise Exception.Create('No hay ninguna vista asignada');
+
+ if not Assigned(Pedidos) then
+ raise Exception.Create('No hay ningún pedido asignado');
+
+ Pedidos.DataTable.Active := True;
+ ViewGrid.GotoFirst;
+end;
+
+function TfEditorPresupuestosCliente.GetController: IPresupuestosClienteController;
+begin
+ Result := FController;
+end;
+
+function TfEditorPresupuestosCliente.GetPedidos: IBizPresupuestoCliente;
+begin
+ Result := FPedidos;
+end;
+
+procedure TfEditorPresupuestosCliente.ImprimirInterno;
+var
+ Respuesta : Integer;
+ APedidos: IBizPresupuestoCliente;
+ AllItems: Boolean;
+begin
+ APedidos := Nil;
+ AllItems := False;
+
+ if MultiSelect and Assigned(ViewGrid) then
+ AllItems := (ViewGrid.NumSeleccionados > 1);
+
+ //Si esta agrupado solo podré imprimir la lista de elementos visibles
+ if not ViewGrid.esSeleccionCeldaDatos then
+ inherited
+ else
+ begin
+ Respuesta := JsImprimirDialog.Execute;
+ if Respuesta <> IDCANCEL then
+ begin
+ case JsImprimirDialog.CustomButtonResult of
+ 200 : begin // Lista de elementos visibles
+ inherited;
+ end;
+ 100 : begin // Elemento Seleccionado
+ if AllItems then
+ begin
+ SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Pedidos as ISeleccionable).SelectedRecords);
+ APedidos := (Controller as IPresupuestosClienteController).ExtraerSeleccionados(Pedidos) as IBizPresupuestoCliente;
+ end
+ else
+ APedidos := Pedidos;
+
+ if Assigned(APedidos) then
+ FController.Print(APedidos, AllItems);
+ end;
+ end;
+ end;
+ end;
+end;
+
+procedure TfEditorPresupuestosCliente.ModificarInterno;
+begin
+ inherited;
+ FController.Ver(Pedidos);
+end;
+
+procedure TfEditorPresupuestosCliente.NuevoInterno;
+begin
+ inherited;
+ if FController.Anadir(Pedidos) then
+ FController.Ver(Pedidos);
+end;
+
+procedure TfEditorPresupuestosCliente.PonerTitulos(const ATitulo: string);
+var
+ FTitulo : String;
+begin
+ FTitulo := 'Lista de pedidos de cliente - '; //+ dmUsuarios.EmpresaActual.NOMBRE;
+ inherited PonerTitulos(FTitulo);
+end;
+
+procedure TfEditorPresupuestosCliente.PrevisualizarInterno;
+var
+ Respuesta : Integer;
+ APedidos: IBizPresupuestoCliente;
+ AllItems: Boolean;
+begin
+ APedidos := Nil;
+ AllItems := False;
+
+ if MultiSelect and Assigned(ViewGrid) then
+ AllItems := (ViewGrid.NumSeleccionados > 1);
+
+ //Si esta agrupado solo podré imprimir la lista de elementos visibles
+ if not ViewGrid.esSeleccionCeldaDatos then
+ inherited
+ else
+ begin
+ Respuesta := JsPrevisualizarDialog.Execute;
+ if Respuesta <> IDCANCEL then
+ begin
+ case JsPrevisualizarDialog.CustomButtonResult of
+ 200 : begin // Lista de elementos visibles
+ inherited;
+ end;
+ 100 : begin // Elemento Seleccionado
+ if AllItems then
+ begin
+ SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Pedidos as ISeleccionable).SelectedRecords);
+ APedidos := (Controller as IPresupuestosClienteController).ExtraerSeleccionados(Pedidos) as IBizPresupuestoCliente;
+ end
+ else
+ APedidos := Pedidos;
+
+ if Assigned(APedidos) then
+ FController.Preview(APedidos, AllItems);
+ end;
+ end;
+ end;
+ end;
+end;
+
+procedure TfEditorPresupuestosCliente.SetController(const Value: IPresupuestosClienteController);
+begin
+ FController := Value;
+end;
+
+procedure TfEditorPresupuestosCliente.SetPedidos(const Value: IBizPresupuestoCliente);
+begin
+ FPedidos := Value;
+ dsDataTable.DataTable := FPedidos.DataTable;
+ if Assigned(ViewGrid) then
+ (ViewGrid as IViewPresupuestosCliente).Pedidos := Pedidos;
+end;
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosClienteReport.dfm b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosClienteReport.dfm
new file mode 100644
index 00000000..b6d82e26
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosClienteReport.dfm
@@ -0,0 +1,22 @@
+inherited fEditorPresupuestosClientePreview: TfEditorPresupuestosClientePreview
+ Caption = 'Previsualizar el pedidos proveedor'
+ ExplicitWidth = 803
+ ExplicitHeight = 485
+ PixelsPerInch = 96
+ TextHeight = 13
+ inherited JvNavPanelHeader: TJvNavPanelHeader
+ ExplicitWidth = 795
+ inherited Image1: TImage
+ Left = 768
+ ExplicitLeft = 768
+ end
+ end
+ inherited StatusBar: TJvStatusBar
+ ExplicitWidth = 795
+ end
+ inherited frxReport1: TfrxReport
+ Datasets = <>
+ Variables = <>
+ Style = <>
+ end
+end
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosClienteReport.pas b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosClienteReport.pas
new file mode 100644
index 00000000..4446ba6f
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosClienteReport.pas
@@ -0,0 +1,23 @@
+unit uEditorPresupuestosClienteReport;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ ExtCtrls, JvExControls, JvComponent, JvNavigationPane, uIEditorPresupuestosClientePreview,
+ JvExComCtrls, JvStatusBar, frxDMPExport, frxGradient, frxChBox, frxCross,
+ frxRich, frxOLE, frxBarcode, JvAppStorage, JvAppRegistryStorage,
+ JvComponentBase, uEditorPreview, frxExportImage, frxExportPDF, frxDCtrl,
+ frxClass, JvFormPlacement, ImgList, PngImageList, StdActns, ActnList,
+ ComCtrls, TB2ExtItems, TBXExtItems, TBX, TB2Item, TB2Dock, TB2Toolbar,
+ pngimage;
+
+type
+ TfEditorPresupuestosClientePreview = class(TfEditorPreview, IEditorPresupuestosClientePreview)
+ end;
+
+
+implementation
+{$R *.dfm}
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uPresupuestosClienteViewRegister.pas b/Source/Modulos/Presupuestos de cliente/Views/uPresupuestosClienteViewRegister.pas
new file mode 100644
index 00000000..1195886a
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Views/uPresupuestosClienteViewRegister.pas
@@ -0,0 +1,33 @@
+unit uPresupuestosClienteViewRegister;
+
+interface
+
+procedure RegisterViews;
+procedure UnregisterViews;
+
+implementation
+
+uses
+ uEditorRegistryUtils, uEditorPresupuestosCliente, uEditorPresupuestoCliente, uEditorElegirPresupuestosCliente,
+ uEditorElegirArticulosPresupuestoCliente, uEditorPresupuestosClienteReport;
+
+procedure RegisterViews;
+begin
+ EditorRegistry.RegisterClass(TfEditorPresupuestosCliente, 'EditorPresupuestosCliente');
+ EditorRegistry.RegisterClass(TfEditorPresupuestoCliente, 'EditorPresupuestoCliente');
+ EditorRegistry.RegisterClass(TfEditorElegirPresupuestosCliente, 'EditorElegirPresupuestosCliente');
+ EditorRegistry.RegisterClass(TfEditorElegirArticulosPresupuestoCliente, 'EditorElegirArticulosPresupuestosCliente');
+ EditorRegistry.RegisterClass(TfEditorPresupuestosClientePreview, 'EditorPresupuestosClientePreview');
+end;
+
+procedure UnregisterViews;
+begin
+ EditorRegistry.UnRegisterClass(TfEditorPresupuestosCliente);
+ EditorRegistry.UnRegisterClass(TfEditorPresupuestoCliente);
+ EditorRegistry.UnRegisterClass(TfEditorElegirPresupuestosCliente);
+ EditorRegistry.UnRegisterClass(TfEditorElegirArticulosPresupuestoCliente);
+ EditorRegistry.UnRegisterClass(TfEditorPresupuestosClientePreview);
+end;
+
+end.
+
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uViewDetallesPresupuestoCliente.dfm b/Source/Modulos/Presupuestos de cliente/Views/uViewDetallesPresupuestoCliente.dfm
new file mode 100644
index 00000000..d88d3416
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Views/uViewDetallesPresupuestoCliente.dfm
@@ -0,0 +1,9 @@
+inherited frViewDetallesPresupuestoCliente: TfrViewDetallesPresupuestoCliente
+ inherited cxGrid: TcxGrid
+ inherited cxGridView: TcxGridDBTableView
+ inherited cxGridViewIMPORTEPORTE: TcxGridDBColumn
+ Visible = False
+ end
+ end
+ end
+end
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uViewDetallesPresupuestoCliente.pas b/Source/Modulos/Presupuestos de cliente/Views/uViewDetallesPresupuestoCliente.pas
new file mode 100644
index 00000000..2004ee87
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Views/uViewDetallesPresupuestoCliente.pas
@@ -0,0 +1,64 @@
+unit uViewDetallesPresupuestoCliente;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, uViewDetallesArticulos, cxStyles, cxCustomData, cxGraphics, cxFilter,
+ cxData, cxDataStorage, cxEdit, DB, cxDBData, ImgList, PngImageList,
+ uDADataTable, ActnList, ComCtrls, ToolWin, cxGridLevel, cxClasses, cxControls,
+ cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
+ cxGrid, cxImageComboBox, cxTextEdit, cxMaskEdit, cxCheckBox, cxCurrencyEdit,
+ Grids, DBGrids, StdCtrls, ExtCtrls, cxRichEdit, ExtActns, StdActns,
+ JvExStdCtrls, JvCombobox, JvColorCombo, TB2Item, TBX, TB2Dock, TB2Toolbar,
+ uControllerDetallesArticulos, uBizPresupuestosCliente, uDAInterfaces;
+
+type
+ IViewDetallesPresupuestoCliente = interface(IViewDetallesArticulos)
+ ['{3AF39FF4-291E-4E87-AF9A-93C240A744CD}']
+ function GetPedido: IBizPresupuestoCliente;
+ procedure SetPedido(const Value: IBizPresupuestoCliente);
+ property Pedido: IBizPresupuestoCliente read GetPedido write SetPedido;
+ end;
+
+ TfrViewDetallesPresupuestoCliente = class(TfrViewDetallesArticulos, IViewDetallesPresupuestoCliente)
+ protected
+ FPedido: IBizPresupuestoCliente;
+ function GetPedido: IBizPresupuestoCliente;
+ procedure SetPedido(const Value: IBizPresupuestoCliente);
+
+ procedure AnadirArticulosInterno; override;
+ function AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean; override;
+
+ public
+ property Pedido: IBizPresupuestoCliente read GetPedido write SetPedido;
+ end;
+
+implementation
+{$R *.dfm}
+
+uses uDetallesPresupuestoClienteController;
+
+{ TfrViewDetallesPedidoProveedor }
+
+function TfrViewDetallesPresupuestoCliente.AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean;
+begin
+ Result := (Controller as IDetallesPresupuestoClienteController).AnadirArticulo(Detalles, pReferencia, TipoReferencia, Pedido.Cliente.ID);
+end;
+
+procedure TfrViewDetallesPresupuestoCliente.AnadirArticulosInterno;
+begin
+ (Controller as IDetallesPresupuestoClienteController).AnadirArticulos(Detalles, Pedido.Cliente);
+end;
+
+function TfrViewDetallesPresupuestoCliente.GetPedido: IBizPresupuestoCliente;
+begin
+ Result := FPedido;
+end;
+
+procedure TfrViewDetallesPresupuestoCliente.SetPedido(const Value: IBizPresupuestoCliente);
+begin
+ FPedido := Value;
+end;
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uViewDireccionEntregaPresupuestoCliente.dfm b/Source/Modulos/Presupuestos de cliente/Views/uViewDireccionEntregaPresupuestoCliente.dfm
new file mode 100644
index 00000000..ebc68080
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Views/uViewDireccionEntregaPresupuestoCliente.dfm
@@ -0,0 +1,204 @@
+inherited frViewDireccionEntregaPresupuestoCliente: TfrViewDireccionEntregaPresupuestoCliente
+ Width = 337
+ Height = 129
+ ExplicitWidth = 337
+ ExplicitHeight = 129
+ object dxLayoutControl1: TdxLayoutControl
+ Left = 0
+ Top = 0
+ Width = 337
+ Height = 129
+ Align = alClient
+ ParentBackground = True
+ TabOrder = 0
+ AutoContentSizes = [acsWidth, acsHeight]
+ object eCalle: TcxDBTextEdit
+ Left = 64
+ Top = 10
+ DataBinding.DataField = 'CALLE'
+ DataBinding.DataSource = dsPedido
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.HotTrack = False
+ Style.LookAndFeel.Kind = lfStandard
+ Style.LookAndFeel.NativeStyle = True
+ StyleDisabled.LookAndFeel.Kind = lfStandard
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.Kind = lfStandard
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.Kind = lfStandard
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 0
+ Width = 281
+ end
+ object ePoblacion: TcxDBTextEdit
+ Left = 64
+ Top = 37
+ DataBinding.DataField = 'POBLACION'
+ DataBinding.DataSource = dsPedido
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.HotTrack = False
+ Style.LookAndFeel.Kind = lfStandard
+ Style.LookAndFeel.NativeStyle = True
+ StyleDisabled.LookAndFeel.Kind = lfStandard
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.Kind = lfStandard
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.Kind = lfStandard
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 1
+ Width = 41
+ end
+ object eProvincia: TcxDBTextEdit
+ Left = 64
+ Top = 64
+ DataBinding.DataField = 'PROVINCIA'
+ DataBinding.DataSource = dsPedido
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.HotTrack = False
+ Style.LookAndFeel.Kind = lfStandard
+ Style.LookAndFeel.NativeStyle = True
+ StyleDisabled.LookAndFeel.Kind = lfStandard
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.Kind = lfStandard
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.Kind = lfStandard
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 3
+ Width = 281
+ end
+ object eCodigoPostal: TcxDBTextEdit
+ Left = 262
+ Top = 37
+ DataBinding.DataField = 'CODIGO_POSTAL'
+ DataBinding.DataSource = dsPedido
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.HotTrack = False
+ Style.LookAndFeel.Kind = lfStandard
+ Style.LookAndFeel.NativeStyle = True
+ StyleDisabled.LookAndFeel.Kind = lfStandard
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.Kind = lfStandard
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.Kind = lfStandard
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 2
+ Width = 65
+ end
+ object eTlfTrabajo: TcxDBTextEdit
+ Left = 205
+ Top = 91
+ DataBinding.DataField = 'TELEFONO'
+ DataBinding.DataSource = dsPedido
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.HotTrack = False
+ Style.LookAndFeel.Kind = lfStandard
+ Style.LookAndFeel.NativeStyle = True
+ StyleDisabled.LookAndFeel.Kind = lfStandard
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.Kind = lfStandard
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.Kind = lfStandard
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 5
+ Width = 122
+ end
+ object ePersonaContacto: TcxDBTextEdit
+ Left = 64
+ Top = 91
+ DataBinding.DataField = 'PERSONA_CONTACTO'
+ DataBinding.DataSource = dsPedido
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.Color = clWindow
+ Style.HotTrack = False
+ Style.LookAndFeel.Kind = lfStandard
+ Style.LookAndFeel.NativeStyle = True
+ StyleDisabled.LookAndFeel.Kind = lfStandard
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.Kind = lfStandard
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.Kind = lfStandard
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 4
+ Width = 281
+ end
+ object dxLayoutGroup1: TdxLayoutGroup
+ ShowCaption = False
+ Hidden = True
+ ShowBorder = False
+ object dxLayoutControl1Item1: TdxLayoutItem
+ Caption = 'Calle:'
+ Control = eCalle
+ ControlOptions.ShowBorder = False
+ end
+ object dxLayoutControl1Group3: TdxLayoutGroup
+ ShowCaption = False
+ Hidden = True
+ ShowBorder = False
+ object dxLayoutControl1Group1: TdxLayoutGroup
+ ShowCaption = False
+ Hidden = True
+ ShowBorder = False
+ object dxLayoutControl1Group5: TdxLayoutGroup
+ ShowCaption = False
+ Hidden = True
+ LayoutDirection = ldHorizontal
+ ShowBorder = False
+ object dxLayoutControl1Item2: TdxLayoutItem
+ AutoAligns = [aaVertical]
+ AlignHorz = ahClient
+ Caption = 'Poblaci'#243'n:'
+ Control = ePoblacion
+ ControlOptions.ShowBorder = False
+ end
+ object dxLayoutControl1Item4: TdxLayoutItem
+ AutoAligns = [aaVertical]
+ AlignHorz = ahRight
+ Caption = 'C.P.:'
+ Control = eCodigoPostal
+ ControlOptions.ShowBorder = False
+ end
+ end
+ object dxLayoutControl1Item3: TdxLayoutItem
+ Caption = 'Provincia:'
+ Control = eProvincia
+ ControlOptions.ShowBorder = False
+ end
+ end
+ object dxLayoutControl1Group4: TdxLayoutGroup
+ ShowCaption = False
+ Hidden = True
+ LayoutDirection = ldHorizontal
+ ShowBorder = False
+ object dxLayoutControl1Item6: TdxLayoutItem
+ AutoAligns = [aaVertical]
+ AlignHorz = ahClient
+ Caption = 'Contacto:'
+ Control = ePersonaContacto
+ ControlOptions.ShowBorder = False
+ end
+ object dxLayoutControl1Item5: TdxLayoutItem
+ AutoAligns = [aaVertical]
+ AlignHorz = ahRight
+ Caption = 'Tel'#233'fono:'
+ Control = eTlfTrabajo
+ ControlOptions.ShowBorder = False
+ end
+ end
+ end
+ end
+ end
+ object dsPedido: TDADataSource
+ Left = 8
+ Top = 8
+ end
+ object dsAlmacenes: TDADataSource
+ Left = 8
+ Top = 40
+ end
+end
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uViewDireccionEntregaPresupuestoCliente.pas b/Source/Modulos/Presupuestos de cliente/Views/uViewDireccionEntregaPresupuestoCliente.pas
new file mode 100644
index 00000000..a41a06e1
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Views/uViewDireccionEntregaPresupuestoCliente.pas
@@ -0,0 +1,144 @@
+unit uViewDireccionEntregaPresupuestoCliente;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, uViewBase, uBizPresupuestosCliente, cxGraphics, dxLayoutControl, cxMemo,
+ cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxDropDownEdit, cxLookupEdit,
+ cxDBLookupEdit, cxDBLookupComboBox, StdCtrls, cxControls, DB, uDADataTable,
+ ActnList, uPresupuestosClienteController,
+ Buttons, cxDBEdit, uDAInterfaces;
+
+type
+ IViewDireccionEntregaPresupuestoCliente = interface(IViewBase)
+ ['{7467855C-066F-4A60-B88F-2837C8050B1E}']
+ function GetPresupuestoCliente: IBizPresupuestoCliente;
+ procedure SetPresupuestoCliente(const Value: IBizPresupuestoCliente);
+ property PresupuestoCliente: IBizPresupuestoCliente read GetPresupuestoCliente write SetPresupuestoCliente;
+ end;
+
+ TfrViewDireccionEntregaPresupuestoCliente = class(TfrViewBase, IViewDireccionEntregaPresupuestoCliente)
+ dxLayoutControl1: TdxLayoutControl;
+ dxLayoutGroup1: TdxLayoutGroup;
+ dsPedido: TDADataSource;
+ dsAlmacenes: TDADataSource;
+ dxLayoutControl1Item1: TdxLayoutItem;
+ eCalle: TcxDBTextEdit;
+ dxLayoutControl1Item2: TdxLayoutItem;
+ ePoblacion: TcxDBTextEdit;
+ dxLayoutControl1Item3: TdxLayoutItem;
+ eProvincia: TcxDBTextEdit;
+ dxLayoutControl1Item4: TdxLayoutItem;
+ eCodigoPostal: TcxDBTextEdit;
+ dxLayoutControl1Item5: TdxLayoutItem;
+ eTlfTrabajo: TcxDBTextEdit;
+ dxLayoutControl1Item6: TdxLayoutItem;
+ ePersonaContacto: TcxDBTextEdit;
+ dxLayoutControl1Group3: TdxLayoutGroup;
+ dxLayoutControl1Group1: TdxLayoutGroup;
+ dxLayoutControl1Group5: TdxLayoutGroup;
+ dxLayoutControl1Group4: TdxLayoutGroup;
+ procedure cbListaPropertiesValidate(Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
+ protected
+// FAlmacenesController : IAlmacenesController;
+// FAlmacenes: IBizAlmacen;
+ FPedido : IBizPresupuestoCliente;
+ FController : IPresupuestosClienteController;
+ function GetPresupuestoCliente: IBizPresupuestoCliente;
+ procedure SetPresupuestoCliente(const Value: IBizPresupuestoCliente);
+ procedure RefrescarDireccion;
+ public
+ property PresupuestoCliente: IBizPresupuestoCliente read GetPresupuestoCliente write SetPresupuestoCliente;
+ constructor Create(AOwner: TComponent); override;
+ destructor Destroy; override;
+ end;
+
+implementation
+
+{$R *.dfm}
+
+uses
+ uEditorRegistryUtils;
+
+procedure TfrViewDireccionEntregaPresupuestoCliente.cbListaPropertiesValidate(
+ Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
+ var Error: Boolean);
+begin
+{ if Assigned(FPedido) and (FPedido.ID_ALMACEN <> FAlmacenes.ID) then
+ begin
+ FPedido.Edit;
+ FPedido.CALLE := FAlmacenes.CALLE;
+ FPedido.POBLACION := FAlmacenes.POBLACION;
+ FPedido.POBLACION := FAlmacenes.POBLACION;
+ FPedido.PROVINCIA := FAlmacenes.PROVINCIA;
+ FPedido.CODIGO_POSTAL := FAlmacenes.CODIGO_POSTAL;
+ FPedido.PERSONA_CONTACTO := FAlmacenes.PERSONA_CONTACTO;
+ FPedido.TELEFONO := FAlmacenes.TELEFONO;
+ RefrescarDireccion;
+ end;}
+end;
+
+constructor TfrViewDireccionEntregaPresupuestoCliente.Create(AOwner: TComponent);
+begin
+ inherited;
+ FPedido := NIL;
+
+ { FController := TPresupuestosClienteController.Create;
+ FAlmacenesController := TAlmacenesController.Create;
+ FAlmacenes := FAlmacenesController.BuscarTodos;
+ FAlmacenes.DataTable.Active := True;
+ dsAlmacenes.DataTable := FAlmacenes.DataTable;}
+end;
+
+destructor TfrViewDireccionEntregaPresupuestoCliente.Destroy;
+begin
+{ cbLista.Properties.OnValidate := Nil;
+ FAlmacenesController := Nil;
+ FAlmacenes := Nil;
+ FController := NIL;
+}
+ FPedido := NIL;
+ inherited;
+end;
+
+function TfrViewDireccionEntregaPresupuestoCliente.GetPresupuestoCliente: IBizPresupuestoCliente;
+begin
+ Result := FPedido;
+end;
+
+procedure TfrViewDireccionEntregaPresupuestoCliente.RefrescarDireccion;
+begin
+{ memDireccion.Lines.Clear;
+ if Assigned(FPedido) then
+ begin
+ memDireccion.Lines.Add(FPedido.CALLE);
+ memDireccion.Lines.Add(FPedido.CODIGO_POSTAL + ' ' + FPedido.POBLACION);
+ memDireccion.Lines.Add(FPedido.PROVINCIA);
+ end;}
+end;
+
+procedure TfrViewDireccionEntregaPresupuestoCliente.SetPresupuestoCliente(
+ const Value: IBizPresupuestoCliente);
+begin
+
+ FPedido := Value;
+ if Assigned(FPedido) then
+ dsPedido.DataTable := FPedido.DataTable
+ else
+ dsPedido.DataTable := NIL;
+
+{ cbLista.Properties.OnValidate := NIL;
+ dsPedido.DataTable := nil;
+
+ FPedido := Value;
+
+ if not FPedido.EsNuevo then
+ RefrescarDireccion;
+
+ // Esto al final para que no salten los eventos del cxComboBox
+ dsPedido.DataTable := FPedido.DataTable;
+ cbLista.Properties.OnValidate := cbListaPropertiesValidate;}
+end;
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uViewElegirArticulosPresupuestosCliente.dfm b/Source/Modulos/Presupuestos de cliente/Views/uViewElegirArticulosPresupuestosCliente.dfm
new file mode 100644
index 00000000..8e1263c3
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Views/uViewElegirArticulosPresupuestosCliente.dfm
@@ -0,0 +1,41 @@
+inherited frViewElegirArticulosPresupuestosCliente: TfrViewElegirArticulosPresupuestosCliente
+ inherited cxGrid: TcxGrid
+ inherited cxGridView: TcxGridDBTableView
+ inherited cxGridViewPRECIO_NETO: TcxGridDBColumn
+ Visible = False
+ end
+ inherited cxGridViewPRECIO_PORTE: TcxGridDBColumn
+ Visible = False
+ end
+ end
+ end
+ inherited frViewFiltroBase1: TfrViewFiltroBase
+ inherited TBXDockablePanel1: TTBXDockablePanel
+ inherited dxLayoutControl1: TdxLayoutControl
+ inherited txtFiltroTodo: TcxTextEdit
+ ExplicitWidth = 273
+ Width = 273
+ end
+ inherited edtFechaIniFiltro: TcxDateEdit
+ ExplicitWidth = 121
+ Width = 121
+ end
+ inherited edtFechaFinFiltro: TcxDateEdit
+ ExplicitWidth = 121
+ Width = 121
+ end
+ end
+ end
+ end
+ inherited dxComponentPrinter: TdxComponentPrinter
+ inherited dxComponentPrinterLink: TdxGridReportLink
+ ReportDocument.CreationDate = 39297.755936412040000000
+ BuiltInReportLink = True
+ end
+ end
+ inherited dxPrintStyleManager1: TdxPrintStyleManager
+ inherited dxPrintStyleManager1Style1: TdxPSPrintStyle
+ BuiltInStyle = True
+ end
+ end
+end
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uViewElegirArticulosPresupuestosCliente.pas b/Source/Modulos/Presupuestos de cliente/Views/uViewElegirArticulosPresupuestosCliente.pas
new file mode 100644
index 00000000..41b5c724
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Views/uViewElegirArticulosPresupuestosCliente.pas
@@ -0,0 +1,28 @@
+unit uViewElegirArticulosPresupuestosCliente;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, uViewArticulos, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
+ cxDataStorage, cxEdit, DB, cxDBData, cxImageComboBox, cxCurrencyEdit,
+ cxSpinEdit, dxPSGlbl, dxPSUtl, dxPSEngn, dxPrnPg, dxBkgnd, dxWrap, dxPrnDev,
+ dxPSCompsProvider, dxPSFillPatterns, dxPSEdgePatterns, ImgList, PngImageList,
+ cxGridCustomPopupMenu, cxGridPopupMenu, dxPSCore, dxPScxCommon, dxPScxGridLnk,
+ uDADataTable, cxGridLevel, cxGridCustomTableView, cxGridTableView,
+ cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, dxPgsDlg,
+ ActnList, TB2Item, TBX, TB2Toolbar, TBXDkPanels, TB2Dock, uViewFiltroBase,
+ uDAInterfaces;
+
+type
+ IViewElegirArticulosPresupuestosCliente = interface(IViewArticulos)
+ ['{5292A518-0797-4FFC-AC9B-90F0113AF3AF}']
+ end;
+
+ TfrViewElegirArticulosPresupuestosCliente = class(TfrViewArticulos, IViewElegirArticulosPresupuestosCliente)
+ end;
+
+implementation
+{$R *.dfm}
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestoCliente.dfm b/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestoCliente.dfm
new file mode 100644
index 00000000..f5284c19
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestoCliente.dfm
@@ -0,0 +1,511 @@
+inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
+ Width = 740
+ Height = 479
+ OnCreate = CustomViewCreate
+ OnDestroy = CustomViewDestroy
+ ExplicitWidth = 740
+ ExplicitHeight = 479
+ object dxLayoutControl1: TdxLayoutControl
+ Left = 0
+ Top = 0
+ Width = 740
+ Height = 479
+ Align = alClient
+ ParentBackground = True
+ TabOrder = 0
+ AutoContentSizes = [acsWidth, acsHeight]
+ DesignSize = (
+ 740
+ 479)
+ object edtFechaPedido: TcxDBDateEdit
+ Left = 116
+ Top = 82
+ Anchors = [akLeft, akTop, akRight]
+ DataBinding.DataField = 'FECHA_PEDIDO'
+ DataBinding.DataSource = DADataSource
+ Properties.DateButtons = [btnToday]
+ Properties.ImmediatePost = True
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.Color = clInfoBk
+ Style.HotTrack = False
+ Style.LookAndFeel.NativeStyle = True
+ Style.Shadow = False
+ Style.ButtonStyle = bts3D
+ Style.ButtonTransparency = ebtNone
+ Style.PopupBorderStyle = epbsFrame3D
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 2
+ Width = 119
+ end
+ object memObservaciones: TcxDBMemo
+ Left = 22
+ Top = 389
+ Anchors = [akLeft, akTop, akRight, akBottom]
+ DataBinding.DataField = 'OBSERVACIONES'
+ DataBinding.DataSource = DADataSource
+ Properties.ScrollBars = ssVertical
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.HotTrack = False
+ Style.LookAndFeel.NativeStyle = True
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 14
+ Height = 253
+ Width = 186
+ end
+ object eReferencia: TcxDBTextEdit
+ Left = 116
+ Top = 28
+ Anchors = [akLeft, akTop, akRight]
+ DataBinding.DataField = 'REFERENCIA'
+ DataBinding.DataSource = DADataSource
+ Enabled = False
+ Properties.ReadOnly = False
+ Properties.ValidateOnEnter = True
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.Color = clInfoBk
+ Style.HotTrack = False
+ Style.LookAndFeel.Kind = lfStandard
+ Style.LookAndFeel.NativeStyle = True
+ StyleDisabled.Color = clMenuBar
+ StyleDisabled.LookAndFeel.Kind = lfStandard
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleDisabled.TextColor = clWindowText
+ StyleFocused.LookAndFeel.Kind = lfStandard
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.Kind = lfStandard
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 0
+ Width = 143
+ end
+ inline frViewClientePedido: TfrViewDatosYSeleccionCliente
+ Left = 388
+ Top = 28
+ Width = 350
+ Height = 212
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 13
+ ReadOnly = False
+ ExplicitLeft = 388
+ ExplicitTop = 28
+ inherited dxLayoutControl1: TdxLayoutControl
+ inherited edtlNombre: TcxDBTextEdit
+ ExplicitWidth = 224
+ Width = 224
+ end
+ inherited edtNIFCIF: TcxDBTextEdit
+ ExplicitWidth = 562
+ Width = 562
+ end
+ inherited edtCalle: TcxDBTextEdit
+ ExplicitWidth = 562
+ Width = 562
+ end
+ inherited edtPoblacion: TcxDBTextEdit
+ ExplicitWidth = 177
+ Width = 177
+ end
+ inherited edtProvincia: TcxDBTextEdit
+ ExplicitWidth = 327
+ Width = 327
+ end
+ inherited edtCodigoPostal: TcxDBTextEdit
+ Left = 238
+ ExplicitLeft = 238
+ end
+ inherited Button3: TBitBtn
+ Left = 128
+ ExplicitLeft = 128
+ end
+ end
+ inherited DADataSource: TDADataSource
+ Top = 72
+ end
+ inherited ActionList1: TActionList
+ Top = 72
+ end
+ inherited PngImageList: TPngImageList
+ Top = 72
+ end
+ end
+ object eCalle: TcxDBTextEdit
+ Left = 116
+ Top = 193
+ DataBinding.DataField = 'CALLE'
+ DataBinding.DataSource = DADataSource
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.HotTrack = False
+ Style.LookAndFeel.Kind = lfStandard
+ Style.LookAndFeel.NativeStyle = True
+ StyleDisabled.LookAndFeel.Kind = lfStandard
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.Kind = lfStandard
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.Kind = lfStandard
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 6
+ Width = 263
+ end
+ object ePoblacion: TcxDBTextEdit
+ Left = 116
+ Top = 220
+ DataBinding.DataField = 'POBLACION'
+ DataBinding.DataSource = DADataSource
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.HotTrack = False
+ Style.LookAndFeel.Kind = lfStandard
+ Style.LookAndFeel.NativeStyle = True
+ StyleDisabled.LookAndFeel.Kind = lfStandard
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.Kind = lfStandard
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.Kind = lfStandard
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 7
+ Width = 162
+ end
+ object eCodigoPostal: TcxDBTextEdit
+ Left = 293
+ Top = 220
+ DataBinding.DataField = 'CODIGO_POSTAL'
+ DataBinding.DataSource = DADataSource
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.HotTrack = False
+ Style.LookAndFeel.Kind = lfStandard
+ Style.LookAndFeel.NativeStyle = True
+ StyleDisabled.LookAndFeel.Kind = lfStandard
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.Kind = lfStandard
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.Kind = lfStandard
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 8
+ Width = 65
+ end
+ object eProvincia: TcxDBTextEdit
+ Left = 116
+ Top = 247
+ DataBinding.DataField = 'PROVINCIA'
+ DataBinding.DataSource = DADataSource
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.HotTrack = False
+ Style.LookAndFeel.Kind = lfStandard
+ Style.LookAndFeel.NativeStyle = True
+ StyleDisabled.LookAndFeel.Kind = lfStandard
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.Kind = lfStandard
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.Kind = lfStandard
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 9
+ Width = 263
+ end
+ object ePersonaContacto: TcxDBTextEdit
+ Left = 116
+ Top = 274
+ DataBinding.DataField = 'PERSONA_CONTACTO'
+ DataBinding.DataSource = DADataSource
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.Color = clWindow
+ Style.HotTrack = False
+ Style.LookAndFeel.Kind = lfStandard
+ Style.LookAndFeel.NativeStyle = True
+ StyleDisabled.LookAndFeel.Kind = lfStandard
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.Kind = lfStandard
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.Kind = lfStandard
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 10
+ Width = 84
+ end
+ object eTlfTrabajo: TcxDBTextEdit
+ Left = 116
+ Top = 301
+ DataBinding.DataField = 'TELEFONO'
+ DataBinding.DataSource = DADataSource
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.HotTrack = False
+ Style.LookAndFeel.Kind = lfStandard
+ Style.LookAndFeel.NativeStyle = True
+ StyleDisabled.LookAndFeel.Kind = lfStandard
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.Kind = lfStandard
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.Kind = lfStandard
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 11
+ Width = 122
+ end
+ object bElegirDireccion: TBitBtn
+ Left = 186
+ Top = 328
+ Width = 172
+ Height = 25
+ Action = actElegirDireccion
+ Caption = 'Elegir una direcci'#243'n de env'#237'o...'
+ TabOrder = 12
+ end
+ object cbFormaPago: TcxDBLookupComboBox
+ Left = 116
+ Top = 136
+ DataBinding.DataField = 'ID_FORMA_PAGO'
+ DataBinding.DataSource = DADataSource
+ Properties.KeyFieldNames = 'ID'
+ Properties.ListColumns = <
+ item
+ FieldName = 'REFERENCIA'
+ end>
+ Properties.ListOptions.GridLines = glNone
+ Properties.ListOptions.ShowHeader = False
+ Properties.ListSource = dsFormaPago
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.HotTrack = False
+ Style.LookAndFeel.Kind = lfStandard
+ Style.LookAndFeel.NativeStyle = True
+ Style.ButtonStyle = bts3D
+ Style.PopupBorderStyle = epbsFrame3D
+ StyleDisabled.LookAndFeel.Kind = lfStandard
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.Kind = lfStandard
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.Kind = lfStandard
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 4
+ Width = 101
+ end
+ object bFormasPago: TButton
+ Left = 226
+ Top = 136
+ Width = 132
+ Height = 21
+ Caption = 'Ver las formas de pago...'
+ TabOrder = 5
+ OnClick = bFormasPagoClick
+ end
+ object edtFechaPrevistaEnvio: TcxDBDateEdit
+ Left = 116
+ Top = 109
+ Anchors = [akLeft, akTop, akRight]
+ DataBinding.DataField = 'FECHA_PREVISTA_ENVIO'
+ DataBinding.DataSource = DADataSource
+ Properties.ImmediatePost = True
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.Color = clWindow
+ Style.HotTrack = False
+ Style.LookAndFeel.NativeStyle = True
+ Style.Shadow = False
+ Style.ButtonStyle = bts3D
+ Style.ButtonTransparency = ebtNone
+ Style.PopupBorderStyle = epbsFrame3D
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 3
+ Width = 216
+ end
+ object eRefCliente: TcxDBTextEdit
+ Left = 116
+ Top = 55
+ Anchors = [akLeft, akTop, akRight]
+ DataBinding.DataField = 'REFERENCIA_CLIENTE'
+ DataBinding.DataSource = DADataSource
+ Properties.ReadOnly = False
+ Properties.ValidateOnEnter = True
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.Color = clInfoBk
+ Style.HotTrack = False
+ Style.LookAndFeel.Kind = lfStandard
+ Style.LookAndFeel.NativeStyle = True
+ StyleDisabled.Color = clMenuBar
+ StyleDisabled.LookAndFeel.Kind = lfStandard
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleDisabled.TextColor = clWindowText
+ StyleFocused.LookAndFeel.Kind = lfStandard
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.Kind = lfStandard
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 1
+ Width = 216
+ end
+ object dxLayoutControl1Group_Root: TdxLayoutGroup
+ ShowCaption = False
+ Hidden = True
+ ShowBorder = False
+ object dxLayoutControl1Group10: TdxLayoutGroup
+ ShowCaption = False
+ Hidden = True
+ LayoutDirection = ldHorizontal
+ ShowBorder = False
+ object dxLayoutControl1Group6: TdxLayoutGroup
+ AutoAligns = [aaVertical]
+ AlignHorz = ahClient
+ ShowCaption = False
+ Hidden = True
+ ShowBorder = False
+ object dxLayoutControl1Group1: TdxLayoutGroup
+ AutoAligns = []
+ AlignHorz = ahClient
+ Caption = 'Datos del pedido'
+ object dxLayoutControl1Item3: TdxLayoutItem
+ Caption = 'Referencia:'
+ Control = eReferencia
+ ControlOptions.ShowBorder = False
+ end
+ object dxLayoutControl1Item15: TdxLayoutItem
+ Caption = 'Ref. cliente:'
+ Control = eRefCliente
+ ControlOptions.ShowBorder = False
+ end
+ object dxLayoutControl1Item2: TdxLayoutItem
+ Caption = 'Fecha del pedido:'
+ Control = edtFechaPedido
+ ControlOptions.ShowBorder = False
+ end
+ object dxLayoutControl1Item7: TdxLayoutItem
+ Caption = 'Entrega prevista:'
+ Control = edtFechaPrevistaEnvio
+ ControlOptions.ShowBorder = False
+ end
+ object dxLayoutControl1Group5: TdxLayoutGroup
+ ShowCaption = False
+ Visible = False
+ Hidden = True
+ LayoutDirection = ldHorizontal
+ ShowBorder = False
+ object dxLayoutControl1Item4: TdxLayoutItem
+ AutoAligns = [aaVertical]
+ AlignHorz = ahClient
+ Caption = 'Forma de pago'
+ Control = cbFormaPago
+ ControlOptions.ShowBorder = False
+ end
+ object dxLayoutControl1Item5: TdxLayoutItem
+ AutoAligns = [aaVertical]
+ AlignHorz = ahRight
+ ShowCaption = False
+ Control = bFormasPago
+ ControlOptions.ShowBorder = False
+ end
+ end
+ end
+ object dxLayoutControl1Group8: TdxLayoutGroup
+ AutoAligns = []
+ AlignHorz = ahClient
+ Caption = 'Direcci'#243'n de entrega'
+ object dxLayoutControl1Item8: TdxLayoutItem
+ Caption = 'Calle:'
+ Control = eCalle
+ ControlOptions.ShowBorder = False
+ end
+ object dxLayoutControl1Group4: TdxLayoutGroup
+ ShowCaption = False
+ Hidden = True
+ ShowBorder = False
+ object dxLayoutControl1Group9: TdxLayoutGroup
+ ShowCaption = False
+ Hidden = True
+ LayoutDirection = ldHorizontal
+ ShowBorder = False
+ object dxLayoutControl1Item9: TdxLayoutItem
+ AutoAligns = [aaVertical]
+ AlignHorz = ahClient
+ Caption = 'Poblaci'#243'n:'
+ Control = ePoblacion
+ ControlOptions.ShowBorder = False
+ end
+ object dxLayoutControl1Item10: TdxLayoutItem
+ AutoAligns = [aaVertical]
+ AlignHorz = ahRight
+ Caption = 'C.P.:'
+ Control = eCodigoPostal
+ ControlOptions.ShowBorder = False
+ end
+ end
+ object dxLayoutControl1Item11: TdxLayoutItem
+ Caption = 'Provincia:'
+ Control = eProvincia
+ ControlOptions.ShowBorder = False
+ end
+ object dxLayoutControl1Item12: TdxLayoutItem
+ Caption = 'Pers. de contacto:'
+ Control = ePersonaContacto
+ ControlOptions.ShowBorder = False
+ end
+ object dxLayoutControl1Item13: TdxLayoutItem
+ Caption = 'Tel'#233'fono:'
+ Control = eTlfTrabajo
+ ControlOptions.ShowBorder = False
+ end
+ object dxLayoutControl1Item14: TdxLayoutItem
+ AutoAligns = [aaVertical]
+ AlignHorz = ahRight
+ ShowCaption = False
+ Control = bElegirDireccion
+ ControlOptions.ShowBorder = False
+ end
+ end
+ end
+ end
+ object dxLayoutControl1Group2: TdxLayoutGroup
+ AutoAligns = [aaVertical]
+ AlignHorz = ahClient
+ Caption = 'Datos del cliente'
+ object dxLayoutControl1Item1: TdxLayoutItem
+ Control = frViewClientePedido
+ ControlOptions.AutoColor = True
+ ControlOptions.ShowBorder = False
+ end
+ end
+ end
+ object dxLayoutControl1Group7: TdxLayoutGroup
+ AutoAligns = [aaHorizontal]
+ AlignVert = avClient
+ Caption = 'Observaciones'
+ object dxLayoutControl1Item6: TdxLayoutItem
+ AutoAligns = [aaHorizontal]
+ AlignVert = avClient
+ Control = memObservaciones
+ ControlOptions.ShowBorder = False
+ end
+ end
+ end
+ end
+ object DADataSource: TDADataSource
+ Left = 8
+ Top = 8
+ end
+ object ActionList1: TActionList
+ Left = 8
+ Top = 40
+ object actElegirDireccion: TAction
+ Caption = 'Elegir una direcci'#243'n de env'#237'o...'
+ OnExecute = actElegirDireccionExecute
+ OnUpdate = actElegirDireccionUpdate
+ end
+ end
+ object dsFormaPago: TDADataSource
+ Left = 40
+ Top = 8
+ end
+end
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestoCliente.pas b/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestoCliente.pas
new file mode 100644
index 00000000..e656ee4f
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestoCliente.pas
@@ -0,0 +1,219 @@
+unit uViewPresupuestoCliente;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, uViewBase, uBizPresupuestosCliente, DB, uDADataTable, uCustomView,
+ AppEvnts, StdCtrls, Mask, DBCtrls,
+
+ uViewObservaciones, uViewDatosYSeleccionCliente,
+ cxGraphics, cxDropDownEdit, cxImageComboBox, cxDBEdit, cxContainer, cxEdit,
+ cxTextEdit, cxMaskEdit, cxCalendar, dxLayoutControl, cxControls, cxMemo,
+ uViewDireccionEntregaPresupuestoCliente, Buttons, ActnList, cxLookupEdit,
+ cxDBLookupEdit, cxDBLookupComboBox, uFormasPagoController, uDAInterfaces;
+
+type
+ IViewPresupuestoCliente = interface(IViewBase)
+ ['{C5385699-C1A4-4AEB-B3D0-EE3BDB322FE2}']
+ function GetPedido: IBizPresupuestoCliente;
+ procedure SetPedido(const Value: IBizPresupuestoCliente);
+ property Pedido: IBizPresupuestoCliente read GetPedido write SetPedido;
+
+ function GetViewClientePedido: TfrViewDatosYSeleccionCliente;
+ procedure SetViewClientePedido(const Value: TfrViewDatosYSeleccionCliente);
+ property ViewClientePedido: TfrViewDatosYSeleccionCliente read GetViewClientePedido write SetViewClientePedido;
+ end;
+
+ TfrViewPresupuestoCliente = class(TfrViewBase, IViewPresupuestoCliente)
+ DADataSource: TDADataSource;
+ dxLayoutControl1Group_Root: TdxLayoutGroup;
+ dxLayoutControl1: TdxLayoutControl;
+ dxLayoutControl1Item2: TdxLayoutItem;
+ edtFechaPedido: TcxDBDateEdit;
+ dxLayoutControl1Group1: TdxLayoutGroup;
+ dxLayoutControl1Group2: TdxLayoutGroup;
+ dxLayoutControl1Item6: TdxLayoutItem;
+ memObservaciones: TcxDBMemo;
+ dxLayoutControl1Item3: TdxLayoutItem;
+ eReferencia: TcxDBTextEdit;
+ dxLayoutControl1Group6: TdxLayoutGroup;
+ dxLayoutControl1Group7: TdxLayoutGroup;
+ dxLayoutControl1Group8: TdxLayoutGroup;
+ dxLayoutControl1Item1: TdxLayoutItem;
+ frViewClientePedido: TfrViewDatosYSeleccionCliente;
+ dxLayoutControl1Item8: TdxLayoutItem;
+ eCalle: TcxDBTextEdit;
+ dxLayoutControl1Item9: TdxLayoutItem;
+ ePoblacion: TcxDBTextEdit;
+ dxLayoutControl1Item10: TdxLayoutItem;
+ eCodigoPostal: TcxDBTextEdit;
+ dxLayoutControl1Item11: TdxLayoutItem;
+ eProvincia: TcxDBTextEdit;
+ dxLayoutControl1Item12: TdxLayoutItem;
+ ePersonaContacto: TcxDBTextEdit;
+ dxLayoutControl1Item13: TdxLayoutItem;
+ eTlfTrabajo: TcxDBTextEdit;
+ dxLayoutControl1Group4: TdxLayoutGroup;
+ dxLayoutControl1Group9: TdxLayoutGroup;
+ dxLayoutControl1Item14: TdxLayoutItem;
+ bElegirDireccion: TBitBtn;
+ ActionList1: TActionList;
+ actElegirDireccion: TAction;
+ dxLayoutControl1Item4: TdxLayoutItem;
+ cbFormaPago: TcxDBLookupComboBox;
+ dxLayoutControl1Item5: TdxLayoutItem;
+ bFormasPago: TButton;
+ dxLayoutControl1Group5: TdxLayoutGroup;
+ dsFormaPago: TDADataSource;
+ dxLayoutControl1Group10: TdxLayoutGroup;
+ dxLayoutControl1Item7: TdxLayoutItem;
+ edtFechaPrevistaEnvio: TcxDBDateEdit;
+ dxLayoutControl1Item15: TdxLayoutItem;
+ eRefCliente: TcxDBTextEdit;
+ procedure CustomViewCreate(Sender: TObject);
+ procedure CustomViewDestroy(Sender: TObject);
+ procedure actElegirDireccionExecute(Sender: TObject);
+ procedure actElegirDireccionUpdate(Sender: TObject);
+ procedure bFormasPagoClick(Sender: TObject);
+ procedure frViewClientePedidoButton1Click(Sender: TObject);
+ procedure frViewClientePedidoButton2Click(Sender: TObject);
+ protected
+ FPedido : IBizPresupuestoCliente;
+ FViewClientePedido : TfrViewDatosYSeleccionCliente;
+ FFormasPagoController : IFormasPagoController;
+
+ function GetPedido: IBizPresupuestoCliente;
+ procedure SetPedido(const Value: IBizPresupuestoCliente); virtual;
+ function GetViewClientePedido: TfrViewDatosYSeleccionCliente;
+ procedure SetViewClientePedido(const Value: TfrViewDatosYSeleccionCliente);
+ public
+ property Pedido: IBizPresupuestoCliente read GetPedido write SetPedido;
+ property ViewClientePedido: TfrViewDatosYSeleccionCliente read GetViewClientePedido;
+ end;
+
+implementation
+
+{$R *.dfm}
+
+{ TfrViewPresupuestoCliente }
+
+uses
+ uClientesController, uBizDireccionesContacto, uPresupuestosClienteController,
+ uBizFormasPago;
+
+
+procedure TfrViewPresupuestoCliente.actElegirDireccionExecute(Sender: TObject);
+var
+ AClientesController : IClientesController;
+ APedidoController : IPresupuestosClienteController;
+ ADireccion : IBizDireccionesContacto;
+begin
+ inherited;
+ AClientesController := TClientesController.Create;
+ APedidoController := TPresupuestosClienteController.Create;
+ try
+ ADireccion := AClientesController.ElegirDireccionEntrega(FPedido.Cliente.Direcciones,
+ 'Seleccione la dirección del cliente que quiere utilizar como dirección de envio de este pedido.');
+ if Assigned(ADireccion) then
+ begin
+ APedidoController.CopiarDireccionEnvio(ADireccion, FPedido);
+ FPedido.Edit;
+ FPedido.IMPORTE_PORTE := ADireccion.PORTE;
+ end;
+ finally
+ AClientesController := NIL;
+ APedidoController := NIL;
+ end;
+end;
+
+procedure TfrViewPresupuestoCliente.actElegirDireccionUpdate(Sender: TObject);
+begin
+ inherited;
+ (Sender as TAction).Enabled := (not ReadOnly) and
+ Assigned(FPedido) and
+ Assigned(FViewClientePedido) and
+ FPedido.DataTable.Active and
+ Assigned(FPedido.Cliente) and
+ Assigned(FPedido.Cliente) and
+ Assigned(FPedido.Cliente.Direcciones) and
+ FPedido.Cliente.Direcciones.DataTable.Active and
+ (FPedido.Cliente.Direcciones.DataTable.RecordCount > 0);
+end;
+
+procedure TfrViewPresupuestoCliente.bFormasPagoClick(Sender: TObject);
+begin
+ inherited;
+ FFormasPagoController.VerTodos((dsFormaPago.DataTable) as IBizFormaPago);
+end;
+
+procedure TfrViewPresupuestoCliente.CustomViewCreate(Sender: TObject);
+begin
+ inherited;
+ FFormasPagoController := TFormasPagoController.Create;
+ FViewClientePedido := frViewClientePedido;
+ FViewClientePedido.MsgElegirCliente := 'Elija el cliente al que se le realizará el pedido.';
+end;
+
+procedure TfrViewPresupuestoCliente.CustomViewDestroy(Sender: TObject);
+begin
+ FViewClientePedido := NIL;
+ FFormasPagoController := NIL;
+ inherited;
+end;
+
+procedure TfrViewPresupuestoCliente.frViewClientePedidoButton1Click(Sender: TObject);
+begin
+ if Assigned(Pedido) and Assigned(Pedido.Cliente) and
+ Assigned (Pedido.Detalles) and (Pedido.Detalles.RecordCount > 0) then
+ begin
+ if (Application.MessageBox('Los descuentos de los artículos del pedido serán actualizados con los del nuevo cliente seleccionado, ¿Desea continuar?', 'Atención', MB_YESNO) = IDNO) then
+ Exit;
+ end;
+ frViewClientePedido.actElegirContacto.Execute;
+end;
+
+procedure TfrViewPresupuestoCliente.frViewClientePedidoButton2Click(Sender: TObject);
+begin
+ if Assigned(Pedido) and Assigned(Pedido.Cliente) and
+ Assigned (Pedido.Detalles) and (Pedido.Detalles.RecordCount > 0) then
+ begin
+ if (Application.MessageBox('Los descuentos de los artículos del pedido serán actualizados con los del nuevo cliente seleccionado, ¿Desea continuar?', 'Atención', MB_YESNO) = IDNO) then
+ Exit;
+ end;
+ frViewClientePedido.actAnadirContacto.Execute;
+end;
+
+function TfrViewPresupuestoCliente.GetPedido: IBizPresupuestoCliente;
+begin
+ Result := FPedido;
+end;
+
+function TfrViewPresupuestoCliente.GetViewClientePedido: TfrViewDatosYSeleccionCliente;
+begin
+ Result := FViewClientePedido;
+end;
+
+procedure TfrViewPresupuestoCliente.SetPedido(const Value: IBizPresupuestoCliente);
+begin
+ FPedido := Value;
+ if Assigned(FPedido) then
+ begin
+ DADataSource.DataTable := FPedido.DataTable;
+ dsFormaPago.DataTable := FFormasPagoController.BuscarTodos.DataTable;
+ dsFormaPago.DataTable.Active := True;
+ frViewClientePedido.Cliente := FPedido.Cliente;
+ end
+ else begin
+ DADataSource.DataTable := NIL;
+ dsFormaPago.DataTable := NIL;
+ frViewClientePedido.Cliente := nil;
+ end;
+end;
+
+procedure TfrViewPresupuestoCliente.SetViewClientePedido(const Value: TfrViewDatosYSeleccionCliente);
+begin
+ FViewClientePedido := Value;
+end;
+
+end.
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestosCliente.dfm b/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestosCliente.dfm
new file mode 100644
index 00000000..eecefe4a
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestosCliente.dfm
@@ -0,0 +1,351 @@
+inherited frViewPresupuestosCliente: TfrViewPresupuestosCliente
+ Width = 596
+ Height = 479
+ ExplicitWidth = 596
+ ExplicitHeight = 479
+ inherited cxGrid: TcxGrid
+ Width = 596
+ Height = 351
+ RootLevelOptions.DetailTabsPosition = dtpTop
+ OnActiveTabChanged = cxGridActiveTabChanged
+ ExplicitWidth = 596
+ ExplicitHeight = 351
+ inherited cxGridView: TcxGridDBTableView
+ OnMouseMove = cxGridViewMouseMove
+ DataController.KeyFieldNames = 'ID'
+ DataController.Options = [dcoAnsiSort, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoSortByDisplayText, dcoGroupsAlwaysExpanded]
+ DataController.Summary.DefaultGroupSummaryItems = <
+ item
+ Format = ',0.00 '#8364';-,0.00 '#8364
+ Kind = skSum
+ Position = spFooter
+ Column = cxGridViewIMPORTE_TOTAL
+ end>
+ DataController.Summary.FooterSummaryItems = <
+ item
+ Format = '0 pedidos'
+ Kind = skCount
+ Column = cxGridViewREFERENCIA
+ end
+ item
+ Format = ',0.00 '#8364';-,0.00 '#8364
+ Kind = skSum
+ Column = cxGridViewIMPORTE_TOTAL
+ end>
+ OptionsCustomize.ColumnHidingOnGrouping = False
+ OptionsView.GroupFooters = gfAlwaysVisible
+ object cxGridViewID: TcxGridDBColumn
+ DataBinding.FieldName = 'ID'
+ Visible = False
+ BestFitMaxWidth = 22
+ MinWidth = 22
+ Options.HorzSizing = False
+ Width = 22
+ IsCaptionAssigned = True
+ end
+ object cxGridViewINCIDENCIASACTIVAS: TcxGridDBColumn
+ Caption = 'Incidencias'
+ DataBinding.FieldName = 'INCIDENCIAS_ACTIVAS'
+ PropertiesClassName = 'TcxImageComboBoxProperties'
+ Properties.Images = PngImageList
+ Properties.Items = <
+ item
+ Description = 'Sin incidencias'
+ Value = 0
+ end
+ item
+ Description = 'Con incidencias'
+ ImageIndex = 3
+ Tag = 1
+ Value = 1
+ end>
+ Properties.LargeImages = PngImageList
+ Properties.ShowDescriptions = False
+ BestFitMaxWidth = 22
+ MinWidth = 22
+ Options.HorzSizing = False
+ Width = 22
+ end
+ object cxGridViewTIENDAWEB: TcxGridDBColumn
+ Caption = #191'Proviene de tienda web?'
+ DataBinding.FieldName = 'REF_TIENDA_WEB'
+ OnCustomDrawCell = cxGridViewTIENDAWEBCustomDrawCell
+ BestFitMaxWidth = 22
+ MinWidth = 22
+ Options.HorzSizing = False
+ Width = 22
+ end
+ object cxGridViewREFERENCIA: TcxGridDBColumn
+ DataBinding.FieldName = 'REFERENCIA'
+ BestFitMaxWidth = 25
+ Width = 68
+ end
+ object cxGridViewSITUACION: TcxGridDBColumn
+ DataBinding.FieldName = 'SITUACION'
+ Width = 69
+ end
+ object cxGridViewFECHA_PEDIDO: TcxGridDBColumn
+ DataBinding.FieldName = 'FECHA_PEDIDO'
+ BestFitMaxWidth = 45
+ SortIndex = 0
+ SortOrder = soDescending
+ Width = 45
+ end
+ object cxGridViewFECHA_ENTREGA: TcxGridDBColumn
+ DataBinding.FieldName = 'FECHA_PREVISTA_ENVIO'
+ BestFitMaxWidth = 45
+ Width = 45
+ end
+ object cxGridViewNOMBRE: TcxGridDBColumn
+ Caption = 'Cliente'
+ DataBinding.FieldName = 'NOMBRE'
+ Width = 69
+ end
+ object cxGridViewCALLE: TcxGridDBColumn
+ DataBinding.FieldName = 'CALLE'
+ Width = 70
+ end
+ object cxGridViewCODIGO_POSTAL: TcxGridDBColumn
+ DataBinding.FieldName = 'CODIGO_POSTAL'
+ Visible = False
+ end
+ object cxGridViewPOBLACION: TcxGridDBColumn
+ DataBinding.FieldName = 'POBLACION'
+ Width = 68
+ end
+ object cxGridViewPROVINCIA: TcxGridDBColumn
+ DataBinding.FieldName = 'PROVINCIA'
+ Visible = False
+ end
+ object cxGridViewPERSONA_CONTACTO: TcxGridDBColumn
+ DataBinding.FieldName = 'PERSONA_CONTACTO'
+ Visible = False
+ end
+ object cxGridViewTELEFONO: TcxGridDBColumn
+ DataBinding.FieldName = 'TELEFONO'
+ Width = 70
+ end
+ object cxGridViewIMPORTE_TOTAL: TcxGridDBColumn
+ Caption = 'Importe total'
+ DataBinding.FieldName = 'IMPORTE_TOTAL'
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.Alignment.Horz = taRightJustify
+ FooterAlignmentHorz = taRightJustify
+ HeaderAlignmentHorz = taRightJustify
+ Width = 69
+ end
+ end
+ object cxGridDBTableView1: TcxGridDBTableView [1]
+ NavigatorButtons.ConfirmDelete = False
+ DataController.Summary.DefaultGroupSummaryItems = <>
+ DataController.Summary.FooterSummaryItems = <>
+ DataController.Summary.SummaryGroups = <>
+ end
+ inherited cxGridLevel: TcxGridLevel
+ Caption = 'Todos'
+ end
+ object cxGridLevelPendientes: TcxGridLevel
+ Caption = 'Pendientes'
+ end
+ object cxGridLevelEnProceso: TcxGridLevel
+ Caption = 'En proceso'
+ end
+ object cxGridLevelServidor: TcxGridLevel
+ Caption = 'Servidos'
+ end
+ end
+ inherited frViewFiltroBase1: TfrViewFiltroBase
+ Width = 596
+ ExplicitWidth = 596
+ inherited TBXDockablePanel1: TTBXDockablePanel
+ ExplicitWidth = 596
+ inherited dxLayoutControl1: TdxLayoutControl
+ Width = 596
+ ExplicitWidth = 596
+ inherited edtFechaFinFiltro: TcxDateEdit
+ Left = 251
+ ExplicitLeft = 251
+ ExplicitWidth = 294
+ Width = 294
+ end
+ end
+ inherited TBXAlignmentPanel1: TTBXAlignmentPanel
+ Width = 596
+ ExplicitWidth = 596
+ inherited tbxBotones: TTBXToolbar
+ Width = 586
+ ExplicitWidth = 586
+ end
+ end
+ end
+ end
+ inherited pnlAgrupaciones: TTBXDockablePanel
+ Top = 453
+ Visible = True
+ ExplicitTop = 453
+ ExplicitWidth = 596
+ inherited TBXAlignmentPanel1: TTBXAlignmentPanel
+ Width = 596
+ ExplicitWidth = 596
+ inherited TBXToolbar1: TTBXToolbar
+ Width = 586
+ ExplicitWidth = 586
+ object TBXSeparatorItem2: TTBXSeparatorItem
+ end
+ object TBXItem3: TTBXItem
+ Action = actCliente
+ end
+ object TBXSeparatorItem1: TTBXSeparatorItem
+ end
+ object TBXItem2: TTBXItem
+ Action = actProvincia
+ end
+ end
+ end
+ end
+ inherited dxComponentPrinter: TdxComponentPrinter
+ inherited dxComponentPrinterLink: TdxGridReportLink
+ ReportDocument.CreationDate = 38673.741107951390000000
+ BuiltInReportLink = True
+ end
+ end
+ inherited cxStyleRepository1: TcxStyleRepository
+ Left = 248
+ object cxStylePENDIENTES: TcxStyle
+ AssignedValues = [svTextColor]
+ TextColor = clGreen
+ end
+ object cxStyleENPROCESO: TcxStyle
+ AssignedValues = [svTextColor]
+ TextColor = clBlue
+ end
+ object cxStyleSERVIDOS: TcxStyle
+ end
+ end
+ inherited cxViewGridPopupMenu: TcxGridPopupMenu
+ Left = 288
+ end
+ inherited ActionList1: TActionList
+ object actCliente: TAction
+ Caption = 'Cliente'
+ OnExecute = actClienteExecute
+ OnUpdate = actClienteUpdate
+ end
+ object actProvincia: TAction
+ Caption = 'Provincia'
+ OnExecute = actProvinciaExecute
+ OnUpdate = actProvinciaUpdate
+ end
+ end
+ inherited dxPrintStyleManager1: TdxPrintStyleManager
+ inherited dxPrintStyleManager1Style1: TdxPSPrintStyle
+ BuiltInStyle = True
+ end
+ end
+ object PngImageList: TPngImageList
+ PngImages = <
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD2520000014B4944415478DA
+ 6364C007F47A8C9999FE9F6162FCCFF0FB2F9309C3A592B31CC61DFF7F9CAD60
+ 0449F398B6FF67C4A79FD9A0FBFFDF0BA56035EC469DFF7F9E2B87AB0769FE72
+ BA9211AF01AC865DFF7F9F2F03AB41B719A419C4C66B001BD0805F5003B84C3A
+ FE7F3B53C188AC59D0A20DBF17909DCD6DD2FEFFEB994A0CF5780D00052217DB
+ 9F338C0CFF19BEFE620507226906100118B327BDFCFFE7EF6F86BF7F20F80F8C
+ FEFB07C14762FFF9FD0B48FF82D2BF1918D3FB9FFCB734944631F5CFDF7F0CBF
+ 7EFF65F809C67FE0EC5F403688FEF1EB0F185F3AB2938131A5FBFE7F1B530592
+ 35FFF8F597E1DAB16D0C8C89EDB7FEDB5BAA92AC1944DF3ABE858131B6F9EA7F
+ 675B2D923583F0BD139B1918A3EA2FFC77B2D32559F3AF3F7F191E9CD8C0C018
+ 5673E6BF838D1EC99A41006C4070C5F1FF84A2EA3732FFF76F301B9E0EFEFFFF
+ 4F514202003F5091819E0016AB0000000049454E44AE426082}
+ Name = 'PngImage1'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD2520000010E4944415478DA
+ 63648001BD9EFF0CC8E052092350CC18C83A031531018A9D05AB03C941F530A2
+ 180093C026862E0FE5230B10B40D1B1BD546749BB16922CA0BF80C400384BC80
+ 2986D300320163F0AC3BFFFFFEFECBF0E70F100369301BCA87B1FFFE81F2FFFC
+ 63F8FDEB0FC31F20FE0D9203D28C01536FFE6F705663F80033F20784FA00657F
+ 4016FB815003129F367B3503A3CFC46BFF4BDC3549D208634F9CB79C81D1A3E7
+ F2FF4375E638FDD8B6EE2B8646984573672C6660746DBFF0FF68B3154E03CA96
+ 7DC56A3B08CC98BD8081D1B1E9ECFF783B23BC4E45D7080353A6CE6160B4AD3B
+ F53FD8CA94248D303061C24C0646ABCAE3FF0945D59F5F7F816C3431200D4E07
+ FFFFFF67A00400007E51EECD81D1728E0000000049454E44AE426082}
+ Name = 'PngImage2'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000000F54944415478DA
+ 6364D0EBF9CF70A98411481B3330309C61800013A0D8591C6210F52000643322
+ 19802281530C06A07CF20C4062936E00D5BC00058C24072286011402C6EC492F
+ FFFFF9FB9BE1EF1F08FE03A3FFFE41F091D87F7EFF02D2BFA0F46F06C6F4FE27
+ FF2D0DA5514CFDF3F71FC3AFDF7F197E82F11F38FB17900DA27FFCFA03C6978E
+ EC64604CE9BEFFDFC6548164CD3F7EFD65B8766C1B036362FBADFF2B9B0DC8F2
+ BF9C7D2303636CF3D5FF6BDB4DC93240CAAA868131AAFEC27F273B5DA29D0D63
+ FFFAF397E1C1890D0C8C613567FE3BD8E891AC1904C00604571CFF4F28AA7E23
+ F37FFF06B3E1E9E0FFFFFF1425240089FD645E7C3F344D0000000049454E44AE
+ 426082}
+ Name = 'PngImage0'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000000097048597300000AEB00000AEB01828B0D5A0000027F4944415478DA
+ 95926D48535118C79FDB268AA54485D62C4C50962CDC87F5416D9AB966CEA440
+ A4E84D828C304C89B217DB87D00F65252B69422F9A4161D6A0507C6D595A6450
+ 83CC55787129CE19949B6DD3DDEDDE9D73BABB561835D3030FCF39E739FFDFF3
+ C2A1608EF5A1467A415632783A589C100254B0A0EB5A623A9392DCD365B89DBE
+ FF3CBC5830C0DD9DD726922B34EFDAEB5B53F75972170470D4C8E461DB724D78
+ 091139AC66F4FC5E9BA24007FDF3064C75E6DE7DE94BD8DBDC4A834615014B5D
+ BD8D6985E37BE6056074D2B544934357DCFA1CD2FBEA1B6C908742E96EAFBFFB
+ 7E5FE2A15A18FA2FC0F978B35E9CBAE94895EE2DB474D82053B918CA4BA2A1BF
+ D37823B3D879784E80BB36298ADA98368C97937043F3185CACA1E164F12AD89E
+ 1509132316E659BB39A14807B6A000E74365A5282D43EB67BFC020FD1D76159A
+ C0502785D8984580B8691830BEA9561F634EFC1340AAA4111E55C60817859611
+ E4038EF34256FE6BE86C5A0F807D4010035F2DA3EE1EA32DEEA81EEC7F0126EF
+ 288E87A8D597389F8DC28280858ACB9FE06C690CBFF702E60DB153E463EF70C5
+ D632EEDC1F00FA6A7CA824397D888B46AB671EF300CC826DDC092B5710411CB0
+ 406C62D86EEFEA72C69DAA07F76FC0645DD241B15A7D93E3C6A85FE2471D5E68
+ 6872C1CE1C2FE46BF0AC2A1842F7B9CBB2CFF8AB05007900A26949819995E075
+ 184D43A0FF400B95575CD0FED4010A9907AAB5E1BC9801EC9FA9C261656D0346
+ 7FFC8106E2A55C7A591EA551197CC84A1121BB4FC8346AF540CB1307A8950462
+ 25E8670B8CD01E6611B198C445D9E5DC75EABD7E4DA32B322C05630F3F15BE54
+ 82788F788FF9E9FB679D9110C781FBC077B753433BB478CB0F7C3B8CF0987D51
+ CF0000000049454E44AE426082}
+ Name = 'PngImage3'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 61000001E34944415478DAA5932D72E43010855F98D934341BC1858261D10D76
+ 8E3047305C1685051A067A59A0E042E70682863D6C608719EE6B399EADDABFAA
+ AD7595CAB2DCFDF5EB1FDDE13F9FBB9F0FF258225F27AEC415D109B05A35C3CC
+ EF32E653FD2380CE035F4388720C41609DC2D68ABA28B42688E1820E79CAE7E9
+ 17407316E4788F43E8033CF2F46D42F804E8E29084E0A2ACBE7B90E9798334C0
+ 40D9145AC2BD1E8591A58B5CFE27406D462915EA59AD4A70812CF142FBD3340E
+ 750764113C8648C9A214E20A0C762560A1A925A662A8FDD0D48A06846B782220
+ 6F80E732C7181F14858079CB69895B1D57D6824BBB99FF4A03C9952134BD9597
+ 21ED008BF1F341F52BAA3035098CC23428DB561A70D53EC39888EFB941D4F45E
+ 5EB2DC0021A6035BC56A0F306660BD1B464A3DB5A8B00CED89606A62B201A61D
+ 90CB8C3E3EA03BD2F002BD8EF4550FB441D421532B62658D02CFC4C2DBFC9AD3
+ 0EC86CDBA349DC24B2F7BA8E2D227BCF9CFD3CB573EC69409EE6D731EF804899
+ EC4F3CB6D631927623FFD48F5AC84741B1B572D58B4FEB5CC67A1BA4739ECE34
+ 18D185435DE756B070B5CDB17305B63BB741A2F38F41BA41BE38C4324D8FE6C6
+ 3E0FBE7CEF15F602716877E7DF5EA6F330B6CBC4F6A55641CAE69EC973245714
+ 97FDD7DBF8AFCF7740E00D20BA266C3A0000000049454E44AE426082}
+ Name = 'PngImage4'
+ Background = clWindow
+ end>
+ Left = 56
+ Top = 48
+ Bitmap = {}
+ end
+end
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestosCliente.pas b/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestosCliente.pas
new file mode 100644
index 00000000..0afff049
--- /dev/null
+++ b/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestosCliente.pas
@@ -0,0 +1,280 @@
+unit uViewPresupuestosCliente;
+
+interface
+
+uses
+ uViewGrid, cxStyles, cxCustomData, cxGraphics, cxFilter,
+ cxData, cxDataStorage, cxEdit, DB, cxDBData, dxPSGlbl, dxPSUtl, dxPSEngn,
+ dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
+ dxPSEdgePatterns, cxImageComboBox, ImgList, Controls, PngImageList,
+ cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
+ cxGridCustomPopupMenu, cxGridPopupMenu, dxPSCore, dxPScxCommon, dxPScxGridLnk,
+ uDADataTable, cxGridLevel, cxClasses, cxControls, cxGridCustomView, Classes,
+ cxGrid,
+ uBizPresupuestosCliente, cxCurrencyEdit, Forms, uViewFiltroBase, ActnList, TB2Item,
+ TBX, TB2Toolbar, TBXDkPanels, TB2Dock, dxPgsDlg, uDAInterfaces;
+
+type
+ IViewPresupuestosCliente = interface(IViewGrid)
+ ['{96821714-55CF-4BC1-A0C1-16E027B2EF16}']
+ function GetPedidos: IBizPresupuestoCliente;
+ procedure SetPedidos(const Value: IBizPresupuestoCliente);
+ property Pedidos: IBizPresupuestoCliente read GetPedidos write SetPedidos;
+ end;
+
+ TfrViewPresupuestosCliente = class(TfrViewGrid, IViewPresupuestosCliente)
+ cxGridDBTableView1: TcxGridDBTableView;
+ PngImageList: TPngImageList;
+ cxGridViewID: TcxGridDBColumn;
+ cxGridViewREFERENCIA: TcxGridDBColumn;
+ cxGridViewINCIDENCIASACTIVAS: TcxGridDBColumn;
+ cxGridViewNOMBRE: TcxGridDBColumn;
+ cxGridViewSITUACION: TcxGridDBColumn;
+ cxGridViewFECHA_PEDIDO: TcxGridDBColumn;
+ cxGridViewCALLE: TcxGridDBColumn;
+ cxGridViewCODIGO_POSTAL: TcxGridDBColumn;
+ cxGridViewPOBLACION: TcxGridDBColumn;
+ cxGridViewPROVINCIA: TcxGridDBColumn;
+ cxGridViewPERSONA_CONTACTO: TcxGridDBColumn;
+ cxGridViewTELEFONO: TcxGridDBColumn;
+ cxGridViewIMPORTE_TOTAL: TcxGridDBColumn;
+ cxGridLevelPendientes: TcxGridLevel;
+ cxGridLevelEnProceso: TcxGridLevel;
+ cxGridLevelServidor: TcxGridLevel;
+ cxStylePENDIENTES: TcxStyle;
+ cxStyleENPROCESO: TcxStyle;
+ cxStyleSERVIDOS: TcxStyle;
+ actCliente: TAction;
+ actProvincia: TAction;
+ TBXItem2: TTBXItem;
+ TBXSeparatorItem1: TTBXSeparatorItem;
+ TBXSeparatorItem2: TTBXSeparatorItem;
+ TBXItem3: TTBXItem;
+ cxGridViewTIENDAWEB: TcxGridDBColumn;
+ cxGridViewFECHA_ENTREGA: TcxGridDBColumn;
+ procedure cxGridActiveTabChanged(Sender: TcxCustomGrid; ALevel:
+ TcxGridLevel);
+ procedure cxGridViewCODIGOCustomDrawCell(Sender: TcxCustomGridTableView;
+ ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var
+ ADone: Boolean);
+ procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView;
+ ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out
+ AStyle: TcxStyle);
+ procedure actClienteExecute(Sender: TObject);
+ procedure actClienteUpdate(Sender: TObject);
+ procedure actProvinciaExecute(Sender: TObject);
+ procedure actProvinciaUpdate(Sender: TObject);
+ procedure cxGridViewTIENDAWEBCustomDrawCell(Sender: TcxCustomGridTableView;
+ ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo;
+ var ADone: Boolean);
+ procedure cxGridViewMouseMove(Sender: TObject; Shift: TShiftState; X,
+ Y: Integer);
+
+ private
+ //Filtros relativos a la vista
+ procedure AnadirFiltroSituaciones;
+ procedure AnadirFiltroFechas;
+
+ protected
+ FPedidos: IBizPresupuestoCliente;
+ function GetPedidos: IBizPresupuestoCliente;
+ procedure SetPedidos(const Value: IBizPresupuestoCliente);
+ public
+ procedure AnadirOtrosFiltros; override;
+ property Pedidos: IBizPresupuestoCliente read GetPedidos write SetPedidos;
+ end;
+
+implementation
+
+uses SysUtils, variants, windows, uDataModulePresupuestosCliente, schPedidosClienteClient_Intf,
+ uViewGridBase;
+
+{$R *.dfm}
+
+procedure TfrViewPresupuestosCliente.actClienteExecute(Sender: TObject);
+begin
+ if (cxGridViewNOMBRE.GroupIndex < 0) then
+ begin
+ cxGridViewNOMBRE.GroupIndex := cxGridView.GroupedColumnCount;
+ cxGridViewNOMBRE.Visible := False;
+ end
+ else
+ begin
+ cxGridViewNOMBRE.GroupIndex := -1;
+ cxGridViewNOMBRE.Visible := True;
+ end;
+end;
+
+procedure TfrViewPresupuestosCliente.actClienteUpdate(Sender: TObject);
+begin
+ inherited;
+ (Sender as TAction).Checked := not (cxGridViewNOMBRE.GroupIndex < 0);
+end;
+
+procedure TfrViewPresupuestosCliente.actProvinciaExecute(Sender: TObject);
+begin
+ if (cxGridViewPROVINCIA.GroupIndex < 0) then
+ begin
+ cxGridViewPROVINCIA.GroupIndex := cxGridView.GroupedColumnCount;
+ cxGridViewPROVINCIA.Visible := False;
+ end
+ else
+ begin
+ cxGridViewPROVINCIA.GroupIndex := -1;
+ cxGridViewPROVINCIA.Visible := True;
+ end;
+end;
+
+procedure TfrViewPresupuestosCliente.actProvinciaUpdate(Sender: TObject);
+begin
+ inherited;
+ (Sender as TAction).Checked := not (cxGridViewPROVINCIA.GroupIndex < 0);
+end;
+
+procedure TfrViewPresupuestosCliente.AnadirFiltroFechas;
+var
+ Columna: TcxGridDBColumn;
+ Fecha1, Fecha2: Variant;
+ FFiltro : TcxFilterCriteriaItemList;
+begin
+ Fecha1 := frViewFiltroBase1.edtFechaIniFiltro.EditValue;
+ Fecha2 := frViewFiltroBase1.edtFechaFinFiltro.EditValue;
+
+ if not VarIsNull(Fecha1)
+ and not VarIsNull(Fecha2) then
+ begin
+ cxGridView.DataController.Filter.Options := [fcoCaseInsensitive, fcoSoftCompare];
+ FFiltro := AddFilterGrid(fboAnd);
+
+ Columna := (cxGridView as TcxGridDBTableView).GetColumnByFieldName('FECHA_PEDIDO');
+ FFiltro.AddItem(Columna, foBetween, varArrayOf([Fecha1, Fecha2]), VarToStr(Fecha1) + ' and ' + VarToStr(Fecha2));
+ end;
+end;
+
+procedure TfrViewPresupuestosCliente.AnadirFiltroSituaciones;
+var
+ FFiltro : TcxFilterCriteriaItemList;
+begin
+ FFiltro := AddFilterGrid(fboAnd);
+
+ case cxGrid.ActiveLevel.Index of
+ 1 : FFiltro.AddItem(cxGridViewSITUACION, foEqual, SITUACION_PEDIDO_PENDIENTE, SITUACION_PEDIDO_PENDIENTE);
+ 2 : FFiltro.AddItem(cxGridViewSITUACION, foEqual, SITUACION_PEDIDO_ENPROCESO, SITUACION_PEDIDO_ENPROCESO);
+ 3 : FFiltro.AddItem(cxGridViewSITUACION, foEqual, SITUACION_PEDIDO_SERVIDO, SITUACION_PEDIDO_SERVIDO);
+ end;
+end;
+
+procedure TfrViewPresupuestosCliente.AnadirOtrosFiltros;
+begin
+ inherited;
+
+ AnadirFiltroSituaciones;
+ AnadirFiltroFechas;
+
+ //Finalmente activamos el filtro si tenemos algo
+ if cxGridView.DataController.Filter.IsEmpty
+ then cxGridView.DataController.Filter.Active := False
+ else cxGridView.DataController.Filter.Active := True;
+ cxGrid.ActiveLevel.GridView := cxGridView;
+end;
+
+procedure TfrViewPresupuestosCliente.cxGridActiveTabChanged(Sender: TcxCustomGrid; ALevel: TcxGridLevel);
+begin
+ inherited;
+ RefrescarFiltro;
+end;
+
+procedure TfrViewPresupuestosCliente.cxGridViewCODIGOCustomDrawCell(Sender:
+ TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo:
+ TcxGridTableDataCellViewInfo; var ADone: Boolean);
+var
+ R: TRect;
+begin
+ inherited;
+ R := AViewInfo.ContentBounds;
+ ACanvas.FillRect(R);
+ ACanvas.DrawImage(PngImageList, R.Left, R.Top, 2);
+ ADone := True;
+end;
+
+procedure TfrViewPresupuestosCliente.cxGridViewMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
+var
+ Site : TcxGridSite;
+ HitTest : TcxCustomGridHitTest;
+ Item : TcxCustomGridTableItem;
+ Rec : TcxCustomGridRecord;
+ sNewHint : string;
+begin
+{Este método desaparecerá cuando se migre la aplicación, es para sacar la causa de la incidencia sin necesidad de entrar en el documento}
+ Site := Sender as TcxGridSite;
+ HitTest := Site.GridView.ViewInfo.GetHitTest(X, Y);
+ if HitTest is TcxGridRecordCellHitTest then begin
+ Item := TcxGridRecordCellHitTest(HitTest).Item;
+ Rec := TcxGridRecordCellHitTest(HitTest).GridRecord;
+
+ if (Item.Index = cxGridView.GetColumnByFieldName(fld_PedidosClienteINCIDENCIAS_ACTIVAS).Index)
+ and (Rec.Selected)
+ and (Pedidos.DataTable.FieldByName(fld_PedidosClienteINCIDENCIAS_ACTIVAS).AsInteger = 1) then begin
+ sNewHint := Pedidos.DataTable.FieldByName(fld_PedidosClienteINCIDENCIAS).AsString;
+ if (cxGrid.Hint <> sNewHint) then begin
+ cxGrid.ShowHint := false;
+ cxGrid.Hint := sNewHint;
+ end
+ else cxGrid.ShowHint := true;
+ end
+ else begin
+ cxGrid.ShowHint := false;
+ end;
+ end;
+end;
+
+procedure TfrViewPresupuestosCliente.cxGridViewStylesGetContentStyle(Sender:
+ TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem:
+ TcxCustomGridTableItem; out AStyle: TcxStyle);
+var
+ IndiceCol: Integer;
+ ASituacion: string;
+begin
+ inherited;
+ if Assigned(ARecord) then
+ begin
+ IndiceCol := (Sender as TcxGridDBTableView).GetColumnByFieldName(fld_PedidosClienteSITUACION).Index;
+ ASituacion := VarToStr(ARecord.DisplayTexts[IndiceCol]);
+ if ASituacion = SITUACION_PEDIDO_PENDIENTE then
+ AStyle := cxStylePENDIENTES
+ else if ASituacion = SITUACION_PEDIDO_ENPROCESO then
+ AStyle := cxStyleENPROCESO
+ else if ASituacion = SITUACION_PEDIDO_SERVIDO then
+ AStyle := cxStyleSERVIDOS;
+ end;
+end;
+
+procedure TfrViewPresupuestosCliente.cxGridViewTIENDAWEBCustomDrawCell(
+ Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
+ AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
+var
+ R : TRect;
+begin
+ inherited;
+ if (AViewInfo.GridRecord.DisplayTexts[cxGridViewTIENDAWEB.Index] <> '') then
+ begin
+ R := AViewInfo.ContentBounds;
+ ACanvas.FillRect(R);
+ ACanvas.DrawImage(PngImageList, R.Left, R.Top, 4);
+ ADone := True;
+ end;
+end;
+
+function TfrViewPresupuestosCliente.GetPedidos: IBizPresupuestoCliente;
+begin
+ Result := FPedidos;
+end;
+
+procedure TfrViewPresupuestosCliente.SetPedidos(const Value: IBizPresupuestoCliente);
+begin
+ FPedidos := Value;
+ if Assigned(FPedidos) then
+ dsDataSource.DataTable := FPedidos.DataTable;
+end;
+
+end.