- 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
Menus suspensos condicionais
Os menus suspensos condicionais permitem que você selecione uma opção no menu suspenso, com base em uma seleção anterior feita em outro componente de formulário.
Por exemplo, se você selecionar um estado específico em uma lista suspensa, a lista suspensa condicionada exibirá as cidades desse estado.
Tutorial
Para usar este recurso:
- Crie um menu suspenso pai definindo uma variável de fluxo de trabalho do tipo
List<String>
ouDictionary<String, String>
. Por exemplo,stateList
. -
Crie um menu suspenso filho definindo uma variável de fluxo de trabalho do tipo
Dictionary<String, List<String>>
ouDictionary<String, Dictionary<String, String>>
. Por exemplo,cityStateMap
. - Arraste e solte a atividade Invoke Code na sequência do fluxo de trabalho.
-
Clique em Editar argumentos e adicione as variáveis criadas anteriormente como argumentos de entrada/saída . Clique em OK.
-
Clique em Editar código. Insira o código para inicializar os dados e preencha os menus suspensos com dados. Por exemplo, o trecho de código a seguir inicializa os menus suspensos (
stateList
ecityStateMap
) e adiciona itens a eles.// initialize the parent dropdown stateList = new List<string>(); // add items to the parent dropdown stateList.Add("HP"); stateList.Add("Punjab"); // initialize the child dropdown cityStateMap = new Dictionary<string,List<string>>(); // add items to the HP-child dropdown cityStateMap.Add("HP",new List<string>()); cityStateMap["HP"].Add("Shimla"); cityStateMap["HP"].Add("Solan"); cityStateMap["HP"].Add("Hamirpur"); // add items to the Punjab-child dropdown cityStateMap.Add("Punjab", new List<string>()); cityStateMap["Punjab"].Add("Chandigarh"); cityStateMap["Punjab"].Add("Patiala"); cityStateMap["Punjab"].Add("Jalandhar");
// initialize the parent dropdown stateList = new List<string>(); // add items to the parent dropdown stateList.Add("HP"); stateList.Add("Punjab"); // initialize the child dropdown cityStateMap = new Dictionary<string,List<string>>(); // add items to the HP-child dropdown cityStateMap.Add("HP",new List<string>()); cityStateMap["HP"].Add("Shimla"); cityStateMap["HP"].Add("Solan"); cityStateMap["HP"].Add("Hamirpur"); // add items to the Punjab-child dropdown cityStateMap.Add("Punjab", new List<string>()); cityStateMap["Punjab"].Add("Chandigarh"); cityStateMap["Punjab"].Add("Patiala"); cityStateMap["Punjab"].Add("Jalandhar"); - Arraste e solte a atividade Criar formulário .
-
Armazene a seleção suspensa do usuário em variáveis de fluxo de trabalho. Por exemplo:
cityListSelected
, do tipoList<String>
— armazena a lista correspondente ao estado selecionado.selectedState
, do tipoString
— armazena o estado selecionado.selectedCity
, do tipoString
— armazena a cidade selecionada.
- Abra a janela FormFieldsCollection no painel Propriedades da atividade.
-
Para definir os campos suspensos no formulário:
- Defina os campos suspensos. O Nome definido é usado para vinculação de dados (consulte Componente suspenso > guia Chave de campo > Nome da propriedade).
- Além disso, defina as listas suspensas anexando
_dropdown
ao nome do campo suspenso.
-
Na coluna Valor , defina a seleção do usuário da seguinte forma:
- Para a lista suspensa pai, use a lista definida na Etapa 1.
- Para a lista suspensa filha, use a variável armazenada na Etapa 7.
- Para o campo suspenso pai, use a variável armazenada na Etapa 7.
-
Para o campo suspenso filho, use a variável armazenada na Etapa 7.
- Clique em OK.
Fluxo de trabalho amostral
Para verificar o fluxo de trabalho completo ou para ter uma referência futura, baixe o exemplo do XAML