IT Monkey:   Join the Cireson Community today for your chance to win $50!

SRs Cancelling then Closing - Cancels work items but leaves Activities open

Mark_WahlertMark_Wahlert Customer Advanced IT Monkey ✭✭✭

SCSM workflow updates the Task from Cancel SR to Close within seconds, this allows users to Cancel then Close immediately. The bug appears to be SCSM will then close the work item even with open activities. We have a growing list of SRs, where we need to use a script (designed by the lovely @Leigh_Kilday) ;to Force Cancel or Complete Activities. We now need to look at a script to trawl all work items for those with In Progress Activities but work items Closed or Cancelled.

How have others addressed this?  Any code you can share?

User education can only go so far, especially when it's an expected behaviour to hit cancel, then close. So we don't want to say not to do that, as it doesn't reflect well on the tool.

@Leigh_Kilday has raised a Feature Request https://community.cireson.com/discussion/2050/allow-admin-override-funcationality-in-the-portal

Answers

  • Brett_MoffettBrett_Moffett Cireson PACE Super IT Monkey ✭✭✭✭✭
    I'm a little confused why people are manually changing the SR status from Cancelled to Closed and not letting the system leave the status as canceled?
    I assume the SR's are cancelled because they are either no longer needed or the quote they received was higher than expected etc. and the user then requests the SR to be canceled. 

    Why does the SR have to have it's status changed after it is canceled?
  • Mark_WahlertMark_Wahlert Customer Advanced IT Monkey ✭✭✭

    @Brett_Moffett From the end users perspective, for whatever reason they cancel their request, immediately the Task now shows Close, they naturally then press that as well. It's simply that the Close appears, that they assume they need to close it. 

    I need to add, this only affected PROD where there's at any time around 300 plus jobs in the queue, whereas in TEST this isn't an issue because the workflow has time to Cancel each Activity before Closing the SR.

  • Martin_BlomgrenMartin_Blomgren Customer Ninja IT Monkey ✭✭✭✭
    @Mark_Wahlert, if you don't want them to be able to close Service Requests perhaps you could hide that task with css/js?
  • Mark_WahlertMark_Wahlert Customer Advanced IT Monkey ✭✭✭
    @Martin_Blomgren We are close to just doing just that for the time being.
  • Mark_WahlertMark_Wahlert Customer Advanced IT Monkey ✭✭✭
    @Martin_Blomgren@Brett_Moffett ; We don't want to permanently remove the closed task, rather just not have it appear immediately after Cancel. In Prod there's too many concurrent jobs so the workflow process can't keep up. Are you aware of a way to delay Close task appearing?
  • Martin_BlomgrenMartin_Blomgren Customer Ninja IT Monkey ✭✭✭✭
    @Mark_Wahlert, not a perfect solution but you could hide it with JS and then set a timer for x time and when the timer is finished you make it visible again.
  • Brian_WiestBrian_Wiest Customer Super IT Monkey ✭✭✭✭✭
    Suggest to upvote this feature request. https://community.cireson.com/discussion/1904/improved-auto-close-with-support-for-more-status-values-and-setting-implementation-results
    I also would like if the auto close would pick up canceled request.
  • Alex_MarshAlex_Marsh Premier Partner Adept IT Monkey ✭✭
    Did anyone get anywhere with adding a timer to the customjs for hiding the task temporarily? Have a customer with exactly the same issue and allowing some time for the cancel workflow to run before showing the close task would still allow end users to do this
  • Alex_MarshAlex_Marsh Premier Partner Adept IT Monkey ✭✭
    After spending this afternoon with the joys of js dates I've managed to come up with the following you can add to the customjs to hide the close task for a request not modified for 10 minutes when the status is cancelled. My JS is pretty iffy so someone may be able to tidy this up

    app.custom.formTasks.add('ServiceRequest', null, function (formObj, viewModel) {
    formObj.boundReady(function () {
    var tenminsago = new Date();
    tenminsago.setMinutes(tenminsago.getMinutes() - 10);
    var lastmodifieddate = new Date(viewModel.LastModified);
    if (lastmodifieddate > tenminsago && viewModel.Status.Id == "674e87e4-a58e-eab0-9a05-b48881de784c")
    { $('[data-bind="click: setNewStatus"]').hide() } }); });
Sign In or Register to comment.