Autor Thema: Übernahme von Mails aus anderen als der eigenen Mailbox  (Gelesen 2193 mal)

Offline pur_berger

  • Aktives Mitglied
  • ***
  • Beiträge: 116
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

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: Übernahme von Mails aus anderen als der eigenen Mailbox
« Antwort #1 am: 22.08.07 - 17:18:28 »
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


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

Fertig ...
« Letzte Änderung: 22.08.07 - 17:20:57 von eknori »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline pur_berger

  • Aktives Mitglied
  • ***
  • Beiträge: 116
Re: Übernahme von Mails aus anderen als der eigenen Mailbox
« Antwort #2 am: 22.08.07 - 19:10:43 »
Jo - Du bist mein Hero ;) - ich geh' heut in den Stephansdom und spende Dir ein Kerzerl - hat auf anhieb geklappt!

Danke Danke Danke!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz