Compartilhar via


Passo a passo: Criando um fluxo de trabalho com formulários de iniciação e associação

Essa explicação passo a passo demonstra como criar um fluxo de trabalho seqüencial básico que incorpora o uso de formulários de associação e de iniciação.Esses são os formulários ASPX que permitem que os parâmetros para ser adicionados a um fluxo de trabalho quando primeiros são associados pelo administrador do SharePoint (o formulário de associação), e quando o fluxo de trabalho é iniciado pelo usuário (o formulário de iniciação).

Essa explicação passo a passo descreve um cenário onde um usuário deseja criar um fluxo de trabalho de aprovação para relatórios de despesas que possui os seguintes requisitos:

  • Quando o fluxo de trabalho é associado a uma lista, o administrador será solicitado a um formulário de associação onde digitem um limite de dólar para relatórios de despesas.

  • Os funcionários usam seus relatórios de despesas para documentos compartilhados listas, começando o fluxo de trabalho, e insira no total de despesas no formulário de iniciação pelo fluxo de trabalho.

  • Se um total de relatório de despesas de funcionários excede o limite predefinido de administrador, uma tarefa é criada para que o gerenciador de funcionários aprove o relatório de despesas.Em o entanto, se o total de relatório de despesas de um funcionário é menor ou igual ao limite de despesas, uma mensagem automática aprovada são gravadas para a lista histórico de fluxo de trabalho.

Essa explicação passo a passo mostra as seguintes tarefas:

  • Criando um fluxo de trabalho seqüencial de definição de lista do SharePoint projeto em Visual Studio.

  • Criando uma agenda de fluxo de trabalho.

  • Eventos de atividade do fluxo de trabalho de manipulação.

  • Criando formulários de associação e de iniciação pelo fluxo de trabalho.

  • Associando o fluxo de trabalho.

  • Iniciando manualmente o fluxo de trabalho.

ObservaçãoObservação

Embora essa explicação passo a passo usa um projeto de fluxo de trabalho seqüencial, o processo é o mesmo para fluxos de trabalho do computador de estado.

Além de isso, seu computador pode mostrar nomes ou locais diferentes para alguns dos elementos de interface de usuário de Visual Studio nas instruções a seguir.A edição de Visual Studio que você tenha e as configurações que você usa determinam esses elementos.Para mais informações, consulte Configurações de Visual Studio.

Pré-requisitos

Para completar este passo-a-passo, são necessários os seguintes componentes:

Criando um projeto de fluxo de trabalho seqüencial do SharePoint

Primeiro, crie um projeto de fluxo de trabalho seqüencial em Visual Studio.Um fluxo de trabalho seqüencial é uma série de etapas que é executado em ordem até que a atividade a última terminar.Em esse procedimento, você criará um fluxo de trabalho seqüencial que se aplica aos documentos compartilhados lista no SharePoint.O assistente de fluxo de trabalho permite que você associe o fluxo de trabalho com o site ou a definição da lista e permite que você determinar quando o fluxo de trabalho iniciará.

Para criar um projeto de fluxo de trabalho seqüencial do SharePoint

  1. Em a barra de menu, escolha Arquivo, Novo, Projeto para exibir a caixa de diálogo de Novo Projeto .

  2. Expanda o nó de SharePoint em Visual C# ou Visual Basic, e então escolha o nó de 2010 .

  3. Em o painel de, escolha Modelos o modelo de projeto Projeto do SharePoint 2010 .

  4. Em a caixa de Nome , entre em ExpenseReport e então escolha o botão de OK .

    Assistente de personalização do SharePoint Aparece.

  5. Em a página de Especificar o site e o nível de segurança para depuração , escolha o botão de opção de Implantar como uma solução de farm , e então escolha o botão de Concluir para aceitar o nível de confiança e o site padrão.

    Esta etapa também define o nível de confiança para a solução como a solução de farm, que é a única opção disponível para projetos de fluxo de trabalho.

  6. Em Gerenciador de Soluções, escolha o nó de projeto.

  7. Em a barra de menu, escolha Projeto, Adicionar novo item.

  8. Em Visual C# ou Visual Basic, expanda o nó de SharePoint , e então escolha o nó de 2010 .

  9. Em o painel de Modelos , escolha o modelo de Fluxo de trabalho seqüencial de farm solução (somente) , e então escolha o botão de Adicionar .

    Assistente de personalização do SharePoint Aparece.

  10. Em a página de Especifique o nome de fluxo de trabalho para depuração , aceite o nome padrão (ExpenseReport - Workflow1).Manter o valor padrão do tipo de modelo de fluxo de trabalho (listar o fluxo de trabalho).Escolha o botão de Avançar .

  11. Em a página de Você tem do Visual Studio para associar automaticamente o fluxo de trabalho em uma sessão de depuração? , desmarque a caixa que associa automaticamente o modelo de fluxo de trabalho se estiver marcado.

    Esta etapa permite associar manualmente o fluxo de trabalho com documentos compartilhados para listar posteriormente, que exibe o formulário de associação.

  12. Escolha o botão de Concluir .

Adicionando um formulário de associação ao fluxo de trabalho

Em seguida, cria um formulário de associação de .ASPX que aparece quando o administrador do SharePoint associa o primeiro fluxo de trabalho com um documento de relatório de despesas.

Para adicionar um formulário de associação ao fluxo de trabalho

  1. Escolha o nó de Workflow1 em Gerenciador de Soluções.

  2. Em a barra de menu, escolha Projeto, Adicionar novo item para exibir a caixa de diálogo de Adicionar novo item .

  3. Em o modo de exibição de árvore da caixa de diálogo, expanda Visual C# ou Visual Basic (dependendo do idioma do projeto), expanda o nó de SharePoint , e então escolha o nó de 2010 .

  4. Em a lista de modelos, escolha o modelo de Formulário de associação de fluxo de trabalho .

  5. Em a caixa de texto de Nome , digite ExpenseReportAssocForm.aspx.

  6. Escolha o botão de Adicionar para adicionar o formulário ao projeto.

Criando e codificando o formulário de associação

Em esse procedimento, você apresenta a funcionalidade para o formulário de associação adicionando controles e codifica-lhe.

Para criar e codificar o formulário de associação

  1. Em o formulário de associação (ExpenseReportAssocForm.aspx), localize o elemento de asp:Content que tem ID="Main".

  2. Diretamente após a primeira linha em esse elemento de conteúdo, adicione o seguinte código para criar um rótulo e a caixa de texto que os avisos para a aprovação de despesas limitam (AutoApproveLimit):

    <asp:Label ID="lblAutoApproveLimit" Text="Auto Approval Limit:" runat="server" />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <asp:TextBox ID="AutoApproveLimit" runat="server" />
    <br /><br />
    
  3. Expanda o arquivo de ExpenseReportAssocForm.aspx em Gerenciador de Soluções para exibir seus arquivos dependentes.

    ObservaçãoObservação

    Se o projeto está em Visual Basic, você deve escolher o botão de exibir todos os arquivos para executar esta etapa.

  4. Abra o menu de atalho para o arquivo de ExpenseReportAssocForm.aspx e escolha Exibir Código.

  5. Substituir o método de GetAssociationData com:

    Private Function GetAssociationData() As String
        ' TODO: Return a string that contains the association data that 
        ' will be passed to the workflow. Typically, this is in XML 
        ' format.
        Return Me.AutoApproveLimit.Text
    End Function
    
    private string GetAssociationData()
    {
        // TODO: Return a string that contains the association data that 
        // will be passed to the workflow. Typically, this is in XML 
        // format.
        return this.AutoApproveLimit.Text;
    }
    

Adicionando um formulário de iniciação pelo fluxo de trabalho

Em seguida, criar o formulário de iniciação que aparece quando os usuários executem o fluxo de trabalho com seus relatórios de despesas.

Para criar um formulário de iniciação

  1. Escolha o nó de Workflow1 em Gerenciador de Soluções.

  2. Em a barra de menus, escolha, Projetoexibição de Adicionar novo item a caixa de diálogo de Adicionar novo item .

  3. Em o modo de exibição de árvore da caixa de diálogo, expanda Visual C# ou Visual Basic (dependendo do idioma do projeto), expanda o nó de SharePoint , e então escolha o nó de 2010 .

  4. Em a lista de modelos, escolha o modelo de Formulário de iniciação pelo fluxo de trabalho .

  5. Em a caixa de texto de Nome , digite ExpenseReportInitForm.aspx.

  6. Escolha o botão de Adicionar para adicionar o formulário ao projeto.

Criando e codificando o formulário de iniciação

Em seguida, apresenta a funcionalidade para o formulário de iniciação adicionando controles e codifica-lhe.

Para codificar o formulário de iniciação

  1. Em o formulário de iniciação por ExpenseReportInitForm.aspx (), localize o elemento de asp:Content que contém ID="Main".

  2. Diretamente após a primeira linha em esse elemento de conteúdo, adicione o seguinte código para criar um rótulo e uma caixa de texto que exibe o limite de aprovação de despesasAutoApproveLimit() que foi conectado no formulário de associação, e outro rótulo e caixa de texto a prompt para o total de despesas (ExpenseTotal):

    <asp:Label ID="lblAutoApproveLimit" Text="Auto Approval Limit:" runat="server" />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <asp:TextBox ID="AutoApproveLimit" ReadOnly="true" runat="server" />
    <br /><br />
    <asp:Label ID="lblExpenseTotal" Text="Expense Total:" runat="server" />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <asp:TextBox ID="ExpenseTotal" runat="server" />
    <br /><br />
    
  3. Expanda o arquivo de ExpenseReportInitForm.aspx em Gerenciador de Soluções para exibir seus arquivos dependentes.

  4. Abra o menu de atalho para o arquivo de ExpenseReportInitForm.aspx e escolha Exibir Código.

  5. Substituir o método de Page_Load com o seguinte exemplo:

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As 
      EventArgs) Handles Me.Load
        InitializeParams()
        Me.AutoApproveLimit.Text = workflowList.WorkflowAssociations(New 
          Guid(associationGuid)).AssociationData
        ' Optionally, add code here to pre-populate your form fields.
    End Sub
    
    protected void Page_Load(object sender, EventArgs e)
    {
        InitializeParams();
        this.AutoApproveLimit.Text = 
          workflowList.WorkflowAssociations[new 
          Guid(associationGuid)].AssociationData;
    }
    
  6. Substituir o método de GetInitiationData com o seguinte exemplo:

    ' This method is called when the user clicks the button to start the workflow.
    Private Function GetInitiationData() As String
        Return Me.ExpenseTotal.Text
        ' TODO: Return a string that contains the initiation data that 
        ' will be passed to the workflow. Typically, this is in XML 
        ' format.
        Return String.Empty
    End Function
    
    // This method is called when the user clicks the button to start the workflow.        
    private string GetInitiationData()
    {
        // TODO: Return a string that contains the initiation data that 
        // will be passed to the workflow. Typically, this is in XML 
        // format.
        return this.ExpenseTotal.Text;
    }
    

Personalizando o fluxo de trabalho

Em seguida, personalizar o fluxo de trabalho.Posteriormente, você associará duas formas ao fluxo de trabalho.

Para personalizar o fluxo de trabalho

  1. Exibir o fluxo de trabalho no designer de fluxo de trabalho abrindo Workflow1 no projeto.

  2. Em Caixa de Ferramentas, expanda o nó de Fluxo de trabalho v3.0 do windows e localize a atividade de IfElse .

  3. Adicionar esta atividade ao fluxo de trabalho executando um das seguintes etapas:

    • Abra o menu de atalho para atividades de IfElse , escolha Copiar, abra o menu de atalho para a linha abaixo da atividade de onWorkflowActivated1 no designer de fluxo de trabalho, e então escolha Colar.

    • Arraste a atividade de IfElse de Caixa de Ferramentas, e conecta-se a linha abaixo da atividade de onWorkflowActiviated1 no designer de fluxo de trabalho.

  4. Em a caixa de ferramentas, expanda o nó de Fluxo de trabalho do SharePoint e localize a atividade de CreateTask .

  5. Adicionar esta atividade ao fluxo de trabalho executando um das seguintes etapas:

    • Abra o menu de atalho para atividades de CreateTask , escolha Copiar, abra o menu de atalho para uma das duas áreas de Atividades de soltar irá dentro de IfElseActivity1 no designer de fluxo de trabalho, e então escolha Colar.

    • Arraste a atividade de CreateTask de Caixa de Ferramentas em uma das duas áreas de Atividades de soltar irá dentro de IfElseActivity1.

  6. Em a janela de Propriedades , insira um valor de propriedade de taskToken para a propriedade de CorrelationToken .

  7. Expanda a propriedade de CorrelationToken escolhendo o sinal de mais (Adição de TreeView) próximo de ele.

  8. Escolha a seta suspensa na propriedade da sub-rotina de OwnerActivityName , e defina o valor de Workflow1 .

  9. Escolha a propriedade de TaskId , e então escolha o botão reticências (Elipse do Mobile Designer do ASP.NET) para exibir a caixa de diálogo de Propriedade da associação deem .

  10. Escolha a guia de Associar a um novo membro , escolha o botão de opção de crie o campo , e então escolha o botão de OK .

  11. escolha a propriedade de TaskProperties , e então escolha o botão reticências (Elipse do Mobile Designer do ASP.NET) para exibir a caixa de diálogo de Propriedade da associação deem .

  12. Escolha a guia de Associar a um novo membro , escolha o botão de opção de crie o campo , e então escolha o botão de OK .

  13. Em Caixa de Ferramentas, expanda o nó de Fluxo de trabalho do SharePoint , e localize a atividade de LogToHistoryListActivity .

  14. Adicionar esta atividade ao fluxo de trabalho executando um das seguintes etapas:

    • Abra o menu de atalho para atividades de LogToHistoryListActivity , escolha Copiar, abra o menu de atalho para outra área de Atividades de soltar irá dentro de IfElseActivity1 no designer de fluxo de trabalho, e então escolha Colar.

    • Arraste a atividade de LogToHistoryListActivity de Caixa de Ferramentas, e soltar-la em outra área de Atividades de soltar irá dentro de IfElseActivity1.

Adicionando código para o fluxo de trabalho

Em seguida, adicione o código ao fluxo de trabalho para fornecer funcionalidade.

Para adicionar código ao fluxo de trabalho

  1. Abra o menu de atalho para atividades de createTask1 no designer de fluxo de trabalho, e então escolha Exibir Código.

  2. Adicione o seguinte método:

    Private Sub createTask1_MethodInvoking(ByVal sender As 
      System.Object, ByVal e As System.EventArgs)
        createTask1_TaskId1 = Guid.NewGuid
        createTask1_TaskProperties1.AssignedTo = "somedomain\\someuser"
        createTask1_TaskProperties1.Description = "Please approve the 
          expense report"
        createTask1_TaskProperties1.Title = "Expense Report Approval 
          Needed"
    End Sub 
    
    private void createTask1_MethodInvoking(object sender, EventArgs e)
    {
        createTask1_TaskId1 = Guid.NewGuid();
        createTask1_TaskProperties1.AssignedTo = "somedomain\\someuser";
        createTask1_TaskProperties1.Description = "Please approve the 
          expense report";
        createTask1_TaskProperties1.Title = "Expense Report Approval 
          Needed";
    } 
    
    ObservaçãoObservação

    Em o código, substitua somedomain\\someuser com um domínio e um nome de usuário para uma tarefa será criada, como, “Office\\JoeSch”.Para testar é mais fácil usar a conta que você está desenvolvendo com.

  3. Abaixo do método de MethodInvoking , adicione o seguinte exemplo:

    Private Sub checkApprovalNeeded(ByVal sender As Object, ByVal e As 
      ConditionalEventArgs)
        Dim approval As Boolean = False
        If (Convert.ToInt32(workflowProperties.InitiationData) > 
          Convert.ToInt32(workflowProperties.AssociationData)) Then
            approval = True
        End If
        e.Result = approval
    End Sub 
    
    private void checkApprovalNeeded(object sender, ConditionalEventArgs 
      e)
    {
        bool approval = false;
        if (Convert.ToInt32(workflowProperties.InitiationData) > 
          Convert.ToInt32(workflowProperties.AssociationData))
        {
            approval = true;
        }
        e.Result = approval;
    } 
    
  4. Em o designer de fluxo de trabalho, escolha a atividade de ifElseBranchActivity1 .

  5. Em a janela de Propriedades , escolha a seta suspensa da propriedade de Condição , e defina o valor de Code Condition .

  6. Expanda a propriedade de Condição escolhendo o sinal de mais (Adição de TreeView) próximo de ele, e defina seu valor para checkApprovalNeeded.

  7. Em o designer de fluxo de trabalho, abra o menu de atalho para atividades de logToHistoryListActivity1 , e então escolha Gerar manipuladores para gerar um método vazio para o evento de MethodInvoking .

  8. Substitua o código de MethodInvoking com o seguinte:

    Private Sub logToHistoryListActivity1_MethodInvoking(ByVal sender As 
      System.Object, ByVal e As System.EventArgs)
        Me.logToHistoryListActivity1.HistoryOutcome = ("Expense was auto 
          approved for " + workflowProperties.InitiationData)
    End Sub 
    
    private void logToHistoryListActivity1_MethodInvoking(object sender, 
      EventArgs e)
    {
        this.logToHistoryListActivity1.HistoryOutcome = "Expense was 
          auto approved for " + workflowProperties.InitiationData;
    } 
    
  9. Escolha a tecla F5 para depurar o programa.

    Isso cria o aplicativo, empacotar-lo, implantá-lo, toggle seus recursos, reciclar-lo o pool de aplicativos de IIS , e a inicia o navegador no local especificado na propriedade de Localize o URL .

Associando o fluxo de trabalho à lista de documentos

Em seguida, exibe o formulário de associação de fluxo de trabalho associando o fluxo de trabalho com a lista de compartilhadoDocumentos no site do SharePoint.

Para associar o fluxo de trabalho

  1. Escolha o link de Documentos Compartilhados na barra de QuickLaunch.

  2. Escolha o link de Biblioteca na guia de Ferramentas de biblioteca e então escolha o botão de fita de Configurações de biblioteca .

  3. Em a seção de permissões e gerenciamento , escolha o link de Configurações de fluxo de trabalho e então escolha o link de Adicione um fluxo de trabalho na página de fluxos de trabalho .

  4. Em a lista superior nas configurações de fluxo de trabalho página, escolha o modelo de ExpenseReport - Workflow1 .

  5. Em o próximo campo, digite em ExpenseReportWorkflow e então escolha o botão de Avançar .

    Isso associa o fluxo de trabalho com a lista de Documentos Compartilhados e exibe o formulário de associação de fluxo de trabalho.

  6. Em a caixa de texto de Aprovação de associação automática 1200, digite e clique no botão de Fluxo de trabalho do associado .

Iniciando o fluxo de trabalho

Em seguida, associa o fluxo de trabalho a um dos documentos na lista de Documentos Compartilhados para exibir o formulário de iniciação pelo fluxo de trabalho.

Para iniciar o fluxo de trabalho

  1. Em a página do SharePoint, escolha o botão de Início .

  2. Escolha o link de Documentos Compartilhados na barra de QuickLaunch para exibir a lista de Documentos Compartilhados .

  3. Escolha o link de Documentos na guia de Ferramentas de biblioteca na parte superior da página, e então escolha o botão de Carregar Documento em fita para carregar um novo documento na lista de Documentos Compartilhados .

  4. Em a caixa de diálogo de Carregar Documento , escolha o botão de Procurar , escolha qualquer arquivo de documento, escolha o botão de Abrir , e então escolha o botão de OK .

    Você pode alterar as configurações do documento em esta caixa de diálogo, mas deixa-as nos valores padrão escolhendo o botão de Salvar .

  5. Escolha o documento carregado, escolha a seta suspensa que aparece, e então escolha o item de fluxos de trabalho .

  6. Escolha a imagem ao lado de ExpenseReportWorkflow.

    Isso exibe o formulário de iniciação pelo fluxo de trabalho.(Observe que o valor exibido na caixa de Aprovação de associação automática é somente leitura porque foi inserido no formulário de associação.)

  7. Em a caixa de texto, digite Total de despesas de 1600, e então escolha o botão de Fluxo de trabalho de Início .

    Isso exibe a lista de Documentos Compartilhados novamente.Uma nova coluna chamada ExpenseReportWorkflow com o valor Concluído é adicionada ao item que o fluxo de trabalho foi iniciado logo.

  8. Escolha a seta suspensa próxima de documento carregado e então escolha o item de fluxos de trabalho para exibir a página de status de fluxo de trabalho.Escolha o valor de Concluído em Fluxos de trabalho concluído.A tarefa é listada na seção de Tarefas .

  9. Escolha o título de tarefa exibir os detalhes da tarefa.

  10. Volte à lista de compartilhadoDocumentos e reinicie o fluxo de trabalho, usando o mesmo documento ou diferente.

  11. Insira um valor na página de iniciação que é menor ou igual a quantidade inserida na página de associação (1200).

    Quando isso ocorre, uma entrada na lista histórico é criada em vez de uma tarefa.Exibe a entrada na seção de Histórico de fluxo de trabalho da página do status de fluxo de trabalho.Observe a mensagem a coluna de resultado de evento histórico.Contém o texto inserido no evento de logToHistoryListActivity1.MethodInvoking incluindo a quantidade que foi automática aprovada.

Próximas etapas

Você pode aprender mais sobre como criar modelos de fluxo de trabalho de esses tópicos:

Consulte também

Tarefas

Passo a passo: Adicionar uma página de aplicativo para um fluxo de trabalho.

Outros recursos

Criação de soluções de fluxo de trabalho do SharePoint