dolibarr-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Dolibarr-dev] Proposition patch pour rendre saphir plus robuste +


From: Eldy
Subject: Re: [Dolibarr-dev] Proposition patch pour rendre saphir plus robuste + idée co mpteur à masque client
Date: Wed, 11 Jun 2008 02:52:13 +0200
User-agent: Thunderbird 2.0.0.14 (Windows/20080421)

Donc si on résume, ta solution offre en effet un module de numérotation moins sensibles aux référence hors normes et le module et capable de retrouver le numéro suivant dans plus de cas tordus. Ces derniers pouvant se manifester qu'en cas de changement de num en cours de route. C'est d'ailleurs une solution qu'avait proposé regis dans ces premieres version des modules de num générique. Malheureusement, ceci peut marcher en faisant appel à un critère select where basé sur la commande REGEXP. Hors cette commande n'est pas un standard (exemple oracle utilise la syntaxe WHERE REGEXP_LIKE(champ, 'regex')).

Une regle à respecter est que le respect du standard et le fonctionnement multiplateforme avec une portabilité de 100% est prioritaire sur du code qui permet de palier un pb qui n'est pas sensé arrivé. C'est grace à cela que Dolibarr pourra tourner sur toutes les bases de données du marché. Le driver d'abstraction de la base a été fait dans ce but et qd un driver PDO aura été fait, dolibarr pourra tourner sur toute base, à condition justement de ne pas mettre de code SQL spécifique. Je préfère donc qu'on gère cela grace au gardefou qui évite de se trouver dans cette situation (celle où un module de num ne marche pas car on a changé en cours de route et que le précédent n'était pas compatible). Ce gardefou, c'est la methode canBeActivated qui se trouve dans chaque module de numerotation et qui dit si on peut activer un module ou pas en regardant si y a pas de enregistrements qui generait (ex: terre). Toutefois cette méthode n'est pas encore exploitée.

J'écarte donc le patch. Toutefois un module saphirbis peut tres bien etre fourni en module complémentaire qui serait téléchargeable sur le site: http://www.dolibarr.org/component/option,com_docman/task,cat_view/gid,65/Itemid,36/lang,en/


Raphaël Bertrand (Résultic) a écrit :
Suite au problème rencontré par Lionel (et par d'autres en cas de changement de système de numérotation en cours de route ou de bidouillage), je me suis penché sur le code de saphir pour chercher pourquoi il pouvait ainsi être trompé par la présence de commandes ne respectant pas son masque. Là je me suis aperçu que le module de numérotation se contentait de repérer les débuts et fin logique du compteur pour lui, et de faire ses comparaisons (de même pour le test de date). Or, dans le cas d'une modification manuelle ou d'un changement de standard, des lettres peuvent se trouver en lieu et place des chiffres attendus, ce qui cause alors une ré initialisation du compteur, et du même coup une erreur lors de l'insertion car le numéro existe déjà.

Pour contrer cela, je propose donc dans le patch ci-présent de remplacer le test d'absence de parenthèse (pour les cas des commandes provisoires), par un test d'expression régulière vérifiant que les lettres préfixes et suffixes correspondent, et que les codes spéciaux sont bien remplacés par des chiffres, avant de considérer un enregistrement comme étant créé par le masque et donc avant d'incrémenter le compteur.

Si cela vous intéresse, je peux essayer de le porter sur les autres modules de numérotation.

D'autre part, nous trouverions intéressant de pouvoir effectuer une numérotation tenant compte du code client, afin de disposer une valeur de compteur propre à chaque client, améliorant ainsi le suivi par client. Qu'en pensez vous ?

Post de Lionel:
http://www.dolibarr.fr/component/option,com_fireboard/Itemid,32/func,view/catid,5/id,8910/lang,fr/#8910
Article de la FAQ:
http://www.dolibarr.com/wikidev/index.php/FAQ_D%C3%A9veloppeur#Changer_mon_syst.C3.A8me_de_num.C3.A9rotation_des_factures_en_cours_de_route


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

_______________________________________________
Dolibarr-dev mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/dolibarr-dev


--
Laurent Destailleur.
---------------------------------------------------------------
EMail: address@hidden
Web: http://www.destailleur.fr
IM: IRC=Eldy, Jabber=Eldy

AWStats (Author) : http://awstats.sourceforge.net
CVSChangeLogBuilder (Author) : http://cvschangelogb.sourceforge.net
AWBot (Author) : http://awbot.sourceforge.net
Dolibarr (Contributor) : http://www.dolibarr.org





reply via email to

[Prev in Thread] Current Thread [Next in Thread]