Développement > Utilitaires > Divers > Paramétrage changement de clé 

Cette fonction permet de définir des règles de recodification utilisables pour renommer les clés d'objets de façon automatisée. Cette fonction est seulement possible pour les objets dont l'option "Changer la clé" est activée.

L'objectif est notamment de permettre de simplifier un paramétrage multi-législation en changeant les codes d'éléments de paramétrage.

Imaginons par exemple un dossier de référence Sage X3 défini avec des codes journaux tels que "FRVEN", "SPVEN", "ITVEN", "PTVEN" pour définir des journaux de ventes utilisées dans chacune des législations françaises, espagnoles, italiennes, portugaises. Ces journaux ayant des caractéristiques différentes, ils sont forcément identifiés par des codes différents. Mais si on crée un dossier ne contenant que des sociétés italiennes, seul le code journal "ITVEN" sera créé. On peut alors avoir envie de recodifier ce journal en "VEN", par souci de simplification.

Cet utilitaire permet de réaliser ce type de recodification, en identifiant, par le biais d'un code, un ensemble de lignes de changement de codes à réaliser. Ces changements de code pourront être déclenchés :

  • soit via une fonction dédiée, à laquelle on donne le code identifiant l'ensemble des changements de clés à réaliser.
  • soit au moment de la création d'un dossier (on pourra alors donner un modèle définissant l'ensemble des codes de renommage à exécuter).

Un exemple de ce que pourrait être une liste de recodification est donné ci-dessous :

Objet 

Intitulé objet

Identifiant 1

Identifiant 2

Intitulé

Nouveau code

ADI

Table diverse

ACO

1

 

ZZZ

JOU

Journaux

SPVEN

 

Ventas

VEN

Pour chaque ligne du tableau, le changement de clé est donc l'équivalent du changement de clé manuel effectué par l'utilisateur (mais l'utilisation de cette fonction permettra d'automatiser tous les changements de code en une seule opération).

Pré-requis

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre

Gestion de l'écran

L'écran se présente sous la forme d'un tableau de lignes : chaque ligne correspond à une définition de changement de clé.

Lorsque la clé est en deux parties, les deux parties de clé sont saisies, mais la partie de clé à recodifier est indiquée en premier. Ainsi, par exemple, si on décide de modifier la clé d'une table diverse, le numéro de la table est saisi en second, et le code dans la table, qui sera recodifié, est saisi en premier.

Ecran de saisie

Présentation

Champs

Les champs suivants sont présents dans cet onglet :

Bloc numéro 1

Code identifiant la fiche courante.

  • Intitulé (champ INTIT)

Permet de définir un intitulé associé à chaque fiche.

  • Actif (champ ENAFLG)

Sélectionnez cette case à cocher pour activer la fiche courante.

Les enregistrements non sélectionnés conservent leur contenu et paramétrage, mais ne pourront pas être utilisés en rappelant leur code dans :

  • les autres enregistrements, comme les documents et paramètres,
  • les traitements en masse.

Les habilitations sur une fonction donnée peuvent interdire la création d'une fiche active. Dans ce cas, la case est désactivée par défaut. Elle est modifiable uniquement par un utilisateur autorisé, ou via un Workflow de signature.

Tableau

Code objet concerné par la recodification.

  • Clé secondaire (champ CLE2)

Si l'objet contient dans sa clé une seule partie, ce champ est vide.

Sinon c'est la valeur de la deuxième partie de clé de l'objet que l'on veut changer.

  • Ancien code (champ VAL1)

C'est la valeur de la dé de l'objet à modifier

  • Intitulé (champ DES)

Saisissez la description de la fiche concernée.

Cet intitulé long est utilisé en titre dans les écrans et les états.

  • Nouveau code (champ NEW1)

Est la nouvelle valeur de la clé qui doit remplacer l'ancienne valeur 'Identifiant 1'.

 

Icône Actions

Chargement

Cette fonction permet de charger dans le tableau toutes les autres clés de la table correspondant à la ligne courante. Ainsi, par exemple, si on souhaite recodifier l'ensemble des codes d'une table diverse, il suffit de saisir le premier code de la table, puis de revenir sur la ligne en mode commande et, par clic droit, de demander le chargement : toutes les autres lignes de la table diverse en question seront alors chargées, et il ne restera plus qu'à définir les nouveaux codes en regard.

Chargement sélectif

Cette fonction permet de pré-charger une liste de lignes à renommer en indiquant l'objet correspondant et un critère de filtrage.

 

 

Recodification des formules de calcul

Il peut arriver que certains codes soient utilisés sous forme de constante dans des formules de calcul. L'exemple le plus fréquent est celui des pièces automatiques. Afin de permettre à l'utilitaire de recodification de reconnaître des clés écrites sous forme de constantes dans des formules, on recourra à un artifice. Au lieu de saisir sous forme constante (par exemple "FRVEN") la clé associée à un objet (par exemple JOU), on utilisera, dans la pièce automatique, la formule suivante :

Func ACHANGE.C("FRVEN","JOU")

La fonction ACHANGE.C renvoie systématiquement la valeur du premier paramètre ("FRVEN" dans l'exemple); écrire cette formule équivaut donc à mettre la constante "FRVEN". Mais les formules de ce type sont détectées par la fonction de recodification. Ainsi, si une ligne existe pour l'objet JOU, qui fait correspondre au code FRVEN un nouveau code VEN, la fonction de recodification remplacera la formule par

Func ACHANGE.C("VEN","JOU")

A noter que, dans le cas d'une table en deux parties, on mettra la formule sous la forme "CLE1~CLE2". Ainsi, par exemple, pour renommer le code FRCHQ en CHQ dans la table diverse numéro 306, on utilisera la formule

Func ACHANGE.C("306~FRCHQ","ADI")

Boutons spécifiques

Les champs suivants sont présents dans la fenêtre ouverte par ce bouton :

Bloc numéro 1

  • champ OBJET

 

  • champ CLES

 

Bloc numéro 2

  • Depuis le dossier (champ DOSORG)

Indiquez le dossier à partir duquel la fiche va être copiée. Les syntaxes possibles sont décrites dans l'annexe dédiée.

  • Tous dossiers (champ TOUDOS)

Cette option permet de copier la fiche vers tous les dossiers définis dans le dictionnaire (table ADOSSIER de la solution courante).

  • Vers le dossier (champ DOSDES)

Indiquez le dossier dans lequel la fiche va être copiée. Les syntaxes possibles sont décrites dans l'annexe dédiée.

Ce bouton permet de recopier la définition de la fiche depuis ou vers un autre dossier.

Barre de menu

Options / Exécution

Cette fonction permet de lancer l'exécution de la recodification

Messages d'erreur

Il n'y a pas de message d'erreur autre que les messages d'erreur génériques.

Tables mises en oeuvre

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre