API de regra de negócio - ServiceNow Fluent
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
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.
| 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.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. Os scripts em linha usam o marcador de script no seguinte formato:
|
| 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. 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. Valores válidos: inserir, atualizar, excluir, consultar |
| ativo | Booliano | Sinalizador que indica se a regra de negócio deve ser usada. Valores válidos:
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:
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:
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. |
| 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. |
| 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. |
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],
})