TopLogic - the automated application engine
  • Releases
  • Dokumentation
  • Github
  • Discord
  1. Home
  2. Releases
  3. TL_7.5.0-M8
  4. #26797

7.5.0-M8
TopLogic Release

2023-03-20

Verbesserung

Top-Thema
#25645
OpenAPI-Server
#26207
REST-Aufrufe über TL-Script an externe APIs nach OpenAPI-Spezifikation
Wichtig
#27196
DeepL: Glossare für Übersetzungen verwenden
#27214
TL-Script unversionierter Objekt-Vergleich
#27215
Historische zu-n Referenzen
#27234
ChartJS und OpenAPI in BPE-Standardkonfiguration einbinden
Detail
#26835
instanceof-Prüfungen unversioniert durchführen
#26935
Close-Dialog nach Create konfigurierbar machen
#27225
Bulk-Dependency-Update
#27236
Model-Definition für Revision
#27251
TLModelUtil: Deklarierte ConfigurationException durch TopLogicException ersetzten

Fehlerbehebung

Top-Thema
#27205
TL-Sync Sender stoppt bei Update von Assoziation
Wichtig
#27139
Button-Menü in Button-Leiste öffent sich nicht
#27207
Suchvorschläge von SelectFields und Popups der Breadcrumb werden falsch platziert
#27228
Fehlende Anzeige von Flex-Daten bei historischen Objekten
#27241
OpenAPI: Fehler obwohl Abfrage erfolgreich
Detail
#26797
Transaktion mit Nutzereingabe: Unsichtbare Eigenschaften des Formularmodells können nicht mit Werten belegt (initialisiert) werden
#26921
ClassCastException bei der Auswertung von Security-Regeln, die sich auf (Nicht-StructuredElement-)Singletons eines Moduls beziehen
#27096
Baum scrollt bei (externer) Selektion den selektierten Knoten nicht in den Viewport
#27167
Normalisieren von JSPs führt bei if-else Blöcken zu falscher Einrückung
#27203
Applikationstests mit chart.js Report auf der Startseite schlagen fehl
#27204
PersistentEnumeration.tValue(...) führt zu ClassCastException
#27218
Grid-Tabellen: Berechnete Spalte: Single-Value SelectField benötigt Listenwert.
#27227
Nutzer-Zeitzone und damit SubSession-Zeitzone kann null sein
#27231
Inkrementelle Modifikation eines mengenwertigen Attributes nicht möglich.
#27239
Typo in Datenbankkonfigurationen beim "Passwort-Template"
#27240
OpenAPI: Fehlender Content-Type bei JSON-Anfrageinhalt
#27249
TLScript-Vorschläge werden immer in der selben Sprache angezeigt
#27250
Fehlendes Maven-Profil "ide" in Eclipse
Fehlerbehebung

Detail

#26797

Transaktion mit Nutzereingabe: Unsichtbare Eigenschaften des Formularmodells können nicht mit Werten belegt (initialisiert) werden

InAppDevelopmentLayoutEditor

Hintergrund

Bei einer "Transaktion mit Nutzereingabe" wird die Nutzereingabe (zur Formulardefinition, welche Werte soll der Nutzer eingeben können) als eigener Modelltyp beschrieben. In der "Initialisierung" wird dieser Modelltyp mit Werten aus dem Zielmodell befüllt (Felder vorbelegt).

Jetzt möchte man während der "Initialisierung" an diesem Modelltyp zur Formulardefinition ggfs. zusätzliche Informationen speichern, die dem Nutzer nicht angezeigt und auch nicht vom Nutzer eingegeben werden sollen: Beispielsweise sollen in der "Initialisierung" bestimmte Eigenschaften des Zielmodells an dem Formularobjekt gespeichert werden, um sie in einem Constraint am Formularmodell zur "Überprüfung" der späteren Nutzereingabe zu verwenden oder "Wertvorschläge" dafür zu annotieren.

Problem

Solche Attribute, die in dem Formular zur Nutzereingabe nicht angezeigt werden (entweder nicht Teil des Formulars oder als "versteckt" deklariert sind), können in dem Ausdruck zur "Initialisierung" nicht mit Werten belegt werden:

Caused by: java.lang.IllegalStateException: Attribute 'tl.contract.offer:OfferStateChangeForm#permittedValues' cannot be modified.
	at com.top_logic.element.meta.form.overlay.FormObjectOverlay.tUpdate(FormObjectOverlay.java:449)
	at com.top_logic.model.search.expr.DynamicSet.eval(DynamicSet.java:92)
	at com.top_logic.model.search.expr.GenericMethod.internalEval(GenericMethod.java:107)
	at com.top_logic.model.search.expr.SearchExpression.evalWith(SearchExpression.java:95)
	at com.top_logic.model.search.expr.SearchExpression.eval(SearchExpression.java:54)
	at com.top_logic.model.search.expr.Block.internalEval(Block.java:43)
	at com.top_logic.model.search.expr.SearchExpression.evalWith(SearchExpression.java:95)
	at com.top_logic.model.search.expr.Lambda.internalEval(Lambda.java:82)
	at com.top_logic.model.search.expr.SearchExpression.evalWith(SearchExpression.java:95)
	at com.top_logic.model.search.expr.Call.internalEval(Call.java:57)
	at com.top_logic.model.search.expr.SearchExpression.evalWith(SearchExpression.java:95)
	at com.top_logic.model.search.expr.Lambda.internalEval(Lambda.java:82)
	at com.top_logic.model.search.expr.SearchExpression.evalWith(SearchExpression.java:95)
	at com.top_logic.model.search.expr.Lambda.internalEval(Lambda.java:82)
	at com.top_logic.model.search.expr.SearchExpression.evalWith(SearchExpression.java:95)
	at com.top_logic.model.search.expr.query.DirectQueryExecutor.executeWith(DirectQueryExecutor.java:62)
	at com.top_logic.model.search.expr.query.QueryExecutor.execute(QueryExecutor.java:227)
	at com.top_logic.model.search.providers.MonomorphicCreateFormBuilderByExpression.fillFormContext(MonomorphicCreateFormBuilderByExpression.java:99)

Das wurde nach erster Rücksprache als Bug klassifiziert.

Test

  • /com.top_logic.demo/src/test/java/test/com/top_logic/demo/scripted/layout/transaction/TestCustomTransaction.script.xml
  • Get Started
  • Github
  • Discord
  • Das Unternehmen hinter TopLogic
  • Softwareentwicklung heute
  • Kontakt

© Copyright – Business Operation Systems GmbH

  • top-logic.com
  • Nutzungsbedingungen
  • Impressum
  • Rechtlicher Hinweis
  • Datenschutz
  • EN
  • Login