[Résolu] Sélection de vue et performance(@totime)

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

[Résolu] Sélection de vue et performance(@totime)

Messagepar jomanix » 19 Fév 2010 à 10:16

Bonjour,

Nous utilisons l'accès à une vue dans du lotuscript qui prend énormément de temps (environ 15s pour sélectionner 800 documents parmi 40 000).

Lorsque je décompose la sélection ci dessous je remarque que la plus grande perte de temps est engendré par la comparaison sur les deux champs @totime.

Existe t'il une solution de contournement à l'utilisation du @totime pour récupérer les documents d'il y a moins de 2 jours?

Quelqu'un peut m'expliquer pourquoi le @totime prend autant de temps la première fois que j'accède à la vue dans mon script et que la deuxième fois c'est instantané ?

applev := T_APPLEV;
approvalStatus := @Subset(T_ApprovalStatus;-1);
SELECT (Form = "PADCOEMWFOABSR" ) & @IsAvailable(T_PLANNING) & approvalStatus != "1" & (T_STATUS != "NOTIFICATION_OK" | @ToTime(T_ApprovalDate) >= @ToTime(@Adjust(@Now;0;0;-2;0;0;0)))

Merci d'avance
Dernière édition par jomanix le 19 Fév 2010 à 15:20, édité 1 fois.
jomanix
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 8
Inscrit(e) le : 10 Août 2009 à 15:04

Messagepar Michael DELIQUE » 19 Fév 2010 à 10:21

salut

la gestion du temp dans le select d'une vue est toujours qqc qui est gourmand en ressource car le temp change constement donc la vue est en constant recalcul meme avec @today ou autre

la solution un agent shédulé qui va modifié un champ du doc qui détermine l'affichage et c'est l'agent qui calcul le nombre de jour

ou alors toujours un agent schédulé qui va modifier le select de la vue pour passer le date en "dure"
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar jomanix » 19 Fév 2010 à 15:19

Merci.

D'après ce que j'avais lu, je ne pensais pas que l'on pouvait modifier une condition de sélection avec un agent.
jomanix
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 8
Inscrit(e) le : 10 Août 2009 à 15:04

Messagepar Michael DELIQUE » 19 Fév 2010 à 15:21

si on peut le faire mais en Lotus Script et a partir de la R6 si ma mémoire est bonne
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar jomanix » 24 Fév 2010 à 14:26

Effectivement l'agent fonctionne bien quand je lance du designer ou directement depuis la base. Cette solution est nettement plus rapide au passage et améliore significativement la naigation.

Par contre je n'arrive pas à le shédulé.

Dans la log.nsf j'obtiens le message ci dessous au moment d'exécuter mon agent.

24/02/2010 07:40:37 AMgr: Agent ('Sélection de demande d'absence pour planning | PAD' in 'mabase.nsf') error message: Error creating product object
jomanix
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 8
Inscrit(e) le : 10 Août 2009 à 15:04

Messagepar Michael DELIQUE » 24 Fév 2010 à 14:32

tu utilise une objet en Notesui ?
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar jomanix » 24 Fév 2010 à 14:46

Je ne suis pas sur d'interpréter correctement la question.

J'ai copié collé ce bout de code d'un exemple dont je ne me sert pas d'ailleurs.
Dim ws As New NotesUIWorkspace
Dim uiview As NotesUIView

C'est ca qui provoque le plantage ? OUI. Merci

Pour quelles raison ?
jomanix
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 8
Inscrit(e) le : 10 Août 2009 à 15:04

Messagepar Michael DELIQUE » 24 Fév 2010 à 14:50

re

oui, c'est ça car les objet en Notesui ne fonctionnent pas dans les agents schédulé vue qu'ils représentent des objet visible à l'écran.

il faut modifié le code pour le remplacer par autre chose
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy


Retour vers Développement

cron