Das Notes Forum

Lotus Notes / Domino Sonstiges => Projekt Bereich => Help-Desk Applikation !!Help!! => Thema gestartet von: fridolin am 10.12.09 - 11:29:32

Titel: Formatierung Eskalationsmails
Beitrag von: fridolin am 10.12.09 - 11:29:32
Hallo zusammen,

ich bin gerade dabei die Eskalationsmails zu formatieren.
Die Spaltenauswahl und -größe bekomme ich alles hin.
Aber ist es auch möglich die Spaltenüberschriften zu ändern?

Für Vorschläge wäre ich sehr dankbar!

Gruß,
Fridolin
Titel: Re: Formatierung Eskalationsmails
Beitrag von: eknori am 10.12.09 - 11:34:13
Nein, das kann man nicht konfigurieren ...

Und das vor Weihnachten ... ob ich da wiederstehen kann?   ;D
Titel: Re: Formatierung Eskalationsmails
Beitrag von: fridolin am 10.12.09 - 11:40:01
 ;D

Ich weiß ja nicht wie viel Arbeit so etwas ist, aber ich habe schonmal versucht im Code selber, wenn er die Spalten einliest diese zu ersetzten, aber ich bekomme es einfach nicht hin.
Bin ja auch kein Profi wie ihr!  ;)
Titel: Re: Formatierung Eskalationsmails
Beitrag von: eknori am 10.12.09 - 11:56:55
Grob gesagt müsstest du an folgender Stelle ansetzen

LIB.AGENT.NOTIFICATION ( Zeile 680 )

Zitat
            Forall d In SingleFieldArray
               Call rtnav.FindNthElement (RTELEM_TYPE_TABLECELL, j)
               Call Me.SetFont ( TABLE_FONT_HEADER )' Set table header font and size
               Call rtItem.AppendStyle ( rtStyle  )
               Call rtItem.BeginInsert (rtnav)
               If Instr (Cstr (d),"+") > 0 Then ' concat multiple fields
                  Call rtItem.AppendText ("Expression") 'needs improvement
               Else       
                  Call rtItem.AppendText (Ucase (Cstr (d)))
               End If
               Call rtItem.EndInsert
               j = j + 1
            End Forall

Cstr(d) ist ein einzelner Feldname.

Wenn es hard kodiert sein darf, dann kannst  du die zeile

Call rtItem.AppendText (Ucase (Cstr (d)))

durch ein SelectCase ... d ersetzen

Hier dröselst du dann auf, welche Überschrift statt dem Itemname verwendet werden soll.

So mal auf die Schnelle ...
Titel: Re: Formatierung Eskalationsmails
Beitrag von: fridolin am 10.12.09 - 12:33:52
Vielen Dank für den Vorschlag!
Aber ich versteh das noch nicht so ganz...  :(
Wie müsste der Quelltext aussehen wenn ich die erste Spalte nur "Link" nennen möchte und die zweite z.B. "Mitarbeiter"?

Vielen Dank!
Titel: Re: Formatierung Eskalationsmails
Beitrag von: eknori am 10.12.09 - 12:46:06
Baue dir ein Array, z,B, MyItems()

Dem weist du dann die festen Werte zu

MyItems(0) = "Link"
MyItems (1) = "Mitarbeiter"

J hast du ja schon als Zähler in der Schleife.

Jetzt musst du nur noch die Zeile

Call rtItem.AppendText (Ucase (Cstr (d)))

durch ein

Call rtItem.AppendText (Ucase (Cstr (MyItems( j - 1 ))))

ersetzen, und schon gibt er dir die Werte aus dem Array statt der Feldwerte aus.
Ist jetzt so aus dem Kopf heruntergeschrieben; keine Garantie.

Titel: Re: Formatierung Eskalationsmails
Beitrag von: fridolin am 10.12.09 - 13:43:34
VIELEN VIELEN DANK!!!

Es funktioniert...

Gucke jetzt nochmal ob man es nicht noch  komfortabler hinbekommen könnte...
Titel: Re: Formatierung Eskalationsmails
Beitrag von: eknori am 10.12.09 - 13:58:40
Ja, das dürfte auch gar nicht so schwer sein.

Man muss sich zuerst mal überlegen, wo die Informationen herkommen sollen

Wir haben ja

{LINK}~userCN~DateCreated~problem

Um jetzt die Beschriftung mitzugeben muss man den String erweitern

{LINK}*Link~userCN*Mitarbeiter~DateCreated*Erstelldatum~problem*Problem

SingleFieldArray sieht dann nach dem Split bei ~ etwa so aus

{LINK}*Link
userCN*Mitarbeiter
DateCreated*Erstelldatum
problem*Problem

Jetzt muss für die Beschriftung noch bei * getrennt werden.

Solltest du hinbekommen.



Titel: Re: Formatierung Eskalationsmails
Beitrag von: fridolin am 10.12.09 - 15:40:59
Ja, die Idee hatte ich auch schon...
Aber ich versuche es jetzt seit über einer Stunde und bekomme es nicht hin.
Wenn ich 2 mal trenne  bekomme ich gar keine Email mehr...

nehme ich dann den zusatz (datecreated*ErstellDatum) z.B. wieder raus geht es wieder.

Habe so getrennt:

trenner1 = Split ( Trim (Ucase (fNames)),"~")
trenner2 = trenner1
SingleFieldArray = Split ( Trim (Ucase (trenner2)),"*")

dann müsste doch SingleFieldArray = datecreated sein

Oder hab ich irgendwo einen Denkfehler???