Automatisation
Journal du cron
Les actions planifiées sont des algorithmes qui s'exécutent à fréquence régulière, ce qui permet d'automatiser des tâches. En termes techniques, les actions planifiées sont appelées cron. L'historique de toutes les exécutions des différentes actions est consultable dans le sous-menu Journal du cron.
Ce journal permet de contrôler que les différentes tâches automatiques s'exécutent correctement et d'identifier rapidement celles qui ne fonctionnent pas (Colonne Erreur). En cas d'erreur, les informations du journal permettront d'identifier les raisons qui entraînent une mauvaise exécution du cron pour mener les actions correctives adéquates.
Les actions automatisées
Les actions automatisées permettent de déclencher automatiquement des actions-serveurs en définissant l'objet sur lequel exécuter l'action-serveur, quand, et sur quels enregistrements de l'objet (filtre).
Ce type d'action est régulièrement utilisé pour envoyer des notifications / mails ou mettre à jour des enregistrements de façon automatique à conditions qu'un critère soit vérifié. Par exemple, on peut automatiser l'envoi d'un email à un responsable à chaque nouvelle création d'opportunité sur les clients à l'étranger (c'est-à-dire dont le pays n'est pas en France).
Création d'une action automatisée
Pour créer une action automatisée, il faut compléter les informations suivantes :
-
Le nom de la règle ;
-
Le modèle de document concerné, c'est-à-dire l'objet sur lequel s'applique l'action automatique.
Onglet « Conditions »
Cet onglet détermine les règles d'exécution de l'action. On définit :
-
Quand exécuter l'action
-
-
A la création
-
A la création et lors de la mise à jour
-
-
-
Lors de la suppression
-
Basé sur un changement dans le formulaire (fonctionnement identique à un onchange manuel)
-
D'après une condition de temps
-
-
Filtre : seul les enregistrements résultant du filtre seront affectés
-
-
Le nombre d'enregistrements résultant du filtre est indiqué au-dessus du libellé Déterminer la sélection selon un filtre de recherche
-
Déterminez la sélection selon un filtre de recherche : filtre personnalisé qui restreint l'exécution de l'action sur les enregistrements respectant le filtre.
-
Les filtres proposés sont les mêmes que ceux utilisés dans les vues listes. On peut donc facilement construire un filtre depuis la vue liste correspondante (ici les ventes), l'enregistrer en favoris, puis l'utiliser dans l'action automatique.
Onglet « Actions »
-
Définir comme responsable : profil qui exécute l'action. Il est conseillé de mettre un autre utilisateur que l'administrateur
Le cadre Actions du serveur à exécuter permet de lister les actions serveurs qui seront exécutées.
Les actions planifiées - Principe
Une action planifiée (ou Cron) est une tâche automatique exécutée par Open-Prod sans que l'utilisateur ne s'en occupe. Ces tâches agissent dans le système et actualisent les données présentes dans Open-Prod. Par exemple, il existe des tâches dédiées au CBN (calcul de besoin net), au calcul de la valorisation de stock, aux notifications du réseau social, à la génération des factures sur les contrats,...
De nombreux modules complémentaires ajoutent de nouvelles actions planifiées lors de leur installation. La liste des actions planifiées est accessible depuis le menu Configuration / Technique / Automatisation / Actions planifiées. Les actions planifiées sont définies directement dans le code source, et ne peuvent donc pas être créées depuis l'interface : le formulaire permet uniquement de les paramétrer et de les activer/désactiver.
La description des actions planifiées listée sont décrites dans Les actions planifiées du standard.
Formulaire d'action planifiée
Le formulaire d'une action planifiée permet uniquement de paramétrer son exécution : son fonctionnement est défini dans le code source, il n'est donc pas modifiable depuis l'interface.
En-tête
L'en-tête contient les champs suivants :
-
Le nom de l'action ;
-
L’utilisateur à partir duquel l'action s'exécutera : ce paramétrage est essentiel dans les cas où l'action utilise des données utilisateurs durant son exécution. Par exemple, dans une action qui envoie automatiquement des relances de facture par mail, l'expéditeur sera l’utilisateur renseigné et toutes ses informations seront remontées : nom, email, signature,... Il faut donc veiller à bien définir le bon utilisateur ;
-
sa priorité : ce champ ne sert qu'à déterminer l'ordre d'exécution dans le cas où deux actions ont la même heure d'exécution.
Pour que l'action planifiée s'exécute, il faut cocher le champ actif.
Onglet « Informations »
Cet onglet regroupe les paramètres de fréquence d'exécution de l'action planifiée :
-
Vous allez pouvoir définir la fréquence d’exécution de l'action planifiée en paramétrant l'Intervalle (= valeur de la fréquence) et l'Unité de l'intervalle. En cochant le champ Plus de détails, vous allez pouvoir définir des exécutions sur des jours de la semaine comme par exemple, tous les lundi et jeudi ;
-
Le champ manage exclusion permet d'ajouter le cadre « Exclusion » contenant les champs Début et Fin. Si l'action planifiée à une prochaine date d'exécution comprise entre ces dates, elle sera décalée à la date de fin. Cela permet d'éviter de surcharger le serveur si des actions planifiées lourdes tournent lors de ces périodes en décalant ce cron.
-
L'intervalle (= valeur de fréquence) d'exécution ainsi que l'unité d'intervalle (minutes, heures, jours, ...). Attention si on a un intervalle par exemple a un jour le lancement en manuelle peut se faire que tous les demi-intervalle soit 0.5 jour. En cochant l'option Plus de détails, des options supplémentaires s'affichent : on peut sélectionner les jours d'exécution, ou définir une exécution le 1er jour du mois ;
-
La prochaine date d'exécution : ce champ se met automatiquement à jour à chaque exécution de l'action, mais il est possible de le modifier pour avancer/retarder la prochaine exécution ;
-
le nombre d'appels, c'est-à-dire d'itérations : ce champ diminue d'une unité à chaque exécution, et lorsqu'il atteint 0, l'action ne s'exécute plus.
Pour qu'une action s'exécute indéfiniment, il faut saisir -1. -
L'option Recommencer les manqués permet d'exécuter les actions qui auraient été manquées lors d'un redémarrage de serveur.
-
L'option Annulation lors de l’échec permet de ne rien modifier si l'action tombe en erreur avant la fin de son exécution (Exemple : Si l'action fait la création de 10 lignes mais que la 9e est en erreur, si la case est cochée, les 8 premières ne seront pas créés).
Onglet « Données techniques»
On retrouve dans cet onglet les informations sur l'action à déclencher : l'objet et la méthode. Le champ arguments permet de remplir les arguments que l'on souhaite passer à la fonction si elle en a.
Actions du standard
-
Auto-vacuum internal data : réservé à l'éditeur et à ne pas désactiver. Il permet de s'assurer du bon fonctionnement de la base de données
-
Check Action Rules : déclenche les actions automatisées.
-
-
Méthode activée : _check
-
Module / Objet liés : base / les actions (base.action.rule)
-
-
Compute customer performance analysis : Calcule les analyses clients des clients au statut qualifié.
-
-
Méthode activée : compute_from_cron
-
Module / Objet liés : res_partner, customer_performance.analysis
-
-
Compute all routings and BoMs prices : recalcule des coûts dans les nomenclatures et gammes.
-
-
Méthode activée : action_compute_all_prices
-
Module / Objet liés : MRP / Les nomenclatures (mrp.bom)
-
-
Consumptions compute : calcul de la consommations de chaque produit. Les résultats sont visibles dans la fiche de chaque produit Onglet « Consommation » ou dans le menu Stock / Rapport / Consommation. Indispensable si des règles de stocks sont basées sur un paramétrage automatique.
-
-
Méthode activée : compute_all_cron
-
Module / Objet liés : Stock / Les consommations de produit (product.consumption)
-
-
Compute cost affair : calcul le coût de toutes les affaires non terminées ni annulées à la date du jour.
-
-
Méthode activée : cron_compute_cost_affair
-
Module / Objets liés : Projet / Affaires
-
-
Create invoice : création de facture depuis les contrats de maintenance.
-
-
Méthode activée : contract_create_cron
-
Module / Objet liés : Contrat de maintenance / Contrat de maintenance (maintenance_contract)
-
-
Delete obsolete audit trail values : Efface les valeurs d'audit trail datant de plus de 1 an (temps par défaut). Il est possible de passer en argument la date limite de suppression.
-
-
Méthode activée : delete_obsolete_audittrail_values_cron
-
Module / Objet lié : audittrail.value
-
-
Delete old edi files : Supprimer les anciens fichiers générés par des EDIs. Le module EDI installe cette action.
-
-
Méthode activée : delete_old_edi_files
-
Module / Objet liés : EDI / les fichiers EDI (edi.transformation.file)
-
-
Email Queue Manager : envoie les mails.
-
-
Méthode activée : process_email_queue
-
Module / Objet liés : Mail / les mails (mail.mail)
-
-
ESN notification compute : génération des notifications du Réseau Social d'Entreprise (RSE).
-
-
Méthode activée : create_all_notification_from_message
-
Module liés : Réseau social d'entreprise / les notifications (esn.notifications)
-
-
Fetchmail Service : récupération des mails sur les serveurs de mail entrant.
-
-
Méthode activée : _fetch_mails
-
Module / Objet liés : Mail / Les serveurs de mail (fetchmail.server)
-
-
Group invoices : Groupement des factures en fin de mois ou semaine.
-
-
Méthode activée : cron_do_merge
-
Module / Objet liés : Comptabilité / Les factures (account.invoice)
-
-
Procurement (Buy) : CBN pour les produits achetés. Génération des achats des produits achetés qui sont sur planificateur ou qui ont des règles de stocks.
-
-
Méthode activée : do_all_procurement. L'argument buy est passé pour cibler uniquement les produits achetés.
-
Module / Objet lié : Stock / Les ordres d'approvisionnement (procurement.order)
-
-
Procurement (Produce) : CBN pour les produits fabriqués. Génération des OF des produits fabriqués qui sont sur planificateur ou qui ont des règles de stocks.
-
-
Méthode activée : do_all_procurement. L'argument produce est passé pour cibler uniquement les produits fabriqués.
-
Module / Objet lié : Stock / Les ordres d'approvisionnement (procurement.order)
-
-
Recompute cost valo. for manufacturing order : recalcul de la valorisation des OTs et OF en partant du niveau le plus bas (le premier produit à fabriquer) vers le niveau le plus haut (le produit fini).
-
-
Méthode activée : _cron_recompute_cost_valo. L'argument "30" est passé pour lancer le recalcul sur les 30 derniers jours.
-
Module / Objet lié : MRP / Les ordres de fabrication (mrp.manufacturingorder)
-
-
Reminder supplier : génération de relance auprès des fournisseurs par mail ou par action.
-
-
Méthode activée : check_supplier_reminder
-
Arguments : ('mail',) si on veut envoyer automatiquement un mail, ('action',) si on veut générer une action.
-
Module / Objet lié : Les achats / Les achats (purchase.order)
-
-
Run Event Reminder : génération des rappels des rendez-vous en fonction de la date de début des actions.
-
-
Méthode activée : get_next_mail
-
Module / Objet lié : Calendrier (Evénement) / les rappels (calendar.alarm_manager)
-
-
Sale renting : génération d'actions (évenement) en lien avec destinées aux utilisateurs
-
-
Méthode activée : check_renting_end_date
-
Module / Objet lié : Les ventes / Les ventes (sale.order)
-
-
Stock valuation LOT : calcul de la valorisation des produits paramétrés par « lot ».
-
-
Méthode activée : cron_calculate_all_products
-
Module / Objet lié : stock / Valorisation par lot (stock.valuation.lot)
-
-
Stock valuation PMP : calcul de la valorisation des produits paramétrés au « PMP ».
-
-
Méthode activée : cron_calculate_all_products
-
Module / Objet lié : stock / Valoration au PMP (stock.valuation)
-
-
Update all cups jobs : Récupération des états d'impression depuis le serveur (en attente, annulé, ...). L'objectif est de remonter dans Open-Prod si les impressions se sont correctement effectuées.
-
-
Méthode activée : _update_jobs. "All" est passé en argument pour considérer l’ensemble des tâches.
-
Module / Objet lié : Impressions / Les serveurs sortant (printers.server)
-
-
Update margin sale/invoice line : Installée par le module complémentaire marge, elle permet de recalculer les lignes de marge dans les vente ou les factures. Il est possible de passer un argument pour indiquer la plage des lignes qui doivent être recalculées.
-
-
Méthode activée : cron_update_margin_sale_line
-
Module / Objet lié : Lignes de vente et lignes de facture
-
-
Warehouse balancing : Réaliser l'équilibrage des entrepôts selon les règles définies dans de le menu Stock > Configuration > Équilibrage d'entrepôts
-
-
Méthode activée : do_all_balancing
-
-
-
Module / Objet lié : warehouse.transfer.balancing
-
-
Wo alignment : permet de faire l'alignement des OTs par ressource, il est possible de passer en argument le nombre de jour (le système prendra alors tous les OTs dont la date de début de planification commence avant la date du jour + l'argument), le type d'alignement (par date ou par priorité) ainsi qu'un booléen indiquant si l'alignement doit prendre en compte la disponibilité en matières premières.
-
-
Méthode activée : cron_wo_alignment
-
Module / Objet lié : general.wo.alignment.wizard
-