- 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
Controles avançados para menus suspensos
Os tutoriais nesta página demonstram o uso de listas suspensas com o UiPath Form Designer, dentro da atividade Create Form Task . A propriedade mais utilizada para obtenção dos resultados nos tutoriais é a FormData(Collection).
Use-os em fluxos de trabalho em que deseja enviar dados dinâmicos para preencher um controle suspenso dentro de uma ação de formulário.
Com esse método, uma variável do tipo List of Strings contém os valores da lista suspensa em vez de adicionar valores estáticos na guia Data no UiPath Form Designer.
No exemplo a seguir, criamos uma lista suspensa dinâmica de países, inicializamos uma variável com a lista de países e criamos uma variável adicional para capturar o país selecionado pelos usuários.
Para criar um menu suspenso dinâmico:
- Na atividade Criar tarefa de formulário , clique nas reticências (
...
) à direita de FormData. -
Adicione um argumento para o menu suspenso dinâmico da seguinte maneira:
- Nome:
countryList_dropdown
- Direção: Em
- Tipo: Lista de Strings (
List<String>
) -
Valor: Pressione Ctrl + K e insira
listOfCountries
como o nome da variável.A variávellistOfCountries
contém os itens na lista suspensa.Nota: Array of Strings também é suportado, mas você deve adicionar manualmente o componente suspenso no Form Designer e adicionar o valor Field Key .
- Nome:
-
Se você deseja obter a seleção do usuário de volta ao fluxo de trabalho, adicione outro argumento para capturar o valor selecionado:
- Nome:
country
(a chave de campo do componente suspenso) - Direção: Dentro/Fora ou Fora
- Tipo: String
- Valor: Pressione Ctrl + K e insira
selectedCountry
como o nome da variável.
- Nome:
- Clique em OK para fechar os dados do formulário.
-
Abra o painel Variáveis e inicialize
listOfCountries
com o valor padrãonew List(of string) from { "India", "Romania", "US" }
.Dica: Você também pode optar por preencherlistOfCountries
por meio de outras atividades em vez de inicializá-lo.
Use-os em formulários baseados em tarefas quando desejar que a seleção em um menu suspenso (pai) preencha os valores no segundo menu suspenso (filho).
Para criar um menu suspenso em cascata:
- Na atividade Criar tarefa de formulário , clique nas reticências (
...
) à direita de FormData. -
Vincule o menu suspenso pai ao fluxo de trabalho.
Para este exemplo, crie um argumento que passe a variávellistOfCountries
List<String> para o fluxo de trabalho como uma lista suspensa.Observação: a variávellistOfCountries
contém os itens na lista suspensa principal, ou seja, a lista de países.- Nomeie o argumento
CountryList_dropdown
. O nome da propriedade Field Key para este argumento éCountryList
. - Defina a direção como em 2.3. Defina o tipo como
System.Collections.Generic.List<System.String>
- Defina o Valor como a variável
listOfCountries
List<String>.
- Nomeie o argumento
-
Vincule o menu suspenso filho ao fluxo de trabalho.
Para este exemplo, crie um argumento que passe a variávelstateDictionaryList
Dictionary<String, List<String>> para o fluxo de trabalho como uma lista suspensa.Observação: a variávelstateDictionaryList
contém os itens na lista suspensa filha, ou seja, os estados de cada país. - Nomeie o argumento
stateDictList_dropdown
. O nome da propriedade Field Key para este argumento éstateDictList
. - Defina a direção como em 3.3. Defina o tipo como
System.Collections.Generic.Dictionary<System.String, System.Collections.Generic.List<System.String>
- Defina o valor como a variável
stateDictionaryList
Dictionary<String, List<String> -
Vincule o menu suspenso filho ao menu suspenso pai.
Crie um argumento com o nome do menu suspenso filho e adicione o sufixo_parent
. Em seguida, defina o valor do argumento para o nome do menu suspenso pai, assim:”ParentDropdownVariableName”
.Para este exemplo, crie um argumento denominadostateDictList_parent
. O menu suspenso filho éstateDictList
e você adiciona o sufixo_parent
a ele.-
Defina a direção como In.
-
Defina o Tipo como
String
. -
Defina o Valor como
”CountryList”
.Ao preencher a variável de dicionáriostateDictList
, observe que a chave do dicionário é um valor da lista suspensa pai e seu valor correspondente é uma lista de opções a serem mostradas no formulário se o pai estiver definido para a chave.Dica:Você pode passar os valores a serem preenchidos previamente (por exemplo, com campos de país e estado) na coleção FormData .
Se você estiver passando valores filho, certifique-se de incluir também o valor pai para evitar comportamento inesperado.
-
-
Mapeie cada valor do menu suspenso pai para uma variável List of Strings. Você pode preencher a lista (dicionário) para o menu suspenso pai de qualquer maneira, mas, para este exemplo, usamos uma atividade Adicionar ao dicionário para cada valor.
- Dicionário: o dicionário do menu suspenso filho,
stateDictList
. - Chave: um valor da lista de strings para o menu suspenso pai,
CountryList
- neste exemplo,"US"
,"India"
e"Romania"
. - Valor: Pressione Ctrl + K e insira um nome para a variável List of Strings que contém os valores a serem exibidos no menu suspenso filho quando o valor da chave é selecionado no pai -
usaStatesList
,indianStatesList
eromanianCountyList
, respectivamente.
- Dicionário: o dicionário do menu suspenso filho,
- Certifique-se de colocar a atividade ou atividades para a etapa acima antes da atividade Criar tarefa de formulário .
- Clique em OK para fechar os dados do formulário.
-
Abra o painel Variáveis e inicialize a nova lista de variáveis String que você criou com os seguintes valores padrão:
- Por
indianStatesList
:new List(of string) from { "Odisha", "Rajasthan", "Karnataka" }
- Por
usaStatesList
:new List(of string) from {"Florida", "Georgia", "Washington"}
- para
romanianCountyList
:new List(of string) from {"Cluj", "Prahova", "Constanta"}
.
- Por
Baixe estes exemplos aqui
Para usar menus suspensos em cascata dentro de um componente Edit Grid ou Data Grid :
- Crie os campos suspensos seguindo as etapas acima (usando o assistente FormData ).
- Abra o Designer de formulário.
-
Se os campos suspensos não forem criados dentro do seu formulário, verifique se:
- Os argumentos
<dropdownKey>
,<dropdownKey>_dropdown
e<dropdownKey>_parent
foram adicionados corretamente na coleção FormData . -
A caixa GenerateInputFields está marcada.
- Os argumentos
- Arraste e solte o componente Edit Grid ou Data Grid .
- Arraste e solte os menus suspensos criados na Etapa 1 no componente Edit Grid ou Data Grid .
- Abra o menu de configuração do menu suspenso filho (clique em ).
-
Na guia Lógica , observe a lógica avançada pré-configurada.
- Navegue até o campo Actions > Schema Definition .
-
Substitua
[data.<parent_dropdown_key>]
por[row.<parent_dropdown_key>]
na expressão do esquema.
Observação: a palavra-chave row instrui o formulário a usar o valor pai da linha da grade. - Salve o formulário.
Os menus suspensos mostram no máximo quatro resultados de pesquisa por padrão. Você pode alterar esse limite definindo uma propriedade no design do formulário.
Para definir o número de resultados de pesquisa para um menu suspenso:
- No UiPath Form Designer, clique em Editar para abrir as configurações da lista suspensa e selecione a guia Dados .
- Em Choices.js options, adicione
{ "searchResultLimit" : x }
, ondex
é o número máximo de resultados que você deseja mostrar.
Se as strings no menu suspenso tiverem mais de 50 caracteres, elas podem ser omitidas da exibição.
Para exibir todas as opções que correspondem ao seu termo de pesquisa:
- Clique em Editar JSON para o componente da Lista Suspensa que você deseja editar.
-
No campo Component JSON , adicione as seguintes propriedades:
... "fuseOptions": { "distance": 800, }, "threshold": 1, "useExactSearch": false, ...
... "fuseOptions": { "distance": 800, }, "threshold": 1, "useExactSearch": false, ...
threshold
determina em que ponto o algoritmo interrompe a operação de pesquisa para o termo de pesquisa fornecido. Por exemplo, um threshold
de 0
requer uma correspondência exata de letras e localização. Um threshold
de 1
pode corresponder a qualquer coisa, até mesmo erros de ortografia. Ajuste o valor threshold
com base em seu caso de uso.