DESCRIPTION DU PROBLÈME
J’ai modifié la fiche adhérent à l’aide de États & Requêtes en supprimant notamment le champ PAYS de l’adresse et désormais, j’ai un message d’erreur. Je ne peux plus imprimer du tout la fiche adhérent.
Exemple de message d’erreur ;
Erreur à la ligne 11 du traitement Avant impression de CORPS.
Ce code contient encore des erreurs de compilation et ne peut pas être exécuté.
—– Informations techniques —–
Projet : B-Association
Appel WL :
Traitement de ‘Avant impression de CORPS’ (ETAT_ADH_FicheAdhérent.CORPS), ligne 11, thread 0
Que s’est-il passé ?
Ce code contient encore des erreurs de compilation et ne peut pas être exécuté.
Etc …
EXPLICATIONS
Un état vous permet d’obtenir à l’impression une vue personnalisée d’informations ; la fiche détaillée d’un adhérent, la liste des cotisations sur une période données, etc… Des dizaines d’états sont intégrés dans B-Association.
Un état est constitué de ;
- Blocs délimitant les différentes parties de l’état (haut de page, corps, bas de page, …),
- Champs dans lesquels les différentes données sont affichées (Nom, adresse, code postal, etc…)
- D’objets de mise en forme (trait, cadre, etc….)
- Code de programmation.
Les blocs, objets et les champs sont la partie visible de l’état, ce que vous voyez dans l’utilitaire États & Requêtes.
Ci-dessus, la fiche adhérent dans États& Requêtes où l’on peut voir les blocs « Haut de page » et « Corps » en haut à gauche et les « Champs » positionnés sur la feuille blanche au centre.
Le code de programmation
Ce code n’est pas visible directement à l’écran. Il est souvent nécessaire pour ajouter un traitement que l’on ne peut pas obtenir à l’aide des champs et des blocs. Cela permet par exemple de modifier l’apparence d’un champ en fonction de la donnée qu’il contient, d’afficher ou de masquer ce champ ou d’effectuer des calculs complexes. Il permet au aussi d’intervenir sur les blocs. Les possibilités sont infinies.
Ce code utilise donc les champs qui se trouvent dans l’état. Dans l’exemple du message d’erreur ci-dessus, le champ PAYS a été supprimé et comme le code de programmation ne le trouve plus, vous rencontrez un message d’erreur qui rend l’état inutilisable.
Pour voir le code de programmation, il faut se positionner sur un bloc ou sur un champ, de faire un clic droit et de sélectionner « Code » ou « Code du bloc » dans le menu qui s’affiche. En positionnant ma souris dans l’espace vide sous la barre orange Corps à gauche de l’écran, puis clic droit, « Code du bloc », l’écran ci-dessous s’affiche ;
Ci-dessus le code du bloc « Corps ». Il permet d’imprimer l’adresse postale 1 ou l’adresse postale 2 de l’adhérent en fonction du choix indiqué dans la fiche de chaque adhérent.
On peut voir lignes 11 et 20 que le libellé RUB_PAYS est en rouge ce qui indique qu’il y a un problème. On retrouve les mêmes informations dans le message d’erreur ;
- Erreur à la ligne 11 du traitement Avant impression de CORPS.
- Identificateur ‘RUB_Pays’ inconnu ou inaccessible.
SOLUTION
Il existe plusieurs solutions pour corriger ce problème.
1) Annuler la suppression de la rubrique RUB_PAYS.
Comme dans tout logiciel de mise en page (votre traitement de texte préféré), vous avez à votre disposition dans la barre d’outils des fonctionnalités, Annuler et Rétablir.
Fermez la fenêtre de code pour revenir dans la fenêtre de création de l’état et cliquez sur Annuler dans la barre d’outils.
2) Recréer la rubrique RUB_PAYS.
Si vous aviez déjà enregistré votre état, vous ne pourrez pas Annuler comme indiqué ci-dessus. Vous avez la possibilité de recréer la rubrique en lui donnant impérativement le même nom : RUB_PAYS.
3) Désactiver le code de programmation
Vous vouliez sans doute vraiment supprimer le pays. Le plus simple est alors d’intervenir sur le code de programmation.
Vous pourriez supprimer complètement les lignes 11 et 20. Il suffit de sélectionner le texte et taper sur la touche Suppr comme dans votre traitement de texte.
Mais si un jour vous vouliez remettre le pays, vous ne vous rappellerez plus du code qu’il vous faudra ajouter pour que cela fonctionne. Il est donc préférable de désactiver le code plutôt que de le supprimer. Pour cela, il suffit de mettre un double slash en début de ligne. Le code de programmation se transforme en simple texte d’indication comme celui que j’ai mis en ligne 2 pour me rappeler à quoi sert ce code.
Dans l’exemple ci-dessus, j’ai désactivé le code de la ligne 11 et supprimé celui de la ligne 20. Astuce :pour afficher les n° de lignes, effectuez un clic droit vers la barre verticale jaune et sélectionnez « Numéros de lignes » ou tapez CTRL+MAJ+G au clavier.
Désactiver ou supprimer le code aura pour effet de supprimer le message d’erreur et de rendre votre état personnalisé utilisable.
4) Revenir à l’état initial
Pour retrouver l’état original, vous trouverez la procédure détaillée en consultant cet article ;