Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: LisaS am 03.02.04 - 12:17:27

Titel: Berechnetes Feld
Beitrag von: LisaS am 03.02.04 - 12:17:27
Hallo,
Ich habe ein verstecktes Text-Feld (List) mit folgendem Inhalt:

02.05.2003|350
01.01.2004|920
usw.
Dieses Feld berechnet sich mit folgender Formel:
@Text(@DbLookup( "":"NoCache"; ID_ZeiterfassungStammdaten;"SelectPersonnelAll";time_EmpNameLst;2))+"|"+@DbLookup( "":"NoCache"; ID_ZeiterfassungStammdaten;"SelectPersonnelAll";time_EmpNameLst;4);

In dem gleichen Dok. ist ein Datum-Feld (Date) mit z.B.:
01.12.2003
Nun möchte ich ein Berechnets Feld habe (ID) welches mir in diesem Fall 920 anzeigt.
Also wenn List >= Date ist dann 920
wie muß die Formel im Feld ID aussehen um zum diesem Ergebnis zu kommen? Ist Das so überhaupt möglich?

Gruß
Hitcher


Titel: Re:Berechnetes Feld
Beitrag von: koehlerbv am 03.02.04 - 12:28:16
Das ist ja doppeltes Äpfel- mit Birnen-Vergleichen:
- Text mit Datum
- eine Liste mit einem Einzelwert (welcher Listenwert soll denn den Ausschlag für den Vergleich geben ?)

Sag' mal lieber an, was Du überhaupt erreichen willst - vielleicht können wir ja helfen, die Logik wieder gerade zu ziehen.

Bernhard
Titel: Re:Berechnetes Feld
Beitrag von: LisaS am 03.02.04 - 13:00:51
Also es muß die aktuelle ID im Erffassungs-Dok angezeigt werden.
Ich habe eine Ansicht, in einer Art "Konfig-DB", in der alle Mitarbeiter-Doks angezeigt werden. Die Ansicht ist nach Mitarbeitern sortiert. Ein Mitabeiter wird durchaus öffter angelegt weil sich seine ID ändern kann.

Name             Gültig bis        ID

Mustermann   01.01.2003    830
Mustermann   05.05.2003    930
Mustermann   01.01.2004    320

Wenn ein "Erfassungs-Dok" in der "Aufwands-DB" erstellt wird, dann soll das Feld "ID" die ID anzeigen die >= dem Feld "Date" im "Erfassungs-Dok" ist.

Ich habe den Umweg über das Feld List gemacht, weil ich nicht weiß wie ich direkt die richtige ID aus der Ansicht bekomme.

Gruß
Hitcher

Titel: Re:Berechnetes Feld
Beitrag von: TMC am 03.02.04 - 20:04:12
Evtl. in der Lookup-Ansicht in der Spalte 2 die Werte "Gültig bis" und "ID" verketten als Text, damit sowas in der Art erscheint (1.Sortierung: Name, 2. Sortierung Datum absteigend):

Name            Schlüssel
Mustermann  01.01.2004~320
Mustermann  05.05.2003~930
Mustermann  01.01.2003~830

Dann einen DBLookup über die Ansicht, Du suchst nach dem User und lässt Dir alle Schlüssel, die zu dem User gefunden werden, in das Array schreiben.

Dann holst Du Dir mit @Subset den ersten Wert der Liste (der ja das neueste Datum enthält).

Nun noch das gefundene String zerlegen, das Datumsstring in ein Datum umwandeln und abgleichen ob das Datum Deiner Bedingung entspricht.

Hmm, wohl sehr umständlich, aber so sollte das gehen.
Bin mir sicher es gibt noch einfachere Lösungen.

Matthias
Titel: Re:Berechnetes Feld
Beitrag von: TMC am 03.02.04 - 20:12:40
Was mir hier noch generell abgeht:
Wie kommts zu den IDs, dem Datum etc.

Irgendwie sieht mir das ein wenig nach Nacharbeit aus, vielleicht kann man das von Anfang an schon logischer aufbauen.

Matthias
Titel: Re:Berechnetes Feld
Beitrag von: koehlerbv am 03.02.04 - 20:33:35
Mir sieht das auch mächtig nach einem logischen Fehler aus.
- Wie kann es zu mehreren IDs kommen ?
- Wenn "normal": Wozu dann IDs ? Wozu werden die noch gebraucht ?
- Ist eventuell sogar immer die neueste "ID" die jeweils gültige ? Dann wäre es ja ganz einfach ...
- Kann der User nicht mit 'ner Picklist die passende ID wählen ?
- Wie kommt überhaupt das Datum in das "Erfassungs-Dokument" ?

Bitte schreibe mal genaueres, denn momentan sieht das extrem unstrukturiert und herumgestochert aus.

Bernhard
Titel: Re:Berechnetes Feld
Beitrag von: TMC am 03.02.04 - 20:37:47
Zitat
denn momentan sieht das extrem unstrukturiert und herumgestochert aus
Daher auch mein herumgestocherter Lösungsvorschlag :-)
Titel: Re:Berechnetes Feld
Beitrag von: koehlerbv am 03.02.04 - 20:45:33
Dir blieb ja auch nichts anders übrig, Matthias ...  ;)