AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
20.01.22 - 11:14:59
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Lotus Notes / Domino Sonstiges
| |-+  Projekt Bereich
| | |-+  Help-Desk Applikation !!Help!! (Moderatoren: eknori, Thomas Schulte)
| | | |-+  Wiedervorlage Uhrzeiten
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Wiedervorlage Uhrzeiten  (Gelesen 4802 mal)
eddie_f
Frischling
*
Offline Offline

Geschlecht: Männlich
Beiträge: 22


« am: 14.11.06 - 09:20:09 »

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...

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  Sad )
Gespeichert

Gruß

H. Noack
Thomas Schulte
@Notes Preisträger
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 4388


Ich glaub mich tritt ein Pferd


« Antworten #1 am: 14.11.06 - 09:47:48 »

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.
Gespeichert

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
eddie_f
Frischling
*
Offline Offline

Geschlecht: Männlich
Beiträge: 22


« Antworten #2 am: 14.11.06 - 11:04:27 »

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.
« Letzte Änderung: 14.11.06 - 11:06:47 von eddie_f » Gespeichert

Gruß

H. Noack
Thomas Schulte
@Notes Preisträger
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 4388


Ich glaub mich tritt ein Pferd


« Antworten #3 am: 14.11.06 - 11:34:40 »

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.
Gespeichert

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
Thomas Schulte
@Notes Preisträger
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 4388


Ich glaub mich tritt ein Pferd


« Antworten #4 am: 14.11.06 - 11:41:55 »

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

und ignoriere was ich vorhin gesagt habe.
Gespeichert

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
eddie_f
Frischling
*
Offline Offline

Geschlecht: Männlich
Beiträge: 22


« Antworten #5 am: 14.11.06 - 12:53:51 »

*Spaß an* Du köntescht höchschtens n Halbdackel soi, denn der Schwob sait der Dackel merkt ned wie blöd er ischt, der Halbdackel wois des abr scho *Spaß aus*  Grin

Ich werds gleich mal ausprobieren. Ein weiterer Bugfix  Afro
Gespeichert

Gruß

H. Noack
eddie_f
Frischling
*
Offline Offline

Geschlecht: Männlich
Beiträge: 22


« Antworten #6 am: 15.11.06 - 10:38:46 »

Zu früh gefreut... es funktioniert leider nicht...

Kann es sein, dass es daran liegt:

DATUMSFELD


ZEITFELD


Im Datumsfeld ist das richtige Datum, aber die Zeit ist 0 Uhr.
Im Zeitfeld ist die richtige Zeit aber das Datum liegt "leicht" in der Vergangenheit.

So wie ich das Skript verstehe wird immer das ganze Datum verglichen. Zuerst wird der Tag geprüft und dann wird die Zeit geprüft. Das erste ergibt True und es geht weiter zum nächsten IF. Das ergibt auch immer True da ja das Datum zur Uhrzeit weit in der Vergangenheit liegt.

Also anders kann ich mir den Fehler nicht erklären... Es würde nur funktionieren, wenn die Zeit und das Datum zusammen in einem Feld stehen würden oder wenn jeweils nur das Datum oder nur die Zeit geprüft würden.
Gespeichert

Gruß

H. Noack
Thomas Schulte
@Notes Preisträger
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 4388


Ich glaub mich tritt ein Pferd


« Antworten #7 am: 15.11.06 - 11:07:16 »

Sag ich doch. Dummer Dackel ....

Man sollte nichts rausgeben ohne es selber zu testen. Auch wenn man eigentlich nur mal schnell eben .....

Ok Fix vom Fix.

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 resubmissiondatestring As String
Dim resubmissioncompletedate As 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
Set resubmissioncompletedate = New NotesDateTime(resubmissiondate.DateOnly + " " + resubmissiontime.TimeOnly)
If resubmissioncompletedate.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
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

Und Ey Alder isch schwörz. Ischt escht brontal geteschted.

Naja zumindest einmal .....
Gespeichert

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
eddie_f
Frischling
*
Offline Offline

Geschlecht: Männlich
Beiträge: 22


« Antworten #8 am: 15.11.06 - 11:37:36 »

Ich muss mich jetzt echt mal ein bissel mehr mit LotusSkript beschäftigen. Die Lösung war ja im Endeffekt banal einfach (besonders wenn man es schon verbal formuliert hat  Azn)
Gespeichert

Gruß

H. Noack
Thomas Schulte
@Notes Preisträger
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 4388


Ich glaub mich tritt ein Pferd


« Antworten #9 am: 15.11.06 - 11:52:33 »

Sag das nicht. Ich hab noch nicht getestet, was denn bei Einsätzen die mit unterschiedlichen Zeitzonen arbeiten passiert.
Gespeichert

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
eddie_f
Frischling
*
Offline Offline

Geschlecht: Männlich
Beiträge: 22


« Antworten #10 am: 15.11.06 - 11:58:36 »

Oha ja da könntest du recht haben... müsste einfach nur schief gehen, falls er die Zeitzone jetzt nicht mehr mitnimmt...

Naja wird schrauben gerade eine Notes Testumgebung zusammen, dann kann man sowas mal testen  Smiley
Gespeichert

Gruß

H. Noack
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: