Compartilhar via


Adicionar um fluxo de trabalho a um Suplemento do SharePoint hospedado pelo SharePoint

Este é o sexto de uma série de artigos sobre as noções básicas de desenvolvimento de Suplementos do SharePoint hospedados pelo SharePoint. Primeiro, você deve estar familiarizado com Suplementos do SharePoint e os artigos anteriores dessa série, que você pode encontrar em Introdução à criação de Suplementos do SharePoint hospedados pelo SharePoint | Próximas etapas.

Observação

É recomendável que o Microsoft Power Automate seja usado em aplicativos e automação de processos. A partir do Visual Studio 2022, os modelos de fluxo de trabalho foram removidos dos Projetos de Suplemento do SharePoint. Para obter mais informações, consulte Diretrizes: migrar de fluxos de trabalho clássicos para fluxos do Power Automate no SharePoint

Dica

Se você trabalhou com esta série sobre suplementos hospedados pelo SharePoint, você terá uma solução do Visual Studio que pode ser usada para continuar com este tópico. Você também pode baixar o repositório em SharePoint_SP-hosted_Add-Ins_Tutorials e abrir o arquivo BeforeWorkflow.sln.

Neste artigo, você adiciona um fluxo de trabalho ao Suplemento do SharePoint Orientação do Funcionário, que notifica o departamento de recursos humanos (RH) de que um novo funcionário está pronto para preencher a documentação do RH.

Adicionar um fluxo de trabalho a um suplemento

  1. No Gerenciador de Soluções, clique com o botão direito do mouse no projeto e selecione Adicionar>Nova Pasta. Nomeie a pasta Fluxos de trabalho.

  2. Clique com o botão direito na nova pasta e selecione Adicionar>Novo Item. A caixa de diálogo Adicionar Novo Item é aberta para o nó Office/SharePoint.

  3. Selecione Fluxo de trabalho e escolha o nome HR_Intake. Quando solicitado para selecionar o tipo de fluxo de trabalho, escolha Fluxo de trabalho de listae selecione Avançar.

  4. Na próxima página do assistente, habilite a opção Sim, associar... e configure os controles do menu suspenso para os seguintes valores:

    • A biblioteca ou lista às quais associar seu fluxo de trabalho: Novos Funcionários em Seattle
    • A lista do histórico: <create new>
    • A lista de tarefas: <create new>
  5. Selecione Avançar.

  6. Na última página do assistente, habilite somente a opção para iniciar automaticamente o fluxo de trabalho quando um item for alterado.

  7. Selecione Concluir.

    As Office Developer Tools para Visual Studio farão o seguinte:

    • Criar um fluxo de trabalho HR_Intake na pasta Fluxo de trabalho, com o arquivo filho Workflow.xaml que é aberto no designer de fluxo de trabalho.
    • Criar uma instância de lista WorkflowTaskList em que as tarefas que fazem parte do fluxo de trabalho são criadas e atualizadas.
    • Criar uma instância de lista WorkflowHistoryList, que é um log das várias etapas em cada execução do fluxo de trabalho conforme elas ocorrem.

Projetar o fluxo de trabalho

O fluxo de trabalho envia um email para notificar a um membro do RH que o novo funcionário terminou o estágio de orientação Tour de construção e está pronto para preencher a documentação de admissão do RH. Qualquer alteração em um item existente na lista New Employees in Seattle aciona o fluxo de trabalho, mas o fluxo de trabalho não faz nada a menos que o campo Orientation Stage do item da lista esteja definido como HR paperwork. Se estiver, um email é enviado para um membro do RH e uma tarefa para esse funcionário é adicionada à WorkflowTaskList.

Observação

Em vários momentos ao projetar seu fluxo de trabalho, um símbolo de diamante azul com um ponto de exclamação nele ( uma pequena forma de diamante azul com um ponto de exclamação branco nele. ) aparecerá em um ou mais itens no designer de fluxo de trabalho. Esses são erros temporários do relatório. (Passe o cursor sobre o símbolo para ver uma breve mensagem ou procure na Lista de Erros do Visual Studio para obter detalhes.) Estes são efeitos colaterais da incompletude do fluxo de trabalho. Todos devem desaparecer quando você terminar esse procedimento.

  1. Abra o painel Caixa de Ferramentas no Visual Studio, expanda o nó SP - List e arraste LookupSPListItem para a Sequência no designer.

  2. Selecione LookupSPListItem para que suas propriedades apareçam no painel Propriedades do Visual Studio. Defina as propriedades a seguir com estes valores:

    • ItemID: (item atual)
    • ListID: (lista atual)
    • DisplayName: LookupCurrentNewEmployee

    Agora o painel Propriedades deve ter a seguinte aparência:

    Figura 1. Painel propriedades do LookupSPListItem

    O painel Propriedades da atividade Pesquisar Item de Lista do fluxo de trabalho com as propriedades ItemID, ListID e DisplayName definidas.

  3. Selecione qualquer lugar fora do painel para salvar suas alterações. Agora a superfície do designer deve se parecer com o seguinte.

    Figura 2. Sequência no designer de fluxo de trabalho

    O designer de fluxo de trabalho com a caixa Sequência e, dentro dela, a atividade Pesquisar Novo Funcionário Atual.

  4. Selecione o link Obter Propriedades dentro da (recém-renomeada) atividade LookupCurrentNewEmployee no designer. Isso adiciona automaticamente a atividade GetDynamicValueProperties na sequência.

  5. Selecione o texto Definir... na atividade GetDynamicValueProperties . Isso abre a caixa de diálogo Propriedades.

  6. Defina o Tipo de Entidade como Item de Lista delist_instance_name, em que list_instance_name são Novos Funcionários em Seattle.

  7. Na coluna Caminho, selecione a célula superior e escolha Orientation Stage no menu suspenso.

  8. Selecione a célula abaixo dela e escolha Empregado na lista suspensa.

  9. Selecione Preencher Variáveis. Isso cria as variáveis OrientationStage e Título e atribui a cada uma os valores de campos correspondentes no item atual da lista Novos Funcionários em Seattle. Agora a caixa de diálogo Propriedades deve ter a seguinte aparência:

  10. Selecione OK. Agora a superfície do designer deve se parecer com o seguinte:

    Figura 4. Designer de fluxo de trabalho

    O designer de fluxo de trabalho com duas atividades: Pesquisar Item de Lista e Obter Valores Dinâmicos.

  11. Abra o painel Caixa de Ferramentas no Visual Studio, expanda o nó Fluxo de Controle e arraste If na parte inferior da Sequência abaixo de GetDynamicValueProperties.

  12. Na caixa Condição de If, insira OrientationStage=="HR paperwork".

  13. Abra o painel Caixa de Ferramentas no Visual Studio, expanda o nó SP - Utilities e arraste Email para a caixa Then da atividade If.

  14. Selecione a atividade Email. No painel Propriedades, defina os valores das propriedades Corpo, Assunto e Para. Em cada caso, escolha o botão de chamada . . . para a propriedade e use o Editor de Expressão que é aberto para definir o valor da propriedade como na tabela a seguir. Existem expressões de cadeias de caracteres de C#, portanto, use as aspas exatamente como mostrado. A variável Title é uma que você atribuiu anterior para o campo Título do item da lista (que contém o nome do funcionário).

    • Corpo:Title + " is waiting in the lobby to fill out benefits and employment forms."
    • Assunto:Title + " is ready for HR paperwork"
    • Para:new System.Collections.ObjectModel.Collection<string>() {"your_O365_email"}

    Substitua o espaço reservado, your_O365_email, pela identidade que você usa para entrar na sua conta de desenvolvedor do Office 365, tal como *alias*@*O365domain*.sharepoint.com. Essa é uma cadeia de caracteres de C# que deve estar entre aspas.

  15. Abra o painel Caixa de Ferramentas no Visual Studio, expanda o nó Tempo de Execução e arraste TerminateWorkflow para a caixa Else da atividade If.

  16. Selecione a atividade TerminateWorkflow e, no painel Propriedades, defina o Motivo como o seguinte, incluindo as aspas: "Not at HR paperwork stage.". Agora o designer deve se parecer com o seguinte:

    Figura 5. Designer de fluxo de trabalho quando o fluxo de trabalho é concluído

    O designer de fluxo de trabalho com as atividades para

Executar e testar o suplemento

  1. Use a tecla F5 para implantar e executar o suplemento. O Visual Studio faz uma instalação temporária do suplemento em seu site de teste do SharePoint e executa o suplemento imediatamente. O console do Host de Serviço de Teste do Gerenciador de Fluxo de Trabalho também é aberto.

  2. Quando a página padrão do suplemento abrir, abra um dos itens para edição e defina o valor de Orientation Stage como HR paperwork.

    No console do Host de Serviço de Teste, aparece uma indicação de que o fluxo de trabalho foi iniciado. Logo em seguida há uma indicação de que o fluxo de trabalho foi concluído. Este é um exemplo:

    Figura 6. Console do Host de Serviço de Teste

    A janela de Host de Serviço de Teste do fluxo de trabalho com uma linha dizendo que o fluxo de trabalho foi iniciado, seguido por uma linha informando que foi concluído. O GUID da instância do fluxo de trabalho está no início de cada linha.

    Observação

    Se o console do Host do Serviço de Teste não for aberto, talvez seja necessário habilitar a depuração do fluxo de trabalho. Clique com botão direito do mouse no nome do projeto no Gerenciador de Soluções e selecione Propriedades. Abra a guia SharePoint no painel Propriedades e marque a caixa de seleção Habilitar depuração de fluxo de trabalho.

  3. Vá para a caixa de entrada de email (Outlook) da sua conta de desenvolvedor do Office 365. Haverá um email com o assunto "Funcionário está pronto para a documentação do RH" em que Funcionário é o nome do funcionário cujo item que você editou. O corpo do e-mail diz que "O funcionário está esperando no lobby para preencher benefícios e formulários de emprego." Veja a seguir um exemplo:

    Figura 7. Email enviados pelo fluxo de trabalho

    Uma mensagem de email no Outlook do fluxo de trabalho com o assunto

    Dica

    Se o fluxo de trabalho começar mas nunca for concluído e o email não for enviado, tente encerrar a sessão de depuração e pressione F5 novamente por algumas vezes antes de concluir que algo está errado em seu código. Às vezes o problema está no SharePoint Online. Se você ainda estiver com problemas, tente adicionar um tipo de conteúdo chamado ListFieldsContentType, se ainda não houver um, na seção ContentTypes do arquivo Schema.xml. Veja a seguir um exemplo da marcação:

    <ContentType ID="0x0100781dd48170b94fdc9706313c82b3d04c" Name="ListFieldsContentType" Hidden="TRUE"></ContentType>

    Copie toda a seção FieldRefs do tipo de conteúdo NewEmployee para esse novo tipo de conteúdo. Salve o projeto, cancele-o e tente F5 novamente.

  4. Para encerrar a sessão de depuração, feche a janela do navegador ou interrompa a depuração no Visual Studio. Sempre que você seleciona F5, o Visual Studio retira a versão anterior do suplemento e instala a versão mais recente.

  5. Você lidará com esse suplemento e com a solução do Visual Studio em outros artigos, e recomenda-se retirar o suplemento uma última vez quando for deixar de trabalhar com ele por algum tempo. Clique com botão direito do mouse no projeto no Gerenciador de Soluções e escolha Retirar.

Próximas etapas

No próximo artigo desta série, você adicionará um estilo e uma página personalizada a um Suplemento do SharePoint hospedado pelo próprio SharePoint.