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

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 2 Minuten Lesedauer
  • Sie können verwenden RessourcenpoolsMit Blueprints, um die Auswahlmöglichkeiten im Cloud-Katalog-Anforderungsformular einzuschränken.

    Anwendungsfall: Kostenstellenauswahl einschränken

    In diesem Beispiel werden die Kosten des Cloud-Assets mit dem Budget der Kostenstelle des Anwenders in Rechnung gestellt. Die Basissystem AnwenderCostCenter RessourcenpoolStellt sicher, dass ein Anwender nur Ressourcen in seiner Kostenstelle auswählen kann.

    Annahmen

    • Das Plugin „Kostenmanagement“ [con.snc.Cost_Management] ist aktiv.
    • Kostenstellen sind definiert, und Anwender sind den Kostenstellen zugeordnet.
    • Mindestens ein Blueprint ist definiert. In diesem Beispiel wird ein Blueprint mit dem Namen verwendet Virtueller AWS-Server .
    • Ihnen ist die Rolle „sn_cmp_cloud_admin“ zugewiesen und Sie kennen JavaScript- und JSON-Skripting.

    Komponenten

    Überprüfen Sie den Ressourcenpoolfilter
    1. Navigieren Sie im Cloud-Administratorportal zu Verwalten > Ressourcenpoolsan.
    2. Öffnen Sie Kostenstellenpool Und überprüfen Sie die zugehörigen Ressourcenpoolfilter.
      • Alle Ist ein Abfragefilter, der alle Kostenstellen in der Tabelle zurückgibt.
      • AnwenderCostCenter Ist ein Skriptfilter, der nach der Kostenstelle sucht, die dem Anwender zugeordnet ist, der den Artikel bestellt.
      Hier ist das Skript für AnwenderCostCenter Filter:
      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);
      }
    Blueprint-Katalogformularparameter
    1. Navigieren zu Design > 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 Katalog > Anforderungsvorgang Registerkarte

      Bereitstellungsvorgang

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

      CostCenter-Variable

    5. Klicken Sie im Formular Cloudvariable auf Typspezifikationen Registerkarte.
    6. Sehen Sie sich an Pool Und Poolfilter Felder, die auf verweisen RessourcenpoolUnd filtern.
      • CostCenterPoolIst der Name von Ressourcenpool.
      • UserCostCenter Ist das Filterskript, das die Kostenstellenoptionen abruft, aus denen der Anwender auswählen kann.

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

    7. Legen Sie den Blueprint auf fest Veröffentlicht .
    Kostenstellenanwender
    Identifizieren Sie einen Anwender, der Mitglied einer Kostenstelle ist und Zugriff auf hat Cloud-Anwenderportal.

    Anwender, der Mitglied der Vertriebskostenstelle ist.

    Ressourcenpoolfilter wird getestet

    Nachdem Sie die Komponenten dieses Anwendungsfalls überprüft haben, testen Sie das Cloud-Katalogelement, um sicherzustellen, dass Anwender nur ihre Kostenstelle auswählen können.

    1. Identität des Anwenders annehmen, Alene Rabeck In diesem Beispiel.
    2. Auf Cloud-Anwenderportal, Klicken Sie auf Starten Sie einen Stapel , Und wählen Sie dann das Cloud-Katalogelement aus ( Virtueller AWS-Server In diesem Beispiel).
    3. Überprüfen Sie die Auswahl in Kostenstelle Liste.

      Vertrieb ist die einzige Auswahl für die Kostenstelle dieses Anwenders.

    Mit CostCenterPool::UserCostCenterDatenquellenwert für dieses Katalogelement, die einzige Option für Kostenstelle Ist die Kostenstelle, in der der Anwender Mitglied ist.

    Ressourcenpoolfilter wird geändert

    Testen Sie, dass RessourcenpoolFilter steuert das Verhalten von Kostenstelle Feld, indem Sie es ändern und die Ergebnisse anzeigen.

    1. Navigieren Sie im Cloud-Administratorportal zu Design > Blueprints Und klicken Sie dann auf Virtueller AWS-Server .
    2. Klicken Sie auf Bereitstellung Vorgangskachel.
    3. Klicken Sie in der zugehörigen Liste Variablensätze auf Allgemeine Informationen Variablensatz. Standardmäßig befindet sich die Variable „CostCenter“ in diesem Variablensatz.
    4. Klicken Sie in der zugehörigen Liste Cloud-Variablen im Formular Variablensatz auf Kostenstelle Variable.
    5. Klicken Sie im Formular Cloudvariable auf Typspezifikationen Registerkarte.
    6. Bearbeiten Sie Poolfilter Feld, aus dem der Filter geändert werden soll UserCostCenterBis All.

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

    7. Klicken Sie Auf Aktualisieren , Und klicken Sie dann auf Veröffentlichen. .
    8. Identität des Anwenders annehmen, Alene Rabeck In diesem Beispiel.
    9. Auf Cloud-Anwenderportal, Starten Sie einen Stapel, und wählen Sie dann aus Virtueller AWS-Server .
    10. Stellen Sie sicher, dass alle Kostenstellen aufgeführt sind.

      Alle Kostenstellen werden jetzt zur Auswahl angezeigt.