---
sourceDocument: Gestão estratégica de portfólios Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/it-business-management

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Gestão estratégica de portfólios Xanadu

ft:clusterId :

    - itbm

bundleId :

    - itbm

workflow :

    - Technology


---

# Script de automação de destino para planos de benefícios

# Script de automação de destino para planos de benefícios {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 1 min. de leitura

Use o script predefinido de Planos de benefícios como uma origem de meta para automatizar o valor real de suas metas dos planos de benefícios de itens de trabalho relevantes.
Use o script de planos de benefícios predefinidos a seguir para configurar a origem de meta para suas metas. O script busca os dados necessários para planos de benefícios monetários ou não monetários e atualiza o valor real da meta. Você pode usar este script como está ou também pode modificá-lo de acordo com seus requisitos. Você também pode criar variáveis de contexto e configurá-las para esta origem de destino (Planos de benefícios).

    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;


