Bonjour,
Je suis actuellement en train de développer une appli console (utilisée en tâche planifiée) qui me permet de valider automatiquement une tâche dans mon workflow de demande de congés. Pour faire court, le workflow comprend 2 étapes: une étape pour
la validation RH et une autre pour la validation du manager.
Lorsque un utilisateur fait une demande, une tâche est créée par le biais du workflow et est assignée au service RH. Mon appli console tourne toutes les nuits et check si des tâches sont anciennes de 8 jours. Si c'est le cas, j'essaie de les valider
par code:
Hashtable ht = new Hashtable();
ht[SPBuiltInFieldId.Completed] = true;
ht["Completed"] = true;
ht[SPBuiltInFieldId.PercentComplete] = 1.0f;
ht["PercentComplete"] = 1.0f;
ht["Status"] = "Terminé";
ht[SPBuiltInFieldId.TaskStatus] = SPResource.GetString(new CultureInfo((int)task.Web.Language, false), Strings.WorkflowStatusCompleted, new object[0]);
ht[SPBuiltInFieldId.WorkflowOutcome] = "Terminé";
ht["FormData"] = SPWorkflowStatus.Completed;
ht["Statut Validation RH"] = "Accepté";
ht["Commentaires RH"] = "Validation automatique du service RH.";
SPWorkflowTask.AlterTask(task, ht, true);
La validation fonctionne bien, en revanche mon workflow ne va pas plus loin...
J'ai remarqué que selon les personnes qui sont à l'origine de la demande, le workflow continue ou pas.
Est-ce un problème de droits? Et où les paramétrer? Ou alors, il y a quelque chose qui cloche ou qui manque dans le code de la validation de la tâche?
PS: L'autre tâche est créée et assignée au manager grâce à la condition du workflow:
Si Tâches de flux de travail:Statut Validation RH
est égal à
Accepté
Merci d'avance!
Jay