You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

485 lines
18 KiB

<?xml version="1.0" encoding="ISO-8859-1"?>
<VUE name="RH000007"
label="RH. Analyse de la paie"
title="= 'Analyse de la paie par ' + SELECT.GROUPBY_LABEL + ' de ' + SELECT.PERIODE_LABEL + ' à ' + SELECT.TOPERIODE_LABEL "
database="iCTI"
swf="*CTI_view1"
globals="RH_globals.XML"
componentsFile="RH_components.XML"
softCode="iCTI_rh"
dboptimizer="RH_dboptimizer.XML"
helpDokuWIkiDir="rh:vues:historique_de_paie" helpDokuWIkiFile="rh000007" helpFile=""
ctiOnly="true"
>
<VIEWPROPERTIES componentName="PROPERTIES_PAIE"/>
<VIEWPROPERTIES componentName="PROPERTIES_GROUPBY"/>
<VIEWPROPERTIES>
<PROPERTY dataLink="VIEWPROPERTIES" nameField="name" valueField="value" />
</VIEWPROPERTIES>
<SELECTIONS label="Paramètres de l'analyse" displayText="">
<GROUP label="Période">
<FIELD name="ALIAS_PERIODE" label="" UI="combo" width="220" 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 name="TOPERIODE" label="au" UI="combo" tree="true" width="200" default="2010-01-31" globalListProvider="PERIODE_FIN" />
</GROUP>
<GROUP label="Regroupement">
<FIELD name="GROUPBY" label="" UI="combo" width="250" default="RUP" tree="true" >
<OPTION label="Entreprise" data="ENT" treeLevel="1" globalListProvider="ENTREPRISE_GROUPBY"/>
<OPTION label="Paie" data="RUP" treeLevel="1" globalListProvider="PAIE_GROUPBY"/>
<OPTION label="[DICT.RH.SALARIE#1]" data="SAL" treeLevel="1" globalListProvider="SALARIE_GROUPBY"/>
<OPTION label="[DICT.RH.CONTRAT#1]" data="CNT" treeLevel="1" globalListProvider="CONTRAT_GROUPBY"/>
<OPTION label="Temporel" data="MOIACT" treeLevel="1" globalListProvider="TEMPOREL_PAIE_GROUPBY"/>
<OPTION label="Référentiel SAE" data="REFERENTIEL_SAE" treeLevel="1" globalListProvider="REFERENTIEL_SAE_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" label="" width="250" UI="combo" default="-1" tree="true" >
<OPTION label="Pas de second niveau" data="-1"/>
<OPTION label="Entreprise" data="ENT" treeLevel="1" globalListProvider="ENTREPRISE_GROUPBY"/>
<OPTION label="Paie" data="RUP" treeLevel="1" globalListProvider="PAIE_GROUPBY"/>
<OPTION label="[DICT.RH.SALARIE#1]" data="SAL" treeLevel="1" globalListProvider="SALARIE_GROUPBY"/>
<OPTION label="[DICT.RH.CONTRAT#1]" data="CNT" treeLevel="1" globalListProvider="CONTRAT_GROUPBY"/>
<OPTION label="Temporel" data="MOIACT" treeLevel="1" globalListProvider="TEMPOREL_PAIE_GROUPBY"/>
<OPTION label="Référentiel SAE" data="REFERENTIEL_SAE" treeLevel="1" globalListProvider="REFERENTIEL_SAE_GROUPBY"/>
</FIELD>
</GROUP>
<GROUP label="">
<FIELD name="GROUPBY_3" label="" width="250" UI="combo" default="-1" tree="true" >
<OPTION label="Pas de troisième niveau" data="-1"/>
<OPTION label="Entreprise" data="ENT" treeLevel="1" globalListProvider="ENTREPRISE_GROUPBY"/>
<OPTION label="Paie" data="RUP" treeLevel="1" globalListProvider="PAIE_GROUPBY"/>
<OPTION label="[DICT.RH.SALARIE#1]" data="SAL" treeLevel="1" globalListProvider="SALARIE_GROUPBY"/>
<OPTION label="[DICT.RH.CONTRAT#1]" data="CNT" treeLevel="1" globalListProvider="CONTRAT_GROUPBY"/>
<OPTION label="Temporel" data="MOIACT" treeLevel="1" globalListProvider="TEMPOREL_PAIE_GROUPBY"/>
<OPTION label="Référentiel SAE" data="REFERENTIEL_SAE" treeLevel="1" globalListProvider="REFERENTIEL_SAE_GROUPBY"/>
</FIELD>
</GROUP>
</SELECTIONS>
<SELECTIONS componentName="FILTRES_SALCNT_SOUSSELECTIONS"/>
<SELECTIONS componentName="FILTRES_PAIE_SELECTIONS"/>
<SELECTIONS componentName="FILTRES_SALARIES_SELECTIONS"/>
<SELECTIONS componentName="FILTRES_CONTRATS_SELECTIONS"/>
<SELECTIONS componentName="FILTRES_REFERENTIEL_SAE_SELECTIONS"/>
<QUERIES>
<QUERY label="">
<SQL optimizer="V_HP_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.ACTIVITE_SIGNIFICATIVE_DATA],, [ACTIVITE_SIGNIFICATIVE_MODE],, [ACTIVITE_SIGNIFICATIVE_NUMBER]}
OPTIONS{NOTZERO=1}
ORDERBY{indicateurs[16]}
INDICATORS{
count(DISTINCT v_rh_view_1.salarie_id),
count(DISTINCT v_rh_view_1.contrat_id),
count(DISTINCT v_rh_view_1.rubrique_id),
SUM(v_rh_view_1.heures_payees),
SUM(v_rh_view_1.heures_travaillees),
base.cti_division(SUM(v_rh_view_1.etp_paye), base.cti_months_between('[PERIODE]'::date, '[TOPERIODE]'::date)),
base.cti_division(sum(v_rh_view_1.etp_travaille), base.cti_months_between('[PERIODE]'::date, '[TOPERIODE]'::date)),
SUM(v_rh_view_1.montant_brut),
SUM(v_rh_view_1.montant_avantage_nature),
SUM(v_rh_view_1.montant_frais_imposables),
SUM(v_rh_view_1.taux_cotisation_salarie),
SUM(v_rh_view_1.montant_cotisation_salarie),
SUM(v_rh_view_1.montant_od_net_salarie),
SUM(v_rh_view_1.taux_cotisation_patronale),
SUM(v_rh_view_1.montant_cotisation_patronale),
SUM(v_rh_view_1.montant_net_imposable_salarie),
SUM(v_rh_view_1.montant_net_a_payer_salarie),
SUM(v_rh_view_1.montant_masse_salariale),
base.cti_division(
SUM(v_rh_view_1.montant_brut),
COUNT(DISTINCT v_rh_view_1.salarie_id::text || '-' || v_rh_view_1.mois_paie_id::text)
),
base.cti_division(
SUM(v_rh_view_1.montant_masse_salariale),
COUNT(DISTINCT v_rh_view_1.salarie_id::text || '-' || v_rh_view_1.mois_paie_id::text)
),
0 - SUM(v_rh_view_1.montant_cotisation_salarie),
0 - SUM(v_rh_view_1.montant_od_net_salarie),
SUM(v_rh_view_1.montant_od_net_patronale),
CASE WHEN round(SUM(v_rh_view_1.etp_paye),0) != 0
THEN SUM(v_rh_view_1.montant_net_a_payer_salarie) / SUM(v_rh_view_1.etp_paye)
ELSE 0
END,
base.cti_months_between('[PERIODE]'::date, '[TOPERIODE]'::date),
sum(v_rh_view_1.base),
sum(v_rh_view_1.nombre),
base.cti_division(base.cti_sum_distinct_on(DISTINCT ARRAY[v_rh_view_1.rubrique_id::text, v_rh_view_1.ratio::text]), count(DISTINCT v_rh_view_1.rubrique_id)) * 100
}
FROM #V_HP_X##V_ALL_X#
WHERE 1=1
AND v_rh_view_1.date_paie BETWEEN '[PERIODE]' AND '[TOPERIODE]'
[VIEW.SALARIES_SELECT]
[VIEW.CONTRATS_SELECT]
[VIEW.REFERENTIEL_SAE_SELECT]
[VIEW.PAIE_SELECT]
AFTER{
UPDATE w_table
SET indicateurs[26] = 0
WHERE level = 9
}
]]></select>
<FIELDS>
<INSERT name="CTISELECT_TREE_FIELDS"/>
<FIELD name="SORT" /><!-- colonne exploitée pour le mécanisme de tri uniquement ORDERBY{indicateur[7]} -->
<FIELD name="NSAL" />
<FIELD name="NCNT" />
<FIELD name="NRUB" />
<FIELD name="NHEU" />
<FIELD name="NHTR" />
<FIELD name="NETP" />
<FIELD name="NETPT" />
<FIELD name="MBRU" />
<FIELD name="MANA" />
<FIELD name="MFIM" />
<FIELD name="TCOS" />
<FIELD name="MCOS" />
<FIELD name="MODS" />
<FIELD name="TCOP" />
<FIELD name="MCOP" />
<FIELD name="MNEI" />
<FIELD name="MNEP" />
<FIELD name="MBRP" />
<FIELD name="MYBRU" />
<FIELD name="MYBRP" />
<FIELD name="MNCOS" />
<FIELD name="MNODS" />
<FIELD name="MNODP" />
<FIELD name="SNM" />
<FIELD name="NBMOIS" />
<FIELD name="BASE" />
<FIELD name="NOMBRE" />
<FIELD name="RATIO" />
</FIELDS>
</SQL>
</QUERY>
<QUERY type="propertiesLink" name="VIEWPROPERTIES" forSelections="false">
<SQL>
<select><![CDATA[
SELECT 'X_PERIODE_D', greatest(('[PERIODE]'::date - '1 year'::interval)::date, (SELECT (min(mois)::text||'01')::date FROM rh.p_chiffrier_production))::text
UNION ALL
SELECT 'X_TOPERIODE_D', greatest(('[TOPERIODE]'::date - '1 year'::interval)::date, (SELECT (min(mois)::text||'01')::date FROM rh.p_chiffrier_production))::text
UNION ALL
SELECT 'X_PERIODE', greatest(('[PERIODE]'::date - '3 years'::interval)::date, (SELECT (min(mois)::text||'01')::date FROM rh.p_chiffrier_production))::text
]]></select>
<FIELDS>
<FIELD name="name" />
<FIELD name="value" />
</FIELDS>
</SQL>
</QUERY>
</QUERIES>
<PRESENTATION>
<VIEWLINKS>
<VIEWLINK label="Justificatif de paie" shortLabel="Justificatif de paie" view="RH000011.XML" componentName="RH_VIEWLINK" >
<ARGS name="SPEC" >
<value><![CDATA[
LINKVARIABLES['GROUPBY_2'] = 'SAL'
return 'OK';
]]></value>
</ARGS>
</VIEWLINK>
</VIEWLINKS>
<ONGLET label="Onglet" multiTab="true" >
<CHART title="" type="group" subType="h" percentHeight="100" fromTotal="false">
<CHART title="Masse salariale"
type="columnChart"
subType="stacked"
maxItems="10"
maxItemsSortOn="MBRU"
maxItemsSortSeq="D"
sortField="MBRU"
sortSeq="D"
condition="ROW.LVL == '1'">
<CATEGORY field="COD" type="Char"/>
<SERIE field="MBRU" displayName="Brut"/>
<SERIE field="MCOP" displayName="Cot. pat."/>
</CHART>
<CHART title="[DICT.RH.SALARIE#3]/ETP payé/ETP travaillé"
type="columnChart"
maxItems="10"
maxItemsSortOn="NSAL"
maxItemsSortSeq="D"
sortField="NSAL"
sortSeq="D"
condition="ROW.LVL == '1'">
<CATEGORY field="COD" type="Char"/>
<SERIE field="NSAL" displayName="[DICT.RH.SALARIE#3]" />
<SERIE field="NETP" displayName="ETP payé"/>
<SERIE field="NETPT" displayName="ETP trav."/>
</CHART>
</CHART>
<!--
<CHART title="Répartition Brut" type="pieChart" serieIsCategory="true" fromTotal="true" showDataTips="true" >
<CATEGORY field="COD" type="Char" />
<SERIE field="MNEP" displayName="Net à payer" />
<SERIE field="MNCOSABS" displayName="Cot. Sal."/>
<SERIE field="MNODS" displayName="OD/net sal."/>
</CHART>
-->
<DATAGRID title=""
total="true"
headerHeight="54"
selectRowInRows="= ROW.OID == '-9999997'"
otherRowInRows="= ROW.OID == '-9999998'"
totalRowInRows="= ROW.OID == '-9999999'"
variableRowHeight="true"
sortable="= SELECT.GROUPBY_3 == '-1' &amp;&amp; (SELECT.GROUPBY_2 == '-1' || SELECT.GROUPBY_TAB == 'TAB')">
<INSERT name="DATAGRID_MULTITAB_STYLES"/>
<COLUMN dataField="NBMOIS"
type="Number"
visible="false" />
<COLUMN dataField="OID"
type="Number"
visible="false" />
<COLUMN dataField="COD"
type="Char"
width="110"
outputFormat="#"
headerText="Code"
textAlign="left"
totalComplement="*ROW">
<INSERT name="COLUMN_COD_MULTITAB_STYLES"/>
</COLUMN>
<COLUMN dataField="TXT"
type="Char"
minWidth="110"
headerText="Texte"
textAlign="left"
totalComplement="*ROW"/>
<COLUMN dataField="CODTXT" type="Char" visible="false" totalFunction="text" otherFunction="text" calc="true">
<CALC formula="ROW.TXT" condition="ROW.COD == ROW.TXT"/>
<CALC formula="ROW.COD + ' - ' + ROW.TXT" condition="ROW.COD != ROW.TXT"/>
</COLUMN>
<COLUMN dataField="RATIO"
type="Number"
visibleCondition="(SELECT.GROUPBY == 'CNT' &amp;&amp; SELECT.GROUPBY_2 == 'SAC') || (String(SELECT.GROUPBY).substr(0, 2) == 'AN') || (String(SELECT.GROUPBY_2).substr(0, 2) == 'AN') || (String(SELECT.GROUPBY_3).substr(0, 2) == 'AN')"
width="80"
outputFormat="#,00"
headerText="% Ventilation"
textAlign="right"
totalComplement="*ROW" />
<COLUMN dataField="NSAL"
type="Number"
width="60"
outputFormat="#"
headerText="Nb [DICT.RH.SALARIE#3]"
textAlign="right"
totalComplement="*ROW" />
<COLUMN dataField="NRUB"
type="Number"
width="60"
outputFormat="#"
headerText="Nb rubriques"
textAlign="right"
totalComplement="*ROW" />
<COLUMN dataField="NOMBRE"
type="Number"
width="70"
outputFormat="#,0"
headerText="Nombre"
description="Peux représenter des heures, des jours, un montant, ou une quantité.&#xD;&#xD;Cf. paramétrage des rubriques."
textAlign="right"
fixed="false"
totalComplement="*ROW" />
<COLUMN dataField="BASE"
type="Number"
width="70"
outputFormat="#,0"
headerText="Base"
description="Peux représenter des heures, des jours, un montant, ou une quantité.&#xD;&#xD;Cf. paramétrage des rubriques."
textAlign="right"
fixed="false"
totalComplement="*ROW" />
<COLUMN dataField="NHEU"
type="Number"
width="70"
outputFormat="#"
headerText="Heures payées"
description="Heures issues de la rubrique de paie paramétrée comme &#171;&lt;i&gt;Heures payées&lt;/i&gt;&#187; dans la table des rubriques."
textAlign="right"
totalComplement="*ROW" />
<COLUMN dataField="NHTR"
type="Number"
width="70"
outputFormat="#"
headerText="Heures travaillées"
description="Heures paramétrées comme &#171;&lt;i&gt;travaillées&lt;/i&gt;&#187; OU heures payées - heures paramétrées comme &#171;&lt;i&gt;Heures non travaillées&lt;/i&gt;&#187;."
textAlign="right"
fixed="false"
totalComplement="*ROW" />
<COLUMN dataField="NETP"
type="Number"
width="70"
outputFormat="#,00"
headerText="ETP payé"
description="Equivalent temps plein basé sur les &lt;i&gt;Heures payées&lt;/i&gt;.&#xD;&#xD;Heures payées &#247; Base de calcul de l'ETP (par défaut 151,67 h.) &#247; Nb mois de la période."
textAlign="right"
totalComplement="*ROW" />
<COLUMN dataField="NETPT"
type="Number"
width="70"
outputFormat="#,00"
headerText="ETP travaillé"
description="Equivalent temps plein basé sur les &lt;i&gt;Heures travaillées&lt;/i&gt;.&#xD;&#xD;Heures travaillées &#247; Base de calcul de l'ETP (par défaut 151,67 h.) &#247; Nb mois de la période."
textAlign="right"
totalComplement="*ROW" />
<COLUMN dataField="MBRP"
type="Number"
width="100"
outputFormat="#E"
headerText="Masse salariale"
description="&lt;i&gt;Brut&lt;/i&gt; + &lt;i&gt;Cotisations patronales&lt;/i&gt; + &lt;i&gt;OD/Net patronales&lt;/i&gt; + &lt;i&gt;Avantages en nature&lt;/i&gt; + &lt;i&gt;Frais imposables&lt;/i&gt;"
textAlign="right"
totalComplement="*ROW" />
<COLUMN dataField="MBRPMOY"
type="Number"
width="60"
outputFormat="#E"
headerText="Masse salariale Moyenne"
description="&lt;i&gt;Masse salariale&lt;/i&gt; &#247; &lt;i&gt;ETP payé&lt;/i&gt; &#247; Nb mois de la période."
textAlign="right"
totalComplement=""
calc="true">
<CALC formula="ROW.NETP == 0 ?'':ROW.MBRP / ROW.NETP / ROW.NBMOIS" />
</COLUMN>
<COLUMN dataField="PBRP"
type="Number"
width="50"
outputFormat="#,0%"
headerText="% / Total"
textAlign="right"
totalComplement=""
calc="true">
<CALC formula="TOTALROW.MBRP == 0?'':ROW.MBRP / TOTALROW.MBRP * 100" />
</COLUMN>
<COLUMN dataField="MBRU"
type="Number"
width="100"
outputFormat="#E"
headerText="Brut"
textAlign="right"
fixed="false"
totalComplement="*ROW" />
<COLUMN dataField="MBRUMOY"
type="Number"
width="60"
outputFormat="#E"
headerText="Brut Moyen"
description="Brut &#247; ETP payé &#247; Nombre de mois"
textAlign="right"
totalComplement=""
calc="true">
<CALC formula="ROW.NETP == 0 ?'':ROW.MBRU / ROW.NETP / ROW.NBMOIS" />
</COLUMN>
<COLUMN dataField="MANA"
type="Number"
width="70"
outputFormat="#E"
headerText="Avantages en nature"
textAlign="right"
fixed="false"
totalComplement="*ROW" />
<COLUMN dataField="MFIM"
type="Number"
width="90"
outputFormat="#E"
headerText="Frais imposables"
textAlign="right"
fixed="false"
totalComplement="*ROW" />
<COLUMN dataField="MNCOS"
type="Number"
width="90"
outputFormat="#E"
headerText="Cotisations Salariales"
textAlign="right"
fixed="false"
totalComplement="*ROW" />
<COLUMN dataField="MCOP"
type="Number"
width="90"
outputFormat="#E"
headerText="Cotisations Patronales"
textAlign="right"
fixed="false"
totalComplement="*ROW" />
<COLUMN dataField="MNODS"
type="Number"
width="90"
outputFormat="#E"
headerText="OD/net Salariales"
textAlign="right"
fixed="false"
totalComplement="*ROW" />
<COLUMN dataField="MNODP"
type="Number"
width="90"
outputFormat="#E"
headerText="OD/net Patronales"
textAlign="right"
fixed="false"
totalComplement="*ROW" />
<COLUMN dataField="MNEI"
type="Number"
width="100"
outputFormat="#E"
headerText="Net imposable [DICT.RH.SALARIE]"
textAlign="right"
fixed="false"
totalComplement="*ROW" />
<COLUMN dataField="MNEP"
type="Number"
width="100"
outputFormat="#E"
headerText="Net à payer [DICT.RH.SALARIE]"
textAlign="right"
fixed="false"
totalComplement="*ROW" />
<COLUMN dataField="SNM"
type="Number"
width="60"
outputFormat="#E"
headerText="Salaire Net Moyen"
description="Net à payer [DICT.RH.SALARIE] &#247; ETP payé"
textAlign="right"
totalComplement="*ROW" />
<COLUMN dataField="SNMMS"
type="Number"
width="60"
outputFormat="#,0%"
headerText="% / Masse salariale"
textAlign="right"
totalComplement=""
calc="true">
<CALC formula="ROW.SNM / ROW.MBRPMOY * 100" />
</COLUMN>
<COLUMN dataField="THMC"
type="Number"
width="60"
outputFormat="#,0E"
headerText="Mnt H. Moy. Chargé"
description="Masse salariale &#247; Heures payées"
textAlign="right"
totalComplement=""
calc="true">
<CALC formula="ROW.NHEU == 0?'':ROW.MBRP / ROW.NHEU" />
</COLUMN>
</DATAGRID>
</ONGLET>
</PRESENTATION>
</VUE>