Danke schon mal für die Hinweise! Nun komme ich also um Funktionen nicht herum... Leider habe ich beim Durchsehen der Beispiel-Apps keinen Fall gefunden, wo eine n:m-Relation gespeichert und wieder in ein Feld eingetragen wird. 🤯
Der grobe Ablauf ist mir klar und sollte vermutlich in etwa so aussehen:
Funktion order_pull_experiments_from_collection
var arrayCollExp;
// Speichere alle Einträge aus Relationsfeld für Experimente in arrayCollExp
app.value_store_set('arrayCollExp', arrayCollExp);
// Öffne ein neues Formular "order"
var form_id = '...';
app.open_form(form_id, record_id, false, true, 0, 2000);
// Die ID finde ich, alle anderen Werte sind mir unklar.
Funktion order_put_experiments_from_collection
var arrayCollExp = app.value_store_get('arrayCollExp');
if ( (DATENSATZ NEU) & (typeof template_id !== 'undefined') ){
// Schreibe Daten aus arrayCollExp in das Relationsfeld
app.value_store_set('arrayCollExp', undefined);
}
Aber mir bleiben einige Fragen:
Wie kann ich die Daten aus dem Relationsfeld für die Experimente auslesen? Selbst wenn ich die Relationen verknüpfe, werden mir keine entsprechenden Platzhalter angeboten, siehe Screenshot unten. Geht das überhaupt aus dem Formular heraus oder muss man dazu die Relation collection_experiment
durchsuchen nach Einträgen zur aktuellen collection
?
Die Funktion app.open_form
hat neben form_id
weitere Argumente, welche ich nicht verstehe. Ich habe zwar nach der Funktion im Quellcode auf Github gesucht für den Fall, dass sie dort dokumentiert ist, konnte sie aber nicht finden. (Ich kenne mich auch mit der Order- und Dateistruktur von Webapps nicht aus.)
Wie teste ich in der Funktion order_put_experiments_from_collection
, ob der Datensatz neu ist?
Wie kann ich die in meiner Variablen arrayCollExp
gespeicherten Experimente in das Relationsfeld im neuen Formular order
eintragen?
Kann man im Builder von REI3 grundsätzliche irgendwie die Frontend-Funktionen testen, um sie zu debuggen?
Könntest du mir in dieser Sache weiterhelfen? Vermutlich am effizientesten wäre ein MWE für diesen Anwendungsfall, den ich nachvollziehen könnte. – Vielen Dank im Voraus!
PS. Kann man Bilder in Diskussionsbeiträgen auch in der Grösse einschränken, sodass sie nicht immer auf die volle Breite hochskaliert werden?