Page 2 sur 2

Publié:
13 Sep 2009 à 22:41
par Michael DELIQUE
Me tente pas !
bon j'ai fais autrement, je recherche si l'utilisateur est dans un champ, ca limite le résultat...

Publié:
13 Sep 2009 à 23:07
par Jérome Deniau
Ce que tu peux faire: vue catégorisé sur ledit user (catégorie multiple) et tu utilises un createnavfromcategory.....

Publié:
14 Sep 2009 à 07:04
par Michael DELIQUE
je modifie de l'existant donc je ne refais pas tout

Publié:
15 Jan 2010 à 17:57
par albert.coeffard
Je profite de ce post pour le relancer j'ai exactement les mêmes problèmes, l'objectif étant de mettre à jour des structures de dossiers issus de modèles partagés devenant privé à la première connection.
script est à lancer par l'utilisateur afin de mettre à jour les structures de ses dossiers privés
J'ai donc fait un agent déclenché sur un queryclose de la base sur condition d'évolution de version (Prendre le titre de la base en référant et l'héberger dans une variable d'environnement)
Si le titre de la base est différent de la variable d'environnement on met à jour sinon on ne fait rien.
Le script:
Il fait l'inventaire des modèles, les renomme afin de les distinguer des dossiers privés portant le même nom, puis les passe en partagés, un getview d'un dossier partagé devenant privé n'étant pas possible. On recherche les vues privés on recrée une structure privée d'après
le modèle du dossier correspondant, on y colle les anciens liens, puis on supprime l'ancien dossier privé. Au final on renomme les modèles comme à l'origine et on les repasse partagés devenant privés, pour les utilisateurs ne s'étant jamais connecté.
Je m'appuie sur la bib DBdesign, et il me reste un hic, c'est que ne pouvant créé par script le dossier d'après un modèle désigné, je fais une vue d'après un modèle et je tente désespérément de transformer cette vue en dossier, j'ai essayé de jouer sur le $Flag en le passant à "3pFY", mais visblement ça ne suffit pas est ce qu'il y a un autre champ à modifier?

Publié:
16 Jan 2010 à 21:42
par Michael DELIQUE
salut
tu as pensé a supprimer la version privé dans les desktop ?

Publié:
18 Jan 2010 à 09:21
par albert.coeffard
Salut,
A priori la version privée doit être dans la base, puisque les modèles qu'on paramètre sont Partagé devenant Privé à la première ouverture et non: Partagé Devenant Privé Bureau à la première ouverture, j'ai banni ce genre de config, l'accès au Desktop, depuis qu'il s'agit d'un .ndk étant une vraie galère. J'ai avancé depuis Vendredi, il semblerait que mon problème soit lié à updall des vues, la vue nouvellement créée(celle que je veux transformer en dossier) ne doit pas apparaitre dans la liste des vues de la base et ne peux donc pas être instanciée (Je ne rentre pas dans ma boucle de comparaison, si nom de vue = ancien nom du dossier privé). En pas à pas ça fonctionne...

Publié:
18 Jan 2010 à 12:42
par albert.coeffard
Mon problème vient du fait que la liste des vues ne s'actualise pas, la vue nouvellement créée ne figure pas dans listeVue , j'ai essayé de simuler un Ctrl+Shift+F9 pas mieux, idem avec une tempo de 30 secondes.
- Code : Tout sélectionner
Set NewView = session.CurrentDatabase.CreateView(TitreDossier,NewShareFolder,,False)
listeVue=db_Structure.viewDocuments
Forall nomvue In listeVue 'On recherche la vue pour la transformer en dossier privé
subj = nomvue.getitemvalue("$TITLE")
If subj(0)= TitreDossier Then 'Le test ne retourne rien <------------------- A VOIR !!!
'On transforme la vue en dossier privé
Titre=nomvue.GetItemValue("$Flag")
Print Titre(0)
Set itemA=nomvue.ReplaceItemValue("$Flag","3pFYVP")'dossierperso
Titre=nomvue.GetItemValue("$Flag")
Print Titre(0)
Call nomvue.save(False, True)
Titre=nomvue.GetItemValue("$Flag")
Print Titre(0)
End If
End Forall

Publié:
18 Jan 2010 à 13:45
par albert.coeffard
C'est bon il suffisait de réinstancier db_Structure, je l'utilisais en début de code avant la création de la vue