Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Peacemaker am 14.02.05 - 13:56:07

Titel: Verzweifelt an @elements in LS
Beitrag von: Peacemaker am 14.02.05 - 13:56:07
Hallo,

bevor Ihr denkt : schon wieder einer der vorschnell einen neuen Thread aufmacht zu Sachen die schon 100 mal beantwortet wurden: Nein, ich bin seit über 1 Stunde am suchen und stöbern.


Doch ich finde nix genau passendes für mein Problem:

ich habe ein LS Script, das soviel Dokumente erzeugen soll wie Werte in einem Textfeld (Liste in Formelsprache) stehen. Habe schon ne Menge versucht, am Ende ein verzweifeltes abfragen der "Counter Variable" via Environment. Geht aber irgendwie auch net.


   counter2=session.GetEnvironmentString( "counter" )
   counter = Val(counter2)
   
   i=1
   
   While i<counter

irgendwie macht das script nix. Wenn ich stattdessen eine fixe Zahl statt counter setzte geht alles wie am Schnürchen.

Also, wie sage ich LS, das es die @elements von Feld output_nwoallgemein    ausgeben soll und dann als integer das ers in der While verarbeiten kann?

Btw - wieso existiert kein Hilfe verweis in der Designer Hilfe auf eine @elements ähnliche LS Funktion????


Code
Sub Initialize
	Dim Session As New NotesSession
	Dim db As NotesDatabase
	Dim docNew As NotesDocument
	Dim StrN As String
	Dim n As Integer
	Dim uiview As NotesUIView
	Dim collection As NotesDocumentCollection
	Dim counter2 As String
	Dim counter As Integer
	Dim i As Integer
	
	Set db=session.CurrentDatabase
	Set collection=db.UnprocessedDocuments
	Set doc= collection.GetFirstDocument()
	
	counter2=session.GetEnvironmentString( "counter" )
	counter = Val(counter2)
	
	
	i=1
	
	While i<counter
		
		Set docNew=db.CreateDocument
		docNew.form="Outtage"
		
				
		docNew.outage_name=doc.output_nwoallgemein	
		docNew.outage_week=counter2
		
		Call docNew.Save(True,False)
		i=i+1
		
	Wend
	
Titel: Re: Verzweifelt an @elements in LS
Beitrag von: Thomator am 14.02.05 - 14:08:44
Hi,
wenn in den Feldeigenschaften des Feldes, in dem die Liste hinterlegt ist, Mehrfachwerte eingeschaltet sind, ist das eigentlich ganz einfach:

Dim values as Variant
Dim item as NotesItem

Set item = doc.getFirstItem(feldname)
values = item.getItemValues()

if isArray(values) then
   forall val in values
        -> Inhalte verarbeiten
   end forall
end if

In den Durchläufen der forall-Schleife werden die einzelnen Werte des Feldes in val verfügbar gemacht.

Thomas
Titel: Re: Verzweifelt an @elements in LS
Beitrag von: Semeaphoros am 14.02.05 - 14:14:04
Und dann gibts noch die ubound und Lbound-Funktionen, falls man die Anzahl wirklich wissen will/muss
Titel: Re: Verzweifelt an @elements in LS
Beitrag von: Thomas Schulte am 14.02.05 - 14:21:29
Jaja, die Data Manipulations der Lotus Script Language. Und wer sich jetzt wundert, warum das Denglisch ist der möge in der Online Hilfe nachschauen. Da gibt es nämlich einen Unterpunkt Arrays und um ein solches handelt es sich hier.
Titel: Re: Verzweifelt an @elements in LS
Beitrag von: PsychoDad am 14.02.05 - 15:17:28
Hallo!
Ich glaube das Problem liegt ganz woanders. Ich kann mich ja täuschen, aber in die Notes.ini kann ich keine Mehrfachwerte schreiben und bekomme somit auch keine Mehrfachwerte zurück. Ein @elements auf einen notes.ini Paramater wird Dir immer eine 1 zurückgeben.
Gruß

Frank
Titel: Re: Verzweifelt an @elements in LS
Beitrag von: Thomator am 14.02.05 - 15:21:33
Also ich habe das so verstanden, dass der Weg über die Environments nur ein letzter, verzweifelter Versuch waren, oder?
Wenn es anders auch funzt sollte das Thema eh gegessen sein.

Thomas
Titel: Re: Verzweifelt an @elements in LS
Beitrag von: PsychoDad am 14.02.05 - 15:26:29
Sorry - hätte den Eintrag wohl besser lesen sollen!
Titel: Re: Verzweifelt an @elements in LS
Beitrag von: Thomas Schulte am 14.02.05 - 15:29:45
Also, wie sage ich LS, das es die @elements von Feld output_nwoallgemein    ausgeben soll und dann als integer das ers in der While verarbeiten kann?
Also wenn ich das hier richtig interpretiert habe dann waren unsere Antworten schon richtig. Vielleicht war die Formulierung deiner Frage einfach schlecht ??
Titel: Re: Verzweifelt an @elements in LS
Beitrag von: Peacemaker am 14.02.05 - 22:21:49
also, vielen Dank für die Hilfe... der Ubound hatmir mit ein wenig Glück zum Erfolg gereicht... aber irgendwie schon ulkig das ganze... Ich sollte mich ja wohl doch mal intensiver mit LS beschäftigen
Titel: Re: Verzweifelt an @elements in LS
Beitrag von: Semeaphoros am 14.02.05 - 23:25:34
Wobei der vorgeschlagene Forall die deutlich bessere Lösung wäre, In den BestPractices gibt es eine Schleifenkunde von unserem Matthias, die Dir bestimmt viele Anregungen und Hinweise geben kann