Script pour créer une tâche
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-06-2024 06:59 AM
Bonjour, je voudrais comprendre pourquoi mon script ne fonctionne pas.
// Script pour la règle Business Rules "Envoyer une tâche pour suivi client"
// Définir les variables
var contrat = current; // Remplacer sys.getCaller() par current pour accéder à l'incident actuel
var dateDerniereVisiteClient = contrat.getValue("u_date_de_la_derniere_visite_client"); // Accéder aux champs du contrat via current.getValue()
var dateDebut = contrat.getValue("u_datedebut");
var frequenceVisite = contrat.getValue("u_frequence_de_visite");
var responsable = contrat.getValue("assigned_to"); // "charger" n'est pas un terme usuel en français, "responsable" est plus approprié
// Vérifier les conditions
if (dateDerniereVisiteClient === null) { // === est plus précis que == pour comparer des valeurs null
dateDerniereVisiteClient = dateDebut;
}
// Calculer la date de la prochaine visite
var dateProchaineVisite = calculerDateProchaineVisite(frequenceVisite);
// Vérifier si la date de la prochaine visite est dépassée
if (dateProchaineVisite.getTime() < new Date().getTime()) {
// Créer la tâche
var task = new GlideRecord('task'); // Remplacer sys.Task() par GlideRecord('task') pour créer une nouvelle tâche
task.setValue('title', 'Suivi client');
task.setValue('assigned_to', responsable);
task.setValue('description', "La date de la prochaine visite est dépassée. Veuillez contacter le client.");
// Enregistrer la tâche
task.insert(); // Remplacer task.save() par task.insert() pour enregistrer la nouvelle tâche
}
// Fonction pour calculer la date de la prochaine visite
function calculerDateProchaineVisite(frequenceVisite) {
var dateCourante = new Date();
switch (frequenceVisite) {
case "mensuelle":
dateCourante.setMonth(dateCourante.getMonth() + 1);
break;
case "trimestrielle":
dateCourante.setMonth(dateCourante.getMonth() + 3);
break;
case "semestrielle":
dateCourante.setMonth(dateCourante.getMonth() + 6);
break;
case "annuelle":
dateCourante.setFullYear(dateCourante.getFullYear() + 1);
break;
}
return dateCourante;
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-06-2024 07:02 AM
le besoin est que quand la date des champs ("u_datedebut") ou ("u_frequence_de_visite") et depassé, la personne a qui le contrat est assigné recoit une tache.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-06-2024 09:56 AM
Hi @Hicham-dev ,
Add the highlighted line in your code and test.
-Thanks,
AshishKM
Please mark this response as correct and helpful if it helps you can mark more that one reply as accepted solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-06-2024 10:31 AM - edited 03-06-2024 10:34 AM
Vérifiez le paramètre de fonction et la variable utilisés dans l'instruction switch, ils ne correspondent pas
Remarque : Google Translate est utilisé pour la langue
Please mark this response as correct and helpful if it helps you can mark more that one reply as accepted solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-07-2024 02:47 AM
Bonjour @AshishKM voici le script corrigé