Lotus Notes / Domino Sonstiges > Help-Desk Applikation !!Help!!

Wiedervorlage Uhrzeiten

(1/3) > >>

eddie_f:
Ich hatte es schonmal kurz in einem anderen Thread gepostet, das Problem hat sich aber leider nicht mit dem Update auf die 1.5.1 verbessert:


--- Zitat ---Kann es sein, daß in der 1.5.0 Wiedervorlagen nur nach dem Datum verarbeitet werden? Egal was ich für eine Uhrzeit einstelle, das Ticket wird immer an dem Tag ab 0:00 Uhr wieder aktiv, bzw. es werden Mails versandt. Falls das in 1.5.1 gefixt ist werde ich es mit dem Update versuchen.
-- Der Domino Server ist noch ein 6.5.1er, ich weis das ist nicht so die tolle Version, aber vom RZ her hab ich da keine Wahl...
--- Ende Zitat ---

Also sprich: ich lege mir für morgen 11 Uhr ein Ticket auf Wiedervorlage und das Ticket randaliert dann aber schon ab morgen 0 Uhr alle 5 Minuten meinen Posteingang zu. Das Datum für die Wiedervorlage zieht er, aber die Uhrzeit scheint ihm völlig egal zu sein. Ich hoffe einfach mal, dass es nicht nur an der Domino Version liegt, denn sonst hab ich auf kurze Sicht keine Chance. (wir bekommen Version 7 wahrscheinlich dann, wenn die Version 8 oder 9 raus ist  :( )

Thomas Schulte:
Eigentlich nicht. Der Agent geht auf die lslocaltime Eigenschaft des Feldes ResubmittedUntilDate los. Das muss ein Datumsfeld sein.
Er vergleicht über:
   If resubmissiondate.lslocaltime <= thisdate.LSLocalTime Then
mit der aktuellen Zeit.
Und das er immer wieder meckert kannst du mit
ResubmitSetToActive = Ucase(GetConfigDocByKey ("ResubmitSetToActive"))
dem Keyword ResubmitSetToActive verhindern.

Bei uns funktioniert das tadellos. Wir bekommen die Mail nur einmal.

Was du überprüfen könntest wären zum einen die Einstellungen von: ResubmitSetToActive und ResubmitDefaultStatus. Damit bekommst du das wiederholen der Banachrichtigung in den Griff. Und zum anderen das Feld ResubmittedUntilDate in den Dokumenten. Das muss Datum + Uhrzeit sein. unter umständen ist es bei dir nur das Datum. Dann müssen wir in dieser Richtung weitersuchen.

eddie_f:
OK ich hab das jetzt mal geprüft:

ResubmitDefaultStatus = 1 , was glaub ich soviel heißt wie aktiv.
ResubmitSetToActive = NO , das war notwendig, damit die Tickets nicht über Nacht in die Eskalation laufen. Die User sollen selbst die Tickets reaktivieren oder wenn es nocht nicht möglich ist auf einen späteren Zeitpunkt verlagern. Aber eben dieser Zeitpunkt ist das Problem... Ich hab mal einen Screenshot der Historie gemacht:



Er trägt Uhrzeiten einwandfrei ein. Liegt es vielleicht daran, dass er die Zeitzone in die Felder einträgt und die Funktionen deshalb nicht richtig laufen?

Was mir noch alternativ gekommen ist: ich kann das Problem insofern vermindern, indem ich die Agenten nur zu den Geschäftszeiten laufen lasse, es ändert nur leider nichts am Grundproblem.

Thomas Schulte:
Trag doch mal eine Wiedervorlage ein und dann schau dir über die Eigenschaften "alt-Enter" das Feld ResubmittedUntilDate an.

Mach davon einen Screenshot und stell den hier rein.

Wie gesagt das mit den alle fünf minuten liegt einfach daran das du ResubmitSetToActie auf "NO" hast und der Agent halt wirklich alle fünf Minuten läuft. Das mit der Zeit ist komisch.

Thomas Schulte:
Ich bin ein dummer dummer dummer Bauer.

Ersetz ganz einfach den Code in der lib.notification.resubmission, ProcessReSubmission mit dem hier:

--- Code: ---Sub ProcessReSubmission()
On Error Goto ERRHANDLE
%REM
Starting the process of resubmission. There are some base configuration documents that are used to set the path of how this piese of code should work.
ResubmitSetToActive = MANUAL/AUTOMATIC -> if manual the user itself has to set that Status back to a working one. if Automatic this Routine does so.
ResubmitSendRememberingMailSupporter = YES/NO -> send a mail to the Supporter of that particular document
ResubmitSendRememberingMailOwner = YES/NO -> send a mail to the owner of that document. Could be either the Creator (in case of Todos) or the base user
ResubmitSendMailAsSummary = YES/NO -> send each reminder as single mail or as summary mail
ResubmitSendMailBodyFieldName = FieldName -> name of the field that should be included with the body
ResubmitSendMailWithLink = YES/NO -> send a mail with doclink or not (only valid for single mails)
ResubmitDonotSendMailToDefaultSupporter = YES/NO -> if the mail is headed to the default supporter do not send it.
%END REM
Dim session As New notessession
Dim thisdate As New NotesDateTime("")
Dim resubmissionitem As NotesItem
Dim resubmissiondate As New NotesDateTime("")
Dim resubmissiontime As New NotesDateTime("")
Dim founddocuments As NotesDocumentCollection
Dim founddoc As notesdocument
Dim i As Integer
Dim j As Integer
Dim ok As Integer

Dim userlanguage As String

' get the current database
Set me_db =session.CurrentDatabase
' get the language document for messages
userlanguage = findcurrentuserlanguage
Call buildlanguagelist(userlanguage,GetLanguageItem(userlanguage,"ScriptMessages"))
' get the config documents
ResubmitSendMail = Ucase(GetConfigDocByKey("ResubmitSendMail"))
ResubmitSetToActive = Ucase(GetConfigDocByKey ("ResubmitSetToActive"))
ResubmitDefaultStatus = GetConfigDocByKey ("ResubmitDefaultStatus")
ResubmitSendRememberingMailSupporter = Ucase(GetConfigDocByKey ("ResubmitSendRememberingMailSupporter"))
ResubmitSendRememberingMailOwner = Ucase(GetConfigDocByKey ("ResubmitSendRememberingMailOwner"))
ResubmitSendMailAsSummary = Ucase(GetConfigDocByKey ("ResubmitSendMailAsSummary"))
ResubmitSendMailBodyFieldName = Ucase(GetConfigDocByKey ("ResubmitSendMailBodyFieldName"))
ResubmitSendMailWithLink = Ucase(GetConfigDocByKey ("ResubmitSendMailWithLink"))
ResubmitSendMailToDefaultSupporter = Ucase(GetConfigDocByKey ("ResubmitDonotSendMailToDefaultSupporter"))
ResubmitSendMailCheckNames = Ucase(GetconfigDocByKey("ResubmitSendMailCheckNames"))
ResubmitSendMailDefaultSupporter = Ucase(GetconfigDocByKey("DefaultSupporter"))

' get the actual date
Call thisdate.setnow

Set founddocuments = GetActiveResubmissions()
Set founddoc = founddocuments.getfirstdocument

If founddocuments.Count = 0 Then Exit Sub ' nothing to do so far
' Build the list of the users adresses
If Ucase(ResubmitSendMailCheckNames) = "YES" Then
  ' fetch all valid users from all addressbooks
Call fetchvalidusers(Session)
End If

For i = 1 To founddocuments.Count
Set founddoc = founddocuments.GetNthDocument ( i )
' find if the resubmission date is lowerequal the actual date
Set resubmissionitem = founddoc.GetFirstItem("ResubmittedUntilDate")
Set resubmissiondate = resubmissionitem.DateTimeValue
Set resubmissionitem = founddoc.GetFirstItem("ResubmittedUntilTime")
Set ResubmissionTime = resubmissionitem.DateTimeValue
If resubmissiondate.lslocaltime <= thisdate.LSLocalTime Then
If resubmissiontime.lslocaltime <= thisdate.LSLocalTime Then
' do anything you have to do to inform the users, change the status or what else have ya
ok = GrabOrSendMail(founddoc)
If Ucase(ResubmitSetToActive) = "YES" Then
alldocumentstochangelist(founddoc.UniversalID) = founddoc.UniversalID
End If
End If
End If
Next
' check and send the summary
If Ucase(ResubmitSendMailAsSummary) = "YES" Then
ok = SendResubmitSummary()
End If
If Ucase(ResubmitSetToActive) = "YES" Then
ok = ChangeAllFoundDocuments()
End If

EXITPOINT:
Exit Sub
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 Sub

--- Ende Code ---

und ignoriere was ich vorhin gesagt habe.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln