Prise en compte des Samedi et Dimanche

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

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 ^^

1 J'aime

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 :happy: !

Pas encore trop l’habitude de github mais va falloir que je m’y mette !

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;
	[b]$includesaturday=0;       (à mettre à 1 si samedi férié)
	$includesunday=1;             (à mettre à 0 si dimanche non férié[/b]

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