0

6 La navigation dans le manuel de Kentika est réservée aux utilisateurs identifiés



Méthode : Valeur_Rubrique

Fonction : "Valeur_Rubrique"

Préambule

Cette méthode est l'une des plus importante du logiciel. Elle est appelée dès qu'une donnée est affichée, que ce soit dans l'application, dans le web ou encore dans toutes les maquettes d'impression. Elle comporte des options intégrées de mise en forme qui permettent de régler une série de paramètres de présentation. Elle tient compte des règles de confidentialité, sait gérer les valeurs multiples, insérer automatiquement des liens de navigation. Afin de faciliter son appel, un assistant contextuel propose les principales options de mise en forme en fonction de l'utilisation qui en sera faite.

La syntaxe utilisée peut être indifféremment Valeur_Rubrique , Value_Field ou encore Valore_campo .

Dans le cas d'une application gérée en multi langues, le résultat est fourni dans la langue de l'utilisateur pour lequel la fonction est exécutée. Si, pour une langue donnée, la traduction n'a pas été saisie, c'est la valeur principale de la rubrique qui est fournie. Si l'intitulé d'une rubrique a été traduit, il suivra les mêmes règles. La traduction peut cependant être désactivée par l'utilisation de l'attribut lang=off.

Syntaxe

Tcom:=Valeur_Rubrique ("Rubrique" ; "Attributs")

Paramètres Type Description  

Rubrique Alpha Numéro ou code de la rubrique

Attributs Alpha (optionnel) Attributs de présentation

-> Texte Résultat

Assistant

L'assistant qui apparaît lorsque l'on clique sur un bouton d'insertion de rubrique permet de sélectionner la rubrique  1  et les attributs de présentation  2  afin de constituer les paramètres de la fonction.

https://www.kentika.net/WEBTEMP/WRTemp/RES/182712490099/images/docwrite001.jpg

Assistant de sélection d'une rubrique et de détermination des attributs

Description des paramètres

Paramètre : rubrique

1  Ce paramètre peut être exprimé de différentes manières.

=Numéro de rubrique/(Table)Libellé de la rubrique  : c'est la forme que produit l'assistant ci-dessus. Ce qui suit le signe / n'est utile que pour la lisibilité.

=Numéro de rubrique

Code rubrique

Exemple

Si la rubrique Auteur, qui a pour numéro de rubrique 151, a aussi pour code "AU", les syntaxes suivantes sont équivalentes :

Tcom:=Valeur_Rubrique ("=151/(Documents)Auteurs")

Tcom:=Valeur_Rubrique ("=151")

Tcom:=Valeur_Rubrique ("AU")

Tcom:=Valeur_Rubrique ("=151/Les auteurs du document")

Si la rubrique n'est pas une rubrique du dictionnaire mais une rubrique de la base de données (principalement des données de gestion), elle sera exprimée sous la forme : $0332/(Documents)record n° où 03 est le numéro de la table Documents et 32 le numéro du champ Record_Num dans la base de données.

Rubrique calculée

Si la rubrique correspond à une rubrique-script (rubrique dont le résultat est calculé à chaque appel mais n'est jamais stocké), si la rubrique correspond à une commande du langage, elle est précédé du signe !, si elle correspond à un script défini en Préférences>Ressources>Scripts : le nom du script est précédé du signe #

Exemple

Tcom:=Valeur_Rubrique ("#AScript_Nb archives";"")

ou le script AScript_Nb archives contient :

Num

CHERCHER([Image];[Image]Record_num=[Document]Record_num)

$0:=Enregistrements trouves([Image])

TCom recevra le résultat de l'exécution du script placé en $0 dans le script (dans cet exemple : le nombre d'archives associées à une fiche document).

TCom:=Valeur_Rubrique ("!Num:### ### ##0,00 €^Commande_Montant  (17;1)";"")

Ici, le résultat de l'exécution de la fonction Commande_Montant (17;1), qui est une fonction renvoyant un résultat numérique, sera formaté en utilisant le format d'affichage ### ### ##0,00 €.

NB : une rubrique calculée se manipule comme une autre rubrique et peut recevoir les même attributs (sauf ce qui concerne les liens), exemple : un titre, un séparateur...

Rubrique "Adresse" (Versions antérieures à 4)

Dans le cas d'une rubrique adresse, il est possible d'extraire un élément précis de cette dernière en suffixant l'appel à la rubrique par l'élément recherché.

Elément Suffixes

Ville .Ville ou .city ou .citta

Pays .pays ou .country ou .nazione

Code postal .code postal ou .CP ou .ZIP ou .CAP

Région .region ou .etat ou .state ou .province ou . provincia

Adresse 1 .AD1 ou .adress1 ou .in1

Adresse 2 .AD2 ou .adress2 ou .in2

Exemple

Valeur_Rubrique ("=42.ville")

.... fournira la ville de l'adresse de la fiche référence courante (rubrique 42)

Rubriques " ... autres"

Lors de la réalisation d'une maquette (traitement de texte ou affichage web), on va distinguer trois grandes familles de rubriques :

A  : Celles que l'on veut présenter d'une certaine manière (exemple : le titre en gras et plus gros que les autres rubriques)

B  : Celles que l'on ne veut pas voir faire figurer

C  : Les autres

Pour la famille A, il suffit de les placer dans la maquette. Pour la famille B , il suffirait de ne pas les placer. Pour la famille C  : il suffit d'indiquer comme code rubrique ".comp" et toutes les rubriques qui n'ont pas encoré été appelées seront placées en utilisant les attributs affectées à cette pseudo-rubrique. Dans ce cas, pour exclure des rubriques (famille B ), il faut les appeler avant l'appel à la rubrique .comp mais ne pas les faire afficher dans la maquette.

.comp  : toutes les rubriques du dictionnaire dont le numéro est supérieur à 600

.comp1  : toutes les rubriques du dictionnaire

.comp2 : toutes les rubriques, y compris les rubriques calculées

Exemple

 

!4D=field;=21/(Documents)Titre ;title=on;t_s=^t;v_x=;end=^p;encode=H!

 

!4D=exec;Tx:=Valeur_rubrique ("=1161/(Documents)Langue")!

!4D=field;.comp1 ;title=on;t_s= : ;format=^1 *\ - ^2*\ - ^3*\ ;v_x=;sep= ^s ;end=^p;link=URL;encode=H;hl=on!

Le titre sera présenté en gras, sans intitulé, la rubrique langue langue sera exclue puis les autres rubriques du dictionnaire seront présentées les unes après les autres en respectant l'ordre défini en "structure".

Paramètre : Attributs

2  Ce paramètre est composé d'attributs élémentaires séparés par des ";".

Attribut Description   

title=on title de la rubrique, dans la langue de l'utilisateur

title= title devant le champ

t_s0= avant le title

t_s= séparateur entre libellé et valeur

titlevar= charger le libellé dans une variable vs $0

end = caractere de fin si non vide

null=on mettre libellé +separateur +end même si vide

val=code code valeur vs libellé valeur

val=RN n° record vs libellé record

lang=off ne pas tenir compte de la langue de l'utilisateur

sep= séparateur entre les valeurs

occ= occurence de la valeur

format= format pour les numériques et les dates ($-> standard défini dans les attributs)

encode= A (mac) w (windows) i (iso) h (html) u (url) e (unicode)

t_x= style du titre (exemple : pour gras)

v_x= style de la valeur (exemple : pour italique)

max= longueur maximum

sort=on appel dans le cadre d'un tri

conf=off enlève controle / autorisation

conf=on enlève ce qui suit *

hl=on highlight les critères de recherche (web)

th=on ne pas tranformer le titre d'une rubrique en html

Notation spéciale

Etant donné qu'il n'est pas possible d'affecter à un attribut le caractère ";" (celui-ci étant utilisé comme séparateur entre les attributs) ni d'y insérer de retour à la ligne ou de tabulation, le signe ; devra être saisi sous la forme ^s, un retour sous la forme ^p et une tabulation sous la forme ^t.

Attribut "title"

Deux possibilités : "title=on" fournira l'intitulé de la rubrique devant la rubrique elle-même, dans la langue de l'utilisateur (si la traduction a été renseignée). "title=..." permet de personnaliser la mention à faire apparaître devant la valeur de la rubrique. Dans ce cas, il n'y a pas de possibilité de traduction. Ce titre personnalisé peut être utilisé pour insérer une ponctuation entre deux rubriques si la deuxième rubrique est renseignée.

Attribut "t_s0"

Permet d'ajouter des caractères avant un titre en mode automatique (n'est pas utilisé dans le cas d'un titre personnalisé car il suffit de l'inclure en début du libellé).

Attribut "t_s"

Séparateur entre le titre et les valeurs. Permet d'insérer, par exemple, un signe ":" afin d'obtenir une présentation sous la forme suivante :

Titre : Le Rouge et le Noir

Attribut "titlevar"

Permet de charger le titre dans une variable (à exploiter par ailleurs dans votre maquette) plutôt que le résultat lui-même.

Exemple : "Titlevar=TCom1" chargera le titre de la rubrique (si cette dernière est renseignée) dans la variable TCom1.

Attribut "end"

Ajoute les caractères saisis en fin du résultat. Dans des maquettes traitement de texte ou web, il est préférable de ne pas générer une ligne vide si une rubrique n'est pas renseignée. Dans ce cas, on mettra ^p dans cet attribut.

Attribut "null=on"

Permet de faire calculer un résultat, même si la rubrique ne contient aucune valeur.

Attribut "val=code"

Dans le cas d'une rubrique "code", ceci permet d'obtenir les codes des valeurs plutôt que leur libellé. Ceci est particulièrement utile dans le cadre d'un programme d'export ou dans une formule de recherche sur une table en utilisant les valeurs saisies dans une rubrique d'une autre table.

Attribut "val=RN"

Comparable à celui ci-dessus, permet, dans le cas d'une rubrique lien ou thesaurus, d'obtenir un numéro d'enregistrement plutôt qu'un intitulé. A utiliser principalement dans un script de recherche.

Attribut "lang=off"

Permet de ne pas tenir compte de la langue de l'utilisateur.

Attribut "sep"

Permet de fixer le séparateur entre les valeurs si la rubrique en comporte plusieurs. Cet attribut a une valeur par défaut qui est ";".

Attribut "occ"

Dans le cas ou une rubrique a plusieurs valeurs, cet attribut permet d'obtenir la valeur d'une occurence particulière (exemple : occ=3 pour obtenir la troisième occurence).

Attribut "format"

Cet attribut est le plus riche en possibilités de tous les attributs. En effet, il permet de fixer une présentation pour les données numérique ou date et également d'établir une composition particulière pour les rubriques groupées.

Format pour une données numérique

Dans le dictionnaire des données, un format peut être précisé pour les rubriques "Nombre" :

image/pict

En mettant l'attribut : format=$

Le résultat s'affichera sous la forme suivante :

Numéric TEST : 1 200 euros

Sinon, le format d'affichage peut être personnalisé. Exemple : "format=### ### ##0,00 ml".

Format pour une rubrique date

Les formats supportés ici sont ceux proposés par la langage 4D.

Numéro Format Exemple

1 Court 06-12-07

2 Abrégé ven 6 déc 2007

3 Long vendredi 6 décembre 2007

4 Spécial 06-12-96 (mais 06-12-1896 ou 06-12-2096)

5 Jour Mois Année 6 décembre 2007

6 Abrégé Jour Mois Année 6 déc 2007

7 Spécial forcé 06-12-2007

8 ISO Date Heure 2007-06-12T00:00:00

NB : ceci ne s'applique qu'aux dates précises et pas aux dates floues.

Exemple : en mettant l'attribut "format=5", la date 06/12/2007 s'affichera sous la forme "6 décembre 2007".

Format pour des rubriques groupées

Avec un seul appel, on peut faire apparaître l'ensemble des valeurs et valeurs rattachées grâce au format. La première rubrique d'un groupe est mise à la place du symbole ^1 (dans l'exemple ci-dessous : le nom de l'auteur), la deuxième à la place du ^2 (dans l'exemple : l'intervention) et ainsi de suite. Si la rubrique 2 du groupe n'est pas renseignée et que l'on ne veut pas faire apparaître les éventuels caractères de mise en forme (parenthèses ouvrante et fermante dans l'exemple ci-dessous), on placera le signe *\\ avant ce qui doit être caché au cas où la rubrique ne serait pas renseignée.

La formule :

Valeur_Rubrique ("=151/Auteurs";"title=on;t_s=^t;format=^1 *\\(^2);end=^p;sep= ^s;t_x=")

appliquée à une fiche dont les données sont :

afficherait le résultat suivant :

Format pour des rubriques d'une fiche liée

De la même manière, il est possible de faire apparaître, grâce à cet attribut des informations provenant d'une table liée. Dans l'exemple ci-dessous, le format permet d'aller chercher la rubrique "Type" de la table référence (^$1903\\) ainsi que la ville (^=42.ville\\) et de faire apparaître cette dernière que si elle est renseignée (*\\)

Exemple

Valeur_Rubrique ("=31/(Documents)Référence";"format=^$1903\\ : ^1*\\ (^=42.ville\\)")

Le résultat de cette fonction serait présenté ainsi :

Editeur : MIKA-Lab (LYON)

Attribut "encode"

Cet attribut est utilisé pour les exports (exemple : unicode) ou pour les pages web (exemple : html).

Attribut "t_x" et "v_x"

Permet de fixer un enrichissement typographique au titre (t_x) et aux valeurs (v_x) : pour gras, pour italique.

NB : cet attribut n'a de sens que lorsque le contexte d'exploitation du résultat doit afficher l'enrichissement typographique (web, traitement de texte)

Attribut "max"

Permet de limiter la longueur de la chaîne de caractères qui sera retrournée. Si vous avez saisi de très longs commentaires sur vos fiches et que vous souhaitez n'en faire apparaître qu'une partie dans une liste, cet attribut permettra de demander à ce que l'information soit tronquée au delà d'un certain nombre de caractères (la troncature réalisée sera "propre", dans la mesure du possible, c'est à dire que la coupure ne s'effectuera pas au milieu d'un mot et trois points seront ajoutés en fin indiquant ainsi que le texte a été coupé).

Attribut "sort=on"

Dans le cadre d'un tri sur une valeur numérique ou date, cette attribut permet d'obtenir une chaîne de caractère qui fera qu'un tri alpha sera identique à un tri sur valeurs numériques.

NB : cet attribut n'est utilisé qu'en programmation et jamais en affichage).

Attribut "conf=off"

Si une rubrique ne fait pas partie du dictionnaire des données visible par un utilisateur (parce qu'une autorisation a été placée sur la rubrique), le résultat de la fonction appelant une telle rubrique sera toujours vide. Afin d'obtenir systématiquement le résultat stocké sur la fiche, il faut désactiver la confidentialité à l'aide de cet attribut. Cet attribut devra être systématiquement employé lorsque l'on écrit des scripts s'exécutant en mode batch.

Attribut "conf=on"

Dans certaines rubriques, on peut vouloir montrer une partie de l'information mais cacher une autre partie. En plaçant un caractère "*" au sein d'une telle rubrique et en utilisant cet attribut, seule la partie située avant le caractère * serait affichée.

Exemple

Dans une rubrique "commentaire" vous avez saisi le texte suivant :

"C'est un très bon programme. *A ne pas diffuser auprès de trop jeunes enfants"

Seule la première partie "C'est un très bon programme." serait retournée par la fonction.

Attribut "hl=on"

Lors d'une recherche sur le web ou dans l'application, les mots utilisés lors de la recherche peuvent être mis en surbrillance grâce à cet attribut.

NB : les balises de surbrillance entourant les mots ou expressions sont par défaut : "" en début et "" en fin.

Il est possible de personnaliser ces paramètres W_H1 et W_H2 soit par l'exécution d'un script, soit en appelant la gestion des paramètres .

Exemple de script de personnalisation

u_SetParam ("W_H1";"";"")

u_SetParam ("W_H2";"";"")

Attribut "th=on"

Dans le cas où le codage serait "H" pour html, cet attribut permet de faire en sorte que le libellé de la rubrique ne soit pas converti en html (pour le cas où l'on aurait besoin de le manipuler par programmation).