0

gezielte auswählen aus einer Untertabelle

Hallo zusammen,

 

Für eine Entgeldberechnung mit Verschiedenen Löhnen zu verschieden Tageszeiten, bräuchte ich eine Berechnungshilfe.

Zur Verfügung habe ich ein Auswahlfeld mit 4 Checkboxen (Frühschicht, Spätschicht, Nachtschicht, So-&Feiertage)

Dementsprechend habe ich eine Tabelle "Schichten" angelegt, in der jetzt vier Datensätze drin sind ( Fahrzeug, Personal, Zuschlag, MwSt, Brutto)

Nun möchte ich, wenn "Checkbox 1" ausgefüllt ist, den ersten Datensatz auswählen, bis hier hin auch kein problem:

if 'Schicht-Auswahl' = 1 then
first('Montag - Freitag 07:00- 16:30'.Berechnung)
end

genau so easy wie mit dem letzten wert:

if 'Schicht-Auswahl' = 4 then
last('Montag - Freitag 07:00- 16:30'.Berechnung)
end

aber wie komme ich bei Auswahl 2 an Datensatz 2 usw?

Oder kann man das ganze auch anders lösen?

vielen Dank im vorraus

 

Mfg

7 Antworten

null
    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Roland,

    —-

    let myArr:='Montag - Freitag 07:00- 16:30'.Berechnung);

    item(myArr,number('Schicht-Auswahl')-1

    Leo

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Klammern vergessen

    —-

    let myArr:='Montag - Freitag 07:00- 16:30'.Berechnung);

    item(myArr,number('Schicht-Auswahl')-1)

    Leo

    • rolandbartelsmeier
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo, funktioniert leider nicht so wie erwartet.

    Mit dieser Formel, wird mir jetzt immer der Brutto-Wert aus dem ersten Datensatz der Untertabelle wieder gegeben. Egal ob ich „-1“ „-2“ „-3“ oder „-4“ eintrage.

    Oder habe ich jetzt einen denkfehler?

    MFG

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Also bitte NUR die Formel, die ich geschrieben habe in ein Berechnungsfeld eintragen. Sonst nichts tun.

    Zur Erklärung: die erste Zeile deklariert einen Array aus vier Berechnungsfelder der Untertabelle. Mit item(Array, Zahl) kann ich jeden Wert des Arrays ansprechen. Die Nummerierung ist 0,1,2,3. Die IDs in dem Auswahlfeld fangen aber mit 1an, also 1,2,3,4. Deswegen auch -1 in der Formerl.

    Leo

    • rolandbartelsmeier
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Also erstmal Danke für die raschen Antworten,

     

    mit „genau“ der Formel, klappt dann leider nur die Auswahl des ersten Datensatzes, deswegen hatte ich ein wenig rumgespielt.

    Mal ein paar Foto ´s dann wirds vielleicht verständlicher :-)

     

    Das ist die Auswahl Oberfläche ( hier sieht man bereits, was passiert, wenn man genau die eine Formel eingibt.)

     

    Pardon, vielleicht bin ich nur zu Doof :-D

     

    Und das ist die Untertabelle mit den hinterlegten Werten.

     

    Finde das mit den Bausteinen schon recht gut, aber da geht leider nicht alles.

     

    mfg

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Roland,

    das Datenmodell ist für mich sehr verwirrend. Wenn die Tabelle Schicht eine universale "Vorlagentabelle" ist, müsstest du für jede neue Preisberechnung alle vier Datensätze in die Untertabelle neu verknüpfen. Ich würde dann einfach mit Record() direkt den Datensatz in Sicht ansprechen.

    —-

    record(Schicht,number('Schicht-Auswahl')).Brutto

    ——

    Leo

    • rolandbartelsmeier
    • vor 5 Jahren
    • Gemeldet - anzeigen

    perfekt, so funktioniert es

    danke 

     

    gruß

Content aside

  • vor 5 JahrenZuletzt aktiv
  • 7Antworten
  • 1969Ansichten