Jump to content

[Module gratuit] Mettez à jour automatiquement vos commandes vers le statut "livré"


ChDUP

Recommended Posts

autoupdateorder permet de mettre à jour toutes les commandes d'une certaine ancienneté et ayant le statut "en cours de livraison" vers le statut "livré".

 

Vous configurez le nombre de jours d'ancienneté.

La mise à jour se fait soit manuellement soit par tâche CRON.

 

Les IDs de statuts pris en compte sont 4 (en cours de livraison) et 5 (livré).

Si vous avez modifié ces statuts sur votre boutique il sera nécessaire de mettre à jour le code du module.

 

testé sur 1.6.0.9

ATTENTION : ce module n'est pas compatible avec les multi-boutiques

 

Merci de vos remontées !

 

autoupdateorder.zip

Edited by ChDUP (see edit history)
Link to comment
Share on other sites

  • 2 months later...

Bonjour,

 

Merci pour ce module. Je l'ai installé sur PS 1.5.3.1, mais je n'ai pas très bien compris comment le faire fonctionner.

J'aimerai que les commandes avec le statut "en cours de livraison" datant de 15 jours, passent automatiquement au statut "livré".

 

J'ai essayé de mettre dans le champ "15" et "15 jours", mais cela m'affiche dans les deux cas une page erreur 404. De plus, je ne sais pas ce qu'est une tâche CRON.

 

Est-ce un problème d’incompatibilité avec ma version ou bien une erreur de ma part ?

 

Merci

Link to comment
Share on other sites

Vous devez entrer juste "15" et ça devrait fonctionner.

 

Ensuite, une tache CRON permet de definir une tache à executer à un moment donné ou avec une récurrence.

Cela se définit au niveau de votre serveur, donc voir avec la personne qui gère votre serveur.

Sinon, vous pouvez lancer la tâche manuellement en cliquant sur l'URL donnée dans la configuration du module.

Link to comment
Share on other sites

Bonjour.

 

Petit hic : si le client n'a pas réellement reçu son colis ou bien si le colis est perdu, et que l'on passe le statut de sa commande à "livré", cela ne va pas lui plaire non ? un petit contrôle du lien de suivi de livraison pourrait être utile dans ce cas.

 

Cordialement.

Link to comment
Share on other sites

  • 2 weeks later...

Bonjour,

 

Je viens d'installer le module autoupgradeorder sur prestashop 1.6.0.9 qui est en multiboutique.

 

J'ai un problème pour l'enregistrement du nombre de jours, lorsque je clique sur "Mettre à jour", je suis renvoyé vers une page 404 de ma boutique par défaut.

 

J'ai réinitialisé le module mais rien n'y fait.

 

J'ai essayé en choisissant toute les boutiques ou en choisissant indépendamment les différentes boutiques.

 

J'ai cherché dans la BDD, si je pouvais insérer mon nombre de jours directement mais je n'ai pas trouvé de table correspondant à ce module.

 

En vous remerciant par avance,

Sophie

Link to comment
Share on other sites

oui effectivement, ce module n'est pas compatible multi-boutiques

C'est ce qui doit provoquer cette erreur.

 

Pour l'instant, il n'est pas prévu de le rendre compatible, mais j'y regarderai quand j'aurai un peu de temps.

Ou si quelqu'un veut s'y essayer ...

Link to comment
Share on other sites

  • 1 month later...

Sinon, y-a t-il un endroit dans la BDD où on peut enregistrer le nombre de jours.

 

Dans la table configuration, vous pouvez modifier cette valeur en recherchant le name "AUTOUPDATEORDER"

 

c'est compatible 1.4 ?

 

pas testé, mais je ne pense pas

Link to comment
Share on other sites

Bonjour,

 

Je n'ai nulle part le nom AUTOUPDATEORDER dans ma table de configuration.

Peut-être que si je l'ajoute manuellement, mon nombre de jours pour le multiboutique marcherait.

Si quelqu'un avait l'entrée précise à insérer dans le teble configuration, je suis preneuse.

 

Merci beaucoup

Sophie

Link to comment
Share on other sites

Cette entrée est créée lors de la première configuration du module.

Mais effectivement, en multi elle ne peut être créée

 

Le processus de mise à jour des commandes tient en revanche compte de l'id_shop

Vous pouvez donc essayer de créer AUTOUPDATEORDER dans votre table ps_configuration, il est possible que le reste fonctionne.

Link to comment
Share on other sites

Je viens de rajouter les champs AUTOUPDATEORDER pour toutes les boutiques et le nombre de jours maintenant est indiqué dans le back-office.

Je vais voir si cela marche.

 

Peut-être est-ce dû à ma version 1.6.0.8.... que le module n'est pas inséré automatiquement les données dans la table de config.

 

Merci en tout cas.

Sophie

Link to comment
Share on other sites

Bonjour,

 

merci pour ce module .

 

Bonjour.

 

Petit hic : si le client n'a pas réellement reçu son colis ou bien si le colis est perdu, et que l'on passe le statut de sa commande à "livré", cela ne va pas lui plaire non ? un petit contrôle du lien de suivi de livraison pourrait être utile dans ce cas.

 

Cordialement.

 

Ou sa force le client a vérifier le suivi de son colis car il n'a rien reçu ;)

 

Tchupa.

Link to comment
Share on other sites

  • 2 months later...
  • 1 year later...

autoupdateorder permet de mettre à jour toutes les commandes d'une certaine ancienneté et ayant le statut "en cours de livraison" vers le statut "livré".

 

Vous configurez le nombre de jours d'ancienneté.

La mise à jour se fait soit manuellement soit par tâche CRON.

 

Les IDs de statuts pris en compte sont 4 (en cours de livraison) et 5 (livré).

Si vous avez modifié ces statuts sur votre boutique il sera nécessaire de mettre à jour le code du module.

 

testé sur 1.6.0.9

ATTENTION : ce module n'est pas compatible avec les multi-boutiques

 

Merci de vos remontées !

 

attachicon.gifautoupdateorder.zip

Bonsoir, compatible ps 1.6.1.10 ?

 

Peut-ont ajouter plusieurs changement de statut, ou c'est uniquement pour le 4 et le 5 ?

merci

Link to comment
Share on other sites

à tester, mais ça devrait être compatible 1.6.1.10 

Le code est simple, vous pourrez facilement le modifier avec les id de statuts qui vous intéressent.

merci pour la réponse rapide!

peut on faire plusieurs changement de statut avce ce module?  (un statut livraison en cour - livré, un autre commande en attente - en préparation)...

 

Ce module fait il une requête pour traiter chaque commande en passant pas le processus de Prestashop? car des statut ont des mails à expédier, et par exemple, le changement de statut en masse, les mails ne sont pas expédiés.

 

merci de ces précisions.

Link to comment
Share on other sites

Le module ne gère qu'un seul changement d'état X => Y

Le changement de statut est effectué via changeIdOrderState de OrderHistory, ce qui inclus le lancement des hooks de Prestashop notamment actionOrderStatusUpdate.

Link to comment
Share on other sites

  • 2 weeks later...

Bonjour,

 

Une bonne idée serait de permettre au module de vérifier l'état de la livraison sur le site du transporteur puis de changer le statut, tout ca en Cron,une fois par jour.

 

Ainsi, on évite de changer un statut d'un produit non réellement livré.

 

J'ai fait cette adaptation pour une boutique utilisant colissimo et envoi suivi de la poste. 

 

Cordialement

Link to comment
Share on other sites

Sur Colissimo le problème ne se pose pas puisqu'on peut récupérer les états de livraison par webservices ou EDI.

Perso, j'ai mis en place ce module pour les transporteurs qui ne permettent justement pas cela.

Mais oui, ça peut poser souci si on a laissé une commande "en cours de livraison" et qu'il y a un problème avec.

Perso, je passe ces commandes dans un autre statut "en cours de traitement"

Link to comment
Share on other sites

  • 2 months later...
  • 1 month later...

Bonjour,

 

Je viens d'installer et d'adapter votre module pour un besoin particuliers.

 

Cependant un envois de mail lors du passage de Expédié à Livré est effectué à mes clients alors que j'ai bien désactiver cela dans les états de commandes.

 

Pouvez-vous m’aiguiller ?

Link to comment
Share on other sites

C'est sans rapport avec le module.

Si un mail de changement d'état est envoyé lorsque la commande passe en "livré", c'est que cela est spécifié dans commande / statuts pour le statut "livré"

Link to comment
Share on other sites

  • 1 month later...

Bonjour,

 

Une bonne idée serait de permettre au module de vérifier l'état de la livraison sur le site du transporteur puis de changer le statut, tout ca en Cron,une fois par jour.

 

Ainsi, on évite de changer un statut d'un produit non réellement livré.

 

J'ai fait cette adaptation pour une boutique utilisant colissimo et envoi suivi de la poste. 

 

Cordialement

Salut, as tu fait la modif toi même? car je cherche un module pour chaner les statut en auto mais avec vérification de livraison. Avec colissimo et lettre suivie.

si tu as des infos, je suis preneur

Link to comment
Share on other sites

  • 8 months later...

Bonjour et merci pour ce module gratuit et très utile !.

Par contre
Je souhaiterai que la date d'ancienneté de commande prise en compte soit celle de la date du passage au statut "Expedié"

En effet si le client X commande le 01/01 et paye le 10/01 
Je passe le statut à expédié le 11/01 
J'ai choisi 7 jours d'ancienneté de commande, cette commande va passer au statut "livré" avec le module...

L'idée serait de se baser sur la date d’expédition pour le calcul des jours d'ancienneté.

merci pour vos aides :)

 

Edited by jeromecollection (see edit history)
Link to comment
Share on other sites

Le 24/03/2018 à 10:44 AM, jeromecollection a dit :

Je souhaiterai que la date d'ancienneté de commande prise en compte soit celle de la date du passage au statut "Expedié"

 

Le 10/02/2015 à 3:27 PM, ChDUP a dit :

Les IDs de statuts pris en compte sont 4 (en cours de livraison) et 5 (livré).

Link to comment
Share on other sites

j'ai modifié le fichier  autoupdateorder.php
et remplacé WHERE `date_add`  par WHERE `date_upd`

et la, la prise en compte se fait sur la date du passage au statut expédié (Livraison en cours / statut 4) et non plus sur la date de la création de la commande.

je suis en ps 1.6.0.17

cela donne ça

public function updateorders($seniority,$id_shop) {

        $today = date("d-m-Y");
        $datemin = date('Y-m-d', strtotime($today.' -'.$seniority.' days'));

		$orders = Db::getInstance()->ExecuteS('SELECT id_order FROM `'._DB_PREFIX_.'orders`
			WHERE `date_upd` <= "'.$datemin.' 23:59:59" AND `current_state`=4 AND `id_shop` = '.$id_shop.'
			ORDER BY id_order ASC;'
			);

cela semble fonctionner chez moi

Link to comment
Share on other sites

  • 1 year later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...