Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Don Pasquale am 16.09.02 - 18:24:44

Titel: Aus Ansicht im angewählten Dokument Felder ändern
Beitrag von: Don Pasquale am 16.09.02 - 18:24:44
Hi Folks,

irgendwie hatte ich´s und nach einer kleinen Änderung war alles wieder weg.

Ich möchte im angewählten Dokument,
das Feld Bearbeiter mit einem Namen aus einer Picklist füllen (Das klappt)
und den Wert aus Subject in ein Feld Identnummer.
Da komme ich nicht weiter.
Zusätzlich :
Das ganze möglichst ohne das sich das Dokument
öffnet und auch ohne einen "Wollen sie die
Änderungen speichern ?"  Dialog.

Ich komme mit Front-End und back noch nicht so zurecht und derzeit steh ich total auf dem Schlauch.

Für Hilfe wäre ich dankbar

Gruß
Don Pasquale

Code

Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim stringArray As String      
Set uidoc = ws.CurrentDocument
Dim composed As String      

-->composed = uidoc.FieldGetText( "Subject" )
' Hier ist die erste Fehlermeldung Object Variable not set
' Das Dokument sollte aber eingentlich ein Subject besitzen ??
     
Set uidoc = ws.EditDocument( True )      
Call uidoc.FieldAppendText("Verteilt", "True" )

Dim picklist As Variant
picklist = ws.Pickliststrings(0,1,"","names.nsf", "By Category", "Document picker", "Please select some documents the document(s).", 2,"B")

Call uidoc.FieldSetText("Bearbeiter", Cstr( picklist(0)))

Set uidoc = ws.EditDocument( False )            

Titel: Re: Aus Ansicht im angewählten Dokument Felder änd
Beitrag von: Rob Green am 16.09.02 - 18:46:58
aus der View heraus kapiert Notes nicht, daß das uidocument  = current von uiworkspace ist......sollte man meinen, daß Notes den Balken auf dem Dokument in der View auch sieht...leider nein.... ??? ??? noteskauderwelsch  ;D ;D?

Nö,...steht halt in Notes Designer Help zur Methode Current bei notesuiworkspace. ;)

Probier mal das vom Ansatz her aufs "gebalkende" Dokument zu kommen:
Dim workspace As New NotesUIWorkspace
     Dim view As NotesUIView
     Set view = workspace.CurrentView
     Dim notes As notesdocumentcollection
     Set notescoll = view.Documents
     Dim doc As notesdocument
     Set doc  = notescoll.GetFirstDocument
     While Not doc Is Nothing
           Msgbox Cstr(doc.kind1(0))
           Set doc = notescoll.getnextdocument(doc)
     Wend

Kannst da einbauen, was Du möchtest...also Input oder halt einfach ein doc.Name="Maier"
Titel: Re: Aus Ansicht im angewählten Dokument Felder änd
Beitrag von: Zimmi am 17.09.02 - 07:50:51
Hi,

soweit ich mich noch erinnern kann, ist das gebalkte Dokument in der UIView im Script nicht gleich ausgewählt !!!
Das Dokument muss in der UIView mit einem Häkchen versehen sein.
Die Auswahl der Dokumente lässt sich überprüfen, wenn du noch einen kleinen Zusatz einbaust.

If notescoll.count = 0 then
 Messagebox"Sie haben oder du hast keine Dokumente ausgewählt" & Chr(13) & "Bitte ein oder mehrere Dokumente in der Ansicht mit einem Häkchen markieren", 0+64, "Keine Dokumente ausgewählt"
 Exit Sub/Function ??? Weiß nicht, wo du das eingebaut hast
End If

Viele Grüße von
Zimmi
Titel: Re: Aus Ansicht im angewählten Dokument Felder änd
Beitrag von: Till_21 am 17.09.02 - 13:58:13
Mal ne Frage :
Wieso realisierst Du das Problem nicht mit einem Formel-Agent ?
Sollte ein Zweizeiler sein, oder ?

Gruss / till
Titel: Re: Aus Ansicht im angewählten Dokument Felder änd
Beitrag von: Axel am 17.09.02 - 14:11:02
Hi,

in Sript könnte der Agent so aussehen:

Dim ws As New NotesUIWorkspace  
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument  
Dim stringArray As String      
Dim composed As String      
Dim idx As integer

Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments  'Alle markierten Docs in die Kollection

For idx = 1 to collection.Count
Set doc = collection.GetNthDocument(idx)
     
doc.Verteilt = doc.Verteilt(0) + "True"


Dim picklist As Variant
picklist = ws.Pickliststrings(0,1,"","names.nsf", "By Category", "Document picker", "Please select some documents the document(s).", 2,"B")  

doc.Bearbeiter = Cstr( picklist(0))
Call doc.Save(True, False)
Next
         
Axel
Titel: Re: Aus Ansicht im angewählten Dokument Felder änd
Beitrag von: Don Pasquale am 17.09.02 - 15:29:29
Rob, Zimmi, Till, Axel
Vielen Dank für Eure Antworten.


Rob : Das Skript verändert in allen Dokumenten der View
die Felder. Das kann ich anpassen und an anderer Stelle verwenden.

Till: Ich habe es bereits mit Formelsprache realisiert, aber da ich noch ein paar andere Feldoperationen in Skript durchführe, wollte ich es in Skript haben.


Axel : Cool, Dein Skript konnte ich 1:1 übernehmen und es läuft einwandfrei.

Nochmals vielen Dank an alle

Don Pasquale