Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Klaas am 28.11.11 - 10:36:32

Titel: Optimierung einer Ansichtauswahl-Formel
Beitrag von: Klaas am 28.11.11 - 10:36:32
Hallo,

ich habe eine Ansicht in der immer die Kunden angezeigt werden, welche in dieser Woche ausgeliegert werden. Solche Ansichten habe ich auch noch für in 1 Woche und für vor einer Woche.
Die User wollen aber nicht das in einer Ansicht alle Wochen stehen.
Und die User wollen so viele Daten, das es nicht in eine Kalenderansicht passt.
Die Ansicht wird nämlich ausgedruckt.

Für die Dokumenten auswahl habe ich folgende Auswahlformel:
Der Indexaufbau dauert relativ lange.
Die Dokumente liegen in einer Gedys Intraware.
Dann kann ein Dokument noch 3 x Auftauchen ( 1 Lieferung 2. und 3.)
Wenn es keine Teillieferung ist dann nur als 1 und als 3 Lieferung.

Code
Today:=@Today;
Day:=@Weekday(Today);
DeliveryDate:=fdSMCDeliveryDateKBI;
SecoundDeliveryDate:=fdSMCSecoundDeliveryDateKBI;
ThirdDeliveryDate:=fdSMCThirdDeliveryDateKBI;
Teillieferung:=fdSMCPartDelivery;
SELECT
DocType = "faActivities" &
DeliveryDate !="" &
(TemplateName = "Auftrag BK" | TemplateName = "Folgeauftrag BK") &
!(DeleteStatus != 0) &
@Contains(@Text(fdSMCInfoTo);"5") &
(
(DeliveryDate >= @Adjust(Today;0;0;@ToNumber("-"+@Text(@Sum(Day : -2)));0;0;0) &
DeliveryDate <= @Adjust(Today;0;0;@Sum(@ToNumber("-"+@Text(Day)):6);0;0;0)) |
(SecoundDeliveryDate >= @Adjust(Today;0;0;@ToNumber("-"+@Text(@Sum(Day : -2)));0;0;0) &
SecoundDeliveryDate <= @Adjust(Today;0;0;@Sum(@ToNumber("-"+@Text(Day)):6);0;0;0) &
Teillieferung = "Ja") |
(ThirdDeliveryDate >= @Adjust(Today;0;0;@ToNumber("-"+@Text(@Sum(Day : -2)));0;0;0) &
ThirdDeliveryDate <= @Adjust(Today;0;0;@Sum(@ToNumber("-"+@Text(Day)):6);0;0;0))
)

Und nun meine Fragen:

-kann man an der Auswahlformel noch etwas optimieren, damit der Indexaufbau schneller geht?
-kann ich in der Ansicht verhindern, das beim Speicher von Dokumenten ein Refresh/Reload von Gedys ausgeführt wird? Ähnlich wie Autoupdate für Ansichten in Agenten?

Für jede Antwort bin ich sehr dankbar.

Viele Grüße

Klaas
Titel: Re: Optimierung einer Ansichtauswahl-Formel
Beitrag von: ascabg am 28.11.11 - 10:39:29
Hallo,

Datumswerte inklusive der Berechnung von Datumswerten in einer Ansichtsauswahl.
Wenn Du die Suche hier im Forum mal kurz in Anspruch nimmst, dann wirst Du sehr viele Verweise in die Richtung finden, dass es der Performance nicht gerade sehr foerderlich ist so etwas zu tun.


Andreas
Titel: Re: Optimierung einer Ansichtauswahl-Formel
Beitrag von: koehlerbv am 28.11.11 - 10:43:20
Tipps:
Embedded single category view mit YYYY-MM als Kategorie. Dann kannst Du sogar vor dem Aufruf die KW auswählen lassen, die interessiert.
Machbar, auf aufwändiger: Personal folders für die Anzeige und eine Routine, die diese entspr. Bedarf füllt.

Bernhard
Titel: Re: Optimierung einer Ansichtauswahl-Formel
Beitrag von: pram am 28.11.11 - 11:11:27
Weil ichs grad zur Hand habe
Folgende Formel liefert YYYY KW:xx
Code
_date  := HierMeinDatum;
_donnerstag := @Adjust(_date; 0; 0; 3-@Modulo(5+@Weekday(_date);7);0;0;0);
_Jan4  := @Date(@Year(_donnerstag);1;4);
_kw1Do  := @Adjust(_Jan4; 0; 0; 3-@Modulo(5+@Weekday(_Jan4);7);0;0;0);
KW   := @Integer(1,5+(_donnerstag-_kw1Do)/86400/7);
@Text(@Year(_donnerstag)) + " KW:" + @Right("0" +@Text(KW);2)
Gruß
Roland
Titel: Re: Optimierung einer Ansichtauswahl-Formel
Beitrag von: Klaas am 28.11.11 - 11:37:36
Erstmal vielen Dank für euer Schnellen Antworten.

@Andreas:
Als ich mich an das Thema herran gesetzt habe, hatte ich schon vermutet, das druch die Datumsberechung es zu Performance Problemen kommt. Bei meinem Rechner habe ich keine Probleme aber die User beschweren sich.

Die Überlegung die Berechnung abhängig der KW zu machen ist super. Denn im Dokument selbst habe ich schon die KW's berechnet. Das heist ich spare eine Wertberechung.

@Bernhard:
Mit Ordner wäre das Problem des Indexaufbaus behoben. Aber der Programmieraufwand ist um einiges größer. Ich denke ich werde erst das mit den KW's versuchen und in Ruhe Ordner erstellen, diese von einem Agenten befüllen lassen und wenn sich ein Dokument ändert den Agenten erneut laufen lassen. So hat der Server die Arbeit und die User bekommen nichts davon mit.
Titel: Re: Optimierung einer Ansichtauswahl-Formel
Beitrag von: koehlerbv am 28.11.11 - 11:48:32
Warum machst Du das dann nicht mit der embedded view und JJJJ-KW?

Bernhard
Titel: Re: Optimierung einer Ansichtauswahl-Formel
Beitrag von: Klaas am 28.11.11 - 12:54:59
kann ich das irgendwie als Widget in die Sidebar einbinden?
Titel: Re: Optimierung einer Ansichtauswahl-Formel
Beitrag von: koehlerbv am 28.11.11 - 13:19:29
Sollten wir nicht erstmal bei einem Thema bleiben?

Bernhard
Titel: Re: Optimierung einer Ansichtauswahl-Formel
Beitrag von: Klaas am 28.11.11 - 13:45:29
hm...das stimmt.


(jetzt kommt das aber)

Aber das sind die User bis jetzt so gewohnt das Sie die Ansicht in der Sidebar geöffnet haben und immer drauf schauen können.

Vielleicht muss ich dazu sagen, ich der Böse habe den Usern ja den Händisch erstellten und ausgedruckten  Zettel weg genommen, der immer Ausgedruckt am Monitor hing.

Deshalb habe ich zu den Ansichten in der Datenbank noch "angepasste" Ansichten für die Sidebar erstellt. Gleiches Prinzip und immer vor Augen.

Deshalb sind die mir so wichtig.
Titel: Re: Optimierung einer Ansichtauswahl-Formel
Beitrag von: koehlerbv am 28.11.11 - 13:52:22
Daran ändert sich jetzt ja nichts, Du musst nur ein anderes Desingelement (Form / Page oder Folder) einbinden.

Bernhard
Titel: Re: Optimierung einer Ansichtauswahl-Formel
Beitrag von: Tode am 28.11.11 - 13:55:27
Dann mach doch einfach mal das, was Dir im ersten Post schon geraten wurde, und verwende die Board- Suche (@Today + Ansichtsselektion).
Da gibt es durchaus gangbare Workarounds, um auch "Tagesbezogene" Ansichten performant hinzubekommen (@TextToTime( "Heute" ) + Programmdokument ist da ein Ansatz oder aber ein nächtlicher Agent, der die Selektions- Formel anpasst)...

Wenn man weiss, was man da tut, und welche Nachteile das evtl. mit sich bringt, ist das durchaus gangbar...
Titel: Re: Optimierung einer Ansichtauswahl-Formel
Beitrag von: Klaas am 28.11.11 - 14:47:21
Also was ich jetzt gemacht habe:

eine neue Ansicht nach KW.

eine Dok mit einer embedded view und einer KW auswahl.

Performance TOP!!!

Jetzt noch die SaveOptions setzten und fertig ist.

Vielen Dank für euer Denkanstöße und Hilfen.