Beiträge von Amadeo Vergés (Zühlke Engineering AG)

    Danke für die Bestätigung.
    Ja, wir führen den sogenannten "Employee Lifecylce" wo wir auf dem Bearbeiter die historisierte Liste alle Beförderungen und Mutationen führen.
    Ich muss schauen ob man da mittelfristig auch die UserRechte "loggen" kann.

    Vermutlich ist in dem Fall ein Eventscript, das uns ein Email sendet, wenn ein sensitives Recht erteilt wird, die einfachste Lösung.

    Bei Zühlke definieren die verschiedenen Personalabteilungen die Benutzerrechte von (neuen) Mitarbeitern.
    Nun möchten wir Admins gerne überwachen können oder infromiert werden, wenn gewisse Benutzergruppen zugewiesen wurden.


    Am liebsten wäre mir eine Liste welche z.B. die Zuweisung gewisser Benutzergruppen (z.B.) der letzten 24 h zeigt. Wir könnten die Daten dann per MailMonkey per Email versenden oder manuell prüfen.

    Es scheint jedoch keine Möglichkeit zu geben, das Änderungsdatum eines Links (Bearbeiter <-> Benutzergruppe) abzufragen.Irre ich mich oder hat jemand einen Tipp?


    Die Alternative ist ein Eventscript dass dann irgendwas macht, aber eben: Wir hätten gerne eine Liste.

    Hier das Script das ich erstellt habe.
    Anwendungszweck:

    • Man benötigt die Daten einer oder mehrerer Vertec-Listes (Ordner) automatisiert als CSV-Datei exportiert in einem definierten Verzeichnis
    • Mittels "Geplante Aufgaben" kann das Script nach Belieben automatisch ausgeführt werden (z.B. "jeden Tag morgen um 6 Uhr")
    • Im Script muss man einzig das Export-Verzeichnis und die ObjID (BoldID) der gewünschten Ordner eintragen.

    Das Scritp erzeugt automatisch die Spaltenüberschriften wie sie auch im Vertec-Ordner definiert sind.


    Hinweise:

    • Was man im Script noch optimieren kann: Die Fehlermeldungen des Scripts werden aktuell nur auf der Konsole ausgegeben. Aber das ist ein Script, dass man nach dem Aufsetzen sicher zuerst einmal testet.
    • Alternative zum Script: Man öffnet Vertec manuell, wählt den/die Ordner aus und drückt den "Export als Excel"-Knopf und speichert die Datei wo man sie haben möchte. Ich automatisiere eben gerne Routinetätigkeiten :)

    Bevor ich das Rad nochmals neu erfinde die Frage an die Runde:


    Ich weiss wie man mit einem Python-Script Vertec-Daten in ein CSV exportiert. Was ich nun gerne möchte ist ein generisches Python-Script, dass die Daten einer beliebigen Liste (z.B. definiert über die ObjID) als CSV exportiert. Im Prinzip dasselbe wie der Vertec-Button "Export to Excel" das tun, nur eben als Script.


    So könnte man einen Job definieren, der eine oder mehrere Listen als CSV in ein definiertes Verzeichnis exportiert, ohne dass man für jede Liste vorher noch die Abfrage und die Felder definieren müsste. Hat jemand eine Idee oder ev. schon Code zum Teilen?

    Performance bei Vertec ist etwas, um das man sich aktiv kümmern muss. Es ist einfach, mit eigenen Konfiguration etc. Vertec langsam zu machen.
    Bei uns ist das ein ständiges "Dranbleiben" (wie beim Unkraujäten :)). Wenn wir ein Performance-Issue haben, schauen wir uns das im Detail an, analysieren die Ursache und versuchen Optimierungen durchzuführen. Neben einer performanten Server-Umgebung (für unsere > 2000 User) gibt es eben einige von uns gewünschten Listen, bei dem man Queries optimieren konnte.
    Bei uns hat es sich gelohnt, gewisse Listen auf SQL umzustellen. Und man bezahlt eben mit Performance wenn man in Listen umfangreichere Bewegungsdaten jedesmal und für jeden Eintrag "rechnen" lässt.
    In einem unserer Anwendungsfälle stellen wir den Usern zwei Listen zur Verfügung:

    1. "schnell" mit etwas weniger Detail. Details bekommt man dann schnell, wenn man einen Eintrag öffnet.
    2. "langsamer" mit (sehr) vielen Details wenn man wirklich alles auf einen Blick braucht

    Die user haben die Wahl: Und wenn man eben die "langsame" List in diesem Fall braucht, startet man die Liste und holt sich parallel zum Aufbau einen Kaffee.

    Auch von mir ein Wunsch/Anregung für die Outlook App:

    Bei uns ist die Adressqualität sehr wichtig. Die Outlook App kann beim Erstellen eines neuen Kontakte, Person, Firma vertsändlicherweise nur die grundlegenden Infos befüllen.
    Es gibt wohl danach einen Link um Vertec auf dem neuen Eintrag zu öffnen, aber ich befürchte, dass die wenigsten das tun und wir unvollständige Einträge in Vertec haben. Ja, es Frage der "Disziplin" aber bei 2000 usern genügen wenige, um schlechte Daten zu erzeugen.

    Ich rege folgendes an:

    - Die Option das Erstellen neuer Adressen direkt aus der Outlook App zu unterbinden (z:b. mittels einem weiteren Setting in Vertec)

    - oder (zweite Wahl): Nach dem Erstellen einer neuen Adresse direkt Vertec zu öffnen.

    Eine Anregung / Wunsch: Wir sind aktuell daran unsere Berechtigungs-Gruppen zu überarbeiten. Bei uns kommen oft "Expressions" in Berechtigungen zum Zug. Sehr froh sind wir darum, dass wir dort varLogin nutzen können statt dem langen Timsession.allInstances->first.login.
    Was aber schwierig wird, wenn wir solch eine Berechtigung resp. die Expression mit varLogin testen müssen, weil etwas nicht funktioniert. Mit der Pytho-Konsole schreibe ich zu Testzwecken jeweils auf einem Objekt, dass ich prüfen will, argobject.eval(" {Expression die ich testen will} "), aber dort geht das varLogin nicht, also muss ich das umschreiben und wenn ich den Fehler gefunden haben, wieder zurückändern (wegen der Lesbarkeit mit varLogin, die wir bevorzugen)

    Wunsch: Die Variable varLogin auch in anderen OCL-Expressions als nur bei den Berechtigungen zulassen oder eine Möglichkeit geben, "Berechtigungs-Expressions" testen zu können.

    Ich komme nochmals auf die Installation der Vertec Outklook Webedition zurück.

    Bei uns dürfen user keine Addins in (Web)Outlook selber installieren, da dies bei Security-Audits als Risiko eingestuft wurde. (gewisse Add-ins senden Daten "nach Hause, was wir nicht zulassen dürfen). Wir verteilen auswählte eigene Add-ins gemäss Microsoft:

    Darum die Frage: Kann man die Vertec Outlook App auch als "Webedition"/Managend Add-in erhalten statt nur den "Link"?

    Wir möchten für den Standardbenutzer die Benutzung der XML-Schnittstelle sperren. Ist das möglich?

    Hintergrund: Gewisse Informationen können wir über das Ausblenden von Pages etc. zu verbergen ist. Das hilft aber nicht gegen die Abfrage über die Schnittelle (in unserem Fall z.B. "vertraulicher" Stichwortordner, wo die Einschränkung der Berechtigung aufwändig ist )

    Die Möglichkeit mit dem Benutzerrecht "SQL Query" kennen und nutzen wir.

    Nachdem ich hier schon viele Antworten auf Fragen erhalten habe, hier mal eine - aus meiner Sicht - praktische Anwendung des collect-OCL-Operators:

    Für eine unserer Auslandsgesellschaften müssen wir überwachen (Liste), ob ein/e MitarbeiterIn mehr als 11.5 h pro Tag erfasst, was gesetzlich nicht zulässig ist.
    Natürlich kann man das mit einem Python-Script lösen, ich habe das mit OCL gelöst:

    Code
    self->groupleistungenb(date.incday(-31).asstring, date.asstring,'day')
    ->collect(x|if (x.minutenintoffen + x.minutenintverrechnet)>690 then 1 else 0 endif)
    ->sum > 0
    • Die erste Zeile (...groupleistungenb(....) ) erzeugt für einen Bearbeiter eine Liste mit den erfassten Arbeitsstunden im letzten Monat, resp. den vergangenen 31 Tagen.
    • Die zweite Zeile mit dem collect (x...) erzeugt eine Liste (für jeden der letzten 31 Tage von Zeile 1) in welcher für jeden steht, ob ein Mitarbeiter an diesem Tag mehr als die zulässige Zeit gearbeitet hat ("1") oder nicht ("0"). Das Ergebnis ist dann also eine Liste in der Art [0,0,0,..... 1,0,0]
    • In der dritten Zeile (sum...) wird nun die Liste der zweiten Zeile (bestehend aus 0 oder 1) summiert. Die Summe ist > 0 wenn an einem Tag mehr als die Limite erfasst wurde.

    Somit konnte ich einen "For-Loop" durch den collect-Operator ersetzen. Ev. hilfreich für jemanden anders und eine ähnliche Anwendung- ich bin auf dem Geschmack gekommen....

    Weitergehendes Detail: Mit dem "Mail Monkey" (Email-Tool zu Vertec) bekommt dann jeder betroffene Mitarbeiter und sein Vorgesetzter automatisch eine Email zugesandt mit der Bitte, das sofort zu korrigieren.

    Spannender Beitrag - gerade heute haben wir uns intern darüber unterhalten, wie wir unser System im Bereich "Spesenbeleg" revisionssicher machen könnten (einfach einmal als Gedankenspiel). Ein sehr anspruchsvolles Thema. Wenn jemand da Erfahrung hat mit Vertec/MS SQL-DB würde mich das sehr interessieren

    Mit einem Eventscript fange ich spezielle Eingaben ab und prüfe Sie auf gewisse Bedingungen.
    Wenn ich die Änderung nicht aktzeptiere (im Script), kann ich auch auf den entsprechenden Wert VOR der Änderung zugreifen?

    Beispiel:
    Jemand ändert den PL auf einem Projekt von Hans auf Markus. Das Script lässt das nach Prüfung nicht zu und möchte - nach Anzeige der entsprechenden Info - den Wert wieder auf Hans zurücksetzen.