Visualisation des données pour un seul menu avec 2 dictionnaires externes

Other discussions about CSPro
Post Reply
nimbona
Posts: 24
Joined: June 2nd, 2018, 2:43 pm

Visualisation des données pour un seul menu avec 2 dictionnaires externes

Post by nimbona » September 15th, 2020, 6:58 am

Bonjour chers utilisateurs de CSPRO,
J'ai besoin de votre aide et je vous remercie d'avance.J'utilise souvent un dictionnaire externe et je parviens à récupérer les données. Mais maintenant que j'utilise 2 dictionnaires externes,après envoi des données par les enquêteurs qui utilisent les androîd pour collecter, je ne trouve que les données pour le premier dictionnaire externe seulement. Je ne sais pas ce qui se passe pour le second dictionnaire. De plus, quand je fais le téléchargement de nouveaux formulaires,j'obtiens ce message: "error downloading file D"MAYENGO/MAYENGO.pff":check that the file exists on the server, that the path is correct and that you have permission to read the file.

Je vous montre en bas les configurations que j'ai faites au niveau du menu pour m'aider à avancer:

{Application 'MENU' logic file generated by CSPro}
PROC GLOBAL
numeric a=1, b = 2;
function synchronization(action)
if action=a then
if syncconnect(Dropbox)=1 then
syncdata(PUT,MAYENGO_DICT);
syncdata(PUT,LISTMAYENGO_DICT);
syncdisconnect();
endif;


elseif action=b then
if syncconnect(Dropbox)=1 then
syncfile(GET,"D:\MAYENGO/MAYENGO.pff","MAYENGO.pff" );
syncfile(GET,"D:\MAYENGO/MAYENGO.pen","MAYENGO.pen");
syncfile(GET,"D:\MAYENGO/LISTMAYENGO.pff","LISTMAYENGO.pff" );
syncfile(GET,"D:\MAYENGO/LISTMAYENGO.pen","LISTMAYENGO.pen");
syncfile(GET,"D:\MAYENGO/MENU.pff","MENU.pff");
syncfile(GET,"D:\MAYENGO/MENU.pen","MENU.pen");
syncdisconnect();

endif;
endif;
end;



function launchMAYENGODataEntry()
string pathToEntryMAYENGO = "MAYENGO.pff";
if execpff(pathToEntryMAYENGO, stop) = notappl then errmsg("Echec de lancement");
endif; end;

function launchLISTMAYENGODataEntry()
string pathToEntryLISTMAYENGO = "LISTMAYENGO.pff";
if execpff(pathToEntryLISTMAYENGO , stop) = notappl then errmsg("Echec de lancement");
endif; end;

PROC MENU_FF
preproc
userbar(clear);
userbar( add button,"Envoyer données au Serveur", synchronization(a));
userbar( add button,"Télécharger les nouveaux formulaires", synchronization(b));
userbar(add spacing,50); userbar(show);
PROC MENU_ID

if $ =2 then launchMAYENGODataEntry(); else launchLISTMAYENGODataEntry(); endif;

Gregory Martin
Posts: 1347
Joined: December 5th, 2011, 11:27 pm
Location: Washington, DC

Re: Visualisation des données pour un seul menu avec 2 dictionnaires externes

Post by Gregory Martin » September 15th, 2020, 8:47 am

Regarding the data in your second dictionary, LISTMAYENGO_DICT, you should confirm that:

1) It is a CSPro DB file. That is the file type that supports data sync.
2) That there is data in the file.

The sync functions will show you errors when there are problems with the synchronization, so if there is an error during the sync of the second file, you should get a message.

Regarding the files, the path you give must be the path that exists on Dropbox. So, you may have your D:\ drive linked to Dropbox on your local machine, but that is now how it will appear on Dropbox. I would view your files on Dropbox.com to see what the correct directory structure is.

---

Concernant les données de votre deuxième dictionnaire, LISTMAYENGO_DICT, vous devez confirmer que:

1) Il s'agit d'un fichier CSPro DB. C'est le type de fichier qui prend en charge la synchronisation des données.
2) Qu'il y a des données dans le fichier.

Les fonctions de synchronisation vous montreront des erreurs en cas de problème de synchronisation, donc s'il y a une erreur lors de la synchronisation du deuxième fichier, vous devriez recevoir un message.

En ce qui concerne les fichiers, le chemin que vous donnez doit être le chemin qui existe sur Dropbox. Ainsi, votre lecteur D:\ est peut-être lié à Dropbox sur votre ordinateur local, mais c'est maintenant ainsi qu'il apparaîtra sur Dropbox. Je consulterais vos fichiers sur Dropbox.com pour voir quelle est la structure de répertoire correcte.

josh
Posts: 2247
Joined: May 5th, 2014, 12:49 pm
Location: Washington DC

Re: Visualisation des données pour un seul menu avec 2 dictionnaires externes

Post by josh » September 15th, 2020, 9:06 am

Pour la premiere question je ne suis pas sur mais il se peut que dans le pff de votre program principal le chemin vers le fichier de donnees du deuxieme dictionnaire n'est pas le meme que dans l'application de saisie. Sinon, il faudra voir dans le fichier sync.log pour les erreurs pendant la synchonisation.

Pour la deuxieme question le probleme c'est les arguments dans la fonction syncfile. Le premiere chemin doit etre un chemin local sur la tablette et le deuxieme chemin c'est le chemin du fichier sur le serveur. Si vous etes sur Android alors, le chemin qui commence avec "D:\" ne sera pas valide car c'est un chemin Windows. Je crois le premier chemin sera simplement "MAYENGO.PFF" pour sauvgarder le fichier dans le meme dossier que votre application sur la tablette. Le deuxieme chemin dependra d'ou vous avez mis les fichiers dans le Dropbox. Le chemin sera relatif au dossier Dropbox donc si dans Dropbox vous avez le fichier "Dropbox/MAYENGO/MAYENGO.PFF" alors mettez

Code: Select all

syncfile(GET,"MAYENGO.pff","MAYENGO/MAYENGO.pff" );
Si vous utilisez la version CSPro 7.4 ou plus vous pouvez passer la fonction syncapp() qui simplifie la mise a jour des applications. https://www.csprousers.org/help/CSPro/s ... ction.html

Post Reply