Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: robertpp am 29.07.05 - 11:59:42
-
Ich hab ein kleines Problem wo ich nicht weiter komme.
Ich hab eine Maske in der ich ein Nummer eingebe mittels einen Button. zb: 1.2 345 = Teilprozessnummer
Jetzt hab ich mir ein Script geschrieben das das macht: ( es sucht in der db den zugehörigen Hauptprozess = in diesem Fall 1.2 000 ) immer 000 am Schluss und tragt es in das Hauptprocess Feld mit dem Namen des Hauptprozesses ein.
Dim s As New NotesSession
Dim ws As New NotesUIWorkspace
Dim db As NotesDatabase
Dim uidoc As NotesUIDocument
Dim doc As notesdocument
Dim dc As NotesDocumentCollection
Set db = s.CurrentDatabase
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document
sfeld = Strleftback(uidoc.FieldGetText("SubProcessNr")," ") & " 000"
ssearch = {Form="subprocess" & SubProcessNr="} + sfeld + {"}
Set dc = db.Search( ssearch, Nothing, 0 )
If dc.Count <> 0 Then
Set doc = dc.GetFirstDocument
sfound = doc.SubProcessNr(0) & " " & doc.SubProcess(0)
Call uidoc.FieldSetText("Process", sfound)
End If
Es ist jetzt auch nicht das Problem das ganze bei Querysave zu machen.
Worum es mir geht ist:
Ich will das ganze nicht mit Script machen sondern mittels @Formula.
Jetzt ist das Feld Hauptprocess ein Berechnetes mit:
value := "";
ssearch:= @LeftBack(SubProcessNr;" ") + " 000";
@Prompt([OK];"test";ssearch);
@If(SubProcessNr != ""; @Set("value"; @DbLookup("":"ReCache"; ""; "CatSubProcess";@Text(ssearch); 1)); "");
@If(@IsError(value) | value = ""; "Kein Eintrag"; @Subset(value;1))
Und hier hab ich auch schon das Problem das in der View nicht nur die Hauptprozessnummer steht sonder auch der Name. Wie kann ich jetzt das @dblookup mit @Contains kombinieren damit ich nur nach der Prozessnummer in der View suche und dann das Feld füllen kann.
Grundsätzlich geht es auch denn, wenn ich anstelle von @Text(ssearch) , "1.2 000 Controlling" eintrage dann funktioniert das ganze ja auch.
Der Button mit dem ich die Prozessnummer über eine Dialogbox einträgt refresh mir auch das uidoc damit ich die Änderung von dem Hauptprozessfeld mitbekomme.
-
Also @Lookup funktioniert doch so:
1. Nach Schlüssel (erste Spalte) suchen.
2. Den Wert aus Spalte 2, 3 usw. in ein Feld schreiben.
In deinem Bild ist zu sehen das Dein Wert z.B. Controlling ist??
-
Nein der Wert ist "1.2 000 Controlling". Ist in der View nicht richtig zu erkennen.
Die View ist aber nach dem Feld Hauptprozess kategorisiert.
-
Dann kannst Du ausschliesslich nach dem Hauptprozess suchen. Kannst Du für Deine Zwecke nicht eine eigene, versteckte Ansicht bauen ?
Bernhard
-
Das wäre natürlich schon eine Möglichkeit. Eine Ansicht nach Prozessnummer (kategorisert) und dann mit @dblookup danach suchen (und den Namen dazu) zu machen aber dann kann ich es auch gleich mit Script machen denke ich halt.
-
Das mit der versteckten Ansicht ist aber für solche Fälle der gebräuchliche Weg.
Die ganze Sache kommt mit drei Zeilen Formel aus.
-
Ich denke nicht auch wenn ich eine View mache das das Thema dann mit Drei Zeilen Formel erledigt sein wird.
Wie soll den dann die Lösung aussehen?
Sonst noch jemand eine Idee?
Robert