Classe NowTableService - iOS
. NowTableService a classe fornece funções que permitem executar operações de criação, leitura, atualização e exclusão em registros de existentes ServiceNow tabelas.
| Nome | Tipo | Descrição |
|---|---|---|
| configuração | NowServiceConfiguration | Definições de configuração fornecidas quando o serviço foi inicializado. |
NowTableService - create<Model: SysIdentifiableModel>(_ model: Model, em tablename: Cadeia de caracteres, codificador: Codificador, writeOptions: FieldWriteOptions, configuração: FetchConfiguration) lançamentos assíncronos
Insere o modelo codificável especificado na tabela especificada.
Para criar um novo registro por modelo, o modelo deve estar em conformidade com SysIdentifiableModel protocolo. Normalmente, cada tabela terá seu próprio modelo.
Do modelo sys_Ido parâmetro é ignorado durante a criação como sysIdgerado pelo ServiceNow plataforma. . ServiceNow plataforma gerada sys_Idé retornado em completionmanipuladores Resultado modelo.
| Nome | Tipo | Descrição |
|---|---|---|
| modelo | SysIdentifiableModel | Definição do modelo dos campos a serem inseridos na tabela. |
| Em tablename | Cadeia de caracteres | Nome da tabela na qual gravar os registros, como incidente . |
| codificador | Codificador | Opcional. Codificador para usar para codificar ou decodificar dados enviados e recebidos do ServiceNow instância.Valores possíveis:
Padrão: .Default |
| WriteOptions | CampoWriteOptions | Opcional. Opções de configuração a serem aplicadas aos dados que estão sendo gravados no registro. Padrão: Nil |
| configuração | FetchConfiguration | Opcional. Configuração a ser aplicada aos registros recuperados, incluindo filtros que definem os registros a serem retornados, o limite de tamanho da página de paginação, quais campos recuperar e o que incluir nos campos. Padrão: Nil - Todos os registros retornados. |
| Tipo | Descrição |
|---|---|
| Modelo | Retornado quando o método é bem-sucedido. Modelo passível de codificação que foi inserido na tabela especificada, incluindo o sys_id. Use este sys_id para fazer referência a este registro em chamadas de método futuras. |
| NowDataError | Lançado quando o método falha.
|
O exemplo de código a seguir mostra como chamar este método.
struct User: SysIdentifiableModel {
var sysId: String = ""
var name: String
}
let service: NowTableService = ...
let user = User(name: "Ash Williams")
do {
let result = try await service.create(user, in: “sys_user”)
} catch {
...
}
NowTableService - create<Model: SysIdentifiableModel>(_ model: Model, em tablename: Cadeia de caracteres, codificador: Codificador, writeOptions: FieldWriteOptions, configuração: FetchConfiguration, escape (<Model, NowDataError>))
Insere o modelo codificável especificado na tabela especificada e executa o. completionmanipulador.
SysIdentifiableModel protocolo. Normalmente, cada tabela terá seu próprio modelo. Por exemplo:struct User: SysIdentifiableModel {
var sysId: String = ""
var name: String
}
let service: NowTableService = ...
let user = User(name: "Ash Williams")
service.create(Incident(fields: fields), in: tableName, writeOptions: writeOptions, configuration: fetchConfiguration) { [weak self] result in
switch result {
case .success(let newUser):
/// 'newUser' contains the platform assigned 'sys_id', use in subsequent 'update' or 'delete' calls.
case .failure(let error):
...
}
}Do modelo sys_Ido parâmetro é ignorado durante a criação como sysIdgerado pelo ServiceNow plataforma. . ServiceNow plataforma gerada sys_Idé retornado em completionmanipuladores Resultado modelo.
| Nome | Tipo | Descrição |
|---|---|---|
| modelo | SysIdentifiableModel | Definição do modelo dos campos a serem inseridos na tabela. |
| Em tablename | Cadeia de caracteres | Nome da tabela na qual gravar os registros, como incidente . |
| codificador | Codificador | Opcional. Codificador para usar para codificar ou decodificar dados enviados e recebidos do ServiceNow instância.Valores possíveis:
Padrão: .Default |
| WriteOptions | CampoWriteOptions | Opcional. Opções de configuração a serem aplicadas aos dados que estão sendo gravados no registro. Padrão: Nil |
| configuração | FetchConfiguration | Opcional. Configuração a ser aplicada aos registros recuperados, incluindo filtros que definem os registros a serem retornados, o limite de tamanho da página de paginação, quais campos recuperar e o que incluir nos campos. Padrão: Nil - Todos os registros retornados. |
| conclusão | Escape (<Model, NowDataError>) | Manipulador de conclusão a ser executado após a criação dos modelos decodificáveis especificados. Valores de retorno para o manipulador de conclusão:
|
| Tipo | Descrição |
|---|---|
| Nenhum |
struct User: SysIdentifiableModel {
var sysId: String = ""
var name: String
}
let service: NowTableService = ...
let user = User(name: "Ash Williams")
service.create(Incident(fields: fields), in: tableName, writeOptions: writeOptions, configuration: fetchConfiguration) { [weak self] result in
switch result {
case .success(let newUser):
/// 'newUser' contains the platform assigned 'sys_id' to use in subsequent update or delete calls.
case .failure(let error):
...
}
}
NowTableService - create<Model: SysIdentifiableModel> model: Model, em tablename: Cadeia de caracteres, caminho: Cadeia de caracteres.ResultPath, codificador: .Default, writeOptions: FieldWriteOptions? (Configuração: FetchConfiguration: Nil)
Insere um modelo passível de codificação na tabela especificada.
SysIdentifiableModel protocolo. Normalmente, cada tabela terá seu próprio modelo. Por exemplo:struct User: SysIdentifiableModel {
var sysId: String = ""
var name: String
}
let service: NowTableService = ...
let user = User(name: "Ash Williams")
service.create(Incident(fields: fields), in: tableName, writeOptions: writeOptions, configuration: fetchConfiguration) { [weak self] result in
switch result {
case .success(let newUser):
/// 'newUser' contains the platform assigned 'sys_id', use in subsequent 'update' or 'delete' calls.
case .failure(let error):
...
}
}ReceiveValue modelo de retorno de chamada.| Nome | Tipo | Descrição |
|---|---|---|
| modelo | SysIdentifiableModel | SysIdentifiableModel modelo a ser inserido na tabela. |
| Em tablename | Cadeia de caracteres | Nome da tabela na qual gravar os registros, como incidente . |
| caminho | Cadeia de caracteres | Opcional. Caminho separado por pontos para o tipo aninhado. Por exemplo, resultado ou baz.barra.foo para aninhamento mais profundo.Padrão: |
| codificador | Codificador | Opcional. Codificador para usar para codificar ou decodificar dados enviados e recebidos do ServiceNow instância.Valores possíveis:
Padrão: .Default |
| WriteOptions | CampoWriteOptions | Opcional. Opções de configuração a serem aplicadas aos dados que estão sendo gravados no registro. Padrão: Nil |
| configuração | FetchConfiguration | Opcional. Configuração a ser aplicada aos registros recuperados, incluindo filtros que definem os registros a serem retornados, o limite de tamanho da página de paginação, quais campos recuperar e o que incluir nos campos. Padrão: Nil - Todos os registros retornados. |
| Tipo | Descrição |
|---|---|
| AnyPublisher<Model,NowDataError> | Modelo passível de codificação que foi inserido na tabela especificada, incluindo sys_Id. Use este sys_id para fazer referência a este registro em chamadas de método futuras. NowDataError Escape (<Model, NowDataError>) |
Mostra como inserir um único registro na tabela Usuário [sys_user].
struct User: SysIdentifiableModel {
var sysId: String = ""
var name: String
}
let service: NowTableService = ...
let user = User(name: "Ash Williams")
let publisher: AnyPublisher<User, NowDataError> = service.create(user, in: "sys_user")
publisher
.subscribe(on: DispatchQueue.global())
.receive(on: DispatchQueue.main)
.sink { [weak self] completion in
...
} receiveValue: { [weak self] newUser in
/// 'newUser' contains the ServiceNow platform assigned 'sys_id' to use in subsequent update and delete calls.
...
}
.store(in: &subscriptions)
NowTableService - createRecord(com campos: [Fieldname: FieldValue], em tablename: Cadeia de caracteres, writeOptions: FieldWriteOptions? Configuração: FieldReadConfiguration? lançamentos assíncronos
Insere um registro na tabela especificada que contém os campos especificados.
let dataPublisher: AnyPublisher<Data, NowDataError> = ...
let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()sys_ normalmente são parâmetros do sistema que são gerados automaticamente e não podem ser atualizados. Os campos que não são especificados e não gerados automaticamente pelo sistema são definidos com o valor nulo do tipo de dados associado.| Nome | Tipo | Descrição |
|---|---|---|
| com campos | [Fieldname: FieldValue] | Pares nome-valor dos campos a serem incluídos no registro. |
| Em tablename | Cadeia de caracteres | Nome da tabela na qual gravar os registros, como incidente . |
| WriteOptions | CampoWriteOptions | Opcional. Opções de configuração a serem aplicadas aos dados que estão sendo gravados no registro. Padrão: Nil |
| configuração | FetchConfiguration | Opcional. Configuração a ser aplicada aos registros recuperados, incluindo filtros que definem os registros a serem retornados, o limite de tamanho da página de paginação, quais campos recuperar e o que incluir nos campos. Padrão: Nil - Todos os registros retornados. |
| Tipo | Descrição |
|---|---|
| Dados | Retornado quando o método é bem-sucedido. Objeto de dados que contém o novo registro. |
| NowDataError | Lançado quando o método falha.
|
Os exemplos de código a seguir mostram como chamar este método.
do {
let dataResult: Data = try await tableService.createRecord(with: fields, in: tableName, writeOptions: writeOptions, configuration: configuration)
let recordResult: NowRecord = dataResult.convertToRecord()
} catch {
print("Record creation failed with NowDataError: \(error)")
}
NowTableService - createRecord(com campos: [Fieldname: FieldValue], em tablename: Cadeia de caracteres, writeOptions: FieldWriteOptions, configuração: FieldReadConfiguration, conclusão: NowDataError>)
Insere o registro especificado na tabela especificada e executa o. completionmanipulador depois que o registro é salvo.
let dataPublisher: AnyPublisher<Data, NowDataError> = ...
let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myResult.convertToRecords()sys_ normalmente são parâmetros do sistema que são gerados automaticamente e não podem ser atualizados. Os campos que não são especificados e não gerados automaticamente pelo sistema são definidos com o valor nulo do tipo de dados associado.| Nome | Tipo | Descrição |
|---|---|---|
| com campos | [Fieldname: FieldValue] | Pares nome-valor dos campos a serem incluídos no registro. |
| Em tablename | Cadeia de caracteres | Nome da tabela na qual gravar os registros, como incidente . |
| WriteOptions | CampoWriteOptions | Opcional. Opções de configuração a serem aplicadas aos dados que estão sendo gravados no registro. Padrão: Nil |
| configuração | FieldReadConfiguration | Opcional. Opções de configuração que especificam quais campos retornar e o que incluir nos campos. Padrão: Nil |
| conclusão | Escape (<Data, NowDataError>) | Manipulador de conclusão a ser executado depois que os registros forem recuperados. Valores de retorno:
|
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
O exemplo de código a seguir mostra como chamar esta função.
let fields = ["short_description" : "test description"]
let writeOptions: FieldWriteOptions = [.suppressAutoSysField, .treatInputValuesAsDisplayValues]
let readConfiguration = FieldReadConfiguration(includeFields: ["number", "short_description"])
tableService.createRecord(with: fields, in: tableName, writeOptions: writeOptions, configuration: readConfiguration) { [weak self] result in
switch result {
case .success(let dataResult):
let recordResult: NowRecord = dataResult.convertToRecord()
case .failure(let error):
print("Record creation failed with NowDataError: \(error)")
}
}
NowTableService - createRecord(com campos: [Fieldname: FieldValue], em tablename: Cadeia de caracteres, writeOptions: FieldWriteOptions? Configuração: FieldReadConfiguration? nulo)
Insere um registro na tabela especificada que contém os campos especificados.
let dataPublisher: AnyPublisher<Data, NowDataError> = ...
let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()sys_ normalmente são parâmetros do sistema que são gerados automaticamente e não podem ser atualizados. Os campos que não são especificados e não gerados automaticamente pelo sistema são definidos com o valor nulo do tipo de dados associado.| Nome | Tipo | Descrição |
|---|---|---|
| com campos | [Fieldname: FieldValue] | Pares nome-valor dos campos a serem incluídos no registro. |
| Em tablename | Cadeia de caracteres | Nome da tabela na qual gravar os registros, como incidente . |
| WriteOptions | CampoWriteOptions | Opcional. Opções de configuração a serem aplicadas aos dados que estão sendo gravados no registro. Padrão: Nil |
| configuração | FetchConfiguration | Opcional. Configuração a ser aplicada aos registros recuperados, incluindo filtros que definem os registros a serem retornados, o limite de tamanho da página de paginação, quais campos recuperar e o que incluir nos campos. Padrão: Nil - Todos os registros retornados. |
| Tipo | Descrição |
|---|---|
| AnyPublisher<Data, NowDataError> | Objeto de dados que contém o registro atualizado. NowDataError
|
Este exemplo mostra como criar uma função que insere um registro na tabela especificada, com os campos especificados. A saída da chamada é um ByteArray que permite converter os dados em qualquer modelo desejado.
tableService.createRecord(with: fields, in: tableName, writeOptions: writeOptions, configuration: readConfiguration)
.subscribe(on: DispatchQueue.global())
.receive(on: DispatchQueue.main)
.convertToRecord()
.sink { completion in
if case let .failure(error) = completion {
print("Record creation failed with NowDataError: \(error)")
}
} receiveValue: { record in
print("Created NowRecord: \(record)")
}
.store(in: &subscriptions)
NowTableService - delete(_ model: Model, from tablename: String) lançamentos assíncronos
Exclui o modelo codificável especificado da tabela especificada.
| Nome | Tipo | Descrição |
|---|---|---|
| modelo | Modelo | SysIdentifiableModel para excluir da tabela. Ele deve conter o sys_id do registro a ser excluído. |
| Do tablename | Cadeia de caracteres | Nome da tabela da qual as informações serão excluídas, como incidente . |
| Tipo | Descrição |
|---|---|
| Nenhum(a) | Nada retornado quando o método é bem-sucedido. |
| NowDataError | Lançado quando o método falha.
|
Os exemplos de código a seguir mostram como chamar este método.
do {
try await tableService.delete(model, from: tableName)
print("Deletion successful.")
} catch {
print("Deletion failed with NowDataError: \(error)")
}
NowTableService - delete(_ model: Model, from tablename: Cadeia de caracteres, conclusão: Escape (<Void, NowDataError>))
Exclui o modelo codificável especificado da tabela especificada e executa o apropriado completionmanipulador.
| Nome | Tipo | Descrição |
|---|---|---|
| modelo | Modelo | SysIdentifiableModel para excluir da tabela. Ele deve conter o sys_id do registro a ser excluído. |
| Do tablename | Cadeia de caracteres | Nome da tabela da qual as informações serão excluídas, como incidente . |
| conclusão | Escape (<Void, NowDataError>) | Manipulador de conclusão a ser executado após a exclusão dos modelos codificáveis especificados. Valores de retorno:
|
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
O exemplo de código a seguir mostra como chamar esta função.
tableService.delete(Incident(sysId: sysId), from: tableName) { [weak self] result in
switch result {
case .success:
// Delete successfully
case .failure(let error):
// Failed to delete with NowDataError
}
}
NowTableService - delete(_ model: Model, from tablename: Cadeia de caracteres)
Exclui o modelo codificável especificado da tabela especificada.
| Nome | Tipo | Descrição |
|---|---|---|
| modelo | Modelo | SysIdentifiableModel para excluir da tabela. Ele deve conter o sys_id do registro a ser excluído. |
| Do tablename | Cadeia de caracteres | Nome da tabela da qual as informações serão excluídas, como incidente . |
| Tipo | Descrição |
|---|---|
| AnyPublisher<Void, NowDataError> | Êxito: Nada retornado NowDataError
|
O exemplo de código a seguir mostra como chamar esta função.
tableService.delete(Incident(sysId: sysId), from: tableName)
.subscribe(on: DispatchQueue.global())
.receive(on: DispatchQueue.main)
.sink { [weak self] completion in
switch completion {
case .finished:
// Delete successfully
case .failure(let error):
// Failed to delete with NowDataError
}
} receiveValue: { _ in
}
.store(in: &subscriptions)
NowTableService - deleteRecord(SYSID: SYSID, de tablename: Cadeia de caracteres) lançamentos assíncronos
Exclui o registro especificado da tabela especificada.
| Nome | Tipo | Descrição |
|---|---|---|
| sysId | Cadeia de caracteres | Sys_id do registro a ser excluído. |
| Do tablename | Cadeia de caracteres | Nome da tabela da qual as informações serão excluídas, como incidente . |
| Tipo | Descrição |
|---|---|
| Nenhum(a) | Nada retornado quando o método é bem-sucedido. |
| NowDataError | Lançado quando o método falha.
|
Os exemplos de código a seguir mostram como chamar este método.
do {
try await tableService.deleteRecord(sysId: sysId, from: tableName)
print("Deletion successful.")
} catch {
print("Deletion failed with NowDataError: \(error)")
}
NowTableService - deleteRecord(SYSID: SYSID, de tablename: Cadeia de caracteres, conclusão: Escape (<Void, NowDataError>))
Exclui o registro especificado da tabela especificada e executa o. completionobjeto após a exclusão do registro.
| Nome | Tipo | Descrição |
|---|---|---|
| sysId | Cadeia de caracteres | Sys_id do registro a ser excluído. |
| Do tablename | Cadeia de caracteres | Nome da tabela da qual as informações serão excluídas, como incidente . |
| conclusão | Escape (<Void, NowDataError>) | Êxito: Nada é retornado. NowDataError
|
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
O exemplo de código a seguir mostra como chamar esta função.
tableService.deleteRecord(sysId: sysId, from: tableName) { [weak self] result in
switch result {
case .success:
// Delete successfully
case .failure(let error):
// Failed to delete with NowDataError
}
}
NowTableService - deleteRecord(SYSID: SYSID, de tablename: Cadeia de caracteres)
Exclui o registro especificado da tabela especificada.
| Nome | Tipo | Descrição |
|---|---|---|
| sysId | Cadeia de caracteres | Sys_id do registro a ser excluído. |
| Do tablename | Cadeia de caracteres | Nome da tabela da qual as informações serão excluídas, como incidente . |
| Tipo | Descrição |
|---|---|
| AnyPublisher<Void, NowDataError> | Êxito: Nada retornado NowDataError
|
Este exemplo mostra como criar uma função que exclui um registro em uma tabela especificada.
tableService.deleteRecord(sysId: sysId, from: tableName)
.subscribe(on: DispatchQueue.global())
.receive(on: DispatchQueue.main)
.sink { completion in
switch completion {
case .finished:
print("Record deleted.")
case .failure(let error):
print("Deletion failed with NowDataError: \(error)")
}
} receiveValue: { _ in }
.store(in: &subscriptions)
NowServiceTable - init(configuração: NowServiceConfiguration, coreServiceProvider: NowCoreServiceProviding? nulo)
Cria um objeto NowTableService.
| Nome | Tipo | Descrição |
|---|---|---|
| configuração | NowServiceConfiguration | Parâmetros de configuração a serem usados ao criar o serviço. |
| CoreServiceProvider | NowCoreServiceProviding | Opcional. Provedor de serviço a ser associado ao NowTableService. Padrão: Nil |
O exemplo de código a seguir mostra como chamar esta função.
guard let coreService = NowSDK.core() else {
// Error with NowServiceError.sdkNotConfigured
return
}
guard
let instanceUrl = URL(string: "http://sample.service-now.com") ,
let serviceConfig = NowSDK.makeServiceConfiguration(for: instanceUrl) else {
// Could not create service –
// NowServiceError.serviceConfigurationInvalid
return
}
let tableService = NowTableService (configuration: serviceConfig, coreServiceProvider: coreService)
NowTableService - model<Model: Decodable>(com SYSID: SYSID? Nome da tabela: Cadeia de caracteres, caminho: Cadeia de caracteres Constants.resultPath, codificador: .Default, configuração: FetchConfiguration? lançamentos assíncronos
Habilita a recuperação de modelos decodificáveis de uma tabela especificada.
{
"result": [
{ "name": "Ash Williams" },
{ "name": "Lionel Cosgrove" },
{ "name": "Laurie Strode" }
]
}Para conjuntos de resultados grandes, use uma das funções de paginador, NowTableService - paginator(de tablename: Cadeia de caracteres, configuração: FetchConfiguration? nulo) ou NowTableService - paginator<Model: Decodable>(de tablename: Cadeia de caracteres, caminho: Cadeia de caracteres nulo) para buscar modelos paginados.| Nome | Tipo | Descrição |
|---|---|---|
| Com SYSID | SysID | Opcional. Sys_id do registro a ser retornado. Forneça o sys_id se quiser recuperar um registro específico. Padrão: Nil |
| Do tablename | Cadeia de caracteres | Nome da tabela da qual recuperar os registros, como incidente . |
| caminho | Cadeia de caracteres | Caminho separado por pontos para o tipo aninhado. Por exemplo, resultado ou baz.barra.foo para aninhamento mais profundo.Padrão: |
| codificador | Codificador | Opcional. Codificador para usar para codificar ou decodificar dados enviados e recebidos do ServiceNow instância.Valores possíveis:
Padrão: .Default |
| configuração | FetchConfiguration | Opcional. Configuração a ser aplicada aos registros recuperados, incluindo filtros que definem os registros a serem retornados, o limite de tamanho da página de paginação, quais campos recuperar e o que incluir nos campos. Padrão: Nil - Todos os registros retornados. |
| Tipo | Descrição |
|---|---|
| Modelo | Retornado quando o método é bem-sucedido. Modelos decodificáveis. |
| NowDataError | Lançado quando o método falha.
|
O exemplo de código a seguir mostra como chamar este método.
struct User: Codable {
var name: String
}
let service: NowTableService = ...
do {
let result = try await service.model([User].self, from: "sys_user", path: "result")
print("Fetched \(users.count) users")
} catch {
dump(error)
}
O exemplo de código a seguir mostra como buscar um único modelo decodificável por sys_id. Use um único tipo de modelo, como User.self , em vez de .self .
let result = try await service.model(User.self, with: "5137153cc611227c000bbd1bd8cd2005", from: "sys_user", path: "result")
NowTableService - model<Model: Decodable>(_ type: Model.Type, com SYSID: SYSID? Nome da tabela: Cadeia de caracteres, caminho: Cadeia de caracteres Constants.resultPath, codificador: .Default, configuração: FetchConfiguration? (<Model, NowDataError>)
Recupera modelos decodificáveis de uma tabela especificada.
{
"result": [
{ "name": "Ash Williams" },
{ "name": "Lionel Cosgrove" },
{ "name": "Laurie Strode" }
]
}Use esta função para obter modelos decodificáveis em vez de saída aninhada.
| Nome | Tipo | Descrição |
|---|---|---|
| tipo | Model.Type | Tipo de valor a ser decodificado. |
| Com SYSID | Cadeia de caracteres | Opcional. Sys_id do registro a ser retornado. Padrão: Todos os registros retornados de acordo com configurationconfigurações. |
| Do tablename | Cadeia de caracteres | Nome da tabela da qual recuperar os registros, como incidente . |
| caminho | Cadeia de caracteres | Opcional. Caminho separado por pontos para o tipo aninhado. Por exemplo, resultado ou baz.barra.foo para aninhamento mais profundo.Padrão: |
| codificador | Codificador | Opcional. Codificador para usar para codificar ou decodificar dados enviados e recebidos do ServiceNow instância.Padrão: |
| configuração | FetchConfiguration | Opcional. Configuração a ser aplicada aos registros recuperados, incluindo filtros que definem os registros a serem retornados, o limite de tamanho da página de paginação, quais campos recuperar e o que incluir nos campos. Padrão: Nil - Todos os registros retornados. |
| conclusão | Escape (<Model, NowDataError>) | Manipulador de conclusão a ser executado após recuperar os modelos decodificáveis especificados. Valores de retorno para o manipulador de conclusão:
|
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
Para recuperar uma coleção de decodificados Usermodelos.
struct User: SysIdentifiableModel {
var sysId: String = ""
var name: String
}
let service: NowTableService = ...
let user = User(name: "Ash Williams")
service.create(Incident(fields: fields), in: tableName, writeOptions: writeOptions, configuration: fetchConfiguration) { [weak self] result in
switch result {
case .success(let newUser):
/// 'newUser' contains the platform assigned 'sys_id', use in subsequent 'update' or 'delete' calls.
case .failure(let error):
...
}
}
Para buscar um único modelo decodificável por sys_id, use um único tipo de modelo, como User.self , em vez de .self .
service.model(User.self, with: "5137153cc611227c000bbd1bd8cd2005", from: "sys_user", path: "result") { resultin ... }
NowTableService - model<Model: Decodable>(com SYSID: SYSID? Nome da tabela: Cadeia de caracteres, caminho: Cadeia de caracteres Constants.resultPath, codificador: .Default, configuração: FetchConfiguration? nulo)
Cria um fornecedor que permite a recuperação de modelos decodificáveis de uma tabela especificada.
{
"result": [
{ "name": "Ash Williams" },
{ "name": "Lionel Cosgrove" },
{ "name": "Laurie Strode" }
]
}Para conjuntos de resultados grandes, use uma das funções de paginador, NowTableService - paginator(de tablename: Cadeia de caracteres, configuração: FetchConfiguration? nulo) ou NowTableService - paginator<Model: Decodable>(de tablename: Cadeia de caracteres, caminho: Cadeia de caracteres nulo) para buscar modelos paginados.| Nome | Tipo | Descrição |
|---|---|---|
| Com SYSID | SysID | Opcional. Sys_id do registro a ser retornado. Forneça o sys_id se quiser recuperar um registro específico. Padrão: Nil |
| Do tablename | Cadeia de caracteres | Nome da tabela da qual recuperar os registros, como incidente . |
| caminho | Cadeia de caracteres | Caminho separado por pontos para o tipo aninhado. Por exemplo, resultado ou baz.barra.foo para aninhamento mais profundo.Padrão: |
| codificador | Codificador | Opcional. Codificador para usar para codificar ou decodificar dados enviados e recebidos do ServiceNow instância.Valores possíveis:
Padrão: .Default |
| configuração | FetchConfiguration | Opcional. Configuração a ser aplicada aos registros recuperados, incluindo filtros que definem os registros a serem retornados, o limite de tamanho da página de paginação, quais campos recuperar e o que incluir nos campos. Padrão: Nil - Todos os registros retornados. |
| Tipo | Descrição |
|---|---|
| AnyPublisher<Model, NowDataError> | Fornecedor que retorna um modelo decodificável. NowDataError
|
Para obter um fornecedor que forneça modelos de usuário decodificado por tipo, como [Usuários].self , busque os modelos especificando um caminho separado por pontos.
struct User: Codable {
varname: String
}
let service: NowTableService = ...
let publisher: AnyPublisher<[User], NowDataError> = service.model(from: "sys_user", path: "user.photos.gps_location")
Para buscar um único modelo decodificável por sys_id, use um único User.self tipo de modelo, em vez de .self .
let publisher: AnyPublisher<User, NowDataError> = service.model(with: "5137153cc611227c000bbd1bd8cd2005", from: "sys_user", path: "result")
NowTableService - paginator(de tablename: Cadeia de caracteres, configuração: FetchConfiguration? nulo)
Cria um paginador que permite iterar por páginas de registros.
let dataPublisher: AnyPublisher<Data, NowDataError> = ...
let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()| Nome | Tipo | Descrição |
|---|---|---|
| tableName | Cadeia de caracteres | Nome da tabela da qual recuperar os registros, como incidente . |
| configuração | FetchConfiguration | Opcional. Configuração a ser aplicada aos registros recuperados, incluindo filtros que definem os registros a serem retornados, o limite de tamanho da página de paginação, quais campos recuperar e o que incluir nos campos. Padrão: Nil - Todos os registros retornados. |
| Tipo | Descrição |
|---|---|
| Paginator<Data> | Objeto do paginador que contém os registros especificados. NowDataError
|
private var tableService: NowTableService?
// Paginator creation uses type inference to determine the response type.
private var paginator: Paginator<[CustomerServiceCase]>?
func initializeTableService(for instanceUrl: URL) {
makeTableService(instanceUrl: instanceUrl) { [weak self] result in
guard let self = self else { return }
switch result {
case .success(let tableService):
self.tableService = tableService
// Create a paginator that iterates over pages of customer support cases. The paginator's response type is
// inferred from the paginator's type definition (e.g. `Paginator<[CustomerServiceCase]>`).
self.paginator = tableService.paginator(from: Self.tableName, configuration: self.fetchConfiguration)
// Subscribe to the paginator's publisher so you are able to receive paged results.
self.subscribeToPaginatorPublisher()
// Ready to start fetching data, inform the view controller.
self.onReady(self)
case .failure(let error):
debugPrint("Creating table service failed with error: \(error.localizedDescription)")
self.tableService = nil
self.paginator = nil
}
}
}
NowTableService - paginator<Model: Decodable>(de tablename: Cadeia de caracteres, caminho: Cadeia de caracteres nulo)
Cria um paginador que permite a iteração de páginas de modelos decodificados que manipulam o aninhamento.
{
"result": [
{ "name": "Ash Williams" },
{ "name": "Lionel Cosgrove" },
{ "name": "Laurie Strode" }
]
}struct User: Codable {
varname: String
}
let service: NowTableService = ...
let paginator: Paginator<[User]> = service.paginator(from: "sys_user", path: "result")paginator.publisher
.subscribe(on: DispatchQueue.global())
.receive(on: DispatchQueue.main)
.sink { … }
.store(in: &subscriptions)| Nome | Tipo | Descrição |
|---|---|---|
| Do tablename | Cadeia de caracteres | Nome da tabela da qual recuperar os registros, como incidente . |
| path | Cadeia de caracteres | Caminho separado por pontos para o tipo aninhado. Por exemplo, resultado ou result.user.photos para aninhamento mais profundo. Especificar um caminho personalizado permite buscar ou iterar dados aninhados . Padrão: |
| codificador | Codificador | Opcional. Codificador para usar para codificar ou decodificar dados enviados e recebidos do ServiceNow instância.Valores possíveis:
Padrão: .Default |
| configuração | FetchConfiguration | Opcional. Configuração a ser aplicada aos registros recuperados, incluindo filtros que definem os registros a serem retornados, o limite de tamanho da página de paginação, quais campos recuperar e o que incluir nos campos. Padrão: Nil - Todos os registros retornados. |
| Tipo | Descrição |
|---|---|
| Paginator<Data> | Objeto do paginador que contém paginador Decodificável modelo(s).NowDataError
|
Este exemplo mostra como obter um objeto Paginator que fornece Modelos de usuário decodificado. Você pode buscar o objeto Paginator desejado insinuando o compilador para retornar uma coleção de Modelos de usuário ([Usuário]) e informando ao objeto Paginator que os usuários estão aninhados abaixo do caminho do resultado.
struct User: Codable {
var name: String
}
let service: NowTableService = ...
let paginator: Paginator<[User]> = service.paginator(from: "sys_user", path: "result")
NowTableService - registro(com SYSID: SYSID, de tablename: Cadeia de caracteres, configuração: FieldReadConfiguration? lançamentos assíncronos
Recupera um registro especificado da tabela especificada em um ServiceNow instância.
let dataPublisher: AnyPublisher<Data, NowDataError> = ...
let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()| Nome | Tipo | Descrição |
|---|---|---|
| sysId | Cadeia de caracteres | Sys_id do registro a ser retornado do ServiceNow instância. |
| Do tablename | Cadeia de caracteres | Nome da tabela da qual recuperar os registros, como incidente . |
| configuração | FetchConfiguration | Opcional. Configuração a ser aplicada aos registros recuperados, incluindo filtros que definem os registros a serem retornados, o limite de tamanho da página de paginação, quais campos recuperar e o que incluir nos campos. Padrão: Nil - Todos os registros retornados. |
| Tipo | Descrição |
|---|---|
| Dados | Retornado quando o método é bem-sucedido. Objeto de dados que contém o registro especificado. |
| NowDataError | Lançado quando o método falha.
|
Os exemplos de código a seguir mostram como chamar este método.
func fetchTableRecord(sysId: String, tableName: String, includeFields: [FieldName] = [FieldName](), readOptions: FieldReadConfiguration.Options = []) async throws -> NowRecord {
let readConfig = FieldReadConfiguration(includeFields: includeFields, options: readOptions)
do {
let dataResult: Data = try await tableService.record(with: sysId, from: tableName, configuration: configuration)
let recordResult: NowRecord = dataResult.convertToRecord()
return recordResult
} catch {
print("Fetch failed with NowDataError: \(error)")
throw error
}
}
NowTableService - registro(com SYSID: SYSID, de tablename: Cadeia de caracteres, configuração: FieldReadConfiguration, conclusão: Escape (<Data, NowDataError>)
Recupera o registro especificado da tabela especificada e executa um manipulador de conclusão depois que o registro é recuperado.
let dataPublisher: AnyPublisher<Data, NowDataError> = ...
let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myResult.convertToRecords() Para conjuntos de resultados grandes, use NowTableService - paginator(de tablename: Cadeia de caracteres, configuração: FetchConfiguration? nulo) função para buscar resultados paginados. | Nome | Tipo | Descrição |
|---|---|---|
| sysId | Cadeia de caracteres | Sys_id do registro a ser retornado do ServiceNow instância. |
| Do tablename | Cadeia de caracteres | Nome da tabela da qual recuperar os registros, como incidente . |
| configuração | FetchConfiguration | Opcional. Configuração a ser aplicada aos registros recuperados, incluindo filtros que definem os registros a serem retornados, o limite de tamanho da página de paginação, quais campos recuperar e o que incluir nos campos. Padrão: Nil - Todos os registros retornados. |
| conclusão | Escape (<Data, NowDataError>) | Manipulador de conclusão a ser executado depois que os registros forem recuperados. Valores de retorno:
|
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
O exemplo de código a seguir mostra como chamar este método.
func fetchTableRecords( tableName: String, filterQuery: String, includeFields: [FieldName] = [FieldName](), readOptions: FieldReadConfiguration.Options = [], limit: Int?) {
let readConfig = FieldReadConfiguration(includeFields: includeFields, options: readOptions)
let config = FetchConfiguration(Filter(query: filterQuery), limit, readConfig)
tableService.records (from: tableName, configuration: fetchConfiguration) { [weak self] result in
switch result {
case .success(let dataResult):
let recordResult: [NowRecord] = dataResult.convertToRecords()
// Return recordResult
case .failure(let error):
// Failed to fetch record with NowDataError
}
}
}
NowTableService - registro(com SYSID: SYSID, de tablename: Cadeia de caracteres, configuração: FieldReadConfiguration? nulo)
Cria um fornecedor para recuperar um registro especificado da tabela especificada em um ServiceNow instância.
let dataPublisher: AnyPublisher<Data, NowDataError> = ...
let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()| Nome | Tipo | Descrição |
|---|---|---|
| sysId | Cadeia de caracteres | Sys_id do registro a ser retornado do ServiceNow instância. |
| Do tablename | Cadeia de caracteres | Nome da tabela da qual recuperar os registros, como incidente . |
| configuração | FetchConfiguration | Opcional. Configuração a ser aplicada aos registros recuperados, incluindo filtros que definem os registros a serem retornados, o limite de tamanho da página de paginação, quais campos recuperar e o que incluir nos campos. Padrão: Nil - Todos os registros retornados. |
| Tipo | Descrição |
|---|---|
| AnyPublisher<Data, NowDataError> | Objeto de dados que contém os registros especificados. NowDataError
|
Este exemplo mostra como criar uma função que recupera o registro especificado da tabela especificada, com os campos especificados. A saída da chamada é um ByteArray que permite converter os dados em qualquer modelo desejado.
tableService.record(with: sysId, from: tableName, configuration: fetchConfiguration)
.subscribe(on: DispatchQueue.global())
.receive(on: DispatchQueue.main)
.convertToRecord()
.sink { completion in
if case let .failure(error) = completion {
print("Record retrieval failed with NowDataError: \(error)")
}
} receiveValue: { record in
print("Successfully retrieved record: \(record)")
}
.store(in: &subscriptions)
NowTableService - registros (de tablename: Cadeia de caracteres, configuração: FetchConfiguration? lançamentos assíncronos
Recupera registros da tabela especificada.
let dataPublisher: AnyPublisher<Data, NowDataError> = ...
let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords() Para conjuntos de resultados grandes, use NowTableService - paginator(de tablename: Cadeia de caracteres, configuração: FetchConfiguration? nulo) função para buscar resultados paginados. | Nome | Tipo | Descrição |
|---|---|---|
| Do tablename | Cadeia de caracteres | Nome da tabela da qual recuperar os registros, como incidente . |
| configuração | FetchConfiguration | Opcional. Configuração a ser aplicada aos registros recuperados, incluindo filtros que definem os registros a serem retornados, o limite de tamanho da página de paginação, quais campos recuperar e o que incluir nos campos. Padrão: Nil - Todos os registros retornados. |
| Tipo | Descrição |
|---|---|
| Dados | Retornado quando o método é bem-sucedido. Objeto de dados que contém os registros especificados. |
| NowDataError | Lançado quando o método falha.
|
O exemplo de código a seguir mostra como chamar este método.
func fetchTableRecords( tableName: String, filterQuery: String,
includeFields: [FieldName] = [FieldName](), readOptions:
FieldReadConfiguration.Options = [], limit: Int?) {
let readConfig = FieldReadConfiguration(includeFields: includeFields, options: readOptions)
let config = FetchConfiguration(Filter(query: filterQuery), limit, readConfig)
do {
let dataResult: Data = try await tableService.records(from: tableName, configuration: config)
let recordResult: [NowRecord] = dataResult.convertToRecords()
// return recordResult
} catch {
print("Fetch failed with NowDataError: \(error)")
throw error
}
}
NowTableService - registros (de tablename: Cadeia de caracteres, configuração: FetchConfiguration? (<Data, NowDataError>)
Recupera registros de uma tabela especificada e executa o. completionmanipulador depois que os registros são recuperados.
let dataPublisher: AnyPublisher<Data, NowDataError> = ...
let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myResult.convertToRecords() Para conjuntos de resultados grandes, use NowTableService - paginator(de tablename: Cadeia de caracteres, configuração: FetchConfiguration? nulo) função para buscar resultados paginados. | Nome | Tipo | Descrição |
|---|---|---|
| Em tablename | Cadeia de caracteres | Nome da tabela na qual gravar os registros, como incidente . |
| configuração | FetchConfiguration | Opcional. Configuração a ser aplicada aos registros recuperados, incluindo filtros que definem os registros a serem retornados, o limite de tamanho da página de paginação, quais campos recuperar e o que incluir nos campos. Padrão: Nil - Todos os registros retornados. |
| conclusão | Escape (<Data, NowDataError>) | Manipulador de conclusão a ser executado depois que os registros forem recuperados. Valores de retorno:
|
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
O exemplo de código a seguir mostra como chamar este método.
func fetchTableRecords( tableName: String, filterQuery: String, includeFields: [FieldName] = [FieldName](), readOptions: FieldReadConfiguration.Options = [], limit: Int?) {
let readConfig = FieldReadConfiguration(includeFields: includeFields, options: readOptions)
let config = FetchConfiguration(Filter(query: filterQuery), limit, readConfig)
tableService.records (from: tableName, configuration: fetchConfiguration) { [weak self] result in
switch result {
case .success(let dataResult):
let recordResult: [NowRecord] = dataResult.convertToRecords()
// return recordResult
case .failure(let error):
// Failed to fetch record with NowDataError
}
}
}
NowTableService - registros (de tablename: Cadeia de caracteres, configuração: FetchConfiguration? nulo)
Cria um fornecedor que permite recuperar registros da tabela especificada.
let dataPublisher: AnyPublisher<Data, NowDataError> = ...
let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords() Para conjuntos de resultados grandes, use NowTableService - paginator(de tablename: Cadeia de caracteres, configuração: FetchConfiguration? nulo) função para buscar resultados paginados. | Nome | Tipo | Descrição |
|---|---|---|
| Do tablename | Cadeia de caracteres | Nome da tabela da qual recuperar os registros, como incidente . |
| configuração | FetchConfiguration | Opcional. Configuração a ser aplicada aos registros recuperados, incluindo filtros que definem os registros a serem retornados, o limite de tamanho da página de paginação, quais campos recuperar e o que incluir nos campos. Padrão: Nil - Todos os registros retornados. |
| Tipo | Descrição |
|---|---|
| AnyPublisher<Data, NowDataError> | Objeto de dados que contém os registros especificados. NowDataError
|
Este exemplo mostra como criar uma função que busca vários registros de uma tabela especificada. Ele cria um objeto que programará a solicitação para ser executada em algum momento no futuro e retornará uma resposta ByteArray.
tableService.records(from: tableName, configuration: fetchConfiguration)
.subscribe(on: DispatchQueue.global())
.receive(on: DispatchQueue.main)
.convertToRecords()
.sink { completion in
if case let .failure(error) = completion {
print("Record retrieval failed with NowDataError: \(error)")
}
} receiveValue: { records in
print("Successfully retrieved records: \(records)")
}
.store(in: &subscriptions)
NowTableService - update<Model: SysIdentifiableModel>(_ model: Model, em tablename: Cadeia de caracteres, codificador: .Default, writeOptions: FieldWriteOptions? Configuração: FetchConfiguration? lançamentos assíncronos
Atualiza o modelo codificável especificado na tabela especificada.
| Nome | Tipo | Descrição |
|---|---|---|
| modelo | Modelo | SysIdentifiableModel modelo a ser atualizado na tabela. |
| Em tablename | Cadeia de caracteres | Nome da tabela na qual gravar os registros, como incidente . |
| codificador | Codificador | Opcional. Codificador para usar para codificar ou decodificar dados enviados e recebidos do ServiceNow instância.Valores possíveis:
Padrão: .Default |
| WriteOptions | CampoWriteOptions | Opcional. Opções de configuração a serem aplicadas aos dados que estão sendo gravados no registro. Padrão: Nil |
| configuração | FetchConfiguration | Opcional. Configuração a ser aplicada aos registros recuperados, incluindo filtros que definem os registros a serem retornados, o limite de tamanho da página de paginação, quais campos recuperar e o que incluir nos campos. Padrão: Nil - Todos os registros retornados. |
| Tipo | Descrição |
|---|---|
| Modelo | Retornado quando o método é bem-sucedido. Modelo decodificável que foi atualizado na tabela especificada. |
| NowDataError | Lançado quando o método falha.
|
Os exemplos de código a seguir mostram como chamar este método.
struct User: SysIdentifiableModel {
var sysId: String = ""
var name: String}
func updateUser(user: User) async throws -> User {
do {
let result = try await tableService.update(user, in: “sys_user”)
return result
} catch {
print("Update failed with NowDataError: \(error)")
throw error
}
}
NowTableService - update<Model: SysIdentifiableModel>(_ model: Model, em tablename: Cadeia de caracteres, codificador: .Default, writeOptions: FieldWriteOptions? Configuração: FetchConfiguration? (<Model, NowDataError>)
Atualiza o modelo codificável especificado na tabela especificada e executa o. completionmanipulador.
| Nome | Tipo | Descrição |
|---|---|---|
| modelo | Modelo | SysIdentifiableModel modelo a ser atualizado na tabela. |
| Em tablename | Cadeia de caracteres | Nome da tabela na qual gravar os registros, como incidente . |
| codificador | Codificador | Opcional. Codificador para usar para codificar ou decodificar dados enviados e recebidos do ServiceNow instância.Valores possíveis:
Padrão: .Default |
| WriteOptions | CampoWriteOptions | Opcional. Opções de configuração a serem aplicadas aos dados que estão sendo gravados no registro. Padrão: Nil |
| configuração | FetchConfiguration | Opcional. Configuração a ser aplicada aos registros recuperados, incluindo filtros que definem os registros a serem retornados, o limite de tamanho da página de paginação, quais campos recuperar e o que incluir nos campos. Padrão: Nil - Todos os registros retornados. |
| conclusão | Escape (<Model, NowDataError>) | Manipulador de conclusão a ser executado após atualizar os modelos codificáveis especificados. Valores de retorno:
|
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
O exemplo de código a seguir mostra como chamar este método.
struct User: SysIdentifiableModel {
var sysId: String = ""
var name: String
}
let user = User(sysId: "12345", name: "abel")
let coder: Coder = .default
tableService.update(user, in: "sys_user") { [weak self] result in
switch result {
case .success(let model):
do {
let data = try coder.jsonEncoder.encode(model)
self?.publish(data: data)
} catch {
self?.publish(result: .failure(error))
}
case .failure(let error):
// Failed to update with NowDataError
self?.publish(result: .failure(error))
}
}
NowTableService - update<Model: SysIdentifiableModel>(_ model: Model, em tablename: Cadeia de caracteres, codificador: .Default, writeOptions: FieldWriteOptions? Configuração: FetchConfiguration? nulo)
Atualiza o modelo codificável especificado na tabela especificada.
| Nome | Tipo | Descrição |
|---|---|---|
| modelo | Modelo | SysIdentifiableModel modelo a ser atualizado na tabela. |
| Em tablename | Cadeia de caracteres | Nome da tabela na qual gravar os registros, como incidente . |
| codificador | Codificador | Opcional. Codificador para usar para codificar ou decodificar dados enviados e recebidos do ServiceNow instância.Valores possíveis:
Padrão: .Default |
| WriteOptions | CampoWriteOptions | Opcional. Opções de configuração a serem aplicadas aos dados que estão sendo gravados no registro. Padrão: Nil |
| configuração | FetchConfiguration | Opcional. Configuração a ser aplicada aos registros recuperados, incluindo filtros que definem os registros a serem retornados, o limite de tamanho da página de paginação, quais campos recuperar e o que incluir nos campos. Padrão: Nil - Todos os registros retornados. |
| Tipo | Descrição |
|---|---|
| AnyPublisher<Model, NowDataError> | Sucesso: Modelos decodificáveis que foram atualizados na tabela especificada. NowDataError
|
O exemplo de código a seguir mostra como chamar este método.
struct User: SysIdentifiableModel {
var sysId: String = ""
var name: String
}
let user = User(sysId: "12345", name: "abel")
let coder: Coder = .default
tableService.update(user, in: "sys_user")
.subscribe(on: DispatchQueue.global())
.receive(on: DispatchQueue.main)
.sink { [weak self] completion in
if case let .failure(error) = completion {
// Failed to update with NowDataError
self?.publish(result: .failure(error))
}
} receiveValue: { [weak self] updatedModel in
do {
let data = try coder.jsonEncoder.encode(updatedModel)
self?.publish(data: data)
} catch {
// Failed to update with NowDataError
self?.publish(result: .failure(error))
}
}
.store(in: &subscriptions)
NowTableService - updateRecord(SYSID: SYSID, em tablename: Cadeia de caracteres, com campos: [Fieldname: FieldValue], writeOptions: FieldWriteOptions? Configuração: FieldReadConfiguration? lançamentos assíncronos
Atualiza o registro especificado com os campos especificados.
let dataPublisher: AnyPublisher<Data, NowDataError> = ...
let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()sys_ normalmente são parâmetros do sistema que são gerados automaticamente e não podem ser atualizados. Os campos que não são especificados e não gerados automaticamente pelo sistema são definidos com o valor nulo do tipo de dados associado.| Nome | Tipo | Descrição |
|---|---|---|
| sysId | Cadeia de caracteres | Sys_id do registro a ser retornado do ServiceNow instância. |
| com campos | [Fieldname: FieldValue] | Pares nome-valor dos campos a serem incluídos no registro. |
| Em tablename | Cadeia de caracteres | Nome da tabela na qual gravar os registros, como incidente . |
| WriteOptions | CampoWriteOptions | Opcional. Opções de configuração a serem aplicadas aos dados que estão sendo gravados no registro. Padrão: Nil |
| configuração | FetchConfiguration | Opcional. Configuração a ser aplicada aos registros recuperados, incluindo filtros que definem os registros a serem retornados, o limite de tamanho da página de paginação, quais campos recuperar e o que incluir nos campos. Padrão: Nil - Todos os registros retornados. |
| Tipo | Descrição |
|---|---|
| Dados | Retornado quando o método é bem-sucedido. Objeto de dados que contém o registro atualizado. |
| NowDataError | Lançado quando o método falha.
|
Os exemplos de código a seguir mostram como chamar este método.
do {
let dataResult: Data = try await tableService.updateRecord(with: fields, in: tableName, writeOptions: writeOptions, configuration: configuration)
let recordResult: NowRecord = dataResult.convertToRecord()
} catch {
print("Record update failed with NowDataError: \(error)")
}
NowTableService - updateRecord(SYSID: SYSID, em tablename: Cadeia de caracteres, com campos: [Fieldname: FieldValue], writeOptions: FieldWriteOptions? Configuração: FieldReadConfiguration? Conclusão: Escape (<Data, NowDataError>)
Atualiza o registro especificado com os campos especificados e executa o. completionmanipulador depois que o registro é salvo.
let dataPublisher: AnyPublisher<Data, NowDataError> = ...
let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myResult.convertToRecords()sys_ normalmente são parâmetros do sistema que são gerados automaticamente e não podem ser atualizados. Os campos que não são especificados e não gerados automaticamente pelo sistema são definidos com o valor nulo do tipo de dados associado.| Nome | Tipo | Descrição |
|---|---|---|
| sysId | Cadeia de caracteres | Sys_id do registro a ser retornado do ServiceNow instância. |
| com campos | [Fieldname: FieldValue] | Pares nome-valor dos campos a serem incluídos no registro. |
| Em tablename | Cadeia de caracteres | Nome da tabela na qual gravar os registros, como incidente . |
| WriteOptions | CampoWriteOptions | Opcional. Opções de configuração a serem aplicadas aos dados que estão sendo gravados no registro. Padrão: Nil |
| configuração | FetchConfiguration | Opcional. Configuração a ser aplicada aos registros recuperados, incluindo filtros que definem os registros a serem retornados, o limite de tamanho da página de paginação, quais campos recuperar e o que incluir nos campos. Padrão: Nil - Todos os registros retornados. |
| conclusão | Escape (<Data, NowDataError>) | Manipulador de conclusão a ser executado depois que os registros forem recuperados. Valores de retorno:
|
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
O exemplo de código a seguir mostra como chamar este método.
tableService.updateRecord(sysId: sysId, in: tableName, with: fields, writeOptions: writeOptions, configuration: readConfiguration) { [weak self] result in
switch result {
case .success(let data):
self?.publish(data: data)
case .failure(let error):
// Failed to update with NowDataError
}
}
NowTableService - updateRecord(SYSID: SYSID, em tablename: Cadeia de caracteres, com campos: [Fieldname: FieldValue], writeOptions: FieldWriteOptions? Configuração: FieldReadConfiguration? nulo)
Atualiza o registro especificado com os campos especificados.
let dataPublisher: AnyPublisher<Data, NowDataError> = ...
let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()sys_ normalmente são parâmetros do sistema que são gerados automaticamente e não podem ser atualizados. Os campos que não são especificados e não gerados automaticamente pelo sistema são definidos com o valor nulo do tipo de dados associado.| Nome | Tipo | Descrição |
|---|---|---|
| sysId | Cadeia de caracteres | Sys_id do registro a ser retornado do ServiceNow instância. |
| com campos | [Fieldname: FieldValue] | Pares nome-valor dos campos a serem incluídos no registro. |
| Em tablename | Cadeia de caracteres | Nome da tabela na qual gravar os registros, como incidente . |
| WriteOptions | CampoWriteOptions | Opcional. Opções de configuração a serem aplicadas aos dados que estão sendo gravados no registro. Padrão: Nil |
| configuração | FetchConfiguration | Opcional. Configuração a ser aplicada aos registros recuperados, incluindo filtros que definem os registros a serem retornados, o limite de tamanho da página de paginação, quais campos recuperar e o que incluir nos campos. Padrão: Nil - Todos os registros retornados. |
| Tipo | Descrição |
|---|---|
| AnyPublisher<Data, NowDataError> | Objeto de dados que contém o registro atualizado. NowDataError
|
Este exemplo mostra como criar uma função que atualiza um registro na tabela especificada, com os campos especificados. A saída da chamada é um ByteArray que permite converter os dados em qualquer modelo desejado.
tableService.updateRecord(sysId: sysId, in: tableName, with: fields, writeOptions: writeOptions, configuration: readConfiguration)
.subscribe(on: DispatchQueue.global())
.receive(on: DispatchQueue.main)
.convertToRecord()
.sink { completion in
if case let .failure(error) = completion {
print("Update failed with NowDataError: \(error)")
}
} receiveValue: { record in
print("Record updated: \(record)")
}
.store(in: &subscriptions)