Bienvenue, Invité
Nom d'utilisateur : Mot de passe : Se souvenir de moi

SUJET : Prise en compte des Samedi et Dimanche

Prise en compte des Samedi et Dimanche il y a 5 mois 2 semaines #109180

  • Olidoli
  • Portrait de Olidoli
  • Hors ligne
  • Junior Boarder
  • Messages : 23
  • Karma: 0
Bonjour,

J'ai besoin que lors de la saisie d'un congé payé que les samedi et dimanche soient pris en compte dans la déduction des congé. J'ai essayé d'aller dans le menu config et régler dans "Affichage" les jours ouvrés mais ça ne change rien. Je passe peut être à coté de quelque chose ?

Je vous remercie pour votre aide.

Dolibarr Version 8.0.3
Dernière édition: il y a 5 mois 2 semaines par Olidoli.
L'administrateur a désactivé l'accès en écriture pour le public.

Prise en compte des Samedi et Dimanche il y a 5 mois 2 semaines #109181

  • Arre
  • Portrait de Arre
  • Hors ligne
  • Modérateur
  • Envie de participer ? wiki -> adhérer à l'asso :)
  • Messages : 1916
  • Remerciements reçus 439
  • Karma: 45
Salut Olidoli,
ça à l'air d'être codé en dur (j'ai juste jeté un œil sur une V9: \holiday\class\holiday.class.php appelé par \holiday\card.php le tout avec des fonctions qui viennent de \core\lib\date.lib.php)

Il y a des jours qui sont pris en compte en fonction du pays, notamment des calculs de jours fériés.
Mais je vois rien pour les week end, ni pour plus de généralité, la possibilité de définir un ou des calendriers d'ouverture.

Tu as regarder sur le store s'il y avait des modules ?
sinon ... ben... pull request sur le github ^^
L'administrateur a désactivé l'accès en écriture pour le public.
Cet utilisateur a été remercié pour son message par: Olidoli

Prise en compte des Samedi et Dimanche il y a 5 mois 2 semaines #109188

  • Olidoli
  • Portrait de Olidoli
  • Hors ligne
  • Junior Boarder
  • Messages : 23
  • Karma: 0
Bonjour Arre,

Merci bien pour ton retour rapide.

Oui ça serait bien d'avoir un minium de configuration pour ce module pour un paramétrage propre à certain pays et aussi par organisation d'entreprise. Même en France beaucoup d'entreprises ont des équipes de weekend par exemple :) !

Pas encore trop l'habitude de github mais va falloir que je m'y mette !
L'administrateur a désactivé l'accès en écriture pour le public.

Prise en compte des Samedi et Dimanche il y a 2 semaines 4 jours #114832

  • gfo
  • Portrait de gfo
  • Hors ligne
  • Fresh Boarder
  • Messages : 1
  • Karma: 0
Bonjour,

En France, les congés payés sont normalement comptés sur 6 jours (du lundi au samedi) et 2,5 jours de congés sont attribué par mois.

il est facile de paramétrer les 2, 5 jours sur le dictionnaire dans les type de congés (table llx_c_holiday_types) en indiquant 2,5 jours.

Par contre, effectivement le decompte du nombre de jours se fait dans la fonction "num_public_holiday" de \core\lib\date.lib.php

j'ai effectué une motif dans cette fonction pour que le samedi ne soit pas compté comme férié (j'avais déjà faite cette motif en version 7, et je viens de la faire sur version 10 sans aucun problème, mes jours sont décompté correctement) :
ligne 600
function num_public_holiday($timestampStart, $timestampEnd, $countrycode = 'FR', $lastday = 0)
{
global $conf;

$nbFerie = 0;

// Check to ensure we use correct parameters
if ((($timestampEnd - $timestampStart) % 86400) != 0) return 'ErrorDates must use same hours and must be GMT dates';

$i=0;
while (( ($lastday == 0 && $timestampStart < $timestampEnd) || ($lastday && $timestampStart <= $timestampEnd) )
&& ($i < 50000)) // Loop end when equals (Test on i is a security loop to avoid infinite loop)
{
$ferie=false;
$countryfound=0;
$includesaturdayandsunday=1;
$includesaturday=0; (à mettre à 1 si samedi férié)
$includesunday=1; (à mettre à 0 si dimanche non férié


ligne 870
// If we have to include saturday and sunday
//if ($includesaturdayandsunday)
if ($includesaturday || $includesunday)
{
$jour_julien = unixtojd($timestampStart);
$jour_semaine = jddayofweek($jour_julien, 0);
if ($includesaturday && $jour_semaine == 6) $ferie=true;
if ($includesunday && $jour_semaine == 0) $ferie=true;

// if($jour_semaine == 0 || $jour_semaine == 6) $ferie=true;
//Saturday (6) and Sunday (0)

Je pense que avec un développement réduit il serait possible que ces 2 variables ($includesaturday et $includesunday) soit le dictionnaire ou dans une Variable des PARAMETRES Divers (HIDDEN OPTIONS)

Cordialement
--
L'administrateur a désactivé l'accès en écriture pour le public.