Vertauschen von Vorname und Nachname in der Mailansicht(inbox)

  • Hallo Leute,


    ich möchte das in der Mailansicht in der Spalte wer zuerst die Nachnamen und dann die Vornamen angezeigt werden.


    Im Designer gibt es unter Ordner->$Inbox die Ansicht, welche die Eingangs mails darstellt. Es existieren dort auch zwei Spalten für wer.


    Ich habe schon Blind versucht durch vertauschen von @Left und @Right das gewünschte Ergebnis zu erzielen.


    Meine Fragen:
    Bin ich dort überhaupt an der richtigen Stelle?
    Was muß ich ändern, damit ich die Wer-Spalte im
    Stil von Nachname Vorname anzeigen kann. Wenn es ein intern
    versandtes Memo ist?
    Schick wäre auch, wenn der Domino-Server mit in der
    Spalte angezeigt würde.


    Gruß Nameless

  • Ja, der Ordner ($Inbox) ist der Ordner für den Post-Eingang.


    Jedoch sei an dieser Stelle schon einmal die Warnung ausgesprochen, dass Änderungen an der Mail-Schablone nicht ohne sind.


    Das erste Thema ist was passiert mit Updates. Jedesmal, wenn eine neue Domino-Version installiert wird, wird auch die Mailschablone ersetzt. Es kann also gut sein, dass die mühevoll erarbeiteten Änderungen danach weg sind.


    Das zweite Problem besteht darin, dass von Anwendern angelegten Ordnern nicht automatisch das neue Design der Inbox erhalten. Standardmäßig wird zu dem Zeitpunkt, wenn ein neuer Ordner kopiert wird, das aktuell gültige Design kopiert. Es gibt zwar in der Mailschablone die Aktion "Ordnergestaltung aktualisieren". Allerdings muss der Anwender dafür aktiv werden.


    Das ist die Original-Formel aus einer 6er-Mailschablone:

    SentBy := @If(Principal = ""; From; Principal);
    Who := @If(DeliveredDate != "" | SendTo = ""; SentBy; @Subset(SendTo; 1));
    CN1 := @Trim(@Name([CN]; Who));
    CN2 := @Left(@Right(Who;"/DDA:");"/" );
    CN := @If(@Contains(Who;"/DDA:");CN2;@Contains(@Right(Who;"@");">") & CN1="";@Trim(Who);CN1);
    G := @If(CN = ""; @Trim(@If(DeliveredDate != "" | SendTo = ""; @Name([G]; SentBy); @Name([G]; @Subset(SendTo; 1)))); "");
    S := @If(CN = ""; @Trim(@If(DeliveredDate != "" | SendTo = ""; @Name([S]; SentBy); @Name([S]; @Subset(SendTo; 1)))); "");
    Person := @If(CN != ""; CN; G != ""; G + " " + S; S != ""; S; @Trim(X400FreeForm));
    Person2 := @If(@Left(Person;1)="\"" & @Right(Person;1)="\""; @LeftBack(@RightBack(Person;1);1); Person);
    @If(Form = "Delivery Report" : "NonDelivery Report" : "Trace Report" : "Quota Report"; "Mail-Router"; Person2)


    Die für deine Zwecke interessante Zeile ist die erste.

    SentBy := @If(Principal = ""; From; Principal);


    Mit folgender Modifikation sollte der Absender in der gewünschten Form erscheinen:

    _OriginalSentBy := @If(Principal = ""; From; Principal);
    _Name := @Explode(@Name([cn];_OriginalSentBy); " ");
    _SentBy := @If(@Elements(_Name) > 1; @Subset(_Name; -1) + (", " + @Implode(@Subset(_Name; @Elements(_Name) -1))); _Name);
    _Who := @If(DeliveredDate != "" | SendTo = ""; _SentBy; @Subset(SendTo; 1));
    _CN1 := @Trim(@Name([CN]; _Who));
    _CN2 := @Left(@Right(_Who;"/DDA:");"/" );
    _CN := @If(@Contains(_Who;"/DDA:");_CN2;@Contains(@Right(_Who;"@");">") & _CN1="";@Trim(_Who);_CN1);
    _G := @If(_CN = ""; @Trim(@If(DeliveredDate != "" | SendTo = ""; @Name([_G]; _SentBy); @Name([_G]; @Subset(SendTo; 1)))); "");
    _S := @If(_CN = ""; @Trim(@If(DeliveredDate != "" | SendTo = ""; @Name([_S]; _SentBy); @Name([_S]; @Subset(SendTo; 1)))); "");
    _Person := @If(_CN != ""; _CN; _G != ""; _G + " " + _S; _S != ""; _S; @Trim(X400FreeForm));
    _Person2 := @If(@Left(_Person;1)="\"" & @Right(_Person;1)="\""; @LeftBack(@RightBack(_Person;1);1); _Person);
    @If(Form = "Delivery Report" : "NonDelivery Report" : "Trace Report" : "Quota Report"; "Mail-Router"; _Person2)


    Ich verwende die Konvetion, dass temporäre Variablen mit einem Unterstrich anfangen sollten. :)


    Aber wie gesagt, Änderungen an der Mailschablone auf eigenes Risiko. :nono:

  • Hallo bhort vielen Dank für die hilfe und die Warnung. Ich habe eine extra Schablone die auf der 6er Schablone aufbaut und schon Änderungen enthält. Damit bei einem Update nichts passiert.


    Den Code von dir habe ich bei mir eingefügt. Beim Speichern kommt die Meldung:
    Uhrzeit oder Datum kann nicht Interpretiert werden:"


    In der Zeile:
    _G := @If(_CN = ""; @Trim(@If(DeliveredDate != "" | SendTo = ""; @Name([_G]; _SentBy); @Name([_G]; @Subset(SendTo; 1)))); "");


    ist der erste [_G] in rot dargestellt. Ich gehe mal davon aus das an dieser Stelle der Interpreter hier ein Problem hat, wenn ich auch nicht herausfinden konnte welches.


    Vielleicht kannst du mir nochmal helfen.


    Gruß Nameless

    • Offizieller Beitrag

    DeliveredDate sollte ein Datum enthalten. Dies kannst Du nicht mit einem String vergleichen. Benutze mal einen @Text um DeliveredDate.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • Das war natürlich mal wieder der Klassiker. Schnell ein Suchen und Ersetzen gemacht und dabei das Keyword von Name ebenfalls mit ersetzt. :(


    Der folgende Code ist nun richtig.



    _OriginalSentBy := @If(Principal = ""; From; Principal);
    _Name := @Explode( Name([cn];_OriginalSentBy); " ");
    _SentBy := @If(@Elements(_Name) > 1; @Subset(_Name; -1) + (", " + @Implode(@Subset(_Name; @Elements(_Name) -1))); _Name);
    _Who := @If(DeliveredDate != "" | SendTo = ""; _SentBy; @Subset(SendTo; 1));
    _CN1 := @Trim( Name([CN]; _Who));
    _CN2 := @Left(@Right(_Who;"/DDA:");"/" );
    _CN := @If(@Contains(_Who;"/DDA:");_CN2;@Contains(@Right(_Who;"@");">") & _CN1="";@Trim(_Who);_CN1);
    _G := @If(_CN = ""; @Trim(@If(DeliveredDate != "" | SendTo = ""; Name([G]; _SentBy); Name([G]; @Subset(SendTo; 1)))); "");
    _S := @If(_CN = ""; @Trim(@If(DeliveredDate != "" | SendTo = ""; Name([S]; _SentBy); Name([S]; @Subset(SendTo; 1)))); "");
    _Person := @If(_CN != ""; _CN; _G != ""; _G + " " + _S; _S != ""; _S; @Trim(X400FreeForm));
    _Person2 := @If(@Left(_Person;1)="\"" & @Right(_Person;1)="\""; @LeftBack(@RightBack(_Person;1);1); _Person);
    @If(Form = "Delivery Report" : "NonDelivery Report" : "Trace Report" : "Quota Report"; "Mail-Router"; _Person2)