Casos de uso de script de programação
Um script de regra de negócio especifica as ações executadas pela regra de negócio. Os scripts geralmente incluem variáveis globais predefinidas para fazer referência a itens em seu sistema, como o registro atual. Variáveis globais estão disponíveis para todas as regras de negócio.
Calcule a duração de acordo com uma programação
Tipo: Antes de atualizar/inserir regra de negócio.
Descrição: Uma duração de negócios calcula a duração de abertura para fechamento em um incidente com base no específico Criação e uso de cronogramas . Se não houver programação especificada, o script simplesmente usará a primeira programação retornada pela consulta.
Exemplo de script:
var gr_rec = new GlideRecord('incident');
gr_rec.get('ed92e8d173d023002728660c4cf6a7bc');
if (gr_rec.incident_state == 6) {
var dur = calcDurationSchedule(gr_rec.opened_at, gr_rec.sys_updated_on);
}
function calcDurationSchedule(start, end){
// Get the user
var usr = new GlideRecord('sys_user');
usr.get(gs.getUserID());
// Create schedule - pass in the sys_id of your standard work day schedule and pass in the users timezone
var sched = new GlideSchedule('08fcd0830a0a0b2600079f56b1adb9ae',usr.time_zone);
// Get duration based on schedule/timezone
return(sched.duration(start.getGlideObject(), end.getGlideObject()));
}Verifique as próximas datas de rescisão
Tipo: Script programado.
Descrição: Este script verifica todas as noites se há datas de rescisão em contratos futuros em 90, 50 ou 10 dias (dependendo do campo de duração do contrato).
Exemplo de script:
function contractNoticeDue(){
var now_GR = new GlideRecord("contract");
now_GR.addQuery("u_contract_status","Active");
now_GR.query();
while(now_GR.next()){
if((now_GR.u_termination_date<= gs.daysAgo(-90))&&(now_GR.u_contract_duration=="Long")){
now_GR.u_contract_status="In review";}
elseif((now_GR.u_termination_date<= gs.daysAgo(-50))&&(now_GR.u_contract_duration=="Medium")){
now_GR.u_contract_status="In review";}
elseif((now_GR.u_termination_date <= gs.daysAgo(-10))&&(now_GR.u_contract_duration=="Short")){
now_GR.u_contract_status="In review";}
now_GR.update();
}
}- Comparando dois campos de data.
- Analisando cargas XML.
- Anular uma ação de banco de dados em uma regra de negócios.
- Especifique a operação que aciona a regra de negócio.
- Use o bloco de anotações com regras de negócios de exibição para mudar os valores do formulário imediatamente antes de um usuário carregar o formulário.
- Use a condição OU como você faria em um construtor de condições.
Você também pode utilizar a funcionalidade de script do sistema disponível para scripts do lado do servidor.
Você pode usar opções no formulário Regras de negócio para criar condições, definir valores de campo e exibir mensagens de alerta sem precisar escrever um script.