Aller à : navigation, rechercher

Maarch Courrier/latest/fr/FAQ/Bannettes

Dans cette section, vous trouverez plusieurs exemples de paramétrage de la where clause des bannettes suivant les retours d'expérience lors de la mise en place de Maarch

Collection COURRIER


Manage baskets off.gif Mes courriers en copie non lus

res_id in (SELECT res_id FROM listinstance 
WHERE coll_id = 'letterbox_coll' 
   AND item_type = 'user_id' 
   AND item_id = @user 
   AND item_mode = 'cc' 
   AND viewed = 0) 
   AND status <> 'DEL'

Manage baskets off.gif Mes courriers en copie non lus et courriers de mon service en copie

((res_id in  (SELECT res_id FROM listinstance 
 WHERE coll_id = 'letterbox_coll' 
   AND item_type = 'user_id' and item_id = @user 
   AND item_mode = 'cc' 
   AND viewed=0))  
   OR  (res_id in (select res_id from listinstance 
   WHERE coll_id = 'letterbox_coll' 
   AND item_type = 'entity_id' 
   AND item_mode = 'cc' 
   AND item_id in (@my_entities))))

Manage baskets off.gif Courriers des 5 derniers jours (mode mémo)

Cette bannette permet de voir l'ensemble des courriers créés, et gérer leur présence.

status NOT IN ('DEL','REP')
AND
-- Le courrier ne doit pas être marqué lu (action à créer sur la bannette)
res_id not in (select res_id from res_mark_as_read WHERE user_id = @user) 
AND
(
-- Tous les courriers de la semaine
admission_date > now() - interval '5 days' 
OR
-- ou tous ceux en copie non vus
res_id in (select res_id from listinstance WHERE coll_id = 'letterbox_coll' and item_type = 'user_id' and item_id = @user and item_mode = 'cc' AND viewed = 0) 
OR
-- ou tous ceux persistants (actions activer et désactiver à créer sur la bannette)
res_id in (select res_id from basket_persistent_mode WHERE user_id = @user AND is_persistent = 'Y')
)

Manage baskets off.gif Courriers à qualifier

((type_id = 10
   AND status ='REC'
   AND source = 'enveloppe_fermee')
   AND (select count(*) from res_letterbox 
   WHERE res_letterbox.custom_t3 = res_view_letterbox.identifier
   AND res_letterbox.type_id = 1) =0)
   AND (DESTINATION in (@my_entities))


Il faudrait mieux éviter un select count (*) et utiliser celle ci-après

((type_id = 10
   AND status ='REC'
   AND source = 'enveloppe_fermee')
   AND ( NOT EXISTS (select NULL from res_letterbox 
   WHERE res_letterbox.custom_t3 = res_view_letterbox.identifier
   AND res_letterbox.type_id = 1))
   AND (DESTINATION in (@my_entities)))


Manage baskets off.gif Mes courriers persistents

(res_id in (select res_id from basket_persistent_mode 
   WHERE user_id = @user 
   AND is_persistent = 'Y'))


Manage baskets off.gif Courriers créés de la semaine

creation_date > now() - interval '5 days'


Manage baskets off.gif Mes courriers enregistrés du jour

creation_date::date = current_date 
   AND typist = @user


Manage baskets off.gif Mes courriers traités du jour

Pour cette bannette, nous allons rechercher les événements correspondant à une action fonctionnelle dans l'historique des événements (table HISTORY). L'identifiant de l'action apparaît dans l'écran d'administration des actions. Attention à positionner des index si la base est très chargée !

res_id in (select cast(record_id as bigint) from history 
   WHERE event_type IN ('ACTION#19')
   AND event_date::date = current_date
   AND user_id = @user)


(mettre toutes les actions qui sont définies comme traitement de courrier => ACTION#|action_id])


Manage baskets off.gif Mes courriers à traiter

Lorsque l'on utilise le parapheur, il est possible que l'on envoie le document en visa alors qu'aucun circuit de visa n'a été défini. Cette modification dans la clause des courriers à traiter conserve le courrier dans la bannette des courriers à traiter pour rectifier l'erreur ! (version applicable : 1.5+)

((status ='NEW' or status ='COU') 
   AND dest_user = @user)
   OR
   (status='EVIS' AND NOT EXISTS (SELECT res_id, item_id FROM listinstance
   WHERE item_mode = 'visa' 
   AND res_view_letterbox.res_id = res_id order by listinstance_id asc limit 1))


Manage baskets off.gif Mes courriers à traiter dans la catégorie courrier arrivée

(status ='NEW' or status ='COU') 
   AND dest_user = @user AND category_id <> 'outgoing'


(mettre toutes les actions qui sont définies comme traitement de courrier => ACTION#|action_id])

Manage baskets off.gif Courriers non clos dont les notes associées mentionnent la chaîne de caractères "URGENT"

res_id in (SELECT identifier from notes WHERE note_text LIKE '%URGENT%') and status <> 'END'


Manage baskets off.gif Courriers de l'année en cours

DATE_PART('year', creation_date) = DATE_PART('year', now());


Manage baskets off.gif Courriers des 12 derniers mois

creation_date > (CURRENT_TIMESTAMP - INTERVAL '365')

Manage baskets off.gif Courriers modifiés par mon entité primaire

status IN ('NEW','COU','DEL') AND  ((destination = @my_primary_entity) OR (initiator = @my_primary_entity) 
OR (res_id IN (SELECT res_id from listinstance_history_details  WHERE added_by_entity = @my_primary_entity)))

Manage baskets off.gif Courriers à signer - collectif

Cette bannette permet de faire signer les collaborateurs de l'entité du signataire à sa place

(status = 'ESIG') AND (res_id IN (SELECT res_id FROM listinstance WHERE item_mode = 'sign' AND res_view_letterbox.res_id = res_id AND (item_id IN (SELECT u.user_id from users u, users_entities ue WHERE u.user_id = ue.user_id AND (ue.entity_id IN (SELECT entity_id FROM users_entities WHERE user_id = @user AND primary_entity = 'Y')))) order by listinstance_id asc))