Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: tuxie am 01.03.04 - 10:36:48
-
Hallo,
ich habe wieder mal ein Problemchen,
ich (mein Chef) möchte das beim Anlegen eines HAuptdokumentes Automatisch ein Satz Antwortdokumente als eine Art Rubriken Angelegt werden.
ich habe für beides auch die Masken erstellt, wie könnte man soetwas realisieren. In dem Antwortdokument stehen immer nur 2 Felder wo 1 berechnet ist un das Zweit mit zwei Wörter gefüllte werden.
Hat jemand eine Idee.
Hier ein Beispiel:
Hauptdokument:
Newsletter 02/2004
Antwortdokumente
News aus der IT-Abteilung
News aus der Betriebsleitung
News aus der Personalabteilung
Hier noch weitere Infos
http://www.atnotes.de/index.php?board=7;action=display;threadid=14209
TSchau Ingo
-
> ich (mein Chef)
Aha, Du bist also Dein eigener Chef ;)
Mein erster Ansatz für eine solche Lösung: Im PostOpen-Event des Hauptdokumentes die Antwortdokumente per Script anlegen. Sehe keine andere Variante als Script.
-
Aha, Du bist also Dein eigener Chef
Schön wärs ;D ::)
-
Hi,
sehe ich genauso wie Semeaphoros.
Wie generierst du den dein Hauptdokument ?
Axel
-
Das Hauptdokument wird richtig manuel angelegt mit einigen Feldern, und beim betätigen des Buttons Speichern soll das Hauptdokument gespeichert werden und dann die ca. 10 Antortdokumente Automatisch erstellt werden.
MAn könnte ja ein Script bauen das nach dem Speichern aufgerufen wird, dem Script wird dann die Docid übergeben und das Scirpt in form eines Agenten legt dann die Antwortdokumenta an. Soweit so gut das ganze haz nur einen Hagen :-[ :-[ *schäm* ich kann kein LN Script und mein LN Script Lehrgang ist mangels Finanzen ausgefallen, darum bitte ich euch um Hilfestellung.
TSchau Ingo
-
Hi,
das Script könnte das ungefähr so aussehen:
...
Dim ws As New NotesUIWorkspace
Dim session as New NotesSession
Dim db As NotesDatabase
Dim docCurrent As NotesDocument
Dim docResponse As NotesDocument
Dim arrTitel(2) As String
Dim idx As Integer
arrTitel(0) = "News aus der IT-Abteilung"
arrTitel(1) = "News aus der Betriebsleitung"
arrTitel(2) = "News aus der Personalabteilung"
Set db = session.CurrentDatabase
Set docCurrent = Source.Document
If docCurrent.Responses.Count = 0 Then
For idx = 0 to 2
Set docResponse = New NotesDatabase(db)
docResponse.Form = "Antwortmaske"
docResponse.Titel = arrTitel(idx)
Call dosResponse.MakeResponse(docCurrent)
Call docResponse.Save(True,False)
Next
End If
...
Das Script packst du in den QuerySave-Event. Den Masken- und die Feldnamen mußt du anpassen.
Müßte so eigentlich funktionieren.
Axel
-
Set docResponse = New NotesDatabase(db)
sollte heissen:
Set docResponse = New NotesDocument(db)
-
Hi,
upps, Fehler vom Amt. Hast natürlich recht. So kommts, wenn wenn zwei Sachen auf einmal macht (tippen und telefonieren). :-\
*In die Ecke stee und schäm*
Axel
-
Das passiert auch ohne Multitasking ........ also komm mal gleich wieder aus Deiner Ecke raus und trink nen Kaffee .........
Hier die Tasse: UP
Leider musst Du den Henkel selber ankleben ..... :)
-
Ohh Klasse, Leute ihr seit Super :D :D ;D ;D
da müsste dann docResponse.Titel mit dem richtigen Feld name angepasset werden richtig?
docResponse.rub_rubrik
und natürlich die Schleife anpassen
TSchau Ingo
-
da müsste dann docResponse.Titel mit dem richtigen Feld name angepasset werden richtig?
docResponse.rub_rubrik
und natürlich die Schleife anpassen
Hi,
genau richtig.
Axel
-
An der Stelle hier
If docCurrent.Responses.Count = 0 Then
bringt LN einen Fehler (Variable not set)
müßte diese noch mit DIM eingerichtet werden.
-
Hi,
poste bitte mal den gesamten Code
Axel
-
Sub Querysave(Source As Notesuidocument, Continue As Variant)
Dim ws As New NotesUIWorkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim docCurrent As NotesDocument
Dim docResponse As NotesDocument
Dim arrTitel(2) As String
Dim idx As Integer
arrTitel(0) = "Amtliche Mitteilungen / Hauptamt"
arrTitel(1) = "Kämmerei"
arrTitel(2) = "Ordnungsamt"
Set db = session.CurrentDatabase
Set docCurrent = Source.Document
If docCurrent.Responses.Count = 0 Then
For idx = 0 To 2
Set docResponse = New NotesDocument(db)
docResponse.Form = "rubrik"
docResponse.rub_rubrik = arrTitel(idx)
Call docResponse.MakeResponse(docCurrent)
Call docResponse.Save(True,False)
Next
End If
End Sub
-
Hi,
irgendwie scheint es Probleme mit der Abfrage der Anzahl der Antwortdoks zu geben wenn das Dok noch nicht gespeichert wurde.
Versuch's mal so:
Sub Querysave(Source As Notesuidocument, Continue As Variant)
Dim ws As New NotesUIWorkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim docCurrent As NotesDocument
Dim docResponse As NotesDocument
Dim arrTitel(2) As String
Dim idx As Integer
arrTitel(0) = "Amtliche Mitteilungen / Hauptamt"
arrTitel(1) = "Kämmerei"
arrTitel(2) = "Ordnungsamt"
Set db = session.CurrentDatabase
Set docCurrent = Source.Document
If Source.IsNewDoc Then
For idx = 0 To 2
Set docResponse = New NotesDocument(db)
docResponse.Form = "rubrik"
docResponse.rub_rubrik = arrTitel(idx)
Call docResponse.MakeResponse(docCurrent)
Call docResponse.Save(True,False)
Next
End If
End Sub
Axel
-
Funktioniert wunderbar,
dankeschön
TSchau Ingo
-
Hi,
setzt du den Thread bitte noch auf "erledigt".
Danke.
Axel