利益計画のターゲット自動化スクリプト

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:2分
  • 事前定義された利益計画スクリプトをターゲットソースとして使用して、関連する作業アイテムの利益計画からターゲットの実績値を自動化します。

    次の事前定義された利益計画スクリプトを使用して、ターゲットにターゲットソースを設定します。スクリプトは、金銭または金銭以外の利益計画に必要なデータをフェッチし、ターゲットの実績値を更新します。このスクリプトはそのまま使用することも、要件に応じて変更することもできます。コンテキスト変数を作成して、このターゲットソースに設定することもできます (利益計画)。
    result = '';
    var benefitPlans = new GlideRecord(sn_gfa.GFAdvancedConstants.BENEFIT_PLAN_TABLE);
    benefitPlans.addQuery('sys_id', 'IN', benefit_plan);
    benefitPlans.query();
    
    var nonMonetaryBenefitSum = 0;
    var monetaryBenefitSum = 0;
    var hasMonetary = false;
    var hasNonMonetary = false;
    while (benefitPlans.next() && !(hasMonetary && hasNonMonetary)) {
        if (!gs.nil(benefitPlans.getValue('currency'))) {
            monetaryBenefitSum += parseInt(benefitPlans.getValue('actual_benefit'));
            hasMonetary = true;
        } else {
            nonMonetaryBenefitSum += parseInt(benefitPlans.getValue('nm_actual_benefit'));
            hasNonMonetary = true;
        }
    }
    
    if (hasMonetary && hasNonMonetary)
        gs.addErrorMessage(gs.getMessage('The Benefit Plan list can contain either monetary or non-monetary benefit plans.'));
    else
        result = hasMonetary ? monetaryBenefitSum : nonMonetaryBenefitSum;