diff --git a/Database/VISTAS.SQL b/Database/VISTAS.SQL
index f3df9042..bb1903f1 100644
--- a/Database/VISTAS.SQL
+++ b/Database/VISTAS.SQL
@@ -1,9 +1,11 @@
DROP VIEW V_INF_VENTAS_ARTICULOS;
-DROP VIEW V_INF_ULTIMA_COMPRA;
-DROP VIEW V_INF_ULTIMA_VENTA;
-DROP VIEW V_INF_FEC_ULTIMA_COMPRA;
-DROP VIEW V_INF_FEC_ULTIMA_VENTA;
-
+DROP VIEW V_INF_ULTVEN_PORCLIENTE;
+DROP VIEW V_INF_ULTVEN_PORARTICULO;
+DROP VIEW V_INF_FEC_ULTVEN_PORCLIENTE;
+DROP VIEW V_INF_FEC_ULTVEN_PORARTICULO;
+DROP VIEW V_INF_ULTCOM_PORARTICULO;
+DROP VIEW V_INF_ULTCOM;
+DROP VIEW V_INF_FEC_ULTCOM;
DROP VIEW V_INV_DETALLE_RESERVAS;
DROP VIEW V_ARTICULOS;
@@ -40,6 +42,9 @@ DROP VIEW V_PED_CLI_ART_PEND_PEDIR_PROV;
DROP VIEW V_PEDIDOS_CLIENTE;
DROP VIEW V_PED_CLI_SITUACION;
DROP VIEW V_PED_CLI_ART_SIN_ALBARAN;
+DROP VIEW V_PED_CLI_PROCESO;
+DROP VIEW V_PED_CLI_CON_ALBARANES;
+DROP VIEW V_PED_CLI_PENDIENTES_PROCESO;
DROP VIEW V_PED_CLI_ARTICULOS;
DROP VIEW V_PED_CLI_ARTICULOS_AUX;
DROP VIEW V_PED_CLI_ART_SITUACION_CANT;
@@ -1227,6 +1232,35 @@ GROUP BY ID_PEDIDO,
ID_ARTICULO
HAVING SUM(CANTIDAD_PEDIDA) IS NOT NULL;
+/*Aqui tendremos todos los pedidos de cliente pendientes o en proceso*/
+CREATE VIEW V_PED_CLI_PENDIENTES_PROCESO(
+ ID_PEDIDO)
+AS
+SELECT distinct V_PED_CLI_ARTICULOS.id_pedido
+FROM V_PED_CLI_ARTICULOS
+WHERE (V_PED_CLI_ARTICULOS.CANTIDAD_PEDIDA > V_PED_CLI_ARTICULOS.CANTIDAD_SERVIDA)
+;
+
+/*Aqui tendremos todos los pedidos de cliente que tienen algun albaran relacionado*/
+CREATE VIEW V_PED_CLI_CON_ALBARANES(
+ ID_PEDIDO)
+AS
+SELECT distinct ID_PEDIDO
+FROM (SELECT DISTINCT ALBARANES_CLIENTE_DETALLES.ID_PEDIDO, ALBARANES_CLIENTE_DETALLES.ID_ALBARAN
+ FROM ALBARANES_CLIENTE_DETALLES)
+GROUP BY ID_PEDIDO
+having COUNT(ID_ALBARAN) > 0
+;
+
+/*Aqui tendremos todos los pedidos de cliente en proceso*/
+CREATE VIEW V_PED_CLI_PROCESO(
+ ID_PEDIDO)
+AS
+select v_ped_cli_pendientes_proceso.ID_PEDIDO
+from v_ped_cli_pendientes_proceso
+inner join v_ped_cli_con_albaranes on (v_ped_cli_con_albaranes.ID_PEDIDO = v_ped_cli_pendientes_proceso.ID_PEDIDO)
+;
+
CREATE VIEW V_PED_CLI_ART_SIN_ALBARAN(
ID_PEDIDO,
ID_EMPRESA,
@@ -1270,88 +1304,34 @@ left join CONTACTOS on (contactos.id = PEDIDOS_CLIENTE.id_cliente)
left join articulos on (articulos.id = V_PED_CLI_ARTICULOS.ID_ARTICULO)
where cantidad_pendiente > 0;
-/*POR COMENTAR*/
-
-CREATE VIEW V_PED_CLI_SITUACION (
+/*Aqui tendremos la situacion de todos los pedidos, por lógica de grupos*/
+CREATE VIEW V_PED_CLI_SITUACION(
ID_PEDIDO,
SITUACION)
AS
-/*ANTERIOR
-SELECT ID_PEDIDO,
- CASE
- WHEN HAY_ALBARANES = 0 THEN 'PENDIENTE'
- WHEN (CANTIDAD_PENDIENTE <= 0) AND (CANTIDAD_PEDIDA <= CANTIDAD_SERVIDA) THEN 'SERVIDO'
- ELSE 'EN PROCESO'
- END AS SITUACION
-FROM
-(SELECT V_PED_CLI_ARTICULOS.ID_PEDIDO,
- SUM(V_PED_CLI_ARTICULOS.CANTIDAD_PEDIDA) AS CANTIDAD_PEDIDA,
- SUM(V_PED_CLI_ARTICULOS.CANTIDAD_RESERVADA) AS CANTIDAD_RESERVADA,
- SUM(V_PED_CLI_ARTICULOS.CANTIDAD_ENVIADA) AS CANTIDAD_ENVIADA,
- SUM(V_PED_CLI_ARTICULOS.CANTIDAD_SERVIDA) AS CANTIDAD_SERVIDA,
- SUM(V_PED_CLI_ARTICULOS.CANTIDAD_PENDIENTE) AS CANTIDAD_PENDIENTE,
- CASE
- WHEN COUNT(ALBARANES_CLIENTE.ID) > 0 THEN 1
- ELSE 0
- END AS HAY_ALBARANES
-FROM ALBARANES_CLIENTE
- RIGHT OUTER JOIN V_PED_CLI_ARTICULOS ON (ALBARANES_CLIENTE.ID_PEDIDO =
- V_PED_CLI_ARTICULOS.ID_PEDIDO)
-GROUP BY V_PED_CLI_ARTICULOS.ID_PEDIDO);
-*/
+select id_pedido,
+case when sum(enpro) = 3 then 'EN PROCESO'
+ when sum(enpro) = 2 then 'PENDIENTE'
+ when sum(enpro) = 1 then 'SERVIDO'
+end
+from
+(
+select id as id_pedido, 1 as ser, 1 as pend, 1 as enpro
+from pedidos_cliente
-SELECT
- PEDIDOS_CLIENTE.ID,
- /* Si (num. artículos servidos - num. artículos pedidos) = 0 -> Ped. servido
- Si no
- Si el pedido tiene albaranes -> Ped. servido
- Si no -> Ped. pendiente
- */
- CASE
- WHEN
- ( COALESCE(
- (SELECT
- COUNT(V_PED_CLI_ARTICULOS.ID_ARTICULO)
- FROM
- V_PED_CLI_ARTICULOS
- WHERE (V_PED_CLI_ARTICULOS.CANTIDAD_PEDIDA <= V_PED_CLI_ARTICULOS.CANTIDAD_SERVIDA)
- AND (V_PED_CLI_ARTICULOS.ID_PEDIDO = PEDIDOS_CLIENTE.ID)
- GROUP BY ID_PEDIDO), 0)
- -
- COALESCE(
- (SELECT
- COUNT(V_PED_CLI_DETALLES.ID_ARTICULO)
- FROM
- V_PED_CLI_DETALLES
- WHERE (V_PED_CLI_DETALLES.ID_PEDIDO = PEDIDOS_CLIENTE.ID)
- GROUP BY ID_PEDIDO), 0)
- = 0)
- AND
- ( COALESCE(
- (SELECT
- COUNT(V_PED_CLI_DETALLES.ID_ARTICULO)
- FROM
- V_PED_CLI_DETALLES
- WHERE (V_PED_CLI_DETALLES.ID_PEDIDO = PEDIDOS_CLIENTE.ID)
- GROUP BY ID_PEDIDO), 0)
- <> 0) THEN 'SERVIDO'
- ELSE
- CASE
- WHEN
- (COALESCE(
- (SELECT COUNT(ID_ALBARAN)
- FROM (SELECT DISTINCT ALBARANES_CLIENTE_DETALLES.ID_PEDIDO, ALBARANES_CLIENTE_DETALLES.ID_ALBARAN
- FROM ALBARANES_CLIENTE_DETALLES)
- WHERE (ID_PEDIDO = PEDIDOS_CLIENTE.ID)
- GROUP BY ID_PEDIDO), 0)
- <> 0) THEN 'EN PROCESO'
+union
- ELSE 'PENDIENTE'
- END
- END AS SITUACION
-FROM
- PEDIDOS_CLIENTE;
+select id_pedido, 0 as ser, 1 as pend, 1 as enpro
+from v_ped_cli_pendientes_proceso
+union
+
+select id_pedido, 0 as ser, 0 as pend, 1 as enpro
+from v_ped_cli_proceso
+
+)
+group by id_pedido
+;
/*Agrupa los artículos de un mismo albarán (ya que en un albarán puede existir varias lineas con el mismo artículo).
Para cada artículo de albarán le ponemos el pedido con el que esta asociado y el almacén donde se recibio.
@@ -2301,7 +2281,7 @@ WHERE (ARTICULOS.ELIMINADO = 0);
/* **********************************************************************/
/* INFORMES *************************************************************/
/* **********************************************************************/
-CREATE VIEW V_INF_FEC_ULTIMA_COMPRA(
+CREATE VIEW V_INF_FEC_ULTCOM(
ID_EMPRESA,
ID_ARTICULO,
FECHA)
@@ -2321,10 +2301,83 @@ and (facturas_proveedor_detalles.cantidad > 0)
group by
facturas_proveedor.ID_EMPRESA,
-facturas_proveedor_detalles.ID_ARTICULO;
+facturas_proveedor_detalles.ID_ARTICULO
+;
+
+CREATE VIEW V_INF_ULTCOM(
+ ID_EMPRESA,
+ ID_ARTICULO,
+ IMPORTE_UNIDAD_COMPRA,
+ IMPORTE_NETO_COMPRA,
+ IMPORTE_PORTE_COMPRA)
+AS
+select
+facturas_proveedor.id_empresa,
+facturas_proveedor_detalles.ID_ARTICULO,
+
+avg(facturas_proveedor_detalles.IMPORTE_UNIDAD) as IMPORTE_UNIDAD_COMPRA,
+avg(facturas_proveedor_detalles.IMPORTE_UNIDAD - (facturas_proveedor_detalles.IMPORTE_UNIDAD * (facturas_proveedor_detalles.DESCUENTO / 100))) AS IMPORTE_NETO_COMPRA,
+avg(facturas_proveedor_detalles.IMPORTE_PORTE) as IMPORTE_PORTE_COMPRA
+
+from facturas_proveedor_detalles
+
+left outer join facturas_proveedor
+on (facturas_proveedor.id = facturas_proveedor_detalles.id_factura)
+
+left outer join v_inf_fec_ultcom
+on (v_inf_fec_ultcom.id_empresa = facturas_proveedor.id_empresa)
+and (v_inf_fec_ultcom.id_articulo = facturas_proveedor_detalles.id_articulo)
+
+WHERE (facturas_proveedor_detalles.ID_ARTICULO IS NOT NULL) AND (facturas_proveedor_detalles.ID_ARTICULO > 0) /*Quitamos conceptos libres*/
+and (facturas_proveedor_detalles.cantidad > 0) /*Quitamos los abonos*/
+
+and (facturas_proveedor.FECHA_FACTURA = v_inf_fec_ultcom.fecha) /*nos quedamos con las ultimas compras*/
+
+group by 1, 2
+;
+
+CREATE VIEW V_INF_ULTCOM_PORARTICULO(
+ ID_EMPRESA,
+ ID_ARTICULO,
+ IMPORTE_UNIDAD_COMPRA,
+ IMPORTE_NETO_COMPRA,
+ IMPORTE_PORTE_COMPRA)
+AS
+select articulos.id_empresa, articulos.id,
+coalesce(v_inf_ultcom.importe_unidad_compra, articulos.precio_coste),
+coalesce(v_inf_ultcom.importe_neto_compra, articulos.precio_neto),
+coalesce(v_inf_ultcom.importe_porte_compra, articulos.precio_porte)
+
+from articulos
+left join v_inf_ultcom
+on ((v_inf_ultcom.id_empresa = articulos.id_empresa) and (v_inf_ultcom.id_articulo = articulos.id))
+;
-CREATE VIEW V_INF_FEC_ULTIMA_VENTA(
+CREATE VIEW V_INF_FEC_ULTVEN_PORARTICULO(
+ ID_EMPRESA,
+ ID_ARTICULO,
+ FECHA)
+AS
+select
+facturas_cliente.ID_EMPRESA,
+facturas_cliente_detalles.ID_ARTICULO,
+max(facturas_cliente.FECHA_FACTURA)
+
+from facturas_cliente_detalles
+left join facturas_cliente
+on (facturas_cliente.id = facturas_cliente_detalles.id_factura)
+WHERE (ID_ARTICULO IS NOT NULL)
+AND (ID_ARTICULO > 0)
+and (facturas_cliente_detalles.cantidad > 0)
+
+group by
+facturas_cliente.ID_EMPRESA,
+facturas_cliente_detalles.ID_ARTICULO
+;
+
+
+CREATE VIEW V_INF_FEC_ULTVEN_PORCLIENTE(
ID_EMPRESA,
ID_CLIENTE,
ID_ARTICULO,
@@ -2346,42 +2399,41 @@ and (facturas_cliente_detalles.cantidad > 0)
group by
facturas_cliente.ID_EMPRESA,
facturas_cliente.ID_CLIENTE,
-facturas_cliente_detalles.ID_ARTICULO;
+facturas_cliente_detalles.ID_ARTICULO
+;
-
-CREATE VIEW V_INF_ULTIMA_COMPRA(
+CREATE VIEW V_INF_ULTVEN_PORARTICULO(
ID_EMPRESA,
ID_ARTICULO,
- IMPORTE_UNIDAD_COMPRA,
- IMPORTE_NETO_COMPRA,
- IMPORTE_PORTE_COMPRA)
+ IMPORTE_UNIDAD_VENTA,
+ IMPORTE_NETO_VENTA,
+ IMPORTE_PORTE_VENTA)
AS
select
-facturas_proveedor.id_empresa,
-facturas_proveedor_detalles.ID_ARTICULO,
+facturas_cliente.id_empresa,
+facturas_cliente_detalles.ID_ARTICULO,
-avg(facturas_proveedor_detalles.IMPORTE_UNIDAD) as IMPORTE_UNIDAD_COMPRA,
-avg(facturas_proveedor_detalles.IMPORTE_UNIDAD - (facturas_proveedor_detalles.IMPORTE_UNIDAD * (facturas_proveedor_detalles.DESCUENTO / 100))) AS IMPORTE_NETO_COMPRA,
-avg(facturas_proveedor_detalles.IMPORTE_PORTE) as IMPORTE_PORTE_COMPRA
+avg(facturas_cliente_detalles.IMPORTE_UNIDAD) as IMPORTE_UNIDAD_VENTA,
+avg(facturas_cliente_detalles.IMPORTE_UNIDAD - (facturas_cliente_detalles.IMPORTE_UNIDAD * (facturas_cliente_detalles.DESCUENTO / 100))) AS IMPORTE_NETO_VENTA,
+avg(facturas_cliente_detalles.IMPORTE_PORTE) as IMPORTE_PORTE_VENTA
-from facturas_proveedor_detalles
+from facturas_cliente_detalles
-left outer join facturas_proveedor
-on (facturas_proveedor.id = facturas_proveedor_detalles.id_factura)
+inner join facturas_cliente
+on (facturas_cliente.id = facturas_cliente_detalles.id_factura)
-left outer join v_inf_fec_ultima_compra
-on (v_inf_fec_ultima_compra.id_empresa = facturas_proveedor.id_empresa)
-and (v_inf_fec_ultima_compra.id_articulo = facturas_proveedor_detalles.id_articulo)
+inner join v_inf_fec_ultven_PORARTICULO
+on (v_inf_fec_ultven_PORARTICULO.id_empresa = facturas_cliente.id_empresa)
+and (v_inf_fec_ultven_PORARTICULO.id_articulo = facturas_cliente_detalles.id_articulo)
-WHERE (facturas_proveedor_detalles.ID_ARTICULO IS NOT NULL) AND (facturas_proveedor_detalles.ID_ARTICULO > 0) /*Quitamos conceptos libres*/
-and (facturas_proveedor_detalles.cantidad > 0) /*Quitamos los abonos*/
+WHERE (facturas_cliente_detalles.ID_ARTICULO IS NOT NULL) AND (facturas_cliente_detalles.ID_ARTICULO > 0) /*Quitamos conceptos libres*/
+and (facturas_cliente_detalles.cantidad > 0) /*Quitamos los abonos*/
+and (facturas_cliente.FECHA_FACTURA = v_inf_fec_ultven_PORARTICULO.fecha) /*nos quedamos con las ultimas compras*/
-and (facturas_proveedor.FECHA_FACTURA = v_inf_fec_ultima_compra.fecha) /*nos quedamos con las ultimas compras*/
+group by 1, 2
+;
-group by 1, 2;
-
-
-CREATE VIEW V_INF_ULTIMA_VENTA(
+CREATE VIEW V_INF_ULTVEN_PORCLIENTE(
ID_EMPRESA,
ID_CLIENTE,
ID_ARTICULO,
@@ -2400,19 +2452,20 @@ avg(facturas_cliente_detalles.IMPORTE_PORTE) as IMPORTE_PORTE_VENTA
from facturas_cliente_detalles
-left outer join facturas_cliente
+inner join facturas_cliente
on (facturas_cliente.id = facturas_cliente_detalles.id_factura)
-left outer join v_inf_fec_ultima_venta
-on (v_inf_fec_ultima_venta.id_empresa = facturas_cliente.id_empresa)
-and (v_inf_fec_ultima_venta.id_cliente = facturas_cliente.id_cliente)
-and (v_inf_fec_ultima_venta.id_articulo = facturas_cliente_detalles.id_articulo)
+inner join v_inf_fec_ultven_porcliente
+on (v_inf_fec_ultven_porcliente.id_empresa = facturas_cliente.id_empresa)
+and (v_inf_fec_ultven_porcliente.id_cliente = facturas_cliente.id_cliente)
+and (v_inf_fec_ultven_porcliente.id_articulo = facturas_cliente_detalles.id_articulo)
WHERE (facturas_cliente_detalles.ID_ARTICULO IS NOT NULL) AND (facturas_cliente_detalles.ID_ARTICULO > 0) /*Quitamos conceptos libres*/
and (facturas_cliente_detalles.cantidad > 0) /*Quitamos los abonos*/
-and (facturas_cliente.FECHA_FACTURA = v_inf_fec_ultima_venta.fecha) /*nos quedamos con las ultimas compras*/
+and (facturas_cliente.FECHA_FACTURA = v_inf_fec_ultven_porcliente.fecha) /*nos quedamos con las ultimas compras*/
-group by 1, 2, 3;
+group by 1, 2, 3
+;
/* Al igual que en Varela tendremos esta vista para hacer todos los informes que queramos de ventas, ya que estará desglosado por artículo */
diff --git a/Source/Base/GUIBase/GUIBase.res b/Source/Base/GUIBase/GUIBase.res
index 1641339f..8b251f31 100644
Binary files a/Source/Base/GUIBase/GUIBase.res and b/Source/Base/GUIBase/GUIBase.res differ
diff --git a/Source/Cliente/FactuGES.bdsproj b/Source/Cliente/FactuGES.bdsproj
index 31c46d79..23b5441e 100644
--- a/Source/Cliente/FactuGES.bdsproj
+++ b/Source/Cliente/FactuGES.bdsproj
@@ -148,7 +148,7 @@
True
False
2
- 5
+ 6
0
0
False
@@ -162,13 +162,13 @@
Rodax Software S.L.
- 2.5.0.0
+ 2.6.0.0
FactuGES
- 2.3.9.0
+ 2.6.0.0
Muststang Peak EasyListview Runtime Package
diff --git a/Source/Cliente/FactuGES.rc b/Source/Cliente/FactuGES.rc
index 4edd4453..43225b50 100644
--- a/Source/Cliente/FactuGES.rc
+++ b/Source/Cliente/FactuGES.rc
@@ -1,7 +1,7 @@
MAINICON ICON "c:\Codigo Luis Leon\Source\Iconos\Factuges.ico"
1 VERSIONINFO
-FILEVERSION 2,5,0,0
-PRODUCTVERSION 2,5,0,0
+FILEVERSION 2,6,0,0
+PRODUCTVERSION 2,6,0,0
FILEFLAGSMASK 0x3FL
FILEFLAGS 0x00L
FILEOS 0x40004L
@@ -13,9 +13,9 @@ BEGIN
BLOCK "0C0A04E4"
BEGIN
VALUE "CompanyName", "Rodax Software S.L.\0"
- VALUE "FileVersion", "2.5.0.0\0"
+ VALUE "FileVersion", "2.6.0.0\0"
VALUE "InternalName", "FactuGES\0"
- VALUE "ProductVersion", "2.3.9.0\0"
+ VALUE "ProductVersion", "2.6.0.0\0"
END
END
BLOCK "VarFileInfo"
diff --git a/Source/Cliente/FactuGES.res b/Source/Cliente/FactuGES.res
index 675d96b3..9f90171a 100644
Binary files a/Source/Cliente/FactuGES.res and b/Source/Cliente/FactuGES.res differ
diff --git a/Source/Modulos/Informe margen por articulo/Controller/uInfMargenArticuloController.pas b/Source/Modulos/Informe margen por articulo/Controller/uInfMargenArticuloController.pas
index 7349bcb0..6d5fe478 100644
--- a/Source/Modulos/Informe margen por articulo/Controller/uInfMargenArticuloController.pas
+++ b/Source/Modulos/Informe margen por articulo/Controller/uInfMargenArticuloController.pas
@@ -11,6 +11,7 @@ uses
const
CTE_AGRUPACION_PORARTICULO = 0;
CTE_AGRUPACION_PORCLIENTE = 1;
+ CTE_AGRUPACION_PORFACTURA = 2;
type
IInfMargenArticuloController = interface(IInformeBaseController)
@@ -18,6 +19,7 @@ type
// procedure VerTodos(AInfMargenArticulo: IBizInfMargenArticulo);
function BuscarAgrupadoPorCliente: IBizInfMargenArticulo;
function BuscarAgrupadoPorArticulo: IBizInfMargenArticulo;
+ function BuscarAgrupadoPorFactura: IBizInfMargenArticulo;
// function Buscar(const ID_ALMACEN: Integer): IBizInfMargenArticulo;
// function ExtraerSeleccionados(AArticulos: IBizInfMargenArticulo) : IBizInfMargenArticulo;
@@ -53,6 +55,7 @@ type
// function Ver(AArticulos: IBizInfMargenArticulo; AInfMargenArticulo : IBizInfMargenArticulo): Boolean;
function BuscarAgrupadoPorCliente: IBizInfMargenArticulo;
function BuscarAgrupadoPorArticulo: IBizInfMargenArticulo;
+ function BuscarAgrupadoPorFactura: IBizInfMargenArticulo;
procedure Nuevo(AInforme : IBizInforme);
procedure Ver(AInforme : IBizInforme);
@@ -96,6 +99,12 @@ begin
FiltrarEmpresa(Result);
end;
+function TInfMargenArticuloController.BuscarAgrupadoPorFactura: IBizInfMargenArticulo;
+begin
+ Result := FDataModule.GetItems(tFactura);
+ FiltrarEmpresa(Result);
+end;
+
constructor TInfMargenArticuloController.Create;
begin
AsignarDataModule;
@@ -132,6 +141,12 @@ begin
Value := 1;
end;
+ with JsDialog.CustomButtons.Add do
+ begin
+ Caption := 'Agrupar el informe por factura';
+ Value := 2;
+ end;
+
repeat
Respuesta := JsDialog.Execute;
until Respuesta <> IDCANCEL;
@@ -208,6 +223,7 @@ begin
case AInforme.TIPO_AGRUPACION of
CTE_AGRUPACION_PORARTICULO : Datos := BuscarAgrupadoPorArticulo;
CTE_AGRUPACION_PORCLIENTE : Datos := BuscarAgrupadoPorCliente;
+ CTE_AGRUPACION_PORFACTURA : Datos := BuscarAgrupadoPorFactura;
end;
Informe := AInforme;
diff --git a/Source/Modulos/Informe margen por articulo/Data/uDataModuleInfMargenArticulo.dfm b/Source/Modulos/Informe margen por articulo/Data/uDataModuleInfMargenArticulo.dfm
index 8855977e..286a9cd7 100644
--- a/Source/Modulos/Informe margen por articulo/Data/uDataModuleInfMargenArticulo.dfm
+++ b/Source/Modulos/Informe margen por articulo/Data/uDataModuleInfMargenArticulo.dfm
@@ -163,7 +163,7 @@ object dmInfMargenArticulo: TdmInfMargenArticulo
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
IndexDefs = <>
Left = 288
- Top = 208
+ Top = 336
end
object tbl_InfMargenPorArticulo1: TDACDSDataTable
RemoteUpdatesOptions = []
@@ -1274,4 +1274,550 @@ object dmInfMargenArticulo: TdmInfMargenArticulo
Left = 360
Top = 40
end
+ object tbl_InfMargenPorFactura1: TDACDSDataTable
+ RemoteUpdatesOptions = []
+ Fields = <
+ item
+ Name = 'ID_EMPRESA'
+ DataType = datInteger
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ DictionaryEntry = 'InfVentasArticulo_ID_EMPRESA'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'ID_CLIENTE'
+ DataType = datInteger
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ DictionaryEntry = 'InfMargenPorCliente_ID_CLIENTE'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'ID_FACTURA'
+ DataType = datInteger
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'ID_DETALLE'
+ DataType = datInteger
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = True
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'ID_ARTICULO'
+ DataType = datInteger
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ DictionaryEntry = 'InfVentasArticulo_ID_ARTICULO'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'FAMILIA'
+ DataType = datString
+ Size = 255
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ DictionaryEntry = 'InfVentasArticulo_FAMILIA'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'REFERENCIA'
+ DataType = datString
+ Size = 255
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ DictionaryEntry = 'InfVentasArticulo_REFERENCIA'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'REFERENCIA_PROV'
+ DataType = datString
+ Size = 255
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ DictionaryEntry = 'InfVentasArticulo_REFERENCIA_PROV'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'REFERENCIA_FACTURA'
+ DataType = datString
+ Size = 255
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'FECHA_FACTURA'
+ DataType = datDateTime
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'DESCRIPCION'
+ DataType = datString
+ Size = 255
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ DictionaryEntry = 'InfVentasArticulo_DESCRIPCION'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'COMISIONABLE'
+ DataType = datInteger
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ DictionaryEntry = 'InfVentasArticulo_COMISIONABLE'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'INVENTARIABLE'
+ DataType = datInteger
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ DictionaryEntry = 'InfVentasArticulo_INVENTARIABLE'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'NIF_CIF_CLIENTE'
+ DataType = datString
+ Size = 15
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ DictionaryEntry = 'InfVentasArticulo_NIF_CIF_CLIENTE'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'NOMBRE_CLIENTE'
+ DataType = datString
+ Size = 255
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ DictionaryEntry = 'InfVentasArticulo_NOMBRE_CLIENTE'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'NOMBRE_COMERCIAL_CLIENTE'
+ DataType = datString
+ Size = 255
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ DictionaryEntry = 'InfVentasArticulo_NOMBRE_COMERCIAL_CLIENTE'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'NIF_CIF_AGENTE'
+ DataType = datString
+ Size = 15
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ DictionaryEntry = 'InfVentasArticulo_NIF_CIF_AGENTE'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'NOMBRE_AGENTE'
+ DataType = datString
+ Size = 255
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ DictionaryEntry = 'InfVentasArticulo_NOMBRE_AGENTE'
+ 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 = 'IMP_UNIDAD'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMP_NETO'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMP_PORTE'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMP_TOTAL'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMP_UNIDAD_ULT_COMP'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ DictionaryEntry = 'InfMargenPorCliente_IMP_UNIDAD_ULT_COMP'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMP_NETO_ULT_COMP'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ DictionaryEntry = 'InfMargenPorCliente_IMP_NETO_ULT_COMP'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMP_PORTE_ULT_COMP'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ DictionaryEntry = 'InfMargenPorCliente_IMP_PORTE_ULT_COMP'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMP_NETO_ULT_COM_TOTAL'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMP_UNIDAD_PRO_COMP'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ DictionaryEntry = 'InfMargenPorCliente_IMP_UNIDAD_PRO_COMP'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMP_NETO_PRO_COMP'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ DictionaryEntry = 'InfMargenPorCliente_IMP_NETO_PRO_COMP'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMP_PORTE_PRO_COMP'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ DictionaryEntry = 'InfMargenPorCliente_IMP_PORTE_PRO_COMP'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMP_NETO_PRO_COM_TOTAL'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMP_MARGEN_ULT_COMP'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMP_MARGEN_ULT_COMP_TOTAL'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'POR_MARGEN_ULT_COMP'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMP_MARGEN_PRO_COMP'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMP_MARGEN_PRO_COMP_TOTAL'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'POR_MARGEN_PRO_COMP'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end>
+ Params = <
+ item
+ Name = 'FECHAINI'
+ BlobType = dabtUnknown
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'FECHAFIN'
+ BlobType = dabtUnknown
+ Value = ''
+ ParamType = daptInput
+ end>
+ MasterMappingMode = mmDataRequest
+ StreamingOptions = [soDisableEventsWhileStreaming]
+ SchemaCall.MethodName = 'GetDatasetSchema'
+ SchemaCall.Params = <
+ item
+ Name = 'Result'
+ ParamType = fResult
+ DataType = rtBinary
+ end
+ item
+ Name = 'aDatasetName'
+ ParamType = fIn
+ DataType = rtString
+ Value = 'InfMargenPorFactura'
+ end>
+ DataRequestCall.MethodName = 'GetDatasetDataEx'
+ DataRequestCall.Params = <
+ item
+ Name = 'Result'
+ ParamType = fResult
+ DataType = rtBinary
+ end
+ item
+ Name = 'DatasetName'
+ ParamType = fIn
+ DataType = rtString
+ Value = 'InfMargenPorFactura'
+ end
+ item
+ Name = 'Params'
+ ParamType = fIn
+ DataType = rtUserDefined
+ UserClassName = 'TDADatasetParamArray'
+ end
+ item
+ Name = 'UserFilter'
+ ParamType = fIn
+ DataType = rtString
+ Value = ''
+ end
+ item
+ Name = 'IncludeSchema'
+ ParamType = fIn
+ DataType = rtBoolean
+ Value = False
+ end
+ item
+ Name = 'MaxRecords'
+ ParamType = fIn
+ DataType = rtInteger
+ Value = -1
+ end>
+ DataUpdateCall.MethodName = 'UpdateData'
+ DataUpdateCall.Params = <
+ item
+ Name = 'Result'
+ ParamType = fResult
+ DataType = rtBinary
+ end
+ item
+ Name = 'Delta'
+ ParamType = fIn
+ DataType = rtBinary
+ end>
+ ScriptCall.MethodName = 'GetDatasetScripts'
+ ScriptCall.Params = <
+ item
+ Name = 'Result'
+ ParamType = fResult
+ DataType = rtString
+ Value = ''
+ end
+ item
+ Name = 'DatasetNames'
+ ParamType = fIn
+ DataType = rtString
+ Value = 'InfMargenPorFactura'
+ end>
+ ReadOnly = False
+ RemoteService = RORemoteService
+ Adapter = DABinAdapter
+ DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
+ MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
+ LogicalName = 'InfMargenPorFactura'
+ IndexDefs = <>
+ Left = 296
+ Top = 232
+ end
+ object ds_InfMargenPorFactura1: TDADataSource
+ DataTable = tbl_InfMargenPorFactura1
+ Left = 296
+ Top = 176
+ end
end
diff --git a/Source/Modulos/Informe margen por articulo/Data/uDataModuleInfMargenArticulo.pas b/Source/Modulos/Informe margen por articulo/Data/uDataModuleInfMargenArticulo.pas
index ba22fe23..adeb96c2 100644
--- a/Source/Modulos/Informe margen por articulo/Data/uDataModuleInfMargenArticulo.pas
+++ b/Source/Modulos/Informe margen por articulo/Data/uDataModuleInfMargenArticulo.pas
@@ -25,13 +25,15 @@ type
ds_InfMargenPorArticulo1: TDADataSource;
tbl_InfMargenPorCliente1: TDACDSDataTable;
ds_InfMargenPorCliente1: TDADataSource;
+ tbl_InfMargenPorFactura1: TDACDSDataTable;
+ ds_InfMargenPorFactura1: TDADataSource;
procedure DAClientDataModuleCreate(Sender: TObject);
protected
function _CloneDataTable (const ADataTable : TDACDSDataTable): TDACDSDataTable; overload;
public
function GetItems(Agrupado: TEnumAgrupaciones) : IBizInfMargenArticulo;
- function GetNameColumns: String;
+ function GetNameColumns(Agrupado: TEnumAgrupaciones): String;
end;
var
@@ -61,18 +63,23 @@ begin
ShowHourglassCursor;
try
- if (Agrupado = tCliente) then
- begin
- tbl_InfMargen.LogicalName := 'InfMargenPorCliente';
- tbl_InfMargen.SchemaCall.ParamByName('DatasetName').AsString := 'InfMargenPorCliente';
- tbl_InfMargen.DataRequestCall.ParamByName('DatasetName').AsString := 'InfMargenPorCliente';
- end
- else
- begin
- tbl_InfMargen.LogicalName := 'InfMargenPorArticulo';
- tbl_InfMargen.SchemaCall.ParamByName('DatasetName').AsString := 'InfMargenPorArticulo';
- tbl_InfMargen.DataRequestCall.ParamByName('DatasetName').AsString := 'InfMargenPorArticulo';
- end;
+ Case Agrupado of
+ tCliente: begin
+ tbl_InfMargen.LogicalName := 'InfMargenPorCliente';
+ tbl_InfMargen.SchemaCall.ParamByName('DatasetName').AsString := 'InfMargenPorCliente';
+ tbl_InfMargen.DataRequestCall.ParamByName('DatasetName').AsString := 'InfMargenPorCliente';
+ end;
+ tArticulo:begin
+ tbl_InfMargen.LogicalName := 'InfMargenPorArticulo';
+ tbl_InfMargen.SchemaCall.ParamByName('DatasetName').AsString := 'InfMargenPorArticulo';
+ tbl_InfMargen.DataRequestCall.ParamByName('DatasetName').AsString := 'InfMargenPorArticulo';
+ end;
+ tFactura: begin
+ tbl_InfMargen.LogicalName := 'InfMargenPorFactura';
+ tbl_InfMargen.SchemaCall.ParamByName('DatasetName').AsString := 'InfMargenPorFactura';
+ tbl_InfMargen.DataRequestCall.ParamByName('DatasetName').AsString := 'InfMargenPorFactura';
+ end;
+ End;
AInfMargenArticulo := _CloneDataTable(tbl_InfMargen);
AInfMargenArticulo.Fields.AssignFieldCollection(tbl_InfMargenPorCliente1.Fields); //Siempre por cliente
@@ -80,9 +87,10 @@ begin
//Importante inicializar columnas visibles
// AInfMargenArticulo.FieldByName(fld_InfMargenArticuloID_FACTURA).Visible := False;
- AInfMargenArticulo.FieldByName(fld_InfMargenPorClienteID_ARTICULO).Visible := False;
+// AInfMargenArticulo.FieldByName(fld_InfMargenPorClienteID_ARTICULO).Visible := False;
+
AInfMargenArticulo.LoadSchema;
- (AInfMargenArticulo as IBizInfMargenArticulo).VisibleColumns := GetNameColumns;
+ (AInfMargenArticulo as IBizInfMargenArticulo).VisibleColumns := GetNameColumns(Agrupado);
Result := (AInfMargenArticulo as IBizInfMargenArticulo);
finally
@@ -90,16 +98,30 @@ begin
end;
end;
-function TdmInfMargenArticulo.GetNameColumns: String;
+function TdmInfMargenArticulo.GetNameColumns(Agrupado: TEnumAgrupaciones): String;
var
AList : TStringList;
i : integer;
begin
AList := TStringList.Create;
try
- for i := 0 to tbl_InfMargenPorCliente1.FieldCount - 1 do
- if tbl_InfMargenPorCliente1.Fields[i].Visible then
- AList.Add(tbl_InfMargenPorCliente1.Fields[i].Name);
+ case Agrupado of
+ tCliente: begin
+ for i := 0 to tbl_InfMargenPorCliente1.FieldCount - 1 do
+ if tbl_InfMargenPorCliente1.Fields[i].Visible then
+ AList.Add(tbl_InfMargenPorCliente1.Fields[i].Name);
+ end;
+ tArticulo:begin
+ for i := 0 to tbl_InfMargenPorArticulo1.FieldCount - 1 do
+ if tbl_InfMargenPorArticulo1.Fields[i].Visible then
+ AList.Add(tbl_InfMargenPorArticulo1.Fields[i].Name);
+ end;
+ tFactura: begin
+ for i := 0 to tbl_InfMargenPorFactura1.FieldCount - 1 do
+ if tbl_InfMargenPorFactura1.Fields[i].Visible then
+ AList.Add(tbl_InfMargenPorFactura1.Fields[i].Name);
+ end;
+ end;
Result := AList.CommaText;
finally
FreeAndNil(AList);
diff --git a/Source/Modulos/Informe margen por articulo/Model/Data/uIDataModuleInfMargenArticulo.pas b/Source/Modulos/Informe margen por articulo/Model/Data/uIDataModuleInfMargenArticulo.pas
index f3ba1cf0..d80d44f3 100644
--- a/Source/Modulos/Informe margen por articulo/Model/Data/uIDataModuleInfMargenArticulo.pas
+++ b/Source/Modulos/Informe margen por articulo/Model/Data/uIDataModuleInfMargenArticulo.pas
@@ -6,12 +6,12 @@ uses
uBizInfMargenArticulo;
type
- TEnumAgrupaciones = (tCliente, tArticulo);
+ TEnumAgrupaciones = (tCliente, tArticulo, tFactura);
IDataModuleInfMargenArticulo = interface
['{B539E3DE-CC9D-4F12-84AF-2534971B0BE4}']
function GetItems(Agrupado: TEnumAgrupaciones) : IBizInfMargenArticulo;
- function GetNameColumns: String;
+ function GetNameColumns(Agrupado: TEnumAgrupaciones): String;
end;
implementation
diff --git a/Source/Modulos/Informe margen por articulo/Model/schInfMargenArticuloClient_Intf.pas b/Source/Modulos/Informe margen por articulo/Model/schInfMargenArticuloClient_Intf.pas
index 32b66850..53dcb663 100644
--- a/Source/Modulos/Informe margen por articulo/Model/schInfMargenArticuloClient_Intf.pas
+++ b/Source/Modulos/Informe margen por articulo/Model/schInfMargenArticuloClient_Intf.pas
@@ -9,12 +9,14 @@ 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_InfMargenPorCliente = '{3692A5E8-B098-4018-BD80-96BFA7A96109}';
- RID_InfMargenPorArticulo = '{EB4E62CD-5F26-47D0-99CD-8E607B2B7C74}';
+ RID_InfMargenPorCliente = '{71F1B324-9D58-4E38-A5C4-2C38BC7E4FD9}';
+ RID_InfMargenPorArticulo = '{D95DC29E-5669-4288-B15E-74000DB84382}';
+ RID_InfMargenPorFactura = '{54A84FBA-D162-432F-BE16-91557F00B416}';
{ Data table names }
nme_InfMargenPorCliente = 'InfMargenPorCliente';
nme_InfMargenPorArticulo = 'InfMargenPorArticulo';
+ nme_InfMargenPorFactura = 'InfMargenPorFactura';
{ InfMargenPorCliente fields }
fld_InfMargenPorClienteID_EMPRESA = 'ID_EMPRESA';
@@ -176,10 +178,88 @@ const
idx_InfMargenPorArticuloIMP_MARGEN_PRO_VENT_PRO_COMP = 33;
idx_InfMargenPorArticuloPOR_MARGEN_PRO_VENT_PRO_COMP = 34;
+ { InfMargenPorFactura fields }
+ fld_InfMargenPorFacturaID_EMPRESA = 'ID_EMPRESA';
+ fld_InfMargenPorFacturaID_CLIENTE = 'ID_CLIENTE';
+ fld_InfMargenPorFacturaID_FACTURA = 'ID_FACTURA';
+ fld_InfMargenPorFacturaID_DETALLE = 'ID_DETALLE';
+ fld_InfMargenPorFacturaID_ARTICULO = 'ID_ARTICULO';
+ fld_InfMargenPorFacturaFAMILIA = 'FAMILIA';
+ fld_InfMargenPorFacturaREFERENCIA = 'REFERENCIA';
+ fld_InfMargenPorFacturaREFERENCIA_PROV = 'REFERENCIA_PROV';
+ fld_InfMargenPorFacturaREFERENCIA_FACTURA = 'REFERENCIA_FACTURA';
+ fld_InfMargenPorFacturaFECHA_FACTURA = 'FECHA_FACTURA';
+ fld_InfMargenPorFacturaDESCRIPCION = 'DESCRIPCION';
+ fld_InfMargenPorFacturaCOMISIONABLE = 'COMISIONABLE';
+ fld_InfMargenPorFacturaINVENTARIABLE = 'INVENTARIABLE';
+ fld_InfMargenPorFacturaNIF_CIF_CLIENTE = 'NIF_CIF_CLIENTE';
+ fld_InfMargenPorFacturaNOMBRE_CLIENTE = 'NOMBRE_CLIENTE';
+ fld_InfMargenPorFacturaNOMBRE_COMERCIAL_CLIENTE = 'NOMBRE_COMERCIAL_CLIENTE';
+ fld_InfMargenPorFacturaNIF_CIF_AGENTE = 'NIF_CIF_AGENTE';
+ fld_InfMargenPorFacturaNOMBRE_AGENTE = 'NOMBRE_AGENTE';
+ fld_InfMargenPorFacturaCANTIDAD = 'CANTIDAD';
+ fld_InfMargenPorFacturaIMP_UNIDAD = 'IMP_UNIDAD';
+ fld_InfMargenPorFacturaIMP_NETO = 'IMP_NETO';
+ fld_InfMargenPorFacturaIMP_PORTE = 'IMP_PORTE';
+ fld_InfMargenPorFacturaIMP_TOTAL = 'IMP_TOTAL';
+ fld_InfMargenPorFacturaIMP_UNIDAD_ULT_COMP = 'IMP_UNIDAD_ULT_COMP';
+ fld_InfMargenPorFacturaIMP_NETO_ULT_COMP = 'IMP_NETO_ULT_COMP';
+ fld_InfMargenPorFacturaIMP_PORTE_ULT_COMP = 'IMP_PORTE_ULT_COMP';
+ fld_InfMargenPorFacturaIMP_NETO_ULT_COM_TOTAL = 'IMP_NETO_ULT_COM_TOTAL';
+ fld_InfMargenPorFacturaIMP_UNIDAD_PRO_COMP = 'IMP_UNIDAD_PRO_COMP';
+ fld_InfMargenPorFacturaIMP_NETO_PRO_COMP = 'IMP_NETO_PRO_COMP';
+ fld_InfMargenPorFacturaIMP_PORTE_PRO_COMP = 'IMP_PORTE_PRO_COMP';
+ fld_InfMargenPorFacturaIMP_NETO_PRO_COM_TOTAL = 'IMP_NETO_PRO_COM_TOTAL';
+ fld_InfMargenPorFacturaIMP_MARGEN_ULT_COMP = 'IMP_MARGEN_ULT_COMP';
+ fld_InfMargenPorFacturaIMP_MARGEN_ULT_COMP_TOTAL = 'IMP_MARGEN_ULT_COMP_TOTAL';
+ fld_InfMargenPorFacturaPOR_MARGEN_ULT_COMP = 'POR_MARGEN_ULT_COMP';
+ fld_InfMargenPorFacturaIMP_MARGEN_PRO_COMP = 'IMP_MARGEN_PRO_COMP';
+ fld_InfMargenPorFacturaIMP_MARGEN_PRO_COMP_TOTAL = 'IMP_MARGEN_PRO_COMP_TOTAL';
+ fld_InfMargenPorFacturaPOR_MARGEN_PRO_COMP = 'POR_MARGEN_PRO_COMP';
+
+ { InfMargenPorFactura field indexes }
+ idx_InfMargenPorFacturaID_EMPRESA = 0;
+ idx_InfMargenPorFacturaID_CLIENTE = 1;
+ idx_InfMargenPorFacturaID_FACTURA = 2;
+ idx_InfMargenPorFacturaID_DETALLE = 3;
+ idx_InfMargenPorFacturaID_ARTICULO = 4;
+ idx_InfMargenPorFacturaFAMILIA = 5;
+ idx_InfMargenPorFacturaREFERENCIA = 6;
+ idx_InfMargenPorFacturaREFERENCIA_PROV = 7;
+ idx_InfMargenPorFacturaREFERENCIA_FACTURA = 8;
+ idx_InfMargenPorFacturaFECHA_FACTURA = 9;
+ idx_InfMargenPorFacturaDESCRIPCION = 10;
+ idx_InfMargenPorFacturaCOMISIONABLE = 11;
+ idx_InfMargenPorFacturaINVENTARIABLE = 12;
+ idx_InfMargenPorFacturaNIF_CIF_CLIENTE = 13;
+ idx_InfMargenPorFacturaNOMBRE_CLIENTE = 14;
+ idx_InfMargenPorFacturaNOMBRE_COMERCIAL_CLIENTE = 15;
+ idx_InfMargenPorFacturaNIF_CIF_AGENTE = 16;
+ idx_InfMargenPorFacturaNOMBRE_AGENTE = 17;
+ idx_InfMargenPorFacturaCANTIDAD = 18;
+ idx_InfMargenPorFacturaIMP_UNIDAD = 19;
+ idx_InfMargenPorFacturaIMP_NETO = 20;
+ idx_InfMargenPorFacturaIMP_PORTE = 21;
+ idx_InfMargenPorFacturaIMP_TOTAL = 22;
+ idx_InfMargenPorFacturaIMP_UNIDAD_ULT_COMP = 23;
+ idx_InfMargenPorFacturaIMP_NETO_ULT_COMP = 24;
+ idx_InfMargenPorFacturaIMP_PORTE_ULT_COMP = 25;
+ idx_InfMargenPorFacturaIMP_NETO_ULT_COM_TOTAL = 26;
+ idx_InfMargenPorFacturaIMP_UNIDAD_PRO_COMP = 27;
+ idx_InfMargenPorFacturaIMP_NETO_PRO_COMP = 28;
+ idx_InfMargenPorFacturaIMP_PORTE_PRO_COMP = 29;
+ idx_InfMargenPorFacturaIMP_NETO_PRO_COM_TOTAL = 30;
+ idx_InfMargenPorFacturaIMP_MARGEN_ULT_COMP = 31;
+ idx_InfMargenPorFacturaIMP_MARGEN_ULT_COMP_TOTAL = 32;
+ idx_InfMargenPorFacturaPOR_MARGEN_ULT_COMP = 33;
+ idx_InfMargenPorFacturaIMP_MARGEN_PRO_COMP = 34;
+ idx_InfMargenPorFacturaIMP_MARGEN_PRO_COMP_TOTAL = 35;
+ idx_InfMargenPorFacturaPOR_MARGEN_PRO_COMP = 36;
+
type
{ IInfMargenPorCliente }
IInfMargenPorCliente = interface(IDAStronglyTypedDataTable)
- ['{EB6B9398-B7CF-4F84-8C4A-950B0DA5FDED}']
+ ['{5C8BB6D6-706F-4DC2-97EA-8BA94A055EF5}']
{ Property getters and setters }
function GetID_EMPRESAValue: Integer;
procedure SetID_EMPRESAValue(const aValue: Integer);
@@ -448,7 +528,7 @@ type
{ IInfMargenPorArticulo }
IInfMargenPorArticulo = interface(IDAStronglyTypedDataTable)
- ['{08C2EB72-D112-4206-98B0-F47FE2FE0C73}']
+ ['{D395CB2C-9508-48A5-8917-A702DB78620D}']
{ Property getters and setters }
function GetID_EMPRESAValue: Integer;
procedure SetID_EMPRESAValue(const aValue: Integer);
@@ -679,6 +759,251 @@ type
end;
+ { IInfMargenPorFactura }
+ IInfMargenPorFactura = interface(IDAStronglyTypedDataTable)
+ ['{EDE9393E-812F-470D-AAF0-FFEA52BD5E02}']
+ { Property getters and setters }
+ function GetID_EMPRESAValue: Integer;
+ procedure SetID_EMPRESAValue(const aValue: Integer);
+ function GetID_CLIENTEValue: Integer;
+ procedure SetID_CLIENTEValue(const aValue: Integer);
+ function GetID_FACTURAValue: Integer;
+ procedure SetID_FACTURAValue(const aValue: Integer);
+ function GetID_DETALLEValue: Integer;
+ procedure SetID_DETALLEValue(const aValue: Integer);
+ function GetID_ARTICULOValue: Integer;
+ procedure SetID_ARTICULOValue(const aValue: Integer);
+ function GetFAMILIAValue: String;
+ procedure SetFAMILIAValue(const aValue: String);
+ function GetREFERENCIAValue: String;
+ procedure SetREFERENCIAValue(const aValue: String);
+ function GetREFERENCIA_PROVValue: String;
+ procedure SetREFERENCIA_PROVValue(const aValue: String);
+ function GetREFERENCIA_FACTURAValue: String;
+ procedure SetREFERENCIA_FACTURAValue(const aValue: String);
+ function GetFECHA_FACTURAValue: DateTime;
+ procedure SetFECHA_FACTURAValue(const aValue: DateTime);
+ function GetDESCRIPCIONValue: String;
+ procedure SetDESCRIPCIONValue(const aValue: String);
+ function GetCOMISIONABLEValue: Integer;
+ procedure SetCOMISIONABLEValue(const aValue: Integer);
+ function GetINVENTARIABLEValue: Integer;
+ procedure SetINVENTARIABLEValue(const aValue: Integer);
+ function GetNIF_CIF_CLIENTEValue: String;
+ procedure SetNIF_CIF_CLIENTEValue(const aValue: String);
+ function GetNOMBRE_CLIENTEValue: String;
+ procedure SetNOMBRE_CLIENTEValue(const aValue: String);
+ function GetNOMBRE_COMERCIAL_CLIENTEValue: String;
+ procedure SetNOMBRE_COMERCIAL_CLIENTEValue(const aValue: String);
+ function GetNIF_CIF_AGENTEValue: String;
+ procedure SetNIF_CIF_AGENTEValue(const aValue: String);
+ function GetNOMBRE_AGENTEValue: String;
+ procedure SetNOMBRE_AGENTEValue(const aValue: String);
+ function GetCANTIDADValue: Integer;
+ procedure SetCANTIDADValue(const aValue: Integer);
+ function GetIMP_UNIDADValue: Float;
+ procedure SetIMP_UNIDADValue(const aValue: Float);
+ function GetIMP_NETOValue: Float;
+ procedure SetIMP_NETOValue(const aValue: Float);
+ function GetIMP_PORTEValue: Float;
+ procedure SetIMP_PORTEValue(const aValue: Float);
+ function GetIMP_TOTALValue: Float;
+ procedure SetIMP_TOTALValue(const aValue: Float);
+ function GetIMP_UNIDAD_ULT_COMPValue: Float;
+ procedure SetIMP_UNIDAD_ULT_COMPValue(const aValue: Float);
+ function GetIMP_NETO_ULT_COMPValue: Float;
+ procedure SetIMP_NETO_ULT_COMPValue(const aValue: Float);
+ function GetIMP_PORTE_ULT_COMPValue: Float;
+ procedure SetIMP_PORTE_ULT_COMPValue(const aValue: Float);
+ function GetIMP_NETO_ULT_COM_TOTALValue: Float;
+ procedure SetIMP_NETO_ULT_COM_TOTALValue(const aValue: Float);
+ function GetIMP_UNIDAD_PRO_COMPValue: Float;
+ procedure SetIMP_UNIDAD_PRO_COMPValue(const aValue: Float);
+ function GetIMP_NETO_PRO_COMPValue: Float;
+ procedure SetIMP_NETO_PRO_COMPValue(const aValue: Float);
+ function GetIMP_PORTE_PRO_COMPValue: Float;
+ procedure SetIMP_PORTE_PRO_COMPValue(const aValue: Float);
+ function GetIMP_NETO_PRO_COM_TOTALValue: Float;
+ procedure SetIMP_NETO_PRO_COM_TOTALValue(const aValue: Float);
+ function GetIMP_MARGEN_ULT_COMPValue: Float;
+ procedure SetIMP_MARGEN_ULT_COMPValue(const aValue: Float);
+ function GetIMP_MARGEN_ULT_COMP_TOTALValue: Float;
+ procedure SetIMP_MARGEN_ULT_COMP_TOTALValue(const aValue: Float);
+ function GetPOR_MARGEN_ULT_COMPValue: Float;
+ procedure SetPOR_MARGEN_ULT_COMPValue(const aValue: Float);
+ function GetIMP_MARGEN_PRO_COMPValue: Float;
+ procedure SetIMP_MARGEN_PRO_COMPValue(const aValue: Float);
+ function GetIMP_MARGEN_PRO_COMP_TOTALValue: Float;
+ procedure SetIMP_MARGEN_PRO_COMP_TOTALValue(const aValue: Float);
+ function GetPOR_MARGEN_PRO_COMPValue: Float;
+ procedure SetPOR_MARGEN_PRO_COMPValue(const aValue: Float);
+
+
+ { Properties }
+ property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
+ property ID_CLIENTE: Integer read GetID_CLIENTEValue write SetID_CLIENTEValue;
+ property ID_FACTURA: Integer read GetID_FACTURAValue write SetID_FACTURAValue;
+ property ID_DETALLE: Integer read GetID_DETALLEValue write SetID_DETALLEValue;
+ property ID_ARTICULO: Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
+ property FAMILIA: String read GetFAMILIAValue write SetFAMILIAValue;
+ property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
+ property REFERENCIA_PROV: String read GetREFERENCIA_PROVValue write SetREFERENCIA_PROVValue;
+ property REFERENCIA_FACTURA: String read GetREFERENCIA_FACTURAValue write SetREFERENCIA_FACTURAValue;
+ property FECHA_FACTURA: DateTime read GetFECHA_FACTURAValue write SetFECHA_FACTURAValue;
+ property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
+ property COMISIONABLE: Integer read GetCOMISIONABLEValue write SetCOMISIONABLEValue;
+ property INVENTARIABLE: Integer read GetINVENTARIABLEValue write SetINVENTARIABLEValue;
+ property NIF_CIF_CLIENTE: String read GetNIF_CIF_CLIENTEValue write SetNIF_CIF_CLIENTEValue;
+ property NOMBRE_CLIENTE: String read GetNOMBRE_CLIENTEValue write SetNOMBRE_CLIENTEValue;
+ property NOMBRE_COMERCIAL_CLIENTE: String read GetNOMBRE_COMERCIAL_CLIENTEValue write SetNOMBRE_COMERCIAL_CLIENTEValue;
+ property NIF_CIF_AGENTE: String read GetNIF_CIF_AGENTEValue write SetNIF_CIF_AGENTEValue;
+ property NOMBRE_AGENTE: String read GetNOMBRE_AGENTEValue write SetNOMBRE_AGENTEValue;
+ property CANTIDAD: Integer read GetCANTIDADValue write SetCANTIDADValue;
+ property IMP_UNIDAD: Float read GetIMP_UNIDADValue write SetIMP_UNIDADValue;
+ property IMP_NETO: Float read GetIMP_NETOValue write SetIMP_NETOValue;
+ property IMP_PORTE: Float read GetIMP_PORTEValue write SetIMP_PORTEValue;
+ property IMP_TOTAL: Float read GetIMP_TOTALValue write SetIMP_TOTALValue;
+ property IMP_UNIDAD_ULT_COMP: Float read GetIMP_UNIDAD_ULT_COMPValue write SetIMP_UNIDAD_ULT_COMPValue;
+ property IMP_NETO_ULT_COMP: Float read GetIMP_NETO_ULT_COMPValue write SetIMP_NETO_ULT_COMPValue;
+ property IMP_PORTE_ULT_COMP: Float read GetIMP_PORTE_ULT_COMPValue write SetIMP_PORTE_ULT_COMPValue;
+ property IMP_NETO_ULT_COM_TOTAL: Float read GetIMP_NETO_ULT_COM_TOTALValue write SetIMP_NETO_ULT_COM_TOTALValue;
+ property IMP_UNIDAD_PRO_COMP: Float read GetIMP_UNIDAD_PRO_COMPValue write SetIMP_UNIDAD_PRO_COMPValue;
+ property IMP_NETO_PRO_COMP: Float read GetIMP_NETO_PRO_COMPValue write SetIMP_NETO_PRO_COMPValue;
+ property IMP_PORTE_PRO_COMP: Float read GetIMP_PORTE_PRO_COMPValue write SetIMP_PORTE_PRO_COMPValue;
+ property IMP_NETO_PRO_COM_TOTAL: Float read GetIMP_NETO_PRO_COM_TOTALValue write SetIMP_NETO_PRO_COM_TOTALValue;
+ property IMP_MARGEN_ULT_COMP: Float read GetIMP_MARGEN_ULT_COMPValue write SetIMP_MARGEN_ULT_COMPValue;
+ property IMP_MARGEN_ULT_COMP_TOTAL: Float read GetIMP_MARGEN_ULT_COMP_TOTALValue write SetIMP_MARGEN_ULT_COMP_TOTALValue;
+ property POR_MARGEN_ULT_COMP: Float read GetPOR_MARGEN_ULT_COMPValue write SetPOR_MARGEN_ULT_COMPValue;
+ property IMP_MARGEN_PRO_COMP: Float read GetIMP_MARGEN_PRO_COMPValue write SetIMP_MARGEN_PRO_COMPValue;
+ property IMP_MARGEN_PRO_COMP_TOTAL: Float read GetIMP_MARGEN_PRO_COMP_TOTALValue write SetIMP_MARGEN_PRO_COMP_TOTALValue;
+ property POR_MARGEN_PRO_COMP: Float read GetPOR_MARGEN_PRO_COMPValue write SetPOR_MARGEN_PRO_COMPValue;
+ end;
+
+ { TInfMargenPorFacturaDataTableRules }
+ TInfMargenPorFacturaDataTableRules = class(TDADataTableRules, IInfMargenPorFactura)
+ private
+ protected
+ { Property getters and setters }
+ function GetID_EMPRESAValue: Integer; virtual;
+ procedure SetID_EMPRESAValue(const aValue: Integer); virtual;
+ function GetID_CLIENTEValue: Integer; virtual;
+ procedure SetID_CLIENTEValue(const aValue: Integer); virtual;
+ function GetID_FACTURAValue: Integer; virtual;
+ procedure SetID_FACTURAValue(const aValue: Integer); virtual;
+ function GetID_DETALLEValue: Integer; virtual;
+ procedure SetID_DETALLEValue(const aValue: Integer); virtual;
+ function GetID_ARTICULOValue: Integer; virtual;
+ procedure SetID_ARTICULOValue(const aValue: Integer); virtual;
+ function GetFAMILIAValue: String; virtual;
+ procedure SetFAMILIAValue(const aValue: String); virtual;
+ function GetREFERENCIAValue: String; virtual;
+ procedure SetREFERENCIAValue(const aValue: String); virtual;
+ function GetREFERENCIA_PROVValue: String; virtual;
+ procedure SetREFERENCIA_PROVValue(const aValue: String); virtual;
+ function GetREFERENCIA_FACTURAValue: String; virtual;
+ procedure SetREFERENCIA_FACTURAValue(const aValue: String); virtual;
+ function GetFECHA_FACTURAValue: DateTime; virtual;
+ procedure SetFECHA_FACTURAValue(const aValue: DateTime); virtual;
+ function GetDESCRIPCIONValue: String; virtual;
+ procedure SetDESCRIPCIONValue(const aValue: String); virtual;
+ function GetCOMISIONABLEValue: Integer; virtual;
+ procedure SetCOMISIONABLEValue(const aValue: Integer); virtual;
+ function GetINVENTARIABLEValue: Integer; virtual;
+ procedure SetINVENTARIABLEValue(const aValue: Integer); virtual;
+ function GetNIF_CIF_CLIENTEValue: String; virtual;
+ procedure SetNIF_CIF_CLIENTEValue(const aValue: String); virtual;
+ function GetNOMBRE_CLIENTEValue: String; virtual;
+ procedure SetNOMBRE_CLIENTEValue(const aValue: String); virtual;
+ function GetNOMBRE_COMERCIAL_CLIENTEValue: String; virtual;
+ procedure SetNOMBRE_COMERCIAL_CLIENTEValue(const aValue: String); virtual;
+ function GetNIF_CIF_AGENTEValue: String; virtual;
+ procedure SetNIF_CIF_AGENTEValue(const aValue: String); virtual;
+ function GetNOMBRE_AGENTEValue: String; virtual;
+ procedure SetNOMBRE_AGENTEValue(const aValue: String); virtual;
+ function GetCANTIDADValue: Integer; virtual;
+ procedure SetCANTIDADValue(const aValue: Integer); virtual;
+ function GetIMP_UNIDADValue: Float; virtual;
+ procedure SetIMP_UNIDADValue(const aValue: Float); virtual;
+ function GetIMP_NETOValue: Float; virtual;
+ procedure SetIMP_NETOValue(const aValue: Float); virtual;
+ function GetIMP_PORTEValue: Float; virtual;
+ procedure SetIMP_PORTEValue(const aValue: Float); virtual;
+ function GetIMP_TOTALValue: Float; virtual;
+ procedure SetIMP_TOTALValue(const aValue: Float); virtual;
+ function GetIMP_UNIDAD_ULT_COMPValue: Float; virtual;
+ procedure SetIMP_UNIDAD_ULT_COMPValue(const aValue: Float); virtual;
+ function GetIMP_NETO_ULT_COMPValue: Float; virtual;
+ procedure SetIMP_NETO_ULT_COMPValue(const aValue: Float); virtual;
+ function GetIMP_PORTE_ULT_COMPValue: Float; virtual;
+ procedure SetIMP_PORTE_ULT_COMPValue(const aValue: Float); virtual;
+ function GetIMP_NETO_ULT_COM_TOTALValue: Float; virtual;
+ procedure SetIMP_NETO_ULT_COM_TOTALValue(const aValue: Float); virtual;
+ function GetIMP_UNIDAD_PRO_COMPValue: Float; virtual;
+ procedure SetIMP_UNIDAD_PRO_COMPValue(const aValue: Float); virtual;
+ function GetIMP_NETO_PRO_COMPValue: Float; virtual;
+ procedure SetIMP_NETO_PRO_COMPValue(const aValue: Float); virtual;
+ function GetIMP_PORTE_PRO_COMPValue: Float; virtual;
+ procedure SetIMP_PORTE_PRO_COMPValue(const aValue: Float); virtual;
+ function GetIMP_NETO_PRO_COM_TOTALValue: Float; virtual;
+ procedure SetIMP_NETO_PRO_COM_TOTALValue(const aValue: Float); virtual;
+ function GetIMP_MARGEN_ULT_COMPValue: Float; virtual;
+ procedure SetIMP_MARGEN_ULT_COMPValue(const aValue: Float); virtual;
+ function GetIMP_MARGEN_ULT_COMP_TOTALValue: Float; virtual;
+ procedure SetIMP_MARGEN_ULT_COMP_TOTALValue(const aValue: Float); virtual;
+ function GetPOR_MARGEN_ULT_COMPValue: Float; virtual;
+ procedure SetPOR_MARGEN_ULT_COMPValue(const aValue: Float); virtual;
+ function GetIMP_MARGEN_PRO_COMPValue: Float; virtual;
+ procedure SetIMP_MARGEN_PRO_COMPValue(const aValue: Float); virtual;
+ function GetIMP_MARGEN_PRO_COMP_TOTALValue: Float; virtual;
+ procedure SetIMP_MARGEN_PRO_COMP_TOTALValue(const aValue: Float); virtual;
+ function GetPOR_MARGEN_PRO_COMPValue: Float; virtual;
+ procedure SetPOR_MARGEN_PRO_COMPValue(const aValue: Float); virtual;
+
+ { Properties }
+ property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
+ property ID_CLIENTE: Integer read GetID_CLIENTEValue write SetID_CLIENTEValue;
+ property ID_FACTURA: Integer read GetID_FACTURAValue write SetID_FACTURAValue;
+ property ID_DETALLE: Integer read GetID_DETALLEValue write SetID_DETALLEValue;
+ property ID_ARTICULO: Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
+ property FAMILIA: String read GetFAMILIAValue write SetFAMILIAValue;
+ property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
+ property REFERENCIA_PROV: String read GetREFERENCIA_PROVValue write SetREFERENCIA_PROVValue;
+ property REFERENCIA_FACTURA: String read GetREFERENCIA_FACTURAValue write SetREFERENCIA_FACTURAValue;
+ property FECHA_FACTURA: DateTime read GetFECHA_FACTURAValue write SetFECHA_FACTURAValue;
+ property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
+ property COMISIONABLE: Integer read GetCOMISIONABLEValue write SetCOMISIONABLEValue;
+ property INVENTARIABLE: Integer read GetINVENTARIABLEValue write SetINVENTARIABLEValue;
+ property NIF_CIF_CLIENTE: String read GetNIF_CIF_CLIENTEValue write SetNIF_CIF_CLIENTEValue;
+ property NOMBRE_CLIENTE: String read GetNOMBRE_CLIENTEValue write SetNOMBRE_CLIENTEValue;
+ property NOMBRE_COMERCIAL_CLIENTE: String read GetNOMBRE_COMERCIAL_CLIENTEValue write SetNOMBRE_COMERCIAL_CLIENTEValue;
+ property NIF_CIF_AGENTE: String read GetNIF_CIF_AGENTEValue write SetNIF_CIF_AGENTEValue;
+ property NOMBRE_AGENTE: String read GetNOMBRE_AGENTEValue write SetNOMBRE_AGENTEValue;
+ property CANTIDAD: Integer read GetCANTIDADValue write SetCANTIDADValue;
+ property IMP_UNIDAD: Float read GetIMP_UNIDADValue write SetIMP_UNIDADValue;
+ property IMP_NETO: Float read GetIMP_NETOValue write SetIMP_NETOValue;
+ property IMP_PORTE: Float read GetIMP_PORTEValue write SetIMP_PORTEValue;
+ property IMP_TOTAL: Float read GetIMP_TOTALValue write SetIMP_TOTALValue;
+ property IMP_UNIDAD_ULT_COMP: Float read GetIMP_UNIDAD_ULT_COMPValue write SetIMP_UNIDAD_ULT_COMPValue;
+ property IMP_NETO_ULT_COMP: Float read GetIMP_NETO_ULT_COMPValue write SetIMP_NETO_ULT_COMPValue;
+ property IMP_PORTE_ULT_COMP: Float read GetIMP_PORTE_ULT_COMPValue write SetIMP_PORTE_ULT_COMPValue;
+ property IMP_NETO_ULT_COM_TOTAL: Float read GetIMP_NETO_ULT_COM_TOTALValue write SetIMP_NETO_ULT_COM_TOTALValue;
+ property IMP_UNIDAD_PRO_COMP: Float read GetIMP_UNIDAD_PRO_COMPValue write SetIMP_UNIDAD_PRO_COMPValue;
+ property IMP_NETO_PRO_COMP: Float read GetIMP_NETO_PRO_COMPValue write SetIMP_NETO_PRO_COMPValue;
+ property IMP_PORTE_PRO_COMP: Float read GetIMP_PORTE_PRO_COMPValue write SetIMP_PORTE_PRO_COMPValue;
+ property IMP_NETO_PRO_COM_TOTAL: Float read GetIMP_NETO_PRO_COM_TOTALValue write SetIMP_NETO_PRO_COM_TOTALValue;
+ property IMP_MARGEN_ULT_COMP: Float read GetIMP_MARGEN_ULT_COMPValue write SetIMP_MARGEN_ULT_COMPValue;
+ property IMP_MARGEN_ULT_COMP_TOTAL: Float read GetIMP_MARGEN_ULT_COMP_TOTALValue write SetIMP_MARGEN_ULT_COMP_TOTALValue;
+ property POR_MARGEN_ULT_COMP: Float read GetPOR_MARGEN_ULT_COMPValue write SetPOR_MARGEN_ULT_COMPValue;
+ property IMP_MARGEN_PRO_COMP: Float read GetIMP_MARGEN_PRO_COMPValue write SetIMP_MARGEN_PRO_COMPValue;
+ property IMP_MARGEN_PRO_COMP_TOTAL: Float read GetIMP_MARGEN_PRO_COMP_TOTALValue write SetIMP_MARGEN_PRO_COMP_TOTALValue;
+ property POR_MARGEN_PRO_COMP: Float read GetPOR_MARGEN_PRO_COMPValue write SetPOR_MARGEN_PRO_COMPValue;
+
+ public
+ constructor Create(aDataTable: TDADataTable); override;
+ destructor Destroy; override;
+
+ end;
+
implementation
uses Variants;
@@ -1467,8 +1792,391 @@ begin
end;
+{ TInfMargenPorFacturaDataTableRules }
+constructor TInfMargenPorFacturaDataTableRules.Create(aDataTable: TDADataTable);
+begin
+ inherited;
+end;
+
+destructor TInfMargenPorFacturaDataTableRules.Destroy;
+begin
+ inherited;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetID_EMPRESAValue: Integer;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaID_EMPRESA].AsInteger;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetID_EMPRESAValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaID_EMPRESA].AsInteger := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetID_CLIENTEValue: Integer;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaID_CLIENTE].AsInteger;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetID_CLIENTEValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaID_CLIENTE].AsInteger := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetID_FACTURAValue: Integer;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaID_FACTURA].AsInteger;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetID_FACTURAValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaID_FACTURA].AsInteger := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetID_DETALLEValue: Integer;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaID_DETALLE].AsInteger;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetID_DETALLEValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaID_DETALLE].AsInteger := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetID_ARTICULOValue: Integer;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaID_ARTICULO].AsInteger;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetID_ARTICULOValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaID_ARTICULO].AsInteger := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetFAMILIAValue: String;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaFAMILIA].AsString;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetFAMILIAValue(const aValue: String);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaFAMILIA].AsString := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetREFERENCIAValue: String;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaREFERENCIA].AsString;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetREFERENCIAValue(const aValue: String);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaREFERENCIA].AsString := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetREFERENCIA_PROVValue: String;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaREFERENCIA_PROV].AsString;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetREFERENCIA_PROVValue(const aValue: String);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaREFERENCIA_PROV].AsString := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetREFERENCIA_FACTURAValue: String;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaREFERENCIA_FACTURA].AsString;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetREFERENCIA_FACTURAValue(const aValue: String);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaREFERENCIA_FACTURA].AsString := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetFECHA_FACTURAValue: DateTime;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaFECHA_FACTURA].AsDateTime;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetFECHA_FACTURAValue(const aValue: DateTime);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaFECHA_FACTURA].AsDateTime := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetDESCRIPCIONValue: String;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaDESCRIPCION].AsString;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetDESCRIPCIONValue(const aValue: String);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaDESCRIPCION].AsString := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetCOMISIONABLEValue: Integer;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaCOMISIONABLE].AsInteger;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetCOMISIONABLEValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaCOMISIONABLE].AsInteger := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetINVENTARIABLEValue: Integer;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaINVENTARIABLE].AsInteger;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetINVENTARIABLEValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaINVENTARIABLE].AsInteger := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetNIF_CIF_CLIENTEValue: String;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaNIF_CIF_CLIENTE].AsString;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetNIF_CIF_CLIENTEValue(const aValue: String);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaNIF_CIF_CLIENTE].AsString := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetNOMBRE_CLIENTEValue: String;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaNOMBRE_CLIENTE].AsString;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetNOMBRE_CLIENTEValue(const aValue: String);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaNOMBRE_CLIENTE].AsString := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetNOMBRE_COMERCIAL_CLIENTEValue: String;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaNOMBRE_COMERCIAL_CLIENTE].AsString;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetNOMBRE_COMERCIAL_CLIENTEValue(const aValue: String);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaNOMBRE_COMERCIAL_CLIENTE].AsString := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetNIF_CIF_AGENTEValue: String;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaNIF_CIF_AGENTE].AsString;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetNIF_CIF_AGENTEValue(const aValue: String);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaNIF_CIF_AGENTE].AsString := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetNOMBRE_AGENTEValue: String;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaNOMBRE_AGENTE].AsString;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetNOMBRE_AGENTEValue(const aValue: String);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaNOMBRE_AGENTE].AsString := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetCANTIDADValue: Integer;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaCANTIDAD].AsInteger;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetCANTIDADValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaCANTIDAD].AsInteger := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetIMP_UNIDADValue: Float;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaIMP_UNIDAD].AsFloat;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetIMP_UNIDADValue(const aValue: Float);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaIMP_UNIDAD].AsFloat := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetIMP_NETOValue: Float;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaIMP_NETO].AsFloat;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetIMP_NETOValue(const aValue: Float);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaIMP_NETO].AsFloat := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetIMP_PORTEValue: Float;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaIMP_PORTE].AsFloat;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetIMP_PORTEValue(const aValue: Float);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaIMP_PORTE].AsFloat := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetIMP_TOTALValue: Float;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaIMP_TOTAL].AsFloat;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetIMP_TOTALValue(const aValue: Float);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaIMP_TOTAL].AsFloat := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetIMP_UNIDAD_ULT_COMPValue: Float;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaIMP_UNIDAD_ULT_COMP].AsFloat;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetIMP_UNIDAD_ULT_COMPValue(const aValue: Float);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaIMP_UNIDAD_ULT_COMP].AsFloat := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetIMP_NETO_ULT_COMPValue: Float;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaIMP_NETO_ULT_COMP].AsFloat;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetIMP_NETO_ULT_COMPValue(const aValue: Float);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaIMP_NETO_ULT_COMP].AsFloat := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetIMP_PORTE_ULT_COMPValue: Float;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaIMP_PORTE_ULT_COMP].AsFloat;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetIMP_PORTE_ULT_COMPValue(const aValue: Float);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaIMP_PORTE_ULT_COMP].AsFloat := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetIMP_NETO_ULT_COM_TOTALValue: Float;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaIMP_NETO_ULT_COM_TOTAL].AsFloat;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetIMP_NETO_ULT_COM_TOTALValue(const aValue: Float);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaIMP_NETO_ULT_COM_TOTAL].AsFloat := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetIMP_UNIDAD_PRO_COMPValue: Float;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaIMP_UNIDAD_PRO_COMP].AsFloat;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetIMP_UNIDAD_PRO_COMPValue(const aValue: Float);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaIMP_UNIDAD_PRO_COMP].AsFloat := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetIMP_NETO_PRO_COMPValue: Float;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaIMP_NETO_PRO_COMP].AsFloat;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetIMP_NETO_PRO_COMPValue(const aValue: Float);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaIMP_NETO_PRO_COMP].AsFloat := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetIMP_PORTE_PRO_COMPValue: Float;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaIMP_PORTE_PRO_COMP].AsFloat;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetIMP_PORTE_PRO_COMPValue(const aValue: Float);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaIMP_PORTE_PRO_COMP].AsFloat := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetIMP_NETO_PRO_COM_TOTALValue: Float;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaIMP_NETO_PRO_COM_TOTAL].AsFloat;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetIMP_NETO_PRO_COM_TOTALValue(const aValue: Float);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaIMP_NETO_PRO_COM_TOTAL].AsFloat := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetIMP_MARGEN_ULT_COMPValue: Float;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaIMP_MARGEN_ULT_COMP].AsFloat;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetIMP_MARGEN_ULT_COMPValue(const aValue: Float);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaIMP_MARGEN_ULT_COMP].AsFloat := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetIMP_MARGEN_ULT_COMP_TOTALValue: Float;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaIMP_MARGEN_ULT_COMP_TOTAL].AsFloat;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetIMP_MARGEN_ULT_COMP_TOTALValue(const aValue: Float);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaIMP_MARGEN_ULT_COMP_TOTAL].AsFloat := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetPOR_MARGEN_ULT_COMPValue: Float;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaPOR_MARGEN_ULT_COMP].AsFloat;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetPOR_MARGEN_ULT_COMPValue(const aValue: Float);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaPOR_MARGEN_ULT_COMP].AsFloat := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetIMP_MARGEN_PRO_COMPValue: Float;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaIMP_MARGEN_PRO_COMP].AsFloat;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetIMP_MARGEN_PRO_COMPValue(const aValue: Float);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaIMP_MARGEN_PRO_COMP].AsFloat := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetIMP_MARGEN_PRO_COMP_TOTALValue: Float;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaIMP_MARGEN_PRO_COMP_TOTAL].AsFloat;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetIMP_MARGEN_PRO_COMP_TOTALValue(const aValue: Float);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaIMP_MARGEN_PRO_COMP_TOTAL].AsFloat := aValue;
+end;
+
+function TInfMargenPorFacturaDataTableRules.GetPOR_MARGEN_PRO_COMPValue: Float;
+begin
+ result := DataTable.Fields[idx_InfMargenPorFacturaPOR_MARGEN_PRO_COMP].AsFloat;
+end;
+
+procedure TInfMargenPorFacturaDataTableRules.SetPOR_MARGEN_PRO_COMPValue(const aValue: Float);
+begin
+ DataTable.Fields[idx_InfMargenPorFacturaPOR_MARGEN_PRO_COMP].AsFloat := aValue;
+end;
+
+
initialization
RegisterDataTableRules(RID_InfMargenPorCliente, TInfMargenPorClienteDataTableRules);
RegisterDataTableRules(RID_InfMargenPorArticulo, TInfMargenPorArticuloDataTableRules);
+ RegisterDataTableRules(RID_InfMargenPorFactura, TInfMargenPorFacturaDataTableRules);
end.
diff --git a/Source/Modulos/Informe margen por articulo/Model/schInfMargenArticuloServer_Intf.pas b/Source/Modulos/Informe margen por articulo/Model/schInfMargenArticuloServer_Intf.pas
index 6ab88926..75d0303c 100644
--- a/Source/Modulos/Informe margen por articulo/Model/schInfMargenArticuloServer_Intf.pas
+++ b/Source/Modulos/Informe margen por articulo/Model/schInfMargenArticuloServer_Intf.pas
@@ -9,13 +9,14 @@ 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_InfMargenPorClienteDelta = '{4849A47C-A068-4F94-8175-8642792A1951}';
- RID_InfMargenPorArticuloDelta = '{E660929D-6B13-4D1F-91E2-399D5B205DEA}';
+ RID_InfMargenPorClienteDelta = '{2BF169D0-BE09-4DD7-ADD9-6867C0C3D18E}';
+ RID_InfMargenPorArticuloDelta = '{D6219F0B-3705-4E9F-854A-EE678CDA3354}';
+ RID_InfMargenPorFacturaDelta = '{5C45D321-F740-48B8-BCD7-4B00331BB267}';
type
{ IInfMargenPorClienteDelta }
IInfMargenPorClienteDelta = interface(IInfMargenPorCliente)
- ['{4849A47C-A068-4F94-8175-8642792A1951}']
+ ['{2BF169D0-BE09-4DD7-ADD9-6867C0C3D18E}']
{ Property getters and setters }
function GetOldID_EMPRESAValue : Integer;
function GetOldID_CLIENTEValue : Integer;
@@ -324,7 +325,7 @@ type
{ IInfMargenPorArticuloDelta }
IInfMargenPorArticuloDelta = interface(IInfMargenPorArticulo)
- ['{E660929D-6B13-4D1F-91E2-399D5B205DEA}']
+ ['{D6219F0B-3705-4E9F-854A-EE678CDA3354}']
{ Property getters and setters }
function GetOldID_EMPRESAValue : Integer;
function GetOldID_ARTICULOValue : Integer;
@@ -589,6 +590,287 @@ type
end;
+ { IInfMargenPorFacturaDelta }
+ IInfMargenPorFacturaDelta = interface(IInfMargenPorFactura)
+ ['{5C45D321-F740-48B8-BCD7-4B00331BB267}']
+ { Property getters and setters }
+ function GetOldID_EMPRESAValue : Integer;
+ function GetOldID_CLIENTEValue : Integer;
+ function GetOldID_FACTURAValue : Integer;
+ function GetOldID_DETALLEValue : Integer;
+ function GetOldID_ARTICULOValue : Integer;
+ function GetOldFAMILIAValue : String;
+ function GetOldREFERENCIAValue : String;
+ function GetOldREFERENCIA_PROVValue : String;
+ function GetOldREFERENCIA_FACTURAValue : String;
+ function GetOldFECHA_FACTURAValue : DateTime;
+ function GetOldDESCRIPCIONValue : String;
+ function GetOldCOMISIONABLEValue : Integer;
+ function GetOldINVENTARIABLEValue : Integer;
+ function GetOldNIF_CIF_CLIENTEValue : String;
+ function GetOldNOMBRE_CLIENTEValue : String;
+ function GetOldNOMBRE_COMERCIAL_CLIENTEValue : String;
+ function GetOldNIF_CIF_AGENTEValue : String;
+ function GetOldNOMBRE_AGENTEValue : String;
+ function GetOldCANTIDADValue : Integer;
+ function GetOldIMP_UNIDADValue : Float;
+ function GetOldIMP_NETOValue : Float;
+ function GetOldIMP_PORTEValue : Float;
+ function GetOldIMP_TOTALValue : Float;
+ function GetOldIMP_UNIDAD_ULT_COMPValue : Float;
+ function GetOldIMP_NETO_ULT_COMPValue : Float;
+ function GetOldIMP_PORTE_ULT_COMPValue : Float;
+ function GetOldIMP_NETO_ULT_COM_TOTALValue : Float;
+ function GetOldIMP_UNIDAD_PRO_COMPValue : Float;
+ function GetOldIMP_NETO_PRO_COMPValue : Float;
+ function GetOldIMP_PORTE_PRO_COMPValue : Float;
+ function GetOldIMP_NETO_PRO_COM_TOTALValue : Float;
+ function GetOldIMP_MARGEN_ULT_COMPValue : Float;
+ function GetOldIMP_MARGEN_ULT_COMP_TOTALValue : Float;
+ function GetOldPOR_MARGEN_ULT_COMPValue : Float;
+ function GetOldIMP_MARGEN_PRO_COMPValue : Float;
+ function GetOldIMP_MARGEN_PRO_COMP_TOTALValue : Float;
+ function GetOldPOR_MARGEN_PRO_COMPValue : Float;
+
+ { Properties }
+ property OldID_EMPRESA : Integer read GetOldID_EMPRESAValue;
+ property OldID_CLIENTE : Integer read GetOldID_CLIENTEValue;
+ property OldID_FACTURA : Integer read GetOldID_FACTURAValue;
+ property OldID_DETALLE : Integer read GetOldID_DETALLEValue;
+ property OldID_ARTICULO : Integer read GetOldID_ARTICULOValue;
+ property OldFAMILIA : String read GetOldFAMILIAValue;
+ property OldREFERENCIA : String read GetOldREFERENCIAValue;
+ property OldREFERENCIA_PROV : String read GetOldREFERENCIA_PROVValue;
+ property OldREFERENCIA_FACTURA : String read GetOldREFERENCIA_FACTURAValue;
+ property OldFECHA_FACTURA : DateTime read GetOldFECHA_FACTURAValue;
+ property OldDESCRIPCION : String read GetOldDESCRIPCIONValue;
+ property OldCOMISIONABLE : Integer read GetOldCOMISIONABLEValue;
+ property OldINVENTARIABLE : Integer read GetOldINVENTARIABLEValue;
+ property OldNIF_CIF_CLIENTE : String read GetOldNIF_CIF_CLIENTEValue;
+ property OldNOMBRE_CLIENTE : String read GetOldNOMBRE_CLIENTEValue;
+ property OldNOMBRE_COMERCIAL_CLIENTE : String read GetOldNOMBRE_COMERCIAL_CLIENTEValue;
+ property OldNIF_CIF_AGENTE : String read GetOldNIF_CIF_AGENTEValue;
+ property OldNOMBRE_AGENTE : String read GetOldNOMBRE_AGENTEValue;
+ property OldCANTIDAD : Integer read GetOldCANTIDADValue;
+ property OldIMP_UNIDAD : Float read GetOldIMP_UNIDADValue;
+ property OldIMP_NETO : Float read GetOldIMP_NETOValue;
+ property OldIMP_PORTE : Float read GetOldIMP_PORTEValue;
+ property OldIMP_TOTAL : Float read GetOldIMP_TOTALValue;
+ property OldIMP_UNIDAD_ULT_COMP : Float read GetOldIMP_UNIDAD_ULT_COMPValue;
+ property OldIMP_NETO_ULT_COMP : Float read GetOldIMP_NETO_ULT_COMPValue;
+ property OldIMP_PORTE_ULT_COMP : Float read GetOldIMP_PORTE_ULT_COMPValue;
+ property OldIMP_NETO_ULT_COM_TOTAL : Float read GetOldIMP_NETO_ULT_COM_TOTALValue;
+ property OldIMP_UNIDAD_PRO_COMP : Float read GetOldIMP_UNIDAD_PRO_COMPValue;
+ property OldIMP_NETO_PRO_COMP : Float read GetOldIMP_NETO_PRO_COMPValue;
+ property OldIMP_PORTE_PRO_COMP : Float read GetOldIMP_PORTE_PRO_COMPValue;
+ property OldIMP_NETO_PRO_COM_TOTAL : Float read GetOldIMP_NETO_PRO_COM_TOTALValue;
+ property OldIMP_MARGEN_ULT_COMP : Float read GetOldIMP_MARGEN_ULT_COMPValue;
+ property OldIMP_MARGEN_ULT_COMP_TOTAL : Float read GetOldIMP_MARGEN_ULT_COMP_TOTALValue;
+ property OldPOR_MARGEN_ULT_COMP : Float read GetOldPOR_MARGEN_ULT_COMPValue;
+ property OldIMP_MARGEN_PRO_COMP : Float read GetOldIMP_MARGEN_PRO_COMPValue;
+ property OldIMP_MARGEN_PRO_COMP_TOTAL : Float read GetOldIMP_MARGEN_PRO_COMP_TOTALValue;
+ property OldPOR_MARGEN_PRO_COMP : Float read GetOldPOR_MARGEN_PRO_COMPValue;
+ end;
+
+ { TInfMargenPorFacturaBusinessProcessorRules }
+ TInfMargenPorFacturaBusinessProcessorRules = class(TDABusinessProcessorRules, IInfMargenPorFactura, IInfMargenPorFacturaDelta)
+ private
+ protected
+ { Property getters and setters }
+ function GetID_EMPRESAValue: Integer; virtual;
+ function GetOldID_EMPRESAValue: Integer; virtual;
+ procedure SetID_EMPRESAValue(const aValue: Integer); virtual;
+ function GetID_CLIENTEValue: Integer; virtual;
+ function GetOldID_CLIENTEValue: Integer; virtual;
+ procedure SetID_CLIENTEValue(const aValue: Integer); virtual;
+ function GetID_FACTURAValue: Integer; virtual;
+ function GetOldID_FACTURAValue: Integer; virtual;
+ procedure SetID_FACTURAValue(const aValue: Integer); virtual;
+ function GetID_DETALLEValue: Integer; virtual;
+ function GetOldID_DETALLEValue: Integer; virtual;
+ procedure SetID_DETALLEValue(const aValue: Integer); virtual;
+ function GetID_ARTICULOValue: Integer; virtual;
+ function GetOldID_ARTICULOValue: Integer; virtual;
+ procedure SetID_ARTICULOValue(const aValue: Integer); virtual;
+ function GetFAMILIAValue: String; virtual;
+ function GetOldFAMILIAValue: String; virtual;
+ procedure SetFAMILIAValue(const aValue: String); virtual;
+ function GetREFERENCIAValue: String; virtual;
+ function GetOldREFERENCIAValue: String; virtual;
+ procedure SetREFERENCIAValue(const aValue: String); virtual;
+ function GetREFERENCIA_PROVValue: String; virtual;
+ function GetOldREFERENCIA_PROVValue: String; virtual;
+ procedure SetREFERENCIA_PROVValue(const aValue: String); virtual;
+ function GetREFERENCIA_FACTURAValue: String; virtual;
+ function GetOldREFERENCIA_FACTURAValue: String; virtual;
+ procedure SetREFERENCIA_FACTURAValue(const aValue: String); virtual;
+ function GetFECHA_FACTURAValue: DateTime; virtual;
+ function GetOldFECHA_FACTURAValue: DateTime; virtual;
+ procedure SetFECHA_FACTURAValue(const aValue: DateTime); virtual;
+ function GetDESCRIPCIONValue: String; virtual;
+ function GetOldDESCRIPCIONValue: String; virtual;
+ procedure SetDESCRIPCIONValue(const aValue: String); virtual;
+ function GetCOMISIONABLEValue: Integer; virtual;
+ function GetOldCOMISIONABLEValue: Integer; virtual;
+ procedure SetCOMISIONABLEValue(const aValue: Integer); virtual;
+ function GetINVENTARIABLEValue: Integer; virtual;
+ function GetOldINVENTARIABLEValue: Integer; virtual;
+ procedure SetINVENTARIABLEValue(const aValue: Integer); virtual;
+ function GetNIF_CIF_CLIENTEValue: String; virtual;
+ function GetOldNIF_CIF_CLIENTEValue: String; virtual;
+ procedure SetNIF_CIF_CLIENTEValue(const aValue: String); virtual;
+ function GetNOMBRE_CLIENTEValue: String; virtual;
+ function GetOldNOMBRE_CLIENTEValue: String; virtual;
+ procedure SetNOMBRE_CLIENTEValue(const aValue: String); virtual;
+ function GetNOMBRE_COMERCIAL_CLIENTEValue: String; virtual;
+ function GetOldNOMBRE_COMERCIAL_CLIENTEValue: String; virtual;
+ procedure SetNOMBRE_COMERCIAL_CLIENTEValue(const aValue: String); virtual;
+ function GetNIF_CIF_AGENTEValue: String; virtual;
+ function GetOldNIF_CIF_AGENTEValue: String; virtual;
+ procedure SetNIF_CIF_AGENTEValue(const aValue: String); virtual;
+ function GetNOMBRE_AGENTEValue: String; virtual;
+ function GetOldNOMBRE_AGENTEValue: String; virtual;
+ procedure SetNOMBRE_AGENTEValue(const aValue: String); virtual;
+ function GetCANTIDADValue: Integer; virtual;
+ function GetOldCANTIDADValue: Integer; virtual;
+ procedure SetCANTIDADValue(const aValue: Integer); virtual;
+ function GetIMP_UNIDADValue: Float; virtual;
+ function GetOldIMP_UNIDADValue: Float; virtual;
+ procedure SetIMP_UNIDADValue(const aValue: Float); virtual;
+ function GetIMP_NETOValue: Float; virtual;
+ function GetOldIMP_NETOValue: Float; virtual;
+ procedure SetIMP_NETOValue(const aValue: Float); virtual;
+ function GetIMP_PORTEValue: Float; virtual;
+ function GetOldIMP_PORTEValue: Float; virtual;
+ procedure SetIMP_PORTEValue(const aValue: Float); virtual;
+ function GetIMP_TOTALValue: Float; virtual;
+ function GetOldIMP_TOTALValue: Float; virtual;
+ procedure SetIMP_TOTALValue(const aValue: Float); virtual;
+ function GetIMP_UNIDAD_ULT_COMPValue: Float; virtual;
+ function GetOldIMP_UNIDAD_ULT_COMPValue: Float; virtual;
+ procedure SetIMP_UNIDAD_ULT_COMPValue(const aValue: Float); virtual;
+ function GetIMP_NETO_ULT_COMPValue: Float; virtual;
+ function GetOldIMP_NETO_ULT_COMPValue: Float; virtual;
+ procedure SetIMP_NETO_ULT_COMPValue(const aValue: Float); virtual;
+ function GetIMP_PORTE_ULT_COMPValue: Float; virtual;
+ function GetOldIMP_PORTE_ULT_COMPValue: Float; virtual;
+ procedure SetIMP_PORTE_ULT_COMPValue(const aValue: Float); virtual;
+ function GetIMP_NETO_ULT_COM_TOTALValue: Float; virtual;
+ function GetOldIMP_NETO_ULT_COM_TOTALValue: Float; virtual;
+ procedure SetIMP_NETO_ULT_COM_TOTALValue(const aValue: Float); virtual;
+ function GetIMP_UNIDAD_PRO_COMPValue: Float; virtual;
+ function GetOldIMP_UNIDAD_PRO_COMPValue: Float; virtual;
+ procedure SetIMP_UNIDAD_PRO_COMPValue(const aValue: Float); virtual;
+ function GetIMP_NETO_PRO_COMPValue: Float; virtual;
+ function GetOldIMP_NETO_PRO_COMPValue: Float; virtual;
+ procedure SetIMP_NETO_PRO_COMPValue(const aValue: Float); virtual;
+ function GetIMP_PORTE_PRO_COMPValue: Float; virtual;
+ function GetOldIMP_PORTE_PRO_COMPValue: Float; virtual;
+ procedure SetIMP_PORTE_PRO_COMPValue(const aValue: Float); virtual;
+ function GetIMP_NETO_PRO_COM_TOTALValue: Float; virtual;
+ function GetOldIMP_NETO_PRO_COM_TOTALValue: Float; virtual;
+ procedure SetIMP_NETO_PRO_COM_TOTALValue(const aValue: Float); virtual;
+ function GetIMP_MARGEN_ULT_COMPValue: Float; virtual;
+ function GetOldIMP_MARGEN_ULT_COMPValue: Float; virtual;
+ procedure SetIMP_MARGEN_ULT_COMPValue(const aValue: Float); virtual;
+ function GetIMP_MARGEN_ULT_COMP_TOTALValue: Float; virtual;
+ function GetOldIMP_MARGEN_ULT_COMP_TOTALValue: Float; virtual;
+ procedure SetIMP_MARGEN_ULT_COMP_TOTALValue(const aValue: Float); virtual;
+ function GetPOR_MARGEN_ULT_COMPValue: Float; virtual;
+ function GetOldPOR_MARGEN_ULT_COMPValue: Float; virtual;
+ procedure SetPOR_MARGEN_ULT_COMPValue(const aValue: Float); virtual;
+ function GetIMP_MARGEN_PRO_COMPValue: Float; virtual;
+ function GetOldIMP_MARGEN_PRO_COMPValue: Float; virtual;
+ procedure SetIMP_MARGEN_PRO_COMPValue(const aValue: Float); virtual;
+ function GetIMP_MARGEN_PRO_COMP_TOTALValue: Float; virtual;
+ function GetOldIMP_MARGEN_PRO_COMP_TOTALValue: Float; virtual;
+ procedure SetIMP_MARGEN_PRO_COMP_TOTALValue(const aValue: Float); virtual;
+ function GetPOR_MARGEN_PRO_COMPValue: Float; virtual;
+ function GetOldPOR_MARGEN_PRO_COMPValue: Float; virtual;
+ procedure SetPOR_MARGEN_PRO_COMPValue(const aValue: Float); virtual;
+
+ { Properties }
+ property ID_EMPRESA : Integer read GetID_EMPRESAValue write SetID_EMPRESAValue;
+ property OldID_EMPRESA : Integer read GetOldID_EMPRESAValue;
+ property ID_CLIENTE : Integer read GetID_CLIENTEValue write SetID_CLIENTEValue;
+ property OldID_CLIENTE : Integer read GetOldID_CLIENTEValue;
+ property ID_FACTURA : Integer read GetID_FACTURAValue write SetID_FACTURAValue;
+ property OldID_FACTURA : Integer read GetOldID_FACTURAValue;
+ property ID_DETALLE : Integer read GetID_DETALLEValue write SetID_DETALLEValue;
+ property OldID_DETALLE : Integer read GetOldID_DETALLEValue;
+ property ID_ARTICULO : Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
+ property OldID_ARTICULO : Integer read GetOldID_ARTICULOValue;
+ property FAMILIA : String read GetFAMILIAValue write SetFAMILIAValue;
+ property OldFAMILIA : String read GetOldFAMILIAValue;
+ property REFERENCIA : String read GetREFERENCIAValue write SetREFERENCIAValue;
+ property OldREFERENCIA : String read GetOldREFERENCIAValue;
+ property REFERENCIA_PROV : String read GetREFERENCIA_PROVValue write SetREFERENCIA_PROVValue;
+ property OldREFERENCIA_PROV : String read GetOldREFERENCIA_PROVValue;
+ property REFERENCIA_FACTURA : String read GetREFERENCIA_FACTURAValue write SetREFERENCIA_FACTURAValue;
+ property OldREFERENCIA_FACTURA : String read GetOldREFERENCIA_FACTURAValue;
+ property FECHA_FACTURA : DateTime read GetFECHA_FACTURAValue write SetFECHA_FACTURAValue;
+ property OldFECHA_FACTURA : DateTime read GetOldFECHA_FACTURAValue;
+ property DESCRIPCION : String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
+ property OldDESCRIPCION : String read GetOldDESCRIPCIONValue;
+ property COMISIONABLE : Integer read GetCOMISIONABLEValue write SetCOMISIONABLEValue;
+ property OldCOMISIONABLE : Integer read GetOldCOMISIONABLEValue;
+ property INVENTARIABLE : Integer read GetINVENTARIABLEValue write SetINVENTARIABLEValue;
+ property OldINVENTARIABLE : Integer read GetOldINVENTARIABLEValue;
+ property NIF_CIF_CLIENTE : String read GetNIF_CIF_CLIENTEValue write SetNIF_CIF_CLIENTEValue;
+ property OldNIF_CIF_CLIENTE : String read GetOldNIF_CIF_CLIENTEValue;
+ property NOMBRE_CLIENTE : String read GetNOMBRE_CLIENTEValue write SetNOMBRE_CLIENTEValue;
+ property OldNOMBRE_CLIENTE : String read GetOldNOMBRE_CLIENTEValue;
+ property NOMBRE_COMERCIAL_CLIENTE : String read GetNOMBRE_COMERCIAL_CLIENTEValue write SetNOMBRE_COMERCIAL_CLIENTEValue;
+ property OldNOMBRE_COMERCIAL_CLIENTE : String read GetOldNOMBRE_COMERCIAL_CLIENTEValue;
+ property NIF_CIF_AGENTE : String read GetNIF_CIF_AGENTEValue write SetNIF_CIF_AGENTEValue;
+ property OldNIF_CIF_AGENTE : String read GetOldNIF_CIF_AGENTEValue;
+ property NOMBRE_AGENTE : String read GetNOMBRE_AGENTEValue write SetNOMBRE_AGENTEValue;
+ property OldNOMBRE_AGENTE : String read GetOldNOMBRE_AGENTEValue;
+ property CANTIDAD : Integer read GetCANTIDADValue write SetCANTIDADValue;
+ property OldCANTIDAD : Integer read GetOldCANTIDADValue;
+ property IMP_UNIDAD : Float read GetIMP_UNIDADValue write SetIMP_UNIDADValue;
+ property OldIMP_UNIDAD : Float read GetOldIMP_UNIDADValue;
+ property IMP_NETO : Float read GetIMP_NETOValue write SetIMP_NETOValue;
+ property OldIMP_NETO : Float read GetOldIMP_NETOValue;
+ property IMP_PORTE : Float read GetIMP_PORTEValue write SetIMP_PORTEValue;
+ property OldIMP_PORTE : Float read GetOldIMP_PORTEValue;
+ property IMP_TOTAL : Float read GetIMP_TOTALValue write SetIMP_TOTALValue;
+ property OldIMP_TOTAL : Float read GetOldIMP_TOTALValue;
+ property IMP_UNIDAD_ULT_COMP : Float read GetIMP_UNIDAD_ULT_COMPValue write SetIMP_UNIDAD_ULT_COMPValue;
+ property OldIMP_UNIDAD_ULT_COMP : Float read GetOldIMP_UNIDAD_ULT_COMPValue;
+ property IMP_NETO_ULT_COMP : Float read GetIMP_NETO_ULT_COMPValue write SetIMP_NETO_ULT_COMPValue;
+ property OldIMP_NETO_ULT_COMP : Float read GetOldIMP_NETO_ULT_COMPValue;
+ property IMP_PORTE_ULT_COMP : Float read GetIMP_PORTE_ULT_COMPValue write SetIMP_PORTE_ULT_COMPValue;
+ property OldIMP_PORTE_ULT_COMP : Float read GetOldIMP_PORTE_ULT_COMPValue;
+ property IMP_NETO_ULT_COM_TOTAL : Float read GetIMP_NETO_ULT_COM_TOTALValue write SetIMP_NETO_ULT_COM_TOTALValue;
+ property OldIMP_NETO_ULT_COM_TOTAL : Float read GetOldIMP_NETO_ULT_COM_TOTALValue;
+ property IMP_UNIDAD_PRO_COMP : Float read GetIMP_UNIDAD_PRO_COMPValue write SetIMP_UNIDAD_PRO_COMPValue;
+ property OldIMP_UNIDAD_PRO_COMP : Float read GetOldIMP_UNIDAD_PRO_COMPValue;
+ property IMP_NETO_PRO_COMP : Float read GetIMP_NETO_PRO_COMPValue write SetIMP_NETO_PRO_COMPValue;
+ property OldIMP_NETO_PRO_COMP : Float read GetOldIMP_NETO_PRO_COMPValue;
+ property IMP_PORTE_PRO_COMP : Float read GetIMP_PORTE_PRO_COMPValue write SetIMP_PORTE_PRO_COMPValue;
+ property OldIMP_PORTE_PRO_COMP : Float read GetOldIMP_PORTE_PRO_COMPValue;
+ property IMP_NETO_PRO_COM_TOTAL : Float read GetIMP_NETO_PRO_COM_TOTALValue write SetIMP_NETO_PRO_COM_TOTALValue;
+ property OldIMP_NETO_PRO_COM_TOTAL : Float read GetOldIMP_NETO_PRO_COM_TOTALValue;
+ property IMP_MARGEN_ULT_COMP : Float read GetIMP_MARGEN_ULT_COMPValue write SetIMP_MARGEN_ULT_COMPValue;
+ property OldIMP_MARGEN_ULT_COMP : Float read GetOldIMP_MARGEN_ULT_COMPValue;
+ property IMP_MARGEN_ULT_COMP_TOTAL : Float read GetIMP_MARGEN_ULT_COMP_TOTALValue write SetIMP_MARGEN_ULT_COMP_TOTALValue;
+ property OldIMP_MARGEN_ULT_COMP_TOTAL : Float read GetOldIMP_MARGEN_ULT_COMP_TOTALValue;
+ property POR_MARGEN_ULT_COMP : Float read GetPOR_MARGEN_ULT_COMPValue write SetPOR_MARGEN_ULT_COMPValue;
+ property OldPOR_MARGEN_ULT_COMP : Float read GetOldPOR_MARGEN_ULT_COMPValue;
+ property IMP_MARGEN_PRO_COMP : Float read GetIMP_MARGEN_PRO_COMPValue write SetIMP_MARGEN_PRO_COMPValue;
+ property OldIMP_MARGEN_PRO_COMP : Float read GetOldIMP_MARGEN_PRO_COMPValue;
+ property IMP_MARGEN_PRO_COMP_TOTAL : Float read GetIMP_MARGEN_PRO_COMP_TOTALValue write SetIMP_MARGEN_PRO_COMP_TOTALValue;
+ property OldIMP_MARGEN_PRO_COMP_TOTAL : Float read GetOldIMP_MARGEN_PRO_COMP_TOTALValue;
+ property POR_MARGEN_PRO_COMP : Float read GetPOR_MARGEN_PRO_COMPValue write SetPOR_MARGEN_PRO_COMPValue;
+ property OldPOR_MARGEN_PRO_COMP : Float read GetOldPOR_MARGEN_PRO_COMPValue;
+
+ public
+ constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
+ destructor Destroy; override;
+
+ end;
+
implementation
uses
@@ -1758,8 +2040,576 @@ begin
end;
+{ TInfMargenPorFacturaBusinessProcessorRules }
+constructor TInfMargenPorFacturaBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
+begin
+ inherited;
+end;
+
+destructor TInfMargenPorFacturaBusinessProcessorRules.Destroy;
+begin
+ inherited;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetID_EMPRESAValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaID_EMPRESA];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldID_EMPRESAValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaID_EMPRESA];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetID_EMPRESAValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaID_EMPRESA] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetID_CLIENTEValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaID_CLIENTE];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldID_CLIENTEValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaID_CLIENTE];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetID_CLIENTEValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaID_CLIENTE] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetID_FACTURAValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaID_FACTURA];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldID_FACTURAValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaID_FACTURA];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetID_FACTURAValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaID_FACTURA] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetID_DETALLEValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaID_DETALLE];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldID_DETALLEValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaID_DETALLE];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetID_DETALLEValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaID_DETALLE] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetID_ARTICULOValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaID_ARTICULO];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldID_ARTICULOValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaID_ARTICULO];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetID_ARTICULOValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaID_ARTICULO] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetFAMILIAValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaFAMILIA];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldFAMILIAValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaFAMILIA];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetFAMILIAValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaFAMILIA] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetREFERENCIAValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaREFERENCIA];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldREFERENCIAValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaREFERENCIA];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetREFERENCIAValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaREFERENCIA] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetREFERENCIA_PROVValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaREFERENCIA_PROV];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldREFERENCIA_PROVValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaREFERENCIA_PROV];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetREFERENCIA_PROVValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaREFERENCIA_PROV] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetREFERENCIA_FACTURAValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaREFERENCIA_FACTURA];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldREFERENCIA_FACTURAValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaREFERENCIA_FACTURA];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetREFERENCIA_FACTURAValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaREFERENCIA_FACTURA] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetFECHA_FACTURAValue: DateTime;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaFECHA_FACTURA];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldFECHA_FACTURAValue: DateTime;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaFECHA_FACTURA];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetFECHA_FACTURAValue(const aValue: DateTime);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaFECHA_FACTURA] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetDESCRIPCIONValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaDESCRIPCION];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldDESCRIPCIONValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaDESCRIPCION];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetDESCRIPCIONValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaDESCRIPCION] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetCOMISIONABLEValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaCOMISIONABLE];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldCOMISIONABLEValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaCOMISIONABLE];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetCOMISIONABLEValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaCOMISIONABLE] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetINVENTARIABLEValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaINVENTARIABLE];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldINVENTARIABLEValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaINVENTARIABLE];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetINVENTARIABLEValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaINVENTARIABLE] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetNIF_CIF_CLIENTEValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaNIF_CIF_CLIENTE];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldNIF_CIF_CLIENTEValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaNIF_CIF_CLIENTE];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetNIF_CIF_CLIENTEValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaNIF_CIF_CLIENTE] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetNOMBRE_CLIENTEValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaNOMBRE_CLIENTE];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldNOMBRE_CLIENTEValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaNOMBRE_CLIENTE];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetNOMBRE_CLIENTEValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaNOMBRE_CLIENTE] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetNOMBRE_COMERCIAL_CLIENTEValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaNOMBRE_COMERCIAL_CLIENTE];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldNOMBRE_COMERCIAL_CLIENTEValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaNOMBRE_COMERCIAL_CLIENTE];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetNOMBRE_COMERCIAL_CLIENTEValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaNOMBRE_COMERCIAL_CLIENTE] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetNIF_CIF_AGENTEValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaNIF_CIF_AGENTE];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldNIF_CIF_AGENTEValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaNIF_CIF_AGENTE];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetNIF_CIF_AGENTEValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaNIF_CIF_AGENTE] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetNOMBRE_AGENTEValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaNOMBRE_AGENTE];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldNOMBRE_AGENTEValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaNOMBRE_AGENTE];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetNOMBRE_AGENTEValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaNOMBRE_AGENTE] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetCANTIDADValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaCANTIDAD];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldCANTIDADValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaCANTIDAD];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetCANTIDADValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaCANTIDAD] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetIMP_UNIDADValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_UNIDAD];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldIMP_UNIDADValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaIMP_UNIDAD];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetIMP_UNIDADValue(const aValue: Float);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_UNIDAD] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetIMP_NETOValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_NETO];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldIMP_NETOValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaIMP_NETO];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetIMP_NETOValue(const aValue: Float);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_NETO] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetIMP_PORTEValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_PORTE];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldIMP_PORTEValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaIMP_PORTE];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetIMP_PORTEValue(const aValue: Float);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_PORTE] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetIMP_TOTALValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_TOTAL];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldIMP_TOTALValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaIMP_TOTAL];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetIMP_TOTALValue(const aValue: Float);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_TOTAL] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetIMP_UNIDAD_ULT_COMPValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_UNIDAD_ULT_COMP];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldIMP_UNIDAD_ULT_COMPValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaIMP_UNIDAD_ULT_COMP];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetIMP_UNIDAD_ULT_COMPValue(const aValue: Float);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_UNIDAD_ULT_COMP] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetIMP_NETO_ULT_COMPValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_NETO_ULT_COMP];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldIMP_NETO_ULT_COMPValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaIMP_NETO_ULT_COMP];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetIMP_NETO_ULT_COMPValue(const aValue: Float);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_NETO_ULT_COMP] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetIMP_PORTE_ULT_COMPValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_PORTE_ULT_COMP];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldIMP_PORTE_ULT_COMPValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaIMP_PORTE_ULT_COMP];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetIMP_PORTE_ULT_COMPValue(const aValue: Float);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_PORTE_ULT_COMP] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetIMP_NETO_ULT_COM_TOTALValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_NETO_ULT_COM_TOTAL];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldIMP_NETO_ULT_COM_TOTALValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaIMP_NETO_ULT_COM_TOTAL];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetIMP_NETO_ULT_COM_TOTALValue(const aValue: Float);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_NETO_ULT_COM_TOTAL] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetIMP_UNIDAD_PRO_COMPValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_UNIDAD_PRO_COMP];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldIMP_UNIDAD_PRO_COMPValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaIMP_UNIDAD_PRO_COMP];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetIMP_UNIDAD_PRO_COMPValue(const aValue: Float);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_UNIDAD_PRO_COMP] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetIMP_NETO_PRO_COMPValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_NETO_PRO_COMP];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldIMP_NETO_PRO_COMPValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaIMP_NETO_PRO_COMP];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetIMP_NETO_PRO_COMPValue(const aValue: Float);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_NETO_PRO_COMP] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetIMP_PORTE_PRO_COMPValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_PORTE_PRO_COMP];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldIMP_PORTE_PRO_COMPValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaIMP_PORTE_PRO_COMP];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetIMP_PORTE_PRO_COMPValue(const aValue: Float);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_PORTE_PRO_COMP] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetIMP_NETO_PRO_COM_TOTALValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_NETO_PRO_COM_TOTAL];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldIMP_NETO_PRO_COM_TOTALValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaIMP_NETO_PRO_COM_TOTAL];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetIMP_NETO_PRO_COM_TOTALValue(const aValue: Float);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_NETO_PRO_COM_TOTAL] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetIMP_MARGEN_ULT_COMPValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_MARGEN_ULT_COMP];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldIMP_MARGEN_ULT_COMPValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaIMP_MARGEN_ULT_COMP];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetIMP_MARGEN_ULT_COMPValue(const aValue: Float);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_MARGEN_ULT_COMP] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetIMP_MARGEN_ULT_COMP_TOTALValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_MARGEN_ULT_COMP_TOTAL];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldIMP_MARGEN_ULT_COMP_TOTALValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaIMP_MARGEN_ULT_COMP_TOTAL];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetIMP_MARGEN_ULT_COMP_TOTALValue(const aValue: Float);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_MARGEN_ULT_COMP_TOTAL] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetPOR_MARGEN_ULT_COMPValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaPOR_MARGEN_ULT_COMP];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldPOR_MARGEN_ULT_COMPValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaPOR_MARGEN_ULT_COMP];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetPOR_MARGEN_ULT_COMPValue(const aValue: Float);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaPOR_MARGEN_ULT_COMP] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetIMP_MARGEN_PRO_COMPValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_MARGEN_PRO_COMP];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldIMP_MARGEN_PRO_COMPValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaIMP_MARGEN_PRO_COMP];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetIMP_MARGEN_PRO_COMPValue(const aValue: Float);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_MARGEN_PRO_COMP] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetIMP_MARGEN_PRO_COMP_TOTALValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_MARGEN_PRO_COMP_TOTAL];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldIMP_MARGEN_PRO_COMP_TOTALValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaIMP_MARGEN_PRO_COMP_TOTAL];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetIMP_MARGEN_PRO_COMP_TOTALValue(const aValue: Float);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaIMP_MARGEN_PRO_COMP_TOTAL] := aValue;
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetPOR_MARGEN_PRO_COMPValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaPOR_MARGEN_PRO_COMP];
+end;
+
+function TInfMargenPorFacturaBusinessProcessorRules.GetOldPOR_MARGEN_PRO_COMPValue: Float;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_InfMargenPorFacturaPOR_MARGEN_PRO_COMP];
+end;
+
+procedure TInfMargenPorFacturaBusinessProcessorRules.SetPOR_MARGEN_PRO_COMPValue(const aValue: Float);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_InfMargenPorFacturaPOR_MARGEN_PRO_COMP] := aValue;
+end;
+
+
initialization
RegisterBusinessProcessorRules(RID_InfMargenPorClienteDelta, TInfMargenPorClienteBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_InfMargenPorArticuloDelta, TInfMargenPorArticuloBusinessProcessorRules);
+ RegisterBusinessProcessorRules(RID_InfMargenPorFacturaDelta, TInfMargenPorFacturaBusinessProcessorRules);
end.
diff --git a/Source/Modulos/Informe margen por articulo/Servidor/srvInfMargenArticulo_Impl.dfm b/Source/Modulos/Informe margen por articulo/Servidor/srvInfMargenArticulo_Impl.dfm
index d48a2677..4b2fcf86 100644
--- a/Source/Modulos/Informe margen por articulo/Servidor/srvInfMargenArticulo_Impl.dfm
+++ b/Source/Modulos/Informe margen por articulo/Servidor/srvInfMargenArticulo_Impl.dfm
@@ -157,38 +157,39 @@ object srvInfMargenArticulo: TsrvInfMargenArticulo
'RTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM' +
'(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP,'#10' COALESC' +
'E(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COAL' +
- 'ESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),0) AS IMPORTE_UNIDAD_PRO_COMP,' +
- #10' COALESCE(SUM(IMPORTE_NETO_PRO_COMP),0) AS IMPORTE_NETO_PRO_' +
- 'COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),0) AS IMPORTE_PORTE_P' +
- 'RO_COMP'#10#10' FROM'#10' (SELECT'#10' ID_EMPRESA, ID_ARTICULO,'#10' I' +
- 'MPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_CO' +
- 'MPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_P' +
- 'ORTE_ULT_COMP,'#10' NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IM' +
- 'PORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP'#10#10' FROM V_' +
- 'INF_ULTCOM_PORARTICULO'#10#10' UNION ALL'#10#10' SELECT'#10' FACTURAS' +
- '_PROVEEDOR.ID_EMPRESA,'#10' FACTURAS_PROVEEDOR_DETALLES.ID_ARTI' +
- 'CULO,'#10' NULL, NULL, NULL,'#10' AVG(FACTURAS_PROVEEDOR_DETAL' +
- 'LES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP,'#10' AVG(FACTUR' +
- 'AS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETAL' +
- 'LES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 10' +
- '0))) AS IMPORTE_NETO_PRO_COMP,'#10' AVG(FACTURAS_PROVEEDOR_DETA' +
- 'LLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP'#10#10' FROM FACTURAS' +
- '_PROVEEDOR_DETALLES'#10' LEFT OUTER JOIN FACTURAS_PROVEEDOR'#10' O' +
- 'N (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTUR' +
- 'A)'#10#10' WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NU' +
- 'LL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO > 0)'#10' AND ' +
- '(FACTURAS_PROVEEDOR_DETALLES.CANTIDAD > 0)'#10' /*Las compras p' +
- 'romedio deben de calcularse desde el principio de los tiempos ha' +
- 'sta ahora*/'#10' AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN ' +
- #39'12.12.2000'#39' AND current_date)'#10' GROUP BY 1, 2)'#10#10' GROUP BY 1,' +
- ' 2) MARGEN_COMPRAS'#10#10#10'ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENT' +
- 'AS.ID_EMPRESA)'#10'AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.I' +
- 'D_ARTICULO)'#10#10#10'LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENT' +
- 'AS.ID_ARTICULO)'#10'LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = M' +
- 'ARGEN_VENTAS.ID_CLIENTE)'#10'LEFT JOIN CLIENTES_DATOS ON (CLIENTES_D' +
- 'ATOS.ID_CLIENTE = CLIENTES.ID)'#10'LEFT JOIN CONTACTOS AGENTES ON (A' +
- 'GENTES.ID = CLIENTES_DATOS.ID_AGENTE)'#10'WHERE ARTICULOS.INVENTARIA' +
- 'BLE = 1) INF_MARGEN_ARTICULOS'
+ 'ESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),SUM(IMPORTE_UNIDAD_ULT_COMP)) ' +
+ 'AS IMPORTE_UNIDAD_PRO_COMP,'#10' COALESCE(SUM(IMPORTE_NETO_PRO_CO' +
+ 'MP),SUM(IMPORTE_NETO_ULT_COMP)) AS IMPORTE_NETO_PRO_COMP, COALES' +
+ 'CE(SUM(IMPORTE_PORTE_PRO_COMP),SUM(IMPORTE_PORTE_ULT_COMP)) AS I' +
+ 'MPORTE_PORTE_PRO_COMP'#10#10' FROM'#10' (SELECT'#10' ID_EMPRESA, ID_ART' +
+ 'ICULO,'#10' IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, I' +
+ 'MPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPR' +
+ 'A AS IMPORTE_PORTE_ULT_COMP,'#10' NULL AS IMPORTE_UNIDAD_PRO_CO' +
+ 'MP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COM' +
+ 'P'#10#10' FROM V_INF_ULTCOM_PORARTICULO'#10#10' UNION ALL'#10#10' SELECT'#10 +
+ ' FACTURAS_PROVEEDOR.ID_EMPRESA,'#10' FACTURAS_PROVEEDOR_DE' +
+ 'TALLES.ID_ARTICULO,'#10' NULL, NULL, NULL,'#10' AVG(FACTURAS_P' +
+ 'ROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP,'#10' ' +
+ ' AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_P' +
+ 'ROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.' +
+ 'DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP,'#10' AVG(FACTURAS_' +
+ 'PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP'#10#10' ' +
+ ' FROM FACTURAS_PROVEEDOR_DETALLES'#10' LEFT OUTER JOIN FACTURAS_P' +
+ 'ROVEEDOR'#10' ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETA' +
+ 'LLES.ID_FACTURA)'#10#10' WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTI' +
+ 'CULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >' +
+ ' 0)'#10' AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD > 0)'#10' /' +
+ '*Las compras promedio deben de calcularse desde el principio de ' +
+ 'los tiempos hasta ahora*/'#10' AND (FACTURAS_PROVEEDOR.FECHA_FA' +
+ 'CTURA BETWEEN '#39'12.12.2000'#39' AND current_date)'#10' GROUP BY 1, 2)'#10 +
+ #10' GROUP BY 1, 2) MARGEN_COMPRAS'#10#10#10'ON (MARGEN_COMPRAS.ID_EMPRESA' +
+ ' = MARGEN_VENTAS.ID_EMPRESA)'#10'AND (MARGEN_COMPRAS.ID_ARTICULO = M' +
+ 'ARGEN_VENTAS.ID_ARTICULO)'#10#10#10'LEFT JOIN ARTICULOS ON (ARTICULOS.ID' +
+ ' = MARGEN_VENTAS.ID_ARTICULO)'#10'LEFT JOIN CONTACTOS CLIENTES ON (C' +
+ 'LIENTES.ID = MARGEN_VENTAS.ID_CLIENTE)'#10'LEFT JOIN CLIENTES_DATOS ' +
+ 'ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID)'#10'LEFT JOIN CONTACTOS' +
+ ' AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)'#10'WHERE ARTICU' +
+ 'LOS.INVENTARIABLE = 1) INF_MARGEN_ARTICULOS'
StatementType = stSQL
ColumnMappings = <
item
@@ -373,7 +374,7 @@ object srvInfMargenArticulo: TsrvInfMargenArticulo
DataType = datInteger
BlobType = dabtUnknown
DictionaryEntry = 'InfMargenPorCliente_ID_CLIENTE'
- InPrimaryKey = False
+ InPrimaryKey = True
Calculated = False
Lookup = False
LookupCache = False
@@ -1450,6 +1451,710 @@ object srvInfMargenArticulo: TsrvInfMargenArticulo
end>
BusinessRulesClient.ScriptLanguage = rslPascalScript
BusinessRulesServer.ScriptLanguage = rslPascalScript
+ end
+ item
+ Params = <
+ item
+ Name = 'FECHAINI'
+ BlobType = dabtUnknown
+ Value = ''
+ ParamType = daptInput
+ end
+ item
+ Name = 'FECHAFIN'
+ BlobType = dabtUnknown
+ Value = ''
+ ParamType = daptInput
+ end>
+ Statements = <
+ item
+ Connection = 'IBX'
+ TargetTable = 'INF_MARGEN_ARTICULOS'
+ SQL =
+ 'SELECT'#10#10' INF_MARGEN_ARTICULOS.ID_EMPRESA,'#10' INF_MARGEN_ARTI' +
+ 'CULOS.ID_CLIENTE,'#10' INF_MARGEN_ARTICULOS.ID_FACTURA AS ID_FACT' +
+ 'URA,'#10' INF_MARGEN_ARTICULOS.ID_DETALLE AS ID_DETALLE,'#10' INF_' +
+ 'MARGEN_ARTICULOS.ID_ARTICULO,'#10' INF_MARGEN_ARTICULOS.NIF_CIF_C' +
+ 'LIENTE,'#10' INF_MARGEN_ARTICULOS.NOMBRE_CLIENTE,'#10' INF_MARGEN_' +
+ 'ARTICULOS.NOMBRE_COMERCIAL_CLIENTE,'#10' INF_MARGEN_ARTICULOS.REF' +
+ 'ERENCIA_FACTURA,'#10' INF_MARGEN_ARTICULOS.FECHA_FACTURA,'#10' INF' +
+ '_MARGEN_ARTICULOS.NIF_CIF_AGENTE,'#10' INF_MARGEN_ARTICULOS.NOMBR' +
+ 'E_AGENTE,'#10' INF_MARGEN_ARTICULOS.FAMILIA,'#10' INF_MARGEN_ARTIC' +
+ 'ULOS.REFERENCIA,'#10' INF_MARGEN_ARTICULOS.REFERENCIA_PROV,'#10' I' +
+ 'NF_MARGEN_ARTICULOS.DESCRIPCION,'#10' INF_MARGEN_ARTICULOS.COMISI' +
+ 'ONABLE,'#10' INF_MARGEN_ARTICULOS.INVENTARIABLE,'#10' INF_MARGEN_A' +
+ 'RTICULOS.CANTIDAD,'#10' INF_MARGEN_ARTICULOS.IMP_UNIDAD,'#10' INF_' +
+ 'MARGEN_ARTICULOS.IMP_NETO,'#10' INF_MARGEN_ARTICULOS.IMP_PORTE,'#10' ' +
+ ' INF_MARGEN_ARTICULOS.IMP_TOTAL,'#10' INF_MARGEN_ARTICULOS.IMP_' +
+ 'UNIDAD_ULT_COMP,'#10' INF_MARGEN_ARTICULOS.IMP_NETO_ULT_COMP,'#10' ' +
+ ' INF_MARGEN_ARTICULOS.IMP_PORTE_ULT_COMP,'#10' INF_MARGEN_ARTICUL' +
+ 'OS.IMP_NETO_ULT_COM_TOTAL,'#10' INF_MARGEN_ARTICULOS.IMP_UNIDAD_P' +
+ 'RO_COMP,'#10' INF_MARGEN_ARTICULOS.IMP_NETO_PRO_COMP,'#10' INF_MAR' +
+ 'GEN_ARTICULOS.IMP_PORTE_PRO_COMP,'#10' INF_MARGEN_ARTICULOS.IMP_N' +
+ 'ETO_PRO_COM_TOTAL,'#10' INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_COMP,' +
+ #10' INF_MARGEN_ARTICULOS.IMP_MARGEN_ULT_COMP_TOTAL,'#10' INF_MAR' +
+ 'GEN_ARTICULOS.POR_MARGEN_ULT_COMP,'#10' INF_MARGEN_ARTICULOS.IMP_' +
+ 'MARGEN_PRO_COMP,'#10' INF_MARGEN_ARTICULOS.IMP_MARGEN_PRO_COMP_TO' +
+ 'TAL,'#10' INF_MARGEN_ARTICULOS.POR_MARGEN_PRO_COMP'#10#10'FROM'#10#10'(SELECT' +
+ #10'MARGEN_VENTAS.ID_EMPRESA AS ID_EMPRESA,'#10'MARGEN_VENTAS.ID_CLIENT' +
+ 'E AS ID_CLIENTE,'#10'MARGEN_VENTAS.ID_FACTURA AS ID_FACTURA,'#10'MARGEN_' +
+ 'VENTAS.ID_DETALLE AS ID_DETALLE,'#10'MARGEN_VENTAS.ID_ARTICULO AS ID' +
+ '_ARTICULO,'#10#10'CLIENTES.NIF_CIF AS NIF_CIF_CLIENTE,'#10'CLIENTES.NOMBRE' +
+ ' AS NOMBRE_CLIENTE,'#10'CLIENTES_DATOS.NOMBRE_COMERCIAL AS NOMBRE_CO' +
+ 'MERCIAL_CLIENTE,'#10#10'FACTURAS_CLIENTE.REFERENCIA AS REFERENCIA_FACT' +
+ 'URA,'#10'FACTURAS_CLIENTE.FECHA_FACTURA,'#10#10'AGENTES.NIF_CIF AS NIF_CIF' +
+ '_AGENTE,'#10'AGENTES.NOMBRE AS NOMBRE_AGENTE,'#10#10'ARTICULOS.FAMILIA AS ' +
+ 'FAMILIA,'#10'ARTICULOS.REFERENCIA AS REFERENCIA,'#10'ARTICULOS.REFERENCI' +
+ 'A_PROV AS REFERENCIA_PROV,'#10'ARTICULOS.DESCRIPCION AS DESCRIPCION,' +
+ #10'ARTICULOS.COMISIONABLE AS COMISIONABLE,'#10'ARTICULOS.INVENTARIABLE' +
+ ' AS INVENTARIABLE,'#10#10'MARGEN_VENTAS.CANTIDAD,'#10'COALESCE(MARGEN_VENT' +
+ 'AS.IMPORTE_UNIDAD, 0) AS IMP_UNIDAD,'#10'COALESCE(MARGEN_VENTAS.IMPO' +
+ 'RTE_NETO, 0) AS IMP_NETO,'#10'COALESCE(MARGEN_VENTAS.IMPORTE_PORTE, ' +
+ '0) AS IMP_PORTE,'#10'COALESCE(MARGEN_VENTAS.IMPORTE_TOTAL, 0) AS IMP' +
+ '_TOTAL,'#10#10'COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_COMP, COALES' +
+ 'CE(ARTICULOS.PRECIO_COSTE, 0)) AS IMP_UNIDAD_ULT_COMP,'#10'COALESCE(' +
+ 'MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, COALESCE(ARTICULOS.PRECIO_' +
+ 'NETO, 0)) AS IMP_NETO_ULT_COMP,'#10'COALESCE(MARGEN_COMPRAS.IMPORTE_' +
+ 'PORTE_ULT_COMP, COALESCE(ARTICULOS.PRECIO_PORTE, 0)) AS IMP_PORT' +
+ 'E_ULT_COMP,'#10'(COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, COAL' +
+ 'ESCE(ARTICULOS.PRECIO_NETO, 0)) * MARGEN_VENTAS.CANTIDAD) AS IMP' +
+ '_NETO_ULT_COM_TOTAL,'#10#10'COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO' +
+ '_COMP, COALESCE(ARTICULOS.PRECIO_COSTE, 0)) AS IMP_UNIDAD_PRO_CO' +
+ 'MP,'#10'COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, COALESCE(ARTI' +
+ 'CULOS.PRECIO_NETO, 0)) AS IMP_NETO_PRO_COMP,'#10'COALESCE(MARGEN_COM' +
+ 'PRAS.IMPORTE_PORTE_PRO_COMP, COALESCE(ARTICULOS.PRECIO_PORTE, 0)' +
+ ') AS IMP_PORTE_PRO_COMP,'#10'(COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_P' +
+ 'RO_COMP, COALESCE(ARTICULOS.PRECIO_NETO, 0)) * MARGEN_VENTAS.CAN' +
+ 'TIDAD) as IMP_NETO_PRO_COM_TOTAL,'#10#10'COALESCE(MARGEN_VENTAS.IMPORT' +
+ 'E_NETO, 0) - COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, COAL' +
+ 'ESCE(ARTICULOS.PRECIO_NETO, 0)) AS IMP_MARGEN_ULT_COMP,'#10'COALESCE' +
+ '(MARGEN_VENTAS.IMPORTE_TOTAL, 0) - (COALESCE(MARGEN_COMPRAS.IMPO' +
+ 'RTE_NETO_ULT_COMP, COALESCE(ARTICULOS.PRECIO_NETO, 0)) * MARGEN_' +
+ 'VENTAS.CANTIDAD) AS IMP_MARGEN_ULT_COMP_TOTAL,'#10'CASE'#10'WHEN COALES' +
+ 'CE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, COALESCE(ARTICULOS.PREC' +
+ 'IO_NETO, 0)) = 0 THEN 100'#10'WHEN (COALESCE(MARGEN_VENTAS.IMPORTE_N' +
+ 'ETO, 0) - COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, COALESC' +
+ 'E(ARTICULOS.PRECIO_NETO, 0))) > 0 THEN'#10' ((COALESCE(MARGEN_VE' +
+ 'NTAS.IMPORTE_NETO, 0) - COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT' +
+ '_COMP, COALESCE(ARTICULOS.PRECIO_NETO, 0))) * 100) / MARGEN_VENT' +
+ 'AS.IMPORTE_NETO'#10'ELSE 0'#10'END'#10'AS POR_MARGEN_ULT_COMP,'#10#10'COALESCE(MAR' +
+ 'GEN_VENTAS.IMPORTE_NETO, 0) - COALESCE(MARGEN_COMPRAS.IMPORTE_NE' +
+ 'TO_PRO_COMP, COALESCE(ARTICULOS.PRECIO_NETO, 0)) AS IMP_MARGEN_P' +
+ 'RO_COMP,'#10'COALESCE(MARGEN_VENTAS.IMPORTE_NETO, 0) - (COALESCE(MAR' +
+ 'GEN_COMPRAS.IMPORTE_NETO_PRO_COMP, COALESCE(ARTICULOS.PRECIO_NET' +
+ 'O, 0)) * MARGEN_VENTAS.CANTIDAD) AS IMP_MARGEN_PRO_COMP_TOTAL,'#10'C' +
+ 'ASE'#10'WHEN COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, COALESC' +
+ 'E(ARTICULOS.PRECIO_NETO, 0)) = 0 THEN 100'#10'WHEN (COALESCE(MARGEN_' +
+ 'VENTAS.IMPORTE_NETO, 0) - COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_P' +
+ 'RO_COMP, COALESCE(ARTICULOS.PRECIO_NETO, 0))) > 0 THEN'#10' ((CO' +
+ 'ALESCE(MARGEN_VENTAS.IMPORTE_NETO, 0) - COALESCE(MARGEN_COMPRAS.' +
+ 'IMPORTE_NETO_PRO_COMP, COALESCE(ARTICULOS.PRECIO_NETO, 0))) * 10' +
+ '0) / MARGEN_VENTAS.IMPORTE_NETO'#10'ELSE 0'#10'END'#10'AS POR_MARGEN_PRO_COM' +
+ 'P'#10#10#10'FROM'#10#10#10'(SELECT'#10' FACTURAS_CLIENTE.ID_EMPRESA,'#10' FACT' +
+ 'URAS_CLIENTE.ID_CLIENTE,'#10' FACTURAS_CLIENTE.ID as ID_FACTURA' +
+ ','#10' FACTURAS_CLIENTE_DETALLES.ID as ID_DETALLE,'#10' FACTUR' +
+ 'AS_CLIENTE_DETALLES.ID_ARTICULO,'#10' FACTURAS_CLIENTE_DETALLES' +
+ '.CANTIDAD,'#10' FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD,'#10' ' +
+ ' FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DE' +
+ 'TALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 1' +
+ '00)) AS IMPORTE_NETO,'#10' FACTURAS_CLIENTE_DETALLES.IMPORTE_PO' +
+ 'RTE,'#10' FACTURAS_CLIENTE_DETALLES.IMPORTE_TOTAL'#10#10' FROM FAC' +
+ 'TURAS_CLIENTE_DETALLES'#10' LEFT OUTER JOIN FACTURAS_CLIENTE'#10' ' +
+ 'ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA)'#10 +
+ #10' WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) A' +
+ 'ND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO > 0)'#10' AND (FACTUR' +
+ 'AS_CLIENTE_DETALLES.CANTIDAD > 0)'#10' AND (FACTURAS_CLIENTE.FE' +
+ 'CHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)) MARGEN_VENTAS'#10#10#10'LE' +
+ 'FT JOIN'#10#10#10'(SELECT'#10' ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPO' +
+ 'RTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM' +
+ '(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP,'#10' COALESC' +
+ 'E(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COAL' +
+ 'ESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),SUM(IMPORTE_UNIDAD_ULT_COMP)) ' +
+ 'AS IMPORTE_UNIDAD_PRO_COMP,'#10' COALESCE(SUM(IMPORTE_NETO_PRO_CO' +
+ 'MP),SUM(IMPORTE_NETO_ULT_COMP)) AS IMPORTE_NETO_PRO_COMP, COALES' +
+ 'CE(SUM(IMPORTE_PORTE_PRO_COMP),SUM(IMPORTE_PORTE_ULT_COMP)) AS I' +
+ 'MPORTE_PORTE_PRO_COMP'#10#10' FROM'#10' (SELECT'#10' ID_EMPRESA, ID_ART' +
+ 'ICULO,'#10' IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, I' +
+ 'MPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPR' +
+ 'A AS IMPORTE_PORTE_ULT_COMP,'#10' NULL AS IMPORTE_UNIDAD_PRO_CO' +
+ 'MP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COM' +
+ 'P'#10#10' FROM V_INF_ULTCOM_PORARTICULO'#10#10' UNION ALL'#10#10' SELECT'#10 +
+ ' FACTURAS_PROVEEDOR.ID_EMPRESA,'#10' FACTURAS_PROVEEDOR_DE' +
+ 'TALLES.ID_ARTICULO,'#10' NULL, NULL, NULL,'#10' AVG(FACTURAS_P' +
+ 'ROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP,'#10' ' +
+ ' AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_P' +
+ 'ROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.' +
+ 'DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP,'#10' AVG(FACTURAS_' +
+ 'PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP'#10#10' ' +
+ ' FROM FACTURAS_PROVEEDOR_DETALLES'#10' LEFT OUTER JOIN FACTURAS_P' +
+ 'ROVEEDOR'#10' ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETA' +
+ 'LLES.ID_FACTURA)'#10#10' WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTI' +
+ 'CULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO >' +
+ ' 0)'#10' AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD > 0)'#10' /' +
+ '*Las compras promedio deben de calcularse desde el principio de ' +
+ 'los tiempos hasta ahora*/'#10' AND (FACTURAS_PROVEEDOR.FECHA_FA' +
+ 'CTURA BETWEEN '#39'12.12.2000'#39' AND current_date)'#10' GROUP BY 1, 2)'#10 +
+ #10' GROUP BY 1, 2) MARGEN_COMPRAS'#10#10#10'ON (MARGEN_COMPRAS.ID_EMPRESA' +
+ ' = MARGEN_VENTAS.ID_EMPRESA)'#10'AND (MARGEN_COMPRAS.ID_ARTICULO = M' +
+ 'ARGEN_VENTAS.ID_ARTICULO)'#10#10#10'LEFT JOIN ARTICULOS ON (ARTICULOS.ID' +
+ ' = MARGEN_VENTAS.ID_ARTICULO)'#10'LEFT JOIN CONTACTOS CLIENTES ON (C' +
+ 'LIENTES.ID = MARGEN_VENTAS.ID_CLIENTE)'#10'LEFT JOIN CLIENTES_DATOS ' +
+ 'ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID)'#10'LEFT JOIN CONTACTOS' +
+ ' AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)'#10'LEFT JOIN FA' +
+ 'CTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = MARGEN_VENTAS.ID_FACTUR' +
+ 'A)'#10'WHERE ARTICULOS.INVENTARIABLE = 1) INF_MARGEN_ARTICULOS'
+ StatementType = stSQL
+ ColumnMappings = <
+ item
+ DatasetField = 'ID_EMPRESA'
+ TableField = 'ID_EMPRESA'
+ end
+ item
+ DatasetField = 'ID_CLIENTE'
+ TableField = 'ID_CLIENTE'
+ end
+ item
+ DatasetField = 'ID_FACTURA'
+ TableField = 'ID_FACTURA'
+ end
+ item
+ DatasetField = 'ID_DETALLE'
+ TableField = 'ID_DETALLE'
+ end
+ item
+ DatasetField = 'ID_ARTICULO'
+ TableField = 'ID_ARTICULO'
+ end
+ item
+ DatasetField = 'FAMILIA'
+ TableField = 'FAMILIA'
+ end
+ item
+ DatasetField = 'REFERENCIA'
+ TableField = 'REFERENCIA'
+ end
+ item
+ DatasetField = 'REFERENCIA_PROV'
+ TableField = 'REFERENCIA_PROV'
+ end
+ item
+ DatasetField = 'REFERENCIA_FACTURA'
+ TableField = 'REFERENCIA_FACTURA'
+ end
+ item
+ DatasetField = 'FECHA_FACTURA'
+ TableField = 'FECHA_FACTURA'
+ end
+ item
+ DatasetField = 'DESCRIPCION'
+ TableField = 'DESCRIPCION'
+ end
+ item
+ DatasetField = 'COMISIONABLE'
+ TableField = 'COMISIONABLE'
+ end
+ item
+ DatasetField = 'INVENTARIABLE'
+ TableField = 'INVENTARIABLE'
+ end
+ item
+ DatasetField = 'NIF_CIF_CLIENTE'
+ TableField = 'NIF_CIF_CLIENTE'
+ end
+ item
+ DatasetField = 'NOMBRE_CLIENTE'
+ TableField = 'NOMBRE_CLIENTE'
+ end
+ item
+ DatasetField = 'NOMBRE_COMERCIAL_CLIENTE'
+ TableField = 'NOMBRE_COMERCIAL_CLIENTE'
+ end
+ item
+ DatasetField = 'NIF_CIF_AGENTE'
+ TableField = 'NIF_CIF_AGENTE'
+ end
+ item
+ DatasetField = 'NOMBRE_AGENTE'
+ TableField = 'NOMBRE_AGENTE'
+ end
+ item
+ DatasetField = 'IMP_UNIDAD'
+ TableField = 'IMP_UNIDAD'
+ end
+ item
+ DatasetField = 'IMP_NETO'
+ TableField = 'IMP_NETO'
+ end
+ item
+ DatasetField = 'IMP_PORTE'
+ TableField = 'IMP_PORTE'
+ end
+ item
+ DatasetField = 'IMP_UNIDAD_ULT_COMP'
+ TableField = 'IMP_UNIDAD_ULT_COMP'
+ end
+ item
+ DatasetField = 'IMP_NETO_ULT_COMP'
+ TableField = 'IMP_NETO_ULT_COMP'
+ end
+ item
+ DatasetField = 'IMP_PORTE_ULT_COMP'
+ TableField = 'IMP_PORTE_ULT_COMP'
+ end
+ item
+ DatasetField = 'IMP_UNIDAD_PRO_COMP'
+ TableField = 'IMP_UNIDAD_PRO_COMP'
+ end
+ item
+ DatasetField = 'IMP_NETO_PRO_COMP'
+ TableField = 'IMP_NETO_PRO_COMP'
+ end
+ item
+ DatasetField = 'IMP_PORTE_PRO_COMP'
+ TableField = 'IMP_PORTE_PRO_COMP'
+ end
+ item
+ DatasetField = 'IMP_MARGEN_ULT_COMP'
+ TableField = 'IMP_MARGEN_ULT_COMP'
+ end
+ item
+ DatasetField = 'POR_MARGEN_ULT_COMP'
+ TableField = 'POR_MARGEN_ULT_COMP'
+ end
+ item
+ DatasetField = 'IMP_MARGEN_PRO_COMP'
+ TableField = 'IMP_MARGEN_PRO_COMP'
+ end
+ item
+ DatasetField = 'POR_MARGEN_PRO_COMP'
+ TableField = 'POR_MARGEN_PRO_COMP'
+ end
+ item
+ DatasetField = 'CANTIDAD'
+ TableField = 'CANTIDAD'
+ end
+ item
+ DatasetField = 'IMP_TOTAL'
+ TableField = 'IMP_TOTAL'
+ end
+ item
+ DatasetField = 'IMP_NETO_ULT_COM_TOTAL'
+ TableField = 'IMP_NETO_ULT_COM_TOTAL'
+ end
+ item
+ DatasetField = 'IMP_NETO_PRO_COM_TOTAL'
+ TableField = 'IMP_NETO_PRO_COM_TOTAL'
+ end
+ item
+ DatasetField = 'IMP_MARGEN_ULT_COMP_TOTAL'
+ TableField = 'IMP_MARGEN_ULT_COMP_TOTAL'
+ end
+ item
+ DatasetField = 'IMP_MARGEN_PRO_COMP_TOTAL'
+ TableField = 'IMP_MARGEN_PRO_COMP_TOTAL'
+ end>
+ end>
+ Name = 'InfMargenPorFactura'
+ Fields = <
+ item
+ Name = 'ID_EMPRESA'
+ DataType = datInteger
+ BlobType = dabtUnknown
+ DictionaryEntry = 'InfVentasArticulo_ID_EMPRESA'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'ID_CLIENTE'
+ DataType = datInteger
+ BlobType = dabtUnknown
+ DictionaryEntry = 'InfMargenPorCliente_ID_CLIENTE'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'ID_FACTURA'
+ DataType = datInteger
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'ID_DETALLE'
+ DataType = datInteger
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = True
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'ID_ARTICULO'
+ DataType = datInteger
+ BlobType = dabtUnknown
+ DictionaryEntry = 'InfVentasArticulo_ID_ARTICULO'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'FAMILIA'
+ DataType = datString
+ Size = 255
+ BlobType = dabtUnknown
+ DictionaryEntry = 'InfVentasArticulo_FAMILIA'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'REFERENCIA'
+ DataType = datString
+ Size = 255
+ BlobType = dabtUnknown
+ DictionaryEntry = 'InfVentasArticulo_REFERENCIA'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'REFERENCIA_PROV'
+ DataType = datString
+ Size = 255
+ BlobType = dabtUnknown
+ DictionaryEntry = 'InfVentasArticulo_REFERENCIA_PROV'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'REFERENCIA_FACTURA'
+ DataType = datString
+ Size = 255
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'FECHA_FACTURA'
+ DataType = datDateTime
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'DESCRIPCION'
+ DataType = datString
+ Size = 255
+ BlobType = dabtUnknown
+ DictionaryEntry = 'InfVentasArticulo_DESCRIPCION'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'COMISIONABLE'
+ DataType = datInteger
+ BlobType = dabtUnknown
+ DictionaryEntry = 'InfVentasArticulo_COMISIONABLE'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'INVENTARIABLE'
+ DataType = datInteger
+ BlobType = dabtUnknown
+ DictionaryEntry = 'InfVentasArticulo_INVENTARIABLE'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'NIF_CIF_CLIENTE'
+ DataType = datString
+ Size = 15
+ BlobType = dabtUnknown
+ DictionaryEntry = 'InfVentasArticulo_NIF_CIF_CLIENTE'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'NOMBRE_CLIENTE'
+ DataType = datString
+ Size = 255
+ BlobType = dabtUnknown
+ DictionaryEntry = 'InfVentasArticulo_NOMBRE_CLIENTE'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'NOMBRE_COMERCIAL_CLIENTE'
+ DataType = datString
+ Size = 255
+ BlobType = dabtUnknown
+ DictionaryEntry = 'InfVentasArticulo_NOMBRE_COMERCIAL_CLIENTE'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'NIF_CIF_AGENTE'
+ DataType = datString
+ Size = 15
+ BlobType = dabtUnknown
+ DictionaryEntry = 'InfVentasArticulo_NIF_CIF_AGENTE'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'NOMBRE_AGENTE'
+ DataType = datString
+ Size = 255
+ BlobType = dabtUnknown
+ DictionaryEntry = 'InfVentasArticulo_NOMBRE_AGENTE'
+ 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 = 'IMP_UNIDAD'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMP_NETO'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMP_PORTE'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMP_TOTAL'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMP_UNIDAD_ULT_COMP'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DictionaryEntry = 'InfMargenPorCliente_IMP_UNIDAD_ULT_COMP'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMP_NETO_ULT_COMP'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DictionaryEntry = 'InfMargenPorCliente_IMP_NETO_ULT_COMP'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMP_PORTE_ULT_COMP'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DictionaryEntry = 'InfMargenPorCliente_IMP_PORTE_ULT_COMP'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMP_NETO_ULT_COM_TOTAL'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMP_UNIDAD_PRO_COMP'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DictionaryEntry = 'InfMargenPorCliente_IMP_UNIDAD_PRO_COMP'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMP_NETO_PRO_COMP'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DictionaryEntry = 'InfMargenPorCliente_IMP_NETO_PRO_COMP'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMP_PORTE_PRO_COMP'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DictionaryEntry = 'InfMargenPorCliente_IMP_PORTE_PRO_COMP'
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMP_NETO_PRO_COM_TOTAL'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMP_MARGEN_ULT_COMP'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMP_MARGEN_ULT_COMP_TOTAL'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'POR_MARGEN_ULT_COMP'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMP_MARGEN_PRO_COMP'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'IMP_MARGEN_PRO_COMP_TOTAL'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
+ item
+ Name = 'POR_MARGEN_PRO_COMP'
+ DataType = datFloat
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end>
+ BusinessRulesClient.ScriptLanguage = rslPascalScript
+ BusinessRulesServer.ScriptLanguage = rslPascalScript
end>
Commands = <>
RelationShips = <>
diff --git a/Source/Modulos/Informe margen por articulo/Servidor/srvInfMargenArticulo_Impl.pas b/Source/Modulos/Informe margen por articulo/Servidor/srvInfMargenArticulo_Impl.pas
index 9cb4effc..4f26527d 100644
--- a/Source/Modulos/Informe margen por articulo/Servidor/srvInfMargenArticulo_Impl.pas
+++ b/Source/Modulos/Informe margen por articulo/Servidor/srvInfMargenArticulo_Impl.pas
@@ -37,12 +37,14 @@ uses
{Generated:} FactuGES_Invk, uSchemaUtilsServer, dialogs;
const
+
CAMPOS_AVG1 = '#IMP_NETO_ULT_VENT#IMP_NETO_PRO_VENT#IMP_PORTE_PRO_VENT#IMP_NETO_COMPRA#IMP_NETO_ULT_COMP#IMP_NETO_PRO_COMP#IMP_UNIDAD_PRO_COMP#IMP_PORTE_PRO_COMP#IMP_MARGEN_ULT_VENT_COMPRA#POR_MARGEN_ULT_VENT_COMPRA#IMP_MARGEN_ULT_VENT_ULT_COMP#';
CAMPOS_AVG2 = '#POR_MARGEN_ULT_VENT_ULT_COMP#IMP_MARGEN_ULT_VENT_PRO_COMP#POR_MARGEN_ULT_VENT_PRO_COMP#IMP_MARGEN_PRO_VENT_COMPRA#POR_MARGEN_PRO_VENT_COMPRA#IMP_MARGEN_PRO_VENT_ULT_COMP#POR_MARGEN_PRO_VENT_ULT_COMP#IMP_MARGEN_PRO_VENT_PRO_COMP#';
CAMPOS_AVG3 = '#POR_MARGEN_PRO_VENT_PRO_COMP#IMP_UNIDAD_PRO_VENT#';
- CAMPOS_SUMA = '';
-
+ //SOLO PARA INFORME AGRUPADO POR FACTURA PARA SACAR BENEFICIO REAL
+ CTE_DATA_NAME = 'InfMargenPorFactura';
+ CAMPOS_SUMA = 'CANTIDAD#IMP_UNIDAD#IMP_NETO#IMP_PORTE#IMP_TOTAL#IMP_NETO_ULT_COM_TOTAL#IMP_NETO_PRO_COM_TOTAL#IMP_MARGEN_ULT_COMP_TOTAL#IMP_MARGEN_PRO_COMP_TOTAL';
procedure Create_srv_InfMargenArticulo(out anInstance : IUnknown);
begin
@@ -67,7 +69,12 @@ begin
SourceDataSetName := DatasetName;
Service := Self;
Columnas := Columns;
- ColumnasQueSuman := CAMPOS_SUMA;
+
+ if DatasetName = CTE_DATA_NAME then
+ ColumnasQueSuman := CAMPOS_SUMA
+ else
+ ColumnasQueSuman := '';
+
ColumnasQueAVG := CAMPOS_AVG1 + CAMPOS_AVG2 + CAMPOS_AVG3;
try
ds := GetNewDataSet;
@@ -98,7 +105,12 @@ begin
SourceDataSetName := DatasetName;
Service := Self;
Columnas := Columns;
- ColumnasQueSuman := CAMPOS_SUMA;
+
+ if DatasetName = CTE_DATA_NAME then
+ ColumnasQueSuman := CAMPOS_SUMA
+ else
+ ColumnasQueSuman := '';
+
try
ds := GetNewDataSet;
finally
diff --git a/Source/Modulos/Informe margen por articulo/Views/InfMargenArticulo_view.res b/Source/Modulos/Informe margen por articulo/Views/InfMargenArticulo_view.res
index 1641339f..8b251f31 100644
Binary files a/Source/Modulos/Informe margen por articulo/Views/InfMargenArticulo_view.res and b/Source/Modulos/Informe margen por articulo/Views/InfMargenArticulo_view.res differ
diff --git a/Source/Modulos/Informe margen por articulo/Views/uViewInfMargenArticulo.dfm b/Source/Modulos/Informe margen por articulo/Views/uViewInfMargenArticulo.dfm
index f7632e10..bd876521 100644
--- a/Source/Modulos/Informe margen por articulo/Views/uViewInfMargenArticulo.dfm
+++ b/Source/Modulos/Informe margen por articulo/Views/uViewInfMargenArticulo.dfm
@@ -7,12 +7,12 @@ inherited frViewInfMargenArticulo: TfrViewInfMargenArticulo
Top = 105
Height = 462
ExplicitTop = 105
- ExplicitHeight = 343
+ ExplicitHeight = 462
inherited pnlParametros: TTBXDockablePanel
ExplicitHeight = 215
inherited pcParametros: TPageControl
Height = 128
- ExplicitHeight = 69
+ ExplicitHeight = 128
inherited TabSheet5: TTabSheet
ExplicitLeft = 4
ExplicitTop = 6
@@ -20,21 +20,21 @@ inherited frViewInfMargenArticulo: TfrViewInfMargenArticulo
ExplicitHeight = 59
end
inherited tsColumnas: TTabSheet
- ExplicitHeight = 59
+ ExplicitHeight = 118
inherited frViewColumnas1: TfrViewColumnas
Height = 118
- ExplicitHeight = 59
+ ExplicitHeight = 118
inherited lbColumnas: TcxCheckListBox
Height = 89
- ExplicitHeight = 30
+ ExplicitHeight = 89
end
end
end
inherited tsAgrupacion: TTabSheet
- ExplicitHeight = 59
+ ExplicitHeight = 118
inherited frViewAgrupaciones1: TfrViewAgrupaciones
Height = 118
- ExplicitHeight = 59
+ ExplicitHeight = 118
end
end
end
@@ -46,15 +46,15 @@ inherited frViewInfMargenArticulo: TfrViewInfMargenArticulo
ExplicitHeight = 231
inherited TBXPageScroller1: TTBXPageScroller
Height = 211
- ExplicitHeight = 151
+ ExplicitHeight = 211
inherited pcTareas: TPageControl
Height = 163
- ExplicitHeight = 103
+ ExplicitHeight = 163
inherited tsSumarios: TTabSheet
- ExplicitHeight = 93
+ ExplicitHeight = 153
inherited frViewSumarios1: TfrViewSumarios
Height = 153
- ExplicitHeight = 93
+ ExplicitHeight = 153
inherited vgSumarios: TcxVerticalGrid
Height = 124
ExplicitHeight = 64
@@ -62,17 +62,17 @@ inherited frViewInfMargenArticulo: TfrViewInfMargenArticulo
end
end
inherited tsFiltros: TTabSheet
- ExplicitHeight = 93
+ ExplicitHeight = 153
inherited frViewFiltros1: TfrViewFiltros
Height = 153
- ExplicitHeight = 93
+ ExplicitHeight = 153
inherited cxFilterControl1: TcxFilterControl
Height = 94
- ExplicitHeight = 34
+ ExplicitHeight = 94
end
inherited TBXAlignmentPanel3: TTBXAlignmentPanel
Top = 123
- ExplicitTop = 63
+ ExplicitTop = 123
end
end
end
@@ -83,7 +83,7 @@ inherited frViewInfMargenArticulo: TfrViewInfMargenArticulo
inherited TBXMultiDock2: TTBXMultiDock
Width = 800
Height = 105
- ExplicitWidth = 834
+ ExplicitWidth = 800
ExplicitHeight = 105
inherited pnlIntervaloFechas: TTBXDockablePanel
DockedHeight = 101
@@ -95,7 +95,7 @@ inherited frViewInfMargenArticulo: TfrViewInfMargenArticulo
Top = 71
Width = 780
ExplicitTop = 71
- ExplicitWidth = 814
+ ExplicitWidth = 780
end
inline frViewPeriodoFechas1: TfrViewPeriodoFechas
Left = 0
@@ -111,15 +111,15 @@ inherited frViewInfMargenArticulo: TfrViewInfMargenArticulo
ParentFont = False
TabOrder = 1
ReadOnly = False
- ExplicitWidth = 814
+ ExplicitWidth = 780
ExplicitHeight = 71
inherited TBXDockablePanel1: TTBXDockablePanel
- ExplicitWidth = 814
+ ExplicitWidth = 780
ExplicitHeight = 71
inherited dxLayoutControl1: TdxLayoutControl
Width = 780
Height = 71
- ExplicitWidth = 814
+ ExplicitWidth = 780
ExplicitHeight = 71
DesignSize = (
780
@@ -157,15 +157,14 @@ inherited frViewInfMargenArticulo: TfrViewInfMargenArticulo
ReadOnly = False
ExplicitLeft = 222
ExplicitTop = 105
- ExplicitWidth = 612
- ExplicitHeight = 343
+ ExplicitWidth = 578
+ ExplicitHeight = 462
inherited cxGrid: TcxGrid
Width = 578
Height = 462
- ExplicitWidth = 612
- ExplicitHeight = 343
+ ExplicitWidth = 578
+ ExplicitHeight = 462
inherited cxGridView: TcxGridDBTableView
- DataController.DataSource = dmInfMargenArticulo.ds_InfMargenArticulo21
DataController.Summary.DefaultGroupSummaryItems = <
item
Format = ',0.00 %;-,0.00 %'
@@ -369,6 +368,9 @@ inherited frViewInfMargenArticulo: TfrViewInfMargenArticulo
inherited cxGridViewPOR_MARGEN_PRO_VENT_PRO_COMP: TcxGridDBColumn
Width = 33
end
+ inherited cxGridViewID_DETALLE: TcxGridDBColumn
+ Caption = '-'
+ end
end
end
inherited dxPrintStyleManager1: TdxPrintStyleManager
diff --git a/Source/Modulos/Informe margen por articulo/Views/uViewInfMargenArticulo.pas b/Source/Modulos/Informe margen por articulo/Views/uViewInfMargenArticulo.pas
index ea597dfc..91380479 100644
--- a/Source/Modulos/Informe margen por articulo/Views/uViewInfMargenArticulo.pas
+++ b/Source/Modulos/Informe margen por articulo/Views/uViewInfMargenArticulo.pas
@@ -119,7 +119,7 @@ begin
// ParamByName('FECHAINI2').AsDateTime := frViewPeriodoFechas1.FechaInicial; //'12.12.2000';
// ParamByName('FECHAFIN2').AsDateTime := frViewPeriodoFechas1.FechaFinal;
-
+
Active := True;
frViewColumnas1.Execute;
@@ -135,6 +135,9 @@ begin
frViewInfMargenArticuloGrid1.Refresh;
frViewInfMargenArticuloGrid1.ExpandirTodo;
frViewInfMargenArticuloGrid1.GotoFirst;
+
+ //Para que no lo incluya en la agrupacion del distinc y luego no salga
+ frViewInfMargenArticuloGrid1.cxGridViewID_DETALLE.Visible := False;
end;
end;
diff --git a/Source/Modulos/Informe margen por articulo/Views/uViewInfMargenArticuloGrid.dfm b/Source/Modulos/Informe margen por articulo/Views/uViewInfMargenArticuloGrid.dfm
index 23ffc464..6602b4af 100644
--- a/Source/Modulos/Informe margen por articulo/Views/uViewInfMargenArticuloGrid.dfm
+++ b/Source/Modulos/Informe margen por articulo/Views/uViewInfMargenArticuloGrid.dfm
@@ -125,6 +125,7 @@ inherited frViewInfMargenArticuloGrid: TfrViewInfMargenArticuloGrid
OptionsView.GroupByBox = False
OptionsView.GroupFooters = gfAlwaysVisible
OptionsView.HeaderEndEllipsis = True
+ OptionsView.NewItemRowInfoText = 'Click here to add a new row'
Styles.FilterBox = cxStyleFilterBox
Styles.OnGetContentStyle = cxGridViewStylesGetContentStyle
OnColumnPosChanged = cxGridViewColumnPosChanged
@@ -143,6 +144,10 @@ inherited frViewInfMargenArticuloGrid: TfrViewInfMargenArticuloGrid
DataBinding.FieldName = 'ID_CLIENTE'
Hidden = True
end
+ object cxGridViewID_FACTURA: TcxGridDBColumn
+ Caption = 'Id_factura'
+ DataBinding.FieldName = 'ID_FACTURA'
+ end
object cxGridViewID_ARTICULO: TcxGridDBColumn
Caption = 'Id_articulo'
DataBinding.FieldName = 'ID_ARTICULO'
@@ -160,6 +165,14 @@ inherited frViewInfMargenArticuloGrid: TfrViewInfMargenArticuloGrid
Caption = 'Nombre comercial cli.'
DataBinding.FieldName = 'NOMBRE_COMERCIAL_CLIENTE'
end
+ object cxGridViewREFERENCIA_FACTURA: TcxGridDBColumn
+ Caption = 'Ref. factura'
+ DataBinding.FieldName = 'REFERENCIA_FACTURA'
+ end
+ object cxGridViewFECHA_FACTURA: TcxGridDBColumn
+ Caption = 'Fecha factura'
+ DataBinding.FieldName = 'FECHA_FACTURA'
+ end
object cxGridViewNIF_CIF_AGENTE: TcxGridDBColumn
Caption = 'NIF/CIF agente'
DataBinding.FieldName = 'NIF_CIF_AGENTE'
@@ -420,6 +433,114 @@ inherited frViewInfMargenArticuloGrid: TfrViewInfMargenArticuloGrid
FooterAlignmentHorz = taRightJustify
HeaderAlignmentHorz = taRightJustify
end
+ object cxGridViewIMP_MARGEN_ULT_COMP: TcxGridDBColumn
+ Caption = 'Margen venta - ult. compra'
+ DataBinding.FieldName = 'IMP_MARGEN_ULT_COMP'
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.Alignment.Horz = taRightJustify
+ FooterAlignmentHorz = taRightJustify
+ HeaderAlignmentHorz = taRightJustify
+ end
+ object cxGridViewPOR_MARGEN_ULT_COMP: TcxGridDBColumn
+ Caption = '% margen venta - ult. compra'
+ DataBinding.FieldName = 'POR_MARGEN_ULT_COMP'
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.Alignment.Horz = taRightJustify
+ FooterAlignmentHorz = taRightJustify
+ HeaderAlignmentHorz = taRightJustify
+ end
+ object cxGridViewIMP_MARGEN_PRO_COMP: TcxGridDBColumn
+ Caption = 'Margen venta - compra pro.'
+ DataBinding.FieldName = 'IMP_MARGEN_PRO_COMP'
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.Alignment.Horz = taRightJustify
+ FooterAlignmentHorz = taRightJustify
+ HeaderAlignmentHorz = taRightJustify
+ end
+ object cxGridViewPOR_MARGEN_PRO_COMP: TcxGridDBColumn
+ Caption = '% margen venta - compra pro.'
+ DataBinding.FieldName = 'POR_MARGEN_PRO_COMP'
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.Alignment.Horz = taRightJustify
+ FooterAlignmentHorz = taRightJustify
+ HeaderAlignmentHorz = taRightJustify
+ end
+ object cxGridViewID_DETALLE: TcxGridDBColumn
+ DataBinding.FieldName = 'ID_DETALLE'
+ Hidden = True
+ end
+ object cxGridViewIMP_UNIDAD: TcxGridDBColumn
+ Caption = 'Precio uni. venta'
+ DataBinding.FieldName = 'IMP_UNIDAD'
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.Alignment.Horz = taRightJustify
+ FooterAlignmentHorz = taRightJustify
+ HeaderAlignmentHorz = taRightJustify
+ end
+ object cxGridViewIMP_NETO: TcxGridDBColumn
+ Caption = 'Precio neto venta'
+ DataBinding.FieldName = 'IMP_NETO'
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.Alignment.Horz = taRightJustify
+ FooterAlignmentHorz = taRightJustify
+ HeaderAlignmentHorz = taRightJustify
+ end
+ object cxGridViewIMP_PORTE: TcxGridDBColumn
+ Caption = 'Precio porte venta'
+ DataBinding.FieldName = 'IMP_PORTE'
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.Alignment.Horz = taLeftJustify
+ FooterAlignmentHorz = taRightJustify
+ HeaderAlignmentHorz = taRightJustify
+ end
+ object cxGridViewCANTIDAD: TcxGridDBColumn
+ Caption = 'Cantidad'
+ DataBinding.FieldName = 'CANTIDAD'
+ PropertiesClassName = 'TcxTextEditProperties'
+ Properties.Alignment.Horz = taRightJustify
+ FooterAlignmentHorz = taRightJustify
+ HeaderAlignmentHorz = taRightJustify
+ end
+ object cxGridViewIMP_TOTAL: TcxGridDBColumn
+ Caption = 'Importe total'
+ DataBinding.FieldName = 'IMP_TOTAL'
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.Alignment.Horz = taRightJustify
+ FooterAlignmentHorz = taRightJustify
+ HeaderAlignmentHorz = taRightJustify
+ end
+ object cxGridViewIMP_NETO_ULT_COM_TOTAL: TcxGridDBColumn
+ Caption = 'Imp. ult. com. total'
+ DataBinding.FieldName = 'IMP_NETO_ULT_COM_TOTAL'
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.Alignment.Horz = taRightJustify
+ FooterAlignmentHorz = taRightJustify
+ HeaderAlignmentHorz = taRightJustify
+ end
+ object cxGridViewIMP_NETO_PRO_COM_TOTAL: TcxGridDBColumn
+ Caption = 'Imp. com. pro. total'
+ DataBinding.FieldName = 'IMP_NETO_PRO_COM_TOTAL'
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.Alignment.Horz = taRightJustify
+ FooterAlignmentHorz = taRightJustify
+ HeaderAlignmentHorz = taRightJustify
+ end
+ object cxGridViewIMP_MARGEN_ULT_COMP_TOTAL: TcxGridDBColumn
+ Caption = 'Margen venta - ult. com. total'
+ DataBinding.FieldName = 'IMP_MARGEN_ULT_COMP_TOTAL'
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.Alignment.Horz = taRightJustify
+ FooterAlignmentHorz = taRightJustify
+ HeaderAlignmentHorz = taRightJustify
+ end
+ object cxGridViewIMP_MARGEN_PRO_COMP_TOTAL: TcxGridDBColumn
+ Caption = 'Margen venta - com. pro. total'
+ DataBinding.FieldName = 'IMP_MARGEN_PRO_COMP_TOTAL'
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.Alignment.Horz = taRightJustify
+ FooterAlignmentHorz = taRightJustify
+ HeaderAlignmentHorz = taRightJustify
+ end
end
object cxGridLevel: TcxGridLevel
GridView = cxGridView
diff --git a/Source/Modulos/Informe margen por articulo/Views/uViewInfMargenArticuloGrid.pas b/Source/Modulos/Informe margen por articulo/Views/uViewInfMargenArticuloGrid.pas
index aea40ba1..84339b09 100644
--- a/Source/Modulos/Informe margen por articulo/Views/uViewInfMargenArticuloGrid.pas
+++ b/Source/Modulos/Informe margen por articulo/Views/uViewInfMargenArticuloGrid.pas
@@ -68,6 +68,23 @@ type
cxGridViewIMP_NETO_PRO_VENT: TcxGridDBColumn;
cxGridViewIMP_PORTE_PRO_VENT: TcxGridDBColumn;
cxGridViewPOR_MARGEN_PRO_VENT_PRO_COMP: TcxGridDBColumn;
+ cxGridViewID_FACTURA: TcxGridDBColumn;
+ cxGridViewREFERENCIA_FACTURA: TcxGridDBColumn;
+ cxGridViewFECHA_FACTURA: TcxGridDBColumn;
+ cxGridViewIMP_UNIDAD: TcxGridDBColumn;
+ cxGridViewIMP_NETO: TcxGridDBColumn;
+ cxGridViewIMP_PORTE: TcxGridDBColumn;
+ cxGridViewIMP_MARGEN_ULT_COMP: TcxGridDBColumn;
+ cxGridViewPOR_MARGEN_ULT_COMP: TcxGridDBColumn;
+ cxGridViewIMP_MARGEN_PRO_COMP: TcxGridDBColumn;
+ cxGridViewPOR_MARGEN_PRO_COMP: TcxGridDBColumn;
+ cxGridViewID_DETALLE: TcxGridDBColumn;
+ cxGridViewCANTIDAD: TcxGridDBColumn;
+ cxGridViewIMP_TOTAL: TcxGridDBColumn;
+ cxGridViewIMP_NETO_ULT_COM_TOTAL: TcxGridDBColumn;
+ cxGridViewIMP_NETO_PRO_COM_TOTAL: TcxGridDBColumn;
+ cxGridViewIMP_MARGEN_ULT_COMP_TOTAL: TcxGridDBColumn;
+ cxGridViewIMP_MARGEN_PRO_COMP_TOTAL: TcxGridDBColumn;
procedure cxGridViewStylesGetContentStyle(
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
diff --git a/Source/Modulos/Informes base/Model/schInformesClient_Intf.pas b/Source/Modulos/Informes base/Model/schInformesClient_Intf.pas
index 241383e5..64278af4 100644
--- a/Source/Modulos/Informes base/Model/schInformesClient_Intf.pas
+++ b/Source/Modulos/Informes base/Model/schInformesClient_Intf.pas
@@ -9,7 +9,7 @@ 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_Informes = '{5395357F-3002-48E5-9BBB-814B0DCDA995}';
+ RID_Informes = '{F1EB3F72-7F66-4209-83FB-D24DF4D8C1AD}';
{ Data table names }
nme_Informes = 'Informes';
@@ -43,7 +43,7 @@ const
type
{ IInformes }
IInformes = interface(IDAStronglyTypedDataTable)
- ['{0C481E09-15DC-4433-8212-CEE3CA681EBC}']
+ ['{80065B7A-3C7F-4D5B-B205-398FA756792A}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
diff --git a/Source/Modulos/Informes base/Model/schInformesServer_Intf.pas b/Source/Modulos/Informes base/Model/schInformesServer_Intf.pas
index 3a7b268e..2bec6968 100644
--- a/Source/Modulos/Informes base/Model/schInformesServer_Intf.pas
+++ b/Source/Modulos/Informes base/Model/schInformesServer_Intf.pas
@@ -9,12 +9,12 @@ 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_InformesDelta = '{5493356F-BD0D-4517-83BC-DE697B7F2093}';
+ RID_InformesDelta = '{AAA7A7AB-E45E-41DB-AE01-37BC3B3447D8}';
type
{ IInformesDelta }
IInformesDelta = interface(IInformes)
- ['{5493356F-BD0D-4517-83BC-DE697B7F2093}']
+ ['{AAA7A7AB-E45E-41DB-AE01-37BC3B3447D8}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
diff --git a/Source/Modulos/Informes base/Servidor/srvInformes_Impl.dfm b/Source/Modulos/Informes base/Servidor/srvInformes_Impl.dfm
index 51372e70..1132c7ed 100644
--- a/Source/Modulos/Informes base/Servidor/srvInformes_Impl.dfm
+++ b/Source/Modulos/Informes base/Servidor/srvInformes_Impl.dfm
@@ -261,7 +261,7 @@ object srvInformes: TsrvInformes
end
item
Name = 'VISTA'
- DataType = datBlob
+ DataType = datMemo
BlobType = dabtUnknown
Value = ''
ParamType = daptInput
@@ -353,7 +353,7 @@ object srvInformes: TsrvInformes
end
item
Name = 'VISTA'
- DataType = datBlob
+ DataType = datMemo
BlobType = dabtUnknown
Value = ''
ParamType = daptInput
diff --git a/Source/Servidor/FactuGES_Server.bdsproj b/Source/Servidor/FactuGES_Server.bdsproj
index c618e8ca..53ef42e8 100644
--- a/Source/Servidor/FactuGES_Server.bdsproj
+++ b/Source/Servidor/FactuGES_Server.bdsproj
@@ -153,7 +153,7 @@
True
False
2
- 5
+ 6
0
0
False
@@ -167,17 +167,15 @@
Rodax Software S.L.
- 2.5.0.0
+ 2.6.0.0
FactuGES Server
- 2.4.0.0
+ 2.6.0.0
- miércoles, 05 de marzo de 2008 17:35
-
-
+ viernes, 28 de marzo de 2008 14:25
RemObjects Pascal Script - RemObjects SDK 3.0 Integration
diff --git a/Source/Servidor/FactuGES_Server.dpr b/Source/Servidor/FactuGES_Server.dpr
index 0fc87a19..5eb415f7 100644
--- a/Source/Servidor/FactuGES_Server.dpr
+++ b/Source/Servidor/FactuGES_Server.dpr
@@ -128,10 +128,10 @@ uses
schAlbaranesClienteServer_Intf in '..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteServer_Intf.pas',
schAlbaranesProveedorClient_Intf in '..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorClient_Intf.pas',
schAlbaranesProveedorServer_Intf in '..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorServer_Intf.pas',
- schInfMargenArticuloClient_Intf in '..\Modulos\Informe margen por articulo\Model\schInfMargenArticuloClient_Intf.pas',
- schInfMargenArticuloServer_Intf in '..\Modulos\Informe margen por articulo\Model\schInfMargenArticuloServer_Intf.pas',
schInformesClient_Intf in '..\Modulos\Informes base\Model\schInformesClient_Intf.pas',
- schInformesServer_Intf in '..\Modulos\Informes base\Model\schInformesServer_Intf.pas';
+ schInformesServer_Intf in '..\Modulos\Informes base\Model\schInformesServer_Intf.pas',
+ schInfMargenArticuloClient_Intf in '..\Modulos\Informe margen por articulo\Model\schInfMargenArticuloClient_Intf.pas',
+ schInfMargenArticuloServer_Intf in '..\Modulos\Informe margen por articulo\Model\schInfMargenArticuloServer_Intf.pas';
{$R *.res}
{$R ..\Servicios\RODLFile.res}
diff --git a/Source/Servidor/FactuGES_Server.rc b/Source/Servidor/FactuGES_Server.rc
index 09f1ae7a..a8d12f24 100644
--- a/Source/Servidor/FactuGES_Server.rc
+++ b/Source/Servidor/FactuGES_Server.rc
@@ -1,7 +1,7 @@
MAINICON ICON "c:\Codigo Luis Leon\Source\Iconos\Servidor.ico"
1 VERSIONINFO
-FILEVERSION 2,5,0,0
-PRODUCTVERSION 2,5,0,0
+FILEVERSION 2,6,0,0
+PRODUCTVERSION 2,6,0,0
FILEFLAGSMASK 0x3FL
FILEFLAGS 0x00L
FILEOS 0x40004L
@@ -13,10 +13,10 @@ BEGIN
BLOCK "0C0A04E4"
BEGIN
VALUE "CompanyName", "Rodax Software S.L.\0"
- VALUE "FileVersion", "2.5.0.0\0"
+ VALUE "FileVersion", "2.6.0.0\0"
VALUE "ProductName", "FactuGES Server\0"
- VALUE "ProductVersion", "2.5.0.0\0"
- VALUE "CompileDate", "viernes, 28 de marzo de 2008 14:25\0"
+ VALUE "ProductVersion", "2.6.0.0\0"
+ VALUE "CompileDate", "martes, 01 de abril de 2008 10:41\0"
END
END
BLOCK "VarFileInfo"
diff --git a/Source/Servidor/FactuGES_Server.res b/Source/Servidor/FactuGES_Server.res
index aa05f272..ab4090ad 100644
Binary files a/Source/Servidor/FactuGES_Server.res and b/Source/Servidor/FactuGES_Server.res differ