Page 1 sur 1

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

MessagePublié: 19 Fév 2010 à 10:16
par jomanix
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

MessagePublié: 19 Fév 2010 à 10:21
par Michael DELIQUE
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"

MessagePublié: 19 Fév 2010 à 15:19
par jomanix
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.

MessagePublié: 19 Fév 2010 à 15:21
par Michael DELIQUE
si on peut le faire mais en Lotus Script et a partir de la R6 si ma mémoire est bonne

MessagePublié: 24 Fév 2010 à 14:26
par jomanix
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

MessagePublié: 24 Fév 2010 à 14:32
par Michael DELIQUE
tu utilise une objet en Notesui ?

MessagePublié: 24 Fév 2010 à 14:46
par jomanix
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 ?

MessagePublié: 24 Fév 2010 à 14:50
par Michael DELIQUE
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