The Now Platform® Washington DC release is live. Watch now!

Help
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

All Posts

Using the MRVS internal name is the right approach.  It's going to be easier to do this on a server-side script, like a workflow Run Script / Approval activity, or Business Rule.  Do you need to see ... See more...
Using the MRVS internal name is the right approach.  It's going to be easier to do this on a server-side script, like a workflow Run Script / Approval activity, or Business Rule.  Do you need to see the list collector variable populated on the form before the record is submitted?  You are running this script onChange of which variable? Start with getting the MRVS JSON string without parsing it to confirm the value: var gr = g_form.getValue('appuser_mrvs'); alert(gr); If you're getting the expected value, add back in the parse, then check the number of rows var gr = JSON.parse(g_form.getValue('appuser_mrvs')); var numerOfRows = gr.length; alert(numberOfRows);
Hi Michael,    Thank you for sharing this solution!   What kind of performance are you getting out of this?  We are are looking for a faster way to upload documents than the out of box EDM bulk upl... See more...
Hi Michael,    Thank you for sharing this solution!   What kind of performance are you getting out of this?  We are are looking for a faster way to upload documents than the out of box EDM bulk upload utility.   It's taking us around 4 hours to bulk upload about 7000 records with attachments around size of 20KB.   
Yes, I have done this for the 2 fields on our Employee form but when the customer answers "Returning on expected date" the Leave specialist on the LCE Case sees the choice as "3."
Were you able to figure out the issue? I am having a similar issue where external emails in the watchlist are not getting sent notifications consistently. The activity feed and logs state they are be... See more...
Were you able to figure out the issue? I am having a similar issue where external emails in the watchlist are not getting sent notifications consistently. The activity feed and logs state they are being sent, but upon testing, they never actually get delivered. Any ideas?    Thanks. 
Hi @aguanci Yo can map this within the Employee form as seen below. Again, make sure the condition will only match one record otherwise you will not be able to push the values to the fields in the fo... See more...
Hi @aguanci Yo can map this within the Employee form as seen below. Again, make sure the condition will only match one record otherwise you will not be able to push the values to the fields in the form.    
Hi Shantharao,   Below steps may help fulfill this: 1. Login to UI as Admin:  2. Navigate to the ‘Messages’ module under the ‘System UI’ Application 3. Create a New message 3. Fill the ‘Key’ fi... See more...
Hi Shantharao,   Below steps may help fulfill this: 1. Login to UI as Admin:  2. Navigate to the ‘Messages’ module under the ‘System UI’ Application 3. Create a New message 3. Fill the ‘Key’ field with the existing session timeout error. Eg: ‘Oops! Your session has timed out. Do not worry, login now pickup where you left’ 5. Leave the Application field blank. 6. Select the Language option as ‘English’. 7. In the Message field, add the message you want to display during the session timeout.   Hope this helps. Let me know if this works, 
Afternoon,  Looking for some advice, guidance and direction on the following.  I am looking to have a singulart look up against a table. Based on the value returned, populate several widgets with d... See more...
Afternoon,  Looking for some advice, guidance and direction on the following.  I am looking to have a singulart look up against a table. Based on the value returned, populate several widgets with data from that look up.  Exmaple belwo  1. Lookup against 'customer_account' allow user to select account record - Return account.facility_id based to be used in below widgets   2. Widget 1 :Based on the above returned value account.facility_id Return data from record on 'x_facilities' with matching account.facility_id  HTML Table to display reference fields on that record  8 reference fields needed to be displayed in a table    3. Widget 2 : Based on the above returned value account.facility_id Return data from record on 'x_facilities' with matching account.facility_id  HTML Table to display reference fields on that record  6 reference fields needed to be displayed in a table    4. Widget 3: Based on the above returned value account.facility_id Return data from record on 'sn_customerservice_team_member' with matching account.facility_id  These are users records and are just data in that table      Any guidance in how to accomplish this, would be greatly appriciated.   Thank you!
@Akif_Shah @Mark Endsley @Its_Azar  Thank you all for your help! I was able to complete the script and it works perfectly! The final issue was figuring out the arrayutil.diff setup to see what value... See more...
@Akif_Shah @Mark Endsley @Its_Azar  Thank you all for your help! I was able to complete the script and it works perfectly! The final issue was figuring out the arrayutil.diff setup to see what values were left over. In this case I was able to just output the users that had no Policy Acknowledgements left but were in the group. From there, I fed it into a function that looped through each value and deleted the appropriate record. var grArr = groupMembershipQuery(); gs.print("Group Membership Array: " + grArr); var acArr = activePolicyAcknowledgementInstanceQuery(); gs.print("Active Policy Array: " + acArr); var cr = compareArrays(grArr, acArr); gs.print("Compare Array: " + cr); var userToRemoveArray = []; removeUsers(cr); //Show the final Ack Array /*ackFinalArray.forEach(function(element) { gs.print('Final Array Element: ' + element); });*/ /////////Functions/////// function groupMembershipQuery() { //Query Group Memberhsip for Policy Ack Grouip var groupArray = []; var userArray = []; var userList = new GlideRecord("sys_user_grmember"); userList.addEncodedQuery("group=d7a8e8174710c610c79c0f68436d4379"); userList.query(); while (userList.next()) { userArray.push(userList.user.toString()); } var uniqueUserArray = new ArrayUtil().unique(userArray); return uniqueUserArray; } function activePolicyAcknowledgementInstanceQuery() { //Query to find all active Policy Ack Campaigns and have status of no response. var ackFinalArray = []; var ackList = new GlideRecord("sn_compliance_policy_acknowledgement_instance"); ackList.addEncodedQuery("state=1^policy_acknowledgement.active=true"); ackList.query(); while (ackList.next()) { ackFinalArray.push(ackList.assigned_to.toString()); } var uniqueAckArray = new ArrayUtil().unique(ackFinalArray); return uniqueAckArray; } function compareArrays(uniqueUserArray, uniqueAckArray) { // Compare the 2 arrays. If a user is in the 1st array and not in the 2nd, then they need the group membership deleted. // groupArray = uniqueUserArray.filter(function(value) { // return uniqueAckArray.indexOf(value) == -1; // }); userToRemoveArray = new ArrayUtil().diff(uniqueUserArray,uniqueAckArray); gs.print("Compared Array Output: " + userToRemoveArray); //The 2nd array going in needs to be the user array, as what is left over are those in the group, but with no acks left. return userToRemoveArray; } function removeUsers(userToRemoveArray){ userToRemoveArray.forEach(function(value) { var groupMembership = new GlideRecord("sys_user_grmember"); groupMembership.addEncodedQuery( "group=d7a8e8174710c610c79c0f68436d4379^user=" + value ); groupMembership.query(); if (groupMembership.next()) { // gs.info("User " + value.getDisplayValue('name') + " has no acknowledgements left, but is in group."); groupMembership.deleteRecord(); } }); }  
I'm trying to copy certain attributes (i.e. assigned to, department, location) from one CI to another (trying to use this in a PC Refresh workflow).  The problem I'm having is that when I try to upda... See more...
I'm trying to copy certain attributes (i.e. assigned to, department, location) from one CI to another (trying to use this in a PC Refresh workflow).  The problem I'm having is that when I try to update the record with the new information, I get a "primary key" error.   Here's my script: var oldAssetID = '1705-7C18JH2'; var newAssetID = '2001-1SGPH13'   var asset = new GlideRecord('cmdb_ci'); asset.addActiveQuery('name', oldAssetID); asset.query();   gs.print('Old AssetID: ' + oldAssetID); gs.print('New AssetID: ' + newAssetID);   //while(asset.next()) { if (asset.get(oldAssetID)){ var oldAssignedTo = asset.assigned_to;  //get assigned to value of old device gs.print('Old Assigned To: ' + asset.assigned_to);   var oldCostCenter = asset.cost_center;  //get cost center value of old device gs.print('Old Cost Center: ' + asset.cost_center);   var oldDept = asset.department;  //get dept name of old asset gs.print('Old Dept: ' + asset.department);   } var newAsset = new GlideRecord('cmdb_ci'); newAsset.addActiveQuery('name', newAssetID); newAsset.query();   //while(newAsset.next()) { if (newAsset.get(newAssetID)){        newAsset.assigned_to = oldAssignedTo; gs.print('New Assigned To: ' + newAsset.assigned_to);   newAsset.cost_center = oldCostCenter; gs.print('New Cost Center: ' + newAsset.cost_center);   newAsset.department = oldDept; gs.print('New Department: ' + newAsset.department);   newAsset.update(); }   Here's the error I'm getting: *** Script: New Assigned To: 0e61011813340f00728879566144b0db *** Script: New Cost Center: ea3db199dbc7034499d35434ce9619fc *** Script: New Department: c17d7b28e438ce44165ea2fa95c10b6c *** Script: Duplicate asset generation (Existing asset) prevented for CI 2001-1SGPH13 FAILED TRYING TO EXECUTE ON CONNECTION glide.8 (connpid=698838): INSERT INTO cmdb   Keep in mind that the CI already exists, I'm not trying to add a new CI.  I'm just trying to update some of the attributes.   I'm open to any suggestions if there is a better way to do it.  I appreciate any/all help.
Do I have to create table.* ACL before creating a Table.field ACL?
you can add setValue and link with “No Longer Required” and update the Record ( RITM ) state as close complete and link to end.
updated and tested, it seems the client field when 'checked' goes to this search page after making those updates. with Null displaying as the value attached screenshot.   besides where you explicit... See more...
updated and tested, it seems the client field when 'checked' goes to this search page after making those updates. with Null displaying as the value attached screenshot.   besides where you explicitly have catalogItemID or sys id labeled where else do i need to add the sys id you list description,short_description and requestor are correct for the variables.   form button did not do anything for some reason but not a big issue as this would still be the right click 'form context menu' selection.
Hi, I have this Requirement, Where Field 4 has to be be Autopulated based on the values entered by the Requestor for  Field 1, Field 2 and Field 3. So I went with Data look up Definitions (just like... See more...
Hi, I have this Requirement, Where Field 4 has to be be Autopulated based on the values entered by the Requestor for  Field 1, Field 2 and Field 3. So I went with Data look up Definitions (just like how priority is populated based on impact and urgency in Incident table). Its working perfectly fine in DEV. but for some reason, the Data look up definition is not being triggered in Test Instance. please pour your thoughts.   Thank you!!
Hi, I have created a table extending the task table. For the Assignment Group, we have the attribute tree_picker=true. It is all working fine.    I want to replicate the same structure to Assign... See more...
Hi, I have created a table extending the task table. For the Assignment Group, we have the attribute tree_picker=true. It is all working fine.    I want to replicate the same structure to Assigned to and it doesn't work. Is there any reason? Kindly help.         Regards Suman P.
Did you ever resolve this issue?
@Brad Bowman  Unfortunately I am still getting same error.
Hi @AG - LearnNGrow  I have tried that Auto populate feature, the value is getting automatically populated on the portal view and when I submit the request, open that RITM in the native UI then the ... See more...
Hi @AG - LearnNGrow  I have tried that Auto populate feature, the value is getting automatically populated on the portal view and when I submit the request, open that RITM in the native UI then the value is not getting displayed on that variable. Please see below attached snapshot:   Thanks,
Hello, I'm trying to research a way to make sure dashboards does not reflect duplicate position and inactive ones. (fields) From an excel file that will be imported. The excel file will have a posit... See more...
Hello, I'm trying to research a way to make sure dashboards does not reflect duplicate position and inactive ones. (fields) From an excel file that will be imported. The excel file will have a position that is no longer active and the position record itself should be deactivated.   What is the best way to go about achieving the requirement that I have?
Support article for OAuth configurations (Testing) posted
Hi Mike,   Thanks for the suggestion! I configured a quick survey but now run into a different issue. Do you know of a way to write the choice value to the case? As the customer I see the choice I ... See more...
Hi Mike,   Thanks for the suggestion! I configured a quick survey but now run into a different issue. Do you know of a way to write the choice value to the case? As the customer I see the choice I intend for them to see but when going back to the case, the agent sees the number value attached to the choice. I understand this is a Survey so this may not be the intended functionality but is there a way to have the Value = Choice.