ORDA: Neue Nachrichten für Entity-Selection-Methoden

Wenn es um ORDA geht, ist 4D v18 R3 voller guter Nachrichten! Neue Methoden stehen Ihnen zur Verfügung, um Ihre Codierungserfahrung weiter zu verbessern.

Zunächst einmal wurde die Extraktion von Daten aus einer Entitätsauswahl stark erweitert, so dass Sie eine vollständig angepasste Sammlung mit Ihren Entitätsauswahldaten erstellen können.

Darüber hinaus bieten wir Ihnen eine Möglichkeit, einer Entitätsauswahl mitzuteilen, dass ihre Daten sofort vom Server aktualisiert werden müssen , wodurch zwischengespeicherte Daten ungültig werden.

Interessieren Sie sich für einige Details? Lesen Sie weiter, alles, was Sie wissen müssen, finden Sie unten.

Daten aus einer Entitätsauswahl extrahieren

Die neue extract() Member-Methode ist für eine Entitätsauswahl verfügbar.

Sie können nun eine benutzerdefinierte Sammlung aus einer Entity-Auswahl erstellen!

Beispiel 1

In der extract() member-Methode können Sie die Datenklassenattribute, die Sie extrahieren möchten, und deren Namen in der resultierenden Sammlung angeben.

Nehmen wir diese einfache Datenbank:

Wir erstellen eine $mailing Sammlung von Objekten mit bestimmten Eigenschaftsnamen: „Empfänger“, „Stadt“, „Postleitzahl“.

C_COLLECTION($mailing)
$mailing :=ds.Interns.all().extract("nachname"; "empfänger";\
"arbeitgeber.stadt"; "stadt";\
"arbeitgeber.zipCode"; "zipCode")

und hier ist die resultierende

$mailing Sammlung:

[
{recipient:Hodge,city:Blakeslee,zipCode:18610},
{recipient:Metzler,city:Medfield,zipCode:02052},
{recipient:Broyles,city:Madison,zipCode:13402}
]

Beispiel 2

Beachten Sie, dass Datenklassenattribute, die eine verwandte Entität sind, als eine Sammlung von Entitäten extrahiert werden können.

Ein möglicher Anwendungsfall ist die Verarbeitung einer Sammlung von Entitäten aus verschiedenen Datenklassen.

Im folgenden Beispiel wird die Sammlung Form.partners erstellt, die Entitäten aus den Datenklassen Unternehmen und Schule enthält.

blank

C_COLLECTION($companies;$schools)

// $companies is a collection of entities of Company dataclass
$companies :=ds.Interns.all().extract("Arbeitgeber")

// $schools is a collection of entities of School dataclass
$schools :=ds.Interns.all().extract("Schule")

Form .partners:=$companies.concat($schools) // Form.partners is a collection

Dann ist die Sammlung Form.partners bereit, in einem Listenfeld angezeigt zu werden!blank

Lesen Sie die Dokumentation für die refresh() und extract() um mehr zu erfahren!

Aktualisieren einer Entitätsauswahl

Die neue refresh() Member-Methode ist für eine Entitätsauswahl verfügbar. Sie macht die Entitätsauswahldaten im ORDA-Cache ungültig, so dass bei der nächsten Verwendung der Daten eine Aktualisierung vom Server ausgelöst wird.

Standardmäßig läuft der ORDA-Cache nach 30 Sekunden ab, daher sollten Sie die refresh() member-Methode nur für den Fall, dass Sie sofort aktuelle Daten benötigen.

Beispiel

Sie haben einige Attribute der Entitätsauswahl Form.invoices in einem Listenfeld angezeigt und möchten zu einem bestimmten Zeitpunkt die Aktualisierungen anzeigen, die von anderen Clients für diese Entitätsauswahlattribute vorgenommen wurden. Ganz einfach! Verwenden Sie einfach die refresh() member-Methode.

Form.invoices.refresh() // The Form.invoices entity selection displayed data will be refreshed from the server

Avatar
- Product Owner - Marie-Sophie Landrieu-Yvert ist seit 2017 als Product Owner im 4D Produktteam tätig. Als Product Owner ist sie für das Schreiben der User Stories und deren Umsetzung in funktionale Spezifikationen zuständig. Ihre Aufgabe ist es auch, sicherzustellen, dass die Implementierung der Funktionen den Anforderungen des Kunden entspricht. Marie-Sophie ist Absolventin der ESIGELEC Ingenieurschule und begann ihre Karriere als Ingenieurin bei IBM im Jahr 1995. Sie nahm an verschiedenen Projekten teil (Wartungs- oder Build-Projekte) und arbeitete als Cobol-Entwicklerin. Dann arbeitete sie als UML-Designerin und Java-Entwicklerin. In letzter Zeit bestand ihre Hauptaufgabe darin, funktionale Anforderungen zu analysieren und zu schreiben sowie Geschäfts- und Entwicklungsteams zu koordinieren.