Skip to main content

Advanced Open Workflow

O módulo AOW é um recurso do HelloCloud que lhe permite criar processos de workflow personalizados. É possível disparar várias ações do sistema com base nas condições de qualquer módulo do HelloCloud.

Criando um workflow

Você pode criar workflows através do módulo 'WorkFlow' do HelloCloud. Clique no botão "Criar WorkFlow" dentro da barra de ações para começar a criá-lo. O primeiro painel permite aos usuários configurar o processo de workflow.

 

Isso permite que você especifique o seguinte:

  • Nome - O nome do processo.
  • Atribuído a - O usuário atribuído ao workflow.
  • WorkFlow Module - Uma lista de todos os módulos encontrados no HelloCloud. Selecione o módulo que será vinculado ao seu workflow. Exemplo: quando uma “Conta” é criada / editada.
  • Status - ativo ou inativo. Apenas os processos ativos serão executados.
  • Executar – Selecione “Sempre”, “Ao Salvar” ou “Ao Agendar”.
  • Executar em – Todos Registros, Registros Alterados ou Novos Registros.
  • Repetir - Se marcado, o processo será executado repetidamente. Recomenda-se marcar esta caixa somente se uma das condições forem de negação (ou levar à negação).
  • Descrição – Uma breve descrição do processo.

Condições

Inserindo condições

Permite inserir condições a um processo de workflow. Isso permite que os usuários especifiquem os critérios que devem acionar o workflow.

 


Para adicionar uma condição, clique no botão "Inserir Condição".

Nota: Selecione o módulo WorkFlow no primeiro painel antes de adicionar uma Condição.

 

Você pode ter uma quantidade ilimitada de Condições. Para adicionar mais condições, clique no botão "Adicionar condição” novamente. Na linha terá quatro campos; Campo, Operador, Tipo e Valor.

Campo e Operator

O campo é um dropdown que preenche automaticamente todos os campos encontrados no Módulo workflow.

 

O campo selecionado irá determinar as opções disponíveis para Operador e Tipo. Se o tipo de campo não é um número ou data, os operadores disponíveis serão “igual a” ou “diferente de”. Para campos de número e data é possível escolher os operadores lógicos adicionais; “Menor que”, “Maior que”, “Menos que ou igual a" ou "Maior ou igual a”.

113.png

'Tipos de condição

Você pode especificar que o workflow seja disparado em diferentes condições, conforme as disponíveis abaixo:

Valor - Este é usado para comparar o campo com um valor. O tipo de valor oferecido está vinculado ao tipo referente ao campo que foi selecionado. Por exemplo, se o tipo de campo é um dropdown, o tipo de campo será o mesmo da lista.

 

Campo - Este é usado para a ação que o workflow irá executar quando um campo é comparado com outro.

 

Múltiplo – Este pode ser selecionado se o campo é um dropdown ou multi seleção. Isso permite aos usuários especificarem vários valores para a ação do workflow.

 

Data - Isso permite que especifiquemos quando irá ocorrer o workflow, se após ou antes de um período de tempo a partir de qualquer outro campo de data ou imediatamente. Por exemplo, quando a data de início de uma ligação é 'Agora + 10 minutos’. Este recurso só pode ser usado quando o campo é do tipo data. A quantidade de tempo antes ou após a data pode ser especificado em minutos, horas, dias, semanas ou meses.

 

Removendo Condições

Para remover alguma condição, clique no botão '-' ao lado esquerdo.

 

Ações

Adicionando ações

As ações são definidas no terceiro painel. Neste especificamos quais eventos devem ocorrer quando as condições forem satisfatórias. Para adicionar uma ação, clique no botão "Adicionar ação".

 

A linha com os campos para a ação aparecerá.

 

Basta selecionar a ação e dar-lhe um nome. As ações disponíveis são; 'Criar Registro, 'Modificar Registro' e 'Enviar e-mail'. A quantidade de ações é ilimitada para cada workflow.

Criar Registro

Se você selecionar a opção "Criar Registro ', será necessário selecionar também o tipo de registro. Este é o módulo do qual pertence o registro para o qual você deseja criar o Workflow.

 

Uma vez selecionado, você pode adicionar campos ou relacionamentos a este registro usando os botões "Inserir Campo" e "Inserir Relação".

 

Quando selecionamos o campo no primeiro dropdown, o próximo dropdown será automaticamente preenchido. O segundo dropdown permite que você especifique o valor que será derivado deste campo. As opções são as seguintes:

  • Valor - Permite inserir o valor diretamente, usando o mesmo tipo de campo correspondente ao selecionado.
  • Campo – Este receberá o valor contido no registro do módulo selecionado durante a criação do workflow.
  • Data – Só é selecionável se o campo é do tipo data. Isso permitirá que você especifique o valor como um período de tempo após, antes ou imediatamente.

 

O campo 'Atribuído a’ lhe dá mais opções de valor e campo. Estas são:

Round Robin – Permite a seleção de um usuário por vez.

Menos ocupado - Selecionará o usuário com menor quantidade de registros atribuídos, de acordo com o módulo.

Aleatória - Selecionará um usuário aleatório.

Para cada uma das opções acima é possível escolher entre todos os usuários ou usuários com uma função específica. Se o módulo SecuritySuite estiver instalado, será possível escolher um grupo de segurança.

 

Ao adicionar relacionamentos, deve-se selecionar também o módulo a partir da lista dropdown e o registro a ser relacionado.

 

Nota: Você deve selecionar o módulo usando a seta - O preenchimento automático do campo não foi desenvolvido.

Modificar Registro

Esta opção funciona de forma semelhante ao 'Criar Registro’, mas em vez de criar um novo registro você o alterará. É possível modificar qualquer campo deste registro ou adicionar um relacionamento deste com outro registro. Este é automaticamente preenchido da mesma forma que a opção 'Criar Registro', exceto o tipo de registro que não torna-se obrigatório.

Enviar email

A ação "Enviar Email" permite aos usuários criar workflows que enviam e-mails de acordo com templates existentes. Existem quatro opções:

Email – Será enviado um e-mail para um endereço específico. Você deve especificar o endereço e o template do e-mail.

 

Registro Email - Isto irá enviar um e-mail para o endereço principal especificado no registro vinculado ao workflow. O envio só ocorre se o registro possuir um endereço válido, tais como contas e contatos. Para esta opção, você só precisa especificar o modelo.

 

Usuário - Isto irá enviar o e-mail para o usuário especificado. Você deve especificar o usuário e o template do e-mail.

 

Campo Relacionado – Será enviado um e-mail para o endereço de e-mail principal existente no registro relacionado. Neste caso, você deve selecionar o módulo no dropdown e o template do e-mail.

 

Calcular Campos

Se você selecionar 'Calcular Campos' no menu suspenso Ação, a interface do usuário Calcular Campos será carregada após um segundo e se parecerá com a imagem abaixo.

 

Calcular campos - Adicionar parâmetros

É possível adicionar parâmetros às fórmulas usando o menu suspenso na seção Parâmetros da interface de usuário dos Campos de Calcular. O menu suspenso contém todos os campos (básicos e personalizados) que pertencem ao módulo selecionado na seção campos básicos.

Para adicionar um parâmetro, selecione o campo no menu suspenso e clique no botão Adicionar parâmetro. Após esta ação, uma nova linha aparece na tabela de parâmetros com o nome do campo eo identificador fornecido.

Para alguns campos (menus suspensos e multi-selecionados), um menu suspenso adicional aparece onde o usuário pode selecionar se o valor bruto ou formatado deve ser usado em Campos Calculados.

O formato bruto significa o valor que é armazenado no banco de dados eo valor formatado significa o rótulo para esse valor de banco de dados.

Para remover um parâmetro da tabela, basta clicar no botão menos na linha do parâmetro. Esteja ciente, que se você remover um parâmetro, todos os identificadores são recalculados, assim os identificadores poderiam mudar para campos!

 

O identificador é usado para fazer referência a este campo quando o usuário cria a fórmula. Por exemplo, todas as aparências do identificador {P0} serão substituídas com o nome da Conta na fórmula. Todos os parâmetros são como {Px} onde x é a ordem seqüencial do parâmetro. A quantidade de parâmetros não é limitada.

Calcular campos - Adicionando parâmetros de relação

Parâmetros de relação são muito semelhantes aos parâmetros regulares, a única diferença é que o usuário primeiro seleciona uma entidade que está em uma relação um-para-um ou um-para-muitos com a entidade real.

Para adicionar um parâmetro de relação, selecione primeiro a relação e, em seguida, selecione o campo da entidade conectada e pressione o botão Adicionar parâmetro de relação. Após esta ação, uma nova linha aparece na tabela de parâmetros de relação com o nome da relação, o nome do campo e o identificador fornecido.

Quanto aos parâmetros para alguns campos de parâmetros de relação (dropdowns e multi-seleciona) um dropdown adicional mostrado até onde o usuário pode selecionar se o valor bruto ou formatado deve ser usado em Campos de Calcular.

Para remover um parâmetro de relação da tabela, basta clicar no botão de menos na linha do parâmetro de relação. Esteja ciente de que se você remover um parâmetro de relação, todos os identificadores serão recalculados, então os identificadores poderão mudar para campos!

 

O identificador é usado para fazer referência a este campo quando o usuário cria a fórmula. Por exemplo, todas as aparências do identificador {R0} serão substituídas com o nome de usuário do usuário criador na fórmula. Todos os parâmetros de relação são como {Rx} onde x é a ordem seqüencial do parâmetro de relação. A quantidade de parâmetros de relação não é limitada.

Calcular campos - Criar fórmula para um campo

Na parte Fórmulas da interface do usuário o usuário pode adicionar fórmulas para campos da entidade real.

Para adicionar uma fórmula, selecione primeiro um campo no menu suspenso e, em seguida, pressione o botão Adicionar fórmula. Após essa ação, uma nova linha aparece na tabela de fórmula com o nome do campo e com o local para a fórmula.

Para remover uma fórmula da tabela, basta clicar no botão de menos na linha da fórmula.

 

A fórmula é uma caixa de texto onde o usuário pode escrever as fórmulas. O módulo avalia a fórmula no tempo determinado (na gravação, na execução do programador ou em ambos) e preenche o campo selecionado com o valor avaliado.

A fórmula pode conter qualquer texto (com suporte UTF-8 completo), mas apenas as partes da função (funções com parâmetros entre '{' e '}') são avaliadas. Por exemplo, e com os parâmetros adicionados nas seções anteriores, se preenchermos a fórmula como: Conta {P0} criada pelo nome de usuário {R0}, o campo de descrição terá o seguinte valor após salvar: Conta Minha Conta criada por nome de usuário MinhaConta (implicando o nome da conta é Minha Conta e o nome de usuário do usuário criador é MinhaConta).

O Calcular Campos tem funções internas que permitem ao usuário construir fórmulas complexas para atingir vários objetivos. Estas funções são descritas na próxima seção.

Campos de cálculo - Funções utilizáveis

Como é mencionado acima, todas as funções são enroladas entre os sinais '{' e '}', e parecem {NomedaFunção (parâmetro1;parâmetro2; ...)}. A contagem dos parâmetros é diferente para as diferentes funções. O módulo avalia as funções e as muda com o resultado na fórmula.

As funções podem ser incorporadas umas nas outras (usando um resultado de uma função como um parâmetro para outra função) como neste exemplo:

 


Esta função é o aspecto formalizado da seguinte expressão matemática:

 

As funções são divididas em seis grupos. Estes grupos são descritos na próxima seção do documento.

Funções lógicas

Funções lógicas estão retornando verdadeiro ou falso na forma de 1 e 0 para checkboxes campos digitados podem ser preenchidos com essas funções. Eles também podem ser usados ​​como a condição lógica para a função então Se ou Senão.

Igual

Assinatura {equal(parameter1;parameter2)}
Parâmetros parâmetro1: pode ser qualquer valor de qualquer tipo
parâmetro2: pode ser qualquer valor de qualquer tipo
Descrição Determina se o parâmetro1 é igual ao parâmetro2
Retorna 1 se os dois parâmetros são iguais ou 0 senão
Exemplo de chamada {equal(1; 2)} returns 0

Não Igual

Assinatura {notEqual(parameter1;parameter2)}
Parâmetros parâmetro1: pode ser qualquer valor de qualquer tipo
parâmetro2: pode ser qualquer valor de qualquer tipo
Descrição Determina se o parâmetro1 não é igual ao parâmetro2
Retorna 0 se os dois parâmetros são iguais ou 1 senão
Exemplo de chamada {equal(1; 2)} returns 1

Maior que

Assinatura {greaterThan(parâmetro1; parâmetro2)}
Parâmetros parâmetro1: pode ser qualquer valor de qualquer tipo
parâmetro2: pode ser qualquer valor de qualquer tipo
Descrição Determina se parâmetro1 é maior que o parâmetro2
Retorna 1 se parâmetro1 maior que parâmetro2, 0 se não
Exemplo de chamada {greaterThan(3; 3)} return 0

Igual Ou Maior Que

Assinatura {greaterThanOrEqual(parâmetro1; parâmetro2)}
Parâmetros parâmetro1: pode ser qualquer valor de qualquer tipo
parâmetro2: pode ser qualquer valor de qualquer tipo
Descrição Determina se parâmetro1 é maior que ou igual a parâmetro2
Retorna 1 se parâmetro1 maior que ou igual a parâmetro2, 0 se não
Exemplo de chamada {greaterThanOrEqual(3; 3)} return 1

Menor Que

Assinatura {lessThan(parâmetro1; parâmetro2)}
Parâmetros parâmetro1: pode ser qualquer valor de qualquer tipo
parâmetro2: pode ser qualquer valor de qualquer tipo
Descrição Determina se parâmetro1 é menor que parâmetro2
Retorna 1 se parâmetro1 menor que parâmetro2, 0 se não
Exemplo de chamada {lessThan(3; 3)} return 0

Igual Ou Menor Que

Assinatura {lessThanOrEqual(parâmetro1; parâmetro2)}
Parâmetros parâmetro1: pode ser qualquer valor de qualquer tipo
parâmetro2: pode ser qualquer valor de qualquer tipo
Descrição Determina se parâmetro1 é menor que ou igual a parâmetro2
Retorna 1 se parâmetro1 menor ou igual a parâmetro2, 0 se não
Exemplo de chamada {menorQueOuIgual(3; 3)} return 1

Vazio

Assinatura {empty(parâmetro)}
Parâmetros Parâmetro: valor do campo
Descrição Determina se o parâmetro está vazio
Retorna 1 se parâmetro estiver vazio, 0 se não estiver
Exemplo de Chamada {empty(texto qualquer)} return 0

Não Vazio

Assinatura {notEmpty(parâmetro)}
Parâmetros Parâmetro: valor do campo
Descrição Determina se o parâmetro não está vazio
Retorna 1 se parâmetro não estiver vazio, 0 se estiver
Exemplo de Chamada {notEmpty(texto qualquer)} return 1

Não

Assinatura {not(parâmetro)}
Parâmetros Parâmetro: valor do campo
Descrição Nega o valor lógico do parâmetro
Retorna 1 se parâmetro for 0, 0 se Parâmetro for 1
Exemplo de Chamada {not(0)} return 1

E

Assinatura {and(parâmetro1; parâmetro2)}
Parâmetros parâmetro1: valor lógico
parâmetro2: valor lógico
Descrição Aplica o operador lógico E para dois valores
Retorna 1 se parâmetro1 e parâmetro2 forem 1, 0 se quaisquer parâmetros forem 0
Exemplo de chamada {and(1; 0)} return 0

Ou

Assinatura {or(parâmetro1; parâmetro2)}
Parâmetros parâmetro1: valor lógico
parâmetro2: valor lógico
Descrição Aplica o operador lógico Ou para dois valores
Retorna 1 se parâmetro1 ou parâmetro2 forem 1, 0 se ambos parâmetros forem 0
Exemplo de chamada {or(1; 0)} return 1


Funções de texto

As funções de texto são usadas para manipular o texto de várias maneiras. Todas as funções listadas aqui são totalmente compatíveis com textos UTF-8, portanto caracteres especiais não devem causar problemas.

substring

Assinatura {Substring (texto; início; comprimento)}
Parâmetros Texto: valor do campo
Início: valor do campo
Comprimento [parâmetro opcional]: valor decimal
Descrição Corta a substring de um campo de texto do início.

Se o parâmetro opcional comprimento não estiver definido, então ele corta todos os caracteres até o final da seqüência, caso contrário corta o comprimento fornecido. Indexação de caracteres de um texto começa a partir de 0.

Retorna Substring do texto fornecido
Exemplo de Chamada {Substring (Este é o meu texto; 5)} retorna

É o meu texto

{Substring (Este é o meu texto; 5; 5)}

Retornar é meu

Comprimento

Assinatura {length(parâmetro)}
Parâmetros Parâmetro: valor do campo
Descrição Conta os caracteres em um texto.
Retorna A contagem dos caracteres em um texto.
Exemplo de Chamada {length(texto de exemplo)} return 11

substituir

Assinatura {replace(pesquisar; substituir; assunto)}
Parâmetros Pesquisa: valor do campo
substituir: valor do campo
assunto: valor do campo
Descrição substitui todas as ocorrências da pesquisa pelo assunto
Retorna Substring do texto fornecido
Exemplo de Chamada {replace(maçã, laranja, Esta é uma árvore de maçã)} return Esta é uma laranjeira

Posição

Assinatura {position(assunto; pesquisa)}
Parâmetros Assunto: valor do campo
Pesquisa: calor do campo
Descrição Localiza a posição da primeira ocorrência de pesquisa de um assunto
Retorna Posição numérica da pesquisa no assunto ou -1 se a pesquisa não estiver presente no assunto
Exemplo de chamada {position(Onde está o meu texto?;texto) return 12

Minúsculas

Assinatura {lowercase(parâmetro)}
Parâmetros Parâmetro: valor do campo
Descrição Tornar o texto minúsculo
Retorna O texto em minúsculas
Exemplo de Chamada {lowercase(EsTe É uM TeXtO dE eXeMpLo)} return este é um texto de exemplo

Maiúsculas

Assinatura {uppercase(parâmetro)}
Parâmetros Parâmetro: valor do campo
Descrição Tornar o texto maiúscula
Retorna O texto em maiúscula
Exemplo de Chamada {uppercase(EsTe É uM TeXtO dE eXeMpLo)} return ESTE É UM TEXTO DE EXEMPLO

Funções matemáticas

As funções matemáticas são usadas para manipular números de várias maneiras. Vários operadores matemáticos são implementados como funções em Campos de cálculo.

Somar

Assinatura {add((parâmetro1; parâmetro2)}
Parâmetros parâmetro1: valor numérico
parâmetro2: valor numérico
Descrição Soma o parâmetro1 e parâmetro2
Retorna A soma do parâmetro1 e do parâmetro2
Exemplo de chamada {add((3.12; 4.83)} return 7.95

subtrair

Assinatura {subtract(parâmetro1; parâmetro2)}
Parâmetros parâmetro1: valor numérico
parâmetro2: valor numérico
Descrição Subtrai o parâmetro1 do parâmetro2
Retorna A diferença do parâmetro2 e Parameter1
Exemplo de chamada {subtract(8; 3)} return 5

multiplicar

Assinatura {multiply(parâmetro1; parâmetro2)}
Parâmetros parâmetro1: valor numérico
parâmetro2: valor numérico
Descrição Multiplica o parâmetro1 e parâmetro2
Retorna O produto do parâmetro1 e parâmetro2
Exemplo de chamada {multiply(2; 4)} return 8

dividir

Assinatura {divide(parâmetro1; parâmetro2)}
Parâmetros parâmetro1: valor numérico
parâmetro2: valor numérico
Descrição Divide parâmetro2 com parâmetro1
Retorna A divisão do parâmetro2 e parâmetro1
Exemplo de chamada {divide(8; 2)} return 4

potência

Assinatura {power(parâmetro1; parâmetro2)}
Parâmetros parâmetro1: valor numérico
parâmetro2: valor numérico
Descrição Eleva o parâmetro1 a potência de Parâmetro2
Retorna Parâmetro1 elevado à potência de

Parâmetro2

Exemplo de chamada {power(2; 7)} return 128

Raiz Quadrada

Assinatura {squareRoot(parâmetro)}
Parâmetros Parâmetro: valor númerico
Descrição Calcula a raiz quadrada do parâmetro
Retorna A raiz quadrada do parâmetro
Exemplo de Chamada {squareRoot(4)}return 2

Absoluto

Assinatura {absolute(parâmetro)}
Parâmetros Parâmetro: valor númerico
Descrição Calcula o valor absoluto do parâmetro
Retorna O valor absoluto do parâmetro
Exemplo de Chamada {absolute(-4)} return 4


Funções de data

Existem várias funções de data implementadas em Calcular Campos, para que o usuário possa manipular datas de várias maneiras. A maioria das funções usa um parâmetro de formato, que é usado para definir o resultado das funções formatadas como o usuário deseja. As opções para esses formatos são equivalentes com os parâmetros do formato PHP:

Formato caracter Descrição Exemplos de retorno
Para dia
d Dia do mês, 2 dígitos com zeros 01 a 31
D Uma representação em texto de um dia, de três letras

letters

Seg a Sex
j Dia do mês sem zeros á esquerda 1 a 31
l Uma representação em texto completa do dia da semana  
N ISO-8691 representação numérica do dia da semana 1 (para segunda-feira) a 7 (para domingo)
w Representação numérica do dia da semana 0 (para domingo) through 6 (para sábado)
z O dia do ano (a partir de 0) 0 a 365
Para semana
W ISO-8601 número de semana do ano, semanas a partir de segunda-feira 42 (a 42ª semana do ano)
Para mês
F Uma representação em texto completa de um mês, como janeiro ou março Janeiro a dezembro
m Representação numérica de um mês, com zeros á esquerda 01 a 12
M Uma breve representação em texto de um mês, de três letras De Jan a Dez
n Representação numérica de um mês, sem zeros à esquerda 1 a 12
t Número de dias do mês indicado 28 a 31
Para ano
L Se é um ano bissexto 1 se for um ano bissexto, 0 caso contrário
o ISO-8601 ano número. Isso tem o mesmo valor que Y, exceto que se o número da semana ISO(W) pertence ao ano anterior ou seguinte, esse ano é usado em vez disso 1999 a 2003
Y Uma representação numérica completa de um ano, 4 dígitos 1999 a 2003
y Uma representação de dois dígitos de um ano 99 a 03
Para tempo
a Minúsculas Ante-Meridiem e Post meridiem am ou pm
A Maiúsculas Ante-Meridiem e Post meridiem AM ou PM
B Swatch tempo de Internet 000 a 999
g Formato de 12 horas com horario sem zeros à esquerda 1 a 12
G Formato 24 horas com horario sem zeros à esquerda 0 a 23
h Formato de 12 horas com horario com zeros à esquerda

zeros

01 a 12
H Formato 24 horas com horario com zeros à esquerda 00 a 23
i Minutos com zeros à esquerda 00 a 59
s Segundos com zeros à esquerda 00 a 59
Para Fuso horário
e Indentificador de fuso horário UTC, GMT, ATlântico / Açores
l Se a data está ou não no horáro de verão 1 se horário de verão, 0 caso contrário
O Diferença em relação ao horário de Greenwich (GMT) em horas +0200
P Diferença em relação ao horário de Greenwich (GMT) com dois pontos entre horas e minutos +02:00
T Abreviatura do fuso horário EST, MDT
Z Deslocamento do fuso horário em segundos. O deslocamento para fuso horário a oeste do UTC é sempre negativo, e para aqueles a leste de UTC é sempre positivo. -43200 a 50400
Para data / Horas completas
c Data ISO 8601 2004-02-12T15:19:21+00:00
r RFC 2822 formatada a data Thu, 21 Dec 2000 16:01:07 +0200
U Segundos desde a Época Unnix(Janeiro 1

1970 00:00:00 GMT)

 

Para todas as funções sem parâmetro timestamp, assumimos que a data / hora atual é 2016.04.29. 15:08:03

Data

Assinatura {date(formato; timestamp)}
Parâmetros formato: formato de texto
timestamp: valor data/tempo
Descrição Cria uma data no formato especificado
Retorna Timestamp no formato especificado
Exemplo de chamada {date(amd; 2016-02-11)} return 16021

Agora

Assinatura {now(formato)}
Parâmetros formato: formato de texto
Descrição Cria a data/hora no formato especificado
Retorna Data / hora atual no formato especificado
Exemplo de Chamada {now(Y-m-d H:i:s)} returns 2016-04-29

15:08:03

Ontem

Assinatura {yesterday(formato)}
Parâmetros formato: formato de texto
Descrição Cria a data / hora de ontem no formato especificado
Retorna Data / hora de ontem no formato especificado
Exemplo de Chamada {now(Y-m-d H:i:s)} returns 2016-04-29

15:08:03

Amanhã

Assinatura {tomorrow(formato)}
Parâmetros formato: formato de texto
Descrição Cria a data / hora de amanhã no formato especificado
Retorna Data / hora de amanhã no formato especificado
Exemplo de Chamada {tomorrow(Y-m-d H:i:s)} returns

2016-04-30 15:08:03

Diferença de datas

Assinatura {datediff(timestamp1; timestamp2; unidade)}
Parâmetros timestamp1: valor de data e hora
timestamp2: valor de data e hora
Unidade: anos/meses/dias/horas/minutos/segundos; Padrão: dias
Descrição Subtrair timestamp1 de timestamp2

Se o parâmetro opcional comprimento não estiver definido, então ele corta todos os caracteres até o final da seqüência, caso contrário corta o comprimento fornecido. Indexação de caracteres de um texto começa a partir de 0.

Retorna A diferença entre as duas datas retornada na unidade
Exemplo de Chamada {datediff(2016-02-01; 2016-04-22; days)}

returns 81

Adicionar anos

Assinatura {addYears(formato; timestamp; quantidade)}
Parâmetros Formato: formato de texto
Timestamp: valor de data e hora
Quantidade: número decimal
Descrição Adiciona quantidade em anos ao timestamp
Retorna Data somada no formato
Exemplo de chamada {addYears(Y-m-d; 2016-04-22; 1)} returns

2017-04- 22

Adicionar meses

Assinatura {addMonths(formato; timestamp; quantidade)}
Parâmetros Formato: formato de texto
Timestamp: valor de data e hora
Quantidade: número decimal
Descrição Adiciona quantidade em meses ao timestamp
Retorna Data somada no formato
Exemplo de chamada {addMonths(Y-m-d; 2016-04-22; 1)} returns

2016-05-22

Adicionar dias

Assinatura {addDays(formato; timestamp; quantidade)}
Parâmetros Formato: formato de texto
Timestamp: valor de data e hora
Quantidade: número decimal
Descrição Adiciona quantidade em dias ao timestamp
Retorna Data somada no formato
Exemplo de chamada {addDays(Y-m-d; 2016-04-22; 1)} returns

2016-04-23

Adicionar horas

Assinatura {addHours(formato; timestamp; quantidade)}
Parâmetros Formato: formato de texto
Timestamp: valor de data e hora
Quantidade: número decimal
Descrição Adiciona quantidade em horas ao timestamp
Retorna Data somada no formato
Exemplo de chamada {addHours(Y-m-d H:i:s; 2016-04-22 23:30;

5)} returns 20160423 04:30:00

Adicionar minutos

Assinatura {addMinutes(formato; timestamp; quantidade)}
Parâmetros Formato: formato de texto
Timestamp: valor de data e hora
Quantidade: número decimal
Descrição Adiciona quantidade em minutos ao timestamp
Retorna Data somada no formato
Exemplo de chamada {addMinutes(Y-m-d H:i:s; 2016-04-22 22:58;

5)} returns 2016-04-22 23:03:00

Adicionar segundos

Assinatura {addSeconds(formato; timestamp; quantidade)}
Parâmetros Formato: formato de texto
Timestamp: valor de data e hora
Quantidade: número decimal
Descrição Adiciona quantidade em segundos ao timestamp
Retorna Data somada no formato
Exemplo de chamada {addSeconds(Y-m-d H:i:s; 2016-04-22 22:58;

5)} returns 2016-04-22 22:58:05

Subtrair anos

Assinatura {subtractYears(formato; timestamp; quantidade)}
Parâmetros Formato: formato de texto
Timestamp: valor de data e hora
Quantidade: número decimal
Descrição Subtrai quantidade em anos ao timestamp
Retorna Data subtraida no formato
Exemplo de chamada {subtractYears(Y-m-d; 2016-04-22; 5)}

returns 2011-04-22

Subtrair anos

Assinatura {subtractYears(formato; timestamp; quantidade)}
Parâmetros Formato: formato de texto
Timestamp: valor de data e hora
Quantidade: número decimal
Descrição Subtrai quantidade em anos ao timestamp
Retorna Data subtraida no formato
Exemplo de chamada {subtractYears(Y-m-d; 2016-04-22; 5)}

returns 2011-04-22

Subtrair meses

Assinatura {subtractMonths(formato; timestamp; quantidade)}
Parâmetros Formato: formato de texto
Timestamp: valor de data e hora
Quantidade: número decimal
Descrição Subtrai quantidade em meses ao timestamp
Retorna Data subtraida no formato
Exemplo de chamada {subtractMonths(Y-m-d; 2016-04-22; 5)}

returns 2015-11-22

Subtrair dias

Assinatura {subtractDays(formato; timestamp; quantidade)}
Parâmetros Formato: formato de texto
Timestamp: valor de data e hora
Quantidade: número decimal
Descrição Subtrai quantidade em dias ao timestamp
Retorna Data subtraida no formato
Exemplo de chamada {subtractDays(Y-m-d; 2016-04-22; 5)}

returns 2016-04-1

Subtrair horas

Assinatura {subtractHours(formato; timestamp; quantidade)}
Parâmetros Formato: formato de texto
Timestamp: valor de data e hora
Quantidade: número decimal
Descrição Subtrai quantidade em horas ao timestamp
Retorna Data subtraida no formato
Exemplo de chamada {subtractHours(Y-m-d H:i:s; 2016-04-22

12:37; 5)} returns 2016-04-22 07:37

Subtrair minutos

Assinatura {subtractMinutes(formato; timestamp; quantidade)}
Parâmetros Formato: formato de texto
Timestamp: valor de data e hora
Quantidade: número decimal
Descrição Subtrai quantidade em minutos ao timestamp
Retorna Data subtraida no formato
Exemplo de chamada {subtractMinutes(Y-m-d H:i:s; 2016-04-22

12:37; 5)} returns 2016-04-22 12:32:00

Subtrair segundos

Assinatura {subtractSeconds(formato; timestamp; quantidade)}
Parâmetros Formato: formato de texto
Timestamp: valor de data e hora
Quantidade: número decimal
Descrição Subtrai quantidade em segundos ao timestamp
Retorna Data subtraida no formato
Exemplo de chamada {subtractSeconds(Ymd H:i:s; 2016-04-22

12:37; 5)} returns 20160422 12:36:55

Funções de controle

Há apenas uma função de controle implementada em Calcular Campos até agora, mas essa função garante que o usuário pode escrever fórmulas muito complexas com condições. Uma vez que as funções podem ser incorporadas umas nas outras, o usuário pode escrever junções com muitos ramos

IfThenElse

Assinatura {ifThenElse(condição; ramoVerdadeiro; ramoFalso)}
Parâmetros Condição:valor lógico
RamoVerdadeiro: qualquer expressão
RamoFalso: qualquer expressão
Descrição Seleciona um dos dois ramos dependendo da condição
Retorna RamoVerdadeiro se a condição for verdadeira, RamoFalso caso o contrário.
Exemplo de chamada {ifThenElse({equal(1; 1)}; 1 equals 1; 1

not equals 1)} returns 1 equals 1