Home Forum Nuclos Entwicklung Makros und Regeln MasterDataVO-Objekte erstellen und in UF einfügen

Ansicht von 3 Beiträgen - 1 bis 3 (von insgesamt 3)
  • Autor
    Beiträge
  • #5324
    Bianca Bormann
    Teilnehmer

    Hallo liebe Forumleser,

    ich möchte in einer Regel ein MasterDataVO-Objekt für eine Entität erstellen, dieses Objekt mit Werten befüllen, die ich aus anderen Entitäten erhalte und dieses Objekt (oder eben mehrere; Anzahl in Abhängigkeit eines Suchergebnisses) in ein Unterformular einfügen oder einfach in die Entität, die in der Hauptentität die untergeordnete Entität darstellt.

    Bislang habe ich folgendes:


    MasterDataVO item;

    try{
    // "leeres" Objekt der Entität "Itemerstellung" erstellen
    item = server.getNewMasterDataCVO("Itemerstellung");
    String zeichen = "Testeintrag";
    Object test = (Object)zeichen;
    // ab hier gibt es Probleme; man kann das erstellte Objekt nicht einfügen;
    // mit setField in verschiedenen Variationen komme ich leider nicht weiter
    // Es muss doch grundsätzlich möglich sein, ein "nacktes" Objekt zu erzeugen
    // und dann die Eigenschaften mittels Setter o.ä. zu setzen...!? :-)
    //item.setField("item", test);
    }
    catch(Exception ex)
    {
    throw new NuclosBusinessRuleException("Funktioniert nicht...");
    }

    Auch mit einer der beschriebenen Vorgehensweisen aus dem Wiki habe ich es vergebens versucht:


    Map mpFields = new HashMap();
    mpFields.put("", );
    mpFields.put("", );
    ...
    server.addSubformEntry("", mpFields);

    Über einen kleinen Tipp hierzu oder einem kleinen funktionierenden Beispiel würde ich mich sehr freuen. 🙂

    Gute Nacht,
    Bibo

    #5325
    Markus Glitzner
    Teilnehmer

    Hier eine meiner Regeln, vielleicht hilft es dir ja weiter:
    //Wareneingang einlagern ...
    Collection collmdvo = server.getDependants("Lagerbestand");
    for(MasterDataVO mdvo : collmdvo) {
    Map mpFields = new HashMap();
    mpFields.put("bestand"+"Id", mdvo.getId());
    mpFields.put("datum", server.getFieldValue("Wareneingang", "datum"));
    mpFields.put("beleg", server.getFieldValue("Wareneingang", "nummer"));
    mpFields.put("menge", mdvo.getField("eingelagert"));
    mpFields.put("auftrag"+"Id", mdvo.getField("auftrag"+"Id"));
    mpFields.put("position"+"Id", mdvo.getField("auftragsposition"+"Id"));

    server.addSubformEntry("Lagerbewegung", mpFields);
    }

    #5342
    Matthias Haake
    Teilnehmer

    Hallo,

    ich lege Datensätze in Subforms immer so an:

    Map mpFields = new HashMap();
    mpFields.put("", );
    mpFields.put("", );
    mpFields.put("", );

    MasterDataVO newItem = new MasterDataVO(null, null, null, null, null, null, mpFields);

    org.nuclos.common2.ServiceLocator.getInstance().getFacade(org.nuclos.server.masterdata.ejb3.MasterDataFacadeLocal.class).create("", newItem, null);

    Das hatte ich vor Urzeiten mal in irgendeinem Post oder im Wiki gefunden und es funktioniert anstandslos.

    Viel Erfolg udn Grüße,
    Matthias

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