Home › Forum › Allgemeines › Allgemeines zu Nuclos › Business-Objekte fehlerhaft?
- Dieses Thema hat 3 Antworten und 3 Teilnehmer, und wurde zuletzt aktualisiert vor 9 Jahre, 6 Monaten von
Frank Pavlic.
-
AutorBeiträge
-
1 Oktober 2013 um 23:48 Uhr #7089
Frank Pavlic
TeilnehmerHallo zusammen,
laut Wiki-Page QueryProvider (Beispiele) soll folgendes
möglich sein:
// Hier wird ein bestimmter Auftrag einer Aktion zugewiesen
Auftrag a = QueryProvider.getById(Auftrag.class, 40297631L);
a.setNuclosProcess(Auftrag.Sonderauftrag);
BusinessObjectProvider.update(a);Version 3.14.11 und höher gibt es kein setNuclosProcess für die Business-Objekte, wohl aber ein setNuclosProcessId.
Ist das ein Bug?
Oder ist die Wiki-Seite beim Aufruf
a.setNuclosProcess(Auftrag.Sonderauftrag);
fehlerhaft?Desweiteren gibt es für definierte Aktionen keine Konstanten in den Business-Objekten. Auch ein Bug?
Falls dies keine Fehler sind, wie können dann Aktionen in Business-Objekten gesetzt werden ? Da für setNuclosProcessId ein Long-Parameter
benötigt wird, muss es möglich sein, die Aktionen in irgendeiner Form anzusprechen, sei es über QueryProvider oder direkt über ein Business-Objekt „NuclosProcess“ o. ä.
Da an den BusinessObjects ja noch fleissig erweitert wird, kann es ja gut sein, dass der Weg, Aktionen zu setzen, sich noch einmal geändert hat.
Wie macht Ihr das ?2 Oktober 2013 um 10:16 Uhr #7090Markus Glitzner
TeilnehmerHallo!
Daran bin ich auch schon gescheitert, ich setze meine Aktionen daher direkt mit der Id, die wird sich in einem laufendem System wohl eher nicht ändern (können).
Gruß
Hugo2 Oktober 2013 um 11:30 Uhr #7092Matthias Reichart
TeilnehmerDas dürfte ein Problem fehlender Versionsangaben in der API und im Wiki sein.
In einer 3.14.-Version kann der Prozess eines BusinessObjekts nur mit der Id gesetzt werden: setNuclosProcessId(Long value)
Um einen Prozess, bzw. dessen Id, zu ermitteln, kann der QueryProvider mit einer Query verwendet werden. Man sucht also nach dem entsprechenden Eintrag und bekommt ein Ergebnis, das die Prozess-Id beinhaltet.
Dazu gibt es ein eigenes BusinessObjekt für die Nuclos-Entität „Process“: nuclosprocess
Bsp: Query myProcessQuery = QueryProvider.create(nuclosprocess.class).where(…);Das ist etwas kompliziert. Mit Rahmen aktueller Umsetzungen haben wir die BusinessObjekte folgend erweitert:
– Die BusinessObjekte bekommen Konstanten für ihnen zugewiesene Prozesse: Auftrag.Sonderauftrag oder Auftrag.NormalAuftrag
– Um Prozesse leichter setzen zu können, wurden die BusinessObjekte mit Setter versehen, die diese Konstanten verarbeiten können: setNuclosProcess(Auftrag.NormalAuftrag)
(Methodename ohne „Id“ am Schluss)Diese Erweiterungen haben wir vor kurzem umgesetzt, weshalb sie erst in einer zukünftigen Nuclos-Version zur Verfügung stehen.
Aus diesem Grund können Sie zwar die Änderungen im Wiki (inklusive der Methode getByProcess(), etc.) sehen, besitzen in der 3.14 aber nicht
die entsprechenden Implementierungen.Die Thematik mit den fehlenden Versionangaben ist uns bekannt. Wir arbeiten daran.
Gruß.
2 Oktober 2013 um 17:00 Uhr #7099Frank Pavlic
TeilnehmerDanke für die Aufklärung.
Gruß
Frank -
AutorBeiträge