Utilisez cette fonction pour paramétrer des compteurs à utiliser dans l'application.

Chaque compteur est identifié par un code alphanumérique. Cette fonction vous permet de définir la structure de chaque compteur, selon les besoins de votre organisation. Une fois que vous avez défini la structure de vos compteurs, utilisez la fonction Affectation des compteurs (GESTCA) pour affecter un compteur spécifique à un type de document.

Par exemple, vous pouvez identifier les devis émis depuis vos différents sites par un numéro séquentiel avec un préfixe représentant le site concerné. Cette fonction (Structures), vous permet de créer un code de compteur pour chaque site, par exemple SQSA, SQSB, ou SQSC (SQ pour "sales quotes" ou devis de vente, et SA, SB, SC pour les sites A, B et C). Chaque code de compteur est associé à un composant numérique et un préfixe représentant le site. Une fois que vous avez défini les composants consistutant la structure du compteur, utilisez la fonction Affectation pour affecter un code de compteur spécifique à un type de document (dans l'exemple, Devis), pour chaque site ou société.

La longueur maximum autorisée pour l'ensemble composants de la structure est indiquée. Vous pouvez utiliser moins de caractères, mais vous ne pouvez pas dépasser la limite autorisée.

Chaque code de compteur doit être unique. Cependant, plusieurs types de documents peuvent être affectés au même code de compteur. Vous devez ainsi vous assurer de ne pas dupliquer la structure des types de documents, car leurs clés doivent rester uniques. Cela pourrait engendrer l'annulation de la transaction.

Pour définir la valeur de début du compteur, sélectionnez la case à cocher Remise à zéro (ZERO) ; vous pouvez également indiquer la valeur de début de chaque composant du compteur dans la fonction Valeurs des compteurs (MODCPT). Vous pouvez également définir le compteur suivant dans l'ordre chronologique, ce qui facilitera la récupération des données en cas de redémarrage du système.

En cas de démarrage du système ou d'un nouveau module, il est recommandé de supprimer la fonction Valeurs des compteurs (MODCPT) du menu. Ainsi, les compteurs resteront dans l'ordre chronologique.

Prérequis

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre

Gestion de l'écran

La fonction Structures contient un écran unique présentant les différents éléments clés du compteur.

Onglet Écran de saisie

Chaque bloc représente un élément clé du compteur que vous devez définir. Il faut cependant noter que le bloc Composants est variable. Ce bloc vous permet de définir les composants constitutant la structure du compteur, à adapter aux besoins de votre organisation.

Type composant

Explication

Constante

Chaîne de caractères fixe. Cette valeur doit être saisie dans la colonne Formule. Ne saisissez pas de guillemets simples ou doubles autour de la valeur.

Année

Longueur = 1 correspond au dernier chiffre de l'année (0 à 9).
Longueur = 2 correspond aux deux derniers chiffres de l'année (00 à 99).
Longueur = 4 correspond à l'année complète à quatre chiffres.

Mois

Longueur = 2 correspond au mois en chiffres (00 à 12).
Longueur = 3 correspond aux trois premières lettres du mois en anglais (JAN, FEB, MAR etc.).

Semaine

Longueur = 2 correspond au numéro de la semaine (00 à 53).

Jour

Longueur = 1 correspond au numéro du jour de la semaine (1 à 7).
Longueur = 2 correspond au numéro du jour dans le mois (01 à 31).
Longueur = 3 correspond aux un numéro du jour dans l'année (001 à 366).

Société

Code de la société à laquelle le mouvement est affecté (1 à 5 caractères).

Site

Code du site auquel le mouvement est affecté (1 à 3 caractères).

Compteur

Partie incrémentale de la structure du compteur. Cette valeur est incrémentée par 1. La valeur initiale est 1.

Complément

Composant additionnel. Cette valeur dépend du module dans lequel le composant du compteur est utilisé.

Exercice

Le numéro d'exercice est défini sur 1 à 3 chiffres (valeur égale à 1 pour le premier exercice ouvert). Cette numérotation est notamment utile si vous travaillez avec des exercices décalés. Dans ce cas, une rupture se produit dans la numérotation lorsque'on change d'année. Ceci peut arriver au milieu de l'exercice fiscal.

Période

Le numéro de la période est défini sur 1 à 3 chiffres (commençant à 1, et pouvant atteindre le nombre maximum de périodes de l'exercice).

Formule

La formule indiquée est ajoutée à la structure du compteur. Il s'agit essentiellement d'une suite de caractères indépendants, qui seront intégrés à la structure de compteur générée. La formule peut être de type alphanumérique, numérique, ou une date, limitée à 20 caractères. Si vous utilisez des caractères alphanumériques, ils seront transformés en majuscules, puis formatés sur le nombre exact de caractères prévus.

Remarques importantes

Complément

Le code du complément permet de définir un segment de compteur en fonction du contexte, sans avoir à définir deux compteurs différents. Dans ce cas, il faut noter qu'une séquence chronologique s'applique à chaque valeur prise par le champ Complément.

L'utilisation du champ Complément dépend du contexte de chacune des fonctions.

Dans les fonctions Superviseur, le complément est utilisable pour le compteur des numéros de lot dans le sas d'import/export. Il contient le code du modèle d'import/export utilisé.

La liste des compléments disponibles dans les modules métiers est définie dans une documentation annexe.

Dans tous les autres cas, le numéro de complément n'est pas affecté. Vous pouvez cependant utiliser un point d’entrée spécifique pour attribuer une valeur au numéro de complément dans un contexte particulier.

Vous pouvez également intégrer le code complément dans une séquence de numérotation sans pour autant utiliser une séquence différente par valeur de compteur. Pour cela, vous devez utiliser une composante de type Formule, en donnant comme formule [L]COMPLEMENT (COMPLEMENT est la variable locale connue du sous-programme de numérotation qui stocke la valeur courante du complément).

Types de séquences

Le Type de séquence est utile pour les installations client impliquant un grand nombre de postes de travail, et donc une activité importante de création de documents du même type. En effet, selon le type de séquence utilisé, il peut y avoir une contention plus ou moins forte (conflits transactionnels liés à l'obtention de numéros de compteurs).

Compteur de type Normal : Utilisation

L'attribution du numéro, essentiellement lors de la création d'un document (commande, écriture, facture, etc.) s'effectue dans la transaction de création elle-même. Cela signifie qu'en cas d'abandon de la transaction par rollback (annulation), le numéro n'est pas perdu. En revanche, tant que la transaction de création (qui peut durer quelques secondes) n'est pas terminée, toute transaction concurrente de création du même type de document ne pourra pas obtenir de numéro et échouera. Un rollback de cette transaction concurrente sera alors effectué, suivi d'une nouvelle tentative (qui aboutira cette fois si la première transaction est terminée).

Le nombre d'essais successifs réalisés en cas de verrouillage de ce type avant l'abandon de la transaction sur erreur est paramétrable par le paramètre ROLLBACK du chapitre SUP. En cas de contention, vous pouvez donc augmenter la valeur de ce paramètre. Cependant, il faut noter que la consommation de ressources du serveur de données peut augmenter, au détriment des performances. Dans ce cas, vous pouvez également adapter le type de séquence.

En contrepartie de cette contention, le compteur Normal garantit un respect de l'ordre séquentiel dans le temps : deux appels successifs dans le temps à un compteur donné donneront des numéros croissants, toutes les conditions liées à la structure du compteur (société, site, période, complément) étant égales par ailleurs. De plus, aucune perte de numéro relative à un verrouillage ne peut intervenir. Ce type de compteur est donc recommandé pour les documents légaux pour lesquels on exige à la fois des séquences strictes et aucun "trou" de numérotation.

Compteur de type Groupé : Utilisation

Les numéros sont affectés par groupe de N numéros (où N correspond à une définition). La contention est donc moins importante, car seule une attribution sur N provoque une contention ; les autres attributions utilisant un numéro disponible.

En contrepartie, l'attribution séquentielle des numéros n'est pas garantie, et une perte de numéros est possible pour les compteurs dépendant de mois ou de la période. Par exemple, si N vaut 10, que les numéros de 1 à 8 ont déjà été attribués, et que 3 créations simultanées ont lieu. Le numéro 9 est attribué à la première, le numéro 10 à la deuxième, et aucun numéro ne sera disponible pour la troisième dans la première tranche de 10 numéros. La tranche de 11 à 20 sera alors créée, et le premier numéro affecté sera le 11. Si entre temps la première transaction a échoué pour d'autres raisons, le numéro 9 sera disponible pour une nouvelle transaction. Si plus aucune transaction n'est lancée, alors tous les numéros de 1 à 11, sauf le 9, sont utilisés, et les prochains numéros à attribuer seront (dans l'ordre) le 9, puis le 12 et les suivants. Il n'y a donc pas respect strict du numéro de séquence. S'il n'y a plus aucune création de document dans la journée, et si un document est créé le lendemain, un document est daté du jour J numéroté 11, et un autre document daté du jour J+1 numéroté 9. Enfin, si les compteurs intègrent le numéro du mois et que cette situation arrive en fin de mois, on obtient un trou dans la numérotation (mais il reste traçable, puisque ce numéro se trouve dans la liste des numéros à attribuer).

Compteur de type Séquence BDD : Utilisation

L'attribution de numéro s'effectue hors transaction, c'est-à-dire qu'il n'y a aucune contention, mais aucun retour en arrière possible (si le numéro n'est pas utilisé, il est définitivement perdu). Ce type de compteur s'appuie sur une séquence de la base de données (BDD). Safe X3 crée, pour chaque table de la base de données, une séquence qui lui est normalement associée pour obtenir ainsi un numéro technique. Il est important de noter que cette numérotation n'est jamais réinitialisée à 0 (il faut donc prévoir un nombre important de chiffres associé à la séquence de numérotation dans le compteur). Cette numérotation est également strictement séquentielle (l'ordre des numéros attribué est toujours croissant dans le temps), mais il peut toujours exister des trous sans possibilité ni de les justifier, ni de les récupérer. Cette caractéristique facilite les cas où un numéro technique unique est requis, et pour lequel aucun justificatif des trous dans la séquence n'est nécessaire.

Type de séquence Résumé

Le tableau ci-dessous résume les avantages et inconvénients des différents types de compteurs :

Type de compteur

Séquence croissante

Perte de numéro

Contention multi-utilisateurs

Normal

Toujours

Jamais

Forte

Groupé

Pas toujours

En fin de période, mais justifiable (liste des numéros perdus)

Moyenne (d'autant plus faible que N est grand)

Séquence BDD

Toujours

Oui, sans justification

Nulle

Boutons spécifiques

Copie

Cliquez sur l'action Copie pour copier le code et la structure du compteur vers un autre dossier.

Messages d'erreur

Outre les messages génériques, les messages d'erreur suivants peuvent apparaître lors de la saisie :

2 numéros de séquence

Vous avez tenté de définir un compteur ayant deux composantes de type No Séquence (un seul numéro de séquence est autorisé par compteur).

Valeur incorrecte

La longueur demandée n'est pas compatible avec le paramètre (par exemple, une année sur 8 chiffres ou un mois sur 5 caractères).

Longueur trop grande

La longueur totale du compteur excède 20 caractères, ou la somme des longueurs des composants est différente de la longueur totale.

Expression incorrecte / Caractère illégal

La formule de calcul qui a été saisie a une syntaxe incorrecte.

Type de table : système :

Un compteur basé sur une séquence est toujours basé sur une table présente dans le dossier courant. Ce n'est pas le cas de ce type de table.

Type de séquence possible au niveau dossierType de séquence autorisée sans RAZ

Un compteur basé sur une séquence de base de données (BDD) autorise une seule séquence de numérotation (au niveau dossier) et ne peut pas être remise à zéro.

Tables mises en œuvre

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre