Technique‎ > ‎

Feuilles Excel

Les feuilles Excel peuvent avoir trois principaux usages. 

A) En direction des groupes n'effectuant pas de saisie directe dans l'application
Elles permettent dans ce cas :
  • à un groupement d'envoyer à ces groupes le catalogue de ses produits pour une livraison donnée ;
  • à un groupement d'importer la commande globale d'un de ces groupes dans l'application afin de bénéficier des autres services (synthèse, impression des bons de livraison, logistique des camions).
B) Pour faciliter la distribution sans disposer de connexion Internet sur le lieu de distribution
Ceci concerne les groupes dont les alterconsos se servent de l'application pour commander et qui peuvent exporter une feuille Excel dite de distribution avec un onglet par alterconso.

C) Pour un alterconso qui utilise l'application de manière particulière :
  • lui-même centralise les commandes de plusieurs personnes non enregistrées dans l'application : il peut ainsi exporter SA feuille, la distrubuer à ses amis puis réimporter la centralisation manuelle qu'il aura fait ;
  • quand son seul PC à disposition est un PC professionnel lui bloquant l'accès à l'application ou ayant un palier technique trop ancien et verrouillé : il peut ainsi "exporter" son bon de commande, le remplir puis l'importer une fois rempli. Ces deux commandes sont d'un niveau technique ultra classqique et ancien qui le rend apte à être utilisé à peu près n'importe où sur à peu près n'importe quoi.

Pourquoi n'avoir pas repris "l'ancien" format ?
Quel "ancien" format ? 
Il y en avait autant que de groupement de producteurs et chaque groupe le transformait en autant de façons différentes. Un inventaire de tous ces formats aboutit à plus de 30 formats différents !
La seule caractéristique commune à tous ces formats était / est l'absence d'identifiants fixes :
  • pas d'identifaint de groupement de producteurs ni de producteurs,
  • pas d'identifiants de produit,
  • pas d'identifiant de groupe d'alterconsos ni d'alterconsos,
  • pas d'identifiant de livraison.
Le format d'échange créé par l'application fournit tous ces identifiants stables : dès lors toutes les procédures et macros de transformation peuvent les utiliser et ne pas avoir à risquer les très fréquents et indésirables décalages de lignes. 
Les producteurs ont des évolutions de leur catalogue en cours de saison : ne pas disposer d'identifiants stables était / est source d'erreurs pas faciles à détecter et longues à traiter.


Quelle version d'Excel ?
Source de joie mémorable pour les animateurs : la variété des formats d'Excel utilisés.
Il était fréquent d'envoyer à un alterconso un Excel XP .xls et de récupérer un .xlsx.
Les utilisateurs d'Open Office n'ont accès en écriture qu'à .xls.
Le principe retenu est le suivant :
  • à l'exportation l'application génère un Excel XP .xls lisible sous toutes les versions et tous les OS de MS Office, Open Office et tles outils d'iOS et d'Android ;
  • à l'importation elle lit indifférement des .xls et des .xlsx (mais pas autre chose).

Des contraintes réduites au minimum à l'importation
Ceci laisse aux groupes la possibilité de traiter / modifier un maximum de choses à leur convenance du moment que sont respectées les contraintes ci-dessous :
  • seules les 2 premières colonnes sont interprétées : les autres sont libres ;
  • les 2 premières lignes sont ignorées (place pour des titres / séparation) ;
  • la ligne 3 donne la date de livraison en colonne 1 : DL.140411 signifie,
    • DL. donnée identifiant de la date de livraison,
    • 140411 livraison du 11 avril 2014. En pratique comme cette date peut être un peu décalée au cours du temps l'application retrouve la livraison soit exactement à cette date soit dans la même semaine;
  • la ligne 4 identifie l'alterconso
    • Colonne 1 : AC.2.4 signifie,
      • AC. donnée identifiant l'alterconso,
      • 2. donnée identifiant le groupe (2 est le code l'Haÿ-les-Roses Jardin Parisien),
      • 4 est le code de l'alterconso. Quand il s'agit d'une commande globbale pour un groupe (tous alterconsos confondus) le code est 1 par convention.
    • Colonne 2 : clé d'accès (un peu comme un mot de passe) de cet alterconso.
  • les lignes 6 et suivantes sont celles de la commande elle-même. Les lignes peuvent être dans n'importe quel ordre :
    • la colonne 1 indique ce que représente la ligne : G. un séparateur de groupement, P. un séparateur de producteur, A. un article. Tout ce qui ne commence pas par A. est ignoré à l'importation :
    • G.1 indique groupement #1 (Normands). Cette ligne est présente pour information à l'exportation pour jouer le rôle de séparateur, elle est ignorée à l'importatiion ;
    • P.1.14 indique groupement #1 (Normands), producteur #14 (Chapdelaine). Cette ligne est présente pour information à l'exportation pour jouer le rôle de séparateur, elle est ignorée à l'importation ;
    • A.1.140531 indique une commande d'un produit :
      • A.1.14 dit que c'est un produit de Chapdelaine,
      • 0531 est le code du produit sur 4 chiffres. Pour information,
        • le dernier chiffre vaut 1 (produit à prix fixe), 2 (pré-emballé), 3 (vrac au kilo) ;
        • l'avant dernier chiffre est le rayon : 1 (boucherie / charcuterie), 2 (fruits et légumes), 3 (produits laitiers), 4 (épicerie), 5 (autre). Ce sont les producteurs qui choississent de classe dans l'une des 5 catégories ;
        • les deux premiers chiffres sont un numéro d'ordre complémentaire.
    • la colonne 2 est la quantité souhaitée : ce doit être un nombre positif ou 0. Une case vide est tolérée et est interprétée à 0. Une case avec un texte, même à blanc ou un espace, une date ou n'importe quoi d'autre provoque une erreur à l'importation.
Remarques :
Il y a des lignes de types différents. C'est déjà le cas avant mais désormais le code de la ligne qui indique de quoi elle parle est le premier caractère de la première colonne afin de faciliter le traitement et le filtrage. 
L'ordre n'a d'importance qu'en entête : il est obligatoire à l'importation de savoir dès le début quelle livraison est importée pour le compte de qui. Les espaces en tête sont faits pour simplifier une mise en forme rustique et rapide. Les séparateurs de groupement / producteur sont aussi à cet effet. Ils ne joue pas de rôle à l'importation.


Importation pour un groupement par un animateur de groupement
Si les premières lignes définissant la date de livraison et identifiant le groupe ne sont pas conformes aux règles ci-dessus, l'importation est rejetée dans sa totalité.
Ensuite seules les lignes A.x ou x est le numéro du groupement sont interprétées.
Les codes articles non reconnus sont ignorés.
Pour tous les articles n'ayant pas de lignes dans la feuille une valeur 0 est interprétée. Il est donc possible de n'envoyer QUE les lignes des articles commandés
Une importation n'est jamais partielle : elle est ou totalement acceptée ou totalement rejetée.


Importation pour un seul alterconso, soit par un animateur de son groupe, soit par lui-même
C'est légèrement différent car un alterconso peut importer des produits de plusieurs groupements ou d'un seul :
  • dès lors qu'il existe une ligne relative à un groupement tous les articles NON cités dans la feuille sont supposés être à 0 ;
  • s'il n'existe aucune ligne pour un groupement, la commande pour ce groupement n'est PAS modifiée.
Un alterconso peut donc au choix importer, soit une unique feuille tous groupements confondus (comme celle qu'il a exportée), soit une feuille par groupement.


Exportations
Il existe trois variantes d'exportation :
  • Exportation du catalogue d'un groupement pour un groupe. Il n'y a qu'un seul onglet qui comporte les quantités totales (tous alterconsos additionnés) déjà enregistrées (donc 0 avant le début des commandes, mais pas forcément après). Les lignes y figurent toutes (0 ou non) regroupées par producteur puis par ordre alphabétique du nom du produit;
  • Exportation du catalogue pour un alterconso. Il n'y a qu'un seul onglet qui comporte les quantités déjà enregistrées (0 avant le début des commandes, mais pas forcément après). Les lignes sont en deux paquets :
    • celles ayant une quantité non 0, triées par groupe / producteur / nom du produit;
    • celles ayant une quantité 0, triées par groupe / producteur / nom du produit;
  • Exportation pour distribution. Il y a un onglet de "Total" et un onglet par alterconso ayant commandé quelque chose. Les lignes sont exactement dans le même ordre sur tous les onglets.
Remarque :
Ceux qui voudrait un autre ordre de tri peuvent par exemple trier les lignes 6 et suivantes,
  • selon la colonne 1, dernier caractère des lignes commençant par A. pour avoir un tri produit à prix fixe / préemballés / vrac ;
  • selon la colonne 1, avant dernier caractère des lignes commençant par A. pour avoir un tri par rayon.

Contenu des colonnes
Pour toutes les exportations : 
  • A : code article ;
  • B : quantité. Pour les produits qui se commandent pas moitié il peut y avoir une valeur avec un chiffre après la virgule (3,5 plateaux de fromages);
  • C : montant;
  • D : nom du produit ;
  • E : label Bio ;
  • F : type de conditionnement ;
  • G : type de prix (en clair la même information que le dernier chiffre du code article) ;
  • H : prix unitaire ou au kg en euro (jusqu'au centime) ;
  • I : poids brut, réel ou moyen.
Pour les seules exportations d'un groupement, colonnes supplémentaires :
  • K : nombre de lignes de commandes pour cet article ;
  • L : quantité (répète la colonne 2) ;
  • M : montant (répète la colonne 3) ;
  • N : poids estimé ou réel ;
  • O : quantité déclarée au chargement ;
  • P : valeur au chargement ;
  • Q : poids déclaré au chargement ;
  • R : quantité déclarée au déchargement ;
  • S : valeur au déchargement ;
  • T : poids déclaré au déchargement ;

Stabilté des formats
Ces formats sont stables : des groupes ont pu écrire des procédures et macros les utilisant.
La codification est stable.
Il est concevable que dans le futur des extensions aient lieu à la demande de certains groupes et groupement. Afin de garantir la stabilité pour les autres, les extensions ne peuvent consister qu'en :
  • l'ajout de nouvelles colonnes (U et au delà) ;
  • l'ajout de nouveaux types de lignes avecdes codes autres que DL. G. P. et A.