Se arregla informe por articulo de margenes para que importe pro si no se ha camprado salga importe articulo

git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES2/trunk@173 b2cfbe5a-eba1-4a0c-8b32-7feea0a119f2
This commit is contained in:
roberto 2012-08-31 17:15:07 +00:00
parent b7803aab26
commit 42f205aaf1
5 changed files with 548 additions and 530 deletions

Binary file not shown.

View File

@ -673,131 +673,150 @@ object srvInfMargenArticulo: TsrvInfMargenArticulo
'TE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,'#10#10'COALESCE(ARTICULOS.PRECI' + 'TE_PRO_VENT, 0) AS IMP_PORTE_PRO_VENT,'#10#10'COALESCE(ARTICULOS.PRECI' +
'O_COSTE, 0) AS IMP_UNIDAD_COMPRA,'#10'COALESCE(ARTICULOS.PRECIO_NETO' + 'O_COSTE, 0) AS IMP_UNIDAD_COMPRA,'#10'COALESCE(ARTICULOS.PRECIO_NETO' +
', 0) AS IMP_NETO_COMPRA,'#10'COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS ' + ', 0) AS IMP_NETO_COMPRA,'#10'COALESCE(ARTICULOS.PRECIO_PORTE, 0) AS ' +
'IMP_PORTE_COMPRA,'#10#10'COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_CO' + 'IMP_PORTE_COMPRA,'#10#10'case when MARGEN_COMPRAS.IMPORTE_UNIDAD_ULT_C' +
'MP, COALESCE(ARTICULOS.PRECIO_COSTE, 0)) AS IMP_UNIDAD_ULT_COMP,' + 'OMP = 0 then COALESCE(ARTICULOS.PRECIO_COSTE, 0)'#10'else MARGEN_COM' +
#10'COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, COALESCE(ARTICUL' + 'PRAS.IMPORTE_UNIDAD_ULT_COMP'#10'end as IMP_UNIDAD_ULT_COMP,'#10'case wh' +
'OS.PRECIO_NETO, 0)) AS IMP_NETO_ULT_COMP,'#10'COALESCE(MARGEN_COMPRA' + 'en MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 then COALESCE(ARTICU' +
'S.IMPORTE_PORTE_ULT_COMP, COALESCE(ARTICULOS.PRECIO_PORTE, 0)) A' + 'LOS.PRECIO_NETO, 0)'#10'else MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP'#10'en' +
'S IMP_PORTE_ULT_COMP,'#10#10'COALESCE(MARGEN_COMPRAS.IMPORTE_UNIDAD_PR' + 'd as IMP_NETO_ULT_COMP,'#10'case when MARGEN_COMPRAS.IMPORTE_PORTE_U' +
'O_COMP, COALESCE(ARTICULOS.PRECIO_COSTE, 0)) AS IMP_UNIDAD_PRO_C' + 'LT_COMP = 0 then COALESCE(ARTICULOS.PRECIO_PORTE, 0)'#10'else MARGEN' +
'OMP,'#10'COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, COALESCE(ART' + '_COMPRAS.IMPORTE_PORTE_ULT_COMP'#10'end as IMP_PORTE_ULT_COMP,'#10#10'case' +
'ICULOS.PRECIO_NETO, 0)) AS IMP_NETO_PRO_COMP,'#10'COALESCE(MARGEN_CO' + ' when MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO_COMP = 0 then COALESCE(A' +
'MPRAS.IMPORTE_PORTE_PRO_COMP, COALESCE(ARTICULOS.PRECIO_PORTE, 0' + 'RTICULOS.PRECIO_COSTE, 0)'#10'else MARGEN_COMPRAS.IMPORTE_UNIDAD_PRO' +
')) AS IMP_PORTE_PRO_COMP,'#10#10#10#10'MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT' + '_COMP'#10'end as IMP_UNIDAD_PRO_COMP,'#10'case when MARGEN_COMPRAS.IMPOR' +
' - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_ULT_VENT_COMPRA,'#10'CASE'#10'WHE' + 'TE_NETO_PRO_COMP = 0 then COALESCE(ARTICULOS.PRECIO_NETO, 0)'#10'els' +
'N ARTICULOS.PRECIO_NETO = 0 THEN 100'#10'WHEN (MARGEN_VENTAS.IMPORT' + 'e MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP'#10'end as IMP_NETO_PRO_COMP,' +
'E_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) > 0 THEN'#10' ((MARGEN_' + #10'case when MARGEN_COMPRAS.IMPORTE_PORTE_PRO_COMP = 0 then COALES' +
'VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) * 100) / M' + 'CE(ARTICULOS.PRECIO_PORTE, 0)'#10'else MARGEN_COMPRAS.IMPORTE_PORTE_' +
'ARGEN_VENTAS.IMPORTE_NETO_ULT_VENT'#10'ELSE 0'#10'END'#10'AS POR_MARGEN_ULT_' + 'PRO_COMP'#10'end as IMP_PORTE_PRO_COMP,'#10#10#10'MARGEN_VENTAS.IMPORTE_NETO' +
'VENT_COMPRA,'#10#10'MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - COALESCE(MAR' + '_ULT_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_ULT_VENT_COMPRA,' +
'GEN_COMPRAS.IMPORTE_NETO_ULT_COMP, COALESCE(ARTICULOS.PRECIO_NET' + #10'CASE'#10'WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100'#10'WHEN (MARGEN_VENT' +
'O, 0)) AS IMP_MARGEN_ULT_VENT_ULT_COMP,'#10'CASE'#10'WHEN COALESCE(MARG' + 'AS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) > 0 THEN'#10' ' +
'EN_COMPRAS.IMPORTE_NETO_ULT_COMP, COALESCE(ARTICULOS.PRECIO_NETO' + '((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) *' +
', 0)) = 0 THEN 100'#10'WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - C' + ' 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT'#10'ELSE 0'#10'END'#10'AS POR_MA' +
'OALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, COALESCE(ARTICULOS' + 'RGEN_ULT_VENT_COMPRA,'#10#10'MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - (ca' +
'.PRECIO_NETO, 0))) > 0 THEN'#10' ((MARGEN_VENTAS.IMPORTE_NETO_UL' + 'se when MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 then COALESCE(A' +
'T_VENT - COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, COALESCE' + 'RTICULOS.PRECIO_NETO, 0)'#10'else MARGEN_COMPRAS.IMPORTE_NETO_ULT_CO' +
'(ARTICULOS.PRECIO_NETO, 0))) * 100) / MARGEN_VENTAS.IMPORTE_NETO' + 'MP'#10'end) AS IMP_MARGEN_ULT_VENT_ULT_COMP,'#10'CASE'#10'WHEN (case when M' +
'_ULT_VENT'#10'ELSE 0'#10'END'#10'AS POR_MARGEN_ULT_VENT_ULT_COMP,'#10#10'MARGEN_VE' + 'ARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 then COALESCE(ARTICULOS.' +
'NTAS.IMPORTE_NETO_ULT_VENT - COALESCE(MARGEN_COMPRAS.IMPORTE_NET' + 'PRECIO_NETO, 0)'#10'else MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP'#10'end) =' +
'O_PRO_COMP, COALESCE(ARTICULOS.PRECIO_NETO, 0)) AS IMP_MARGEN_UL' + ' 0 THEN 100'#10'WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - (case wh' +
'T_VENT_PRO_COMP,'#10'CASE'#10'WHEN COALESCE(MARGEN_COMPRAS.IMPORTE_NETO' + 'en MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 then COALESCE(ARTICU' +
'_PRO_COMP, COALESCE(ARTICULOS.PRECIO_NETO, 0)) = 0 THEN 100'#10'WHEN' + 'LOS.PRECIO_NETO, 0)'#10'else MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP'#10'en' +
' (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - COALESCE(MARGEN_COMPRAS.' + 'd)) > 0 THEN'#10' ((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - (case ' +
'IMPORTE_NETO_PRO_COMP, COALESCE(ARTICULOS.PRECIO_NETO, 0))) > 0 ' + 'when MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 then COALESCE(ARTI' +
'THEN'#10' ((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - COALESCE(MARGE' + 'CULOS.PRECIO_NETO, 0)'#10'else MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP'#10 +
'N_COMPRAS.IMPORTE_NETO_PRO_COMP, COALESCE(ARTICULOS.PRECIO_NETO,' + 'end)) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT'#10'ELSE 0'#10'END'#10'AS' +
' 0))) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT'#10'ELSE 0'#10'END'#10'AS' + ' POR_MARGEN_ULT_VENT_ULT_COMP,'#10#10'MARGEN_VENTAS.IMPORTE_NETO_ULT_V' +
' POR_MARGEN_ULT_VENT_PRO_COMP,'#10#10#10'MARGEN_VENTAS.IMPORTE_NETO_PRO_' + 'ENT - (case when MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 then C' +
'VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA,'#10'CASE' + 'OALESCE(ARTICULOS.PRECIO_NETO, 0)'#10'else MARGEN_COMPRAS.IMPORTE_NE' +
#10'WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100'#10'WHEN (MARGEN_VENTAS.IM' + 'TO_PRO_COMP'#10'end ) AS IMP_MARGEN_ULT_VENT_PRO_COMP,'#10'CASE'#10'WHEN (c' +
'PORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) > 0 THEN'#10' ((MAR' + 'ase when MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 then COALESCE(' +
'GEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) * 100)' + 'ARTICULOS.PRECIO_NETO, 0)'#10'else MARGEN_COMPRAS.IMPORTE_NETO_PRO_C' +
' / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT'#10'ELSE 0'#10'END'#10'AS POR_MARGEN_' + 'OMP'#10'end ) = 0 THEN 100'#10'WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT' +
'PRO_VENT_COMPRA,'#10#10'MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - COALESCE' + ' - (case when MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 then COAL' +
'(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, COALESCE(ARTICULOS.PRECIO' + 'ESCE(ARTICULOS.PRECIO_NETO, 0)'#10'else MARGEN_COMPRAS.IMPORTE_NETO_' +
'_NETO, 0)) AS IMP_MARGEN_PRO_VENT_ULT_COMP,'#10'CASE'#10'WHEN COALESCE(' + 'PRO_COMP'#10'end )) > 0 THEN'#10' ((MARGEN_VENTAS.IMPORTE_NETO_ULT_V' +
'MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, COALESCE(ARTICULOS.PRECIO_' + 'ENT - (case when MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 then C' +
'NETO, 0)) = 0 THEN 100'#10'WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT' + 'OALESCE(ARTICULOS.PRECIO_NETO, 0)'#10'else MARGEN_COMPRAS.IMPORTE_NE' +
' - COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, COALESCE(ARTIC' + 'TO_PRO_COMP'#10'end )) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT'#10 +
'ULOS.PRECIO_NETO, 0))) > 0 THEN'#10' ((MARGEN_VENTAS.IMPORTE_NET' + 'ELSE 0'#10'END'#10'AS POR_MARGEN_ULT_VENT_PRO_COMP,'#10#10#10'MARGEN_VENTAS.IMPO' +
'O_PRO_VENT - COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, COAL' + 'RTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT' +
'ESCE(ARTICULOS.PRECIO_NETO, 0))) * 100) / MARGEN_VENTAS.IMPORTE_' + '_COMPRA,'#10'CASE'#10'WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100'#10'WHEN (MAR' +
'NETO_PRO_VENT'#10'ELSE 0'#10'END'#10'AS POR_MARGEN_PRO_VENT_ULT_COMP,'#10#10'MARGE' + 'GEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) > 0 TH' +
'N_VENTAS.IMPORTE_NETO_PRO_VENT - COALESCE(MARGEN_COMPRAS.IMPORTE' + 'EN'#10' ((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO' +
'_NETO_PRO_COMP, COALESCE(ARTICULOS.PRECIO_NETO, 0)) AS IMP_MARGE' + '_NETO) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT'#10'ELSE 0'#10'END'#10'A' +
'N_PRO_VENT_PRO_COMP,'#10'CASE'#10'WHEN COALESCE(MARGEN_COMPRAS.IMPORTE_' + 'S POR_MARGEN_PRO_VENT_COMPRA,'#10#10'MARGEN_VENTAS.IMPORTE_NETO_PRO_VE' +
'NETO_PRO_COMP, COALESCE(ARTICULOS.PRECIO_NETO, 0)) = 0 THEN 100'#10 + 'NT - (case when MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 then CO' +
'WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - COALESCE(MARGEN_COMP' + 'ALESCE(ARTICULOS.PRECIO_NETO, 0)'#10'else MARGEN_COMPRAS.IMPORTE_NET' +
'RAS.IMPORTE_NETO_PRO_COMP, COALESCE(ARTICULOS.PRECIO_NETO, 0))) ' + 'O_ULT_COMP'#10'end) AS IMP_MARGEN_PRO_VENT_ULT_COMP,'#10'CASE'#10'WHEN (cas' +
'> 0 THEN'#10' ((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - COALESCE(M' + 'e when MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 then COALESCE(AR' +
'ARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, COALESCE(ARTICULOS.PRECIO_N' + 'TICULOS.PRECIO_NETO, 0)'#10'else MARGEN_COMPRAS.IMPORTE_NETO_ULT_COM' +
'ETO, 0))) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT'#10'ELSE 0'#10'EN' + 'P'#10'end) = 0 THEN 100'#10'WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ' +
'D'#10'AS POR_MARGEN_PRO_VENT_PRO_COMP'#10#10'FROM'#10#10#10'(SELECT ID_EMPRESA,'#10' ' + '(case when MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 then COALESC' +
' ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IM' + 'E(ARTICULOS.PRECIO_NETO, 0)'#10'else MARGEN_COMPRAS.IMPORTE_NETO_ULT' +
'PORTE_UNIDAD_ULT_VENT,'#10' COALESCE(SUM(IMPORTE_NETO_ULT_VENT' + '_COMP'#10'end)) > 0 THEN'#10' ((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ' +
'),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VE' + '- (case when MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 then COALE' +
'NT),0) AS IMPORTE_PORTE_ULT_VENT,'#10' COALESCE(SUM(IMPORTE_UN' + 'SCE(ARTICULOS.PRECIO_NETO, 0)'#10'else MARGEN_COMPRAS.IMPORTE_NETO_U' +
'IDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPOR' + 'LT_COMP'#10'end)) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT'#10'ELSE ' +
'TE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT,'#10' COALESCE(S' + '0'#10'END'#10'AS POR_MARGEN_PRO_VENT_ULT_COMP,'#10#10'MARGEN_VENTAS.IMPORTE_NE' +
'UM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT'#10#10' FROM'#10' ' + 'TO_PRO_VENT - (case when MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = ' +
' (SELECT'#10' ID_EMPRESA,'#10' ID_ARTICULO,'#10' IMPORTE_UNI' + '0 then COALESCE(ARTICULOS.PRECIO_NETO, 0)'#10'else MARGEN_COMPRAS.IM' +
'DAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPO' + 'PORTE_NETO_PRO_COMP'#10'end ) AS IMP_MARGEN_PRO_VENT_PRO_COMP,'#10'CASE'#10 +
'RTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT' + 'WHEN (case when MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 then C' +
','#10' NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PR' + 'OALESCE(ARTICULOS.PRECIO_NETO, 0)'#10'else MARGEN_COMPRAS.IMPORTE_NE' +
'O_VENT, NULL AS IMPORTE_PORTE_PRO_VENT'#10#10' FROM V_INF_ULTVEN_PO' + 'TO_PRO_COMP'#10'end ) = 0 THEN 100'#10'WHEN (MARGEN_VENTAS.IMPORTE_NETO_' +
'RARTICULO'#10#10' UNION ALL'#10#10' SELECT'#10' FACTURAS_CLIENTE.ID_E' + 'PRO_VENT - (case when MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 t' +
'MPRESA,'#10' FACTURAS_CLIENTE_DETALLES.ID_ARTICULO,'#10' NULL,' + 'hen COALESCE(ARTICULOS.PRECIO_NETO, 0)'#10'else MARGEN_COMPRAS.IMPOR' +
' NULL, NULL,'#10' AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD)' + 'TE_NETO_PRO_COMP'#10'end )) > 0 THEN'#10' ((MARGEN_VENTAS.IMPORTE_NE' +
' AS IMPORTE_UNIDAD_PRO_VENT,'#10' AVG(FACTURAS_CLIENTE_DETALLES' + 'TO_PRO_VENT - (case when MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = ' +
'.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (F' + '0 then COALESCE(ARTICULOS.PRECIO_NETO, 0)'#10'else MARGEN_COMPRAS.IM' +
'ACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_' + 'PORTE_NETO_PRO_COMP'#10'end )) * 100) / MARGEN_VENTAS.IMPORTE_NETO_P' +
'VENT,'#10' AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPO' + 'RO_VENT'#10'ELSE 0'#10'END'#10'AS POR_MARGEN_PRO_VENT_PRO_COMP'#10#10'FROM'#10#10#10'(SELE' +
'RTE_PORTE_PRO_VENT'#10#10' FROM FACTURAS_CLIENTE_DETALLES'#10' LEFT ' + 'CT ID_EMPRESA,'#10' ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_U' +
'OUTER JOIN FACTURAS_CLIENTE'#10' ON (FACTURAS_CLIENTE.ID = FACTUR' + 'LT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT,'#10' COALESCE(SUM(IMPO' +
'AS_CLIENTE_DETALLES.ID_FACTURA)'#10#10' WHERE (FACTURAS_CLIENTE_DET' + 'RTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMP' +
'ALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID' + 'ORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT,'#10' COALES' +
'_ARTICULO > 0)'#10' AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD > 0' + 'CE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, C' +
')'#10' AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AN' + 'OALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT,'#10 +
'D :FECHAFIN)'#10' GROUP BY 1, 2)'#10#10' GROUP BY 1, 2'#10' having SUM(IMPO' + ' COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_' +
'RTE_NETO_PRO_VENT) > 0 /*Solo queremos aquellos articulos que se' + 'PRO_VENT'#10#10' FROM'#10' (SELECT'#10' ID_EMPRESA,'#10' ID_ARTICULO,'#10 +
' hayan vendido en ese periodo de fechas*/'#10' ) MARGEN_VENTAS'#10#10#10'LE' + ' IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_N' +
'FT JOIN'#10#10#10'(SELECT'#10' ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPO' + 'ETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPOR' +
'RTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM' + 'TE_PORTE_ULT_VENT,'#10' NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL A' +
'(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP,'#10' COALESC' + 'S IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT'#10#10' FRO' +
'E(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COAL' + 'M V_INF_ULTVEN_PORARTICULO'#10#10' UNION ALL'#10#10' SELECT'#10' FACT' +
'ESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),COALESCE(SUM(IMPORTE_UNIDAD_UL' + 'URAS_CLIENTE.ID_EMPRESA,'#10' FACTURAS_CLIENTE_DETALLES.ID_ARTI' +
'T_COMP),0)) AS IMPORTE_UNIDAD_PRO_COMP,'#10' COALESCE(SUM(IMPORTE' + 'CULO,'#10' NULL, NULL, NULL,'#10' AVG(FACTURAS_CLIENTE_DETALLE' +
'_NETO_PRO_COMP),COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0)) AS IMPOR' + 'S.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT,'#10' AVG(FACTURAS' +
'TE_NETO_PRO_COMP,'#10' COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),COALE' + '_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IM' +
'SCE(SUM(IMPORTE_PORTE_ULT_COMP),0)) AS IMPORTE_PORTE_PRO_COMP'#10#10' ' + 'PORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS ' +
'FROM'#10' (SELECT'#10' ID_EMPRESA, ID_ARTICULO,'#10' IMPORTE_UNI' + 'IMPORTE_NETO_PRO_VENT,'#10' AVG(FACTURAS_CLIENTE_DETALLES.IMPOR' +
'DAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IM' + 'TE_PORTE) AS IMPORTE_PORTE_PRO_VENT'#10#10' FROM FACTURAS_CLIENTE_D' +
'PORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_C' + 'ETALLES'#10' LEFT OUTER JOIN FACTURAS_CLIENTE'#10' ON (FACTURAS_CL' +
'OMP,'#10' NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO' + 'IENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA)'#10#10' WHERE (FAC' +
'_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP'#10#10' FROM V_INF_ULTCOM' + 'TURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CL' +
'_PORARTICULO'#10#10' UNION ALL'#10#10' SELECT'#10' FACTURAS_PROVEEDOR' + 'IENTE_DETALLES.ID_ARTICULO > 0)'#10' AND (FACTURAS_CLIENTE_DETA' +
'.ID_EMPRESA,'#10' FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO,'#10' ' + 'LLES.CANTIDAD > 0)'#10' AND (FACTURAS_CLIENTE.FECHA_FACTURA BET' +
' NULL, NULL, NULL,'#10' AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORT' + 'WEEN :FECHAINI AND :FECHAFIN)'#10' GROUP BY 1, 2)'#10#10' GROUP BY 1, 2' +
'E_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP,'#10' AVG(FACTURAS_PROVEED' + #10' having SUM(IMPORTE_NETO_PRO_VENT) > 0 /*Solo queremos aquellos' +
'OR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORT' + ' articulos que se hayan vendido en ese periodo de fechas*/'#10' ) M' +
'E_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IM' + 'ARGEN_VENTAS'#10#10#10'LEFT JOIN'#10#10#10'(SELECT'#10' ID_EMPRESA, ID_ARTICULO, ' +
'PORTE_NETO_PRO_COMP,'#10' AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR' + 'COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_C' +
'TE_PORTE) AS IMPORTE_PORTE_PRO_COMP'#10#10' FROM FACTURAS_PROVEEDOR' + 'OMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_' +
'_DETALLES'#10' LEFT OUTER JOIN FACTURAS_PROVEEDOR'#10' ON (FACTURA' + 'COMP,'#10' COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_POR' +
'S_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA)'#10#10' WH' + 'TE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),COALESCE(SUM(' +
'ERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (F' + 'IMPORTE_UNIDAD_ULT_COMP),0)) AS IMPORTE_UNIDAD_PRO_COMP,'#10' COA' +
'ACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO > 0)'#10' AND (FACTURAS_' + 'LESCE(SUM(IMPORTE_NETO_PRO_COMP),COALESCE(SUM(IMPORTE_NETO_ULT_C' +
'PROVEEDOR_DETALLES.CANTIDAD > 0)'#10' /*Las compras promedio de' + 'OMP),0)) AS IMPORTE_NETO_PRO_COMP,'#10' COALESCE(SUM(IMPORTE_PORT' +
'ben de calcularse desde el principio de los tiempos hasta ahora*' + 'E_PRO_COMP),COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0)) AS IMPORTE_' +
'/'#10' AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN '#39'12.12.200' + 'PORTE_PRO_COMP'#10#10' FROM'#10' (SELECT'#10' ID_EMPRESA, ID_ARTICULO,'#10 +
'0'#39' AND current_date)'#10' GROUP BY 1, 2)'#10#10' GROUP BY 1, 2) MARGEN' + ' IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_' +
'_COMPRAS'#10#10#10'ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPR' + 'NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IM' +
'ESA)'#10'AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO' + 'PORTE_PORTE_ULT_COMP,'#10' NULL AS IMPORTE_UNIDAD_PRO_COMP, NUL' +
')'#10#10#10'LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTI' + 'L AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP'#10#10' ' +
'CULO)'#10'LEFT JOIN CONTACTOS PROVEEDORES ON (PROVEEDORES.ID = ARTIC' + 'FROM V_INF_ULTCOM_PORARTICULO'#10#10' UNION ALL'#10#10' SELECT'#10' F' +
'ULOS.ID_PROVEEDOR)'#10'WHERE ARTICULOS.INVENTARIABLE = 1) INF_MARGEN' + 'ACTURAS_PROVEEDOR.ID_EMPRESA,'#10' FACTURAS_PROVEEDOR_DETALLES.' +
'_ARTICULOS'#10 'ID_ARTICULO,'#10' NULL, NULL, NULL,'#10' AVG(FACTURAS_PROVEEDO' +
'R_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP,'#10' AVG' +
'(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDO' +
'R_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUEN' +
'TO / 100))) AS IMPORTE_NETO_PRO_COMP,'#10' AVG(FACTURAS_PROVEED' +
'OR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP'#10#10' FROM F' +
'ACTURAS_PROVEEDOR_DETALLES'#10' LEFT OUTER JOIN FACTURAS_PROVEEDO' +
'R'#10' ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID' +
'_FACTURA)'#10#10' WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS' +
' NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO > 0)'#10' ' +
' AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD > 0)'#10' /*Las co' +
'mpras promedio deben de calcularse desde el principio de los tie' +
'mpos hasta ahora*/'#10' AND (FACTURAS_PROVEEDOR.FECHA_FACTURA B' +
'ETWEEN '#39'12.12.2000'#39' AND current_date)'#10' GROUP BY 1, 2)'#10#10' GROU' +
'P BY 1, 2) MARGEN_COMPRAS'#10#10#10'ON (MARGEN_COMPRAS.ID_EMPRESA = MARG' +
'EN_VENTAS.ID_EMPRESA)'#10'AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_V' +
'ENTAS.ID_ARTICULO)'#10#10#10'LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARG' +
'EN_VENTAS.ID_ARTICULO)'#10'LEFT JOIN CONTACTOS PROVEEDORES ON (PROVE' +
'EDORES.ID = ARTICULOS.ID_PROVEEDOR)'#10'WHERE ARTICULOS.INVENTARIABL' +
'E = 1) INF_MARGEN_ARTICULOS'#10
StatementType = stSQL StatementType = stSQL
ColumnMappings = < ColumnMappings = <
item item

Binary file not shown.

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<ProjectGuid>{ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1}</ProjectGuid> <ProjectGuid>{ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1}</ProjectGuid>
@ -36,7 +36,6 @@
<Borland.ProjectType/> <Borland.ProjectType/>
<BorlandProject> <BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters><Parameters Name="RunParams">/standalone</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">4</VersionInfo><VersionInfo Name="MinorVer">2</VersionInfo><VersionInfo Name="Release">4</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">4.2.4.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">4.2.4.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys><VersionInfoKeys Name="CompileDate">lunes, 30 de julio de 2012 17:17</VersionInfoKeys></VersionInfoKeys><Excluded_Packages> <BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters><Parameters Name="RunParams">/standalone</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">4</VersionInfo><VersionInfo Name="MinorVer">2</VersionInfo><VersionInfo Name="Release">4</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">4.2.4.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">4.2.4.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys><VersionInfoKeys Name="CompileDate">lunes, 30 de julio de 2012 17:17</VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<Excluded_Packages Name="C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPSCoreD11.bpl">ExpressPrinting System by Developer Express Inc.</Excluded_Packages> <Excluded_Packages Name="C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPSCoreD11.bpl">ExpressPrinting System by Developer Express Inc.</Excluded_Packages>
</Excluded_Packages><Source><Source Name="MainSource">FactuGES_Server.dpr</Source></Source></Delphi.Personality><ModelSupport>False</ModelSupport></BorlandProject></BorlandProject> </Excluded_Packages><Source><Source Name="MainSource">FactuGES_Server.dpr</Source></Source></Delphi.Personality><ModelSupport>False</ModelSupport></BorlandProject></BorlandProject>
</ProjectExtensions> </ProjectExtensions>

View File

@ -14,7 +14,7 @@ BEGIN
BEGIN BEGIN
VALUE "FileVersion", "4.2.4.0\0" VALUE "FileVersion", "4.2.4.0\0"
VALUE "ProductVersion", "4.2.4.0\0" VALUE "ProductVersion", "4.2.4.0\0"
VALUE "CompileDate", "jueves, 30 de agosto de 2012 18:57\0" VALUE "CompileDate", "viernes, 31 de agosto de 2012 19:05\0"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"