Les joies des outils bureautiques

Il faut que je vous parle d’une mésaventure qui m’a fait rire tout seul comme un idiot au bureau pendant une bonne dizaine de minutes.

Ce matin, la mission était simple : faire le minimum pour éditer un catalogue de pièces issu de notre système de gestion commerciale. Facile, me dis-je, je connais déjà bien la structure de la base de données, l‘écriture de la requête SQL devrait être l’affaire de quelques minutes…

Pour l‘édition proprement dite, et comme je voulais que la manip soit réalisable par une assistance, j’ai opté pour l’utilisation de la fusion de document sous MS Word (ça y est, vous savez que ça va foirer…).

Tout pour l’image

J’entrevoyais déjà un problème : la base de données contient les chemins vers des photos des articles qu’il fallait intégrer dans le catalogue. Comment faire comprendre à ce #¤£$ de —traitement—casseur de texte qu’il doit aller chercher l’image au chemin indiqué ? Une recherche sur le web m’amène sur une procédure décrite sur le site de MS qui donne pas à pas la méthode… qui ne semblait pas fonctionner dans mon cas. Il faut dire que j’avais le toupet d’aller chercher les images sur un partage windows…

En fait, il faut bien lire la doc pour comprendre que Word veut bien si on échappe les \ dans le chemin, ce qui pour un partage donne une chaîne commençant par “\\\\”. Comme le chemin d’origine stocké dans la base n’est pas échappé, J’ai commencé par chercher du côté de VB pour réaliser la petite manip’. Peine perdue : VB et la fusion ne sont pas copains pour un sou. Qu‘à celà ne tienne,il restait à réaliser le remplacement dans la requête SQL… A ce moment, la fusion donne un document qui ne contient pas les images tant attendues, elle n’a fait que préparer les valeurs dans des champs de type IncludePicture qu’il faut rafraîchir pour enfin avoir le catalogue en bonne forme…

h1. Arithmétique wordienne

Pas si en bonne forme, parce qu’en y regardant de plus près, je me suis aperçu que certains champs correspondant à des prix ne correspondaient pas du tout à la valeur en DB. L’analyse du résultat de la requête dans un explorateur SQL me confirme que celle-ci est correcte. Il se passe quelque chose de bizarre lors de la fusion. Un prix estampillé à 27,5€ devient un prix de 32€, tandis que la prix suivant à 0,57€ est correctement édité.

Après un parcours de la liste des prix, il s’avère que quand un prix n’a qu’une décimale, Word transforme cette valeur en la somme des unités et des décimales : 27,5 devient 27+5=32€. Mais si le prix a deux décimales ou aucune, l‘édition se passe correctement. Vous comprenez maintenant pourquoi je riais comme un idiot. Surtout que je n’entrevoyais pas de solution à ce… bug.

Pour vérification, je reprends la même requête que je redirige vers le tableur de la suite, avec cette fois-ci, les résultats corrects. Et miracle ! L’utilisation de la feuille ainsi générée comme source pour la fusion dans word fonctionne. Ma fois, l’assistante fera son édition en deux temps, ce n’est pas plus mal, car elle aura les prix sous forme de table, ce qui est quand même plus simple pour vérifier (je vous le dis, ce n’est pas un bug, c’est une fonctionnalité).

h1. On remballe tout

Il était onze heures. Tout fier de la toute nouvelle moulinette à pas cher, je m’en vais expliquer à l’assistante en question la procédure à suivre. Et là, patatras ! L‘édition des images ne passe plus. Plus rien, juste des cadres vides. Un essai sur mon PC me rassure : tout est encore en état de fonctionnement…

C’est alors que je réalise que tous mes “développements” ont été réalisés avec une version 2000 de la suite bureautique alors que notre chère assistante est équipée avec de la version XP. Il était midi quand j’ai eu cette révélation. Et pas plus de temps à y passer.

h1. Conclusion

Je sais que je peux éditer le catalogue sur mon poste… Peut-être ne faut-il qu’un chouia de modifs pour avoir la compatibilité avec la nouvelle version. Enfin, à la visualisation, l’assistante m’a dit qu’il manquait la composition des articles dans le cas où ce sont des ensembles. Ca veut dire édition maître/détail et ça, Word ne sait pas faire. Va donc falloir en passer à un moment par un développement (en Delphi, tiens, pourquoi pas) pour obtenir l’outil qui correspond aux besoins. Dans l’intervalle, l’assistante éditera le word pour y rajouter de qu’il faut… Gain de productivité, mais à moitié. :-/

GodSlayer Wednesday 16 May 2007 at 7:40 pm | | Comprends pas Windows

No comments

(optional field)
(optional field)
Remember personal info?
Small print: All html tags except <b> and <i> will be removed from your comment. You can make links by just typing the url or mail-address.