PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Gestion de distribution
Gestion de distribution
Débuté par ali, 01 juil. 2018 12:24 - 16 réponses
Membre enregistré
52 messages
Popularité : +1 (1 vote)
Posté le 01 juillet 2018 - 12:24
Bonjour;

J'ai développé une application de gestion commerciale sous windev avec HFSQL Client/Serveur,
je veux créer un module Distribution, voila un descriptif du fonctionnement:

- les terminaux sous android
- Chaque terminal correspond à un livreur
- Les quantités des produits chargées pour livraison doivent correspondre aux quanités articles chargées sur les terminaux pour chaque livreur
- à la fin de la journée, chaque terminal doit se synchroniser avec le serveur central pour mettre à jour les quantités articles, créer les bon de livraison, mettre à jour les réglements et les soldes clients, ... etc

Merci de me proposer une manière pour synchroniser les données de cette manière, ou me proposer une altérnative à cette logique.
Membre enregistré
3 844 messages
Popularité : +227 (347 votes)
Posté le 01 juillet 2018 - 13:33
Bonjour,
Nous somme dans le cas classique d'une réplication https://doc.pcsoft.fr/fr-FR/?3044266.

--
Il y a peut être plus simple, mais, ça tourne
Membre enregistré
52 messages
Popularité : +1 (1 vote)
Posté le 01 juillet 2018 - 15:24
Bonjour;

Merci pour la réponse, je vais me pencher sur cette démarche et vous rendrais la réponse une fois je testerai l'application.
Posté le 02 juillet 2018 - 08:50
Bonjour,

ali avait soumis l'idée :
Bonjour;

J'ai développé une application de gestion commerciale sous windev avec HFSQL
Client/Serveur, je veux créer un module Distribution, voila un descriptif du
fonctionnement:

- les terminaux sous android
- Chaque terminal correspond à un livreur
- Les quantités des produits chargées pour livraison doivent correspondre aux
quanités articles chargées sur les terminaux pour chaque livreur
- à la fin de la journée, chaque terminal doit se synchroniser avec le
serveur central pour mettre à jour les querantités articles, créer les bon de
livraison, mettre à jour les réglements et les soldes clients, ... etc

Merci de me proposer une manière pour synchroniser les données de cette
manière, ou me proposer une altérnative à cette logique.


Tu n'es ABSOLUMENT PAS dans le cas d'une réplication qui répond à des
besoins de synchronisation "n'importe quand" et surtout le plus
possible en temps réel...
La, tu n'as qu'à connecter tes terminaux un par un avant le départ,
charger les données dont ils ont besoin
Au retour, exploitez les données de tes terminaux, mettre à jour ta
Base de données.

La réplication maintient à l'identique des fichiers sur plusieurs
plateformes. La tu n'a pas besoin de ta base intégrale dans chaque
terminal (Je sais, on peut filtrer ce qu'on réplique)

D'autre partr, mais ca n'a pas a voir avec ta question, personnellement
je gérerais ma mise à jour stock au départ des livraisons et pas au
retour, pour avoir une dispo plus juste pendant la journée.
Sauf bien sur, si tes livreurs font du "laissé sur place" c 'est a dire
ne connaissent pas les quantités ni les articles à livrer en partant.

voila,
a plus


--
-------------------------------------------------------------
www.ctc-soft.com
Gestion biblo-documentaire (free-share)
Comptabilité shareware
Logiciels de Gestion de saisie terrain
Spécialisé Tournées de boulangers
-------------------------------------------------------------
Membre enregistré
52 messages
Popularité : +1 (1 vote)
Posté le 02 juillet 2018 - 15:30
Bonjour;

Tu n'es ABSOLUMENT PAS dans le cas d'une réplication qui répond à des
besoins de synchronisation "n'importe quand" et surtout le plus
possible en temps réel...
La, tu n'as qu'à connecter tes terminaux un par un avant le départ,
charger les données dont ils ont besoin
Au retour, exploitez les données de tes terminaux, mettre à jour ta
Base de données.


Effectivement c'est que je veux exactement, c'est de brancher les terminaux puis faire un chargement de données, et c'est ma question initiale, merci de m'orienter sur la manière de faire ça avec windev.


D'autre partr, mais ca n'a pas a voir avec ta question, personnellement
je gérerais ma mise à jour stock au départ des livraisons et pas au
retour, pour avoir une dispo plus juste pendant la journée.


mais les quantités des articles doivent être précises pour chaque livreur et ça pour instaurer un contrôle de quantités et éviter les vôles et les pertes de la part des livreurs.

Merci encore pour la réponse.
Membre enregistré
1 623 messages
Popularité : +100 (114 votes)
Posté le 02 juillet 2018 - 17:08
Bonjour,

Pour l'intégration des données, tu peux utiliser les WEBSERVICES. C'est assez simple a mettre en place et ça permet vraiment de faire CE QUE L'ON VEUT.
Posté le 02 juillet 2018 - 18:01
ReBjr,

ali vient de nous annoncer :
Bonjour;

J'ai développé une application de gestion commerciale sous windev avec HFSQL
Client/Serveur, je veux créer un module Distribution, voila un descriptif du
fonctionnement:

- les terminaux sous android
- Chaque terminal correspond à un livreur
- Les quantités des produits chargées pour livraison doivent correspondre aux
quanités articles chargées sur les terminaux pour chaque livreur
- à la fin de la journée, chaque terminal doit se synchroniser avec le
serveur central pour mettre à jour les quantités articles, créer les bon de
livraison, mettre à jour les réglements et les soldes clients, ... etc

Merci de me proposer une manière pour synchroniser les données de cette
manière, ou me proposer une altérnative à cette logique.


Pour ta communication entre tes terminaux et ta base, tu peux
effectivement utiliser des WS comme préconisé , personnellement, vu que
les transferts ne se font QUE sur place, une connexion wifi avec une
connexion HFSQL/CS me suffirait largement.
C'est ce que je fais depuis des années pour mes tournées de boulangers.
C'est une connexion réseau normale, comme un pc en reseau.

a plus

--
-------------------------------------------------------------
www.ctc-soft.com
Gestion biblo-documentaire (free-share)
Comptabilité shareware
Logiciels de Gestion de saisie terrain
Spécialisé Tournées de boulangers
-------------------------------------------------------------
Membre enregistré
1 623 messages
Popularité : +100 (114 votes)
Posté le 03 juillet 2018 - 09:50
L'avantage du webservice c'est que le traitement est déporté coté serveur et donc modifiable sans avoir a mettre à jour l'appli android elle même.
Membre enregistré
52 messages
Popularité : +1 (1 vote)
Posté le 03 juillet 2018 - 11:53
Bonjour;

Pour ta communication entre tes terminaux et ta base, tu peux
effectivement utiliser des WS comme préconisé , personnellement, vu que
les transferts ne se font QUE sur place, une connexion wifi avec une
connexion HFSQL/CS me suffirait largement.
C'est ce que je fais depuis des années pour mes tournées de boulangers.
C'est une connexion réseau normale, comme un pc en reseau.


je pense que j'ai mal posé mon problème.
Concernant la communication des terminaux avec la base de données locale, je suis partant sur une solution CS, et comme j'ai jamais travaillé avec le WS je vais me pencher sur une connexion dans le réseau local du moins pour le moment et je testerai plus tard le WS.

Mon plus grand souci, c'est la manière avec laquelle je transmet les données vers les terminaux et vis versa, c'est à dire:

- Je crée la liste des produits à charger pour le livreur 01 sur le poste central;
- je connecte le terminal sur la base centrale;
- je lis la liste des produits correspondante à ce terminal, et je fais un transfert de données depuis la base centrale vers la base locale du terminal;
(le problème se pose à ce niveau, comment gérer deux connexions en même temps, copier depuis la base centrale, vers la base locale, si j'arrive à gérer deux connexions, je pourrai utiliser des Hajoute par exemple ou Hmodifie sur la base locale, et des Hlitsuivant sur la base centrale, ...etc, donc ce qui me manque vraiment c'est les mots clés à utiliser pour pouvoir réaliser cela)

Je vois que je doit gérer deux connexions en même temps au moment du transfert de données, je sais pas si c'est possible ni comment le faire si cela est possible.

Merci encore une fois pour vos réponses.
Membre enregistré
165 messages
Popularité : +12 (12 votes)
Posté le 03 juillet 2018 - 13:48
Bonjour;
regarde au niveau de : HChangeConnexion
Bon Dev
Membre enregistré
52 messages
Popularité : +1 (1 vote)
Posté le 03 juillet 2018 - 14:22
FouedFouedusa a écrit :
Bonjour;
regarde au niveau de : HChangeConnexion
Bon Dev


Oui je connais le fonction et je l'ai utilisé pour choisir la base de données, car mon application est multibases, mais à ma connaissnce HChangeConnexion ne te permet pas gérer deux bases de données en même temps (lire depuis la première et ecrire sur la deuxième)
Membre enregistré
91 messages
Popularité : +5 (5 votes)
Posté le 03 juillet 2018 - 14:29
bonjour,

Pour gérer deux connexions, j'utilise un composant interne dans lequel sont déclarées une connexion et une analyse.
Puis classes ou procédures pour lire ou écrire

Cordialement,

Eric
Membre enregistré
1 623 messages
Popularité : +100 (114 votes)
Posté le 03 juillet 2018 - 14:42
Dans ce cas, le plus simple est de générer la classe modèle à partir de l'analyse
cf : http://blogs.pcsoft.fr/fr/generer-classes-partir-descriptions-tables-contenues-analyse-projet/281474976710689/read.awp

Tu rempli ensuite le tableau avec autant d'objets que nécéssaire.
A ce moment la, tu peux changer de base de données pour passer sur la locale et faire un un truc du genre :

POUR I = 1 _A_ tableauArticles..occurence
HRAZ(Articles) // base locale
MémoireVersFichier(tableauArticles[i], Articles)
HAjoute(Articles)
FIN
Message modifié, 03 juillet 2018 - 14:43
Posté le 03 juillet 2018 - 15:01
HChangeConnexion permet de gérer 2 bases en meme sans aucun soucis

eric l.

> Le 03/07/2018 à 12:22, ali a écrit :
FouedFouedusa a écrit :
Bonjour;
regarde au niveau de : HChangeConnexion
Bon Dev

Oui je connais le fonction et je l'ai utilisé pour choisir la base de
données, car mon application est multibases, mais à ma connaissnce
HChangeConnexion ne te permet pas gérer deux bases de données en même
temps (lire depuis la première et ecrire sur la deuxième)
Membre enregistré
165 messages
Popularité : +12 (12 votes)
Posté le 03 juillet 2018 - 15:57
re;
il suffit que les différents fichiers des différentes bases de données soient décrits dans l'analyse, et le jeu est joué.
Bon Dev.
Membre enregistré
52 messages
Popularité : +1 (1 vote)
Posté le 03 juillet 2018 - 16:16
François C. a écrit :
Dans ce cas, le plus simple est de générer la classe modèle à partir de l'analyse
cf : http://blogs.pcsoft.fr/fr/generer-classes-partir-descriptions-tables-contenues-analyse-projet/281474976710689/read.awp

Tu rempli ensuite le tableau avec autant d'objets que nécéssaire.
A ce moment la, tu peux changer de base de données pour passer sur la locale et faire un un truc du genre :

POUR I = 1 _A_ tableauArticles..occurence
HRAZ(Articles) // base locale
MémoireVersFichier(tableauArticles[i], Articles)
HAjoute(Articles)
FIN
Message modifié, 03 juillet 2018 - 14:43


je pense que ça va faire l'affaire.

je vais tarder un peut peut-être mais , je teste et je vous rend la réponse. ;)
Membre enregistré
52 messages
Popularité : +1 (1 vote)
Posté le 16 juillet 2018 - 13:27
Bonjour à tous,

En fait je suis bloqué sur windev mobile (j'ai déja posté ça sur le forum de windev mobile mais pas de réponse), en fait j'ai un problème SDK, je n'arrive pas à le faire fonctionner.

Merci