Régulièrement sur ce blog, certains parmi vous, en commentaire ou en nous envoyant un email depuis le formulaire de contact, nous pose une question technique à propos de FileMaker.
Lorsqu’il s’agit d’une question courte et d’une réponse qui ne demande pas non plus une explication trop longue, nous y répondons volontiers et souvent, ceci permet à notre interlocuteur de débloquer une situation et d’avancer.
C’est le cas cette semaine pour Gilbert. Voici sa question :
Actuellement, les N° vont de 6001 à 6389, et je voudrais que la première facture de 2017 commence à 7001.
Facile si on a accès à la structure, mais en clientèle beaucoup moins facile, sauf erreur de ma part.
Question : comment puis-je, par script si possible, initialiser ce N° de facture à 7001 ?
Première chose à préciser, et qui ne concerne pas FileMaker mais la conception de vos bases.
Gilbert ici souhaite faire démarrer ses factures à partir du numéro 7001 pour 2017, créant ainsi un grand « trou » dans la continuité de la numérotation des factures, puisque la dernière de 2016 portait le numéro 6386. Il en a la possibilité car, je ne l’ai pas précisé, Gilbert est belge et la législation de son pays l’y autorise. Mais ce n’est pas le cas partout. Donc, sur des sujets sensibles comme la comptabilité et la facturation, assurez-vous auparavant, lorsque vous souhaitez faire une modification de ce genre, que la loi de votre pays vous y autorise : les possibilités techniques qu’offre FileMaker ne sont pas là pour contourner la loi mais au service de vos besoins 😉
Ce d’autant plus que la question de Gilbert pourrait concerner tout autre type de documents, comme des devis par exemple, pour lesquels la loi n’a pas son mot à dire 😉
Cet aspect des choses étant clarifié, entrons maintenant dans le vif du sujet.
Gilbert veut deux choses : faire démarrer un numéro de série à partir d’un nouveau point de départ et il veut le faire en dehors de la définition des rubriques, par script, pour qu’un utilisateur de la base puisse le faire faire sans avoir à travailler dans la structure de la base.
Définir un numéro de série
Rappelons auparavant qu’un numéro de série se définit dans la définition des rubriques, menu Fichier > Gérer > Base de données… > Rubriques.
Dans la table adaptée, dans le cas de Gilbert, on imagine qu’il s’agit de la table Facture, on crée une rubrique de type Nombre, IdFacture et on clique sur le bouton Options.
Dans l’onglet Entrées automatiques, on trouve de quoi définir la rubrique à l’aide d’un numéro de série. Il suffit donc de cocher cette option. Généralement, les options proposées par défaut par FileMaker sont celles qui convient :
Le numéro de série est entré automatiquement dans la rubrique IdFacture au moment de la création d’un nouvel enregistrement (d’une nouvelle facture). Il pourrait l’être au moment de la validation de l’enregistrement, c’est-à-dire lorsqu’on a terminé de saisir toutes les données d’un enregistrement et que l’on passe à un autre enregistrement, un autre modèle ou que l’on clique à l’extérieur de l’enregistrement. FileMaker le valide et l’enregistre automatiquement.
Le numéro de départ est 1 par défaut. Ce numéro que l’on voit n’est pas celui du dernier enregistrement créé mais bien du prochain à créer.
On pourrait le faire démarrer à n’importe quel autre nombre. Ici, Gilbert aurait pu aller dans la définition de la rubrique et saisir 7001. La prochaine facture créée porterait alors le numéro 7001.
De même, l’incrément peut être modifié.
Par défaut, il est de 1, valeur le plus souvent utilisée, notamment pour les identifiants… et les numéros de facture 😉 On passe alors, au fur et à mesure que l’on crée un nouvel enregistrement, de 1 à 2 puis à 3, 4 etc. Mais on peut aussi modifier ce numéro d’incrément. Si l’on saisit 5, on aura pour le 1er enregistrement, le numéro 1, le deuxième, le numéro 5, le troisième, le numéro 10, etc.
Lorsque vous créez un nouvel enregistrement, le numéro de départ se modifie. Il s’augmente de l’incrément indiqué, pour indiquer le prochain numéro pour l’enregistrement à venir. Dans le cas de la rubrique IdFacture de Gilbert, puisque la dernière facture porte le numéro 6389, normalement, notre option indique 6390 en numéro de départ. Et c’est précisément ce numéro que Gilbert veut modifier : il souhaite le remplacer par 7001 pour commencer une nouvelle année !
Pour cela, rien de plus facile, il suffit d’activer à nouveau le menu Fichier > Gérer > Base de données… > Rubriques, de double-cliquer sur la rubrique IdFacture et de modifier cette option.
Cela Gilbert sait le faire. Mais ce qu’il demande, c’est que l’on ne passe pas par le menu Fichier > Gérer > Base de données… > Rubriques pour faire cela, de manière à rendre la manipulation accessible à des utilisateurs qui n’ont pas accès à ce menu ou dans un contexte où il est délicat de se rendre dans un tel menu qui concerne la structure (lorsqu’on est en clientèle par exemple).
Alors, suspens… nous allons découvrir la semaine prochaine une astuce très simple à mettre en place, pour répondre à la demande de Gilbert…
Bonne semaine à tous,
Marie-Charlotte Potton
PS : Ce blog est le lieu idéal pour partager questions – et réponses – techniques (et pas uniquement techniques) sur FileMaker. Nous le faisons le plus souvent avec un accès réservé aux membres. Pour devenir membre du blog astucieux et pouvoir lire ces articles, il vous suffit de vous inscrire : profite-en, c’est gratuit, et votre inscription nous permet en plus de vous envoyer notre chronique hebdomadaire qui reprend la liste des articles parus dans la semaine ainsi que l’une ou l’autre information qui peut vous être utile. Et ce, sans parler de la petite citation qui conclut chaque semaine notre newsletter et qui, si j’en crois la réaction de certains, est fort appréciée 😉
Merci de laisser un commentaire (déjà 5 commentaires )
Désolé, les commentaires des articles réservés sont eux-mêmes réservés
Bertrand
8 ans ago
Bonjour
Je suis aussi intéressé par cette astuce très simple. A part avoir une rubrique de numérotation à part, je n’ai pas trouvé d’autre astuce.
Comme tu le précises Marie-Charlotte, c’est pas bien vu du tout par le fisc de s’amuser à créer des trous dans la numérotation des documents, plus ils sont petits, moins ils aiment.
Jean-Louis
8 ans ago
Bonjour
Pour changer le N° de Série en mode utilisation
_Ignorer les enregistrements non concernés
_Trier les enregistrements (Date de création par ex)
_aller au premier enregistrement
_Sélectionner la rubrique « Id »
_Puis Menu/enregistrements/Remplacer/N° de serie et entrer la Nelle Formule
Il faut bien sûr , décocher si besoin, « Valeur non modifiable par la saisie » si elle a été choisie auparavant
Marie-Charlotte
8 ans ago
@Bertand… l’astuce arrive 😉 un peu de patience…
@Jean-Louis : votre astuce marche si vous avez des numéros à remplacer. Si ce n’est pas le cas et qu’une nouvelle numérotation doit commencer au prochain enregistrement, comme dans la situation de Gilbert, alors il faut passer par l’astuce que je vous présenterai la semaine prochain 😉
David
8 ans ago
Alors le problème semble simple, mais en fait pas tant que cela (en laissant le côté fiscal à part), il souhaite un numéro de série en concatenation avec l année d exercice.Donc on devrait d abord avoir une rubrique globale pour le chiffre de l année. Avec un script qui valide le changement d année afin de ne pas revenir a l année précédente, ce qui entraîne une sorte de validation annuelle et le non changement de ces données verouillees dans le futur, ensuite la procédure du script continue sur la rubrique d auto incrément action en la remettant à zéro puis création d une autre. Rubrique auto entrée pour le numéro concaténé (année & rubri auto incrémentée)
Marie-Charlotte
8 ans ago
Bonjour @David. Bravo pour ta recherche. C’est vrai que la concaténation d’une date (ou d’une année) et d’un numéro d’incrément comme n° de facture est une pratique que l’on voit souvent et qui a priori est intéressante. Il faut bien entendu distinguer n° de facture (qui joue un rôle fiscal) et identifiant (qui joue un rôle informatique). Pour revenir à ton idée, si j’ai bien compris, Gilbert commence l’année 2016 avec 6001, l’année 2017 avec 7001 et sans doute l’année 2018 avec 8001. On pourrait donc concaténer le dernier chiffre de l’année avec un numéro d’incrément. Sauf qu’avec ce système, en 2026, on aura à nouveau 6001. Et qu’en outre, on retombe sur le même problème d’incrément de départ que l’on doit modifier dans la définition de la rubrique incrémentée, sans pour autant avoir accès à cette rubrique dans sa définition tout en faisant en sorte de ne pas modifier les numéros précédents…
Dans la solution que je proposerai la semaine prochaine, je ne gère pas la question du 1er chiffre (dans le cas où celui-ci correspond au dernier chiffre de l’année, mais solutionne le problème de redémarrage d’incrément… et ce, très simplement 😉