- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-20-2021 01:26 AM
I have custom tables that also have Flows that attach themselves.
I'm trying to replicate the "Flow Context" UI action on a custom table so that I can see these active flows, however the default solution thats used for RITMs obviously does not work.
How can this be modified to work correctly?
function showFlowContext () {
var url = new GlideURL('catalog_flow_context.do');
url.addParam('sysparm_sys_id', g_form.getUniqueValue());
url.addParam('sysparm_ck', g_form.getValue("sysparm_ck"));
g_navigation.open(url.getURL(), "_blank");
}
Currently it obviously does not redirect me to the correct place, the custom table does not have a sysparm_ck value.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-20-2021 06:08 PM
I managed to resolve this myself with an Ajax call.
function showFlowContext() {
var id = g_form.getUniqueValue();
var ga = new GlideAjax('AjaxUtils');
ga.addParam('sysparm_name', 'getFlowContext');
ga.addParam('sysparm_id', id);
ga.getXMLAnswer(getValue);
function getValue(response) {
var answer = JSON.parse(response);
if (answer["success"] == "true") {
g_navigation.open('/$flow-designer.do#/operations/context/' + answer.id, "_blank");
}
}
}
var AjaxUtils = Class.create();
AjaxUtils.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {
getFlowContext: function(){
var id = this.getParameter('sysparm_id');
var ctx = new GlideRecord("sys_flow_context");
ctx.addEncodedQuery("source_table=table_name_here^source_record="+id);
ctx.query();
if(ctx.next()){
var results = {
"success":"true",
"id":ctx.getUniqueValue()
};
return JSON.stringify(results);
}
gs.addErrorMessage("Flow Context does not exist for this record.");
var results = {
"success":"false"
};
return JSON.stringify(results);
},
type: 'AjaxUtils'
});
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-11-2022 08:35 AM
If you have multiple flows associated to a single record, how would you modify the UI Action and Script Include to show all of them in one window?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-28-2022 10:41 AM
Hello, this is a very late reply but this is how you would do that:
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-28-2022 10:43 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-28-2024 03:14 AM
It worked, thank you
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-29-2022 02:23 PM
This is the one that finally worked for me:
var gr = new GlideRecord('sys_flow_context');
gr.addQuery('source_record', current.sys_id);
gr.query();
if (gr.next()) {
var url = '$flow-designer.do?sysparm_nostack=true#/operations/context/' + gr.sys_id.toString();
action.setRedirectURL(url);
} else {
gs.addErrorMessage("Record not found");
action.setRedirectURL(_blank);
gs.info(gr.sys_id);
}
