Autor Thema: Varbiale im Subject der Mailvorlage  (Gelesen 4492 mal)

Offline Matthias1974

  • Aktives Mitglied
  • ***
  • Beiträge: 140
  • Geschlecht: Männlich
    • Matthias Schlimm
Varbiale im Subject der Mailvorlage
« am: 08.02.06 - 10:47:16 »
Hallo,

ich weiss das Thema ist bestimmt schon 1000mal durchgekaut worden und ich habe das Forum hier auch schon durchsucht, aber leider noch nichts passendes gefunden

wir setzten Help 1.5 seit ca. 5 Tagen ein (Also absoluter Neuling   :-:) , läuft soweit wirklich super...
Ich habe mir einen Mailvorlage erstellt, wie bekomme ich im Subject die Problembeschreibung rein, da gibts doch was mit <<ProblemFirstLine>>.. oder so ähnlich... !!

Hat da Jemand eine Idee !!

Danke Matthias
(Jeder hat mal klein angefangen....  ;D)
Matthias Schlimm

76829 Landau i.d. Pfalz

Domino-Server V7.0.2 auf iSeries und Windows, Clients V7.0.1,Commontime mNotes/Suite, Windows2k, 2003, WinXP, Citrix PS 4.5, Sametime 7.5

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Varbiale im Subject der Mailvorlage
« Antwort #1 am: 08.02.06 - 11:35:12 »
Ähh jein. Das hängt davon ab was du machst.
Bei den Systemmails wird das Subject der Mailsignatur überhaupt nicht verwendet. Um da was einzutragen musst du aktuell in die Sprachdokumente xxx Actions & Strings reingehen.
Da gibt es dann msgTicketAssigned, msgTicketClosed, etc. Die werden in diesen Fällen benutzt. Bei manuellen Mails wird da aktuell zwar das eingetragene Subject übertragen aber keine Parameter ausgewertet.
Ich werde das Ganze in der nächsten Version so umstellen das man steuern kann ob das Subject aus den Sprachdokumenten oder den Mail Signaturen kommt.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Matthias1974

  • Aktives Mitglied
  • ***
  • Beiträge: 140
  • Geschlecht: Männlich
    • Matthias Schlimm
Re: Varbiale im Subject der Mailvorlage
« Antwort #2 am: 08.02.06 - 11:39:10 »
Hallo Thomas,

Danke für die flinke Antwort, werde das ausprobieren.
Wenn ein Call geschlossen wird, bekommt der User eine Mail, wo das Problme im Subject angegebn ist. Werde mal nach dem Sprachdokument suchen !!

Gruß

Matthias
Matthias Schlimm

76829 Landau i.d. Pfalz

Domino-Server V7.0.2 auf iSeries und Windows, Clients V7.0.1,Commontime mNotes/Suite, Windows2k, 2003, WinXP, Citrix PS 4.5, Sametime 7.5

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Varbiale im Subject der Mailvorlage
« Antwort #3 am: 08.02.06 - 11:42:00 »
msgTicketClosed in Ticket Actions & Strings. Da findest du das.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Matthias1974

  • Aktives Mitglied
  • ***
  • Beiträge: 140
  • Geschlecht: Männlich
    • Matthias Schlimm
Re: Varbiale im Subject der Mailvorlage
« Antwort #4 am: 08.02.06 - 21:32:03 »
Hallo Thomas,

kurze Rückfrage, damit ich dich nicht mißverstehe:  Wenn ich aus einem Ticket heraus eine Mail an einen User senden möchte, kann ich auf eine Mailvorlage zurückgreifen, so weit so gut !

Im Body der Mailvorlage kann ich die Problembeschreibung <<p:Problem>> bzw. <<ProblemFirstLine>> mit angeben, funkioniert das auch im Subject der Mailvorlage...?

oder bin da jetzt totoal auf dem Holzweg  ???

Gruß

Matthias
Matthias Schlimm

76829 Landau i.d. Pfalz

Domino-Server V7.0.2 auf iSeries und Windows, Clients V7.0.1,Commontime mNotes/Suite, Windows2k, 2003, WinXP, Citrix PS 4.5, Sametime 7.5

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Varbiale im Subject der Mailvorlage
« Antwort #5 am: 09.02.06 - 07:49:37 »
Ja da bist du auf dem Holzweg.

Das funktioniert aktuell noch nicht. In einer zukünftigen Version will ich das einbauen.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline dudeis

  • Frischling
  • *
  • Beiträge: 9
  • Egal wie, aber weiter so. Wir schaffen das !
Re: Varbiale im Subject der Mailvorlage
« Antwort #6 am: 21.02.06 - 11:24:40 »
Hallo,

ich habe bei uns die Bibliothek 'lib.notification.escalation' angepasst.

Dazu habe ich eine neue Funktion "ReplaceFields" erstellt, welche die mit '<<' und '>>' markierten Feldnamen ersetzt.

Der Aufruf erfolgt in der Prozedur "ProcessNotificationProfiles" direkt vor dem Befehl 'SpoofMessagewithitem' (coole Funktion  ;) ).

vorher :

dummy = SpoofMessagewithitem(...... TemplateDoc.Subject(0)......)

nachher:

dummy = SpoofMessagewithitem(...... ReplaceFields(TemplateDoc.Subject(0), TicketDoc) ......)

Damit funktioniert die ganze Sache auch im Subject (natürlich ohne Gewährleistung).

Viel Spaß damit,

Gruß Andreas


Hier noch die Funktion selbst - einfach der Bibliothek "lib.notification.escalation" anhängen :

Function ReplaceFields(sSubject As String, doc As NotesDocument) As String
   ' Ersetze Feldnamen (eingebettet zwischen TAG_PREFIX und TAG_SUFFIX)
   ' mit den Feldwerten aus dem Dokument
   ' erstellt 2006-02-20 von Andreas Schulteiß
   
   Dim sFieldName As String, sFieldValue As String
   Dim iPos1 As Integer, iPos2 As Integer   
   Dim iLen1 As Integer, iLen2 As Integer
   
   iLen1      = Len(TAG_PREFIX)
   iLen2      = Len(TAG_SUFFIX)   
   ReplaceFields    = ""
   
   Do      
      ' suche das Start Tag
      iPos1   = Instr(sSubject, TAG_PREFIX)      
      If iPos1 > 0 Then
         ' suche das Ende Tag
         iPos2   = Instr(iPos1 + iLen1, sSubject, TAG_SUFFIX)   
         If iPos2 > 0 Then
            ' schneide den Feldnamen zwischen den Tags aus
            sFieldName   = Mid(sSubject, iPos1 + iLen1, iPos2 - iPos1 - iLen1)
            If doc.HasItem(sFieldName) Then
               ' setze den Wert des Feldes ein
               Set item       = doc.GetFirstItem(sFieldName)
               sFieldValue   = item.Text
               ReplaceFields   = ReplaceFields + Left(sSubject, iPos1 - 1) + sFieldValue
            Else
               ' wenn das Feld nicht existiert, dann übergebe den ursprünglichen Text
               ReplaceFields   = ReplaceFields + Left(sSubject, iPos2 + iLen2)
            End If
            ' Mach mit dem Rest nach dem Ende Tag weiter
            sSubject       = Mid(sSubject, iPos2 + iLen2)      
         Else
            ReplaceFields   = ReplaceFields + sSubject
         End If
      Else
         ReplaceFields = ReplaceFields + sSubject
      End If
      
   Loop Until (iPos1 = 0) Or (iPos2 = 0)
   
End Function
Andreas Schulteiß
tof/Weinheim

6 Server R6.5.4 CF2 auf Win2003, 1 Server R6.5.1 auf Linux und 40xR5.0.10 auf HP-UX
ca. 1k Clients von R4.5.7 bis R 6.5.4

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: Varbiale im Subject der Mailvorlage
« Antwort #7 am: 22.02.06 - 06:20:50 »
Herzlichen Dank, Andreas ... :D
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Varbiale im Subject der Mailvorlage
« Antwort #8 am: 22.02.06 - 10:07:23 »
Ja auch von mir ein Danke. Ich hab das in die neue Version eingebaut. Allerdings ein wenig verändert, so das es aus der Spoofmessage heraus funktioniert und nicht nur im eigenen Dokument sucht, sondern auch in Parent bzw. Basedocs, und das die Klammern (<< und >>) erhalten bleiben können. Die braucht der Dispatcher nämlich manchmal bei Antworten.
Code
Function ReplaceSubjectFields(Me_Subject As String, Me_Linkdoc As NotesDocument, Me_Parentdoc As NotesDocument, Me_Basedoc As notesdocument) As String
%REM 
################################################################################### 
Goal: replace variables that are represented by fieldnames written in << >>.
Check against P and B to get fieldnames also from Parent and Basedocs 
Check against X because the << and the >> have to stay sometimes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Arguments: Description: 
me_Subject  	  	  				String 								String where field values have to be inserted
me_Linkdoc						NotesDocument					Notes Document
me_Parentdoc					NotesDocument					Parentdocument, if available
me_Basedoc						NotesDocument					Basedocument if available
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Return: 
the text Value of that field or an empty string if there is no value
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Example: 
mystring = RpelaceSubjectFields(Subject,Thisdocument, Parentdocument, Basedocument) 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
VERSION / WHEN / WHO / CHANGES 
1.0/??.02.2006/Andreas Schultheis
1.1/21.02.2006/Thomas Schulte/integrated checking against (p)arent and (b)asedocs. 
Integrated Checking against x to keep the << and >> where they should be keeped
'################################################################################### 
%END REM
	
	Dim me_FieldName As String, me_FieldValue As String
	Dim iPos1 As Integer, iPos2 As Integer   
	Dim iLen1 As Integer, iLen2 As Integer
	Dim me_doc As NotesDocument
	Dim Me_Item As notesitem
	Dim Me_ArrRetGetFieldFrom As Variant
	
	On Error Goto ERRHANDLE
	
	iLen1      = Len(TAG_PREFIX)
	iLen2      = Len(TAG_SUFFIX)   
	ReplaceSubjectFields    = ""
	
	Do      
     	' get the start tag
		iPos1   = Instr(Me_Subject, TAG_PREFIX)      
		If iPos1 > 0 Then
			' search the end tag
			iPos2   = Instr(iPos1 + iLen1, Me_Subject, TAG_SUFFIX)   
			If iPos2 > 0 Then
		          ' Cut the string between the tags. This could contain a fieldname or a array
				Me_FieldName   = Mid(me_Subject, iPos1 + iLen1, iPos2 - iPos1 - iLen1)
				' Split the Fields name to check where the field should come from and get the right document
				Me_arrRetGetFieldFrom = Arrayunique ( Split ( Me_FieldName, TAG_FIELDDELIMITER ), 5 )
				If Me_arrRetGetFieldFrom(0) = "b"Then
					If Not Me_basedoc Is Nothing Then
						Set Me_doc = Me_Basedoc
						Me_FieldName = Cstr ( Me_ArrRetGetFieldFrom(1) )
					Else
						Set Me_Doc = Me_LinkDoc
					End If
				Elseif Me_arrRetGetFieldFrom(0) = "p" Then
					If Not Me_parentdoc Is Nothing Then
						Set Me_Doc = Me_Parentdoc
						Me_Fieldname = Cstr ( Me_ArrRetGetFieldFrom(1) )
					Else
						Set Me_Doc = Me_LinkDoc
					End If
				Elseif Me_arrRetGetFieldFrom(0) = "x" Then
					Me_Fieldname = Cstr ( Me_ArrRetGetFieldFrom(1) )
					Set Me_Doc = Me_LinkDoc
				Else
					Set Me_Doc = Me_LinkDoc
				End If
				' split and check
				If Me_doc.HasItem(Me_FieldName) Then
					' get the fields value
					Set me_item       = Me_doc.GetFirstItem(Me_FieldName)
					Me_FieldValue   = Me_item.Text
					If Me_arrRetGetFieldFrom(0) <> "x" Then
						ReplaceSubjectFields   = ReplaceSubjectFields + Left(Me_Subject, iPos1 - 1) + Me_FieldValue
					Else
						' keep the prefix and the suffix
						ReplaceSubjectFields   = ReplaceSubjectFields + Left(Me_Subject, iPos1 - 1) + TAG_PREFIX + Me_FieldValue + TAG_SUFFIX
					End If
				Else
					' if the field does not exist write the original context
					ReplaceSubjectFields   = ReplaceSubjectFields + Left(Me_Subject, iPos2 + iLen2)
				End If
				' do the next step after the end tag
				Me_Subject       = Mid(Me_Subject, iPos2 + iLen2)      
			Else
				' Nothing else found
				ReplaceSubjectFields   = ReplaceSubjectFields + Me_Subject
			End If
		Else
			' nothing found
			ReplaceSubjectFields = ReplaceSubjectFields + Me_Subject
		End If
		
	Loop Until (iPos1 = 0) Or (iPos2 = 0)
	
EXITPOINT:
	Exit Function
ERRHANDLE:
	xProc = Getthreadinfo(LSI_THREAD_PROC)
	xError = xProc  & ": " &Trim$(Str$(Err)) & " on line " & Cstr(Erl) & ": " & Error$
	If UseOpenLog Then
		Call LogError
	Elseif LogScriptErrors Then
		Call ThrowException ( xProc, xError  )
	End If
	Print xError   'In all cases
	If ResumeMethodNext Then
		Resume Next	
	Else
		Resume EXITPOINT
	End If
End Function
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline dudeis

  • Frischling
  • *
  • Beiträge: 9
  • Egal wie, aber weiter so. Wir schaffen das !
Re: Varbiale im Subject der Mailvorlage
« Antwort #9 am: 22.02.06 - 16:41:31 »
Hallo Thomas.

das freut mich aber, dass ich damit meinen eigenen (wenn auch kleinen) Anteil beigetragen habe.

In Zukunft, werde ich auch das Exception Handling, die Kommentare in englisch und Variablennamen nach Euren Nomoklaturen verwenden. => Das spart Dir etwas Arbeit.

Bis Bald,
Andreas
Andreas Schulteiß
tof/Weinheim

6 Server R6.5.4 CF2 auf Win2003, 1 Server R6.5.1 auf Linux und 40xR5.0.10 auf HP-UX
ca. 1k Clients von R4.5.7 bis R 6.5.4

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: Varbiale im Subject der Mailvorlage
« Antwort #10 am: 22.02.06 - 16:51:19 »
Andreas,

Zitat
dass ich damit meinen eigenen (wenn auch kleinen) Anteil beigetragen habe.

JEDER Beitrag ist willkommen ...  :D
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz