Community
    • Categories
    • Recent
    • Popular
    • Users
    • Search
    • Register
    • Login
    1. Home
    2. StefanP74
    3. Posts
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 118
    • Posts 301
    • Groups 0

    Posts

    Recent Best Controversial
    • RE: i-doit als Asset-Management-Tool – wer hat positive Erfahrungen gemacht?

      Servus,

      ich habe i-doit in 2 Unternehmen implementiert sowie betrieben und habe anhand der dort zu erfüllenden Kriterien (anhand der Anforderungen) nur Positives zu berichten - und das seit beinahe 12 Jahren.

      Die Dokumentationsebene besteht aus 5 Tools:

      i-doit als zentrale Configuration Management Database (CMDB)
      Das automatische Inventory wird täglich via JDisc durchgeführt.
      Der automatische Import nach i-doit aus JDisc erfolgt ebenso täglich.
      Aus diesen Daten ergeben sich Reports bezüglich Abweichungen von Software-Ständen etc.
      Objektbezogen wird in i-doit Dokumentiert, bzw. über Gruppendefinitionen (Projekte, etc.)
      DokuWiki wird für die globale, Objekt- bzw. Software-Übergreifende Dokumentation verwendet, welche in i-doit nicht abzubilden war. (zB. Regelwerk/HowTo für alle Tools der Dokumentationsebene)
      Als Monitoring wird checkmk in Verbindung mit i-doit eingesetzt.
      Als Ticket-System wird Znuny verwendet.

      Jegliche Assests, welche nicht automatisch erfasst werden können, werden ebenso in i-doit hinterlegt - natürlich nur was sinn macht. zB. eine benutzerdefinierte Schlüsselverwaltung, Fuhrpark etc. - man muss diese Datensätze schlussendlich auch im Auge behalten.

      Über alle Objekte spannt sich das i-doit-Modul ISMS mit dem Risikomanagement - für mich ein ganz wichtiger Punkt.

      Stolperfallen:
      Dazu fällt mir immer wieder eines ein: "Technik muss überlegt und einfach sein."
      Je komplexer es wird, desto aufwendiger die Wartung, desto unübersichtlicher. Dies trifft ua. bei der Datenstruktur wie auch bei der Rechtevergabe zu.
      Ein sehr wichtiger Punkt bei all meinen Überlegungen war: "Was ist das hierarchisch oberste Objekt?" Welches Objekt ändert sich so selten, dass ich es als solches ansehen kann - neben bzw. innerhalb des Unternehmens selbst. In meinem Fall war das der Arbeitsplatz, dieser währt am längsten. Ergo habe ich sämtliche Objekte dem Arbeitsplatz zugeordnet, wobei der Benutzer, also der Mitarbeiter als logisches Objekt dem Arbeitsplatz zugeordnet wurde. Selbiges betrifft auch buchhalterischen Angelegenheiten. Der Arbeitsplatz ist einer Kostenstelle zugeordnet, oder aber, wenn es mehrere sind, einer fiktiven, welche dann wieder die einzelnen Kostenstellen beinhaltet.
      Ander verhält es sich bei den Komponenten in den Serverräumen, Technikräumen etc. - diese wiederum sind den jeweiligen Räumen zugeordnet.
      Was will ich damit sagen? I-doit ist felxibel.

      Es ist also sehr wichtig, sich einmal hinzusetzen und darüber nachzudenken, wie man die Struktur aufbaut, bevor man loslegt. zB. auch für die Strom-, wie Netzwerkverkabelung, um einen sauberen Netzwerkplan darstellen zu können. Will man es sich antun und die LAN-Dosen in i-doit aufnehmen? Oder verpasst man einfach dem Raum die Anschlüsse und erspart sich damit nicht nur Aufwand beim Erstellen sondern auch bei der Lizenz von i-doit.

      Die Frage der Fragen: Habe ich die Ressourcen zur Verfügung, um diese Dokumentation zu beherrschen? ... oder steht jetzt schon fest, es wird ein Datenmoloch, der zwar enorme Ausmaße hat, benötigen werden wir diese Infos jedoch niemals. Die Datenqualität darf niemals ins Negative rutschen.

      Wie gut lässt sich i-doit in bestehende Asset-Management-Prozesse integrieren?
      Das kommt darauf an. Am Ende müssen sich alle Tools, alle Prozesse ineinander fügen, sonst bleibt der Faktor Mensch als gestresste Schnittstelle über. Ich kann nur sagen, dass sich i-doit sehr gut anpassen kann, aber es gibt, wie überall Grenzen.

      Gibt es bewährte Vorgehensweisen oder Stolperfallen bei der Implementierung?
      Wie bereits erwähnt, ist die Strategie entscheidend.
      Ich habe aus dem ersten i-doit Projekt gelernt, dass die Dokumentation über die Implementierung von i-doit genauso wichtig ist, wie das Betreiben von i-doit selbst. DokuWiki eignet sich dafür hervorragend.
      Diese Fragen sind immer wieder zu beantworten:
      "Macht das wirklich Sinn?"
      "Rechnet sich der Aufwand?"

      Wer pflegt die Objekte?
      Was hinterlege ich direkt am Objekt, was verknüpfe ich mit dem Objekt.
      Klassiker: Kontaktdaten werden doppelt und dreifach hinterlegt statt 1x und verknüpft - das Ergebnis sind veraltete bzw. irreführende Kontaktdaten.

      Wie zufrieden seid ihr mit der Funktionalität und dem Nutzen im täglichen Betrieb?
      Ich bin sehr zufrieden mit der Funktionalität von i-doit und auch mit dem Support.
      Insofern man versteht, dass es sich um eine Datenbank handelt (da haben manche Office-User hin und wieder ein Verständnisproblem damit), erleichtert einem i-doit das tägliche Berufsleben in der IT massiv. Ohne i-doit (in Kombination mit den Tools der Dokumentationsebene) bin ich praktisch blind.

      Ich wickle mittlerweile über i-doit jedes IT-Projekt ab, führe Notfallpläne, Risikomanagement, Audits, EU-DSGVO Management, Client-Übergabeprotokolle samt Formulare, Life-Cycle-Management, Verträge, Netzwerkpläne, HW sowie SW-Inventur, SLAs, Computerized Maintenance Management System (CMMS) für die Erfassung und Erinnerung bei nötigen Wartungen an jeglicher Infrastruktur, Reporting, Gebäudepläne, und und und ... der Umfang ist enorm.

      Ich wurde niemals von i-doit enttäuscht.
      Was ich darüber hinaus sehr an i-doit schätze: Die Update-Prozedur. Einfacher geht's kaum noch.

      Ich kann es nur empfehlen.

      LG Stefan

      posted in Allgemein
      StefanP74S
      StefanP74
    • RE: Dokumente Addon und Bilder

      @LFischer Hellau!

      Sollte das schon klappen mit den Grafiken in einem Dokument?
      Wenn ja, auf welche Weise?

      LG
      Stefan

      posted in Betrieb
      StefanP74S
      StefanP74
    • RE: Inventarisierung von organisationsfremden Diensten (Cloud-Tools)

      Servus,

      als Gedankenanstoß kann ich dir "Service" empfehlen.
      Organisationsfremde Dienste kannst du unter "Service" anlegen und via ISMS beleuchten.
      So habe ich es zumindest mal gemacht.

      LG Stefan

      posted in Allgemein
      StefanP74S
      StefanP74
    • Organisation und Kundennummer

      Hallo,

      das ist jetzt etwas peinlich, aber .... wo pflegt man bei der Organisation die Kundennummer?
      Sehe ich es nicht oder gibt es dieses Feld nicht?
      Unter Vertrag ist es angeführt, nur muss ich ja keinen Vertrag als solchen mit einer Organisation haben, um die Kundennummer pflegen zu wollen, sondern einfach nur eine 0815 geschäftliche Beziehung betreibe - zB. Shop.
      Gibt es das Feld tatsächlich nur in der Kategorie Vertrag?

      LG Stefan

      posted in Allgemein
      StefanP74S
      StefanP74
    • RE: Recht: Eigene Objekte archivieren + löschen

      Hallo allerseits,

      hat vielleicht jemand das Recht "eigene Objekte archivieren/löschen" bereits erfolgreich umgesetzt?

      LG Stefan

      posted in Betrieb
      StefanP74S
      StefanP74
    • RE: Listenansicht Standardsortierung

      Hallo @LFischer

      perfekt 👍

      LG Stefan

      posted in Betrieb
      StefanP74S
      StefanP74
    • RE: Report nach Datum sortieren

      Hallo @LFischer

      das ist eine sehr gute Nachricht 👌

      LG Stefan

      posted in Betrieb
      StefanP74S
      StefanP74
    • RE: Standortansicht der dem Arbeitsplatz zugewiesenen Objekte

      Servus @robbyhuebner

      Mach ich auch so. 👌

      Gebäude --> Etage --> Raum --> Arbeitsplatz --> Clients (das ganze Zeug)
      Der logische Standort des Arbeitsplatzes ist der Mitarbeiter bzw. Gruppen.

      Warum?
      Der Arbeitsplatz ändert sich faktisch nie.
      Bei einem möglichen Umzug zieht der gesamte Arbeitsplatz mit allem drum und dran in zB. einen anderen Raum um. Zu ändern sind dann nur die Netzwerkanschlüsse, welche bei mir im Raum selbst hinterlegt sind.
      Ändert sich der Mitarbeiter, ändert sich nur der logische Standort.

      Ich sehe bei mir seit Jahren keinen Nachteil, ganz im Gegenteil.
      Übersichtlich, logisch und ratz fatz geändert.

      LG Stefan

      posted in Betrieb
      StefanP74S
      StefanP74
    • Recht: Eigene Objekte archivieren + löschen

      Hallo,

      ich habe ein Problem mit den Berechtigungen, vielleicht kann mir jemand dabei helfen.

      Ich möchte, dass eine Benutzergruppe selbst erstellte Objekte archivieren sowie auch löschen darf.
      Die Rechte der Gruppe wurden im Bereich CMDB wie folgt gesetzt:

      idoit_20250415_01.PNG

      Soweit funktioniert alles wie es sein soll, nur nicht das Editieren sowie Archivieren aus der Objektliste heraus.

      idoit_20250415_02.PNG

      Sobald das Objekt geöffnet ist, kann ich editieren ... doch wie archivieren?

      idoit_20250415_03.PNG

      Bin ich am Holzweg?
      Was fehlt denn da?
      Ich stehe auf der Leitung.

      LG Stefan

      posted in Betrieb
      StefanP74S
      StefanP74
    • RE: Benachrichtigung als Rundemail?

      Hallo,

      ich denke schon.
      Wenn ich mich täusche, dann so:

      • Prüfen, ob bei allen Kontakten etc. die die besagten Clients nutzen und auch entsprechend den Clients zugeordnet sind, eine eMail-Adresse hinterlegt ist.
      • Einen Report anlegen, der dir die Personen ausgibt, welche auf deren Clients Windows 10 drauf haben.
      • Unter Kontakte eine Personengruppe anlegen, welche die Mitglieder nach diesem Report wählt. (Personengruppen Mitglieder nach Report)
      • Einen weiteren Report anlegen, welcher die Windows 10 Clients ermittelt.
      • Nun über Benachrichtigungen / Reportbasierende Benachrichtigung den Client-Auswahl-Report entsprechend hinterlegen.
      • Für die Empfänger die Gruppe hinterlegen.

      Testen ...

      Es klappt vermutlich auch ohne der Benutzergruppe, direkt nur mit Reports, vielleicht sogar auch nur mit einem Report.

      PS: Nicht vergessen, dynamische Gruppen müssen per Cron-Job aktualisiert werden:
      sudo -u www-data php /var/www/html/console.php sync-dynamic-groups --user admin --password ******* --tenantId 1

      LG
      Stefan

      posted in Allgemein
      StefanP74S
      StefanP74
    • RE: API Konstrukt via PHP benutzerdefiniertes Objekt

      Guten Morgen @LFischer,

      danke für den Input, bei Multi-Value hat es dann geklingelt.

      $jsonData = [
      		'version' => '2.0',
      		'method'  => 'cmdb.object.create',
      		'params'  => [
      			'apikey'   => $apiKey,
      			'type'     => 'C__OBJTYPE__SD_LSCHPROTOKOLL',
      			'title'    => $vartitle,
      			'categories' => [
      				'C__CATG__CUSTOM_FIELDS_PI_LSCHPROTOKOLL' => [
      					[
      						'f_popup_c_1675341962187' => $currentDateTime,
      						'f_popup_c_1675342078466' => [ $datenbereich ],
      						'f_popup_c_1675342171620' => $loeschverfahren,
      						'f_popup_c_1675342277156' => [ $varwho ],
      						'description' => $vardescript
      					]
      				]
      			],
      		],
      		'id' => 3 // ID für die Anfrage
      	];
      

      Ich musste zusätzlich zu deiner Lösung die beiden Multi-Value Felder nochmal in eckige Klammern packen.
      Perfekt, danke.

      Lustig wie oft man im api log über diese Zeile an einem Freitag drüberlesen kann:
      "There was an validation error: f_popup_c_1675342277156: (object_browser) Property has to be an array."
      😌

      So kann der Montag beginnen 😉

      LG Stefan

      posted in Entwicklung
      StefanP74S
      StefanP74
    • API Konstrukt via PHP benutzerdefiniertes Objekt

      Hallo,

      ich stecke fest und würde am Boden kriechend Hilfe benötigen.
      Aus einem PHP-Script wird via API in eine benutzerdefinierte Kategorie sowie eines Benutzerdefinierten Objekts geschrieben.

      Der Datensatz wird in i-doit erstellt, der Titel wird hinterlegt im Feld Bezeichnung.
      Doch der Rest kommt nicht an. Die Variablen, die übergeben werden, sind befüllt.
      Ab C__CATG__CUSTOM_FIELDS_PI_LSCHPROTOKOLL ist wohl ein Fehler.

      Erkennt jemand den Fehler?

      $jsonData = [
      	'version' => '2.0',
      	'method'  => 'cmdb.object.create',
      	'params'  => [
      		'apikey'   => $apiKey,
      		'type'     => 'C__OBJTYPE__SD_LSCHPROTOKOLL',
      		'title'    => $vartitle,
      		'categories' => [
      			'C__CATG__CUSTOM_FIELDS_PI_LSCHPROTOKOLL' => [
      				'f_popup_c_1675341962187' => $currentDateTime,
      				'f_popup_c_1675342078466' => $datenbereich,
      				'f_popup_c_1675342171620' => $loeschverfahren,
      				'f_popup_c_1675342277156' => $varwho,
      				'description' => $vardescript
      				]
      			],
      		],
      	'id' => 3 // ID für die Anfrage
      ];
      

      Danke
      LG Stefan

      posted in Entwicklung
      StefanP74S
      StefanP74
    • eMail-Benachrichtigung: Von ASCII Tabelle zu HTML-Tabelle

      Servus,

      i-doit V34

      ich habe mir gedacht, baue ich doch heute die eMail-Notification so um, dass ein HTML-eMail samt Tabelle generiert wird, anstatt einem Text-Mail mit der ASCII-Tabelle.
      Warum? Verschobener Text in Tabelle.

      Macht aus dem hier:
      jo1.PNG

      das da:
      jo2.PNG

      Datei:
      /var/www/html/src/classes/notification/isys_notification.class.php

      Zeile 1036:
      Alt:
      $l_mailer->set_content_type(isys_library_mail::C__CONTENT_TYPE__PLAIN);
      Neu:
      $l_mailer->set_content_type(isys_library_mail::C__CONTENT_TYPE__HTML);

      Alt ab Zeile 1151:

           /**
           * Builds a simple plaintext table with header. Columns are left-aligned.
           *
           * @param array $p_entities Entities
           *
           * @return string
           *
           * @todo This is not the right place. Move it to MVC view or something.
           */
          protected function build_plain_table($p_entities)
          {
              assert(is_array($p_entities));
      
              $l_table = '';
              $l_headers = [];
              $l_layouted_headers = [];
      
              if (count($p_entities) === 0) {
                  return $l_table;
              }
      
              // Layout:
      
              $l_horizontal_line = '-';
              $l_horizontal_line_header = '=';
              $l_vertical_line = '|';
              $l_edge = '+';
      
              // Analyze entities:
              $l_column_widths = [];
              $l_count = 0;
      
              // Iterate through each entity:
              foreach ($p_entities as $l_entity) {
                  // Also analyze header:
                  if ($l_count === 0) {
                      $l_count++;
      
                      $l_headers = array_keys($l_entity);
      
                      foreach ($l_headers as $l_header) {
                          $l_layouted_headers[$l_header] = $this->emphasize(self::_l($l_header));
                      }
      
                      foreach ($l_headers as $l_header) {
                          $l_column_widths[$l_header] = strlen($l_layouted_headers[$l_header]);
                      }
                  }
      
                  // Analyse values:
                  foreach ($l_entity as $l_key => $l_value) {
                      $l_value_length = strlen($l_value);
                      if ($l_value_length > $l_column_widths[$l_key]) {
                          $l_column_widths[$l_key] = $l_value_length;
                      }
                  }
              }
      
              $l_horizonatal_header_line_parts = [];
              $l_horizonatal_line_parts = [];
              foreach ($l_column_widths as $l_column_width) {
                  $l_horizonatal_header_line_parts[] = $l_horizontal_line_header . str_pad('', $l_column_width, $l_horizontal_line_header) . $l_horizontal_line_header;
                  $l_horizonatal_line_parts[] = $l_horizontal_line . str_pad('', $l_column_width, $l_horizontal_line) . $l_horizontal_line;
              }
              $l_complete_horizontal_header_line = $l_edge . implode($l_edge, $l_horizonatal_header_line_parts) . $l_edge;
              $l_complete_horizontal_line = $l_edge . implode($l_edge, $l_horizonatal_line_parts) . $l_edge;
      
              // Prepend header:
      
              $l_padded_headers = array_map([
                  $this,
                  'table_header'
              ], $l_layouted_headers, $l_column_widths);
              $l_table .= $l_complete_horizontal_header_line . "\n" . $l_vertical_line . ' ' . implode(' ' . $l_vertical_line . ' ', $l_padded_headers) . ' ' . $l_vertical_line .
                  "\n" . $l_complete_horizontal_header_line . "\n";
      
              // Iterate through each entity:
              foreach ($p_entities as $l_entity) {
                  $l_table .= $l_vertical_line;
                  foreach ($l_entity as $l_key => $l_value) {
                      $l_table .= ' ' . str_pad($l_value, $l_column_widths[$l_key]) . ' ' . $l_vertical_line;
                  }
      
                  $l_table .= "\n" . $l_complete_horizontal_line . "\n";
              }
      
              $l_table = "<pre style='font-family: Courier, monospace;'>" . htmlentities($l_table) . "</pre>";
      		
      		return $l_table;
          }
      

      Neu ab Zeile 1151:

          /**
           * Builds a simple plaintext table with header. Columns are left-aligned.
           *
           * @param array $p_entities Entities
           *
           * @return string
           *
           * @todo This is not the right place. Move it to MVC view or something.
           */
      	protected function build_plain_table($p_entities)
      	{
      		assert(is_array($p_entities));
      
      		if (count($p_entities) === 0) {
      			return '';
      		}
      
      		// Tabellen-Header bestimmen:
      		$l_headers = array_keys($p_entities[0]);
      
      		// Tabelle als HTML aufbauen:
      		$l_table = '<table style="border-collapse: collapse; font-family: Courier, monospace; width: 100%;">';
      
      		// Tabellenkopf:
      		$l_table .= '<tr>';
      		foreach ($l_headers as $l_header) {
      			$l_table .= '<th style="border: 1px solid black; padding: 5px; text-align: left; background-color: #f0f0f0;">' 
      					 . htmlentities(self::_l($l_header)) 
      					 . '</th>';
      		}
      		$l_table .= '</tr>';
      
      		// Tabellenzeilen:
      		foreach ($p_entities as $l_entity) {
      			$l_table .= '<tr>';
      			foreach ($l_entity as $l_value) {
      				$l_table .= '<td style="border: 1px solid black; padding: 5px; white-space: nowrap;">' 
      						 . htmlentities($l_value) 
      						 . '</td>';
      			}
      			$l_table .= '</tr>';
      		}
      
      		$l_table .= '</table>';
      
      		return $l_table;
      	}
      

      Vielleicht kann man das gleich in eine nächste Version einbauen?
      PLAIN oder HTML ... wenn das wichtig ist zu entscheiden, dann wäre dies über die Verwaltung / Einstellungen interessant ... frage mich nur wofür?

      LG Stefan

      posted in Entwicklung
      StefanP74S
      StefanP74
    • RE: Switch Ports Sortierung

      ... und das erfreute mich ganz besonders 😊 👏

      posted in Betrieb
      StefanP74S
      StefanP74
    • Tabelle isys_catg_jdisc_device_information_list

      Hellau!

      Mir sind Ungereimtheiten bei der Tabelle isys_catg_jdisc_device_information_list aufgefallen.
      Der Auslöser war, dass sobald ich zB. bei Server die Spalte Letzter Discovery im Tabellen-Browser hinterlegte, dass doppelte Werte pro Objekt angezeigt wurden. So wurden 2 Zeitangaben als letztes Discovery angezeigt.

      Ein Blick in die Tabelle isys_catg_jdisc_device_information_list zeigte tatsächich doppelte Einträge anhand der Objekt-ID, welche im Feld isys_catg_jdisc_device_information_list__isys_obj__id hinterlegt wird.
      Es waren auch ~100 Datensätze mit Wert NULL in den Feldern:
      isys_catg_jdisc_device_information_list__import_date
      isys_catg_jdisc_device_information_list__last_seen
      isys_catg_jdisc_device_information_list__last_discovered
      ... zusätzlich zu bereits bestehenden korrekten Datensätzen (selbe Objekt-ID).

      Kann dies jemand bestätigen?
      Ist das ein alter Bug?
      Mir ist nicht klar wie das passiert, denn ein eben angelaufener Scan einzelner Objekte, hat das Problem nicht ausgelöst.

      Ich habe mal eben alle "fehlerhaften" Datensätze aus der Tabelle gelöscht und beobachte das Mysterium weiter.

      Kopfkratz

      LG
      Stefan

      posted in Betrieb
      StefanP74S
      StefanP74
    • RE: Listenansicht Standardsortierung

      Hallo @LFischer,

      irgendwie hatte ich das Gefühl, das Thema kommt mir bekannt vor 😂
      Alles klar.

      LG Stefan

      posted in Betrieb
      StefanP74S
      StefanP74
    • Listenansicht Standardsortierung

      Hallo,

      Mir wurde folgende Frage von einem Enduser gestellt:
      "Warum kann ich bei Kostenstelle kein Punkterl setzen?"

      Übersetzt:
      "Warum müssen wir ständig manuell nach dem Feld Kostenstelle im Listbrowsing sortieren?
      Kann man das nicht so einstellen, sodass beim Aufruf der Liste immer automatisch nach der Spalte Kostenstelle sortiert wird?"

      idoit_20250314_001.PNG

      An sich eine berechtigte Frage. 😑

      Hat mit Performance zu tun, denk ich mir ... wobei ganz verstehe ich es auch nicht.
      Die Auswahl der vordefinierten Sortierungsmöglichkeiten ist stark begrenzt im Standard.
      Gibt es dazu vielleicht mittlerweile in der Konfig einen Hebel, der diese Einschränkung aufhebt?

      LG Stefan

      posted in Betrieb
      StefanP74S
      StefanP74
    • RE: The search filter date does not work in customfield after upgrade

      Hi @inasutin,

      maybe a rebuild of the search-index can help you?
      we do it every day at 5am ... and all of our search problems are gone.

      cron-job-entry:
      0 5 * * * sudo -u www-data php /var/www/html/console.php search-index --user admin --password XXXXXXXXX --tenantId 1

      Regards,
      Stefan

      posted in General
      StefanP74S
      StefanP74
    • RE: Report nach Datum sortieren

      Servus @LFischer,

      Es ist noch nicht akut bei uns ... ich werde nur so einmal pro Monat "gefragt" 🤕 😂
      Hauptsache es ist eine Lösung welche im Standard umgesetzt wird.

      idoit_20250226_01.PNG

      Das Beispiel zeigt, dass eine Sortierung nach dem benutzerdefinierten Attribut "Nächste Überprüfung" (ein Datumsfeld) im Report-Manager nicht möglich ist.

      Sobald der Report geöffnet wird, ist mittels Klick auf die Überschrift die Sortierung nach dem genannten Feld möglich.
      Gewünscht ist aber, dass die Sortierung nach Datum bereits bei Erstellung des Reports hinterlegt ist.

      Manchmal sind es die kleinen Dinge, die uns beschäftigen. 🙄 😁

      LG Stefan

      posted in Betrieb
      StefanP74S
      StefanP74
    • RE: Report nach Datum sortieren

      Servus @LFischer,

      da ich wieder gefragt wurde: Hat sich in diese Richtung schon etwas getan?
      Datumsfelder sind in Reports oft entscheidend für die Sortierung.
      Da wäre eine Selektion über den Report-Manager (auch für technisch unversierte Anwender) eine erhebliche Erleichterung.

      Danke
      LG Stefan

      posted in Betrieb
      StefanP74S
      StefanP74