Fortlaufende Nummerierung für Objekt-Titel abhängig vom Präfix
-
Hallo zusammen,
und schon meine nächste Frage zu i-doit, wie ihr merkt sind wir fleißig daran die Software an unsere Bedürfnisse anzupassen
Wir haben im Bereich der Clients und der Drucker bislang (also vor Einführung von i-doit) eine vorhandene Nummerierung, die abhängig vom Typ ist.
So gibt es bei Druckern zum Beispiel den Präfix LD- für Laserdrucker, TS- für Tintenstrahldrucker, ZB- für Zebradrucker usw. Das heißt es existieren die Drucker LD-0001 bis LD-0167, die TS-0001 bis TS-0021 und so weiter.Wir würden diese Geräte nun natürlich alle gerne in i-doit weiterpflegen. Unsere Idee war dafür nun auch nicht jeweils eigene Objekttypen zu nehmen, sondern das alle Drucker als Objekttyp Drucker geführt werden und der Typ über ein Attribut gesetzt wird. Unsere entsprechenden IT-Mitarbeiter wünschen nun allerdings, dass es auch weiterhin möglich sein sollte, dass die Nummerierung automatisch fortzählt. Ist also zuletzt LD-0167 angelegt worden, so soll i-doit bei Anlegen eines weiteren Druckers als Nächstes LD-0168 vorschlagen.
Ich dachte nun, ich bekomme das über die Templates hin. Ich wollte also ein Template für Laserdrucker machen, in welchem der Objekt-Name LD-%COUNTER#4% ist und ein Template für Tintenstrahldrucker mit dem Objekt-Namen TS-%COUNTER#4%. Leider geht i-doit nicht wie von mir erhofft hin und führt den Counter fort (prüft also welches LD-XXXX die letzte Nummer war), sondern setzt irgendein LD-3961. Ich vermute %COUNTER% ist also der Objektzähler oder so.
Von daher die schwere Hoffnung ans Forum: hat jemand eine Idee, wie wir das lösen können? Also das beim Anlegen über ein Template der Präfix "LD-" gesetzt ist und i-doit die Nummerierung für diesen Präfix fortführt?
Viele Grüße
Daniel -
Hallo Daniel,
dein Vorhaben ist wirklich schwierig. Mit %COUNTER% wird eine fortlaufende Zahl (genau genommen die "Objekt ID") hochgezählt, ganz unabhängig vom restlichen Titel und vom Objekttypen. Diese laufende Nummer selber kann dabei auch größere Sprünge machen, wenn du beispielsweise viele Beziehungen und andere Objekte anlegst.
Automatisch die nächste Nummer aus einem festen Kreis anhand der anderen Informationen zu vergeben und einzutragen ist nicht möglich. Hier würde mir erst mal nur der Workaround über einen Report der Bereiche mit der Sortierung nach Erstellungsdatum einfallen. Darüber kann dann zumindest die letzte vergebene Nummer je nach Objekttypen abgefragt und selber die nächste Nummer vergeben werden. Schön ist das nicht, aber ein anderer Weg ist mir hier jetzt nicht bekannt.
Lieben Gruß
Christian -
Hallo Daniel,
wie Christian bereits schrieb, wird deine Anforderung nicht von den Funktionen der Web GUI abgedeckt. Es gibt allerdings einen Workaround, für den die Events und die API verwendet werden. Der Vorgang sieht danach so aus:
1. Es wird ein neuer Drucker erstellt.
2. Der Typ wird angepasst.
2. Über die Events wird ein Script getriggert (Kategorie-Eintrag wird erstellt/geändert).
3. Das Script überprüft, ob es sich um einen Drucker handelt, dessen Typ gerade geändert wurde (der Typ wird als Parameter dem Script automatisch übergeben).
4. Das Script fragt über die API nach dem Drucker-Typ und nach der Liste aller Drucker und errechnet daraus die nächste Nummer.
5. Das Script aktualisiert über die API den Objekt-Titel des neu erstellten Objekts.Alternativ könnte man aynchron vorgehen und alle x Minuten/Stunden/Tage ein Script ausführen, dass alle Drucker ausliest und ggf. die Objekt-Titel korrigiert. Das hängt natürlich davon ab, wie schnell die Daten in i-doit korrekt sein müssen.
Einziger Wehrmutstropfen für diesen Workaround: Der Code existiert noch nicht.
Viele Grüße
Benjamin -
Hab's mal als Feature Request aufgenommen.
-
Hallo zusammen,
vielen Dank für eure Antworten und Ideen. Ich fände es toll, wenn es irgendwann in i-doit eine Lösung geben würde. Ansonsten werde ich mir gerne die Event>API-Lösung mal anschauen.
Vorerst bleibt dann meinen Kollegen wohl nichts als den letzten Namen vorher raus zu suchen und von Hand den nächsten zu vergeben. Ich habe dafür mit einem Kollegen auf die schnelle mal einen Report gemacht und den kann sich jeder auf das Dashboard machen, um so die höchste Laufnummer für Geräte (PCs, Drucker…) zu sehen.Viele Grüße
Daniel -
Vielleicht hilft dir das: https://www.youtube.com/watch?v=ILMKCd9r4sQ
Hier wird mit Templates der Counter automatisch in die Objekte gezogen und hochgezählt