0

letzten Eintrag Rechnungsnummer

Hallo zusammen,

 

in einer Tabellenspalte sind Rechnungsnummern eingetragen. Typ 1 = 1.AR und Typ 2 = 1987...Über ein Auswahlfeld wird vorgegeben welche Art der Rechnungart geschrieben werden soll. Ich möchte die letzte Rechnungsnummer angezeigt bekommen. Der Abschlagsrechnung soll der letzte Eintrag mit "x.AR" erscheinen und sonst der letzte Eintrag xxxx...

Ich die Funktion max((select Rechnungen).Rechnungsnummer)  komme ich nur an die x.AR...wie benötige einen Ansatz.

 

Danke Thorsten

5 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Thorsten, das heißt, bei den Rechnungen vom Typ 1 besteht die Rechnungnsummer immer aus einer beliebig langen Ziffernfolge plus ".AR" am Ende, bei Typ 1 nur aus einer Ziffernfolge? Dann könnte man die jeweils höchste Nummer (maxNr) z. B. so ermitteln:

     

    let maxNr := if text(Rechnungsart) = "Abschlagsrechnung" then
         max((select Rechnungen).number(substr(Rechnungsnummer, 0, length(Rechnungsnummer) - 3)))
    else
         max((select Rechnungen).number(Rechnungsnummer))
    end

    • Bauleitung
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Copytexter,

     

    läuft so nicht. Vielleicht habe ich mich unklar ausgedrückt. Die Rechnungsnummer soll in einem Funktionsfeld angezeigt werden.

    Siehe Screenshot .......letzte Rechnungsnummer

    • Bauleitung
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Copytexter,

     

    gibt es eine Möglichkeit sich den Wert der Berechnung/Funktion anzeigen zu lassen? Dann könnte man vielleicht Rückschlüsse ziehen warum kein Wert angezeigt wird.

    Gruß Thorsten

    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Den Text der Rechnungsart hattest du ausgetauscht? Bei dir heißt die Auswahloption ja "AR" statt "Abschlagsrechnung". Und zum Anzeigen in einem Funktionsfeld: Einfach das "let maxNr :=" vorne weglassen oder die Variable am Ende noch mal ansprechen, z. B. so:

    let maxNr := if text(Rechnungsart) = "AR" then
         max((select Rechnungen).number(substr(Rechnungsnummer, 0, length(Rechnungsnummer) - 3)))
    else
         max((select Rechnungen).number(Rechnungsnummer))
    end;
    maxNr

    Allerdings ist mir das Szenario unklar. In deinem Screenshot hast du als Rechnungsnummer "1908" und als Rechnungsart "AR". Wie passt das zu deiner Problembeschreibung?

    • Bauleitung
    • vor 4 Jahren
    • Gemeldet - anzeigen

    funktioniert!!! Danke schön

    Auf dem Screenshot zu sehen ist die Maske zur Rechnungserstellung. Es wird über die Auswahl Rechnungsart entschieden ob es sich um eine Rechnung oder AR oder Schlussrechnung handelt. In Tabelle1 werden die abzurechnenden Positionen eingetragen. Die Einblendung der letzten Rechnungsnummer soll das vergeben doppelter Rechnungsnummern verhindern. Mir wäre geholfen gewesen wenn die letzte AR oder Rechnungsnummer angezeigt worden wäre. Du hast gleich den AR Zusatz entfernt, so dass einer automatischen Rechnungsnummervergabe nichts mehr im Wege steht.

     

    Danke