Rubrique « SALAIRE ETABLISSEMENT » (code 1051) (RUB_GAIN=0 : retenue, info ou technique selon usage). Actuellement active, variante en vigueur depuis le 2015-08-01. 5 variantes successives au fil du temps. La formule actuelle (2704 octets) référence 20 variable(s) et 1 fonction(s).
Explication
Cette rubrique calcule le salaire de base du salarie pour l'etablissement, ainsi que le taux horaire correspondant, en tenant compte du temps de travail prevu au contrat par rapport au temps de reference de l'etablissement (prorata).
Plusieurs cas sont examines successivement, selon la maniere dont le salarie est remunere :
- Si le salarie a un salaire de convention collective, on calcule le salaire au prorata des heures contractuelles, en ajoutant les primes structurelles (PSI et PSI de grille), et on en deduit un taux horaire.
- Si le salarie est paye selon une grille fixe, on refait le meme calcul de prorata a partir du fixe de grille augmente du temps de pause, avec son propre taux horaire.
- Lorsque ces deux modes coexistent, la rubrique retient automatiquement le plus avantageux des deux (montant le plus eleve entre fixe et coefficient).
- Si le salarie a un fixe mensuel, celui-ci est simplement proratise sur les heures du contrat.
- Si le salarie est paye en vacations, le salaire est recalcule a partir du nombre de vacations, de la duree d'une vacation et du taux horaire de vacation.
Le salaire ainsi obtenu sert ensuite de base au calcul des jours feries.
Cas particulier : pour l'etablissement de code 3, le calcul est refait sur une base fixe de 169 heures, et l'ecart avec le salaire proratise habituel est verse sous forme de RTT, les montants etant arrondis au centime.
A noter : un bloc qui reduisait le salaire en cas de presence inferieure a 30 trentiemes est present mais desactive (mis en commentaire), tout comme un traitement specifique aux etablissements 12 et 13 qui apparait tronque dans l'extrait fourni.
//SVP NE PAS TOUCHER CETTE RUBRIQUE!!!!!!!!!!!!!!!!!!!!!
// TEST POUR ANTONY PC
//si test_affichage <> 0
//alors
//quitter
//finsi
si heures_établissement <> 0 alors
salaire_proratise = (salaire_convention+psi+psi_grille) * heures_contrat / heures_établissement
tx_hor = (salaire_convention+psi) / heures_établissement
Salaire_Pro_coef = salaire_proratise
tx_hor_coef = tx_hor
finsi
si fixe_grille <> 0 alors
salaire_proratise = (fixe_grille + cst_Tps_Pause_HPJC ) * heures_contrat / heures_établissement
//salaire_proratise = (fixe_grille+psi) * heures_contrat / heures_établissement
tx_hor = (fixe_grille+ cst_Tps_Pause_HPJC) / heures_établissement
Salaire_Pro_fixe = salaire_proratise
tx_hor_Fixe = tx_hor
finsi
si Salaire_Pro_fixe > Salaire_Pro_coef alors
tx_hor = tx_hor_Fixe
salaire_proratise = Salaire_Pro_fixe
Sinon
tx_hor = tx_hor_coef
salaire_proratise = Salaire_Pro_coef
FinSi
si fixe_mensuel <> 0 alors
salaire_proratise = fixe_mensuel * heures_contrat / heures_établissement
tx_hor = fixe_mensuel / heures_établissement
finsi
si nombre_vacation <> 0 alors
heures_contrat = nombre_vacation * nb_hrs_vacation
tx_hor = tx_horaire_vacation
salaire_proratise = tx_horaire_vacation * nombre_vacation
finsi
base_ferie = salaire_proratise
{si nbre_trentieme_presence < 30 et cos_hor_base <> 0 alors
salaire_proratise = salaire_proratise * nbre_trentieme_presence / 30
nb_hrs = nb_hrs * nbre_trentieme_presence / 30
finsi}
si code_etabliss = 3 alors
salaire_proratise = salaire_convention * heures_contrat / 169
salaire_proratise = Arrondi(salaire_proratise ; 0.01)
rtt = salaire_convention * heures_contrat / heures_établissement
- salaire_proratise
rtt = Arrondi(rtt ; 0.01)
tx_hor = salaire_convention / heures_établissement
finsi
//si code_etabliss = 12 ou code_etabliss = 13 alors
//si psi <> 0 alors
//salaire_convention = coef * 6.41
//salaire_proratise = (salaire_con
Narration structurée
Arbre des cas et actions extrait du code par le parseur CEGI.
Résumé : Formule contenant 6 branche(s) conditionnelle(s), 1 affectation(s).
Si (`heures_établissement` différent de 0)
Alors :
Affecter à `salaire_proratise` la valeur de ((((`salaire_convention` plus `psi`) plus `psi_grille`) multiplié par `heures_contrat`) divisé par `heures_établissement`)
Affecter à `tx_hor` la valeur de ((`salaire_convention` plus `psi`) divisé par `heures_établissement`)
Affecter à `Salaire_Pro_coef` la valeur de `salaire_proratise`
Affecter à `tx_hor_coef` la valeur de `tx_hor`
Si (`fixe_grille` différent de 0)
Alors :
Affecter à `salaire_proratise` la valeur de (((`fixe_grille` plus `cst_Tps_Pause_HPJC`) multiplié par `heures_contrat`) divisé par `heures_établissement`)
Affecter à `tx_hor` la valeur de ((`fixe_grille` plus `cst_Tps_Pause_HPJC`) divisé par `heures_établissement`)
Affecter à `Salaire_Pro_fixe` la valeur de `salaire_proratise`
Affecter à `tx_hor_Fixe` la valeur de `tx_hor`
Si (`Salaire_Pro_fixe` supérieur à `Salaire_Pro_coef`)
Alors :
Affecter à `tx_hor` la valeur de `tx_hor_Fixe`
Affecter à `salaire_proratise` la valeur de `Salaire_Pro_fixe`
Sinon :
Affecter à `tx_hor` la valeur de `tx_hor_coef`
Affecter à `salaire_proratise` la valeur de `Salaire_Pro_coef`
Si (`fixe_mensuel` différent de 0)
Alors :
Affecter à `salaire_proratise` la valeur de ((`fixe_mensuel` multiplié par `heures_contrat`) divisé par `heures_établissement`)
Affecter à `tx_hor` la valeur de (`fixe_mensuel` divisé par `heures_établissement`)
Si (`nombre_vacation` différent de 0)
Alors :
Affecter à `heures_contrat` la valeur de (`nombre_vacation` multiplié par `nb_hrs_vacation`)
Affecter à `tx_hor` la valeur de `tx_horaire_vacation`
Affecter à `salaire_proratise` la valeur de (`tx_horaire_vacation` multiplié par `nombre_vacation`)
Affecter à `base_ferie` la valeur de `salaire_proratise`
Si (`code_etabliss` égal à 3)
Alors :
Affecter à `salaire_proratise` la valeur de ((`salaire_convention` multiplié par `heures_contrat`) divisé par 169)
Affecter à `salaire_proratise` la valeur de arrondir(`salaire_proratise`, 0.01)
Affecter à `rtt` la valeur de (((`salaire_convention` multiplié par `heures_contrat`) divisé par `heures_établissement`) moins `salaire_proratise`)
Affecter à `rtt` la valeur de arrondir(`rtt`, 0.01)
Affecter à `tx_hor` la valeur de (`salaire_convention` divisé par `heures_établissement`)