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”.
'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 |