[{"data":1,"prerenderedAt":954},["ShallowReactive",2],{"guide:fr:work-fulfillment/workorders":3},{"id":4,"title":5,"body":6,"description":946,"extension":947,"meta":948,"navigation":949,"path":950,"seo":951,"stem":952,"__hash__":953},"guide_fr/fr/user/work-fulfillment/workorders.md","Attributions",{"type":7,"value":8,"toc":930},"minimark",[9,13,17,22,33,39,79,84,98,103,129,133,136,141,155,160,178,182,189,194,204,209,223,228,242,248,254,257,268,272,278,282,288,293,307,312,323,327,336,339,344,371,376,397,402,408,439,444,450,459,470,474,480,486,494,500,508,514,522,528,539,543,546,551,557,561,567,572,580,584,593,598,630,635,646,650,655,669,674,688,692,697,726,731,748,752,755,789,793,799,807,812,823,828,842,846,851,862,867,878,883,894,899,914,919],[10,11,5],"h1",{"id":12},"attributions",[14,15,16],"p",{},"Les attributions allouent le travail aux utilisateurs, définissent les cibles de ressources, et gèrent l'autorisation d'inventaire via les codes QR de retrait. Les attributions opèrent en temps réel (pas versionnées) pour une confirmation immédiate du travailleur.",[18,19,21],"h2",{"id":20},"structure-des-attributions","Structure des Attributions",[14,23,24,29],{},[25,26],"img",{"alt":27,"src":28},"Liste des Attributions","/guide/work-fulfillment/workorders-list.png",[30,31,32],"em",{},"Page des attributions montrant les allocations de travail actives avec statut et codes QR",[14,34,35],{},[36,37,38],"strong",{},"Champs de Base :",[40,41,42,49,55,61,67,73],"ul",{},[43,44,45,48],"li",{},[36,46,47],{},"Nom"," - Nom descriptif d'attribution",[43,50,51,54],{},[36,52,53],{},"Description"," - Instructions de travail ou contexte",[43,56,57,60],{},[36,58,59],{},"Assigné À"," - Tableau d'utilisateurs (prise en charge des attributions d'équipe)",[43,62,63,66],{},[36,64,65],{},"Statut"," - pending, in-progress, completed, cancelled",[43,68,69,72],{},[36,70,71],{},"Créé Par"," - Utilisateur qui a créé l'attribution",[43,74,75,78],{},[36,76,77],{},"Délai"," - Date de début, date d'échéance, heures estimées",[14,80,81],{},[36,82,83],{},"Définition du Travail :",[40,85,86,92],{},[43,87,88,91],{},[36,89,90],{},"Tâches Disponibles"," - Tableau d'IDs de tâches que le travailleur peut choisir (sur-allocation 10x commune)",[43,93,94,97],{},[36,95,96],{},"Cibles de Ressources"," - Objectifs à accomplir (pas de réservations dures)",[14,99,100],{},[36,101,102],{},"Gestion d'Inventaire :",[40,104,105,111,117,123],{},[43,106,107,110],{},[36,108,109],{},"Stock Planifié"," - Demande d'inventaire attendue (planification douce, pas de verrous)",[43,112,113,116],{},[36,114,115],{},"Code de Retrait"," - JWT pour transfert d'inventaire autorisé",[43,118,119,122],{},[36,120,121],{},"Expiration du Code de Retrait"," - Quand l'autorisation expire",[43,124,125,128],{},[36,126,127],{},"Retrait Restant"," - Ce qui reste à retirer (après retraits partiels)",[18,130,132],{"id":131},"opération-en-temps-réel","Opération en Temps Réel",[14,134,135],{},"Les attributions contournent le flux de travail version/commit :",[14,137,138],{},[36,139,140],{},"Pourquoi Temps Réel :",[40,142,143,146,149,152],{},[43,144,145],{},"Les travailleurs ont besoin de réponse immédiate : \"Ai-je ce travail ?\"",[43,147,148],{},"Le calcul de paiement nécessite des données d'attribution validées",[43,150,151],{},"Pas de valeur dans la rédaction hors ligne (les attributions sont exécution, pas planification)",[43,153,154],{},"La visibilité du stock doit être actuelle pour la validation de retrait QR",[14,156,157],{},[36,158,159],{},"API Direct :",[40,161,162,169,172,175],{},[43,163,164,165],{},"Créer/mettre à jour via le point de terminaison ",[166,167,168],"code",{},"/api/workorders/upsert",[43,170,171],{},"Les changements visibles immédiatement aux travailleurs assignés",[43,173,174],{},"Pas d'attente pour les commits de version admin",[43,176,177],{},"Permet la réallocation dynamique du travail",[18,179,181],{"id":180},"cibles-de-ressources-pas-réservations","Cibles de Ressources (Pas Réservations)",[14,183,184,185,188],{},"Le tableau ",[166,186,187],{},"resourceTargets"," définit les objectifs de travail, PAS les verrous d'inventaire :",[14,190,191],{},[36,192,193],{},"Exemple :",[195,196,201],"pre",{"className":197,"code":199,"language":200},[198],"language-text","Attribution à John :\n  Cibles de Ressources : [\n    { resource: \"Câble Cat6\", volume: 50, uom: \"meters\" },\n    { resource: \"Boîtes de Jonction\", volume: 10, uom: \"units\" }\n  ]\n","text",[166,202,199],{"__ignoreMap":203},"",[14,205,206],{},[36,207,208],{},"Points Clés :",[40,210,211,214,217,220],{},[43,212,213],{},"NE réserve PAS 50m de câble de l'inventaire",[43,215,216],{},"D'autres travailleurs peuvent encore retirer les mêmes matériaux",[43,218,219],{},"L'inventaire alloué au moment du scan QR (premier arrivé, premier servi)",[43,221,222],{},"Permet la flexibilité lorsque les priorités changent en milieu de journée",[14,224,225],{},[36,226,227],{},"Pourquoi Pas de Réservations Dures :",[40,229,230,233,236,239],{},[43,231,232],{},"Les priorités changent rapidement dans les opérations sur le terrain",[43,234,235],{},"Le travailleur pourrait appeler malade (stock réservé devient indisponible)",[43,237,238],{},"Plusieurs travailleurs pourraient partager le même pool d'inventaire",[43,240,241],{},"L'entrepôt ne peut pas prédire le timing exact de retrait",[14,243,244,247],{},[36,245,246],{},"Stock Planifié (Optionnel) :","\nPrévoir la demande sans verrous :",[195,249,252],{"className":250,"code":251,"language":200},[198],"Stock Planifié : [\n  { stockItemId: warehouse_cable_id, resource: \"Câble Cat6\", volume: 50, uom: \"meters\" }\n]\n",[166,253,251],{"__ignoreMap":203},[14,255,256],{},"Aide le personnel d'entrepôt :",[40,258,259,262,265],{},[43,260,261],{},"Voir la demande totale attendue sur les attributions",[43,263,264],{},"Prépare les matériaux pour le retrait (mettre de côté sans verrouiller)",[43,266,267],{},"Si stock insuffisant, avertit avant l'arrivée du travailleur",[18,269,271],{"id":270},"tâches-disponibles-flexibilité-10x","Tâches Disponibles (Flexibilité 10x)",[14,273,184,274,277],{},[166,275,276],{},"availableTasks"," fournit le choix du travailleur :",[14,279,280],{},[36,281,193],{},[195,283,286],{"className":284,"code":285,"language":200},[198],"Attribution :\n  Cibles de Ressources : 50m câble\n  Tâches Disponibles : [Tâche1, Tâche2, Tâche3, ... Tâche30]\n  \nChaque tâche nécessite 2-10m câble\nLe travailleur choisit quelles tâches terminer pour atteindre la cible de 50m\n",[166,287,285],{"__ignoreMap":203},[14,289,290],{},[36,291,292],{},"Avantages de la Sur-Allocation :",[40,294,295,298,301,304],{},[43,296,297],{},"Le travailleur choisit l'itinéraire optimal (tâches les plus proches d'abord)",[43,299,300],{},"Contourner les obstacles (bâtiment verrouillé, retard météo)",[43,302,303],{},"S'adapter à la disponibilité d'inventaire (certaines tâches ont besoin de matériaux pas en stock)",[43,305,306],{},"Autonomie accrue (jugement du travailleur valorisé)",[14,308,309],{},[36,310,311],{},"Ratio Typique :",[40,313,314,317,320],{},[43,315,316],{},"Sur-allocation 10x commune (10 unités de travail, 100 unités d'options)",[43,318,319],{},"Assure que le travailleur ne manque jamais de tâches",[43,321,322],{},"Les tâches incomplètes roulent à l'attribution suivante",[18,324,326],{"id":325},"codes-qr-de-retrait","Codes QR de Retrait",[14,328,329,333],{},[25,330],{"alt":331,"src":332},"Détail d'Attribution","/guide/work-fulfillment/assignment-detail.png",[30,334,335],{},"Détail d'attribution montrant l'allocation de ressources, code QR, et suivi en temps réel",[14,337,338],{},"Les attributions peuvent générer des codes QR basés JWT pour l'autorisation d'inventaire :",[14,340,341],{},[36,342,343],{},"Génération :",[345,346,347,350],"ol",{},[43,348,349],{},"Créer une attribution avec cibles de ressources",[43,351,352,353,356,357],{},"Le système génère ",[166,354,355],{},"pickupCode"," (JWT) contenant :\n",[40,358,359,362,365,368],{},[43,360,361],{},"IDs utilisateur autorisés (du tableau assignedTo)",[43,363,364],{},"Cibles de ressources (ce qui peut être retiré)",[43,366,367],{},"Timestamp d'expiration",[43,369,370],{},"IDs d'élément de stock source (optionnel - stock spécifique)",[14,372,373],{},[36,374,375],{},"Affichage QR :",[40,377,378,381,387,390],{},[43,379,380],{},"Affiché seulement aux destinataires autorisés (utilisateurs assignedTo)",[43,382,383,384],{},"Backend applique : utilisateurs non autorisés voient ",[166,385,386],{},"pickupCode: null",[43,388,389],{},"Image QR 200×200px dans la vue de détail d'attribution",[43,391,392,393,396],{},"Montre la date d'expiration si ",[166,394,395],{},"pickupCodeExpires"," défini",[14,398,399],{},[36,400,401],{},"Flux de Scan :",[195,403,406],{"className":404,"code":405,"language":200},[198],"Flux de Retrait QR :\n\nAttribution Créée → QR Généré (JWT) → Travailleur Scanne → Validation → Transaction de Transfert\n       ↓                    ↓                   ↓              ↓              ↓\n  Cibles de Ressources    Code de Retrait        Caméra/Scanner   Vérif Auth   Stock Mis à Jour\n                      Expiration                         Disponibilité  GPS Enregistré\n                                                        Signature\n",[166,407,405],{"__ignoreMap":203},[345,409,410,413,416,433,436],{},[43,411,412],{},"Le travailleur ouvre le scanner (app mobile ou caméra)",[43,414,415],{},"Scanne le code QR d'attribution",[43,417,418,419],{},"Le système valide :\n",[40,420,421,424,430],{},[43,422,423],{},"Signature JWT et expiration",[43,425,426,427],{},"Le scanner est le destinataire autorisé OU a la permission ",[166,428,429],{},"canFacilitatePickups",[43,431,432],{},"Disponibilité du stock au site source",[43,434,435],{},"Crée automatiquement la transaction de transfert",[43,437,438],{},"Le site personnel du travailleur reçoit l'inventaire",[14,440,441],{},[36,442,443],{},"Retraits Partiels :",[195,445,448],{"className":446,"code":447,"language":200},[198],"Attribution demande : 100 unités\nSeulement 60 disponibles → travailleur prend 60\npickupRemaining mis à jour : 40 unités\nMême QR réutilisable lorsqu'il est réapprovisionné (JWT encore valide)\n",[166,449,447],{"__ignoreMap":203},[14,451,452,455,456,458],{},[36,453,454],{},"Retraits Assistés par le Personnel :","\nPersonnel d'entrepôt avec permission ",[166,457,429],{}," :",[40,460,461,464,467],{},[43,462,463],{},"Peut scanner QR au nom du travailleur autorisé",[43,465,466],{},"Transaction enregistre : scanMethod = \"staff\", scannerUserId = staff_id",[43,468,469],{},"Permet le modèle d'entrepôt sans surveillance (travailleur arrive, personnel facilite le transfert)",[18,471,473],{"id":472},"statut-dattribution","Statut d'Attribution",[195,475,478],{"className":476,"code":477,"language":200},[198],"Cycle de Vie d'Attribution :\n\npending → in-progress → completed\n   ↓           ↓            ↓\nCréé    Premier Rapport   Toutes les Cibles Atteintes\n   ↓        Soumis     ou Mise à Jour Manuelle\n   └──────→ cancelled (travail redirigé/reporté)\n",[166,479,477],{"__ignoreMap":203},[14,481,482,485],{},[36,483,484],{},"pending"," - Créé, pas commencé",[40,487,488,491],{},[43,489,490],{},"État initial pour les nouvelles attributions",[43,492,493],{},"Le travailleur n'a pas encore commencé le travail",[14,495,496,499],{},[36,497,498],{},"in-progress"," - Travail en cours",[40,501,502,505],{},[43,503,504],{},"Au moins un rapport soumis",[43,506,507],{},"Ou travailleur a mis à jour le statut manuellement",[14,509,510,513],{},[36,511,512],{},"completed"," - Tout le travail terminé",[40,515,516,519],{},[43,517,518],{},"Toutes les cibles de ressources atteintes (ou dépassées)",[43,520,521],{},"Travailleur marqué comme terminé",[14,523,524,527],{},[36,525,526],{},"cancelled"," - Attribution plus nécessaire",[40,529,530,533,536],{},[43,531,532],{},"Travail redirigé vers quelqu'un d'autre",[43,534,535],{},"Délai changé, travail reporté",[43,537,538],{},"Encore visible dans l'historique (option de suppression logique)",[18,540,542],{"id":541},"calcul-du-progrès","Calcul du Progrès",[14,544,545],{},"Le progrès d'attribution basé sur les cibles de ressources, pas les tâches disponibles :",[14,547,548],{},[36,549,550],{},"Formule :",[195,552,555],{"className":553,"code":554,"language":200},[198],"Pour chaque cible de ressource :\n  Sommer tout le travail terminé des rapports\n  Diviser par le volume cible\n  Caper à 100% par ressource\n  \nGlobal = Moyenne sur toutes les cibles de ressources\n",[166,556,554],{"__ignoreMap":203},[14,558,559],{},[36,560,193],{},[195,562,565],{"className":563,"code":564,"language":200},[198],"Cibles de Ressources :\n  - 50m câble\n  - 10 boîtes de jonction\n\nRapports soumis :\n  - Rapport A : 30m câble, 6 boîtes de jonction\n  - Rapport B : 25m câble, 5 boîtes de jonction\n\nProgrès :\n  Câble : (30 + 25) / 50 = 110% → capé à 100%\n  Boîtes : (6 + 5) / 10 = 110% → capé à 100%\n  Global : (100% + 100%) / 2 = 100%\n",[166,566,564],{"__ignoreMap":203},[14,568,569],{},[36,570,571],{},"Indicateurs Visuels :",[40,573,574,577],{},[43,575,576],{},"Barre de progrès : Vert ≥100%, Jaune ≥50%, Rouge \u003C50%",[43,578,579],{},"Utilisé dans : Rapports et validations référençant cette attribution",[18,581,583],{"id":582},"création-dattributions","Création d'Attributions",[14,585,586,589,590],{},[36,587,588],{},"Accès Requis :"," Droit d'administration ",[166,591,592],{},"assignmentsCreate",[14,594,595],{},[36,596,597],{},"Flux de Travail :",[345,599,600,603,606,609,612,615,618,621,624,627],{},[43,601,602],{},"Naviguer vers Exécution → Attributions",[43,604,605],{},"Cliquer sur \"Ajouter une Attribution\"",[43,607,608],{},"Remplir les infos de base (nom, description)",[43,610,611],{},"Glisser les utilisateurs dans le champ \"Assigné À\" (prise en charge du glisser-déposer)",[43,613,614],{},"Définir le délai (date de début, date d'échéance)",[43,616,617],{},"Ajouter les cibles de ressources (ce que le travailleur devrait accomplir)",[43,619,620],{},"Glisser les tâches dans le champ \"Tâches Disponibles\" (depuis la page Tâches)",[43,622,623],{},"Optionnellement définir le stock planifié (prévoir la demande)",[43,625,626],{},"Générer le code de retrait si inventaire protégé nécessaire",[43,628,629],{},"Enregistrer (immédiatement visible aux travailleurs assignés)",[14,631,632],{},[36,633,634],{},"Prise en Charge du Glisser-Déposer :",[40,636,637,640,643],{},[43,638,639],{},"Glisser les utilisateurs de la page Utilisateurs → champ Assigné À",[43,641,642],{},"Glisser les tâches de la page Tâches → champ Tâches Disponibles",[43,644,645],{},"Fonctionne entre onglets navigateur (configuration multi-moniteur)",[18,647,649],{"id":648},"filtrage-des-attributions","Filtrage des Attributions",[14,651,652],{},[36,653,654],{},"Filtres Pré-Construits :",[40,656,657,663],{},[43,658,659,662],{},[36,660,661],{},"Créé par moi"," - Attributions que vous avez créées",[43,664,665,668],{},[36,666,667],{},"Assigné à moi"," - Vos attributions de travail",[14,670,671],{},[36,672,673],{},"Filtres Personnalisés :",[40,675,676,679,682,685],{},[43,677,678],{},"Statut (pending, in-progress, completed, cancelled)",[43,680,681],{},"Plage de dates (date de début, date d'échéance)",[43,683,684],{},"Assigné à un utilisateur spécifique",[43,686,687],{},"Contient une tâche spécifique",[18,689,691],{"id":690},"vue-de-détail-dattribution","Vue de Détail d'Attribution",[14,693,694],{},[36,695,696],{},"Informations Affichées :",[40,698,699,702,705,708,711,714,717,720,723],{},[43,700,701],{},"Détails de base (nom, description, statut)",[43,703,704],{},"Utilisateurs assignés (objets glissables)",[43,706,707],{},"Liste des cibles de ressources",[43,709,710],{},"Liste des tâches disponibles",[43,712,713],{},"Barre de progrès et pourcentage",[43,715,716],{},"Code QR (si autorisé et pickupCode existe)",[43,718,719],{},"Retrait restant (après retraits partiels)",[43,721,722],{},"Rapports soumis pour cette attribution",[43,724,725],{},"Historique des transactions (retraits effectués)",[14,727,728],{},[36,729,730],{},"Actions Disponibles :",[40,732,733,736,739,742,745],{},[43,734,735],{},"Mettre à jour le statut",[43,737,738],{},"Éditer le délai",[43,740,741],{},"Ajouter/supprimer des tâches",[43,743,744],{},"Régénérer le code de retrait (si expiré)",[43,746,747],{},"Créer un nouveau rapport (action rapide depuis l'attribution)",[18,749,751],{"id":750},"création-de-rapports-depuis-les-attributions","Création de Rapports depuis les Attributions",[14,753,754],{},"Flux rapide pour rapporter le travail :",[345,756,757,760,763,777,780,783,786],{},[43,758,759],{},"Ouvrir la vue de détail d'attribution",[43,761,762],{},"Cliquer sur le bouton \"Créer un Rapport\" (dans l'emplacement actions)",[43,764,765,766],{},"Formulaire de rapport pré-rempli apparaît :\n",[40,767,768,771,774],{},[43,769,770],{},"Assigné à : Même que l'attribution",[43,772,773],{},"Tâches disponibles : Auto-remplies depuis l'attribution",[43,775,776],{},"Consommation suggérée : Basée sur les cibles de ressources",[43,778,779],{},"Le travailleur ajuste les réels (ce qui s'est vraiment passé)",[43,781,782],{},"Soumettre le rapport",[43,784,785],{},"Transactions de consommation créées automatiquement",[43,787,788],{},"Progrès d'attribution mis à jour",[18,790,792],{"id":791},"notifications","Notifications",[14,794,795,796],{},"Notifications par lot pour éviter le spam :\n",[36,797,798],{},"Traitement Intelligent :",[40,800,801,804],{},[43,802,803],{},"10+ changements d'attribution en 1 heure → notification de résumé unique",[43,805,806],{},"Notification individuelle pour les attributions urgentes/haute priorité",[14,808,809],{},[36,810,811],{},"Programme de Digest :",[40,813,814,817,820],{},[43,815,816],{},"Digest horaire (configurable par utilisateur)",[43,818,819],{},"Résumé de fin de journée",[43,821,822],{},"Compteur de badge en temps réel dans l'app",[14,824,825],{},[36,826,827],{},"Contenu de Notification :",[40,829,830,833,836,839],{},[43,831,832],{},"Nouvelles attributions créées pour vous",[43,834,835],{},"Changements de statut sur vos attributions",[43,837,838],{},"Approche des dates d'échéance",[43,840,841],{},"Codes de retrait expirant bientôt",[18,843,845],{"id":844},"meilleures-pratiques","Meilleures Pratiques",[14,847,848],{},[36,849,850],{},"Sur-Allouer les Tâches :",[40,852,853,856,859],{},[43,854,855],{},"Fournir 10x plus de tâches que nécessaire pour atteindre les cibles",[43,857,858],{},"L'autonomie du travailleur améliore l'efficacité",[43,860,861],{},"Réduit les temps d'arrêt \"manque de travail\"",[14,863,864],{},[36,865,866],{},"Définir des Délais Réalistes :",[40,868,869,872,875],{},[43,870,871],{},"Considérer le temps de trajet entre tâches",[43,873,874],{},"Compter les retards de retrait de matériaux",[43,876,877],{},"Marge pour météo, trafic, sites verrouillés",[14,879,880],{},[36,881,882],{},"Utiliser les Codes de Retrait pour l'Inventaire Protégé :",[40,884,885,888,891],{},[43,886,887],{},"Équipement de haute valeur",[43,889,890],{},"Matériaux contrôlés nécessitant responsabilité",[43,892,893],{},"Éléments avec exigences de suivi réglementaire",[14,895,896],{},[36,897,898],{},"Surveiller les Retraits Partiels :",[40,900,901,908,911],{},[43,902,903,904,907],{},"Vérifier ",[166,905,906],{},"pickupRemaining"," régulièrement",[43,909,910],{},"Réapprovisionner pour que les travailleurs puissent terminer les retraits",[43,912,913],{},"Communiquer les retards aux travailleurs assignés",[14,915,916],{},[36,917,918],{},"Examiner les Attributions Terminées :",[40,920,921,924,927],{},[43,922,923],{},"Comparer les cibles de ressources à la consommation réelle (des rapports)",[43,925,926],{},"Identifier les erreurs d'estimation (trop/peu alloué)",[43,928,929],{},"Améliorer la planification future d'attribution",{"title":203,"searchDepth":931,"depth":931,"links":932},2,[933,934,935,936,937,938,939,940,941,942,943,944,945],{"id":20,"depth":931,"text":21},{"id":131,"depth":931,"text":132},{"id":180,"depth":931,"text":181},{"id":270,"depth":931,"text":271},{"id":325,"depth":931,"text":326},{"id":472,"depth":931,"text":473},{"id":541,"depth":931,"text":542},{"id":582,"depth":931,"text":583},{"id":648,"depth":931,"text":649},{"id":690,"depth":931,"text":691},{"id":750,"depth":931,"text":751},{"id":791,"depth":931,"text":792},{"id":844,"depth":931,"text":845},"Allouer le travail aux utilisateurs avec autorisation d'inventaire et gestion des délais","md",{},true,"/fr/user/work-fulfillment/workorders",{"title":5,"description":946},"fr/user/work-fulfillment/workorders","1CPmaopVhYXhh4xqKpBCFKaDQ_zWX_V21m8JrY4jAMs",1780539292226]