Autor Thema: evaluate liefert kein Ergebnis  (Gelesen 2494 mal)

Offline wittmann_franz

  • Aktives Mitglied
  • ***
  • Beiträge: 241
  • Geschlecht: Männlich
evaluate liefert kein Ergebnis
« am: 23.05.12 - 11:29:26 »
Hallo zusammen,

stehe hier mächtig auf dem Schlauch und komme nicht weiter mit einem Script insbesondere evaluate

Const NotesMacro$ = {@DbLookup("" : "NoCache" ; "" : "" ; "(LookupArchivverwalternachArchivverwalter)"; _wert ; 2)}
Dim vEval As Variant
scode = doc.Abteilungscode(0)   
searchFormula = {(Form = "Akte") & (Abteilungscode = "} & scode & {")}
Set coll = db.Search(searchFormula, Nothing, 0)
Set dcdoc = coll.GetFirstDocument ()
      
While Not (dcdoc Is Nothing)
   vEval = Evaluate (NotesMacro$ , dcdoc)
   dcdoc.abtRegistratur = vEval
   Call dcdoc.Save(True,False)
   Set dcdoc = coll.GetNextDocument(dcdoc)
Wend      

Die Collection liefert Dokumente zurück, kann ich im Debugger nachvollziehen.
Es ist im Übrigen egal welche Fromel in der Constanten steht es wird kein Ergebnis auf die Variable vEval zurückgegeben.
Die Formel dblookup in einem berechneten Feld funktioniert ansonsten.
Es erscheint auch keinerlei Fehler bei Ausführung des Scriptes.

Vielen Dank für Eure Hilfe.

Server 8.5.2
Client 8.5.2
Gruß
Volker

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: evaluate liefert kein Ergebnis
« Antwort #1 am: 23.05.12 - 11:47:07 »
Evtl der auszulesende Feldname falsch angegeben?

Const NotesMacro$ = {@DbLookup("" : "NoCache" ; "" : "" ; "(LookupArchivverwalternachArchivverwalter)"; "_wert" ; 2)}

Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline wittmann_franz

  • Aktives Mitglied
  • ***
  • Beiträge: 241
  • Geschlecht: Männlich
Re: evaluate liefert kein Ergebnis
« Antwort #2 am: 23.05.12 - 12:14:39 »
Hallo Roland,

vielen Dank, genau das wars. _wert ist natürlich eine Variable und nicht der Feldname.

Die Hilfe sagt, dass NotesMacros einen array zurückgeben und dieser nur 1 element enthält.
Bei mir sollte eigentlich auch mehrere Werte zurückgegeben werden, ist aber wie in der Hilfe beschrieben nicht so.
Es wird nur der erste Wert zurückgegeben.

Wie kann ich das ändern?
Gruß
Volker

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: evaluate liefert kein Ergebnis
« Antwort #3 am: 23.05.12 - 12:27:26 »
Die Hilfe sagt, dass NotesMacros einen array zurückgeben und dieser nur 1 element enthält.
Wo liest Du das? Evaluate liefert ein Variant zurück, das durchaus ein Array mit n Elementen enthalten kann.

Bernhard

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: evaluate liefert kein Ergebnis
« Antwort #4 am: 23.05.12 - 13:06:56 »
http://www-10.lotus.com/ldd/ddwiki.nsf/dx/dblookup-troubleshooting.htm

Ggf. ist es eine der folgenden Ursachen:

- When returning multiple values (as will occur if there are multiple documents matching your key), formula language returns them as a list. But a list can have only one datatype
- If the column is multivalued, but the column option to display multiple values in separate rows is not selected, you can only match the first value in a lookup.

(Außerdem gibt es noch einen Bug in Verbindung mit RETURNDOCUMENTUNIQUEID + Mehrfachwerten http://www-10.lotus.com/ldd/nd8forum.nsf/0/8f7fd6d8c8b308c085257603002956ca?OpenDocument)

Gruß
Roland

Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline wittmann_franz

  • Aktives Mitglied
  • ***
  • Beiträge: 241
  • Geschlecht: Männlich
Re: evaluate liefert kein Ergebnis
« Antwort #5 am: 24.05.12 - 08:40:28 »
Guten Morgen,

hatte das Ergebnis gestern nur im Debugger angeschaut und nicht das Ergebniss im Feld überprüft. Es gab gar kein Problem alle Werte werden zurückgegeben und auch richtig verarbeitet.
Der einzige Fehler war also mein falsches kopieren aus der Formel, in das Evaluate im Script. (_wert)

Danke Roland

@Bernhard
ja, Du hast natürlich vollkommen Recht, ich habe die Hilfe falsch interpretiert.

Einen schönen sonnigen Tag
Gruß
Volker

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: evaluate liefert kein Ergebnis
« Antwort #6 am: 24.05.12 - 08:45:39 »
Volker, das kann man auch durchaus missverstehen:
Zitat
a Variant containing that value

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz