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
L’objet Filtre d’un appel FetchConfiguration vous permet de définir les exigences de filtre et de tri pour 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 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 :
val activeIncidents = BooleanSimpleCondition.conditionIs("active", true) val assignedToEmpty = StringSimpleCondition.isEmpty("assigned_to") val assignedToAbel = StringSimpleCondition.conditionIs("assigned_to", "Abel Tuter") val assignedToAbelOrEmpty = CompoundCondition( ConditionUtils.CompoundOperator.OR, listOf(assignedToEmpty, assignedToAbel)) val needToReassign = Criteria().addConditions(listOf(activeIncidents, assignedToAbelOrEmpty)) val highEscelations = StringSimpleCondition.conditionIs("escalation", "2") val overdueEscelations = StringSimpleCondition.conditionIs("escalation", "3") val highOrOverdueEscelations = CompoundCondition(ConditionUtils.CompoundOperator.OR, listOf(highEscelations, overdueEscelations)) val needToHandleEscalation = Criteria().addCondition(highOrOverdueEscelations) val myPrioritiesForTodayFilter = Filter(listOf(needToReassign, needToHandleEscalation)) // Get record using filter val response = runCatching { getNowTableService()?.records( "sn_customerservice_case", FetchConfiguration(myPrioritiesForTodayFilter, 10) )?.execute() }Pour utiliser ce type de filtrage, utilisez la fonction Filter(criteriaList : List<Criteria>, sortBy : List<Sort> ? = null).
- Filtrer par mots clés et conditions. Ce filtre vous permet de filtrer les enregistrements en fonction de mots clés et de conditions spécifiques qui peuvent être AND’d ou OR ensemble.
Par exemple :
val keywords = "iOS 13 | iOS 14" val conditionA = BooleanSimpleCondition.conditionIs(testField, true) val conditionB = BooleanSimpleCondition.conditionIs(testField2, false) val sortA = Sort(testField, ConditionUtils.SortOperator.ORDER_ASC) val filter = Filter(conditions = listOf(conditionA, conditionB), keywords = keywords, sortBy = listOf(sortA)) assertEquals(filter.query().second, "${conditionA.makeConditionQuery()}^${conditionB.makeConditionQuery()}^123TEXTQUERY321=$keywords^EQ^${sortA.makeSortQuery()}")Pour utiliser ce type de filtrage, utilisez la Filtre : Filter(conditions : List<Condition>, keywords : String ? = null, sortBy : List<Sort> ? = null) fonction.
Configuration des champs spécifiques à retourner
- Valeurs d’affichage
- Valeurs réelles
- Exclure les liens de référence