Autor Thema: Hilfe bei Lotus Script  (Gelesen 4537 mal)

Offline tuelb

  • Junior Mitglied
  • **
  • Beiträge: 82
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Hilfe bei Lotus Script
« am: 28.02.03 - 18:35:02 »
Will eine messagebox mit dem inhalt eines Textfeldes(test) der aufgerufenen Maske machen.

Wie geht das?

Sub Initialize
   Dim wert As String
   wert = test    <--???
                Msgbox wert
End Sub

 ???
ick werd noch bekloppt mit:
Domino 5.0.6 W2K Server
Domino Designer 5.0.10
Notes 5.0.10  NT 4.0 SP 6a
LEI 3.1

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Hilfe bei Lotus Script
« Antwort #1 am: 28.02.03 - 18:52:53 »
aus der Help von Notes, nur etwas abgewandelt (KLasse NOTESUIDOCUMENT..gibt natürlich noch viele andere Wege)


Dim workspace As New NotesUIWorkspace
  Dim uidoc As NotesUIDocument
  Dim composed As String
  Set uidoc = workspace.CurrentDocument
  composed = uidoc.FieldGetText( "DateComposed" )
 msgbox composed

Oder über die Backendklasse
Dim workspace As New NotesUIWorkspace
  Dim uidoc As NotesUIDocument
  Dim composed As String
Dim doc as NotesDocument
  Set uidoc = workspace.CurrentDocument
Set doc = uidoc.Document
 msgbox Cstr(doc.FELDABC(0) )
' die 0 steht für den ersten Wert des Feldes, falls es ein Multivalue ist
« Letzte Änderung: 28.02.03 - 18:53:16 von Rob Green »
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Hilfe bei Lotus Script
« Antwort #2 am: 01.03.03 - 16:47:23 »
@Rob
Zitat
' die 0 steht für den ersten Wert des Feldes, falls es ein Multivalue ist
... das ist inhaltlich nicht ganz richtig. Über das Backend sind Nicht-MultipleValue-Felder ebenfalls ein Array, aber eben nur mit einem Element mit dem Index (0)...

... nur um keine falschen Schlüsse zuzulassen...

ata
Grüßle Toni :)

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Hilfe bei Lotus Script
« Antwort #3 am: 01.03.03 - 17:44:46 »
ok, Maestro, damit wir korrekt bleiben
 :)
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline tuelb

  • Junior Mitglied
  • **
  • Beiträge: 82
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:Hilfe bei Lotus Script
« Antwort #4 am: 03.03.03 - 10:28:03 »
Mmh.habe das in den globalen Teil der Maske/Initialize eingetragen:
   Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   
   Dim composed As String
   Set uidoc = workspace.CurrentDocument
->hier wird gemeckert  ???   
composed = uidoc.FieldGetText( "ipaddr1" ) 'mein Textfeld ipaddr1
   
   Msgbox composed


Fehlermeldung "Objektvariable not set!" ???

Das  andere habe ich auch ausprobiert, gleiche Fehlermeldung???
« Letzte Änderung: 03.03.03 - 10:42:22 von tuelb »
ick werd noch bekloppt mit:
Domino 5.0.6 W2K Server
Domino Designer 5.0.10
Notes 5.0.10  NT 4.0 SP 6a
LEI 3.1

Offline Performance

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.096
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
Re:Hilfe bei Lotus Script
« Antwort #5 am: 03.03.03 - 10:59:38 »
warum trägst du den code in initialize ein ?

du hast beim Aufruf noch kein gültig initialisiertes UI Dokument.

versuchs mal im Postopen


cu
Wir können alles außer hochdeutsch !

Alles ist möglich, es ist nur eine Frage der Zeit oder des Geldes!

Offline tuelb

  • Junior Mitglied
  • **
  • Beiträge: 82
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:Hilfe bei Lotus Script
« Antwort #6 am: 03.03.03 - 11:39:13 »
 :) Super das war ja einfach.

Wenn ich jetzt ein Feld schreiben will, muss man lt. Fehlermeldung im Bearbeitungsmodus sein.
Wie wechsle ich denn kurzzeitig in den Bearbeitungsmodus und dann wieder in den Anzeigemodus per Skript????

Benutze dieses  Statement zum schreiben:
Call uidoc.FieldSetText  ( "Feld", "text")

Oder gibt es eine andere Lösung? ???
ick werd noch bekloppt mit:
Domino 5.0.6 W2K Server
Domino Designer 5.0.10
Notes 5.0.10  NT 4.0 SP 6a
LEI 3.1

Offline tuelb

  • Junior Mitglied
  • **
  • Beiträge: 82
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:Hilfe bei Lotus Script
« Antwort #7 am: 03.03.03 - 15:36:28 »
Bin jetzt von der Frontend Lösung auf die Backendlösung umgestiegen.
Wie beschreibt man denn ein bestehendes Feld im Backend?
Irgendwie mit der Klasse Item/Notesitem oder ???
ick werd noch bekloppt mit:
Domino 5.0.6 W2K Server
Domino Designer 5.0.10
Notes 5.0.10  NT 4.0 SP 6a
LEI 3.1

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Hilfe bei Lotus Script
« Antwort #8 am: 03.03.03 - 15:42:10 »
   Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   dim doc as Notesdocument 'Backend  
   Dim composed As String
   Set uidoc = workspace.CurrentDocument
   Set doc=uidoc
   Set doc = uidoc.Document ' !!! hier kommt man vom UI ins koplementäre Backenddoc
 doc.Feld = uidoc.FieldGetText( "ipaddr1" ) ' schreiben in ein Feld per Backendmethodik
 call doc.save(false, false)
  ....
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline tuelb

  • Junior Mitglied
  • **
  • Beiträge: 82
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:Hilfe bei Lotus Script
« Antwort #9 am: 03.03.03 - 16:03:57 »
  Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   dim doc as Notesdocument 'Backend  
   Dim composed As String
   Set uidoc = workspace.CurrentDocument
   Set doc=uidoc
   Set doc = uidoc.Document ' !!! hier kommt man vom UI ins koplementäre Backenddoc
 doc.Feld = uidoc.FieldGetText( "ipaddr1" ) ' schreiben in ein Feld per Backendmethodik
 call doc.save(false, false)
  ....


Set doc=uidoc ->gibt einen Fehler aus, also wird im Designer nicht gespeichert

Das habe ich so modifiziert
doc.on_offline = uidoc.FieldGetText( "ONLINE" )

mein Feld heißt  on_offline und es soll "Online" reingeschrieben werden.
Lotus kann aber das Feld nicht finden, liegt wahrscheinlich am ersten Fehler??????

Noch kleinen Tip???
Danke, Danke
ick werd noch bekloppt mit:
Domino 5.0.6 W2K Server
Domino Designer 5.0.10
Notes 5.0.10  NT 4.0 SP 6a
LEI 3.1

Offline Performance

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.096
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
Re:Hilfe bei Lotus Script
« Antwort #10 am: 03.03.03 - 16:30:03 »
@tuelb

verstehe dein Problem nicht ganz...
was willst du eigentlich erreichen ?
ein Feld im backend mit einem Feld aus dem Frontend überscheriben ?
wo baust du deinen code ein ?


cu
Wir können alles außer hochdeutsch !

Alles ist möglich, es ist nur eine Frage der Zeit oder des Geldes!

Offline tuelb

  • Junior Mitglied
  • **
  • Beiträge: 82
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:Hilfe bei Lotus Script
« Antwort #11 am: 03.03.03 - 16:34:21 »
@performance
im postopen bereich,

führe eine Funktion ping aus und je nach Rückgabewert soll in das feld on_offline der wert "online" oder offline" geschrieben werden. Oder geht das gar nicht?
Also im Frontend hat es geklappt aber das sah so blöd aus, da man sehen konnte, wie sich die Ansicht auf "bearbeiten" änderte,
dann der Feldwert eingetragen wurde und wieder auf Ansicht gewechselt wurde. Dachte, dass kann man im Hintergrund laufen lassen.....
ick werd noch bekloppt mit:
Domino 5.0.6 W2K Server
Domino Designer 5.0.10
Notes 5.0.10  NT 4.0 SP 6a
LEI 3.1

Offline Performance

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.096
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
Re:Hilfe bei Lotus Script
« Antwort #12 am: 03.03.03 - 16:40:21 »
das geht schon - nur wann machst du den Ping ? auch im Postopen ?
warum willst du dann
"" doc.on_offline = uidoc.FieldGetText( "ONLINE" )  ""
machen ?

wenn im Feld online das ganze schon gespeichert ist, warum soll es dann nach on_offline geschrieben werden ?


cu
Wir können alles außer hochdeutsch !

Alles ist möglich, es ist nur eine Frage der Zeit oder des Geldes!

Offline tuelb

  • Junior Mitglied
  • **
  • Beiträge: 82
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:Hilfe bei Lotus Script
« Antwort #13 am: 03.03.03 - 16:45:40 »
Vielleicht habe ich da die Syntax falsch verstanden:

doc.Feld = uidoc.FieldGetText( "ipaddr1" )

Ich dachte doc.FELD-> da muss ich meinen Feldnamen ersetzen also doc.on_offline
und
uidoc.FieldGetText( "ONLINE" ) und da, dachte ich, kommt der Wert rein, den ich dort eintragen will

Sub Postopen(Source As Notesuidocument)
   
   Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument
   Dim item As  NotesItem
   
   Dim IP As String
   Dim Ping As New Ping
   
   Set uidoc = workspace.CurrentDocument
'   Set doc=uidoc 'funktioniert nicht
   Set doc = uidoc.Document
   
   doc.on_offline = uidoc.FieldGetText( "ONLINE" )
   
   Msgbox 1
   
   IP = Cstr(doc.ipaddr1(0))
   If (Ping.Ping ( IP )=True) Then  doc.on_offline = uidoc.FieldGetText( "ONLINE" )  Else  doc.on_offline = uidoc.FieldGetText( "OFFLINE" )
   
   Call doc.save(True,False)
   
   
End Sub


Wie definiere ich denn den Wert, der in das Feld soll????
ick werd noch bekloppt mit:
Domino 5.0.6 W2K Server
Domino Designer 5.0.10
Notes 5.0.10  NT 4.0 SP 6a
LEI 3.1

Offline Performance

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.096
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
Re:Hilfe bei Lotus Script
« Antwort #14 am: 03.03.03 - 16:54:22 »
im uidoc kannst du die Felder im edit mode setzen

uidoc.editmode = true
If (Ping.Ping ( IP )=True) Then  
uidoc.FieldSetText("on_offline","ONLINE" )
Else  
uidoc.FieldSetText("on_offline","OFFLINE" )
end if

uidoc.refresh
 - oder ein save machen
uidoc.save



cu


Wir können alles außer hochdeutsch !

Alles ist möglich, es ist nur eine Frage der Zeit oder des Geldes!

Offline tuelb

  • Junior Mitglied
  • **
  • Beiträge: 82
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:Hilfe bei Lotus Script
« Antwort #15 am: 03.03.03 - 17:02:07 »
aber dann sieht der Benutzer das (den wechsel von Bearbeitungsmodus in Anzeigemodus und zurück)doch,oder?

Ich wollte, dass er das im Hintergrund macht!
ick werd noch bekloppt mit:
Domino 5.0.6 W2K Server
Domino Designer 5.0.10
Notes 5.0.10  NT 4.0 SP 6a
LEI 3.1

Offline Performance

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.096
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
Re:Hilfe bei Lotus Script
« Antwort #16 am: 03.03.03 - 17:27:43 »
- im Hintergrund ? ok dann musst du wieder ins Queropen und mit items ds ganze machen:

Dim item As NotesItem
Set doc = Source.Document

If (Ping.Ping ( IP )=True) Then
Set item = doc.ReplaceItemValue("on_offline","ONLINE" )
item.Issummary = True
Else
Set item = doc.ReplaceItemValue("on_offline","OFFLINE" )
item.Issummary = True
end if


cu
Wir können alles außer hochdeutsch !

Alles ist möglich, es ist nur eine Frage der Zeit oder des Geldes!

Offline tuelb

  • Junior Mitglied
  • **
  • Beiträge: 82
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:Hilfe bei Lotus Script
« Antwort #17 am: 03.03.03 - 17:39:20 »
das scheint zu funktionieren.
Aber ich muss das Dokument immer nochmal laden, bis der Eintrag dargestellt wird. So ein Refresh, wie oben beschrieben funtkioniert nicht. Wie macht man das??

Und wozu (Verständis) ist item.Issummary = True?
Danke
ick werd noch bekloppt mit:
Domino 5.0.6 W2K Server
Domino Designer 5.0.10
Notes 5.0.10  NT 4.0 SP 6a
LEI 3.1

Offline Performance

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.096
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
Re:Hilfe bei Lotus Script
« Antwort #18 am: 03.03.03 - 17:43:43 »
dann mach dein Feld "on_offline"  berechnet  mit  on_offline als Formel.


Summary ist wenn dieses Feld in einer View gezeigt werden soll



cu
Wir können alles außer hochdeutsch !

Alles ist möglich, es ist nur eine Frage der Zeit oder des Geldes!

Offline tuelb

  • Junior Mitglied
  • **
  • Beiträge: 82
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:Hilfe bei Lotus Script
« Antwort #19 am: 03.03.03 - 18:52:28 »
Geile Sache!!

Danke,Danke, Danke an Euch!!!
 ;D

Sorry bin aber 'ne totale Notes Niete. Ich wurde dazu gezwungen  ;)
ick werd noch bekloppt mit:
Domino 5.0.6 W2K Server
Domino Designer 5.0.10
Notes 5.0.10  NT 4.0 SP 6a
LEI 3.1

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz