Langages et normes: Difference between revisions

Jump to navigation Jump to search
Line 74: Line 74:


= Normes SQL =
= Normes SQL =
* Structure des tables.
Lorsque vous créez une table, il est recommandé de prendre les même conventions de nommages de tables que les autres tables Dolibarr. Avec, à minima les champs suivant:
- rowid integer pour l'id
- tms timestamp qui sera un champ contenant la date de chaque mise à jour (la base de donnée le gère tout seul, pas besoin de le gérer par le code)
- import_key qui contiendra le code d'import YYYYMMDDHHMMSS si vous faites des imports en masse dans la table.
Eventuellement
- datec timestamp qui est la date de création de l'enregistrement
- fk_user_creat integer qui est l'id du user de création
- fk_user_modif integer qui est l'id du user de modif


* Les SELECT * sont interdits ! Chaque SELECT doit spécifier la liste complète des champs à récupérer. Cela permet d'éviter les confusions. Exemple:
* Les SELECT * sont interdits ! Chaque SELECT doit spécifier la liste complète des champs à récupérer. Cela permet d'éviter les confusions. Exemple:
Line 89: Line 99:


Remarque, le pb des float est général et pas seulement sur les accès base, il est présent dans tous les languages quand on travaille sur des nombres réels, aussi ils doivent être, dès que affectés, nettoyés par la fonction price2num avec le 2eme paramètre renseigné à:
Remarque, le pb des float est général et pas seulement sur les accès base, il est présent dans tous les languages quand on travaille sur des nombres réels, aussi ils doivent être, dès que affectés, nettoyés par la fonction price2num avec le 2eme paramètre renseigné à:
'MU', 'MT' ou 'MS' selon le besoin.
'MU' (si il s'agit d'un prix unitaire), 'MT' (s'il s'agit d'un prix total) ou 'MS' (autres cas) selon le besoin.
Voir aussi le chapitre "Les nombres réels, montants et calculs" plus bas.
Voir aussi le chapitre "Les nombres réels, montants et calculs" plus bas.


Navigation menu