AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
05.02.12 - 14:19:22
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Lotus Notes / Domino 7
| |-+  ND7: Entwicklung (Moderatoren: eknori, Glombi, koehlerbv)
| | |-+  Reminder Problem
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Reminder Problem  (Gelesen 414 mal)
Alperen15
Aktives Mitglied
***
Offline Offline

Geschlecht: Weiblich
Beiträge: 184


« am: 17.08.10 - 11:41:51 »

Hallo alle zusammen. Ich bräuchte wieder mal Tipps von euch. Ich habe einen Reminder erstellt und laut Debugger springt der an einer Stelle raus wo ich nicht weiss was das Problem ist

An der fett markierten Stelle flieg ich raus..... Ich wäre dankbar, wenn Ihr mir weiter helfen könntet. Danke

Hier der Quellcode

Sub Initialize
   'Agent wird automatisch gestartet Leasing ende vor 6 Monaten
   Dim oSession As New NotesSession
   Dim db As NotesDataBase   
   Dim oHeute As NotesDateTime
   Dim oCreated As NotesDateTime
   Dim oDoc As NotesDocument
   Dim oSearchDoc As NotesDocument
   Dim oProfilDoc As NotesDocument
   Dim oNeuDoc As NotesDocument
   Dim oRTItem As NotesRichTextItem   
   Dim cDate As String, kWeek As String, cText As String, nAnz As Long
   Dim oView As NotesView   
   Dim Empmanager As String
   Dim Empresponsible As String
   
   Set db = oSession.CurrentDataBase
   Set oHeute = New NotesDateTime(Now)
   Set oProfilDoc = db.GetProfileDocument("PDAllgemein")      ' *** Adressat der Wiedervorlage
   Set oView = db.GetView("vwRem")                           ' *** Ansicht Reminder 1 (7 Tage nach Eingangsdatum)
   Set oNeudoc = db.CreateDocument                              ' *** neues Mail-Dokument kreieren
   oNeudoc.Form = "Memo"                                       ' *** die Maske für e-Mail Aufrufen
   nAnz = 0
   Empmanager = oProfilDoc.fdNameRequestManager(0)                                  ' *** Reminder1 aus Profildoc sind Empfänger
   Empresponsible = oProfilDoc.fdNameRequestClarification(0)
   On Error Goto ErrorPrint
   
   REM Tracerinitialisierungsparameter
   Dim aTracerPara(1) As Variant
   
   cgTracerVorzugRem1 = "aaReminder2 test"
   
   aTracerPara(0) = "Request DB"
   aTracerPara(1) = "PDAllgemein"
   If Not(xQAnfangID(aTracerPara)) Then
      Print "Agent: Request DB Test: Konnte Tracer/Logger/Protokoll nicht initialisieren. Abbruch der Funktion."
      Exit Sub

   End If     ' If Not(xQAnfangID(aTracerPara)) Then      
   
   Set oRTItem = New NotesRichTextItem(oNeuDoc, "Body")    ' *** in Body des Memos reinschreiben
   Call oRTItem.AppendText("Bei folgenden Dokumenten blabla test.")
   Call oRtitem.AddNewLine(1)
   Call oRTItem.AppendText("Link zur Datenbank   --->   ")
   Call  oRTItem.AppendDoclink(oView, oView.Name)
   Call oRtitem.AddNewLine(2)
   
   cDate = oHeute.DateOnly
   
   Set oSearchDoc = oView.GetFirstDocument
   While Not (oSearchDoc Is Nothing)
      Set oCreated = New NotesDateTime(oSearchDoc.Created)
      cDate = oCreated.DateOnly
      Call oRtitem.AddNewLine(1)
      'Call oRTItem.AppendText(Cstr(oSearchDoc.ENDE(0)) + "   ---   " + Cstr(oSearchDoc.OBJEKT_KFZ_KENNZ(0)) + "   ---   " + Cstr(oSearchDoc.HERSTELLER(0)) + " " + Cstr(oSearchDoc.TYP(0)) + "    --->   ")
      Call  oRTItem.AppendDoclink(oSearchDoc, " Verbindung zum Wiedervorlagedokument. Bitte klicken.")
      nAnz = nAnz + 1
      Set oSearchDoc = oView.GetNextDocument(oSearchDoc)
   Wend
   cText = "aaReminder2: " + Cstr(nAnz) + " Dokumente zur Prüfung gefunden"
   Call XQSchreiben("0", "1",  cgTracerVorzugRem1, cText, 632637&)         
   
   ' *** Mail fertigstellen
   oNeuDoc.Subject = "Leasing in 6 Monaten zu Ende: Folgende Dokumente sind heute zur Vorlage fällig."
   If nAnz <> "0" Then
      If oProfilDoc.fdNameRequestClarification(0) <> "" Then
         oNeuDoc.SendTo = Empresponsible
         Call oNeuDoc.Send(False)
         Call XQSchreiben("0", "1",  cgTracerVorzugRem1, "aaReminder2 Leasing: Mail an Personenkreis Reminder 1 verschickt", 632637&)
      Else
         oNeuDoc.SendTo = Empmanager
         Call oNeuDoc.Send(False)
         Call XQSchreiben("0", "1",  cgTracerVorzugRem1, "aaReminder2 Leasing: Mail an Personenkreis Reminder 1 verschickt", 632637&)
      End If
   End If
   Goto EndeAlles
   
ErrorPrint:   
   Call XQSchreiben("0", "1", cgTracerVorzugRem1, "aaReminder2 Leasing: Fehler bei der Verarbeitung", 632637&)      
   Resume Next
   
EndeAlles:
   Call xQEnde                     ' *** Schreiben und schließen LogFile
   
End Sub
Gespeichert
Driri
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 6043



WWW
« Antworten #1 am: 17.08.10 - 11:49:44 »

Was heißt denn "er springt raus" ?

Und was ist "xQAnfangID" ?
Gespeichert

Gruß, Ingo
------------------------------------------------------------
11 Domino-Server (8.5.2 auf i5 und Windows)
2400 Notes 8.0.2, 200 Notes 6.5

IBM Content Manager / Content Collector für Mailarchivierung
ClearSwift Appliance (Anti-Spam, Anti-Virus)
Axceler NOTRIX

iAnywhere MobileOffice 5.7, in Ablösung
ca. 400 Smartphones (SymbianOS)

Lotus Notes Traveler 8.5.3
ca. 120 Smartphones (Android)
Alperen15
Aktives Mitglied
***
Offline Offline

Geschlecht: Weiblich
Beiträge: 184


« Antworten #2 am: 17.08.10 - 11:51:42 »

der Debugger springt an der Stelle raus.... Der Agent ist kopiert, den habe ich umgeändert die Felder, Ansichtname usw....
Gespeichert
Driri
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 6043



WWW
« Antworten #3 am: 17.08.10 - 12:02:43 »

xQAnfangID dürfte wohl eine Funktion sein, die da aufgerufen werden soll. Vermutlich findet er die Funktion nicht. Vielleicht steckt die in einer Scriptbibliothek, die nicht mitkopiert wurde oder nicht eingebunden ist ?

Man sollte niemals Code einfach kopieren und anpassen, den man nicht kennt bzw. versteht. Das führt gerade bei Code, der aus mehr als einer Handvoll Zeilen besteht fast garantiert zu Problemen.

Im übrigen wäre es evtl. gerade zu Übungszwecken besser, so einen Agenten selber zu schreiben.

Und noch ein Tipp. Diese Zeile hier

Zitat
Set oView = db.GetView("vwRem")                           ' *** Ansicht Reminder 1 (7 Tage nach Eingangsdatum)

sieht ganz verdächtig nach Verwendung von @Today in der Selektionsformel der Ansicht aus. Das sollte man sich aus Performancegesichtspunkten gut überlegen. Dazu gibt es hier im Forum diverse Beiträge.


Edit :
Wenn ich meine Antwort lese, kommt sie mir ein bißchen schroff vor. Das ist nicht so gemeint, ich habe nur keine Zeit, an den Formulierungen zu schleifen  Wink
« Letzte Änderung: 17.08.10 - 12:04:57 von Driri » Gespeichert

Gruß, Ingo
------------------------------------------------------------
11 Domino-Server (8.5.2 auf i5 und Windows)
2400 Notes 8.0.2, 200 Notes 6.5

IBM Content Manager / Content Collector für Mailarchivierung
ClearSwift Appliance (Anti-Spam, Anti-Virus)
Axceler NOTRIX

iAnywhere MobileOffice 5.7, in Ablösung
ca. 400 Smartphones (SymbianOS)

Lotus Notes Traveler 8.5.3
ca. 120 Smartphones (Android)
Alperen15
Aktives Mitglied
***
Offline Offline

Geschlecht: Weiblich
Beiträge: 184


« Antworten #4 am: 17.08.10 - 12:17:21 »

Kein Problem Ingo ich schau mir den Agenten mal genauer an und die bibliothek dann melde ich mich ncoh mal. Der Reminder soll ja produktiv werden sollte heute noch fertig werden  Azn
Gespeichert
ascabg
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 2079


« Antworten #5 am: 17.08.10 - 12:20:28 »

Hallo,

In Deinem Agenten kein "Option Declare" verwendet?

Das Erspart genau solche Fragen.


Andreas
Gespeichert
Alperen15
Aktives Mitglied
***
Offline Offline

Geschlecht: Weiblich
Beiträge: 184


« Antworten #6 am: 17.08.10 - 13:46:20 »

Hallo Andreas, doch in Option Declar stimmts auch....ich habe nochmal neu angefangen lasse erst mal den Tracer mal weg. Jetzt bekomm ich ne Meldung "Object variable not set" wie kann ich es denn ncoh mal "deklarieren" dass ich meine Felder von der Maske ansprechen möchte?


Sub Initialize
   
   Dim session As New NotesSession
   Dim ws As New NotesUIWorkspace
   Dim db As NotesDatabase
   Dim names As NotesDatabase
   Dim uid As String
   Dim doc As NotesDocument
   Dim heute As New NotesDateTime("Today")
   Dim username As New NotesName(session.CommonUserName)
   Dim RTItemProfileDoc As Variant
   Dim oRTItem As NotesRichTextItem
   Dim cText As String
   Dim oView As NotesView
   Dim oSearchDoc As NotesDocument
   Dim oNeuDoc As NotesDocument
   Dim ProfilDoc As NotesDocument
   Dim EmpManager As String
   Dim EmpResponsible As String
   
   Set db = session.CurrentDatabase
   Set ProfilDoc = db.GetProfileDocument("PDAllgemein")
   Set oView = db.GetView("vwRem")   
   
   
   EmpManager = oSearchDoc.fdNameRequestManager                                  ' *** Reminder1 aus Profildoc sind Empfänger
   EmpResponsible = oSearchDoc.fdNameRequestClarification
Gespeichert
Alperen15
Aktives Mitglied
***
Offline Offline

Geschlecht: Weiblich
Beiträge: 184


« Antworten #7 am: 17.08.10 - 13:58:09 »

so das hätte ich jetzt auch gelöst =) bei der fett markierten zeile kommt ne Meldung Type mismatch ... wieso soll der Typ nicht zulässig sein?
Gespeichert
Alperen15
Aktives Mitglied
***
Offline Offline

Geschlecht: Weiblich
Beiträge: 184


« Antworten #8 am: 17.08.10 - 14:02:53 »

denn in den Feldern fdNameRequestManager  und fdNameRequestClarification stehen email adressen von nur einem Mitarbeiter.

EmpManager sollte doch richtig sein, dass ich es mit String deklariert habe?1  Undecided
Gespeichert
Axel
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 8434


It's not a bug, it's Notes


« Antworten #9 am: 17.08.10 - 14:21:09 »

EmpManager = oSearchDoc.fdNameRequestManager (0)                                 ' *** Reminder1 aus Profildoc sind Empfänger
EmpResponsible = oSearchDoc.fdNameRequestClarification(0)

Die zurückgelieferten Werte sind String-Arrays!!

Axel
Gespeichert

Ohne Computer wären wir noch lange nicht hinterm Mond!

Server: 6.5.x; 7.0.x; 8.5.1 auf Win2000/Win2003 (R2) 32/64bit
Clients: 6.5.x bis 8.5.1 dt. und engl. auf W2K und WinXP
koehlerbv
Moderator
Gold Platin u.s.w. member:)
*****
Online Online

Geschlecht: Männlich
Beiträge: 18799



« Antworten #10 am: 17.08.10 - 14:24:11 »

Und nach dieser Korrektur gibt es gleichen den nächsten Laufzeitfehler  Grin
Gespeichert
Alperen15
Aktives Mitglied
***
Offline Offline

Geschlecht: Weiblich
Beiträge: 184


« Antworten #11 am: 17.08.10 - 14:42:34 »

Wieso laufzeitfehler? Also der Reminder funktioniert...ich weiss Eigenlob stinkt aber ich werde immer besser  Grin Grin Grin Grin langsam aber sicher
Gespeichert
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.16 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: Tinte / Toner günstig