|
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
|
<VUE name="ECO000064" label="ECO. Effets Prix - Volume"
|
|
|
title="= 'Effets Prix - Volume par ' + SELECT.GROUPBY_LABEL + ' (' + SELECT.DATE_BASE_LABEL + ' : ' + SELECT.PERIODE_LABEL + ' à ' + SELECT.TOPERIODE_LABEL + ' vs ' + VIEW.PERIODE_D_LABEL + ' à ' + VIEW.TOPERIODE_D_LABEL + ')' + ' sur le Montant commandé et le ' + SELECT.DATA01_LABEL "
|
|
|
database="iCTI"
|
|
|
swf="*CTI_view1"
|
|
|
softCode="iCTI_eco"
|
|
|
typeEts=""
|
|
|
globals="ECO_globals.XML"
|
|
|
dboptimizer="ECO_dboptimizer.XML"
|
|
|
componentsFile="ECO_components.XML"
|
|
|
helpDokuWIkiDir="eco:commandes:effet-prix-volume"
|
|
|
helpDokuWIkiFile="eco000064"
|
|
|
helpFile="iCTI_ECO_ECO000064.HTML">
|
|
|
|
|
|
<VIEWPROPERTIES componentName="PROPERTIES_COMMANDES"/>
|
|
|
<VIEWPROPERTIES componentName="PROPERTIES_GROUPBY"/>
|
|
|
<VIEWPROPERTIES>
|
|
|
<PROPERTY dataLink="VIEWPROPERTIES" nameField="name" valueField="value"/>
|
|
|
<PROPERTY name="DATAFUNC">
|
|
|
<value><![CDATA[[EVAL
|
|
|
// <?php
|
|
|
|
|
|
function ECO000064_calcSQL($data) {
|
|
|
|
|
|
$ctiDivision = "base.cti_division(%s, %s)";
|
|
|
$countDistinct = "count(DISTINCT CASE WHEN [DATE_BASE2] BETWEEN @date_debut@ AND @date_fin@ THEN %s ELSE null END)";
|
|
|
$sum = "sum(CASE WHEN [DATE_BASE2] BETWEEN @date_debut@ AND @date_fin@ THEN %s ELSE null END)";
|
|
|
$periodeDebut = '\'[PERIODE]\'::date';
|
|
|
$periodeFin = '\'[TOPERIODE]\'::date';
|
|
|
$periodePrecDebut = '\'[VIEW.PERIODE_D]\'::date';
|
|
|
$periodePrecFin = '\'[VIEW.TOPERIODE_D]\'::date';
|
|
|
|
|
|
$tmp = sprintf($sum, 'quantite_livraison_approvisionnement');
|
|
|
|
|
|
$toReplace = array(
|
|
|
'@date_debut@',
|
|
|
'@date_fin@'
|
|
|
);
|
|
|
|
|
|
$curPeriod = array(
|
|
|
$periodeDebut,
|
|
|
$periodeFin
|
|
|
);
|
|
|
|
|
|
$prevPeriod = array(
|
|
|
$periodePrecDebut,
|
|
|
$periodePrecFin
|
|
|
);
|
|
|
|
|
|
return str_replace($toReplace, $curPeriod, $tmp) . ', ' . str_replace($toReplace, $prevPeriod, $tmp);
|
|
|
}
|
|
|
|
|
|
function ECO000064_CA_calcSQL($data,$data2) {
|
|
|
|
|
|
|
|
|
$ctiDivision = "base.cti_division(%s, %s)";
|
|
|
$sum = "sum( CASE WHEN [DATE_BASE2] BETWEEN @date_debut@ AND @date_fin@ THEN %s ELSE 0 END )";
|
|
|
$sum2 = "sum( CASE WHEN [DATE_BASE2] BETWEEN @date_debut@ AND @date_fin@ THEN %s ELSE NULL END )";
|
|
|
$periodeDebut = '\'[PERIODE]\'::date';
|
|
|
$periodeFin = '\'[TOPERIODE]\'::date';
|
|
|
$periodePrecDebut = '\'[VIEW.PERIODE_D]\'::date';
|
|
|
$periodePrecFin = '\'[VIEW.TOPERIODE_D]\'::date';
|
|
|
|
|
|
$tmp = sprintf($sum, 'montant_liquidation_ht');
|
|
|
|
|
|
$toReplace = array(
|
|
|
'@date_debut@',
|
|
|
'@date_fin@'
|
|
|
);
|
|
|
|
|
|
$curPeriod = array(
|
|
|
$periodeDebut,
|
|
|
$periodeFin
|
|
|
);
|
|
|
|
|
|
$prevPeriod = array(
|
|
|
$periodePrecDebut,
|
|
|
$periodePrecFin
|
|
|
);
|
|
|
|
|
|
return str_replace($toReplace, $curPeriod, $tmp) . ', ' . str_replace($toReplace, $prevPeriod, $tmp);
|
|
|
}
|
|
|
|
|
|
// ?>
|
|
|
EVAL]]]></value>
|
|
|
</PROPERTY>
|
|
|
<PROPERTY name="DATASQL">
|
|
|
<value><![CDATA[[EVAL
|
|
|
// <?php
|
|
|
|
|
|
return
|
|
|
ECO000064_calcSQL('[DATA01]') . ', 0, 0, ' . PHP_EOL .
|
|
|
ECO000064_CA_calcSQL('[DATA01]','[DATA02]'). ', 0 ';
|
|
|
// ?>
|
|
|
EVAL]]]></value>
|
|
|
</PROPERTY>
|
|
|
<PROPERTY name="FILTERSQL">
|
|
|
<value><![CDATA[[EVAL
|
|
|
// <?php
|
|
|
|
|
|
return str_replace(', ',' > 0 AND ',ECO000064_calcSQL('[DATA01]')) . '> 0';
|
|
|
// ?>
|
|
|
EVAL]]]></value>
|
|
|
</PROPERTY>
|
|
|
</VIEWPROPERTIES>
|
|
|
<SELECTIONS label="Paramètres de l'analyse">
|
|
|
<GROUP label="Période">
|
|
|
<FIELD name="DATE_BASE" label="" width="130" UI="combo" default="2" default2="date_commande">
|
|
|
<OPTION label="Date commande" data="2" data2="date_commande"/>
|
|
|
<OPTION label="Date engagement" data="3" data2="date_engagement"/>
|
|
|
</FIELD>
|
|
|
<FIELD name="ALIAS_PERIODE" label="" UI="combo" width="180" default="CUM_LAST_MONTH" tree="true" globalListProvider="ALIAS_PERIODE" />
|
|
|
<FIELD name="PERIODE" label="" UI="combo" tree="true" width="200" default="2010-01-01" globalListProvider="PERIODE_DEBUT">
|
|
|
</FIELD>
|
|
|
<FIELD name="TOPERIODE" label="au" UI="combo" tree="true" width="200" default="2010-01-31" globalListProvider="PERIODE_FIN">
|
|
|
</FIELD>
|
|
|
</GROUP>
|
|
|
<GROUP label="Période précédente">
|
|
|
<FIELD name="TYPE_COMPARAISON" label="" UI="combo" default="2" width="150">
|
|
|
<OPTION label="Année précédente" data="2" />
|
|
|
<OPTION label="Saisie période" data="S" />
|
|
|
</FIELD>
|
|
|
<FIELD name="PERIODE_D" label="Période précédente" UI="combo" tree="true" width="150" default="2015-01-01" printable="false" globalListProvider="DATE_DEBUT" visible="= SELECT.TYPE_COMPARAISON == 'S'"/>
|
|
|
<FIELD name="TOPERIODE_D" label="à" UI="combo" tree="true" width="150" default="2015-12-30" printable="false" globalListProvider="DATE_FIN" visible="= SELECT.TYPE_COMPARAISON == 'S'"/>
|
|
|
</GROUP>
|
|
|
|
|
|
<GROUP label="Regroupements">
|
|
|
<FIELD name="GROUPBY" width="220" label="" UI="combo" default="ART" tree="true">
|
|
|
<OPTION label="Site" data="SIT" treeLevel="1" globalListProvider="SITE_GROUPBY"/>
|
|
|
<OPTION label="Article" data="ART" treeLevel="1" globalListProvider="ARTICLE_GROUPBY"/>
|
|
|
<OPTION label="Compte" data="CPA" treeLevel="1" globalListProvider="COMPTE_ARTICLE_GROUPBY"/>
|
|
|
<OPTION label="Fournisseur" data="FOU" treeLevel="1" globalListProvider="FOURNISSEUR_GROUPBY"/>
|
|
|
<OPTION label="Gestionnaire" data="GES" treeLevel="1" globalListProvider="GESTIONNAIRE_GROUPBY"/>
|
|
|
<OPTION label="Lieu" data="LIE" treeLevel="1" globalListProvider="LIEU_GROUPBY"/>
|
|
|
<OPTION label="Unité fonctionnelle" data="UFO" treeLevel="1" globalListProvider="UNITE_FONCTIONNELLE_GROUPBY"/>
|
|
|
<OPTION label="Commande" data="CMD" treeLevel="1" />
|
|
|
<OPTION label="Année-Mois Commande" globalListProvider="DATE_GROUPBY" treeLevel="1" />
|
|
|
<OPTION label="Source de données" data="PVD" treeLevel="1" globalListProvider="PROVIDER_GROUPBY"/>
|
|
|
</FIELD>
|
|
|
<FIELD name="GROUPBY_TAB" width="100" label="Présentation" UI="combo" default="AUTO" visible="= SELECT.GROUPBY_2 != '-1' ">
|
|
|
<OPTION label="Automatique" data="AUTO" />
|
|
|
<OPTION label="Arbre" data="TREE" />
|
|
|
<OPTION label="Onglet" data="TAB" />
|
|
|
</FIELD>
|
|
|
</GROUP>
|
|
|
<GROUP label="">
|
|
|
<FIELD name="GROUPBY_2" width="220" label="" UI="combo" default="-1" tree="true">
|
|
|
<OPTION label="Pas de second niveau" data="-1" treeLevel="1" />
|
|
|
<OPTION label="Site" data="SIT" treeLevel="1" globalListProvider="SITE_GROUPBY"/>
|
|
|
<OPTION label="Article" data="ART" treeLevel="1" globalListProvider="ARTICLE_GROUPBY"/>
|
|
|
<OPTION label="Compte" data="CPA" treeLevel="1" globalListProvider="COMPTE_ARTICLE_GROUPBY"/>
|
|
|
<OPTION label="Fournisseur" data="FOU" treeLevel="1" globalListProvider="FOURNISSEUR_GROUPBY"/>
|
|
|
<OPTION label="Gestionnaire" data="GES" treeLevel="1" globalListProvider="GESTIONNAIRE_GROUPBY"/>
|
|
|
<OPTION label="Lieu" data="LIE" treeLevel="1" globalListProvider="LIEU_GROUPBY"/>
|
|
|
<OPTION label="Unité fonctionnelle" data="UFO" treeLevel="1" globalListProvider="UNITE_FONCTIONNELLE_GROUPBY"/>
|
|
|
<OPTION label="Commande" data="CMD" treeLevel="1" />
|
|
|
<OPTION label="Année-Mois Commande" globalListProvider="DATE_GROUPBY" treeLevel="1" />
|
|
|
<OPTION label="Source de données" data="PVD" treeLevel="1" globalListProvider="PROVIDER_GROUPBY"/>
|
|
|
</FIELD>
|
|
|
<FIELD name="GROUPBY_3" label="" UI="combo" default="-1" width="220" tree="true">
|
|
|
<OPTION label="Pas de troisième niveau" data="-1"/>
|
|
|
<OPTION label="Site" data="SIT" treeLevel="1" globalListProvider="SITE_GROUPBY"/>
|
|
|
<OPTION label="Article" data="ART" treeLevel="1" globalListProvider="ARTICLE_GROUPBY"/>
|
|
|
<OPTION label="Compte" data="CPA" treeLevel="1" globalListProvider="COMPTE_ARTICLE_GROUPBY"/>
|
|
|
<OPTION label="Fournisseur" data="FOU" treeLevel="1" globalListProvider="FOURNISSEUR_GROUPBY"/>
|
|
|
<OPTION label="Gestionnaire" data="GES" treeLevel="1" globalListProvider="GESTIONNAIRE_GROUPBY"/>
|
|
|
<OPTION label="Lieu" data="LIE" treeLevel="1" globalListProvider="LIEU_GROUPBY"/>
|
|
|
<OPTION label="Unité fonctionnelle" data="UFO" treeLevel="1" globalListProvider="UNITE_FONCTIONNELLE_GROUPBY"/>
|
|
|
<OPTION label="Commande" data="CMD" treeLevel="1" />
|
|
|
<OPTION label="Année-Mois Commande" globalListProvider="DATE_GROUPBY" treeLevel="1" />
|
|
|
<OPTION label="Source de données" data="PVD" treeLevel="1" globalListProvider="PROVIDER_GROUPBY"/>
|
|
|
</FIELD>
|
|
|
</GROUP>
|
|
|
</SELECTIONS>
|
|
|
<SELECTIONS componentName="FILTRES_COMMANDE_SIGNIFICATIF"/>
|
|
|
<SELECTIONS componentName="FILTRES_COMMANDE_SELECTIONS"/>
|
|
|
<SELECTIONS componentName="FILTRES_FOURNISSEUR_SELECTIONS"/>
|
|
|
<SELECTIONS componentName="FILTRES_ARTICLE_SELECTIONS"/>
|
|
|
<SELECTIONS componentName="FILTRES_PROVIDER_SELECTIONS"/>
|
|
|
<QUERIES>
|
|
|
<QUERY label="">
|
|
|
<SQL optimizer="V_LIGNES_COMMANDES_X" optimizer2="V_ALL_X">
|
|
|
<select><![CDATA[
|
|
|
|
|
|
CTISELECT_TREE
|
|
|
GROUPBY1{[VIEW.GROUPBY_OID_FIELD],, [VIEW.GROUPBY_COD_FIELD],, [VIEW.GROUPBY_TXT_FIELD]}
|
|
|
GROUPBY1MODE{[GROUPBY_TAB]}
|
|
|
GROUPBY2{[VIEW.GROUPBY_2_OID_FIELD],, [VIEW.GROUPBY_2_COD_FIELD],, [VIEW.GROUPBY_2_TXT_FIELD]}
|
|
|
GROUPBY3{[VIEW.GROUPBY_3_OID_FIELD],, [VIEW.GROUPBY_3_COD_FIELD],, [VIEW.GROUPBY_3_TXT_FIELD]}
|
|
|
SIGNIFDATA{[VIEW.ECO_SIGNIFICATIVE_DATA],, [ECO_SIGNIFICATIVE_MODE],, [ECO_SIGNIFICATIVE_NUMBER]}
|
|
|
OPTIONS{NOTZERO=1}
|
|
|
ORDERBY{[VIEW.DATA01],, DESC}
|
|
|
INDICATORS{
|
|
|
[VIEW.DATASQL]
|
|
|
}
|
|
|
FROM #V_LIGNES_COMMANDES_X##V_ALL_X#
|
|
|
WHERE ([DATE_BASE2] BETWEEN '[PERIODE]' AND '[TOPERIODE]' OR
|
|
|
[DATE_BASE2] BETWEEN '[VIEW.PERIODE_D]' AND '[VIEW.TOPERIODE_D]')
|
|
|
[VIEW.ARTICLE_SELECT]
|
|
|
[VIEW.FOURNISSEUR_SELECT]
|
|
|
[VIEW.COMMANDE_SELECT]
|
|
|
[VIEW.PROVIDER_SELECT]
|
|
|
HAVING
|
|
|
[VIEW.FILTERSQL]
|
|
|
AFTER{
|
|
|
UPDATE w_table SET
|
|
|
indicateurs[3] = indicateurs[1] - indicateurs[2],
|
|
|
indicateurs[4] = CASE
|
|
|
WHEN indicateurs[1] > 0 AND indicateurs[2] > 0 THEN base.cti_division(indicateurs[1] - indicateurs[2], indicateurs[2]) * 100
|
|
|
ELSE 0 END,
|
|
|
indicateurs[7] = indicateurs[5] - indicateurs[6],
|
|
|
indicateurs[8] = CASE
|
|
|
WHEN indicateurs[5] > 0 AND indicateurs[6] > 0 THEN base.cti_division(indicateurs[5] - indicateurs[6], indicateurs[6]) * 100
|
|
|
ELSE 0 END
|
|
|
}
|
|
|
|
|
|
]]></select>
|
|
|
<FIELDS>
|
|
|
<INSERT name="CTISELECT_TREE_FIELDS" />
|
|
|
<FIELD name="SORT" />
|
|
|
|
|
|
<!-- Première donnée -->
|
|
|
<FIELD name="F1" />
|
|
|
<FIELD name="D1" />
|
|
|
<FIELD name="D1_ECA" />
|
|
|
<FIELD name="D1_PCT" />
|
|
|
|
|
|
<!-- Deuxième donnée -->
|
|
|
<FIELD name="F2" />
|
|
|
<FIELD name="D2" />
|
|
|
<FIELD name="D2_ECA" />
|
|
|
<FIELD name="D2_PCT" />
|
|
|
|
|
|
</FIELDS>
|
|
|
</SQL>
|
|
|
</QUERY>
|
|
|
<QUERY type="propertiesLink" name="VIEWPROPERTIES" forRows="false">
|
|
|
<SQL>
|
|
|
<select><![CDATA[
|
|
|
SELECT 'PERIODE_D' , CASE WHEN '[TYPE_COMPARAISON]' = '2' THEN date('[PERIODE]'::date - interval '1 year') ELSE '[PERIODE_D]' END::text
|
|
|
UNION
|
|
|
SELECT 'TOPERIODE_D' , CASE WHEN '[TYPE_COMPARAISON]' = '2' THEN date('[TOPERIODE]'::date - interval '1 year') ELSE '[TOPERIODE_D]' END::text
|
|
|
UNION
|
|
|
SELECT 'LENGTH', ((DATE_PART('year', '[TOPERIODE]'::date)
|
|
|
- DATE_PART('year', CASE WHEN '[TYPE_COMPARAISON]' = '2' THEN date('[PERIODE]'::date - interval '1 year') ELSE '[PERIODE_D]' END::date)) * 12 +
|
|
|
DATE_PART('month', '[TOPERIODE]'::date)
|
|
|
- DATE_PART('month', CASE WHEN '[TYPE_COMPARAISON]' = '2' THEN date('[PERIODE]'::date - interval '1 year') ELSE '[PERIODE_D]' END::date))::text
|
|
|
UNION
|
|
|
SELECT 'PERIODE_D_LABEL', CASE WHEN CASE WHEN '[TYPE_COMPARAISON]' = '2' THEN date('[PERIODE]'::date - interval '1 year') ELSE '[PERIODE_D]' END = p_calendrier_mois.date_debut THEN p_calendrier_mois.texte ELSE p_calendrier.texte_court END
|
|
|
FROM base.p_calendrier
|
|
|
JOIN base.p_calendrier_mois ON p_calendrier.mois = p_calendrier_mois.mois
|
|
|
WHERE date = CASE WHEN '[TYPE_COMPARAISON]' = '2' THEN date('[PERIODE]'::date - interval '1 year') ELSE '[PERIODE_D]' END
|
|
|
UNION
|
|
|
SELECT 'TOPERIODE_D_LABEL', CASE WHEN CASE WHEN '[TYPE_COMPARAISON]' = '2' THEN date('[TOPERIODE]'::date - interval '1 year') ELSE '[TOPERIODE_D]' END = p_calendrier_mois.date_fin THEN p_calendrier_mois.texte ELSE p_calendrier.texte_court END
|
|
|
FROM base.p_calendrier
|
|
|
JOIN base.p_calendrier_mois ON p_calendrier.mois = p_calendrier_mois.mois
|
|
|
WHERE date = CASE WHEN '[TYPE_COMPARAISON]' = '2' THEN date('[TOPERIODE]'::date - interval '1 year') ELSE '[TOPERIODE_D]' END
|
|
|
]]></select>
|
|
|
<FIELDS>
|
|
|
<FIELD name="name" />
|
|
|
<FIELD name="value" />
|
|
|
</FIELDS>
|
|
|
</SQL>
|
|
|
</QUERY>
|
|
|
<QUERY type="propertiesLink" name="VIEWPROPERTIES" forSelections="false">
|
|
|
<SQL>
|
|
|
<select><![CDATA[
|
|
|
SELECT 'X_PERIODE', greatest(to_date(to_char('[PERIODE]'::date - INTERVAL '3 year', 'YYYY-MM-DD'), 'YYYY-MM-DD'), (SELECT min(date_commande) FROM eco.p_commandes ))::text;
|
|
|
]]></select>
|
|
|
<FIELDS>
|
|
|
<FIELD name="name"/>
|
|
|
<FIELD name="value"/>
|
|
|
</FIELDS>
|
|
|
</SQL>
|
|
|
</QUERY>
|
|
|
</QUERIES>
|
|
|
<PRESENTATION>
|
|
|
<VIEWLINKS>
|
|
|
<VIEWLINK label="Evolution temporelle" shortLabel="Evolution" view="ECO000007.XML" componentName="ECO_VIEWLINK">
|
|
|
<ARGS name="SPEC" >
|
|
|
<value><![CDATA[
|
|
|
LINKVARIABLES['ALIAS_PERIODE'] = '-1';
|
|
|
LINKVARIABLES['DATA01'] = 'CTI_PUMOYCOM';
|
|
|
LINKVARIABLES['PERIODICITE'] = 'MONTH';
|
|
|
|
|
|
if (String(COLUMN.NAME).substr(0,1) == 'D') {
|
|
|
LINKVARIABLES['PERIODE'] = VIEW.PERIODE_D;
|
|
|
LINKVARIABLES['TOPERIODE'] = VIEW.TOPERIODE_D;
|
|
|
}
|
|
|
else {
|
|
|
if (String(COLUMN.NAME).substr(0,1) == 'F') {
|
|
|
LINKVARIABLES['PERIODE'] = VIEW.PERIODE_D;
|
|
|
LINKVARIABLES['TOPERIODE'] = VIEW.TOPERIODE_D;
|
|
|
}
|
|
|
else {
|
|
|
LINKVARIABLES['PERIODE'] = VIEW.PERIODE_D;
|
|
|
LINKVARIABLES['TOPERIODE'] = SELECT.TOPERIODE;
|
|
|
if(int(VIEW.LENGTH) < 14) {
|
|
|
LINKVARIABLES['PERIODICITE'] = 'MONTH';
|
|
|
}
|
|
|
else {
|
|
|
LINKVARIABLES['PERIODICITE'] = 'QUARTER';
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return 'OK';
|
|
|
]]>
|
|
|
</value>
|
|
|
</ARGS>
|
|
|
</VIEWLINK>
|
|
|
<VIEWLINK label="Liste des commandes" shortLabel="Liste commandes" view="ECO000011.XML" componentName="ECO_VIEWLINK" >
|
|
|
<ARGS name="SPEC" >
|
|
|
<value><![CDATA[
|
|
|
LINKVARIABLES['GROUPBY'] = '-1';
|
|
|
LINKVARIABLES['GROUPBY_2'] = 'CMD';
|
|
|
|
|
|
if (String(COLUMN.NAME).substr(0,1) == 'D') {
|
|
|
LINKVARIABLES['PERIODE'] = VIEW.PERIODE_D;
|
|
|
LINKVARIABLES['TOPERIODE'] = VIEW.TOPERIODE_D;
|
|
|
}
|
|
|
else {
|
|
|
if (String(COLUMN.NAME).substr(0,1) == 'F') {
|
|
|
LINKVARIABLES['PERIODE'] = VIEW.PERIODE_D;
|
|
|
LINKVARIABLES['TOPERIODE'] = VIEW.TOPERIODE_D;
|
|
|
}
|
|
|
else {
|
|
|
LINKVARIABLES['PERIODE'] = VIEW.PERIODE_D;
|
|
|
LINKVARIABLES['TOPERIODE'] = SELECT.TOPERIODE;
|
|
|
}
|
|
|
}
|
|
|
LINKVARIABLES['GROUPBY'] = 'CMD'
|
|
|
LINKVARIABLES['GROUPBY_2'] = '-1'
|
|
|
return 'OK';
|
|
|
]]></value>
|
|
|
</ARGS>
|
|
|
</VIEWLINK>
|
|
|
<VIEWLINK label="Liste des lignes de commande" shortLabel="Liste lignes" view="ECO000011.XML" componentName="ECO_VIEWLINK">
|
|
|
<ARGS name="SPEC" >
|
|
|
<value><![CDATA[
|
|
|
if (COLUMN.NAME == '') {
|
|
|
LINKVARIABLES['PERIODE'] = VIEW.PERIODE_D
|
|
|
LINKVARIABLES['TOPERIODE'] = SELECT.TOPERIODE
|
|
|
}
|
|
|
else {
|
|
|
if (String(COLUMN.NAME).substr(0,1) == 'F') {
|
|
|
LINKVARIABLES['PERIODE'] = VIEW.PERIODE_D;
|
|
|
LINKVARIABLES['TOPERIODE'] = VIEW.TOPERIODE_D;
|
|
|
}
|
|
|
else {
|
|
|
LINKVARIABLES['PERIODE'] = VIEW.PERIODE_D;
|
|
|
LINKVARIABLES['TOPERIODE'] = SELECT.TOPERIODE;
|
|
|
}
|
|
|
}
|
|
|
LINKVARIABLES['GROUPBY'] = 'CMD'
|
|
|
LINKVARIABLES['GROUPBY_2'] = 'CML'
|
|
|
return 'OK';
|
|
|
|
|
|
]]></value>
|
|
|
</ARGS>
|
|
|
</VIEWLINK>
|
|
|
<VIEWLINK label="Détail article" shortLabel="Détail article" view="ECO000069.XML" componentName="ECO_VIEWLINK" component2Name="DATE_EVOL_VIEWLINK">
|
|
|
<ARGS name="SPEC" >
|
|
|
<value><![CDATA[
|
|
|
LINKVARIABLES['GROUPBY'] = 'AMCMD'
|
|
|
LINKVARIABLES['GROUPBY_2'] = 'AMMVT'
|
|
|
LINKVARIABLES['GROUPBY_3'] = 'AMSTO'
|
|
|
LINKVARIABLES['TAB'] = 'AUTO'
|
|
|
return 'OK';
|
|
|
]]></value>
|
|
|
</ARGS>
|
|
|
</VIEWLINK>
|
|
|
</VIEWLINKS>
|
|
|
<ONGLET excelLabel="Effet Simplifié" label="Effet Simplifié" multiTab="true" multiTabBreakField="TABD" multiTabBreakLabelField="TABDL" multiTabBreakLonglabelField="TABDLL">
|
|
|
<CHART title="" type="group" subType="" percentHeight="100" >
|
|
|
<CHART title="Montant Total (10 premiers)" type="pieChart" subType="" maxItems="10" maxItemsSortOn="" maxItemsSortSeq="" sortField="F2" sortSeq="D">
|
|
|
<CATEGORY field="TXT" type="Char" />
|
|
|
<SERIE field="F2" displayName="Montant Total" />
|
|
|
</CHART>
|
|
|
<CHART title="Articles pour les 10 premiers" type="columnChart" maxItems="10" maxItemsSortOn="F1" maxItemsSortSeq="D" sortField="COD" sortSeq="A" condition="ROW.LVL == '1'">
|
|
|
<CATEGORY field="CODTXT" type="Char" />
|
|
|
<SERIE field="EPXS" displayName="Effet Prix " displayNameCalc="false" />
|
|
|
<SERIE field="EVLS" displayName="Effet Volume" displayNameCalc="false" />
|
|
|
</CHART>
|
|
|
</CHART>
|
|
|
<DATAGRID title="" total="true" showOthers="true" headerHeight="70" variableRowHeight="true" selectRowInRows="= ROW.OID == '-9999997'" otherRowInRows="= ROW.OID == '-9999998'" totalRowInRows="= ROW.OID == '-9999999'" sortable="= SELECT.GROUPBY_2 == '-1' || SELECT.GROUPBY_TAB == 'TAB'">
|
|
|
<INSERT name="DATAGRID_MULTITAB_STYLES" />
|
|
|
<COLUMN dataField="LVL" width="50" type="Char" visible="false" headerText="Code" textAlign="left" otherFunction="text" totalFunction="text" />
|
|
|
<COLUMN dataField="OID" width="60" type="Char" visible="false" headerText="Oid" />
|
|
|
<COLUMN dataField="COD" width="70" type="Char" headerText="Code" textAlign="left" otherFunction="text" totalFunction="text" totalComplement="TOTAL">
|
|
|
<CELLSTYLE name="paddingLeft" value="15" condition="ROW.LVL == '2' && SELECT.GROUPBY_TAB != 'TAB'" />
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="TXT" type="Char" minWidth="200" headerText="SELECT.GROUPBY_LABEL" headerTextCalc="true" textAlign="left" totalFunction="text" otherFunction="text" otherComplement="Autres" />
|
|
|
<COLUMN dataField="CODTXT" type="Char" minWidth="200" visible="false" totalFunction="text" otherFunction="text" calc="true">
|
|
|
<CALC formula="ROW.COD + ' ' + ROW.TXT.toString().substr(0,10)" />
|
|
|
</COLUMN>
|
|
|
|
|
|
<COLUMN dataField="D1" type="Number" width="80" outputFormat="= SELECT.DATA012" selectable="true" headerText="'(Q1)'+ '\n' +SELECT.DATA01_LABEL +'\n'+ '<font color=\'#DB1702\'>N-1</font>'" headerTextCalc="true" description="= SELECT.DATA015 " textAlign="center">
|
|
|
<HEADERCELLSTYLE name="backgroundColor" value="0xbccbed"/>
|
|
|
<FOOTERCELLSTYLE name="backgroundColor" value="0xbccbed"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="F1" type="Number" width="80" outputFormat="= SELECT.DATA012" selectable="true" headerText="'(Q2)' +'\n' +SELECT.DATA01_LABEL +'\n'+ '<font color=\'#DB1702\'>N</font>'" headerTextCalc="true" description="= SELECT.DATA015 " textAlign="center">
|
|
|
<HEADERCELLSTYLE name="backgroundColor" value="0xbccbed"/>
|
|
|
<FOOTERCELLSTYLE name="backgroundColor" value="0xbccbed"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="D1_ECA" type="Number" width="80" outputFormat="= SELECT.DATA012" headerText="@LF@ Ecart" textAlign="center">
|
|
|
<CELLSTYLE name="cellIndicator" value="triangle_down, 10, left middle, 0xD63E00" condition="(SELECT.DATA014 == 'P' && ROW.F1 < ROW.D1) || (SELECT.DATA014 == 'N' && ROW.F1 > ROW.D1)" />
|
|
|
<CELLSTYLE name="cellIndicator" value="triangle_up, 10, left middle, 0x75a0eb" condition="(SELECT.DATA014 == 'P' && ROW.F1 > ROW.D1) || (SELECT.DATA014 == 'N' && ROW.F1 < ROW.D1)" />
|
|
|
<CELLSTYLE name="cellIndicator" value="rectangle, 10, left middle, 0xFFA500" condition="ROW.F1 != null && ROW.D1 != null && ROW.F1 == ROW.D1" />
|
|
|
<HEADERCELLSTYLE name="backgroundColor" value="0xbccbed"/>
|
|
|
<FOOTERCELLSTYLE name="backgroundColor" value="0xbccbed"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="D1_PCT" type="Number" width="45" outputFormat="= if (ROW.D1 !=0) {return '0%'} else {return '#'}" headerText="@LF@ %" textAlign="center">
|
|
|
<HEADERCELLSTYLE name="backgroundColor" value="0xbccbed"/>
|
|
|
<FOOTERCELLSTYLE name="backgroundColor" value="0xbccbed"/>
|
|
|
</COLUMN>
|
|
|
|
|
|
<COLUMN dataField="D2" type="Number" width="85" outputFormat="#E" selectable="true" headerText="+ '\n' + 'Montant total'+ '\n' + '<font color=\'#DB1702\'>N-1</font>' + '\n' " headerTextCalc="true" description="= SELECT.DATA025 " textAlign="center">
|
|
|
<HEADERCELLSTYLE name="backgroundColor" value="0xDCDCDC"/>
|
|
|
<FOOTERCELLSTYLE name="backgroundColor" value="0xDCDCDC"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="F2" type="Number" width="85" outputFormat="#E" selectable="true" headerText="+ '\n' + 'Montant total'+ '\n' + '<font color=\'#DB1702\'>N</font>' + '\n' " headerTextCalc="true" description="= SELECT.DATA025" textAlign="center">
|
|
|
<HEADERCELLSTYLE name="backgroundColor" value="0xDCDCDC"/>
|
|
|
<FOOTERCELLSTYLE name="backgroundColor" value="0xDCDCDC"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="D2_ECA" type="Number" width="95" outputFormat="#E" headerText="(X1) @LF@ Ecart" textAlign="center">
|
|
|
<CELLSTYLE name="cellIndicator" value="triangle_down, 10, left middle, 0xD63E00" condition="(SELECT.DATA024 == 'P' && ROW.F2 < ROW.D2) || (SELECT.DATA024 == 'N' && ROW.F2 > ROW.D2)" />
|
|
|
<CELLSTYLE name="cellIndicator" value="triangle_up, 10, left middle, 0x75a0eb" condition="(SELECT.DATA024 == 'P' && ROW.F2 > ROW.D2) || (SELECT.DATA024 == 'N' && ROW.F2 < ROW.D2)" />
|
|
|
<CELLSTYLE name="cellIndicator" value="rectangle, 10, left middle, 0xFFA500" condition="ROW.F2 != null && ROW.D2 != null && ROW.F2 == ROW.D2" />
|
|
|
<HEADERCELLSTYLE name="backgroundColor" value="0xDCDCDC"/>
|
|
|
<FOOTERCELLSTYLE name="backgroundColor" value="0xDCDCDC"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="D2_PCT" type="Number" width="45" outputFormat="= if (ROW.D2 !=0) {return '0%'} else {return '#'}" headerText="@LF@ %" textAlign="center">
|
|
|
<HEADERCELLSTYLE name="backgroundColor" value="0xDCDCDC"/>
|
|
|
<FOOTERCELLSTYLE name="backgroundColor" value="0xDCDCDC"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="CA_MOY_OLD" type="Number" width="80" outputFormat="#E" headerText="'(P1)' + '\n' + 'Montant moyen '+'\n'+ '<font color=\'#DB1702\'>N-1</font>'" headerTextCalc="true" description="Montant / nb" totalFunction="calc" otherFunction="calc" calc="true" textAlign="center">
|
|
|
<CALC formula="(ROW.D2 / ROW.D1)" />
|
|
|
<HEADERCELLSTYLE name="backgroundColor" value="0xbccbed"/>
|
|
|
<FOOTERCELLSTYLE name="backgroundColor" value="0xbccbed"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="CA_MOY_NOW" type="Number" width="80" outputFormat="#E" headerText="'(P2)' + '\n' + 'Montant moyen ' +'\n'+ '<font color=\'#DB1702\'>N</font>'" headerTextCalc="true" description="Montant / nb" totalFunction="calc" otherFunction="calc" calc="true" textAlign="center">
|
|
|
<CALC formula="(ROW.F2 / ROW.F1)" />
|
|
|
<HEADERCELLSTYLE name="backgroundColor" value="0xbccbed"/>
|
|
|
<FOOTERCELLSTYLE name="backgroundColor" value="0xbccbed"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="EPXS" type="Number" width="95" outputFormat="#E" headerText="@LF@ Effet Prix" description="EP=(P2-P1)*Q2" totalFunction="calc" otherFunction="calc" calc="true" textAlign="center">
|
|
|
<CALC formula="(ROW.CA_MOY_NOW - ROW.CA_MOY_OLD)* ROW.F1" />
|
|
|
<CELLSTYLE name="cellIndicator" value="circle, 5, left middle, 0xD63E00" condition="(ROW.EPXS < '0')" />
|
|
|
<HEADERCELLSTYLE name="backgroundColor" value="0xDCDCDC"/>
|
|
|
<FOOTERCELLSTYLE name="backgroundColor" value="0xDCDCDC"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="EVLS" type="Number" width="95" outputFormat="#E" headerText="@LF@ Effet Volume" description="EV=(Q2-Q1)*P1" totalFunction="calc" otherFunction="calc" calc="true" textAlign="center">
|
|
|
<CALC formula="(ROW.F1 - ROW.D1)* ROW.CA_MOY_OLD" />
|
|
|
<CELLSTYLE name="cellIndicator" value="circle, 5, left middle, 0xD63E00" condition="(ROW.EVLS < '0')" />
|
|
|
<HEADERCELLSTYLE name="backgroundColor" value="0xDCDCDC"/>
|
|
|
<FOOTERCELLSTYLE name="backgroundColor" value="0xDCDCDC"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="ETOT" type="Number" width="90" outputFormat="#E" headerText="@LF@ Somme des Effets" description="X1 = EP + EV " totalFunction="calc" otherFunction="calc" calc="true" textAlign="center">
|
|
|
<CALC formula="(ROW.EPXS + ROW.EVLS)" />
|
|
|
<HEADERCELLSTYLE name="backgroundColor" value="0xDCDCDC"/>
|
|
|
<FOOTERCELLSTYLE name="backgroundColor" value="0xDCDCDC"/>
|
|
|
</COLUMN>
|
|
|
</DATAGRID>
|
|
|
</ONGLET>
|
|
|
<ONGLET excelLabel="Effet Croisé" label="Effet Croisé" multiTab="true" multiTabBreakField="TABD" multiTabBreakLabelField="TABDL" multiTabBreakLonglabelField="TABDLL">
|
|
|
<CHART title="" type="group" subType="" percentHeight="100" >
|
|
|
<CHART title="Montant Total (10 premiers)" type="pieChart" subType="" maxItems="10" maxItemsSortOn="" maxItemsSortSeq="" sortField="F2" sortSeq="D">
|
|
|
<CATEGORY field="TXT" type="Char" />
|
|
|
<SERIE field="F2" displayName="Montant Total" />
|
|
|
</CHART>
|
|
|
<CHART title="Articles pour les 10 premiers" type="columnChart" maxItems="10" maxItemsSortOn="F1" maxItemsSortSeq="D" sortField="COD" sortSeq="A" condition="ROW.LVL == '1'">
|
|
|
<CATEGORY field="CODTXT" type="Char" />
|
|
|
<SERIE field="EPX" displayName="Effet Prix " displayNameCalc="false" />
|
|
|
<SERIE field="EVL" displayName="Effet Volume" displayNameCalc="false" />
|
|
|
<SERIE field="ECR" displayName="Effet Croisé" displayNameCalc="false" />
|
|
|
</CHART>
|
|
|
</CHART>
|
|
|
<DATAGRID title="" total="true" showOthers="true" headerHeight="70" variableRowHeight="true" selectRowInRows="= ROW.OID == '-9999997'" otherRowInRows="= ROW.OID == '-9999998'" totalRowInRows="= ROW.OID == '-9999999'" sortable="= SELECT.GROUPBY_2 == '-1' || SELECT.GROUPBY_TAB == 'TAB'">
|
|
|
<INSERT name="DATAGRID_MULTITAB_STYLES" />
|
|
|
<COLUMN dataField="LVL" width="50" type="Char" visible="false" headerText="Code" textAlign="left" otherFunction="text" totalFunction="text" />
|
|
|
<COLUMN dataField="OID" width="60" type="Char" visible="false" headerText="Oid" />
|
|
|
<COLUMN dataField="COD" width="70" type="Char" headerText="Code" textAlign="left" otherFunction="text" totalFunction="text" totalComplement="TOTAL">
|
|
|
<CELLSTYLE name="paddingLeft" value="15" condition="ROW.LVL == '2' && SELECT.GROUPBY_TAB != 'TAB'" />
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="TXT" type="Char" minWidth="200" headerText="SELECT.GROUPBY_LABEL" headerTextCalc="true" textAlign="left" totalFunction="text" otherFunction="text" otherComplement="Autres" />
|
|
|
<COLUMN dataField="CODTXT" type="Char" minWidth="200" visible="false" totalFunction="text" otherFunction="text" calc="true">
|
|
|
<CALC formula="ROW.COD + ' ' + ROW.TXT.toString().substr(0,10)" />
|
|
|
</COLUMN>
|
|
|
|
|
|
<COLUMN dataField="D1" type="Number" width="80" outputFormat="= SELECT.DATA012" selectable="true" headerText="'(Q1)'+ '\n' +SELECT.DATA01_LABEL +'\n'+ '<font color=\'#DB1702\'>N-1</font>'" headerTextCalc="true" description="= SELECT.DATA015 " textAlign="center">
|
|
|
<HEADERCELLSTYLE name="backgroundColor" value="0xbccbed"/>
|
|
|
<FOOTERCELLSTYLE name="backgroundColor" value="0xbccbed"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="F1" type="Number" width="80" outputFormat="= SELECT.DATA012" selectable="true" headerText="'(Q2)' +'\n' +SELECT.DATA01_LABEL +'\n'+ '<font color=\'#DB1702\'>N</font>'" headerTextCalc="true" description="= SELECT.DATA015 " textAlign="center">
|
|
|
<HEADERCELLSTYLE name="backgroundColor" value="0xbccbed"/>
|
|
|
<FOOTERCELLSTYLE name="backgroundColor" value="0xbccbed"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="D1_ECA" type="Number" width="80" outputFormat="= SELECT.DATA012" headerText="@LF@ Ecart" textAlign="center">
|
|
|
<CELLSTYLE name="cellIndicator" value="triangle_down, 10, left middle, 0xD63E00" condition="(SELECT.DATA014 == 'P' && ROW.F1 < ROW.D1) || (SELECT.DATA014 == 'N' && ROW.F1 > ROW.D1)" />
|
|
|
<CELLSTYLE name="cellIndicator" value="triangle_up, 10, left middle, 0x75a0eb" condition="(SELECT.DATA014 == 'P' && ROW.F1 > ROW.D1) || (SELECT.DATA014 == 'N' && ROW.F1 < ROW.D1)" />
|
|
|
<CELLSTYLE name="cellIndicator" value="rectangle, 10, left middle, 0xFFA500" condition="ROW.F1 != null && ROW.D1 != null && ROW.F1 == ROW.D1" />
|
|
|
<HEADERCELLSTYLE name="backgroundColor" value="0xbccbed"/>
|
|
|
<FOOTERCELLSTYLE name="backgroundColor" value="0xbccbed"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="D1_PCT" type="Number" width="45" outputFormat="= if (ROW.D1 !=0) {return '0%'} else {return '#'}" headerText="@LF@ %" textAlign="center">
|
|
|
<HEADERCELLSTYLE name="backgroundColor" value="0xbccbed"/>
|
|
|
<FOOTERCELLSTYLE name="backgroundColor" value="0xbccbed"/>
|
|
|
</COLUMN>
|
|
|
|
|
|
<COLUMN dataField="D2" type="Number" width="85" outputFormat="#E" selectable="true" headerText="+ '\n' + 'Montant total'+ '\n' + '<font color=\'#DB1702\'>N-1</font>' + '\n' " headerTextCalc="true" description="= SELECT.DATA025 " textAlign="center">
|
|
|
<HEADERCELLSTYLE name="backgroundColor" value="0xDCDCDC"/>
|
|
|
<FOOTERCELLSTYLE name="backgroundColor" value="0xDCDCDC"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="F2" type="Number" width="85" outputFormat="#E" selectable="true" headerText="+ '\n' + 'Montant total'+ '\n' + '<font color=\'#DB1702\'>N</font>' + '\n' " headerTextCalc="true" description="= SELECT.DATA025" textAlign="center">
|
|
|
<HEADERCELLSTYLE name="backgroundColor" value="0xDCDCDC"/>
|
|
|
<FOOTERCELLSTYLE name="backgroundColor" value="0xDCDCDC"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="D2_ECA" type="Number" width="95" outputFormat="#E" headerText="(X1) @LF@ Ecart" textAlign="center">
|
|
|
<CELLSTYLE name="cellIndicator" value="triangle_down, 10, left middle, 0xD63E00" condition="(SELECT.DATA024 == 'P' && ROW.F2 < ROW.D2) || (SELECT.DATA024 == 'N' && ROW.F2 > ROW.D2)" />
|
|
|
<CELLSTYLE name="cellIndicator" value="triangle_up, 10, left middle, 0x75a0eb" condition="(SELECT.DATA024 == 'P' && ROW.F2 > ROW.D2) || (SELECT.DATA024 == 'N' && ROW.F2 < ROW.D2)" />
|
|
|
<CELLSTYLE name="cellIndicator" value="rectangle, 10, left middle, 0xFFA500" condition="ROW.F2 != null && ROW.D2 != null && ROW.F2 == ROW.D2" />
|
|
|
<HEADERCELLSTYLE name="backgroundColor" value="0xDCDCDC"/>
|
|
|
<FOOTERCELLSTYLE name="backgroundColor" value="0xDCDCDC"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="D2_PCT" type="Number" width="45" outputFormat="= if (ROW.D2 !=0) {return '0%'} else {return '#'}" headerText="@LF@ %" textAlign="center">
|
|
|
<HEADERCELLSTYLE name="backgroundColor" value="0xDCDCDC"/>
|
|
|
<FOOTERCELLSTYLE name="backgroundColor" value="0xDCDCDC"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="CA_MOY_OLD" type="Number" width="80" outputFormat="#E" headerText="'(P1)' + '\n' + 'Montant moyen '+'\n'+ '<font color=\'#DB1702\'>N-1</font>'" headerTextCalc="true" description="Montant / nb" totalFunction="calc" otherFunction="calc" calc="true" textAlign="center">
|
|
|
<CALC formula="(ROW.D2 / ROW.D1)" />
|
|
|
<HEADERCELLSTYLE name="backgroundColor" value="0xbccbed"/>
|
|
|
<FOOTERCELLSTYLE name="backgroundColor" value="0xbccbed"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="CA_MOY_NOW" type="Number" width="80" outputFormat="#E" headerText="'(P2)' + '\n' + 'Montant moyen ' +'\n'+ '<font color=\'#DB1702\'>N</font>'" headerTextCalc="true" description="Montant / nb" totalFunction="calc" otherFunction="calc" calc="true" textAlign="center">
|
|
|
<CALC formula="(ROW.F2 / ROW.F1)" />
|
|
|
<HEADERCELLSTYLE name="backgroundColor" value="0xbccbed"/>
|
|
|
<FOOTERCELLSTYLE name="backgroundColor" value="0xbccbed"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="EPX" type="Number" width="95" outputFormat="#E" headerText="@LF@ Effet Prix" description="EP=(P2-P1)*Q1" totalFunction="calc" otherFunction="calc" calc="true" textAlign="center">
|
|
|
<CALC formula="(ROW.CA_MOY_NOW - ROW.CA_MOY_OLD)* ROW.D1" />
|
|
|
<CELLSTYLE name="cellIndicator" value="circle, 5, left middle, 0xD63E00" condition="(ROW.EPX < '0')" />
|
|
|
<HEADERCELLSTYLE name="backgroundColor" value="0xDCDCDC"/>
|
|
|
<FOOTERCELLSTYLE name="backgroundColor" value="0xDCDCDC"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="EVL" type="Number" width="95" outputFormat="#E" headerText="@LF@ Effet Volume" description="EV=(Q2-Q1)*P1" totalFunction="calc" otherFunction="calc" calc="true" textAlign="center">
|
|
|
<CALC formula="(ROW.F1 - ROW.D1)* ROW.CA_MOY_OLD" />
|
|
|
<CELLSTYLE name="cellIndicator" value="circle, 5, left middle, 0xD63E00" condition="(ROW.EVL < '0')" />
|
|
|
<HEADERCELLSTYLE name="backgroundColor" value="0xDCDCDC"/>
|
|
|
<FOOTERCELLSTYLE name="backgroundColor" value="0xDCDCDC"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="ECR" type="Number" width="95" outputFormat="#E" headerText="@LF@ Effet Croisé" description="EC=(Q2-Q1)*(P2-P1)" totalFunction="calc" otherFunction="calc" calc="true" textAlign="center">
|
|
|
<CALC formula="((ROW.F1 - ROW.D1)*(ROW.CA_MOY_NOW - ROW.CA_MOY_OLD) )" />
|
|
|
<CELLSTYLE name="cellIndicator" value="circle, 5, left middle, 0xD63E00" condition="(ROW.ECR < '0')" />
|
|
|
<HEADERCELLSTYLE name="backgroundColor" value="0xDCDCDC"/>
|
|
|
<FOOTERCELLSTYLE name="backgroundColor" value="0xDCDCDC"/>
|
|
|
</COLUMN>
|
|
|
<COLUMN dataField="ETOT" type="Number" width="90" outputFormat="#E" headerText="@LF@ Somme des Effets" description="X1 = EP + EV + EC" totalFunction="calc" otherFunction="calc" calc="true" textAlign="center">
|
|
|
<CALC formula="(ROW.EPX + ROW.EVL + ROW.ECR)" />
|
|
|
<HEADERCELLSTYLE name="backgroundColor" value="0xDCDCDC"/>
|
|
|
<FOOTERCELLSTYLE name="backgroundColor" value="0xDCDCDC"/>
|
|
|
</COLUMN>
|
|
|
</DATAGRID>
|
|
|
</ONGLET>
|
|
|
</PRESENTATION>
|
|
|
</VUE>
|