Home Forum Nuclos Konfiguration Vorgänge und Objekte Virtuelle Entitäten Problem

Ansicht von 8 Beiträgen - 1 bis 8 (von insgesamt 8)
  • Autor
    Beiträge
  • #7843
    Stephan Papst
    Teilnehmer

    Mahlzeit,
    Ich beschäftige mich gerade mit der Implementierung von Nuclos bei uns im Haus und bin über das Thema virtuelle Entitäten bzw. Businessobjekte gestolpert.

    Worum geht es?
    Ich habe einen Kundenstamm (eigenes Businessobject BO) es kann jedem Kunden eine beliebige Anzahl von Vertretern (Firmenseitig) zugeordnet werden.

    Ich habe als noch ein BO Vertreter angelegt. In diesem BO sind alle Vertreter mit allen Daten abgespeichert. Die Daten Kunden und Vertreter stehen ja in einer n:m Relation also habe ich noch ein drittes BO Kundenstamm_Vertreter angelegt das sowohl die Kundennummer als auch die zugeordneten Vertreternummern beinhaltet.

    Jetzt sollen die Daten der Vertreter in einem Subformular im Kundenstamm angezeigt werden.
    Also habe ich ein Datenbankobjekt vom Typ view und ein Datenbankobjekt (Quellcode) mit folgendem Inhalt erstellt:

    Datenbankobjekt: YZB5_KUNDEN_VERTRETER
    Datenbanktyp: POSTGRESQL
    Aktiv: ja

    Quellcode:

    CREATE OR REPLACE VIEW YZB5_KUNDEN_VERTRETER AS

    SELECT DISTINCT
    T3.intid as INTID,
    T3.strname1 as Name,
    T3.strtelefonnummer as strtelefonnummer,
    T3.strmobiltelefon as strmobiltelefon,
    T3.stremail as stremail,
    T2.dblprovision as dblprovision,
    'nuclos' as strchanged,
    'nuclos' as strcreated,
    1 as intversion,
    T3.datchanged as datchanged,
    T3.datcreated as datcreated,
    T1.intid as INTID_T_UD_GENERICOBJECT
    FROM
    YZB5_KUNDENSTAMM T1
    INNER JOIN YZB5_KUNDENSTAMM_VERTRETER T2 ON T1.intid = T2.intid_strkundennummer
    INNER JOIN YZB5_VERTRETER T3 ON T2.intid_strvertreternummer = T3.intid

    Dann habe ich der Anleitung im Wiki folgend ein BO „V_KU_VERTRETER“ erstellt. Dem Referenzfeld INTID_T_UD_GENERICOBJECT habe ich den Verweis auf die Kundennummer verpasst.

    Soweit so gut, nur wenn ich den Kundenstamm aufrufe dann bringt er mir im Subformular keine Werte (die Daten in der DB sind aber vorhanden)

    Ich hoffe mir kann jemand einen Tipp geben wie ich das zum laufen bringe da ich diese Situation ziemlich häufig wiederfinden werde 🙂

    Mit freundlichen Grüßen.
    Stephan Papst

    #7878
    Ramin Goettlich
    Teilnehmer

    Hallo,

    ein Screenshot der Konfiguration des Subforms im Layouteditor könnte zum Verständnis des Problems helfen.

    Sie brauchen für die beschriebene Anforderung eigentlich keine virtuelle Entität und auch keine Datenbankobjekt-Quelltexte. Machen Sie doch aus der View einfach ein „Dynamisches Businessobjekt“ (im Menü unter „Datenquellen“). Dort können Sie z.B. auch einstellen, dass aus dem Subform übers Kontextmenü in den Vertreter gesprungen können werden soll.

    Grüsse,
    nuclosian

    #7880
    Stephan Papst
    Teilnehmer

    Morgen,
    Danke das Sie sich meinem Problem annehmen.

    Ich hoffe ich habe Sie richtig verstanden, so habe ich das im Design konfiguriert:

    An die Verwendung des „Dynamischen Businessobjektes“ habe ich auch schon gedacht aber im Wiki ist diese Funktion als „veraltet“ gekennzeichnet. Ich habe daher „Angst“ etwas in ein neues System zu integrieren das vielleicht in einem späteren Release nicht mehr verwendbar ist.

    #7885
    Ramin Goettlich
    Teilnehmer

    Sieht alles richtig aus. Sind denn die Datensätze nach dem Speichern sichtbar, die Sie direkt in dem Subform eingeben? Oder verschwinden die beim Speichern?

    Virtuelle Entitäten und dynamische BOs überschneiden sich in ihrer Funktionalität, daher wollen wir mittelfristig auf letztere verzichten. Erstere können aber noch nicht alles, was auch die dynamischen BOs können bzw. die Konfiguration ist für manche Fälle mit dynamischen BOs einfacher.

    Vermutlich wird es dann einen Migrationspfad geben.

    #7887
    Stephan Papst
    Teilnehmer

    Ups sry…. ich Dussel hab die falsche Subform gepostet. Der Screen von vorhin war der Versuch es mit einem dynamischen Businessobjekt zu erledigen das hat funktioniert.

    Anbei der korrekte Screenshot von der mit dem virtuellen BO

    In dieser Subform sind alle Bearbeitungselemente ausgegraut ( was ja lt. Wiki beim dynamischen BO sowieso der Fall ist).

    Danke für die Information hinsichtlich der Migration, wenn wir das mit dem Virtuellen Entitäten nicht zum laufen bekommen verwenden wir halt die Dynamischen verwenden.

    #8852
    Dieter Mennig
    Teilnehmer

    Hallo,

    ich hätte eine Frage dazu: Ist das aktuell immer noch die Empfehlung, dynamische Businessobjekte zu verwenden oder sollten doch virtuelle Businessobjekte verwendet werden.

    Ich habe das mal mit dem Basistemplate getestet. Mit dem dynamischen Businessobjekt hat es tadellos funktioniert. Mit dem virtuellem Businessobjekt habe ich auch das Problem, dass mir keine Daten angezeigt werden, obwohl sie in der Datenbank vorhanden sind. Zudem werden in der subform die Spalten nicht korrekt angezeigt.

    Hier mal der Quelltext des virtuellem Businessobjekts:

    CREATE OR REPLACE VIEW T115_KUNDE_AUFTRAG AS
    SELECT DISTINCT
    T1.intid as INTID,
    T2.intid as INTID_T_UD_GENERICOBJECT,
    T1.strnummer as Nummer,
    T1.strrname as Rechnungsname,
    T1.intid_strzahlungskondition as Zahlungskondition,
    T3.strstate as Status,
    1 as INTVERSION,
    current_time as DATCREATED,
    current_time as DATCHANGED,
    'nuclos' as STRCREATED,
    'nuclos' as STRCHANGED

    FROM
    t115_auftrag T1
    INNER JOIN t115_kunde T2 ON T1.intid_strkunde = T2.intid
    INNER JOIN t_md_state T3 ON T1.struid_nuclosstate = T3.struid

    Zu den Spaltenüberschriften habe ich einen screenshot beigefügt. Ist wahrscheinlich ein Syntaxproblem. Den Test habe ich in nuclos 4.3.7 durchgeführt. Möglicherweise ist auch eine neuere Version erforderlich.

    Danke schon mal für eure Antwort.

    #8855
    Michael Henckes
    Teilnehmer

    Hallo softwareprofi,

    das gleiche Problem hatte ich auch. Man kann das Problem beheben indem man im BusinessObjekt für jede Spalte einmal den kompletten Wizzard durchklickt.
    Scheinbar fehlen die Übersetzungen ohne diesen Vorgang und somit werden die internen Ids der Spalten angezeigt.

    Gruß und schönes Wochenende hencm1.

    #8891
    Dieter Mennig
    Teilnehmer

    Hallo hencm1,

    vielen Dank für die Info und sorry, dass die Antwort etwas gedauert hat (war einige Zeit unterwegs).

    Ich werde das testen.


    @nuclos
    Team: Ist das ein Bug? Wenn ja, bitte bei zukünftigen Releases berücksichtigen.

    Un dann noch die Frage: Dynamische BO’s oder virtuelle?

    Herzlichen Dank.

    Dieter

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