- Visão geral
- Texto Explicativo
- Complex Scenarios
- Credenciais
- Data Service
- 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
- Obter tarefas do aplicativo
- Add Task Comment
- Update Task Labels
- Criar tarefa do aplicativo
- Wait For App Task and Resume
- Configure task timer
- 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
- Alinhar o conteúdo de um componente de formulário da esquerda para a direita usando atributos JSON
- Amostras de Fluxos de Trabalho
- Pipelines do Automation Ops
- Notas de versão
- Sobre o pacote de atividades Pipelines
- Compatibilidade do projeto
- Ativar implantação da solução
- Analisar
- Criar
- Clonar
- Delete Solution Package
- Deploy Solution
- Download Package
- Download Solution Package
- Baixar configuração do pacote da solução
- Publicar pacote
- Publicar pacote da solução
- Re-sync Solution Project
- Faça testes
- Estágio
- Desinstalar solução
- Processo de atualização
- Carregar pacote da solução
- System
- Notas de versão
- Sobre o pacote de atividades System
- Compatibilidade do projeto
- Codificação de caracteres suportada
- Assistente do Construtor RegEx
- Adicionar Coluna de Dados
- Add Data Row
- Add Log Fields
- Add or Subtract from Date
- Add Transaction Item
- Add Queue Item
- Append Item to Collection
- Append Item to List
- Anexar Linha
- Beep
- Break / Exit Loop
- Browse for file
- Pesquisar pasta
- Build Collection
- Criar Tabela de Dados
- Bulk Add Queue Items
- Alterar formatação para texto
- Change Type
- Check False
- Check True
- Clear Data Table
- Collection to DataTable
- Comentar
- Compress/Zip Files
- Copy File
- Copy Folder
- Combinar texto
- Comentar / Atividades desabilitadas
- Continue / Skip Current
- Create File
- Create Folder
- Create List
- Entrada Personalizada
- Excluir
- Delete File
- Delete Folder
- Delete Storage File
- Delete Queue Items
- Desabilitar Gatilho Local
- Do While
- Baixar arquivo da URL
- Download Storage File
- Habilitar Gatilho Local
- Evaluate Business Rule
- Exists In Collection
- Extract/Unzip Files
- Extrair data e hora de um texto
- Extrair Texto
- File Change Trigger
- File Exists
- Filter Collection
- Filtrar Tabela de Dados
- Folder Exists
- For Each
- For Each File In Folder
- File Change Trigger v3
- Localizar e substituir
- Encontrar Padrões Correspondentes
- For Each Folder in Folder
- For Each Row in Data Table
- Formatar data como texto
- Format Value
- Generate Data Table From Text
- Get Asset
- Get Credential / Get Orchestrator Credential
- Get Current Job Info
- Get Environment Folder
- Get Environment Variable
- Get File Info
- Get Folder Info
- Get Jobs
- Get Processes
- Get Row Item
- Obter item de transação
- Get Username/Password
- Get Queue Items
- Gatilho de variável global alterada
- Input Dialog
- Invoke Code
- Invoke Com Method
- Invoke Power Shell
- Invocar Processo
- Invoke VBScript
- Invocar Arquivo de Fluxo de Trabalho
- É Correspondência de Texto
- Join Data Tables
- Kill Process
- Launch Workflow Interactive
- List Storage Files
- Mensagem do Log
- Lookup Data Table
- Manual Trigger
- Merge Collections
- Merge Data Table
- Caixa de Mensagem
- Modify Date
- Modify Text
- Move File
- Move Folder
- Multiple Assign
- Novo item adicionado à fila
- Notify Global Variable Changed
- Orchestrator HTTP Request
- Output Data Table
- Path Exists
- Postpone Transaction Item
- Process End Trigger
- Process Start Trigger
- Raise Alert
- Read List Item
- Ler Arquivo de Texto
- Read Storage Text
- Remove Data Column
- Remove Data Row
- Remove Duplicate Rows
- Remove From Collection
- Remove Log Fields
- Replace Matching Patterns
- Repeat Number Of Times
- Repetir gatilho
- Rename File
- Rename Folder
- Report Status
- Reset Timer
- Resume Timer
- Tentar Escopo Novamente
- Retornar
- Executar Gatilhos Locais
- Run Parallel Process
- Set Asset
- Set Credential
- Set Environment Variable
- Set Transaction Progress
- Set Transaction Status
- Should Stop
- Dividir texto
- Sort Data Table
- Start Timer
- Iniciar Trabalho
- Parar Tarefa
- Parar Gatilhos Locais
- Stop Timer
- Text to Left/Right
- Colocar todo o texto em Maiúscula/Minúscula
- Gatilho de Tempo
- Trigger Scope
- Timeout Scope
- Update Row Item
- Update List Item
- Upload Storage File
- Wait for Download
- Wait Queue Item
- While
- Workflow Placeholder
- Write Storage Text
- Gravar Arquivo de 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
- Sobre o pacote de atividades Testing
- Compatibilidade do projeto
- 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
- Criar Regra de Comparação
- 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
- Verificar a equivalência dos documentos
- Verify Expression
- Verify Expression with Operator
- Verify Range
- Verificar equivalência do texto
- Address
- AddTestDataQueueItem
- AttachDocument
- BulkAddTestDataQueueItems
- DeleteTestDataQueueItems
- GetTestDataQueueItem
- GetTestDataQueueItems
- GivenName
- LastName
- RandomDate
- RandomNumber
- RandomString
- RandomValue
- VerifyAreEqual
- VerifyAreNotEqual
- VerifyContains
- VerifyExpression
- VerifyExpressionWithOperator
- VerifyIsGreater
- VerifyIsGreaterOrEqual
- VerifyIsLess
- VerifyIsLessOrEqual
- VerifyIsRegexMatch
- VerifyRange
- Workflow Events
- Workflow Foundation
Lógica Avançada
A guia Lógica do Form Designer permite criar condições e scripts de lógica avançada que podem alterar o estado ou o comportamento do componente de formulário selecionado.
Usando a lógica avançada, você pode alterar dinamicamente os controles, aparência e comportamento de um componente de formulário.
Uma lógica de formulário consiste em duas partes: o gatilho e a ação.
Gatilho O gatilho lógico é a condição para a Actions ocorrer. Por exemplo, pode ser que você queira exibir um campo de formulário específico apenas quando uma opção de caixa de seleção estiver marcada. Neste caso, a opção da caixa de seleção é o gatilho, e exibir o campo do formulário é o Actions.
Existem quatro tipos de gatilhos lógicos:
Tipo do Gatilho |
Description |
Exemplo |
---|---|---|
Simple |
Você define um componente e valor de formulário de acionamento. | |
JavaScript |
Você fornece uma lógica JavaScript para um componente de formulário ou dados de formulário. Use a sintaxe JavaScript para criar lógica complexa, como loop ou comportamento dinâmico. | |
Lógica JSON |
Você fornece uma lógica JSON para um componente de formulário ou dados de formulário. Recomendado nos casos em que o JavaScript não é permitido. Não pode suportar loops ou comportamentos dinâmicos. | |
Evento |
Você define um evento de componente, que uma vez emitido pelo componente correspondente, aciona a ação desejada. |
Ação
A ação lógica é o comportamento do componente de formulário que deve ocorrer com base nas condições lógicas que você definiu (ou seja, o acionador). Por exemplo, você pode querer ativar um botão para usuários de uma idade específica. Nesse caso, a faixa etária é o gatilho e ativar o botão é a ação.
Existem quatro tipos de ações lógicas:
Tipo de Ação |
Description |
Exemplo |
---|---|---|
Propriedade |
O gatilho altera uma das propriedades do componente disponíveis, como dica de ferramenta, descrição, classe CSS, etc. As propriedades disponíveis dependem do tipo do componente acionador. | |
Valor |
O gatilho altera o valor do componente correspondente. A ação deve ser definida usando a sintaxe JavaScript. | |
Mesclar Esquema de Componente |
O gatilho altera os parâmetros do esquema do componente encontrados no componente JSON. Para ver os parâmetros do esquema que você pode alterar, passe o mouse sobre o componente correspondente e clique em Editar JSON. Você pode alterar vários parâmetros em uma ação. | |
Personalizar Ação |
Você define uma ação personalizada usando a sintaxe JavaScript, da mesma forma que definiria o tipo de gatilho JavaScript. |
Para configurar uma lógica avançada:
- Abra o Form Designer na atividade Create Form.
- Arraste e solte componentes em seu formulário. Preste atenção às chaves de campo, pois você pode usá-las em sua lógica avançada.
- Navegue até a guia Lógica do componente que você deseja alterar (ou seja, o componente no qual as Actions devem ocorrer).
- Clique em +Adicionar Lógica. É possível adicionar quantas lógicas você desejar.
- Digite um nome para sua lógica.
- No painel Acionador , selecione o tipo de acionador que deseja usar em sua lógica. Os tipos disponíveis são Simple, Javascript, JSON Logice Event. Defina as condições desejadas para acionar a ação.
- No painel Actions , clique em +Adicionar Actions. É possível adicionar quantas Actions você desejar, todas acionadas pela lógica que as agrupa.
- Digite um nome para sua ação.
- Selecione o tipo de ação que deseja usar. Os tipos disponíveis são Property, Value, Merge Component Schemae Custom Action. Defina o efeito desejado de sua ação.
- Quando tudo estiver definido, clique em Salvar Actions.
- Para salvar sua lógica, clique em Salvar lógica.
O procedimento acima se aplica genericamente a qualquer tipo de gatilho ou ação. Para um procedimento detalhado, confira os tutoriais específicos, que fornecem exemplos de cada gatilho específico e tipo de ação
- Tipo de gatilho: JavaScript e tipo de Actions : Valor Soma dinâmica de dois campos de texto.
- Tipo de gatilho: simples e tipo de Actions : propriedade Ocultar um campo dinamicamente
- Tipo de gatilho: Simples e tipo de Actions : Mesclar Esquema de Componente Alterar a cor do título dinamicamente
- Tipo de gatilho: Tipo de evento e ação: Actions Actions Definição de um campo de formulário para o padrão usando eventos
- Tipo de gatilho: JSON Tipo de lógica e Actions : propriedade Exibição de um componente com base na entrada do usuário
Tipo de gatilho: JavaScript Tipo de ação: Valor
Essa lógica avançada resume dois campos de texto, com base na condição de que o usuário interaja com os campos de texto correspondentes.
- Abra o Form Designer na atividade Create Form.
- Arraste e solte três componentes do Campo de texto em seu formulário.
-
Nomeie dois dos componentes do campo de texto como
A
eB
e nomeie o terceiro comoTotal
. Preste atenção às suas chaves de campo, conforme você as usa em sua lógica avançada.Opcionalmente, você pode definir o componente de campo de textoTotal
como Desativado, para que os usuários corporativos não possam interagir com ele. - Acesse a aba Lógica do componente do campo
Total
. - Adicione uma lógica e nomeie-a como "soma dinâmica".
-
Selecione o tipo de gatilho JavaScript e insira o seguinte script na seção Área de Texto :
result = true; return result;
result = true; return result;O fragmento acima detecta se há alterações nos campos de texto, ou seja, se o usuário interage com os campos de texto e aciona as Actions para somar os campos.
- Adicione uma ação e nomeie-a como "a+b".
-
Selecione o tipo de ação Valor e insira o seguinte script na seção Valor (Javascript) :
result = (+data.a) + (+data.b); return result;
result = (+data.a) + (+data.b); return result;Substituaa
eb
pelos valores das chaves de campo dos componentes do campo de texto. - Salve a ação e a lógica.
- Salve o componente.
A
e B
, o campo Total
será preenchido automaticamente, exibindo a soma de A e B.
Tipo de gatilho: tipo de Actions Simples : Propriedade
Child field
) quando o usuário insere "ocultar" em outro campo de formulário (ou seja, Parent field
).
- Abra o Form Designer na atividade Create Form.
- Arraste e solte dois componentes do Campo de texto .
- Nomeie um dos componentes do campo de texto como
Parent field
e o outro comoChild field
. Preste atenção às suas chaves de campo, conforme você as usa em sua lógica avançada. - Vá para a guia Lógica do componente
Child field
. - Adicione uma lógica e nomeie-a como "ocultar entrada".
-
Selecione o tipo de gatilho Simples .
6.1. No menu suspenso Quando o componente do formulário , selecioneParent field ({parentField_field_key})
.6.2. No campo Tem o valor , insira "hide".
A configuração acima detecta se o usuário insere a string "ocultar" no campo pai e aciona a ação para ocultar o campo filho.
- Adicione uma ação e nomeie-a como "ocultar".
-
Selecione o tipo de Actions de propriedade .
8.1. No menu suspenso Propriedades do componente , selecione Oculto.
8.2. No menu suspenso Definir estado , selecione Verdadeiro.
- Salve a ação e a lógica.
- Salve o componente.
No tempo de execução, se o usuário corporativo inserir "ocultar" no campo pai, o campo filho ficará oculto.
Tipo de Actions : Simples Tipo de ação: Mesclar Esquema de Componente
Essa lógica avançada altera a cor do rótulo de um componente de campo de texto quando o usuário seleciona a cor desejada em uma lista. A alteração se aplica usando um arquivo CSS personalizado.
Pré-requisitos:
Crie um arquivo CSS contendo a nova cor para o rótulo do campo de texto e referencie-o na atividade Criar formulário, na propriedade da atividade LocalCSSFilePath .
Por exemplo, o trecho de CSS abaixo contém uma classe que define a cor do rótulo para verde ou vermelho:
.textFieldLabel-green
{
color : green;
}
.textFieldLabel-red
{
color : red;
}
.textFieldLabel-green
{
color : green;
}
.textFieldLabel-red
{
color : red;
}
Depois de referenciar o arquivo CSS nas propriedades de Criar formulário, crie seu formulário seguindo as etapas abaixo:
- Abra o Form Designer na atividade Create Form.
- Arraste e solte um componente de campo de texto e um componente de rádio . Preste atenção às suas chaves de campo, conforme você as usa em sua lógica avançada.
-
Na guia Exibição do componente do campo de texto, defina uma Classe CSS Personalizadapadrão. Por exemplo, para definir o vermelho como a cor padrão do campo de texto, use a classe
textFieldLabel-red
. A classe deve ser definida no arquivo CSS a partir dos pré- requisitos documentados acima. - Para o componente Rádio , adicione dois valores para as cores
green
ered
. - Vá para a guia Lógica do componente Campo de texto .
- Adicione uma lógica e nomeie-a como "seleção de cores".
-
Selecione o tipo de gatilho Simples .
7.1. No menu suspenso Quando o componente do formulário , selecioneRadio ({radio_field_key})
.7.2. No campo Tem o valor , insira "green".
A configuração acima detecta se o usuário seleciona "verde" nas opções de rádio e aciona a ação para alterar a cor do rótulo do campo de texto.
- Adicione uma ação e nomeie-a como "alterar cor usando css".
-
Selecione o tipo de ação Mesclar Componente de Esquema e insira o seguinte fragmento:
return { customClass: "textFieldLabel-green" }
return { customClass: "textFieldLabel-green" } - Salve a ação e a lógica.
- Salve o componente.
No tempo de execução, se o usuário corporativo selecionar o botão de opção "verde", o rótulo do campo de texto ficará verde. Se o usuário selecionar o botão de opção "vermelho", o rótulo do campo de texto ficará vermelho.
Tipo de acionador: Tipo de ação do evento : Ação personalizada
Essa lógica avançada altera o conteúdo de um campo de texto quando o usuário clica em um botão. O botão emite um evento com base no qual o conteúdo do campo de texto muda para um texto padrão.
- Abra o Form Designer na atividade Create Form.
- Arraste e solte um componente de campo de texto e um componente de botão . Preste atenção às chaves de campo dos componentes, pois você as usa em sua lógica avançada.
-
Na guia Exibir do componente de botão:
3.1. Rotule o componente do botão comoChange value to "Default"
3.2. Definir as Actions do botão como Clique
3.3. Marque a caixa de seleção Usar para atualização local.
3.4. Insira o seguinte fragmento na seção Atualizar Lógica de Dados . Isso emite o evento chamadoresetTextField
toda vez que o usuário clica no botão.instance.emit('resetTextField', {});
instance.emit('resetTextField', {});3.5. Salve o componente de botão.
- Vá para a guia Lógica do componente de campo de texto.
- Adicione uma lógica e nomeie-a como "redefinir".
- Selecione o tipo de acionador de evento .
-
No campo Nome do Evento , informe o nome do evento emitido ao clicar no botão. (ou seja,
resetTextField
).A configuração acima detecta quando o usuário clica no botãoChange value to "Default"
e substitui o conteúdo existente do campo de texto por "Padrão". - Adicione uma ação e nomeie-a como "padrão".
- Selecione o tipo de Actions Actions .
-
Insira o trecho a seguir na seção Ação personalizada (Javascript) .
return "Default"
return "Default" - Salve a ação e a lógica.
- Salve o componente.
Change value to "Default"
, o evento resetTextField
será emitido. O acionador escuta o evento e substitui o conteúdo do campo de texto existente por "Padrão".
Tipo do gatilho: Tipo de Actions da lógica JSON : Propriedade
Essa lógica avançada exibe o conteúdo de um componente HTML (neste caso, uma imagem) quando o usuário insere o texto necessário.
- Abra o Form Designer na atividade Create Form.
- Arraste e solte um componente Campo de texto e um componente Elemento HTML . Preste atenção às chaves de campo dos componentes, pois você as usa em sua lógica avançada.
-
Na guia Exibição do componente do campo de texto:
3.1. Rotule o componente do campo de texto como "Type "Show me"".
3.2. Adicione a descrição "Deve ser uma correspondência exata (sensível a maiúsculas e minúsculas)" para indicar que os usuários devem inserir o texto conforme necessário.
3.3. Salve o componente do campo de texto.
-
Na guia Exibir do componente de elemento HTML:
4.1. Na seção Conteúdo , faça referência à imagem que deseja exibir. Por exemplo:<img href="https://picsum.photos/200/300" />
.4.2. Marque a caixa de seleção Oculto para ocultar a exibição da imagem por padrão. 4.3. Salve o componente do elemento HTML.
- Acesse a guia Lógica do componente do elemento HTML.
- Adicione uma lógica e nomeie-a como "entrada do usuário".
- Selecione o tipo de gatilho da Lógica JSON .
-
Insira o seguinte fragmento na seção Lógica JSON e substitua
{text_field_component_field_key}
pelo valor da chave do campo que você definiu para seu componente do campo de texto.{ "===": [ { "var": "data.{text_field_component_field_key}" }, "Show me" ] }
{ "===": [ { "var": "data.{text_field_component_field_key}" }, "Show me" ] }A configuração acima detecta quando o usuário insere "Mostre-me" e só então define o valor da propriedade Oculto do elemento HTML como False, exibindo assim o conteúdo HTML correspondente.
- Adicione uma ação e nomeie-a como "imagem de exibição".
-
Selecione o tipo de Actions de propriedade .
10.1. No menu suspenso Propriedade do componente , selecione Oculto.
10.2. No menu suspenso Definir estado , selecione Falso.
- Salve a ação e a lógica.
- Salve o componente.
No tempo de execução, se o usuário inserir o texto necessário no campo de texto, o formulário exibirá o conteúdo HTML.
Para verificar o fluxo de trabalho completo ou ter uma referência futura, baixe o exemplo XAML