Looplex Knowledge Base

Select

O tube select seleciona um subconjunto de elementos contidos em um outro vetor. É um emulador de listas, pois exibe ao usuário uma lista de opções a partir dos elementos de um vetor. Se o vetor for um vetor de estrutura, a lista será composta a partir do id da estrutura.

Formato:

|vectSender|.select(|vectReceiver|, "request", lowerbound, upperbound)

Parâmetros:

  • vectSender: Vetor que enviará informações a serem selecionadas. Serve como a base para a lista a partir da qual o usuário será solicitado a selecionar.
  • vectReceiver: Vetor que guardas as informações a selecionadas.
  • request: Opcional. Mostra a pergunta na tela. Na ausência, o request do vectReceiver é usado.
  • lowerbound: Opcional. Número mínimo de elementos a se selecionar. Na ausência, o lower do vectReceiver é usado
  • upperbound: Opcional. Número máximo de elementos a se selecionar. Na ausência, o upper do vectReceiver é usado

Retorno:

Simula uma lista na entrevista, tendo como base o vetor vectSender. Os elementos selecionados comporão o vector vectReceiver.

Exemplos:

1. Select com vetores primitivos. Vetores primitivos são os vetores de variáveis de tipos primitivos: textos, números inteiros, números reais, booleanos e datas. No exemplo de uma defesa trabalhista, em que o trabalhador afirma não ter recebido uma série de feriados, selecionam-se os feriados em relação aos quais há comprovante de pagamento para anexar à defesa. Note que para utilizar o select, o tipo do vectReceiver deve ser o mesmo do vectSender.

declarations {
+|feriadosNaoPagos| : Vector[Date] {
name = "Insira os feriados em que o Reclamante alega haver trabalhado, mas não recebido"
},
+|comprovantesFeriados| : Vector[Date] {
name = "Feriados em relação aos quais há prova de pagamento"
}
}
operations {
|feriadosNaoPagos|.select(|comprovantesFeriados|, "Selecione os feriados em relação aos quais há prova de pagamento"),
foreach(<comprovante> IN |comprovantesFeriados|) {
upload("Pagamento " & <comprovante>, "Pagamento " & <comprovante> & ".png", "Faça o upload da prova de pagamento no formato .PNG", "+")
}
}

Visualização no sistema: Ex1

2. Select com vetores de estruturas. Neste exemplo, temos uma estrutura de sócios STR_Socios, que é utilizada tanto pelo vetor de sócios, quanto pelo vetor de sócios administradores. Note que para utilizar o select, a estrutura do vectReceiver deve ser a mesma do vectSender.

declarations {
struct[STR_Socios] {
id = [nome]
fields {
+[nome] : String {
name = "Nome"
},
+[cpf] : String where ("CPF") {
name = "CPF"
},
+[participacao] : Real where ("[...;100]") {
name = "Participação societária"
}
}
},
+|socios| : Struct[STR_Socios] {
name = "Sócios"
},
+|sociosAdministradores| : Struct[STR_Socios] {
name = "Sócios administradores"
}
}
operations {
|socios|.select(|sociosAdministradores|, "Selecione os sócios administradores")
}
Edit this page on GitHub