Page 1 of 1

Demande de fonctionnalités

Posted: October 12th, 2022, 7:37 am
by winephaon
Bonjour comment allez-vous ???
J'ai pu configuré Csweb avec wamp serveur pour développer mon application en local.
Après nous allons utiliser un serveur sur le réseau pour ça. Il y a un informaticien qui va s'en charger
Maintenant le problème est que mon organisation veux utiliser des ordinateurs portables pour la collecte des données. Puisqu'il s'agit d'une collecte de données administratives. Il ya pas mal de données. Il veulent utiliser cspro facile à concevoir. Cependant pour la synchronisation on n'a pas de problème avec Syncdata.
Maintenant syncfile ne marche pas un message d'erreur avec le chemin d'accès pause problème. Lorsque je regarde sur Csweb je me rends compte que le dossier contenant les applications est Un dossier Zip. Comment gérer ce cas.

Merci beaucoup
Mail: dabwil@yahoo.fr

Re: Synchronisation depuis mon PC

Posted: October 13th, 2022, 6:05 am
by htuser
Bonjour,
Maintenant syncfile ne marche pas un message d'erreur avec le chemin d'accès pause problème. Lorsque je regarde sur Csweb je me rends compte que le dossier contenant les applications est Un dossier Zip. Comment gérer ce cas.
Je ne sais pas si tu veux synchroniser l'application sur un ordinateur roulant sur Windows. Si c'est le cas, dans le passe j'ai utilise ce code a travers une function de synchronisation:
if getos()=20 then
            syncapp
();
        else       
        syncfile
(GET, "/apps/IPB_V1.zip","./");
        decompress("IPB_V1.zip","./");
    filedelete (pathconcat(Application,"*.zip"));
    filedelete (pathconcat(Application,"*.csds"));
endif;
IPB_V1 etant le nom de l'application a synchroniser sur Windows.
Laisse moi savoir si cela fonctionne pour toi.

Re: Synchronisation depuis mon PC

Posted: October 21st, 2022, 12:34 pm
by winephaon
Bonjour j'ai essayé c'est très propre.
Ça marche 🤩🤩🤩🤩🤩. Maintenant je voulais solliciter une syntaxe qui permet au superviseur de visualiser la liste des cas de ces enquêtés sur csentry. De pouvoir lancer individuellement chaque cas pour visualiser les données. De pouvoir supprimer un cas sur le serveur.
Merci beaucoup

Re: Demande de fonctionnalités

Posted: October 23rd, 2022, 7:38 pm
by htuser
Bonsoir,
J'ai implemente quelques choses similaires dans le passe en utilisant Sync Univers de la function syncdata (https://www.csprousers.org/help/CSPro/s ... ction.html) et SQL. Et, cela commence des la conception du dictionnaire de l'application principale.
1.- Pour le dictionnaire de l'application principale
1.a) Il faut assigner un code numerique a chaque enqueteur;
1.b) Ce code numerique doit etre le premier Item du record _IDSO;
1.c) Il vous faut aussi assigner un code a chaque superviseur et enregistrer ce code dans un champ du dictionaire de l'application principale de telle sorte que pour chaque enqueteur et pour chaque questionnaire vous avez le code du superviseur;

Optionnellement, vous pouvez aussi avoir un dictionnaire externe au niveau de l'application principale ou vous enregistrez (en utilisant WriteCase) pour chaque questionnaire:
i) Le code de l'enqueteur;
ii) Le numero du questionnaire;
iii) Le code du superviseur;

2.- Au niveau du menu du superviseur;
2.a) Vous devez creer plusieurs fonctions:
2.a.i) Une fonction de synchronisation avec le code de l'enqueteur comme univers;
Pour avoir ce code, vous devez creer une requete SQL
pour selectionner le code de l'enqueteur pour chaque code specifique de superviseurs.
Vous devez enregistrer le resultat de cette requete dans un list et utiliser ce list dans la fonction de synchronisation a travers un boucle qui utilise chaque element de la list comme univers pour la function de synchronisation (syncdata);

2.b) Pour effacer specifiquement un questionnaire, il y a au moins trois(3) methodes dependamment si voulez effacer completement, ou temporairement;
2.b.i) Si vous voulez effacer temporairement un par un, vous devez creer une function ayant une requete SQL update et un argument stockant le key du questionnaire a effacer . Grosso modo Update Cases set deleted =1 where key= argument; Cases etant l'une des tables maitresse du fichier csdb/csdbe.
Pour afficher et selectionner la liste des keys pour tous les questionnaires d'un superviseur, il y a au moins deux methodes:
* la function CSPro native Keylist (https://www.csprousers.org/help/CSPro/k ... ction.html) ;
* Utiliser sqlquery: select key from cases et stocker le resultat dans un list;
Dans les deux cas, il faut utiliser list.show () pour permetre au superviseur de selectionner le questionnaire qu'il souhaite effacer.
2.b.ii) Il faut passer le resultat de l'index du list dans la list des keys pour avoir le key specifique;
2.b.iii) Utiliser ce key comme argument la fonction ayant la requete SQL qui permet de l'effacer;

Optionnellement, vous pouvez utiliser la function delcase de CSPro (https://www.csprousers.org/help/CSPro/d ... ction.html) en lieu et place de sql pour effacer un questionnaire dans la function de l'effacement;

Il est possible aussi d'effacer plusieurs questionnaires d'un seul coup en afficher la liste des keys dans un checkbox par le biais, entre autres, d'HtmlDialog, mais, c'est plus complique...


Si vous utilisez ces explications pour creer un demo a poster sur le forum, peut etre, je pourrai vous aider beaucoup plus.

Bien a vous!