Home Forum Allgemeines Allgemeines zu Nuclos API Event „Anlegen“: Kein Zugriff auf Subform?

Ansicht von 5 Beiträgen - 1 bis 5 (von insgesamt 5)
  • Autor
    Beiträge
  • #6701
    Ronald Sedelies
    Teilnehmer

    Hallo Zusammen!

    Ich habe für eine Entität „Auftrag“ einen Event angelegt, der die Summe der Positionen errechnen soll (im Beispiel nur die Schleife implementiert):

    package org.nuclet.businessentity;

    import org.nuclos.api.rule.InsertRule;
    import org.nuclos.api.context.InsertContext;
    import org.nuclos.api.annotation.Rule;
    import org.nuclos.api.exception.BusinessException;

    /** @name
    * @description
    * @usage
    * @change
    */
    @Rule(name="AuftragAnlegen", description="Auftrag anlegen")
    public class AuftragAnlegen implements InsertRule {

    public void insert(InsertContext context) throws BusinessException {
    Auftrag auftrag = context.getBusinessObject(Auftrag.class);

    // jetzt werden alle Positionen überprüft
    for (AuftragPos position : auftrag.getAuftragPos()) {

    }

    }
    }

    Dabei erhalten ich immer folgenden Fehler:
    Ein Fehler ist aufgetreten.
    java.lang.IllegalArgumentException: CollectableComparison.error

    Der Comparand (Vergleichswert) darf für einen Vergleich nicht leer sein.

    Ist es so, dass bei Anlegen (also noch vor dem Speichern) nicht auf die Positionen (die im einem Subform eingegeben werden) zugegriffen werden kann?

    Viele Grüße

    Ronald

    Im Logfile findet sich übrigens folgendes:
    2013-06-02 17:11:33,169 WARN [org.springframework.remoting.support.RemoteInvocationTraceInterceptor] - Processing of HttpInvokerServiceExporter remote call resulted in fatal exception: org.nuclos.server.genericobject.ejb3.GenericObjectFacadeRemote.create
    java.lang.IllegalArgumentException: CollectableComparison.error
    at org.nuclos.common.collect.collectable.searchcondition.CollectableComparison.(CollectableComparison.java:82)
    at org.nuclos.common.SearchConditionUtils.newEOidComparison(SearchConditionUtils.java:121)
    at org.nuclos.server.nbo.AbstractBusinessObject.loadDependantsFromDB(AbstractBusinessObject.java:205)
    at org.nuclos.server.nbo.AbstractBusinessObject.getDependents(AbstractBusinessObject.java:121)
    at org.nuclet.businessentity.Auftrag.getAuftragPos(Auftrag.java:301)
    at org.nuclet.businessentity.AuftragAnlegen.insert(AuftragAnlegen.java:34)

    #6702
    Ramin Goettlich
    Teilnehmer

    Wir können das nicht reproduzieren (3.13.4).
    Welche Nuclos Version?

    #6704
    caf
    Verwalter

    Hallo sedelies,

    ab der Nuclos Version 3.14 kann man auch beim Anlgen auf die Subforms zugreifen. 🙂
    In der 3.13 ist dies leider noch nicht möglich.

    #6706
    Ronald Sedelies
    Teilnehmer

    Vielen Dank für die Antworten – aber leider benutze ich bereits 3.13.4 und der Fehler tritt trotzdem auf. 🙁

    Gruß
    Ronald

    #6711
    Ronald Sedelies
    Teilnehmer

    Ich habe gerade Version 3.13.5 installiert, jetzt funktioniert es! :laugh:

Ansicht von 5 Beiträgen - 1 bis 5 (von insgesamt 5)