API de tabela - ServiceNow Fluent
A API Tabela define tabelas [sys_db_object] para armazenar dados em uma aplicação com escopo.
Crie uma tabela usando Tabela objeto. Em esquema Propriedade, adicione objetos de coluna, como Coluna de String ou Coluna integrada , para definir as colunas.
Para obter informações gerais sobre tabelas, consulte Table administration.
Objeto de tabela
Crie uma tabela [sys_db_object] em uma aplicação com escopo.
| Nome | Tipo | Descrição |
|---|---|---|
| nome | Cadeia de caracteres | Necessário. Um nome para a tabela que começa com o escopo da aplicação e em todas as letras minúsculas no seguinte formato: <scope>_<name> . O nome deve corresponder ao identificador de variável do Tabela objeto. Nota: Para adicionar colunas a uma tabela existente em um escopo de aplicação diferente, você pode fornecer o nome da tabela sem o escopo da aplicação seguido por como qualquer outro . Em vez disso, os nomes das colunas devem começar com o escopo da aplicação.Comprimento máximo: 80 |
| esquema | Matriz | Necessário. Uma lista de Coluna objetos. Para obter mais informações, consulte Objeto de coluna. |
| estendidos | Cadeia de caracteres | O nome de qualquer outra tabela na qual a tabela se baseia. A extensão de uma tabela base incorpora todos os campos da tabela original e cria campos do sistema para a nova tabela. Se eles estiverem no mesmo escopo ou se puderem ser configurados a partir de outros escopos, você poderá estender tabelas marcadas como extensíveis. |
| rótulo | Cadeia de caracteres Ou matriz | Um rótulo exclusivo para a tabela nas exibições de lista e formulário. Os rótulos de campo podem ser fornecidos como uma cadeia de caracteres ou uma matriz de rótulo objetos. Para obter mais informações, consulte objeto de rótulo. Comprimento máximo: 80 Padrão: O valor de nome propriedade |
| LicensingConfig | Objeto | A configuração de licenciamento [ua_table_licensing_config] de uma tabela. Para obter mais informações, consulte Objeto LicensingConfig. |
| tela | Cadeia de caracteres | A coluna de exibição padrão. Use um nome de coluna do esquema propriedade. |
| extensível | Booliano | Sinalizador que indica se outras tabelas podem estender a tabela. Valores válidos:
Mudar esta propriedade de verdadeiro para falso impede a criação de tabelas secundárias adicionais, mas as tabelas secundárias existentes permanecem inalteradas. Padrão: falso |
| Feed ao vivo | Booliano | Sinalizador que indica se feeds dinâmicos estão disponíveis para registros na tabela. Valores válidos:
Padrão: falso |
| Acessível de | Cadeia de caracteres | Os escopos da aplicação que podem acessar a tabela. Valores válidos:
Padrão: Público |
| Acesso do solicitante | Cadeia de caracteres | O nível de acesso para solicitações entre escopos. Valores válidos:
Para obter mais informações, consulte Configurações de privilégio de acesso do solicitante restrito. Padrão: Nenhum |
| ações | Matriz | Uma lista de opções de acesso. Valores válidos:
Padrão: Leitura |
| WebServiceAccess | Booliano | Sinalizador que indica se os serviços web podem fazer chamadas para a tabela. Valores válidos:
Padrão: falso |
| AllowNewFields | Booliano | Sinalizador que indica se permitir a configuração de tempo de design de novos campos na tabela de outros escopos da aplicação. Valores válidos:
Padrão: falso |
| AllowUiActions | Booliano | Sinalizador que indica se permitir a configuração de tempo de design de ações de IU na tabela de outros escopos da aplicação. Valores válidos:
Padrão: falso |
| AllowClientScripts | Booliano | Sinalizador que indica se permitir a configuração de tempo de design de scripts de cliente na tabela de outros escopos da aplicação. Valores válidos:
Padrão: falso |
| auditoria | Booliano | Sinalizador que indica se rastrear a criação, atualização e exclusão de todos os registros na tabela. Valores válidos:
Padrão: falso |
| readOnly | Booliano | Sinalizador que indica se os usuários podem editar campos na tabela. Valores válidos:
Padrão: falso |
| TextIndex | Booliano | Sinalizador que indica se os mecanismos de pesquisa indexam o texto em uma tabela. Valores válidos:
Padrão: falso |
| atributos | Objeto | Pares de chave e valor de quaisquer atributos de dicionário compatíveis [sys_schema_attribute]. Por exemplo:Para obter mais informações, consulte Atributos do dicionário . |
| índice | Matriz | Uma lista de referências de coluna para gerar índices no XML de metadados da tabela. O valor de elemento a propriedade deve corresponder à chave de objeto usada com Coluna objeto. Um índice de banco de dados aumenta a velocidade de acesso aos dados da tabela com a despesa de usar armazenamento adicional. |
| AutoNumeração | Objeto | A configuração de numeração automática [sys_number] de uma tabela. Para obter mais informações, consulte Objeto de AutoNumeração. |
| Tabela de script | Booliano | Sinalizador que indica se a tabela é uma tabela remota que usa dados recuperados de uma fonte externa. Para obter mais informações, consulte Remote tables. Valores válidos:
Padrão: falso |
Para suporte de digitação antecipada para colunas, atribua o. Tabela objeto para uma variável exportada com o mesmo nome que nome propriedade.
import { Table, StringColumn } from "@servicenow/sdk/core";
import { myFunction } from "../server/myFunction.js"
export const x_snc_example_to_do = Table({
name: 'x_snc_example_to_do',
label: 'My To Do Table',
extends: 'task',
schema: {
status: StringColumn({ label: 'Status' }),
deadline: StringColumn({
label: 'Deadline',
active: true,
mandatory: false,
readOnly: false,
maxLength: 40,
dropdown: 'none',
attributes: {
updateSync: false,
},
default: 'today',
dynamicValueDefinitions: {
type: 'calculated_value',
calculatedValue: '',
},
choices: {
choice1: {
label: 'Choice1 Label',
sequence: 0,
inactiveOnUpdate: false,
dependentValue: '5',
hint: 'hint',
inactive: false,
language: 'en',
},
choice2: { label: 'Choice2 Label', sequence: 1 },
},
}),
dynamic1: StringColumn({
dynamicValueDefinitions: {
type: 'calculated_value',
calculatedValue: myFunction,
},
}),
dynamic2: StringColumn({
dynamicValueDefinitions: {
type: 'dynamic_default',
dynamicDefault: `gs.info()`,
},
}),
dynamic3: StringColumn({
dynamicValueDefinitions: {
type: 'dependent_field',
columnName: 'status',
},
}),
dynamic4: StringColumn({
dynamicValueDefinitions: {
type: 'choices_from_other_table',
table: 'sc_cat_item',
field: 'display',
},
}),
},
actions: ['create', 'read'],
display: 'deadline',
accessibleFrom: 'package_private',
allowClientScripts: true,
allowNewFields: true,
allowUiActions: true,
allowWebServiceAccess: true,
extensible: true,
liveFeed: true,
callerAccess: 'none',
autoNumber: {
number: 10,
numberOfDigits: 2,
prefix: 'abc',
},
audit: true,
readOnly: true,
textIndex: true,
attributes: {
updateSync: true,
},
index: [
{
name: 'idx',
element: 'status',
unique: true,
},
],
})
Objeto de coluna
Adicione uma coluna [sys_dictionary] a uma tabela.
Adicionar Coluna objetos no esquema propriedade do Tabela objeto.
Há muitos tipos de colunas com base no tipo de campo. Os objetos de coluna usam o formato <Type>Coluna onde <Type> é o tipo de campo. Para obter informações sobre tipos de campo, consulte Field types reference.
Os seguintes tipos de colunas são compatíveis: Listacoluna , Coluna de rádio , Coluna de String , ColunaEscolha , ScriptColumn , Coluna Booleana , Coluna de condições , Coluna Decimal , Coluna integrada , Coluna de versão , DomainIdColunn , CampoNameColuna , Referência , TableNameColunn , UserRolesColunas , Imagem Básica , IdColunn do documentoIdColumn , DomainPathColunn , TextColunn Traduzida , SystemClassNameColumn , Coluna de Campo Traduzida , Coluna genérica , Coluna de data , Coluna de data e hora , Data/hora do calendário , BasicDateTimeColumn , Coluna DueDateColunn , Data/hora do calendário , Coluna de data integrada , Coluna de data/hora agendada , OutorDataColunaColuna , Senha 2Coluna , GuidColunn , JsonColunn , NameValuePairsColunn , Coluna Url , Coluna de e-mail , HTMLColumn , Coluna flutuante , TextColunn de várias linhas , Coluna de Duração , Coluna de hora , FieldListColunn , SlushBucketColumn , Valor do modelo , e. ApprovalRulesColuna .
| Nome | Tipo | Descrição |
|---|---|---|
| rótulo | Cadeia de caracteres ou matriz | Um rótulo exclusivo para a coluna que aparece nos cabeçalhos da lista e nos campos de formulário. Os rótulos de campo podem ser fornecidos como uma cadeia de caracteres ou uma matriz de rótulo objetos. Para obter mais informações, consulte objeto de rótulo. Padrão: A chave usada para o objeto de coluna |
| maxLength | Número | O tamanho máximo dos valores na coluna. Um comprimento inferior a 254 aparece como um campo de texto de linha única. Qualquer item com 255 caracteres ou mais aparece como uma caixa de texto de várias linhas. Nota: Para evitar perda de dados, diminua o tamanho de um campo de cadeia de caracteres somente quando estiver desenvolvendo uma nova aplicação e não quando um campo contiver dados. Padrão: Varia dependendo do tipo de coluna |
| ativo | Booliano | Sinalizador que indica se o campo deve ser exibido em listas e formulários. Valores válidos:
Padrão: verdadeiro |
| obrigatória | Booliano | Sinalizador que indica se o campo deve conter um valor para salvar um registro. Valores válidos:
Padrão: falso |
| readOnly | Booliano | Sinalizador que indica se você pode editar o valor do campo. Valores válidos:
Padrão: falso |
| padrão | Qualquer | O valor padrão do campo ao criar um registro. O valor deve usar o tipo correto com base no tipo de coluna. |
| escolhas | Objeto | Uma lista de opções [sys_choice] para uma coluna. Para obter mais informações, consulte objeto de escolhas. Esta propriedade se aplica somente a. ColunaEscolha objetos e tipos de coluna que estendem as colunas de seleção. Pode incluir uma matriz de valores primitivos ou uma série de objetos de escolha. |
| atributos | Objeto | Pares de chave e valor de quaisquer atributos de dicionário compatíveis [sys_schema_attribute]. Por exemplo:Para obter mais informações, consulte Atributos do dicionário . |
| FunctionDefinition | Cadeia de caracteres | A definição de uma função que o campo executa, como uma operação matemática, cálculo do comprimento do campo ou cálculo do dia da semana. Cada definição começa com Por exemplo, a definição de função a seguir cria um campo que mostra a descrição resumida, seguida por um espaço, seguido pelo nome do chamador: Para obter mais informações sobre definições de função, consulte Function field. |
| DynamicValueDefinitions | Objeto | Valores padrão gerados dinamicamente com base em filtros dinâmicos. Forneça uma combinação de um tipo e uma chave de comportamento relacionada para especificar padrões dinâmicos. Os seguintes tipos são compatíveis:
|
| lista suspensa | Cadeia de caracteres | Uma opção de como uma lista de opções é exibida para exibições de lista e formulário da tabela. Esta propriedade se aplica somente a. ColunaEscolha objetos e tipos de coluna que estendem as colunas de seleção. Valores válidos:
Padrão: Nenhum |
schema: {
deadline: DateColumn({ label: 'Deadline' }),
state: StringColumn({
label: 'State',
choices: {
ready: { label: 'Ready' },
completed: { label: 'Completed' },
inProgress: { label: 'In Progress' },
}
}),
task: StringColumn({ label: 'Task', maxLength: 120 }),
}schema: {
x_scope_myColumn: StringColumn({...})
}objeto de escolhas
Configure opções [sys_choice] para uma coluna em uma tabela.
. opções o objeto é uma propriedade em Coluna objeto. Use o. opções objeto com tipos de coluna compatíveis em esquema propriedade de um Tabela objeto. Apenas determinados tipos de coluna estendem o tipo de coluna de escolha ( ColunaEscolha ) e pode incluir opções.
| Nome | Tipo | Descrição |
|---|---|---|
| rótulo | Cadeia de caracteres | Necessário. O texto a ser exibido para a opção na lista. |
| dependentValue | Cadeia de caracteres | Um valor que você mapeia para DependentField em DynamicValueDefinitions propriedade do Coluna objeto. |
| dica | Cadeia de caracteres | Uma descrição resumida da opção que é exibida como dica de ferramenta ao passar o mouse sobre ela. |
| idioma | Cadeia de caracteres | . PCN 47 código do idioma da opção traduzida. Padrão: en |
| sequência | Inteiro | A ordem na lista de opções em que uma escolha ocorre. |
| inativo | Booliano | Sinalizador que indica se a opção deve ser mostrada na lista. Valores válidos:
Padrão: falso |
. opções o objeto inclui uma série de objetos de escolha, em que os nomes das escolhas são fornecidos como chaves de objeto emparelhadas com as definições de escolhas.
choices: {
choice1: {
label: 'Choice1 Label',
sequence: 0,
inactiveOnUpdate: false,
dependentValue: '5',
hint: 'hint',
inactive: false,
language: 'en',
},
choice2: { label: 'Choice2 Label', sequence: 1 },
}
objeto de rótulo
Configure um rótulo de campo [sys_documentation] para uma tabela ou coluna.
. rótulo o objeto é uma propriedade em Tabela e. Coluna objetos.
| Nome | Tipo | Descrição |
|---|---|---|
| idioma | Cadeia de caracteres | . PCN 47 código do idioma do rótulo do campo. Um idioma pode ter apenas um rótulo, portanto, cada idioma deve ser exclusivo em uma matriz de rótulo objetos. |
| rótulo | Cadeia de caracteres | O texto do rótulo do campo no idioma especificado. |
| dica | Cadeia de caracteres | Uma descrição resumida que é exibida como uma dica de ferramenta ao passar o mouse sobre o rótulo do campo. |
| ajuda | Cadeia de caracteres | Informações adicionais sobre o campo. O texto de ajuda não é exibido nas exibições de formulário ou lista da tabela. |
| plural | Cadeia de caracteres | A forma plural do rótulo do campo. |
| URL | Cadeia de caracteres | Um URL para uma página da web que fornece informações sobre o campo. Quando um URL é fornecido, o rótulo é exibido como um hiperlink. |
| UrlTarget | Cadeia de caracteres | Não usado (obsoleto). |
label: [
{
label: 'English description',
language: 'en',
hint: 'Provide a short description'
},
{
label: 'Description de español',
language: 'es'
},
]
Objeto LicensingConfig
Crie uma configuração de licenciamento [ua_table_licensing_config] para rastrear contagens de assinaturas de uma tabela.
. LicensingConfig o objeto é uma propriedade em Tabela objeto. Se esta propriedade não for especificada, uma configuração de licenciamento padrão com LicenseModel definido como nenhum é gerado para a tabela na instância.
| Nome | Tipo | Descrição |
|---|---|---|
| licenseModel | Cadeia de caracteres | O modelo para acompanhar o uso da assinatura. Valores válidos:
Padrão: Nenhum |
| Licenças | Matriz | Uma lista de funções para as quais todas as operações em registros na tabela são contabilizadas para a assinatura. |
| Excluir | Booliano | Sinalizador que indica se uma assinatura é necessária para excluir registros de tabelas com o modelo de produtor. Valores válidos:
Padrão: verdadeiro |
| OpInsert | Booliano | Sinalizador que indica se uma assinatura é necessária para inserir registros para tabelas com o modelo de produtor. Valores válidos:
Padrão: verdadeiro |
| OpUpdate | Booliano | Sinalizador que indica se uma assinatura é necessária para atualizar registros de tabelas com o modelo de produtor.
Padrão: verdadeiro |
| Licença | Cadeia de caracteres | Uma consulta de filtro que determina condições para contar operações para uma assinatura. Para o modelo executante, especifique o conjunto de condições que determinam se o usuário conectado é o executante do registro. Para o modelo do produtor, especifique o conjunto de condições que determinam se os registros são contados para a assinatura. |
| OwnerCondition | Cadeia de caracteres | Uma consulta de filtro que determina se um usuário é proprietário de um registro para o modelo de executante. |
| EPreenchimento | Booliano | Não usado (obsoleto). Sinalizador que indica se as atualizações devem ser proibidas por usuários que não estão inscritos na aplicação. Valores válidos:
Padrão: falso |
licensingConfig: {
licenseModel: 'fulfiller',
opInsert: false,
licenseRoles: ['admin'],
}
Objeto de AutoNumeração
Configure a numeração automática [sys_number] para uma tabela.
. AutoNumeração o objeto é uma propriedade em Tabela objeto.
| Nome | Tipo | Descrição |
|---|---|---|
| prefixo | Cadeia de caracteres | Um prefixo para cada número de registro na tabela. Por exemplo, INC para Incidente. Padrão: Pre |
| número | Inteiro | O número do registro de base desta tabela. Os números de registro são incrementados automaticamente e o próximo número é mantido na tabela Contador [sys_number_counter]. Se você definir o número base com um valor maior que o contador atual, o próximo número de registro usará o novo número base. Caso contrário, o próximo número de registro usará o contador atual. O contador não é redefinido para um número base inferior a ele mesmo. Padrão: 1000 |
| NumberDeDigits | Inteiro | O número mínimo de dígitos a serem usados após o prefixo. Zeros à esquerda são adicionados aos números automáticos, se necessário. Por exemplo, INC0001001 contém três zeros à esquerda. O número de dígitos pode exceder o tamanho mínimo. Por exemplo, se NumberDeDigits É 2 e mais de 99 registros são criados na tabela, os números continuam além de 100 (como INC101). Aviso: A mudança deste campo pode atualizar todos os valores numéricos de registros existentes em uma tabela. Tome cuidado ao mudar este campo em uma instância de produção. Padrão: 7 |
autoNumber: {
prefix: 'TODO',
number: 2000,
numberOfDigits: 9,
}
number: IntegerColumn({
default: 'javascript:getNextObjNumberPadded();'
})