Lotus Notes / Domino Sonstiges > Help-Desk Applikation !!Help!!
Fragen zu 1.0.10
tceins:
Hallo,
nochmal zur ersten Frage... Die Wiedervorlage...
Ich dokumentiere gerade für unsere Mitarbeiter die Funktion Wiedervorlage und bin beim gleichen Fehler hängengeblieben.
Angehängt sind die Infos aus dem Debugger...
Ach ja, i=5...
Any Ideas???
Thomas Schulte:
Ok Jetzt hab ichs. Das Problem ist hier das uidoc.fieldgettext nicht zuverlässig funktioniert. Man muss hier auf eine andere Anweisung ausweichen.
Das hier ist die neue Routine für das Ticket. Beim Todo muss das ebenfalls entsprechend angepasst werden.
Sub Click(Source As Button)
Dim session As New NotesSession
Dim wksp As New notesuiworkspace
Dim db As notesdatabase
Dim uidoc As notesuidocument
Dim doc As NotesDocument
Dim dialogdoc As NotesDocument
Dim messagestext As String
Dim messagessplit As Variant
Dim messageslist List As String
Dim user As String
Dim x As Variant
Dim i As Integer
Dim resubmitnewDocumenthistory As String
Dim message As String
Dim messageintern As String
Dim messagestringsplit As Variant
Dim thisdate As New NotesDateTime("")
Dim ok As Boolean
Dim picklistback As Variant
Dim reroutenewDocumenthistory As String
Dim evalstring As String
Dim evalvar As Variant
Dim isnotesuser As Boolean
Dim notesitem As notesitem
Dim docmailsend As String
Dim userlanguage As String
Dim subformfieldlabels As String
Dim fieldlabelstext As String
Dim fieldlabelssplit As Variant
Dim fieldlabelslist List As String
Dim escalationConfig As String
Dim newescalationdate As New NotesDateTime("")
Dim dateresubmit As String
Dim timeresubmit As String
Dim messageitem As NotesItem
Set db = session.CurrentDatabase
Set uidoc = wksp.CurrentDocument
holders = uidoc.document.LockHolders
If holders(0) <> "" Then
Forall h In holders
lockmessage = lockmessage & h & Chr(13)
End Forall
Messagebox lockmessage,, "Lock holders"
Exit Sub
End If
' if the uidoc is not in editmode set it
If uidoc.EditMode= False Then
uidoc.EditMode=True
End If
' get the actual date
Call thisdate.setnow
' get the actual user
user = session.commonUserName
' build a list for the message strings
messagestext = uidoc.fieldgettext("MESSAGES")
messagessplit = Split(messagestext,";")
For I = 0 To Ubound(messagessplit) Step 1
x = Split(messagessplit(i),"=")
messageslist(x(0)) = x(1)
Next
' build a list for the message strings
fieldlabelstext = uidoc.fieldgettext("FIELDLABELS")
fieldlabelssplit = Split(fieldlabelstext,";")
For I = 0 To Ubound(fieldlabelssplit) Step 1
x = Split(fieldlabelssplit(i),"=")
fieldlabelslist(x(0)) = x(1)
Next
' check if the user really wants to resubmit this ticket or to change the resubmissionDate
If ItemTextExists(uidoc.document, "ResubmittedUntilDate") Then
x =Split(messageslist("msgTicketDReSubmitAgain"),"~")
Else
x =Split(messageslist("msgTicketDReSubmit"),"~")
End If
i= Messagebox(x(1),36,x(0))
If i <> 6 Then
Exit Sub
End If
' open the dialog box to enter some values for the resubmission
' build the message list in the users language
userlanguage = findcurrentuserlanguage
subformfieldlabels = buildlanguageliststring(userlanguage,GetLanguageitem(userlanguage,I_CFGSUBFIELDLABELS))
Set dialogdoc = db.createdocument
dialogdoc.Fieldlabels_Dialog = subformfieldlabels
ok = wksp.DialogBox("ReSubmissionDate",True,True,False,False,False,False,fieldlabelslist("lblTicketToolDialogTitle"),dialogdoc,True)
If ok = True Then
' get the changes from the dialogbox back into the current uidoc
uidoc.document.ResubmittedUntilDate = dialogdoc.fldReSubmissionDate(0)
uidoc.document.ResubmittedUntilTime = dialogdoc.fldReSubmissionTime(0)
' checked all barriers go on and change the document
' set some fields in the uidoc
uidoc.Document.status = "97"
uidoc.document.ResubmittedBy = user
uidoc.document.DateResubmitted = thisdate.LocalTime
' Fetch the values for history
Set notesitem = uidoc.Document.getfirstitem("ResubmittedUntilDate")
DateResubmit = notesitem.Datetimevalue.DateOnly
Set notesitem = uidoc.Document.getfirstitem("ResubmittedUntilTime")
TimeResubmit = notesitem.Datetimevalue.TimeOnly
ResubmitnewDocumentHistory = thisdate.LocalTime + " " + user + " --> " + DateResubmit + "/" + TimeResubmit
If uidoc.Document.ResubmittedHistory(0)<> "" Then
uidoc.Document.ResubmittedHistory = uidoc.Document.ResubmittedHistory(0) + Chr$(10) + Chr$(13) + ResubmitnewDocumentHistory
Else
uidoc.Document.ResubmitHistory = ResubmitnewDocumentHistory
End If
' Check if there is an escalation pending. if so there are three possible reactions. do not touch, touch and set escalation date to resubmission date, touch and set back to no escalation
If uidoc.document.escalated(0) <> "0" Then
EscalationConfig = GetConfigDocByKey("ResubmissionEscalationHandling")
If Escalationconfig = "RESET" Then
' set all escalated values back to zero or in the starting position
uidoc.Document.escalated ="0"
uidoc.Document.escalationDate = ""
uidoc.Document.removeitem("escalationFormula")
uidoc.Document.removeitem("escalationUsedTemplate")
uidoc.Document.removeitem("secondEscalatedTo")
uidoc.Document.removeitem("firstEscalatedTo")
Elseif Escalationconfig = "START" Then
Set newescalationdate = New notesDatetime(DateResubmit + " " + TimeResubmit)
uidoc.Document.escalationDate = newescalationdate
End If
End If
' use the LogActions function for logging entrys.
Ok = logActions(uidoc,"UserResubmitted","",thisdate.Dateonly, thisdate.timeonly,"","","","")
If ok = False Then
' was not assgned due to an error in the logAction Script
Exit Sub
End If
'set the doc
Set doc = uidoc.Document
Call uidoc.Refresh
' check if the user is a notes user because only this ones get documents with links
Evalstring = |@unique(@NameLookup ( [Exhaustive]; "| + uidoc.Document.user(0) + |" ;"FullName"))|
EvalVar = CheckAndEvaluate(Evalstring)
If Isempty(EvalVar) Then
isnotesuser = False
Else
isnotesuser = True
End If
' build the messagestring depending on the defined key
message = messageslist("msgTicketReSubmitted")
' split this string search the fields and reconnect it
Messagestringsplit = Split(Message,"~~")
Message = ""
For i = 0 To Ubound(Messagestringsplit) Step 1
messageintern = ""
If messagestringsplit(i) <> "" Then
If Left(messagestringsplit(i),1) = "&" Then
' This is a field get the value of that field
Set messageitem = uidoc.Document.getfirstitem(Right(messagestringsplit(i),Len(messagestringsplit(i))-1))
messageintern = messageitem.text
Else
messageintern = messagestringsplit(i)
End If
End If
Message = Message + messageintern
Next
' check if there is a field that steers mail information sending
If itemTextExists(uidoc.Document,"fldMailIfReSubmitted") = True Then
Set notesitem = uidoc.Document.GetFirstItem("fldMailIfReSubmitted")
docmailsend = notesitem.text
Else
docmailsend = ""
End If
' send a hint to the user who created that ticket
If Ucase(GetConfigDocByKey ("NoNotification")) = "YES" Or docmailsend = "NO" Or (Ucase(GetConfigDocByKey ("MailIfReSubmitted")) <> "YES" And docmailsend = "")Then
' do not do anything
Else
If Ucase(GetConfigDocByKey ("MailIfReSubmittedLink")) = "YES" And Isnotesuser = True Then
BoolLink = True
Else
BoolLink = False
End If
' Send Mail with Message only
OK = Spoofmessage(_
GetConfigDocByKey("sendMailonBehalfof"),_
doc.user, _
doc.otherusers,_
message,_
"",_
doc,_
"",_
GetConfigDocByKey("MailIfResubmittedBodyFieldName"),_
BoolLink,_
True,_
"BugReport",_
"IsResubmittedMail")
End If
Call doc.Save(True,False)
Call uidoc.close
End If
End Sub
eknori (retired):
Es freut mich wirklich, daß hier einige Leute die DB ernsthaft testen. Vielen Dank dafür. Zudem scheint auch die Zahl derer zu steigen, die die DB produktiv einsetzen.
Die hier und in anderen Threads geposteten Bugs und die von Thomas bereitgestellten HFs rechtfertigen die Veröffentlichung eines neuen Releases.
Mitlerweile sind wir aus den Kinderschuhen einer Eins-Null Version raus ( denke ich )
Es wird als ein neues Release Ende des Monats geben ( 1.1 )
Da wird es dann auch ein überarbeitetes Eskalationsmanagement geben; da sind nämlich auch noch Fehler drin. Sind wohl noch keinem aufgefallen ;D
Und Thomas hat auch schon wieder neue Funktionen eingebaut ... O0
Natürlich werden wir uns bemühen, ein paar neue Bugs einzubauen.
Thomas Schulte:
Was die neuen Funktionen angeht:
Aufgaben zu Aufgaben zu erstellen wird möglich sein.
Außerdem können in den Mail Templates und den MailSignaturen auch Variablen verwendet werden die auf entweder dem ersten Parent Dokument oder dem Basisdokument beruhen.
baces:
--- Zitat von: baces am 19.10.05 - 11:35:03 ---
--- Zitat von: Thomas Schulte am 19.10.05 - 09:58:13 ---
--- Zitat von: baces am 18.10.05 - 16:16:56 ---Wenn ein Ticket abgeschlossen wird, bleibt die Aufgabe im Menü "Annehmen (x)" enthalten ... wie verschwinden denn da abgeschlossene Aufgabe von abgeschlossenen Tickets?
--- Ende Zitat ---
Hmm ein Ticket kannst du eigentlich nur dann abschliesen, wenn alle dazu gehörenden Aufgaben bereits abgeschlossen sind. Beim Akzeptieren der letzten geschlossenen Aufgabe wird automatisch das dazugehörende Ticket geöffnet.
Wenn ich jetzt das Ticket abschließe, ohne das Schließen der Aufgabe akzeptiert zu haben, dann kann ich ohne irgendwelche Folgen befürchten zu müssen das Schließen der Aufgabe immer noch akzeptieren.
Da ist zwar eine "Bedienungslücke" vorhanden aber die akzeptiere ich jetzt einfach mal.
--- Ende Zitat ---
Kein Problem, lass das ruhig drin, gut so, wir haben nur DAU gespielt. ;D
Aber ich blick einen Punkt immer noch nicht ganz ??? Wann verschwindet der Eintrag aus "Aufgabe in Bearbeitung" -> "Annehmen" wieder, denn die Teilaufgabe ist ja auch schon in der View abgeshclossene Tickets -> Aufgaben abgeschlossen enthalten :-:
Dachte eigentlich, dass die Teilaufgabe aus "Annehmen" verschwindet, wenn z.B. das dazugehörige Ticket komplett abgeschlossen wird....tut sie aber nicht. D.h. die Teilaufgaben bleiben für immer in "Annehmen"?!?
--- Ende Zitat ---
@eknori: ja wenn das so ist, dann packen wir die Gelgenheit beim Schopf und bohren noch mal nach ;D
1. Nochmal die Frage aus'm Quote
2. Die Felder udf001, udf002 und udf003 sind bei unserer HELP-Konfiguration Checkbox-Felder in denen man mehrere Auswahlen treffen kann. Wir würden udf003 aber gerne als "entweder-oder-Checkbox" haben, soll heissen, dass man nur eine einzige Auswahl treffen kann. Kann man das irgendwo in der Konfiguration einstellen?
3. noch was eher "nebensächliches": Kann man in den MailSchablonen Text-Formatierungen machen/verwenden/einbauen? z.B. wie hier im Forum bold, underlined .. usw. mittels BBC-Tags .... sowas hier [ b]<<ReqNumber>>[ /b] wäre schon fein. Könnte so etwas evtl. ins neue Release eigenabut werden (wenn überhaupt technisch möglich)?
grüße
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln