Aller au contenu principal

Liens Foxyz

Lien essai interne - indus Foxyz permet de faire le lien entre les industrialisations rentrées dans Foxyz et AUEM Order lors de création d'une commande.

Fonctionnement

Lors de la création d'une commande, nous allons rechercher le Lien essai interne - indus Foxyz ayant le plus de données en commun avec la commande.

Par exemple, si nous avons un Lien essai interne - indus Foxyz avec les données suivantes :

  • Essai : Traction Ambiante
  • Métal : Inox

Et que nous créons une commande avec les données suivantes :

  • Essai : Traction Ambiante
  • Métal : Inox
  • Diamètre : 10mm

Alors ce lien sera sélectionné car il remplit 2 conditions sur 2.

Si nous avons un second Lien essai interne - indus Foxyz avec les données suivantes :

  • Essai : Traction Ambiante
  • Métal : Acier

Alors ce lien ne sera pas sélectionné car il remplit seulement 1 condition sur 2.

Le système prendra toujours le Lien essai interne - indus Foxyz ayant le plus de données en commun possible.

Si, par hasard, plusieurs Lien essai interne - indus Foxyz avaient le même nombre de conditions remplies, le système choisira celui avec le numéro d'ID Foxyz le plus bas.

Commentaire

Il est possible d'ajouter un commentaire qui sera visible dans l'essai de commande créé. Ce commentaire fonctionne comme un "modèle" de commentaire. Celui-ci peut contenir des variables qui seront remplacées par les valeurs de la commande, du client, de la désignation client et de l'essai encodé lors de la création de la commande.

Voici un tableau des variables utilisables dans ce champs commentaire :

Données relatives à la Commande

Préfixe à utiliser : {{order.*}}

VariableDescription
{{order.id}}Identifiant unique de la commande
{{order.customer_contact_person}}Nom de la personne de contact du client
{{order.foxyz_id}}Identifiant Foxyz de la commande
{{order.customer_order_reference}}Référence de commande côté client
{{order.customer_order_date}}Date de commande
{{order.date}}Date d’encodage de la commande
{{order.comment}}Remarques associées à la commande
{{order.is_nuclear}}Indique si la commande est nucléaire
{{order.is_hpc}}Indique si la commande est HPC/D02
{{order.is_counter_test}}Indique s’il s’agit d’un contre-essai
{{order.is_customer_return}}Indique s'il s'agit d'un retour client
{{order.return_type}}Type de retour client
{{order.counter_test_number}}Numéro de commande du contre-essai
{{order.encoded_by}}Personne ayant encodé la commande

Données relatives à un Essai encodé dans la commande

Préfixe à utiliser : {{order_test.*}}

remarque

Ce commentaire sera générique pour tous les essais de ce type. Vous aurez toujours la possibilité de le modifier dans l'étape de l'encodage des données d'un essai lors de la création d'une commande.

VariableDescription
{{order_test.id}}Identifiant unique de l’essai encodé
{{order_test.order}}Description succincte de la commande associée
{{order_test.customer_designation}}Désignation client associée à l’essai
{{order_test.test}}Description succincte de l’essai lié à la commande
{{order_test.test.name}}Nom de l’essai lié à la commande
{{order_test.delivery_date}}Date de livraison prévue pour l’essai
{{order_test.unit_price}}Prix unitaire de l’essai
{{order_test.total_price}}Prix total de l’essai
{{order_test.discount_type}}Type de réduction appliquée
{{order_test.discount_amount}}Montant de la réduction
{{order_test.temperature_celsius}}Température (°C) indiquée pour l’essai
{{order_test.accreditation}}Accréditation sélectionnée
{{order_test.metal}}Métal sélectionné
{{order_test.specimen_type}}Type d’éprouvette sélectionné
{{order_test.orientation}}Orientation sélectionnée
{{order_test.sampling_location}}Lieu de prélèvement sélectionné
{{order_test.test_standards}}Normes d’essai sélectionnées
{{order_test.extensometer_setting}}Réglage de l’extensomètre sélectionné
{{order_test.therorical_dimension}}Dimension théorique sélectionnée
{{order_test.anchoring_head}}Tête d’amarrage sélectionnée
{{order_test.test_speed}}Vitesse d’essai sélectionnée
{{order_test.temperature}}Température sélectionnée
{{order_test.target_test_speed}}Vitesse d’essai visée sélectionnée
{{order_test.imposed_requirement}}Imposition(s) sélectionnée(s)
{{order_test.additional}}Élément(s) additionnel(s) sélectionné(s)
{{order_test.dimension}}Dimension sélectionnée
{{order_test.assembly_type}}Type d'assemblage sélectionné
{{order_test.test_program}}Programme d'essai sélectionné
{{order_test.test_machine}}Machine d'essai sélectionnée
{{order_test.insert_curve_test}}Indique si la courbe d’essai est insérée ou non
{{order_test.insert_zoom_rp}}Indique si le zoom RP0.2% est inséré ou non
{{order_test.extra_fields}}Champs additionnels de l’essai (affichés en brut)
{{order_test.foxyz_article}}Description succincte du lien Foxyz associé à l’essai
{{order_test.get_testtube_triplet_letters}}Retourne le triplet de lettres par éprouvette
remarque

test_standards correspond aux normes d'essai sélectionnées. Contrairement à test, qui désigne un essai unique (et pour lequel .name fonctionne, ex. {{order_test.test.name}}), test_standards peut contenir plusieurs normes : il s'agit donc d'une liste, et non d'un objet unique.

  • Pour afficher les normes : utiliser {{ order_test.test_standards }} (et non {{ order_test.test_standards.name }}, qui ne fonctionne pas car il s'agit d'une liste de normes et non d'une seule norme).
  • Pour tester la présence d'une norme précise : utiliser {% if "nom_norme" in order_test.test_standards %}...{% endif %} (et non {% if order_test.test_standards.name == "nom_norme" %}, qui échouera pour la même raison).

Exemple : {% if "EN 10002-1" in order_test.test_standards %}Essai réalisé selon EN 10002-1{% endif %}


Client

Préfixe à utiliser : {{customer.*}}

VariableDescription
{{customer.id}}Identifiant unique du client dans AUEM Order
{{customer.name}}Nom du client
{{customer.foxyz_id}}Identifiant Foxyz du client
{{customer.discount_type}}Type de réduction appliqué au client
{{customer.discount_amount}}Montant de la réduction appliquée au client

Désignation client

Préfixe à utiliser : {{customer_designation.*}}

VariableDescription
{{customer_designation.id}}Identifiant unique de la désignation client
{{customer_designation.name}}Désignation client
{{customer_designation.name_auem}}Numéro d'ordre de fabrication
{{customer_designation.metal}}Métal sélectionné pour la désignation client
{{customer_designation.grade}}Nuance de la désignation client
{{customer_designation.heat}}Coulée de la désignation client
{{customer_designation.product_size}}Dimension produit de la désignation client
{{customer_designation.comment}}Remarque de la désignation client
{{customer_designation.is_machined_by_auem}}Usinage par AUEM de la désignation client
{{customer_designation.inspection}}Si inspection de la désignation client
{{customer_designation.inspection_date}}Date d'inspection de la désignation client
{{customer_designation.applicable_documents}}Documents applicables de la désignation client

Champ additionnel

Préfixe à utiliser : {{ extra_field.* }}

VariableDescription
{{extra_field.id}}Identifiant unique du champ additionnel
{{extra_field.extra_field_name}}Nom du champ additionnel
{{extra_field.extra_field_label}}Label du champ additionnel
{{customer_designation.extra_field_type}}Type de la donnée du champ additionnel
{{customer_designation.required}}Détermine si le champ additionnel est obligatoire

Affichage d'un champ additionnel d'un essai

Il est possible de récupérer le champ additionnel en utilisant get_extra_field dans le commentaire. Cette fonctionnalité s'utilise comme ceci : {% get_extra_field order_test "Nom du champ additionnel" as extra_field %}. Le champ additionnel pourra alors être utilisé via {{extra_field}}.

Le nom "extra_field" est un exemple, vous pouvez appeler cette variable comme bon vous semble, par exemple : get_extra_field order_test "controlled_temperature" as temperature_controlee %} et ensuite l'utiliser en faisant {{temperature_controlee}}.

Vérifier la présence d'une norme, peu importe son année

Il est possible de vérifier si un essai contient une norme précise en utilisant le filtre has_standard, sans avoir besoin de connaître ou de préciser l'année exacte de cette norme (par exemple 2014, 2015, 2016, etc.).

Cette fonctionnalité s'utilise comme ceci : {% if order_test|has_standard:"ASTM A370" %}...{% endif %}.

Exemple : {% if order_test|has_standard:"ASTM A370" %}Essai réalisé selon ASTM A370{% endif %}

Ce filtre renverra True que la norme sélectionnée pour l'essai soit "ASTM A370 : 2014", "ASTM A370 : 2016" ou toute autre année, car seule la correspondance sur le nom de la norme (hors année) est vérifiée.

remarque

Contrairement à {% if "nom_norme" in order_test.test_standards %} (voir plus haut), qui nécessite de connaître la formulation exacte de la norme telle qu'elle apparaît dans la liste, has_standard est recommandé lorsque vous voulez tester la présence d'une norme sans vous soucier de son année.

Possibilité de réaliser des conditions

Il est possible de réaliser des conditions sur les variables citées ci-dessus en utilisant la syntaxe suivante :

  • {% if condition %}...{% endif %} : Permet d'inclure du texte uniquement si la condition est remplie.
  • {% if condition %}...{% else %}...{% endif %} : Permet d'inclure du texte si la condition est remplie, sinon inclure un autre texte.

Exemples de conditions :

  • {% if order.is_nuclear %}Commande nucléaire{% endif %} : Inclut le texte "Commande nucléaire" uniquement si la case nucléaire a été cochée lors de l'encodage de la commande.
  • {% if customer.name == "WOOGMA" %}Ceci est une commande de test{% endif %} : Inclut le texte "Ceci est une commande de test" uniquement si le nom du client est "WOOGMA".
  • {% if order.is_counter_test %}Contre-essai n° {{order.counter_test_number}}{% else %}Essai standard{% endif %} : Inclut le texte "Contre-essai n° ..." si la case contre-essai a été cochée lors de l'encodage de la commande, sinon inclut le texte "Essai standard".
  • {% if "EN 10002-1" in order_test.test_standards %}Essai réalisé selon EN 10002-1{% endif %} : Inclut le texte "Essai réalisé selon EN 10002-1" uniquement si la norme "EN 10002-1" fait partie des normes sélectionnées pour l'essai (voir note sur test_standards ci-dessus).
remarque

test_standards étant une liste de normes (et non un objet unique comme test), on ne peut pas utiliser .name dessus. On utilise l'opérateur in pour vérifier qu'une norme précise fait partie de la liste : {% if "nom_norme" in order_test.test_standards %}.

Récupérer un élément particuler d'une liste

Il est possible de récupérer un élément particulier d'une liste en utilisant la syntaxe suivante :

  • {{ liste|get_dict_item:'nom de l'élément' }}

Exemple:

  • {{ order_test.extra_fields|get_dict_item:'_Test_Choq_Flexion__Temperature_' }} : Permet de récupérer le champ additionnel "Température" de l'essai.
remarque

Il faut ajouter {% load custom_filters %} au début du commentaire pour pouvoir utiliser get_dict_item.

Récupérer un choix de l'essai selon son nom

Il est possible de récupérer un choix de l'essai en utilisant la syntaxe suivate :

  • {{ liste_de_choix|get_choice_by_name:"Nom du choix" }}

Exemple:

  • {{ order_test.additional.all|get_choice_by_name:"Entaille" }}
remarque

Il faut bien préciser le .all qui permet de dire à l'application qu'on cherche parmi tous les choix de l'essai. Il faut également ajouter {% load custom_filters %} au début du commentaire pour pouvoir l'utiliser.

Nom du fichier Excel

Il est possible de modifier le nom que prendront les rapports Excel dont la désignation client est associée à un lien Foxyz. Ce nom peut contenir des variables portant sur la commande et sur le rapport. Par défaut, la valeur est {{test_report.pv_name}} qui correspond à un nom de fichier généré de manière automatique.