Autor Thema: Stammdaten nach Gültigkeitsdatum auslesen  (Gelesen 2986 mal)

Offline Joe

  • Junior Mitglied
  • **
  • Beiträge: 95
  • Geschlecht: Männlich
  • Ich liebe dieses Forum
Stammdaten nach Gültigkeitsdatum auslesen
« am: 02.12.03 - 15:47:15 »
Hallo liebe Notes-Gemeinde!

Ich stehe mal wieder auf dem Schlauch (oder habe nur ein Brett vor'm Kopf). Im Zusammenhang mit einer Reisekostenabrechnung soll ich Stammdaten hinterlegen, die einen Tagessatz abhängig von der Stundenanzahl ergeben. Das ist ja noch nicht schlimm. Allerdings soll der Tagessatz variabel gehalten werden können, z.B. vom 01.01.03-31.12.03 -> 24 EUR, vom 01.01.04-31.12.04 -> 25 EUR. Das berechnete Betragsfeld in der Maske soll anhand des eingegebenen Datums und der Stundenzahl den in diesem Zeitraum gültigen Tagessatz auslesen. Ich möchte dies über ein Profildokument lösen, in dem die gültigen Tagessätze eingetragen werden, weiß bloß nicht wie! :-(

Vielleicht mit Mehrfachwerten im Feld des Profildokuments?!??? Wie lese ich den Wert entsprechend des Datums dann aus? Hat jemand eine Idee?????? Bin für jede Hilfe dankbar.
Joachim

1 App.-Server 8.0.2FP2
4 Mail-Server 8.0.2FP2
ca. 1500 Clients 8.0.2FP2

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Stammdaten nach Gültigkeitsdatum auslesen
« Antwort #1 am: 02.12.03 - 17:19:04 »
Steht Dir nur Formelsprache zur Verfügung, oder kannst Du das mit LS angehen ?
Eine flexible Lösung (was wissen wir schon, was sich evtl. per 01.04.2004 ändert ?) ist m.E. mit Formeln nicht machbar. Mit LS könnte man hingegen pro Periode ein Setup-Dokument erstellen. Dann wärst Du programmtechnisch diese Sorge ein für alle mal los.

Sagst Du mal an ?

Bernhard

Offline Joe

  • Junior Mitglied
  • **
  • Beiträge: 95
  • Geschlecht: Männlich
  • Ich liebe dieses Forum
Re:Stammdaten nach Gültigkeitsdatum auslesen
« Antwort #2 am: 02.12.03 - 17:28:14 »
Hallo Bernhard,

ich bin zwar mit der Formelsprache großgeworden, aber LS ist mir mittlerweile nicht mehr fremd. Bin zwar kein Papst in LS, aber bisher läuft es ganz gut. Der Ansatz klingt interessant! Welche Lösung siehst du?

Ich mach jetzt aber erst mal Feierabend, habe zum Glück noch andere Hobbies. Bis morgen! Joe
Joachim

1 App.-Server 8.0.2FP2
4 Mail-Server 8.0.2FP2
ca. 1500 Clients 8.0.2FP2

Offline Gandhi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 918
  • Geschlecht: Männlich
  • Domino for the masses
Re:Stammdaten nach Gültigkeitsdatum auslesen
« Antwort #3 am: 02.12.03 - 17:30:31 »
Wenn er an das Profildokument so rankommt, warum nicht mit Formula?
Kann er doch die Werte in verschiedene Felder oder in ein Array schreiben....
Wie viele Werte aber müssen darein und wo genau ist Dein Problem eigentlich?

Um die Werte aus einer Liste auszulesen folgende Denkansätze:

1. Datumliste mit Wertliste synchron halten: Dat1:Dat2:Dat3 ; Wert1:Wert2:Wert3
2. herausfinden welches Datum aktuell ist. Bei 2 Daten trivial (Dat1<@Today -> Dat2). Bei sehr vielmehr als 2 Daten unter Formula...unter R5.....knifflig!
3. Mittels @subset Anweisungen den richtigen Wert ausschneiden (Die Parameter hierzu erhältst Du aus den @if Anweisungen nach Datum)

So würde ich das (grob) angehen

Oder: Warum über ein Profil-Dokument?
Mach doch einfach normale Dokumente - mit neuer Maske in einer versteckten Ansicht. Sortiert nach Datum und so ausgewählt, dass nur Dokumente, deren Wert gültig ist, noch in der Ansicht sind. Das älteste gültige wäre dann ganz oben und Du kannst es superbequem per Lookup anziehen.
Eigentlich eleganter, als mit Profildokumenten - die sind ja auch nur für statische Informationen gedacht.
Der "Wenn ich" und der "Hätt' ich" das sind zwei arme Leut'
oder für den Süden:
Hatti Tatti Wari - san drei Larifari

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Stammdaten nach Gültigkeitsdatum auslesen
« Antwort #4 am: 02.12.03 - 19:05:06 »
Hallo, Joe,

das Problem bei der ganzen Sache ist - wenn ich näher darüber nachdenke - Aufwand und Nutzen.
Grosser Aufwand (nur mit LS machbar):
Setup-Dokumente mit folgenden Feldern:
"GültigVon", "GültigBis" und zwei korrespondieren Multi-Value-Feldern (die ordentlich auf korrekte Ausfüllung geprüft werden müssen !) "MaxStunden" und "Betrag".
Dann kannst Du bei der Berechnung der Werte in der RK-Abrechnung durch die Ansicht rödeln, das passende SetupDoc ermitteln (Reisetag >= GültigVon & Reisetag <= GültigBis), dann die entsprechenden Stunden ermitteln und den korrespondierenden Betrag ermitteln.
Voraussetzung hierfür ist: Du lässt nur pro Dok einen Reisetag zu. Ist es eine Periode, könnte die ja auch in einen Wechsel der Berechnungsart fallen. Dann wird es noch aufwändiger.
Wegen der Felder "Reisedauer" und "Betrag": Das könnte sich ja auch ändern, wenn einer in Berlin mal schlecht geschlafen hat ...

Einfacher und evtl. doch machbar (siehe oben: Aufwand und Nutzen):
Du gehst davon aus, das immer nur zwei Berechnungsverfahrens-Perioden denkbar sind und die Stundengrundlagen gleich bleiben.
Ein Setup-Dokument (kann dann auch ein ProfileDoc sein, aber siehe hierzu bitte Gandhis Beitrag, dem ich voll beistimme). Dort steht der Stichtag der Änderung des Berechnungsverfahrens. Dann prüfst Du auf "älter oder neuer ?" und ziehst dann die entsprechenden Werte in temporäre Variablen und machst darauf basierend Deine Berechnungen.

Wie gesagt: Aufwand und Nutzen musst Du abwägen. Die grosse offene Frage: Lässt Du Dienstreisen über eine Periode von Tagen zu oder muss für jeden Tag ein eigener Eintrag gemacht werden ? Letzteres macht es für Dich viel einfacher, ersteres: Fill Schpass ! Ich hatte das mal mit einer Patientenverwaltung und der Abrechnung des Zuzahlungsbetrages. Der Wechsel des Procederes fand ja in der Regel mitten im Kliniksaufenthalt statt ... Und damals (ja - ist schon 'ne Weile her ;-) gab es nur @functions ... Das war ein (Programmier-)Spass ...

Servus,
Bernhard

Offline Joe

  • Junior Mitglied
  • **
  • Beiträge: 95
  • Geschlecht: Männlich
  • Ich liebe dieses Forum
Re:Stammdaten nach Gültigkeitsdatum auslesen
« Antwort #5 am: 03.12.03 - 09:07:03 »
Hallo liebe Leute,

ausgeruht und mit neu gestylten (Rest)haaren habe ich den Tag begonnen. Ich danke herzlich für die konstruktiven Vorschläge. Ich glaube, ich werde mir das mit dem Profildokument sparen und Gandhis Vorschlag verfolgen mit neuer Maske in versteckter Ansicht. Erscheint mir vom Aufwand her einfacher. Bernhard, vielen Dank für deine Anregungen bezüglich der Erfassung. Die Erfassung einer ganzen Periode mit zwischenzeitlichem Wechsel des Tagegeldes wäre für mich ein absolutes Horrorszenario (Puh, schwitz...)! Zum Glück soll laut Dienstanweisung jeder Tag einzeln abgerechnet werden. Das machts dann doch einfacher. Jetzt werde ich mich erstmal voller Tatendrang an die Umsetzung machen. Nochmals danke für die Ideen, hatte irgendwie vorher nur ein schwarzes Loch vor mir.

Gruß Joe
Joachim

1 App.-Server 8.0.2FP2
4 Mail-Server 8.0.2FP2
ca. 1500 Clients 8.0.2FP2

Offline Joe

  • Junior Mitglied
  • **
  • Beiträge: 95
  • Geschlecht: Männlich
  • Ich liebe dieses Forum
Re:Stammdaten nach Gültigkeitsdatum auslesen
« Antwort #6 am: 03.12.03 - 09:29:25 »
Leider muss ich noch mal meinen Senf dazu geben. Nachdem ich angefangen habe, habe ich festgestellt, dass ich wohl was übersehen habe. Gandhis Vorschlag war:

Sortiert nach Datum und so ausgewählt, dass nur Dokumente, deren Wert gültig ist, noch in der Ansicht sind. Das älteste gültige wäre dann ganz oben und Du kannst es superbequem per Lookup anziehen.


Was mache ich denn, wenn der Mitarbeiter im August eine Abrechnung für Juli erstellt und sich am 1.08. die Sätze geändert haben? Dann komme ich mit der Ansicht so nicht weiter, oder?
Joachim

1 App.-Server 8.0.2FP2
4 Mail-Server 8.0.2FP2
ca. 1500 Clients 8.0.2FP2

Glombi

  • Gast
Re:Stammdaten nach Gültigkeitsdatum auslesen
« Antwort #7 am: 03.12.03 - 09:44:48 »
Meine Meinung dazu ist: Besser nicht die Formelsprache verwenden, sondern LotusScript. Die Idee mit dem Profildokument war schon gut.

Es ist auch relativ einfach: Du machst dort 2 Felder jeweils mit Mehrfachwerten.
Feld 1 = Datum ab dem Satz gültig ist
Feld 2 = Satz

Bsp.:
01.08.2004 100,00
01.07.2004 90,00
15.06.2004 85,00

Das neueste Datum muss oben stehen, d.h. die sind absteingend sortiert.

Dann musst Du solange über die Einträge in Feld 1 iterieren, bis das gewünschte Datum görßer als das Datum an der entsprechenden Position ist. Mit der Laufvariable kannst Du dann den Satz ermitteln.

Andreas

Offline Gandhi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 918
  • Geschlecht: Männlich
  • Domino for the masses
Re:Stammdaten nach Gültigkeitsdatum auslesen
« Antwort #8 am: 03.12.03 - 09:48:15 »
Mmmh so eine Nachträglichkeit habe ich natürlich nicht miteinkalkuliert....
Wie kann man das so nun ändern? (wenn Du das mit Script machst - relativ einfach: Einfach die Ansicht holen, alle Dokumente nacheinander durchsuchen und das richtige raussuchen)
Mit Formula:
Angenommen:
Die View schmeißt also keine veralteten Einträge raus.
Du hast 3 Spalten: Gültig von, Gültig bis und Tagessatz (oder Stundensatz).
Du ziehst Dir alle 3 Spalten per DBColumn - hast dann 3 Arrays.
Weiterhin hast Du das Datum für das der Tagessatz ermittelt werden soll.
...ich spiele da selbst erst mal ein wenig weiter rum....melde mich dann...
Der "Wenn ich" und der "Hätt' ich" das sind zwei arme Leut'
oder für den Süden:
Hatti Tatti Wari - san drei Larifari

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz