Autor Thema: UnprocessedDocument im Web  (Gelesen 2917 mal)

Offline snoopy_777

  • Frischling
  • *
  • Beiträge: 9
UnprocessedDocument im Web
« am: 16.05.07 - 16:39:29 »
Hallo!

Ich steh schon wieder an  :-[

Ich hab eine in $$ViewTemplateDefault eingebettete View im Web, bei der man Dokumente auswählen kann.
In den selektierten Dokumenten will ich den Wert eines Feldes setzen.

Ich hab einen Button, der einen Agent aufruft der das machen soll.
Fehler bekomm ich keinen, aber ich hab mir die Anzahl der Dokumente ausgeben lassen, und die ist null  ???
Geht UnprocessedDocuments nicht im Web?

Hier der Source des Agenten:
Code
Sub Initialize
	
	Dim s As New NotesSession
	Dim db As NotesDatabase
	Dim collection As NotesDocumentCollection
	Dim doc As NotesDocument
	Dim configView As NotesView
	Dim configdoc As NotesDocument
	Dim Comment1 As String
	Dim Comment2 As String
	
	Dim i As Integer
	
	On Error Goto errHandle
	
	Set db = s.CurrentDatabase
	
	' read Configurationdocument to get Standardcomments
	Set configView = db.GetView("($IndexConfiguration)")
	Call configView.Refresh()
	Set configDoc = configView.getFirstDocument
	
	Comment1 = GetStandardComment1(configDoc)
	Comment2 = GetStandardComment2(configDoc)
	
	' Set Comment for selected Docs
	Set collection = db.UnprocessedDocuments
	Set doc = collection.GetFirstDocument()
	
	i=0
	
	While Not(doc Is Nothing)
		
		i=i+1
		
		If(doc.Flag(0) = "") Then
			doc.Comment2(0) = Comment2
		Else
			doc.Comment1(0) = Comment1
		End If
			
		Call doc.Save( False, True )
		
		Set doc = collection.GetNextDocument(doc)			
		
	Wend
	
	Print{<h1>}
	Print("Prozessed: " + Cstr(i))
	Print{</h1>}
	
errHandle:	
	
End Sub

Vielen vielen Dank - und schönen Feiertag!
lg
Alex

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re: UnprocessedDocument im Web
« Antwort #1 am: 16.05.07 - 16:52:51 »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: UnprocessedDocument im Web
« Antwort #2 am: 16.05.07 - 16:56:06 »
@Ulrich: Julians Code ist, soweit ich das sehen konnte, nur für den Notes-Client gedacht.

Ich denke, dass diese Beispiele eher helfen können:
http://www.codestore.net/store.nsf/unid/EPSD-5GMT3B?OpenDocument
http://brefere.com/notesnet/processselectedwebdocs.pdf
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline snoopy_777

  • Frischling
  • *
  • Beiträge: 9
Re: UnprocessedDocument im Web
« Antwort #3 am: 18.05.07 - 12:02:36 »
Danke m3, das hat schon viel geholfen!!
Ich hab es ein wenig anders gemacht als im Sample, da ich den Agenten über Web starte, was auch einwandfrei funktioniert.
Allerdings hab ich jetzt Probleme das Feld im Agenten auszulesen. Irgendwie is das immer leer und beim Split haut es ihn dann auf.

Das is der Button in $$ViewTemplateDefault
Code
 <input type="button" class="formAction" value="StdComment" target="_blank" onClick="InsertStandardComment()">

Hier der Javascript Teil der bei onClick aufgerufen wird.
TempString is ein verstecktes Feld das Text/Berechnet ist.
Code
function InsertStandardComment(){
	// Url to start the agent
	var url = window.document.getElementById("dbPath").value + "/InsertComment?openagent";
	var urlReturn = window.document.getElementById("Path_Translated").value + "/?OpenForm";
	if (window.document.applets[0]){
	 	window.document.getElementById("tempString").value = window.document.applets[0].getSelectedDocumentsEx();
		Check = confirm("You have selected " + window.document.getElementById("tempString").value.split(",").length + " document(s) for StandardComemnt, do you really want to continue?");
		if (Check){
			alert(window.document.getElementById("tempString").value);
			window.document.forms[0].submit();
			window.location=url;
			//window.location=urlReturn;
		}
	}
}

Und hier der Agent:
Code
Sub Initialize
	
	Dim s As New NotesSession
	Dim db As NotesDatabase
	Dim doc As NotesDocument
	Dim ermComment As String
	Dim trmComment As String
	Dim docArray As Variant
	
	On Error Goto errHandle
	
	Set db = s.CurrentDatabase
	
	ermComment = "ermcomment"
	trmComment = "trmcomment"
	
	' Set Comment for selected Docs
	docArray = Split(viewDoc.tempString(0), ",")
	
	Forall unid In docArray	
		Set doc = db.GetDocumentByUNID(unid)
		
		If(doc.ErmTrmFlag(0) = "TRM") Then
			doc.trmComment(0) = trmComment
		Else
			doc.ermComment(0) = ermComment
		End If
		
		Call doc.Save( False, True )
		
	End Forall
	
	Exit Sub
	
errHandle:	
	Exit Sub
	
End Sub

Ich glaub das das mit dem Speichern des $$ViewTemplateDefault irgendwie nicht richtig hinhaut???

Danke vielmals
Alex

Edit: Ach ja - hatte ich vergessen - im OnSubmit dieser Maske hab ich noch @Command([FileSave]) drinnen
« Letzte Änderung: 18.05.07 - 13:07:24 von snoopy_777 »

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: UnprocessedDocument im Web
« Antwort #4 am: 18.05.07 - 17:05:18 »
ViewTemplates kannst Du nicht editieren im Web, bzw. lassen sich nicht speichern als Dokumente.

Wenn Du anstatt dem ViewTemplate, eine Eingebettete Ansicht verwendest sollte es funktionieren.
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline snoopy_777

  • Frischling
  • *
  • Beiträge: 9
Re: UnprocessedDocument im Web
« Antwort #5 am: 20.05.07 - 21:01:12 »

Hallo Umi!

$$ViewTemplateDefault is die Maske in der die View eingebettet ist.
und ich muß die verwenden, da ich viele verschiedenen Ansichten habe...

Kann ich zB ein redirect auf eine andere Seite machen in der ich dann ein Feld mit den Werten die ich brauche befülle und dort beim Speichern den Agent aufrufen?
Is zwar komplizierter, aber sollte dann ja auch gehen, oder?

Oder kann ich dem Agent irgendwie Parameter mitgeben?? Das wär überhaupt das geschickteste, oder?

lg
Alex

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: UnprocessedDocument im Web
« Antwort #6 am: 21.05.07 - 09:00:43 »
Hallo Snoopy

Parameter kannst Du an Agenten via URL übergeben.
z.B. http://server/db/Agent?OpenAgent&P=17&Q=hilfe

Dann kannst Du im Agent via Documentcontext und dem Feld Query_String_Decoded auf den Parameterstring zugreifen.
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline snoopy_777

  • Frischling
  • *
  • Beiträge: 9
Re: UnprocessedDocument im Web
« Antwort #7 am: 21.05.07 - 09:06:02 »
Danke! Werd ich gleich mal versuchen!

lg
Alex

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz