How to display related records with UI Macro like in Incident form

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-27-2017 01:04 PM
Hi,
I am still trying to improve my very first scoped application and would like to show related records for a member. Same way how it is done in the incident form. So I created the reference contribution to the table that contains the records I want to display. Member is a referenced field to the member table.
Then I created a UI Macro called member_show_requests. Yes, I copied the user_show_incidents UI macro because I thought it is a similar request.
But I guess I tried to make my life too easy. It is not working.
What am I missing?
I spend a lot of time trying to get this to work but don't know where to look.
--------------------------------------------------------------
<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
<g:evaluate var="jvar_guid" expression="gs.generateGUID(this);" />
<j:set var="jvar_n" value="show_my_records_table_${jvar_guid}:${ref}"/>
<g:reference_decoration id="${jvar_n}" field="${ref}"
onclick="showRelatedList('${ref}'); "
title="${gs.getMessage('Show related records')}" image="images/icons/tasks.gifx"/>
<script>
// show related list
function showRelatedList(reference) {
try {
var displayValue = g_form.getDisplayBox(reference).value;
var title = 'Showing records related to: ' + displayValue;
var s = reference.split('.');
var referenceField = s[s.length - 1];
var query = referenceField + '=' + g_form.getValue(reference);
var gdw = new GlideModal('show_list');
gdw.setTitle(title);
gdw.setSize(750);
gdw.setPreference('table', 'my_records_list');
gdw.setPreference('sysparm_query', query);
gdw.setPreference('title', 'Related records');
gdw.render();
} catch (e) {
jslog('error showing related list');
jslog(e);
}
}
</script>
</j:jelly>

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-28-2017 04:47 PM
What is the name of your table? You called it the 'member' table, but the code suggest it is my_records (based on my_records_list). I'm guessing since it is a custom table it is not actually my_records but is probably something like u_member. In which case the table reference should be 'u_member_list'.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-28-2017 06:39 PM
Hi Joe,
Thank you for getting back to me.
Maybe I should describe my scenario:
I have a table HIPAA requests "x_conym_hipaa_req_hipaa_insurance_record_requests" and I have a table member "x_conym_hipaa_req_member". When I go to the form that maintains the HIPAA requests I would like to show what other HIPAA requests the member has filed. Just like in Incidents. What do I do wrong or what am I missing.
This is what I have done so far:
- I set up the attribute for the member in HIPAA table "x_conym_hipaa_req_hipaa_insurance_record_requests"
- I created a UI Macro called "member_show_requests" and I changed it based on your question
- Shouldn't I be seeing the tasks icon next to the member in my HIPAA form. Yes, the member has another record in the HIPAA table?
- Just to show the record in the member table "x_conym_hipaa_req_member".

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-29-2017 05:07 AM
This worked for me for a custom scope and table (x_snc_jdmtestapp_test_app) and a custom ui macro (x_snc_jdmtestapp_member_show_requests) based on the user_show_incidents macro. Make sure you use the fully qualified scope name for the macro in the dictionary entry. Below is the macro and my results.
<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
<g:evaluate var="jvar_guid" expression="gs.generateGUID(this);" />
<j:set var="jvar_n" value="show_incidents_${jvar_guid}:${ref}"/>
<g:reference_decoration id="${jvar_n}" field="${ref}"
onclick="showRelatedList('${ref}'); "
title="${gs.getMessage('Show related incidents')}" image="images/icons/tasks.gifx"/>
<script>
// show related list
function showRelatedList(reference) {
try {
var displayValue = g_form.getDisplayBox(reference).value;
var title = 'Showing records related to: ' + displayValue;
var s = reference.split('.');
var referenceField = s[s.length - 1];
var query = referenceField + '=' + g_form.getValue(reference);
var gdw = new GlideModal('show_list');
gdw.setTitle(title);
gdw.setSize(750);
gdw.setPreference('table', 'x_snc_jdmtestapp_test_app_list');
gdw.setPreference('sysparm_query', query);
gdw.setPreference('title', 'A New Title');
gdw.render();
} catch (e) {
jslog('error showing related list');
jslog(e);
}
}
</script>
</j:jelly>

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-29-2017 12:58 PM
Hi Joe,
Did not work for me.
Ok, I did what you said. No Task icon next to the member?????
I cannot even run it. Is it correct the only entry you changed in your UI Macro was the one for the table?
Do I have to do something with System Properties.
I remember I had to add some entries before I could color the button or customize the list for activities.
The UI Macro
The dictionary entry for the member