---
sourceDocument: Référence de l’API Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - fr-FR

ft:publication_title :

    - Référence de l’API Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# Classe NowTableService : iOS

# Classe NowTableService : iOS {#ariaid-title1}

* Rversion finale: Xanadu
* 
* Mis à jour 1 août 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 78 minutes de lecture

La classe NowTableService fournit des fonctions qui vous permettent d'effectuer des opérations de création, de lecture, de mise à jour et de suppression sur des enregistrements de tables existantes ServiceNow .
{#NowTableServiceiOSAPI__table_vx2_klw_5pb__entry__3}

| Nom | Type | Description |
|-|-|-|
| configuration | [Configuration Now ServiceConfiguration](https://servicenow-prod.fluidtopics.net/V01HrOtfNsIM7_JMqFBMSg#NowServiceConfigurationiOSStruct "La structure NowServiceConfiguration définit les informations de configuration d’un service d’fonctionnalités.") | Paramètres de configuration fournis lors de l'initialisation du service. |
[Tableau 1. Propriétés]

{#NowTableServiceiOSAPI__table_vx2_klw_5pb}

## NowTableService : create\<Model : SysIdentifiableModel\>(_ model : Model, in tableName : String, coder : Coder, writeOptions : FieldWriteOptions, configuration : FetchConfiguration) Levées asynchrones {#ariaid-title2}

Insère le modèle codable spécifié dans la table spécifiée.
Pour créer un nouvel enregistrement par modèle, le modèle doit être conforme au protocole `SysIdentifiableModel` . Chaque table a généralement son propre modèle.

Le paramètre du modèle est ignoré lors de sys_Id la création, car il sysId est généré par la ServiceNow plateforme. La ServiceNow plateforme générée sys_Id est renvoyée dans le modèle de `résultat` du completion gestionnaire.
{#NTblServ-create-async_S_S_S_O_O__table_tqk_gsk_spb__entry__3}

| Nom | Type | Description |
|-|-|-|
| modèle | SysIdentifiableModel (en anglais seulement) | Définition du modèle des champs à insérer dans la table. |
| dans tableName | Chaîne | Nom de la table dans laquelle écrire les enregistrements , comme incident. |
| codeur | Codeur | Facultatif. `Codeur` à utiliser pour coder ou décoder les données envoyées et reçues de l'instance ServiceNow . Valeurs possibles : * default : Les encodeurs par défaut formatent les dates en utilisant le format `aaaa-MM-jj HH :mm :ss` en utilisant les `paramètres régionaux` et `TimeZone` de l'appareil. * personnalisé (JSONEncoder, JSONDecoder) : Utilisez des codeurs `personnalisés` pour avoir un contrôle plus précis sur le décodage/encodage JSON. Utilisez uniquement cette énumération pour fournir vos propres `JSONEncoder` et `JSONDecoder`, par exemple lorsque vous utilisez des formats de date, des fuseaux horaires ou des paramètres régionaux spéciaux. let myEncoder = JSONEncoder() myEncoder.dateFormat = ... let myDecoder = JSONDecoder() myDecoder.dateFormat = ... let coder: Coder = .custom(myEncoder, myDecoder) {#NTblServ-create-async_S_S_S_O_O__ul_nx3_wrd_sqb} Par défaut : .default |
| options d'écriture | [FieldWriteOptions (en anglais seulement)](https://servicenow-prod.fluidtopics.net/WzTNX046Uk0TViU1t353qA#FieldWriteOptionsiOSStruct "La classe FieldWriteOptions fournit des fonctions qui définissent les options de mise à jour ou de création de champs dans un enregistrement sur une ServiceNow instance.") | Facultatif. Options de configuration à appliquer aux données en cours d'écriture dans l'enregistrement. Par défaut : nul |
| configuration | [FetchConfiguration (Récupérer la configuration)](https://servicenow-prod.fluidtopics.net/5q8taQD5I2dzSerL6Ed_uA#FetchConfigiOSStructure "La structure FetchConfiguration permet de définir la configuration d’extraction des enregistrements à partir de votre ServiceNow instance.") | Facultatif. Configuration à appliquer aux enregistrements récupérés, y compris les filtres qui définissent les enregistrements à renvoyer, la limite de taille de page de pagination, les champs à récupérer et les éléments à inclure dans les champs. Par défaut : néant : tous les enregistrements renvoyés. |
[Tableau 2. Paramètres]

{#NTblServ-create-async_S_S_S_O_O__table_tqk_gsk_spb} {#NTblServ-create-async_S_S_S_O_O__table_uqk_gsk_spb__entry__2}

| Type | Description |
|-|-|
| Modèle | Renvoyé lorsque la méthode réussit. Modèle codable qui a été inséré dans la table spécifiée, y compris le sys_Id. Utilisez cette sys_id pour référencer cet enregistrement dans les futurs appels de méthode. |
| NowDataError (en anglais seulement) | Levée lorsque la méthode échoue. * `accessToken (AccessTokenProviderError)` * AccessTokenProviderError: code d'erreur ou message du fournisseur du jeton d'accès. * accessTokenRetrievalFailed * userSessionError(_ error : Erreur) Levée lorsqu'une erreur se produit dans le jeton d'accès. * `attachmentValidation` Levée lorsqu'une pièce jointe échoue à la validation. * `badResponse(statusCode : HTTPStatusCode)` * HTTPStatusCode: code d'état reçu de l'instance. Levée lorsqu'une demande renvoie une réponse inattendue * `cannotDecodeModel(DecodingError)` * DecodingError: erreur de décodage détectée. Levée lorsqu'un modèle codable ne peut pas être décodé à partir de JSON. * `cannotDecodeProperty(type : N'importe lequel, de : Chaîne)` * type: type enveloppé à décoder à partir d'une chaîne. * from: Chaîne à décoder vers le type spécifié. Levée lorsqu'une valeur enveloppée dans une chaîne ne peut pas être décodée à partir de JSON. * `cannotEncodeModel(EncodingError)` * EncodingError: Erreur d'encodage détectée. Levée lorsqu'un modèle codable ne peut pas être encodé en JSON. * `cannotParseResponse (en anglais seulement)` Levée lorsqu'une réponse de l'instance ne peut pas être analysée dans son format attendu. * `URL non valide` Levée lorsqu'une URL ne peut pas être formée. Par exemple, si la chaîne contient des caractères illégaux dans une URL ou est une chaîne vide. * `missingAttachmentMetadata` Levée lorsque l'en-tête des métadonnées de la pièce jointe est manquant. * `missingServiceConfiguration` Levée lorsqu'une configuration de service attendue est manquante. * `missingSysID` Levée lorsqu'un paramètre de sys_id attendu est manquant. * `réseau (NetworkServiceError)` * genericError(chaîne) * opérationannulée * serviceDisabled * serverError(Erreur) * systemError(Erreur) Levée lorsqu'un service réseau rencontre une erreur. {#NTblServ-create-async_S_S_S_O_O__NowDataErroriOS-ul-enum} |
[Tableau 3. Renvoie]

{#NTblServ-create-async_S_S_S_O_O__table_uqk_gsk_spb}  
L'exemple de code suivant montre comment appeler cette méthode.

    struct User: SysIdentifiableModel {
        var sysId: String = ""
        var name: String
    }

    let service: NowTableService = ...
    let user = User(name: "Ash Williams")
    do {
        let result = try await service.create(user, in: "sys_user")
    } catch {
        ...
    }

## NowTableService : create\<Model : SysIdentifiableModel\>(_ model : Model, in tableName : String, coder : Coder, writeOptions : FieldWriteOptions, configuration : FetchConfiguration, completion : @escaping (Result\<Model, NowDataError\>)) {#ariaid-title3}

Insère le modèle codable spécifié dans la table spécifiée, puis exécute le completion gestionnaire.
Pour créer un nouvel enregistrement par modèle, le modèle doit être conforme au protocole `SysIdentifiableModel` . Chaque table a généralement son propre modèle. Par exemple :

    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):
          ...
      }
    }

Le paramètre du modèle est ignoré lors de sys_Id la création, car il sysId est généré par la ServiceNow plateforme. La ServiceNow plateforme générée sys_Id est renvoyée dans le modèle de `résultat` du completion gestionnaire.
{#NTblServ-create_S_S_S_O_O_O__table_tqk_gsk_spb__entry__3}

| Nom | Type | Description |
|-|-|-|
| modèle | SysIdentifiableModel (en anglais seulement) | Définition du modèle des champs à insérer dans la table. |
| dans tableName | Chaîne | Nom de la table dans laquelle écrire les enregistrements , comme incident. |
| codeur | Codeur | Facultatif. `Codeur` à utiliser pour coder ou décoder les données envoyées et reçues de l'instance ServiceNow . Valeurs possibles : * default : Les encodeurs par défaut formatent les dates en utilisant le format `aaaa-MM-jj HH :mm :ss` en utilisant les `paramètres régionaux` et `TimeZone` de l'appareil. * personnalisé (JSONEncoder, JSONDecoder) : Utilisez des codeurs `personnalisés` pour avoir un contrôle plus précis sur le décodage/encodage JSON. Utilisez uniquement cette énumération pour fournir vos propres `JSONEncoder` et `JSONDecoder`, par exemple lorsque vous utilisez des formats de date, des fuseaux horaires ou des paramètres régionaux spéciaux. let myEncoder = JSONEncoder() myEncoder.dateFormat = ... let myDecoder = JSONDecoder() myDecoder.dateFormat = ... let coder: Coder = .custom(myEncoder, myDecoder) {#NTblServ-create_S_S_S_O_O_O__ul_nx3_wrd_sqb} Par défaut : .default |
| options d'écriture | [FieldWriteOptions (en anglais seulement)](https://servicenow-prod.fluidtopics.net/WzTNX046Uk0TViU1t353qA#FieldWriteOptionsiOSStruct "La classe FieldWriteOptions fournit des fonctions qui définissent les options de mise à jour ou de création de champs dans un enregistrement sur une ServiceNow instance.") | Facultatif. Options de configuration à appliquer aux données en cours d'écriture dans l'enregistrement. Par défaut : nul |
| configuration | [FetchConfiguration (Récupérer la configuration)](https://servicenow-prod.fluidtopics.net/5q8taQD5I2dzSerL6Ed_uA#FetchConfigiOSStructure "La structure FetchConfiguration permet de définir la configuration d’extraction des enregistrements à partir de votre ServiceNow instance.") | Facultatif. Configuration à appliquer aux enregistrements récupérés, y compris les filtres qui définissent les enregistrements à renvoyer, la limite de taille de page de pagination, les champs à récupérer et les éléments à inclure dans les champs. Par défaut : néant : tous les enregistrements renvoyés. |
| achèvement | @escaping (Result\<Model, NowDataError\>) | Gestionnaire de complétion à exécuter après avoir créé le ou les modèles décodables spécifiés. Valeurs de retour pour le gestionnaire de complétion : * Réussite : modèle : données pour le type de modèle créé. * Échec : NowDataError * `accessToken (AccessTokenProviderError)` * AccessTokenProviderError: code d'erreur ou message du fournisseur du jeton d'accès. * accessTokenRetrievalFailed * userSessionError(_ error : Erreur) Levée lorsqu'une erreur se produit dans le jeton d'accès. * `attachmentValidation` Levée lorsqu'une pièce jointe échoue à la validation. * `badResponse(statusCode : HTTPStatusCode)` * HTTPStatusCode: code d'état reçu de l'instance. Levée lorsqu'une demande renvoie une réponse inattendue * `cannotDecodeModel(DecodingError)` * DecodingError: erreur de décodage détectée. Levée lorsqu'un modèle codable ne peut pas être décodé à partir de JSON. * `cannotDecodeProperty(type : N'importe lequel, de : Chaîne)` * type: type enveloppé à décoder à partir d'une chaîne. * from: Chaîne à décoder vers le type spécifié. Levée lorsqu'une valeur enveloppée dans une chaîne ne peut pas être décodée à partir de JSON. * `cannotEncodeModel(EncodingError)` * EncodingError: Erreur d'encodage détectée. Levée lorsqu'un modèle codable ne peut pas être encodé en JSON. * `cannotParseResponse (en anglais seulement)` Levée lorsqu'une réponse de l'instance ne peut pas être analysée dans son format attendu. * `URL non valide` Levée lorsqu'une URL ne peut pas être formée. Par exemple, si la chaîne contient des caractères illégaux dans une URL ou est une chaîne vide. * `missingAttachmentMetadata` Levée lorsque l'en-tête des métadonnées de la pièce jointe est manquant. * `missingServiceConfiguration` Levée lorsqu'une configuration de service attendue est manquante. * `missingSysID` Levée lorsqu'un paramètre de sys_id attendu est manquant. * `réseau (NetworkServiceError)` * genericError(chaîne) * opérationannulée * serviceDisabled * serverError(Erreur) * systemError(Erreur) Levée lorsqu'un service réseau rencontre une erreur. {#NTblServ-create_S_S_S_O_O_O__NowDataErroriOS-ul-enum} {#NTblServ-create_S_S_S_O_O_O__ul_dpx_jvk_spb} |
[Tableau 4. Paramètres]

{#NTblServ-create_S_S_S_O_O_O__table_tqk_gsk_spb} {#NTblServ-create_S_S_S_O_O_O__table_uqk_gsk_spb__entry__2}

| Type | Description |
|-|-|
| Aucun |   |
[Tableau 5. Renvoie]

{#NTblServ-create_S_S_S_O_O_O__table_uqk_gsk_spb}  
<br />

    struct User: SysIdentifiableModel {
      var sysId: String = ""
      var name: String
    }

    let service: NowTableService = ...
    let user = User(name: "Ash Williams")
    service.create(Incident(fields: fields), in: tableName, writeOptions: writeOptions, configuration: fetchConfiguration) { [weak self] result in
      switch result {
      case .success(let newUser):
        /// 'newUser' contains the platform assigned 'sys_id' to use in subsequent update or delete calls.
      case .failure(let error):
       ...
      }
    }

## NowTableService -- create\<Model : SysIdentifiableModel\>(model : Model, in tableName : String, path : String = Constants.resultPath, coder : Coder = .default, writeOptions : FieldWriteOptions ? = nil, configuration : FetchConfiguration = nil) {#ariaid-title4}

Insère un modèle codable dans la table spécifiée.
Remarque :  
Cette méthode a été déconseillée. Vous devez utiliser l'implémentation async/await de la méthode à la place.  
Pour créer un nouvel enregistrement par modèle, le modèle doit être conforme au protocole `SysIdentifiableModel` . Chaque table a généralement son propre modèle. Par exemple :

    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):
          ...
      }
    }

Remarque :  
Le paramètre du modèle est ignoré lors de sys_Id la création. Le sysId est affecté par la ServiceNow plateforme. La ServiceNow plateforme générée est renvoyée dans le modèle de rappel `receiveValue` de sys_Id l'éditeur.
{#NTblServ-create_S_S_S_S_O_O__table_pnc_xkk_spb__entry__3}

| Nom | Type | Description |
|-|-|-|
| modèle | SysIdentifiableModel (en anglais seulement) | `Modèle SysIdentifiableModel` à insérer dans la table. |
| dans tableName | Chaîne | Nom de la table dans laquelle écrire les enregistrements , comme incident. |
| chemin d'accès | Chaîne | Facultatif. Chemin d'accès séparé par des points pour le type imbriqué. Par exemple, `result` ou `foo.bar.baz` pour une imbrication plus profonde. Par défaut : `Constants.resultPath` |
| codeur | Codeur | Facultatif. `Codeur` à utiliser pour coder ou décoder les données envoyées et reçues de l'instance ServiceNow . Valeurs possibles : * default : Les encodeurs par défaut formatent les dates en utilisant le format `aaaa-MM-jj HH :mm :ss` en utilisant les `paramètres régionaux` et `TimeZone` de l'appareil. * personnalisé (JSONEncoder, JSONDecoder) : Utilisez des codeurs `personnalisés` pour avoir un contrôle plus précis sur le décodage/encodage JSON. Utilisez uniquement cette énumération pour fournir vos propres `JSONEncoder` et `JSONDecoder`, par exemple lorsque vous utilisez des formats de date, des fuseaux horaires ou des paramètres régionaux spéciaux. let myEncoder = JSONEncoder() myEncoder.dateFormat = ... let myDecoder = JSONDecoder() myDecoder.dateFormat = ... let coder: Coder = .custom(myEncoder, myDecoder) {#NTblServ-create_S_S_S_S_O_O__ul_nx3_wrd_sqb} Par défaut : .default |
| options d'écriture | [FieldWriteOptions (en anglais seulement)](https://servicenow-prod.fluidtopics.net/WzTNX046Uk0TViU1t353qA#FieldWriteOptionsiOSStruct "La classe FieldWriteOptions fournit des fonctions qui définissent les options de mise à jour ou de création de champs dans un enregistrement sur une ServiceNow instance.") | Facultatif. Options de configuration à appliquer aux données en cours d'écriture dans l'enregistrement. Par défaut : nul |
| configuration | [FetchConfiguration (Récupérer la configuration)](https://servicenow-prod.fluidtopics.net/5q8taQD5I2dzSerL6Ed_uA#FetchConfigiOSStructure "La structure FetchConfiguration permet de définir la configuration d’extraction des enregistrements à partir de votre ServiceNow instance.") | Facultatif. Configuration à appliquer aux enregistrements récupérés, y compris les filtres qui définissent les enregistrements à renvoyer, la limite de taille de page de pagination, les champs à récupérer et les éléments à inclure dans les champs. Par défaut : néant : tous les enregistrements renvoyés. |
[Tableau 6. Paramètres]

{#NTblServ-create_S_S_S_S_O_O__table_pnc_xkk_spb} {#NTblServ-create_S_S_S_S_O_O__table_qnc_xkk_spb__entry__2}

| Type | Description |
|-|-|
| AnyPublisher\<Model,NowDataError\> | Réussite : modèle codable qui a été inséré dans la table spécifiée, y compris sys_Id. Utilisez cette sys_id pour référencer cet enregistrement dans les futurs appels de méthode. Échec : NowDataError @escaping (Result\<Model, NowDataError\>) |
[Tableau 7. Renvoie]

{#NTblServ-create_S_S_S_S_O_O__table_qnc_xkk_spb}  
Montre comment insérer un seul enregistrement dans la table Utilisateur \[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(avec les champs : \[FieldName : FieldValue\], dans tableName : String, writeOptions : FieldWriteOptions ? = nil, configuration : FieldReadConfiguration ? = nil) Levées asynchrones {#ariaid-title5}

Insère un enregistrement dans la table spécifiée qui contient les champs spécifiés.
Le Publisher émet des données que vous pouvez décoder dans un [modèle Codable](https://developer.apple.com/documentation/foundation/archives_and_serialization/encoding_and_decoding_custom_types) personnalisé, ou vous pouvez également utiliser la [NowTableService -- paginator\<Model : Decodable\>(from tableName : String, path : String = Constants.resultPath, coder : Coder = .default, configuration : FetchConfiguration ? = nil)](https://servicenow-prod.fluidtopics.net/M~2KJj16WkQ5ZkXLIqGWWw#NTblServ-paginator_S_S_S_O "Crée un paginateur qui active l’itération de pages de modèles décodés qui gèrent l’imbrication.") fonction. Vous pouvez également utiliser la fonction de commodité convertToRecords() pour transformer les données en un objet NowRecord. L'élément suivant montre comment convertir un éditeur pour qu'il émette des enregistrements Now :

    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()

Remarque :  
Tous les champs d'un enregistrement peuvent ne pas être disponibles pour la mise à jour. Par exemple, les champs dont le préfixe `est sys_` sont généralement des paramètres système générés automatiquement et qui ne peuvent pas être mis à jour. Les champs qui ne sont pas spécifiés et qui ne sont pas générés automatiquement par le système sont définis sur la valeur null du type de données associé.
{#NTblServ-createRecord-async_S_O_O__table_lww_l4j_ppb__entry__3}

| Nom | Type | Description |
|-|-|-|
| avec champs | \[FieldName : FieldValue\] | Paires nom-valeur des champs à inclure dans l'enregistrement. |
| dans tableName | Chaîne | Nom de la table dans laquelle écrire les enregistrements , comme incident. |
| options d'écriture | [FieldWriteOptions (en anglais seulement)](https://servicenow-prod.fluidtopics.net/WzTNX046Uk0TViU1t353qA#FieldWriteOptionsiOSStruct "La classe FieldWriteOptions fournit des fonctions qui définissent les options de mise à jour ou de création de champs dans un enregistrement sur une ServiceNow instance.") | Facultatif. Options de configuration à appliquer aux données en cours d'écriture dans l'enregistrement. Par défaut : nul |
| configuration | [FetchConfiguration (Récupérer la configuration)](https://servicenow-prod.fluidtopics.net/5q8taQD5I2dzSerL6Ed_uA#FetchConfigiOSStructure "La structure FetchConfiguration permet de définir la configuration d’extraction des enregistrements à partir de votre ServiceNow instance.") | Facultatif. Configuration à appliquer aux enregistrements récupérés, y compris les filtres qui définissent les enregistrements à renvoyer, la limite de taille de page de pagination, les champs à récupérer et les éléments à inclure dans les champs. Par défaut : néant : tous les enregistrements renvoyés. |
[Tableau 8. Paramètres]

{#NTblServ-createRecord-async_S_O_O__table_lww_l4j_ppb} {#NTblServ-createRecord-async_S_O_O__table_mww_l4j_ppb__entry__2}

| Type | Description |
|-|-|
| Données | Renvoyé lorsque la méthode réussit. Objet de données contenant le nouvel enregistrement. |
| NowDataError (en anglais seulement) | Levée lorsque la méthode échoue. * `accessToken (AccessTokenProviderError)` * AccessTokenProviderError: code d'erreur ou message du fournisseur du jeton d'accès. * accessTokenRetrievalFailed * userSessionError(_ error : Erreur) Levée lorsqu'une erreur se produit dans le jeton d'accès. * `attachmentValidation` Levée lorsqu'une pièce jointe échoue à la validation. * `badResponse(statusCode : HTTPStatusCode)` * HTTPStatusCode: code d'état reçu de l'instance. Levée lorsqu'une demande renvoie une réponse inattendue * `cannotDecodeModel(DecodingError)` * DecodingError: erreur de décodage détectée. Levée lorsqu'un modèle codable ne peut pas être décodé à partir de JSON. * `cannotDecodeProperty(type : N'importe lequel, de : Chaîne)` * type: type enveloppé à décoder à partir d'une chaîne. * from: Chaîne à décoder vers le type spécifié. Levée lorsqu'une valeur enveloppée dans une chaîne ne peut pas être décodée à partir de JSON. * `cannotEncodeModel(EncodingError)` * EncodingError: Erreur d'encodage détectée. Levée lorsqu'un modèle codable ne peut pas être encodé en JSON. * `cannotParseResponse (en anglais seulement)` Levée lorsqu'une réponse de l'instance ne peut pas être analysée dans son format attendu. * `URL non valide` Levée lorsqu'une URL ne peut pas être formée. Par exemple, si la chaîne contient des caractères illégaux dans une URL ou est une chaîne vide. * `missingAttachmentMetadata` Levée lorsque l'en-tête des métadonnées de la pièce jointe est manquant. * `missingServiceConfiguration` Levée lorsqu'une configuration de service attendue est manquante. * `missingSysID` Levée lorsqu'un paramètre de sys_id attendu est manquant. * `réseau (NetworkServiceError)` * genericError(chaîne) * opérationannulée * serviceDisabled * serverError(Erreur) * systemError(Erreur) Levée lorsqu'un service réseau rencontre une erreur. {#NTblServ-createRecord-async_S_O_O__NowDataErroriOS-ul-enum} |
[Tableau 9. Renvoie]

{#NTblServ-createRecord-async_S_O_O__table_mww_l4j_ppb}  
Les exemples de code suivants montrent comment appeler cette méthode.

    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(avec champs : \[FieldName : FieldValue\], dans tableName : String, writeOptions : FieldWriteOptions, configuration : FieldReadConfiguration, complétion : @escaping (Result\<Data, NowDataError\>) {#ariaid-title6}

Insère l'enregistrement spécifié dans la table spécifiée, puis exécute le completion gestionnaire une fois l'enregistrement enregistré.
Si nécessaire, vous pouvez décoder les résultats de retour dans un modèle Codable personnalisé ou utiliser la fonction à la [NowTableService -- paginator\<Model : Decodable\>(from tableName : String, path : String = Constants.resultPath, coder : Coder = .default, configuration : FetchConfiguration ? = nil)](https://servicenow-prod.fluidtopics.net/M~2KJj16WkQ5ZkXLIqGWWw#NTblServ-paginator_S_S_S_O "Crée un paginateur qui active l’itération de pages de modèles décodés qui gèrent l’imbrication.") place. Vous pouvez également utiliser la fonction de commodité convertToRecords() pour transformer les données en un objet NowRecord. L'élément suivant montre comment convertir un éditeur pour qu'il émette des enregistrements Now :

    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myResult.convertToRecords()

Remarque :  
Tous les champs d'un enregistrement peuvent ne pas être disponibles pour la mise à jour. Par exemple, les champs dont le préfixe `est sys_` sont généralement des paramètres système générés automatiquement et qui ne peuvent pas être mis à jour. Les champs qui ne sont pas spécifiés et qui ne sont pas générés automatiquement par le système sont définis sur la valeur null du type de données associé.
{#NTblServ-createRecord_S_O_O_O__table_vk3_yqj_ppb__entry__3}

| Nom | Type | Description |
|-|-|-|
| avec champs | \[FieldName : FieldValue\] | Paires nom-valeur des champs à inclure dans l'enregistrement. |
| dans tableName | Chaîne | Nom de la table dans laquelle écrire les enregistrements , comme incident. |
| options d'écriture | [FieldWriteOptions (en anglais seulement)](https://servicenow-prod.fluidtopics.net/WzTNX046Uk0TViU1t353qA#FieldWriteOptionsiOSStruct "La classe FieldWriteOptions fournit des fonctions qui définissent les options de mise à jour ou de création de champs dans un enregistrement sur une ServiceNow instance.") | Facultatif. Options de configuration à appliquer aux données en cours d'écriture dans l'enregistrement. Par défaut : nul |
| configuration | [Configuration de lecture de champ](https://servicenow-prod.fluidtopics.net/ZGhJJJizVooswg4xK8R7tw#FieldReadConfigurationiOSStruct "La structure FieldReadConfiguration vous permet de configurer les champs à extraire d’une table d’instance ServiceNow et dans quel format.") | Facultatif. Options de configuration qui spécifient les champs à renvoyer et les éléments à inclure dans les champs. Par défaut : nul |
| achèvement | @escaping (Result\<Data, NowDataError\>) | Gestionnaire de complétion à exécuter une fois les enregistrements récupérés. Valeurs de retour : * Réussite : données : enregistrements demandés * Erreur : NowDataError * `accessToken (AccessTokenProviderError)` * AccessTokenProviderError: code d'erreur ou message du fournisseur du jeton d'accès. * accessTokenRetrievalFailed * userSessionError(_ error : Erreur) Levée lorsqu'une erreur se produit dans le jeton d'accès. * `attachmentValidation` Levée lorsqu'une pièce jointe échoue à la validation. * `badResponse(statusCode : HTTPStatusCode)` * HTTPStatusCode: code d'état reçu de l'instance. Levée lorsqu'une demande renvoie une réponse inattendue * `cannotDecodeModel(DecodingError)` * DecodingError: erreur de décodage détectée. Levée lorsqu'un modèle codable ne peut pas être décodé à partir de JSON. * `cannotDecodeProperty(type : N'importe lequel, de : Chaîne)` * type: type enveloppé à décoder à partir d'une chaîne. * from: Chaîne à décoder vers le type spécifié. Levée lorsqu'une valeur enveloppée dans une chaîne ne peut pas être décodée à partir de JSON. * `cannotEncodeModel(EncodingError)` * EncodingError: Erreur d'encodage détectée. Levée lorsqu'un modèle codable ne peut pas être encodé en JSON. * `cannotParseResponse (en anglais seulement)` Levée lorsqu'une réponse de l'instance ne peut pas être analysée dans son format attendu. * `URL non valide` Levée lorsqu'une URL ne peut pas être formée. Par exemple, si la chaîne contient des caractères illégaux dans une URL ou est une chaîne vide. * `missingAttachmentMetadata` Levée lorsque l'en-tête des métadonnées de la pièce jointe est manquant. * `missingServiceConfiguration` Levée lorsqu'une configuration de service attendue est manquante. * `missingSysID` Levée lorsqu'un paramètre de sys_id attendu est manquant. * `réseau (NetworkServiceError)` * genericError(chaîne) * opérationannulée * serviceDisabled * serverError(Erreur) * systemError(Erreur) Levée lorsqu'un service réseau rencontre une erreur. {#NTblServ-createRecord_S_O_O_O__NowDataErroriOS-ul-enum} {#NTblServ-createRecord_S_O_O_O__ul_uzx_thj_ppb} |
[Tableau 10. Paramètres]

{#NTblServ-createRecord_S_O_O_O__table_vk3_yqj_ppb} {#NTblServ-createRecord_S_O_O_O__table_wk3_yqj_ppb__entry__2}

| Type | Description |
|-|-|
| Aucun |   |
[Tableau 11. Renvoie]

{#NTblServ-createRecord_S_O_O_O__table_wk3_yqj_ppb}  
L'exemple de code suivant montre comment appeler cette fonction.

    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(avec les champs : \[FieldName : FieldValue\], dans tableName : String, writeOptions : FieldWriteOptions ? = nil, configuration : FieldReadConfiguration ? = nil) {#ariaid-title7}

Insère un enregistrement dans la table spécifiée qui contient les champs spécifiés.
Remarque :  
Cette méthode a été déconseillée. Vous devez utiliser l'implémentation async/await de la méthode à la place.  
Le Publisher émet des données que vous pouvez décoder dans un [modèle Codable](https://developer.apple.com/documentation/foundation/archives_and_serialization/encoding_and_decoding_custom_types) personnalisé, ou vous pouvez également utiliser la [NowTableService -- paginator\<Model : Decodable\>(from tableName : String, path : String = Constants.resultPath, coder : Coder = .default, configuration : FetchConfiguration ? = nil)](https://servicenow-prod.fluidtopics.net/M~2KJj16WkQ5ZkXLIqGWWw#NTblServ-paginator_S_S_S_O "Crée un paginateur qui active l’itération de pages de modèles décodés qui gèrent l’imbrication.") fonction. Vous pouvez également utiliser la fonction de commodité convertToRecords() pour transformer les données en un objet NowRecord. L'élément suivant montre comment convertir un éditeur pour qu'il émette des enregistrements Now :

    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()

Remarque :  
Tous les champs d'un enregistrement peuvent ne pas être disponibles pour la mise à jour. Par exemple, les champs dont le préfixe `est sys_` sont généralement des paramètres système générés automatiquement et qui ne peuvent pas être mis à jour. Les champs qui ne sont pas spécifiés et qui ne sont pas générés automatiquement par le système sont définis sur la valeur null du type de données associé.
{#NTblServ-createRecord_S_O_O__table_lww_l4j_ppb__entry__3}

| Nom | Type | Description |
|-|-|-|
| avec champs | \[FieldName : FieldValue\] | Paires nom-valeur des champs à inclure dans l'enregistrement. |
| dans tableName | Chaîne | Nom de la table dans laquelle écrire les enregistrements , comme incident. |
| options d'écriture | [FieldWriteOptions (en anglais seulement)](https://servicenow-prod.fluidtopics.net/WzTNX046Uk0TViU1t353qA#FieldWriteOptionsiOSStruct "La classe FieldWriteOptions fournit des fonctions qui définissent les options de mise à jour ou de création de champs dans un enregistrement sur une ServiceNow instance.") | Facultatif. Options de configuration à appliquer aux données en cours d'écriture dans l'enregistrement. Par défaut : nul |
| configuration | [FetchConfiguration (Récupérer la configuration)](https://servicenow-prod.fluidtopics.net/5q8taQD5I2dzSerL6Ed_uA#FetchConfigiOSStructure "La structure FetchConfiguration permet de définir la configuration d’extraction des enregistrements à partir de votre ServiceNow instance.") | Facultatif. Configuration à appliquer aux enregistrements récupérés, y compris les filtres qui définissent les enregistrements à renvoyer, la limite de taille de page de pagination, les champs à récupérer et les éléments à inclure dans les champs. Par défaut : néant : tous les enregistrements renvoyés. |
[Tableau 12. Paramètres]

{#NTblServ-createRecord_S_O_O__table_lww_l4j_ppb} {#NTblServ-createRecord_S_O_O__table_mww_l4j_ppb__entry__2}

| Type | Description |
|-|-|
| AnyPublisher\<Data, NowDataError\> | Réussite : objet de données contenant l'enregistrement mis à jour. Échec : NowDataError * `accessToken (AccessTokenProviderError)` * AccessTokenProviderError: code d'erreur ou message du fournisseur du jeton d'accès. * accessTokenRetrievalFailed * userSessionError(_ error : Erreur) Levée lorsqu'une erreur se produit dans le jeton d'accès. * `attachmentValidation` Levée lorsqu'une pièce jointe échoue à la validation. * `badResponse(statusCode : HTTPStatusCode)` * HTTPStatusCode: code d'état reçu de l'instance. Levée lorsqu'une demande renvoie une réponse inattendue * `cannotDecodeModel(DecodingError)` * DecodingError: erreur de décodage détectée. Levée lorsqu'un modèle codable ne peut pas être décodé à partir de JSON. * `cannotDecodeProperty(type : N'importe lequel, de : Chaîne)` * type: type enveloppé à décoder à partir d'une chaîne. * from: Chaîne à décoder vers le type spécifié. Levée lorsqu'une valeur enveloppée dans une chaîne ne peut pas être décodée à partir de JSON. * `cannotEncodeModel(EncodingError)` * EncodingError: Erreur d'encodage détectée. Levée lorsqu'un modèle codable ne peut pas être encodé en JSON. * `cannotParseResponse (en anglais seulement)` Levée lorsqu'une réponse de l'instance ne peut pas être analysée dans son format attendu. * `URL non valide` Levée lorsqu'une URL ne peut pas être formée. Par exemple, si la chaîne contient des caractères illégaux dans une URL ou est une chaîne vide. * `missingAttachmentMetadata` Levée lorsque l'en-tête des métadonnées de la pièce jointe est manquant. * `missingServiceConfiguration` Levée lorsqu'une configuration de service attendue est manquante. * `missingSysID` Levée lorsqu'un paramètre de sys_id attendu est manquant. * `réseau (NetworkServiceError)` * genericError(chaîne) * opérationannulée * serviceDisabled * serverError(Erreur) * systemError(Erreur) Levée lorsqu'un service réseau rencontre une erreur. {#NTblServ-createRecord_S_O_O__NowDataErroriOS-ul-enum} |
[Tableau 13. Renvoie]

{#NTblServ-createRecord_S_O_O__table_mww_l4j_ppb}  
Cet exemple montre comment créer une fonction qui insère un enregistrement dans la table spécifiée, avec les champs spécifiés. La sortie de l'appel est un ByteArray qui vous permet de convertir les données dans n'importe quel modèle que vous voulez.

    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) lèvements asynchrones {#ariaid-title8}

Supprime le modèle codable spécifié de la table spécifiée.
{#NTblServ-delete-async_S_S__table_qvl_lzk_spb__entry__3}

| Nom | Type | Description |
|-|-|-|
| modèle | Modèle | `SysIdentifiableModel` à supprimer de la table. Il doit contenir le sys_id de l'enregistrement à supprimer. |
| à partir de tableName | Chaîne | Nom de la table à partir de laquelle supprimer les informations, comme incident. |
[Tableau 14. Paramètres]

{#NTblServ-delete-async_S_S__table_qvl_lzk_spb} {#NTblServ-delete-async_S_S__table_rvl_lzk_spb__entry__2}

| Type | Description |
|-|-|
| Aucun | Rien n'est renvoyé lorsque la méthode réussit. |
| NowDataError (en anglais seulement) | Levée lorsque la méthode échoue. * `accessToken (AccessTokenProviderError)` * AccessTokenProviderError: code d'erreur ou message du fournisseur du jeton d'accès. * accessTokenRetrievalFailed * userSessionError(_ error : Erreur) Levée lorsqu'une erreur se produit dans le jeton d'accès. * `attachmentValidation` Levée lorsqu'une pièce jointe échoue à la validation. * `badResponse(statusCode : HTTPStatusCode)` * HTTPStatusCode: code d'état reçu de l'instance. Levée lorsqu'une demande renvoie une réponse inattendue * `cannotDecodeModel(DecodingError)` * DecodingError: erreur de décodage détectée. Levée lorsqu'un modèle codable ne peut pas être décodé à partir de JSON. * `cannotDecodeProperty(type : N'importe lequel, de : Chaîne)` * type: type enveloppé à décoder à partir d'une chaîne. * from: Chaîne à décoder vers le type spécifié. Levée lorsqu'une valeur enveloppée dans une chaîne ne peut pas être décodée à partir de JSON. * `cannotEncodeModel(EncodingError)` * EncodingError: Erreur d'encodage détectée. Levée lorsqu'un modèle codable ne peut pas être encodé en JSON. * `cannotParseResponse (en anglais seulement)` Levée lorsqu'une réponse de l'instance ne peut pas être analysée dans son format attendu. * `URL non valide` Levée lorsqu'une URL ne peut pas être formée. Par exemple, si la chaîne contient des caractères illégaux dans une URL ou est une chaîne vide. * `missingAttachmentMetadata` Levée lorsque l'en-tête des métadonnées de la pièce jointe est manquant. * `missingServiceConfiguration` Levée lorsqu'une configuration de service attendue est manquante. * `missingSysID` Levée lorsqu'un paramètre de sys_id attendu est manquant. * `réseau (NetworkServiceError)` * genericError(chaîne) * opérationannulée * serviceDisabled * serverError(Erreur) * systemError(Erreur) Levée lorsqu'un service réseau rencontre une erreur. {#NTblServ-delete-async_S_S__NowDataErroriOS-ul-enum} |
[Tableau 15. Renvoie]

{#NTblServ-delete-async_S_S__table_rvl_lzk_spb}  
Les exemples de code suivants montrent comment appeler cette méthode.

    do { 
        try await tableService.delete(model, from: tableName)
        print("Deletion successful.")
    } catch {
        print("Deletion failed with NowDataError: \(error)")
    }

## NowTableService : delete(_ model : Model, from tableName : String, completion : @escaping (Result\<Void, NowDataError\>)) {#ariaid-title9}

Supprime le modèle codable spécifié de la table spécifiée, puis exécute le gestionnaire approprié completion .
{#NTblServ-delete_S_S_O__table_zss_k1l_spb__entry__3}

| Nom | Type | Description |
|-|-|-|
| modèle | Modèle | `SysIdentifiableModel` à supprimer de la table. Il doit contenir le sys_id de l'enregistrement à supprimer. |
| à partir de tableName | Chaîne | Nom de la table à partir de laquelle supprimer les informations, comme incident. |
| achèvement | @escaping (résultat\<vide, NowDataError\>) | Gestionnaire de complétion à exécuter après la suppression du ou des modèles codables spécifiés. Valeurs de retour : * Réussite : aucun retour * Échec : NowDataError * `accessToken (AccessTokenProviderError)` * AccessTokenProviderError: code d'erreur ou message du fournisseur du jeton d'accès. * accessTokenRetrievalFailed * userSessionError(_ error : Erreur) Levée lorsqu'une erreur se produit dans le jeton d'accès. * `attachmentValidation` Levée lorsqu'une pièce jointe échoue à la validation. * `badResponse(statusCode : HTTPStatusCode)` * HTTPStatusCode: code d'état reçu de l'instance. Levée lorsqu'une demande renvoie une réponse inattendue * `cannotDecodeModel(DecodingError)` * DecodingError: erreur de décodage détectée. Levée lorsqu'un modèle codable ne peut pas être décodé à partir de JSON. * `cannotDecodeProperty(type : N'importe lequel, de : Chaîne)` * type: type enveloppé à décoder à partir d'une chaîne. * from: Chaîne à décoder vers le type spécifié. Levée lorsqu'une valeur enveloppée dans une chaîne ne peut pas être décodée à partir de JSON. * `cannotEncodeModel(EncodingError)` * EncodingError: Erreur d'encodage détectée. Levée lorsqu'un modèle codable ne peut pas être encodé en JSON. * `cannotParseResponse (en anglais seulement)` Levée lorsqu'une réponse de l'instance ne peut pas être analysée dans son format attendu. * `URL non valide` Levée lorsqu'une URL ne peut pas être formée. Par exemple, si la chaîne contient des caractères illégaux dans une URL ou est une chaîne vide. * `missingAttachmentMetadata` Levée lorsque l'en-tête des métadonnées de la pièce jointe est manquant. * `missingServiceConfiguration` Levée lorsqu'une configuration de service attendue est manquante. * `missingSysID` Levée lorsqu'un paramètre de sys_id attendu est manquant. * `réseau (NetworkServiceError)` * genericError(chaîne) * opérationannulée * serviceDisabled * serverError(Erreur) * systemError(Erreur) Levée lorsqu'un service réseau rencontre une erreur. {#NTblServ-delete_S_S_O__NowDataErroriOS-ul-enum} {#NTblServ-delete_S_S_O__ul_dpx_jvk_spb} |
[Tableau 16. Paramètres]

{#NTblServ-delete_S_S_O__table_zss_k1l_spb} {#NTblServ-delete_S_S_O__table_ats_k1l_spb__entry__2}

| Type | Description |
|-|-|
| Aucun |   |
[Tableau 17. Renvoie]

{#NTblServ-delete_S_S_O__table_ats_k1l_spb}  
L'exemple de code suivant montre comment appeler cette fonction.

    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) {#ariaid-title10}

Supprime le modèle codable spécifié de la table spécifiée.
Remarque :  
Cette méthode a été déconseillée. Vous devez utiliser l'implémentation async/await de la méthode à la place.
{#NTblServ-delete_S_S__table_qvl_lzk_spb__entry__3}

| Nom | Type | Description |
|-|-|-|
| modèle | Modèle | `SysIdentifiableModel` à supprimer de la table. Il doit contenir le sys_id de l'enregistrement à supprimer. |
| à partir de tableName | Chaîne | Nom de la table à partir de laquelle supprimer les informations, comme incident. |
[Tableau 18. Paramètres]

{#NTblServ-delete_S_S__table_qvl_lzk_spb} {#NTblServ-delete_S_S__table_rvl_lzk_spb__entry__2}

| Type | Description |
|-|-|
| AnyPublisher\<Void, NowDataError\> | Réussite : aucun retour Échec : NowDataError * `accessToken (AccessTokenProviderError)` * AccessTokenProviderError: code d'erreur ou message du fournisseur du jeton d'accès. * accessTokenRetrievalFailed * userSessionError(_ error : Erreur) Levée lorsqu'une erreur se produit dans le jeton d'accès. * `attachmentValidation` Levée lorsqu'une pièce jointe échoue à la validation. * `badResponse(statusCode : HTTPStatusCode)` * HTTPStatusCode: code d'état reçu de l'instance. Levée lorsqu'une demande renvoie une réponse inattendue * `cannotDecodeModel(DecodingError)` * DecodingError: erreur de décodage détectée. Levée lorsqu'un modèle codable ne peut pas être décodé à partir de JSON. * `cannotDecodeProperty(type : N'importe lequel, de : Chaîne)` * type: type enveloppé à décoder à partir d'une chaîne. * from: Chaîne à décoder vers le type spécifié. Levée lorsqu'une valeur enveloppée dans une chaîne ne peut pas être décodée à partir de JSON. * `cannotEncodeModel(EncodingError)` * EncodingError: Erreur d'encodage détectée. Levée lorsqu'un modèle codable ne peut pas être encodé en JSON. * `cannotParseResponse (en anglais seulement)` Levée lorsqu'une réponse de l'instance ne peut pas être analysée dans son format attendu. * `URL non valide` Levée lorsqu'une URL ne peut pas être formée. Par exemple, si la chaîne contient des caractères illégaux dans une URL ou est une chaîne vide. * `missingAttachmentMetadata` Levée lorsque l'en-tête des métadonnées de la pièce jointe est manquant. * `missingServiceConfiguration` Levée lorsqu'une configuration de service attendue est manquante. * `missingSysID` Levée lorsqu'un paramètre de sys_id attendu est manquant. * `réseau (NetworkServiceError)` * genericError(chaîne) * opérationannulée * serviceDisabled * serverError(Erreur) * systemError(Erreur) Levée lorsqu'un service réseau rencontre une erreur. {#NTblServ-delete_S_S__NowDataErroriOS-ul-enum} |
[Tableau 19. Renvoie]

{#NTblServ-delete_S_S__table_rvl_lzk_spb}  
L'exemple de code suivant montre comment appeler cette fonction.

    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) lèvements asynchrones {#ariaid-title11}

Supprime l'enregistrement spécifié de la table spécifiée.
{#NTblServ-deleteRecord-async_S_S__table_nvk_2vj_ppb__entry__3}

| Nom | Type | Description |
|-|-|-|
| sysId | Chaîne | Sys_id de l'enregistrement à supprimer. |
| à partir de tableName | Chaîne | Nom de la table à partir de laquelle supprimer les informations, comme incident. |
[Tableau 20. Paramètres]

{#NTblServ-deleteRecord-async_S_S__table_nvk_2vj_ppb} {#NTblServ-deleteRecord-async_S_S__table_ovk_2vj_ppb__entry__2}

| Type | Description |
|-|-|
| Aucun | Rien n'est renvoyé lorsque la méthode réussit. |
| NowDataError (en anglais seulement) | Levée lorsque la méthode échoue. * `accessToken (AccessTokenProviderError)` * AccessTokenProviderError: code d'erreur ou message du fournisseur du jeton d'accès. * accessTokenRetrievalFailed * userSessionError(_ error : Erreur) Levée lorsqu'une erreur se produit dans le jeton d'accès. * `attachmentValidation` Levée lorsqu'une pièce jointe échoue à la validation. * `badResponse(statusCode : HTTPStatusCode)` * HTTPStatusCode: code d'état reçu de l'instance. Levée lorsqu'une demande renvoie une réponse inattendue * `cannotDecodeModel(DecodingError)` * DecodingError: erreur de décodage détectée. Levée lorsqu'un modèle codable ne peut pas être décodé à partir de JSON. * `cannotDecodeProperty(type : N'importe lequel, de : Chaîne)` * type: type enveloppé à décoder à partir d'une chaîne. * from: Chaîne à décoder vers le type spécifié. Levée lorsqu'une valeur enveloppée dans une chaîne ne peut pas être décodée à partir de JSON. * `cannotEncodeModel(EncodingError)` * EncodingError: Erreur d'encodage détectée. Levée lorsqu'un modèle codable ne peut pas être encodé en JSON. * `cannotParseResponse (en anglais seulement)` Levée lorsqu'une réponse de l'instance ne peut pas être analysée dans son format attendu. * `URL non valide` Levée lorsqu'une URL ne peut pas être formée. Par exemple, si la chaîne contient des caractères illégaux dans une URL ou est une chaîne vide. * `missingAttachmentMetadata` Levée lorsque l'en-tête des métadonnées de la pièce jointe est manquant. * `missingServiceConfiguration` Levée lorsqu'une configuration de service attendue est manquante. * `missingSysID` Levée lorsqu'un paramètre de sys_id attendu est manquant. * `réseau (NetworkServiceError)` * genericError(chaîne) * opérationannulée * serviceDisabled * serverError(Erreur) * systemError(Erreur) Levée lorsqu'un service réseau rencontre une erreur. {#NTblServ-deleteRecord-async_S_S__NowDataErroriOS-ul-enum} |
[Tableau 21. Renvoie]

{#NTblServ-deleteRecord-async_S_S__table_ovk_2vj_ppb}  
Les exemples de code suivants montrent comment appeler cette méthode.

    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 : String, completion : @escaping (Result\<Void, NowDataError\>)) {#ariaid-title12}

Supprime l'enregistrement spécifié de la table spécifiée, puis exécute l'objet completion une fois l'enregistrement supprimé.
{#NTblServ-deleteRecord_S_S_O__table_krx_yvj_ppb__entry__3}

| Nom | Type | Description |
|-|-|-|
| sysId | Chaîne | Sys_id de l'enregistrement à supprimer. |
| à partir de tableName | Chaîne | Nom de la table à partir de laquelle supprimer les informations, comme incident. |
| achèvement | @escaping (résultat\<vide, NowDataError\>) | Réussite : rien n'est retourné. Échec : NowDataError * `accessToken (AccessTokenProviderError)` * AccessTokenProviderError: code d'erreur ou message du fournisseur du jeton d'accès. * accessTokenRetrievalFailed * userSessionError(_ error : Erreur) Levée lorsqu'une erreur se produit dans le jeton d'accès. * `attachmentValidation` Levée lorsqu'une pièce jointe échoue à la validation. * `badResponse(statusCode : HTTPStatusCode)` * HTTPStatusCode: code d'état reçu de l'instance. Levée lorsqu'une demande renvoie une réponse inattendue * `cannotDecodeModel(DecodingError)` * DecodingError: erreur de décodage détectée. Levée lorsqu'un modèle codable ne peut pas être décodé à partir de JSON. * `cannotDecodeProperty(type : N'importe lequel, de : Chaîne)` * type: type enveloppé à décoder à partir d'une chaîne. * from: Chaîne à décoder vers le type spécifié. Levée lorsqu'une valeur enveloppée dans une chaîne ne peut pas être décodée à partir de JSON. * `cannotEncodeModel(EncodingError)` * EncodingError: Erreur d'encodage détectée. Levée lorsqu'un modèle codable ne peut pas être encodé en JSON. * `cannotParseResponse (en anglais seulement)` Levée lorsqu'une réponse de l'instance ne peut pas être analysée dans son format attendu. * `URL non valide` Levée lorsqu'une URL ne peut pas être formée. Par exemple, si la chaîne contient des caractères illégaux dans une URL ou est une chaîne vide. * `missingAttachmentMetadata` Levée lorsque l'en-tête des métadonnées de la pièce jointe est manquant. * `missingServiceConfiguration` Levée lorsqu'une configuration de service attendue est manquante. * `missingSysID` Levée lorsqu'un paramètre de sys_id attendu est manquant. * `réseau (NetworkServiceError)` * genericError(chaîne) * opérationannulée * serviceDisabled * serverError(Erreur) * systemError(Erreur) Levée lorsqu'un service réseau rencontre une erreur. {#NTblServ-deleteRecord_S_S_O__NowDataErroriOS-ul-enum} |
[Tableau 22. Paramètres]

{#NTblServ-deleteRecord_S_S_O__table_krx_yvj_ppb} {#NTblServ-deleteRecord_S_S_O__table_lrx_yvj_ppb__entry__2}

| Type | Description |
|-|-|
| Aucun |   |
[Tableau 23. Renvoie]

{#NTblServ-deleteRecord_S_S_O__table_lrx_yvj_ppb}  
L'exemple de code suivant montre comment appeler cette fonction.

    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 : String) {#ariaid-title13}

Supprime l'enregistrement spécifié de la table spécifiée.
Remarque :  
Cette méthode a été déconseillée. Vous devez utiliser l'implémentation async/await de la méthode à la place.
{#NTblServ-deleteRecord_S_S__table_nvk_2vj_ppb__entry__3}

| Nom | Type | Description |
|-|-|-|
| sysId | Chaîne | Sys_id de l'enregistrement à supprimer. |
| à partir de tableName | Chaîne | Nom de la table à partir de laquelle supprimer les informations, comme incident. |
[Tableau 24. Paramètres]

{#NTblServ-deleteRecord_S_S__table_nvk_2vj_ppb} {#NTblServ-deleteRecord_S_S__table_ovk_2vj_ppb__entry__2}

| Type | Description |
|-|-|
| AnyPublisher\<Void, NowDataError\> | Réussite : aucun retour Échec : NowDataError * `accessToken (AccessTokenProviderError)` * AccessTokenProviderError: code d'erreur ou message du fournisseur du jeton d'accès. * accessTokenRetrievalFailed * userSessionError(_ error : Erreur) Levée lorsqu'une erreur se produit dans le jeton d'accès. * `attachmentValidation` Levée lorsqu'une pièce jointe échoue à la validation. * `badResponse(statusCode : HTTPStatusCode)` * HTTPStatusCode: code d'état reçu de l'instance. Levée lorsqu'une demande renvoie une réponse inattendue * `cannotDecodeModel(DecodingError)` * DecodingError: erreur de décodage détectée. Levée lorsqu'un modèle codable ne peut pas être décodé à partir de JSON. * `cannotDecodeProperty(type : N'importe lequel, de : Chaîne)` * type: type enveloppé à décoder à partir d'une chaîne. * from: Chaîne à décoder vers le type spécifié. Levée lorsqu'une valeur enveloppée dans une chaîne ne peut pas être décodée à partir de JSON. * `cannotEncodeModel(EncodingError)` * EncodingError: Erreur d'encodage détectée. Levée lorsqu'un modèle codable ne peut pas être encodé en JSON. * `cannotParseResponse (en anglais seulement)` Levée lorsqu'une réponse de l'instance ne peut pas être analysée dans son format attendu. * `URL non valide` Levée lorsqu'une URL ne peut pas être formée. Par exemple, si la chaîne contient des caractères illégaux dans une URL ou est une chaîne vide. * `missingAttachmentMetadata` Levée lorsque l'en-tête des métadonnées de la pièce jointe est manquant. * `missingServiceConfiguration` Levée lorsqu'une configuration de service attendue est manquante. * `missingSysID` Levée lorsqu'un paramètre de sys_id attendu est manquant. * `réseau (NetworkServiceError)` * genericError(chaîne) * opérationannulée * serviceDisabled * serverError(Erreur) * systemError(Erreur) Levée lorsqu'un service réseau rencontre une erreur. {#NTblServ-deleteRecord_S_S__NowDataErroriOS-ul-enum} |
[Tableau 25. Renvoie]

{#NTblServ-deleteRecord_S_S__table_ovk_2vj_ppb}  
Cet exemple montre comment créer une fonction qui supprime un enregistrement dans une table spécifiée.

    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) {#ariaid-title14}

Crée un objet NowTableService.
{#NTblServ-init_S_S__table_djd_fv3_ppb__entry__3}

| Nom | Type | Description |
|-|-|-|
| configuration | [Configuration Now ServiceConfiguration](https://servicenow-prod.fluidtopics.net/V01HrOtfNsIM7_JMqFBMSg#NowServiceConfigurationiOSStruct "La structure NowServiceConfiguration définit les informations de configuration d’un service d’fonctionnalités.") | Paramètres de configuration à utiliser lors de la création du service. |
| coreServiceProvider (en anglais seulement) | NowCoreServiceProviding | Facultatif. Fournisseur de service à associer à NowTableService. Par défaut : nul |
[Tableau 26. Paramètres]

{#NTblServ-init_S_S__table_djd_fv3_ppb}  
L'exemple de code suivant montre comment appeler cette fonction.

    guard let coreService = NowSDK.core() else {
      // Error with NowServiceError.sdkNotConfigured
      return
    }

    guard 
      let instanceUrl = URL(string: "http://sample.service-now.com") , 
      let serviceConfig = NowSDK.makeServiceConfiguration(for: instanceUrl) else {
        // Could not create service -- 
        // NowServiceError.serviceConfigurationInvalid
        return
      }
    let tableService = NowTableService (configuration: serviceConfig, coreServiceProvider: coreService)

## NowTableService -- model\<Model : Decodable\>(with sysId : SysID ? = nil, from tableName : String, path : String = Constants.resultPath, coder : Coder = .default, configuration : FetchConfiguration ? = nil) Levées asynchrones {#ariaid-title15}

Active la récupération d'un ou de plusieurs modèles décodables à partir d'une table spécifiée.
Table Les réponses d'API sont imbriquées à l'intérieur d'un result paramètre similaire à ce qui suit :

    {
      "result": [
        { "name": "Ash Williams" },
        { "name": "Lionel Cosgrove" },
        { "name": "Laurie Strode" }
      ]
    }

Pour les jeux de résultats volumineux, [NowTableService : paginator(from tableName : String, configuration : FetchConfiguration ? = nil)](https://servicenow-prod.fluidtopics.net/M~2KJj16WkQ5ZkXLIqGWWw#NTblServ-paginator_S_O "Crée un paginateur qui permet l’itération à travers les pages d’enregistrements.") utilisez l'une des fonctions de pagination ou [NowTableService -- paginator\<Model : Decodable\>(from tableName : String, path : String = Constants.resultPath, coder : Coder = .default, configuration : FetchConfiguration ? = nil)](https://servicenow-prod.fluidtopics.net/M~2KJj16WkQ5ZkXLIqGWWw#NTblServ-paginator_S_S_S_O "Crée un paginateur qui active l’itération de pages de modèles décodés qui gèrent l’imbrication.") pour extraire des modèles paginés.
{#NTblServ-model-async_S_S_S_S_O__table_nbq_yyj_spb__entry__3}{#NTblServ-model-async_S_S_S_S_O__mobilesdkiOS-tableName-entry}

| Nom | Type | Description |
|-|-|-|
| avec sysId | SysID | Facultatif. Sys_id de l'enregistrement à renvoyer. Fournissez le sys_id si vous souhaitez récupérer un enregistrement spécifique. Par défaut : nul |
| à partir de tableName | Chaîne | Nom de la table à partir de laquelle récupérer les enregistrements , comme incident. |
| chemin d'accès | Chaîne | Chemin d'accès séparé par des points pour le type imbriqué. Par exemple, `result` ou `foo.bar.baz` pour une imbrication plus profonde. Par défaut : `résultat` |
| codeur | Codeur | Facultatif. `Codeur` à utiliser pour coder ou décoder les données envoyées et reçues de l'instance ServiceNow . Valeurs possibles : * default : Les encodeurs par défaut formatent les dates en utilisant le format `aaaa-MM-jj HH :mm :ss` en utilisant les `paramètres régionaux` et `TimeZone` de l'appareil. * personnalisé (JSONEncoder, JSONDecoder) : Utilisez des codeurs `personnalisés` pour avoir un contrôle plus précis sur le décodage/encodage JSON. Utilisez uniquement cette énumération pour fournir vos propres `JSONEncoder` et `JSONDecoder`, par exemple lorsque vous utilisez des formats de date, des fuseaux horaires ou des paramètres régionaux spéciaux. let myEncoder = JSONEncoder() myEncoder.dateFormat = ... let myDecoder = JSONDecoder() myDecoder.dateFormat = ... let coder: Coder = .custom(myEncoder, myDecoder) {#NTblServ-model-async_S_S_S_S_O__ul_nx3_wrd_sqb} Par défaut : .default |
| configuration | [FetchConfiguration (Récupérer la configuration)](https://servicenow-prod.fluidtopics.net/5q8taQD5I2dzSerL6Ed_uA#FetchConfigiOSStructure "La structure FetchConfiguration permet de définir la configuration d’extraction des enregistrements à partir de votre ServiceNow instance.") | Facultatif. Configuration à appliquer aux enregistrements récupérés, y compris les filtres qui définissent les enregistrements à renvoyer, la limite de taille de page de pagination, les champs à récupérer et les éléments à inclure dans les champs. Par défaut : néant : tous les enregistrements renvoyés. |
[Tableau 27. Paramètres]

{#NTblServ-model-async_S_S_S_S_O__table_nbq_yyj_spb} {#NTblServ-model-async_S_S_S_S_O__table_obq_yyj_spb__entry__2}

| Type | Description |
|-|-|
| Modèle | Renvoyé lorsque la méthode réussit. Modèle(s) décodable(s). |
| NowDataError (en anglais seulement) | Levée lorsque la méthode échoue. * `accessToken (AccessTokenProviderError)` * AccessTokenProviderError: code d'erreur ou message du fournisseur du jeton d'accès. * accessTokenRetrievalFailed * userSessionError(_ error : Erreur) Levée lorsqu'une erreur se produit dans le jeton d'accès. * `attachmentValidation` Levée lorsqu'une pièce jointe échoue à la validation. * `badResponse(statusCode : HTTPStatusCode)` * HTTPStatusCode: code d'état reçu de l'instance. Levée lorsqu'une demande renvoie une réponse inattendue * `cannotDecodeModel(DecodingError)` * DecodingError: erreur de décodage détectée. Levée lorsqu'un modèle codable ne peut pas être décodé à partir de JSON. * `cannotDecodeProperty(type : N'importe lequel, de : Chaîne)` * type: type enveloppé à décoder à partir d'une chaîne. * from: Chaîne à décoder vers le type spécifié. Levée lorsqu'une valeur enveloppée dans une chaîne ne peut pas être décodée à partir de JSON. * `cannotEncodeModel(EncodingError)` * EncodingError: Erreur d'encodage détectée. Levée lorsqu'un modèle codable ne peut pas être encodé en JSON. * `cannotParseResponse (en anglais seulement)` Levée lorsqu'une réponse de l'instance ne peut pas être analysée dans son format attendu. * `URL non valide` Levée lorsqu'une URL ne peut pas être formée. Par exemple, si la chaîne contient des caractères illégaux dans une URL ou est une chaîne vide. * `missingAttachmentMetadata` Levée lorsque l'en-tête des métadonnées de la pièce jointe est manquant. * `missingServiceConfiguration` Levée lorsqu'une configuration de service attendue est manquante. * `missingSysID` Levée lorsqu'un paramètre de sys_id attendu est manquant. * `réseau (NetworkServiceError)` * genericError(chaîne) * opérationannulée * serviceDisabled * serverError(Erreur) * systemError(Erreur) Levée lorsqu'un service réseau rencontre une erreur. {#NTblServ-model-async_S_S_S_S_O__NowDataErroriOS-ul-enum} |
[Tableau 28. Renvoie]

{#NTblServ-model-async_S_S_S_S_O__table_obq_yyj_spb}  
L'exemple de code suivant montre comment appeler cette méthode.

    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) 
    }

L'exemple de code suivant montre comment extraire un seul modèle décodable par sys_id. Utilisez un seul type de modèle, tel que `Utilisateur.self`, plutôt que `[Utilisateur].soi`.

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

## NowTableService : model\<Model : Decodable\>(_ type : Model.Type, with sysId : SysID ? = nil, from tableName : String, path : String = Constants.resultPath, coder : Coder = .default, configuration : FetchConfiguration ? = nil, complétion : @escaping (Result\<Model, NowDataError\>)) {#ariaid-title16}

Récupère le(s) modèle(s) décodable(s) à partir d'une table spécifiée.
Table Les réponses d'API sont imbriquées à l'intérieur d'un result paramètre similaire à ce qui suit :

    {
      "result": [
        { "name": "Ash Williams" },
        { "name": "Lionel Cosgrove" },
        { "name": "Laurie Strode" }
      ]
    }

Utilisez cette fonction pour obtenir des modèles décodables au lieu d'une sortie imbriquée.
{#NTblServ-model_S_S_S_S_S_O_O__table_trc_vfk_spb__entry__3}{#NTblServ-model_S_S_S_S_S_O_O__mobilesdkiOS-tableName-entry}

| Nom | Type | Description |
|-|-|-|
| type | Type.Modèle | Type de valeur à décoder. |
| avec sysId | Chaîne | Facultatif. Sys_id de l'enregistrement à renvoyer. Par défaut : tous les enregistrements renvoyés selon les configuration paramètres. |
| à partir de tableName | Chaîne | Nom de la table à partir de laquelle récupérer les enregistrements , comme incident. |
| chemin d'accès | Chaîne | Facultatif. Chemin d'accès séparé par des points pour le type imbriqué. Par exemple, `result` ou `foo.bar.baz` pour une imbrication plus profonde. Par défaut : `Constants.resultPath` |
| codeur | Codeur | Facultatif. `Codeur` à utiliser pour coder ou décoder les données envoyées et reçues de l'instance ServiceNow . Par défaut : `.default` |
| configuration | [FetchConfiguration (Récupérer la configuration)](https://servicenow-prod.fluidtopics.net/5q8taQD5I2dzSerL6Ed_uA#FetchConfigiOSStructure "La structure FetchConfiguration permet de définir la configuration d’extraction des enregistrements à partir de votre ServiceNow instance.") | Facultatif. Configuration à appliquer aux enregistrements récupérés, y compris les filtres qui définissent les enregistrements à renvoyer, la limite de taille de page de pagination, les champs à récupérer et les éléments à inclure dans les champs. Par défaut : néant : tous les enregistrements renvoyés. |
| achèvement | @escaping (Result\<Model, NowDataError\>) | Gestionnaire de complétion à exécuter après avoir récupéré le ou les modèles décodables spécifiés. Valeurs de retour pour le gestionnaire de complétion : * Réussite : données pour le type de modèle demandé. * Échec : NowDataError * `accessToken (AccessTokenProviderError)` * AccessTokenProviderError: code d'erreur ou message du fournisseur du jeton d'accès. * accessTokenRetrievalFailed * userSessionError(_ error : Erreur) Levée lorsqu'une erreur se produit dans le jeton d'accès. * `attachmentValidation` Levée lorsqu'une pièce jointe échoue à la validation. * `badResponse(statusCode : HTTPStatusCode)` * HTTPStatusCode: code d'état reçu de l'instance. Levée lorsqu'une demande renvoie une réponse inattendue * `cannotDecodeModel(DecodingError)` * DecodingError: erreur de décodage détectée. Levée lorsqu'un modèle codable ne peut pas être décodé à partir de JSON. * `cannotDecodeProperty(type : N'importe lequel, de : Chaîne)` * type: type enveloppé à décoder à partir d'une chaîne. * from: Chaîne à décoder vers le type spécifié. Levée lorsqu'une valeur enveloppée dans une chaîne ne peut pas être décodée à partir de JSON. * `cannotEncodeModel(EncodingError)` * EncodingError: Erreur d'encodage détectée. Levée lorsqu'un modèle codable ne peut pas être encodé en JSON. * `cannotParseResponse (en anglais seulement)` Levée lorsqu'une réponse de l'instance ne peut pas être analysée dans son format attendu. * `URL non valide` Levée lorsqu'une URL ne peut pas être formée. Par exemple, si la chaîne contient des caractères illégaux dans une URL ou est une chaîne vide. * `missingAttachmentMetadata` Levée lorsque l'en-tête des métadonnées de la pièce jointe est manquant. * `missingServiceConfiguration` Levée lorsqu'une configuration de service attendue est manquante. * `missingSysID` Levée lorsqu'un paramètre de sys_id attendu est manquant. * `réseau (NetworkServiceError)` * genericError(chaîne) * opérationannulée * serviceDisabled * serverError(Erreur) * systemError(Erreur) Levée lorsqu'un service réseau rencontre une erreur. {#NTblServ-model_S_S_S_S_S_O_O__NowDataErroriOS-ul-enum} |
[Tableau 29. Paramètres]

{#NTblServ-model_S_S_S_S_S_O_O__table_trc_vfk_spb} {#NTblServ-model_S_S_S_S_S_O_O__table_urc_vfk_spb__entry__2}

| Type | Description |
|-|-|
| Aucun |   |
[Tableau 30. Renvoie]

{#NTblServ-model_S_S_S_S_S_O_O__table_urc_vfk_spb}  
Pour récupérer une collection de modèles décodés User .

    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):
       ...
     }
    }

Pour extraire un seul modèle décodable par sys_id, utilisez un seul type de modèle, tel que `User.self`, plutôt que `[User].self`.

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

## NowTableService : model\<Model : Decodable\>(with sysId : SysID ? = nil, from tableName : String, path : String = Constants.resultPath, coder : Coder = .default, configuration : FetchConfiguration ? = nil) {#ariaid-title17}

Crée un éditeur qui permet la récupération du ou des modèles décodables à partir d'une table spécifiée.
Remarque :  
Cette méthode a été déconseillée. Vous devez utiliser l'implémentation async/await de la méthode à la place.  
Table Les réponses d'API sont imbriquées à l'intérieur d'un result paramètre similaire à ce qui suit :

    {
      "result": [
        { "name": "Ash Williams" },
        { "name": "Lionel Cosgrove" },
        { "name": "Laurie Strode" }
      ]
    }

Pour les jeux de résultats volumineux, [NowTableService : paginator(from tableName : String, configuration : FetchConfiguration ? = nil)](https://servicenow-prod.fluidtopics.net/M~2KJj16WkQ5ZkXLIqGWWw#NTblServ-paginator_S_O "Crée un paginateur qui permet l’itération à travers les pages d’enregistrements.") utilisez l'une des fonctions de pagination ou [NowTableService -- paginator\<Model : Decodable\>(from tableName : String, path : String = Constants.resultPath, coder : Coder = .default, configuration : FetchConfiguration ? = nil)](https://servicenow-prod.fluidtopics.net/M~2KJj16WkQ5ZkXLIqGWWw#NTblServ-paginator_S_S_S_O "Crée un paginateur qui active l’itération de pages de modèles décodés qui gèrent l’imbrication.") pour extraire des modèles paginés.
{#NTblServ-model_S_S_S_S_O__table_nbq_yyj_spb__entry__3}{#NTblServ-model_S_S_S_S_O__mobilesdkiOS-tableName-entry}

| Nom | Type | Description |
|-|-|-|
| avec sysId | SysID | Facultatif. Sys_id de l'enregistrement à renvoyer. Fournissez le sys_id si vous souhaitez récupérer un enregistrement spécifique. Par défaut : nul |
| à partir de tableName | Chaîne | Nom de la table à partir de laquelle récupérer les enregistrements , comme incident. |
| chemin d'accès | Chaîne | Chemin d'accès séparé par des points pour le type imbriqué. Par exemple, `result` ou `foo.bar.baz` pour une imbrication plus profonde. Par défaut : `résultat` |
| codeur | Codeur | Facultatif. `Codeur` à utiliser pour coder ou décoder les données envoyées et reçues de l'instance ServiceNow . Valeurs possibles : * default : Les encodeurs par défaut formatent les dates en utilisant le format `aaaa-MM-jj HH :mm :ss` en utilisant les `paramètres régionaux` et `TimeZone` de l'appareil. * personnalisé (JSONEncoder, JSONDecoder) : Utilisez des codeurs `personnalisés` pour avoir un contrôle plus précis sur le décodage/encodage JSON. Utilisez uniquement cette énumération pour fournir vos propres `JSONEncoder` et `JSONDecoder`, par exemple lorsque vous utilisez des formats de date, des fuseaux horaires ou des paramètres régionaux spéciaux. let myEncoder = JSONEncoder() myEncoder.dateFormat = ... let myDecoder = JSONDecoder() myDecoder.dateFormat = ... let coder: Coder = .custom(myEncoder, myDecoder) {#NTblServ-model_S_S_S_S_O__ul_nx3_wrd_sqb} Par défaut : .default |
| configuration | [FetchConfiguration (Récupérer la configuration)](https://servicenow-prod.fluidtopics.net/5q8taQD5I2dzSerL6Ed_uA#FetchConfigiOSStructure "La structure FetchConfiguration permet de définir la configuration d’extraction des enregistrements à partir de votre ServiceNow instance.") | Facultatif. Configuration à appliquer aux enregistrements récupérés, y compris les filtres qui définissent les enregistrements à renvoyer, la limite de taille de page de pagination, les champs à récupérer et les éléments à inclure dans les champs. Par défaut : néant : tous les enregistrements renvoyés. |
[Tableau 31. Paramètres]

{#NTblServ-model_S_S_S_S_O__table_nbq_yyj_spb} {#NTblServ-model_S_S_S_S_O__table_obq_yyj_spb__entry__2}

| Type | Description |
|-|-|
| AnyPublisher\<Model, NowDataError\> | Réussite : l'éditeur renvoie un ou plusieurs modèles décodables. Échec : NowDataError * `accessToken (AccessTokenProviderError)` * AccessTokenProviderError: code d'erreur ou message du fournisseur du jeton d'accès. * accessTokenRetrievalFailed * userSessionError(_ error : Erreur) Levée lorsqu'une erreur se produit dans le jeton d'accès. * `attachmentValidation` Levée lorsqu'une pièce jointe échoue à la validation. * `badResponse(statusCode : HTTPStatusCode)` * HTTPStatusCode: code d'état reçu de l'instance. Levée lorsqu'une demande renvoie une réponse inattendue * `cannotDecodeModel(DecodingError)` * DecodingError: erreur de décodage détectée. Levée lorsqu'un modèle codable ne peut pas être décodé à partir de JSON. * `cannotDecodeProperty(type : N'importe lequel, de : Chaîne)` * type: type enveloppé à décoder à partir d'une chaîne. * from: Chaîne à décoder vers le type spécifié. Levée lorsqu'une valeur enveloppée dans une chaîne ne peut pas être décodée à partir de JSON. * `cannotEncodeModel(EncodingError)` * EncodingError: Erreur d'encodage détectée. Levée lorsqu'un modèle codable ne peut pas être encodé en JSON. * `cannotParseResponse (en anglais seulement)` Levée lorsqu'une réponse de l'instance ne peut pas être analysée dans son format attendu. * `URL non valide` Levée lorsqu'une URL ne peut pas être formée. Par exemple, si la chaîne contient des caractères illégaux dans une URL ou est une chaîne vide. * `missingAttachmentMetadata` Levée lorsque l'en-tête des métadonnées de la pièce jointe est manquant. * `missingServiceConfiguration` Levée lorsqu'une configuration de service attendue est manquante. * `missingSysID` Levée lorsqu'un paramètre de sys_id attendu est manquant. * `réseau (NetworkServiceError)` * genericError(chaîne) * opérationannulée * serviceDisabled * serverError(Erreur) * systemError(Erreur) Levée lorsqu'un service réseau rencontre une erreur. {#NTblServ-model_S_S_S_S_O__NowDataErroriOS-ul-enum} |
[Tableau 32. Renvoie]

{#NTblServ-model_S_S_S_S_O__table_obq_yyj_spb}  
Pour obtenir un éditeur qui fournit des modèles d'utilisateur décodés par type, tels que `[Users].self`, extrayez les modèles en spécifiant un chemin d'accès séparé par des points.

    struct User: Codable {
      varname: String
    }

    let service: NowTableService = ...
    let publisher: AnyPublisher<[User], NowDataError> = service.model(from: "sys_user", path: "user.photos.gps_location")
     
Pour extraire un seul modèle décodable par sys_id, utilisez un seul type `de modèle User.self` plutôt que `[User].self`.

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

## NowTableService : paginator(from tableName : String, configuration : FetchConfiguration ? = nil) {#ariaid-title18}

Crée un paginateur qui permet l'itération à travers les pages d'enregistrements.
Le paginateur Publisher émet des données que vous pouvez décoder dans un [modèle Codable](https://developer.apple.com/documentation/foundation/archives_and_serialization/encoding_and_decoding_custom_types) personnalisé, ou vous pouvez également utiliser la [NowTableService -- paginator\<Model : Decodable\>(from tableName : String, path : String = Constants.resultPath, coder : Coder = .default, configuration : FetchConfiguration ? = nil)](https://servicenow-prod.fluidtopics.net/M~2KJj16WkQ5ZkXLIqGWWw#NTblServ-paginator_S_S_S_O "Crée un paginateur qui active l’itération de pages de modèles décodés qui gèrent l’imbrication.") fonction. Vous pouvez également utiliser la fonction de commodité convertToRecords() pour transformer les données en un objet NowRecord. L'élément suivant montre comment convertir un éditeur pour qu'il émette des enregistrements Now :

    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()

Remarque :  
À moins qu'il ne soit remplacé dans le configuration paramètre, un paginateur renvoie 20 éléments par page. En fonction de l'évaluation ACL, le nombre réel d'éléments extraits pour une page peut être inférieur à la valeur par défaut ou configurée.
{#NTblServ-paginator_S_O__id_fpc_pcj_ppb__entry__3}{#NTblServ-paginator_S_O__mobilesdkiOS-tableName-row}

| Nom | Type | Description |
|-|-|-|
| tableName | Chaîne | Nom de la table à partir de laquelle récupérer les enregistrements , comme incident. |
| configuration | [FetchConfiguration (Récupérer la configuration)](https://servicenow-prod.fluidtopics.net/5q8taQD5I2dzSerL6Ed_uA#FetchConfigiOSStructure "La structure FetchConfiguration permet de définir la configuration d’extraction des enregistrements à partir de votre ServiceNow instance.") | Facultatif. Configuration à appliquer aux enregistrements récupérés, y compris les filtres qui définissent les enregistrements à renvoyer, la limite de taille de page de pagination, les champs à récupérer et les éléments à inclure dans les champs. Par défaut : néant : tous les enregistrements renvoyés. |
[Tableau 33. Paramètres]

{#NTblServ-paginator_S_O__id_fpc_pcj_ppb} {#NTblServ-paginator_S_O__table_uwv_wv3_ppb__entry__2}

| Type | Description |
|-|-|
| Paginateur\<Données\> | Réussite : objet de paginateur contenant les enregistrements spécifiés. Échec : NowDataError * `accessToken (AccessTokenProviderError)` * AccessTokenProviderError: code d'erreur ou message du fournisseur du jeton d'accès. * accessTokenRetrievalFailed * userSessionError(_ error : Erreur) Levée lorsqu'une erreur se produit dans le jeton d'accès. * `attachmentValidation` Levée lorsqu'une pièce jointe échoue à la validation. * `badResponse(statusCode : HTTPStatusCode)` * HTTPStatusCode: code d'état reçu de l'instance. Levée lorsqu'une demande renvoie une réponse inattendue * `cannotDecodeModel(DecodingError)` * DecodingError: erreur de décodage détectée. Levée lorsqu'un modèle codable ne peut pas être décodé à partir de JSON. * `cannotDecodeProperty(type : N'importe lequel, de : Chaîne)` * type: type enveloppé à décoder à partir d'une chaîne. * from: Chaîne à décoder vers le type spécifié. Levée lorsqu'une valeur enveloppée dans une chaîne ne peut pas être décodée à partir de JSON. * `cannotEncodeModel(EncodingError)` * EncodingError: Erreur d'encodage détectée. Levée lorsqu'un modèle codable ne peut pas être encodé en JSON. * `cannotParseResponse (en anglais seulement)` Levée lorsqu'une réponse de l'instance ne peut pas être analysée dans son format attendu. * `URL non valide` Levée lorsqu'une URL ne peut pas être formée. Par exemple, si la chaîne contient des caractères illégaux dans une URL ou est une chaîne vide. * `missingAttachmentMetadata` Levée lorsque l'en-tête des métadonnées de la pièce jointe est manquant. * `missingServiceConfiguration` Levée lorsqu'une configuration de service attendue est manquante. * `missingSysID` Levée lorsqu'un paramètre de sys_id attendu est manquant. * `réseau (NetworkServiceError)` * genericError(chaîne) * opérationannulée * serviceDisabled * serverError(Erreur) * systemError(Erreur) Levée lorsqu'un service réseau rencontre une erreur. {#NTblServ-paginator_S_O__NowDataErroriOS-ul-enum} |
[Tableau 34. Renvoie]

{#NTblServ-paginator_S_O__table_uwv_wv3_ppb}  

    private var tableService: NowTableService?
    // Paginator creation uses type inference to determine the response type.
    private var paginator: Paginator<[CustomerServiceCase]>?

    func initializeTableService(for instanceUrl: URL) {
      makeTableService(instanceUrl: instanceUrl) { [weak self] result in
        guard let self = self else { return }
                
        switch result {
        case .success(let tableService):
          self.tableService = tableService
          // Create a paginator that iterates over pages of customer support cases. The paginator's response type is
          // inferred from the paginator's type definition (e.g. `Paginator<[CustomerServiceCase]>`).
          self.paginator = tableService.paginator(from: Self.tableName, configuration: self.fetchConfiguration)
          // Subscribe to the paginator's publisher so you are able to receive paged results.
          self.subscribeToPaginatorPublisher()
          // Ready to start fetching data, inform the view controller.
          self.onReady(self)
        case .failure(let error):
          debugPrint("Creating table service failed with error: \(error.localizedDescription)")
          self.tableService = nil
          self.paginator = nil
        }
      }
    }

## NowTableService -- paginator\<Model : Decodable\>(from tableName : String, path : String = Constants.resultPath, coder : Coder = .default, configuration : FetchConfiguration ? = nil) {#ariaid-title19}

Crée un paginateur qui active l'itération de pages de modèles décodés qui gèrent l'imbrication.
Les ServiceNow réponses REST Table API sont imbriquées à l'intérieur d'une propriété de résultat similaire à la suivante :

    {
      "result": [
        { "name": "Ash Williams" },
        { "name": "Lionel Cosgrove" },
        { "name": "Laurie Strode" }
      ]
    }

Pour obtenir un paginateur qui fournit des modèles User décodés, récupérez le paginateur en spécifiant un chemin d'accès séparé par des points ; Dans ce cas, result.

    struct User: Codable {
      varname: String
    }

    let service: NowTableService = ...
    let paginator: Paginator<[User]> = service.paginator(from: "sys_user", path: "result")

Remarque :  
À moins qu'il ne soit remplacé dans le configuration paramètre, un paginateur renvoie 20 éléments par page. En fonction des évaluations d'ACL, le nombre réel d'éléments extraits pour une page peut être inférieur à la valeur par défaut ou configurée.  
Après avoir obtenu un objet Paginator, abonnez-vous à son éditeur Combine pour commencer à recevoir des données :

    paginator.publisher
      .subscribe(on: DispatchQueue.global())
      .receive(on: DispatchQueue.main)
      .sink { ... }
      .store(in: &subscriptions)

Remarque :  
Comme pour tous les abonnements à Combine, assurez-vous de conserver l'abonnement pour éviter des résultats inattendus.
{#NTblServ-paginator_S_S_S_O__table_vds_gtj_spb__entry__3}{#NTblServ-paginator_S_S_S_O__mobilesdkiOS-tableName-entry}

| Nom | Type | Description |
|-|-|-|
| à partir de tableName | Chaîne | Nom de la table à partir de laquelle récupérer les enregistrements , comme incident. |
| chemin d'accès | Chaîne | Chemin d'accès séparé par des points pour le type imbriqué. Par exemple, `résultat` ou `result.user.photos` pour une imbrication plus profonde. La spécification d'un chemin d'accès personnalisé permet d'extraire ou d'itérer sur les données imbriquées*.* Par défaut : `résultat` |
| codeur | Codeur | Facultatif. `Codeur` à utiliser pour coder ou décoder les données envoyées et reçues de l'instance ServiceNow . Valeurs possibles : * default : Les encodeurs par défaut formatent les dates en utilisant le format `aaaa-MM-jj HH :mm :ss` en utilisant les `paramètres régionaux` et `TimeZone` de l'appareil. * personnalisé (JSONEncoder, JSONDecoder) : Utilisez des codeurs `personnalisés` pour avoir un contrôle plus précis sur le décodage/encodage JSON. Utilisez uniquement cette énumération pour fournir vos propres `JSONEncoder` et `JSONDecoder`, par exemple lorsque vous utilisez des formats de date, des fuseaux horaires ou des paramètres régionaux spéciaux. let myEncoder = JSONEncoder() myEncoder.dateFormat = ... let myDecoder = JSONDecoder() myDecoder.dateFormat = ... let coder: Coder = .custom(myEncoder, myDecoder) {#NTblServ-paginator_S_S_S_O__ul_nx3_wrd_sqb} Par défaut : .default |
| configuration | [FetchConfiguration (Récupérer la configuration)](https://servicenow-prod.fluidtopics.net/5q8taQD5I2dzSerL6Ed_uA#FetchConfigiOSStructure "La structure FetchConfiguration permet de définir la configuration d’extraction des enregistrements à partir de votre ServiceNow instance.") | Facultatif. Configuration à appliquer aux enregistrements récupérés, y compris les filtres qui définissent les enregistrements à renvoyer, la limite de taille de page de pagination, les champs à récupérer et les éléments à inclure dans les champs. Par défaut : néant : tous les enregistrements renvoyés. |
[Tableau 35. Paramètres]

{#NTblServ-paginator_S_S_S_O__table_vds_gtj_spb} {#NTblServ-paginator_S_S_S_O__table_wds_gtj_spb__entry__2}

| Type | Description |
|-|-|
| Paginateur\<Données\> | Réussite : objet de paginateur contenant un ou plusieurs modèles `paginés décodables` . Échec : NowDataError * `accessToken (AccessTokenProviderError)` * AccessTokenProviderError: code d'erreur ou message du fournisseur du jeton d'accès. * accessTokenRetrievalFailed * userSessionError(_ error : Erreur) Levée lorsqu'une erreur se produit dans le jeton d'accès. * `attachmentValidation` Levée lorsqu'une pièce jointe échoue à la validation. * `badResponse(statusCode : HTTPStatusCode)` * HTTPStatusCode: code d'état reçu de l'instance. Levée lorsqu'une demande renvoie une réponse inattendue * `cannotDecodeModel(DecodingError)` * DecodingError: erreur de décodage détectée. Levée lorsqu'un modèle codable ne peut pas être décodé à partir de JSON. * `cannotDecodeProperty(type : N'importe lequel, de : Chaîne)` * type: type enveloppé à décoder à partir d'une chaîne. * from: Chaîne à décoder vers le type spécifié. Levée lorsqu'une valeur enveloppée dans une chaîne ne peut pas être décodée à partir de JSON. * `cannotEncodeModel(EncodingError)` * EncodingError: Erreur d'encodage détectée. Levée lorsqu'un modèle codable ne peut pas être encodé en JSON. * `cannotParseResponse (en anglais seulement)` Levée lorsqu'une réponse de l'instance ne peut pas être analysée dans son format attendu. * `URL non valide` Levée lorsqu'une URL ne peut pas être formée. Par exemple, si la chaîne contient des caractères illégaux dans une URL ou est une chaîne vide. * `missingAttachmentMetadata` Levée lorsque l'en-tête des métadonnées de la pièce jointe est manquant. * `missingServiceConfiguration` Levée lorsqu'une configuration de service attendue est manquante. * `missingSysID` Levée lorsqu'un paramètre de sys_id attendu est manquant. * `réseau (NetworkServiceError)` * genericError(chaîne) * opérationannulée * serviceDisabled * serverError(Erreur) * systemError(Erreur) Levée lorsqu'un service réseau rencontre une erreur. {#NTblServ-paginator_S_S_S_O__NowDataErroriOS-ul-enum} |
[Tableau 36. Renvoie]

{#NTblServ-paginator_S_S_S_O__table_wds_gtj_spb}  
Cet exemple montre comment obtenir un objet Paginator qui fournit des modèles User décodés. Vous pouvez extraire l'objet Paginator souhaité en indiquant au compilateur de renvoyer une collection de modèles User (\[User\]) et en informant l'objet Paginator que les utilisateurs sont imbriqués sous le chemin d'accès du résultat.

    struct User: Codable {
      var name: String
    }

    let service: NowTableService = ...
    let paginator: Paginator<[User]> = service.paginator(from: "sys_user", path: "result")

Remarque :  
L'API Table renvoie toujours les résultats imbriqués sous un chemin d'accès aux résultats, afin que vous puissiez éliminer le path paramètre en toute sécurité.

## NowTableService : enregistrement (avec sysId : SysID, from tableName : String, configuration : FieldReadConfiguration ? = nil) Levées asynchrones {#ariaid-title20}

Récupère un enregistrement spécifié de la table spécifiée sur une ServiceNow instance.
Le Publisher émet des données que vous pouvez décoder dans un [modèle Codable](https://developer.apple.com/documentation/foundation/archives_and_serialization/encoding_and_decoding_custom_types) personnalisé, ou vous pouvez également utiliser la [NowTableService -- paginator\<Model : Decodable\>(from tableName : String, path : String = Constants.resultPath, coder : Coder = .default, configuration : FetchConfiguration ? = nil)](https://servicenow-prod.fluidtopics.net/M~2KJj16WkQ5ZkXLIqGWWw#NTblServ-paginator_S_S_S_O "Crée un paginateur qui active l’itération de pages de modèles décodés qui gèrent l’imbrication.") fonction. Vous pouvez également utiliser la fonction de commodité convertToRecords() pour transformer les données en un objet NowRecord. L'élément suivant montre comment convertir un éditeur pour qu'il émette des enregistrements Now :

    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()

{#NTblServ-record-async_S_S_O__table_fsr_23j_ppb__entry__3}{#NTblServ-record-async_S_S_O__mobilesdkiOS-tableName-entry}

| Nom | Type | Description |
|-|-|-|
| sysId | Chaîne | Sys_id de l'enregistrement à renvoyer à partir de l'instance ServiceNow . |
| à partir de tableName | Chaîne | Nom de la table à partir de laquelle récupérer les enregistrements , comme incident. |
| configuration | [FetchConfiguration (Récupérer la configuration)](https://servicenow-prod.fluidtopics.net/5q8taQD5I2dzSerL6Ed_uA#FetchConfigiOSStructure "La structure FetchConfiguration permet de définir la configuration d’extraction des enregistrements à partir de votre ServiceNow instance.") | Facultatif. Configuration à appliquer aux enregistrements récupérés, y compris les filtres qui définissent les enregistrements à renvoyer, la limite de taille de page de pagination, les champs à récupérer et les éléments à inclure dans les champs. Par défaut : néant : tous les enregistrements renvoyés. |
[Tableau 37. Paramètres]

{#NTblServ-record-async_S_S_O__table_fsr_23j_ppb}{#NTblServ-record-async_S_S_O__table_gsr_23j_ppb__entry__2}

| Type | Description |
|-|-|
| Données | Renvoyé lorsque la méthode réussit. Objet de données contenant l'enregistrement spécifié. |
| NowDataError (en anglais seulement) | Levée lorsque la méthode échoue. * `accessToken (AccessTokenProviderError)` * AccessTokenProviderError: code d'erreur ou message du fournisseur du jeton d'accès. * accessTokenRetrievalFailed * userSessionError(_ error : Erreur) Levée lorsqu'une erreur se produit dans le jeton d'accès. * `attachmentValidation` Levée lorsqu'une pièce jointe échoue à la validation. * `badResponse(statusCode : HTTPStatusCode)` * HTTPStatusCode: code d'état reçu de l'instance. Levée lorsqu'une demande renvoie une réponse inattendue * `cannotDecodeModel(DecodingError)` * DecodingError: erreur de décodage détectée. Levée lorsqu'un modèle codable ne peut pas être décodé à partir de JSON. * `cannotDecodeProperty(type : N'importe lequel, de : Chaîne)` * type: type enveloppé à décoder à partir d'une chaîne. * from: Chaîne à décoder vers le type spécifié. Levée lorsqu'une valeur enveloppée dans une chaîne ne peut pas être décodée à partir de JSON. * `cannotEncodeModel(EncodingError)` * EncodingError: Erreur d'encodage détectée. Levée lorsqu'un modèle codable ne peut pas être encodé en JSON. * `cannotParseResponse (en anglais seulement)` Levée lorsqu'une réponse de l'instance ne peut pas être analysée dans son format attendu. * `URL non valide` Levée lorsqu'une URL ne peut pas être formée. Par exemple, si la chaîne contient des caractères illégaux dans une URL ou est une chaîne vide. * `missingAttachmentMetadata` Levée lorsque l'en-tête des métadonnées de la pièce jointe est manquant. * `missingServiceConfiguration` Levée lorsqu'une configuration de service attendue est manquante. * `missingSysID` Levée lorsqu'un paramètre de sys_id attendu est manquant. * `réseau (NetworkServiceError)` * genericError(chaîne) * opérationannulée * serviceDisabled * serverError(Erreur) * systemError(Erreur) Levée lorsqu'un service réseau rencontre une erreur. {#NTblServ-record-async_S_S_O__NowDataErroriOS-ul-enum} |
[Tableau 38. Renvoie]

{#NTblServ-record-async_S_S_O__table_gsr_23j_ppb}  
Les exemples de code suivants montrent comment appeler cette méthode.

    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 : enregistrement (avec sysId : SysID, from tableName : String, configuration : FieldReadConfiguration, complétion : @escaping (Result\<Data, NowDataError\>) {#ariaid-title21}

Récupère l'enregistrement spécifié à partir de la table spécifiée, puis exécute un gestionnaire de complétion une fois l'enregistrement récupéré.
Si nécessaire, vous pouvez décoder les résultats de retour dans un modèle Codable personnalisé ou utiliser la fonction à la [NowTableService -- paginator\<Model : Decodable\>(from tableName : String, path : String = Constants.resultPath, coder : Coder = .default, configuration : FetchConfiguration ? = nil)](https://servicenow-prod.fluidtopics.net/M~2KJj16WkQ5ZkXLIqGWWw#NTblServ-paginator_S_S_S_O "Crée un paginateur qui active l’itération de pages de modèles décodés qui gèrent l’imbrication.") place. Vous pouvez également utiliser la fonction de commodité convertToRecords() pour transformer les données en un objet NowRecord. L'élément suivant montre comment convertir un éditeur pour qu'il émette des enregistrements Now :

    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myResult.convertToRecords()

Pour les jeux de résultats volumineux, utilisez la fonction pour extraire les [NowTableService : paginator(from tableName : String, configuration : FetchConfiguration ? = nil)](https://servicenow-prod.fluidtopics.net/M~2KJj16WkQ5ZkXLIqGWWw#NTblServ-paginator_S_O "Crée un paginateur qui permet l’itération à travers les pages d’enregistrements.") résultats paginés.
{#NTblServ-record_S_S_O_O__table_fzv_fnj_ppb__entry__3}{#NTblServ-record_S_S_O_O__mobilesdkiOS-tableName-entry}

| Nom | Type | Description |
|-|-|-|
| sysId | Chaîne | Sys_id de l'enregistrement à renvoyer à partir de l'instance ServiceNow . |
| à partir de tableName | Chaîne | Nom de la table à partir de laquelle récupérer les enregistrements , comme incident. |
| configuration | [FetchConfiguration (Récupérer la configuration)](https://servicenow-prod.fluidtopics.net/5q8taQD5I2dzSerL6Ed_uA#FetchConfigiOSStructure "La structure FetchConfiguration permet de définir la configuration d’extraction des enregistrements à partir de votre ServiceNow instance.") | Facultatif. Configuration à appliquer aux enregistrements récupérés, y compris les filtres qui définissent les enregistrements à renvoyer, la limite de taille de page de pagination, les champs à récupérer et les éléments à inclure dans les champs. Par défaut : néant : tous les enregistrements renvoyés. |
| achèvement | @escaping (Result\<Data, NowDataError\>) | Gestionnaire de complétion à exécuter une fois les enregistrements récupérés. Valeurs de retour : * Réussite : données : enregistrements demandés * Erreur : NowDataError * `accessToken (AccessTokenProviderError)` * AccessTokenProviderError: code d'erreur ou message du fournisseur du jeton d'accès. * accessTokenRetrievalFailed * userSessionError(_ error : Erreur) Levée lorsqu'une erreur se produit dans le jeton d'accès. * `attachmentValidation` Levée lorsqu'une pièce jointe échoue à la validation. * `badResponse(statusCode : HTTPStatusCode)` * HTTPStatusCode: code d'état reçu de l'instance. Levée lorsqu'une demande renvoie une réponse inattendue * `cannotDecodeModel(DecodingError)` * DecodingError: erreur de décodage détectée. Levée lorsqu'un modèle codable ne peut pas être décodé à partir de JSON. * `cannotDecodeProperty(type : N'importe lequel, de : Chaîne)` * type: type enveloppé à décoder à partir d'une chaîne. * from: Chaîne à décoder vers le type spécifié. Levée lorsqu'une valeur enveloppée dans une chaîne ne peut pas être décodée à partir de JSON. * `cannotEncodeModel(EncodingError)` * EncodingError: Erreur d'encodage détectée. Levée lorsqu'un modèle codable ne peut pas être encodé en JSON. * `cannotParseResponse (en anglais seulement)` Levée lorsqu'une réponse de l'instance ne peut pas être analysée dans son format attendu. * `URL non valide` Levée lorsqu'une URL ne peut pas être formée. Par exemple, si la chaîne contient des caractères illégaux dans une URL ou est une chaîne vide. * `missingAttachmentMetadata` Levée lorsque l'en-tête des métadonnées de la pièce jointe est manquant. * `missingServiceConfiguration` Levée lorsqu'une configuration de service attendue est manquante. * `missingSysID` Levée lorsqu'un paramètre de sys_id attendu est manquant. * `réseau (NetworkServiceError)` * genericError(chaîne) * opérationannulée * serviceDisabled * serverError(Erreur) * systemError(Erreur) Levée lorsqu'un service réseau rencontre une erreur. {#NTblServ-record_S_S_O_O__NowDataErroriOS-ul-enum} {#NTblServ-record_S_S_O_O__ul_uzx_thj_ppb} |
[Tableau 39. Paramètres]

{#NTblServ-record_S_S_O_O__table_fzv_fnj_ppb} {#NTblServ-record_S_S_O_O__table_gzv_fnj_ppb__entry__2}

| Type | Description |
|-|-|
| Aucun |   |
[Tableau 40. Renvoie]

{#NTblServ-record_S_S_O_O__table_gzv_fnj_ppb}  
L'exemple de code suivant montre comment appeler cette méthode.

    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(with sysId : SysID, from tableName : String, configuration : FieldReadConfiguration ? = nil) {#ariaid-title22}

Crée un éditeur pour récupérer un enregistrement spécifié à partir de la table spécifiée sur une ServiceNow instance.
Remarque :  
Cette méthode a été déconseillée. Vous devez utiliser l'implémentation async/await de la méthode à la place.
Le Publisher émet des données que vous pouvez décoder dans un [modèle Codable](https://developer.apple.com/documentation/foundation/archives_and_serialization/encoding_and_decoding_custom_types) personnalisé, ou vous pouvez également utiliser la [NowTableService -- paginator\<Model : Decodable\>(from tableName : String, path : String = Constants.resultPath, coder : Coder = .default, configuration : FetchConfiguration ? = nil)](https://servicenow-prod.fluidtopics.net/M~2KJj16WkQ5ZkXLIqGWWw#NTblServ-paginator_S_S_S_O "Crée un paginateur qui active l’itération de pages de modèles décodés qui gèrent l’imbrication.") fonction. Vous pouvez également utiliser la fonction de commodité convertToRecords() pour transformer les données en un objet NowRecord. L'élément suivant montre comment convertir un éditeur pour qu'il émette des enregistrements Now :

    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()

{#NTblServ-record_S_S_O__table_fsr_23j_ppb__entry__3}{#NTblServ-record_S_S_O__mobilesdkiOS-tableName-entry}

| Nom | Type | Description |
|-|-|-|
| sysId | Chaîne | Sys_id de l'enregistrement à renvoyer à partir de l'instance ServiceNow . |
| à partir de tableName | Chaîne | Nom de la table à partir de laquelle récupérer les enregistrements , comme incident. |
| configuration | [FetchConfiguration (Récupérer la configuration)](https://servicenow-prod.fluidtopics.net/5q8taQD5I2dzSerL6Ed_uA#FetchConfigiOSStructure "La structure FetchConfiguration permet de définir la configuration d’extraction des enregistrements à partir de votre ServiceNow instance.") | Facultatif. Configuration à appliquer aux enregistrements récupérés, y compris les filtres qui définissent les enregistrements à renvoyer, la limite de taille de page de pagination, les champs à récupérer et les éléments à inclure dans les champs. Par défaut : néant : tous les enregistrements renvoyés. |
[Tableau 41. Paramètres]

{#NTblServ-record_S_S_O__table_fsr_23j_ppb}{#NTblServ-record_S_S_O__table_gsr_23j_ppb__entry__2}

| Type | Description |
|-|-|
| AnyPublisher\<Data, NowDataError\> | Réussite : objet de données contenant les enregistrements spécifiés. Échec : NowDataError * `accessToken (AccessTokenProviderError)` * AccessTokenProviderError: code d'erreur ou message du fournisseur du jeton d'accès. * accessTokenRetrievalFailed * userSessionError(_ error : Erreur) Levée lorsqu'une erreur se produit dans le jeton d'accès. * `attachmentValidation` Levée lorsqu'une pièce jointe échoue à la validation. * `badResponse(statusCode : HTTPStatusCode)` * HTTPStatusCode: code d'état reçu de l'instance. Levée lorsqu'une demande renvoie une réponse inattendue * `cannotDecodeModel(DecodingError)` * DecodingError: erreur de décodage détectée. Levée lorsqu'un modèle codable ne peut pas être décodé à partir de JSON. * `cannotDecodeProperty(type : N'importe lequel, de : Chaîne)` * type: type enveloppé à décoder à partir d'une chaîne. * from: Chaîne à décoder vers le type spécifié. Levée lorsqu'une valeur enveloppée dans une chaîne ne peut pas être décodée à partir de JSON. * `cannotEncodeModel(EncodingError)` * EncodingError: Erreur d'encodage détectée. Levée lorsqu'un modèle codable ne peut pas être encodé en JSON. * `cannotParseResponse (en anglais seulement)` Levée lorsqu'une réponse de l'instance ne peut pas être analysée dans son format attendu. * `URL non valide` Levée lorsqu'une URL ne peut pas être formée. Par exemple, si la chaîne contient des caractères illégaux dans une URL ou est une chaîne vide. * `missingAttachmentMetadata` Levée lorsque l'en-tête des métadonnées de la pièce jointe est manquant. * `missingServiceConfiguration` Levée lorsqu'une configuration de service attendue est manquante. * `missingSysID` Levée lorsqu'un paramètre de sys_id attendu est manquant. * `réseau (NetworkServiceError)` * genericError(chaîne) * opérationannulée * serviceDisabled * serverError(Erreur) * systemError(Erreur) Levée lorsqu'un service réseau rencontre une erreur. {#NTblServ-record_S_S_O__NowDataErroriOS-ul-enum} |
[Tableau 42. Renvoie]

{#NTblServ-record_S_S_O__table_gsr_23j_ppb}  
Cet exemple montre comment créer une fonction qui récupère l'enregistrement spécifié à partir de la table spécifiée, avec les champs spécifiés. La sortie de l'appel est un ByteArray qui vous permet de convertir les données dans n'importe quel modèle que vous voulez.

    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 : records(from tableName : String, configuration : FetchConfiguration ? = nil) lèvements asynchrones {#ariaid-title23}

Récupère les enregistrements de la table spécifiée.
Le Publisher émet des données que vous pouvez décoder dans un [modèle Codable](https://developer.apple.com/documentation/foundation/archives_and_serialization/encoding_and_decoding_custom_types) personnalisé, ou vous pouvez également utiliser la [NowTableService -- paginator\<Model : Decodable\>(from tableName : String, path : String = Constants.resultPath, coder : Coder = .default, configuration : FetchConfiguration ? = nil)](https://servicenow-prod.fluidtopics.net/M~2KJj16WkQ5ZkXLIqGWWw#NTblServ-paginator_S_S_S_O "Crée un paginateur qui active l’itération de pages de modèles décodés qui gèrent l’imbrication.") fonction. Vous pouvez également utiliser la fonction de commodité convertToRecords() pour transformer les données en un objet NowRecord. L'élément suivant montre comment convertir un éditeur pour qu'il émette des enregistrements Now :

    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()

Pour les jeux de résultats volumineux, utilisez la fonction pour extraire les [NowTableService : paginator(from tableName : String, configuration : FetchConfiguration ? = nil)](https://servicenow-prod.fluidtopics.net/M~2KJj16WkQ5ZkXLIqGWWw#NTblServ-paginator_S_O "Crée un paginateur qui permet l’itération à travers les pages d’enregistrements.") résultats paginés.
{#NTblServ-records-async_S_O__id_rzw_lcj_ppb__entry__3}{#NTblServ-records-async_S_O__mobilesdkiOS-tableName-entry}

| Nom | Type | Description |
|-|-|-|
| à partir de tableName | Chaîne | Nom de la table à partir de laquelle récupérer les enregistrements , comme incident. |
| configuration | [FetchConfiguration (Récupérer la configuration)](https://servicenow-prod.fluidtopics.net/5q8taQD5I2dzSerL6Ed_uA#FetchConfigiOSStructure "La structure FetchConfiguration permet de définir la configuration d’extraction des enregistrements à partir de votre ServiceNow instance.") | Facultatif. Configuration à appliquer aux enregistrements récupérés, y compris les filtres qui définissent les enregistrements à renvoyer, la limite de taille de page de pagination, les champs à récupérer et les éléments à inclure dans les champs. Par défaut : néant : tous les enregistrements renvoyés. |
[Tableau 43. Paramètres]

{#NTblServ-records-async_S_O__id_rzw_lcj_ppb} {#NTblServ-records-async_S_O__table_yvr_d1j_ppb__entry__2}

| Type | Description |
|-|-|
| Données | Renvoyé lorsque la méthode réussit. Objet de données contenant les enregistrements spécifiés. |
| NowDataError (en anglais seulement) | Levée lorsque la méthode échoue. * `accessToken (AccessTokenProviderError)` * AccessTokenProviderError: code d'erreur ou message du fournisseur du jeton d'accès. * accessTokenRetrievalFailed * userSessionError(_ error : Erreur) Levée lorsqu'une erreur se produit dans le jeton d'accès. * `attachmentValidation` Levée lorsqu'une pièce jointe échoue à la validation. * `badResponse(statusCode : HTTPStatusCode)` * HTTPStatusCode: code d'état reçu de l'instance. Levée lorsqu'une demande renvoie une réponse inattendue * `cannotDecodeModel(DecodingError)` * DecodingError: erreur de décodage détectée. Levée lorsqu'un modèle codable ne peut pas être décodé à partir de JSON. * `cannotDecodeProperty(type : N'importe lequel, de : Chaîne)` * type: type enveloppé à décoder à partir d'une chaîne. * from: Chaîne à décoder vers le type spécifié. Levée lorsqu'une valeur enveloppée dans une chaîne ne peut pas être décodée à partir de JSON. * `cannotEncodeModel(EncodingError)` * EncodingError: Erreur d'encodage détectée. Levée lorsqu'un modèle codable ne peut pas être encodé en JSON. * `cannotParseResponse (en anglais seulement)` Levée lorsqu'une réponse de l'instance ne peut pas être analysée dans son format attendu. * `URL non valide` Levée lorsqu'une URL ne peut pas être formée. Par exemple, si la chaîne contient des caractères illégaux dans une URL ou est une chaîne vide. * `missingAttachmentMetadata` Levée lorsque l'en-tête des métadonnées de la pièce jointe est manquant. * `missingServiceConfiguration` Levée lorsqu'une configuration de service attendue est manquante. * `missingSysID` Levée lorsqu'un paramètre de sys_id attendu est manquant. * `réseau (NetworkServiceError)` * genericError(chaîne) * opérationannulée * serviceDisabled * serverError(Erreur) * systemError(Erreur) Levée lorsqu'un service réseau rencontre une erreur. {#NTblServ-records-async_S_O__NowDataErroriOS-ul-enum} |
[Tableau 44. Renvoie]

{#NTblServ-records-async_S_O__table_yvr_d1j_ppb}  
L'exemple de code suivant montre comment appeler cette méthode.

    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 : records(from tableName : String, configuration : FetchConfiguration ? = nil, completion : @escaping (Result\<Data, NowDataError\>)) {#ariaid-title24}

Récupère les enregistrements d'une table spécifiée, puis exécute le completion gestionnaire une fois les enregistrements récupérés.
Si nécessaire, vous pouvez décoder les résultats de retour dans un modèle Codable personnalisé ou utiliser la fonction à la [NowTableService -- paginator\<Model : Decodable\>(from tableName : String, path : String = Constants.resultPath, coder : Coder = .default, configuration : FetchConfiguration ? = nil)](https://servicenow-prod.fluidtopics.net/M~2KJj16WkQ5ZkXLIqGWWw#NTblServ-paginator_S_S_S_O "Crée un paginateur qui active l’itération de pages de modèles décodés qui gèrent l’imbrication.") place. Vous pouvez également utiliser la fonction de commodité convertToRecords() pour transformer les données en un objet NowRecord. L'élément suivant montre comment convertir un éditeur pour qu'il émette des enregistrements Now :

    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myResult.convertToRecords()

Pour les jeux de résultats volumineux, utilisez la fonction pour extraire les [NowTableService : paginator(from tableName : String, configuration : FetchConfiguration ? = nil)](https://servicenow-prod.fluidtopics.net/M~2KJj16WkQ5ZkXLIqGWWw#NTblServ-paginator_S_O "Crée un paginateur qui permet l’itération à travers les pages d’enregistrements.") résultats paginés.
{#NTblServ-records_S_O_O__table_uvc_y2j_ppb__entry__3}

| Nom | Type | Description |
|-|-|-|
| dans tableName | Chaîne | Nom de la table dans laquelle écrire les enregistrements , comme incident. |
| configuration | [FetchConfiguration (Récupérer la configuration)](https://servicenow-prod.fluidtopics.net/5q8taQD5I2dzSerL6Ed_uA#FetchConfigiOSStructure "La structure FetchConfiguration permet de définir la configuration d’extraction des enregistrements à partir de votre ServiceNow instance.") | Facultatif. Configuration à appliquer aux enregistrements récupérés, y compris les filtres qui définissent les enregistrements à renvoyer, la limite de taille de page de pagination, les champs à récupérer et les éléments à inclure dans les champs. Par défaut : néant : tous les enregistrements renvoyés. |
| achèvement | @escaping (Result\<Data, NowDataError\>) | Gestionnaire de complétion à exécuter une fois les enregistrements récupérés. Valeurs de retour : * Réussite : données : enregistrements demandés * Erreur : NowDataError * `accessToken (AccessTokenProviderError)` * AccessTokenProviderError: code d'erreur ou message du fournisseur du jeton d'accès. * accessTokenRetrievalFailed * userSessionError(_ error : Erreur) Levée lorsqu'une erreur se produit dans le jeton d'accès. * `attachmentValidation` Levée lorsqu'une pièce jointe échoue à la validation. * `badResponse(statusCode : HTTPStatusCode)` * HTTPStatusCode: code d'état reçu de l'instance. Levée lorsqu'une demande renvoie une réponse inattendue * `cannotDecodeModel(DecodingError)` * DecodingError: erreur de décodage détectée. Levée lorsqu'un modèle codable ne peut pas être décodé à partir de JSON. * `cannotDecodeProperty(type : N'importe lequel, de : Chaîne)` * type: type enveloppé à décoder à partir d'une chaîne. * from: Chaîne à décoder vers le type spécifié. Levée lorsqu'une valeur enveloppée dans une chaîne ne peut pas être décodée à partir de JSON. * `cannotEncodeModel(EncodingError)` * EncodingError: Erreur d'encodage détectée. Levée lorsqu'un modèle codable ne peut pas être encodé en JSON. * `cannotParseResponse (en anglais seulement)` Levée lorsqu'une réponse de l'instance ne peut pas être analysée dans son format attendu. * `URL non valide` Levée lorsqu'une URL ne peut pas être formée. Par exemple, si la chaîne contient des caractères illégaux dans une URL ou est une chaîne vide. * `missingAttachmentMetadata` Levée lorsque l'en-tête des métadonnées de la pièce jointe est manquant. * `missingServiceConfiguration` Levée lorsqu'une configuration de service attendue est manquante. * `missingSysID` Levée lorsqu'un paramètre de sys_id attendu est manquant. * `réseau (NetworkServiceError)` * genericError(chaîne) * opérationannulée * serviceDisabled * serverError(Erreur) * systemError(Erreur) Levée lorsqu'un service réseau rencontre une erreur. {#NTblServ-records_S_O_O__NowDataErroriOS-ul-enum} {#NTblServ-records_S_O_O__ul_uzx_thj_ppb} |
[Tableau 45. Paramètres]

{#NTblServ-records_S_O_O__table_uvc_y2j_ppb} {#NTblServ-records_S_O_O__table_vvc_y2j_ppb__entry__2}

| Type | Description |
|-|-|
| Aucun |   |
[Tableau 46. Renvoie]

{#NTblServ-records_S_O_O__table_vvc_y2j_ppb}  
L'exemple de code suivant montre comment appeler cette méthode.

    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 : records(from tableName : String, configuration : FetchConfiguration ? = nil) {#ariaid-title25}

Crée un éditeur qui vous permet de récupérer les enregistrements de la table spécifiée.
Remarque :  
Cette méthode a été déconseillée. Vous devez utiliser l'implémentation async/await de la méthode à la place.  
Le Publisher émet des données que vous pouvez décoder dans un [modèle Codable](https://developer.apple.com/documentation/foundation/archives_and_serialization/encoding_and_decoding_custom_types) personnalisé, ou vous pouvez également utiliser la [NowTableService -- paginator\<Model : Decodable\>(from tableName : String, path : String = Constants.resultPath, coder : Coder = .default, configuration : FetchConfiguration ? = nil)](https://servicenow-prod.fluidtopics.net/M~2KJj16WkQ5ZkXLIqGWWw#NTblServ-paginator_S_S_S_O "Crée un paginateur qui active l’itération de pages de modèles décodés qui gèrent l’imbrication.") fonction. Vous pouvez également utiliser la fonction de commodité convertToRecords() pour transformer les données en un objet NowRecord. L'élément suivant montre comment convertir un éditeur pour qu'il émette des enregistrements Now :

    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()

Pour les jeux de résultats volumineux, utilisez la fonction pour extraire les [NowTableService : paginator(from tableName : String, configuration : FetchConfiguration ? = nil)](https://servicenow-prod.fluidtopics.net/M~2KJj16WkQ5ZkXLIqGWWw#NTblServ-paginator_S_O "Crée un paginateur qui permet l’itération à travers les pages d’enregistrements.") résultats paginés.
{#NTblServ-records_S_O__id_rzw_lcj_ppb__entry__3}{#NTblServ-records_S_O__mobilesdkiOS-tableName-entry}

| Nom | Type | Description |
|-|-|-|
| à partir de tableName | Chaîne | Nom de la table à partir de laquelle récupérer les enregistrements , comme incident. |
| configuration | [FetchConfiguration (Récupérer la configuration)](https://servicenow-prod.fluidtopics.net/5q8taQD5I2dzSerL6Ed_uA#FetchConfigiOSStructure "La structure FetchConfiguration permet de définir la configuration d’extraction des enregistrements à partir de votre ServiceNow instance.") | Facultatif. Configuration à appliquer aux enregistrements récupérés, y compris les filtres qui définissent les enregistrements à renvoyer, la limite de taille de page de pagination, les champs à récupérer et les éléments à inclure dans les champs. Par défaut : néant : tous les enregistrements renvoyés. |
[Tableau 47. Paramètres]

{#NTblServ-records_S_O__id_rzw_lcj_ppb} {#NTblServ-records_S_O__table_yvr_d1j_ppb__entry__2}

| Type | Description |
|-|-|
| AnyPublisher\<Data, NowDataError\> | Réussite : objet de données contenant les enregistrements spécifiés. Échec : NowDataError * `accessToken (AccessTokenProviderError)` * AccessTokenProviderError: code d'erreur ou message du fournisseur du jeton d'accès. * accessTokenRetrievalFailed * userSessionError(_ error : Erreur) Levée lorsqu'une erreur se produit dans le jeton d'accès. * `attachmentValidation` Levée lorsqu'une pièce jointe échoue à la validation. * `badResponse(statusCode : HTTPStatusCode)` * HTTPStatusCode: code d'état reçu de l'instance. Levée lorsqu'une demande renvoie une réponse inattendue * `cannotDecodeModel(DecodingError)` * DecodingError: erreur de décodage détectée. Levée lorsqu'un modèle codable ne peut pas être décodé à partir de JSON. * `cannotDecodeProperty(type : N'importe lequel, de : Chaîne)` * type: type enveloppé à décoder à partir d'une chaîne. * from: Chaîne à décoder vers le type spécifié. Levée lorsqu'une valeur enveloppée dans une chaîne ne peut pas être décodée à partir de JSON. * `cannotEncodeModel(EncodingError)` * EncodingError: Erreur d'encodage détectée. Levée lorsqu'un modèle codable ne peut pas être encodé en JSON. * `cannotParseResponse (en anglais seulement)` Levée lorsqu'une réponse de l'instance ne peut pas être analysée dans son format attendu. * `URL non valide` Levée lorsqu'une URL ne peut pas être formée. Par exemple, si la chaîne contient des caractères illégaux dans une URL ou est une chaîne vide. * `missingAttachmentMetadata` Levée lorsque l'en-tête des métadonnées de la pièce jointe est manquant. * `missingServiceConfiguration` Levée lorsqu'une configuration de service attendue est manquante. * `missingSysID` Levée lorsqu'un paramètre de sys_id attendu est manquant. * `réseau (NetworkServiceError)` * genericError(chaîne) * opérationannulée * serviceDisabled * serverError(Erreur) * systemError(Erreur) Levée lorsqu'un service réseau rencontre une erreur. {#NTblServ-records_S_O__NowDataErroriOS-ul-enum} |
[Tableau 48. Renvoie]

{#NTblServ-records_S_O__table_yvr_d1j_ppb}  
Cet exemple montre comment créer une fonction qui récupère plusieurs enregistrements à partir d'une table spécifiée. Cela crée un objet qui planifiera l'exécution de la demande à un moment donné dans le futur et renverra une réponse ByteArray.

    tableService.records(from: tableName, configuration: fetchConfiguration)
        .subscribe(on: DispatchQueue.global())
        .receive(on: DispatchQueue.main)
        .convertToRecords()
        .sink { completion in
            if case let .failure(error) = completion {
                print("Record retrieval failed with NowDataError: \(error)")
            }
        } receiveValue: { records in
            print("Successfully retrieved records: \(records)")
        }
        .store(in: &subscriptions)

## NowTableService - update\<Model : SysIdentifiableModel\>(_ model : Model, in tableName : String, coder : Coder = .default, writeOptions : FieldWriteOptions ? = nil, configuration : FetchConfiguration ? = nil) Levées asynchrones {#ariaid-title26}

Met à jour le modèle codable spécifié dans la table spécifiée.
{#NTblServ-update-async_S_S_S_O_O__table_n4q_3yk_spb__entry__3}

| Nom | Type | Description |
|-|-|-|
| modèle | Modèle | `Modèle SysIdentifiableModel` à mettre à jour dans la table. |
| dans tableName | Chaîne | Nom de la table dans laquelle écrire les enregistrements , comme incident. |
| codeur | Codeur | Facultatif. `Codeur` à utiliser pour coder ou décoder les données envoyées et reçues de l'instance ServiceNow . Valeurs possibles : * default : Les encodeurs par défaut formatent les dates en utilisant le format `aaaa-MM-jj HH :mm :ss` en utilisant les `paramètres régionaux` et `TimeZone` de l'appareil. * personnalisé (JSONEncoder, JSONDecoder) : Utilisez des codeurs `personnalisés` pour avoir un contrôle plus précis sur le décodage/encodage JSON. Utilisez uniquement cette énumération pour fournir vos propres `JSONEncoder` et `JSONDecoder`, par exemple lorsque vous utilisez des formats de date, des fuseaux horaires ou des paramètres régionaux spéciaux. let myEncoder = JSONEncoder() myEncoder.dateFormat = ... let myDecoder = JSONDecoder() myDecoder.dateFormat = ... let coder: Coder = .custom(myEncoder, myDecoder) {#NTblServ-update-async_S_S_S_O_O__ul_nx3_wrd_sqb} Par défaut : .default |
| options d'écriture | [FieldWriteOptions (en anglais seulement)](https://servicenow-prod.fluidtopics.net/WzTNX046Uk0TViU1t353qA#FieldWriteOptionsiOSStruct "La classe FieldWriteOptions fournit des fonctions qui définissent les options de mise à jour ou de création de champs dans un enregistrement sur une ServiceNow instance.") | Facultatif. Options de configuration à appliquer aux données en cours d'écriture dans l'enregistrement. Par défaut : nul |
| configuration | [FetchConfiguration (Récupérer la configuration)](https://servicenow-prod.fluidtopics.net/5q8taQD5I2dzSerL6Ed_uA#FetchConfigiOSStructure "La structure FetchConfiguration permet de définir la configuration d’extraction des enregistrements à partir de votre ServiceNow instance.") | Facultatif. Configuration à appliquer aux enregistrements récupérés, y compris les filtres qui définissent les enregistrements à renvoyer, la limite de taille de page de pagination, les champs à récupérer et les éléments à inclure dans les champs. Par défaut : néant : tous les enregistrements renvoyés. |
[Tableau 49. Paramètres]

{#NTblServ-update-async_S_S_S_O_O__table_n4q_3yk_spb} {#NTblServ-update-async_S_S_S_O_O__table_o4q_3yk_spb__entry__2}

| Type | Description |
|-|-|
| Modèle | Renvoyé lorsque la méthode réussit. Modèle décodable qui a été mis à jour dans la table spécifiée. |
| NowDataError (en anglais seulement) | Levée lorsque la méthode échoue. * `accessToken (AccessTokenProviderError)` * AccessTokenProviderError: code d'erreur ou message du fournisseur du jeton d'accès. * accessTokenRetrievalFailed * userSessionError(_ error : Erreur) Levée lorsqu'une erreur se produit dans le jeton d'accès. * `attachmentValidation` Levée lorsqu'une pièce jointe échoue à la validation. * `badResponse(statusCode : HTTPStatusCode)` * HTTPStatusCode: code d'état reçu de l'instance. Levée lorsqu'une demande renvoie une réponse inattendue * `cannotDecodeModel(DecodingError)` * DecodingError: erreur de décodage détectée. Levée lorsqu'un modèle codable ne peut pas être décodé à partir de JSON. * `cannotDecodeProperty(type : N'importe lequel, de : Chaîne)` * type: type enveloppé à décoder à partir d'une chaîne. * from: Chaîne à décoder vers le type spécifié. Levée lorsqu'une valeur enveloppée dans une chaîne ne peut pas être décodée à partir de JSON. * `cannotEncodeModel(EncodingError)` * EncodingError: Erreur d'encodage détectée. Levée lorsqu'un modèle codable ne peut pas être encodé en JSON. * `cannotParseResponse (en anglais seulement)` Levée lorsqu'une réponse de l'instance ne peut pas être analysée dans son format attendu. * `URL non valide` Levée lorsqu'une URL ne peut pas être formée. Par exemple, si la chaîne contient des caractères illégaux dans une URL ou est une chaîne vide. * `missingAttachmentMetadata` Levée lorsque l'en-tête des métadonnées de la pièce jointe est manquant. * `missingServiceConfiguration` Levée lorsqu'une configuration de service attendue est manquante. * `missingSysID` Levée lorsqu'un paramètre de sys_id attendu est manquant. * `réseau (NetworkServiceError)` * genericError(chaîne) * opérationannulée * serviceDisabled * serverError(Erreur) * systemError(Erreur) Levée lorsqu'un service réseau rencontre une erreur. {#NTblServ-update-async_S_S_S_O_O__NowDataErroriOS-ul-enum} |
[Tableau 50. Renvoie]

{#NTblServ-update-async_S_S_S_O_O__table_o4q_3yk_spb}  
Les exemples de code suivants montrent comment appeler cette méthode.

    struct User: SysIdentifiableModel {
        var sysId: String = ""
        var name: String}
         
    func updateUser(user: User) async throws -> User {
        do {
            let result = try await tableService.update(user, in: "sys_user")
            return result
        } catch {
            print("Update failed with NowDataError: \(error)")
            throw error
        }
    }

## NowTableService : update\<Model : SysIdentifiableModel\>(_ model : Model, in tableName : String, coder : Coder = .default, writeOptions : FieldWriteOptions ? = nil, configuration : FetchConfiguration ? = nil, completion : @escaping (Result\<Model, NowDataError\>)) {#ariaid-title27}

Met à jour le modèle codable spécifié dans la table spécifiée, puis exécute le completion gestionnaire.
{#NTblServ-update_S_S_S_O_O_O__table_nmv_vpr_spb__entry__3}

| Nom | Type | Description |
|-|-|-|
| modèle | Modèle | `Modèle SysIdentifiableModel` à mettre à jour dans la table. |
| dans tableName | Chaîne | Nom de la table dans laquelle écrire les enregistrements , comme incident. |
| codeur | Codeur | Facultatif. `Codeur` à utiliser pour coder ou décoder les données envoyées et reçues de l'instance ServiceNow . Valeurs possibles : * default : Les encodeurs par défaut formatent les dates en utilisant le format `aaaa-MM-jj HH :mm :ss` en utilisant les `paramètres régionaux` et `TimeZone` de l'appareil. * personnalisé (JSONEncoder, JSONDecoder) : Utilisez des codeurs `personnalisés` pour avoir un contrôle plus précis sur le décodage/encodage JSON. Utilisez uniquement cette énumération pour fournir vos propres `JSONEncoder` et `JSONDecoder`, par exemple lorsque vous utilisez des formats de date, des fuseaux horaires ou des paramètres régionaux spéciaux. let myEncoder = JSONEncoder() myEncoder.dateFormat = ... let myDecoder = JSONDecoder() myDecoder.dateFormat = ... let coder: Coder = .custom(myEncoder, myDecoder) {#NTblServ-update_S_S_S_O_O_O__ul_nx3_wrd_sqb} Par défaut : .default |
| options d'écriture | [FieldWriteOptions (en anglais seulement)](https://servicenow-prod.fluidtopics.net/WzTNX046Uk0TViU1t353qA#FieldWriteOptionsiOSStruct "La classe FieldWriteOptions fournit des fonctions qui définissent les options de mise à jour ou de création de champs dans un enregistrement sur une ServiceNow instance.") | Facultatif. Options de configuration à appliquer aux données en cours d'écriture dans l'enregistrement. Par défaut : nul |
| configuration | [FetchConfiguration (Récupérer la configuration)](https://servicenow-prod.fluidtopics.net/5q8taQD5I2dzSerL6Ed_uA#FetchConfigiOSStructure "La structure FetchConfiguration permet de définir la configuration d’extraction des enregistrements à partir de votre ServiceNow instance.") | Facultatif. Configuration à appliquer aux enregistrements récupérés, y compris les filtres qui définissent les enregistrements à renvoyer, la limite de taille de page de pagination, les champs à récupérer et les éléments à inclure dans les champs. Par défaut : néant : tous les enregistrements renvoyés. |
| achèvement | @escaping (Result\<Model, NowDataError\>) | Gestionnaire de complétion à exécuter après la mise à jour du ou des modèles codables spécifiés. Valeurs de retour : * Réussite : modèle * Échec : NowDataError * `accessToken (AccessTokenProviderError)` * AccessTokenProviderError: code d'erreur ou message du fournisseur du jeton d'accès. * accessTokenRetrievalFailed * userSessionError(_ error : Erreur) Levée lorsqu'une erreur se produit dans le jeton d'accès. * `attachmentValidation` Levée lorsqu'une pièce jointe échoue à la validation. * `badResponse(statusCode : HTTPStatusCode)` * HTTPStatusCode: code d'état reçu de l'instance. Levée lorsqu'une demande renvoie une réponse inattendue * `cannotDecodeModel(DecodingError)` * DecodingError: erreur de décodage détectée. Levée lorsqu'un modèle codable ne peut pas être décodé à partir de JSON. * `cannotDecodeProperty(type : N'importe lequel, de : Chaîne)` * type: type enveloppé à décoder à partir d'une chaîne. * from: Chaîne à décoder vers le type spécifié. Levée lorsqu'une valeur enveloppée dans une chaîne ne peut pas être décodée à partir de JSON. * `cannotEncodeModel(EncodingError)` * EncodingError: Erreur d'encodage détectée. Levée lorsqu'un modèle codable ne peut pas être encodé en JSON. * `cannotParseResponse (en anglais seulement)` Levée lorsqu'une réponse de l'instance ne peut pas être analysée dans son format attendu. * `URL non valide` Levée lorsqu'une URL ne peut pas être formée. Par exemple, si la chaîne contient des caractères illégaux dans une URL ou est une chaîne vide. * `missingAttachmentMetadata` Levée lorsque l'en-tête des métadonnées de la pièce jointe est manquant. * `missingServiceConfiguration` Levée lorsqu'une configuration de service attendue est manquante. * `missingSysID` Levée lorsqu'un paramètre de sys_id attendu est manquant. * `réseau (NetworkServiceError)` * genericError(chaîne) * opérationannulée * serviceDisabled * serverError(Erreur) * systemError(Erreur) Levée lorsqu'un service réseau rencontre une erreur. {#NTblServ-update_S_S_S_O_O_O__NowDataErroriOS-ul-enum} {#NTblServ-update_S_S_S_O_O_O__ul_dpx_jvk_spb} |
[Tableau 51. Paramètres]

{#NTblServ-update_S_S_S_O_O_O__table_nmv_vpr_spb} {#NTblServ-update_S_S_S_O_O_O__table_omv_vpr_spb__entry__2}

| Type | Description |
|-|-|
| Aucun |   |
[Tableau 52. Renvoie]

{#NTblServ-update_S_S_S_O_O_O__table_omv_vpr_spb}  
L'exemple de code suivant montre comment appeler cette méthode.

    struct User: SysIdentifiableModel {
      var sysId: String = ""
      var name: String
    }

    let user = User(sysId: "12345", name: "abel")
    let coder: Coder = .default

    tableService.update(user, in: "sys_user") { [weak self] result in
      switch result {
        case .success(let model):
          do {
            let data = try coder.jsonEncoder.encode(model)
            self?.publish(data: data)
          } catch {
            self?.publish(result: .failure(error))
          }            
        case .failure(let error):
          // Failed to update with NowDataError
          self?.publish(result: .failure(error))
      }
    }

## NowTableService : update\<Model : SysIdentifiableModel\>(_ model : Model, in tableName : String, coder : Coder = .default, writeOptions : FieldWriteOptions ? = nil, configuration : FetchConfiguration ? = nil) {#ariaid-title28}

Met à jour le modèle codable spécifié dans la table spécifiée.
Remarque :  
Cette méthode a été déconseillée. Vous devez utiliser l'implémentation async/await de la méthode à la place.
{#NTblServ-update_S_S_S_O_O__table_n4q_3yk_spb__entry__3}

| Nom | Type | Description |
|-|-|-|
| modèle | Modèle | `Modèle SysIdentifiableModel` à mettre à jour dans la table. |
| dans tableName | Chaîne | Nom de la table dans laquelle écrire les enregistrements , comme incident. |
| codeur | Codeur | Facultatif. `Codeur` à utiliser pour coder ou décoder les données envoyées et reçues de l'instance ServiceNow . Valeurs possibles : * default : Les encodeurs par défaut formatent les dates en utilisant le format `aaaa-MM-jj HH :mm :ss` en utilisant les `paramètres régionaux` et `TimeZone` de l'appareil. * personnalisé (JSONEncoder, JSONDecoder) : Utilisez des codeurs `personnalisés` pour avoir un contrôle plus précis sur le décodage/encodage JSON. Utilisez uniquement cette énumération pour fournir vos propres `JSONEncoder` et `JSONDecoder`, par exemple lorsque vous utilisez des formats de date, des fuseaux horaires ou des paramètres régionaux spéciaux. let myEncoder = JSONEncoder() myEncoder.dateFormat = ... let myDecoder = JSONDecoder() myDecoder.dateFormat = ... let coder: Coder = .custom(myEncoder, myDecoder) {#NTblServ-update_S_S_S_O_O__ul_nx3_wrd_sqb} Par défaut : .default |
| options d'écriture | [FieldWriteOptions (en anglais seulement)](https://servicenow-prod.fluidtopics.net/WzTNX046Uk0TViU1t353qA#FieldWriteOptionsiOSStruct "La classe FieldWriteOptions fournit des fonctions qui définissent les options de mise à jour ou de création de champs dans un enregistrement sur une ServiceNow instance.") | Facultatif. Options de configuration à appliquer aux données en cours d'écriture dans l'enregistrement. Par défaut : nul |
| configuration | [FetchConfiguration (Récupérer la configuration)](https://servicenow-prod.fluidtopics.net/5q8taQD5I2dzSerL6Ed_uA#FetchConfigiOSStructure "La structure FetchConfiguration permet de définir la configuration d’extraction des enregistrements à partir de votre ServiceNow instance.") | Facultatif. Configuration à appliquer aux enregistrements récupérés, y compris les filtres qui définissent les enregistrements à renvoyer, la limite de taille de page de pagination, les champs à récupérer et les éléments à inclure dans les champs. Par défaut : néant : tous les enregistrements renvoyés. |
[Tableau 53. Paramètres]

{#NTblServ-update_S_S_S_O_O__table_n4q_3yk_spb} {#NTblServ-update_S_S_S_O_O__table_o4q_3yk_spb__entry__2}

| Type | Description |
|-|-|
| AnyPublisher\<Model, NowDataError\> | Réussite : modèles décodables qui ont été mis à jour dans la table spécifiée. Échec : NowDataError * `accessToken (AccessTokenProviderError)` * AccessTokenProviderError: code d'erreur ou message du fournisseur du jeton d'accès. * accessTokenRetrievalFailed * userSessionError(_ error : Erreur) Levée lorsqu'une erreur se produit dans le jeton d'accès. * `attachmentValidation` Levée lorsqu'une pièce jointe échoue à la validation. * `badResponse(statusCode : HTTPStatusCode)` * HTTPStatusCode: code d'état reçu de l'instance. Levée lorsqu'une demande renvoie une réponse inattendue * `cannotDecodeModel(DecodingError)` * DecodingError: erreur de décodage détectée. Levée lorsqu'un modèle codable ne peut pas être décodé à partir de JSON. * `cannotDecodeProperty(type : N'importe lequel, de : Chaîne)` * type: type enveloppé à décoder à partir d'une chaîne. * from: Chaîne à décoder vers le type spécifié. Levée lorsqu'une valeur enveloppée dans une chaîne ne peut pas être décodée à partir de JSON. * `cannotEncodeModel(EncodingError)` * EncodingError: Erreur d'encodage détectée. Levée lorsqu'un modèle codable ne peut pas être encodé en JSON. * `cannotParseResponse (en anglais seulement)` Levée lorsqu'une réponse de l'instance ne peut pas être analysée dans son format attendu. * `URL non valide` Levée lorsqu'une URL ne peut pas être formée. Par exemple, si la chaîne contient des caractères illégaux dans une URL ou est une chaîne vide. * `missingAttachmentMetadata` Levée lorsque l'en-tête des métadonnées de la pièce jointe est manquant. * `missingServiceConfiguration` Levée lorsqu'une configuration de service attendue est manquante. * `missingSysID` Levée lorsqu'un paramètre de sys_id attendu est manquant. * `réseau (NetworkServiceError)` * genericError(chaîne) * opérationannulée * serviceDisabled * serverError(Erreur) * systemError(Erreur) Levée lorsqu'un service réseau rencontre une erreur. {#NTblServ-update_S_S_S_O_O__NowDataErroriOS-ul-enum} |
[Tableau 54. Renvoie]

{#NTblServ-update_S_S_S_O_O__table_o4q_3yk_spb}  
L'exemple de code suivant montre comment appeler cette méthode.

    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, configuration : FieldReadConfiguration ? = nil) Levées asynchrones {#ariaid-title29}

Met à jour l'enregistrement spécifié avec les champs spécifiés.
Vous pouvez décoder les données dans un [modèle Codable](https://developer.apple.com/documentation/foundation/archives_and_serialization/encoding_and_decoding_custom_types) personnalisé, ou vous pouvez utiliser la [NowTableService -- paginator\<Model : Decodable\>(from tableName : String, path : String = Constants.resultPath, coder : Coder = .default, configuration : FetchConfiguration ? = nil)](https://servicenow-prod.fluidtopics.net/M~2KJj16WkQ5ZkXLIqGWWw#NTblServ-paginator_S_S_S_O "Crée un paginateur qui active l’itération de pages de modèles décodés qui gèrent l’imbrication.") fonction. Vous pouvez également utiliser la fonction de commodité convertToRecords() pour transformer les données en un objet NowRecord. L'élément suivant montre comment convertir un éditeur pour qu'il émette des enregistrements Now :

    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()

Remarque :  
Tous les champs d'un enregistrement peuvent ne pas être disponibles pour la mise à jour. Par exemple, les champs dont le préfixe `est sys_` sont généralement des paramètres système générés automatiquement et qui ne peuvent pas être mis à jour. Les champs qui ne sont pas spécifiés et qui ne sont pas générés automatiquement par le système sont définis sur la valeur null du type de données associé.
{#NTblServ-updateRecord-async_S_A_O_O__table_cjl_5sj_ppb__entry__3}

| Nom | Type | Description |
|-|-|-|
| sysId | Chaîne | Sys_id de l'enregistrement à renvoyer à partir de l'instance ServiceNow . |
| avec champs | \[FieldName : FieldValue\] | Paires nom-valeur des champs à inclure dans l'enregistrement. |
| dans tableName | Chaîne | Nom de la table dans laquelle écrire les enregistrements , comme incident. |
| options d'écriture | [FieldWriteOptions (en anglais seulement)](https://servicenow-prod.fluidtopics.net/WzTNX046Uk0TViU1t353qA#FieldWriteOptionsiOSStruct "La classe FieldWriteOptions fournit des fonctions qui définissent les options de mise à jour ou de création de champs dans un enregistrement sur une ServiceNow instance.") | Facultatif. Options de configuration à appliquer aux données en cours d'écriture dans l'enregistrement. Par défaut : nul |
| configuration | [FetchConfiguration (Récupérer la configuration)](https://servicenow-prod.fluidtopics.net/5q8taQD5I2dzSerL6Ed_uA#FetchConfigiOSStructure "La structure FetchConfiguration permet de définir la configuration d’extraction des enregistrements à partir de votre ServiceNow instance.") | Facultatif. Configuration à appliquer aux enregistrements récupérés, y compris les filtres qui définissent les enregistrements à renvoyer, la limite de taille de page de pagination, les champs à récupérer et les éléments à inclure dans les champs. Par défaut : néant : tous les enregistrements renvoyés. |
[Tableau 55. Paramètres]

{#NTblServ-updateRecord-async_S_A_O_O__table_cjl_5sj_ppb} {#NTblServ-updateRecord-async_S_A_O_O__table_djl_5sj_ppb__entry__2}

| Type | Description |
|-|-|
| Données | Renvoyé lorsque la méthode réussit. Objet de données contenant l'enregistrement mis à jour. |
| NowDataError (en anglais seulement) | Levée lorsque la méthode échoue. * `accessToken (AccessTokenProviderError)` * AccessTokenProviderError: code d'erreur ou message du fournisseur du jeton d'accès. * accessTokenRetrievalFailed * userSessionError(_ error : Erreur) Levée lorsqu'une erreur se produit dans le jeton d'accès. * `attachmentValidation` Levée lorsqu'une pièce jointe échoue à la validation. * `badResponse(statusCode : HTTPStatusCode)` * HTTPStatusCode: code d'état reçu de l'instance. Levée lorsqu'une demande renvoie une réponse inattendue * `cannotDecodeModel(DecodingError)` * DecodingError: erreur de décodage détectée. Levée lorsqu'un modèle codable ne peut pas être décodé à partir de JSON. * `cannotDecodeProperty(type : N'importe lequel, de : Chaîne)` * type: type enveloppé à décoder à partir d'une chaîne. * from: Chaîne à décoder vers le type spécifié. Levée lorsqu'une valeur enveloppée dans une chaîne ne peut pas être décodée à partir de JSON. * `cannotEncodeModel(EncodingError)` * EncodingError: Erreur d'encodage détectée. Levée lorsqu'un modèle codable ne peut pas être encodé en JSON. * `cannotParseResponse (en anglais seulement)` Levée lorsqu'une réponse de l'instance ne peut pas être analysée dans son format attendu. * `URL non valide` Levée lorsqu'une URL ne peut pas être formée. Par exemple, si la chaîne contient des caractères illégaux dans une URL ou est une chaîne vide. * `missingAttachmentMetadata` Levée lorsque l'en-tête des métadonnées de la pièce jointe est manquant. * `missingServiceConfiguration` Levée lorsqu'une configuration de service attendue est manquante. * `missingSysID` Levée lorsqu'un paramètre de sys_id attendu est manquant. * `réseau (NetworkServiceError)` * genericError(chaîne) * opérationannulée * serviceDisabled * serverError(Erreur) * systemError(Erreur) Levée lorsqu'un service réseau rencontre une erreur. {#NTblServ-updateRecord-async_S_A_O_O__NowDataErroriOS-ul-enum} |
[Tableau 56. Renvoie]

{#NTblServ-updateRecord-async_S_A_O_O__table_djl_5sj_ppb}  
Les exemples de code suivants montrent comment appeler cette méthode.

    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 : String, avec les champs : \[FieldName : FieldValue\], writeOptions : FieldWriteOptions ? = nil, configuration : FieldReadConfiguration ? = nil, complétion : @escaping (Result\<Data, NowDataError\>) {#ariaid-title30}

Met à jour l'enregistrement spécifié avec les champs spécifiés, puis exécute le completion gestionnaire une fois l'enregistrement enregistré.
Si nécessaire, vous pouvez décoder les résultats de retour dans un modèle Codable personnalisé ou utiliser la fonction à la [NowTableService -- paginator\<Model : Decodable\>(from tableName : String, path : String = Constants.resultPath, coder : Coder = .default, configuration : FetchConfiguration ? = nil)](https://servicenow-prod.fluidtopics.net/M~2KJj16WkQ5ZkXLIqGWWw#NTblServ-paginator_S_S_S_O "Crée un paginateur qui active l’itération de pages de modèles décodés qui gèrent l’imbrication.") place. Vous pouvez également utiliser la fonction de commodité convertToRecords() pour transformer les données en un objet NowRecord. L'élément suivant montre comment convertir un éditeur pour qu'il émette des enregistrements Now :

    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myResult.convertToRecords()

Remarque :  
Tous les champs d'un enregistrement peuvent ne pas être disponibles pour la mise à jour. Par exemple, les champs dont le préfixe `est sys_` sont généralement des paramètres système générés automatiquement et qui ne peuvent pas être mis à jour. Les champs qui ne sont pas spécifiés et qui ne sont pas générés automatiquement par le système sont définis sur la valeur null du type de données associé.
{#NTblServ-updateRecord_S_A_O_O_O__table_jq5_ttj_ppb__entry__3}

| Nom | Type | Description |
|-|-|-|
| sysId | Chaîne | Sys_id de l'enregistrement à renvoyer à partir de l'instance ServiceNow . |
| avec champs | \[FieldName : FieldValue\] | Paires nom-valeur des champs à inclure dans l'enregistrement. |
| dans tableName | Chaîne | Nom de la table dans laquelle écrire les enregistrements , comme incident. |
| options d'écriture | [FieldWriteOptions (en anglais seulement)](https://servicenow-prod.fluidtopics.net/WzTNX046Uk0TViU1t353qA#FieldWriteOptionsiOSStruct "La classe FieldWriteOptions fournit des fonctions qui définissent les options de mise à jour ou de création de champs dans un enregistrement sur une ServiceNow instance.") | Facultatif. Options de configuration à appliquer aux données en cours d'écriture dans l'enregistrement. Par défaut : nul |
| configuration | [FetchConfiguration (Récupérer la configuration)](https://servicenow-prod.fluidtopics.net/5q8taQD5I2dzSerL6Ed_uA#FetchConfigiOSStructure "La structure FetchConfiguration permet de définir la configuration d’extraction des enregistrements à partir de votre ServiceNow instance.") | Facultatif. Configuration à appliquer aux enregistrements récupérés, y compris les filtres qui définissent les enregistrements à renvoyer, la limite de taille de page de pagination, les champs à récupérer et les éléments à inclure dans les champs. Par défaut : néant : tous les enregistrements renvoyés. |
| achèvement | @escaping (Result\<Data, NowDataError\>) | Gestionnaire de complétion à exécuter une fois les enregistrements récupérés. Valeurs de retour : * Réussite : données : enregistrements demandés * Erreur : NowDataError * `accessToken (AccessTokenProviderError)` * AccessTokenProviderError: code d'erreur ou message du fournisseur du jeton d'accès. * accessTokenRetrievalFailed * userSessionError(_ error : Erreur) Levée lorsqu'une erreur se produit dans le jeton d'accès. * `attachmentValidation` Levée lorsqu'une pièce jointe échoue à la validation. * `badResponse(statusCode : HTTPStatusCode)` * HTTPStatusCode: code d'état reçu de l'instance. Levée lorsqu'une demande renvoie une réponse inattendue * `cannotDecodeModel(DecodingError)` * DecodingError: erreur de décodage détectée. Levée lorsqu'un modèle codable ne peut pas être décodé à partir de JSON. * `cannotDecodeProperty(type : N'importe lequel, de : Chaîne)` * type: type enveloppé à décoder à partir d'une chaîne. * from: Chaîne à décoder vers le type spécifié. Levée lorsqu'une valeur enveloppée dans une chaîne ne peut pas être décodée à partir de JSON. * `cannotEncodeModel(EncodingError)` * EncodingError: Erreur d'encodage détectée. Levée lorsqu'un modèle codable ne peut pas être encodé en JSON. * `cannotParseResponse (en anglais seulement)` Levée lorsqu'une réponse de l'instance ne peut pas être analysée dans son format attendu. * `URL non valide` Levée lorsqu'une URL ne peut pas être formée. Par exemple, si la chaîne contient des caractères illégaux dans une URL ou est une chaîne vide. * `missingAttachmentMetadata` Levée lorsque l'en-tête des métadonnées de la pièce jointe est manquant. * `missingServiceConfiguration` Levée lorsqu'une configuration de service attendue est manquante. * `missingSysID` Levée lorsqu'un paramètre de sys_id attendu est manquant. * `réseau (NetworkServiceError)` * genericError(chaîne) * opérationannulée * serviceDisabled * serverError(Erreur) * systemError(Erreur) Levée lorsqu'un service réseau rencontre une erreur. {#NTblServ-updateRecord_S_A_O_O_O__NowDataErroriOS-ul-enum} {#NTblServ-updateRecord_S_A_O_O_O__ul_uzx_thj_ppb} |
[Tableau 57. Paramètres]

{#NTblServ-updateRecord_S_A_O_O_O__table_jq5_ttj_ppb} {#NTblServ-updateRecord_S_A_O_O_O__table_kq5_ttj_ppb__entry__2}

| Type | Description |
|-|-|
| Aucun |   |
[Tableau 58. Renvoie]

{#NTblServ-updateRecord_S_A_O_O_O__table_kq5_ttj_ppb}  
L'exemple de code suivant montre comment appeler cette méthode.

    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, configuration : FieldReadConfiguration ? = nil) {#ariaid-title31}

Met à jour l'enregistrement spécifié avec les champs spécifiés.
Remarque :  
Cette méthode a été déconseillée. Vous devez utiliser l'implémentation async/await de la méthode à la place.  
Le Publisher émet des données que vous pouvez décoder dans un [modèle Codable](https://developer.apple.com/documentation/foundation/archives_and_serialization/encoding_and_decoding_custom_types) personnalisé, ou vous pouvez également utiliser la [NowTableService -- paginator\<Model : Decodable\>(from tableName : String, path : String = Constants.resultPath, coder : Coder = .default, configuration : FetchConfiguration ? = nil)](https://servicenow-prod.fluidtopics.net/M~2KJj16WkQ5ZkXLIqGWWw#NTblServ-paginator_S_S_S_O "Crée un paginateur qui active l’itération de pages de modèles décodés qui gèrent l’imbrication.") fonction. Vous pouvez également utiliser la fonction de commodité convertToRecords() pour transformer les données en un objet NowRecord. L'élément suivant montre comment convertir un éditeur pour qu'il émette des enregistrements Now :

    let dataPublisher: AnyPublisher<Data, NowDataError> = ...
    let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()

Remarque :  
Tous les champs d'un enregistrement peuvent ne pas être disponibles pour la mise à jour. Par exemple, les champs dont le préfixe `est sys_` sont généralement des paramètres système générés automatiquement et qui ne peuvent pas être mis à jour. Les champs qui ne sont pas spécifiés et qui ne sont pas générés automatiquement par le système sont définis sur la valeur null du type de données associé.
{#NTblServ-updateRecord_S_A_O_O__table_cjl_5sj_ppb__entry__3}

| Nom | Type | Description |
|-|-|-|
| sysId | Chaîne | Sys_id de l'enregistrement à renvoyer à partir de l'instance ServiceNow . |
| avec champs | \[FieldName : FieldValue\] | Paires nom-valeur des champs à inclure dans l'enregistrement. |
| dans tableName | Chaîne | Nom de la table dans laquelle écrire les enregistrements , comme incident. |
| options d'écriture | [FieldWriteOptions (en anglais seulement)](https://servicenow-prod.fluidtopics.net/WzTNX046Uk0TViU1t353qA#FieldWriteOptionsiOSStruct "La classe FieldWriteOptions fournit des fonctions qui définissent les options de mise à jour ou de création de champs dans un enregistrement sur une ServiceNow instance.") | Facultatif. Options de configuration à appliquer aux données en cours d'écriture dans l'enregistrement. Par défaut : nul |
| configuration | [FetchConfiguration (Récupérer la configuration)](https://servicenow-prod.fluidtopics.net/5q8taQD5I2dzSerL6Ed_uA#FetchConfigiOSStructure "La structure FetchConfiguration permet de définir la configuration d’extraction des enregistrements à partir de votre ServiceNow instance.") | Facultatif. Configuration à appliquer aux enregistrements récupérés, y compris les filtres qui définissent les enregistrements à renvoyer, la limite de taille de page de pagination, les champs à récupérer et les éléments à inclure dans les champs. Par défaut : néant : tous les enregistrements renvoyés. |
[Tableau 59. Paramètres]

{#NTblServ-updateRecord_S_A_O_O__table_cjl_5sj_ppb} {#NTblServ-updateRecord_S_A_O_O__table_djl_5sj_ppb__entry__2}

| Type | Description |
|-|-|
| AnyPublisher\<Data, NowDataError\> | Réussite : objet de données contenant l'enregistrement mis à jour. Échec : NowDataError * `accessToken (AccessTokenProviderError)` * AccessTokenProviderError: code d'erreur ou message du fournisseur du jeton d'accès. * accessTokenRetrievalFailed * userSessionError(_ error : Erreur) Levée lorsqu'une erreur se produit dans le jeton d'accès. * `attachmentValidation` Levée lorsqu'une pièce jointe échoue à la validation. * `badResponse(statusCode : HTTPStatusCode)` * HTTPStatusCode: code d'état reçu de l'instance. Levée lorsqu'une demande renvoie une réponse inattendue * `cannotDecodeModel(DecodingError)` * DecodingError: erreur de décodage détectée. Levée lorsqu'un modèle codable ne peut pas être décodé à partir de JSON. * `cannotDecodeProperty(type : N'importe lequel, de : Chaîne)` * type: type enveloppé à décoder à partir d'une chaîne. * from: Chaîne à décoder vers le type spécifié. Levée lorsqu'une valeur enveloppée dans une chaîne ne peut pas être décodée à partir de JSON. * `cannotEncodeModel(EncodingError)` * EncodingError: Erreur d'encodage détectée. Levée lorsqu'un modèle codable ne peut pas être encodé en JSON. * `cannotParseResponse (en anglais seulement)` Levée lorsqu'une réponse de l'instance ne peut pas être analysée dans son format attendu. * `URL non valide` Levée lorsqu'une URL ne peut pas être formée. Par exemple, si la chaîne contient des caractères illégaux dans une URL ou est une chaîne vide. * `missingAttachmentMetadata` Levée lorsque l'en-tête des métadonnées de la pièce jointe est manquant. * `missingServiceConfiguration` Levée lorsqu'une configuration de service attendue est manquante. * `missingSysID` Levée lorsqu'un paramètre de sys_id attendu est manquant. * `réseau (NetworkServiceError)` * genericError(chaîne) * opérationannulée * serviceDisabled * serverError(Erreur) * systemError(Erreur) Levée lorsqu'un service réseau rencontre une erreur. {#NTblServ-updateRecord_S_A_O_O__NowDataErroriOS-ul-enum} |
[Tableau 60. Renvoie]

{#NTblServ-updateRecord_S_A_O_O__table_djl_5sj_ppb}  
Cet exemple montre comment créer une fonction qui met à jour un enregistrement dans la table spécifiée, avec les champs spécifiés. La sortie de l'appel est un ByteArray qui vous permet de convertir les données dans n'importe quel modèle que vous voulez.

    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)


