Home Forum Nuclos Entwicklung Makros und Regeln Beginner Frage: Adress-Anlage

Ansicht von 6 Beiträgen - 1 bis 6 (von insgesamt 6)
  • Autor
    Beiträge
  • #9219
    Stefan Segger
    Teilnehmer

    Hallo,
    beginne gerade mit der Entwicklung unter nuclos.
    Habe nun folgendes Problem:
    Das BO Adressen hat eine Referenz zum BO Kunde.
    Im Kunde gibt es Vorgabe-Felder die für Adressen gelten sollen.
    Wie können diese Vorgabe-Felder übertragen werden?

    Habe bereits eine serverseitige Regel erstellt, die allerdings nicht funktioniert:

    package org.kesa.adresse;

    import org.nuclos.api.rule.InsertRule;
    import org.nuclos.api.context.InsertContext;
    import org.nuclos.api.annotation.Rule;
    import org.nuclos.api.businessobject.BusinessObject;
    import org.nuclos.api.businessobject.facade.Modifiable;
    import org.nuclos.api.exception.BusinessException;
    import org.nuclos.api.provider.BusinessObjectProvider;
    import org.nuclos.api.provider.QueryProvider;

    import org.nuclet.basistemplate.*;
    import org.nuclet.basistemplate.facade.*;
    import org.nuclet.basistemplate.wrapper.*;
    import java.math.BigDecimal;

    /** @name
    * @description
    * @usage
    * @change
    */
    @Rule(name=“AdresseAnlegen“, description=“Adresse anlegen und mit Vorgabe des Kunden füllen“)
    public class AdresseAnlegen implements InsertRule
    {
    public void insert(InsertContext context) throws BusinessException
    {
    Adresse curAdresse = context.getBusinessObject(Adresse.class);
    Kunde curKunde = QueryProvider.getById(Kunde.class, curAdresse.getKundeId());
    curAdresse.Rabatt = curKunde.Rabatt;

    }
    }

    #9220
    Nick Röder
    Teilnehmer

    Die Zuweisung der Werte muss über die set-Methode erfolgen

    curAdresse.setRabatt(curKunde.getRabatt());

    #9221
    Stefan Segger
    Teilnehmer

    Das habe ich auch schon versucht:
    curAdresse.setstandardrabatt(curKunde.getstandardrabatt());

    Bekomme dann allerdings die Fehlermeldung:
    cannot find symbol: Method getstandardrabatt(), location variable curKunde of type.org.nuclets.basistemplate.Kunde

    #9222
    Nick Röder
    Teilnehmer

    wichtig ist die Schreibweise

    Der Feldname beginnt immer mit einem Großbuchstaben

    #9223
    Stefan Segger
    Teilnehmer

    Danke, hat nun soweit geklappt und der Code lässt sich compilieren.
    Die Regel habe ich im Server-Regelmanager auch dem BO zugewiesen. Allerdings werden die Felder nicht vom Kunden zur Adresse übertragen. Habt ihr eine Idee?

    #9224
    Nick Röder
    Teilnehmer

    Die Regel muss noch im Server Regelmanager der Entität zugeordnet werden.

    http://wiki.nuclos.de/display/Konfiguration/Server+Regelmanager

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