0

Formeln und Berechnungen

Seit Version 1.6 für OSX lässt sich der Inhalt eines Berechnungsfeldes nicht mehr markieren und somit auch nicht kopieren. Ist dies gewollt? MfG schocki

36 Antworten

null
    • Frank_Bohmer
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo schocki, das werden wir in Kürze beheben. Viele Grüße, Frank
    • t95529s
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Folgendes Problem:
    Ich kann in Abhängigkeit des Wertes eines Auswahlfeldes nicht folgende Formel zum laufen bringen (In Abhängigkeit zu einem Textfeldinhalt funktioniert es):

    if Auswahl = "Jährlich" then
    (Wiedervorlagedatum := Testdatum + 365)
    else
    if Auswahl = "Halbjährlich" then
    (Wiedervorlagedatum := Testdatum + 180)
    else
    if Auswahl = "Vierteljährlich" then
    (Wiedervorlagedatum := Testdatum + 90)
    else
    if Auswahl = "Monatlich" then
    (Wiedervorlagedatum := Testdatum + 30)
    else
    (Wiedervorlagedatum := today())
    Wo liegt mein Denkfehler?

    Ansonsten:
    Tolle App, habe meine komplette Modellbahnverwaltung und Inventarisierung darüber abgebildet.
    • Frank_Bohmer
    • vor 8 Jahren
    • Gemeldet - anzeigen
    In Formel müssen die Werte von Auswahlfeldern mit ihrem numerischen Wert angesprochen werden (den kann man in den Feldeinstellungen sehen), also zB

    if Auswahl=1 then ... else if Auswahl = 2 ...

    Viele Grüße, Frank
    • t95529s
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Da hätte ich auch drauf kommen können. Funktioniert, danke für den schnellen Support.
    • wfrankowsky
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo. ich habe das Rechnungstemplate von NINOX genommen und dahingehend angepasst, daß die Artikel unterschiedliche MwSt.Sätze haben können. Desweiteren habe ich in der Tabelle "Rechnungsposition" ein Berechnungsfeld für den jew. MwSt-Betrag eingefügt.

    Nun möchte ich in der Rechnungsansicht die Summen der unterschiedlichen MwSt.Sätze separat ausweisen können, also z.B.

    Summe 7% Mwst: xx,xx EUR
    Summe 19% MwSt:xx,xx EUR

    Hat jmd. eine Idee wie ich das lösen könnte?

    Vielen Dank schon mal für jede Unterstützung!
    Werner
    • Frank.3
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo,
    ich habe folgendes Problem:
    in der Vorlage "Arbeitszeiterfassung" habe ich ein Ja/Nein Feld "abgerechnet", ein Berechnungsfeld "offen" und ein Textfeld "Kunde" ergänzt. Nun möchte ich im Berechnungsfeld "offen" alle Arbeitszeiten aufsummiert angezeigt bekommen, die zu dem gleichen Kunden gehören und nicht das Flag abgerechnet=1 haben. Alle meine Versuche mit Select und sum scheitern bisher.
    Was mache ich falsch?
    Mit freundlichen Grüßen
    Frank
    • Leonid_Semik
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo Werner,

    angenommen, du hast in der Tabelle Artikel das Feld "MwSt.Satz" als Auswahlfeld, wo Nr.1 - 7%, Nr.2 -19% usw. sind.
    Dann wäre die Formel für ein Berechnungsfeld "Summe 7% Mwst" :

    sum(Rechnungsposition[Artikel.'MwSt.Satz'=1].(Anzahl*Artikel.Preis))*0.07

    Für "Summe 19% Mwst" entsprechend:

    sum(Rechnungsposition[Artikel.'MwSt.Satz'=2].(Anzahl*Artikel.Preis))*0.19

    Die Zahlenformat für diese Berechnungsfelder bitte als Währung (1.023,42€ )

    Gruß
    Leo
    • Leonid_Semik
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo Frank,
    versuch es damit:

    let KKK:=Kunde;
    let AZ:=(select Arbeitszeit);
    sum(AZ[(abgerechnet !=1 and Kunde=KKK)].Arbeitszeit)

    Grüße
    Leo
    • wfrankowsky
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Super - vielen Dank! Das hat mir echt weitergeholfen!
    • Frank.3
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo Leo,

    vielen Dank für die super schnelle Hilfe. Das hat mein Problem gelöst!

    Beste Grüsse
    Frank
    • fewo
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo.

    Ich schaue gerade, ob ich mit Ninox unsere Ferienwohnung verwalten kann. Über einige Funktionen bin ich mir schon im klaren. Offen wäre für mich vor allem, ob ich datumsabhängige Mietpreise berechnen kann. Je nach Saison ändert sich der Mietpreis. Hierbei wäre vor allem der Fall interessant, wenn die Mietzeit in zwei Saisonpreisen liegt. Kann ich diese Berechnung in Ninox abbilden?

    Vielen Dank.
    Götz
    • bernd
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo,

    Ist die Frage noch aktuell? Ja, das geht. Habe das jetzt mit unseren 4 FeWo's gemacht.
    • Jofe
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Ich habe in einer Tabelle ein berechnetes Feld 'Bewertung' in dem je nach dem der Text 'OK' oder 'Fehler' angezeigt wird. Jetzt hätte ich aber gerne zusätzlich den Hintergrund des Felds entsprechend rot oder grün eingefärbt. Wie kann ich denn das bewerkstelligen?
    • Leonid_Semik
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo Jofe,
    direkt geht das nicht. Man kann aber so vorgehen.
    du legst ein Auswahlfeld an und nennst es z.B. "BEW". Dort legst du die Optionen "Ok" und "Fehler" als 1 und 2 und weist auch die Farben rot und grün zu.
    Jetzt nimmst du die Formel von deinem Berechnungsfeld und platzierst diese als trigger nach Änderung bei dem Bezugsfeld von "Berechnung". Etwa so

    if Bezugfeld="XXX" then BEW:=1 else BEW:=2

    Jetzt hast du schon deine Farben und Texte. aber das Feld BEW ist veränderbar, was nicht so gut ist.

    Du kannst jetzt bei BEW in erweiterten Eigenschaften schreiben "sichtbar wenn" - false. und bei "Bewertung" einfach als Formel: BEW

    "Bewertung" übernimmt die Farbe und den Text von BEW.

    Ich hoffe du konntest mir folgen.

    Grüße
    Leo
    • Jofe
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Ich konnte Dir zwar folgen (denke ich zumindest ;-) ) aber das Bezugsfeld für mein Bewertungsfeld ist ebenfalls ein berechnetes Feld und dort gibt es keine Möglichkeit ein Skript auszuführen.
    • Leonid_Semik
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Und was hindert dich daran die Formel von dem Feld mit der Formel vom Bewertungsfeld zu kombinieren?
    • Ralf_S
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo,
    folgendes Problem: Ich möchte eine Art Zeitreihe in einem Diagramm darstellen. Auf der X-Achse also Datum (nehme ich aus einem Tabellenfeld), auf der Y-Achse die Summe aller bis zum jeweiligen Zeitpunkt aufgelaufenen Beträge. Die Besonderheit ist, das eine weitere Filterbedingung gibt, ansonsten wäre es einfach.
    Erster Ansatz:
    let pos_geschlossen := Geschlossen;
    sum(Positionen[Geschlossen <= pos_geschlossen and Trade.Konto = 2]

    Resultiert in einer Fehlermeldung, weil wohl an dieser Stelle keine logische Verknüpfung erlaubt ist.

    Zweiter Ansatz:
    let pos_geschlossen := Geschlossen;
    let summe := 0;
    for pos in (select Position where Geschlossen <= pos_geschlossen and Trade.Konto = 2) do
    summe = summe + pos.'Profit/Loss'
    end
    ;
    number(summe)

    Keine Fehlermeldung, aber Ergebnis immer 0.

    Gibt es eine Lösung?

    VG, Ralf
    • Leonid_Semik
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo Ralf,
    ohne Datenbank ist schwer einzuschätzen. Versuch mal damit:
    let pos_geschlossen := Geschlossen;
    let POS:=select Position;
    sum(POS[Geschlossen <= pos_geschlossen and Trade.Konto = 2].Positionen)

    Grüße
    Leo
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo,
    ohne Deine Datenbank und die Felder zu kennen, sehe ich doch, dass in der zweiten Variante die Zeile
    –––
    summe = summe + pos.'Profit/Loss'
    –––

    nichts dazu addiert sondern einen Vergleich ausführt. Zuweisungen müssen so geschrieben werden:
    –––
    summe := summe + pos.'Profit/Loss'
    –––


    Per Fernwartung würde ich sagen, dass die richtige Formel wohl so lauten sollte:
    –––
    sum(select Positionen[Geschlossen <= pos_geschlossen and Trade.Konto = 2].'Profit/Loss'
    –––

    Schreib mir doch bei Bedarf eine Mail an support@ninoxdb.de
    Gruß
    Birger - Ninox Support
    • Ralf_S
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo Birger,

    sum(select Position[... funktioniert! Vielen Dank für die schnelle Rückmeldung.
    Prima wäre es, wenn Ihr in Eurer Doku die Syntax etwas generischer darstellen könntet. Muss ja nicht gleich BNF sein...

    Ninox ist ein tolles Produkt.

    VG, Ralf
    • MDHW2018
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo, ich habe eine Frage, wie man folgendes Problem vielleicht lösen kann:

    Wir wollen in einem Feld eine Rechnungsnummer eingeben z.B. „RE34376“ nun soll automatisch ein Link erstellt werden, wobei der Link ein Standard-Link ist wie z.B: http://192.168.1.1:3435/web/rechnung?RE34376.?.php und dort diese Nummer an einer bestimmten Stelle eingefügt wird. Also man gibt eine Rechnungsnummer ein und Ninox erstellt dazu einen anklickbaren Link der diese Nr an einer bestimmten Stelle einfügt und durch den Link dann ein verknüpftes Dokument öffnen kann. Würde sowas gehen?

    Vielen Dank für Tipps und Hinweise
    • Birger_H
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Öffnen Sie die Eigenschaften des Felds "Rechnungsnummer". Geben Sie im Feld "Nach Update folgendes Script ausführen" dies hier ein:
    –––
    'Internet-Adresse' := "http://192.168.1.1:3435/web/rechnung?" + Rechnungsnummer + ".?.php"
    –––

    (Wenn es ein URL-Feld mit diesem Namen gibt :-)

    Birger - Ninox Support
    • TOPReinigung
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Frage: Zwischensumme berechnen

    Wie kann ich in der Rechnungstabelle ein Zwischensumme erstellen?

    Z.B. Ich habe Artikel 1, 2, und 3 danach soll eine Zeile mit Preis Zwischensumme hinzugefügt werden.

    Dann folgen nächste 4 Artikel und wieder eine Zeile mit Zwischensumme.

    Aber wenn ich keine Zwischensumme brauche, soll sie auch beim Drucken ausgeblendet werden.

    Falls eine Lösung gibt, wie kann ich die Zwischensumme auch bei Drucken anzeigen lassen?

     

    Hat jemand hier eine Idee?

    Danke

    • franzbaur
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Habe genau das gleiche problem und hoffe auf Ideen

    Franz

    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Da Ninox noch keine Ansichten im Layout zulässt, braucht man dafür eine Extratabelle. Nennen wir Diese Zwischensummen. Spalten sollten wie bei Rechnungspositionen sein (Pos_Nr, Artikelnummer, Artikelname, Einzelpreis, Menge, Gesamt) und noch eine Verknüpfung zu der Tabelle Rechnung und eine Sortierungsspalte Sort. In der Tabelle Positionen bauen wir noch ein Ja/Nein Feld Zwischensumme ein. Wenn das Feld angeklickt ist, solte danach eine Zwischensumme angezeigt werden.

    Jetzt kann man einen Button mit dem Namen "Zwischensummen erstellen" erstellen und folgenden Formel hinterlegen:

    ---

    let my:=this;

    delete Zwischensummen;

    for ii in Positionen order by Pos_Nr do

    let new:=create Zwischensummen;

    new.(Rechnung:=my;

    Sort:=max(my.Zwischensummen.Sort)+1;

    Pos_Nr:=ii.Pos_Nr;

    Artikelnummer:=ii.Artikelnummer;

    Artikelname:=ii.Artikelname;

    Einzelpreis:=ii.Einzelpreis;

    Menge:=ii.Menge;

    Gesamt:=ii.Gesamt);

    if ii.Zwischensumme then

    let newZ:=create Zwischensummen;

    newZ.Rechnung:=my;

    newZ.Sort:=max(my.Zwischensummen.Sort)+1;

    newZ.Artikelname:="Zwischensumme";

    newZ.Gesamt:=sum(Positionen[Pos_Nr<=ii.Pos_Nr].Gesamt)

    end

    end

    ---

    Dann kann man diese Tabelle anstatt Positionstabelle beim Ausdrucken verwenden. Wenn man ohne Positionsnummer arbeitet, dann muss man die IDs  (Nr) zum Zählen verwenden.

    Habe jetzt nicht ausprobiert, deswegen kein Gewähr.

     

    Leo