Além das manipulações explicadas no vídeo, também deve ter em conta que:
Através da aplicação de uma fórmula pode mover um campo para letras maiúsculas ou minúsculas, concatenar cadeias de caracteres ou dividi-los (se esse processo não foi planejado antes da importação ou se os formulários não especificam os controles automáticos e conversões).
Todos os comandos de linguagem do 4D estão à nossa disposição no editor de fórmulas (uma versão limitada está disponível para os usuários finais ao acessar editores padrão).
O uso de fórmulas permite executar o equivalente de uma pesquisa / substituir de alto nível. Uma vez utilizado os comandos de linguagem 4D, entre mais familiarizado esteja com eles, mais poderão refinar a operação.
Vamos ver alguns exemplos:
No arquivo que você importou uma tabela de usuários, esqueceu de colocar em maiúscula nomes, e sobrenomes são misturados (em letras maiúsculas, minúsculas ou ambos)
Por outro lado, nem todos os números de telefone têm o mesmo formato (alguns têm espaços, alguns hífens, outros não tem nenhuma, às vezes o zero à esquerda não importa, porque é uma planilha não formatada corretamente durante a exportação...).
Temos que voltar a processar os dados incorretos ou mal formatados.
4D trabalha com o conceito da seleção atual, ou seja, uma lista de registros, cujos números são armazenados na memória e servem como base para todo o processo (exceto em casos excepcionais).
Recomendação: quando aplique uma fórmula, primeiro experimentá-lo em poucos registros para comprovar se é válida e se cumpre com suas expectativas.
Exemplo de ordem por fórmula: O exemplo mais claro é a ordenação de um dicionário que, por definição, é ordenado em ordem alfabética e, portanto, não precisa ser encomendado por uma fórmula...
No entanto, o que acontece com um dicionário de Scrabble? Em primeiro lugar temos de:
ordenar os nomes pelo comprimento, em número de caracteres (palavras de um caractere, depois 2, depois 3 e assim sucessivamente)
em seguida, dentro destes grupos, classificado por ordem alfabética.
Neste caso, é necessário utilizar uma gestão pela fórmula da primeira gestão.
Além disso: Também pode aplicar um método (que contém várias linhas de código) à seleção.
Em realidade, se é necessário aplicar várias fórmulas a mesma seleção, você pode:
Escrever as fórmulas a aplicar em um método
A continuação, indicar o nome deste método na linha da fórmula a aplicar:
As fórmulas também podem ser usadas nas colunas do editor de relatórios rápidos, cujo funcionamento foi abordado nos capítulos anteriores. Isso lhe dá um número ilimitado de combinações para a realização de seus relatórios, exportações e de processamento.
Hoje vamos a aprender a realizar pesquisas avançadas e a modificar dados em massa e ordená-los segundo uma fórmula de cálculo. Isto lhe permite refinar as pesquisas, as ordens, os rápidos relatórios..., também lhe permite modificar os valores de uma seleção de registros "aplicando uma fórmula".
Vejamos um exemplo com as intervenções.
Em primeiro lugar, queremos extrair todas as intervenções realizadas em dezembro sem importar o ano.
Como não temos uma coluna "Mês", uma pesquisa convencional não é possível, porque temos que extrair o mês da data.
No menu "Records":
Selecionar "Query"
Logo "Query by Formula..."
O editor têm 3 colunas:
Tabelas e campos
Operadores
Comandos 4D
Para constituir a fórmula de pesquisa:
No tema "Date and time", fazemos clique duplo no mês
Digitamos um parênteses aberto
Digitamos um parênteses aberto
Fechamos o parênteses
E adicionamos "=12"
Assim que vamos a procurar todas as intervenções cujo mês é igual a 12. Aceitamos e obtemos 905 registros.
Podemos ordená-los cronologicamente (2009, 2010,...) mas nos pediram ordená-los por dia (todos os primeiros juntos, depois os segundos e assim sucessivamente).
No menu "Order By":
Eliminamos os critérios de ordem anteriores
Na parte inferior direita, fazemos clique em "Add Formula"
E teremos todos os n° uns juntos, logo todos os dois e assim sucessivamente, mas misturados com 2010, 2009, 2011, etc.
Assim que vamos a adicionar um critério de ordenação "normal" para que também sejam ordenados em forma ascendente por ano:
No menu "Records" elegemos => "Order By"
Duplo clique à esquerda da data de intervenção
Duplo clique à esquerda da hora de intervenção (para ter uma verdadeira ordem cronológica)
Logo clique no botão "Order by"
Logo, se obtém todas as intervenções para o mês de dezembro, ordenadas por data e hora, ano por ano.
Agora vamos a aplicar uma fórmula, em outras palavras, modificar o valor de um campo para os registros mostrados. Atenção: esta operação não se pode desfazer.
Em ordem, devemos:
Selecionar os registros (criar uma seleção que coincida com os critérios).
A continuação, aplicar uma (ou mais) fórmula(s).
Na importação de intervenções que fizemos, a duração das sessões de formação não se incluía
Assim que vamos a:
Criar o campo "Duration" em estrutura na tabela Interventions
Modificar o formulário "Output" para adicionar o campo Duration
Colocar o campo Duration junto às iniciais do técnico
Duplicar o campo e o texto
Modificar o título e o campo correspondente
Guardar o formulário (vemos a modificação no fundo da lista de intervenções)
Vamos a procurar as intervenções de tipo formação
Logo, no mesmo menu, escolha "Apply Formula"
Como no editor anterior:
Fazemos duplo clique em "Duration" na lista de campos
Escrevemos “:=" já que é uma atribuição
Indicamos a duração entre signos de interrogação, assim: 07:00:00?
Clique em validar
As durações agora se atribuem a todas as sessões de formação.
PROPRIEDADES
Produto: 4D
Tema: Pesquisa por formulário, aplicar uma fórmula