---
sourceDocument: Criar ou modificar aplicações do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/application-development

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Criar ou modificar aplicações do Xanadu

ft:clusterId :

    - cadev

bundleId :

    - cadev

workflow :

    - Creator


---

# API de regra de negócio - ServiceNow Fluent

# API de regra de negócio - ServiceNow Fluent {#ariaid-title1}

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

A API de regra de negócio inclui objetos que definem scripts do lado do servidor \[sys_script\] que são executados quando um registro é exibido, inserido, atualizado ou excluído, ou quando uma tabela é consultada.

## Objeto BusinessRule {#ariaid-title2}

Crie uma regra de negócio \[sys_script\] que muda automaticamente os valores nos campos de formulário quando determinadas condições do lado do servidor são atendidas.
{#business-rule-object-now-ts__table_vy2_525_jq__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| $id | Cadeia de caracteres ou número | Obrigatório. Um ID exclusivo para o objeto de metadados fornecido no seguinte formato, em que\<value\> é uma cadeia de caracteres ou um número. $id: Now.ID[<value>] Quando você cria a aplicação, esse ID é convertido em um sys_ID exclusivo. |
| nome | Cadeia de caracteres | Obrigatório. Um nome para a regra de negócio. |
| tabela | Cadeia de caracteres | Obrigatório. O nome da tabela na qual a regra de negócio é executada. |
| pedido | Inteiro | Um número que indica a sequência na qual esta regra de negócio deve ser executada. Se houver várias regras em uma atividade específica, as regras serão executadas na ordem especificada, da mais baixa para a mais alta. Padrão: 100 |
| script | Script | Uma função ou script em linha precedido por um marcador de `script`. O script personalizado é executado quando as condições definidas são verdadeiras. Para funções, use o nome de uma função, expressão de função ou função padrão exportada de um módulo JavaScript e importada para o arquivo .now.ts. Para obter informações sobre módulos JavaScript, consulte [Módulos JavaScript e bibliotecas de terceiros](https://servicenow-prod.fluidtopics.net/YtuDBPg1esLxAg~mI8FRKA "Otimize sua base de código usando módulos JavaScript para agrupar o código relacionado ou adicionar bibliotecas de terceiros e reutilizar o código nas aplicações."). Os scripts em linha usam o marcador de `script` no seguinte formato: script: script`gs.info('info')`, |
| quando | Cadeia de caracteres | Quando esta regra de negócio deve ser executada. Para obter mais informações sobre quando as regras de negócio são executadas, consulte [Como as regras de negócio funcionam](https://servicenow-prod.fluidtopics.net/fXNW4y67PPsF0GRcQadYEg#r_HowBusinessRulesWork "Para configurar regras de negócio, primeiro você precisa determinar quando a regra de negócio deve ser executada e qual ação ela deve realizar."). Valores válidos: antes, depois, assíncrono, exibição Padrão: antes |
| ação | Matriz | As opções de registro às quais a regra de negócio se aplica. Para obter mais informações sobre ações de regra de negócio, consulte [Como as regras de negócio funcionam](https://servicenow-prod.fluidtopics.net/fXNW4y67PPsF0GRcQadYEg#r_HowBusinessRulesWork "Para configurar regras de negócio, primeiro você precisa determinar quando a regra de negócio deve ser executada e qual ação ela deve realizar."). Valores válidos: inserir, atualizar, excluir, consultar |
| ativo | Booliano | Sinalizador que indica se a regra de negócio deve ser usada. Valores válidos: * verdadeiro: a regra de negócio é imposta. * falso: a regra de negócio não é imposta. {#business-rule-object-now-ts__ul_cxj_srr_4bc} Padrão: verdadeiro |
| adicionar_mensagem | Booliano | Sinalizador que indica se uma mensagem que aparece quando a regra de negócio é executada deve ser adicionada. Valores válidos: * verdadeiro: exibe uma mensagem. * falso: não exibe uma mensagem. {#business-rule-object-now-ts__ul_xxs_ws5_pbc} Padrão: falso |
| anular_ação | Booliano | Sinalizador que indica se a transação do banco de dados atual deve ser anulada. Por exemplo, em uma regra de negócio de inserção anterior, se as condições forem atendidas, não insira o registro no banco de dados. Valores válidos: * falso: não anula a transação atual do banco de dados. * verdadeiro: anula a transação atual do banco de dados. Você não pode executar ações adicionais no registro, como definir valores de campos e executar scripts. Você ainda pode exibir uma mensagem para usuários com as propriedades add_message e message. {#business-rule-object-now-ts__ul_l12_ht5_pbc} Padrão: falso |
| mensagem | Cadeia de caracteres | Uma mensagem que aparece quando a regra de negócio é executada. |
| função_condições | Matriz | Uma lista de identificadores de variáveis de objetos de função que os usuários que estão modificando registros na tabela devem ter para que esta regra de negócio seja executada. Para obter mais informações, consulte [API de função - ServiceNow Fluent](https://servicenow-prod.fluidtopics.net/F21V5kDYOmAXIvT4qIieyg#role-api-now-ts "A API Role inclui objetos que definem funções [sys_user_role] para usuários de uma aplicação."). |
| condição | Cadeia de caracteres | Uma declaração condicional JavaScript que especifica os campos e valores que devem ser verdadeiros para que a regra de negócio seja executada. Não use esta propriedade se você incluir a declaração de condição com as propriedades filter_condition ou script. Ao adicionar a declaração de condição a esta propriedade, você instrui o sistema a avaliar a condição separadamente e executar a regra de negócio somente se a condição for verdadeira. Para que a instância reavalie a declaração de condição uma segunda vez antes de executar uma regra de negócio assíncrona, adicione a propriedade do sistema glide.businessrule.async_condition_check e defina o valor como verdadeiro. |
| filter_condition | Cadeia de caracteres | Uma consulta de filtro que especifica os campos e valores que devem ser verdadeiros para que a regra de negócio seja executada. Para obter mais informações, consulte [Operators available for filters and queries](https://www.servicenow.com/docs/access?context=r_OpAvailableFiltersQueries&version=xanadu&pubname=xanadu-platform-user-interface&ft:locale=en-US). |
| definir_campo_valor | Cadeia de caracteres | Os valores para definir campos na tabela. Isso pode ser fornecido como uma consulta codificada, como `set_field_value: 'sec_created=false^EQ'`. |
| descrição | Cadeia de caracteres | Uma descrição do que a regra de negócio faz. |
[Tabela 1. Propriedades]

{#business-rule-object-now-ts__table_vy2_525_jq}  

    import { BusinessRule } from '@servicenow/sdk/core'
    import { FunctionExport, FunctionExpression } from '../server/scripts.js'
    import DefaultExportFunction from '../server/scripts.js'

    const BR1 = BusinessRule({
        name: 'exportedFunction',
        table: 'x_snc_table',
        when: 'after',
        action: ['update', 'delete', 'insert'],
        script: FunctionExport,
        order: 100,
        active: true,
        add_message: false,
        message: '<p>message</p>',
        abort_action: false,
        $id: Now.ID[0],
    })

    const BR2 = BusinessRule({
        name: 'businessrule2',
        table: 'x_snc_table',
        script: FunctionExpression,
        when: 'after',
        action: ['update'],
        $id: Now.ID[1],
    })

    const BR3 = BusinessRule({
        name: 'businessrule3',
        table: 'x_snc_table',
        script: DefaultExportFunction,
        when: 'after',
        action: ['update'],
        filter_condition: `sys_updated_onSTARTSWITHb^sys_updated_bySTARTSWITHm^EQ
        <item goto="false" or="false" field="sys_updated_on" endquery="false" value="b" operator="STARTSWITH" newquery="false"/>
        <item goto="false" or="false" field="sys_updated_by" endquery="false" value="m" operator="STARTSWITH" newquery="false"/>
        <item goto="false" or="false" field="" endquery="true" value="" operator="=" newquery="false"/>`,
        $id: Now.ID[2],
    })

    const BR4 = BusinessRule({
        name: 'templateBR',
        action: ['insert'],
        when: 'after',
        table: 'x_snc_table',
        role_conditions: [admin],
        order: 100,
        active: true,
        add_message: true,
        message: '<p>message</p>',
        script: script`gs.info('info')`,
        abort_action: false,
        $id: Now.ID[3],
    })


