Autor Thema: noteID ist doch String oder nicht?  (Gelesen 3785 mal)

Offline Jenson

  • Senior Mitglied
  • ****
  • Beiträge: 291
  • Geschlecht: Männlich
  • Geht nicht gibts nicht!
    • is Industrial Services AG
noteID ist doch String oder nicht?
« am: 22.10.04 - 12:25:13 »
Hallo zusammen,

ich versuche mich gerade in Lotusscript und stehe hier vor einem kleinen Problemfall den ich nicht verstehe.

folgendes Script hat im Objekt "Proc" URL Variablen gespeichert die beim Aufruf dieser Seite angegeben wurden.
Wenn das Script ausgeführt wird soll es eigentlich nix anderes machen als das Dokument mit der NoteID "Proc.noteID" in der Datenbank suchen und kopieren.

Scipt:

Code
' Script für Update von Buchungen
Dim session As New NotesSession
Dim db As New NotesDatabase( "", "" )
Dim docA As NotesDocument
Dim docB As NotesDocument
Dim OrgNoteID As String

OrgNoteID = Proc.orgNoteID(0)
Call db.OpenWithFailover( "", "xxxxxxxxx\\xxxxxx.nsf" )
Set doc = db.GetDocumentByID( OrgNoteID )
Set docB = New NotesDocument( db )
Call docA.CopyAllItems( docB, True )
Call docB.Save( True, True )

Ich erhalte hier immer den Fehler "Invalid NoteID (156)". Wieso? In der Doku (Designer Hilfe) steht, dass der Typ der NoteIT STRING ist.

Kann mir jemand einen Tip geben?

Danke

Jenson

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: noteID ist doch String oder nicht?
« Antwort #1 am: 22.10.04 - 12:31:01 »
Wie kommt denn orgNote ins Dokument ?
Kann es sein, dass vielleicht NoteID und UniversalID vermischt werden ?

Bernhard

PS: Der Typ ist natürlich String.

Offline Jenson

  • Senior Mitglied
  • ****
  • Beiträge: 291
  • Geschlecht: Männlich
  • Geht nicht gibts nicht!
    • is Industrial Services AG
Re: noteID ist doch String oder nicht?
« Antwort #2 am: 22.10.04 - 12:36:50 »
Ich habe hier eine CMS Datenbank. Die stellt mir an dieser Stelle das Objekt "Proc" zur Verfügung in dem alle Variablen die über ein Formular an diese Seite (per POST) geschickt werden zur Verfügung. Alleine deshalb muss eigentlich der Typ schon String sein von Proc.noteID.

Die NoteID in meinem Proc Objekt kommt aus einem Formularfeld aus dem HTML Formular das diese Seite ruft (ím Formular Action-Tag).

Also in der Zeile:

Code
OrgNoteID = Proc.orgNoteID(0)

weise ich der String Variablen "OrgNoteID" den Wert des HTML Formularfeldes orgNoteID zu. Da es sich hier um einen Vector handelt die "(0)" dahinter.

Der Fehler wird mir aber in der Zeile:
Code
Set doc = db.GetDocumentByID( OrgNoteID )
ausgegeben.

Ich komme ja nicht mal so weit dass ich das Script mal laufen lassen kann. Der Fehler wird mir bei der Überprüfung (DEBUG!?) des kurzen Scriptes bereits ausgegeben.

Jenson

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: noteID ist doch String oder nicht?
« Antwort #3 am: 22.10.04 - 12:52:58 »
Zähl einfach die Zeichen, aus denen die ID besteht. Sind es 32, ist es die UniversalID (was ich erwarte).

Bernhard

Offline Jenson

  • Senior Mitglied
  • ****
  • Beiträge: 291
  • Geschlecht: Männlich
  • Geht nicht gibts nicht!
    • is Industrial Services AG
Re: noteID ist doch String oder nicht?
« Antwort #4 am: 22.10.04 - 13:30:08 »
Nein ... ich habe das Formular selber aufgebaut ... das ist die noteID ! Die universalID übergebe ich in einem anderen Feld. Ausserdem bekomme ich die Fehlermeldung ja nicht beim ausführen des Scripts, sondern beim überprüfen ! Da sind in den Variablen noch garkeine Daten !

Jenson

Offline Jenson

  • Senior Mitglied
  • ****
  • Beiträge: 291
  • Geschlecht: Männlich
  • Geht nicht gibts nicht!
    • is Industrial Services AG
Re: noteID ist doch String oder nicht?
« Antwort #5 am: 22.10.04 - 13:46:54 »
Hier mal ein kleines "Gegenbeispiel" :-)

hab das Script grade mal mit einer fest eingetragenen NoteID getestet. Gleiches Ergebnis:

Code
Dim session As New NotesSession
Dim db As New NotesDatabase( "", "" )
Dim docA As NotesDocument
Dim docB As NotesDocument
Dim orgNoteID As String

orgNoteID = "NT000026A6"
Call db.OpenWithFailover( "", "webcontent\\timesheet.nsf" )
Set docA = db.GetDocumentByID( orgNoteID  )
Set docB = New NotesDocument( db )
Call docA.CopyAllItems( docB, True )
Call docB.Save( True, True )

Wenn ich das richtig verstanden habe in der Doku, dann sollte "NT000026A6" doch eine gültige NoteID sein. Hier erhalte ich den gleichen Fehler.

Jenson

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: noteID ist doch String oder nicht?
« Antwort #6 am: 22.10.04 - 14:00:15 »
Das "NT" gehört nicht zur NoteID.

Ich habe auch keinen Peil, was Du unter "überprüfen" verstehst. Die von Dir genannte Fehlermeldung ist ein Laufzeitfehler.

Bernhard

Offline Jenson

  • Senior Mitglied
  • ****
  • Beiträge: 291
  • Geschlecht: Männlich
  • Geht nicht gibts nicht!
    • is Industrial Services AG
Re: noteID ist doch String oder nicht?
« Antwort #7 am: 22.10.04 - 14:23:56 »
Hallo,

ich versuche das nochmal genauer zu erklären:

ich habe eine CMS Datenbank. In dieser habe ich zwei Dokumente.

Dokument 1:
Das erstellt mir ein HTML Formular in dem unter anderem die NOTEID über eine Ansicht ausgelesen und in ein Formularfeld im HTML Formular geschrieben wird. Aus der Ansicht kommt die NoteID in der form "NT......"

Dokument 2:
Dieses Dokument ist der Empfänger für die Formulardaten. Die CMS Datenbank die diese beiden Dokumente enthält stellt mir in diesem Dokument ein Feld zur Verfügung in dem ich LotusScript eintragen kann. Dieser Lotus-Script Code wird dann aufgerufen wenn das Dokument vom HTML-Formular aus aufgerufen wird (über das Action-Tag im HTML-Formular.)

In dieser Datenbank gibt es über dem Feld in dem ich den Lotus-Script Code einfüge einen Link auf den ich klicken kann der sich "check Code" nennt. Ich denke mal dahinter verbirgt sich nix anderes als ein Evaluate.

Wieso kommt den in meiner Ansicht in der ich mir die NoteID der Dokumente anzeigene lasse immer ein "NT" vor der eigentlich NoteID ? Ist das normal oder irgendwo ein Fehler?

Hoffe mich einigermassen verständlich ausgedrückt zu haben. Wenn man mitten drin steckt ist das immer nicht so einfach.

Jenson

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: noteID ist doch String oder nicht?
« Antwort #8 am: 22.10.04 - 14:28:57 »
Das steht aber auch in der DesignerHelp so:

Zitat
Rückgabewert
NTIDNummer
Zeichenfolge. Das Präfix NT, gefolgt von der Dokument-ID.

Das musst Du also entweder schon in der Ansicht oder später in Deinem Code 'rausbasteln.

Bernhard

Offline Jenson

  • Senior Mitglied
  • ****
  • Beiträge: 291
  • Geschlecht: Männlich
  • Geht nicht gibts nicht!
    • is Industrial Services AG
Re: noteID ist doch String oder nicht?
« Antwort #9 am: 22.10.04 - 14:30:58 »
:-) Danke :-) Dann scheint das mein Problem zu sein .. Das werde ich dann mal gleich in der Ansicht machen. Das wird dann denke ich auch mein Problem hier lösen.

Jenson

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz