Объедините поля в ServiceNow с линией между полями
Здесь мы рассмотрим использование метода JavaScript join () и разделителя ’\ n’ для объединения полей.
Предположим, у нас есть требование, по которому нам нужно объединить поля sub_category, category, sub_category и short_description в description поле с линией между полями.
В этом примере мы будем использовать бизнес-правило До, которое запускается в таблице инцидентов при изменении одного из трех полей: Категория, Подкатегория или Краткое описание. Первое, что нужно сделать, это объявить переменные для хранения метки поля и значения в одной строке. Для получения метки поля мы используем getLabel ().
var cat = current.category.getLabel()+”: “+current.category; var subCat = current.subcategory.getLabel()+”: “+current.subcategory; var shortDesc = current.short_description.getLabel()+”: “+current.short_description;
Затем мы используем метод join () и разделитель «\ n». Метод join () объединяет поля и возвращает многострочную строку.
var myString = [cat, subCat,shortDesc].join('\n');
current.description = myString;
Вот пример бизнес-правила До
(function executeRule(current, previous /*null when async*/ ) { //The method.getLabel() returns the field's label and current.fieldName returns the value in the field. var cat = current.category.getLabel()+": "+current.category; var subCat = current.subcategory.getLabel()+": "+current.subcategory; var shortDesc = current.short_description.getLabel()+": "+current.short_description;
//The method join and delimiter '\n' join the set of fields and return multi-line string var myString = [cat, subCat,shortDesc].join('\n'); current.description = myString; })(current, previous);
Надеюсь, вам это тоже пригодится.