Domino 9 und frühere Versionen > Entwicklung

Dokument --> Antwortdokument --> $REF

<< < (7/9) > >>

Fbaum:
Ich möchte die Aktion in der Ansicht auslösen. Am besten damit, daß ich das orginal Dok und das Antwortdok markiere.
Das Antwortdok ist im Designer auch als solches angegeben. Nur über LS wird das Dok nicht als Antwortdok erstellt.

Performance:
moment ich bin dran.......

Rob Green:
sach mal, FBaum, schieb doch endlich in drei Teufels Namens diese beknackte DB rüber...sakra sappra diamiamau... :-*

*nix für ungut, bin nit böse, nur etwas ungeduldig  ;D, es ist ein rumstochern im Nebel, weil Du doch selbst nicht weißt, ob das Doc ein Response ist oder was auch immer...ich denke, daß es schona us Respekt vor den Bemühung vieler schon angebracht wäre..und wenn sich Deine Firma eben jungfräulich mit der obergeheimen Anwendung anstellt, dann lass es einfach...dag denen, daß es nicht geht und schluß...meine Meinung natürlich..dann quälst Du Dich nicht mehr so..ok, nur ein gut gemeinter Rat*



ata:
... mit dem ersten Agenten (alle markierten Dokumente) übernimmst du die Zuweisung der DocID in die Notes.ini

@Environment("MainDocID" ; @Text(@DocumentUniqueID))

... der zweite Agent hat folgenden Code


--- Code: ---   Dim session    As New NotesSession
   Dim dbThis       As NotesDatabase
   Dim dc          As NotesDocumentCollection
   Dim docMain   As NotesDocument
   Dim doc          As NotesDocument
   Dim sDocID      As String
   Dim i             As Integer
   
   Set dbThis       = session.CurrentDatabase
   Set dc          = dbThis.UnprocessedDocuments
   
   ' # Die DocID einlesen
   sDocID         = session.GetEnvironmentString("MainDocID")   
   If sDocID = "" Then
      Msgbox "Es konnte keine zugehörige DocID gelesen werden"
      Exit Sub
   End If
   
   ' # Das Haupdokument initialisieren
   Set docMain = dbThis.getDocumentByUNID(sDocID)
   If docMain Is Nothing Then
      Msgbox "Das Haupt-Document konnte nicht geöffnet werden"
      Exit Sub
   End If
   
   If dc.Count > 0 Then
      Set doc = dc.GetFirstDocument
      Call Doc.RemoveItem("$Ref")
      For i = 1 To dc.Count
         Call doc.MakeResponse( docMain )
         Call doc.Save(True , True)
         Set doc = dc.GetNextDocument(doc)         
      Next
   Else
      Print "Es waren keine Dokumente markiert"
   End If
   Call session.SetEnvironmentVar("MainDocID" , "")
--- Ende Code ---

Ich habe den Code getestet , der funzt...

ata

Edit: ... das ist ja mittlerweile richtig lebhaft geworden..

ata

Performance:
ich geb dann auch meinen Senf dazu

@rob
es ist manchmal frustrierend ellenlange beiträge zu lesen wo man nicht den roten Faden erkennen kann

@Fbaum
ich habe das in der view mit einem Aktion button gemacht

Sub Click(Source As Button)
   Dim ws As New NotesUIWorkspace   
   Dim s As New NotesSession
   Dim db As NotesDatabase
   Dim parent As NotesDocument, child As NotesDocument
   Dim col As NotesDocumentCollection
   
   Set db = s.CurrentDatabase
   
   Set col = db.Unprocesseddocuments
   If col.count <> 2 Then Exit Sub
   Set parent = col.GetFirstDocument
   Set child = col.GetLastDocument
   REM Dokument aufgrund eines Feldes unterscheiden
   If (Messagebox("Ist  < " + parent.subject(0) + " > das Hauptdokument ?", 3 + 32, "Info") ) = 6 Then
      ''' ok
   Elseif (Messagebox("Ist < " + child.subject(0) + " > das Hauptdokument ?", 3 + 32, "Info") ) = 6 Then
      Set child = col.GetFirstDocument
      Set parent = col.GetLastDocument
   Else
      Exit Sub
   End If
   REM damit nicht das Hauptdok ein Kinddok des Kindes wird checkst du hier nochmal die Form ab
   If parent.Form(0) <> "MainTopic" Then Exit Sub
   
   Call child.MakeResponse(parent)   
   child.save True, False
   Call ws.viewrefresh
   
End Sub




cu

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln