Lotus Notes / Domino Sonstiges > Help-Desk Applikation !!Help!!

Übernahme von Mails aus anderen als der eigenen Mailbox

(1/1)

pur_berger:
So - keine Angst - ich beschäftige mich eh schon selber damit ...

Also - ich habe mal versucht das zu tun (und zu verstehen) was mir so erklär wurde ...

-> die Function wird im lib.appl.functions aufgerufen - unter "InsertFullEmail"
-> Orginal heißt es
        Set dbMail = New NotesDatabase("","")
   Call dbMail.OpenMail
   If Not dbMail.IsOpen Then Error 1001, "Could not open user's mailfile"
-> wenn ich es richtig verstehe müßte ich lediglich New Notes Database ("","") gegen New Notes Fabase ("","unser Pfad zum File") tauschen

So - zum testen hab ich das mal direkt versucht - in der Annahme das dann der Button schon diese Funkzion ausführt  ... nada.

Dann hab ich mal versucht den BUtton zu finden - sind das die "Transform Mail" Button?

Um ein neues Object in die Library einzufügen - reicht es da z.B. den Inhalt aus InsertFullEmail in zum Beispiel Terminate zu kopieren, einen neuen Namen zu geben und zu sichern (so hab' ich es zumindest versucht)

Pfrrrr - ich find nicht mehr weiter ...

Also - konkret:

Bitte

- wo in welcher View sind die Mail >> Ticket Buttons definiert?
- lauf ich komplett falsch in meinem Vorgehen?
- die alte IT Support Datenbanl arbeited mit standardViews und $Inbox

Ich weiß  ist nervig - nur für uns ist das wirklich wichtig umd die Datenbank vernünftig zu benutzen ...

Besten Dank

eknori (retired):
Hier ein QuickHack:

Fuege folgenden Code in die Lib LS.Ticket hinter der letzten Funktion ein.


--- Code: ---Public Function CreateFromMailOther ( strView As String ) As Boolean

CreateFromMailOther = False

Dim uiws As New NotesUIWorkspace
Dim s As New NotesSession
Dim dbThis As NotesDatabase
Dim item As NotesItem
Dim rtitem As NotesRichTextItem
Dim dbMail As NotesDatabase
Dim docMail As NotesDocument
Dim docTicket As NotesDocument
Dim collMail As NotesDocumentCollection
Dim namesfield As Variant

Set dbThis = s.CurrentDatabase
Set dbMail = Nothing

Set dbMail = New NotesDatabase("[b]DeinServer[/b]","[b]DieDatenbank[/b]")
'Call dbMail.OpenMail
If Not dbMail.IsOpen Then Error 1001, "Could not open user's mailfile"

Set collMail = uiws.PickListCollection ( PICKLIST_CUSTOM, False, dbMail.Server, dbMail.FilePath, _
strView, "Transform Mail To Ticket", "Please select an e-Mail: ")
If collMail.Count = 0 Then Exit Function  'No document selected
Set docMail = collMail.GetFirstDocument   
Set docTicket = Me.Create

Set item = docTicket.ReplaceItemValue ( "TransformMail", "1" )
Set item = docTicket.ReplaceItemValue ( "EnteredBy", "0" )
Set item = docMail.GetFirstItem( "Subject" )
Set item = docTicket.ReplaceItemValue ( "Problem", item.text )
Set item = docMail.GetFirstItem( "From" )
Set item = docTicket.ReplaceItemValue ( "user", item.text )

' build the reader and the authors field if necessary
If Ucase(Me.GetConfiguration("LockDocumentsgeneral"))="YES" Then
' create the readers field
namesfield = CreateNamesField(docTicket,"LockDocumentsTicketReaders")
If Isarray( namesfield) = True Then
Set item = docTicket.ReplaceItemValue("AReaders",namesfield)
item.IsReaders = True
End If
' create the authors field
namesfield = CreateNamesField(docTicket,"LockDocumentsTicketAuthors")
If Isarray( namesfield) = True Then
Set item = docTicket.ReplaceItemValue("AAuthors",namesfield)
item.IsAuthors = True
End If
End If

Dim AppendMailAsReponse As Boolean
AppendMailAsReponse = False
If Me.GetConfiguration ( "CREATE_FROM_MAIL_APPEND" ) = "YES" Then
' CREATE_FROM_MAIL_APPEND ( DEFAULT = NO )
AppendMailAsReponse = True
End If

If docMail.HasItem ( "Body" ) And Not AppendMailAsReponse  Then
Set rtItem = New NotesRichTextItem (docTicket, "Body" )
Call rtItem.AppendRTItem (docMail.GetFirstItem( "Body" )) ' Get Mail Body
Call docTicket.Save (True, True )
Else
Call docTicket.Save (True, True )
Dim newmaildocUNID As String
newmaildocUNID = MoveToOtherDocument( dbthis, docMail, docTicket.UniversalID )
End If



CreateFromMailOther = True
End Function
--- Ende Code ---


Set dbMail = New NotesDatabase("DeinServer","DieDatenbank")

an den fett markierten Stellen must du entspechende Werte eintragen.

Dan aenderst du den Aufruf in der ShearedAction "TransformMail" in


--- Code: ---Sub Click(Source As Button)
Dim ok As Boolean
Dim t As New Ticket ' Create BE Ticket Object
ok = t.CreateFromMailOther ( "($inbox)" )
End Sub
--- Ende Code ---

Fertig ...

pur_berger:
Jo - Du bist mein Hero ;) - ich geh' heut in den Stephansdom und spende Dir ein Kerzerl - hat auf anhieb geklappt!

Danke Danke Danke!

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln