Domino 9 und frühere Versionen > ND6: Entwicklung
Für Vergleichsoperatoren müssen zwei Werte desselben Datentyps angegeben sein
cash:
@Bernhard,
der Agent funktioniert ja sobald ich ihn nicht periodisch einstelle sondern über das Menü aufrufe...
Trotzdem hier der Code:
SELECT (
(@IsText(DatumErledigt_110) = 1 & @IsTime(DatumBearbeitung_110 ) = 1 & DatumBearbeitung_110 <= @Today & DatumErledigt_110 = "") |
(@IsText(DatumErledigt_120) = 1 & @IsTime(DatumBearbeitung_120) = 1 & DatumBearbeitung_120<= @Today & DatumErledigt_110 = "") |
(@IsText(DatumErledigt_140) = 1 & @IsTime(DatumBearbeitung_140) = 1 & DatumBearbeitung_140<= @Today & DatumErledigt_110 = "") |
(@IsText(DatumErledigt_150) = 1 & @IsTime(DatumBearbeitung_150) = 1 & DatumBearbeitung_150<= @Today & DatumErledigt_110 = "") |
(@IsText(DatumErledigt_160) = 1 & @IsTime(DatumBearbeitung_160) = 1 & DatumBearbeitung_160<= @Today & DatumErledigt_110 = "") |
(@IsText(DatumErledigt_200) = 1 & @IsTime(DatumBearbeitung_200) = 1 & DatumBearbeitung_200<= @Today & DatumErledigt_110 = "") |
(@IsText(DatumErledigt_300) = 1 & @IsTime(DatumBearbeitung_300) = 1 & DatumBearbeitung_300<= @Today & DatumErledigt_110 = "") |
(@IsText(DatumErledigt_400) = 1 & @IsTime(DatumBearbeitung_400) = 1 & DatumBearbeitung_400<= @Today & DatumErledigt_110 = "") |
(@IsText(DatumErledigt_900) = 1 & @IsTime(DatumBearbeitung_900) = 1 & DatumBearbeitung_900<= @Today & DatumErledigt_110 = "")
);
_MIB_Beauf := MIB_Beauf;
@If(
(@IsText(DatumErledigt_110) = 1 & @IsTime(DatumBearbeitung_110 ) = 1 & DatumBearbeitung_110 <= @Today & DatumErledigt_110 = "");_Sachbearbeiter := Sachbearbeiter_110;
(@IsText(DatumErledigt_120) = 1 & @IsTime(DatumBearbeitung_120) = 1 & DatumBearbeitung_120<= @Today & DatumErledigt_110 = "") ;_Sachbearbeiter := Sachbearbeiter_120;
(@IsText(DatumErledigt_140) = 1 & @IsTime(DatumBearbeitung_140) = 1 & DatumBearbeitung_140<= @Today & DatumErledigt_110 = "") ;_Sachbearbeiter := Sachbearbeiter_140;
(@IsText(DatumErledigt_150) = 1 & @IsTime(DatumBearbeitung_150) = 1 & DatumBearbeitung_150<= @Today & DatumErledigt_110 = "") ;_Sachbearbeiter := Sachbearbeiter_150;
(@IsText(DatumErledigt_160) = 1 & @IsTime(DatumBearbeitung_160) = 1 & DatumBearbeitung_160<= @Today & DatumErledigt_110 = "") ;_Sachbearbeiter := Sachbearbeiter_160;
(@IsText(DatumErledigt_200) = 1 & @IsTime(DatumBearbeitung_200) = 1 & DatumBearbeitung_200<= @Today & DatumErledigt_110 = "") ;_Sachbearbeiter := Sachbearbeiter_200;
(@IsText(DatumErledigt_300) = 1 & @IsTime(DatumBearbeitung_300) = 1 & DatumBearbeitung_300<= @Today & DatumErledigt_110 = "") ;_Sachbearbeiter := Sachbearbeiter_300;
(@IsText(DatumErledigt_400) = 1 & @IsTime(DatumBearbeitung_400) = 1 & DatumBearbeitung_400<= @Today & DatumErledigt_110 = "") ;_Sachbearbeiter := Sachbearbeiter_400;
(@IsText(DatumErledigt_900) = 1 & @IsTime(DatumBearbeitung_900) = 1 & DatumBearbeitung_900<= @Today & DatumErledigt_110 = "");_Sachbearbeiter := Sachbearbeiter_900;"");
REM {Definiere den Bereichsleiter};
_configDocId := @DbLookup( "" : "NoCache"; "" : ""; "(Konfiguration)"; "Konfigurationsdokument"; 2);
_Bereichsleiter110 := @GetDocField(_configDocId;"OE110");
_Bereichsleiter120 := @GetDocField(_configDocId;"OE120");
_Bereichsleiter140 := @GetDocField(_configDocId;"OE140");
_Bereichsleiter150 := @GetDocField(_configDocId;"OE150");
_Bereichsleiter160 := @GetDocField(_configDocId;"OE160");
_Bereichsleiter200 := @GetDocField(_configDocId;"OE200");
_Bereichsleiter300 := @GetDocField(_configDocId;"OE300");
_Bereichsleiter400 := @GetDocField(_configDocId;"OE400");
_Bereichsleiter900 := @GetDocField(_configDocId;"OE900");
REM {suche Bereichsleiter zum passenden Sachbearbeiter };
@If(
_Sachbearbeiter = Sachbearbeiter_110;_Bereichsleiter := _Bereichsleiter110;
_Sachbearbeiter = Sachbearbeiter_120;_Bereichsleiter := _Bereichsleiter120;
_Sachbearbeiter = Sachbearbeiter_140;_Bereichsleiter := _Bereichsleiter140;
_Sachbearbeiter = Sachbearbeiter_150;_Bereichsleiter := _Bereichsleiter150;
_Sachbearbeiter = Sachbearbeiter_160;_Bereichsleiter := _Bereichsleiter160;
_Sachbearbeiter = Sachbearbeiter_200;_Bereichsleiter := _Bereichsleiter200;
_Sachbearbeiter = Sachbearbeiter_300;_Bereichsleiter := _Bereichsleiter300;
_Sachbearbeiter = Sachbearbeiter_400;_Bereichsleiter := _Bereichsleiter400;
_Sachbearbeiter = Sachbearbeiter_900;_Bereichsleiter := _Bereichsleiter900;"");
REM { Mail an Sachbearbeiter schicken };
@MailSend(_Sachbearbeiter ; "" ; "" ; "Terminüberwachung MIB-Vorschlag" ;"Sehr geehrte Damen und Herren,"
+@NewLine+@NewLine
+"Sie hatten bis heute Zeit ein MIB-Gutachten zu erstellen. Bitte erledigen Sie Ihre Aufgabe noch heute:"
+@NewLine+@NewLine
+"Name des Vorschlags: "+Thema
+@NewLine+@NewLine
+"Benachrichtigte Personen: "
+@NewLine
+"MIB-Beauftragter: " + @Name([CN];_MIB_Beauf)
+@NewLine
+"Sachbearbeiter: " + @Name([CN];_Sachbearbeiter)
+@NewLine
+"Bereichsleiter: " + @Name([CN];_Bereichsleiter)
+@NewLine
+@NewLine
; "";[IncludeDoclink]);
REM { Mail an Bereichsleiter schicken };
@If(_Bereichsleiter != _Sachbearbeiter;
@Do(
@MailSend(_Bereichsleiter ; "" ; "" ; "Terminüberwachung MIB-Vorschlag" ;"Sehr geehrte Damen und Herren,"
+@NewLine+@NewLine
+"Ihr Mitarbeiter hatte bis heute Zeit ein MIB-Gutachten zu erstellen. Bitte sorgen Sie dafür das der Mitarbeiter das noch heute erledigt:"
+@NewLine+@NewLine
+"Name des Vorschlags: "+Thema
+@NewLine+@NewLine
+"Benachrichtigte Personen: "
+@NewLine
+"MIB-Beauftragter: " + @Name([CN];_MIB_Beauf)
+@NewLine
+"Sachbearbeiter: " +@Name([CN];_Sachbearbeiter)
+@NewLine
+"Bereichsleiter: " +@Name([CN];_Bereichsleiter)
+@NewLine
+@NewLine
; "";[IncludeDoclink])
);"");
REM { Mail an MIB-Beauftragten schicken };
@MailSend(_MIB_Beauf ; "" ; "" ; "Terminüberwachung MIB-Vorschlag" ;"Sehr geehrte Damen und Herren,"
+@NewLine+@NewLine
+"Ein MIB hätte bis heute bewertet werden müssen. Leider hat der Mitarbeiter es versäumt."
+@NewLine+@NewLine
+"Name des Vorschlags: "+Thema
+@NewLine+@NewLine
+"Benachrichtigte Personen: "
+@NewLine
+"MIB-Beauftragter: " + @Name([CN];_MIB_Beauf)
+@NewLine
+"Sachbearbeiter: "+@Name([CN];_Sachbearbeiter)
+@NewLine
+"Bereichsleiter: "+@Name([CN];_Bereichsleiter)
+@NewLine
+@NewLine
; "";[IncludeDoclink])
cash:
da ich so nicht weiter komme werde ich das jetzt versuchen anders zu lösen per View...
Dazu ein Script aber auch hier stoße ich zuerst auf typ mismatch...
und war wenn ich gucke ob das Feld DatumBearbeitet_900 und DatumErledigt_900
leer ist oder < today
Wie kann ich die Felder konvertieren?
oDocAuftrag.DatumBearbeitet_900 < today() and oDocAuftrag.DatumErledigt_900 = ""
Gruß
Thomas
koehlerbv:
Thomas, Deine Probleme werden immer weniger nachvollziehbarer. Wir haben nur eine begrenzte Zewit und begrenzte Ressourcen, Deine Texte nachzuvollziehen, und an diesen musst Du dringend arbeiten.
Warum Du jetzt auf LS ausweichst, ergibt sich auch nicht. Du hättest zunächst das bestehende Problem mal näher angehen sollen.
Aber das ist natürlich Deine Entscheidung, es besteht nur die Gefahr, dass hier keiner mehr Lust hat, zu antworten.
Trotzdem zu deiner Frage:
--- Zitat ---oDocAuftrag.DatumBearbeitet_900 < today() and oDocAuftrag.DatumErledigt_900 = ""
--- Ende Zitat ---
führt zu einem type mismatch.
Ich erkenne daraus, dass Du bisher noch nicht mit LotusScript und dem Notes Klassenmodell gearbeitet hast. Das hättest Du aber auch selber ansagen können!
Beim direkten Zugriff auf Notes-Items in einem NotesDocument greifst Du immer auf Arrays zurück, es müsste also heissen:
--- Code: ---oDocAuftrag.DatumBearbeitet_900 (0) < today() and oDocAuftrag.DatumErledigt_900 (0) = ""
--- Ende Code ---
Wie sieht es in Deinem Unternehmen mit Weiterbildungsmöglichkeiten aus? Kannst Du ggf. sogar ein "training on the job" beantragen mit Chancen auf Genehmigung? Sonst wirst Du wohl noch etliche Monatsgehälter ohne durchschlagendes Ergebnis durchheizen - und das kann für keine Seite erfreulich sein. Nicht mal und gerade nicht für AtNotes.
Bernhard
PS: Um das mal klarzustellen - hätte ich meine Zeit für die Antwort auf zwei Deiner heutigen Fragen nicht bei AtNotes verbracht, sondern im Designer und in der DB für das gegenwärtige Projekt, hätte ich ca. 80..100 EUR verdient. Ich habe es nicht gemacht, und werde die NICHT VERLORENE Zeit nachher nachholen - statt "Feierabend". Auf dieser Basis sei mir meine Kritik nicht verziehen, aber bitte besser verstanden.
cash:
Hallo Bernhard,
mit Script habe ich bisher - wie Du richtig vermutest - nicht viel gemacht. Das Budget für Fortbildung ist dieses Jahr für mich leider erschöpft (hatte 6 Tage Notes und 4 andere).
Im nächsten Jahr werde ich auf jeden Fall eine Script-Schulung besuchen.
Ich weiß es nervt wenn ein Anfänger wie ich solche Fragne stellt und selber die einfachsten Script-Grundlagen-Fehler begeht aber durch Eure geopferte Zeit habe ich am Freitag sehr sehr gelernt und bin mit der Datenbank wieder einen ganzen Schritt weiter.
Beim obigen Probelm will ich auf Script umsteigen weil der Formel-Agent ja leider nicht so will wie ich ???
Wie ich oben bereits geschrieben habe läuft der Formel-Agent wenn ich ihn manuell starte ohne Probleme. Nur Periodisch läuft er zwar an, wie man im Protokoll sehen kann, verschickt aber leider nicht die mails.
Der Script-Agent läuft und verschickt mails. Nur fehlen da noch einige Abfragen drin...
Gruß
Thomas
P. S. heute nerve ich auch nicht bin den ganzen Tag in einer Sitzung ;D
cash:
ich hole den alten Thread nochmal hoch denn ich weiß jetzt warum der ursprüngliche Formel-Agent nicht lief.
Also der Agent lief wenn ich ihn aus dem Menü heraus aufrufe. Somit war der Code schonmal richtig.
Als periodischer Agent lief das Teil nicht weil keine Standard-Ansicht in der Datenbank eingestellt war (blauer Pfeil vor der Ansicht).
Nach dem ich eine eingestellt hatte lief der Agent sofort.
Vielleicht nutzt das dem ein oder anderen ja auch....
Gruß
Thomas
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln