Version 2

Beispiel

Dieses Beispiel demonstriert wie mit Hilfe des SDK eine Mail zu einer bestimmten Firma oder Kontakt abgelegt werden kann.

Option Explicit Dim oCLMailActionEvent On Error Resume Next Set oCLMailActionEvent = GetObject("Cosmolink.CLMailActionEvent") If Err.Number <> 0 Then cRM.DialogMessageBox "Der Vorgang wird beendet." & vbCrLf & "Es ist ein unerwartetes Verhalten beim Laden des 'Cosmolink.CLMailActionEvent' aufgetreten." & vbCrLf & vbCrLf & "Ursprung: " & Err.Source & vbCrLf & "Code: " & Err.Number & vbCrLf & "Beschreibung: " & Err.Description, "(c) " & Year(Date) & " cosmolink", vbExclamation Err.Clear Beenden() End If On Error GoTo 0 Dim oCurrentMailItem Set oCurrentMailItem = oCLMailActionEvent.CurrentMailItem if oCurrentMailItem is Nothing Then cRM.DialogMessageBox "Der Vorgang wird beendet." & vbCrLf & "Die synchronisierende E-Mail konnte nicht ermittelt werden", "E-Mail Daten konnten nicht ermittelt werden", vbExclamation Beenden() End If Dim oBlacklistEntry, oSender Set oSender = oCurrentMailItem.Sender if oSender is Nothing Then cRM.DialogMessageBox "Der Vorgang wird beendet." & vbCrLf & "Der Absender konnte nicht ermittelt werden", "E-Mail Daten konnten nicht ermittelt werden", vbExclamation Beenden() End If 'Präfen ob eine E-Mail Adresse auf der Blacklist steht Set oBlacklistEntry = oCLMailActionEvent.ProjectConfiguration.GetBlacklistElement(oSender.Address) Dim bIsBlacklisted if oBlacklistEntry is Nothing Then bIsBlacklisted = false Else bIsBlacklisted = oBlacklistEntry.IsMail OR oBlacklistEntry.IsDomain End If Dim sDetails sDetails = "Absender: " & oSender.Address & vbCrLf & _ "Absender Blacklisted: " & bIsBlacklisted & vbCrLf & _ "Betreff: " & oCurrentMailItem.Subject & vbCrLf & _ "Versendet: " & oCurrentMailItem.SentAt & vbCrLf & _ "Empfangen: " & oCurrentMailItem.ReceivedAt & vbCrLf & _ "Priorität: " & oCurrentMailItem.PriorityName & vbCrLf & _ "Richtung: " & oCurrentMailItem.DirectionName & vbCrLf & _ "Anhänge: " & oCurrentMailItem.Attachments.Count Dim nResult nResult = cRM.DialogChoiceMessageBox("Mächten Sie die nachfolgende E-Mail als Aktivität speichern?" & vbCrLf & vbCrLf & sDetails, "Aktivität anlegen", "Keine Aktivität erfassen" & vbTab & "Aktivität mit Firma verknäpfen" & vbTab & "Aktivität mit Kontakt verknäpfen", vbQuestion, false) if nResult = 101 Then oCLMailActionEvent.Result.Successful = true oCLMailActionEvent.Result.AdditionalExecutionAllowed = true Beenden() End If Dim sDialogSelectRecordTitle, sViewName, sContactRecordId, sCompanyRecordId sContactRecordId = "" sCompanyRecordId = "" Select Case nResult Case 102 sDialogSelectRecordTitle = "Bitte wählen Sie die Firma aus" sViewName = "Firmen" Case 103 sDialogSelectRecordTitle = "Bitte wählen Sie den Kontakt aus" sViewName = "Kontakte" End Select Dim oProject, oListViewConfigs, oViewConfig, oViewRecordSet, oViewRecord Set oProject = cRM.CurrentProject Set oListViewConfigs = oProject.ViewConfigs Set oViewConfig = oListViewConfigs.ItemByName(sViewName) If oViewConfig is Nothing Then cRM.DialogMessageBox "Der Vorgang wird beendet." & vbCrLf & "Es konnte nicht auf die Ansicht '"&sViewName&"' zugegriffen werden.", "Zugriff auf Ansicht fehlgeschlagen", vbExclamation Beenden() End If Set oViewRecordSet = oViewConfig.CreateRecordSet() If oViewRecordSet is Nothing Then cRM.DialogMessageBox "Der Vorgang wird beendet." & vbCrLf & "Beim Zugriff auf das RecordSet ist ein unerwartetes Verhalten aufgetreten.", "Unerwartetes Verhalten festgestellt", vbExclamation Beenden() End If If NOT oViewRecordSet.MoveFirst Then cRM.DialogMessageBox "Der Vorgang wird beendet." & vbCrLf & "Der Filter hat keine Daten im RecordSet zuräckgeliefert.", "Keine Datensätze gefunden", vbExclamation Beenden() End If Set oViewRecord = oViewRecordSet.DialogSelectRecord(sDialogSelectRecordTitle, true) If oViewRecord is Nothing Then 'Benutzer hat die Abbrechen Schaltfläche betätigt Beenden() End If Select Case nResult Case 102 sCompanyRecordId = oViewRecord.GetContentsByName("ID") Case 103 sContactRecordId = oViewRecord.GetContentsByName("ID") End Select Dim oActivity 'CreateActivityCurrentMail(string companyRecordid, string contactRecordid) -> Nutzt das CurrentMailItem (nur in VBS verfägbar) Set oActivity = oCLMailActionEvent.CreateActivityCurrentMail(sCompanyRecordId, sContactRecordId) 'Zeigt cRM an oCLMailActionEvent.CombitCrmHelper.ShowMainWindow() 'Zeit die angegebene Aktivität oCLMailActionEvent.CombitCrmHelper.OpenViewInCrmByActivity(oActivity) 'Markieren der Aktion als erfolgreich -> wichtig!!!! oCLMailActionEvent.Result.Successful = true 'Erlaubt eine erneute Ausfährung des Skriptes. Default: false 'Sollte nur in Fällen genutzt werden, wo das explizit notwendig ist. Z.b. Filtern von allen Aktivitäten des absenders oCLMailActionEvent.Result.AdditionalExecutionAllowed = true Sub Beenden() Set oViewRecord = Nothing Set oViewRecordSet = Nothing Set oViewConfig = Nothing Set oListViewConfigs = Nothing Set oProject = Nothing Set oSender = Nothing Set oBlacklistEntry = Nothing Set oCurrentMailItem = Nothing Set oCLMailActionEvent = Nothing WScript.Quit End Sub

 

Changelog

Version 12.24.282.1

Neue Features:

Version 12.24.241.1

Diese Version enthält Breaking Changes!

Breaking Change:

  • Skripte welche die Funktionen CreateActivityCurrentMail und CreateActivity des CLMailActionEvent Objekt verwenden sollten um ErrorHandling erweitert werden, da diese nun einen Error erzeugen, wenn eine Aktivität nicht angelegt werden konnte. Ãœber diesen Error kann die Ursache der fehlgeschlagenen Erstellung ausgelesen werden.

Neue Features:

Verbesserung:

Bugfix:

  • Das Aktualisieren der Aktivitäten Liste einer Mail hat nicht alle Daten korrekt zurückgegeben.

 

Version 11.24.078.1

Verbesserung:

  • Beim Objekt CLMailActionEvent wurden die Funktionen ‘CreateActivity’ und ‘CreateActivityCurrentMail’ angepasst. Die Parameter für CompanyID und ContactID sind nun optional. Dadurch wird der Standard Kontakte/Firmen Auswahl Dialog geöffnet. Wenn eine bestimmte Firma gesetzt werden soll, kann dies weiterhin über das befüllen der Parameter passieren.

  • Das Objekt CLActivity wurde um ein Property für den PrimaryKed Feldnamen der Aktivität erweitert.

  • Das Objekt CLAttachment wurde um ein Property für die Dateiendung erweitert.

  • Das Objekt CLCombitCrmHelper wurde um die Funktion 'OpenViewInCrmByActivities' zum Anzeigen von mehreren Aktivitäten erweitert.

  • Das Objekt CLMailitem lädt nun wie vorgesehen die bereits erstellten Aktivitäten in das Property Activities.

  • Das Öffnen einer Aktivität im CRM zeigt die Aktivität nun entweder in der Ãœbersersichtsliste (mehrere Aktvitäten) oder in der Eingabemaske (eine Aktivität) an.

Version 11.24.073.1

Verbesserung:

  • Das SDK CLAttachment Objekt wurde um eine neue Eigenschaft für den Index des Objektes erweitert

Version 11.24.061.1

Verbesserung:

 

Related pages