Autor Thema: Agent - Mailbenachrichtigung  (Gelesen 11608 mal)

Offline Jensi

  • Senior Mitglied
  • ****
  • Beiträge: 273
  • Geschlecht: Männlich
Re: Agent - Mailbenachrichtigung
« Antwort #20 am: 12.02.08 - 08:59:48 »
Such mal in der Designer-Hilfe nach

farbe and spalte

und entscheide dann selbst, ob dir das zu aufwendig ist.

Hubert

Das ist mir zu aufwendig...

aber andere Frage: ich hab jetzt diese formel genommen...
Code
@If( @Adjust( kaufdatum; 0 ; dauer; 0 ; 0 ; 0 ; 0 ) < @Today ; 120; @Adjust( kaufdatum; 0 ; dauer; 0 ; 0 ; 0 ; 0 ) > @Today;114;" ")

diese zeigt mir, ob etwas abgelaufen ist oder noch aktiv ist...
kann ich die formel auch umschreiben, das er mir zeigt, das in einem bestimmten zeitraum (3 monate vor ende) es abläuft...?
Gruß Jens

Offline HH

  • Senior Mitglied
  • ****
  • Beiträge: 339
  • Geschlecht: Männlich
Re: Agent - Mailbenachrichtigung
« Antwort #21 am: 12.02.08 - 10:06:39 »
Ja,. indem du nicht mit @Today vergleichst, sondern z.B. mit

@Adjust( @Today; 0; 0; -120; ...


Hubert

Offline Jensi

  • Senior Mitglied
  • ****
  • Beiträge: 273
  • Geschlecht: Männlich
Re: Agent - Mailbenachrichtigung
« Antwort #22 am: 12.02.08 - 10:20:09 »
Ja,. indem du nicht mit @Today vergleichst, sondern z.B. mit

@Adjust( @Today; 0; 0; -120; ...


Hubert

hm... könntest du mir evtl. den code schreiben? wäre echt voll nett
Gruß Jens

Offline HH

  • Senior Mitglied
  • ****
  • Beiträge: 339
  • Geschlecht: Männlich
Re: Agent - Mailbenachrichtigung
« Antwort #23 am: 12.02.08 - 11:15:06 »
Wo bleibt denn dann der Lerneffekt? Hast du in der Designer Hilfe schon einmal bei @If und @Adjust nachgelesen?

Wie sieht dein nicht funktionierender Code aus?

Hubert

Offline Jensi

  • Senior Mitglied
  • ****
  • Beiträge: 273
  • Geschlecht: Männlich
Re: Agent - Mailbenachrichtigung
« Antwort #24 am: 12.02.08 - 11:17:47 »
ich habe mir die hilfe schon oft durchgelesen, aber ich weiß nicht wie ich anfangen soll...
Gruß Jens

Offline HH

  • Senior Mitglied
  • ****
  • Beiträge: 339
  • Geschlecht: Männlich
Re: Agent - Mailbenachrichtigung
« Antwort #25 am: 12.02.08 - 12:26:14 »
Also du hattest ja schon so etwas:

Code
@If( 
@Adjust( kaufdatum; 0 ; dauer; 0 ; 0 ; 0 ; 0 ) < @Today ; 120;
@Adjust( kaufdatum; 0 ; dauer; 0 ; 0 ; 0 ; 0 ) > @Today;114;
" ")

Die Formel besagt:
Wenn kaufdatum + dauer < heute -> 120
Wenn kaufdatum + dauer > heute -> 114
sonst " "

Du möchtest vermutlich haben:
Wenn
kaufdatum + dauer > heute -> "alles klar"
kaufdatum + dauer > heute - 30 -> "Warnhinweis"
sonst "abgelaufen"

heute - 30 drückt man wie folgt aus:

Code
@Adjust( @today; 0 ; 0 ; -30; 0 ; 0 ; 0 )


Hubert

Offline Jensi

  • Senior Mitglied
  • ****
  • Beiträge: 273
  • Geschlecht: Männlich
Re: Agent - Mailbenachrichtigung
« Antwort #26 am: 12.02.08 - 13:55:48 »
@If(
@Adjust( kaufdatum; 0 ; dauer; 0 ; 0 ; 0 ; 0 ) > @Today ; 114;
@Adjust( kaufdatum; 0 ; dauer; 0 ; 0 ; 0 ; 0 ) < @Adjust( @Today; 0 ; 0 ; -30 ; 0 ; 0 ; 0 );120;115)

Wenn
kaufdatum + dauer > heute -> "alles klar"
kaufdatum + dauer > heute - 30 -> "Warnhinweis" sonst "abgelaufen"

Wenn ich dies so mache, macht er irgendetwas falsch...

Der unterste Eintrag ist richtig als "Rot" gekennzeichnet
Der Eintrag drüber ist falsch als "Gelb" gekennzeichnet....

114 Grün = Alles klar
120 Gelb = Warnhinweis
115 Rot = Abgelaufen
« Letzte Änderung: 12.02.08 - 14:04:11 von Jensi »
Gruß Jens

Offline WernerMo

  • @Notes Preisträger
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.050
  • Geschlecht: Männlich
Re: Agent - Mailbenachrichtigung
« Antwort #27 am: 12.02.08 - 14:20:36 »
hallo,

da Du keine Fehler abfängst würde ich darauf tippen, dass das "Datum" in der vorletzten Zeile einen "Knacks" hat also nicht verglichen werden kann?

Gruß Werner
Gruß Werner
  o                                                  o   
 /@\  Nächster @Notes-Stammtisch  /@\  online Sept. 2020?
_/_\__________________________/_\_ Details folgen.

Offline HH

  • Senior Mitglied
  • ****
  • Beiträge: 339
  • Geschlecht: Männlich
Re: Agent - Mailbenachrichtigung
« Antwort #28 am: 12.02.08 - 14:34:39 »
Sorry, ich meinte 30 Tage Warnzeitraum gelesen zu haben. Ich hoffe, das hat dich nicht verwirrt. Bei 3 Monaten sollte es so funktionieren:

Code
_warnenAb := @Adjust(kaufdatum;0;dauer -3 ;0;0;0;0) ;
_ablauf   := @Adjust( kaufdatum;0;dauer;0;0;0;0) ;
@If(
_ablauf   < @Today ; 115 ;
_warnenAb < @Today & _ablauf > @Today ; 120 ;
114 )

Hubert

Offline koehlerbv

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Agent - Mailbenachrichtigung
« Antwort #29 am: 12.02.08 - 14:40:51 »
Ich weiss, woran es liegt: "Standard" ist falsch geschrieben  >:D

Aber im Ernst: Die Formel funktioniert genauso, wie gewünscht:

04.01.2008 < 13.01.2008 - es wird das Warnzeichen angezeigt.
08.02.2008 > 13.01.2008 - es wird das Abgelaufen-Zeichen angezeigt.

Für die Logik muss man schon (selber) sorgen.

@Werner: Wenn das Datumsfeld einen Schuss hätte, würde eine Fehlermeldung angezeigt (Datum/Zeit erwartet).

Bernhard

Offline hwenck

  • Junior Mitglied
  • **
  • Beiträge: 58
Re: Agent - Mailbenachrichtigung
« Antwort #30 am: 12.02.08 - 14:43:55 »
Ich ziehe den Hut vor:
klauss,thoge,shiraz,m3,koehlerbv,WernerMo

hallo Jensi, ich hoffe Du verdienst damit nicht dein Geld.

Ich habe hier nichts zu sagen. Aber das mußte ich loswerden.
« Letzte Änderung: 12.02.08 - 14:52:36 von hwenck »

Offline Jensi

  • Senior Mitglied
  • ****
  • Beiträge: 273
  • Geschlecht: Männlich
Re: Agent - Mailbenachrichtigung
« Antwort #31 am: 12.02.08 - 14:56:09 »
Ich ziehe den Hut vor:
klauss,thoge,shiraz,m3,koehlerbv,WernerMo

hallo Jensi, ich hoffe Du verdienst damit nicht dein Geld.

Ich habe hier nichts zu sagen. Aber das mußte ich loswerden.

Dann sag auch nichts...

Muss man hier etwa ein perfekter Notes-Spezialist sein? NEIN
Dieses Forum ist dazu da, das Leute wie ich Hilfe einholen können... Oder versteh ich das falsch?
Auf solche Kommentare wie von hwenck kann ich verzichten.

Danke an Hubert...
« Letzte Änderung: 12.02.08 - 14:57:45 von Jensi »
Gruß Jens

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Agent - Mailbenachrichtigung
« Antwort #32 am: 12.02.08 - 15:10:48 »
Jensi nicht Ärgern. Er hat ja noch nichtmal aktiv was beigetragen. Deswegen würde ich mir den Schuh garnicht erst anziehen.
Außerdem würde ich mal sagen verdient hier jeder sein Geld damit. Auf die eine oder andere Weise.


Aufgrund Bernhards Post habe mir das ganze jetzt nochmal Angeschaut und mich ein bischen revidiert.
Ich glaub ich habe heute zu tief in den Designer geschaut.
« Letzte Änderung: 12.02.08 - 15:30:33 von DerAndre »
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline koehlerbv

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Agent - Mailbenachrichtigung
« Antwort #33 am: 12.02.08 - 15:18:46 »
Danke an Hubert...

André, wenn man das so macht und nur jemanden anerkennt, der einem die Arbeit komplett abnimmt und den fertigen Code liefert, dann verdient man sich nicht sein Geld, sondern man bekommt es.
Die seitenweisen Bemühungen der anderen werden schlicht ignoriert (sicherlich auch gar nicht verstanden) - so macht man sich "Freunde".

Bernhard

Offline Jensi

  • Senior Mitglied
  • ****
  • Beiträge: 273
  • Geschlecht: Männlich
Re: Agent - Mailbenachrichtigung
« Antwort #34 am: 19.02.08 - 09:40:02 »
Code
Sub Initialize
	
	Dim s As notessession
	Dim db As notesdatabase
	Dim view As notesview
	Dim doc, memo, ProfileDoc As notesdocument
	Dim body As notesrichtextitem
	Dim dtthen As notesdatetime, dtnow As notesdatetime
	Set s = New notessession
	Set db=s.currentdatabase
	Set ProfileDoc = db.GetProfileDocument("PRFdoc_defaultVertrag")
	Set view = db.getview("($AllDocID)")
	Set doc = view.getfirstdocument
	Do While Not (doc Is Nothing)
		Set dtthen = doc.getfirstitem("ver_fruehesterkuentermin").DateTimeValue
		If Not (dtthen Is Nothing) Then
			Call dtthen.setAnyTime
			Set dtnow= New notesdatetime("Today")
			Call dtnow.setAnyTime
			If dtnow.TimeDifference(dtthen)/86400 <= 5 Then
				Set memo = db.createdocument
				With memo
					Call .replaceitemvalue("Form", "Memo")
					Call .replaceitemvalue("Subject","Auslaufender Vertrag - " & doc.ver_firma(0))
					Set body = .createrichtextitem("Body")
					With body
						Call .appendtext("Der "& doc.ver_art(0) &" für "& doc.ver_gegenstand(0) &" läuft demnächst aus. Hier ist das Dokument.     ")
						Call .appenddoclink(doc,"Bitte hier klicken","")
					End With
					Call .send(False, ProfileDoc.GetFirstItem("prfdoc_default_email"))
				End With
			End If
		End If
		Set doc = view.getnextdocument(doc)
	Loop
End Sub

Kann mir jemand sagen, was dieser Teil hier macht:
Code
	Do While Not (doc Is Nothing)
		Set dtthen = doc.getfirstitem("ver_fruehesterkuentermin").DateTimeValue
		If Not (dtthen Is Nothing) Then
			Call dtthen.setAnyTime
			Set dtnow= New notesdatetime("Today")
			Call dtnow.setAnyTime
			If dtnow.TimeDifference(dtthen)/86400 <= 5 Then
				Set memo = db.createdocument

Danke
Gruß Jens

Offline Jensi

  • Senior Mitglied
  • ****
  • Beiträge: 273
  • Geschlecht: Männlich
Re: Agent - Mailbenachrichtigung
« Antwort #35 am: 20.02.08 - 13:27:19 »
Wenn ich meine Datenbank jemandem zur Verfügung stelle, könnte dieser vllt mal einen Blick drauf werfen?
Meine Kenntnisse sind am Ende....
Gruß Jens

Offline Jensi

  • Senior Mitglied
  • ****
  • Beiträge: 273
  • Geschlecht: Männlich
Re: Agent - Mailbenachrichtigung
« Antwort #36 am: 26.02.08 - 11:38:53 »
Ich habe jetzt nach langer Zeit endlich die richtige Lösung gefunden...

Nun hab ich eine letzte Frage:
Ich habe in dem Profildokument ein Feld "prfdoc_default_warnen"
In diesem Feld wird der Warnzeitpunkt (in Tagen) eingeben, als Zahl.

Code
Sub Initialize
	
	Dim s As notessession
	Dim db As notesdatabase
	Dim view As notesview
	Dim doc, memo, ProfileDoc As notesdocument
	Dim body As notesrichtextitem
	Dim dtthen As notesdatetime, dtnow As notesdatetime
	Dim dateTime As New NotesDateTime( "Today" )
	Dim dateTime_ As Variant
	Dim maxdiff, difference As Long
	Set s = New notessession
	Set db=s.currentdatabase
	' Profildokument
	Set ProfileDoc = db.GetProfileDocument("PRFdoc_defaultVertrag")
	Set view = db.getview("($AllDocID)")
	Set doc = view.getfirstdocument
	Do While Not (doc Is Nothing)
		Set dtthen = doc.getfirstitem("ver_fruehesterkuentermin").DateTimeValue
		If Not (dtthen Is Nothing) Then
			Call dtthen.setAnyTime
			Set dtnow= New notesdatetime("Today")
			Call dtnow.setAnyTime			
			maxdiff =  90
			' Differenzberechnung - Liefert einen negativen Wert zurück, deswegen am Ende *(-1)
			difference = dtnow.TimeDifference(dtthen) / 86400 *(-1)
			' Bedingung
			If ( (difference > 0) And (difference < maxdiff)) Then
				Set memo = db.createdocument
				With memo
					Call .replaceitemvalue("Form", "Memo")
					Call .replaceitemvalue("Subject","Auslaufender Vertrag - " & doc.ver_firma(0))
					Set body = .createrichtextitem("Body")
					With body
						Call .appendtext("Der "& doc.ver_art(0) &" für "& doc.ver_gegenstand(0) &" läuft demnächst aus. Hier ist das Dokument:  ")
						Call .appenddoclink(doc,"Bitte hier klicken","")
					End With
					Call .send(False, ProfileDoc.GetFirstItem("prfdoc_default_email"))
				End With
			End If
		End If
		Set doc = view.getnextdocument(doc)
	Loop
End Sub

Im Moment ist der Warnwert fest in dem Agenten definiert.
Wie muss ich das jetzt umschreiben, damit der Wert aus dem Profildokument zieht?
Gruß Jens

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Agent - Mailbenachrichtigung
« Antwort #37 am: 26.02.08 - 11:44:35 »
Du hast ein ProfileDoc, dieses hat einen Wert.
Also nichts anderes als bei einem normal Doc.

Das einzige worüber Du Dir Gedanken machen mußt, Lange oder kurze Variante des Zugriffs auf das Feld  ;D hatten wir das Thema nicht schon Ausführlich...  ;D ;D
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz