PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Nouvel article
En réponse à 'exemple CRM de windev: gestion des modifications de commandes'
Indiquez votre nom et votre adresse email
Votre adresse email ne sera pas publiée.
Résumé du sujet
Posté le 21 mars 2013 - 14:46
je veut le code de cette tache car j'ai cherché mais je n'est pas reussi :can you send me the code of this exempe
Posté le 23 avril 2008 - 23:50
Merci pour vos réponses,(excusez-moi pour ma réponse tardive)
J'utilise à quelques variantes prêt la même méthode de Sébastien. Au lieu de l'alias ,j'utilise un tableau dynamique(votre méthode a plus d'avantage). et le stock est géré également par trigger.
Seulement lors d'une modification qui se fait un jour + tard, le Chiffre d'affaire (dans les cas des ventes et lignes de ventes) est déjà consolidé. je suis donc obligé de faire un autre trigger pour que la modification n'influe que le CA de la journée où la modification a été effectuée. En cas de litige, il serait intérréssant de pouvoir reconstituer le chiffre d'affaire de la journée avant modification.

Les triggers sont-ils efficaces à 100%?

merci encore
J'adore ce forum!!!
Posté le 17 avril 2008 - 16:34
J'ai opté pour la méthode suivante :

Les fichiers Entete et Lignes ont tous un Alias dans un répertoire
temporaire sur le serveur

A. Création de piece
1. J'assigne pour la piece un numéro temporaire basé sur l'horloge +
l'identifiant de l'utilisateur ( je suis sur que c'est unique )
2. Je créé dans les alias l'Entete et les Lignes au fur et a mesure de
la saisie.
3. Quand je valide ma piece, je fais une simple copie des
enregistrements de ma piece temporaire ( entete + lignes ) en attribuant le
vrai numéro de piece.
4. Je supprime les lignes et entete temporaire, que j'ai validé ou
annulé la piece.

B. En modification de piece
1. Je copie les enregistrements de la piece dans les fichiers alias (
Entete et ligne ) en conservant le numéro initial de la piece (et non pas
avec un numéro temporaire ). De cette facon, seule une personne peut
modifier une piece a un instant T puisque si j'ai une piece avec le numéro
demandé dans le fichier alias, c'est que quelqu'un travaille sur cette
piece )
2. J'enregistre les modifications sur les alias temporaires.
3. Si je valide la modification, je supprime les lignes dans les
fichiers originaux et je procede comme pour une création de piece, le numéro
étant déja attribiué puisque contenu dans les fichiers Alias.
4. Que je valide ou j'annule, je supprime lignes et entete dans les
fichiers Alias.

Avantage : c'est qu'en cas de plantage du poste en cours de saisie d'une
piece, je suis capable de reprendre la saisie, il me suffit de recharger la
piece avec le contenu des fichiers Alias temporaires ( je filtre par défaut
sur l'identifiant de l'utilisateur qui est enregistré dans le fichier des
entetes , ce qui permet a un admin dans le logiciel de reprendre une saisie
d'un autre user )

Inconvénient : La charge réseau est augmentée puisqu'on va doubler les
lectures/enregistrement. Je vais bientot modifier le process pour qu'en mode
client/serveur, une procédure stockée fasse la duplication Alias <->
Original.
Les suppressions de piece temporaire sont déja faites dans une procédure
stockée.

Pour la gestion du stock, j'ai créé une classe qui gere tout le process de
mise a jour du stock, aucune action sur le fichier stock ne se fait sans
passer par cette classe. J'ai également un trigger serveur pour les calculs
de stocks disponibles.




"Yanmae Informatique" <stephane.bouillennec@club-internet.fr> a écrit dans
le message de news:4805b9e2$1@news.pcsoft.fr...

Là est une bonne question du genre la poule ou l'oeuf.
Moi je supprime tout si c'est une petite appli sinon je créée une clé
unique pour le fichier ligne et ne supprime où ne modifie que les lignes
concernées
Posté le 16 avril 2008 - 12:44
Là est une bonne question du genre la poule ou l'oeuf.
Moi je supprime tout si c'est une petite appli sinon je créée une clé unique pour le fichier ligne et ne supprime où ne modifie que les lignes concernées
Posté le 16 avril 2008 - 08:55
Bonjour à tous,
Dans l'exemple CRM de windev, les modifications des commandes se font en deux étapes.
1 - suppression de toutes les anciennes lignes de la commande
2 - ajout de toutes les lignes de la commande modifiée.

Cette technique est elle conseillée s'il s'agit d'un gd nombre de ligne de commande à supprimer...(donc autant de stock à modifier)

Avez-vous d'autres exemples pour gérer les modifications de ce type de fenetre avec table de relation. Type Vente et Detail vente, commande et detail commande.

Le débat est ouvert...