- Visão geral
- Texto Explicativo
- Complex Scenarios
- Credenciais
- Data Service
- Notas de versão
- Sobre o pacote de atividades Data Service
- Compatibilidade do projeto
- Criar Gravação de Entidade
- Excluir Registro de Entidade
- Obter Registro de Entidade Por Id
- Consultar Registros de Entidade
- Atualizar Registro de Entidade
- Carregar Arquivo no Campo de Registro
- Baixar arquivo do Campo de Registro
- Excluir Arquivo do Campo de Registro
- Criar Vários Registros de Entidade
- Atualizar Vários Registros de Entidade
- Excluir Vários Registros de Entidade
- Formulário
- Notas de versão
- Compatibilidade do projeto
- Formulários em tempo real
- Atualização de dados do formulário
- Execução de formulários usando JavaScript
- Personalização de formulários usando CSS
- Componentes condicionais
- Adição de vários componentes na mesma linha em Colunas
- Como usar o componente Data Table
- Get File/Folder Path
- Leitura de valores de célula de um componente de Grade de Dados
- Exibição de arquivos PDF
- Exibição de imagens em formulários
- Rolagem através de grades de dados
- Uso de ferramentas de desenvolvimento com formulários
- Calcular valores do componente do formulário
- Como gerenciar datas em formulários
- Como abrir hiperlinks dentro de formulários
- Exibição de uma guia padrão em formulários
- Exibição do rótulo completo de um componente
- Como pesquisar strings longas em listas suspensas
- Sobre a experiência pré-23.4 do Form
- Compatibilidade do Projeto
- Formulários em tempo real
- Caixas de seleção dinâmicas
- Menus suspensos condicionais
- Exibindo uma guia padrão
- Exibição de imagens
- Exibição de arquivos PDF
- Exibição do rótulo completo
- Elementos HTML dinâmicos
- Gerenciamento de datas
- Como pesquisar strings longas em menus suspensos
- Personalização de formulários usando arquivos CSS locais
- Execução do bloco Fazer durante alteração de caixa de seleção
- Personalização da largura de colunas
- Atualização de dados do formulário
- Redefinição de dados da coleção
- Lógica Avançada
- Execução do bloco Fazer durante alteração de opção em menu suspenso
- Leitura de valores de célula de um componente de Grade de Dados
- Componentes condicionais
- Rolagem através de componentes de Grade de Dados
- Como usar o componente de Grade
- Ferramentas de Desenvolvedor
- Valor Calculado
- Menus suspensos dinâmicos
- Como alternar abas com um clique de botão
- Como abrir hiperlinks dentro de formulários
- FTP
- IPC
- Persistence
- Notas de versão
- Compatibilidade do projeto
- Sobre o pacote de atividades Persistence
- Bulk Form Designer
- Start Job And Get Reference
- Wait for Job and Resume
- Add Queue Item And Get Reference
- Wait For Queue Item And Resume
- Wait for Form Task and Resume
- Resume After Delay
- Assign Tasks
- Create External Task
- Wait For External Task and Resume
- Complete Task
- Forward Task
- Get Form Tasks
- Get Task Data
- Add Task Comment
- Update Task Labels
- Criar tarefa do aplicativo
- Wait For App Task and Resume
- Trabalhando com tarefas de aplicativo
- Criando sua primeira ação de formulário
- Controles avançados para menus suspensos
- Incorporando objetos em ações de formulário
- Permitindo que usuários baixem arquivos para o bucket de armazenamento
- Adicionando lógica avançada usando Java Script
- Configurando uma guia padrão
- Removendo o botão Excluir de Editar grade usando CSS personalizado
- Personalização de modelos de Editar grade
- Uso de botões para disparar uma lógica personalizada
- Usando um layout de formulário externo
- Expansão dinâmica de componentes do formulário no runtime
- Amostras de Fluxos de Trabalho
- Pipelines do Automation Ops
- System
- Notas de versão
- Sobre o pacote de atividades System
- Compatibilidade do projeto
- Assistente do Construtor RegEx
- É Correspondência de Texto
- Encontrar Padrões Correspondentes
- Modify Text
- Modify Date
- Replace Matching Patterns
- Text to Left/Right
- Adicionar Coluna de Dados
- Add Data Row
- Criar Tabela de Dados
- Clear Data Table
- Get Row Item
- Update Row Item
- Merge Data Table
- Output Data Table
- Remove Data Column
- Remove Data Row
- For Each Row in Data Table
- Generate Data Table From Text
- Create List
- Append Item to List
- Read List Item
- Update List Item
- Add Log Fields
- Comentar / Atividades desabilitadas
- Comentar
- Change Type
- Mensagem do Log
- Remove Log Fields
- Invoke Com Method
- Format Value
- Lookup Data Table
- Filtrar Tabela de Dados
- Sort Data Table
- Remove Duplicate Rows
- Join Data Tables
- Report Status
- Anexar Linha
- Compress/Zip Files
- Copy File
- Copy Folder
- Create Folder
- Create File
- Excluir
- File Exists
- Folder Exists
- Extract/Unzip Files
- Wait for Download
- File Change Trigger
- For Each File In Folder
- For Each Folder in Folder
- Delete File
- Delete Folder
- Move File
- Move Folder
- Rename Folder
- Rename File
- Path Exists
- Ler Arquivo de Texto
- Gravar Arquivo de Texto
- Get File Info
- Get Folder Info
- Get Processes
- Get Username/Password
- Kill Process
- Beep
- Get Environment Folder
- Get Environment Variable
- Invoke Power Shell
- Input Dialog
- Caixa de Mensagem
- Browse for file
- Pesquisar pasta
- Invoke VBScript
- Process End Trigger
- Process Start Trigger
- File Change Trigger v3
- Trigger Scope
- Repeat Number Of Times
- Colocar todo o texto em Maiúscula/Minúscula
- Set Environment Variable
- For Each
- Break / Exit Loop
- Tentar Escopo Novamente
- Check True
- Check False
- Workflow Placeholder
- Invocar Arquivo de Fluxo de Trabalho
- Launch Workflow Interactive
- Invoke Code
- Continue / Skip Current
- Multiple Assign
- Invocar Processo
- Run Parallel Process
- While
- Do While
- Repeat Number Of Times
- Raise Alert
- Orchestrator HTTP Request
- Get Asset
- Get Credential / Get Orchestrator Credential
- Set Asset
- Set Credential
- Get Jobs
- Get Current Job Info
- Iniciar Trabalho
- Parar Tarefa
- Add Queue Item
- Add Transaction Item
- Delete Queue Items
- Get Queue Items
- Obter item de transação
- Postpone Transaction Item
- Set Transaction Progress
- Set Transaction Status
- Should Stop
- Wait Queue Item
- Bulk Add Queue Items
- Write Storage Text
- Upload Storage File
- List Storage Files
- Read Storage Text
- Download Storage File
- Delete Storage File
- Entrada Personalizada
- Append Item to Collection
- Build Collection
- Collection to DataTable
- Exists In Collection
- Filter Collection
- Merge Collections
- Remove From Collection
- Reset Timer
- Resume Timer
- Start Timer
- Stop Timer
- Timeout Scope
- Manual Trigger
- When New Item Added to Queue
- Parar Gatilhos Locais
- Executar Gatilhos Locais
- Repetir gatilho
- Gatilho de Tempo
- Desabilitar Gatilho Local
- Habilitar Gatilho Local
- Notify Global Variable Changed
- Gatilho de variável global alterada
- Extrair Texto
- Localizar e substituir
- Retornar
- Extrair data e hora de um texto
- Alterar formatação para texto
- Add or Subtract from Date
- Baixar arquivo da URL
- Formatar data como texto
- Dividir texto
- Combinar texto
- Add Data Row
- AddQueueItem
- Add Transaction Item
- Anexar Linha
- BulkAddQueueItems
- Clear Data Table
- Compactar Arquivos ZIP
- Copy File
- Create File
- Create Folder
- Delete File or Folder
- Delete Queue Items
- Delete Storage File
- Download Storage File
- ExtractUnzip Files
- Filtrar Tabela de Dados
- Get Asset
- Get Credential
- GetJobs
- Get Queue Item
- GetQueueItems
- Obter recurso para caminho local
- Get Row Item
- Obter item de transação
- Invocar Processo
- Join Data Tables
- List Storage Files
- Lookup Data Table
- Merge Data Table
- Move File
- Orchestrator HTTP Request
- OutputDataTable
- Path Exists
- Postpone Transaction Item
- Read Storage Text
- Ler Arquivo de Texto
- Remove Data Column
- Remove Duplicate Rows
- Substituir
- Set Asset
- Set Credential
- SetTransactionProgress
- Set Transaction Status
- Sort Data Table
- Iniciar Trabalho
- Parar Tarefa
- Update Row Item
- Upload Storage File
- Wait Queue Item
- Write Storage Text
- Gravar Arquivo de Texto
- Teste
- Notas de versão
- Compatibilidade do projeto
- Sobre o pacote de atividades Testing
- O nome do caso de teste não é exclusivo no projeto
- Convenção de nomenclatura do caso de teste quebrada
- Verificações ausentes dentro do caso de teste
- Fluxos de trabalho não testados
- Test Manager conectado
- Simulação não usada
- Caso de teste sem anotações
- Caso de teste/fluxo de trabalho muito complexo
- O caso de teste possui muitas ramificações
- Configurações do projeto
- Add Test Data Queue Item
- Address
- Attach Document
- Bulk Add Test Data Queue Items
- Delete Test Data Queue Items
- Get Test Data Queue Item
- Get Test Data Queue Items
- Given Name
- Sobrenome
- Random Date
- Random Number
- Random String
- Random Value
- Verify Control Attribute
- Verify Expression
- Verify Expression with Operator
- Verify Range
- Address
- Add Test Data Queue Item
- Attach Document
- Bulk Add Test Data Queue Items
- Delete Test Data Queue Items
- Get Test Data Queue Item
- Get Test Data Queue Items
- GivenName
- Sobrenome
- Random Date
- Random Number
- Random String
- Random Value
- VerifyAreEqual
- VerifyAreNotEqual
- VerifyContains
- Verify Expression
- Verify Expression with Operator
- VerifyIsGreater
- VerifyIsGreaterOrEqual
- VerifyIsLess
- VerifyIsLessOrEqual
- VerifyIsRegexMatch
- Verify Range
- Workflow Events
- Workflow Foundation
VisualizarTrabalhando com tarefas de aplicativo
Este tutorial orienta você pelo processo de criação de uma tarefa do aplicativo, que envolve as seguintes fases:
- Criar uma definição de ação e carregá-la no Action Center.
- Desenvolvendo um aplicativo de ação dentro do Apps, e configurando os campos para cada propriedade definida na definição da ação.
- Publicar o aplicativo e criar um fluxo de trabalho no Studio Web ou no Studio Desktop usando a atividade Create App Task .
- Prepare a definição da ação:
- Comece adicionando uma chave de abertura para indicar o início do objeto JSON.
- Dentro do objeto JSON, defina as propriedades
Name
eDescription
como strings, junto com seus valores."Name": "Validate Document", "Description": "Validate and approve invoice",
"Name": "Validate Document", "Description": "Validate and approve invoice", - Adicione uma propriedade
Allowed Actions
como uma matriz de strings para especificar as ações permitidas que você pode realizar no final da ação. Os valores devem ser equivalentes a Complete ou Recusar."AllowedActions": [ "Yes", "No" ],
"AllowedActions": [ "Yes", "No" ], - Adicione uma propriedade
Schema
e atribua a ela um objeto que siga o padrão do Esquema JSON:http://json-schema.org/draft-07/schema#
."Schema": { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object",
"Schema": { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", - Dentro do objeto
properties
, defina cada propriedade que você deseja incluir no esquema. Para cada propriedade, especifique seutype
edescription
.Cada propriedade noSchema
é equivalente aos campos de entrada que você adicionará na ação do aplicativo."properties": { "Description": { "type": "string", "direction": "in", "description": "Validation message" }, "invoice_document": { "type": "string", "direction": "in", "description": "Document file." }, "Comments": { "type": "string", "direction": "inout", "description": "Approval or rejection comments" } }
"properties": { "Description": { "type": "string", "direction": "in", "description": "Validation message" }, "invoice_document": { "type": "string", "direction": "in", "description": "Document file." }, "Comments": { "type": "string", "direction": "inout", "description": "Approval or rejection comments" } }Observação: se a propriedadedirection
não estiver definida, então o valor padrão para ela éinout
(In/Out
). - Se determinadas propriedades forem necessárias, inclua uma matriz
required
, na qual você lista as propriedades que deseja marcar como obrigatórias na ação. - Feche o objeto JSON adicionando uma chave de fechamento.
- Carregue a definição da ação para o Action Center:
- Abra o Action Center, navegue até Configurações de administrador e selecione Tenant.
- Na guia Definições de ação , selecione Adicionar definição de ação.
- Selecione Baixar exemplo de definição de ação para baixar um exemplo de esquema JSON para ajudar você a preparar a definição de ação.
- Selecione Importar do arquivo e selecione o arquivo JSON que você preparou anteriormente.
- Insira um nome e descrição apropriados para a definição da Ação e, em seguida, selecione Criar.
Os aplicativos criados usando uma integração para ações são projetados para serem utilizados dentro de fluxos de trabalho de longa duração e os usuários finais podem acessar esses aplicativos apenas por meio da interação com as ações geradas.
- Abra o Apps dentro da organização onde você carregou as definições de ação.
- Crie um aplicativo do zero ou escolha um modelo pré-fabricado que se adeque às suas necessidades.
- Ao lado de Adicionar controle, selecione Adicionar qualquer e, então, selecione Ação.
Esta etapa permite que você especifique a definição de ação para este aplicativo. Para este exemplo, estamos usando a definição da ação
Validate Document
. - Selecione o tenant no qual você carregou anteriormente a definição da ação e selecione Avançar.
- No lado esquerdo da caixa de diálogo Adicionar ação , selecione a definição de ação que você criou e clique em Adicionar.
Acesse Referenciar uma definição de ação em seu aplicativo para saber mais sobre o uso de definições de ação com seus aplicativos de Ação.
- Agora, você pode começar a adicionar controles ao aplicativo.
Certifique-se de que os nomes dos controles do aplicativo se alinhem precisamente aos nomes usados no esquema JSON da definição da ação. Por exemplo, se você incluir um controle do Visualizador de documentos para exibir a propriedade
invoice_document
da definição da ação, nomeie o controleinvoice_document
.Os parâmetros de entrada ou saída de uma ação podem ser associados a qualquer controle de aplicativo, usando a seguinte sintaxe:Actions.<referenced_action_name>.<action_parameter_name>
- Crie uma página em branco e adicione um Layout a ela.
- Dentro do Layout, adicione um Contêiner, onde você pode adicionar a caixa de texto e os controles de imagem para exibir o nome do cliente e o logotipo da empresa que está validando o documento.
- Dentro do Layout, adicione um Contêiner, onde você coloca o controle do Visualizador de documentos .
- Crie uma variável chamada
var_invoice_file
e a adicione como origem do controle do Visualizador de documentos . - Adicione outro contêiner dentro do Layout, no qual você possa adicionar uma Área de texto à esquerda. Como o tipo de texto Padrão na seguinte expressão:
Actions.Validate_Document.Comments
. - Adicione dois controles Botão responsáveis por concluir a ação e configure uma regra para enviar a ação, correspondendo ao
Allowed Actions
especificado na definição da ação:- Acesse Eventos e selecione Criar regra.
- No menu de lista suspensa selecione Enviar ação.
- Em Resultado da ação, selecione a ação permitida que você deseja que o botão acione quando clicado:
Yes
ouNo
.
Acesse Regra: enviar ação para saber mais sobre essa regra específica.
- Estabeleça um link para um compartimento de armazenamento do qual você carregará o documento antes de encaminhá-lo como parte da ação.
- Publique o aplicativo, tornando-o acessível para uso dentro dos fluxos de trabalho do Studio.
Acesse Publicação de um aplicativo de ação para saber mais sobre o processo de publicar um aplicativo de ação.
Crie um fluxo de trabalho no Studio Web ou no Studio Desktop para baixar um documento de fatura de uma conta do Google Drive. Faça o upload do documento baixado para o bucket de armazenamento associado ao seu aplicativo de Ação. Depois, adicione uma atividade de Ação do usuário/Ação doaplicativo para exibir o documento específico para aprovação ou rejeição do usuário. Atribua a tarefa a um usuário, aguarde a conclusão da ação e retome o fluxo de trabalho. Registra uma mensagem detalhando a decisão de validação do usuário para o documento.
- Crie um novo projeto no Studio.
- Adicione uma atividade Download File .
- Estabeleça uma conexão com o Google Drive dentro da atividade.
- No campo Arquivo a baixar , especifique o nome do arquivo que deseja baixar.
- Na seção Saída , crie uma variável para armazenar o arquivo baixado.
Para este exemplo, nomeie a variável
downloadFile
.
- Adicione uma atividade Carregar arquivo de armazenamento para carregar o arquivo para o bucket de armazenamento associado ao seu aplicativo de Ação.
- Em Caminho da pasta do Orchestrator e Nome do bucket de armazenamento, escolha o caminho da pasta do Orchestrator e o bucket de armazenamento em que deseja carregar o arquivo.
- No campo Arquivo , insira a variável onde você armazenou o arquivo que você baixou.
Para este exemplo, insira
downloadFile
. - No campo Onde carregar/Caminho , insira a expressão
downloadFile.FullName.toString
para salvar o arquivo no bucket de armazenamento.Dica: Você pode armazenar essa expressão em uma variável.
- Adicione uma atividade Create App Task para criar a ação.
- Defina Título e Prioridade de acordo.
- Para Apps, selecione o aplicativo de Ação criado anteriormente no tutorial.
- Preencha os campos gerados com as variáveis apropriadas.
- Na seção Saída , crie uma variável
UserActionData
para armazenar os dados relacionados à ação gerada.Neste exemplo, nomeie a variável comotaskID
.
- Adicione uma atividade Assign Tasks para atribuir a tarefa a um usuário dentro da organização.
- No campo ID da tarefa , insira uma expressão que recupere a ID da tarefa da variável de saída criada na etapa 4, subetapa d.
Neste exemplo, insira a seguinte expressão:
taskID.Id.Value
. - No campo Nome ou e-mail do usuário, insira o nome de usuário ou o endereço de e-mail do usuário a quem você deseja atribuir a ação.
- No campo ID da tarefa , insira uma expressão que recupere a ID da tarefa da variável de saída criada na etapa 4, subetapa d.
- Adicione uma atividade Wait for App Task and Resume para aguardar que o usuário conclua a ação e depois retome o fluxo de trabalho.
- No campo Tarefa de aplicativo criada , insira a variável de saída criada na etapa 4, subetapa d.
- No campo Ação realizada , crie uma variável (exemplo:
userActionTaken
) para armazenar o tipo de ação que o usuário realizou para concluir a tarefa.
- Adicione uma atividade Mensagem de Log para imprimir o tipo de ação que o usuário realizou para concluir a tarefa. Use uma expressão como
"The action that user used to complete the Validate Invoice action was " + userActionTaken.ToString
Para seguir as etapas e experimentar o tutorial, baixe o projeto de amostra do Studio Desktop aqui. Para abri-lo no Studio Web, salve o projeto no Cloud e, em seguida, verifique seu Studio Web para o projeto abri-lo lá.