Freie SQL-Abfrage ausführen beim Schließen von Combit

Hallo,

beim Schließen von Combit soll ein Fenster angezeigt werden, wo das Ergebnis einer SQL-Abfrage angezeigt wird.
Konkret soll die Summe der Minuten aller Aktivitäten des aktuell eingeloggten Benutzers angezeigt werden.

Die SQL-Abfrage dazu lautet wie folgt:

SELECT SUM(Activities.Duration) FROM Activities
WHERE Activities.Responsible = '%LoginName%'
AND CONVERT( date,Activities.DateTime) = CONVERT( date, GETDATE())

Ich habe gesehen das es ein Ereignis namens „Projekt wird geschlossen“ gibt.
Hier kann eine Skript ausgeführt werden, nur leider habe ich keinen Ansatz wie ich die SQL-Abfrage in ein Skript einbauen könnte.

Mit freundlichen Grüßen
Hendrik

Erster Ansatz: Sie bauen eine stored procedure, die den Wert für einen übergebenen User+Datum ermittelt und den Wert dann per RAISERROR als „Fehler“ eskaliert. Darüber gelangt der Wert dann als SQLShell.LastError.ErrorText zurück ins Script.

nResult = SQLShell.ExecuteCommandRaw("...") 
If nResult = -1 Then 
    MsgBox SQLShell.LastError.ErrorText 

Zweiter Ansatz: Sie vertagen das Thema bis Version 12 erscheint. Dort werden Sie direkt auf einem beliebigen RecordSet SQL-seitige Aggregationsfunktionen ausführen und das Ergebnis per Script abfragen und weiterverarbeiten können.

Hinsichtlich des grundsätzlichen Ansatzes sehe ich möglicherweise noch „Herausforderungen“ - das kommt jetzt ein bisschen darauf an, was im Anschluss mit dem Wert passieren wird - nämlich falls Anwender:innen combit CRM mehrmals am Tag starten und beenden, oder wenn sie 2 Instanzen von combit CRM parallel benutzen. Sie können sich auch alternativ überlegen, ob nicht besser über eine geplante Aufgabe um 23:59 eine 24h Summary Mail (z.B. Sofortbericht) an jede:n Benutzer:in, der:dir heute mind. 1 Aktivität erfasste, ausgelöst wird. Da könnte man auch schon direkt die entsprechenden Links zu den betreffenden Projekte-Datensätzen oder Kunden-Datensätzen hinterlegen, falls da noch was nachgetragen werden soll.

Wir haben die Anforderung unseren neuen Kollegen gegeben.

Anbei sind unsere zwei Skriptvorschläge.

*.txt in *.vbs umbenennen und in benannter Form integrieren.

Beste Grüße aus Illingen
cosmolink

2 „Gefällt mir“

Hallo Herr Eggestein und Herr Wietzel,

vielen Dank für die schnelle Antworten und die nützlichen Hinweise.

Das Skript, welches Sie hier bereitgestellt haben funktioniert einwandfrei - nochmals herzlichen Dank hierfür.

Mit freundlichen Grüßen
Hendrik

1 „Gefällt mir“

Ich habe in meiner alten Version noch die „Info-Zentrale“, die ich nicht aktiv nutze und die vermutlich jetzt anders heißt. Wäre es nicht möglich darauf das Ergebnis der Abfrage darzustellen, so dass der User hier nachschauen kann bevor er die Anwendung schließt?

Hallo,

ja, es ist glaube ich egal, wo man die Skripte ausführt. Man könnte die aus der Infozentrale heraus ausführen.

In der Infozentrale könnte man gleich die Werte pro Benutzer direkt Anzeigen. Ähnlich wie hier:
image

Viele Grüße aus Illingen
cosmolink

© combit GmbH