Aller au contenu principal

8-Personnalisation Avancée

Contexte et objectif​

L'exploitation des champs personnalisés (custom fields) sortants (vers Yooz) et entrants (vers X3). L'utilisation des points d'entrée pour les adaptations spécifiques (ex: forcer un code taxe, modifier le compte centralisateur).

Ce chapitre intervient sur ces phases de l’implémentation :

▼▼
Avant-venteInitialisationCadrageInstallationParamétrageRecetteMise en production

1 Champs Yooz personnalisés​

Le connecteur Sage X3 pour Yooz prend en charge la fonctionnalité des champs personnalisés de Yooz, tant pour les flux sortants que pour les flux entrants.

  • Pour les flux sortants (Sage X3 > Yooz), vous pouvez renseigner jusqu’à 10 champs personnalisés Yooz pour chaque objet/document suivant :
    • Fournisseurs (GESBPS)
    • Clients (GESBPC)
    • Dimensions analytiques (GESCCE)
    • Comptes (GESGAC)
    • Utilisateurs (GESAUS)
    • Taux d’imposition (GESTVT)
    • Conditions de paiement (GESTPT)
    • Articles (GESITM)
    • Commandes d’achat/réceptions (GESPOH/GESPTH) – jusqu’à 10 champs personnalisés Yooz pour l’en-tête et les lignes.
    • Retours fournisseurs (GESPND) – jusqu’à 10 champs personnalisés Yooz pour l’en-tête et les lignes.
  • Pour les flux entrants (Yooz > Sage X3), vous pouvez envoyer jusqu’à 10 champs personnalisés Yooz vers Sage X3 pour les factures suivantes :
    • Factures d’achat (GESPIH)
    • Factures comptables fournisseurs (GESBIS)
    • Commandes d’achats (GESPOH)
    • Réceptions (GESPTH)

Les champs personnalisés sont soumis aux contraintes imposées par les normes Sage X3 ou par le contexte spécifique de l’application.

Champs personnalisés Yooz flux sortant​

Paramétrage > Exploitation > Imports/Exports > Champs personnalisés Yooz flux sortant

  1. Ajoutez l'objet sur lequel vous souhaitez configurer un champ personnalisé.
  2. Sélectionnez un emplacement compris entre 1 et 10.
  3. Entrez une formule qui va renvoyer une chaîne de caractères. (Vous pouvez utiliser l’assistant de formule pour vous aider si besoin)

Exemple pour indiquer l'année de création dans le champ personnalisé n° 1 du formulaire « Fournisseur » de Yooz (cf: ligne 1 de la capture d’écran ci-dessus)

Une fois les champs personnalisés Yooz configurés, les modifications apportées à ces champs seront transmises à Yooz lors du prochain envoi (tâche récurrente ou manuellement via le service web).

Champs personnalisés Yooz flux entrant​

Paramétrage > Exploitation > Imports/Exports > Champs personnalisés Yooz flux entrant

  1. Sélectionnez le modèle correspondant, par exemple XRJ31PIH pour les factures, XRJ31BIS pour les factures de tiers, etc.
  2. Sélectionnez la table X3 que vous souhaitez enrichir avec les données provenant de Yooz.
  3. Sélectionnez le champ de position présent dans l'importation ; il y a 10 positions disponibles pour chaque table.
  4. Sélectionnez le champ X3 que vous souhaitez remplir avec les données provenant de Yooz.

Exemple pour indiquer les désignations et les codes affaires à la fois dans l’en-tête et à la ligne (cf: ligne 1 à 4 de la capture d’écran ci-dessus)
En important ce fichier :

On retrouve bien dans l’en-tête :

Et dans la ligne :

2 Points d'entrée​

Plusieurs points d'entrée ont été mis en place pour permettre un développement spécifique via le connecteur Yooz.

XRJ31BICLIB​

PARAM_ETAT​

Ce point d'entrée est appelé juste avant l'impression du PDF de la facture fournisseur à envoyer à Yooz.

Si vous souhaitez ajouter un nouveau paramètre à l'impression :

[L]NBPAR += 1 : [L]TBPAR([L]NBPAR) = 'societe' : [L]TBVAL([L]NBPAR) = [F:SIH]CPY

Tables renseignées avec des valeurs significatives :
- COMPANY [F:CPY]
- FACILITY [F:FCY]
- GACCDUDATE [F:DUD]
- SINVOICE [F:SIH]
- XRJ31YOOZSUI [F:XRJ31YS]

---

PE_CHANGEBIC​

Ce point d'entrée permet de modifier le contenu de la facture tiers client.

Voici la liste des variables que vous pouvez modifier
- [L]YZ_PURCHASE_ORDER_NUMBER - BT-13
- [L]YZ_MARKET_NUMBER - BT-12

---

XRJ31IMPBIS​

=ACTION​

Ce script est appelé en tant que script spécifique pour l'import des factures fournisseurs depuis Yooz. Pour chaque action de cet import (IMPORT, IMP_ZONE, ..), un point d'entrée du même nom est appelé.

---

XRJ31IMPPIH​

=ACTION​

Ce script est appelé en tant que script spécifique pour l'import des factures d'achat depuis Yooz. Pour chaque action de cet import (IMPORT, IMP_ZONE, …), un point d'entrée du même nom est appelé.

DEF_UOM​

Ce point d'entrée vous permet de modifier [M:PIH3]UOM(nolign-1) d'une ligne diverse qui est remplie avec 'UN' par défaut.

---

XRJ31IMPPOH​

=ACTION​

Ce script est appelé en tant que script spécifique pour l'import des commandes d'achat depuis Yooz. Pour chaque action de cet import (IMPORT, IMP_ZONE, …), un point d'entrée du même nom est appelé.

---

XRJ31IMPPTH​

=ACTION​

Ce script est appelé en tant que script spécifique pour l'import des réceptions d'achat depuis Yooz. Pour chaque action de cet import (IMPORT, IMP_ZONE, …), un point d'entrée du même nom est appelé.

---

XRJ31PNDLIB​

SPEFLD​

Ce point d'entrée permet de modifier le contenu des retours d'achat.

Voici la liste des variables que vous pouvez modifier
- [L]YBPSNUM - Le fournisseur

---

XRJ31SIHLIB​

PARAM_ETAT​

Ce point d'entrée est appelé juste avant l'impression du PDF de la facture de vente à envoyer à Yooz.

Si vous souhaitez ajouter un nouveau paramètre à l'impression :

[L]NBPAR += 1 : [L]TBPAR([L]NBPAR) = 'sitedeb' : [L]TBVAL([L]NBPAR) = [F:SIV]SALFCY

Tables renseignées avec des valeurs significatives :
- COMPANY [F:CPY]
- FACILITY [F:FCY]
- SINVOICE [F:SIH]
- SINVOICEV [F:SIV]
- GACCDUDATE [F:DUD]
- XRJ31YOOZSUI [F:XRJ31YS]

---

PE_CHANGESIH​

Ce point d'entrée permet de modifier le contenu de la facture de vente.

Voici la liste des variables que vous pouvez modifier
- [L]YZ_PURCHASE_ORDER_NUMBER - BT-13
- [L]YZ_MARKET_NUMBER - BT-12

---

XRJ31YOOZLIB​

BEFNEWSUI​

Le connecteur utilise une file d'attente pour lister tous les éléments à envoyer à Yooz, et ces éléments seront envoyés lors de l'exécution de la fonction XRJ31EXE (généralement en tant que tâche récurrente).
Ce point d'entrée est appelé avant l'ajout d'un enregistrement dans la file d'attente.

Une transaction est ouverte, le point d'entrée est appelé juste avant l'écriture *write [F:XRJ31YS]*.

Si vous souhaitez ignorer cette création :

[L]XRJ31SKIP = 1

Si vous souhaitez générer un nouveau chrono :

Call NUMERO('YOOZ','',date$,'',[F:XRJ31YS]CHRONO,WRET) From SUBANM

Tables renseignées avec des valeurs significatives :
- XRJ31YOOZSUI [F:XRJ31YS]

PE_CHANGEPO​

Ce point d'entrée permet de modifier le contenu de la commande d'achat.

Voici la liste des variables que vous pouvez modifier
- [L]YBPSNUM - Le fournisseur
- [L]YFCY - Le site - [L]YITMDES - La description de l’article

[L]XRJ31WTRAIT contient le script appelant

3 Développements spécifiques​

Certains développements spécifiques sont communs à de nombreux clients ; voici quelques exemples faciles à mettre en œuvre

Envoi de commandes sans reçu​

Si vous souhaitez envoyer des commandes sans attendre de reçu, définissez la valeur 2 pour le champ XRJ31SKPRCP dans PORDER.
Par exemple, si vous souhaitez envoyer toutes les commandes par défaut, vous pouvez utiliser/ajouter le script suivant dans le script SPEPOH. Cela vous permet de filtrer le comportement si nécessaire.

$ACTION
Case ACTION
When "INICRE" : Gosub INICRE
Endcase
Return

$INICRE
[F:POH]XRJ31SKPRCP=2
Return

Ne vous inquiétez pas : la commande ne sera pas envoyée immédiatement. Elle suivra le flux standard, ce qui signifie que vous devrez tout de même signer et imprimer le bon de commande.

---

Forcer le code fiscal (TVA) lors de l’importation d’une facture basée sur un bon de commande​

Lorsque vous souhaitez importer des factures d’achat liées à un bon de commande et que vous souhaitez forcer le code TVA importé (champ PINVOICED.VAT) plutôt que de laisser le système standard le recalculer, vous pouvez :
- Créer un point d’entrée sur le processus standard TRTX3 (contactez votre intégrateur si vous avez besoin d’aide à ce sujet).
- Utiliser le script suivant pour appeler le point d’entrée standard ALIVATCOD

# Script : YTRTX3PE
# 2026-08-24 JAT : YOOZX3-1109 : check that the value is not empty

$ACTION
Case ACTION
When "ALIVATCOD" : Gosub ALIVATCOD
Endcase
Return

$ALIVATCOD
If GIMPORT & dim([F:AOE]OBJ)>0 & find([F:AOE]OBJ,"PIH")
If !clalev([F:XRJ31FI]) : Local File XRJ31SPEFLDI [F:XRJ31FI] : Endif
Filter [XRJ31FI] Where TEMPLATE=[F:AOE]EXT & TABLE="PINVOICED"
For [F:XRJ31FI]
If find([F:XRJ31FI]FLD,"VAT","VAT(0)")
If evalue("GIMP("+right$([F:XRJ31FI]POSITION,2)+")") <> '' # 2026-08-24 JAT
[L]TAXES(0) = evalue("GIMP("+right$([F:XRJ31FI]POSITION,2)+")")
GPE=1
Endif
Endif
Next
Endif
Return

Then, configure the "Yooz custom fields in" connector function as follows (function code : GESXRJ31FI):

Ajouter les comptes comptables de l’article lors de l’export​

Lors du transfert des articles de Sage X3 vers Yooz, si vous souhaitez récupérer les comptes d’achat définis sur le code comptable de l’article, les éléments suivants doivent être configurés :

- Vérifier que le traitement XRJ31YOOZLIB est à jour. - Dans la fonction « Yooz custom fields out flows » ( code : GESXRJ31FO), ajouter une ligne pour l’objet ITM. - Sélectionner le champ Yooz de destination dans lequel le compte d’achat doit être transmis. - Renseigner la formule suivante dans le champ de traitement :

func XRJ31YOOZLIB.GETACCOUNT([F:ITM]ACCCOD,"FRA")

Dans cette formule, la valeur FRA correspond au code du plan comptable utilisé. Elle doit donc être adaptée si un autre plan comptable doit être interrogé.

Cette configuration permet de récupérer automatiquement le compte d’achat associé au code comptable de l’article et de le transmettre à Yooz.