Configurer les données de résultats de retour
Dans le Mobile SDK, lorsque vous interagissez avec les données d’une ServiceNow instance via un point de terminaison REST, vous pouvez configurer les données renvoyées dans les résultats renvoyés.
- Enregistrements spécifiques à renvoyer à partir d’une table.
- Champs spécifiques à renvoyer à partir des enregistrements.
- Nombre d’enregistrements à renvoyer.
Configuration des enregistrements spécifiques à renvoyer
La structure Filtre d’un appel FetchConfiguration vous permet de filtrer et de trier les enregistrements extraits d’une ServiceNow instance et renvoyés dans les résultats de retour à partir d’un point de terminaison REST. Ce filtre est transmis dans le sysparm_query paramètre du point de terminaison de l’API REST. Pour plus d’informations, consultez l’API de table.
- Filtrer par requête codée requête codée. Ce type de filtre vous permet de transmettre une requête codée qui est appliquée aux enregistrements de la table spécifiée.Par exemple, l’appel suivant renvoie uniquement les enregistrements qui sont actifs et dont le champ Description courte contient le mot « cassé » :
Filter(query: "active=true^short_descriptionLIKEbroken"Pour utiliser ce type de filtrage, initialisez la structure du filtre à l’aide de la Filtre : init(query : String, queryCategory : String ? = nil) fonction.
- Filtrer par critères. Ce filtre vous permet de filtrer en fonction d’un ou de plusieurs critères de filtre qui sont OU ensemble.Par exemple, un responsable a un employé Abel Tuter qui est en PTO. Ils veulent savoir s’il existe des incidents actifs qui ne sont affectés à personne ou affectés à Abel Tuter afin de pouvoir les affecter ou les réaffecter. Ils veulent également voir dans cette même liste tous les incidents qui ont une escalade élevée ou en retard afin de pouvoir également les traiter. L’exemple suivant montre comment créer les filtres nécessaires pour obtenir ces données :
let activeIncidents = Condition.boolean(field: "active", .is(true)) let assignedToEmpty = Condition.string(field: "assigned_to", .isEmpty) let assignedToAbel = Condition.string(field: "assigned_to", .is("Abel Tuter")) let assignedToAbelOrEmpty = CompoundCondition.or([assignedToEmpty, assignedToAbel]) let needToReassign = Criteria(conditions: [activeIncidents, assignedToAbelOrEmpty]) let highEscelations = Condition.string(field: "escalation", .is("2")) let overdueEscelations = Condition.string(field: "escalation", .is("3")) let highORoverdueEscelations = CompoundCondition.or([highEscelations, overdueEscelations]) let needToHandleEscalation = Criteria(condition: highOrOverdueEscelations) let myPrioritiesForTodayFilter = Filter(criteria: [needToReassign, needToHandleEscalation])Pour utiliser ce type de filtrage, initialisez la structure du filtre à l’aide de la Filter : init(criteria criteriaList : [Criteria], sortBy : [Sort] ? = nil, queryCategory : String ? = nil) fonction.
- Filtrer par mots clés et conditions. Ce filtre vous permet de filtrer les enregistrements en fonction de mots clés spécifiques et de conditions qui sont ensemble.
Par exemple, les filtres suivants répertorient tous les enregistrements qui contiennent le mot clé « iOS13 ou iOS 14 » et qui remplissent la condition spécifiée, triés par testField.
testKeywordsAndConditionsAndSort() { let keywords = "iOS 13 | iOS 14" let conditionA = Condition.boolean(field: testField, .is(true)) let conditionB = Condition.boolean(field: testField2, .is(false)) let sortA = Sort.asc(testField) let filter = Filter(keywords: keywords, conditions: [conditionA, conditionB], sortBy: [sortA]) XCTAssertEqual(filter.query, "123TEXTQUERY321=\(keywords)^\(conditionA.query)^\(conditionB.query)^EQ^\(sortA.query)") }Pour utiliser ce type de filtrage, initialisez la structure du filtre à l’aide de la Filter : init(mots-clés : Chaîne ? = nil, conditions : [Condition], sortBy : [Tri] ? = nil) fonction.
- Filtrer par conditions. Ce filtre vous permet de filtrer les enregistrements qui remplissent toutes les conditions spécifiées (ET ensemble).
Par exemple, les filtres suivants concernent tous les enregistrements dont le champ Actif est « vrai » et dont la valeur de date est « aujourd’hui » ou toute date postérieure à aujourd’hui.
// Where the record is active let condition1 = Condition.boolean(field: "active", .is(true)) // AND the date value of the SLA due field is on "today" or any date after today. let condition2 = Condition.dateTime(field: "sla_due", .atOrAfter(0, .daysAgoStart)) let filter = Filter(conditions: [condition1, condition2])Pour utiliser ce type de filtrage, initialisez la structure du filtre à l’aide de la Filter - init(conditions : [QueryProviding], sorts : [Sort] ? = nil) fonction.
Configuration des champs spécifiques à retourner
- Valeurs d’affichage
- Valeurs réelles
- Exclure les liens de référence