Autor Thema: UnprocessedDocument im Web  (Gelesen 3083 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.731
  • 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