Bonjour.
En fait, tu nous demande de te faire une application de facturation gratuitement ?
1. Pour le numéro du bon de commande, le plus simple à mon avis est de ne pas en donner !
Du moins, tu ne donnes pas de n° tant que la commande n'est pas validée.
D'un coup, tu élimines la gestion des numéros "temporaires" et des litiges éventuels (impression du bon puis annulation, p.e.)
Et une fois validée, si tu veux un numéro séquentiel tu as le choix :
- SELECT MAX(numero_commande) FROM COMMANDES => te donne le dernier numéro de commande, auquel il suffit de rajouter 1.
- Utilisation d'une table "paramètres" pour stocker (entre autres) le numéro de commande à utiliser. Ensuite, tu le récupères pour faire l'insertion dans COMMANDES et tu UPDATE...

Dans les deux cas, il faut penser à gérer l'accès concurrentiel. Exemple avec le MAX :
Client1 commande.
SELECT MAX(numero_commande) => On lui affecte le numero de commande 1000.
Client2 commande (une fraction de secondes plus tard).
SELECT MAX(numero_commande) => On lui affecte le numero de commande 1000.
INSERT de Client1 (numéro de commande 1000).
INSERT de Client1 (numéro de commande 1000). =>
Erreur !
2. Pour la création du contenu, j'utiliserais un formulaire ou un système de "panier" suivant les cas, avec possibilité de visualiser la commande (en html) et de supprimer une ligne/annuler avant validation.
3. Pour la "modification" par la compta, je ne comprends pas trop...
Le bon de commande devrait déjà inclure tous ces éléments, non ?
Et en soi, c'est juste des requêtes à passer pour récupérer dans la table "Produits" les informations prix_ht et taux_tva (penses à faire une table à part avec les taux de TVA, ça facilitera la maintenance)...
Bonjour.
En fait, tu nous demande de te faire une application de facturation gratuitement ? :shock:
1. Pour le numéro du bon de commande, le plus simple à mon avis est de ne pas en donner !
Du moins, tu ne donnes pas de n° tant que la commande n'est pas validée.
D'un coup, tu élimines la gestion des numéros "temporaires" et des litiges éventuels (impression du bon puis annulation, p.e.)
Et une fois validée, si tu veux un numéro séquentiel tu as le choix :
- SELECT MAX(numero_commande) FROM COMMANDES => te donne le dernier numéro de commande, auquel il suffit de rajouter 1.
- Utilisation d'une table "paramètres" pour stocker (entre autres) le numéro de commande à utiliser. Ensuite, tu le récupères pour faire l'insertion dans COMMANDES et tu UPDATE...
:!: Dans les deux cas, il faut penser à gérer l'accès concurrentiel. Exemple avec le MAX :
Client1 commande.
SELECT MAX(numero_commande) => On lui affecte le numero de commande 1000.
Client2 commande (une fraction de secondes plus tard).
SELECT MAX(numero_commande) => On lui affecte le numero de commande 1000.
INSERT de Client1 (numéro de commande 1000).
INSERT de Client1 (numéro de commande 1000). => [i][color=#FF0000]Erreur ![/color][/i]
2. Pour la création du contenu, j'utiliserais un formulaire ou un système de "panier" suivant les cas, avec possibilité de visualiser la commande (en html) et de supprimer une ligne/annuler avant validation.
3. Pour la "modification" par la compta, je ne comprends pas trop...
Le bon de commande devrait déjà inclure tous ces éléments, non ?
Et en soi, c'est juste des requêtes à passer pour récupérer dans la table "Produits" les informations prix_ht et taux_tva (penses à faire une table à part avec les taux de TVA, ça facilitera la maintenance)...