- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-17-2016 11:03 AM
The client has an application in the navigator to show their tickets.
One of these runs from a database view linking tasks to SLA's and so on.
I reworked it a little while ago to use a script include instead of a number of filters and it runs happily
For some new features, I need to be able to do a few more advanced queries based on a function which then determines what values i look for in a field and indeed what tables get queries.
So instead of having to rewrite this each time, i am a fan of trying to read data from a table or the sys properties so the code remains and the results can be extended or tweaked by adding / modifying data (and therefore no Change Requests)
so, my code is running fine when I run it as a backgroun script
gs.log(new myWorld().mine())
and in this case it is limited to returning me some CHG records
*** Script: myWorld mine : e89170136fe2ca40e87f715dbb3ee4c2 : true : true : it : IT : change_request
*** Script: CHG0036974,CHG0036908,
In the script, the user Id is obtained by gs.getUserID()
the groups are obtained by a gs.getUser().getMyGroups() call
and in the above I am using gs.getProperty to read some values from the sys_properties table
Now, if I run it from the navigator application module, it is not perform any ANY of the gs.getProperty calls
I can tell this as if I leave it to run, I see no records.
If I put some values in it then returns data
I also tried to query directly against the sys_properties table and it still seems to return no values
So why can it get the userId and groups, but not these properties ?
also I am struggling to do any debug on it as when it runs as a background script the gs.log line prints and adds to the script log, but when called from the app menu it does not.
any ideas anyone ?
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-19-2016 03:05 PM
In the end I have created a new table to do this
propertyname value
Running a gliderecord query against that works
no idea why gs.getProperty fails.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-19-2016 03:05 PM
In the end I have created a new table to do this
propertyname value
Running a gliderecord query against that works
no idea why gs.getProperty fails.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-20-2016 09:58 PM
Hi Julian,
Is it possible your code is running client-side?
You cannot use gs.getProperty() client-side but there is a client-side GlideRecord that would still run, allowing you to query... That might explain the disparity.
It also explains why other glidesystem calls are not working (log, etc.)
Thanks,
-Brian
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-21-2016 04:32 AM
Hi Brian
I did think that so I had a try / catch around the gs.getproperty so if there is an error, or the resulting value was empty, then it will call AJAX routine I have (I pass what property I am after and it returns the value)
That did not work either
It is not a rights issue as I was testing with my account which is an admin
also trying to use a glidrrecord against sys_properties itself did not work.
i have it working via the new table so no great issue - just annoying
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-23-2016 11:46 AM
Oh well back here again for something else.
I have a script include which at one point was just a function,. now it is a class
first one
function getPropertySI()
{
return 'fred';
}
second one
var getPropertySI = Class.create();
getPropertySI.prototype = {
doit: function() {
return 'fred';
},
type: 'getPropertySI'
};
both via a background script return the value I expect
putting this as a filter on a navigator menu and it returns fred via both methods
i try this
var getPropertySI = Class.create();
getPropertySI.prototype = {
doit: function() {
var strReturn = gs.getProperty("instance_name");
return 'fred ' + strReturn;
},
type: 'getPropertySI'
};
and I can see I get 'fred ' undefined
works fine as a background script and is not a rights issue as i am running as myself.
Any ideas ?