- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-18-2024 11:26 AM
The Area field has the options:
ti and seg: IT in the field system: APP, BRM, CAPTA, GPP
SEG in the system field: SMS, IMS, ACS
Now the problem is, I need to reference it multiple times, so when the Area field is selected the following are presented in the Service Type field:
TI
- Configuration
- Maintenance
- Customization
- Installation
- Consulting
- Backup and Recovery
- Training
- Request
SEG
- Configuration
- Maintenance
- Backup and Recovery
- Training
- Request
- Incident
some fields are repeated and so I am unable to reference them, the first reference I did this way
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-19-2024 05:45 PM
Start with creating a new Script Include; for that open module "System Definition ↳ Script Includes":
Make sure there is no script include named "Tickets" already (in scope Tickets Register):
Start the creation of a new record by clicking New.
In the new Script Include record set fields:
- Name to Tickets
- Script to
var Tickets = Class.create(); Tickets.prototype = { 'initialize': function () { this._dependentValue = typeof dependent_value == 'undefined' ? '' : dependent_value; this._sessionLanguage = 'en'; // gs.getSession().getLanguage(); }, 'getSericeTypesForArea': function () { return this._getChoiceList(); }, 'type': 'Tickets', '_addRecordToChoice': function (glideChoiceList, record) { glideChoiceList.add(record.value, record.label); return glideChoiceList; }, '_getChoiceList': function () { return new GlideQuery('sys_choice') .where('name', 'x_1316384_tickets_tickets') .where('element', 'service_type') .where('language', this._sessionLanguage) .where('inactive', false) .where('dependent_value', 'CONTAINS', this._dependentValue) .limit(999) .orderBy('sequence') .select(['label', 'value']) .reduce(this._addRecordToChoice, new GlideChoiceList()); }, };
Save the record.
Open up the dictionary record for field "Service type"; switch view to Advanced, otherwise field Attributes will not be displayed:
Modify field Attributes by adding text:
choice_script=new Tickets().getSericeTypesForArea()
like this:
If there is some text in there already, place a comma between the existing and the new text.
E.g: if it already contains:
edge_encryption_enabled=true
like this:
the value for Attributes will become:
edge_encryption_enabled=true,choice_script=new Tickets().getSericeTypesForArea()
like this:
That's all there is to it.
Now for each choice for field "Service Type" you have to update field "Dependent value".
In case of "Service Type" choices that should only show for "Area" ti, the value in "Dependent value" should be ti (not ti,seg).
In case of "Service Type" choices that should only show for "Area" seg, the value in "Dependent value" should be seg (not ti,seg).
In case of "Service Type" choices that should show for both "Area" choices, the value in "Dependent value" should be ti,seg as is now.
Of course should you add more "Area" choices, you would just add it to the "Dependent value" as needed.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-19-2024 05:45 PM
Start with creating a new Script Include; for that open module "System Definition ↳ Script Includes":
Make sure there is no script include named "Tickets" already (in scope Tickets Register):
Start the creation of a new record by clicking New.
In the new Script Include record set fields:
- Name to Tickets
- Script to
var Tickets = Class.create(); Tickets.prototype = { 'initialize': function () { this._dependentValue = typeof dependent_value == 'undefined' ? '' : dependent_value; this._sessionLanguage = 'en'; // gs.getSession().getLanguage(); }, 'getSericeTypesForArea': function () { return this._getChoiceList(); }, 'type': 'Tickets', '_addRecordToChoice': function (glideChoiceList, record) { glideChoiceList.add(record.value, record.label); return glideChoiceList; }, '_getChoiceList': function () { return new GlideQuery('sys_choice') .where('name', 'x_1316384_tickets_tickets') .where('element', 'service_type') .where('language', this._sessionLanguage) .where('inactive', false) .where('dependent_value', 'CONTAINS', this._dependentValue) .limit(999) .orderBy('sequence') .select(['label', 'value']) .reduce(this._addRecordToChoice, new GlideChoiceList()); }, };
Save the record.
Open up the dictionary record for field "Service type"; switch view to Advanced, otherwise field Attributes will not be displayed:
Modify field Attributes by adding text:
choice_script=new Tickets().getSericeTypesForArea()
like this:
If there is some text in there already, place a comma between the existing and the new text.
E.g: if it already contains:
edge_encryption_enabled=true
like this:
the value for Attributes will become:
edge_encryption_enabled=true,choice_script=new Tickets().getSericeTypesForArea()
like this:
That's all there is to it.
Now for each choice for field "Service Type" you have to update field "Dependent value".
In case of "Service Type" choices that should only show for "Area" ti, the value in "Dependent value" should be ti (not ti,seg).
In case of "Service Type" choices that should only show for "Area" seg, the value in "Dependent value" should be seg (not ti,seg).
In case of "Service Type" choices that should show for both "Area" choices, the value in "Dependent value" should be ti,seg as is now.
Of course should you add more "Area" choices, you would just add it to the "Dependent value" as needed.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-18-2024 04:32 PM
Hi @Arthur Sanchez ,
You are on the right track.
For multiple reference you need to make an entry for the the "Service Type" similar to the system field.
For e.g., in incident for we have category, subcategory dependent on category. Also as per your requirement I added a new field Subsubcategory which is also dependent on category as below.
For Multiple reference we add the choices in the "Subsubcategory" field similar to the "Subcategory".
Now when we select a category let say "Inquiry/ Help" then the Subcategory and Subsubcategory will be Antivirus which we configured on the choice list dependent on the category filed in your it will be "Area".
For the choice list with repeated data you need to create entry for TI and SEG separately.
Hope this helps.
Please consider marking my reply as Helpful and/or Accept Solution, if applicable. Thanks!
Regards,
Tabassum Sultana
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-19-2024 09:32 AM
my area:
my system:
my Service Type:
my rule:
TI
- Configuration
- Maintenance
- Customization
- Installation
- Consulting
- Backup and Recovery
- Training
- Request
SEG
- Configuration
- Maintenance
- Backup and Recovery
- Training
- Request
- Incident
I'm creating the entire application through the studio, and I have no idea how to make a reference that follows the rule, because the dependent fields only accept 1 parameter and I'M LOST
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-19-2024 09:47 AM
Defined your Reference field as a "List" type, those accept multiple values. filter the sys_dictionary table with "Type", "is", "List" to see those OOB fields.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-19-2024 11:21 AM