🅰️

Erreur InvalidOperationException

Cet article traite de la page d'erreur technique sur Air, il explique l'origine de ces deux messages d'erreur, la manière de les distinguer, et la procédure à suivre pour transmettre l'incident au Niveau 2 si nécessaire.


Origine technique commune

Ces deux messages proviennent tous les deux du même mécanisme technique interne à l'application : une recherche en base de données qui s'attend à trouver un seul résultat précis, mais qui n'en trouve pas le nombre attendu. Ce mécanisme s'appelle LINQ (Language Integrated Query), une technologie utilisée par le logiciel pour interroger la base de données. Selon que la recherche trouve trop de résultats ou aucun résultat, le message affiché diffère, mais la cause profonde est toujours la même : une incohérence dans les données consultées par cette recherche.


Partie 1 : « La séquence contient plusieurs éléments »

Ce que signifie ce message

Ce message apparaît lorsque le logiciel recherche un enregistrement unique dans la base de données (par exemple, un praticien remplaçant associé à un utilisateur), mais que la recherche remonte plusieurs enregistrements au lieu d'un seul. Le système refuse alors de choisir arbitrairement lequel utiliser, et bloque la requête avec une erreur InvalidOperationException.

Où cette erreur se produit généralement

Cette erreur apparaît le plus souvent dès l'ouverture de la page connexion ou de la page d'accueil, avant même que l'utilisateur ait pu effectuer une action. Cela indique que le problème est lié à l'initialisation du compte ou du cabinet, et non à une manipulation ponctuelle de l'utilisateur.

Causes probables

  • Présence d'un doublon dans les données (par exemple, deux fiches actives de « remplaçant » enregistrées pour le même praticien).

  • Absence d'un filtre attendu dans la recherche (statut « actif », plage de dates en cours), ce qui fait remonter des enregistrements historiques en plus de l'enregistrement actuel.

Étapes à suivre avant escalade

  1. Identifiez le compte ou le cabinet concerné à partir de l'adresse affichée dans la barre de navigation.

  2. Demandez à un autre utilisateur du même cabinet de se connecter, afin de vérifier si l'erreur est isolée à un seul compte ou si elle touche l'ensemble du cabinet.

  3. Notez l'heure exacte de l'apparition de l'erreur ainsi que l'action réalisée juste avant (connexion, changement de page, etc.).

  4. Capturez l'intégralité de la page d'erreur, y compris la section « Trace de la pile », qui contient des informations indispensables au diagnostic.


Partie 2 : « La séquence ne contient aucun élément »

Ce que signifie ce message

Ce message est l'exact opposé du précédent. Il apparaît lorsque le logiciel recherche un enregistrement qu'il considère comme obligatoire, mais que la base de données n'en retourne aucun. Le système ne trouve donc rien à utiliser et bloque également la requête avec une erreur InvalidOperationException.

Où cette erreur se produit généralement

Comme pour la première erreur, ce message apparaît fréquemment lors de l'initialisation de l'application, ce qui signifie qu'une donnée considérée comme indispensable au démarrage (par exemple, un paramètre de configuration ou un enregistrement lié au praticien) est manquante ou a été supprimée.

Causes probables

  • Une donnée de référence a été supprimée ou désactivée par erreur (par exemple, un paramétrage lié au cabinet ou au praticien).

  • Un enregistrement obligatoire n'a jamais été créé pour ce compte (cas fréquent après une migration de données ou une création de compte incomplète).

  • Une valeur attendue par le système (identifiant, code, date) est absente ou mal renseignée dans la base.

Étapes à suivre avant escalade

  1. Identifiez le compte ou le cabinet concerné à partir de l'adresse affichée dans la barre de navigation.

  2. Vérifiez si le compte a récemment fait l'objet d'une modification (changement de praticien, migration, mise à jour de paramétrage).

  3. Demandez à un autre utilisateur du même cabinet de se connecter, afin de vérifier si l'erreur est isolée à un seul compte.

  4. Capturez l'intégralité de la page d'erreur, y compris la section « Trace de la pile ».


Partie 3 : « La fenêtre n'est actuellement pas ouverte »

  1. Lisez intégralement le message qui suit l'exception : il décrit la règle exacte qui est en anomalie.

  2. Vérifiez l'objet fonctionnel concerné par cette règle avant de retenter l'action.

  3. Vérifiez que le lecteur de carte utilisé est à jour, en particulier lors d'une facturation en masse portant sur plusieurs patients : certains patients peuvent nécessiter une nouvelle lecture de leur carte Vitale avant de pouvoir être facturés.

  4. Traitez si besoin patient par patient plutôt qu'en une seule opération groupée, pour isoler celui qui bloque le lot.

Un message technique proche peut apparaître au même moment, lié à la lecture de la carte du professionnel : une exception de type « TlsiException : Erreur lors de la récupération des slots » lors de l'appel aux fonctions de la carte CPS. Elle relève du même contrôle : vérifier le lecteur et sa mise à jour avant de retenter.


Points d'attention

  • Les deux erreurs bloquent totalement l'accès au web : l'utilisateur ne peut pas contourner le message en rechargeant la page ou en se reconnectant.

  • La distinction entre les deux messages est essentielle pour orienter le diagnostic : « plusieurs éléments » oriente vers un doublon dans les données, tandis que « aucun élément » oriente vers une donnée manquante.

  • La section « Trace de la pile » de la page d'erreur indique le nom de la méthode technique à l'origine du blocage. Cette information permet au support technique d'identifier rapidement la table ou le paramètre en cause.


Contact / escalade vers le Niveau 2

Si le problème persiste après ces vérifications, transmettez l'incident au Niveau 2 en préparant les informations suivantes :

  • Le nom du cabinet et l'identifiant de l'utilisateur concerné.

  • Le message d'erreur exact affiché (« plusieurs éléments » ou « aucun élément »).

  • Une capture d'écran complète de la page d'erreur, incluant la section « Trace de la pile ».

  • L'heure précise de l'apparition de l'erreur.

  • L'information indiquant si l'erreur touche un seul utilisateur ou l'ensemble du cabinet.

  • Toute modification récente connue sur le compte (migration, changement de praticien, mise à jour de paramétrage).