Autor Thema: Halbe und viertel Tage berechnen  (Gelesen 4824 mal)

Offline aba

  • Aktives Mitglied
  • ***
  • Beiträge: 228
  • i want to be a bigger tigger
Halbe und viertel Tage berechnen
« am: 06.01.03 - 09:36:43 »
Hallo und ein erfolgreiches neues Notes Jahr wünsche ich!!

Ich habe vor dem Jahreswechsel etwas über Berechnung von Urlaubstage gelernt. Bei uns ist es aber notwendig auch halbe oder viertel Tage bereits einreichen zu können.

Ich habe zu diesem Zweck ein verstecktes Feld gemacht wo erst die Brutto Arbeitstage(feld A) berechnet werden. Zu dem gibt es noch ein weiteres Feld(feld B) wo eine "2" oder "4" eingetragen wird. Nun mein Problem. Ich möchte mit einer If Formel in einem dritten Feld (feld c)  folgendes berechnen.Wenn feld B = "2", dann 0,5; wenn feld B = "4" dann 0,75, diese hier ermittelten Werte sollen dann von feld A abgezogen werden und hier in feld C dargestellt. Aber mit If Then Else komme ich im Designer nicht so richtig vorwärts. Kann mir da jemand helfen????
Gruss Arnd

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Halbe und viertel Tage berechnen
« Antwort #1 am: 06.01.03 - 10:57:03 »
if then benötigst Du nicht mal, sondern schlicht

Formel in FeldC:

ARBEITSTAGE_NETTO:=
@if(
FeldB="";FeldA;
FeldB="0,5";FeldA*0,5;
FeldB="0,75";Feld*0,25;
etc...
);
...
FieldC:=ARBEITSTAGE_NETTO....
...
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline aba

  • Aktives Mitglied
  • ***
  • Beiträge: 228
  • i want to be a bigger tigger
Re:Halbe und viertel Tage berechnen
« Antwort #2 am: 06.01.03 - 11:15:11 »
Hallo Rob Green,

danke für Deine Hilfe.

Ich habe das mal so gemacht:

@if (Teilung="";berur;
Teilung="0,5";berur-0,5;
Teilung="0,75";berur-0,75; )

allerdings meckert er dann immer die letzte Klammer an. Argumente für @ Funktion erwartet, aber nicht vorhanden: ')'

Teilung ist Feld B und berur ist Feld A. Diese Feld C heißt Urlaubstage und ist vom Typ Zahl und berechnet!!! Was ist verkehrt????
Gruss Arnd

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Halbe und viertel Tage berechnen
« Antwort #3 am: 06.01.03 - 11:48:30 »
mach mal das letzte Semikolon weg...das ist falsch, da Notes denkt, daß "berur-0,75; )" eine weitere WENN Bedingung ist, der eine DANN ODER zu folgen hat.

so nicht mehr (korrekte Version in Deinem Sinne)
@if (Teilung="";berur;
Teilung="0,5";berur-0,5;
Teilung="0,75";berur-0,75);
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline aba

  • Aktives Mitglied
  • ***
  • Beiträge: 228
  • i want to be a bigger tigger
Re:Halbe und viertel Tage berechnen
« Antwort #4 am: 06.01.03 - 11:59:35 »
Tja ich hoffe ich nerve nicht aber nun kommt folgende Meldung

@If erfordert eine ungerade Anzahl von Argumenten: ')'

Hat das etwas mit den Feldtypen zu tun??
Gruss Arnd

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Halbe und viertel Tage berechnen
« Antwort #5 am: 06.01.03 - 12:08:56 »
an der Formel sehen ich keinen Fehler:
@if (Teilung="";berur;
Teilung="0,5";berur-0,5;
Teilung="0,75";berur-0,75);
Semikola korrekt, Klammern ok, tja...

Hau mal die ganze Formel rein...da ist doch bestimmt mehr im Feld C drin, oder?

Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Halbe und viertel Tage berechnen
« Antwort #6 am: 06.01.03 - 12:53:26 »
... die Fehlermeldung ist absolut ausreichend: ... @If erfordert eine ungerade Anzahl an Argumenten...

Wenn - dann
wenn - dann
wenn - dann
sonst

... maximal 99 eben

in der Formel oben fehlt das abschließende "sonst"...

ata
Grüßle Toni :)

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Halbe und viertel Tage berechnen
« Antwort #7 am: 06.01.03 - 12:56:07 »
*öhmmm...bingo...*

die letzte SONST fehlt...hab ich totalemente vergessen im eifer  ;D

@if (Teilung="";berur;
Teilung="0,5";berur-0,5;
Teilung="0,75";berur-0,75;
0);
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Halbe und viertel Tage berechnen
« Antwort #8 am: 06.01.03 - 12:59:21 »
... passiert mir im Eifer des Gefechtes auch schon mal - die Fehlermeldung kann man aber ernst nehmen...

ata  ;D ;D ;D
Grüßle Toni :)

Offline aba

  • Aktives Mitglied
  • ***
  • Beiträge: 228
  • i want to be a bigger tigger
Re:Halbe und viertel Tage berechnen
« Antwort #9 am: 06.01.03 - 13:48:53 »
Hallo,

na da hätte ich ja auch selber drauf kommen können. Aber nun kommt immer 0,0 raus. Das Feld berur ist auch ein berechnetes Feld. Dort werden die Brutto Arbeitstage errechnet und von dem Wert soll dann ja entweder 0,5 oder 0,75 abgezogen werden!!

Is ja eigentlich nicht so schwierig aber nun rechnet er immer 0,0 aus!!
Gruss Arnd

Offline LordDestiny

  • Frischling
  • *
  • Beiträge: 15
  • Geschlecht: Männlich
Re:Halbe und viertel Tage berechnen
« Antwort #10 am: 06.01.03 - 14:04:27 »
Hi aba,

der Fehler liegt vermutlich im Datentyp des Feldes Teilung. Die If-Formel funktioniert nur, wenn es ein Text-Item ist. Allerdings solltest Du sicherheitshalber die Formel wie folgt anpassen:

Bei Itemtype = Text:
@if (Teilung="0,5";berur-0,5;
Teilung="0,75";berur-0,75;
berur);

Bei Itemtype = Number:
@if (Teilung=0,5;berur-0,5;
Teilung=0,75;berur-0,75;
berur);

Gruss,
LD

Offline aba

  • Aktives Mitglied
  • ***
  • Beiträge: 228
  • i want to be a bigger tigger
Re:Halbe und viertel Tage berechnen
« Antwort #11 am: 06.01.03 - 14:11:59 »
Alles klar,

jetzt funktioniert es. Jetzt könnte mich noch jemand glücklich machen indem man mior verrät wie ich den 24.12. und den 31.12. als 0,5 Tage berechnet bekomme. eknori hat mal eine Feiertagsliste gepostet siehe
REM "Feiertagsliste";
holidayList := [01.01.2002]:[21.01.2002]:[18.02.2002]:[27.05.2002]:[04.07.2002]:[02.09.2002]:[14.10.2002]:[11.11.2002]:[28.11.2002]:[25.12.2002]:[26.12.2002]:[01.01.2003]:[20.01.2003]:[17.02.2003]:[26.05.2003]:[04.07.2003]:[01.09.2003]:[13.10.2003]:[11.11.2003]:[27.11.2003]:[25.12.2003]:[26.12.2003];

REM "Feiertagsliste nach Textliste wandeln"; usw.

hier jetzt noch 24.12. und 31.12. einbauen und diese mit 0,5 multiplizieren oder so. Hat da vielleicht noch jemand eine Idee?

Ansonsten bin jetzt schon super zufrieden und bis dies Jahr Weihnachten ist ja noch ein wenig!!!
Gruss Arnd

Offline LordDestiny

  • Frischling
  • *
  • Beiträge: 15
  • Geschlecht: Männlich
Re:Halbe und viertel Tage berechnen
« Antwort #12 am: 06.01.03 - 14:19:33 »
Hm...

Nutzt Du die Form für eine Jahres-Gesamtübersicht oder für jeden Tag einzeln? Wäre für die Berechnung der Feiertage wichtig *nachdenk*

Offline aba

  • Aktives Mitglied
  • ***
  • Beiträge: 228
  • i want to be a bigger tigger
Re:Halbe und viertel Tage berechnen
« Antwort #13 am: 06.01.03 - 14:27:24 »
Ja das versteh ich jetzt nicht aber hier mal die Formel für das Feld berur. Dort wird die Feirtagsliste berücksichtigt.

REM "Feiertagsliste";
holidayList := [01.01.2002]:[21.01.2002]:[18.02.2002]:[27.05.2002]:[04.07.2002]:[02.09.2002]:[14.10.2002]:[11.11.2002]:[28.11.2002]:[25.12.2002]:[26.12.2002]:[01.01.2003]:[20.01.2003]:[17.02.2003]:[26.05.2003]:[04.07.2003]:[01.09.2003]:[13.10.2003]:[11.11.2003]:[27.11.2003]:[25.12.2003]:[26.12.2003];

REM "Feiertagsliste nach Textliste wandeln";
hl:=@Text(holidayList);

REM "Datumsteil Start/Ende extrahieren und nach Textliste wandeln";
startDate := @Text(@Date(startDate));
endDate := @Text(@Date(endDate));

REM "Aus Start/Ende DateRange im Textformat montieren";
range := @TextToTime(startDate + "-" + endDate);

REM "Auflösen des Start/Ende-Range in Datumswerte";
r2:=@Explode(range);

REM "Datumswerte in Textliste wandeln";
r3:=@Text(r2);

REM "Feiertage in Textliste durch leere Elemente ersetzen, diese entfernen";
r4:=@Trim(@Replace(r3;hl;""));

REM "Textliste in Datumswerte wandeln";
r5:=@TextToTime(r4);

REM "Datumswerte in Wochentagsnummern wandeln, diese in Text wandeln";
r6:=@Text(@Weekday(r5));

REM "Wochentagsnummern Sa und So durch leere Elemente ersetzen, diese entfernen";
r7:=@Trim(@Replace(r6;"1":"7";""));

REM "Zahl der verbleibenden Tage bestimmen";
res:=@Elements(r7);

REM "Resultat ausgeben";
res

Und hier möchte ich die beiden genannten Daten noch mit 0,5 Tagen einpflegen.

Ich hoffe Deine Frage konnte ich beantworten ich bin leider blutiger Anfänger und kenn mich mit den Fachausdrücken nicht so aus!!
Gruss Arnd

Offline LordDestiny

  • Frischling
  • *
  • Beiträge: 15
  • Geschlecht: Männlich
Re:Halbe und viertel Tage berechnen
« Antwort #14 am: 06.01.03 - 14:48:51 »
erweitere den Sourcecode bitte wie folgt:

REM "Zahl der verbleibenden Tage bestimmen";
res:=@Elements(r7);

@Set("res";@If(@IsMember("24.12.2003";r4)=@True & Weekday(@TextToTime("24.12.2003"))!=1 & Weekday(@TextToTime("24.12.2003"))!=7;res-0,5;res));
@Set("res";@If(@IsMember("31.12.2003";r4)=@True & Weekday(@TextToTime("31.12.2003"))!=1 & Weekday(@TextToTime("31.12.2003"))!=7;res-0,5;res));


REM "Resultat ausgeben";
res

Die beiden Zeilen korrigieren den Inhalt der Variable res, sofern die beiden Tage in dem gewählten Zeitbereich liegen und kein Sonn- oder Samstag sind.
Sollte egtl. so funktionieren.

Gruss,
LD
« Letzte Änderung: 06.01.03 - 14:57:41 von LordDestiny »

Offline aba

  • Aktives Mitglied
  • ***
  • Beiträge: 228
  • i want to be a bigger tigger
Re:Halbe und viertel Tage berechnen
« Antwort #15 am: 07.01.03 - 08:17:32 »
Hallo Lord Destiny,

habe leider gestern keinen Zugriff mehr gehabt. Aber nun wieder und habe gerade Deine Lösung probiert aber dort scheint ein Fehler drin zu sein.

Ich habe mal ein jpg beigefügt.
Gruss Arnd

Offline LordDestiny

  • Frischling
  • *
  • Beiträge: 15
  • Geschlecht: Männlich
Re:Halbe und viertel Tage berechnen
« Antwort #16 am: 07.01.03 - 09:55:12 »
Ups ... sorry, kleiner Flüchtigkeitsfehler.

Hier der korrigierte Source:

@Set("res";@If(@IsMember("24.12.2003";r4)=@True & Weekday(@TextToTime("24.12.2003"))!=1 & @Weekday(@TextToTime("24.12.2003"))!=7;res-0,5;res));
@Set("res";@If(@IsMember("31.12.2003";r4)=@True & @Weekday(@TextToTime("31.12.2003"))!=1 & Weekday(@TextToTime("31.12.2003"))!=7;res-0,5;res));

Das @ hat bei Weekday gefehlt ... daher das Anmakeln der Klammer.

Offline aba

  • Aktives Mitglied
  • ***
  • Beiträge: 228
  • i want to be a bigger tigger
Re:Halbe und viertel Tage berechnen
« Antwort #17 am: 07.01.03 - 10:15:36 »
Hallo Lord Destiny,

alles klar jetzt fehlten zwar immer noch zwei @ Zeichen aber jetzt funktioniert es. Vielen vielen Dank. Weißt Du evtl. auch wie ich das hinbekomme, das ich in einer Datenbank die für alle User zugänglich ist. Die einzeln erstellten Dokumente nur von bestimmten Personen verändert werden darf (also z.B. Author) aber ruhig von allen gelesen.
Gruss Arnd

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz