[..] Projet suivant ! (comparaison + trait. log)

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
GhostLine
Niveau 7
Niveau 7
Messages : 342
Enregistré le : jeu. 12 mars 2009 15:28
Localisation : Paris
Status : Hors ligne

[..] Projet suivant ! (comparaison + trait. log)

#1

Message par GhostLine »

Salut les gens :)
A peine le premier programme bouclé, je me lance dans un deuxième ... trop pressé le gars :)

Donc, un petit historique, dans un premier temps.

Je reçois quotidiennement des fichiers de commandes fournisseurs de ma maison mère, de la forme comme ci dessous (c'est un fichier réel que j'ai réimporté aujourd'hui, suite correction) :
► Afficher le texte
Pour vous expliquer rapidement le topo, IMPCF est l'indicatif nous disant qu'il s'agit d'une commande, 000165391 est le n° de la commande, et les valeurs qui nous intéressent pour la suite sont le nombre de 12 chiffres (le code à barre de la référence) et le 0001 (le stock de destination).

Le problème que je rencontre est simple : une partie des codes à barre ne sont pas les bons. Je les remplace donc par leur bonne valeur (que je connais), à l'aide d'un batch MS DOS (via la commande 'sed'). Voilà à quoi commence un morceau de ce batch :
► Afficher le texte
Autant dire que c'est ... rustique :)
Normalement, après ça, je n'ai plus d'erreurs connues. Le fichier s'intègre, et génère ... de erreurs (ARG). En effet, de nouvelles erreurs apparaissent chaque jour (je rajoute des lignes 'sed'), en plus de certaines qui ne peuvent être solutionnées (des codes particuliers qui correspondent à des lots, ce que n'accepte pas notre logiciel).
Suite à ce traitement, un log est généré. J'utilise un autre enchainement de batchs (j'aime bien ça :)) pour sortir les informations dont j'ai besoin de ce log. Ce serait un peu long de détailler la marche que je suis : voici donc dans un premier temps un tronçon de log :
► Afficher le texte
Et ce que mes batchs me sortent :
► Afficher le texte
Dans ce dernier tableau, on peut voir une mention PACK à la place d'un code à barre : c'est une addition que j'ai faite dernièrement (un de ces codes que l'on ne peut corriger). J'utilise de nouveau un batch avec 'sed' pour remplacement les codes dont je sais qu'ils sont des packs par la mention PACK (c'est plus lisible).

----------------------------------------------------------------------------------------------------------

J'ai donc monté ce système de vérification tout seul avec mes petits doigts. Mon problème est principalement la décentralisation (j'utilise le serveur qui traite les importations [logique], un serveur sur lequel je fais tourner les batchs en tâches planifiées [pour des raisons de sécurité], et ma machine sur laquelle j'exécute la génération du rapport) ... et j'ai sauvagement envie de rendre tout ceci plus "clean". De plus, je souhaite récupérer d'autres informations, histoire de faciliter le traitement des urgences grâce à ce fichier de log.

Voilà comment j'envisage le truc :
- 1 programme qui fait la correction avant le traitement du fichier, qui va chercher les codes à remplacer dans un fichier texte à part (que j'héberge sur le serveur)
- 1 programme sur ma machine, pour générer le rapport. Ce dernier nécessite une saisie au lancement du nom du fichier de log (nommage arbitraire par le logiciel de traitement, pas de bol ...). Il doit faire :
1 - récupérer les erreurs et informations dans le fichier comme je le fais actuellement
2 - récupérer les n° de commande en erreur et les mettre en face des codes en erreurs en plus de les lister "à part"
3 - recouper les n° de commande avec le fichier source afin de récupérer le stock de destination et de le rajouter en face de la commande en erreur

Donc wala :) je voulais présenter mon projet, et vous faire profiter de mes évolutions par rapport à ce dernier ... et profiter de vos suggestions aussi. Comme je l'ai dit dans l'autre topic, je ne suis pas développeur au départ et il est probable que j'ai besoin de pas mal de suggestions :p

Merci d'avance :)
Répondre