Aktualisieren Sie die Status-Modell-Skripteinbindung

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 1 Minute Lesedauer
  • Aktualisieren Sie die ChangeRequestStateModel_normal-Skripteinbindung, um neue Funktionen für den Status Abgeschlossen hinzuzufügen.

    Vorbereitungen

    Erforderliche Rolle: admin

    Warum und wann dieser Vorgang ausgeführt wird

    Aktualisieren Sie ChangeRequestStateModel_normal mit folgender Konfiguration.
    • Fügen Sie neue canMove- und moving-Funktionen für den Status Abgeschlossen hinzu. Diese Funktionen können den Wert true zurückgeben, da es keine besonderen Bedingungen oder zusätzlichen auszuführenden Aktionen gibt, wenn in den Status Abgeschlossen gewechselt wird.
    • Ändern Sie die Definition des vorhandenen Objekts für den Status Implementieren, um sicherzustellen, dass der nächste der Status Abgeschlossen ist.
    • Fügen Sie ein Objekt für den Status Abgeschlossen hinzu, der die Status Überprüfen und Geschlossen als die nächsten zwei Status definiert.
      Hinweis:
      Die Funktion canMove für den Übergang dieser Status in Abgeschlossen prüft das anwenderdefinierte Feld Benötigt Überprüfung, um den richtigen Folgestatus zu bestimmen.

    Prozedur

    1. Navigieren zu Alle > Systemdefinition > Skripteinbindungenan.
    2. Öffnen Sie die ChangeRequestStateModel_normal-Skripteinbindung, und ändern Sie das Skript wie folgt.
      1. Fügen Sie die folgende Zeile am Ende der Skripteinbindung hinzu, aber vor der Zeile, die mit Typ beginnt:
        toComplete_moving: function() {
                      return true; 
                 },              
        
                 toComplete_canMove: function() {      
                       return true;       
                 },
        Überarbeitetes Skript
      2. Ändern Sie das vorhandene implement-Objekt in toComplete:
        implement: {
                    nextState: [ "complete" ],
        
                    complete: { 
                        moving: function() {                
                            return this.toComplete_moving(); 
                        },             
        
                        canMove: function() {                
                            return this.toComplete_canMove();            
                        }       
                    },        
        
                    canceled: {  
                        moving: function() {               
                           return this.toCanceled_moving();   
                        },             
        
                        canMove: function() {               
                           return this.toCanceled_canMove(); 
                        }        
                    }    
                },
    3. Fügen Sie das folgende neue Status-Objekt für den Status Abgeschlossen hinzu.
      complete: {
                   nextState : [ "review", "closed" ],         
      
                   review : {            
                         moving : function() {
                               return this.toReview_moving();            
                         },             
      
                         canMove : function() {              
                                if (this._gr.getValue("u_needs_review") == "Yes")   
                                     return true;                            
                            
                                return false;
                         }        
                   },                     
      
                   closed : {            
                         moving : function() {  
                               return this.toClosed_moving();
                         },             
      
                         canMove : function() {              
                                if (this._gr.getValue("u_needs_review") == "No")
                                     return true;    
                              
                        return false;
                        }       
                   },  
      
                   canceled : { 
                         moving : function() {                
                               return this.toCanceled_moving();     
                         },             
      
                         canMove : function() {                
                                return this.toCanceled_canMove(); 
                         }   
                   }    
              },
    4. Klicken Sie auf Aktualisieren.