Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Beispiel
Dieses Beispiel demonstriert wie mit Hilfe des SDK eine Mail zu einer bestimmten Firma oder Kontakt abgelegt werden kann.
Code Block | ||
---|---|---|
| ||
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.241.1
Neue Features:
Neue Funktion ForwardMail im CLMailItem Objekt ergänzt, um eine Mail weiterzuleiten.
Version 12.24.241.1
Note |
---|
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:
Neuer Parameter in den Funktionen CreateActivityCurrentMail und CreateActivity des CLMailActionEvent Objekt ergänzt, um die Prüfung auf eine bereits erfolgte Synchronisation zu deaktivieren.
Neue Funktionen GetActivities und CheckIfActivityAlreadyExists im CLMailActionEvent Objekt.
Neue Funktionen LogDebug, LogInformation, LogWarning und LogError im CLCrmLinkIt Objekt zum Erstellen von Log Einträgen in der CRMLinkIT Log Datei.
Verbesserung:
Die Funktionen CreateActivityCurrentMail und CreateActivity des CLMailActionEvent Objekt erzeugen nun einen Fehler, wenn eine Aktivität nicht erstellt werden kann.
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:
Das Objekt CLConfigurationProject wurde um eine GetAdditionalOutgoingAddressElement Funktion erweitert diese erlaubt es zu Prüfen ob eine E-Mail Adresse als ausgehende Adresse behandelt werden sollte.
Table of Contents | ||
---|---|---|
|
Page Tree | ||||||||
---|---|---|---|---|---|---|---|---|
|