Need to visible "Add" button in related list in problem form when state is closed

Asha Pathak
Tera Contributor

When state is new , it shows the Add button in related list

AshaPathak_0-1711913734784.png

But when state is closed , it does not show the Add button on related list

AshaPathak_1-1711913848927.png

 


Is there any way to show Add button in related list when state is closed

 

2 ACCEPTED SOLUTIONS

Hi @Asha Pathak I am using OR condition here so as long as the parent table is problem, the 1st condition (parent.sys_class_name == 'problem') will execute and will ignore the other condition (parent.active == true), for other tables the parent.active will be true. this way there is no impact for other tables and condition works as expected.

 

Does it work? If yes please accept the solution:)

Regards
Harish

View solution in original post

HI @Asha Pathak after checking itseems OOB servicenow you cannot add a CI to the closed records, we would need to do a changes to the OOB script include AssociateCIToTask.

 

Modified script:

    script include: AssociateCIToTask
function to modify: _isValidTask
    _isValidTask: function(id) {
        var gr = new GlideRecord('task');
        //return gr.get(id) && gr.active; // need to remove gr.active here to add Ci
        gs.info("ID==>"+ gr.get(id));
        return gr.get(id);
    },
HarishKM_0-1712109175219.png

After modifying the above function CI gets added to the closed records

HarishKM_1-1712109206367.png

 

Regards
Harish

View solution in original post

26 REPLIES 26

Hi @Asha Pathak right click over there under affected ci related list and go to UI Action and open the UI action "ADD" and share the conditions to me

HarishKM_0-1712046133134.png

 

Regards
Harish

Hi @Asha Pathak updated the condition for problem record to show add button if state is closed if parent table is problem then add button will be visible and it will not check for parent.active.

 

Cond:

RP.isManyToMany() && (new ChangeProposed(parent)).canAddCI() && current.canCreate() && (parent.sys_class_name == 'problem' || parent.active == true) && gs.getProperty('com.snc.task.associate_ci').indexOf(parent.sys_class_name) > -1

 

 

Regards
Harish

@Harish KM how it works (parent.sys_class_name == 'problem' || parent.active == true) ?

Hi @Asha Pathak I am using OR condition here so as long as the parent table is problem, the 1st condition (parent.sys_class_name == 'problem') will execute and will ignore the other condition (parent.active == true), for other tables the parent.active will be true. this way there is no impact for other tables and condition works as expected.

 

Does it work? If yes please accept the solution:)

Regards
Harish