Beiträge von Amadeo Vergés (Zühlke Engineering AG)
-
-
-
-
Als Pojektleiter muss man beispielsweise die Leistungen eines MA auf seinem Projekt einsehen/prüfen können. Soll aber dessen Abwesenheiten (<> Leistungen) nicht einsehen dürfen. Darum haben wir diese entsprechend auf "deny" gesetzt. Darum überrascht es uns, das die Info trotzdem zugänglich ist.
Wie gesagt. Lösung ist möglich (Ausblenden Leistungs-Liste und Wochen Liste), erschiesst sich aber nicht direkt. Darum wollte ich darauf hinweisen.
-
Aus Datenschutzgründen in gewissen Ländern, darf/sollen die Abwesenheitsdaten eines Mitarbeiters nur für Ihn selber, den Vorgesetzten und die Personalabteilung einsehbar sein.
Wir haben das mit den "Benutzer Gruppen" / Zugriffsrechten entsprechend gelöst, haben nun aber noch folgendes festgestellt:
Sind beispielsweise für den Projektleiter die Abwesenheitsdaten eines Mitarbeiters gesperrt, sind diese trotzdem über die Wochen- und Leistungsübersicht und das i-Icon einsehbar.
Dies als Hinweis, das man in diesem Fall den Zugriff auf die entsprechenden Listen auch unterbinden muss.
-
Merci, schön das auch implies unterstützt wird!
(in der Beshreibung dazu fehlt noch das "false" meiner Meinugn) -
Vielleicht ist das allgemein schon bekannt, ich habe das erst heute herausgefunden: OCL in Vertec unterstützt weitere Operatoren, die nicht in der KB zu finden sind.
So z.B.XORDies hat mir heute geholfen, eine komplexere Abfrage einfach zu gestalten. Ev. ist dieser Tipp auch für andere hilfreich.
Gibt es eine Übersicht aller von Vertec unterstützter OCL Operatoren? -
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
Python
Alles anzeigen# coding: windows-1252 # # Bezeichnung: Folders to CSV # Klassen: - # CondExpression: # ObjectScript: No # ContainerScript: No # EventType: Kein # EventClass: # EventMembers: # ExtendedRights: No # # Exports the content of multiple folders ("Vertec lists") into individual CSV-Files # - folders are defined by their objid # - one export-directory can be definied # - each folder is exported with the folder name+ datetime + datetime as filename # Histroy: # 11.10.2022/av : Script created # from VertecCSVExporterClasses import VertecCsvExporter import time #export directory (WITHOUT "\" at the end!) dir = r" (DATEI-PFAD) " #objid (boldID) of Folders that should be exported as CSV) folders = [54226830, 45637869] # process every folder for folderobjid in folders: ord = vtcapp.getobjectbyid(folderobjid) if not ord.evalocl("self->oclIsKindOf(AbstractOrdner)"): print "no folder with this ID found" else: # Load objects from folder lstobj = ord.evalocl("eintraege.list") # get columndefinitions from folder as list lstcols = ord.evalocl("gridDefs.gridcols->orderby(orderidx)") # If no column definitions are present, then there are probably no persistent ones. if not lstcols: print "The specified folder has no column definitions." else: # Prepare CSV-Export fields = [] for col in lstcols: if col.titel: titel = col.titel else: titel = "-" fields.append((titel.encode("UTF-8"), None, 'string', '')) # Create CSV-Exporter exporter = VertecCsvExporter(fields) for obj in lstobj: row = exporter.add_row(obj) for col in lstcols: value = str(obj.evalocl(col.expression)) setattr(row,col.titel,value) # Do the CSV-export # timestamp ts = time.strftime('%Y%m%d-%H%M%S',time.localtime() ) exporter.file_name = r'{}\{}-{}.csv'.format(dir,ord,ts) csv = exporter.export_rows()
-
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?
-
"Methode für die Umwandlung von Word in PDF...." und noch eine Überraschung für mich!
Andere warten auf Weihnachten, ich bis wir diesen Release installieren! -
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:- "schnell" mit etwas weniger Detail. Details bekommt man dann schnell, wenn man einen Eintrag öffnet.
- "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.
-
Super! Schön, dass Vertec Kundenwünsche umsetzt!
-
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.
-
Genau so ein Script wollte ich schon lange einmal schreiben. Danke, das hilft weiter! Die Idee mit dem rendertemplate ist hilfreich
-
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. -
Danke für die Infos. Feedback meiner IT-Kollegen, wie das damit funktioniert hat:
Die "Manifest"-URL verweist auf eine Art "XML"-Datei, die man als Datei herunterladen kann und welche bei uns als erlaubtes "Add Ins" (Provisioning) hochgeladen werden konnte. -
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.