Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Fbaum am 30.10.02 - 10:48:42

Titel: Feld automatisch mit Lotus Script ändern
Beitrag von: Fbaum am 30.10.02 - 10:48:42
Hallo,
nochmal ein Problem mit LS.
Dieses Script läuft wunderbar.
Ich möchte aber, daß das Status Feld automatisch geändert wird. (Siehe Fettgedrucktes!).

Sub Click(Source As Button)
   Dim workspace As New NotesUIWorkspace
   
   Dim feedback As  New NotesDatabase( "", "" )   
   Dim uidoc As NotesUIDocument
   Dim doc  As NotesDocument
   Call workspace.EditDocument( True )
   Set uidoc = workspace.CurrentDocument
   Set doc = uidoc.Document
   Set feedback = New NotesDatabase("Mein_Server", "Meine_DB.nsf")
   Call uidoc.FieldSetText ( "Form_Status", "92 Reviewers Notified" )
   Call doc.CopyToDatabase( feedback )
   Dim session As New NotesSession
   Dim db As NotesDatabase
   
   '
   Set db = session.CurrentDatabase
   'Set newdoc = New NotesDocument( db )
   Dim rtitem As NotesRichTextItem   
   Set rtitem = New NotesRichTextItem( doc,  "Body" )
   Call rtitem.AppendDocLink( feedback, db.Title )
   
   doc.Form = "Memo"
   'doc.SendTo = SendTo
   doc.Subject = "Document for review. (Click icon to access database.)"
   Call doc.Send( False )
   Call doc.Save(False,True )
      Call uidoc.Close
End Sub


Das funktioniert auch. Nur wenn das Script abgearbeitet ist, wird wieder der ursprüngliche Wert, bzw. gar kein Wert eingetragen.
Was habe ich da denn falsch gemacht??
Danke für Eure Info.
Gruß FBaum
Titel: Re:Feld automatisch mit Lotus Script ändern
Beitrag von: ata am 30.10.02 - 11:08:43
... gibt es in dem Feld eine Formel?...

ata
Titel: Re:Feld automatisch mit Lotus Script ändern
Beitrag von: Fbaum am 30.10.02 - 11:14:07
Hallo,
das Feld ist eine Dialogfeld und wird über einen DBLookup gefüllt.
Wenn ich es in einem anderen Feld mache (mit dem gleichen DBLookup) und ich mach die Formel
@SetField("Status";"dsfsdf") dann funktionierts.
Gruß FBaum
Titel: Re:Feld automatisch mit Lotus Script ändern
Beitrag von: Axel am 30.10.02 - 11:15:42
Hi,

hmm..., auf den ersten Blick kann ich im Script keinen Fehler entdecken. Mir ist eines aufgefallen, du verwendest einmal Frontend-Befehle und einmal Backend-Befehle. Das sollte eigentlich funktionieren, aber man weiß nie.

Ändere mal die Zeile in:

Call doc.Form_Status = "92 Reviewers Notified"
   
Ausserdem schau die mal das Feld an. Gibt es irgendeine Formel z.B. in der Eingabeübersetzung oder Eingabevalidierung ?

Axel

Titel: Re:Feld automatisch mit Lotus Script ändern
Beitrag von: ata am 30.10.02 - 11:19:43
... probier die Zuweisung mal mit...

doc.Form_Status = "92 Reviewers Notified"

ata
Titel: Re:Feld automatisch mit Lotus Script ändern
Beitrag von: Axel am 30.10.02 - 11:22:15
Hi,

wenn 's ein Dialogfeld ist, ist dann der Wert, den du zuweist auch so inder Auswahlliste vorhanden ? Anderfalls setze mal die Option "Neue Werte zulassen".

Ist nur so'ne Idee.

Axel
Titel: Re:Feld automatisch mit Lotus Script ändern
Beitrag von: ata am 30.10.02 - 11:25:57
... wenn du Aliase verwendest muß der Eintrag einem Alias entsprechen, ansonsten neue Werte zulassen...

ata
Titel: Re:Feld automatisch mit Lotus Script ändern
Beitrag von: Fbaum am 30.10.02 - 11:27:06
...bei dem Eintrag kommt der Fehler:

Unexpected: =;Expected (;End of Statement)
Titel: Re:Feld automatisch mit Lotus Script ändern
Beitrag von: Axel am 30.10.02 - 11:31:18
Hi,

kommt die Fehlermeldung beim Speichern des Scripts? Wenn ja, überprüfe dein Script auf Tippfehler. In welcher Zeile kommt die Fehlermeldung.

Oder kommt die Fehlermeldung bei der Ausführung des Scripts. Dann schau mal mit dem Debugger, wo er hängen bleibt.

Axel
Titel: Re:Feld automatisch mit Lotus Script ändern
Beitrag von: Fbaum am 30.10.02 - 11:34:04
Hallo,
kommt schon beim Speichern. Ist aber auch kein Tippfehler drin...
Titel: Re:Feld automatisch mit Lotus Script ändern
Beitrag von: Axel am 30.10.02 - 12:04:54
Hi,

kannst du das Script nochmal posten und die Zeile markieren, bei der der Fehler auftritt.


Axel
Titel: Re:Feld automatisch mit Lotus Script ändern
Beitrag von: Fbaum am 30.10.02 - 12:39:41
OK... hier nochmal...

Sub Click(Source As Button)
   Dim workspace As New NotesUIWorkspace
   
   Dim feedback As  New NotesDatabase( "", "" )  
   Dim uidoc As NotesUIDocument
   Dim doc  As NotesDocument
   Call workspace.EditDocument( True )
   Set uidoc = workspace.CurrentDocument
   Set doc = uidoc.Document
   Set feedback = New NotesDatabase("Mein_Server", "Meine_DB.nsf")
   Call doc.Form_Status = "92 Reviewers Notified"
Hier ist Fehlermeldung!

   Call doc.CopyToDatabase( feedback )
   Dim session As New NotesSession
   Dim db As NotesDatabase
   
   '
   Set db = session.CurrentDatabase
   'Set newdoc = New NotesDocument( db )
   Dim rtitem As NotesRichTextItem  
   Set rtitem = New NotesRichTextItem( doc,  "Body" )
   Call rtitem.AppendDocLink( feedback, db.Title )
   
   doc.Form = "Memo"
   'doc.SendTo = SendTo
   doc.Subject = "Document for review. (Click icon to access database.)"
   Call doc.Send( False )
   Call doc.Save(False,True )
      Call uidoc.Close
End Sub
Titel: Re:Feld automatisch mit Lotus Script ändern
Beitrag von: Axel am 30.10.02 - 13:00:22
Hi,

in der Zeile ist das Call zuviel.

Die Zeile muß so aussehen:

doc.Form_Status = "92 Reviewers Notified"

Sorry, hab ich in meinem Posting übersehen.

Axel

 
Titel: Re:Feld automatisch mit Lotus Script ändern
Beitrag von: Fbaum am 31.10.02 - 07:40:19
Danke schön... Funktioniert...
Gruß FBaum