juste pour signaler une erreur de code sur le tableau de bord de travail de la page d’accueil. Le calcul du nombre de commandes client à traiter en retard est erroné.
Voici le code qui pose problème (en rouge) dans le fichier htdocs/commande/class/commande.class.php :
while ($obj=$this->db->fetch_object($resql))
{
$response->nbtodo++;
$generic_commande->statut = $obj->fk_statut;
$generic_commande->date_livraison = $obj->date_delivery;
if ($generic_commande->hasDelay()) {
$response->nbtodolate++;
}
}
return $response;
La fonction en dessous , hasDelay() utilise des timestamp pour déterminer le retard et non une chaine au format date. Dans la liste des commandes, par exemple le flag retard est ok car l’assignation de la date se fait par $generic_commande->date_livraison = $db->jdate($objp->date_delivery);
La fonction jdate() se trouve dans DoliDB.class.php
Excusez mon ignorance, j’ai compris les grandes lignes des explications de seandorfer mais, concrètement, je peux faire quoi pour corriger le pb ?
Merci d’avance!
Bonjour
Regardez un peu plus haut dans ce fichier si vous avez:
$sql = « SELECT c.rowid, c.date_creation as datec, c.date_commande, c.date_livraison as delivery_date, c.fk_statut »;
si oui alors ce n’est pas date_delivery mais delivery_date