Archiv des Intrexx Live! Forums

Hier sehen Sie die Foreneinträge aus dem Intrexx Live! Forum. Bis November 2016 war es das Forum für alle Fragen rund um die Software Intrexx von United Planet.
Seit November 2016 gibt es ein neues moderiertes Forum, das Intrexx Community Forum. Nutzen Sie bitte unbedingt dieses für aktuelle Fragen, Antworten und Informationen.

Wichtig: Dieses Forum dient als Archiv. Die Einträge beziehen sich oft auf ältere Versionen von Intrexx und entsprechen nicht mehr den aktuellen technischen Gegebenheiten.
Daher sollten alle Inhalte ausschließlich von Experten genutzt werden. Bei unsachgemäßer Anwendung kann es zu zeitaufwändigen Problemen oder Datenverlust kommen.
Übersicht > Intrexx Professional: Suggestions > Fehlendes $DC in Velocity beim Email-Element in Prozessen

Fehlendes $DC in Velocity beim Email-Element in Prozessen

Hallo liebes UP-Team,

Ein Email-Sende-Element in Prozessen kann den Email-Inhalt ja aus Velocity aufbauen (Option "Generate Message from Velocity code"). Wenn das eMail-Element hinter einem Datengruppenereignis (oder einem Timer mit Datengruppenfilter) hängt, stehen in dem Text leider dennoch nicht die Objekte $DC oder $Loader.DataCollection zur Verfügung. Wäre aber ganz praktisch, wenn sich die E-Mail auf den betreffenden Datensatz beziehen soll.

Die Referenz $Loader (und andere) werden degegen allerdings aufgelöst. Vielleicht wurde da irgendwas nicht initialisiert?

Aufgefallen ist mir auch, dass die Referenzierung wie $Variable.Feld["Schluessel"] oder auch $Variable["Schluessel"] vom Parser abgelehnt wird. Es funktioniert lediglich $Variable.Schluessel . Das geht, wenn der Schlüssel mit einem Buchstaben beginnt, aber nicht bei einer Ziffer.

Grüßle!
14.01.2011 15:52 von Raw
Noch ein Fehler, der mir in diesem Zusammenhang auffiel: bei HTML-Mails, die aus einer Intrexx-Seite heraus erzeugt werden, kann ich zwar $Loader.DataCollection benutzen, nicht aber $DC. Hat mich auch ein paar Stunden Schweiß und Tränen gekostet, das herauszufinden.
26.04.2011 07:41 von Raw
Hallo Raw,

bei EMail-Inhalten, die "händisch" mit Velocity aufgebaut werden, ist das Absicht, dass einige der sonst bekannten Objekte wie $DCnicht zur Verfügung stehen. Würde man die an dieser Stelle nutzen wollte, müsste man sich diese selber definieren.
Dass bei HTML-Emails mit einer Intrexx-Seite $DC nicht vorhanden ist, ist ein bekanntes Problem und wurde mit OU 04 für Intrexx 5.1 sowie mit OU 12 für Intrexx 5.0 behoben. Sind alle OUs korrekt eingespielt und wurden die Applikationen und Prozesse nochmal neu veröffentlicht?

Grüße, RomanB
26.04.2011 14:07 von RomanB
Hallo Roman,

das mit dem Update muss mir entgangen sein. War das erst neulich? Der Zeitpunkt, als ich den Fehler bemerkte, liegt schon einen Monat zurück. Na ok, dann ist das ja erledigt attention

Warum ist das Absicht mit dem fehlenden $DC in Plaintext-Nachrichten? Es gibt oft gute Gründe dafür, eine Plaintext-Nachricht statt HTML zu verschicken, sei es die Verringerung von Netzverkehr, einfache Parse-Möglichkeit von Auto-Emails, Beschränkungen bei den Leseprogrammen/ -geräten... usw.. Ich finde das durchaus angebracht, auch dem Plaintexter die vollen Daten zur Verfügung zu stellen. Im Moment helfe ich mir, indem ich alles notwendige vorher per Groovy von $DC nach $SharedState kopiere. Kommt aufs gleiche raus, ist aber ansonsten ziemlich sinnfrei attention
26.04.2011 15:14 von Raw
Hallo Raw,

also OU 04 kam am 11.04 raus. Wenn Du das einspielst, sollte das Problem behoben sein.

Einige Objekte sind nicht vorhanden, da sich Intrexx im Falle einer Plaintextnachricht in einem anderen Verarbeitungskontext befindet als wenn man z.B. eine Ansichtsseite verschickt. Es können nicht "auf Vorrat" bzw. "auf gut Glück" Objekte initialisiert werden.
Du kannst jedoch mal versuchen, die dein "eigenes" $DC zu initialisieren. Folgendes ist jedoch ungetestet und wird ohne Gewähr gepostet attention
$Loader.process($ProcessingContext, "<APP-GUID>", "data")
#set($DC = $Loader.getDataCollection())


Hier musst Du noch die GUID der entsprechenden Applikation eintragen, aus der die aktuellen Daten kommen. Versuch das einfach mal. Viel Erfolg thumbup

Grüße, RomanB
28.04.2011 10:36 von RomanB
Ich habe noch eine Frage, wie bekommt man die aktuelle Id im velocity, beim versenden per E-Mail?
Im Betreff der Email kann man das Datenfeld ID auswählen und bekommt auch diese korrekt angezeigt, wenn man aber nun beim Inhalt im Velocity folgendes eingibt:
#set($DC = $Loader.getDataCollection())
#set($lid = $DC.getRecId())
$lid
bekommt man jedoch nichts ausgegeben (höchstwahrscheinlich null-Wert).
Wie bekommt man nun die aktuelle ID des Datensatzes?
Danke schon einmal im Vorraus!

Gruß Tim
15.08.2012 14:56 von aGgi
Zurück | Alles über Intrexx | Impressum | Datenschutzerklärung

Über United Planet
© 2019 United Planet GmbH
Schnewlinstraße 2
79098 Freiburg