Os robôs nativos do Bitrix24 somam dias corridos a uma data e não sabem nada sobre feriados: o prazo de "três dias para pagar a fatura", dado às vésperas de um feriado prolongado, vira um atraso antes mesmo de o cliente ver a fatura. Os robôs da Roboteka calculam os prazos pelo calendário oficial de feriados da Rússia: somam dias úteis levando em conta feriados e remanejamentos, verificam se é dia útil, encontram a próxima data desejada e identificam o dia da semana.

Por que "data + 3 dias" quebra os prazos?

Os intervalos no designer de processos de negócios são corridos: "+3 dias" a partir de sexta dá segunda, e se ela for feriado, o prazo cai num dia não útil, e o vendedor recebe uma tarefa com prazo em 1º de janeiro. O calendário oficial de feriados da Rússia não é só sábados e domingos: feriados, remanejamentos de dias de folga, sábados úteis, e a lista muda todo ano por decreto do Governo. Embutir isso no modelo do processo com recursos nativos não dá — seria preciso manter a lista de datas à mão e ajustar o esquema todo ano. Por isso o cálculo dos prazos é delegado a um robô que consulta sozinho o calendário oficial de feriados atualizado: o esquema do processo continua simples, e os feriados deixam de ser problema dele.

Como somar N dias úteis a uma data?

«Data + N dias úteis (RU)». Entrada: a data de origem e a quantidade de dias úteis; um número negativo conta para trás — por exemplo, um lembrete dois dias úteis antes de um evento. O robô percorre o calendário oficial de feriados da Rússia e pula os dias de folga e os feriados; os sábados úteis remanejados e os dias de véspera de feriado encurtados contam como úteis. Na entrada, a data é aceita nos formatos usuais: AAAA-MM-DD, DD.MM.AAAA ou o valor de um campo do tipo "data" do card. Há duas saídas: a data no formato AAAA-MM-DD — para gravar num campo do tipo "data" — e a mesma data no formato DD.MM.AAAA — para o texto de uma notificação. Exemplo: a fatura foi emitida — o prazo de pagamento daqui a cinco dias úteis é gravado num campo do negócio, sobre ele se cria uma tarefa e se monta a aprovação da fatura.

Como verificar se uma data é dia útil?

«Verificação: a data é dia útil?» recebe uma data e devolve o indicador S/N; o dia de véspera de feriado encurtado conta como útil. Em seguida — a ação nativa "Condição": se N, adiar o envio ou deslocar o prazo. Casos típicos: não enviar e-mails e SMS a clientes em feriados; não agendar ligações em dias de folga; antes de criar uma tarefa, garantir que a data planejada é de fato útil. Se a data for não útil, na ação seguinte some a ela um dia útil com o robô do tópico anterior — você terá o próximo dia útil sem tabelas manuais de remanejamento. A combinação "verificação → condição → deslocamento" ocupa três ações e funciona igual para negócios, leads e tarefas.

Como encontrar a próxima segunda ou o fim do mês?

«Próxima data por condição» busca, a partir da data de origem, a próxima data adequada. Condições: monday…sunday — dia da semana, first-day — dia 1º do mês seguinte, last-day — o último dia do mês atual, next-weekday — o próximo dia útil de semana. Um indicador separado, "incluir a própria data" (padrão N), controla o caso em que a data de origem já é adequada. Há três saídas: a data encontrada nos formatos AAAA-MM-DD e DD.MM.AAAA e o número de dias até ela — cômodo para usar numa pausa do processo até o momento desejado. Exemplos: relatório semanal às segundas, atos no último dia do mês, transferência do pagamento para o dia 1º. A data encontrada é gravada num campo ou variável e segue funcionando como um prazo comum.

Como descobrir o dia da semana de uma data?

«Dia da semana pela data» devolve o número do dia (1 — segunda … 7 — domingo), o nome em russo e em inglês e o indicador "fim de semana" S/N. Importante: o indicador leva em conta apenas sábado e domingo — sobre feriados ele não sabe, para eles há a verificação de dia útil pelo calendário oficial de feriados do tópico acima. Aplicação: lógica diferente do processo conforme o dia da semana — pedidos criados na sexta à tarde, agendar para segunda; o nome do dia é cômodo de inserir no texto de uma notificação ao cliente sem uma tabela manual de correspondência entre número e nome do dia.

Checklist

Prazo pelo calendário da Rússia — "Data + N dias úteis"; verificação antes do envio — "Verificação: a data é dia útil?"; eventos regulares — "Próxima data por condição"; ramificação por dias — "Dia da semana pela data". Esses robôs estão na categoria gerais. Se faltar o robô que você precisa — descreva a tarefa, criamos de graça e adicionamos ao catálogo.