Не создаются согласования через скрипт в блоке рабочего процесса User-approval

:speech_balloon: Описание
При использовании скрипта в блоке User-approval, отлаженного через sys_script, не создаются согласования. Формирование anwer в скрипте блока выполняется с использованием метода concat()


:heavy_check_mark: Обходное решение

Использовать временную переменную temp для использования concat(). После сборки всех согласующий выполнять присвоение из переменной temp в answer.

Переменная temp должна быть объявлена через let!

Код, который не работает:

function getOwner(serviceId) {
    const service = new SimpleRecord('sys_cmdb_ci_service');
    service.get(serviceId);
    return service.getValue('owned_by');
}

const services = [
    "163993199017505738",
    "163993198213436423",
    "163993197715813189"
];

services.forEach(service => {
    answer =
        answer.concat(
            getOwner(service)
        );
});

if (current.getValue('service') && current.service.getValue('owned_by')) {
    answer.push(
        current.
        service.
        getValue('owned_by'));
}

return answer;

Код, который будет работать:

function getOwner(serviceId) {
    const service = new SimpleRecord('sys_cmdb_ci_service');
    service.get(serviceId);
    return service.getValue('owned_by');
}

const services = [
    "163993199017505738",
    "163993198213436423",
    "163993197715813189"
];

// const temp = []; unacceptable !!!
let temp = [];

services.forEach(service => {
    temp =
        temp.concat(
            getOwner(service)
        );
});

if (current.getValue('service') &&
current.service.getValue('owned_by')) {
    temp.push(
        current.
        service.
        getValue('owned_by'));
}

answer = temp;
return answer;