<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><category>pcsoft.fr.windev</category><copyright>Copyright 2026, PC SOFT</copyright><lastBuildDate>5 Apr 2019 05:03:23 Z</lastBuildDate><pubDate>14 Jan 2019 09:36:16 Z</pubDate><description>Bonjour à tous,&#13;
Ayant posté dans le forum Ancienne version et ne parvenant pas obtenir de réponses, je tente dans ce forum.&#13;
Si vous avez une idée, merci par avance car là, franchement, je sèche.&#13;
Cordialement&#13;
&#13;
Posté le 04 janvier 2019 - 10:46&#13;
Bonjour et bonne année à tous.&#13;
Que vos développements se réalisent tant au niveau personnel que professionnel.&#13;
&#13;
Je suis bloqué sur la réplication universelle des données. Excusez par avance la longueur de ce post.&#13;
&#13;
Ayant des agents en télétravail, je dois permettre, lors de leur départ du siège, de récupérer les données de la base SIEGE puis, lors de leur retour, synchroniser leur base locale avec le siège et inversement.&#13;
&#13;
Pour cela j'ai réalisé les étapes suivantes :&#13;
&#13;
1 - Création du réplica maître de la base SIEGE -&gt; Obtention d'un fichier RPM OK&#13;
2- Création d'un réplica abonné sur le disque local en identifiant le réplica avec les initiales de l'agent(_XX) -&gt; Obtention d'un fichier REPLICA_XX.RPL OK&#13;
3- Création des réplicas transportable et synchro des deux bases -&gt; OK la première fois mais impossible après.&#13;
&#13;
L'erreur est "Impossible d'ouvrir le fichier Répertoire du fichier SIEGE\" alors que le poste peut accéder à ce répertoire et que le fichier Rep_Maitre.RPM existe.&#13;
&#13;
Voici le code utilisé :&#13;
[code:wl]&#13;
&#13;
////--------------------------------------------------&#13;
//// création réplica transportable MAITRE -&gt; ABONNE -&#13;
////--------------------------------------------------&#13;
fRepCrée(sRep_abonne)&#13;
HGèreIntégrité(Faux)&#13;
HGèreRéplication(rplRéplicationUniverselle)&#13;
//HCréeRéplicaAbonné(sRep_maitre,sRep_abonne,"REPLICATION_"+gsMesInitiales,0)&#13;
HGèreIntégrité(Vrai)&#13;
&#13;
// Crée la copie des données dans le répertoire déconnecté de l'utilisateur&#13;
SI PAS HCréeRéplicaTransportable(sRep_maitre+"REP_MAITRE.RPM","REPLICATION_"+gsMesInitiales,"","") ALORS&#13;
Erreur("Impossible de créer le réplica transportable.",ErreurInfo(errComplet))&#13;
SINON&#13;
ToastAffiche("Réplica transportable "+RPL.Fichier+" créé avec succès.",toastCourt,cvMilieu,chCentre)&#13;
FIN&#13;
fCopieFichier(sRep_maitre+RPL.Fichier,sRep_abonne+RPL.Fichier)&#13;
fSupprime(sRep_maitre+RPL.Fichier)&#13;
&#13;
fRepCrée(fRepDonnéesUtilisateur()+"\DECONNECTE\")&#13;
HChangeRep("*",fRepDonnéesUtilisateur()+"\DECONNECTE\")&#13;
HGèreIntégrité(Faux)&#13;
HGèreRéplication(rplRéplicationUniverselle)&#13;
SI PAS HSynchroniseRéplica(sRep_abonne+RPL.Fichier,sRep_abonne+"Replica_REPLICATION_"+gsMesInitiales+".rpl",rplVersAbonné,rplPlusRécentPrioritaire) ALORS&#13;
Erreur("Impossible de synchroniser le maître vers l'abonné.",ErreurInfo(errComplet))&#13;
SINON&#13;
ToastAffiche("Synchronisation du maître vers l'abonné réalisée avec succès.",toastCourt,cvMilieu,chCentre)&#13;
FIN&#13;
HGèreIntégrité(Vrai)&#13;
&#13;
&#13;
////--------------------------------------------------&#13;
//// création réplica transportable ABONNE -&gt; MAITRE -&#13;
////--------------------------------------------------&#13;
// On crée le réplica de la base abonné vers maître pour informer le maître que la MAJ est OK&#13;
HGèreIntégrité(Faux)&#13;
HGèreRéplication(rplRéplicationUniverselle)&#13;
SI PAS HCréeRéplicaTransportable(sRep_abonne+"Replica_REPLICATION_"+gsMesInitiales+".rpl","REPLICATION_"+gsMesInitiales,"","")ALORS&#13;
Erreur("Impossible de créer le réplica transportable.",ErreurInfo(errComplet))&#13;
SINON&#13;
ToastAffiche("Réplica transportable "+RPL.Fichier+" créé avec succès.",toastCourt,cvMilieu,chCentre)&#13;
FIN&#13;
&#13;
HChangeRep("*",gsAdresseFic)&#13;
SI PAS HSynchroniseRéplica(sRep_maitre+"REP_MAITRE.RPM",sRep_abonne+RPL.Fichier,rplVersMaître,rplPlusRécentPrioritaire) ALORS&#13;
Erreur("Impossible de synchroniser l'abonné vers le maître.",ErreurInfo(errComplet))&#13;
SINON&#13;
ToastAffiche("Synchronisation de l'abonné vers le maître réalisée avec succès.",toastCourt,cvMilieu,chCentre)&#13;
FIN&#13;
HGèreIntégrité(Vrai)&#13;
[/code]&#13;
&#13;
J'ai donc voulu créer une fenetre avec 2 selecteurs de fichier pour indiquer le chemin du fichier maitre RPM et local RPL&#13;
J'ai alors l'erreur suivante : Erreur à la ligne 7 du traitement Clic sur BTN_Valider.&#13;
Vous avez appelé la fonction HCréeRéplicaTransportable.&#13;
Nom de fichier invalide : &lt;&gt;&#13;
&#13;
Le code posant problème est el suivant : HCréeRéplicaTransportable(SC_SelecteurFichier.SAI_FIC_Maitre,SC_SelecteurFichier1.SAI_FIC_Abonne,"","")&#13;
&#13;
Je en comprends pas comment faire la création de ce réplica pour permettre la synchro.&#13;
&#13;
Merci de votre aide.&#13;
Cordialement</description><ttl>30</ttl><generator>WEBDEV</generator><language>fr_FR</language><link>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/223277-wd17-replication-universelle-help/read.awp</link><title>[WD17] Replication universelle - HELP</title><managingEditor>moderateur@pcsoft.fr (El moderador)</managingEditor><webMaster>webmaster@pcsoft.fr (El webmaster)</webMaster></channel></rss>
