Avatar billede avest Nybegynder
14. april 2003 - 12:02 Der er 12 kommentarer

Email som Svar på svar i database

Jeg har en projektdatabase som benyttes til at samle alle dokumenter omkring et projekt.
Hoveddokumentet er en beskrivelse af projektet og herefter kan der oprettes et vilkårligt antal svar og svar-på-svar dokumenter til dette projekt.
Når jeg nu modtager en email vedrørende projektet, vil jeg gerne kunne kopiere den fra min indbakke til projektdatabasen som et underdokument.

CTRL-C + CTRL-V er en let og hurtig løsning, men så sættes emailen ind som et almindelig hoveddokument. Jeg ønsker det skal være et svar på svar dokument.

Gode ideer?
Avatar billede jogii Nybegynder
15. april 2003 - 08:55 #1
Jeg ved ikke om jeg kan komme med en færdig løsning, men jeg kan beskrive hvordan den bør se ud.

Problemet er at din mail ikke er et Response-doc. Du kan prøve at gøre det med et Email-Reply dokument. Det vil gladeligt inplacere sig i hierarkiet.

Du skal have sat $REF-feltet til at pege på moderdokumentet. Det kan umiddelbart ikke gøres nemt i @Formula. Du er nok nødt til at anvede LotusScript eller Java. Næste problem er at lokalisere en passende Event hvor koden kan placeres. Både agenter og views kan være følsomme overfor Paste-handlingen.

Koden skal lokalisere de dokumenter som er pasted og det dokument som du står på i oversigten og derefter binde dem sammen med metoden doc.MakeResponseDoc

Jeg håber det hjælper dig lidt videre.
//Jörg
Avatar billede avest Nybegynder
15. april 2003 - 09:02 #2
Jeg havde håbet der var en lidt lettere måde.
Nå, jeg kiger på det. Umiddelbart må det give et lille problem da jeg både skal have fat i dokumentet som bliver kopieret ind i viewet og dokumentet som er valgt i same view. Men det kan være det hele løser sig når jeg arbejder lidt med det.
Avatar billede avest Nybegynder
15. april 2003 - 09:33 #3
Sub Postpaste(Source As Notesuiview)
    Dim pasteddocs As notesdocumentcollection
    Dim selecteddoc As notesdocumentcollection
    Dim pdoc, sdoc As notesdocument
    Set pasteddocs = source.documents    ' indsatte dokument OK
    Set pdoc = pasteddocs.getfirstdocument()
    Set selecteddoc = source.view.parent.unprocessedDocuments  ' TOM
    Set sdoc = selecteddocs.getfirstdocument()
End Sub

Øv, jeg kan ikke få fat i det markerede dokument.
Avatar billede avest Nybegynder
15. april 2003 - 09:53 #4
Jeg vil jo gerne bagefter lave noget lignende dette.

  pdoc.MakeResponse(sdoc)
Avatar billede wise Seniormester
27. april 2003 - 11:06 #5
Ok. som jeg læser det, så er dit problem at fange det dokumetn som dine mails skal være response til.
Kunne man løse det ved at når du pastede dem, så kom der en dialog op og viste en liste over alle aktive sager hvor du så kan vælge den som de skal tilføjes under.... ??

Jeg har lavet noget lignende hvor jeg fra min mailbase kan markere nogle dokumneter samt vælge en sag, og så bliver mailsne flyttet til sagsbasen og lagt som reply...
Avatar billede avest Nybegynder
28. april 2003 - 10:11 #6
Sub Postpaste(Source As Notesuiview)
  Dim ws As New NotesUiWorkspace
  Dim pasteddocs As notesdocumentcollection
  Dim selecteddocs As notesdocumentcollection
  Dim pdoc, sdoc As notesdocument
  Dim view As notesview
  Set pasteddocs = source.documents  ' indsatte doukmenter
  Set pdoc = pasteddocs.getfirstdocument()
 
  Set selecteddocs = ws.PickListCollection(1,False,_
    "","","FindDokument","Indsæt email",_
    "Vælg et dokument")   

End Sub

Men den giver mig fejlen
Incorrect argument: non-null string expected
Jeg forsøgte med at skrive server og database navnet, men det ændrede ikke noget.
Avatar billede wise Seniormester
28. april 2003 - 13:16 #7
Hmm, jeg bruger
Set cases = workspace.PickListCollection(1, False,casedb.server,casedb.filepath,"(aabne sager)","Sagsoversigt","Vælg hvilken sag dokumenterne skal tilknyttes.")

Jeg kan ikke lige se hvorfor din skulle fejle (?)
Avatar billede avest Nybegynder
28. april 2003 - 13:35 #8
Så virker det.

Sub Postpaste(Source As Notesuiview)
    Dim pasteddocs As notesdocumentcollection
    Dim session As New NotesSession
    Dim workspace As New NotesUIWorkspace
    Dim pdoc As NotesDocument
    Dim ParentDoc As NotesDocument
    Dim db As NotesDatabase
    Dim collection As NotesDocumentCollection
    Set db=session.CurrentDatabase
    Set pasteddocs = source.documents  ' indsatte doukmenter
    'Set collection = workspace.PickListCollection(1, False,db.server,db.FileName,"FindDokument","My Dialog", "Please select a document or two.")
    Set collection = workspace.PickListCollection(1, False,"Notes006/Odense","B&U\edb\Projekter.nsf","FindDokument","My Dialog", "Please select a document or two.")
    Set parentDoc = collection.getfirstdocument()
    Set pdoc = pasteddocs.getfirstdocument()
    While Not pdoc Is Nothing
        Call pdoc.MakeResponse(parentDoc)
        Call pdoc.save(True,True)
        Set pdoc = pasteddocs.getnextdocument(pdoc)
    Wend
End Sub
Avatar billede avest Nybegynder
28. april 2003 - 14:47 #9
Pokkers. Fokuserede så meget på emails som ikek var responsdokumenter, at jeg glemte at teste for emailsvar som jo allerede er responsdokument. Her virker det ikke.
Den melder ikke fejl.
Det undrer mig faktisk lidt, at det ikke virker
Avatar billede wise Seniormester
28. april 2003 - 14:50 #10
Hvad sker der med dem, forsvinder de bare eller under de under nogle andre sager eller hvad?
Avatar billede jogii Nybegynder
28. april 2003 - 15:00 #11
Kan det skyldes at du anvender PastedDocs.GetNextDocument(pdoc)

Måske skulle du lave
    dim tmpdoc as NotesDocument
    While Not pdoc Is Nothing
        tmpdoc = pasteddocs.getnextdocument(pdoc)
        Call pdoc.MakeResponse(parentDoc)
        Call pdoc.save(True,True)
        Set pdoc = tmpdoc
    Wend

Det er nemlig ikke nemt at vide hvilken indflydedelse den nye indplacering af et dokument har på collection.GetNextDocument.
Avatar billede avest Nybegynder
28. april 2003 - 15:02 #12
Dooh. Form="REPLY", så det virkede jeg viste dem bare ikke i oversigten.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester