demarche création "worflow"

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

demarche création "worflow"

Messagepar cyril08 » 19 Jan 2011 à 11:38

j'ai deja posé plusieurs questions à propos de mon worflow mais j'ai beaucoup de difficulté.

j'ai lu pas mal de tutoriel mais cela ne fonctionne pas.

Pour les confirmés de la création de worflow, pourriez vous m'indiquer la démarche a suivre notamment au niveau des formules de masquages qui me pose énormément de problémes.

je vous joint une image, dsl pour la taille je comprend pas pourquoi elle s'agrandit comme sa.

merci d'avance
cyril08
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 349
Inscrit(e) le : 22 Nov 2010 à 17:11

Messagepar Michel Nico » 19 Jan 2011 à 12:01

Dans tes formules de masquage faut-il que tu prenne en compte le rôle aussi (ce rôle est bien un rôle associé aux personnes dans la LCA ?) ?

Oublie pas que ta formule de masquage masque les champs quand elle est vraie.

Pour le bouton modifier ta formule sera par exemple :
STATUS!="en attente de contrôle" & STATUS!="Analyse contrôlée"

ou aussi
!(STATUS="en attente de contrôle" | STATUS="Analyse contrôlée")

Oublies pas de bien mettre les parenthèses pour tes priorités et de bien connaitre ton algèbre de boole aussi
Michel Nico
Posteur néophyte
Posteur néophyte
 
Message(s) : 60
Inscrit(e) le : 18 Jan 2011 à 17:19
Localisation : Toulouse

Messagepar Steph_ » 19 Jan 2011 à 12:02

j'aurais dit workflow, mais bon .. :roll:

déjà pour commencer, j'utiliserais un champ avec une valeur simple pour l'étape, 1 2 3 4, et pas "en cours d'analyse" ou des machins comme ça

et tu incrémentes ce champ avec le bouton qui le valide en fonction du statut de ton doc
Avatar de l’utilisateur
Steph_
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 354
Inscrit(e) le : 24 Nov 2005 à 20:06
Localisation : Besançon

Messagepar amahi » 19 Jan 2011 à 12:02

Bonjour,

As tu creer des roles?
Qu'est ce qui te pose problèmes dans les formules de masquage?
@Novaliance
amahi
Empereur des posts
Empereur des posts
 
Message(s) : 1032
Inscrit(e) le : 08 Jan 2007 à 16:57
Localisation : Region parisienne

Messagepar Steph_ » 19 Jan 2011 à 12:06

et après tu jongles avec

@IsMember("[controleur]";@UserRoles)

ou

@IsNotMember("[controleur]";@UserRoles)
Avatar de l’utilisateur
Steph_
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 354
Inscrit(e) le : 24 Nov 2005 à 20:06
Localisation : Besançon

Messagepar cyril08 » 19 Jan 2011 à 13:52

Ninoubdf a écrit:Dans tes formules de masquage faut-il que tu prenne en compte le rôle aussi (ce rôle est bien un rôle associé aux personnes dans la LCA ?) ?

Oublie pas que ta formule de masquage masque les champs quand elle est vraie.

Pour le bouton modifier ta formule sera par exemple :
STATUS!="en attente de contrôle" & STATUS!="Analyse contrôlée"

ou aussi
!(STATUS="en attente de contrôle" | STATUS="Analyse contrôlée")

Oublies pas de bien mettre les parenthèses pour tes priorités et de bien connaitre ton algèbre de boole aussi


Oui bien entendu j'ai un role a prendre en compte en plutot trois, mais chacun de ses membres sont les memes pour valideur/controleur/auteur

merci pour les conseils
cyril08
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 349
Inscrit(e) le : 22 Nov 2010 à 17:11

Messagepar cyril08 » 19 Jan 2011 à 14:50

Je me suis placé dans le cas LCA : Auteur avec option "créer des documents" coché.
Dans ma LCA j'ai trois roles :
[CONTROLEURS] : Auteur avec option "créer des documents" coché
[AUTEURS] : Auteur avec option "créer des documents" coché
Les AUTEURS et CONTROLEURS sont les memes membres

[VALIDEUR] : gestionnaire qui possede les trois roles.

J'ai plusieurs soucis :
le bouton modifier n'est jamais visible.
le bouton analyse controler est toujours visible


voici mes @formules :

1) les champs

Champ Auteur1 :
Code : Tout sélectionner
@Name([CN];@UserName);
@Left(@Word(@Name([CN];@UserName); " ";1);1) +@Text(". ") +@Word(@Name([CN];@UserName); " ";2)


Champ Controleur1 :
....

Champ Valideur1 :
.....

Champ STATUS :
Code : Tout sélectionner
@If(STATUS="" ; "En cours de création";STATUS)


2) les boutons :
a)enregistrer
Code : Tout sélectionner
FIELD STATUS := "En Attente Contrôle";
@PostedCommand([FileSave])


masquage:
Code : Tout sélectionner
STATUS != "En cours de création"


b)modifier
Code : Tout sélectionner
@PostedCommand([EditDocument])


masquage:
Code : Tout sélectionner
STATUS != "en attente de contrôle"  & STATUS != "Analyse contrôlée"


c) controler
Code : Tout sélectionner
FIELD STATUS := "Analyse Validée";
FIELD Valideur1 := @Left(@Word(@Name([CN];@UserName); " ";1);1) +@Text(". ") +@Word(@Name([CN];@UserName); " ";2);
FIELD Date_Validation := @Now;
@PostedCommand([FileSave]);


masquage :
Code : Tout sélectionner
@IsNotMember("[CONTROLEURS]";@UserRoles) & STATUS != "En attente contrôle"



d)valider
Code : Tout sélectionner
FIELD STATUS := "Analyse Validée";
FIELD Valideur1 := @Left(@Word(@Name([CN];@UserName); " ";1);1) +@Text(". ") +@Word(@Name([CN];@UserName); " ";2);
FIELD Date_Validation := @Now;
@PostedCommand([FileSave]);
@Command([FileCloseWindow])


masquage :
Code : Tout sélectionner
@IsNotMember("[VALIDEUR]";@UserRoles) & STATUS != "Analyse Contrôlée"


Aprés il me reste ensuite a implenté le fait que seul lorsque le masque est a l'état "en attente controleur" il peut rester dans cette état si le doc n'est pas satisfaisant. Un autre bouton pilotera cette action qui avertira automatiquement par mail Auteur1
cyril08
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 349
Inscrit(e) le : 22 Nov 2010 à 17:11

Messagepar Michel Nico » 19 Jan 2011 à 15:58

Vérifie la casse de tes formules : a plein d'endroit tu est en majuscule et à d'autres non.
Pour vérifier tes formules et savoir pourquoi un champ s'affiche ou pas, mets un computed text sur ta page et mets comme valeur ta formule de masquage. Tu peux alors modifier cette formule jusqu'à ce que tu arrive au bon masquage.
affiche aussi un computed text qui reprends le champ STATUS et qui te permettra de voir exactement comment il s'écrit.

Steph avais raison quand il t'as dit de choisir un statut plus simple lors du stockage (1, 2 ,3 ou 10, 20, 30) afin que tes formules de masquage soient plus claires et tu peux lors de l'affichage remplacer ces valeurs "fonctionnelles" par un texte compréhensible par les utilisateurs.
Michel Nico
Posteur néophyte
Posteur néophyte
 
Message(s) : 60
Inscrit(e) le : 18 Jan 2011 à 17:19
Localisation : Toulouse

Messagepar Michael DELIQUE » 19 Jan 2011 à 16:14

salut

afin d'éviter tout pb il faut faire la différence entre

le code de l'etat (qui va servir pour le dev) et le libelle de l'état
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar roubech » 19 Jan 2011 à 23:34

1°) je crois qu'il y a eu confusion sur la notion de rôle.
Un rôle est une notion liée à la LCA, dans l'onglet correspondant.
Quand, dans la LCA tu affectes un rôle à un utilisateur ou un groupe d'utilisateur, il a ce rôle quelque soit les documents de la base. Et tu le récupères avec @UserRoles
Je crains que dans ton cas, vue que tu as un champ pour stocker le nom de chacun de ces utilisateurs, le valideur soit différent d'un doc à l'autre.
Peux-tu préciser ce point ?
de ça dépend si ton masquage utilisera @UserRoles ou tes champs

2°) c'est quoi cette formule pour découper le nom de l'utilisateur pour renseigner les champs Auteur1, Controleur1 et Valideur1 ? J'ai l'impression que tu cherche à séparer le prenom du nom. Comme ça, c'est hasardeux. Si tu as un prénom composé ou un nom avec particule (ex: Jean Paul VAN DER BERGHE)
Si tu veux utiliser un champ pour identifier un utlisateur pour lui conférer des droits particulier à certaines étapes du workflow, il faut que le champ soit de type Nom et qu'il contienne un nom Notes, par exemple, le résultat de @UserName (pas juste le CN)

3°) pour le format de ton image, tu peux dire comment tu fais car j'ai pas l'impression que ce soit l'image qui est agrandie (zoomée), mais plutôt une image avec trop de blanc à droite et en dessous
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar cyril08 » 24 Jan 2011 à 08:11

roubech a écrit:1°) je crois qu'il y a eu confusion sur la notion de rôle.
Un rôle est une notion liée à la LCA, dans l'onglet correspondant.
Quand, dans la LCA tu affectes un rôle à un utilisateur ou un groupe d'utilisateur, il a ce rôle quelque soit les documents de la base. Et tu le récupères avec @UserRoles
Je crains que dans ton cas, vue que tu as un champ pour stocker le nom de chacun de ces utilisateurs, le valideur soit différent d'un doc à l'autre.
Peux-tu préciser ce point ?
de ça dépend si ton masquage utilisera @UserRoles ou tes champs

2°) c'est quoi cette formule pour découper le nom de l'utilisateur pour renseigner les champs Auteur1, Controleur1 et Valideur1 ? J'ai l'impression que tu cherche à séparer le prenom du nom. Comme ça, c'est hasardeux. Si tu as un prénom composé ou un nom avec particule (ex: Jean Paul VAN DER BERGHE)
Si tu veux utiliser un champ pour identifier un utlisateur pour lui conférer des droits particulier à certaines étapes du workflow, il faut que le champ soit de type Nom et qu'il contienne un nom Notes, par exemple, le résultat de @UserName (pas juste le CN)

3°) pour le format de ton image, tu peux dire comment tu fais car j'ai pas l'impression que ce soit l'image qui est agrandie (zoomée), mais plutôt une image avec trop de blanc à droite et en dessous


1°) je pense avoir bien distinguer la notion de roles LCA mais je me suis peut etre mal exprimé dsl. Concernant le valideur, il n'est pas forcemment different d'un document a l'autre, c'est aléatoire. Au niveau du stockage de auteurs, controleurs et valideurs je ne sias pas comment faire autrement

2°) ce decoupage me permet de reduire la taille du champ qui est affiché dans une vue par la suite. la forme est C.BERNIER par exemple
concernant le CN je ne sais pas trop comment sa tourne malgré l'aide. Je n'ai pas d'exemple concret dns mes donnée

3°)en fait je fai des imprime ecran que je colle dans paint et que jenregistre en JPEG
cyril08
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 349
Inscrit(e) le : 22 Nov 2010 à 17:11

Messagepar Steph_ » 24 Jan 2011 à 11:18

pour savoir qui a fait quoi tu devrais te créer 3 champs :
auteur
valideur
controleur

et dans le bouton qui valide chaque étape tu ajoutes, par exemple

@SetField(valideur; @Name([CN];@Username)

comme ça tu récupères le nom du valideur
Avatar de l’utilisateur
Steph_
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 354
Inscrit(e) le : 24 Nov 2005 à 20:06
Localisation : Besançon

Messagepar roubech » 24 Jan 2011 à 21:37

1°)
a) si tu as quelques valideurs et que chacun peut valider n'importe quel doc, alors tu peux utiliser affecter un role dans la LCA pour ces utilisateurs et utiliser @UserRoles dans la formule de masquage du bouton Valider. Ton champ Valideur te permet alors lors du clic sur le bouton d'action de mémoriser lequel de tes valideurs a validé et de l'afficher ensuite dans le doc et/ou la vue.
b) si au contraire, tu as besoin que pour chaque rédacteur, l'auteur puisse choisir (et imposer) la personne qui devra valider, alors le role ne t'apporter rien et il faudra que l'auteur renseigne le champ Valideur en sélectionnant le Valideur dans l'annuaire dans l'annuaire d'entreprise ou dans une liste de paramétrage.

2°)
si tu es dans le cas a) tu stockes le nom du valideur comme tu veux, ce n'est que de l'affichage. Mais pour le peu qu'on te demande une information complète, pour un audit ou autre, il est toujours préférable de stocker le @UserName dans ton champ Valideur. Quitte à cacher ce champ Valideur et à afficher un champ calculé l'affichage avec @Name([CN]; Valideur) ou ta formule. Idem dans la vue. Après, on peut optimiser les perf en stockant ce 2ème champ plutôt que de le recalculer à chaque fois dans la vue et à l'affichage du doc ...

si tu es dans le cas b) pour comparer le user courant avec le user choisit par l'auteur dans le champ Valideur, il vaut mieux comparer des noms complets pour éviter tout risque d'homonymie. (je n'ai rencontré ce cas qu'une fois en 11 ans de carrière, même prénom et nom, la seule chose qui change c'était l'OU, car un presta et un interne. t'es content de l'avoir prévu et de pas devoir tout refaire). Apres, meme principe que le cas a) pour le 2ème champ pour l'affichage.

Pour @Name, qu'est ce que tu ne comprend pas dans l'aide ?
http://publib.boulder.ibm.com/infocente ... _NAME.html
@Name([CN]; "Mary Tsen/Acme/US") retourne "Mary Tsen"
après, tu peux faire des tests pour voir ce que donne une fonction si tu ne comprend pas l'aide
Si tu t'appelles "Paul DURAND" et que ton ID Notes est "Paul DURAND/SOCIETE/FR" alors @Name([CN]; @UserName) retourne "Paul DURAND"

3°)
si ta résolution d'écran est 1680x1050 et que tu utilises la touche IMP ECR, tu obtiens une image de 1608x1050
Pour faire une capture d'écran la la boite de dialogue de propriété, ça fait un peut grand !
Soit ensuite dans Paint tu utilises l'outil de sélection pour ne prendre que la zone de l'écran qui t'intéresse et donc tu copie cette zone et tu l'as colle dans une nouvelle image. Mais si la nouvelle image vide est trop grande, avant de coller le contenu de ton presse papier, pense à diminuer les dimension à l'aide du menu image\attirbut. Tu peux choisir 100x100 pour l'image vide, et au moment où tu colles, l'image s'agrandie pour s'adapter à la taille du presse papier (mais pas dans l'autre sens, l'image ne retrécie pas)
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille


Retour vers Développement

cron