======Interne Wissensbasis iX-Haus======
=====Logging & Passwörter=====
Loggings protokollieren in iX-Haus oder iX-Haus plus in verschiedenen Varianten Einzelschritte von Programmabläufen. Sie sind hilfreich in den Fällen, wo unklar ist, was beim Kunden im Hintergrund passiert, bevor ein unerwartetes Programmverhalten auftritt oder eine Funktion scheinbar versagt. Obwohl diese Loggings nur für einen bestimmten Prozess protokollieren, kann es sein, dass solche Protokolle auch recht umfangreich werden. Um das Volumen zu minimieren, sollte das Logging nur gezielt eingesetzt und nach den Prüfvorgang wieder deaktiviert werden, um unnötige Datensammlungen zu vermeiden.
Was das Logging nicht kann: Inhalte von Dialogboxen aufzeichnen. Hier hilft dann nur die altbewährte Videoaufzeichnung z. B. mit TeamViewer.
==== Loggings in iX-Haus ====
++++|
=== Automatisches Logging über log-Dateien===
Es gibt einige Module, die in eine Logdatei protokollieren, sobald die Logdatei im ''tmp''-Verzeichnis oder im tmp-Unterverzeichnis ''log'' gefunden wird. Das ‚Autologging’ impliziert, dass eine zusätzliche Systemeinstellung nicht erforderlich ist. Hieraus lässt sich erahnen: Es gibt auch Log-Varianten, welche erst über bestimmte Systemeinstellungen eingesetzt werden, s. u.). Allgemein gilt die Regel: Der zuständige Empfänger der Logdatei in der Entwicklung benennt dem CustomerCare- oder Consultingmitarbeiter den erforderlichen Dateinamen.
== log-Datei anlegen ==
Die log-Datei muss für diese automatisierte Loggingvariante im Vorfeld im ixhaus-tmp-Pfad oder im ixhaus-tmp\log-Pfad von Hand angelegt werden und enthält für ein userspezifisches Logging die UserId im Dateinamen ohne führende Nullen. Im Kopf der Log-Datei steht meist ein Kommentarheader, der bei der Verwendung hilft. Beachten Sie dessen konkrete Hinweise. Bestimmte Logfiles werden aufgrund der Datenmenge zudem in Tagesversionen generiert. So gibt es dann für jeden Tag eine neue Datei.
* Es ist hilfreich, **vor dem Einschalten eines Loggings** zu prüfen, ob ggf. noch alte, nicht mehr benötigte Logfiles auf dem Kundenrechner verblieben sind. Generell gilt, dass man nach Einschalten des Loggings so schnell wie möglich die zu prüfenden Workflows absolviert, das Logging wieder beendet und erstellte Logfiles zeitnah dem Entwickler bereitstellt.
* Werden mehrere Logfiles generiert, macht es Sinn, diese möglichst zusammen zu erstellen, falls synchrone Funktionen oder parallele Prozesse beobachtet werden müssen.
* Nach erfolgreicher Übermittlung an die CREM SOLUTIONS sollten die generierten Logfiles vom Kundenverzeichnis entfernt und das Logging deaktiviert werden.
Beispiel aus der Datei ''BelegeAusDmsHolen_120.log'' (Logging für User 120):
/////////////////////////////////////////////////////////////////////////////////////////
// Die Log-Datei ".\ixhaus\tmp\BelegeAusDmsHolen_X.log" muss von Hand angelegt werden.
// X steht fuer die UserId ohne fuehrenden Nullen.
//
// Wenn die Datei vorhanden ist, werden u.a. die gesuchten Belegnummern in die Datei
// geschrieben.
…
== log-Datei automatisch befüllen ==
Eine vorhandene log-Datei wird dann vom Logging-Prozess mit Daten gefüllt. Aufpoppende Dialoge werden i. d. R. nicht protokolliert.
Treten zusätzliche Dialoge oder Hinweismeldungen auf, sollte parallel eine Videoaufzeichnung (z. B. TeamViewer) erstellt werden.
== log-Datei abholen ==
Nach der Protokollierung sollten log-Dateien aus dem ''tmp''-Pfad oder dem Unterverzeichnis ''log'' sofort abgeholt und entfernt werden. Da sie dort auch nicht ‚aus Versehen‘ angelegt werden und wenn sie nach Verwendung wieder entfernt werden, vermüllen sie auch nicht den tmp-Pfad.
== Autologging-fähige Module ==
Beispiele für Autologging-fähige Module
^Dateiname^Ablageort^Info^
|''BelegeAusDmsHolen''| .\ixhaus\tmp | Die Log-Datei ''.\ixhaus\tmp\BelegeAusDmsHolen_X.log'' muss von Hand angelegt werden. Das X steht für die UserId ohne führende Nullen. Wenn die Datei vorhanden ist, werden u.a. die gesuchten Belegnummern in die Datei geschrieben. |
|''DkbSchnittstelle_X.log''| .\ixhaus\tmp | Die Log-Datei ''.\ixhaus\tmp\DkbSchnittstelle_X.log'' muss von Hand angelegt werden. Das X steht für die UserId ohne führende Nullen. Für diesen User wird dann bei Ansteuerung der DKB-Schnittstelle in die LOG-Datei geschrieben. \\ Wenn die Log-Datei ''.\ixhaus\tmp\DkbSchnittstelle_999.log'' angelegt wird, wird das LOG für alle User geschrieben. \\ Wenn die Datei existiert, werden beim Zugriff auf die DKB-Schnittstelle Meldungen bzgl. der Schnittstellenzugriffe geschrieben. Dabei wird für jeden Tag basierend auf dem Namen der Log-Datei ein neuer Dateiname gebildet, indem das Tagesdatum in der Form '_JJJJMMDD' angehängt wird. |
| ''DkbSyncLog'' | .\ixhaus\tmp | Protokollierung von Aktion der DkbSync. |
| ''DmsSyncTool.log'' | .\ixhaus\tmp\log | Benutzerunspezifisches Logging zum Dokumentenmanagementsystem (dll-Part) |
| ''DmsSync.log'' | .\ixhaus\tmp\log | Benutzerunspezifisches Logging zum Dokumentenmanagementsystem (exe-Part, Kontrolle von Prozessabläufen, übermittelten Kommandozeilen und -funktionen.) |
| ''DokIdxDatenAusDmsHolen'' | | |
| ''ixGuiGlobalNotify.X'' | .\ixhaus\tmp\log | Diverse Meldungen aus dem iX-Haussystem sammeln. Das X steht für die UserId ohne führende Nullen. |
| ''PrintNotify.X'' | .\ixhaus\tmp\log | Informationen zum Dateimanagement des neuen Serienbriefs und analoger Druckprozesse via ldPrint sammeln. Das X steht für die UserId ohne führende Nullen. |
| ''UserNotify.X'' | .\ixhaus\tmp\log | Das X steht für die UserId ohne führende Nullen. |
| ''VwGebLogRechNr'' | .\ixhaus\tmp | Verwaltergebühren-Logfile erstellen. Beim Generieren von Sonderhonoraren werden Protokolleinträge bzgl. der Generierung der Rechnungsnummer geschrieben. |
===MP-Log===
In der Schnitttstelle für das [[schnittstellen:serviceportalschnittstelle_casavi:start|Serviceportal casavi]] liefert die Log-Datei ''tmp\Log\mplog.log'' ausführliche Informationen, welche durch eine Steuerung mittels Anwesenheit von Dateien im Verzeichnis tmp\Log differenziert erzeugt werden kann (MP: Mieterportal). Um die entsprechende Option einzuschalten, können folgende Dateien unter tmp\Log angelegt werden Diese Steuerdateien haben einen Dateinamen OHNE einen Dateinamensextender. Ggf. ist die Windowsfunktion ''Dateiendungen bekannter Dateitypen ausblenden'' zu deaktivieren.
^Steuerdatei^Funktion^
|@mpSave|gesendete und empfangene XML-Daten unter ''tmp\Log'' ablegen. |
|@EMailMask| E-Mailadressen (z. B. der Mieter) zusätzlich mit dem String (''casavi-crem-test-crem-'') maskieren, um die Kommunikation zu den Mietern zusätzlich abzusichern: ''development@crem-soluitions.de'' -> ''development@casavi-crem-test-crem-soluitions.de'' |
|@noDwSync| DocuWare-Synchronisation abschalten. |
|@noSendDwFiles| DocuWare Synchronisation normal durchführen, es werden jedoch keine Dateien gesendet. |
|@DwSyncImmer| Synchronisation einschalten. Es wird jede Minute nach Änderungen in DocuWare gesucht. |
|@mpsaveOkResults| OK-Response von casavi unter ''tmp\Log'' speichern. |
|@LogEx| erweitertes Logging |
|@dwToMpLog| Logging für die Kommunikation DocuWare-Mieterportal. Befindet sich diese Datei unter .\ixhaus\tmp\Log\, so wird dort die Datei ''MpLogDw.log'' erzeugt (Logging für die Kommunikation Mieterportal-DocuWare>. |
=== Logging nach Systemeinstellung ===
==SchreibeDruckLog==
Serienbriefmeldungen werden in der Datei ''tmp\SBriefDruck.log'' gespeichert, wenn dies per Systemeinstellung Datenbank ''SchreibeDruckLog [1.25.206.4]'' aktiviert ist. Wenn aktiv, werden alle Meldungen, die während des Generierens eines Dokuments ausgegeben werden, in die Datei ''\tmp\SBriefDruck.log'' geschrieben.
==DMS_LOGFILE_X.LOG==
Das X im Dateinamen steht für die jeweilige UserID des Benutzers. Die benutzerspezifische Datei DMS_LOGFILE_X.LOG wird im ''.\ixhaus\tmp'' angelegt, wenn unter Fachadministration\System\Systemeinstellungen Datenbank im Abschnitt ''DMS'' die Option ''EnableLogForSpecialUsers'' aktiviert ist. Dort können einzelne Benutzer über deren UserID für das Logging bestimmt werden. Der Wert 999 steuert, dass für jeden Benutzer ein Logfile erstellt wird. |
== Logging mit ixhaus.ini und TraceLevel ==
Eine alte Logging-Methode konfiguriert über den ''TraceLevel'', über welchen Kanal ein Protokoll Informationen erhält. So kann pro Modul ein eigenes Protokoll erzeugt werden oder auch zwei Module in ein einziges Protokoll schreiben, sinnvoll z. B., wenn diese automatisiert hintereinander gestartet werden. Das Aktivieren eines Loggings mit TraceLevel (u. a. für Word-Ausgabe) basiert auf einer modulspezifischen Anweisung in der ixhaus.ini (im sys-Verzeichnis) unterhalb der Domäne ''[LOGGING]'' und einer modul- und userspezifischen Log-Datei (im ''tmp''-Verzeichnis).
* Das Logging wird nicht unbedingt von allen DLLs unterstützt.
* Das Logging sollte man nur temporär einschalten (und die Log-Datei sichern).
* Der TraceLevel bestimmt die Detailtiefe des Loggingprozesses (TraceLevel 20 für umfangreiches Log, TraceLevel 1 für das Allergröbste). Sofern der Entwickler keine Vorgabe macht, TraceLevel 20 verwenden.
- Logging einschalten:
- Öffne Datei ixhaus.ini aus dem Sys-Verzeichnis -> ''.\ixHaus\sys\ixhaus.ini''
- Ergänze Eintrag in der Domäne ''[Logging]''. Der DLLNAME ist der Dateiname der zu loggenden dll (s. u.):\\ ''[LOGGING]''\\ ''DLLNAME_TraceLevel=10''
- Modul laufen lassen.
- Datei ''ixgui_.log'' liegt dann unter ''.\tmp\log\''.
- Logging ausschalten. \\ Entfernen oder auskommentieren mit Semikolon vor dem Eintrag. Beispiel: Das Logging ist für Tracelevel 10 aktiviert, die anderen sind deaktiviert …\\ ''[LOGGING]''\\ ''ixgui_TraceLevel=10''\\ '';ldgui_TraceLevel=5''\\ '';ix1035_TraceLevel=5''\\ '';ie2054_TraceLevel=13''\\ '';ie3058_TraceLevel=10''\\ '';lx123004_TraceLevel=13 ''
Beispiel für Indexanschreiben:
- Folgende Eintragung macht man in ''/sys/ixhaus.ini'':\\ ''[LOGGING]''\\ ''le404052_TraceLevel=20''
- Index-Anschreiben starten und warten bis den Fehler auftritt. Wenn die Fehlermeldung erscheint, sollte die Datei ''\tmp\log\le404052_.log'' gesichert und an den Sachbearbeiter der CREM SOLUTIONS verschickt werden.
- Logging ausschalten, indem man den Eintrag aus ''ixhaus.ini'' wieder entfernt oder auskommentiert.
++++
====Loggings in iX-Haus plus====
++++|
=== Protokollierung in iX-Haus plus ===
Mit Vorgaben in der Systemdatei ''iXHaus.Plus.exe.config'' von Nuris im gleichnamigen Unterverzeichnis können Protokollierungsfunktionen eingeschaltet werden …
* unter appSettings ''EnableDiagnosticActions'' auf **true** setzen, um im Menü von iX-Haus plus Diagnosemenüs freizuschalten oder
* unter system.diagnostics die Switches ''eXpressAppFramework'' und ''XPO'' auf **4** setzen, um das allgemeine Logging einzuschalten.
Nicht vergessen, nach der Protokollierung diese Werte auch wieder auf false und 0 umzustellen!
==Beispiel aus der Systemdatei iXHaus.Plus.exe.config-Datei:==
…
auf True einstellen
…
auf 4 einstellen
auf 4 einstellen
…
===Fehlerprotokoll allgemein===
Bei einigen Fehlern erkennt iX-Haus plus selbst einen Fehlerfall und bietet dann an, ein Fehlerprotokoll zu speichern. Diese Protokolldaten werden in Abhängigkeit der Einstellungen zur Protokollierung in iX-Haus plus unterschiedlich intensiv ermittelt (abhängig von Values zu ''eXpressAppFramework'' und ''XPO''). Was ist dann zu tun?
- Fehlerprotokoll in Zwischenablage kopieren.
- Fehlerprotokoll in Word oder Texteditor in ein neues Dokument einfügen.
- Datei sichern und dem Support senden.
===EnableDiagnosticActions===
Dies Funktion aus '''' ist ein Feature, welches vor allem für Entwickler gedacht ist. Es eröffnet Kontroll- und Analysemöglichkeiten über ein dann eingeblendetes Diagnosemenü. Dieses enthält teilweise experimentelle Funktionen, welche nicht für den normalen Kunden gedacht sind (Aktions Info, Ansicht Info, Easy Test Kontrolle, Regel Info)
Die Funktionen im Diagnose-Fenster erlauben u. a. die temporäre Sicht auf Rohdaten, auf welche Tabellen eine Datenabfrage aktuell zugegriffen hat, Laufzeiten und vieles mehr. Im ungünstigen Fall stehen aber auch Funktionen bereit, mit welchen ein Kunde sein System lahmlegen könnte!
|{{ :playground:diagnosticactions1.png?direct&400|}}|{{ :playground:diagnosticactions2.png?direct&400|}}|
{{ :playground:diagnosticactions3.png?direct&400|}}
Die Funktionalitäten aus ''EnableDiagnosticActions'' sind daher nur durch einen Entwickler oder nach Rücksprache mit einem Entwickler mit expliziter Anweisung zum Workflow einzusetzen!
(Funktionen je nach Entwicklungsstand- und Umgebung)
* ''Sammel Daten'': [x] Diagnoselogging eingeschaltet, [ ] Diagnoselogging ausgeschaltet
* ''Filter (RexEx)'': Filter der Anzeige mit Hilfe regular expresssions
* ''Reset Data'': gesammelte Daten verwerfen (clear screen)
* ''Zeige Rohdaten'':
* ''Doppelte Kommands finden'':
* ''Aufrufe von gleicher Stelle'':
* ''Zugriff auf Tabelle (from XXXX)'':
* ''Speicherauswertung (Experimental)'': Speicher belasten bis Überlauf
* ''Zeige Cache Data'':
* ''n'' (Zeilenwahl):
* ''Prüfe Import SQL Syntax'':
* ''Prüfe Import SQL Syntax (alle)'':
++++
====Loggings in iX-Haus Classic====
++++|
===Debug-Mode===
Ein integrierter Debugger lässt durch ein bestimmtes Procedere ein/ausschalten. Beachten Sie, dass hier viele Daten mitgeschrieben werden. Demnach sollte der Debug-Mode nur auf Anforderung und temporär aktiviert werden, um ein möglichst übersichtliches Protokoll für weitergehende Analysen durch einen Mitarbeiter der CREM SOLUTIONS zu erstellen.
- In der Datei ''ixhaus.def'' wird der Befehl ''DEBUG'' eingetragen oder aktiviert:\\ ''DEBUG = ON''
- Im Hauptverzeichnis der Classic-Installation (z. B. i:\casa) öffnen Sie die DOS-Box (Win+R -> Ausführen, cmd) \\ ''i:\casa>SET DEBDEV=Name.TXT'' (Dateiname für Protokolldatei)\\ ''i:\casa>SET DEBUG=127''
- Programmstart aus selbigem Verzeichnis durch DOS-Eingabe: ''i:\casa>casa.exe''
- Navigieren Sie im Programm zu dem Modul, wo die Protokollierung benötigt wird.
- Aktivieren Sie die beiden Tastatureinstellungen ''Num-Lock'' und ''Scroll-Lock''. Zur Protokollierung müssen beide aktiv sein!
- Um die Protokollierung zu stoppen schalten Sie zumindest ''Scroll-Lock'' wieder aus.
- Nach Programmende setzen Sie die Einstellung in der ''ixhaus.def''-Datei wieder zurück:\\ ''DEBUG = OFF''\\ Damit vermeiden Sie Probleme im Programmablauf, der Debug-Modus reduziert auch bei deaktivierter Protokollierung die Performance des Programms.
===ixTrace===
Für den Einsatz bei iX-Haus Classic 3.3 gab/gibt es das externe Programm ''ixTrace'', welches dem Entwickler zur Analyse von Programmverhalten eingrenzende Informationen liefern kann. I. d. R. wird ixtrace nicht mehr benötigt, da in Version 3.4 der vorgenannte ''Debug-Mode'' zum Protokollieren eingesetzt werden kann. Der Vollständigkeit halber ist hier der Umgang mit ''ixTrace'' unter Vorbehalt benannt. Das Protokollprogramm wurde vom Entwickler zur Verfügung gestellt und musste zur Vorbereitung in das Hauptverzeichnis der iX-Haus-Installation kopiert werden. (Definition von Protokolldatei? Name?)
Wenn Sie ein Protokoll mit ixTrace erzeugen möchten, müssen Sie
- ''ixtrace.exe'' in das Hauptverzeichnis von iX-Haus Classic kopieren.
- Aus dem Hauptverzeichnis von iX-Haus Classic starten (z. B. hier: i:\casa)
- Über die MS-DOS-Eingabeaufforderung folgenden Befehl eingeben (im Hauptverzeichnis (Console) stehend) \\ ''i:\casa>set debug=127''
- Dann ebenfalls aus der Console das Immobilienverwaltungs (z. B. casa) selbst starten:\\ ''i:\casa>casa.exe''
- Jetzt wird alles mit-protokolliert. Daher umgehend den betroffenen Arbeitsablauf durchführen, damit das Protokoll so konkret wie möglich nur den zu kontrollierenden Workflow betrifft!
- Programm wieder schließen.
- Das Protokoll kann jetzt gespeichert und dem Support/Entwickler zur Analyse bereitgestellt werden!
- Das Programm ''ixtrace.exe'' wieder löschen oder in ein geeignetes Unterverzeichnis verschieben.
++++
===== Passwörter =====
Die Tagespasswörter haben eine lange Tradition. Beginnend mit den Vorläufern der heutige Classic-Version waren und sind sie noch eine vom Tagesdatum abhängige dynamische programmtechnische Lösung, bestimmte kritische Funktionen vor dem Zugriff des 'normalen Users' zu schützen, sofern dies nicht schon mittels der Benutzerrechte steuerbar ist. Für manche Programmfunktionen reicht es aus, wenn der Benutzer mit passenden Programmrechten ausgestattet ist. An anderen Stellen wird hingegen ein Passwort verlangt. Manchmal bedarf es sogar passender Programmerechte UND eines Passworts in Kombination.
==== daypass.exe und DayPassGenerator.exe ====
++++|
Für die Ermittlung von abhängigen Tagespasswörtern ist die reine Kenntnis des aktuellen Tagespassworts nicht ausreichend! Mit dem internen Programm ''daypass.exe'' kann ein CREM SOLUTIONS-Mitarbeiter einzelne Tagespasswörter auf Basis des Tagesdatums oder als Sequenz in die Zukunft oder in die Vergangenheit (für n bzw. -n Tage) berechnen lassen. Für eine Listenausgabe bietet sich eine Batch-Steuerung mit Listenausgabe am Bildschirm oder umgelenkt in eine Datei an. \\ Eine komfortablere Lösung bot das Progrämmchen ''DayPassGenerator.exe'' mit einer graphischen Oberfläche in einem Kalenderelement an. Basierend auf .NET Framework 3.5 entwickelt ist dieses Programm aber auf neueren Systemen selten lauffähig).
===Daypass Listen-Projekt===
Zur Erstellung von monatlichen Tagespasswortlisten steht mit der von ARR monatlich aktualisierten Excel-Datei dpxmm_jjjj_.xlsx ein Template zur Verfügung, dessen Endprodukte dann ein- oder mehrseitige PDF-Datei ist. Programm, Exceltemplate und resultierende PDF sind als Crem-intern zu betrachten. Nachfolgend werden Inhalte und Bedienung der Excel-Datei beschrieben, für den Fall, dass die Erstellung von Daypasslisten delegiert wird.
==Register "interner Gebrauch"==
De Daypassliste in Excel ist ein Abbild der verschiedenen Tagescodes. Im Register ''interner Gebrauch''' befindet sich die Synthese aus diversen Daypass-Elementen. Manche davon sind monatlich konstant, andere sind datumsabhängig. Neben den statischen Tagescodes in den Spalten C und K gibt es ein aus drei Zeichen generiertes Daypass, welches mittlerweile auch vom Kunden selbst im Programm abgerufen werden kann. Der Code kann aber auch extern mit dem daypass-Programm erzeugt werden. Batchgesteuert liefert er auch bei Bedarf eine längere Liste. Auf dem jeweiligen Tagespasswörtern aufbauend kann dann ein 'erweitertes Daypass' und ein 'Supervisor-Passwort' ermittelt werden. Der Import der Rohdaten erfolgt über das Hilfsregister "jj-jjjj" s. u. - dies gewährleistet ein eindeutiges Datumsformat mit vier Jahresziffern! Die Batchdatei ''daypass.bat'' (Stand 27.05.2025) liefert in Kombination mit der ''daypass.exe'' am Bildschirm eine kompakte Übersicht der diversen Passwörter für V4 und V3. Arbeitsversionen dieser Tools finden sich unter ''I:\KUNDENMANAGEMENT\Customer Care\dp''
Anspruch der internen Daypassliste ist, dass interessierte Mitarbeiter der CREM SOLUTIONS diese Passwörter in einer Monatsübersicht in gut lesbarer Form erhalten können und vor allem die Kenntnis über ein erweitertes Daypass oder das Supervisor-Passwort ad hoc für einen bestimmten Tag ablesen können. In der ersten Spalte (Spalte A) findet sich nach dem Titel die Liste der Tage mit dem jeweiligen Daypass, welches jeder Anwender mit Programmzugriff (und ausreichenden Rechten) an jeweiligen Tag aus selbst abfragen könnte. Für die neuere Programmversion sind das erweiterte Daypass V4 (Spalte E) und das Supervisor Daypass V4 (Spalten GHI) relevant.
Neben kalendarischer Informationen (Datum, Kalenderwoche, Samstage, Sonntage und Feiertage hervorgehoben) sind in der Liste noch Mondphasen und Wochentage (als Zahlen) zu finden. Die Daypassliste beginnt in Zelle A3 immer mit dem letzten Tag des Vormonats und umfasst insgesamt 34 Zeilen - sie reicht daher auch immer zwei oder mehr Tage in den Folgemonat. Daher ist es i. d. R. auch nicht schlimm, wenn man zum Ersten eines Monats noch mit der Liste vom Vormonat hantiert.
Die erste Seite vom Register ''interner Gebrauch'' bildet drucktechnisch die monatliche Daypassliste (und liefert auch Vorgaben für das Register ''Kundenvariante''). Die einzelnen datumsabhängigen Daypass-Werte zieht Spalte A als manuell gesetzte Referenz aus den Spalten P bis AC. Hier wird einmal im Jahr ein Block der Daypass-Werte von Dezember-Vorjahr bis Januar-Folgejahr aufgebaut, von welchem man 12 Monate lang bei der Erstellung der Monatslisten 'zehren' kann. Um diese Werte zu generieren bedient man sich der Batchdatei ''daypassx.bat''. Diese generiert auf Basis der ''daypass.exe'' eine Liste von 600 Daypass-Werten vom aktuellen Tag an. Diese Werte werden dabei in die Datei ''dp_extended.txt'' geschrieben. Die Vorgängerdatei wird zuvor automatischin ''dp_extended.old'' umbenannt. Die Werte aus ''dp_extended.txt'' können mittels Texteditor nach Excel übernommen werden. Aus layouttechnischen Gründen sind in den Spalten N bis AC die jeweiligen Monatswerte zu finden. Wird ein Datum nach Monatsende nicht unterstützt, wird manuell ein ''./.'' als Füllzeichen eingesetzt.
Für den Support der Classic-Version ist neben dem Daypass in Spalte A und dem V3-ixadmin-Passwort (Spalten GHI) noch das tagesabhängige Login zum Aufheben der Buchungssperre (Spalte C)
nach dem Muster 3x3y und das im Personenstamm verwendete /LOGIN nn zu finden (wobei nn eine hexadezimale Umsetzung von Tages und Monatszahl ist).
== Register "Feiertage NRW" ==
**Hilfsregister zur Datenvorbereitung**
* Die Arbeitsschritte für eine Datenvorbereitung sind hier einmal pro Jahr zu berücksichtigen.
* Die Nutzung als Infoquelle erfolgt monatlich.
Zur Vorbereitung eines neuen Jahrgangs bietet es sich an, Feiertage und Mondkalenderübersicht aus www.schulferien.org zu besorgen und in dem Register ''Feiertage NRW'' zu hinterlegen.
Vorteile: Man kann später ohne Internetsuche die wichtigsten Infos kompakt auslesen. Man hat hier nach einmaliger Aktualisierung dann neben Kalenderwochen und Mondphasen auch Ferienzeiten sowie Zeitumstellungen im Blick. Schönheitspreise muss dieses Register nicht gewinnen ;-)
== Register jj-jjjj ==
**Hilfsregister zur Datenvorbereitung**
* Die Arbeitsschritte für eine Datenvorbereitung sind hier einmal pro Jahr zu berücksichtigen.
In diesem Blatt werden die langen Daypasslisten aus der Ergebnisdatei ''dp-extended.txt'' verarbeitet. Der Daypassgenerator produziert die Datumswert leider nur im Format tt.mm.jj. Hauptaugenmerk ist daher, das Datumsformat von tt.mm.jj hier auf tt.mm.jjjj umzustellen. Die restliche Excel-Tabelle ist auf eindeutige Kalenderdaten mit vierstelliger Jahreszahl abgestimmt. By the way kann man auch eine Monatssortierung vorbereiten. In Spalte A kommt der Tagespasswortcode aus der Datei ''dp_extended.txt''. Spalte B schiebt die Ziffer ''20'' vor die zweistellige Jahresziffer. Bitte gegen 2099 daran denken, dass die Formel an 21 angepasst wird ^_^
Vorgehensweise:
- Kopiere die Werte in Spalte A
- Lese die Werte aus Spalte B aus (Kopieren von Inhalten)\\ Benötigt werden die Werte 01.12. Vorjahr bis 31.01. Nachfolgejahr --> ermittelbar mit daypass+600 ab Mitte Juni.
== Register Kundenvariante ==
**statisches Register mit Datenverbindungen**\\
Dieses Register kann vollautomatisch anhand der Daten im Register''interner Gebrauch'' mit Daten versorgt werden. Wird in ''interner Gebrauch'' nichts verschoben, sondern nur eingesetzt und kopiert, ist Register ''Kundenvariante'' mit Abschluss der Arbeiten im Register ''interner Gebrauch'' ebenfalls abgeschlossen. Ein kontrollierender Blick schadet aber nicht.
Was liefert die Tabelle? \\ a) eine kompakte Liste der Tagespasswörter (Daypass) und \\ b) eine kompakte Liste der erweiterten Passwörter hierzu (Superdaypassliste). \\ Beide Listen sind pro DIN A4 layoutet und weisen Hinweise zur Verwendung und eine Buchstabierhilfe nach ICAO-Regeln auf. Beim Generieren einer monatlichen PDF können diese beiden Seiten angefügt werden. Druckbereiche sind eingerichtet.
== Register KVhelp ==
**statisches Register mit Datenverbindungen**\\
Hiermit wird das Register "Kundenvariante" unterstützt. Basis ist die internationale ICAO-Buchstabiertabelle.
==Register Ferien (obsolet)==
**Hilfsregister ohne Datenverbindungen**\\ Wer Ferienplanungen über alle Bundesländer eintragen möchte.. gerne. In Folgeversionen des Templates wahrscheinlich gelöscht.
==Register Q (obsolet)==
**Hilfsregister ohne Datenverbindungen**\\ "Q" steht hier für Quartal. Der Ansatz hier ist/war, eine Dreimonatsübersicht zu generieren. Als Quelldaten dienen die Tagespasswörter aus Register ''interner Gebrauch''. Falls man es nochmal brauchen sollte... In Folgeversionen des Templates wahrscheinlich gelöscht.
== Monatliche Erstellung einer neuen Daypassliste für den internen Gebrauch==
Die Arbeitsschritte für einen neuen Monat im Jahr (basierend auf dem aktuellen Monatsblatt) erfolgen monatlich:
- In Zelle A3 die Referenz zum letzten Tag des Vormonats eintragen.
- In der Zelle A4 die Referenz zum ersten Tag des aktuellen Monats eintragen. (Tipp: Einen Buchstaben im Alfabet weiter...)
- Zelle A4 nach unten kopieren bis das Monatsende erreicht ist. Bitte in Spalte A Zellen nie nicht mit Strg-X/Strg+V verschieben, da dann ggf. Tabelle in Register ''Kundenvariante'' repariert werden muss!
- Folgezellen in Spalte A bis Zeile 35 mit Folgereferenz des Nachmonats füllen.\\ Wenn alles OK ist, steht in Spalte M in Zelle M3 bis M36 immer eine Sequenz der Wochentage von Sonntag (1) bis Samstag (7) welche durch bedingte Formatierung rot bzw. orange hervorgehoben sind.
- Das Layout der Zellen in Spalte A mit Referenz auf einen Sonn- (oder Feiertag) gelb gefüllt und fett einstellen- Die Samstage sind nur fett hervorzuheben. Den Layoutblock für Samstag/Sonntag mittels ''Format übertragen'' weiterkopieren. Sondertage wie Firmenevents können mit blauer Füllung hervorgehoben werden.
- Die Spalte B mit den Kalenderwocheneinträgen ist manuell zu aktualisieren. Hierbei zuerst die Mondphasen passend verschieben/kopieren, dann die KW-Zahlen einsetzen/kopieren. Hilfestellung bietet hier ein Jahreskalender, welcher auch im Register ''Feiertage NRW'' bevorratet werden kann (Details s.u.).\\ Eine Kalenderwoche (KW) beginnt immer am Montag. Der Daypasstitel in Zelle A2 wird automatisch aus dem Datum in Zelle A5 ermittelt.
- Feiertage und Layout zum Schluss allgemein checken... nix vergessen, saubere Sequnenz der Tage?
- Die Datei mit ''Speichern unter'' (F12) abhängig von dem Monatstitel abspeichern, also z. B. dpx05_2025.xlsx. So bleibt die vorherige Datei als Sicherung erhalten.
- Beim Generieren einer monatlichen PDF wird nur die erste Seite dieses Registers benötigt. Ein Druckbereich ist eingerichtet. Am einfachsten ist es, die erste Seite als PDf zu speichern, wenn die Datei den korrekten Monatstitel und geprüfte Inhalte aufweist. Optional können zwei weitere Seiten mit der ''Kundenversion'' (Daypassliste und Superdaypassliste) generiert werden (s. u.).
- Die PDF wird an interessierte Mitarbeiter der CREM SOLUTIONS verteilt. Hierzu bietet es sich an, in Outlook einen Verteiler zu erstellen. Aus Datenschutzgründen wird die E-Mail an den Absender selbst gesendet, die MitarbeiterInnen im Verteiler werden via BCC-Ebene angesprochen. In der E-Mail ist auf den internen Charakter der beigefügten Anlage in Form der aktuellen PDF-Datei hinzuweisen.
==Drucken von Daypassliste und Kundenvarianten in ein Dokument==
Auf den einzelnen Mappen können Druckbereiche eingerichtet werden.
- Folgt der ersten Mappe ''interner Gebrauch'' die Mappe ''Kundenvariante'' und
- sind in beiden Mappen die Druckbereiche passend eingerichtet (u. a. erkennbar an den abgrenzenden Druckrahmen),
- sind diese Druckbereiche markiert und
- dann beide Mappen selektiert, dann
- kann mit ''Drucken'', ''Auswahl drucken'' (über Seite 1 bis 3) eine zusammenfassende, dreiseitige PDF erzeugt werden. Eine Vorab-Kontrolle in der Druckvorschau ist auf jeden Fall sinnvoll.
Die Mehrfachselektion von Mappen beleibt beim Speichern erhalten! Nach dem Druck daher die doppelte Markierung der Mappen sofort wieder lösen. Sonst werden Formatier-/Kopier-Aktionen auf der einen Mappe synchron auf der anderen Mappe ausgeführt, was i. d. R. zur Zerstörung der zweiten Mappe beim späteren Bearbeiten für einen Folgemonat führt! Warnhinweise, dass verbundene Zellen nicht überschrieben oder bearbeitet werden können, obwohl solche Zellen in dem Moment gar nicht sichtbar sind, ist ein Indiz auf gekoppelte Zellen einer anderen Mappe...
Für Rückfragen zu Prozess, Werkzeugen oder Excel-Template steht ARR zur Verfügung.
++++
====GUI Version====
++++|
Das Daypass kann im Programm für den aktuellen Tag abgerufen werden. Man muss als Anwender einen Kommentar von mindestens einem Zeichen angeben, wofür das Daypass abgefragt wird. Umfangreichere Infos zu Daypasses (Listen für maximal einen Monat) gibt der Support nur auf ganz besondere Veranlassung aus.
===Wo wird ein Daypass oder abhängiges Daypass genutzt... in V4 ===
* Dialogbuchhaltung, Mappenstorno
* E-Banking, nachträgliche Pflege einer Bankverbindung
* Gruppenverwaltung, Änderung
* Umsetzer und Tools, Aufruf ''DataViewer''
* Buchungskreisstamm, Sonderfunktionen freischalten (erweitertes Daypass)
* ...
++++
====Classic Version====
++++|
Das Daypass kann im Programm für den aktuellen Tag abgerufen werden. Man muss als Anwender einen Kommentar von mindestens einem Zeichen angeben, wofür das Daypass abgefragt wird. Umfangreichere Infos zu Daypasses (Listen für maximal einen Monat) gibt der Support nur auf ganz besondere Veranlassung aus.
===Wo wird daypass genutzt... in V3 ===
* SuSa-Sperre-aufheben
* Personenwährung umstellen (nach Shift-F2)
* Kaution auf EUR umstellen (nach Shift-F7)
* Objekt aus Auswahl entfernen
* kreditorische Buchung ändern (nach Shift-F2)
* Superuser im Personenstamm-Menü
* Wartung/Technik (Tipp: zuvor mit Datenregeneratoren Gruppe und Jahrgang einstellen! Nachfolgende Editoren mit ESC-Frage: sw)
===Gruppenadministration V3 ===
Zur Änderung des aktuellen Jahrgangs in der Gruppenadministration ist unter ''Ihre Wahl:'' einzugeben:\\ das Vortagespasswort, wobei das 1.Zeichen, sofern ein Buchstabe, als Großbuchstabe einzugeben ist! Das Vortagespasswort kann man mit der daypass.exe im Batchbetrieb mit negativem Tagesparameter generieren: ''daypass.exe -2''.
=== Buchungssperre V3 zurücksetzen ===
Um eine manuell gesetzte Buchungssperre auf 0 zu setzen, gehe man wie folgt vor:
- Im Feld ''Änderungssperre'' gibt man ''/LOGIN'' ein und bestätigt mit der ''Enter''-Taste.
- Im Feld ''Änderungssperre'' gibt man dann /3x3y ein und bestätigt mit der ''Enter''-Taste. \\ x und y entsprechen hier den Ziffern des Monatstages, z. B. für den 15. ''/3135'', für den 8. ''/3038''
- Man sollte dann eine Rückmeldung bekommen, dass die gesetzte Buchungssperre auf 0 gesetzt wurde.
++++
=====Infos zu Schnittstellen=====
++++|
====casavi====
Interne Informationen zur erweiterten technischen Möglichkeiten zur Analyse der Funktionsweise der Schnittstelle
=== Fehleranalyse ===
== Protokoll der Synchronisationsläufe ==
erste Checks:
* Läuft der geplante Task oder nicht?
* Gibt es bereits hier aussagekräftige Fehlermeldungen?
* Werden erforderliche Dokumente nach PDf gewandelt und in DW bereitgestellt?
* Haben diese den Status 'In DMS' und weisen eine DocID auf?
* Ist verwendeter Dokumenttyp freigegeben für casavi-Übermittlung?
{{ :playground:casavi_mp_protokoll_synchronisationslaeufe.png?400 |}}
==Zuständigkeit casavi==
Folgende Meldungen liegen zu mit ziemlich großer Wahrscheinlichkeit unter der Zuständigkeit von casavi:
* Mieterportalmeldungen senden
* Meldungen an das Serviceportal senden
* Stammdaten an das Serviceportal senden
* Serviceportalmeldungen abholen:
{{ :playground:casavi_mp_protokoll_fehler_in_protokoll_senden_empfangen_.png?400 |}}
==Ausführliches Log==
Standort der Log-Datei: ''tmp\Log\mplog.log''
Die Testoptionen werden ebenfalls unter tmp\Log konfiguriert. Details zu MP-Log siehe Kapitel [[playground:ixhaus_knowledge_intern#loggings_in_ix-haus|Logging]].
Um die entsprechende Option einzuschalten, legt folgende Dateien unter tmp\Log an:
* @mpSave -> gesendete und empfangene XML-Daten unter tmp\Log abzulegen
* @EMailMask -> Mailadressen (z.B. der Mieter) zusätzlich mit dem String casavi-crem-test-crem maskieren, um die Kommunikation zu den Mietern zusätzlich abzusichern
* @noDwSync -> DocuWare Synchronisation abschalten
* @noSendDwFiles -> DocuWare Synchronisation wird normal durchgeführt, es werden jedoch keine Dateien gesendet
* @DwSyncImmer -> Es wird jede Minute nach Änderungen in DocuWare
* @mpsaveOkResults -> OK-Response von casavi unter tmp\Log speichern
{{ :playground:casavi_mp_log.png?400 |}}
===Dateimanagement===
==XML-Dateien==
Neben den Logfiles liefern die xml-Dateien Informationen zu Störungen oder den Programmablauf im Allgemeinen.
* Meldungen_from_Mieterportal-Zeitstempel.xml
* Mieterportal_Meldungen-Zeitstempel.xml
* Mieterportal_Stammdaten-Zeitstempel.xml
==Meldungsmultimedia-Dateien==
Diese Dateien liegen unter: ''data\mieterportal\''.
==DocuWare==
Bitte Folgendes beachten:
* Dokumententypen müssen freigegeben werden.
* Dokumententypen ‚Externer DMS Dokumententyp‘ werden automatisch in den Katalog eingetragen, müssen aber auch freigegeben werden.
* Feld ''Dokumentname'' soll zugeordnet und in DocuWare mit dem Namen des Dokumentes gefüllt werden, ansonsten wird der Dateiname der Datei in casavi angezeigt – teilweise unschön.
++++
=====Interne Doku zur Verwendung des Crem-internen Softwaretools SYBILLE =====
++++|
Als internes Dokument steht in Sybille mittlerweile ein Handbuch zur Verfügung. Ihr erhaltet das aktuelle PDF über das Fenstermenü ''Hilfe > Handbuch anzeigen''.
Eine der Stärken von Sybille sind die ggf. auch komplexen Filter und Grids mit bedingter Formatierung.
Um individuelle Filter oder Bedingte zu definieren, werden Regeleditoren verwendet, welche meist neben einer visuellen, grafischen Sicht auch eine entsprechende Textformel anbieten. Diese eignet sich zur Übertragung von Parametern via Copy & Paste, falls eine interessante Definition Kollegen zur Verfügung gestellt werden soll. Nachfolgend Beispiele und Listen, welche wir hier gern mit der Zeit ergänzen und so einfach bereitstellen und verteilen können.
Wer hierzu Ideen oder Definitionen beitragen möchte, kann sich gerne einbringen. Jede Definition wird hier mit folgenden Merkmalen beschrieben:
- Wo wird die Regel verwendet? (Typ) -> Überschriftebene 2 (Filter, Bedingte Formatierung, ...)
- Titel der Regel (bei Bedingungen nur als Hilfestellung -> Überschriftebene 3 (z. B. Syb-Bug ohne Nachgestellt)
- Wie wirkt sich die Regel aus? Wozu ist sie geeignet? -> Beschreibung
- Codezeile der Regel -> Code: …
==== Filter ====
=== Syb-Bug ohne Nachgestellt ===
In dem Grid von Aufgaben sollen die Bug-Tickets, welche die Status „Neu (aufgenommen)“ oder „Warte auf CC“ aufweisen, angezeigt werden, wenn diese nicht nachgestellt sind (resp. das Potential des Nachstellens noch nicht ausgeschöpft ist, ermittelt anhand Nachstellstatus „Bitte nachstellen“ oder „Noch nicht nachgestellt“). Die Zuständigkeit soll entweder bei einem Kollegen aus dem Customer Care Team oder allgemein beim Development liegen.
Ziel: Analyse, für welche Tickets ggf. noch eine Prüfung auf einer Kundendasi oder Musterdaten zum gemeldeten Mangel aussteht, bevor ein Entwickler hier nachhakt ( Nachstellquote CC verbessern)
Code:
[Typ] = 'Bug' And [Status] In ('Warten auf CC', 'Neu (aufgenommen)') And [Nachgestellt] In ('Bitte nachstellen', 'Noch nicht nachgestellt') And [Zuständig.Vollständiger Name] In ('Achim Raiser', 'Alexander Janjic', 'André Laufs', 'Development', 'Jörg Heinz', 'Markus Rixen', 'Olena Dubrova', 'Sonja Thren', 'Udo Koch')
==== Bedingte Formatierung ====
=== Jahrgangsabhängige Färbung von Sybillenummern ===
Formel zur Ermittlung der zu formatierenden Zellen verwenden für die Spalte ''Nummer''“
Abhängig von der Jahreszuordnung sollen die Sybillenummern unterschiedlich gefärbt werden. Die Erkennung eines Jahrgangs erfolgt über die ersten vier Ziffern der Sybille-Nummer. Pro Codezeile kann ein Format zugeordnet werden, sodass sich die einzelnen Jahre optisch schnell unterscheiden lassen und so alte Tickets sofort erkennbar sind.
Code: (einzelne Beispiele)
StartsWith([Nummer], '2025')
StartsWith([Nummer], '2024')
…
++++