Domino 9 und frühere Versionen > ND9: Entwicklung

function ( [...] ) as Notesdocument "verliert" Dokument wenn per ServerConsole

(1/3) > >>

Frank_B:
Ich habe in einer Scriptbibliothek eine Funktion à la:
function ( [...] ) as Notesdocument

Die funktioniert auch wunderbar wenn ich meinen "Script-Agenten" (welcher die Funktion aufruft) im Domino Designer starte.

Wenn ich den Agenten allerdings über die Server-Konsole aufrufe, dann läuft zwar die Funktion inhaltlich korrekt.
Das kann ich mit "print's" nachvollziehen, jedoch die Funktion selber liefert mir leider das gewünschte NotesDokument nicht.

Als wenn die Funktion selber das Notes-Dokument "verliert" im Script-Agenten.

hat jemand einen Tipp. So ein Verhalten hatte ich noch nie... :(

Tode:
Wo wird die Datenbank definiert, aus der das Dokument kommt? Wenn die nur lokal innerhalb der function existiert, dann kannst Du das Document nicht rausgeben...

Frank_B:
Die Datenbank hat ein Profildokument, in welchem ein Server mit einer anderen Datenbank hinterlegt ist, auf welche Ich per Funktion zugreife und darin das Dokument suche:

"GetDoc_StellenID" ist der Name der Funktion
"f_pdoc" ist mein Profildokument
"f_doc_ma" soll mein gefundenes Dokument dann sein
"stellenID" ist das Schlüsselwort zur Suche

GetDoc_StellenID(SERVERNAME, DATEINAME, SUCHBEGRIFF) as notesdocument

Die Funktion baut eine Collection an Dokumenten und liefert mir normalerweise nur eins zurück. :)


Wird so aufgerufen:

Set f_doc_ma = GetDoc_StellenID(f_pdoc.Srv(0), f_pdoc.Srv_Datei(0), stellenID)

ghostmw:
Hi Frank,

schick doch einfach kurz den Code rum ... dann können wir das auch besser erläutern.

Ich bin aber auch der Meinung von Torsten, dass dein Problem mit dem Focus der Datenbank-Variablen zusammen hängt.
Ist die Datenbank lokal in der aufgerufenen Funktion deklariert, ist dein Notesdokument außerhalb nothing, weil das Datenbank-Objekt gelöscht wird nach Verlassen der Funktion.

Zwischen Datenbank und Notesdokument (bzw. View dazwischen oder ähnliches) besteht eine Eltern-Kind-Beziehung, ist der Elternteil weg ist auch das Kind weg.

Gruß
Marco

Frank_B:
Aufruf im DominoDesigner, dann geht es, über die ServerConsole wird leider kein Dokument zurück geliefert
Das ist doch das seltsame !

Function  GetDoc_fmHierarchy_stellenID(f_Server, f_db As String, f_stellenID As String) As NotesDocument
   On Error GoTo fehler
   
   Dim f_session_h As New NotesSession
   Dim f_db_h As NotesDatabase
   Dim f_col_h As NotesDocumentCollection
   Dim f_search_h As String
   
   Set f_db_h = f_session_h.GetDatabase(f_Server,f_db)

   f_Search_h = "form = ""fmHierarchy"" & aktuell = ""1"" & stellenID = """ + f_StellenID + """ "

   Set f_col_h = f_db_h.Search(f_Search_h, nothing, 0)

   If f_col_h.count > 0 Then
      Set GetDoc_fmHierarchy_stellenID = f_col_h.getfirstdocument
   Else
      Set GetDoc_fmHierarchy_stellenID = Nothing
   End If   
   
   Exit Function
   
fehler:
   Print "Fehler in 'GetDoc_fmHierarchy_stellenID' Zeile " & erl
   
End Function

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln