Autor Thema: Antwortdokumente im Web ermitteln/abfragen/bearbeiten  (Gelesen 2439 mal)

Offline pimpfling

  • Senior Mitglied
  • ****
  • Beiträge: 367
  • Geschlecht: Männlich
Hallo,

ich möchte per Browser ein Feld in einem Antwortdokument befüllen.
Das ist soweit kein Problem.
Nun brauche ich aber eine Überprüfung ob es noch andere Antwortdokumente gibt.
Wenn ja, soll dort der Wert dann explizit nicht gesetzt sein, soll also entfernt werden.
Ich habe das ganze im Notesclient per Knopfdruck im UIDoc und document collection über die anderen Antwortdokumente gelöst.
Das funktioniert aber alles im Web nicht mehr.

Hat jemand einen Tipp oder Denkanstoss wie ich das realisieren kann?
« Letzte Änderung: 08.12.10 - 10:00:21 von pimpfling »
Gruß Stefan

----------------------------------
EDV-Systeme verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus.

Offline atbits

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 708
  • Geschlecht: Männlich
  • sei Du selbst die Veränderung, die Du Dir wünschst
    • atBits
Re: Antwortdokumente im Web ermitteln/abfragen/bearbeiten
« Antwort #1 am: 07.12.10 - 16:09:30 »
In einem WebQuerySave Agent, kannst Du mehr oder weniger das selbe machen wie im NotesClient.

Grüße David
David Schiffer
================================
atBits GmbH & Co. KG - https://atbits.de
im Einsatz: Lotus Domino 8.5, 9, 10

Offline pimpfling

  • Senior Mitglied
  • ****
  • Beiträge: 367
  • Geschlecht: Männlich
Re: Antwortdokumente im Web ermitteln/abfragen/bearbeiten
« Antwort #2 am: 07.12.10 - 16:13:26 »
hm, also den LS Code nehmen, einen Agenten damit befüllen, alles was nach UI riecht entfernen/austauschen und dann den Agenten per @Command([ToolsRunMacro]; "<Your agent goes here>") aufrufen?
Gruß Stefan

----------------------------------
EDV-Systeme verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus.

Offline atbits

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 708
  • Geschlecht: Männlich
  • sei Du selbst die Veränderung, die Du Dir wünschst
    • atBits
Re: Antwortdokumente im Web ermitteln/abfragen/bearbeiten
« Antwort #3 am: 07.12.10 - 16:17:39 »
Genau - mehr oder weniger

Das aktuelle Dokument (auf dem das Save aufgerufen wurde) bekommst Du über:

Code
Set session = New NotesSession	
Set db = session.CurrentDatabase
Set cdoc = session.DocumentContext

Grüße David
David Schiffer
================================
atBits GmbH & Co. KG - https://atbits.de
im Einsatz: Lotus Domino 8.5, 9, 10

Offline pimpfling

  • Senior Mitglied
  • ****
  • Beiträge: 367
  • Geschlecht: Männlich
Re: Antwortdokumente im Web ermitteln/abfragen/bearbeiten
« Antwort #4 am: 07.12.10 - 16:26:46 »
Super,

vielen Dank.
Das ganze sieht nun so aus:

   Dim parentUnid As String
   Dim db As NotesDatabase
   Dim Parent As NotesDocument   
   Dim collection As NotesDocumentCollection
   Dim currentResponse As NotesDocument
   Dim session As NotesSession
   Dim item As NotesItem
   Dim doc As NotesDocument
   Dim view As NotesView
   Dim uidoc As NotesUIDocument
   
   Set session = New NotesSession
   Set db = session.CurrentDatabase
   Set view = db.GetView("VWDevices")   
   Set doc = session.DocumentContext
   Set parent = db.GetDocumentByUNID ( doc.ParentDocumentUNID )
   Set collection = parent.Responses
   
   Set currentResponse = collection.GetFirstDocument
   Call doc.Save(True,True)
   
   If doc.GetItemValue( "DC_ActiveDevice" )(0) = "Yes" Then
      While Not currentResponse Is Nothing
         If doc.UniversalID <> currentResponse.UniversalID Then
            Set item = currentResponse.ReplaceItemValue( "DC_ActiveDevice", "" )
            Call currentResponse.Save( True, True )
         End If
         Set currentResponse = collection.GetNextDocument(currentResponse)
      Wend
   End If


Das setzen des Feldes mache ich im Web jetzt per @Formel Button in der Maske. Das klappt soweit auch, allerdings wird das Feld bei den anderen Dokumenten nicht bearbeitet...

Gruß Stefan

----------------------------------
EDV-Systeme verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus.

Offline pimpfling

  • Senior Mitglied
  • ****
  • Beiträge: 367
  • Geschlecht: Männlich
Re: Antwortdokumente im Web ermitteln/abfragen/bearbeiten
« Antwort #5 am: 08.12.10 - 09:10:53 »
Wie kann ich den Aufruf @Command([ToolsRunMacro]; "SetActiveDevice") im WebQuerySave Event debuggen?
Ich sehe keine print Ausgaben in der Domino Server Konsole...
Gruß Stefan

----------------------------------
EDV-Systeme verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus.

Offline atbits

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 708
  • Geschlecht: Männlich
  • sei Du selbst die Veränderung, die Du Dir wünschst
    • atBits
Re: Antwortdokumente im Web ermitteln/abfragen/bearbeiten
« Antwort #6 am: 08.12.10 - 09:19:39 »
Verwende msgbox ;-)
Das landet dann auf der Serverkonsole und in der log.nsf

oder ein logging framework  8)
David Schiffer
================================
atBits GmbH & Co. KG - https://atbits.de
im Einsatz: Lotus Domino 8.5, 9, 10

Offline pimpfling

  • Senior Mitglied
  • ****
  • Beiträge: 367
  • Geschlecht: Männlich
Re: Antwortdokumente im Web ermitteln/abfragen/bearbeiten
« Antwort #7 am: 08.12.10 - 09:36:41 »
Es kommt keine Meldung auf der Konsole...

Hier nochmal der Agent:
Code
Sub Initialize
	Msgbox "Hallo"	
	Dim parentUnid As String
	Dim db As NotesDatabase
	Dim Parent As NotesDocument	
	Dim collection As NotesDocumentCollection
	Dim currentResponse As NotesDocument
	Dim session As NotesSession
	Dim item As NotesItem
	Dim doc As NotesDocument
	Dim view As NotesView
	
	Set session = New NotesSession
	Set db = session.CurrentDatabase
	Msgbox 1
	Set view = db.GetView("VWDevices")	
	Set doc = session.DocumentContext
	Set parent = db.GetDocumentByUNID ( doc.ParentDocumentUNID )
	Set collection = parent.Responses
	Msgbox 2
	Set currentResponse = collection.GetFirstDocument
	Call doc.Save(True,True)
	Msgbox 3
	If doc.GetItemValue( "DC_ActiveDevice" )(0) = "Yes" Then
		While Not currentResponse Is Nothing
			If doc.UniversalID <> currentResponse.UniversalID Then
				Set item = currentResponse.ReplaceItemValue( "DC_ActiveDevice", "" )
				Call currentResponse.Save( True, True )
			End If
			Set currentResponse = collection.GetNextDocument(currentResponse)
		Wend
	End If
End Sub
Gruß Stefan

----------------------------------
EDV-Systeme verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus.

Offline pimpfling

  • Senior Mitglied
  • ****
  • Beiträge: 367
  • Geschlecht: Männlich
Re: Antwortdokumente im Web ermitteln/abfragen/bearbeiten
« Antwort #8 am: 08.12.10 - 09:37:43 »
PS. Im Notes Client funktioniert es.
Dokument in einer View markiert und den Agenten über Aktionen ausführen...
Gruß Stefan

----------------------------------
EDV-Systeme verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus.

Offline atbits

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 708
  • Geschlecht: Männlich
  • sei Du selbst die Veränderung, die Du Dir wünschst
    • atBits
Re: Antwortdokumente im Web ermitteln/abfragen/bearbeiten
« Antwort #9 am: 08.12.10 - 09:45:39 »
Was sagt denn das Log des Agents im Designer, wurde der Agent überhaupt ausgeführt. Mußt Du vielleicht Klammern ergänzen oder wegnehmen beim Agentnamen oder den Trigger anders setzen?

Ist es evtl ein restricteter Agent und das darfst Du nicht?
David Schiffer
================================
atBits GmbH & Co. KG - https://atbits.de
im Einsatz: Lotus Domino 8.5, 9, 10

Offline pimpfling

  • Senior Mitglied
  • ****
  • Beiträge: 367
  • Geschlecht: Männlich
Re: Antwortdokumente im Web ermitteln/abfragen/bearbeiten
« Antwort #10 am: 08.12.10 - 10:00:05 »
Danke, das wars....

Jetzt hat der Agent die Eigenschaften:

Trigger: Agent list selection
Target: None
Security level: 3

...und läuft.
Gruß Stefan

----------------------------------
EDV-Systeme verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz