Domino 9 und frühere Versionen > ND6: Entwicklung

Verzweifelt an @elements in LS

(1/2) > >>

Peacemaker:
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

--- Ende Code ---

Thomator:
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

Semeaphoros:
Und dann gibts noch die ubound und Lbound-Funktionen, falls man die Anzahl wirklich wissen will/muss

Thomas Schulte:
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.

PsychoDad:
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

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln