Partager via


Procédure : Accès aux données d'un formulaire de flux de travail dans un flux de travail

Lorsque vous créez une tâche de flux de travail, ses données de propriétés proviennent d'un objet SPWorkflowTaskProperties, accessible par la propriété TaskProperties de l'activité CreateTask. Cet objet contient des informations standard pour chaque tâche de flux de travail, ainsi que les propriétés personnalisées contenues dans le schéma de tâche. En initialisant la variable d'objet SPWorkflowTaskProperties que vous spécifiez pour la propriété TaskProperties, vous pouvez utiliser les données de tâche passées au flux de travail.

Notes

L'objet SPWorkflowTaskProperties accessible par la propriété TaskProperties contient simplement des informations d'initialisation sur la tâche venant d'être créée ; il n'est pas dynamiquement lié à la tâche elle-même d'une quelconque manière. Les modifications apportées à la tâche ne sont pas reflétées dans les données stockées dans cet objet SPWorkflowTaskProperties.

L'objet SPWorkflowTaskProperties contient un ensemble de propriétés standard pour chaque tâche de flux de travail dans Windows SharePoint Services, notamment AssignedTo, DueDate, StartDate et TaskType.

En outre, l'objet contient également une table de hachage, représentée par la propriété ExtendedProperties, pour stocker des propriétés de tâches personnalisées. Vous pouvez accéder à une propriété spécifique en passant le nom de la propriété sous forme d'index pour la propriété ExtendedProperties.

Microsoft Office SharePoint Server 2007 nomme chaque valeur de données personnalisées dans la table de hachage en fonction du champ de tâche qui contient les données. Par exemple, si un champ de texte dans votre tâche de flux de travail se nomme commentaires, le nom d'index des données de ce champ dans la table de hachage de la propriété ExtendedProperties est aussi commentaires.

Notes

La table de hachage ExtendedProperties est remplie avec des champs standard et des champs personnalisés. Cependant, les champs de type tâche de flux de travail standard sont représentés par des index GUID, et non par leurs noms, pour éviter tout conflit de noms avec des champs personnalisés de même nom. Nous vous conseillons d'accéder aux champs de tâches de flux de travail standard par leurs propriétés respectives, et non par la table de hachage ExtendedProperties.

En général, liez la propriété TaskProperties de chaque activité associée à une tâche à la variable d'objet que vous avez définie pour la propriété TaskProperties de l'activité CreateTask qui a créé cette tâche spécifique. Cette variable d'objet sert de conduit pour passer les données dans la tâche.

Pour plus d'informations sur la définition de propriétés d'activité, voir Windows Workflow Foundation SDK.

Les données d'un formulaire de tâche de flux de travail Microsoft Office InfoPath ne sont pas directement passées dans le flux de travail, comme c'est le cas des formulaires d'association ou d'initialisation de flux de travail. Le formulaire de tâche change plutôt les champs correspondant au schéma de formulaire dans l'élément de tâche directement ; ces modifications ne sont passées dans le flux de travail que si le flux de travail attend un événement OnTaskChanged. Pour recevoir des données d'un formulaire InfoPath, vous avez besoin d'une activité de récepteur d'événement pour l'événement correspondant, tel que OnTaskChanged. L'objet SPWorkflowTaskProperties lié à la propriété AfterProperties de l'objet OnTaskChanged stocke les champs de la tâche qui ont changé (et seulement ceux qui ont changé). Par défaut, un formulaire InfoPath modifie la tâche en utilisant les champs qui correspondent au schéma du formulaire.

Accéder aux données du formulaire d'une tâche de flux de travail dans un flux de travail

  • Si les données proviennent d'un champ de tâche de flux de travail standard, accédez-y à l'aide de la propriété applicable de l'objet SPWorkflowTaskProperties.

    Par exemple, supposons que vous définissez la propriété AfterProperties de l'activité OnTaskChanged pour votre tâche de flux de travail à une variable d'objet SPWorkflowTaskProperties nommée wfTaskProps. Pour accéder à la propriété AssignedTo, vous y référez dans votre code de la manière suivante :

    wfTaskProps.AssignedTo.ToString()
    

    Si les données proviennent d'un champ personnalisé, accédez-y en utilisant le nom de champ comme valeur d'index pour la propriété ExtendedProperties de l'objet SPWorkflowTaskProperties.

    Par exemple, pour accéder à une propriété personnalisée nommée comments, faites-y référence dans votre code de la manière suivante :

    wfTaskProps.ExtendedProperties["comments"].ToString()
    

Voir aussi

Autres ressources

Formulaires InfoPath pour flux de travail
Formulaires d'association et d'initialisation de flux de travail (Office SharePoint Server 2007)
Fiches tâche de flux de travail (Office SharePoint Server 2007)
Procédure : concevoir un formulaire InfoPath pour un flux de travail dans Office SharePoint Server 2007
Procédure : concevoir un formulaire de tâche de flux de travail pour utiliser des données de tâche