Fonctionnalité #14773
fermé[Analyse] Requête sur Champ d'enregistrement personnalisé "date" non opérationelle
Description
Analyse équipe projet :
tag : 20.03.09 et 20.03.10
navigateur ; dernières versions de chrome et firefox
-
J'ai déclaré un champ custom date (id 4) dans mon modèle d'enregistrement
-
J'ai des bannettes spécifiques qui utilisent ce champ :
#courriers à traiter
(status in ('NEW', 'COU', 'SNEW') and dest_user = @user and (custom_fields->>'4')::date isnull) or (status in ('NEW', 'COU', 'SNEW') and dest_user = @user and (custom_fields->>'4')::date <= current_date)
#courriers à traiter en différé
status in ('NEW', 'COU', 'SNEW') and destination IN (@my_entities) and (custom_fields->>'4')::date> current_date
4- lorsque je créé un courrier arrivé et que je ne rempli par le champs custom "date", mes bannettes ne fonctionent plus :
maarch@recette2003 ERREUR: syntaxe en entrée invalide pour le type date : « »
2020-09-07 18:06:03.838 CEST [31551] maarch@recette2003 INSTRUCTION : SELECT COUNT(1) FROM res_view_letterbox WHERE ((status in ('NEW', 'COU', 'SNEW') and dest_user = 'leprieur' and (custom_fields->>'4')::date isnull) or (status in ('NEW', 'COU', 'SNEW') and dest_user = 'leprieur' and (custom_fields->>'4')::date <= current_date))
5- pour que l'erreur disparaisse, je dois rajouter une date et donc rendre ce champs obligatoire. Or le client ne s'en sert pas sur tous les courriers.
On ne peut pas solutionner avec un modele d'enregistrement spécifique pour les courriers nécessitant ce champs car pour tous les courriers migrés, on me demande de valider lorsque je me rend sur 'information'. Il suffit de "valider" sur un courrier qui n'a pas le champ perso date de renseigné pour que les bannettes deviennent inutilisables.
Fichiers
Mis à jour par Robin SALDINGER il y a environ 4 ans
Mis à jour par Support Maarch il y a environ 4 ans
- Statut changé de A qualifier à A traiter
Mis à jour par Emmanuel DILLARD il y a environ 4 ans
- Sujet changé de Champ d'enregistrement personalisé "date" non opérationel à Champ d'enregistrement personnalisé "date" non opérationel
- Statut changé de A traiter à R&D - A planifier
Mis à jour par Emmanuel DILLARD il y a environ 4 ans
- Tracker changé de Anomalie à Fonctionnalité
- Projet changé de 298 à 299
- Sujet changé de Champ d'enregistrement personnalisé "date" non opérationel à [Analyse] Requête sur Champ d'enregistrement personnalisé "date" non opérationelle
- Statut changé de R&D - A planifier à R&D - En cours
- Assigné à changé de Robin SALDINGER à EDI PO
- Priorité changé de 0-Bloquant à 1-Majeur
Mis à jour par Florian AZIZIAN il y a environ 4 ans
- Statut changé de R&D - En cours à R&D - Terminé
Avant de caster en date un champ personnalisé, il faut vérifier que ce n'est pas vide, par exemple :
custom_fields->>'1' is not null and custom_fields->>'1' <> '' and
Pour vos clauses, il faut donc faire ceci :
#courriers à traiter
status in ('NEW', 'COU', 'SNEW') and dest_user = @user and ((custom_fields->>'4' is null or custom_fields->>'1' = '') or (custom_fields->>'4' is not null and custom_fields->>'4' <> '' and date(custom_fields->>'4') <= current_date))
#courriers à traiter en différé
status in ('NEW', 'COU', 'SNEW') and destination IN (@my_entities) and custom_fields->>'4' is not null and custom_fields->>'4' <> '' and date(custom_fields->>'4') > current_date
PS : Je n'ai pas testé vos clauses dans un environnement fonctionnel
Mis à jour par Emmanuel DILLARD il y a environ 4 ans
- Assigné à changé de Florian AZIZIAN à Robin SALDINGER
Mis à jour par Emmanuel DILLARD il y a plus de 3 ans
- Projet changé de 298 à Backlog Courrier
- Version cible changé de 20.03 (Fin de vie) à 20.03 (Sécurité)