Classe NowTableService - iOS

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 76 min. de leitura
  • A classe NowTableService fornece funções que permitem executar operações de criação, leitura, atualização e exclusão em registros de tabelas ServiceNow existentes.

    Tabela 1. Propriedades
    Nome Tipo Descrição
    configuração NowServiceConfiguration Definições de configuração fornecidas quando o serviço foi inicializado.

    NowTableService - criar<Model: SysIdentifiableModel> (_ model: Model, in tableName: String, coder: Coder, writeOptions: FieldWriteOptions, configuração: FetchConfiguration) lançamentos assíncronos

    Insere o modelo Codable especificado na tabela especificada.

    Para criar um novo registro por modelo, o modelo deve estar em conformidade com o protocolo SysIdentifiableModel. Cada tabela normalmente terá seu próprio modelo.

    O parâmetro sys_Id do modelo é ignorado durante a criação, pois o sysId é gerado pela plataforma ServiceNow. A plataforma [ ServiceNow gerada sys_Id é retornada no modelo de resultado do manipulador completion.

    Tabela 2. Parâmetros
    Nome Tipo Descrição
    modelo SysIdentifiableModel Definição de modelo dos campos a serem inseridos na tabela.
    em tableName Cadeia de caracteres Nome da tabela na qual os registros serão gravados, como incidente.
    codificador Codificador Opcional. Codificador a ser usado para codificar ou decodificar dados enviados e recebidos da instância ServiceNow.
    Valores possíveis:
    • default: os codificadores padrão formatam datas usando o formato aaaa-MM-dd HH:mm:ss usando o dispositivo Locale e TimeZone.
    • personalizado(JSONEncoder, JSONDecoder):

      Use codificadores personalizados para ter um controle mais refinado na decodificação/codificação JSON.

      Use esta enumeração somente para fornecer seu próprio JSONEncoder e JSONDecoder, por exemplo, ao usar formatos de data, fusos horários ou localidades especiais.

      let myEncoder = JSONEncoder()
      myEncoder.dateFormat = …
      let myDecoder = JSONDecoder()
      myDecoder.dateFormat = …
      let coder: Coder = .custom(myEncoder, myDecoder)

    Padrão: .default

    opções de gravação OpçõesDeGravaçãoDeCampo Opcional. Opções de configuração a serem aplicadas aos dados que estão sendo gravados no registro.

    Padrão: nulo

    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 serão recuperados e o que será incluído nos campos.

    Padrão: nulo - Todos os registros retornados.

    Tabela 3. Retorna
    Tipo Descrição
    Modelo Retornado quando o método é bem-sucedido. Modelo codificável 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.
    • accessToken(AccessTokenProviderError)
      • AccessTokenProviderError: o código ou a mensagem de erro do provedor de token de acesso.
        • accessTokenRetrievalFailed
        • userSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • attachmentValidation

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Código de status recebido da instância.

      Lançado quando uma solicitação retorna uma resposta inesperada

    • canDecodeModel(DecodingError)
      • DecodingError: erro de decodificação detectado.

      Lançado quando um modelo Codable não pode ser decodificado do JSON.

    • canDecodeProperty(tipo: qualquer, de: cadeia de caracteres)
      • type: tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • from: cadeia de caracteres a ser decodificada para o tipo especificado.

      Lançado quando um valor encapsulado em cadeia de caracteres não pode ser decodificado do JSON.

    • can'tEncodeModel(EncodingError)
      • EncodingError: erro de codificação detectado.

      Lançado quando um modelo Codable não pode ser codificado para JSON.

    • canParseResponse

      Lançado quando uma resposta da instância não pode ser analisada no formato esperado.

    • URL inválido

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres que são ilegais em um URL ou for uma cadeia de caracteres vazia.

    • ausenteAttachmentMetadata

      Lançado quando o cabeçalho de metadados do anexo está ausente.

    • ausenteConfiguraçãoDeServiço

      Lançado quando uma configuração de serviço esperada está ausente.

    • ausenteSysID

      Lançado quando um parâmetro sys_id esperado está ausente.

    • network(NetworkServiceError)
      • genericError(cadeia de caracteres)
      • operaçãoCancelada
      • serviço​Desabilitado
      • serverError(Erro)
      • systemError (Erro)

      Lançado quando um serviço de rede encontrou um erro.

    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 - criar<Model: SysIdentifiableModel> (_ modelo: modelo, em tableName: cadeia de caracteres, codificador: codificador, writeOptions: FieldWriteOptions, configuração: FetchConfiguration, conclusão: @escaping (resultado<Model, NowDataError> ))

    Insere o modelo Codable especificado na tabela especificada e executa o manipulador completion.

    Para criar um novo registro por modelo, o modelo deve estar em conformidade com o protocolo SysIdentifiableModel. Cada tabela normalmente 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):
          ...
      }
    }

    O parâmetro sys_Id do modelo é ignorado durante a criação, pois o sysId é gerado pela plataforma ServiceNow. A plataforma [ ServiceNow gerada sys_Id é retornada no modelo de resultado do manipulador completion.

    Tabela 4. Parâmetros
    Nome Tipo Descrição
    modelo SysIdentifiableModel Definição de modelo dos campos a serem inseridos na tabela.
    em tableName Cadeia de caracteres Nome da tabela na qual os registros serão gravados, como incidente.
    codificador Codificador Opcional. Codificador a ser usado para codificar ou decodificar dados enviados e recebidos da instância ServiceNow.
    Valores possíveis:
    • default: os codificadores padrão formatam datas usando o formato aaaa-MM-dd HH:mm:ss usando o dispositivo Locale e TimeZone.
    • personalizado(JSONEncoder, JSONDecoder):

      Use codificadores personalizados para ter um controle mais refinado na decodificação/codificação JSON.

      Use esta enumeração somente para fornecer seu próprio JSONEncoder e JSONDecoder, por exemplo, ao usar formatos de data, fusos horários ou localidades especiais.

      let myEncoder = JSONEncoder()
      myEncoder.dateFormat = …
      let myDecoder = JSONDecoder()
      myDecoder.dateFormat = …
      let coder: Coder = .custom(myEncoder, myDecoder)

    Padrão: .default

    opções de gravação OpçõesDeGravaçãoDeCampo Opcional. Opções de configuração a serem aplicadas aos dados que estão sendo gravados no registro.

    Padrão: nulo

    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 serão recuperados e o que será incluído nos campos.

    Padrão: nulo - Todos os registros retornados.

    conclusão @escaping (resultado<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:
    • Sucesso: modelo - Dados para o tipo de modelo criado.
    • Falha: NowDataError
      • accessToken(AccessTokenProviderError)
        • AccessTokenProviderError: o código ou a mensagem de erro do provedor de token de acesso.
          • accessTokenRetrievalFailed
          • userSessionError(_ erro: Erro)

        Lançado quando há um erro no token de acesso.

      • attachmentValidation

        Lançado quando um anexo falha na validação.

      • BadResponse(statusCode: HTTPStatusCode)
        • HTTPStatusCode: Código de status recebido da instância.

        Lançado quando uma solicitação retorna uma resposta inesperada

      • canDecodeModel(DecodingError)
        • DecodingError: erro de decodificação detectado.

        Lançado quando um modelo Codable não pode ser decodificado do JSON.

      • canDecodeProperty(tipo: qualquer, de: cadeia de caracteres)
        • type: tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
        • from: cadeia de caracteres a ser decodificada para o tipo especificado.

        Lançado quando um valor encapsulado em cadeia de caracteres não pode ser decodificado do JSON.

      • can'tEncodeModel(EncodingError)
        • EncodingError: erro de codificação detectado.

        Lançado quando um modelo Codable não pode ser codificado para JSON.

      • canParseResponse

        Lançado quando uma resposta da instância não pode ser analisada no formato esperado.

      • URL inválido

        Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres que são ilegais em um URL ou for uma cadeia de caracteres vazia.

      • ausenteAttachmentMetadata

        Lançado quando o cabeçalho de metadados do anexo está ausente.

      • ausenteConfiguraçãoDeServiço

        Lançado quando uma configuração de serviço esperada está ausente.

      • ausenteSysID

        Lançado quando um parâmetro sys_id esperado está ausente.

      • network(NetworkServiceError)
        • genericError(cadeia de caracteres)
        • operaçãoCancelada
        • serviço​Desabilitado
        • serverError(Erro)
        • systemError (Erro)

        Lançado quando um serviço de rede encontrou um erro.

    Tabela 5. Retorna
    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 - criar<Model: SysIdentifiableModel> (model: Model, em tableName: cadeia de caracteres, caminho: cadeia de caracteres = Constants.resultPath, codificador: Coder = .default, writeOptions: FieldWriteOptions? = nil, configuração: FetchConfiguration = nil)

    Insere um modelo codificável na tabela especificada.

    Nota:
    Este método foi descontinuado. Em vez disso, você deve usar a implementação assíncrona/aguardar do método.
    Para criar um novo registro por modelo, o modelo deve estar em conformidade com o protocolo SysIdentifiableModel. Cada tabela normalmente 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):
          ...
      }
    }
    Nota:
    O parâmetro sys_Id do modelo é ignorado durante a criação. O sysId é atribuído pela plataforma ServiceNow. A plataforma [ ServiceNow gerada sys_Id é retornada no modelo de retorno de chamada de getValue do fornecedor.
    Tabela 6. Parâmetros
    Nome Tipo Descrição
    modelo SysIdentifiableModel ModeloSysIdentifiableModel a ser inserido na tabela.
    em tableName Cadeia de caracteres Nome da tabela na qual os registros serão gravados, como incidente.
    caminho Cadeia de caracteres Opcional. Caminho separado por pontos para o tipo aninhado. Por exemplo, result ou foo.bar.baz para aninhamento mais profundo.

    Padrão: Constants.resultPath

    codificador Codificador Opcional. Codificador a ser usado para codificar ou decodificar dados enviados e recebidos da instância ServiceNow.
    Valores possíveis:
    • default: os codificadores padrão formatam datas usando o formato aaaa-MM-dd HH:mm:ss usando o dispositivo Locale e TimeZone.
    • personalizado(JSONEncoder, JSONDecoder):

      Use codificadores personalizados para ter um controle mais refinado na decodificação/codificação JSON.

      Use esta enumeração somente para fornecer seu próprio JSONEncoder e JSONDecoder, por exemplo, ao usar formatos de data, fusos horários ou localidades especiais.

      let myEncoder = JSONEncoder()
      myEncoder.dateFormat = …
      let myDecoder = JSONDecoder()
      myDecoder.dateFormat = …
      let coder: Coder = .custom(myEncoder, myDecoder)

    Padrão: .default

    opções de gravação OpçõesDeGravaçãoDeCampo Opcional. Opções de configuração a serem aplicadas aos dados que estão sendo gravados no registro.

    Padrão: nulo

    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 serão recuperados e o que será incluído nos campos.

    Padrão: nulo - Todos os registros retornados.

    Tabela 7. Retorna
    Tipo Descrição
    Qualquer publicador<Model,NowDataError> Sucesso: modelo codificável 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.

    Falha: NowDataError

    @escaping (resultado<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? = nil, configuração: FieldReadConfiguration? = nil) lançamentos assíncronos

    Insere um registro na tabela especificada que contém os campos especificados.

    O O publicador emite dados que você pode decodificar em um modelo Codablepersonalizado ou também pode usar a função NowTableService - paginador<Model: Decodable> (de tableName: cadeia de caracteres, caminho: cadeia de caracteres = Constants.resultPath, codificador: codificador = .default, configuração: FetchConfiguration? = nulo). Como alternativa, você pode usar a função de conveniência convertToRecords() para transformar dados em um objeto NowRecord. Veja a seguir como converter um fornecedor para emitir NowRecords:
    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()
    Nota:
    Nem todos os campos em um registro podem estar disponíveis para atualização. Por exemplo, os campos que têm um prefixo sys_ são normalmente parâmetros do sistema gerados automaticamente e não podem ser atualizados. Os campos que não são especificados e não são gerados automaticamente pelo sistema são definidos com o valor nulo do tipo de dados associado.
    Tabela 8. Parâmetros
    Nome Tipo Descrição
    com campos [FieldName: FieldValue] Pares de nome-valor dos campos a serem incluídos no registro.
    em tableName Cadeia de caracteres Nome da tabela na qual os registros serão gravados, como incidente.
    opções de gravação OpçõesDeGravaçãoDeCampo Opcional. Opções de configuração a serem aplicadas aos dados que estão sendo gravados no registro.

    Padrão: nulo

    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 serão recuperados e o que será incluído nos campos.

    Padrão: nulo - Todos os registros retornados.

    Tabela 9. Retorna
    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.
    • accessToken(AccessTokenProviderError)
      • AccessTokenProviderError: o código ou a mensagem de erro do provedor de token de acesso.
        • accessTokenRetrievalFailed
        • userSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • attachmentValidation

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Código de status recebido da instância.

      Lançado quando uma solicitação retorna uma resposta inesperada

    • canDecodeModel(DecodingError)
      • DecodingError: erro de decodificação detectado.

      Lançado quando um modelo Codable não pode ser decodificado do JSON.

    • canDecodeProperty(tipo: qualquer, de: cadeia de caracteres)
      • type: tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • from: cadeia de caracteres a ser decodificada para o tipo especificado.

      Lançado quando um valor encapsulado em cadeia de caracteres não pode ser decodificado do JSON.

    • can'tEncodeModel(EncodingError)
      • EncodingError: erro de codificação detectado.

      Lançado quando um modelo Codable não pode ser codificado para JSON.

    • canParseResponse

      Lançado quando uma resposta da instância não pode ser analisada no formato esperado.

    • URL inválido

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres que são ilegais em um URL ou for uma cadeia de caracteres vazia.

    • ausenteAttachmentMetadata

      Lançado quando o cabeçalho de metadados do anexo está ausente.

    • ausenteConfiguraçãoDeServiço

      Lançado quando uma configuração de serviço esperada está ausente.

    • ausenteSysID

      Lançado quando um parâmetro sys_id esperado está ausente.

    • network(NetworkServiceError)
      • genericError(cadeia de caracteres)
      • operaçãoCancelada
      • serviço​Desabilitado
      • serverError(Erro)
      • systemError (Erro)

      Lançado quando um serviço de rede encontrou um erro.

    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: String, writeOptions: FieldWriteOptions, configuração: FieldReadConfiguration, conclusão: @escaping (Resultado<Data, NowDataError> )

    Insere o registro especificado na tabela especificada e executa o manipulador completion depois que o registro é salvo.

    Se necessário, você pode decodificar os resultados de retorno em um modelo Codable personalizado ou usar a função NowTableService - paginador<Model: Decodable> (de tableName: cadeia de caracteres, caminho: cadeia de caracteres = Constants.resultPath, codificador: codificador = .default, configuração: FetchConfiguration? = nulo). Como alternativa, você pode usar a função de conveniência convertToRecords() para transformar dados em um objeto NowRecord. Veja a seguir como converter um fornecedor para emitir NowRecords:
    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myResult.convertToRecords()
    Nota:
    Nem todos os campos em um registro podem estar disponíveis para atualização. Por exemplo, os campos que têm um prefixo sys_ são normalmente parâmetros do sistema gerados automaticamente e não podem ser atualizados. Os campos que não são especificados e não são gerados automaticamente pelo sistema são definidos com o valor nulo do tipo de dados associado.
    Tabela 10. Parâmetros
    Nome Tipo Descrição
    com campos [FieldName: FieldValue] Pares de nome-valor dos campos a serem incluídos no registro.
    em tableName Cadeia de caracteres Nome da tabela na qual os registros serão gravados, como incidente.
    opções de gravação OpçõesDeGravaçãoDeCampo Opcional. Opções de configuração a serem aplicadas aos dados que estão sendo gravados no registro.

    Padrão: nulo

    configuração FieldReadConfiguration Opcional. Opções de configuração que especificam quais campos serão retornados e o que será incluído nos campos.

    Padrão: nulo

    conclusão @escaping (resultado<Data, NowDataError> ) Manipulador de conclusão a ser executado depois que os registros forem recuperados.
    Valores de retorno:
    • Sucesso: dados - Registros solicitados
    • Erro: NowDataError
      • accessToken(AccessTokenProviderError)
        • AccessTokenProviderError: o código ou a mensagem de erro do provedor de token de acesso.
          • accessTokenRetrievalFailed
          • userSessionError(_ erro: Erro)

        Lançado quando há um erro no token de acesso.

      • attachmentValidation

        Lançado quando um anexo falha na validação.

      • BadResponse(statusCode: HTTPStatusCode)
        • HTTPStatusCode: Código de status recebido da instância.

        Lançado quando uma solicitação retorna uma resposta inesperada

      • canDecodeModel(DecodingError)
        • DecodingError: erro de decodificação detectado.

        Lançado quando um modelo Codable não pode ser decodificado do JSON.

      • canDecodeProperty(tipo: qualquer, de: cadeia de caracteres)
        • type: tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
        • from: cadeia de caracteres a ser decodificada para o tipo especificado.

        Lançado quando um valor encapsulado em cadeia de caracteres não pode ser decodificado do JSON.

      • can'tEncodeModel(EncodingError)
        • EncodingError: erro de codificação detectado.

        Lançado quando um modelo Codable não pode ser codificado para JSON.

      • canParseResponse

        Lançado quando uma resposta da instância não pode ser analisada no formato esperado.

      • URL inválido

        Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres que são ilegais em um URL ou for uma cadeia de caracteres vazia.

      • ausenteAttachmentMetadata

        Lançado quando o cabeçalho de metadados do anexo está ausente.

      • ausenteConfiguraçãoDeServiço

        Lançado quando uma configuração de serviço esperada está ausente.

      • ausenteSysID

        Lançado quando um parâmetro sys_id esperado está ausente.

      • network(NetworkServiceError)
        • genericError(cadeia de caracteres)
        • operaçãoCancelada
        • serviço​Desabilitado
        • serverError(Erro)
        • systemError (Erro)

        Lançado quando um serviço de rede encontrou um erro.

    Tabela 11. Retorna
    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: String, writeOptions: FieldWriteOptions? = nil, configuração: FieldReadConfiguration? = nil)

    Insere um registro na tabela especificada que contém os campos especificados.

    Nota:
    Este método foi descontinuado. Em vez disso, você deve usar a implementação assíncrona/aguardar do método.
    O O publicador emite dados que você pode decodificar em um modelo Codablepersonalizado ou também pode usar a função NowTableService - paginador<Model: Decodable> (de tableName: cadeia de caracteres, caminho: cadeia de caracteres = Constants.resultPath, codificador: codificador = .default, configuração: FetchConfiguration? = nulo). Como alternativa, você pode usar a função de conveniência convertToRecords() para transformar dados em um objeto NowRecord. Veja a seguir como converter um fornecedor para emitir NowRecords:
    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()
    Nota:
    Nem todos os campos em um registro podem estar disponíveis para atualização. Por exemplo, os campos que têm um prefixo sys_ são normalmente parâmetros do sistema gerados automaticamente e não podem ser atualizados. Os campos que não são especificados e não são gerados automaticamente pelo sistema são definidos com o valor nulo do tipo de dados associado.
    Tabela 12. Parâmetros
    Nome Tipo Descrição
    com campos [FieldName: FieldValue] Pares de nome-valor dos campos a serem incluídos no registro.
    em tableName Cadeia de caracteres Nome da tabela na qual os registros serão gravados, como incidente.
    opções de gravação OpçõesDeGravaçãoDeCampo Opcional. Opções de configuração a serem aplicadas aos dados que estão sendo gravados no registro.

    Padrão: nulo

    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 serão recuperados e o que será incluído nos campos.

    Padrão: nulo - Todos os registros retornados.

    Tabela 13. Retorna
    Tipo Descrição
    Qualquer publicador<Data, NowDataError> Sucesso: objeto de dados que contém o registro atualizado.

    Falha: NowDataError

    • accessToken(AccessTokenProviderError)
      • AccessTokenProviderError: o código ou a mensagem de erro do provedor de token de acesso.
        • accessTokenRetrievalFailed
        • userSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • attachmentValidation

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Código de status recebido da instância.

      Lançado quando uma solicitação retorna uma resposta inesperada

    • canDecodeModel(DecodingError)
      • DecodingError: erro de decodificação detectado.

      Lançado quando um modelo Codable não pode ser decodificado do JSON.

    • canDecodeProperty(tipo: qualquer, de: cadeia de caracteres)
      • type: tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • from: cadeia de caracteres a ser decodificada para o tipo especificado.

      Lançado quando um valor encapsulado em cadeia de caracteres não pode ser decodificado do JSON.

    • can'tEncodeModel(EncodingError)
      • EncodingError: erro de codificação detectado.

      Lançado quando um modelo Codable não pode ser codificado para JSON.

    • canParseResponse

      Lançado quando uma resposta da instância não pode ser analisada no formato esperado.

    • URL inválido

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres que são ilegais em um URL ou for uma cadeia de caracteres vazia.

    • ausenteAttachmentMetadata

      Lançado quando o cabeçalho de metadados do anexo está ausente.

    • ausenteConfiguraçãoDeServiço

      Lançado quando uma configuração de serviço esperada está ausente.

    • ausenteSysID

      Lançado quando um parâmetro sys_id esperado está ausente.

    • network(NetworkServiceError)
      • genericError(cadeia de caracteres)
      • operaçãoCancelada
      • serviço​Desabilitado
      • serverError(Erro)
      • systemError (Erro)

      Lançado quando um serviço de rede encontrou um erro.

    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 Codable especificado da tabela especificada.

    Tabela 14. Parâmetros
    Nome Tipo Descrição
    modelo Modelo SysIdentifiableModel a ser excluído da tabela. Ele deve conter o sys_id do registro a ser excluído.
    de tableName Cadeia de caracteres Nome da tabela da qual as informações serão excluídas, como incidente.
    Tabela 15. Retorna
    Tipo Descrição
    Nenhum(a) Nada é retornado quando o método é bem-sucedido.
    NowDataError Lançado quando o método falha.
    • accessToken(AccessTokenProviderError)
      • AccessTokenProviderError: o código ou a mensagem de erro do provedor de token de acesso.
        • accessTokenRetrievalFailed
        • userSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • attachmentValidation

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Código de status recebido da instância.

      Lançado quando uma solicitação retorna uma resposta inesperada

    • canDecodeModel(DecodingError)
      • DecodingError: erro de decodificação detectado.

      Lançado quando um modelo Codable não pode ser decodificado do JSON.

    • canDecodeProperty(tipo: qualquer, de: cadeia de caracteres)
      • type: tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • from: cadeia de caracteres a ser decodificada para o tipo especificado.

      Lançado quando um valor encapsulado em cadeia de caracteres não pode ser decodificado do JSON.

    • can'tEncodeModel(EncodingError)
      • EncodingError: erro de codificação detectado.

      Lançado quando um modelo Codable não pode ser codificado para JSON.

    • canParseResponse

      Lançado quando uma resposta da instância não pode ser analisada no formato esperado.

    • URL inválido

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres que são ilegais em um URL ou for uma cadeia de caracteres vazia.

    • ausenteAttachmentMetadata

      Lançado quando o cabeçalho de metadados do anexo está ausente.

    • ausenteConfiguraçãoDeServiço

      Lançado quando uma configuração de serviço esperada está ausente.

    • ausenteSysID

      Lançado quando um parâmetro sys_id esperado está ausente.

    • network(NetworkServiceError)
      • genericError(cadeia de caracteres)
      • operaçãoCancelada
      • serviço​Desabilitado
      • serverError(Erro)
      • systemError (Erro)

      Lançado quando um serviço de rede encontrou um erro.

    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: @escaping (resultado<Void, NowDataError> ))

    Exclui o modelo Codable especificado da tabela especificada e executa o manipulador completion apropriado.

    Tabela 16. Parâmetros
    Nome Tipo Descrição
    modelo Modelo SysIdentifiableModel a ser excluído da tabela. Ele deve conter o sys_id do registro a ser excluído.
    de tableName Cadeia de caracteres Nome da tabela da qual as informações serão excluídas, como incidente.
    conclusão @escaping (resultado<Void, NowDataError> ) Manipulador de conclusão a ser executado após a exclusão do(s) modelo(s) codificável(is) especificado(s).
    Valores de retorno:
    • Sucesso: nada foi retornado
    • Falha: NowDataError
      • accessToken(AccessTokenProviderError)
        • AccessTokenProviderError: o código ou a mensagem de erro do provedor de token de acesso.
          • accessTokenRetrievalFailed
          • userSessionError(_ erro: Erro)

        Lançado quando há um erro no token de acesso.

      • attachmentValidation

        Lançado quando um anexo falha na validação.

      • BadResponse(statusCode: HTTPStatusCode)
        • HTTPStatusCode: Código de status recebido da instância.

        Lançado quando uma solicitação retorna uma resposta inesperada

      • canDecodeModel(DecodingError)
        • DecodingError: erro de decodificação detectado.

        Lançado quando um modelo Codable não pode ser decodificado do JSON.

      • canDecodeProperty(tipo: qualquer, de: cadeia de caracteres)
        • type: tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
        • from: cadeia de caracteres a ser decodificada para o tipo especificado.

        Lançado quando um valor encapsulado em cadeia de caracteres não pode ser decodificado do JSON.

      • can'tEncodeModel(EncodingError)
        • EncodingError: erro de codificação detectado.

        Lançado quando um modelo Codable não pode ser codificado para JSON.

      • canParseResponse

        Lançado quando uma resposta da instância não pode ser analisada no formato esperado.

      • URL inválido

        Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres que são ilegais em um URL ou for uma cadeia de caracteres vazia.

      • ausenteAttachmentMetadata

        Lançado quando o cabeçalho de metadados do anexo está ausente.

      • ausenteConfiguraçãoDeServiço

        Lançado quando uma configuração de serviço esperada está ausente.

      • ausenteSysID

        Lançado quando um parâmetro sys_id esperado está ausente.

      • network(NetworkServiceError)
        • genericError(cadeia de caracteres)
        • operaçãoCancelada
        • serviço​Desabilitado
        • serverError(Erro)
        • systemError (Erro)

        Lançado quando um serviço de rede encontrou um erro.

    Tabela 17. Retorna
    Tipo Descrição
    Nenhum(a)

    O exemplo de código a seguir mostra como chamar essa 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: String)

    Exclui o modelo Codable especificado da tabela especificada.

    Nota:
    Este método foi descontinuado. Em vez disso, você deve usar a implementação assíncrona/aguardar do método.
    Tabela 18. Parâmetros
    Nome Tipo Descrição
    modelo Modelo SysIdentifiableModel a ser excluído da tabela. Ele deve conter o sys_id do registro a ser excluído.
    de tableName Cadeia de caracteres Nome da tabela da qual as informações serão excluídas, como incidente.
    Tabela 19. Retorna
    Tipo Descrição
    Qualquer publicador<Void, NowDataError> Sucesso: nada foi retornado

    Falha: NowDataError

    • accessToken(AccessTokenProviderError)
      • AccessTokenProviderError: o código ou a mensagem de erro do provedor de token de acesso.
        • accessTokenRetrievalFailed
        • userSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • attachmentValidation

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Código de status recebido da instância.

      Lançado quando uma solicitação retorna uma resposta inesperada

    • canDecodeModel(DecodingError)
      • DecodingError: erro de decodificação detectado.

      Lançado quando um modelo Codable não pode ser decodificado do JSON.

    • canDecodeProperty(tipo: qualquer, de: cadeia de caracteres)
      • type: tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • from: cadeia de caracteres a ser decodificada para o tipo especificado.

      Lançado quando um valor encapsulado em cadeia de caracteres não pode ser decodificado do JSON.

    • can'tEncodeModel(EncodingError)
      • EncodingError: erro de codificação detectado.

      Lançado quando um modelo Codable não pode ser codificado para JSON.

    • canParseResponse

      Lançado quando uma resposta da instância não pode ser analisada no formato esperado.

    • URL inválido

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres que são ilegais em um URL ou for uma cadeia de caracteres vazia.

    • ausenteAttachmentMetadata

      Lançado quando o cabeçalho de metadados do anexo está ausente.

    • ausenteConfiguraçãoDeServiço

      Lançado quando uma configuração de serviço esperada está ausente.

    • ausenteSysID

      Lançado quando um parâmetro sys_id esperado está ausente.

    • network(NetworkServiceError)
      • genericError(cadeia de caracteres)
      • operaçãoCancelada
      • serviço​Desabilitado
      • serverError(Erro)
      • systemError (Erro)

      Lançado quando um serviço de rede encontrou um erro.

    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, from tableName: String) lançamentos assíncronos

    Exclui o registro especificado da tabela especificada.

    Tabela 20. Parâmetros
    Nome Tipo Descrição
    sysId Cadeia de caracteres Sys_id do registro a ser excluído.
    de tableName Cadeia de caracteres Nome da tabela da qual as informações serão excluídas, como incidente.
    Tabela 21. Retorna
    Tipo Descrição
    Nenhum(a) Nada é retornado quando o método é bem-sucedido.
    NowDataError Lançado quando o método falha.
    • accessToken(AccessTokenProviderError)
      • AccessTokenProviderError: o código ou a mensagem de erro do provedor de token de acesso.
        • accessTokenRetrievalFailed
        • userSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • attachmentValidation

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Código de status recebido da instância.

      Lançado quando uma solicitação retorna uma resposta inesperada

    • canDecodeModel(DecodingError)
      • DecodingError: erro de decodificação detectado.

      Lançado quando um modelo Codable não pode ser decodificado do JSON.

    • canDecodeProperty(tipo: qualquer, de: cadeia de caracteres)
      • type: tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • from: cadeia de caracteres a ser decodificada para o tipo especificado.

      Lançado quando um valor encapsulado em cadeia de caracteres não pode ser decodificado do JSON.

    • can'tEncodeModel(EncodingError)
      • EncodingError: erro de codificação detectado.

      Lançado quando um modelo Codable não pode ser codificado para JSON.

    • canParseResponse

      Lançado quando uma resposta da instância não pode ser analisada no formato esperado.

    • URL inválido

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres que são ilegais em um URL ou for uma cadeia de caracteres vazia.

    • ausenteAttachmentMetadata

      Lançado quando o cabeçalho de metadados do anexo está ausente.

    • ausenteConfiguraçãoDeServiço

      Lançado quando uma configuração de serviço esperada está ausente.

    • ausenteSysID

      Lançado quando um parâmetro sys_id esperado está ausente.

    • network(NetworkServiceError)
      • genericError(cadeia de caracteres)
      • operaçãoCancelada
      • serviço​Desabilitado
      • serverError(Erro)
      • systemError (Erro)

      Lançado quando um serviço de rede encontrou um erro.

    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, from tableName: cadeia de caracteres, conclusão: @escaping (resultado<Void, NowDataError> ))

    Exclui o registro especificado da tabela especificada e executa o objeto completion depois que o registro é excluído.

    Tabela 22. Parâmetros
    Nome Tipo Descrição
    sysId Cadeia de caracteres Sys_id do registro a ser excluído.
    de tableName Cadeia de caracteres Nome da tabela da qual as informações serão excluídas, como incidente.
    conclusão @escaping (resultado<Void, NowDataError> ) Sucesso: nada é retornado.

    Falha: NowDataError

    • accessToken(AccessTokenProviderError)
      • AccessTokenProviderError: o código ou a mensagem de erro do provedor de token de acesso.
        • accessTokenRetrievalFailed
        • userSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • attachmentValidation

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Código de status recebido da instância.

      Lançado quando uma solicitação retorna uma resposta inesperada

    • canDecodeModel(DecodingError)
      • DecodingError: erro de decodificação detectado.

      Lançado quando um modelo Codable não pode ser decodificado do JSON.

    • canDecodeProperty(tipo: qualquer, de: cadeia de caracteres)
      • type: tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • from: cadeia de caracteres a ser decodificada para o tipo especificado.

      Lançado quando um valor encapsulado em cadeia de caracteres não pode ser decodificado do JSON.

    • can'tEncodeModel(EncodingError)
      • EncodingError: erro de codificação detectado.

      Lançado quando um modelo Codable não pode ser codificado para JSON.

    • canParseResponse

      Lançado quando uma resposta da instância não pode ser analisada no formato esperado.

    • URL inválido

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres que são ilegais em um URL ou for uma cadeia de caracteres vazia.

    • ausenteAttachmentMetadata

      Lançado quando o cabeçalho de metadados do anexo está ausente.

    • ausenteConfiguraçãoDeServiço

      Lançado quando uma configuração de serviço esperada está ausente.

    • ausenteSysID

      Lançado quando um parâmetro sys_id esperado está ausente.

    • network(NetworkServiceError)
      • genericError(cadeia de caracteres)
      • operaçãoCancelada
      • serviço​Desabilitado
      • serverError(Erro)
      • systemError (Erro)

      Lançado quando um serviço de rede encontrou um erro.

    Tabela 23. Retorna
    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, from tableName: cadeia de caracteres)

    Exclui o registro especificado da tabela especificada.

    Nota:
    Este método foi descontinuado. Em vez disso, você deve usar a implementação assíncrona/aguardar do método.
    Tabela 24. Parâmetros
    Nome Tipo Descrição
    sysId Cadeia de caracteres Sys_id do registro a ser excluído.
    de tableName Cadeia de caracteres Nome da tabela da qual as informações serão excluídas, como incidente.
    Tabela 25. Retorna
    Tipo Descrição
    Qualquer publicador<Void, NowDataError> Sucesso: nada foi retornado

    Falha: NowDataError

    • accessToken(AccessTokenProviderError)
      • AccessTokenProviderError: o código ou a mensagem de erro do provedor de token de acesso.
        • accessTokenRetrievalFailed
        • userSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • attachmentValidation

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Código de status recebido da instância.

      Lançado quando uma solicitação retorna uma resposta inesperada

    • canDecodeModel(DecodingError)
      • DecodingError: erro de decodificação detectado.

      Lançado quando um modelo Codable não pode ser decodificado do JSON.

    • canDecodeProperty(tipo: qualquer, de: cadeia de caracteres)
      • type: tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • from: cadeia de caracteres a ser decodificada para o tipo especificado.

      Lançado quando um valor encapsulado em cadeia de caracteres não pode ser decodificado do JSON.

    • can'tEncodeModel(EncodingError)
      • EncodingError: erro de codificação detectado.

      Lançado quando um modelo Codable não pode ser codificado para JSON.

    • canParseResponse

      Lançado quando uma resposta da instância não pode ser analisada no formato esperado.

    • URL inválido

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres que são ilegais em um URL ou for uma cadeia de caracteres vazia.

    • ausenteAttachmentMetadata

      Lançado quando o cabeçalho de metadados do anexo está ausente.

    • ausenteConfiguraçãoDeServiço

      Lançado quando uma configuração de serviço esperada está ausente.

    • ausenteSysID

      Lançado quando um parâmetro sys_id esperado está ausente.

    • network(NetworkServiceError)
      • genericError(cadeia de caracteres)
      • operaçãoCancelada
      • serviço​Desabilitado
      • serverError(Erro)
      • systemError (Erro)

      Lançado quando um serviço de rede encontrou um erro.

    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(configuration: NowServiceConfiguration, coreServiceProvider: NowCoreServiceProviding? = nil)

    Cria um objeto NowTableService.

    Tabela 26. Parâmetros
    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: nulo

    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 - modelo<Model: Decodable> (com sysId: SysID? = nil, from tableName: String, path: String = Constants.resultPath, coder: Coder = .default, configuração: FetchConfiguration? = nil) lançamentos assíncronos

    Habilita a recuperação de modelo(s) decodificável(is) de uma tabela especificada.

    As respostas da APIda tabela são aninhadas dentro de um parâmetro result semelhante ao seguinte:
    {
      "result": [
        { "name": "Ash Williams" },
        { "name": "Lionel Cosgrove" },
        { "name": "Laurie Strode" }
      ]
    }
    Para conjuntos de resultados grandes, use uma das funções de paginador, NowTableService - paginador (de tableName: cadeia de caracteres, configuração: FetchConfiguration? = nil) ou NowTableService - paginador<Model: Decodable> (de tableName: cadeia de caracteres, caminho: cadeia de caracteres = Constants.resultPath, codificador: codificador = .default, configuração: FetchConfiguration? = nulo) para buscar modelos paginados.
    Tabela 27. Parâmetros
    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: nulo

    de tableName Cadeia de caracteres Nome da tabela da qual os registros serão recuperados, como incidente.
    caminho Cadeia de caracteres Caminho separado por pontos para o tipo aninhado. Por exemplo, result ou foo.bar.baz para aninhamento mais profundo.

    Padrão: resultado

    codificador Codificador Opcional. Codificador a ser usado para codificar ou decodificar dados enviados e recebidos da instância ServiceNow.
    Valores possíveis:
    • default: os codificadores padrão formatam datas usando o formato aaaa-MM-dd HH:mm:ss usando o dispositivo Locale e TimeZone.
    • personalizado(JSONEncoder, JSONDecoder):

      Use codificadores personalizados para ter um controle mais refinado na decodificação/codificação JSON.

      Use esta enumeração somente para fornecer seu próprio JSONEncoder e JSONDecoder, por exemplo, ao usar formatos de data, fusos horários ou localidades especiais.

      let myEncoder = JSONEncoder()
      myEncoder.dateFormat = …
      let myDecoder = JSONDecoder()
      myDecoder.dateFormat = …
      let coder: Coder = .custom(myEncoder, myDecoder)

    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 serão recuperados e o que será incluído nos campos.

    Padrão: nulo - Todos os registros retornados.

    Tabela 28. Retorna
    Tipo Descrição
    Modelo Retornado quando o método é bem-sucedido. Modelos decodificáveis.
    NowDataError Lançado quando o método falha.
    • accessToken(AccessTokenProviderError)
      • AccessTokenProviderError: o código ou a mensagem de erro do provedor de token de acesso.
        • accessTokenRetrievalFailed
        • userSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • attachmentValidation

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Código de status recebido da instância.

      Lançado quando uma solicitação retorna uma resposta inesperada

    • canDecodeModel(DecodingError)
      • DecodingError: erro de decodificação detectado.

      Lançado quando um modelo Codable não pode ser decodificado do JSON.

    • canDecodeProperty(tipo: qualquer, de: cadeia de caracteres)
      • type: tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • from: cadeia de caracteres a ser decodificada para o tipo especificado.

      Lançado quando um valor encapsulado em cadeia de caracteres não pode ser decodificado do JSON.

    • can'tEncodeModel(EncodingError)
      • EncodingError: erro de codificação detectado.

      Lançado quando um modelo Codable não pode ser codificado para JSON.

    • canParseResponse

      Lançado quando uma resposta da instância não pode ser analisada no formato esperado.

    • URL inválido

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres que são ilegais em um URL ou for uma cadeia de caracteres vazia.

    • ausenteAttachmentMetadata

      Lançado quando o cabeçalho de metadados do anexo está ausente.

    • ausenteConfiguraçãoDeServiço

      Lançado quando uma configuração de serviço esperada está ausente.

    • ausenteSysID

      Lançado quando um parâmetro sys_id esperado está ausente.

    • network(NetworkServiceError)
      • genericError(cadeia de caracteres)
      • operaçãoCancelada
      • serviço​Desabilitado
      • serverError(Erro)
      • systemError (Erro)

      Lançado quando um serviço de rede encontrou um erro.

    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 [User].self.

    let result = try await service.model(User.self, with: "5137153cc611227c000bbd1bd8cd2005", from: "sys_user", path: "result") 

    NowTableService - modelo<Model: Decodable> (_ tipo: Model.Type, com sysId: SysID? = nil, from tableName: String, path: String = Constants.resultPath, coder: Coder = .default, configuração: FetchConfiguration? = nil, conclusão: @escaping (Result<Model, NowDataError> ))

    Recupera modelos decodificáveis de uma tabela especificada.

    As respostas da APIda tabela são aninhadas dentro de um parâmetro result semelhante ao seguinte:
    {
      "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.

    Tabela 29. Parâmetros
    Nome Tipo Descrição
    tipo Modelo.Tipo 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 pelas configurações configuration.

    de tableName Cadeia de caracteres Nome da tabela da qual os registros serão recuperados, como incidente.
    caminho Cadeia de caracteres Opcional. Caminho separado por pontos para o tipo aninhado. Por exemplo, result ou foo.bar.baz para aninhamento mais profundo.

    Padrão: Constants.resultPath

    codificador Codificador Opcional. Codificador a ser usado para codificar ou decodificar dados enviados e recebidos da instância ServiceNow.

    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 serão recuperados e o que será incluído nos campos.

    Padrão: nulo - Todos os registros retornados.

    conclusão@escaping (resultado<Model, NowDataError> )Manipulador de conclusão a ser executado após recuperar o(s) modelo(s) decodificável(is) especificado(s).
    Valores de retorno para o manipulador de conclusão:
    • Sucesso: dados para o tipo de modelo solicitado.
    • Falha: NowDataError
      • accessToken(AccessTokenProviderError)
        • AccessTokenProviderError: o código ou a mensagem de erro do provedor de token de acesso.
          • accessTokenRetrievalFailed
          • userSessionError(_ erro: Erro)

        Lançado quando há um erro no token de acesso.

      • attachmentValidation

        Lançado quando um anexo falha na validação.

      • BadResponse(statusCode: HTTPStatusCode)
        • HTTPStatusCode: Código de status recebido da instância.

        Lançado quando uma solicitação retorna uma resposta inesperada

      • canDecodeModel(DecodingError)
        • DecodingError: erro de decodificação detectado.

        Lançado quando um modelo Codable não pode ser decodificado do JSON.

      • canDecodeProperty(tipo: qualquer, de: cadeia de caracteres)
        • type: tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
        • from: cadeia de caracteres a ser decodificada para o tipo especificado.

        Lançado quando um valor encapsulado em cadeia de caracteres não pode ser decodificado do JSON.

      • can'tEncodeModel(EncodingError)
        • EncodingError: erro de codificação detectado.

        Lançado quando um modelo Codable não pode ser codificado para JSON.

      • canParseResponse

        Lançado quando uma resposta da instância não pode ser analisada no formato esperado.

      • URL inválido

        Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres que são ilegais em um URL ou for uma cadeia de caracteres vazia.

      • ausenteAttachmentMetadata

        Lançado quando o cabeçalho de metadados do anexo está ausente.

      • ausenteConfiguraçãoDeServiço

        Lançado quando uma configuração de serviço esperada está ausente.

      • ausenteSysID

        Lançado quando um parâmetro sys_id esperado está ausente.

      • network(NetworkServiceError)
        • genericError(cadeia de caracteres)
        • operaçãoCancelada
        • serviço​Desabilitado
        • serverError(Erro)
        • systemError (Erro)

        Lançado quando um serviço de rede encontrou um erro.

    Tabela 30. Retorna
    Tipo Descrição
    Nenhum(a)

    Para recuperar uma coleção de modelos User decodificados.

    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 [User].self.

    service.model(User.self, with: "5137153cc611227c000bbd1bd8cd2005", from: "sys_user", path: "result") { resultin ... }

    NowTableService - modelo<Model: Decodable> (com sysId: SysID? = nil, from tableName: String, path: String = Constants.resultPath, coder: Coder = .default, configuração: FetchConfiguration? = nil)

    Cria um fornecedor que permite a recuperação de modelos decodificáveis de uma tabela especificada.

    Nota:
    Este método foi descontinuado. Em vez disso, você deve usar a implementação assíncrona/aguardar do método.
    As respostas da APIda tabela são aninhadas dentro de um parâmetro result semelhante ao seguinte:
    {
      "result": [
        { "name": "Ash Williams" },
        { "name": "Lionel Cosgrove" },
        { "name": "Laurie Strode" }
      ]
    }
    Para conjuntos de resultados grandes, use uma das funções de paginador, NowTableService - paginador (de tableName: cadeia de caracteres, configuração: FetchConfiguration? = nil) ou NowTableService - paginador<Model: Decodable> (de tableName: cadeia de caracteres, caminho: cadeia de caracteres = Constants.resultPath, codificador: codificador = .default, configuração: FetchConfiguration? = nulo) para buscar modelos paginados.
    Tabela 31. Parâmetros
    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: nulo

    de tableName Cadeia de caracteres Nome da tabela da qual os registros serão recuperados, como incidente.
    caminho Cadeia de caracteres Caminho separado por pontos para o tipo aninhado. Por exemplo, result ou foo.bar.baz para aninhamento mais profundo.

    Padrão: resultado

    codificador Codificador Opcional. Codificador a ser usado para codificar ou decodificar dados enviados e recebidos da instância ServiceNow.
    Valores possíveis:
    • default: os codificadores padrão formatam datas usando o formato aaaa-MM-dd HH:mm:ss usando o dispositivo Locale e TimeZone.
    • personalizado(JSONEncoder, JSONDecoder):

      Use codificadores personalizados para ter um controle mais refinado na decodificação/codificação JSON.

      Use esta enumeração somente para fornecer seu próprio JSONEncoder e JSONDecoder, por exemplo, ao usar formatos de data, fusos horários ou localidades especiais.

      let myEncoder = JSONEncoder()
      myEncoder.dateFormat = …
      let myDecoder = JSONDecoder()
      myDecoder.dateFormat = …
      let coder: Coder = .custom(myEncoder, myDecoder)

    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 serão recuperados e o que será incluído nos campos.

    Padrão: nulo - Todos os registros retornados.

    Tabela 32. Retorna
    Tipo Descrição
    Qualquer publicador<Model, NowDataError> Sucesso: o fornecedor retorna um ou mais modelos decodificáveis.

    Falha: NowDataError

    • accessToken(AccessTokenProviderError)
      • AccessTokenProviderError: o código ou a mensagem de erro do provedor de token de acesso.
        • accessTokenRetrievalFailed
        • userSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • attachmentValidation

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Código de status recebido da instância.

      Lançado quando uma solicitação retorna uma resposta inesperada

    • canDecodeModel(DecodingError)
      • DecodingError: erro de decodificação detectado.

      Lançado quando um modelo Codable não pode ser decodificado do JSON.

    • canDecodeProperty(tipo: qualquer, de: cadeia de caracteres)
      • type: tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • from: cadeia de caracteres a ser decodificada para o tipo especificado.

      Lançado quando um valor encapsulado em cadeia de caracteres não pode ser decodificado do JSON.

    • can'tEncodeModel(EncodingError)
      • EncodingError: erro de codificação detectado.

      Lançado quando um modelo Codable não pode ser codificado para JSON.

    • canParseResponse

      Lançado quando uma resposta da instância não pode ser analisada no formato esperado.

    • URL inválido

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres que são ilegais em um URL ou for uma cadeia de caracteres vazia.

    • ausenteAttachmentMetadata

      Lançado quando o cabeçalho de metadados do anexo está ausente.

    • ausenteConfiguraçãoDeServiço

      Lançado quando uma configuração de serviço esperada está ausente.

    • ausenteSysID

      Lançado quando um parâmetro sys_id esperado está ausente.

    • network(NetworkServiceError)
      • genericError(cadeia de caracteres)
      • operaçãoCancelada
      • serviço​Desabilitado
      • serverError(Erro)
      • systemError (Erro)

      Lançado quando um serviço de rede encontrou um erro.

    Para obter um fornecedor que forneça modelos de usuário decodificados 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 tipo de modelo User.self, em vez de [User].self.

    let publisher: AnyPublisher<User, NowDataError> = service.model(with: "5137153cc611227c000bbd1bd8cd2005", from: "sys_user", path: "result")

    NowTableService - paginador (de tableName: cadeia de caracteres, configuração: FetchConfiguration? = nil)

    Cria um paginador que permite a iteração por meio de páginas de registros.

    O do paginador O publicador emite dados que você pode decodificar em um modelo Codablepersonalizado ou também pode usar a função NowTableService - paginador<Model: Decodable> (de tableName: cadeia de caracteres, caminho: cadeia de caracteres = Constants.resultPath, codificador: codificador = .default, configuração: FetchConfiguration? = nulo). Como alternativa, você pode usar a função de conveniência convertToRecords() para transformar dados em um objeto NowRecord. Veja a seguir como converter um fornecedor para emitir NowRecords:
    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()
    Nota:
    A menos que seja substituído no parâmetro configuration, um paginador retorna 20 itens por página. Dependendo da avaliação da ACL, o número real de itens obtidos para uma página pode ser menor que o valor padrão ou configurado.
    Tabela 33. Parâmetros
    Nome Tipo Descrição
    tableName Cadeia de caracteres Nome da tabela da qual os registros serão recuperados, 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 serão recuperados e o que será incluído nos campos.

    Padrão: nulo - Todos os registros retornados.

    Tabela 34. Retorna
    Tipo Descrição
    Paginador<Data> Sucesso: objeto do paginador que contém os registros especificados.

    Falha: NowDataError

    • accessToken(AccessTokenProviderError)
      • AccessTokenProviderError: o código ou a mensagem de erro do provedor de token de acesso.
        • accessTokenRetrievalFailed
        • userSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • attachmentValidation

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Código de status recebido da instância.

      Lançado quando uma solicitação retorna uma resposta inesperada

    • canDecodeModel(DecodingError)
      • DecodingError: erro de decodificação detectado.

      Lançado quando um modelo Codable não pode ser decodificado do JSON.

    • canDecodeProperty(tipo: qualquer, de: cadeia de caracteres)
      • type: tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • from: cadeia de caracteres a ser decodificada para o tipo especificado.

      Lançado quando um valor encapsulado em cadeia de caracteres não pode ser decodificado do JSON.

    • can'tEncodeModel(EncodingError)
      • EncodingError: erro de codificação detectado.

      Lançado quando um modelo Codable não pode ser codificado para JSON.

    • canParseResponse

      Lançado quando uma resposta da instância não pode ser analisada no formato esperado.

    • URL inválido

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres que são ilegais em um URL ou for uma cadeia de caracteres vazia.

    • ausenteAttachmentMetadata

      Lançado quando o cabeçalho de metadados do anexo está ausente.

    • ausenteConfiguraçãoDeServiço

      Lançado quando uma configuração de serviço esperada está ausente.

    • ausenteSysID

      Lançado quando um parâmetro sys_id esperado está ausente.

    • network(NetworkServiceError)
      • genericError(cadeia de caracteres)
      • operaçãoCancelada
      • serviço​Desabilitado
      • serverError(Erro)
      • systemError (Erro)

      Lançado quando um serviço de rede encontrou um erro.

    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 - paginador<Model: Decodable> (de tableName: cadeia de caracteres, caminho: cadeia de caracteres = Constants.resultPath, codificador: codificador = .default, configuração: FetchConfiguration? = nulo)

    Cria um paginador que permite a iteração de páginas de modelos decodificados que lidam com o aninhamento.

    As respostas da REST Table API ServiceNow são aninhadas em uma propriedade de resultado semelhante à seguinte:
    {
      "result": [
        { "name": "Ash Williams" },
        { "name": "Lionel Cosgrove" },
        { "name": "Laurie Strode" }
      ]
    }
    Para obter um paginador que forneça modelos de usuário decodificados, busque o paginador especificando um caminho separado por pontos; neste caso, result.
    struct User: Codable {
      varname: String
    }
    
    let service: NowTableService = ...
    let paginator: Paginator<[User]> = service.paginator(from: "sys_user", path: "result")
    Nota:
    A menos que seja substituído no parâmetro configuration, um paginador retorna 20 itens por página. Dependendo das avaliações da ACL, o número real de itens obtidos para uma página pode ser menor que o valor padrão ou configurado.
    Depois de obter um objeto Paginator, assine o Combine Publisher para começar a receber dados:
    paginator.publisher
      .subscribe(on: DispatchQueue.global())
      .receive(on: DispatchQueue.main)
      .sink { … }
      .store(in: &subscriptions)
    Nota:
    Como acontece com todas as assinaturas Combine, certifique-se de manter a assinatura para evitar resultados inesperados.
    Tabela 35. Parâmetros
    Nome Tipo Descrição
    de tableName Cadeia de caracteres Nome da tabela da qual os registros serão recuperados, como incidente.
    path Cadeia de caracteres Caminho separado por pontos para o tipo aninhado. Por exemplo, result ou result.user.photos para aninhamento mais profundo. Especificar um caminho personalizado permite buscar ou iterar sobre dados aninhados.

    Padrão: resultado

    codificador Codificador Opcional. Codificador a ser usado para codificar ou decodificar dados enviados e recebidos da instância ServiceNow.
    Valores possíveis:
    • default: os codificadores padrão formatam datas usando o formato aaaa-MM-dd HH:mm:ss usando o dispositivo Locale e TimeZone.
    • personalizado(JSONEncoder, JSONDecoder):

      Use codificadores personalizados para ter um controle mais refinado na decodificação/codificação JSON.

      Use esta enumeração somente para fornecer seu próprio JSONEncoder e JSONDecoder, por exemplo, ao usar formatos de data, fusos horários ou localidades especiais.

      let myEncoder = JSONEncoder()
      myEncoder.dateFormat = …
      let myDecoder = JSONDecoder()
      myDecoder.dateFormat = …
      let coder: Coder = .custom(myEncoder, myDecoder)

    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 serão recuperados e o que será incluído nos campos.

    Padrão: nulo - Todos os registros retornados.

    Tabela 36. Retorna
    Tipo Descrição
    Paginador<Data> Sucesso: objeto Paginator que contém modelo(s) decodificável(is) paginado(s).

    Falha: NowDataError

    • accessToken(AccessTokenProviderError)
      • AccessTokenProviderError: o código ou a mensagem de erro do provedor de token de acesso.
        • accessTokenRetrievalFailed
        • userSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • attachmentValidation

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Código de status recebido da instância.

      Lançado quando uma solicitação retorna uma resposta inesperada

    • canDecodeModel(DecodingError)
      • DecodingError: erro de decodificação detectado.

      Lançado quando um modelo Codable não pode ser decodificado do JSON.

    • canDecodeProperty(tipo: qualquer, de: cadeia de caracteres)
      • type: tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • from: cadeia de caracteres a ser decodificada para o tipo especificado.

      Lançado quando um valor encapsulado em cadeia de caracteres não pode ser decodificado do JSON.

    • can'tEncodeModel(EncodingError)
      • EncodingError: erro de codificação detectado.

      Lançado quando um modelo Codable não pode ser codificado para JSON.

    • canParseResponse

      Lançado quando uma resposta da instância não pode ser analisada no formato esperado.

    • URL inválido

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres que são ilegais em um URL ou for uma cadeia de caracteres vazia.

    • ausenteAttachmentMetadata

      Lançado quando o cabeçalho de metadados do anexo está ausente.

    • ausenteConfiguraçãoDeServiço

      Lançado quando uma configuração de serviço esperada está ausente.

    • ausenteSysID

      Lançado quando um parâmetro sys_id esperado está ausente.

    • network(NetworkServiceError)
      • genericError(cadeia de caracteres)
      • operaçãoCancelada
      • serviço​Desabilitado
      • serverError(Erro)
      • systemError (Erro)

      Lançado quando um serviço de rede encontrou um erro.

    Este exemplo mostra como obter um objeto Paginator que fornece modelos de usuário decodificados. Você pode buscar o objeto Paginator desejado sugerindo que o compilador retorne 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")
    Nota:
    A API da tabela sempre retorna resultados aninhados abaixo de um caminho de resultado, portanto, você pode eliminar com segurança o parâmetro path.

    NowTableService - registros (com sysId: SysID, from tableName: cadeia de caracteres, configuração: FieldReadConfiguration? = nulo) lançamentos assíncronos

    Recupera um registro especificado da tabela especificada em uma instância ServiceNow.

    O O publicador emite dados que você pode decodificar em um modelo Codablepersonalizado ou também pode usar a função NowTableService - paginador<Model: Decodable> (de tableName: cadeia de caracteres, caminho: cadeia de caracteres = Constants.resultPath, codificador: codificador = .default, configuração: FetchConfiguration? = nulo). Como alternativa, você pode usar a função de conveniência convertToRecords() para transformar dados em um objeto NowRecord. Veja a seguir como converter um fornecedor para emitir NowRecords:
    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()
    Tabela 37. Parâmetros
    Nome Tipo Descrição
    sysId Cadeia de caracteres Sys_id do registro a ser retornado da instância ServiceNow.
    de tableName Cadeia de caracteres Nome da tabela da qual os registros serão recuperados, 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 serão recuperados e o que será incluído nos campos.

    Padrão: nulo - Todos os registros retornados.

    Tabela 38. Retorna
    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.
    • accessToken(AccessTokenProviderError)
      • AccessTokenProviderError: o código ou a mensagem de erro do provedor de token de acesso.
        • accessTokenRetrievalFailed
        • userSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • attachmentValidation

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Código de status recebido da instância.

      Lançado quando uma solicitação retorna uma resposta inesperada

    • canDecodeModel(DecodingError)
      • DecodingError: erro de decodificação detectado.

      Lançado quando um modelo Codable não pode ser decodificado do JSON.

    • canDecodeProperty(tipo: qualquer, de: cadeia de caracteres)
      • type: tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • from: cadeia de caracteres a ser decodificada para o tipo especificado.

      Lançado quando um valor encapsulado em cadeia de caracteres não pode ser decodificado do JSON.

    • can'tEncodeModel(EncodingError)
      • EncodingError: erro de codificação detectado.

      Lançado quando um modelo Codable não pode ser codificado para JSON.

    • canParseResponse

      Lançado quando uma resposta da instância não pode ser analisada no formato esperado.

    • URL inválido

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres que são ilegais em um URL ou for uma cadeia de caracteres vazia.

    • ausenteAttachmentMetadata

      Lançado quando o cabeçalho de metadados do anexo está ausente.

    • ausenteConfiguraçãoDeServiço

      Lançado quando uma configuração de serviço esperada está ausente.

    • ausenteSysID

      Lançado quando um parâmetro sys_id esperado está ausente.

    • network(NetworkServiceError)
      • genericError(cadeia de caracteres)
      • operaçãoCancelada
      • serviço​Desabilitado
      • serverError(Erro)
      • systemError (Erro)

      Lançado quando um serviço de rede encontrou um erro.

    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 - record(com sysId: SysID, from tableName: String, configuração: FieldReadConfiguration, conclusão: @escaping (Resultado<Data, NowDataError> )

    Recupera o registro especificado da tabela especificada e executa um manipulador de conclusão depois que o registro é recuperado.

    Se necessário, você pode decodificar os resultados de retorno em um modelo Codable personalizado ou usar a função NowTableService - paginador<Model: Decodable> (de tableName: cadeia de caracteres, caminho: cadeia de caracteres = Constants.resultPath, codificador: codificador = .default, configuração: FetchConfiguration? = nulo). Como alternativa, você pode usar a função de conveniência convertToRecords() para transformar dados em um objeto NowRecord. Veja a seguir como converter um fornecedor para emitir NowRecords:
    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myResult.convertToRecords()
    Para conjuntos de resultados grandes, use a função NowTableService - paginador (de tableName: cadeia de caracteres, configuração: FetchConfiguration? = nil) para buscar resultados paginados.
    Tabela 39. Parâmetros
    Nome Tipo Descrição
    sysId Cadeia de caracteres Sys_id do registro a ser retornado da instância ServiceNow.
    de tableName Cadeia de caracteres Nome da tabela da qual os registros serão recuperados, 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 serão recuperados e o que será incluído nos campos.

    Padrão: nulo - Todos os registros retornados.

    conclusão @escaping (resultado<Data, NowDataError> ) Manipulador de conclusão a ser executado depois que os registros forem recuperados.
    Valores de retorno:
    • Sucesso: dados - Registros solicitados
    • Erro: NowDataError
      • accessToken(AccessTokenProviderError)
        • AccessTokenProviderError: o código ou a mensagem de erro do provedor de token de acesso.
          • accessTokenRetrievalFailed
          • userSessionError(_ erro: Erro)

        Lançado quando há um erro no token de acesso.

      • attachmentValidation

        Lançado quando um anexo falha na validação.

      • BadResponse(statusCode: HTTPStatusCode)
        • HTTPStatusCode: Código de status recebido da instância.

        Lançado quando uma solicitação retorna uma resposta inesperada

      • canDecodeModel(DecodingError)
        • DecodingError: erro de decodificação detectado.

        Lançado quando um modelo Codable não pode ser decodificado do JSON.

      • canDecodeProperty(tipo: qualquer, de: cadeia de caracteres)
        • type: tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
        • from: cadeia de caracteres a ser decodificada para o tipo especificado.

        Lançado quando um valor encapsulado em cadeia de caracteres não pode ser decodificado do JSON.

      • can'tEncodeModel(EncodingError)
        • EncodingError: erro de codificação detectado.

        Lançado quando um modelo Codable não pode ser codificado para JSON.

      • canParseResponse

        Lançado quando uma resposta da instância não pode ser analisada no formato esperado.

      • URL inválido

        Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres que são ilegais em um URL ou for uma cadeia de caracteres vazia.

      • ausenteAttachmentMetadata

        Lançado quando o cabeçalho de metadados do anexo está ausente.

      • ausenteConfiguraçãoDeServiço

        Lançado quando uma configuração de serviço esperada está ausente.

      • ausenteSysID

        Lançado quando um parâmetro sys_id esperado está ausente.

      • network(NetworkServiceError)
        • genericError(cadeia de caracteres)
        • operaçãoCancelada
        • serviço​Desabilitado
        • serverError(Erro)
        • systemError (Erro)

        Lançado quando um serviço de rede encontrou um erro.

    Tabela 40. Retorna
    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 - record (com sysId: SysID, de tableName: cadeia de caracteres, configuração: FieldReadConfiguration? = nulo)

    Cria um fornecedor para recuperar um registro especificado da tabela especificada em uma instância ServiceNow.

    Nota:
    Este método foi descontinuado. Em vez disso, você deve usar a implementação assíncrona/aguardar do método.
    O O publicador emite dados que você pode decodificar em um modelo Codablepersonalizado ou também pode usar a função NowTableService - paginador<Model: Decodable> (de tableName: cadeia de caracteres, caminho: cadeia de caracteres = Constants.resultPath, codificador: codificador = .default, configuração: FetchConfiguration? = nulo). Como alternativa, você pode usar a função de conveniência convertToRecords() para transformar dados em um objeto NowRecord. Veja a seguir como converter um fornecedor para emitir NowRecords:
    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()
    Tabela 41. Parâmetros
    Nome Tipo Descrição
    sysId Cadeia de caracteres Sys_id do registro a ser retornado da instância ServiceNow.
    de tableName Cadeia de caracteres Nome da tabela da qual os registros serão recuperados, 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 serão recuperados e o que será incluído nos campos.

    Padrão: nulo - Todos os registros retornados.

    Tabela 42. Retorna
    Tipo Descrição
    Qualquer publicador<Data, NowDataError> Sucesso: objeto de dados que contém os registros especificados.

    Falha: NowDataError

    • accessToken(AccessTokenProviderError)
      • AccessTokenProviderError: o código ou a mensagem de erro do provedor de token de acesso.
        • accessTokenRetrievalFailed
        • userSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • attachmentValidation

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Código de status recebido da instância.

      Lançado quando uma solicitação retorna uma resposta inesperada

    • canDecodeModel(DecodingError)
      • DecodingError: erro de decodificação detectado.

      Lançado quando um modelo Codable não pode ser decodificado do JSON.

    • canDecodeProperty(tipo: qualquer, de: cadeia de caracteres)
      • type: tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • from: cadeia de caracteres a ser decodificada para o tipo especificado.

      Lançado quando um valor encapsulado em cadeia de caracteres não pode ser decodificado do JSON.

    • can'tEncodeModel(EncodingError)
      • EncodingError: erro de codificação detectado.

      Lançado quando um modelo Codable não pode ser codificado para JSON.

    • canParseResponse

      Lançado quando uma resposta da instância não pode ser analisada no formato esperado.

    • URL inválido

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres que são ilegais em um URL ou for uma cadeia de caracteres vazia.

    • ausenteAttachmentMetadata

      Lançado quando o cabeçalho de metadados do anexo está ausente.

    • ausenteConfiguraçãoDeServiço

      Lançado quando uma configuração de serviço esperada está ausente.

    • ausenteSysID

      Lançado quando um parâmetro sys_id esperado está ausente.

    • network(NetworkServiceError)
      • genericError(cadeia de caracteres)
      • operaçãoCancelada
      • serviço​Desabilitado
      • serverError(Erro)
      • systemError (Erro)

      Lançado quando um serviço de rede encontrou um erro.

    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? = nil) lançamentos assíncronos

    Recupera registros da tabela especificada.

    O O publicador emite dados que você pode decodificar em um modelo Codablepersonalizado ou também pode usar a função NowTableService - paginador<Model: Decodable> (de tableName: cadeia de caracteres, caminho: cadeia de caracteres = Constants.resultPath, codificador: codificador = .default, configuração: FetchConfiguration? = nulo). Como alternativa, você pode usar a função de conveniência convertToRecords() para transformar dados em um objeto NowRecord. Veja a seguir como converter um fornecedor para emitir NowRecords:
    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()
    Para conjuntos de resultados grandes, use a função NowTableService - paginador (de tableName: cadeia de caracteres, configuração: FetchConfiguration? = nil) para buscar resultados paginados.
    Tabela 43. Parâmetros
    Nome Tipo Descrição
    de tableName Cadeia de caracteres Nome da tabela da qual os registros serão recuperados, 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 serão recuperados e o que será incluído nos campos.

    Padrão: nulo - Todos os registros retornados.

    Tabela 44. Retorna
    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.
    • accessToken(AccessTokenProviderError)
      • AccessTokenProviderError: o código ou a mensagem de erro do provedor de token de acesso.
        • accessTokenRetrievalFailed
        • userSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • attachmentValidation

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Código de status recebido da instância.

      Lançado quando uma solicitação retorna uma resposta inesperada

    • canDecodeModel(DecodingError)
      • DecodingError: erro de decodificação detectado.

      Lançado quando um modelo Codable não pode ser decodificado do JSON.

    • canDecodeProperty(tipo: qualquer, de: cadeia de caracteres)
      • type: tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • from: cadeia de caracteres a ser decodificada para o tipo especificado.

      Lançado quando um valor encapsulado em cadeia de caracteres não pode ser decodificado do JSON.

    • can'tEncodeModel(EncodingError)
      • EncodingError: erro de codificação detectado.

      Lançado quando um modelo Codable não pode ser codificado para JSON.

    • canParseResponse

      Lançado quando uma resposta da instância não pode ser analisada no formato esperado.

    • URL inválido

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres que são ilegais em um URL ou for uma cadeia de caracteres vazia.

    • ausenteAttachmentMetadata

      Lançado quando o cabeçalho de metadados do anexo está ausente.

    • ausenteConfiguraçãoDeServiço

      Lançado quando uma configuração de serviço esperada está ausente.

    • ausenteSysID

      Lançado quando um parâmetro sys_id esperado está ausente.

    • network(NetworkServiceError)
      • genericError(cadeia de caracteres)
      • operaçãoCancelada
      • serviço​Desabilitado
      • serverError(Erro)
      • systemError (Erro)

      Lançado quando um serviço de rede encontrou um erro.

    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? = nil, conclusão: @escaping (resultado<Data, NowDataError> ))

    Recupera registros de uma tabela especificada e executa o manipulador completion depois que os registros são recuperados.

    Se necessário, você pode decodificar os resultados de retorno em um modelo Codable personalizado ou usar a função NowTableService - paginador<Model: Decodable> (de tableName: cadeia de caracteres, caminho: cadeia de caracteres = Constants.resultPath, codificador: codificador = .default, configuração: FetchConfiguration? = nulo). Como alternativa, você pode usar a função de conveniência convertToRecords() para transformar dados em um objeto NowRecord. Veja a seguir como converter um fornecedor para emitir NowRecords:
    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myResult.convertToRecords()
    Para conjuntos de resultados grandes, use a função NowTableService - paginador (de tableName: cadeia de caracteres, configuração: FetchConfiguration? = nil) para buscar resultados paginados.
    Tabela 45. Parâmetros
    Nome Tipo Descrição
    em tableName Cadeia de caracteres Nome da tabela na qual os registros serão gravados, 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 serão recuperados e o que será incluído nos campos.

    Padrão: nulo - Todos os registros retornados.

    conclusão @escaping (resultado<Data, NowDataError> ) Manipulador de conclusão a ser executado depois que os registros forem recuperados.
    Valores de retorno:
    • Sucesso: dados - Registros solicitados
    • Erro: NowDataError
      • accessToken(AccessTokenProviderError)
        • AccessTokenProviderError: o código ou a mensagem de erro do provedor de token de acesso.
          • accessTokenRetrievalFailed
          • userSessionError(_ erro: Erro)

        Lançado quando há um erro no token de acesso.

      • attachmentValidation

        Lançado quando um anexo falha na validação.

      • BadResponse(statusCode: HTTPStatusCode)
        • HTTPStatusCode: Código de status recebido da instância.

        Lançado quando uma solicitação retorna uma resposta inesperada

      • canDecodeModel(DecodingError)
        • DecodingError: erro de decodificação detectado.

        Lançado quando um modelo Codable não pode ser decodificado do JSON.

      • canDecodeProperty(tipo: qualquer, de: cadeia de caracteres)
        • type: tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
        • from: cadeia de caracteres a ser decodificada para o tipo especificado.

        Lançado quando um valor encapsulado em cadeia de caracteres não pode ser decodificado do JSON.

      • can'tEncodeModel(EncodingError)
        • EncodingError: erro de codificação detectado.

        Lançado quando um modelo Codable não pode ser codificado para JSON.

      • canParseResponse

        Lançado quando uma resposta da instância não pode ser analisada no formato esperado.

      • URL inválido

        Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres que são ilegais em um URL ou for uma cadeia de caracteres vazia.

      • ausenteAttachmentMetadata

        Lançado quando o cabeçalho de metadados do anexo está ausente.

      • ausenteConfiguraçãoDeServiço

        Lançado quando uma configuração de serviço esperada está ausente.

      • ausenteSysID

        Lançado quando um parâmetro sys_id esperado está ausente.

      • network(NetworkServiceError)
        • genericError(cadeia de caracteres)
        • operaçãoCancelada
        • serviço​Desabilitado
        • serverError(Erro)
        • systemError (Erro)

        Lançado quando um serviço de rede encontrou um erro.

    Tabela 46. Retorna
    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? = nil)

    Cria um fornecedor que permite recuperar registros da tabela especificada.

    Nota:
    Este método foi descontinuado. Em vez disso, você deve usar a implementação assíncrona/aguardar do método.
    O O publicador emite dados que você pode decodificar em um modelo Codablepersonalizado ou também pode usar a função NowTableService - paginador<Model: Decodable> (de tableName: cadeia de caracteres, caminho: cadeia de caracteres = Constants.resultPath, codificador: codificador = .default, configuração: FetchConfiguration? = nulo). Como alternativa, você pode usar a função de conveniência convertToRecords() para transformar dados em um objeto NowRecord. Veja a seguir como converter um fornecedor para emitir NowRecords:
    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()
    Para conjuntos de resultados grandes, use a função NowTableService - paginador (de tableName: cadeia de caracteres, configuração: FetchConfiguration? = nil) para buscar resultados paginados.
    Tabela 47. Parâmetros
    Nome Tipo Descrição
    de tableName Cadeia de caracteres Nome da tabela da qual os registros serão recuperados, 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 serão recuperados e o que será incluído nos campos.

    Padrão: nulo - Todos os registros retornados.

    Tabela 48. Retorna
    Tipo Descrição
    Qualquer publicador<Data, NowDataError> Sucesso: objeto de dados que contém os registros especificados.

    Falha: NowDataError

    • accessToken(AccessTokenProviderError)
      • AccessTokenProviderError: o código ou a mensagem de erro do provedor de token de acesso.
        • accessTokenRetrievalFailed
        • userSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • attachmentValidation

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Código de status recebido da instância.

      Lançado quando uma solicitação retorna uma resposta inesperada

    • canDecodeModel(DecodingError)
      • DecodingError: erro de decodificação detectado.

      Lançado quando um modelo Codable não pode ser decodificado do JSON.

    • canDecodeProperty(tipo: qualquer, de: cadeia de caracteres)
      • type: tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • from: cadeia de caracteres a ser decodificada para o tipo especificado.

      Lançado quando um valor encapsulado em cadeia de caracteres não pode ser decodificado do JSON.

    • can'tEncodeModel(EncodingError)
      • EncodingError: erro de codificação detectado.

      Lançado quando um modelo Codable não pode ser codificado para JSON.

    • canParseResponse

      Lançado quando uma resposta da instância não pode ser analisada no formato esperado.

    • URL inválido

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres que são ilegais em um URL ou for uma cadeia de caracteres vazia.

    • ausenteAttachmentMetadata

      Lançado quando o cabeçalho de metadados do anexo está ausente.

    • ausenteConfiguraçãoDeServiço

      Lançado quando uma configuração de serviço esperada está ausente.

    • ausenteSysID

      Lançado quando um parâmetro sys_id esperado está ausente.

    • network(NetworkServiceError)
      • genericError(cadeia de caracteres)
      • operaçãoCancelada
      • serviço​Desabilitado
      • serverError(Erro)
      • systemError (Erro)

      Lançado quando um serviço de rede encontrou um erro.

    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 a 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 - atualizar<Model: SysIdentifiableModel> (_ modelo: modelo, em tableName: cadeia de caracteres, codificador: codificador = .default, writeOptions: FieldWriteOptions? = nil, configuração: FetchConfiguration? = nil) lançamentos assíncronos

    Atualiza o modelo codificável especificado na tabela especificada.

    Tabela 49. Parâmetros
    Nome Tipo Descrição
    modelo Modelo ModeloSysIdentifiableModel a ser atualizado na tabela.
    em tableName Cadeia de caracteres Nome da tabela na qual os registros serão gravados, como incidente.
    codificador Codificador Opcional. Codificador a ser usado para codificar ou decodificar dados enviados e recebidos da instância ServiceNow.
    Valores possíveis:
    • default: os codificadores padrão formatam datas usando o formato aaaa-MM-dd HH:mm:ss usando o dispositivo Locale e TimeZone.
    • personalizado(JSONEncoder, JSONDecoder):

      Use codificadores personalizados para ter um controle mais refinado na decodificação/codificação JSON.

      Use esta enumeração somente para fornecer seu próprio JSONEncoder e JSONDecoder, por exemplo, ao usar formatos de data, fusos horários ou localidades especiais.

      let myEncoder = JSONEncoder()
      myEncoder.dateFormat = …
      let myDecoder = JSONDecoder()
      myDecoder.dateFormat = …
      let coder: Coder = .custom(myEncoder, myDecoder)

    Padrão: .default

    opções de gravação OpçõesDeGravaçãoDeCampo Opcional. Opções de configuração a serem aplicadas aos dados que estão sendo gravados no registro.

    Padrão: nulo

    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 serão recuperados e o que será incluído nos campos.

    Padrão: nulo - Todos os registros retornados.

    Tabela 50. Retorna
    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.
    • accessToken(AccessTokenProviderError)
      • AccessTokenProviderError: o código ou a mensagem de erro do provedor de token de acesso.
        • accessTokenRetrievalFailed
        • userSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • attachmentValidation

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Código de status recebido da instância.

      Lançado quando uma solicitação retorna uma resposta inesperada

    • canDecodeModel(DecodingError)
      • DecodingError: erro de decodificação detectado.

      Lançado quando um modelo Codable não pode ser decodificado do JSON.

    • canDecodeProperty(tipo: qualquer, de: cadeia de caracteres)
      • type: tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • from: cadeia de caracteres a ser decodificada para o tipo especificado.

      Lançado quando um valor encapsulado em cadeia de caracteres não pode ser decodificado do JSON.

    • can'tEncodeModel(EncodingError)
      • EncodingError: erro de codificação detectado.

      Lançado quando um modelo Codable não pode ser codificado para JSON.

    • canParseResponse

      Lançado quando uma resposta da instância não pode ser analisada no formato esperado.

    • URL inválido

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres que são ilegais em um URL ou for uma cadeia de caracteres vazia.

    • ausenteAttachmentMetadata

      Lançado quando o cabeçalho de metadados do anexo está ausente.

    • ausenteConfiguraçãoDeServiço

      Lançado quando uma configuração de serviço esperada está ausente.

    • ausenteSysID

      Lançado quando um parâmetro sys_id esperado está ausente.

    • network(NetworkServiceError)
      • genericError(cadeia de caracteres)
      • operaçãoCancelada
      • serviço​Desabilitado
      • serverError(Erro)
      • systemError (Erro)

      Lançado quando um serviço de rede encontrou um erro.

    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 - atualizar<Model: SysIdentifiableModel> (_ modelo: modelo, em tableName: cadeia de caracteres, codificador: codificador = .default, writeOptions: FieldWriteOptions? = nil, configuração: FetchConfiguration? = nil, conclusão: @escaping (resultado<Model, NowDataError> ))

    Atualiza o modelo Codable especificado na tabela especificada e, em seguida, executa o manipulador completion.

    Tabela 51. Parâmetros
    Nome Tipo Descrição
    modelo Modelo ModeloSysIdentifiableModel a ser atualizado na tabela.
    em tableName Cadeia de caracteres Nome da tabela na qual os registros serão gravados, como incidente.
    codificador Codificador Opcional. Codificador a ser usado para codificar ou decodificar dados enviados e recebidos da instância ServiceNow.
    Valores possíveis:
    • default: os codificadores padrão formatam datas usando o formato aaaa-MM-dd HH:mm:ss usando o dispositivo Locale e TimeZone.
    • personalizado(JSONEncoder, JSONDecoder):

      Use codificadores personalizados para ter um controle mais refinado na decodificação/codificação JSON.

      Use esta enumeração somente para fornecer seu próprio JSONEncoder e JSONDecoder, por exemplo, ao usar formatos de data, fusos horários ou localidades especiais.

      let myEncoder = JSONEncoder()
      myEncoder.dateFormat = …
      let myDecoder = JSONDecoder()
      myDecoder.dateFormat = …
      let coder: Coder = .custom(myEncoder, myDecoder)

    Padrão: .default

    opções de gravação OpçõesDeGravaçãoDeCampo Opcional. Opções de configuração a serem aplicadas aos dados que estão sendo gravados no registro.

    Padrão: nulo

    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 serão recuperados e o que será incluído nos campos.

    Padrão: nulo - Todos os registros retornados.

    conclusão @escaping (resultado<Model, NowDataError> ) Manipulador de conclusão a ser executado após a atualização do(s) modelo(s) codável(is) especificado(s).
    Valores de retorno:
    • Sucesso: modelo
    • Falha: NowDataError
      • accessToken(AccessTokenProviderError)
        • AccessTokenProviderError: o código ou a mensagem de erro do provedor de token de acesso.
          • accessTokenRetrievalFailed
          • userSessionError(_ erro: Erro)

        Lançado quando há um erro no token de acesso.

      • attachmentValidation

        Lançado quando um anexo falha na validação.

      • BadResponse(statusCode: HTTPStatusCode)
        • HTTPStatusCode: Código de status recebido da instância.

        Lançado quando uma solicitação retorna uma resposta inesperada

      • canDecodeModel(DecodingError)
        • DecodingError: erro de decodificação detectado.

        Lançado quando um modelo Codable não pode ser decodificado do JSON.

      • canDecodeProperty(tipo: qualquer, de: cadeia de caracteres)
        • type: tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
        • from: cadeia de caracteres a ser decodificada para o tipo especificado.

        Lançado quando um valor encapsulado em cadeia de caracteres não pode ser decodificado do JSON.

      • can'tEncodeModel(EncodingError)
        • EncodingError: erro de codificação detectado.

        Lançado quando um modelo Codable não pode ser codificado para JSON.

      • canParseResponse

        Lançado quando uma resposta da instância não pode ser analisada no formato esperado.

      • URL inválido

        Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres que são ilegais em um URL ou for uma cadeia de caracteres vazia.

      • ausenteAttachmentMetadata

        Lançado quando o cabeçalho de metadados do anexo está ausente.

      • ausenteConfiguraçãoDeServiço

        Lançado quando uma configuração de serviço esperada está ausente.

      • ausenteSysID

        Lançado quando um parâmetro sys_id esperado está ausente.

      • network(NetworkServiceError)
        • genericError(cadeia de caracteres)
        • operaçãoCancelada
        • serviço​Desabilitado
        • serverError(Erro)
        • systemError (Erro)

        Lançado quando um serviço de rede encontrou um erro.

    Tabela 52. Retorna
    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 - atualizar<Model: SysIdentifiableModel> (_ modelo: modelo, em tableName: cadeia de caracteres, codificador: codificador = .default, writeOptions: FieldWriteOptions? = nil, configuração: FetchConfiguration? = nil)

    Atualiza o modelo codificável especificado na tabela especificada.

    Nota:
    Este método foi descontinuado. Em vez disso, você deve usar a implementação assíncrona/aguardar do método.
    Tabela 53. Parâmetros
    Nome Tipo Descrição
    modelo Modelo ModeloSysIdentifiableModel a ser atualizado na tabela.
    em tableName Cadeia de caracteres Nome da tabela na qual os registros serão gravados, como incidente.
    codificador Codificador Opcional. Codificador a ser usado para codificar ou decodificar dados enviados e recebidos da instância ServiceNow.
    Valores possíveis:
    • default: os codificadores padrão formatam datas usando o formato aaaa-MM-dd HH:mm:ss usando o dispositivo Locale e TimeZone.
    • personalizado(JSONEncoder, JSONDecoder):

      Use codificadores personalizados para ter um controle mais refinado na decodificação/codificação JSON.

      Use esta enumeração somente para fornecer seu próprio JSONEncoder e JSONDecoder, por exemplo, ao usar formatos de data, fusos horários ou localidades especiais.

      let myEncoder = JSONEncoder()
      myEncoder.dateFormat = …
      let myDecoder = JSONDecoder()
      myDecoder.dateFormat = …
      let coder: Coder = .custom(myEncoder, myDecoder)

    Padrão: .default

    opções de gravação OpçõesDeGravaçãoDeCampo Opcional. Opções de configuração a serem aplicadas aos dados que estão sendo gravados no registro.

    Padrão: nulo

    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 serão recuperados e o que será incluído nos campos.

    Padrão: nulo - Todos os registros retornados.

    Tabela 54. Retorna
    Tipo Descrição
    Qualquer publicador<Model, NowDataError> Sucesso: modelos decodificáveis que foram atualizados na tabela especificada.

    Falha: NowDataError

    • accessToken(AccessTokenProviderError)
      • AccessTokenProviderError: o código ou a mensagem de erro do provedor de token de acesso.
        • accessTokenRetrievalFailed
        • userSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • attachmentValidation

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Código de status recebido da instância.

      Lançado quando uma solicitação retorna uma resposta inesperada

    • canDecodeModel(DecodingError)
      • DecodingError: erro de decodificação detectado.

      Lançado quando um modelo Codable não pode ser decodificado do JSON.

    • canDecodeProperty(tipo: qualquer, de: cadeia de caracteres)
      • type: tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • from: cadeia de caracteres a ser decodificada para o tipo especificado.

      Lançado quando um valor encapsulado em cadeia de caracteres não pode ser decodificado do JSON.

    • can'tEncodeModel(EncodingError)
      • EncodingError: erro de codificação detectado.

      Lançado quando um modelo Codable não pode ser codificado para JSON.

    • canParseResponse

      Lançado quando uma resposta da instância não pode ser analisada no formato esperado.

    • URL inválido

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres que são ilegais em um URL ou for uma cadeia de caracteres vazia.

    • ausenteAttachmentMetadata

      Lançado quando o cabeçalho de metadados do anexo está ausente.

    • ausenteConfiguraçãoDeServiço

      Lançado quando uma configuração de serviço esperada está ausente.

    • ausenteSysID

      Lançado quando um parâmetro sys_id esperado está ausente.

    • network(NetworkServiceError)
      • genericError(cadeia de caracteres)
      • operaçãoCancelada
      • serviço​Desabilitado
      • serverError(Erro)
      • systemError (Erro)

      Lançado quando um serviço de rede encontrou um erro.

    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, in tableName: String, withfields: [FieldName: FieldValue], writeOptions: FieldWriteOptions? = nil, configuração: FieldReadConfiguration? = nil) lançamentos assíncronos

    Atualiza o registro especificado com os campos especificados.

    Você pode decodificar os dados em um modelo Codablepersonalizado ou usar a função NowTableService - paginador<Model: Decodable> (de tableName: cadeia de caracteres, caminho: cadeia de caracteres = Constants.resultPath, codificador: codificador = .default, configuração: FetchConfiguration? = nulo). Como alternativa, você pode usar a função de conveniência convertToRecords() para transformar dados em um objeto NowRecord. Veja a seguir como converter um fornecedor para emitir NowRecords:
    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()
    Nota:
    Nem todos os campos em um registro podem estar disponíveis para atualização. Por exemplo, os campos que têm um prefixo sys_ são normalmente parâmetros do sistema gerados automaticamente e não podem ser atualizados. Os campos que não são especificados e não são gerados automaticamente pelo sistema são definidos com o valor nulo do tipo de dados associado.
    Tabela 55. Parâmetros
    Nome Tipo Descrição
    sysId Cadeia de caracteres Sys_id do registro a ser retornado da instância ServiceNow.
    com campos [FieldName: FieldValue] Pares de nome-valor dos campos a serem incluídos no registro.
    em tableName Cadeia de caracteres Nome da tabela na qual os registros serão gravados, como incidente.
    opções de gravação OpçõesDeGravaçãoDeCampo Opcional. Opções de configuração a serem aplicadas aos dados que estão sendo gravados no registro.

    Padrão: nulo

    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 serão recuperados e o que será incluído nos campos.

    Padrão: nulo - Todos os registros retornados.

    Tabela 56. Retorna
    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.
    • accessToken(AccessTokenProviderError)
      • AccessTokenProviderError: o código ou a mensagem de erro do provedor de token de acesso.
        • accessTokenRetrievalFailed
        • userSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • attachmentValidation

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Código de status recebido da instância.

      Lançado quando uma solicitação retorna uma resposta inesperada

    • canDecodeModel(DecodingError)
      • DecodingError: erro de decodificação detectado.

      Lançado quando um modelo Codable não pode ser decodificado do JSON.

    • canDecodeProperty(tipo: qualquer, de: cadeia de caracteres)
      • type: tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • from: cadeia de caracteres a ser decodificada para o tipo especificado.

      Lançado quando um valor encapsulado em cadeia de caracteres não pode ser decodificado do JSON.

    • can'tEncodeModel(EncodingError)
      • EncodingError: erro de codificação detectado.

      Lançado quando um modelo Codable não pode ser codificado para JSON.

    • canParseResponse

      Lançado quando uma resposta da instância não pode ser analisada no formato esperado.

    • URL inválido

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres que são ilegais em um URL ou for uma cadeia de caracteres vazia.

    • ausenteAttachmentMetadata

      Lançado quando o cabeçalho de metadados do anexo está ausente.

    • ausenteConfiguraçãoDeServiço

      Lançado quando uma configuração de serviço esperada está ausente.

    • ausenteSysID

      Lançado quando um parâmetro sys_id esperado está ausente.

    • network(NetworkServiceError)
      • genericError(cadeia de caracteres)
      • operaçãoCancelada
      • serviço​Desabilitado
      • serverError(Erro)
      • systemError (Erro)

      Lançado quando um serviço de rede encontrou um erro.

    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, in tableName: cadeia de caracteres, com campos: [FieldName: FieldValue], writeOptions: FieldWriteOptions? = nil, configuração: FieldReadConfiguration? = nil, conclusão: @escaping (Resultado<Data, NowDataError> )

    Atualiza o registro especificado com os campos especificados e executa o manipulador completion quando o registro é salvo.

    Se necessário, você pode decodificar os resultados de retorno em um modelo Codable personalizado ou usar a função NowTableService - paginador<Model: Decodable> (de tableName: cadeia de caracteres, caminho: cadeia de caracteres = Constants.resultPath, codificador: codificador = .default, configuração: FetchConfiguration? = nulo). Como alternativa, você pode usar a função de conveniência convertToRecords() para transformar dados em um objeto NowRecord. Veja a seguir como converter um fornecedor para emitir NowRecords:
    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myResult.convertToRecords()
    Nota:
    Nem todos os campos em um registro podem estar disponíveis para atualização. Por exemplo, os campos que têm um prefixo sys_ são normalmente parâmetros do sistema gerados automaticamente e não podem ser atualizados. Os campos que não são especificados e não são gerados automaticamente pelo sistema são definidos com o valor nulo do tipo de dados associado.
    Tabela 57. Parâmetros
    Nome Tipo Descrição
    sysId Cadeia de caracteres Sys_id do registro a ser retornado da instância ServiceNow.
    com campos [FieldName: FieldValue] Pares de nome-valor dos campos a serem incluídos no registro.
    em tableName Cadeia de caracteres Nome da tabela na qual os registros serão gravados, como incidente.
    opções de gravação OpçõesDeGravaçãoDeCampo Opcional. Opções de configuração a serem aplicadas aos dados que estão sendo gravados no registro.

    Padrão: nulo

    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 serão recuperados e o que será incluído nos campos.

    Padrão: nulo - Todos os registros retornados.

    conclusão @escaping (resultado<Data, NowDataError> ) Manipulador de conclusão a ser executado depois que os registros forem recuperados.
    Valores de retorno:
    • Sucesso: dados - Registros solicitados
    • Erro: NowDataError
      • accessToken(AccessTokenProviderError)
        • AccessTokenProviderError: o código ou a mensagem de erro do provedor de token de acesso.
          • accessTokenRetrievalFailed
          • userSessionError(_ erro: Erro)

        Lançado quando há um erro no token de acesso.

      • attachmentValidation

        Lançado quando um anexo falha na validação.

      • BadResponse(statusCode: HTTPStatusCode)
        • HTTPStatusCode: Código de status recebido da instância.

        Lançado quando uma solicitação retorna uma resposta inesperada

      • canDecodeModel(DecodingError)
        • DecodingError: erro de decodificação detectado.

        Lançado quando um modelo Codable não pode ser decodificado do JSON.

      • canDecodeProperty(tipo: qualquer, de: cadeia de caracteres)
        • type: tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
        • from: cadeia de caracteres a ser decodificada para o tipo especificado.

        Lançado quando um valor encapsulado em cadeia de caracteres não pode ser decodificado do JSON.

      • can'tEncodeModel(EncodingError)
        • EncodingError: erro de codificação detectado.

        Lançado quando um modelo Codable não pode ser codificado para JSON.

      • canParseResponse

        Lançado quando uma resposta da instância não pode ser analisada no formato esperado.

      • URL inválido

        Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres que são ilegais em um URL ou for uma cadeia de caracteres vazia.

      • ausenteAttachmentMetadata

        Lançado quando o cabeçalho de metadados do anexo está ausente.

      • ausenteConfiguraçãoDeServiço

        Lançado quando uma configuração de serviço esperada está ausente.

      • ausenteSysID

        Lançado quando um parâmetro sys_id esperado está ausente.

      • network(NetworkServiceError)
        • genericError(cadeia de caracteres)
        • operaçãoCancelada
        • serviço​Desabilitado
        • serverError(Erro)
        • systemError (Erro)

        Lançado quando um serviço de rede encontrou um erro.

    Tabela 58. Retorna
    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, in tableName: String, withfields: [FieldName: FieldValue], writeOptions: FieldWriteOptions? = nil, configuração: FieldReadConfiguration? = nil)

    Atualiza o registro especificado com os campos especificados.

    Nota:
    Este método foi descontinuado. Em vez disso, você deve usar a implementação assíncrona/aguardar do método.
    O O publicador emite dados que você pode decodificar em um modelo Codablepersonalizado ou também pode usar a função NowTableService - paginador<Model: Decodable> (de tableName: cadeia de caracteres, caminho: cadeia de caracteres = Constants.resultPath, codificador: codificador = .default, configuração: FetchConfiguration? = nulo). Como alternativa, você pode usar a função de conveniência convertToRecords() para transformar dados em um objeto NowRecord. Veja a seguir como converter um fornecedor para emitir NowRecords:
    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()
    Nota:
    Nem todos os campos em um registro podem estar disponíveis para atualização. Por exemplo, os campos que têm um prefixo sys_ são normalmente parâmetros do sistema gerados automaticamente e não podem ser atualizados. Os campos que não são especificados e não são gerados automaticamente pelo sistema são definidos com o valor nulo do tipo de dados associado.
    Tabela 59. Parâmetros
    Nome Tipo Descrição
    sysId Cadeia de caracteres Sys_id do registro a ser retornado da instância ServiceNow.
    com campos [FieldName: FieldValue] Pares de nome-valor dos campos a serem incluídos no registro.
    em tableName Cadeia de caracteres Nome da tabela na qual os registros serão gravados, como incidente.
    opções de gravação OpçõesDeGravaçãoDeCampo Opcional. Opções de configuração a serem aplicadas aos dados que estão sendo gravados no registro.

    Padrão: nulo

    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 serão recuperados e o que será incluído nos campos.

    Padrão: nulo - Todos os registros retornados.

    Tabela 60. Retorna
    Tipo Descrição
    Qualquer publicador<Data, NowDataError> Sucesso: objeto de dados que contém o registro atualizado.

    Falha: NowDataError

    • accessToken(AccessTokenProviderError)
      • AccessTokenProviderError: o código ou a mensagem de erro do provedor de token de acesso.
        • accessTokenRetrievalFailed
        • userSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • attachmentValidation

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCode: Código de status recebido da instância.

      Lançado quando uma solicitação retorna uma resposta inesperada

    • canDecodeModel(DecodingError)
      • DecodingError: erro de decodificação detectado.

      Lançado quando um modelo Codable não pode ser decodificado do JSON.

    • canDecodeProperty(tipo: qualquer, de: cadeia de caracteres)
      • type: tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • from: cadeia de caracteres a ser decodificada para o tipo especificado.

      Lançado quando um valor encapsulado em cadeia de caracteres não pode ser decodificado do JSON.

    • can'tEncodeModel(EncodingError)
      • EncodingError: erro de codificação detectado.

      Lançado quando um modelo Codable não pode ser codificado para JSON.

    • canParseResponse

      Lançado quando uma resposta da instância não pode ser analisada no formato esperado.

    • URL inválido

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres que são ilegais em um URL ou for uma cadeia de caracteres vazia.

    • ausenteAttachmentMetadata

      Lançado quando o cabeçalho de metadados do anexo está ausente.

    • ausenteConfiguraçãoDeServiço

      Lançado quando uma configuração de serviço esperada está ausente.

    • ausenteSysID

      Lançado quando um parâmetro sys_id esperado está ausente.

    • network(NetworkServiceError)
      • genericError(cadeia de caracteres)
      • operaçãoCancelada
      • serviço​Desabilitado
      • serverError(Erro)
      • systemError (Erro)

      Lançado quando um serviço de rede encontrou um erro.

    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)