Home Forum Nuclos Entwicklung Makros und Regeln Neue Zeilen in Unterformular hinzufügen Neue Zeilen in Unterformular hinzufügen

#8223
Franz Holzer
Teilnehmer

Hallo Frank.

Ich bekomme bei dem Status wechsel nur ein
2015-02-06 11:18:32,623 INFO [org.nuclos.server.common.NuclosRemoteInvocationExecutor] - client invocation of RemoteInvocation: method name 'changeStateByUser'; parameter types [org.nuclos.common.UID, java.lang.Long, org.nuclos.common.UID, java.lang.String] on org.nuclos.server.statemodel.ejb3.StateFacadeBean@7e632e98 took 298 (276) ms

es wird aber eine Mail versendet (Regel)

Die Regeln werden vorher bzw beim speichern geladen:


INFO [org.nuclos.server.customcode.codegenerator.NuclosJavaCompiler] - Execute Java compiler for source files: {benachrichtigunguser.java=PlainCG[code=org.nuclet.gig.benachrichtigunguser], kontaktnotizEintragen.java=PlainCG[code=org.nuclet.gig.kontaktnotizEintragen], NeuerBlickfeldSpieler.java=PlainCG[code=org.nuclet.gig.NeuerBlickfeldSpieler], test.java=PlainCG[code=org.nuclet.gig.test]}

System.out.println seh ich keines in den logs.

den Code zur regel habe ich eigentlich schon gepostet.

package org.nuclet.gig;

import org.nuclos.api.rule.StateChangeFinalRule;
import org.nuclos.api.context.StateChangeContext;
import org.nuclos.api.provider.StatemodelProvider;
import org.nuclos.api.annotation.Rule;
import org.nuclos.api.exception.BusinessException;
import org.nuclos.api.provider.BusinessObjectProvider;
import org.nuclos.api.provider.QueryProvider;
import java.text.SimpleDateFormat;

/** @name
* @description
* @usage
* @change
*/
@Rule(name="kontaktnotizEintragen", description="kontaktnotizEintragen")
public class kontaktnotizEintragen implements StateChangeFinalRule {
public void changeStateFinal(StateChangeContext context) throws BusinessException {

Spieler boSpieler = context.getBusinessObject(Spieler.class);

//kontakt info
String kontaktinfo = boSpieler.getKontaktinfo();
//Frist Datum auslesen und neu formatieren
SimpleDateFormat df = new SimpleDateFormat("dd.MM.yyyy");
String frist = df.format(boSpieler.getKontaktfrist());

Kontakt newKontaktnotiz = new Kontakt();
Spieler mySpieler = QueryProvider.getById(Spieler.class, boSpieler.getId());

newKontaktnotiz.setSpielerId(mySpieler.getId());
newKontaktnotiz.setNotiz("kontaktinfo");

boSpieler.insertKontakt(newKontaktnotiz);
System.out.println("TEST OUTPUT");
}
}

bezüglich referenzfeld – wie meinst du das ?
newKontaktnotiz.setSpielerId(mySpieler.getId());

sollte doch den aktuellen „Spieler“ (Datensatz im BO Spieler) auslesen – damit die Kontaktnotiz zum richtigen Datensatz zugeordnert wird ?

Das mit direkt in der Datenbank nachsehen mache ich nun.

lg und danke für dein Hilfe !!