Leia as perguntas frequentes
Novo
Suporte do Bitrix24
Inscrição e autorização
Como Começar?
Feed
Bate-papos e chamadas
Calendário
Bitrix24 Drive
E-mail
Grupos de trabalho
Tarefas e Projetos
CRM
CoPilot - IA no Bitrix24
Contact Center
Telefonia
CRM + Loja On-line
Sales Center (beta)
Análise CRM (beta)
Sales Intelligence (beta)
Criador de BI
Automação
Marketing
Bitrix24.Sites
Loja On-line (beta)
Gerenciamento do inventário
Empresa
Base de conhecimento
Videoconferências em HD
Processos de negócio
Robotic Process Automation (beta)
Market (Aplicativos)
Assinatura
Enterprise
Configurações
Meu perfil
Aplicativo desktop
Aplicativo móvel
Bitrix24 On-premise
Questões Gerais
Novidades do Helpdesk (arquivo)

Suporte Bitrix24

Usar expressões em parâmetros de ação

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 - =.

Exemplo: =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 {{=...}}.
  • Exemplo: Você precisa preencher os documentos antes de {{=DateAdd({=Document:CREATED}, '5d')}}.
  • Ou use o operador de concatenação (&) e ponha o texto entre aspas (").
  • Exemplo: ="Título:" & (1+3) ou ="Autor:" & {=Document:CREATED_BY} & ", " & "Data limite:" & Dateadd({=Document:DATE_CREATE}, "1d").
A sintaxe dos operadores simbólicos é semelhante à sintaxe das funções PHP correspondentes.

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: =dateadd([data inicial], [intervalo de tempo]).

Variações de escritura e exemplos

y, year, years, m, month, months, d, day, days, h, hour, hours, min, minute, minutes, s, second, seconds.

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: =datediff([data1], [data2], [formato de visualização de diferença])

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 - date ('formato de visualização', {data necessária})

WorkDateAdd

Adiciona um número especificado de dias, horas e minutos de trabalho à data indicada.

Sintaxe: =WorkDateAdd([data_inicial], [valor_a_ser_adicionado]).

Variações de escritura e exemplos

d, day, days, h, hour, hours, i, min, minute, minutes. Pode escrever em maiúsculas ou minúsculas.

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: =addworkdays([data a qual será adicionado um número especificado de dias], [o número de dias úteis a serem adicionados]).

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.

{{=addworkdays('16.08.2019 16:14:00', 1)}} - 16 de agosto é uma sexta-feira, portanto o resulado será o seguinte: 19.08.2019 16:14:00 - segunda-feira.

isWorkDay verifica se o dia especificado é um dia útil(no calendário).

Sintaxe: =if(isWorkDay([data em verificação]), [mensagem, se é um dia útil], [mensagem, se não é um dia útil]).

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: =if(isWorkDay([data e hora em verificação]), [mensagem, se a data e a hora correspondem ao horário comercial especificado nas configurações], [mensagem, se não correspondem]).

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:
  • user - usuário, para cujo horário é necessário converter o horário do fluxo de trabalho.
  • date - data inicial, o padrão é a hora atual.

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:
  • user - o usuário para cujo tempo o valor é necessário .
if Especifica a condição.

Sintaxe: =if([condição], [expressão se é verdadeiro], [expressão se é falso])

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: =rand([valor mínimo],[valor máximo]).

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, =rand(17).

Exemplo: =rand(0,10) - gera um número aleatório de 0 a 10.

round Arredonda um número.

Sintaxe: =round([o valor a ser arredondado],[número de casas decimais])

Exemplos:

  • =round(10/3,2) - resultado 3.33.
  • =round(5/2) - resultado 3.

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: substr([cadeia inicial], [a posição do caráter da cadeia inicial a partir da qual será retornada a subcadeia], [comprimento da subcadeia])

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:

  • glue - o padrão é uma cadeia vazia
  • pieces - matriz de cadeias para concatenar.
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:

  • delimiter - delimitador
  • str - cadeia para dividir.
randstring Retorna uma cadeia leatória.
merge Permite combinar arranjos.

Sintaxe: = merge({=arranjo1}, {=arranjo2});

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 shuffle, firstvalue e swirl no exemplo de um fluxo de trabalho. Usando este fluxo de trabalho, você pode definir uma tarefa para um funcionário aleatório da lista e adicionar outro usuário aos participantes.

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 shuffle e vamos pegar o primeiro com firstvalue, este será nosso responsável.

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:
Essa informação foi útil?
Assistência de Especialistas em Integração
Não é o que estou procurando
Texto complexo e incompreensível
Informações estão desatualizadas
Explicação muito breve, preciso de mais informações
Não gosto de como esta ferramenta funciona
Ir ao Bitrix24
Não tem uma conta? Crie grátis