Exemple de pool de ressources qui limite les choix au centre de coûts
Vous pouvez l’utiliser Pools de ressources avec des plans pour limiter les choix sur le formulaire de demande du catalogue dans le cloud.
Cas d’utilisation : restreindre la sélection de centres de coûts
Dans cet exemple, le coût de l’actif dans le cloud est imputé sur le budget du centre de coûts de l’utilisateur. système-de-base UserCostCenter Pool de ressources garantit qu’un utilisateur peut sélectionner uniquement des ressources dans son centre de coûts.
Suppositions
- Le module d’extension Gestion des coûts [con.snc.cost_management] est actif.
- Les centres de coûts sont définis et les utilisateurs sont associés aux centres de coûts.
- Au moins un plan est défini. Cet exemple utilise un plan nommé AWS Virtual Server.
- Le rôle de sn_cmp_cloud_admin vous est affecté et vous connaissez les scripts JavaScript et JSON.
Composants
- Passer en revue le filtre de pool de ressources
- Sur le portail d’administration du cloud, accédez à .
- Ouvrez le CostCenterPool et passez en revue les filtres de pool de ressources connexes.
- Tout est un filtre de requête qui renvoie tous les centres de coûts de la table.
- UserCostCenter est un filtre de script qui recherche le centre de coûts associé à l’utilisateur qui commande l’élément.
Voici le script pour le filtre 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); }
- Paramètres de formulaire du catalogue de plans
- Accédez à la , puis cliquez sur la vignette du plan que vous souhaitez ouvrir.
- Avec le plan à l’état Brouillon , cliquez sur la vignette de l’opération de mise en service sur le onglet.
- Dans la liste connexe Jeux de variables, cliquez sur Jeu de variables Informations générales . Par défaut, la variable CostCenter se trouve dans ce jeu de variables.
- Dans la liste connexe Variables dans le cloud du formulaire Jeu de variables, cliquez sur la variable CostCenter .
- Dans le formulaire Variable dans le cloud, cliquez sur l’onglet Spécifications de type .
- Examinez les champs Pool et Filtre de pool qui font référence au Pool de ressources filtre et.
- CostCenterPool est le nom du Pool de ressources.
- UserCostCenter est le script de filtre qui extrait les options de centre de coûts que l’utilisateur peut sélectionner.
- Définissez le plan sur Publié.
- Utilisateur du centre de coûts
- Identifiez un utilisateur qui est membre d’un centre de coûts et qui a accès au Portail de l'utilisateur dans le cloud.
Test du filtre de pool de ressources
Après avoir examiné les composants qui composent ce cas d’utilisation, testez l’élément de catalogue dans le cloud pour vérifier que les utilisateurs peuvent sélectionner uniquement leur centre de coûts.
- Empruntez l’identité de l’utilisateur, Alene Rabeck dans cet exemple.
- Dans le Portail de l'utilisateur dans le cloud, cliquez sur Lancer une pile, puis sélectionnez l’élément de catalogue cloud (serveur virtuel AWS dans cet exemple).
- Passez en revue les sélections dans la liste des centres de coûts .
Avec la valeur de source CostCenterPool::UserCostCenter de données pour cet élément de catalogue, la seule option pour le centre de coûts est le centre de coûts dont l’utilisateur est membre.
Modification du filtre de pool de ressources
Vérifiez que le Pool de ressources filtre contrôle le comportement du champ Centre de coûts en le modifiant et en affichant les résultats.
- Sur le portail d’administration du cloud, accédez à puis cliquez sur Serveur virtuel AWS.
- Cliquez sur la vignette de l’opération de mise en service .
- Dans la liste connexe Jeux de variables, cliquez sur Jeu de variables Informations générales . Par défaut, la variable CostCenter se trouve dans ce jeu de variables.
- Dans la liste connexe Variables dans le cloud du formulaire Jeu de variables, cliquez sur la variable CostCenter .
- Dans le formulaire Variable dans le cloud, cliquez sur l’onglet Spécifications de type .
- Modifiez le champ de filtre Pool pour changer le filtre de UserCostCenter en All.
- Cliquez sur Mettre à jour, puis surPublier.
- Empruntez l’identité de l’utilisateur, Alene Rabeck dans cet exemple.
- Sur la , Portail de l'utilisateur dans le cloud lancez une pile, puis sélectionnez Serveur virtuel AWS.
- Vérifiez que tous les centres de coûts sont répertoriés.