Domino 9 und frühere Versionen > ND9: Entwicklung
Programmierung über Funktionsformeln -> Geschwindigkeit der Anwendung
it898ur:
Um es etwas konkreter zu machen:
1. In der lookup-Ansicht eine versteckte Spalte einfügen, in der alle benötigten Angaben in einem String verkettet sind
2. Verstecktes Feld am Anfang der Maske, welches einen Lookup ausführt, um alle Angaben aus dieser Spalte zu holen
3. In den einzelnen Feldern dann nur noch mit @Word den jeweiligen Teil aus dem String extrahieren
Gruß
André
Tode:
Grundsätzlich gibt es zwei Möglichkeiten:
1. Spalte mit Werten verkettet:
MeineStrasse~MeinePostleitzahl~MeinOrt~MeineTelefonnummer~MeinFax~MeineMail
Dann machst Du einen Lookup. speicherst das Ergebnis und die Felder selbst haben dann die Formel (Beispiel für Strasse):
--- Code: ---@Word( LookupFeld; "~" ; 1 )
--- Ende Code ---
Vorteil: Sehr einfach zu codieren, man muss nur zählen können.
Nachteil: bei sehr vielen Werten wird der String unübersichtlich, Mehrfachwerte erfordern zusätzliche Trennzeichen und Implode / Explode
2. Spalte mit Mehrfachwerten:
Strasse=MeineStrasse
Postleitzahl=MeinePostleitzahl
Ort=MeinOrt
telefonnummer=MeineTelefonnummer
Fax=MeinFax
Mail=MeineMail
Auch wieder ein Feld mit dem Lookup, das muss mehrfachwerte erlauben.
In den LookupFeldern steht dann code, der etwa so aussieht:
--- Code: ---_myName := @Thisname;
@Trim( @Right( "#" + LookupFeld; "#" + _myName + "=" ) )
--- Ende Code ---
Vorteile:
- Reihenfolge ist egal, die Zuordnung erfolgt über den Feldnamen
- Code in den Feldern ist portabel, weil er sich auf den Feldnamen bezieht, so lange die "Bezeichner" im Lookupfeld genauso heisst wie das Feld, muss man ein neues Feld einfach kopieren, und den Feldnamen anpassen.
- Mehrfachwerte funktionieren direkt (diese tauchen dann ím Lookupfeld einfach mehrfach auf, z.B. so: Telefon=12345; Telefon=45678, und das @Right liefert beide zurück)
Nachteile:
- Etwas komplizierter, overhead im Lookup, weil die Feldnamen mit übertragen werden
thkn777:
@snore
Ich hatte letztens das Problem, daß die Latenz der Netzwerkverbindung Client-Server recht hoch war. Da überraschend viele Aufrufe z.B. beim Öffnen einer Maske erfolgten, war die Anwendung für diesen Client "lahm".
Mal so Größenordnungen:
- "gute" Latenz <=1ms
- "schlechte" Latenz >40ms
Vielleicht trifft Dich das ja?
Tips:
- Client_Clock=1 in der notes.ini erzeugt ein detailliertes Log
- mit dem Notes RPC Parser (siehe OpenNTF.org) kann man so ein Log sogar analysieren
Viel Erfolg,
Th.
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln