Para essa configuração, vou usar um modelo de proposta.
Para acessar os modelos, clique em:
Administração > Modelos de documento > Selecione o modelo desejado
Vou criar dois campos:
Data de entrega, que é um campo do tipo Data e vai receber a fórmula.
Dias para entrega, que é um campo de Opções pré-cadastradas e recebe as opções para entrega.
Para criar um campo, clique em:
Campos> Proposta > Criar campo
Preencha o Tipo (Opções pré-cadastradas), o Título do campo, e adicione as Opções:
Feito isso, seguimos para a criação do campo de data:
Aqui vamos configurar uma fórmula em "Configurações avançadas".
Selecione a fórmula padrão em "Códigos JS"
Substitua o gatilho pelo "Dias para entrega"
e o "3" por "0".
Agora, vamos configurar a condicional:
if(gatilho==="Entrega no mesmo dia"){
x=0
}
else if(gatilho==="Entrega no dia seginte"){
x=1
}else if(gatilho==="4 dias"){
x=4
}else if(gatilho==="7 dias"){
x=7
}else if(gatilho==="30 dias"){
x=30
}
Na linha:
let date = new Date("[Proposta.Data]");
vamos remover o "[Proposta.Data]" caso queiramos que a data seja calculada a partir do dia de hoje.
Se precisar que seja calculado com base em outro campo de data ou caom a data da proposta, é necessário inserir o campo pelo modal "Campos":
Por fim, somamos 1 na variável x - isso se dá pois o Javascript começa a contar do 0.
Minha fórmula final ficou assim:
(function (gatilho, x) {
if(gatilho==="Entrega no mesmo dia"){
x=0
}
else if(gatilho==="Entrega no dia seginte"){
x=1
}else if(gatilho==="4 dias"){
x=4
}else if(gatilho==="7 dias"){
x=7
}else if(gatilho==="30 dias"){
x=30
}
let date = new Date();
date.setDate(date.getDate() + x+1);
return date.toLocaleDateString("pt-Br");
})("[Proposta.Dias para entrega]", 0);
Clique aqui para ver o teste e um vídeo mostrando dicas extra