Autor Thema: kalenderansicht  (Gelesen 5638 mal)

Offline my head

  • Aktives Mitglied
  • ***
  • Beiträge: 226
  • Geschlecht: Männlich
kalenderansicht
« am: 08.04.04 - 06:49:58 »
hallo.
mit folgendem code lasse ich dokumente in einer kalenderansicht anzeigen. hat jmd ne idee, wo ich im code sams- und sonntage rausfiltern könnte?? sprich keine einträge am wochenende... ist das mit @weekdays irgenwie möglich?? wenn ja, wo??

REM "abwStart -> beginn des zeitraumes, abwEnd -> Ende des Zeitraumes";
_tBegin := "00:00:01";
_tEnd := "00:00:01";
_sDate:=@TextToTime(@Text(abwStart) + " " + @Text(_tBegin));
_eDate := @If(@Trim(@Text(abwEnd)) = "";@TextToTime(@Text(@Now)); @TextToTime(@Text(abwEnd) + " " + @Text(_tEnd)));
_List := @Explode(@TextToTime(@Text(_sDate) + "-" + @Text(_eDate)));
_tmp1:=@Implode(_List;";");
_tmp2:=@ReplaceSubstring(@Text(_tmp1);";";" 00:00:01;")+" 00:00:01";
_tmp3:=@ReplaceSubstring(@Text(_tmp2);@Text(abwStart);@Text(abwStart) + " " + @Text(_tBegin));
_tmp4:=@Explode(_tmp3;";");
@TextToTime(@Text(_tmp4))

danke schonmal...

klaussal

  • Gast
Re:kalenderansicht
« Antwort #1 am: 08.04.04 - 07:31:02 »
... mit @weekday kannst du herausfinden, ob's wochenende ist...

Offline my head

  • Aktives Mitglied
  • ***
  • Beiträge: 226
  • Geschlecht: Männlich
Re:kalenderansicht
« Antwort #2 am: 08.04.04 - 09:46:34 »
ist mir schon klar...

aber ich steh im moment so auf der leitung, dass ich nicht weiß, wo im code ich das einbinden kann bzw. ob's überhaupt funktioniert...

klaussal

  • Gast
Re:kalenderansicht
« Antwort #3 am: 08.04.04 - 09:53:20 »
... ich würds ja mal in der "select"-anweisung probieren.

Offline my head

  • Aktives Mitglied
  • ***
  • Beiträge: 226
  • Geschlecht: Männlich
Re:kalenderansicht
« Antwort #4 am: 08.04.04 - 10:35:31 »
aber select ist doch zu früh... der code oben ist die formel der spalte und da drösel ich erst aus zeiträumen die einzelnen tage heraus... also müsste ich das ja in diesem teil machen...

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:kalenderansicht
« Antwort #5 am: 08.04.04 - 10:53:26 »
Das ist schon wahr - es müsste in der Spaltenformel passieren (by the way - mir erscheint die etwas unnötig aufgebläht).
Aber: In der Ansicht ist nur Formelsprache erlaubt. Die kennt aber keine Schleifen und Prozeduren - und die bräuchtest Du, um aus einem unbekannten Zeitraum (sprich: Einer Liste mit n Elementen) alle Elemente, die auf einen Wochenendtag fallen, herauszufiltern.

Du kannst das nur lösen, wenn Du bereits in Deinen Dokumenten diese Liste bildest (mit LS), ähnlich, wie dies ja auch in Kalenderdokumenten  passiert.

Frage nebenbei: Irgendwie geht es ja wohl um Abwesentheitszeiträume. Da da Wochenende ausgeblendet werden, ist ja okay - aber was ist mit Feiertagen ?

HTH,
Bernhard

Offline my head

  • Aktives Mitglied
  • ***
  • Beiträge: 226
  • Geschlecht: Männlich
Re:kalenderansicht
« Antwort #6 am: 08.04.04 - 11:25:10 »
die formel ist unnötig aufgebläht... hab ich inzwischen auch bemerkt...

das mit den feiertagen ist natürlich eine ganz ungute sache... da hast du recht...

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:kalenderansicht
« Antwort #7 am: 08.04.04 - 13:03:09 »
BUMM ! Da war er, den Du überhört hast ;-)

In den Dokumenten stehen keine einzelnen Tage, sondern ein Start- und ein Enddatum. Und damit hat sich das SELECT erledigt - im range könnte ein Wochenende sein, muss aber nicht oder vielleicht auch zwei oder drei oder wer weiss ...

Und mit sowas kommt keine Ansicht mehr klar, sowas muss schon auf Dokumentebene erstellt werden.

Bernhard

klaussal

  • Gast
Re:kalenderansicht
« Antwort #8 am: 08.04.04 - 13:22:07 »
yep,
hab's gehört, war aber etwas schneller. ist halt kurz vor ostern und ich bin urlaubsreif  :P :P :P

Glombi

  • Gast
Re:kalenderansicht
« Antwort #9 am: 08.04.04 - 13:59:02 »
Hier eine Formel. die alle Samstage und Sonntage aus dem Range löscht. Diese kann in der Spalte verwendet werden:

REM "abwStart -> beginn des zeitraumes, abwEnd -> Ende des Zeitraumes";
_tBegin := "00:00:01";
_tEnd := "00:00:01";
_sDate:=@TextToTime(@Text(abwStart) + " " + @Text(_tBegin));
_eDate := @If(@Trim(@Text(abwEnd)) = "";@TextToTime(@Text(@Now)); @TextToTime(@Text(abwEnd) + " " + @Text(_tEnd)));
_List := @Explode(@TextToTime(@Text(_sDate) + "-" + @Text(_eDate)));
_tmp1:=@Implode(_List;";");
_tmp2:=@ReplaceSubstring(@Text(_tmp1);";";" 00:00:01;")+" 00:00:01";
_tmp3:=@ReplaceSubstring(@Text(_tmp2);@Text(abwStart);@Text(abwStart) + " " + @Text(_tBegin));
_tmp4:=@Explode(_tmp3;";");
_tmp5 := @TextToTime(@Text(_tmp4));
_tmp6 := @Weekday(_tmp5);
_tmp7 := (@Text(_tmp6) + "#") + @Text(_tmp5;"D0S0");
_Liste := @Right(_tmp7;"#");
_Liste_Sa := @Trim(@Right(_tmp7;"7#"));
_Liste_So := @Trim(@Right(_tmp7;"1#"));
_FilterListeSa := @Trim(@Replace(_Liste;_Liste_Sa;""));
_FilterListeSo := @Trim(@Replace(_FilterListeSa;_Liste_So;""));
@TextToTime(_FilterListeSo)


Um nur Dokumente zu selektieren, in denen Wochentage vorkommen, so:
REM "abwStart -> beginn des zeitraumes, abwEnd -> Ende des Zeitraumes";
_tBegin := "00:00:01";
_tEnd := "00:00:01";
_sDate:=@TextToTime(@Text(abwStart) + " " + @Text(_tBegin));
_eDate := @If(@Trim(@Text(abwEnd)) = "";@TextToTime(@Text(@Now)); @TextToTime(@Text(abwEnd) + " " + @Text(_tEnd)));
_List := @Explode(@TextToTime(@Text(_sDate) + "-" + @Text(_eDate)));
_tmp1:=@Implode(_List;";");
_tmp2:=@ReplaceSubstring(@Text(_tmp1);";";" 00:00:01;")+" 00:00:01";
_tmp3:=@ReplaceSubstring(@Text(_tmp2);@Text(abwStart);@Text(abwStart) + " " + @Text(_tBegin));
_tmp4:=@Explode(_tmp3;";");
_tmp5 := @TextToTime(@Text(_tmp4));
_tmp6 := @Weekday(_tmp5);
_tmp7 := (@Text(_tmp6) + "#") + @Text(_tmp5;"D0S0");
_Liste := @Right(_tmp7;"#");
_Liste_Sa := @Trim(@Right(_tmp7;"7#"));
_Liste_So := @Trim(@Right(_tmp7;"1#"));
_FilterListeSa := @Trim(@Replace(_Liste;_Liste_Sa;""));
_FilterListeSo := @Trim(@Replace(_FilterListeSa;_Liste_So;""));
SELECT _FilterListeSo != ""

Andreas
« Letzte Änderung: 08.04.04 - 14:03:04 von Glombi »

klaussal

  • Gast
Re:kalenderansicht
« Antwort #10 am: 08.04.04 - 15:15:29 »
... hut ab.... :D

Glombi

  • Gast
Re:kalenderansicht
« Antwort #11 am: 08.04.04 - 15:41:40 »
Das sieht schlimmer aus als es ist. Ich habe einfach den bestehenden Code weiterentwickelt. Das ganze wäre sicher auch noch zu optimieren, aber es kam mir in erster Linie auf das Prinzip an.
Es gibt zwar in der Formelsprache keine Schleifen (erst ab R6), aber man kann sich oft behelfen, in dem man herumtrickst. Wenn man bestimmte Elemente aus einer Liste löschen will, nimmt man
@Trim(@Replace(Liste;ZuLoeschendeListe;""))

Hier hat uns geholfen, dass @Weekday auch auf eine Datumsliste angewendet werden kann. Das @Right kann man auch auf eine Liste loslassen. Wichtig ist dann halt, das @Right den Trenner findet - hier "#".

Andreas

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:kalenderansicht
« Antwort #12 am: 08.04.04 - 23:18:30 »
Jo, sowas habe ich auch in der Pfanne zu liegen. Aber so richtig nützt es eben nix, weil es neben den Wochenenden auch noch Feiertage gibt. Und wenn man die nicht berücksichtigt, dann ist ALLES für die Katz.
Andreas' Formel sollte man sich aber unbedingt aufheben für all die (genügend) Fälle, in denen es nur auf die Wochenenden ankommt !

Bernhard

PS: Unterschätzt die Feiertage nicht ... Ostern etc. kann man berechnen, aber ob "Holy King Kong" (Heilige Drei Könige) nun im Bundesland des aktuellen Anwenders gilt usw. - das ist wirklich ein weites Feld. Wenn dann auch noch Österreicher, Schweizer (die haben ganz "gemeine" Feiertagskalender !), Belgier, Australier etc. dazukommen ... @functions kann man da von vornherein vergessen.

Was ich damit sagen will: Ostern ist vom 09. bis 12.04.2004. Alles freie Tage. Wenn man jetzt nur das Wochenende herausrechnet, bleiben nur der 10. und der 11.04.2004 übrig ...
Ah ja - und der 15.08.2004 (Mariä Himmelfahrt) ist ein Feiertag. Gilt aber nur (in Deutschland) in Bayern und Saarland. Muss man ja erstmal berücksichtigen. Dass es dieses Jahr aber auf einen Sonntag fällt - einerseits Dumm-Ding für die Bayern und Saarländer (und Österreicher), andererseits muss die Bedingung "Feiertag = Sonntag" auch erstmal herausgerechnet werden ;-)

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:kalenderansicht
« Antwort #13 am: 08.04.04 - 23:27:39 »
Sorry, Bernhard, Ostern ist nicht wirklich berechenbar. Das geht in einzelnen kurzen Abschnitten, aber nicht, wenns dann historische Dimensionen annimmt. Fast alles andere ist tatsächlich berechenbar, abgesehen von den gesetzlichen Bestimmungen. Hier hat Murphy zugeschlagen: Du hast wirklich die Ausnahme, die die Regel bestätigt erwischt ........ :(
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:kalenderansicht
« Antwort #14 am: 08.04.04 - 23:28:06 »
Wer das braucht:

Es gibt im www Scripts für Excel (also leicht in Lotus Script übernehmbar) für Fälle dieser Art.
Selbst bundeslandweite Unterschiede werden da betrachtet.
Habe jetzt leider den Link nicht parat, aber sollte über google zu finden sein.

Ich denke, wenn man sich EINMAL richtig damit beschäftigt, und alles berücksichtigt (inkl. dass man offen ist für Änderung seitens Bundesregierung, die z.B. Weihnachten auf den 9. März verlegt), dann hat man alles abgedeckt.

Ich bin mir sicher, viele Dienstleister haben jeweils schon solche Lösungen, frei verfügbar ist mir sowas noch nicht untergekommen (was aber auch nicht tragisch ist).

Matthias
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:kalenderansicht
« Antwort #15 am: 08.04.04 - 23:30:31 »
Ostern ist nicht wirklich berechenbar.

Jens, sicher?

Ich bin fest der Meinung, Ostern IST fest berechenbar. Es gibt eine Formel, und die ist fix.

Warum ist das nicht so?

Matthias
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:kalenderansicht
« Antwort #16 am: 08.04.04 - 23:36:44 »
Sicher, wir reden aber über Dimensionen, die über Jahrhunderte geht. Wie weit da Kalenderumdefinitionen mit reinspielen, weiss ich nicht auswendig, es ist auch schon lange her, dass ich das mal in einer Geschichtsvorlesung gehört habe. Ostern ist DAS Datum, das immer von Hand verifiziert werden muss. Pfingsten ist dann 50 antike Tage später (bei uns sind das 49 Tage) usw. Wenn Du Berechnungsformeln, die an der Frühlings-Tag-und-Nacht-Gleiche angehängt sind, findest, gilt das strengenommen nur für unseren Lebensabschnitt und ein wenig drüber hinaus, die Sache ist komplizierter, aber ich hab im Moment leider auch keinen Zugriff auf eine präzise Definition (spielt ja hier nicht wirklich eine Rolle, war nur der Vollständigkeit halber erwähnt, für die Historiker ist das eminent wichtig, weil zum Bleistift Datumsangaben in Mittelalter häufig als "zwei Wochen vor Ostern", "an Mariä Himmelfahr" und ähnlich angegeben werden, deshalb ist das überhaupt ein so riesiges Problem, meistens geben die Autoren ja dann auch nicht an, ob das "alter" oder "neuer" Kalender ist und so, das Thema ist extrem schwierig)
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:kalenderansicht
« Antwort #17 am: 08.04.04 - 23:41:55 »
@Jens:
Mit "Notes in the wild" brauchen wir keine historischen Dimensionen abzudecken ... Was vor Gregor war - Schwamm drüber !
Wegen OSterfest und ähnlich gearteten Festivitäten: Das funktioniert mit irgendwelchen Formeln sofort nicht mehr, wenn zum Bleistift rumänische oder russische User involviert sind. Hier braucht es eine ganz andere Lösung.

@TMC: Diese wirklich weite Liste von Angeboten in allen möglichen Programmiersprachen kannst Du simpelst vergessen. Du musst ja zunächst wissen, welche Feiertagsregelung für den gerade aktiven User besteht. Und das hard-coden ... Herrjeh ...
Das geht viel simpler. Aber das ist nun mal wirklich ein Betriebsgeheimnis ;-)

Bernhard

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:kalenderansicht
« Antwort #18 am: 08.04.04 - 23:43:25 »
Danke für die Infos.

Ich denke man kann sich also im Notes-Umfeld blind auf die Oster-Formel verlassen (weil man ja i.d.R. Business betrachtet und z.B. die Zeit vor Christi Geburt i.d.R. nicht relevant ist für Meeting-Termine :-).

Ist also mehr für Historiker und dergleichen relevant.

Trotzdem danke für die Hinweise.

Matthias
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:kalenderansicht
« Antwort #19 am: 08.04.04 - 23:46:08 »
Bernhard, auch dafür gibt es Excel-Lösungen im www (man glaubt es kaum). Es existieren PLZ-Lösungen z.B.

Egal, ich denke das führt jetzt auch zu weit und ist zu individuell.

Matthias
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz