Home › Forum › Nuclos Entwicklung › Makros und Regeln › Get/Set-Routinen in einem BO (Version 4.2.11)
- Dieses Thema hat 9 Antworten und 3 Teilnehmer, und wurde zuletzt aktualisiert vor 8 Jahren, 10 Monaten von
Sebastian Keiler.
-
AutorBeiträge
-
12 Januar 2015 um 22:10 Uhr #8086
Sebastian Keiler
TeilnehmerHallo Zusammen,
ich bin gerade dabei mich etwas mit Nuclos auseinander zu setzen und habe (befürchte ich) eine ziemliche Newbie-Frage, wo ich aber im Wiki und in der Suche keine Antwort finde.
Ich versuche aktuell im Basistemplate + Lager-Nuclet ein neues Attribut von der Bestellung in die Lagerbewegung zu übernehmen. Die entsprechende Codestelle in der LagerFacade habe ich auch gefunden. Allerdings habe ich das Problem, dass ich in Nuclos die Stelle nicht finde, wo ich Logik für das BusinessObjekt „Lagerbewegung“ schreiben kann (in diesem Falle also die Set-Routine).
Ich bin nur im Nuclos-Client unterwegs, habe also keine gesonderte Entwicklungsumgebung installiert.
Vielen Dank für eure Unterstützung!
12 Januar 2015 um 22:17 Uhr #8087Ramin Goettlich
TeilnehmerLagerbewegung l = …;
l.set();Im Falle von Referenzfeldern l.setId();
Oder suchen Sie nach etwas anderem?
13 Januar 2015 um 02:01 Uhr #8088Sebastian Keiler
TeilnehmerIch suche eigentlich nach der Stelle, wo man die set bzw. get-Routinen anlegen kann.
Wenn ich set(); mache und mein neues Feld verwende, dann kennt er die Routine nicht…
PS: Du ist besser 😉
14 Januar 2015 um 11:20 Uhr #8094Thomas Hempel
TeilnehmerHallo Sebastian,
Zitat aus dem Wiki: „Für jedes Businessobjekt wird ein repräsentierendes Businessobjekt erzeugt, das entsprechende getter- und setter-Methoden für sämtliche Attribute des Businessobjekts bereitstellt.“
Wahrscheinlich rufst Du die Methode falsch auf, denn nuclos legt definitiv alle Setter an. Bitte poste deinen code, wenn Du noch Hilfe brauchst.
Gruß
Thomas14 Januar 2015 um 22:33 Uhr #8102Sebastian Keiler
TeilnehmerHallo Zusammen,
vielen Dank für die Unterstützung 🙂 Hier mal ein Bild vom angelegten Attribut und vom Code.
Attachments:14 Januar 2015 um 22:35 Uhr #8103Sebastian Keiler
TeilnehmerHa ich hab’s schon selber gefunden. Case_Sensitive ist das Zauberwort. Nach dem Set den ersten Buchstaben groß und der Rest klein…
14 Januar 2015 um 23:58 Uhr #8106Thomas Hempel
Teilnehmergerne wieder 😉
19 Januar 2015 um 19:32 Uhr #8127Sebastian Keiler
TeilnehmerIch benötige leider noch einmal Hilfe (ich verwende mal frecherweise den selben Thread), da ich meine Datenbank scheinbar etwas gecrasht habe. In der Auftragsposition habe ich 2 neue Felder. Nur scheinbar fehlen diese an irgendeiner Stelle im Backend.
Beim Versuch ein Auftrag zu speichern bekomme ich nun folgende Fehlermeldung.
Wenn ich versuche ein bestehenden Auftrag zu Öffnen, wird die Fehlermeldung noch unverständlicher (interessant hier die Meldung, dass die Spalte nicht existiert)
Löschen und Umbenennen des Spaltennamen geht leider nicht in den Erweiterten Einstellungen.
Benenne ich den Feldnamen um, sieht die Fehlermeldung beim Speichern des Auftrages wie folgt aus.
Die Verwendung der neuen Felder in den Regeln habe ich schon zurückgebaut…leider erfolglos…vielleicht kann mir hier jemand weiterhelfen, da ich ziemlich überfragt bin…
19 Januar 2015 um 20:17 Uhr #8128Ramin Goettlich
TeilnehmerGab es denn beim Anlegen des neuen Feldes „Artikel im Bestand“ über den Businessobjekt-Editor einen Fehler? Offensichtlich fehlt das Feld in der Datenbank, sowas sollte eigentlich nicht passieren. Ich hatte so einen Fall das letzt Mal vielleicht vor einem Jahr mal…
Existiert das Feld „Artikel im Bestand“ in der Tabelle qpp8_Auftragsposition in der DB? Vermutlich nein.
Lösung wäre dann, die Metadaten in Nuclos wieder an die Realität (an die DB) anzugleichen, und zwar wie folgt:
a) Nuclos Server stoppen
b) Mit dem neuen Feld „Artikel im Bestand“ korrelierende Zeile in der Tabelle T_MD_ENTITY_FIELD identifizieren und die Zeile löschen.
c) Nuclos Server starten
d) Dann das gewünschte neue Feld ggf. erneut über den Businessobjekt-Editor hinzufügen.21 Januar 2015 um 00:07 Uhr #8136Sebastian Keiler
TeilnehmerIst eine gute Frage. Ich glaube eigentlich nicht. Interessanterweise hatte ich die beiden Spalten auch einmal über eine Regel befüllt bekommen. Anschließend ging nichts mehr…
Ich werde mal mein Glück versuchen.
-
AutorBeiträge