Se arregla informe de margen, no se calcula el margen en el caso de articulos que no se han comprado nunca (no hay factura de proveedor), se tendrá en cuenta el precio coste de la ficha del articulo en estos casos.
git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES2/trunk@162 b2cfbe5a-eba1-4a0c-8b32-7feea0a119f2
This commit is contained in:
parent
7665d5c889
commit
2f89bbf506
BIN
Build/Build.fbl6
BIN
Build/Build.fbl6
Binary file not shown.
Binary file not shown.
@ -54,58 +54,6 @@
|
|||||||
<DelphiCompile Include="Base.dpk">
|
<DelphiCompile Include="Base.dpk">
|
||||||
<MainSource>MainSource</MainSource>
|
<MainSource>MainSource</MainSource>
|
||||||
</DelphiCompile>
|
</DelphiCompile>
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\adortl.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\cxDataD11.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\cxEditorsD11.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\cxExportD11.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\cxExtEditorsD11.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\cxGridD11.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\cxIntl6D11.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\cxIntlPrintSys3D11.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\cxLibraryD11.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\cxPageControlD11.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\DataAbstract_Core_D11.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\dbrtl.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\dclIndyCore.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\designide.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\dsnap.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\dxCoreD11.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\dxGDIPlusD11.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\dxPSCoreD11.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\dxThemeD11.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\GUISDK_D11R.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\IndyCore.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\IndyProtocols.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\IndySystem.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\Jcl.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\JclVcl.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\JSDialog100.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\JvCmpD11R.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\JvCoreD11R.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\JvCtrlsD11R.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\JvDlgsD11R.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\JvMMD11R.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\JvNetD11R.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\JvPageCompsD11R.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\JvStdCtrlsD11R.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\JvSystemD11R.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\pckMD5.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\pckUCDataConnector.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\pckUserControl_RT.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\PngComponentsD10.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\PNG_D10.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\RemObjects_Core_D11.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\RemObjects_Indy_D11.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\rtl.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\TB2k_D10.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\tbx_d10.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\vcl.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\vclactnband.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\vcldb.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\vcljpg.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\VclSmp.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\vclx.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Gestor de informes\Views\xmlrtl.dcp" />
|
|
||||||
<DCCReference Include="..\Modulos\Impresiones\Data\uDataModuleImpresiones.pas">
|
<DCCReference Include="..\Modulos\Impresiones\Data\uDataModuleImpresiones.pas">
|
||||||
<Form>DataModuleImpresiones</Form>
|
<Form>DataModuleImpresiones</Form>
|
||||||
<DesignClass>TDataModule</DesignClass>
|
<DesignClass>TDataModule</DesignClass>
|
||||||
@ -115,6 +63,58 @@
|
|||||||
<DesignClass>TDataModule</DesignClass>
|
<DesignClass>TDataModule</DesignClass>
|
||||||
</DCCReference>
|
</DCCReference>
|
||||||
<DCCReference Include="..\Servicios\FactuGES_Intf.pas" />
|
<DCCReference Include="..\Servicios\FactuGES_Intf.pas" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\adortl.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\cxDataD11.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\cxEditorsD11.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\cxExportD11.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\cxExtEditorsD11.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\cxGridD11.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\cxIntl6D11.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\cxIntlPrintSys3D11.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\cxLibraryD11.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\cxPageControlD11.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\DataAbstract_Core_D11.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\dbrtl.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\dclIndyCore.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\designide.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\dsnap.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\dxCoreD11.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\dxGDIPlusD11.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\dxPSCoreD11.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\dxThemeD11.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\GUISDK_D11R.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\IndyCore.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\IndyProtocols.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\IndySystem.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\Jcl.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\JclVcl.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\JSDialog100.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\JvCmpD11R.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\JvCoreD11R.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\JvCtrlsD11R.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\JvDlgsD11R.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\JvMMD11R.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\JvNetD11R.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\JvPageCompsD11R.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\JvStdCtrlsD11R.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\JvSystemD11R.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\pckMD5.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\pckUCDataConnector.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\pckUserControl_RT.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\PngComponentsD10.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\PNG_D10.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\RemObjects_Core_D11.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\RemObjects_Indy_D11.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\rtl.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\TB2k_D10.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\tbx_d10.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\vcl.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\vclactnband.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\vcldb.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\vcljpg.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\VclSmp.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\vclx.dcp" />
|
||||||
|
<DCCReference Include="C:\Documents and Settings\Usuario\xmlrtl.dcp" />
|
||||||
<DCCReference Include="Conexion\uConfigurarConexion.pas">
|
<DCCReference Include="Conexion\uConfigurarConexion.pas">
|
||||||
<Form>fConfigurarConexion</Form>
|
<Form>fConfigurarConexion</Form>
|
||||||
<DesignClass>TForm</DesignClass>
|
<DesignClass>TForm</DesignClass>
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
MAINICON ICON "C:\Codigo\Resources\Iconos\Factuges.ico"
|
MAINICON ICON "C:\Codigo\Resources\Iconos\Factuges.ico"
|
||||||
1 VERSIONINFO
|
1 VERSIONINFO
|
||||||
FILEVERSION 4,2,2,0
|
FILEVERSION 4,2,3,0
|
||||||
PRODUCTVERSION 4,2,2,0
|
PRODUCTVERSION 4,2,3,0
|
||||||
FILEFLAGSMASK 0x3FL
|
FILEFLAGSMASK 0x3FL
|
||||||
FILEFLAGS 0x00L
|
FILEFLAGS 0x00L
|
||||||
FILEOS 0x40004L
|
FILEOS 0x40004L
|
||||||
@ -13,10 +13,10 @@ BEGIN
|
|||||||
BLOCK "0C0A04E4"
|
BLOCK "0C0A04E4"
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "CompanyName", "Rodax Software S.L.\0"
|
VALUE "CompanyName", "Rodax Software S.L.\0"
|
||||||
VALUE "FileVersion", "4.2.2.0\0"
|
VALUE "FileVersion", "4.2.3.0\0"
|
||||||
VALUE "InternalName", "FactuGES\0"
|
VALUE "InternalName", "FactuGES\0"
|
||||||
VALUE "ProductName", "FactuGES\0"
|
VALUE "ProductName", "FactuGES\0"
|
||||||
VALUE "ProductVersion", "4.2.2.0\0"
|
VALUE "ProductVersion", "4.2.3.0\0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
|||||||
Binary file not shown.
@ -14,4 +14,4 @@ END
|
|||||||
|
|
||||||
/* C:\Codigo\Source\Modulos\Informe margen por articulo\Data\uDataModuleInfMargenArticulo.dfm */
|
/* C:\Codigo\Source\Modulos\Informe margen por articulo\Data\uDataModuleInfMargenArticulo.dfm */
|
||||||
/* C:\Codigo\Source\Modulos\Informe margen por articulo\Data\InfMargenArticulo_data.res */
|
/* C:\Codigo\Source\Modulos\Informe margen por articulo\Data\InfMargenArticulo_data.res */
|
||||||
/* c:\temp\dtf1D2.tmp */
|
/* c:\temp\dtf119.tmp */
|
||||||
|
|||||||
@ -13,4 +13,4 @@ BEGIN
|
|||||||
END
|
END
|
||||||
|
|
||||||
/* C:\Codigo\Source\Modulos\Informe margen por articulo\Model\InfMargenArticulo_model.res */
|
/* C:\Codigo\Source\Modulos\Informe margen por articulo\Model\InfMargenArticulo_model.res */
|
||||||
/* c:\temp\dtf1D0.tmp */
|
/* c:\temp\dtf117.tmp */
|
||||||
|
|||||||
@ -94,106 +94,118 @@ object srvInfMargenArticulo: TsrvInfMargenArticulo
|
|||||||
' ARTICULOS.PRECIO_NETO) > 0 THEN'#10' ((MARGEN_VENTAS.IMPORTE_NE' +
|
' ARTICULOS.PRECIO_NETO) > 0 THEN'#10' ((MARGEN_VENTAS.IMPORTE_NE' +
|
||||||
'TO_ULT_VENT - ARTICULOS.PRECIO_NETO) * 100) / MARGEN_VENTAS.IMPO' +
|
'TO_ULT_VENT - ARTICULOS.PRECIO_NETO) * 100) / MARGEN_VENTAS.IMPO' +
|
||||||
'RTE_NETO_ULT_VENT'#10'ELSE 0'#10'END'#10'AS POR_MARGEN_ULT_VENT_COMPRA,'#10#10'MAR' +
|
'RTE_NETO_ULT_VENT'#10'ELSE 0'#10'END'#10'AS POR_MARGEN_ULT_VENT_COMPRA,'#10#10'MAR' +
|
||||||
'GEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_U' +
|
'GEN_VENTAS.IMPORTE_NETO_ULT_VENT - COALESCE(MARGEN_COMPRAS.IMPOR' +
|
||||||
'LT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP,'#10'CASE'#10'WHEN MARGEN_COMPR' +
|
'TE_NETO_ULT_COMP, COALESCE(ARTICULOS.PRECIO_NETO, 0)) AS IMP_MAR' +
|
||||||
'AS.IMPORTE_NETO_ULT_COMP = 0 THEN 100'#10'WHEN (MARGEN_VENTAS.IMPORT' +
|
'GEN_ULT_VENT_ULT_COMP,'#10'CASE'#10'WHEN COALESCE(MARGEN_COMPRAS.IMPORT' +
|
||||||
'E_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) > 0 THEN' +
|
'E_NETO_ULT_COMP, COALESCE(ARTICULOS.PRECIO_NETO, 0)) = 0 THEN 10' +
|
||||||
#10' ((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMP' +
|
'0'#10'WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - COALESCE(MARGEN_CO' +
|
||||||
'ORTE_NETO_ULT_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT' +
|
'MPRAS.IMPORTE_NETO_ULT_COMP, COALESCE(ARTICULOS.PRECIO_NETO, 0))' +
|
||||||
#10'ELSE 0'#10'END'#10'AS POR_MARGEN_ULT_VENT_ULT_COMP,'#10#10'MARGEN_VENTAS.IMPO' +
|
') > 0 THEN'#10' ((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - COALESCE' +
|
||||||
'RTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_' +
|
'(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, COALESCE(ARTICULOS.PRECIO' +
|
||||||
'MARGEN_ULT_VENT_PRO_COMP,'#10'CASE'#10'WHEN MARGEN_COMPRAS.IMPORTE_NETO' +
|
'_NETO, 0))) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT'#10'ELSE 0'#10 +
|
||||||
'_PRO_COMP = 0 THEN 100'#10'WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT' +
|
'END'#10'AS POR_MARGEN_ULT_VENT_ULT_COMP,'#10#10'MARGEN_VENTAS.IMPORTE_NETO' +
|
||||||
' - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) > 0 THEN'#10' ((MARGEN_' +
|
'_ULT_VENT - COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, COALE' +
|
||||||
'VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_C' +
|
'SCE(ARTICULOS.PRECIO_NETO, 0)) AS IMP_MARGEN_ULT_VENT_PRO_COMP,'#10 +
|
||||||
'OMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT'#10'ELSE 0'#10'END'#10'AS ' +
|
'CASE'#10'WHEN COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, COALES' +
|
||||||
'POR_MARGEN_ULT_VENT_PRO_COMP,'#10#10#10'MARGEN_VENTAS.IMPORTE_NETO_PRO_V' +
|
'CE(ARTICULOS.PRECIO_NETO, 0)) = 0 THEN 100'#10'WHEN (MARGEN_VENTAS.I' +
|
||||||
'ENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA,'#10'CASE'#10 +
|
'MPORTE_NETO_ULT_VENT - COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_' +
|
||||||
'WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100'#10'WHEN (MARGEN_VENTAS.IMP' +
|
'COMP, COALESCE(ARTICULOS.PRECIO_NETO, 0))) > 0 THEN'#10' ((MARGE' +
|
||||||
'ORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) > 0 THEN'#10' ((MARG' +
|
'N_VENTAS.IMPORTE_NETO_ULT_VENT - COALESCE(MARGEN_COMPRAS.IMPORTE' +
|
||||||
'EN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) * 100) ' +
|
'_NETO_PRO_COMP, COALESCE(ARTICULOS.PRECIO_NETO, 0))) * 100) / MA' +
|
||||||
|
'RGEN_VENTAS.IMPORTE_NETO_ULT_VENT'#10'ELSE 0'#10'END'#10'AS POR_MARGEN_ULT_V' +
|
||||||
|
'ENT_PRO_COMP,'#10#10#10'MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.' +
|
||||||
|
'PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA,'#10'CASE'#10'WHEN ARTICULOS.' +
|
||||||
|
'PRECIO_NETO = 0 THEN 100'#10'WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VE' +
|
||||||
|
'NT - ARTICULOS.PRECIO_NETO) > 0 THEN'#10' ((MARGEN_VENTAS.IMPORT' +
|
||||||
|
'E_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) * 100) / MARGEN_VENTAS.' +
|
||||||
|
'IMPORTE_NETO_PRO_VENT'#10'ELSE 0'#10'END'#10'AS POR_MARGEN_PRO_VENT_COMPRA,'#10 +
|
||||||
|
#10'MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - COALESCE(MARGEN_COMPRAS.I' +
|
||||||
|
'MPORTE_NETO_ULT_COMP, COALESCE(ARTICULOS.PRECIO_NETO, 0)) AS IMP' +
|
||||||
|
'_MARGEN_PRO_VENT_ULT_COMP,'#10'CASE'#10'WHEN COALESCE(MARGEN_COMPRAS.IM' +
|
||||||
|
'PORTE_NETO_ULT_COMP, COALESCE(ARTICULOS.PRECIO_NETO, 0)) = 0 THE' +
|
||||||
|
'N 100'#10'WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - COALESCE(MARGE' +
|
||||||
|
'N_COMPRAS.IMPORTE_NETO_ULT_COMP, COALESCE(ARTICULOS.PRECIO_NETO,' +
|
||||||
|
' 0))) > 0 THEN'#10' ((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - COAL' +
|
||||||
|
'ESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, COALESCE(ARTICULOS.PR' +
|
||||||
|
'ECIO_NETO, 0))) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT'#10'ELS' +
|
||||||
|
'E 0'#10'END'#10'AS POR_MARGEN_PRO_VENT_ULT_COMP,'#10#10'MARGEN_VENTAS.IMPORTE_' +
|
||||||
|
'NETO_PRO_VENT - COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, C' +
|
||||||
|
'OALESCE(ARTICULOS.PRECIO_NETO, 0)) AS IMP_MARGEN_PRO_VENT_PRO_CO' +
|
||||||
|
'MP,'#10'CASE'#10'WHEN COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, CO' +
|
||||||
|
'ALESCE(ARTICULOS.PRECIO_NETO, 0)) = 0 THEN 100'#10'WHEN (MARGEN_VENT' +
|
||||||
|
'AS.IMPORTE_NETO_PRO_VENT - COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_' +
|
||||||
|
'PRO_COMP, COALESCE(ARTICULOS.PRECIO_NETO, 0))) > 0 THEN'#10' ((M' +
|
||||||
|
'ARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - COALESCE(MARGEN_COMPRAS.IMP' +
|
||||||
|
'ORTE_NETO_PRO_COMP, COALESCE(ARTICULOS.PRECIO_NETO, 0))) * 100) ' +
|
||||||
'/ MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT'#10'ELSE 0'#10'END'#10'AS POR_MARGEN_P' +
|
'/ MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT'#10'ELSE 0'#10'END'#10'AS POR_MARGEN_P' +
|
||||||
'RO_VENT_COMPRA,'#10#10'MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_CO' +
|
'RO_VENT_PRO_COMP'#10#10'FROM'#10#10#10'(SELECT ID_EMPRESA, ID_CLIENTE, ID_ARTI' +
|
||||||
'MPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_VENT_ULT_COMP,'#10'CAS' +
|
'CULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD' +
|
||||||
'E'#10'WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100'#10'WHEN (' +
|
'_ULT_VENT,'#10' COALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPO' +
|
||||||
'MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NET' +
|
'RTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IM' +
|
||||||
'O_ULT_COMP) > 0 THEN'#10' ((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT ' +
|
'PORTE_PORTE_ULT_VENT,'#10' COALESCE(SUM(IMPORTE_UNIDAD_PRO_VEN' +
|
||||||
'- MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) * 100) / MARGEN_VENTAS.I' +
|
'T),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_' +
|
||||||
'MPORTE_NETO_PRO_VENT'#10'ELSE 0'#10'END'#10'AS POR_MARGEN_PRO_VENT_ULT_COMP,' +
|
'VENT),0) AS IMPORTE_NETO_PRO_VENT,'#10' COALESCE(SUM(IMPORTE_P' +
|
||||||
#10#10'MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_N' +
|
'ORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT'#10#10' FROM'#10' (SELECT'#10' ' +
|
||||||
'ETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP,'#10'CASE'#10'WHEN MARGEN_' +
|
' ID_EMPRESA, ID_CLIENTE, ID_ARTICULO,'#10' IMPORTE_UNIDAD_VE' +
|
||||||
'COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100'#10'WHEN (MARGEN_VENTAS.I' +
|
'NTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPORTE_NE' +
|
||||||
'MPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) > 0' +
|
'TO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT,'#10' ' +
|
||||||
' THEN'#10' ((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRA' +
|
' NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PRO_VENT' +
|
||||||
'S.IMPORTE_NETO_PRO_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO' +
|
', NULL AS IMPORTE_PORTE_PRO_VENT'#10#10' FROM V_INF_ULTVEN_PORCLIEN' +
|
||||||
'_VENT'#10'ELSE 0'#10'END'#10'AS POR_MARGEN_PRO_VENT_PRO_COMP'#10#10'FROM'#10#10#10'(SELECT' +
|
'TE'#10#10' UNION ALL'#10#10' SELECT'#10' FACTURAS_CLIENTE.ID_EMPRESA,' +
|
||||||
' ID_EMPRESA, ID_CLIENTE, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDA' +
|
#10' FACTURAS_CLIENTE.ID_CLIENTE,'#10' FACTURAS_CLIENTE_DETAL' +
|
||||||
'D_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT,'#10' COALESCE(SUM(I' +
|
'LES.ID_ARTICULO,'#10' NULL, NULL, NULL,'#10' AVG(FACTURAS_CLIE' +
|
||||||
'MPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(' +
|
'NTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT,'#10' A' +
|
||||||
'IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT,'#10' COA' +
|
'VG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_' +
|
||||||
'LESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT' +
|
'DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUENTO /' +
|
||||||
', COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VEN' +
|
' 100))) AS IMPORTE_NETO_PRO_VENT,'#10' AVG(FACTURAS_CLIENTE_DET' +
|
||||||
'T,'#10' COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_POR' +
|
'ALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT'#10#10' FROM FACTURA' +
|
||||||
'TE_PRO_VENT'#10#10' FROM'#10' (SELECT'#10' ID_EMPRESA, ID_CLIENTE, ID_A' +
|
'S_CLIENTE_DETALLES'#10' LEFT OUTER JOIN FACTURAS_CLIENTE'#10' ON (' +
|
||||||
'RTICULO,'#10' IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, ' +
|
'FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA)'#10#10' ' +
|
||||||
'IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA' +
|
' WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) AND (' +
|
||||||
' AS IMPORTE_PORTE_ULT_VENT,'#10' NULL AS IMPORTE_UNIDAD_PRO_VEN' +
|
'FACTURAS_CLIENTE_DETALLES.ID_ARTICULO > 0)'#10' AND (FACTURAS_C' +
|
||||||
'T, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PRO_VENT' +
|
'LIENTE_DETALLES.CANTIDAD > 0)'#10' AND (FACTURAS_CLIENTE.FECHA_' +
|
||||||
#10#10' FROM V_INF_ULTVEN_PORCLIENTE'#10#10' UNION ALL'#10#10' SELECT'#10' ' +
|
'FACTURA BETWEEN :FECHAINI AND :FECHAFIN)'#10' GROUP BY 1, 2, 3)'#10#10 +
|
||||||
' FACTURAS_CLIENTE.ID_EMPRESA,'#10' FACTURAS_CLIENTE.ID_CLIEN' +
|
' GROUP BY 1, 2, 3'#10' having SUM(IMPORTE_NETO_PRO_VENT) > 0 /*Solo ' +
|
||||||
'TE,'#10' FACTURAS_CLIENTE_DETALLES.ID_ARTICULO,'#10' NULL, NUL' +
|
'queremos aquellos articulos que se hayan vendido en ese periodo ' +
|
||||||
'L, NULL,'#10' AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD) AS ' +
|
'de fechas*/'#10' ) MARGEN_VENTAS'#10#10#10'LEFT JOIN'#10#10#10'(SELECT'#10' ID_EMPRE' +
|
||||||
'IMPORTE_UNIDAD_PRO_VENT,'#10' AVG(FACTURAS_CLIENTE_DETALLES.IMP' +
|
'SA, ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMP' +
|
||||||
'ORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (FACTU' +
|
'ORTE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS ' +
|
||||||
'RAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_VENT' +
|
'IMPORTE_NETO_ULT_COMP,'#10' COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),' +
|
||||||
','#10' AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPORTE_' +
|
'0) AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_CO' +
|
||||||
'PORTE_PRO_VENT'#10#10' FROM FACTURAS_CLIENTE_DETALLES'#10' LEFT OUTE' +
|
'MP),SUM(IMPORTE_UNIDAD_ULT_COMP)) AS IMPORTE_UNIDAD_PRO_COMP,'#10' ' +
|
||||||
'R JOIN FACTURAS_CLIENTE'#10' ON (FACTURAS_CLIENTE.ID = FACTURAS_C' +
|
' COALESCE(SUM(IMPORTE_NETO_PRO_COMP),SUM(IMPORTE_NETO_ULT_COMP)' +
|
||||||
'LIENTE_DETALLES.ID_FACTURA)'#10#10' WHERE (FACTURAS_CLIENTE_DETALLE' +
|
') AS IMPORTE_NETO_PRO_COMP, COALESCE(SUM(IMPORTE_PORTE_PRO_COMP)' +
|
||||||
'S.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID_ART' +
|
',SUM(IMPORTE_PORTE_ULT_COMP)) AS IMPORTE_PORTE_PRO_COMP'#10#10' FROM'#10' ' +
|
||||||
'ICULO > 0)'#10' AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD > 0)'#10' ' +
|
' (SELECT'#10' ID_EMPRESA, ID_ARTICULO,'#10' IMPORTE_UNIDAD_CO' +
|
||||||
' AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AND :F' +
|
'MPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_' +
|
||||||
'ECHAFIN)'#10' GROUP BY 1, 2, 3)'#10#10' GROUP BY 1, 2, 3'#10' having SUM(IM' +
|
'NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_COMP,'#10' ' +
|
||||||
'PORTE_NETO_PRO_VENT) > 0 /*Solo queremos aquellos articulos que ' +
|
' NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO_PRO_C' +
|
||||||
'se hayan vendido en ese periodo de fechas*/'#10' ) MARGEN_VENTAS'#10#10#10 +
|
'OMP, NULL AS IMPORTE_PORTE_PRO_COMP'#10#10' FROM V_INF_ULTCOM_PORAR' +
|
||||||
'LEFT JOIN'#10#10#10'(SELECT'#10' ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IM' +
|
'TICULO'#10#10' UNION ALL'#10#10' SELECT'#10' FACTURAS_PROVEEDOR.ID_EM' +
|
||||||
'PORTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(S' +
|
'PRESA,'#10' FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO,'#10' NULL' +
|
||||||
'UM(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP,'#10' COALE' +
|
', NULL, NULL,'#10' AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNID' +
|
||||||
'SCE(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, CO' +
|
'AD) AS IMPORTE_UNIDAD_PRO_COMP,'#10' AVG(FACTURAS_PROVEEDOR_DET' +
|
||||||
'ALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),SUM(IMPORTE_UNIDAD_ULT_COMP)' +
|
'ALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNID' +
|
||||||
') AS IMPORTE_UNIDAD_PRO_COMP,'#10' COALESCE(SUM(IMPORTE_NETO_PRO_' +
|
'AD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IMPORTE_' +
|
||||||
'COMP),SUM(IMPORTE_NETO_ULT_COMP)) AS IMPORTE_NETO_PRO_COMP, COAL' +
|
'NETO_PRO_COMP,'#10' AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_POR' +
|
||||||
'ESCE(SUM(IMPORTE_PORTE_PRO_COMP),SUM(IMPORTE_PORTE_ULT_COMP)) AS' +
|
'TE) AS IMPORTE_PORTE_PRO_COMP'#10#10' FROM FACTURAS_PROVEEDOR_DETAL' +
|
||||||
' IMPORTE_PORTE_PRO_COMP'#10#10' FROM'#10' (SELECT'#10' ID_EMPRESA, ID_A' +
|
'LES'#10' LEFT OUTER JOIN FACTURAS_PROVEEDOR'#10' ON (FACTURAS_PROV' +
|
||||||
'RTICULO,'#10' IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP,' +
|
'EEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA)'#10#10' WHERE (F' +
|
||||||
' IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_PORTE_COM' +
|
'ACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (FACTURA' +
|
||||||
'PRA AS IMPORTE_PORTE_ULT_COMP,'#10' NULL AS IMPORTE_UNIDAD_PRO_' +
|
'S_PROVEEDOR_DETALLES.ID_ARTICULO > 0)'#10' AND (FACTURAS_PROVEE' +
|
||||||
'COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_C' +
|
'DOR_DETALLES.CANTIDAD > 0)'#10' /*Las compras promedio deben de' +
|
||||||
'OMP'#10#10' FROM V_INF_ULTCOM_PORARTICULO'#10#10' UNION ALL'#10#10' SELEC' +
|
' calcularse desde el principio de los tiempos hasta ahora*/'#10' ' +
|
||||||
'T'#10' FACTURAS_PROVEEDOR.ID_EMPRESA,'#10' FACTURAS_PROVEEDOR_' +
|
' AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN '#39'12.12.2000'#39' AND' +
|
||||||
'DETALLES.ID_ARTICULO,'#10' NULL, NULL, NULL,'#10' AVG(FACTURAS' +
|
' current_date)'#10' GROUP BY 1, 2)'#10#10' GROUP BY 1, 2) MARGEN_COMPR' +
|
||||||
'_PROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP,'#10 +
|
'AS'#10#10#10'ON (MARGEN_COMPRAS.ID_EMPRESA = MARGEN_VENTAS.ID_EMPRESA)'#10'A' +
|
||||||
' AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FACTURAS' +
|
'ND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO)'#10#10#10'LE' +
|
||||||
'_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_DETALLE' +
|
'FT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTICULO)'#10 +
|
||||||
'S.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP,'#10' AVG(FACTURA' +
|
'LEFT JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = MARGEN_VENTAS.ID_' +
|
||||||
'S_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_COMP'#10#10' ' +
|
'CLIENTE)'#10'LEFT JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE ' +
|
||||||
' FROM FACTURAS_PROVEEDOR_DETALLES'#10' LEFT OUTER JOIN FACTURAS' +
|
'= CLIENTES.ID)'#10'LEFT JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIE' +
|
||||||
'_PROVEEDOR'#10' ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DE' +
|
'NTES_DATOS.ID_AGENTE)'#10'LEFT JOIN CONTACTOS PROVEEDORES ON (PROVEE' +
|
||||||
'TALLES.ID_FACTURA)'#10#10' WHERE (FACTURAS_PROVEEDOR_DETALLES.ID_AR' +
|
'DORES.ID = ARTICULOS.ID_PROVEEDOR)'#10'WHERE ARTICULOS.INVENTARIABLE' +
|
||||||
'TICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO' +
|
' = 1) INF_MARGEN_ARTICULOS'#10
|
||||||
' > 0)'#10' AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD > 0)'#10' ' +
|
|
||||||
' /*Las compras promedio deben de calcularse desde el principio d' +
|
|
||||||
'e los tiempos hasta 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_EMPRE' +
|
|
||||||
'SA = MARGEN_VENTAS.ID_EMPRESA)'#10'AND (MARGEN_COMPRAS.ID_ARTICULO =' +
|
|
||||||
' MARGEN_VENTAS.ID_ARTICULO)'#10#10#10'LEFT JOIN ARTICULOS ON (ARTICULOS.' +
|
|
||||||
'ID = MARGEN_VENTAS.ID_ARTICULO)'#10'LEFT JOIN CONTACTOS CLIENTES ON ' +
|
|
||||||
'(CLIENTES.ID = MARGEN_VENTAS.ID_CLIENTE)'#10'LEFT JOIN CLIENTES_DATO' +
|
|
||||||
'S ON (CLIENTES_DATOS.ID_CLIENTE = CLIENTES.ID)'#10'LEFT JOIN CONTACT' +
|
|
||||||
'OS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)'#10'LEFT JOIN ' +
|
|
||||||
'CONTACTOS PROVEEDORES ON (PROVEEDORES.ID = ARTICULOS.ID_PROVEEDO' +
|
|
||||||
'R)'#10'WHERE ARTICULOS.INVENTARIABLE = 1) INF_MARGEN_ARTICULOS'
|
|
||||||
StatementType = stSQL
|
StatementType = stSQL
|
||||||
ColumnMappings = <
|
ColumnMappings = <
|
||||||
item
|
item
|
||||||
@ -677,103 +689,115 @@ object srvInfMargenArticulo: TsrvInfMargenArticulo
|
|||||||
'E_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) > 0 THEN'#10' ((MARGEN_' +
|
'E_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) > 0 THEN'#10' ((MARGEN_' +
|
||||||
'VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) * 100) / M' +
|
'VENTAS.IMPORTE_NETO_ULT_VENT - ARTICULOS.PRECIO_NETO) * 100) / M' +
|
||||||
'ARGEN_VENTAS.IMPORTE_NETO_ULT_VENT'#10'ELSE 0'#10'END'#10'AS POR_MARGEN_ULT_' +
|
'ARGEN_VENTAS.IMPORTE_NETO_ULT_VENT'#10'ELSE 0'#10'END'#10'AS POR_MARGEN_ULT_' +
|
||||||
'VENT_COMPRA,'#10#10'MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPR' +
|
'VENT_COMPRA,'#10#10'MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - COALESCE(MAR' +
|
||||||
'AS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_ULT_VENT_ULT_COMP,'#10'CASE'#10'W' +
|
'GEN_COMPRAS.IMPORTE_NETO_ULT_COMP, COALESCE(ARTICULOS.PRECIO_NET' +
|
||||||
'HEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = 0 THEN 100'#10'WHEN (MAR' +
|
'O, 0)) AS IMP_MARGEN_ULT_VENT_ULT_COMP,'#10'CASE'#10'WHEN COALESCE(MARG' +
|
||||||
'GEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_U' +
|
'EN_COMPRAS.IMPORTE_NETO_ULT_COMP, COALESCE(ARTICULOS.PRECIO_NETO' +
|
||||||
'LT_COMP) > 0 THEN'#10' ((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - M' +
|
', 0)) = 0 THEN 100'#10'WHEN (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - C' +
|
||||||
'ARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) * 100) / MARGEN_VENTAS.IMPO' +
|
'OALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, COALESCE(ARTICULOS' +
|
||||||
'RTE_NETO_ULT_VENT'#10'ELSE 0'#10'END'#10'AS POR_MARGEN_ULT_VENT_ULT_COMP,'#10#10'M' +
|
'.PRECIO_NETO, 0))) > 0 THEN'#10' ((MARGEN_VENTAS.IMPORTE_NETO_UL' +
|
||||||
'ARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO' +
|
'T_VENT - COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, COALESCE' +
|
||||||
'_PRO_COMP AS IMP_MARGEN_ULT_VENT_PRO_COMP,'#10'CASE'#10'WHEN MARGEN_COM' +
|
'(ARTICULOS.PRECIO_NETO, 0))) * 100) / MARGEN_VENTAS.IMPORTE_NETO' +
|
||||||
'PRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100'#10'WHEN (MARGEN_VENTAS.IMPO' +
|
'_ULT_VENT'#10'ELSE 0'#10'END'#10'AS POR_MARGEN_ULT_VENT_ULT_COMP,'#10#10'MARGEN_VE' +
|
||||||
'RTE_NETO_ULT_VENT - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) > 0 TH' +
|
'NTAS.IMPORTE_NETO_ULT_VENT - COALESCE(MARGEN_COMPRAS.IMPORTE_NET' +
|
||||||
'EN'#10' ((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - MARGEN_COMPRAS.I' +
|
'O_PRO_COMP, COALESCE(ARTICULOS.PRECIO_NETO, 0)) AS IMP_MARGEN_UL' +
|
||||||
'MPORTE_NETO_PRO_COMP) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VE' +
|
'T_VENT_PRO_COMP,'#10'CASE'#10'WHEN COALESCE(MARGEN_COMPRAS.IMPORTE_NETO' +
|
||||||
'NT'#10'ELSE 0'#10'END'#10'AS POR_MARGEN_ULT_VENT_PRO_COMP,'#10#10#10'MARGEN_VENTAS.I' +
|
'_PRO_COMP, COALESCE(ARTICULOS.PRECIO_NETO, 0)) = 0 THEN 100'#10'WHEN' +
|
||||||
'MPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_V' +
|
' (MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - COALESCE(MARGEN_COMPRAS.' +
|
||||||
'ENT_COMPRA,'#10'CASE'#10'WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100'#10'WHEN (' +
|
'IMPORTE_NETO_PRO_COMP, COALESCE(ARTICULOS.PRECIO_NETO, 0))) > 0 ' +
|
||||||
'MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) > 0' +
|
'THEN'#10' ((MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT - COALESCE(MARGE' +
|
||||||
' THEN'#10' ((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRE' +
|
'N_COMPRAS.IMPORTE_NETO_PRO_COMP, COALESCE(ARTICULOS.PRECIO_NETO,' +
|
||||||
'CIO_NETO) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT'#10'ELSE 0'#10'EN' +
|
' 0))) * 100) / MARGEN_VENTAS.IMPORTE_NETO_ULT_VENT'#10'ELSE 0'#10'END'#10'AS' +
|
||||||
'D'#10'AS POR_MARGEN_PRO_VENT_COMPRA,'#10#10'MARGEN_VENTAS.IMPORTE_NETO_PRO' +
|
' POR_MARGEN_ULT_VENT_PRO_COMP,'#10#10#10'MARGEN_VENTAS.IMPORTE_NETO_PRO_' +
|
||||||
'_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP AS IMP_MARGEN_PRO_V' +
|
'VENT - ARTICULOS.PRECIO_NETO AS IMP_MARGEN_PRO_VENT_COMPRA,'#10'CASE' +
|
||||||
'ENT_ULT_COMP,'#10'CASE'#10'WHEN MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP = ' +
|
#10'WHEN ARTICULOS.PRECIO_NETO = 0 THEN 100'#10'WHEN (MARGEN_VENTAS.IM' +
|
||||||
'0 THEN 100'#10'WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_CO' +
|
'PORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) > 0 THEN'#10' ((MAR' +
|
||||||
'MPRAS.IMPORTE_NETO_ULT_COMP) > 0 THEN'#10' ((MARGEN_VENTAS.IMPOR' +
|
'GEN_VENTAS.IMPORTE_NETO_PRO_VENT - ARTICULOS.PRECIO_NETO) * 100)' +
|
||||||
'TE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP) * 100) ' +
|
' / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT'#10'ELSE 0'#10'END'#10'AS POR_MARGEN_' +
|
||||||
'/ MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT'#10'ELSE 0'#10'END'#10'AS POR_MARGEN_P' +
|
'PRO_VENT_COMPRA,'#10#10'MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - COALESCE' +
|
||||||
'RO_VENT_ULT_COMP,'#10#10'MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_' +
|
'(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, COALESCE(ARTICULOS.PRECIO' +
|
||||||
'COMPRAS.IMPORTE_NETO_PRO_COMP AS IMP_MARGEN_PRO_VENT_PRO_COMP,'#10'C' +
|
'_NETO, 0)) AS IMP_MARGEN_PRO_VENT_ULT_COMP,'#10'CASE'#10'WHEN COALESCE(' +
|
||||||
'ASE'#10'WHEN MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP = 0 THEN 100'#10'WHEN' +
|
'MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, COALESCE(ARTICULOS.PRECIO_' +
|
||||||
' (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - MARGEN_COMPRAS.IMPORTE_N' +
|
'NETO, 0)) = 0 THEN 100'#10'WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT' +
|
||||||
'ETO_PRO_COMP) > 0 THEN'#10' ((MARGEN_VENTAS.IMPORTE_NETO_PRO_VEN' +
|
' - COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, COALESCE(ARTIC' +
|
||||||
'T - MARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP) * 100) / MARGEN_VENTAS' +
|
'ULOS.PRECIO_NETO, 0))) > 0 THEN'#10' ((MARGEN_VENTAS.IMPORTE_NET' +
|
||||||
'.IMPORTE_NETO_PRO_VENT'#10'ELSE 0'#10'END'#10'AS POR_MARGEN_PRO_VENT_PRO_COM' +
|
'O_PRO_VENT - COALESCE(MARGEN_COMPRAS.IMPORTE_NETO_ULT_COMP, COAL' +
|
||||||
'P'#10#10'FROM'#10#10#10'(SELECT ID_EMPRESA,'#10' ID_ARTICULO, COALESCE(SUM(I' +
|
'ESCE(ARTICULOS.PRECIO_NETO, 0))) * 100) / MARGEN_VENTAS.IMPORTE_' +
|
||||||
'MPORTE_UNIDAD_ULT_VENT),0) AS IMPORTE_UNIDAD_ULT_VENT,'#10' CO' +
|
'NETO_PRO_VENT'#10'ELSE 0'#10'END'#10'AS POR_MARGEN_PRO_VENT_ULT_COMP,'#10#10'MARGE' +
|
||||||
'ALESCE(SUM(IMPORTE_NETO_ULT_VENT),0) AS IMPORTE_NETO_ULT_VENT, C' +
|
'N_VENTAS.IMPORTE_NETO_PRO_VENT - COALESCE(MARGEN_COMPRAS.IMPORTE' +
|
||||||
'OALESCE(SUM(IMPORTE_PORTE_ULT_VENT),0) AS IMPORTE_PORTE_ULT_VENT' +
|
'_NETO_PRO_COMP, COALESCE(ARTICULOS.PRECIO_NETO, 0)) AS IMP_MARGE' +
|
||||||
','#10' COALESCE(SUM(IMPORTE_UNIDAD_PRO_VENT),0) AS IMPORTE_UNI' +
|
'N_PRO_VENT_PRO_COMP,'#10'CASE'#10'WHEN COALESCE(MARGEN_COMPRAS.IMPORTE_' +
|
||||||
'DAD_PRO_VENT, COALESCE(SUM(IMPORTE_NETO_PRO_VENT),0) AS IMPORTE_' +
|
'NETO_PRO_COMP, COALESCE(ARTICULOS.PRECIO_NETO, 0)) = 0 THEN 100'#10 +
|
||||||
'NETO_PRO_VENT,'#10' COALESCE(SUM(IMPORTE_PORTE_PRO_VENT),0) AS' +
|
'WHEN (MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - COALESCE(MARGEN_COMP' +
|
||||||
' IMPORTE_PORTE_PRO_VENT'#10#10' FROM'#10' (SELECT'#10' ID_EMPRESA,'#10' ' +
|
'RAS.IMPORTE_NETO_PRO_COMP, COALESCE(ARTICULOS.PRECIO_NETO, 0))) ' +
|
||||||
' ID_ARTICULO,'#10' IMPORTE_UNIDAD_VENTA AS IMPORTE_UNIDAD_ULT_' +
|
'> 0 THEN'#10' ((MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT - COALESCE(M' +
|
||||||
'VENT, IMPORTE_NETO_VENTA AS IMPORTE_NETO_ULT_VENT, IMPORTE_PORTE' +
|
'ARGEN_COMPRAS.IMPORTE_NETO_PRO_COMP, COALESCE(ARTICULOS.PRECIO_N' +
|
||||||
'_VENTA AS IMPORTE_PORTE_ULT_VENT,'#10' NULL AS IMPORTE_UNIDAD_P' +
|
'ETO, 0))) * 100) / MARGEN_VENTAS.IMPORTE_NETO_PRO_VENT'#10'ELSE 0'#10'EN' +
|
||||||
'RO_VENT, NULL AS IMPORTE_NETO_PRO_VENT, NULL AS IMPORTE_PORTE_PR' +
|
'D'#10'AS POR_MARGEN_PRO_VENT_PRO_COMP'#10#10'FROM'#10#10#10'(SELECT ID_EMPRESA,'#10' ' +
|
||||||
'O_VENT'#10#10' FROM V_INF_ULTVEN_PORARTICULO'#10#10' UNION ALL'#10#10' SE' +
|
' ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_VENT),0) AS IM' +
|
||||||
'LECT'#10' FACTURAS_CLIENTE.ID_EMPRESA,'#10' FACTURAS_CLIENTE_D' +
|
'PORTE_UNIDAD_ULT_VENT,'#10' COALESCE(SUM(IMPORTE_NETO_ULT_VENT' +
|
||||||
'ETALLES.ID_ARTICULO,'#10' NULL, NULL, NULL,'#10' AVG(FACTURAS_' +
|
'),0) AS IMPORTE_NETO_ULT_VENT, COALESCE(SUM(IMPORTE_PORTE_ULT_VE' +
|
||||||
'CLIENTE_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_VENT,'#10' ' +
|
'NT),0) AS IMPORTE_PORTE_ULT_VENT,'#10' COALESCE(SUM(IMPORTE_UN' +
|
||||||
' AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD - (FACTURAS_CLIE' +
|
'IDAD_PRO_VENT),0) AS IMPORTE_UNIDAD_PRO_VENT, COALESCE(SUM(IMPOR' +
|
||||||
'NTE_DETALLES.IMPORTE_UNIDAD * (FACTURAS_CLIENTE_DETALLES.DESCUEN' +
|
'TE_NETO_PRO_VENT),0) AS IMPORTE_NETO_PRO_VENT,'#10' COALESCE(S' +
|
||||||
'TO / 100))) AS IMPORTE_NETO_PRO_VENT,'#10' AVG(FACTURAS_CLIENTE' +
|
'UM(IMPORTE_PORTE_PRO_VENT),0) AS IMPORTE_PORTE_PRO_VENT'#10#10' FROM'#10' ' +
|
||||||
'_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_VENT'#10#10' FROM FAC' +
|
' (SELECT'#10' ID_EMPRESA,'#10' ID_ARTICULO,'#10' IMPORTE_UNI' +
|
||||||
'TURAS_CLIENTE_DETALLES'#10' LEFT OUTER JOIN FACTURAS_CLIENTE'#10' ' +
|
'DAD_VENTA AS IMPORTE_UNIDAD_ULT_VENT, IMPORTE_NETO_VENTA AS IMPO' +
|
||||||
'ON (FACTURAS_CLIENTE.ID = FACTURAS_CLIENTE_DETALLES.ID_FACTURA)'#10 +
|
'RTE_NETO_ULT_VENT, IMPORTE_PORTE_VENTA AS IMPORTE_PORTE_ULT_VENT' +
|
||||||
#10' WHERE (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO IS NOT NULL) A' +
|
','#10' NULL AS IMPORTE_UNIDAD_PRO_VENT, NULL AS IMPORTE_NETO_PR' +
|
||||||
'ND (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO > 0)'#10' AND (FACTUR' +
|
'O_VENT, NULL AS IMPORTE_PORTE_PRO_VENT'#10#10' FROM V_INF_ULTVEN_PO' +
|
||||||
'AS_CLIENTE_DETALLES.CANTIDAD > 0)'#10' AND (FACTURAS_CLIENTE.FE' +
|
'RARTICULO'#10#10' UNION ALL'#10#10' SELECT'#10' FACTURAS_CLIENTE.ID_E' +
|
||||||
'CHA_FACTURA BETWEEN :FECHAINI AND :FECHAFIN)'#10' GROUP BY 1, 2)'#10 +
|
'MPRESA,'#10' FACTURAS_CLIENTE_DETALLES.ID_ARTICULO,'#10' NULL,' +
|
||||||
#10' GROUP BY 1, 2'#10' having SUM(IMPORTE_NETO_PRO_VENT) > 0 /*Solo qu' +
|
' NULL, NULL,'#10' AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD)' +
|
||||||
'eremos aquellos articulos que se hayan vendido en ese periodo de' +
|
' AS IMPORTE_UNIDAD_PRO_VENT,'#10' AVG(FACTURAS_CLIENTE_DETALLES' +
|
||||||
' fechas*/'#10' ) MARGEN_VENTAS'#10#10#10'LEFT JOIN'#10#10#10'(SELECT'#10' ID_EMPRESA' +
|
'.IMPORTE_UNIDAD - (FACTURAS_CLIENTE_DETALLES.IMPORTE_UNIDAD * (F' +
|
||||||
', ID_ARTICULO, COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0) AS IMPOR' +
|
'ACTURAS_CLIENTE_DETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_' +
|
||||||
'TE_UNIDAD_ULT_COMP, COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0) AS IM' +
|
'VENT,'#10' AVG(FACTURAS_CLIENTE_DETALLES.IMPORTE_PORTE) AS IMPO' +
|
||||||
'PORTE_NETO_ULT_COMP,'#10' COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),0)' +
|
'RTE_PORTE_PRO_VENT'#10#10' FROM FACTURAS_CLIENTE_DETALLES'#10' LEFT ' +
|
||||||
' AS IMPORTE_PORTE_ULT_COMP, COALESCE(SUM(IMPORTE_UNIDAD_PRO_COMP' +
|
'OUTER JOIN FACTURAS_CLIENTE'#10' ON (FACTURAS_CLIENTE.ID = FACTUR' +
|
||||||
'),COALESCE(SUM(IMPORTE_UNIDAD_ULT_COMP),0)) AS IMPORTE_UNIDAD_PR' +
|
'AS_CLIENTE_DETALLES.ID_FACTURA)'#10#10' WHERE (FACTURAS_CLIENTE_DET' +
|
||||||
'O_COMP,'#10' COALESCE(SUM(IMPORTE_NETO_PRO_COMP),COALESCE(SUM(IMP' +
|
'ALLES.ID_ARTICULO IS NOT NULL) AND (FACTURAS_CLIENTE_DETALLES.ID' +
|
||||||
'ORTE_NETO_ULT_COMP),0)) AS IMPORTE_NETO_PRO_COMP,'#10' COALESCE(S' +
|
'_ARTICULO > 0)'#10' AND (FACTURAS_CLIENTE_DETALLES.CANTIDAD > 0' +
|
||||||
'UM(IMPORTE_PORTE_PRO_COMP),COALESCE(SUM(IMPORTE_PORTE_ULT_COMP),' +
|
')'#10' AND (FACTURAS_CLIENTE.FECHA_FACTURA BETWEEN :FECHAINI AN' +
|
||||||
'0)) AS IMPORTE_PORTE_PRO_COMP'#10#10' FROM'#10' (SELECT'#10' ID_EMPRESA' +
|
'D :FECHAFIN)'#10' GROUP BY 1, 2)'#10#10' GROUP BY 1, 2'#10' having SUM(IMPO' +
|
||||||
', ID_ARTICULO,'#10' IMPORTE_UNIDAD_COMPRA AS IMPORTE_UNIDAD_ULT' +
|
'RTE_NETO_PRO_VENT) > 0 /*Solo queremos aquellos articulos que se' +
|
||||||
'_COMP, IMPORTE_NETO_COMPRA AS IMPORTE_NETO_ULT_COMP, IMPORTE_POR' +
|
' hayan vendido en ese periodo de fechas*/'#10' ) MARGEN_VENTAS'#10#10#10'LE' +
|
||||||
'TE_COMPRA AS IMPORTE_PORTE_ULT_COMP,'#10' NULL AS IMPORTE_UNIDA' +
|
'FT JOIN'#10#10#10'(SELECT'#10' ID_EMPRESA, ID_ARTICULO, COALESCE(SUM(IMPO' +
|
||||||
'D_PRO_COMP, NULL AS IMPORTE_NETO_PRO_COMP, NULL AS IMPORTE_PORTE' +
|
'RTE_UNIDAD_ULT_COMP),0) AS IMPORTE_UNIDAD_ULT_COMP, COALESCE(SUM' +
|
||||||
'_PRO_COMP'#10#10' FROM V_INF_ULTCOM_PORARTICULO'#10#10' UNION ALL'#10#10' ' +
|
'(IMPORTE_NETO_ULT_COMP),0) AS IMPORTE_NETO_ULT_COMP,'#10' COALESC' +
|
||||||
' SELECT'#10' FACTURAS_PROVEEDOR.ID_EMPRESA,'#10' FACTURAS_PROV' +
|
'E(SUM(IMPORTE_PORTE_ULT_COMP),0) AS IMPORTE_PORTE_ULT_COMP, COAL' +
|
||||||
'EEDOR_DETALLES.ID_ARTICULO,'#10' NULL, NULL, NULL,'#10' AVG(FA' +
|
'ESCE(SUM(IMPORTE_UNIDAD_PRO_COMP),COALESCE(SUM(IMPORTE_UNIDAD_UL' +
|
||||||
'CTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD) AS IMPORTE_UNIDAD_PRO_' +
|
'T_COMP),0)) AS IMPORTE_UNIDAD_PRO_COMP,'#10' COALESCE(SUM(IMPORTE' +
|
||||||
'COMP,'#10' AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD - (FA' +
|
'_NETO_PRO_COMP),COALESCE(SUM(IMPORTE_NETO_ULT_COMP),0)) AS IMPOR' +
|
||||||
'CTURAS_PROVEEDOR_DETALLES.IMPORTE_UNIDAD * (FACTURAS_PROVEEDOR_D' +
|
'TE_NETO_PRO_COMP,'#10' COALESCE(SUM(IMPORTE_PORTE_PRO_COMP),COALE' +
|
||||||
'ETALLES.DESCUENTO / 100))) AS IMPORTE_NETO_PRO_COMP,'#10' AVG(F' +
|
'SCE(SUM(IMPORTE_PORTE_ULT_COMP),0)) AS IMPORTE_PORTE_PRO_COMP'#10#10' ' +
|
||||||
'ACTURAS_PROVEEDOR_DETALLES.IMPORTE_PORTE) AS IMPORTE_PORTE_PRO_C' +
|
'FROM'#10' (SELECT'#10' ID_EMPRESA, ID_ARTICULO,'#10' IMPORTE_UNI' +
|
||||||
'OMP'#10#10' FROM FACTURAS_PROVEEDOR_DETALLES'#10' LEFT OUTER JOIN FA' +
|
'DAD_COMPRA AS IMPORTE_UNIDAD_ULT_COMP, IMPORTE_NETO_COMPRA AS IM' +
|
||||||
'CTURAS_PROVEEDOR'#10' ON (FACTURAS_PROVEEDOR.ID = FACTURAS_PROVEE' +
|
'PORTE_NETO_ULT_COMP, IMPORTE_PORTE_COMPRA AS IMPORTE_PORTE_ULT_C' +
|
||||||
'DOR_DETALLES.ID_FACTURA)'#10#10' WHERE (FACTURAS_PROVEEDOR_DETALLES' +
|
'OMP,'#10' NULL AS IMPORTE_UNIDAD_PRO_COMP, NULL AS IMPORTE_NETO' +
|
||||||
'.ID_ARTICULO IS NOT NULL) AND (FACTURAS_PROVEEDOR_DETALLES.ID_AR' +
|
'_PRO_COMP, NULL AS IMPORTE_PORTE_PRO_COMP'#10#10' FROM V_INF_ULTCOM' +
|
||||||
'TICULO > 0)'#10' AND (FACTURAS_PROVEEDOR_DETALLES.CANTIDAD > 0)' +
|
'_PORARTICULO'#10#10' UNION ALL'#10#10' SELECT'#10' FACTURAS_PROVEEDOR' +
|
||||||
#10' /*Las compras promedio deben de calcularse desde el princ' +
|
'.ID_EMPRESA,'#10' FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO,'#10' ' +
|
||||||
'ipio de los tiempos hasta ahora*/'#10' AND (FACTURAS_PROVEEDOR.' +
|
' NULL, NULL, NULL,'#10' AVG(FACTURAS_PROVEEDOR_DETALLES.IMPORT' +
|
||||||
'FECHA_FACTURA BETWEEN '#39'12.12.2000'#39' AND current_date)'#10' GROUP B' +
|
'E_UNIDAD) AS IMPORTE_UNIDAD_PRO_COMP,'#10' AVG(FACTURAS_PROVEED' +
|
||||||
'Y 1, 2)'#10#10' GROUP BY 1, 2) MARGEN_COMPRAS'#10#10#10'ON (MARGEN_COMPRAS.ID' +
|
'OR_DETALLES.IMPORTE_UNIDAD - (FACTURAS_PROVEEDOR_DETALLES.IMPORT' +
|
||||||
'_EMPRESA = MARGEN_VENTAS.ID_EMPRESA)'#10'AND (MARGEN_COMPRAS.ID_ARTI' +
|
'E_UNIDAD * (FACTURAS_PROVEEDOR_DETALLES.DESCUENTO / 100))) AS IM' +
|
||||||
'CULO = MARGEN_VENTAS.ID_ARTICULO)'#10#10#10'LEFT JOIN ARTICULOS ON (ARTI' +
|
'PORTE_NETO_PRO_COMP,'#10' AVG(FACTURAS_PROVEEDOR_DETALLES.IMPOR' +
|
||||||
'CULOS.ID = MARGEN_VENTAS.ID_ARTICULO)'#10'LEFT JOIN CONTACTOS PROVEE' +
|
'TE_PORTE) AS IMPORTE_PORTE_PRO_COMP'#10#10' FROM FACTURAS_PROVEEDOR' +
|
||||||
'DORES ON (PROVEEDORES.ID = ARTICULOS.ID_PROVEEDOR)'#10'WHERE ARTICUL' +
|
'_DETALLES'#10' LEFT OUTER JOIN FACTURAS_PROVEEDOR'#10' ON (FACTURA' +
|
||||||
'OS.INVENTARIABLE = 1) INF_MARGEN_ARTICULOS'
|
'S_PROVEEDOR.ID = FACTURAS_PROVEEDOR_DETALLES.ID_FACTURA)'#10#10' WH' +
|
||||||
|
'ERE (FACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO IS NOT NULL) AND (F' +
|
||||||
|
'ACTURAS_PROVEEDOR_DETALLES.ID_ARTICULO > 0)'#10' AND (FACTURAS_' +
|
||||||
|
'PROVEEDOR_DETALLES.CANTIDAD > 0)'#10' /*Las compras promedio de' +
|
||||||
|
'ben de calcularse desde el principio de los tiempos hasta ahora*' +
|
||||||
|
'/'#10' AND (FACTURAS_PROVEEDOR.FECHA_FACTURA BETWEEN '#39'12.12.200' +
|
||||||
|
'0'#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_EMPR' +
|
||||||
|
'ESA)'#10'AND (MARGEN_COMPRAS.ID_ARTICULO = MARGEN_VENTAS.ID_ARTICULO' +
|
||||||
|
')'#10#10#10'LEFT JOIN ARTICULOS ON (ARTICULOS.ID = MARGEN_VENTAS.ID_ARTI' +
|
||||||
|
'CULO)'#10'LEFT JOIN CONTACTOS PROVEEDORES ON (PROVEEDORES.ID = ARTIC' +
|
||||||
|
'ULOS.ID_PROVEEDOR)'#10'WHERE ARTICULOS.INVENTARIABLE = 1) INF_MARGEN' +
|
||||||
|
'_ARTICULOS'#10
|
||||||
StatementType = stSQL
|
StatementType = stSQL
|
||||||
ColumnMappings = <
|
ColumnMappings = <
|
||||||
item
|
item
|
||||||
|
|||||||
@ -16,4 +16,4 @@ END
|
|||||||
/* C:\Codigo\Source\Modulos\Informe margen por articulo\Views\uViewInfMargenArticulo.dfm */
|
/* C:\Codigo\Source\Modulos\Informe margen por articulo\Views\uViewInfMargenArticulo.dfm */
|
||||||
/* C:\Codigo\Source\Modulos\Informe margen por articulo\Views\uEditorInfMargenArticulo.dfm */
|
/* C:\Codigo\Source\Modulos\Informe margen por articulo\Views\uEditorInfMargenArticulo.dfm */
|
||||||
/* C:\Codigo\Source\Modulos\Informe margen por articulo\Views\InfMargenArticulo_view.res */
|
/* C:\Codigo\Source\Modulos\Informe margen por articulo\Views\InfMargenArticulo_view.res */
|
||||||
/* C:\Codigo\Source\Modulos\Informe margen por articulo\Views\InfMargenArticulo_view.drf */
|
/* c:\temp\dtf11D.tmp */
|
||||||
|
|||||||
@ -12,6 +12,6 @@ STRINGTABLE
|
|||||||
BEGIN
|
BEGIN
|
||||||
END
|
END
|
||||||
|
|
||||||
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Data\uDataModuleInfVentasArticulo.DFM */
|
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Data\uDataModuleInfVentasArticulo.dfm */
|
||||||
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Data\InfVentasArticulo_data.res */
|
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Data\InfVentasArticulo_data.res */
|
||||||
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Data\InfVentasArticulo_data.drf */
|
/* c:\temp\dtf10F.tmp */
|
||||||
|
|||||||
@ -13,4 +13,4 @@ BEGIN
|
|||||||
END
|
END
|
||||||
|
|
||||||
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Model\InfVentasArticulo_model.res */
|
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Model\InfVentasArticulo_model.res */
|
||||||
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Model\InfVentasArticulo_model.drf */
|
/* c:\temp\dtf10D.tmp */
|
||||||
|
|||||||
@ -19,4 +19,4 @@ END
|
|||||||
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Views\uViewInfVentasAlbArticulo.dfm */
|
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Views\uViewInfVentasAlbArticulo.dfm */
|
||||||
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Views\uEditorInfVentasAlbArticulo.dfm */
|
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Views\uEditorInfVentasAlbArticulo.dfm */
|
||||||
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Views\InfVentasArticulo_view.res */
|
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Views\InfVentasArticulo_view.res */
|
||||||
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Views\InfVentasArticulo_view.drf */
|
/* c:\temp\dtf113.tmp */
|
||||||
|
|||||||
@ -13,4 +13,4 @@ BEGIN
|
|||||||
END
|
END
|
||||||
|
|
||||||
/* C:\Codigo\Source\Modulos\Informes base\Controller\InformesBase_controller.res */
|
/* C:\Codigo\Source\Modulos\Informes base\Controller\InformesBase_controller.res */
|
||||||
/* c:\temp\dtf1BC.tmp */
|
/* c:\temp\dtf103.tmp */
|
||||||
|
|||||||
@ -14,4 +14,4 @@ END
|
|||||||
|
|
||||||
/* C:\Codigo\Source\Modulos\Informes base\Data\uDataModuleInformes.dfm */
|
/* C:\Codigo\Source\Modulos\Informes base\Data\uDataModuleInformes.dfm */
|
||||||
/* C:\Codigo\Source\Modulos\Informes base\Data\Informes_data.res */
|
/* C:\Codigo\Source\Modulos\Informes base\Data\Informes_data.res */
|
||||||
/* c:\temp\dtf1B8.tmp */
|
/* c:\temp\dtfFF.tmp */
|
||||||
|
|||||||
@ -13,4 +13,4 @@ BEGIN
|
|||||||
END
|
END
|
||||||
|
|
||||||
/* C:\Codigo\Source\Modulos\Informes base\Model\Informes_model.res */
|
/* C:\Codigo\Source\Modulos\Informes base\Model\Informes_model.res */
|
||||||
/* c:\temp\dtf1B6.tmp */
|
/* c:\temp\dtfFD.tmp */
|
||||||
|
|||||||
@ -15,4 +15,4 @@ END
|
|||||||
/* C:\Codigo\Source\Modulos\Informes base\Views\uViewInformes.dfm */
|
/* C:\Codigo\Source\Modulos\Informes base\Views\uViewInformes.dfm */
|
||||||
/* C:\Codigo\Source\Modulos\Informes base\Views\uEditorInformes.dfm */
|
/* C:\Codigo\Source\Modulos\Informes base\Views\uEditorInformes.dfm */
|
||||||
/* C:\Codigo\Source\Modulos\Informes base\Views\Informes_view.res */
|
/* C:\Codigo\Source\Modulos\Informes base\Views\Informes_view.res */
|
||||||
/* c:\temp\dtf1C0.tmp */
|
/* c:\temp\dtf107.tmp */
|
||||||
|
|||||||
@ -13,4 +13,4 @@ BEGIN
|
|||||||
END
|
END
|
||||||
|
|
||||||
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Controller\PedidosCliente_controller.RES */
|
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Controller\PedidosCliente_controller.RES */
|
||||||
/* c:\temp\dtf1F6.tmp */
|
/* c:\temp\dtf13D.tmp */
|
||||||
|
|||||||
@ -14,4 +14,4 @@ END
|
|||||||
|
|
||||||
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Data\uDataModulePedidosCliente.dfm */
|
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Data\uDataModulePedidosCliente.dfm */
|
||||||
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Data\PedidosCliente_data.RES */
|
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Data\PedidosCliente_data.RES */
|
||||||
/* c:\temp\dtf1F4.tmp */
|
/* c:\temp\dtf13B.tmp */
|
||||||
|
|||||||
@ -13,4 +13,4 @@ BEGIN
|
|||||||
END
|
END
|
||||||
|
|
||||||
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Model\PedidosCliente_model.RES */
|
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Model\PedidosCliente_model.RES */
|
||||||
/* c:\temp\dtf1F2.tmp */
|
/* c:\temp\dtf139.tmp */
|
||||||
|
|||||||
@ -14,4 +14,4 @@ END
|
|||||||
|
|
||||||
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Plugin\uPluginPedidosCliente.dfm */
|
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Plugin\uPluginPedidosCliente.dfm */
|
||||||
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Plugin\PedidosCliente_plugin.RES */
|
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Plugin\PedidosCliente_plugin.RES */
|
||||||
/* c:\temp\dtf25E.tmp */
|
/* c:\temp\dtf1A5.tmp */
|
||||||
|
|||||||
@ -26,4 +26,4 @@ END
|
|||||||
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Views\uEditorElegirArticulosPedidoCliente.dfm */
|
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Views\uEditorElegirArticulosPedidoCliente.dfm */
|
||||||
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Views\uEditorDireccionEntregaPedidoCliente.dfm */
|
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Views\uEditorDireccionEntregaPedidoCliente.dfm */
|
||||||
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Views\PedidosCliente_view.RES */
|
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Views\PedidosCliente_view.RES */
|
||||||
/* c:\temp\dtf25C.tmp */
|
/* c:\temp\dtf1A3.tmp */
|
||||||
|
|||||||
@ -14,4 +14,4 @@ END
|
|||||||
|
|
||||||
/* C:\Codigo\Source\Modulos\Tienda web\Data\uDataModuleTiendaWeb.dfm */
|
/* C:\Codigo\Source\Modulos\Tienda web\Data\uDataModuleTiendaWeb.dfm */
|
||||||
/* C:\Codigo\Source\Modulos\Tienda web\Data\TiendaWeb_data.res */
|
/* C:\Codigo\Source\Modulos\Tienda web\Data\TiendaWeb_data.res */
|
||||||
/* c:\temp\dtf20C.tmp */
|
/* c:\temp\dtf153.tmp */
|
||||||
|
|||||||
Binary file not shown.
@ -1,7 +1,7 @@
|
|||||||
MAINICON ICON "C:\Codigo\Resources\Iconos\Servidor.ico"
|
MAINICON ICON "C:\Codigo\Resources\Iconos\Servidor.ico"
|
||||||
1 VERSIONINFO
|
1 VERSIONINFO
|
||||||
FILEVERSION 4,2,2,0
|
FILEVERSION 4,2,3,0
|
||||||
PRODUCTVERSION 4,2,2,0
|
PRODUCTVERSION 4,2,3,0
|
||||||
FILEFLAGSMASK 0x3FL
|
FILEFLAGSMASK 0x3FL
|
||||||
FILEFLAGS 0x00L
|
FILEFLAGS 0x00L
|
||||||
FILEOS 0x40004L
|
FILEOS 0x40004L
|
||||||
@ -12,9 +12,9 @@ BEGIN
|
|||||||
BEGIN
|
BEGIN
|
||||||
BLOCK "0C0A04E4"
|
BLOCK "0C0A04E4"
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "FileVersion", "4.2.2.0\0"
|
VALUE "FileVersion", "4.2.3.0\0"
|
||||||
VALUE "ProductVersion", "4.2.2.0\0"
|
VALUE "ProductVersion", "4.2.3.0\0"
|
||||||
VALUE "CompileDate", "martes, 14 de febrero de 2012 16:03\0"
|
VALUE "CompileDate", "martes, 10 de abril de 2012 18:20\0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
|||||||
Reference in New Issue
Block a user