Installation
Pas de dépendance : le plugin ne nécessite aucun autre plugin.
Reconnaissance : le plugin utilise, s’ils sont actifs, Saisies pour formulaires et Vérifier.
Configuration
Le plugin ne nécessite aucune configuration. Il contient une démonstration.
Utilisations
Les fonctions pour la gestion de la base de données des codes
Une API est disponible dans le répertoire /inc du plugin. Elle permet de gérer les codes stocker dans un fichier json (voir le répertoire de SPIP local/cache-json)
Exemples d’utilisation :
include_spip('inc/ape_naf');
// avoir le libellé du code 0520Z
print_r(lire_ape_naf('0520Z',['libelle' => '']));
// avoir tous les codes et libellés
print_r(lire_ape_naf('*',['libelle' => 'avec_code']));
La fonction lire_ape_naf(string $valeur, ?array $options = []) lit le fichier en local stockant les codes à la recherche d’une valeur ou des valeurs. La valeur est précisée dans la variable $valeurs. Elle peut être soit un code, soit le signe *. La fonction retournera alors soit le libellé soit le code accompagné du libellé, selon les $options précisées, soit l’ensemble des valeurs possibles.
Une gestion périodique des tâches permet de réactualiser la liste des codes.
Une gestion périodique des tâches (Cron), permet de réactualiser le fichier avec une API afin qu’il détienne les derniers codes en vigueur (voir le pipeline taches_generales_cron et le fichier genie/ape_naf_actualisation.php).
Renouvellement manuel de la liste
Pour des usages avancées, la fonction creer_ape_naf(int $jours) renouvelle ou crée le répertoire des codes APE et NAF. La variable $jours précise les jours d’ancienneté du fichier avant qu’il ne soit considéré comme obsolète. Avec 100, si le fichier en local stockant les codes à plus de 100 jours, il sera renouvelé en allant chercher les valeurs sur une API externe.
La saisie ape_naf pour sélectionner un code
Lorsque le plugin Saisies pour formulaires est actif, une nouvelle saisie peut être utilisée et est dénommée ape_naf. Il s’agit d’un sélecteur regroupant les codes et leurs libellés.
Exemple d’utilisation de la saisie:
La vérification ape_naf pour vérifier la conformité d’un code
Lorsque le plugin Vérifier est actif, une nouvelle vérification est utilisable, dénommée simplement ape_naf. Elle permet de vérifier une valeur et de la normaliser si nécessaire.


Discussions by date of activity
3 discussions
Bonjour,
J’ai lancé creer_ape_naf et le fichier
local/cache-json/ape_naf.jsonsemble à jour.J’ai créé un champ extra sur organisations,
mais lors de la saisie, il ne me propose qu’une liste limitée de codes.
Que manque-t-il ?
Ma déclaration du champ
sqlest-elle suffisante ou bien faut-il la laisser vide ?Merci
Bonjour,
J’ai trouvé, c’est un bug dans le plugin, ici :
https://git.spip.net/spip-contrib-extensions/ape_naf/-/blob/master/saisies/ape_naf.html?ref_type=heads#L24
La clé est générée 2 fois à partir du début du code
12.34A:Donc les clés sont formées par
1212.au lieu de1234A, ce qui ne crée qu’une entrée duSELECTpour chaque couple de 2 premiers chiffres (donc 100 codes max au lieu de 752 codes).En remplaçant dans la seconde ligne
substr{0,3}parsubstr{3,3}, ça marche mieux.De plus, afin de mieux l’utiliser avec Select2, afin de ne pas taper le point, je changerais la ligne suivante :
par
Merci
Reply to this message
Bonjour,
J’ai lancé creer_ape_naf et le fichier
local/cache-json/ape_naf.jsonsemble à jour.J’ai créé un champ extra sur organisations,
mais lors de la saisie, il ne me propose qu’une liste limitée de codes.
Que manque-t-il ?
Ma déclaration du champ sql est-elle suffisante ou bien faut-il la laisser vide ?
Merci
Reply to this message
Bonjour,
Ça aurait été bien d’avoir une page de configuration qui mette à jour la liste.
Parce que ma fonction
creer_ape_naf(int $jours), je ne sais pas trop depuis où l’appeler.Merci
Reply to this message
Add a comment
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Follow the comments:
|
