Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: Blackraven am 24.07.07 - 09:48:33

Titel: NoteID wird nur 4 stellig angezeigt
Beitrag von: Blackraven am 24.07.07 - 09:48:33
Hallo zusammen,

um einen Agenten per "RunOnServer" zu starten habe ich in meinem Script die NoteID in ner Textvariable abspeichern wollen und dann an den Agenten zu übergeben.

Aber irgendwie schreibt er das nur 4stellig in die Variable.

Code
Dim docnoteid As String
......
docnoteid = doc.NoteID
agentreturn = DocAgent .RunOnServer(docnoteid)

statt z.B. der NoteID "0000120A" übergibt er nur "120A" an die Variable "docnoteid"

Woran könnte das liegen?

Gruß
Titel: Re: NoteID wird nur 4 stellig angezeigt
Beitrag von: Glombi am 24.07.07 - 09:52:57
Das ist normal. Der Agent soll das Dokument dennoch finden, oder gibts da Probleme?
Titel: Re: NoteID wird nur 4 stellig angezeigt
Beitrag von: Blackraven am 24.07.07 - 10:00:19
ja, leider...

der Agent findet das Dokument so nicht....

wenn ich den agenten "debugge" und ihm die NoteID dann 8stellig eingebe...dann funktioniert das :(
Titel: Re: NoteID wird nur 4 stellig angezeigt
Beitrag von: Axel am 24.07.07 - 10:07:21
Was passiert wenn du den Agent so

agentreturn = DocAgent .RunOnServer(doc.NoteID)

aufrufst?


Axel


 
Titel: Re: NoteID wird nur 4 stellig angezeigt
Beitrag von: Glombi am 24.07.07 - 10:09:01
Du musst Du das Dokument so holen:

Code im Agenten:

 Dim session As New NotesSession
  Dim agent As NotesAgent
  Dim db As NotesDatabase
  Dim doc As NotesDocument

  Set db = session.CurrentDatabase
  Set agent = session.CurrentAgent
  Set doc = db.GetDocumentByID(agent.ParameterDocID)


Das klappt bei mir immer.

Andreas
Titel: Re: NoteID wird nur 4 stellig angezeigt
Beitrag von: Blackraven am 24.07.07 - 10:11:41
@Glombi: genauso war meine 1.Version...

und da dass dann nicht funktioniert hat, hab ich die NoteID in nen String-Variable geschrieben, um zu überprüfen...

Resultat: siehe oben :(
Titel: Re: NoteID wird nur 4 stellig angezeigt
Beitrag von: umi am 24.07.07 - 10:24:49
Agent und Dokument sind in der gleichen DB?
Titel: Re: NoteID wird nur 4 stellig angezeigt
Beitrag von: Blackraven am 24.07.07 - 10:27:40
ja.

ich habe jetzt ne Krücke gebaut... das funzt....

Code
Dim docnoteid2 As String
Dim varreturn As Variant
Const NotesMacro$ = "@Text(@NoteID)"
varreturn = Evaluate(NotesMacro$, doc)
docnoteid2 = Right(varreturn(0),8)


da zeigt er erst "NT0000120A" und als docnoteid2 kommt dann raus "0000120A"
Titel: Re: NoteID wird nur 4 stellig angezeigt
Beitrag von: Raymond am 19.02.09 - 12:46:42
Noch eine Ergänzung.

Hatte gerade das gleiche Problem. Offenbar wird der Hex-Wert auch bei einem Print, bei der Zuweisung in eine String Variable odere sogar im Debugger immer ohne die führenden Nullen angezeigt. Die Übergabe
agentreturn = DocAgent .RunOnServer(doc.NoteID)
 wie von Glombi beschrieben funktionert bei mir aber einwandfrei.

Siehe auch
http://www-10.lotus.com/ldd/nd6forum.nsf/55c38d716d632d9b8525689b005ba1c0/994cbaf80bdb32a78525700b006d2d34?OpenDocument (http://www-10.lotus.com/ldd/nd6forum.nsf/55c38d716d632d9b8525689b005ba1c0/994cbaf80bdb32a78525700b006d2d34?OpenDocument)

Gruss
Raymond