From a805124fc25e0f15fc57d178408e379c3995a41a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20L=C3=A9cluse?= <laurent.lecluse@unicaen.fr> Date: Fri, 23 Oct 2020 16:04:36 +0200 Subject: [PATCH] Ajout du filtre intervenant --- doc/Connecteurs Import/Connecteurs IMPORT.md | 2 +- .../Harp\303\250ge/Connecteur.md" | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/doc/Connecteurs Import/Connecteurs IMPORT.md b/doc/Connecteurs Import/Connecteurs IMPORT.md index cb47b40a43..8b72b3f2d2 100644 --- a/doc/Connecteurs Import/Connecteurs IMPORT.md +++ b/doc/Connecteurs Import/Connecteurs IMPORT.md @@ -476,7 +476,7 @@ Ils sont appliqués sur les deux premières manières présentées ci-dessus. ### Création d'un filtre -Un filtre correcpond à une partie de requête SQL portant sur une vue différentielle. +Un filtre correspond à une partie de requête SQL portant sur une vue différentielle. Par exemple, pour ne lister que le différentiel des étapes dont l'année est supérieure à 2019, on fait : diff --git "a/doc/Connecteurs Import/Harp\303\250ge/Connecteur.md" "b/doc/Connecteurs Import/Harp\303\250ge/Connecteur.md" index 55a2d35a9c..f2d95b8ebc 100644 --- "a/doc/Connecteurs Import/Harp\303\250ge/Connecteur.md" +++ "b/doc/Connecteurs Import/Harp\303\250ge/Connecteur.md" @@ -151,6 +151,25 @@ La vue SRC_INTERVENANT remplit plusieurs rôles : [Activez-là, puis tentez une synchronisation](../activer-synchroniser.md). +### Cas des intervenants ne remontant plus par le connecteur mais ayant des données de saisies dans OSE. + +Il se peut que certains intervenants disparaissent d'Harpège, car leur date de fin d'affectation est passée par exemple. +Ceci peut poser problème si ces derniers ont des informations saisies dans OSE. +Pour éviter que la synchronisation ne supprime ces intervenants, il est nécessaire d'ajouter le filtre suivant : + +```sql +WHERE import_action <> 'delete' OR ( + (NOT exists(SELECT intervenant_id FROM intervenant_dossier WHERE histo_destruction IS NULL AND intervenant_id = v_diff_intervenant.id)) + AND (NOT exists(SELECT intervenant_id FROM service WHERE histo_destruction IS NULL AND intervenant_id = v_diff_intervenant.id)) +) +``` +pour la table INTERVENANT. + +Filtre à saisir dans Administration / Synchronisation / Tables / Table INTERVENANT / Modification / Champ "Filtre". + +Le filtre laisse passer toutes les opérations, sauf la destruction si l'intervenant a un dossier et/ou des services de saisis. +Ces deux tests suffisent généralement, car il s'agit des deux premières étapes du workflow. A adapter le cas échéant. + ## Import des affectations de recherche Les affectations de recherche peuvent être intégrées à OSE. -- GitLab