Hallo zusammen,
momentan ist es unter FS 5 nicht mehr möglich bei einer FS_LIST Type Database auf die gepflegten Elemente als Entities zuzugreifen. Der Rückgabewert ist lediglich als FormData verfügbar.
Unter 4.2 ging noch die Variante(keine öffentliche API, ich weiß) .getDataset().getEntity(). Inzwischen geht der Zugriff nur noch über die Bezeichner der Tabellenvorlage.
Das bedeutet nich unerhebliche Mehraufwände für z.B. folgende Fälle
- Auslesen von Feldern die nicht über die In der FS_LIST hinterlegte Tabellenvorlage befüllt wurden sonder z.B.
- durch Imports
- durch eine andere Tabellenvorlage der gleichen Tabelle
- Auslesen von Fremdschlüsseln, die gar nicht in der Tabellenvorlage gepflegt werden, sondern von der anderen Tabelle gesetzt werden
- z.B. bei Firma werden Adressen gepflegt, aber wenn ich mir in einer Liste bestimmte Adressen ausgeben möchte inkl. Attribute der verbundenen Firma.
- --> Anlegen von versteckten nicht bearbeitbaren Eingabekomponenten, nur damit man auch einen Bezeichner zum Aufrufen hat...
- Bei FS5 Migrationen müssen die o.g. Anpassungen wesentlich mühsamer nachgezogen und getestet werden
Neben den Mehraufwänden ist auch die Inkonsistenz fragwürdig. Bei DATASET kommt man beispielsweise ganz "legal" auf die Entity (auch mit .dataset.entity)
Wir haben schon einiges in einem Diskussionsbeitrag gepostet, bevor ich jetzt alles doppelt schreibe verlinke ich auf den Rest:
https://community.e-spirit.com/message/14740
Leider wurde hier auch nicht begründet, warum genau (nur) für die FS_LIST diese Möglichkeit entfernt, bzw. nicht mehr implementiert wurde (oder überhaupt irgend was argumentiert).
Nachdem wir gerade mit einer Migration startetn, werden wir wohl nicht mehr in den Genuss kommen die bisherige Variante mit Zugriff auf Entities zu verwenden und müssen so sowohl die Eingabe also auch die Ausgabe umfangreich anpassen, aber hoffentlich wird dieser Request erhört und erspart zukünfitg einiges an Mehraufwänden.
Und jetzt fleißig dafür voten 😉
Viele Grüße
Matthias