Para oferecer a máxima flexibilidade, os parâmetros de ação de Bitrix24 permitem usar expressões especiais cujos valores são calculados na hora de execução.
Para especificar o valor do parâmetro como uma expressão, ponha um sinal de igual - =
.
=6^2 + {=Document:PROPERTY_NUM}/2
ou =if({Document:ID}=5, "texto1", "texto2")
.Em cada campo podem ser usadas várias expressões diferentes. Se você deseja não apenas realizar um cálculo, mas também exibir dados adicionais (valor da variável, texto), então duas opções estão disponíveis:
- As expressões podem ser simplesmente colocados no texto, basta usar a construção
{{=...}}
. - Ou use o operador de concatenação (
&
) e ponha o texto entre aspas ("
).
Você precisa preencher os documentos antes de {{=DateAdd({=Document:CREATED}, '5d')}}
.Operadores
Ao calcular as expressões em parâmetros de ação, você pode usar vários operadores e funções.Lista de operadoras disponíveis
Operador | Descrição |
---|---|
+
|
Adiciona dois valores. |
-
|
Desconta o segundo valor do primeiro. |
*
|
Multiplica dois valores. |
/
|
Divide o primeiro valor pelo segundo. |
=
|
Retorna o resultado da expressão. |
<>
|
Não é igual. |
<
|
Menos que. |
>
|
Mais que. |
<=
|
Menos que ou igual. |
>=
|
Mais que ou igual. |
()
|
Entre parênteses. |
&
|
Operador de concatenação. Retorna a soma das linhas esquerda e direita em uma nova linha. |
^
|
Potência. |
%
|
Porcentagem. |
true
|
Verdadeiro. |
false
|
Falso. |
and
|
Conectivo lógico E. |
or
|
Conectivo lógico OU.
Exemplo:
=if(or({=Variable:aaa}>2, {=Variable:bbb}<10), "yes", "no") |
not
|
Negação. |
Funções
É possível usar funções ao projetar um fluxo de trabalho. Você pode escolhê-las da lista. Para fazer isso, escreva o sinal de =
no campo e uma lista será aberta.
Lista de funções com exemplos
Função | Descrição |
---|---|
abs
|
Retorna o valor absoluto de um argumento. |
dateadd
|
Adiciona uma quantidade predefinida de dias, meses, anos, horas, minutos e segundos à data indicada.
Sintaxe: Variações de escritura e exemplos
Pode escrever em maiúsculas ou minúsculas. Exemplo:
=Dateadd({=Document:DATE_CREATE}, "-2d") , =Dateadd({=Document:DATE_CREATE}, "2 days 3 minutes") .
Se o número necessário de unidades de tempo para adicionar estiver contido em um campo, variável, etc., use o operador de concatenação Exemplo:
=DateAdd({=Document:DATE_CREATE}, {=Variable:WHAT2ADD} & "y 10h")
|
datediff
|
Retorna a diferença entre as duas datas.
Sintaxe: A diferença pode ser mostrada em várias unidades. Exemplo:
=datediff({=Variable:Variable1}, {=Variable:Variable2},'%m month, %d days') |
date
|
A função exibe a data no formato especificado e funciona de maneira semelhante à função Date no PHP.
Sintaxe - |
WorkDateAdd
|
Adiciona um número especificado de dias, horas e minutos de trabalho à data indicada.
Sintaxe: Variações de escritura e exemplos
Exemplo:
=WorkDateAdd({=Template:Parameter1}, "2d") - o parâmetro contém a data 23.08.2019 .
Resultado - 26.08.2019 09:00:00, porque 24.08 e 25.08 são dias de folga, e o próximo dia de trabalho começa às 09:00:00. Você pode configurar o horário de trabalho e os dias de folga nas configurações da conta Bitrix24. Descubra mais no artigo Página de configurações Bitrix24.
|
AddWorkDays
|
A função adiciona N dias úteis à data indicada.
Sintaxe: Exemplo:
{{=addworkdays('24.12.2019', 1)}} - resultado: 26.12.2019 00:00:00 , porque 25 de dezembro está especificado nas configurações da conta Bitrix24 como feriado.
|
isWorkDay
|
verifica se o dia especificado é um dia útil(no calendário).
Sintaxe: Exemplo:
{{=if(isWorkDay({=Template:Parameter1}), 'Sim', 'Não')}} - o parâmetro contém a data 31.10.2019 . Resultado - Sim, porque é um dia útil. |
isWorkTime
|
Uma função análoga à função isWorkDay , serve para o tipo de dados Data/Hora.
Sintaxe: Exemplo:
{{=if(isWorkTime({=Template:Parameter1}), 'Sim', 'Não')}} - o parâmetro contém a data e a hora úteis 27.04.2016 15:00:00 .
Resultado - Sim.
|
toUserDate
|
A função converte qualquer hora para a hora do funcionário (levando em consideração seu fuso horário).
toUserDate(user,date=now)Parâmetros:
|
GetUserDateOffset
|
A função retorna o valor do deslocamento do fuso horário do usuário em segundos (em relação ao horário do servidor).
GetUserDateOffset(user)Parâmetro:
|
if
|
Especifica a condição.
Sintaxe: Exemplo:
=if ({=Variable:Variable1_printable}>0, "sim", "não")
Ao comparar os valores das variáveis, também é possível comparar variáveis com diferentes tipos de dados. No entanto, as variáveis que estão sendo comparadas devem corresponder à tabela de conversão de tipo (consulte este artigo). |
intval
|
Retorna o valor inteiro da variável.
Exemplo:
=intval("234j4hv5jhv43v53jk4vt5hj4") retorna 234 porque o valor começa com esse número, e o caráter que segue inmediatamente após o "4" não é um número. |
floatval
|
Retorna número (com ponto flutuante). |
numberformat
|
Formata um número com os milhares agrupados. |
min
|
Retorna o mínimo dos dois valores. |
max
|
Retorna máximo dos dois valores. |
rand
|
Retorna um número aleatório.
Sintaxe:
O valor mínimo é ogrigatório para indicar. Se você não quiser limitar o valor máximo, não o indique na expressão. Por exemplo, Exemplo:
=rand(0,10) - gera um número aleatório de 0 a 10.
|
round
|
Arredonda um número.
Sintaxe: Exemplos:
|
ceil
|
Arredonda um valor para cima.
Exemplo:
=ceil(5.5) resultado 6. |
floor
|
Arredonda um valor para baixo.
Exemplo:
=floor(5.5) resultado 5. |
substr
|
Retorna a parte de uma cadeia como especificado nos dois últimos parâmetros. Esta função é semelhante à do PHP, consulte Manual de PHP para obter mais informações.
Sintaxe: Lembre-se de que a linha começa com o caractere numerado 0. Observe que na cadeia 'abcdef' o caráter 'a' está na posição 0, e o 'c' está na posição 2. Exemplo: a expressão
{{=substr("0123456789", 3, 4)}} retornará a seguinte subcadeia: 3456 ..
Atenção! Se houver um erro em uma expressão, a mesma não será calculada e ficará como texto.
|
strpos
|
Retorna a posição da primeira ocorrência de uma subcadeia.. |
strlen
|
Retorna o tamanho de uma cadeia. |
implode
|
Junta elementos de uma matriz em uma cadeia. É útil quando você precisa exibir os valores de múltiplas variáveis no texto com um separador não padrão (o padrão é uma vírgula). Análago do implode no PHP. Retorna uma cadeia contendo a representação da cadeia de todos os elementos da matriz na ordem especificada, com o valor glue entre cada elemento.
implode(glue,pieces) Parâmetros:
|
explode
|
A função divide a cadeia usando um delimitador. É útil quando você precisa dividir uma cadeia e atribuir partes como um valor a uma variável múltipla. Análago de explode no PHP. Retorna uma matriz de cadeias obtida pela divisão de cadeia str usando delimiter como delimitador.
explode( delimiter, str) Parâmetros:
|
randstring
|
Retorna uma cadeia leatória. |
merge
|
Permite combinar arranjos.
Sintaxe: Exemplo:
= merge({=Document:FILES}, {=Variable:file}) . |
urlencode
|
Codifica uma URL. |
strtolower
|
Converte uma cadeia em minúsculas. |
strtoupper
|
Converte uma cadeia em maiúsculas. |
ucwords
|
Converte em maiúscula o primeiro caractere de cada nova palavra na cadeia. |
firstvalue
|
Retorna o primeiro valor de um campo múltiplo. |
swirl
|
Move o primeiro valor de um campo múltiplo para o final. Um campo múltiplo é fornecido à entrada, na saída obtemos os valores deslocados em um passo para a esquerda, ou seja, o primeiro valor está no final. A mudança é sempre um passo. |
shuffle
|
Mistura o valor de um campo múltiplo. Análogo do shuffle no PHP. Um campo múltiplo é fornecido na entrada, na saída obtemos valores mistos deste campo múltiplo.
Exemplo
Vamos considerar o trabalho das funções O fluxo de trabalho usa uma variável múltipla Usuários, que armazena uma lista de funcionários.
Primeiro, vamos misturar a lista de usuários com Depois, vamos mudar esta lista com swirl e vamos pegar o primeiro com firstvalue , este será nosso participante.
Em seguida, vamos preencher os parâmetros da tarefa. Depois do lançamento do fluxo de trabalho, funcionários aleatórios serão adicionados à tarefa como responsável e participante. |
Artigos recomendados: