thmd
I'm new here

Erzeugen neuer FS_LIST Einträge im WebEdit

Hallo,

ich sitze gerade an einem Skript, welches durch einen FS_BUTTON aufgerufen wird, und dynamisch neue Einträge in einer FS_LIST erzeugen soll.

StoreAgent storeAgent = baseContext.requestSpecialist(StoreAgent.TYPE);

Store templateStore = storeAgent.getStore(Store.Type.TEMPLATESTORE);

FormDataList searchList = searchlist.get(); // searchlist übergeben per #field.list aus dem Formular

SectionTemplate aptemp = (SectionTemplate) templateStore.getStoreElement("listSection", UidType.TEMPLATESTORE);                     

SectionFormsProducer producer = (SectionFormsProducer) searchList.getProducer();

IdProvidingFormData create = producer.create(aptemp);   

FormField formField = create.get(null, "st_pNummer");

formField.set("Time :"+System.currentTimeMillis());

searchList.add(create);   

searchlist.set(searchList);

funktioniert im Java-Client wunderbar, nur im WebEdit tut sich gar nix. Bei jedem Aufruf des Skript kommen in der Konsole des Servers allerdings folgende Meldungen:

WARN  25.10.2013 08:19:31.234 {g-node=106626} (de.espirit.firstspirit.webedit.server.forms.StoreElementFormServiceImpl): Could not serialize new value for 'drop': false

WARN  25.10.2013 08:19:31.234 {g-node=106626} (de.espirit.firstspirit.webedit.server.forms.StoreElementFormServiceImpl): Could not serialize new value for 'properties': {}

Habe ich da was vergessen? Kann man auf die oben beschriebene Art und Weise im WebEdit überhaupt neue Einträge erzeugen? Bei den Einschränkungen WebEdit ist es zumindest nirgendwo erwähnt bzw. ich habe es nicht gefunden.

Viele Grüße

Thomas

0 Kudos
4 Replies
MichaelaReydt
Community Manager

Hallo Thomas,

ich sehe leider auf Anhieb nicht wodurch die Meldung hervorgerufen könnte.

In diesem Blogposting (in dem es zwar eigentlich um Datensätze geht) wird am Ende des Abschnitts "Create" ab dem Satz "Now we have a form with a FS_LIST which contains paragraphs. To fill in a FS_LIST we need the following code" das Hinzufügen eines Eintrages zu einer FS_LIST erläutert.

Evtl. hilft Dir die Erklärung des Blogpostings weiter.

Viele Grüße

Michaela

0 Kudos

Hallo Michaela,

das Blog-Posting hilft mir leider nicht so richtig weiter. Abgesehen von der Verwendung eines Datensatzes mache ich das ganze aus meiner Sicht im Grundprinzip analog. Ich hab ein FormField aus dem Formular über das ich mir die FormDataList hole. Aus dieser hole ich mir den FormsProducer und erzeuge einen neuen Absatz, denn ich dann der FormDataList hinzufüge und die FormDataList wieder auf das FormField setze.

Soweit so gut, funktioniert wie gesagt im Java-Client ohne Probleme. Die seltsame Fehlermeldung hätte ich am Anfang auch ignoriert, da sie ja "nur" als WARN rausgeschrieben wird. Allerdings macht es für mich den Eindruck, dass er irgendwelche (internen?) Felder nicht serialisieren kann und deshalb kein "zurückschreiben" funktioniert. Es kann aus meiner Sicht auch kein Refresh-Problem sein, da der Absatz nicht im Formular gespeichert wird. Ruft man das Skript wiederholt auf (ohne das Formular zu schließen) und lässt sich die initiale Größe der FormDataList ausgeben ist diese wieder 0. Im JavaClient zählt er stattdessen hoch und speichert die Einträge auch.

Grüße

Thomas

0 Kudos

Hallo Thomas,

ich habe inzwischen herausgefunden, dass die beiden Warnings auch schonmal in unserem internen System aufgefallen sind, aber anscheinend nicht weiter verfolgt wurden. (interne ID: #129278).

Ich möchte Dich daher bitten, dich an unseren Helpdesk zu wenden, damit u. U. ein neues internes Ticket erstellt werden kann.

Viele Grüße

Michaela

Hallo Michaela,

vielen Dank für die Informationen. Ich habe beim Helpdesk eine Anfrage gestellt - mal schauen was dabei rauskommt Smiley Happy

Viele Grüße

Thomas

0 Kudos