利益計画のターゲット自動化スクリプト
事前定義された利益計画スクリプトをターゲットソースとして使用して、関連する作業アイテムの利益計画からターゲットの実績値を自動化します。
次の事前定義された利益計画スクリプトを使用して、ターゲットにターゲットソースを設定します。スクリプトは、金銭または金銭以外の利益計画に必要なデータをフェッチし、ターゲットの実績値を更新します。このスクリプトはそのまま使用することも、要件に応じて変更することもできます。コンテキスト変数を作成して、このターゲットソースに設定することもできます (利益計画)。
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;