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