Planification des cas d’utilisation du script
Un script de règle métier spécifie les actions entreprises par la règle métier. Les scripts incluent généralement des variables globales prédéfinies pour référencer des éléments dans votre système, tels que l’enregistrement actuel. Les variables globales sont disponibles pour toutes les règles métier.
Calculer la durée selon une planification
Type : règle métier Avant la mise à jour/l’insertion.
Description : une durée d’activité calcule la durée d’ouverture à fermeture d’un incident en fonction de la création et de l’utilisation de calendriers. Si aucun calendrier n’est spécifié, le script utilisera simplement le premier calendrier renvoyé par la requête.
Exemple 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()));
}Vérifier les dates d’arrêt à venir
Type : script planifié.
Description : ce script vérifie la nuit les dates de résiliation des contrats arrivant à échéance dans 90, 50 ou 10 jours (selon le champ Durée du contrat).
Exemple 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();
}
}- Comparaison de deux champs de date.
- Analyse des charges utiles XML.
- Abandon d’une action de base de données dans une règle métier.
- Spécifiez l’opération qui déclenche la règle métier.
- Utilisez le bloc-notes avec les règles métier d’affichage pour modifier les valeurs du formulaire juste avant qu’un utilisateur ne charge le formulaire.
- Utilisez la condition OU comme vous le feriez dans un créateur de conditions.
Vous pouvez également utiliser la fonctionnalité de script du système disponible pour les scripts côté serveur.
Vous pouvez utiliser les options du formulaire Règles métier pour créer des conditions, définir des valeurs de champ et afficher des messages d’alerte sans avoir besoin d’écrire un script.