Autor Thema: Wochenende und Feiertage (Bereitschaftsdienst)  (Gelesen 5287 mal)

Offline Kai aus W

  • Frischling
  • *
  • Beiträge: 9
Wochenende und Feiertage (Bereitschaftsdienst)
« am: 20.02.07 - 09:42:09 »
Hallo zusammen,

ich hoffe Ihr könnt mir mir bei einer Problemstellung helfen.

Ich habe eine Liste von 36 Personen die in einer festgelegen Reihenfolge am Wochenende eine Bereitschaftdienst übernehmen. Dieser Bereitschaftsdienst fällt auch an, wenn ein Feiertag ist.

Diese Liste wird immer für ein Haljahr erstellt. Die Personen die keinen Dienst haben (also am Ende der Liste stehen) stehen auf Reserve. Diese springen dann ein, wenn einer z.B. durch Krankheit ausfällt. Kommen neue Personen zur Liste werden Sie hinten angefügt.

Natürlich haben die Personen auch die Möglichkeit jederzeit untereinander den Dienst zu tauschen, was aber nicht die Reihenfolge für das nächste halbjahr verändert. Das nächste Halbjahr fängt dann mit den Personen von der Reserve an und wird dann wieder von vorne aufgefüllt.

Ich bin mir im Moment noch nicht sicher wie ich die Sache angehen soll. Die einfachste Methode wäre natürlich das manuelle Eintragen der Personen in einem Kalender.

Da meine Programiererfahrungen nicht so dolle sind wäre das natürlich auch der Weg mit dem geringstem Hinderniss. Aber eigentlich möchte ich durch dieses Problem weiter in die Programmierkunst eintauchen :-)

Ich bin für jeden (ernstgemeinten) Tip zu haben.

Gruß

Kai

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Wochenende und Feiertage (Bereitschaftsdienst)
« Antwort #1 am: 20.02.07 - 09:53:27 »
Hm.

Man könnte sich ein Konfigurationsdokument ( ich sage jetzt extra nicht Jehova ) machen, dort in ein Mehrfachfeld die Leute eintragen.
Die Aktion des Einplanens sorgt als erstes dafür daß das Feld neu geordnet wird, also der letzte nach vorne.
Eintragen neuer Personen manuell? Dann einfach ans Ende schreiben oder per Dialog? Dann das selbe nur halt automatisch.

So als Ansatz.
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 Hive

  • Senior Mitglied
  • ****
  • Beiträge: 345
  • Geschlecht: Männlich
  • Whooaaaa!!
    • g-notes.de
Re: Wochenende und Feiertage (Bereitschaftsdienst)
« Antwort #2 am: 20.02.07 - 10:09:29 »
Ich denke nicht, dass man da um etwas Programmieren herum kommt. Auf der anderen Seite hört es sich auch nicht so schwer an (was nicht heißt das es am ende auch nicht schwer war). Aber zumindest scheint es ein ganz guter Einstieg zu sein sich mit dem Programmieren ein wenig mehr zu Beschäftigen.

KAI
I love deadlines, i love the whooshing sound they make when they pass by

Offline Kai aus W

  • Frischling
  • *
  • Beiträge: 9
Re: Wochenende und Feiertage (Bereitschaftsdienst)
« Antwort #3 am: 20.02.07 - 10:21:17 »
Also bisher bin ich wie folgt vorgegangen.

- Für Jede Person wird en Dokument angelegt. Darin wird die names.nsf nach den Kontaktdaten abgefragt
- Jede Person bekommt in diesem Dokument seine lfd. Nummer. So steht schonmal die Reihenfolge.
- Habe dann noch ein Ansicht mit der Sortierung nach der lfd. Nummer.
- In einer Spalte berechne ich das Datum des Wochenendes mit folgender Formel:

Datum       := [01.01.2007];
Y                :=  lfd_Nr  * 7 ;

Wochenstart     := @Adjust(Datum; 0;0; -@Weekday(Datum)+@If(@Weekday(Datum)=1;-5;2); 0;0;0);
Samstag := @Adjust(Wochenstart;0;0;-2;0;0;0) ;
Dienst := @Adjust(Samstag;0;0;Y;0;0;0) ;

@Text(Dienst)


Das war bisher der Ansatz.... leider kann ich so aber keine Feiertage darstellen.

Ich wollte jetzt noch eine weiteres Nr-Feld einbauen. Darin soll dann die lfd-Nr. stehen, die ich aber bei einem Tausch der Bereitschaftdienste verändern kann. 

Gruß

Kai

Offline Hive

  • Senior Mitglied
  • ****
  • Beiträge: 345
  • Geschlecht: Männlich
  • Whooaaaa!!
    • g-notes.de
Re: Wochenende und Feiertage (Bereitschaftsdienst)
« Antwort #4 am: 20.02.07 - 10:33:23 »
Den Ansatz find ich gar nicht mal übel..  ich würde aber neben der laufenden nummer noch die reale nummer packen, d.h. wenn zwei MA tauschen oder einer krank wird verschieben sich diese Nummern aber die laufenden Nummern bleiben gleich für's nächste halbe Jahr.

Die Feiertage bekommst du auch aus der names.nsf unter holiday .. muss mal die genaue form raussuchen.. (darfst du nur das pflegen der feirtage nicht vergessen)

KAI
I love deadlines, i love the whooshing sound they make when they pass by

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re: Wochenende und Feiertage (Bereitschaftsdienst)
« Antwort #5 am: 20.02.07 - 10:37:51 »
@BusinessDays ist dein Freund ...

@BusinessDays( startDates ; endDates ; daysToExclude ; datesToExclude )

siehe Designer Hilfe
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Hive

  • Senior Mitglied
  • ****
  • Beiträge: 345
  • Geschlecht: Männlich
  • Whooaaaa!!
    • g-notes.de
Re: Wochenende und Feiertage (Bereitschaftsdienst)
« Antwort #6 am: 20.02.07 - 10:38:39 »
Ich bevorzuge immer LotusScript. und da würde ich eine Array definieren mit allen support-pflichtigen Tagen (wochenenden und feiertage) die wochende berechnet so ungefähr wie du das gemacht hast und die feiertage aus der Names.nsf dann die MAs der ihrer nummer nach die Tage zusortieren .. und wenn eine Änderung bei der MA Nummer kommt neu berechnen oder so ..
I love deadlines, i love the whooshing sound they make when they pass by

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Wochenende und Feiertage (Bereitschaftsdienst)
« Antwort #7 am: 20.02.07 - 10:45:03 »
Such im Forum mal nach Feiertagen, da steht auch noch einiges zu lesen
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 Kai aus W

  • Frischling
  • *
  • Beiträge: 9
Re: Wochenende und Feiertage (Bereitschaftsdienst)
« Antwort #8 am: 20.02.07 - 11:09:35 »
Ich bin mal wieder begeister wie schnell man Hilfe in diesem Forum bekommt!

Eknori: Auf @BusinessDays bin ich auch schon gestossen... aber anhand der Bsp. dazu bin ich auf keine passenden Umsetzung gekommen. Vielleicht habe ich auch ein Scheunentor vor dem Kopf  :-:

Hive: Wo stehen in der names.nsf die Feiertage? Aber ich glaube auch nicht, daß die was für mich ist. Wenn da Feiertage drinn stehen, dann sicher nicht nur aus NRW sondern auch aus den anderen Bundesländer.... daß würde die Sache wieder komplizieren (oder sind das die von mir selbst importierten?). Über einen array werde ich mal nachdenken. Meine Script Fähigkeiten sind sehr beschränkt. Auch das selbst erstellen eines scripts. Ich bin der typ der sich ein fertiges script schnappt und es für sich anpasst. Nicht schön aber ich arbeite drann :-) Deshalb LIEBE ich auch dieses Forum!

DerAndre: Das ist das Erste was ich immer mache, nur habe ich bisher nicht wirklich was passendes gefunden was auch beides umfasste... Feiertage und Wochenende

Gruß

Kai

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Wochenende und Feiertage (Bereitschaftsdienst)
« Antwort #9 am: 20.02.07 - 11:36:53 »
Die Feiertage mußt Du dir ja erstmal importieren, deshalb der Hinweis.  :)
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 Kai aus W

  • Frischling
  • *
  • Beiträge: 9
Re: Wochenende und Feiertage (Bereitschaftsdienst)
« Antwort #10 am: 20.02.07 - 12:59:55 »
Ich möchte die Feiertage eigentlich nicht importieren sonden lieber berechnen.

Das versuche ich mit der Library aus folgenden Topic

http://atnotes.de/index.php?topic=4453.msg22715#msg22715

Zum Glück habe ich keinen Auftrag für diese Datenbank, so das ich jede Menge Zeit habe mich da einzuarbeiten.

Kai

botschi

  • Gast
Re: Wochenende und Feiertage (Bereitschaftsdienst)
« Antwort #11 am: 20.02.07 - 13:04:56 »
Damit kannst Du die Feiertag berechnen.
Musst Du nur umschreiben:

Function Ostersonntag(Jahr As Long)As String
%REM
Ostersonntag ist am ersten Sonntag nach dem ersten Vollmond im Frühling.
Die Gauss'sche Berechnung ist gültig für die Jahre 1583 - 2299
... Die Funktion benötigt das Jahr (vierstellig) als Übergabewert.
... Die Funktion gibt als Rückgabewert Ostersonntag als Datum zurück.
... Für den Fall eines nicht berechenbaren Jahres ist der Rückgabestring leer
nach dem Aufruf der Funktion muß dieser Fall extra abgefangen werden...
... If Ostersonntag(Jahr) = "" Then Exit Sub ... ansonsten Type mismatch
ata - Ohne Declarations - implizite Declaration
%END REM
Dim J As Integer
Dim m As Integer
Dim n As Integer
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim d As Integer
Dim e As Integer
Dim z As Integer
Dim Mnt As String
Dim Tg As String
Dim GO As String

J = Jahr
If J < 100 Then J = 1900 + J
Select Case J
Case Is < 1583
Msgbox Cstr(J) + " kann nicht berechnet werden", 0 , "Berechnung Ostersonntag"
Exit Function
Case Is < 1700
m = 22
n = 2
Case Is < 1800
m = 23
n = 3
Case Is < 1900
m = 23
n = 4
Case Is < 2100
m = 24
n = 5
Case Is < 2200
m = 24
n = 6
Case Is < 2300
m = 25
n = 0
Case Else
Msgbox Cstr(J) + " kann nicht berechnet werden", 0 , "Berechnung Ostersonntag"
Exit Function
End Select

a = J Mod 19
b = J Mod 4
c = J Mod 7
d = (19 * a + m) Mod 30
e = (2 * b + 4 * c + 6 * d + n) Mod 7
z = 22 + d + e
Mnt = "03"

If z > 31 Then z = d + e - 9: Mnt = "04"
Select Case Mnt
Case "04"
If z = 26 Then z = 19
If z = 25 Then
If D = 28 Then
If e = 6 Then
If a > 10 Then z = 18
End If
End If
End If
End Select

Tg = Ltrim$(Cstr(z))
If Len(Tg) = 1 Then Tg = "0" + Tg

GO = Tg + "." + Mnt + "." + Ltrim$(Cstr(J))
Ostersonntag=GO
End Function

Function Feiertag(CheckDate As String) As String
' # Ermittelt, ob das Datum CheckDate ein Feiertag ist...
' # Die Nicht-Feiertage können auskommentiert werden
' # => Rückgabe = "Feiertagsname" für Feiertag, Leerstring für Nicht-Feiertag
Dim FTag(21) As String
Dim FName(21) As String
Dim Jahr As String
Dim f As Integer
Dim cd As Integer
Dim OsterDatum As String

f=0
Jahr = Cstr(Year(CheckDate))
Feiertag = ""
' Die festen Feiertage
FTag(1)= "01.01." + Jahr ' Neujahr
FName(1) = "Neujahr"
FTag(2)= "06.01." + Jahr ' Heilige Drei Könige - BaWü, Bay
FName(2) = "Heilige Drei Könige"
FTag(3)= "01.01." + Cstr(Year(CheckDate) ) ' Neujahr
FName(3) = "Neujahr"
FTag(4)= "01.05." + Cstr(Year(CheckDate) ) ' Tag der Arbeit
FName(4) = "Tag der Arbeit"
FTag(5)= "15.08." + Cstr(Year(CheckDate) ) ' Mariä Himmelfahrt - Saar, teilweise in Bay und Thür.
FName(5) = "Mariä Himmelfahrt"
FTag(6)= "03.10." + Cstr(Year(CheckDate) ) ' Tag der deutschen Einheit
FName(6) = "Tag der deutschen Einheit"
FTag(7)= "31.10." + Cstr(Year(CheckDate) ) ' Reformationstag - Brand., MeVo. , Sa, SaAn. , teilweise in Thür.
FName(7) = "Reformationstag"
FTag(8)= "01.11." + Cstr(Year(CheckDate) ) ' Allerheiligen - BAWü. , Bay, NRW , RhPf. , Saar. und teilweise in Thür.
FName(8) = "Allerheiligen"
FTag(9)= "24.12." + Cstr(Year(CheckDate) ) ' Heiligabend - kein offizieller Feiertag
FName(9) = "Heiliger Abend"
FTag(10)= "25.12." + Cstr(Year(CheckDate) ) ' 1. Weihnachtsfeiertag
FName(10) = "1. Weihnachtsfeiertag"
FTag(11)= "26.12." + Cstr(Year(CheckDate) ) ' 2. Weihnachtsfeiertag
FName(11) = "2. Weihnachtsfeiertag"
FTag(12)= "31.12." + Cstr(Year(CheckDate) ) ' Sylvester - kein offizieller Feiertag
FName(12) = "Sylvester"
' Die beweglichen Feiertage
OsterDatum = Ostersonntag(Cint(Jahr))
' Rosenmontag
FTag(13)= Str(Datevalue(OsterDatum)-48) ' kein offizieller Feiertag
FName(13) = "Rosenmontag"
' Faschingsdienstag
FTag(14)= Str(Datevalue(OsterDatum)-47) ' kein offizieller Feiertag
FName(14) = "Faschingsdienstag"
' Karfreitag
FTag(15)= Str(Datevalue(OsterDatum)-2)
FName(15) = "Karfreitag"
' Ostersonntag
FTag(16)= Str(Datevalue(OsterDatum)-0)
FName(16) = "Ostersonntag"
' Ostermontag
FTag(17)= Str(Datevalue(OsterDatum)+1)
FName(17) = "Ostermontag"
' Himmelfahrt
FTag(18)= Str(Datevalue(OsterDatum)+39)
FName(18) = "Christi Himmelfahrt"
' Pfingstsonntag
FTag(19)= Str(Datevalue(OsterDatum)+49)
FName(19) = "Pfingstsonntag"
' Pfingstmontag
FTag(20)= Str(Datevalue(OsterDatum)+50)
FName(20) = "Pfingstmontag"
' Fronleichnam
FTag(21)= Str(Datevalue(OsterDatum)+60) ' - BaWü. , Bay, Hes, NRW. , RhPf. , Saar. und teilweise Thür.
FName(21) = "Fronleichnam"

'Msgbox FTag(14)
For cd = 1 To Ubound(FTag)
If CheckDate = FTag(cd) Then
' Feiertag="F" ' # als Flag verwendbar
Feiertag = FName(cd)
End If
Next

End Function

Matthias

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Wochenende und Feiertage (Bereitschaftsdienst)
« Antwort #12 am: 20.02.07 - 13:29:37 »
Eine Seite zum Thema Kalender und Feiertage

Ist eigentlich sehr interessant.
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 Kai aus W

  • Frischling
  • *
  • Beiträge: 9
Re: Wochenende und Feiertage (Bereitschaftsdienst)
« Antwort #13 am: 20.02.07 - 13:31:02 »
Vielen Dank Matthias....

das Script hatte ich bereits bei meinen vielen Streifzügen durch das Forum gefunden, fand aber die Library lösung schöner.

Dank des Forum ist auch nicht das Berechnen des Feiertags das Problem sondern die Beziehung zueinander.

Ich komme einfach (noch) nicht drauf, wie ich die Wochenenden und die Feiertage den Personen automatisch zuordne.

Alleine mit einer Ansicht scheine ich nicht weiter zu kommen, da ich nicht alles mit einer Formel berechnen kann.

Zum erstenmal in meinem Leben wünschte ich mir es gäbe keine Feiertage :-)

klaussal

  • Gast
Re: Wochenende und Feiertage (Bereitschaftsdienst)
« Antwort #14 am: 20.02.07 - 13:34:36 »
Mach doch eine Betriebsvereinbarung.... ;D

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz