Les objets
2.1 Que faut-il renseigner en fonction de la donnée traitée ?
2.2 Attribution de la picking par défaut
2.3 Recherche du nom d’un objet
3 Fermer un objet à la saisie, enlever un objet de l'écran
4 Comment ajouter un champ dans un écran ?
4.2 Placez le champ dans l'écran
Tous les éléments inscrits sur les écrans sont enregistrés en base de données (table Objets). Ils peuvent ainsi être traduits ou même simplement être modifiés de façon à ce que l’appellation d’un item soit plus adaptée à votre métier.
Les objets vous permettent de
ü Changer l’appellation d’un menu,
ü Modifier le nom d’une transaction
ü Changer l’appellation d’un champ,
ü Définir ou modifier les bulles d’aide,
ü Déterminer les pickings par défaut,
ü Modifier les valeurs par défaut des champs,
ü Rendre un champ obligatoire,
ü Installer un contrôle sur un champ
ü Initialiser un champ en fonction dynamiquement
C’est donc par cette fonction que vous allez pouvoir personnaliser ou traduire les écrans de l’application.
En fonction du type de champ que vous traitez, les renseignements à fournir vont être différents : Un en-tête de colonne a une appellation, une bulle d’aide, mais ni de valeur par défaut, ni de picking.
L’accès à la donnée doit être fait par l’objet lui même (clic droit ou Ctrl-clic droit, option propriétés)
ü Si vous personnalisez un champ (pour le rendre obligatoire à la saisie par exemple), n'oubliez pas de saisir votre code client dans le champ prévu à cet effet sur la première ligne de l'écran. Une mise à jour ultérieure du logiciel enlèverait alors toute personnalisation.
ü Que peut-on mettre comme valeur par défaut d’un objet dans TOLTECH ?
·
Des
valeurs littérales :
· Des mots clés liés aux dates : $TODAY et $ENDMONTH
· Des opérations sur les dates : $TODAY -1, $ENDMONTH + 10 …
· VRAI, TRUE, O, 1 pour activer un booléen (case à cocher ou bouton)
· Une instruction commençant par ‘ :SELECT’ (noter les deux points) pour appeler Oracle. Exemple :SELECT LAST_DAY(sysdate) pour obtenir l’équivalent de $ENDMONTH. Ici, le ‘FROM DUAL’ est systématiquement ajouté si on ne le trouve pas, de même, il n’y a pas de ‘INTO’ car cela sous-entend le champ lui-même. Le code Oracle est appelé dans le contexte de l’objet, on peut donc utiliser des fonctions et des variables visibles dans ce contexte. Exemple :SELECT TO_CHAR(GET_NEW_SEQ( :strUtilisateur, :strSociete, :strEtablissement)) pour initialiser un champ avec un compteur maison par utilisateur par exemple (calculé par une hypothétique fonction Oracle get_new_seq). Dans cet exemple "TO_CHAR" permet de convertir les éléments retenus car le code ne manipule que des chaînes de caractères quel que soit le type de données du champ.
· Une instruction commençant par ‘ :’ (deux points). Dans ce cas le code correspondant est envoyé à SqlWindows. Exemple :VisStrChoose(SalStrScan(strNomEtablissementConnexion), ‘TOL’) >= 0, ‘PUBLIC’, ‘PRIVE’) Dans cet exemple, on pourrait initialiser un magasin en fonction de l’établissement de connexion. Ici également, tout est en format chaîne de caractères
ü Le Type de donnée vous indique si vous êtes en cours de définition d’un data field, d’un combo box, etc. Il est utilisé dans la gestion des profils pour afficher l’icône idoine.
ü La notion de champ obligatoire est définie à ce niveau. Vous pouvez par ce code rendre un champ obligatoire à la saisie.
M Même si cela comporte peu de risque sur la conformité des données, ne changez pas un champ pour le passer d’obligatoire à optionnel.
ü Modifiez la bulle d’aide pour la personnaliser ; en revanche, l’index d’aide est réservé à TOLTECH (point d’entrée dans la documentation)
ü Le fait de rafraîchir un champ ou une transaction entière vous permet de déterminer si, après une action de mise à jour, il faut garder le champ (l’écran) avec les données ou remettre tout à blanc[1].
ü Tout contrôle spécifique fait sur un champ doit être signalé sur cet écran. La description du contrôle est ensuite écrite dans la table paramètre CONTROLE_SPE
Définition : Quels sont les buts d'un contrôle spécifique ?
Cas 1 : Interdire / autoriser la saisie de certaines valeurs dans un champ
Cas 2 : Initialiser un champ de l'écran en fonction de la valeur d'un autre
Mise en œuvre :
Commencez par cocher
Cas 1
Exemple 1 : une entrée article doit toujours être faite sur un stock dont l’état est ‘CT’
La table paramètres CONTROLES SPECIFIQUES vous permet pour toutes les transactions de répertorier tous les contrôles
Le principe est le suivant : si la requête installée ramène le chiffre 1, le contrôle est bon ; dans tous les autres cas ; le message d’erreur dont le numéro est précisé est affiché.
Exemple 2 : On ne peut commander que des articles des familles 10, 20 ou 30
select 1 from ARTICLES where article = :hWndForm.LIGNESCDES_CLI.colArticle and famille in ('10','20','30')
Cas 2
Exemple 3 : Initialiser un champ à partir des données de l'article correspondant
SELECT magasin_principal, emp_principal from articles INTO :dfMagasinDest, :dfEmplacementDest where article = :dfArticle
Même principe mais dans un tableau
SELECT magasin_principal, emp_principal from articles INTO :tblMoves.colMagDestin, :tblMoves.colEmpDestin where article = :tblMoves.colArticle
Exemple 4 : Initialiser un champ à partir de plusieurs autres
Set hWndForm.ENTART.dfLot = hWndForm.ENTART.dfFour || hWndForm.ENTART.dfPV || hWndForm.ENTART.dfLotFournisseur
ou
Set hWndForm.ENTART.dfLot = SalStrLeftX(hWndForm.ENTART.dfFour, 5) || hWndForm.ENTART.dfLotFournisseur
Relancez la confidentialité pour valider vos modifications
Type de champ |
Accès |
Vous pouvez déterminer |
|
Objet |
Transaction |
Libellé Bulle d’aide Valeur par défaut Picking par défaut |
|
Data field |
‘df…’ |
Nom de la transaction (optionnel) |
üLe libellé correspond à l’appellation du champ. üLa bulle d’aide est active. üLa valeur par défaut peut être déterminée. Attention aux relations avec des tables paramètres et aux constantes. üLa picking par défaut peut être déterminée. |
Menu ou transaction |
‘Titre’ |
Code de la transaction |
ü Nom de la transaction. ü Le champ ‘bulle d’aide’ doit contenir le nom usuel de la transaction qui est utilisé par exemple dans la fenêtre ‘Autre transaction’ comme clé d’accès. |
En-tête de colonne de la transaction TABLE SYSTEME |
|
Nom de l’item de la base |
ü Le libellé donne le titre de la colonne.
|
Bouton (poussoir ou liste de valeurs) |
|
Nom du bouton |
ü Le libellé donne le titre du bouton pour les boutons poussoirs. ü La bulle d’aide est disponible sur les deux types. |
En-tête de colonne |
‘Col…’ |
Nom de la transaction (optionnel) |
ü Le libellé indique le titre de la colonne. ü La bulle d’aide est disponible (par un double clic). |
Sur chaque champ du type « datafield « Vous pouvez déterminer une picking par défaut
Sur l’écran de mise à jour des pickings (voir Pickings.doc - Maj), vous avez pu définir une liste de pickings possibles ; vous pouvez maintenant l’associer à un champ.
Comment connaître le nom de l’objet que vous voulez modifier ?
Ø Sur le champ en question, faites un clic droit. Le nom de l’objet est toujours affiché en dernier dans la liste des propositions.
Ø
Sur un tableau, ou sur un champ date vous allez
avoir le nom de la colonne par
J La proposition ‘Propriétés’ vous permet de chaîner directement en mise à jour de l’objet considéré. Elle est beaucoup plus rapide lorsque vous faites la personnalisation de vos écrans : l’objet est ramené automatiquement, le code de la transaction est automatiquement ajouté (ce qui fait qu’un objet éventuellement générique peut devenir spécifique) ainsi que votre nom de client.
Faites un clic gauche sur le nom pour le copier. Vous aurez
ainsi la possibilité de plus facilement le retrouver par
Ces manipulations se font par le biais des profils.
Plus de détail sur le fonctionnement
Note : cette fonction est disponible uniquement sur les écrans ayant une clé principale comme article, client, moyen, etc.
Elle n'est pas disponible par exemple sur des boites de dialogue (en-tête de commande par exemple).
Dans le menu Gestion choisissez l'option Ajouter un champ spécifique
· Le nom de l'objet doit de préférence conserver le préfixe indique; cela permettra de ne jamais rentrer en conflit avec un futur objet standard
Lorsque vous aurez défini les caractéristiques de votre champ, la validation va permettre de l'insérer sur l'écran
Pour voir votre champ apparaître, sortez de l'écran puis demandez-le à nouveau. Le champ est automatiquement inséré, mais pas obligatoirement à une place qui vous convient.
· Déplacer le champ
Validez la touche Ctrl de votre clavier (maintenez-la). Faite glisser le champ à l'endroit désiré.
· Déplacer le libellé du champ
Maintenez la touche Shift de votre clavier, cliquez dans le champ (qui est maintenant à la bonne place), le curseur de la souris se place alors automatiquement sur le libellé du champ. Faites glisser le libellé à côté du champ.
Maintenant, vous pouvez configurer votre champ comme vous le désirez, c'est un objet comme un autre. Par un clic droit, ajustez ses propriétés (initialisation, contrôles, picking, etc.)
Note : Ce champ a été automatiquement ajouté dans la table correspondant à la clé principale de votre transaction (ici table MOYENS)
[1] Pour une transaction, le fait de rafraîchir l’écran à le même effet que la validation du bouton ‘Page blanche’ de la barre d’outils.