Beispiel-Ressourcenpool, der die Auswahlmöglichkeiten auf die Kostenstelle beschränkt

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 2 Minuten Lesedauer
  • Sie können Ressourcenpools mit Blaupausen verwenden, um die Auswahlmöglichkeiten im Cloud-Kataloganforderungsformular zu beschränken.

    Anwendungsfall: Kostenstellenauswahl beschränken

    In diesem Beispiel werden die Kosten des Cloud-Assets mit dem Budget der Kostenstelle des Benutzers verrechnet. Basissystem UserCostCenter Ressourcenpool stellt sicher, dass ein Benutzer nur Ressourcen in seiner Kostenstelle auswählen kann.

    Annahmen

    • Das Plugin „Cost Management“ [con.snc.cost_management] ist aktiv.
    • Kostenstellen sind definiert, und den Kostenstellen sind Benutzer zugeordnet.
    • Mindestens eine Blaupause ist definiert. In diesem Beispiel wird eine Blaupause mit dem Namen Virtueller AWS-Server verwendet.
    • Ihnen ist die Rolle „sn_cmp_cloud_admin“ zugewiesen, und Sie kennen JavaScript- und JSON-Skripting.

    Komponenten

    Ressourcenpoolfilter überprüfen
    1. Navigieren Sie im Cloud-Administratorportal zu Verwalten > Ressourcenpoolsan.
    2. Öffnen Sie den CostCenterPool, und überprüfen Sie die zugehörigen Ressourcenpoolfilter.
      • Alle ist ein Abfragefilter, der alle Kostenstellen in der Tabelle zurückgibt.
      • UserCostCenter ist ein Skriptfilter, der die Kostenstelle sucht, die dem Benutzer zugeordnet ist, der das Element bestellt.
      Dies ist das Skript für den Filter UserCostCenter:
      getFilteredRecords();
      //Do not remove function declaration
      /**
      * @returns filtered records in the format [{"value"="lookupValue",label="displayValue"}]
      */
      function getFilteredRecords() {
      	var filteredRecords = [];
      	var userId = gs.getUserID();
      	var userGr = new GlideRecord('sys_user');
      	if (userGr.get(userId)){
      		var costCenterId = userGr.getValue('cost_center');
      		if (costCenterId){
      			var costCenterGr = new GlideRecord('cmn_cost_center');
      			if (costCenterGr.get(costCenterId)){
      				var costCenter = {};
      				costCenter.value = costCenterGr.getUniqueValue();
      				costCenter.label = costCenterGr.getValue('name');
      				filteredRecords.push(costCenter);
      			}
      		}		
      	}
      
      	//force to string
      	return new global.JSON().encode(filteredRecords);
      }
    Parameter des Blaupausenkatalogformulars
    1. Navigieren zu Entwurf > Blueprints, Und klicken Sie dann auf die Kachel für den Blueprint, den Sie öffnen möchten.
    2. Mit dem Blueprint in Entwurf status, klicken Sie auf Bereitstellung Vorgangskachel auf der Katalog > Anforderungsvorgang Registerkarte

      Bereitstellungsvorgang

    3. Klicken Sie in der zugehörigen Liste „Variablensätze“ auf den Variablensatz Allgemeine Informationen. Standardmäßig befindet sich die Variable „CostCenter“ in diesem Variablensatz.
    4. Klicken Sie in der zugehörigen Liste „Cloud-Variablen“ im Formular „Variablensatz“ auf die Variable CostCenter.

      Variable „CostCenter“

    5. Klicken Sie auf dem Formular „Cloud-Variable“ auf die Registerkarte Typspezifikationen.
    6. Sehen Sie sich die Felder Pool und Poolfilter an, die auf den Ressourcenpool und Filter verweisen.
      • CostCenterPool ist der Name des Ressourcenpools.
      • UserCostCenter ist das Filterskript, das die Kostenstellenoptionen für die Auswahl durch den Benutzer abruft.

      Ressourcenpool und Filter, die im Datenquellenwert der Kostenstellen-Katalogeigenschaft verwendet werden

    7. Legen Sie die Blaupause auf Veröffentlicht fest.
    Kostenstellenbenutzer
    Identifizieren Sie einen Benutzer, der Mitglied einer Kostenstelle ist und Zugriff auf das Cloudbenutzerportal hat.

    Benutzer, der Mitglied der Kostenstelle für den Vertrieb ist

    Ressourcenpoolfilter testen

    Nach der Überprüfung der Komponenten dieses Anwendungsfalls testen Sie das Cloud-Katalogelement, um sicherzustellen, dass Benutzer nur ihre Kostenstelle auswählen können.

    1. Nehmen Sie in diesem Beispiel die Identität der Benutzerin Alene Rabeck an.
    2. Klicken Sie im Cloudbenutzerportal auf Einen Stapel starten, und wählen Sie dann das Cloud-Katalogelement aus (in diesem Beispiel Virtueller AWS-Server).
    3. Überprüfen Sie die Auswahlmöglichkeiten in der Liste Kostenstelle.

      „Vertrieb“ ist die einzige Auswahlmöglichkeit für die Kostenstelle dieser Benutzerin.

    Mit dem Datenquellenwert CostCenterPool::UserCostCenter für dieses Katalogelement ist die einzige Option für die Kostenstelle die Kostenstelle, bei der der Benutzer Mitglied ist.

    Ressourcenpoolfilter ändern

    Testen Sie, ob der Ressourcenpoolfilter das Verhalten des Felds Kostenstelle steuert, indem Sie ihn ändern und sich die Ergebnisse ansehen.

    1. Navigieren Sie im Cloud-Administratorportal zu Entwurf > Blueprints Und klicken Sie dann auf Virtueller AWS-Server .
    2. Klicken Sie auf die Vorgangskachel Bereitstellung.
    3. Klicken Sie in der zugehörigen Liste „Variablensätze“ auf den Variablensatz Allgemeine Informationen. Standardmäßig befindet sich die Variable „CostCenter“ in diesem Variablensatz.
    4. Klicken Sie in der zugehörigen Liste „Cloud-Variablen“ im Formular „Variablensatz“ auf die Variable CostCenter.
    5. Klicken Sie auf dem Formular „Cloud-Variable“ auf die Registerkarte Typspezifikationen.
    6. Bearbeiten Sie das Feld Poolfilter, um den Filter von UserCostCenter in All zu ändern.

      Ressourcenpool und Filter, die im Datenquellenwert der Kostenstellen-Katalogeigenschaft verwendet werden

    7. Klicken Sie auf Aktualisieren und anschließend auf Veröffentlichen.
    8. Nehmen Sie in diesem Beispiel die Identität der Benutzerin Alene Rabeck an.
    9. Starten Sie im Cloudbenutzerportal einen Stapel, und wählen Sie dann Virtueller AWS-Server aus.
    10. Stellen Sie sicher, dass alle Kostenstellen aufgelistet sind.

      Alle Kostenstellen werden jetzt zur Auswahl angezeigt.