How do I add a field that will auto populate the inherent risk rating result in risk response task?

ChuanYanF
Tera Guru

Dear experts,

 

I would like to add a field which is the inherent risk rating result after the users have completed the risk assessment and the score will be reflected when they create a risk response task in the risk response form. I tried to create a new business rule which is as below. But it does not work, any suggestions to approach this matter?

 

(function executeRule(current, previous /*null when async*/) {
    if (!current.risk_assessment) {
        return;
    }

    var riskAssessment = new GlideRecord('sn_risk_advanced_risk_assessment_instance');
    if (riskAssessment.get(current.risk_assessment)) {
        current.inherent_risk_rating = riskAssessment.summary_inherent_risk_score;
    }
})(current, previous);
1 ACCEPTED SOLUTION

Hi, so I tried and this is the script that is working for now

(function executeRule(current, previous /*null when async*/) {

    if (!current.risk) {
        gs.info("dont have assosciated risk ")
        return; // Skip if there's no linked Risk or if Inherent Risk is already set
    }

    var risk = new GlideRecord('sn_risk_risk');
    if (risk.get(current.risk)) {  
        gs.info(current.risk);
        var assessment = new GlideRecord('sn_risk_advanced_risk_assessment_instance');
        assessment.addQuery('risk', risk.sys_id);
        assessment.orderByDesc('sys_created_on'); // Get the latest assessment
        assessment.query();

        if (assessment.next() && assessment.summary_inherent_risk_score) {  
            current.u_inherent_risk_rating = assessment.summary_inherent_risk_score;
            gs.info('Inherent Risk Score set to ' + assessment.summary_inherent_risk_score + ' for Risk Response Task: ' + current.sys_id);
        }
    }
})(current, previous);

View solution in original post

26 REPLIES 26

Hello @ChuanYanF  
Ok. I got it. So, one assessment can have several risk response tasks created based on where user has clicked the risk response task creation. 

So, there is a "risk" field on the "response task form". This risk field has a section called "Assessment summary" which contains "inherent rating". 

So, you need to create "On insert" Business Rule on "Risk Response task" table. You need to dot walk from the "risk" field to "inherent rating" field. Then you can set whatever field you want in risk response task table to this value. 



Kindly mark my answer as helpful and accept solution if it helped you in anyway. This will help me be recognized for the efforts and also move this questions from unsolved to solved bucket. 

 

Regards,

 

Shivalika 

 

My LinkedIn - https://www.linkedin.com/in/shivalika-gupta-540346194

 

My youtube - https://youtube.com/playlist?list=PLsHuNzTdkE5Cn4PyS7HdV0Vg8JsfdgQlA&si=0WynLcOwNeEISQCY.

I tried using your way and configured like this, but I still cant manage to populate the fields. Here are the screenshots can u help me identify the problems?

ChuanYanF_0-1742541169675.pngChuanYanF_1-1742541181971.pngChuanYanF_2-1742541203555.png

 

Hello @ChuanYanF 

Is the field types of "Inherent risk rating" and "Computed risk" same ? I don't think so. If not, this "Set Values" won't work. 

You need to go by script, dot walking and copy down the value and set it. If its in String form its the best. 


Kindly mark my answer as helpful and accept solution if it helped you in anyway. This will help me be recognized for the efforts and also move this questions from unsolved to solved bucket. 

 

Regards,

 

Shivalika 

 

My LinkedIn - https://www.linkedin.com/in/shivalika-gupta-540346194

 

My youtube - https://youtube.com/playlist?list=PLsHuNzTdkE5Cn4PyS7HdV0Vg8JsfdgQlA&si=0WynLcOwNeEISQCY.

Hello @ChuanYanF 

Something like below:- 

 

(function executeRule(current, previous /*null when async*/) {
    // Access the inherent rating from the related risk record
    var inherentRating = current.risk.inherent_rating;

    // Set the desired field in the Risk Response task table to this value
    current.your_field_name = inherentRating;

})(current, previous);

Please check the field names from backend if everything is correct this should be fine. 

Kindly mark my answer as helpful and accept solution if it helped you in anyway. This will help me be recognized for the efforts and also move this questions from unsolved to solved bucket. 

 

Regards,

 

Shivalika 

 

My LinkedIn - https://www.linkedin.com/in/shivalika-gupta-540346194

 

My youtube - https://youtube.com/playlist?list=PLsHuNzTdkE5Cn4PyS7HdV0Vg8JsfdgQlA&si=0WynLcOwNeEISQCY.




I tried using this script after I modified below but it still does not show.

(function executeRule(current, previous /*null when async*/) {
    // Access the inherent rating from the related risk record
    var inherentRating = current.risk.assessment_instance.summary_inherent_risk_score;

    // Set the desired field in the Risk Response task table to this value
    current.u_inherent_risk_rating = inherentRating;

})(current, previous);