Объедините поля в 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);

Надеюсь, вам это тоже пригодится.