Formeln und Berechnungen
36 Antworten
-
Hallo schocki, das werden wir in Kürze beheben. Viele Grüße, Frank
-
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. -
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 -
Da hätte ich auch drauf kommen können. Funktioniert, danke für den schnellen Support.
-
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 -
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 -
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 -
Hallo Frank,
versuch es damit:
let KKK:=Kunde;
let AZ:=(select Arbeitszeit);
sum(AZ[(abgerechnet !=1 and Kunde=KKK)].Arbeitszeit)
Grüße
Leo -
Super - vielen Dank! Das hat mir echt weitergeholfen!
-
Hallo Leo,
vielen Dank für die super schnelle Hilfe. Das hat mein Problem gelöst!
Beste Grüsse
Frank -
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 -
Hallo,
Ist die Frage noch aktuell? Ja, das geht. Habe das jetzt mit unseren 4 FeWo's gemacht. -
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?
-
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 -
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.
-
Und was hindert dich daran die Formel von dem Feld mit der Formel vom Bewertungsfeld zu kombinieren?
-
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 -
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 -
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 -
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 -
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 -
Ö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 -
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
-
Habe genau das gleiche problem und hoffe auf Ideen
Franz
-
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
Content aside
- vor 5 JahrenZuletzt aktiv
- 36Antworten
- 12693Ansichten