API de regra de negócio - ServiceNow Fluent

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 5 min. de leitura
  • A API Regra de negócio define 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.

    Para obter informações gerais sobre regras de negócios, consulte Classic Business rules.

    Objeto BusinessRule

    Crie uma regra de negócio [sys_script] que mude automaticamente os valores nos campos de formulário quando determinadas condições do lado do servidor forem atendidas.

    Tabela 1. Propriedades
    Nome Tipo Descrição
    id Cadeia de caracteres ou número Necessário. Um ID exclusivo para o objeto de metadados. Quando você cria a aplicação, este ID é hash em um sys_id exclusivo. Para obter mais informações, consulte ServiceNow Fluent construções de linguagem.

    Formato: Now.ID['Cadeia de caracteres' ou número]

    nome Cadeia de caracteres Necessário. Um nome para a regra de negócio.
    tabela Cadeia de caracteres Necessário. O nome da tabela na qual a regra de negócio é executada.
    script Script Um script personalizado é executado quando as condições definidas são verdadeiras. Esta propriedade é compatível com uma função de um módulo JavaScript, uma referência a outro arquivo na aplicação que contém um script ou JavaScript em linha.
    Formato:
    • 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 importe-a para o. .now.ts arquivo. Para obter informações sobre módulos JavaScript, consulte Módulos JavaScript e bibliotecas de terceiros.
    • Para usar conteúdo de texto de outro arquivo, consulte um arquivo na aplicação usando o seguinte formato: Now.include('path/to/file') . Para obter mais informações, consulte ServiceNow Fluent construções de linguagem.
    • Para fornecer um script em linha, use literais de cadeia de caracteres ou literais de modelo para várias linhas de código: "Script" ou "Script" .
    pedido Número Um número que indica a sequência na qual a 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

    ativo Booliano Sinalizador que indica se a regra de negócio está habilitada.
    Valores válidos:
    • Verdadeiro: A regra de negócio é imposta.
    • Falso: A regra de negócio não foi imposta.

    Padrão: verdadeiro

    quando Cadeia de caracteres A hora em que a regra de negócio deve ser executada. Para obter mais informações sobre quando as regras de negócios são executadas, consulte How business rules work.
    Valores válidos:
    • antes
    • após
    • assíncrono
    • tela

    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 How business rules work.
    Valores válidos:
    • inserir
    • atualizar
    • excluir
    • consulta
    AddMessage 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.

    Padrão: falso

    Abortar Ação Booliano Sinalizador que indica se a transação do banco de dados atual deve ser cancelada. Por exemplo, em uma regra de negócio Antes de inserir, se as condições forem atendidas, não insira o registro no banco de dados.
    Valores válidos:
    • Falso: Não aborta a transação do banco de dados atual.
    • Verdadeiro: Anula a transação do banco de dados atual. Não é possível executar ações adicionais no registro, como definir valores de campo e executar scripts. Você ainda pode exibir uma mensagem para usuários com AddMessage e. mensagem propriedades.

    Padrão: falso

    mensagem Cadeia de caracteres Uma mensagem que aparece quando a regra de negócio é executada.
    RoleConditions Matriz Uma lista de identificadores de variáveis de Função os objetos que os usuários que estão modificando registros na tabela devem ter para que a regra de negócio seja executada. Para obter mais informações, consulte API de função - ServiceNow Fluent.
    condição Cadeia de caracteres Uma declaração condicional JavaScript que especifica os campos e valores que devem ser verdadeiros para que o script seja executado. Esta propriedade oferece suporte a JavaScript em linha ou a uma referência a outro arquivo na aplicação que contém um script.
    Nota:
    Não use esta propriedade se você incluir a declaração de condição com FilterCondition ou script propriedades.

    Ao especificar a declaração de condição com esta propriedade, a condição é avaliada separadamente e a regra de negócio é executada somente se a condição for verdadeira. Para que a declaração de condição seja reavaliada uma segunda vez antes de executar uma regra de negócios assíncrona, defina glide.businessrule.async_condition_checkpropriedade do sistema como verdadeiro.

    Formato:
    • Para usar conteúdo de texto de outro arquivo, consulte um arquivo na aplicação usando o seguinte formato: Now.include('path/to/file') . Para obter mais informações, consulte ServiceNow Fluent construções de linguagem.
    • Para fornecer um script em linha, use literais de cadeia de caracteres ou literais de modelo para várias linhas de código: "Script" ou "Script" .
    filterCondition Cadeia de caracteres Uma consulta de filtro que especifica os campos e valores que devem ser verdadeiros para a regra de negócio ser executada. Para obter mais informações, consulte Operators available for filters and queries.
    ValorCampo definido Cadeia de caracteres Os valores a serem definidos para campos na tabela. Isso pode ser fornecido como uma consulta codificada, como SetFieldValue: .
    descrição Cadeia de caracteres Uma descrição do que a regra de negócio faz.
    meta Objeto Metadados dos metadados da aplicação.
    Com o. Método de instalação , você pode mapear os metadados da aplicação para um diretório de saída que carrega somente em circunstâncias específicas.
    $meta: {
          installMethod: 'String'
    }
    Valores válidos para Método de instalação :
    • Demonstração: Gera os metadados da aplicação para o. metadados/unload.demo diretório a ser instalado com a aplicação quando Carregar dados de demonstração a opção está selecionada.
    • Primeira instalação: Gera os metadados da aplicação para o. metadados/descarregamento diretório a ser instalado somente na primeira vez que uma aplicação for instalada em uma instância.
    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,
        addMessage: false,
        message: '<p>message</p>',
        abortAction: 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'],
        filterCondition: `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',
        roleConditions: [admin],
        order: 100,
        active: true,
        addMessage: true,
        message: '<p>message</p>',
        script: `gs.info('info')`,
        abortAction: false,
        $id: Now.ID[3],
    })