-
-
Bonjour,
Le sujet précédent étant en erreur, je recréé ce sujet.
Vous trouverez le code de ma fonction en PJ. Les champs appartenant à la fiche fille sont précisés dans les commentaires.
A noter que l’utilisation de la balise “Code” semble provoquer une erreur (“ce site rencontre des difficultés techniques”)
Merci d’avance.
- Ce sujet a été modifié le il y a 3 années et 6 mois par nletendart.
- Ce sujet a été modifié le il y a 3 années et 6 mois par nletendart.
fichiers attachés:
You must be logged in to view attached files. -
Bonjour,
J’ai repris votre code et vous trouverez dans la pièce-jointe “Capture_1_filtre_donees_fiche_fille” l’endroit où il faudra rajouter votre condition pour ajouter ou non l’élément en fonction des données de votre fiche fille.
Joffrey
fichiers attachés:
You must be logged in to view attached files. -
Bonjour,
Merci de votre réponse. Il reste cependant une dernière erreur au niveau de l’assignation de la variable ficheFille qui est la suivante :
Erreur CS0266 Impossible de convertir implicitement le type ‘Forms.Modules.FH_DOULEUR.FH_DOULEUR_PLANIFICATION_HOSPIT.FH_DOULEUR_PLANIFICATION_HOSPIT’ en ‘System.Collections.Generic.IEnumerable<Forms.Modules.FH_DOULEUR.FH_DOULEUR_PLANIFICATION_HOSPIT.FH_DOULEUR_PLANIFICATION_HOSPIT>’. Une conversion explicite existe (un cast est-il manquant ?)
Cette erreur se produit au niveau de cette ligne :
fichesFilles = this.ModuleAPI.DominhoService.SelectForm<FH_DOULEUR_PLANIFICATION_HOSPIT.FH_DOULEUR_PLANIFICATION_HOSPIT>( FH_DOULEUR.FH_DOULEUR_PLANIFICATION_HOSPIT.FH_DOULEUR_PLANIFICATION_HOSPIT.FicheMereId_field.In(listePrescriptions.Select(x => x.Id).ToArray()));
Merci d’avance.
-
Auriez-vous pu m’envoyer votre module et une capture d’écran de l’erreur?
Joffrey
-
Bonjour,
Vous trouverez en pièce-jointe la capture ainsi que le module.
Merci.
fichiers attachés:
You must be logged in to view attached files. -
Je viens de trouver le bug, il manquait un “s” au “SelectForms()” d’où le problème de typage.
Il vous suffit de remplacer par le code suivant :
fichesFilles = this.ModuleAPI.DominhoService.SelectForms<FH_DOULEUR_PLANIFICATION_HOSPIT.FH_DOULEUR_PLANIFICATION_HOSPIT>( FH_DOULEUR.FH_DOULEUR_PLANIFICATION_HOSPIT.FH_DOULEUR_PLANIFICATION_HOSPIT.FicheMereId_field.In(listePrescriptions.Select(x => x.Id).ToArray()),
new QueryLoadSettings() { LimitToCurrentSpeciality = false }, FH_DOULEUR.FH_DOULEUR_PLANIFICATION_HOSPIT.FH_DOULEUR_PLANIFICATION_HOSPIT.DateFonctionnelle_field.Descending);Joffrey
-
J’ai mis en application votre méthode. Cependant, elle provoque un comportement étrange. En effet, dans ma liste, dans l’inclusion “mère”, un même patient est affiché plusieurs fois.
De plus, pourquoi la condition porte sur l’inclusion de patients et non sur l’inclusion des prescriptions étant donné que c’est cette dernière qui doit être filtrée via des champs provenant à la fois de la fiche mère et de la fiche fille ?Merci encore pour votre aide.
- Cette réponse a été modifiée le il y a 3 années et 6 mois par nletendart.
-
A toutes fins utiles, je vous mets en pièce-jointe l’autre fonction de ma liste de service. Il y a peut-être un effet de bord lié à celle-ci.
fichiers attachés:
You must be logged in to view attached files.-
Après quelques tests, il semblerait que la condition doive être déplacée. Le “if” doit englober l’instruction “item.liste_prescriptions.Items.Add(itemPrescription);” (située plus haut dans le code) et non l’instruction “this.liste_patients.Items.Add(item);
En faisant cela, le filtrage fonctionne même avec des champs issus de la fiche fille.
En revanche, j’ai toujours des problèmes de doublons au niveau de la liste de patients, chose que je n’avais pas avec mon ancien code.Merci de votre aide.
-
-
Est-ce que vous auriez pu m’envoyer votre module FH_COMMUN car je vois qu’il est en référence ? Ca me permettra de voir le problème dans de meilleures conditions.
Joffrey
-
Bonjour,
Voici le module FH_COMMUN en pièce-jointe
fichiers attachés:
You must be logged in to view attached files. -
J’ai regardé votre fonction pour charger les éléments de votre liste de service et je ne comprends pas trop pourquoi vous utilisez deux fois this.ModuleAPI.DominhoService.SelectForms<FH_DOULEUR_PROGRAMME_HOSPITALISATION.FH_DOULEUR_PROGRAMME_HOSPITALISATION>() ? surtout que vous récupérez d’abord une liste de patients que vous allez parcourir puis pour chaque patient vous requêtez une nouvelle fois les fiches de ce patient.
Joffrey
-
Bonjour,
Je viens de regarder mon code. A priori, cette instruction est utilisée une fois, dans la fonction “ObtenirInfosPatient()”. Les autres instructions ne sont que des commentaires.
Par contre effectivement, j’utilise un Hashset de type int pour stocker les ids uniques des patients pour lesquels au moins un formulaire “PROGRAMME_HOSPITALISATION” a été saisi. Ensuite, j’utilise cet objet pour créer une liste de patients, utilisée pour remplir la liste, et les formulaires saisis pour chaque patient de la liste.Faut-il procéder autrement ?
Merci d’avance.- Cette réponse a été modifiée le il y a 3 années et 5 mois par nletendart.
-
Je me demandais pourquoi les fiches Programme_Hospitalisation étaient requêtés une première fois puis une deuxième fois pour chaque patient mais cette fois avec les filtres.
Ne pourrait-on pas faire qu’une requête pour simplifier la chose et plutôt que faire les requêtes telle que GetPatientRdv() par patient dans le foreach() les faire en dehors sur tous les patients car j’ai bien peur que vous ayez des problèmes de performances.Joffrey
- Cette réponse a été modifiée le il y a 3 années et 5 mois par joffreygaro.
-
Bonjour,
Etant donné le grand nombre de patients à charger, les performances ne sont en effet pas optimales. Pouvez-vous modifier le code en fonction de ce que vous avez écrit plus haut et me le renvoyer ?
Merci d’avance. -
Oui je vais voir pour l’optimiser, je vous demanderai de tester car je n’ai pas votre volume de données.
Joffrey
-
-
Je reviens à vous pour comprendre votre worklist, vous cherchez bien à afficher toutes les patients ayant une fiche FH_DOULEUR_PROGRAMME_HOSPITALISATION et pour chaque patient sa liste de fiches FH_DOULEUR_PROGRAMME_HOSPITALISATION ?
Joffrey
-
Oui, le but est d’afficher tous les patients qui ont au moins une fiche d’hospitalisation et afficher pour chacun d’eux la liste des fiches d’hospitalisation (il peut y en avoir une ou plusieurs pour chaque patient) ainsi que certaines autres informations.
- Cette réponse a été modifiée le il y a 3 années et 5 mois par nletendart.
-
Ca y’est j’ai fait quelques optimisations, vous la trouverez ci-joint. Je vous laisse voir le code et me poser les questions que vous avez, je pense ce sera plus simple dans ce sens. Et n’hésitez pas à adapter le code à votre worklist car je n’ai pas toutes les spécifications.
Joffrey GARO
- Cette réponse a été modifiée le il y a 3 années et 5 mois par joffreygaro.
fichiers attachés:
You must be logged in to view attached files. -
J’ai essayé d’utiliser le code. Cependant, j’obtiens une erreur visible sur la capture en pièce-jointe.
“ItemPrescription n’existe pas dans le contexte actuel.”Pourquoi utiliser cette variable ici alors qu’elle est déclarée au sein du foreach au dessus ? Du coup, cela fonctionne lorsqu’aucun filtre provenant de la fiche fille est utilisé. Dans le cas contraire, cela me retourne une liste vide.
Merci.fichiers attachés:
You must be logged in to view attached files. -
Je l’avais commenté du coup je n’y avais pas pensé. Il suffit de mettre le if dans le ForEach() où “itemPrescription” est déclaré.
J’ai une petite question, quels sont les filtres de la fiche fille ?Joffrey
-
Bonjour,
Les filtres de la fiche fille sont les suivants :
– Date hospit.
– Chambre particulière
– Confirmé par le patient
– NOK BDA
– date hospit fin (sera rajouté plus tard)
– A planifier (à rajouter – doit permettre d’afficher les formulaires qui n’ont pas de fiche fille)
– A planifier/a replanifier (à rajouter – doit permettre d’afficher les formulaires qui ont une fiche fille dont la date n’est pas renseignée).Merci pour votre réponse.
-
Bonjour,
J’ai remis en application votre code. Cependant, la liste ne se remplit pas, quels que soient les critères de filtrage. Avez-vous une idée ?
Merci d’avance.
-
Problème corrigé. Cela venait d’un problème au niveau du filtrage. Cependant, nous sommes toujours confrontés à un problème de performances. Cela est traité dans ce sujet :
Chargement progressif d’une inclusion
Merci de votre aide.
- Cette réponse a été modifiée le il y a 3 années et 3 mois par nletendart.
-
-
Bonjour,
Après vérification, il semblerait que les résultats affichés dans l’inclusion soient erronés.
De plus, le problème de TimeOut ne se produit pas en mode de navigation privée, sauf pour les requêtes plus “larges”.Pouvez-vous nous aider ?
-
The forum ‘Problèmes rencontrés avec FormsStudio’ is closed to new topics and replies.