Formularios de tareas de flujo de trabajo (SharePoint Foundation)

Última modificación: viernes, 30 de mayo de 2008

Hace referencia a: SharePoint Foundation 2010

En este artículo
Tipos de contenido para las tareas de flujo de trabajo
Especificación de los tipos de contenido para las tareas de flujo de trabajo
Procesamiento de formularios de tareas de flujo de trabajo

Puede especificar formularios personalizados para las tareas del flujo de trabajo. Debido a que las tareas son elementos de SharePoint a los que se asigna un tipo de contenido, será el tipo de contenido el que determine los formularios personalizados que se usarán con el tipo de tarea.

Tipos de contenido para las tareas de flujo de trabajo

De forma predeterminada, a todos los tipos de tareas de SharePoint se les asignan tipos de contenido. Si no se asigna de forma específica un tipo de contenido a un tipo de tarea, al tipo de tarea se le asignará el tipo de contenido básico de tarea. Todos los tipos de contenido de tipo tarea deben estar basados en el tipo de contenido básico WorkflowTask.

Para obtener más información sobre los tipos de contenido básicos, consulte Jerarquía de tipos de contenido base.

Para un tipo de contenido, puede especificar formularios personalizados de creación, edición y presentación. Microsoft SharePoint Foundation usa cualquier formulario personalizado que se haya especificado para el tipo de contenido de tarea apropiado cuando muestra una tarea de flujo de trabajo.

Nota

Para simplificar la programación, se recomienda que los programadores creen tipos de contenidos para sus tipo de tareas, y que cada esquema de tipo de contenido para la tarea coincida exactamente con el esquema del formulario de tareas de edición designado. Este enfoque proporciona una asignación de propiedades uno a uno, y elimina la necesidad de analizar el campo de propiedades extendido para extraer valores adicionales.

Especificación de los tipos de contenido para las tareas de flujo de trabajo

Puede especificar el tipo de contenido para una tarea de flujo de trabajo de una de estas dos maneras.

Para usar un único tipo de contenido para todos los tipos de tareas de flujo de trabajo

  1. En la definición del tipo de contenido de la tarea, agregue un elemento XMLDocument que especifique los formularios de presentación y/o edición personalizados, si lo desea. Este elemento XMLDocument debe adherirse al esquema FormTemplates. Defina los formularios de presentación y/o edición con el siguiente valor:

    <Edit>WkTaskIP.aspx</Edit>
    <Display>WkTaskIP.aspx</Display>
    

    Para obtener más información sobre la especificación de formularios personalizados para tipos de contenido, consulte Introducción al esquema FormUrls.

  2. En la definición de la plantilla de flujo de trabajo, establezca TaskListContentTypeId del elemento Workflow con el identificador del tipo de contenido que desea asignar a todos los tipos de tareas de flujo de trabajo. Por ejemplo:

    TaskListContentTypeId="0x01080100C9C9515DE4E24001905074F980F93160"  
    

Para usar un tipo de contenido diferente para cada tipo de tarea de flujo de trabajo

  1. En la definición de tipo de contenido del tipo de contenido de la tarea, agregue un elemento XMLDocument que especifique los formularios de presentación y/o edición personalizados, si lo desea. Este elemento XMLDocument debe adherirse al esquema FormTemplates. Establezca los formularios de presentación y/o edición con el siguiente valor:

    <Edit>WkTaskIP.aspx</Edit>
    <Display>WkTaskIP.aspx</Display>
    

    Para obtener más información sobre la especificación de formularios personalizados para tipos de contenido, consulte Introducción al esquema FormUrls.

  2. Use la actividad de flujo de trabajo CreateTaskWithContentType para crear la tarea en el flujo de trabajo. Use la propiedad TaskId para establecer el identificador de la tarea, y la propiedad ContentTypeId para especificar el tipo de contenido de la tarea.

Tipos de tarea de flujo de trabajo

Para identificar el tipo de tarea que crea el flujo de trabajo, se asigna un identificador entero a cada tipo de tarea en dicho flujo de trabajo. El primer tipo de tarea es 0, el segundo 1, etc. Esto le permite asignar diferentes tipos de contenido, y diferentes formularios, a cada tipo de tarea. Estos identificadores de tipos de tareas deben ser únicos sólo dentro de un determinado flujo de trabajo. Por ejemplo, cualquier flujo de trabajo que cree una tarea tiene un tipo de tarea 0; sin embargo, el tipo de tarea no tiene que ser el mismo en todos los flujos de trabajo.

Cuando un usuario hace clic en el vínculo para editar una tarea, SharePoint Foundation examina la definición de la plantilla de flujo de trabajo para determinar el tipo de contenido de la tarea. A continuación, examina la definición del tipo de contenido para determinar si se ha especificado un formulario de edición personalizado para este tipo de contenido. Si es así, SharePoint Foundation muestra el formulario especificado. Si no se ha especificado ningún formulario de edición personalizado, SharePoint Foundation muestra su representación predeterminada del formulario de edición.

Para obtener más información sobre la definición del tipo de contenido, consulte Definiciones de tipo de contenido.

Tipos de formularios personalizados de tipo de contenido

Puede especificar dos tipos de formularios personalizados para tipos de contenido:

  • Plantillas de formularios, que son controles .asmx que representan la sección central de una página web de SharePoint; todo, excepto los elementos de marco de SharePoint (normalmente denominados "contenedor visual") en la página. SharePoint Foundation representa el contenedor visual para la página.

    Para obtener más información, consulte Introducción al esquema FormTemplates.

  • Páginas del formulario, que son páginas .aspx que reemplazan toda la página predeterminada de SharePoint, incluidos los elementos de marco SharePoint: el "contenedor visual" de SharePoint. Para páginas del formulario, debe proporcionar todos los vínculos de navegación y demás elementos que desee que se encuentren normalmente en el contenedor visual de SharePoint.

    Para obtener más información, consulte Introducción al esquema FormUrls.

Procesamiento de formularios de tareas de flujo de trabajo

Cuando un usuario hace clic en el vínculo para editar una tarea, SharePoint Foundation debe determinar el tipo de contenido del tipo de tarea. Si la tarea se generó mediante la actividad de flujo de trabajo CreateTaskWithContentType el tipo de contenido se especifica en esa actividad. De lo contrario, SharePoint Foundation examina la definición de la plantilla de flujo de trabajo para determinar el tipo de contenido de la tarea.

SharePoint Foundation examina a continuación la definición del tipo de contenido para determinar si se ha especificado un formulario de edición personalizado para este tipo de contenido. Si es así, SharePoint Foundation muestra el formulario especificado.

El programador de flujo de trabajo es responsable de los datos que se pasan inicialmente al formulario de tareas y de las acciones que suceden cuando el usuario envía el formulario. Por ejemplo, el programador podría programar el formulario para recuperar el contenido de la propiedad Xml de SPListItem que representa la tarea y usar dicha información como un origen de datos. SharePoint Foundation siempre pasa la tarea XML al formulario como un origen de datos secundario.

De forma similar, cuando se envía el formulario, se recomienda que el formulario llame al método AlterTask pasando el objeto SPListItem y los datos actualizados como parámetros. SharePoint Foundation genera un evento OnTaskChanged cuando se llama a este método. Para controlar este evento, agregue una actividad de evento OnTaskChanged al flujo de trabajo.

Vea también

Conceptos

Introducción a los formularios de flujo de trabajo

Formularios de inicio y de asociación de flujo de trabajo (Sharepoint Foundation)

Formularios de modificación de flujo de trabajo (SharePoint Foundation)