0

Sortierte Untertabelle im PDF ausdrucken

Ups, habe vergessen, meine Thema zu kopieren um es ein 2. mal zu schicken. Kann jemand so nett sein, das für mich zu tun?

10 Antworten

null
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Habe eine Untertabelle mit Artikeln. Diese Artikel sind Textilien. Textilien haben ja eine bestimmte Grösse. Also XS, S, M, XL usw. Die Eingabe in die Untertabelle erfolgt aber nicht immer nach Größen sortiert. Also es könnte zuerst der Artikel XXL und dann z.B. ein S angelegt werden. Nehme ich bei der Größe nur den Filter aufsteigend, sieht die Sortierung natürlich L, M, S, XL usw. aus.
    Mit einer If-Funktion (S = 1, M = 2 usw) und Artikel-Nr und Farbe habe ich mir mit einem Formelfeld die Sortierung angelegt. Klappt wunderbar. Im Datensatz kann ich mir den Tabellenkopf ja so zurechtschrieben, das man das Zusatzfeld ja nicht sieht.
    Problem: Das Zusatzfeld habe ich im Drucklayout auch. Soll aber nun mal gar nicht. Habe ich auch kein Platz für, da die Formel auch ein langes Ergebnis ergibt. Blende ich das Feld aus, ist natürlich auch die Sortierung hinfällig.

    Auch hier wäre ich über Hilfe dankbar.

    Frauke
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo Frauke,
    es ist leider bei Ninox so, dass die Sortierung nur nach sichtbaren Spalten möglich ist. Als mögliche Lösung kann ich folgendes vorschlagen.
    1. Erstell ein Funktionsfeld namens NR mit deiner Formel, etwa so

    let DNUM := switch 'Größe' do
    case "XS":
    1
    case "S":
    2
    case "M":
    3
    case "L":
    4
    case "XL":
    5
    end;
    DNUM + Artikel + Farbe


    dieses Feld kannst du verstecken (nur anzeigen wenn: false)
    2. Erstell ein Funktionsfeld namens Nummer

    let myNR := NR;
    cnt(select DeineTabelle where NR < myNR) + 1


    So sind alle deine Datensätze aufsteigend nach deiner Formel nummeriert und diese Spalte nimmt nicht so viel Platz weg.

    Grüße
    Leo
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Habe gerade festgestellt, dass meine Formel bei gleichwertigen Datensätzen
    auch die Numerik gleich setzt. damit das nicht passiert sollte die Formel so aussehen.
    1.Das erste Funktionsfeld lieber NNN statt NR nennen
    2.Das zweite Funktionsfeld:
    let myNN := NNN;
    let myNr := Nr;
    cnt(select DeineTabele where NNN < myNN) + 1 + cnt(select Sortierung where NNN = myNN and Nr > myNr)


    Grüße
    Leo
    • bernd
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo,

    man kann auch die Breite der einzelenen Spalten der Tabelle in der Druckvorschau einstellen. Die zu sortierende Spalte einfach sehr eng ziehen.
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Na ja, minimale Breite ist 1. Auch wenn du die Breite als 0 einstellst, wird diese automatisch wieder auf 0 gestellt. In dem Layoutansicht sieht alles wunderbar aus. Wenn man dann das PDF-Dokument generiert, wird die Spalte sichtbar und der Zeilenhöhe passt sich der Textgröße an.
    Zurück zu der Formel. die Formel ist für die ganzen Tabelle gedacht. Wenn diese aber als Untertabelle dargestellt werden sollte, dann siet die Formel anders aus:
    ---
    let myNN := NNN;
    let myNr := Nr;
    cnt(DeineTabele [NNN < myNN] + 1 + cnt(DeineTabele [NNN = myNN and Nr > myNr])

    ---
    Leo
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Oh mann, habe jetzt 6 Rechtsschreibfehler entdeckt. Sorry.
    • AxelE
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Rechtschreibfehler stören hier, glaube ich, niemanden. ;)
    • fherroeder
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Danke!
    Das muss ich jetzt erst mal ausprobieren.
    Da ich blanke Anfängerin bin, kann das etwas dauern.
    • fherroeder
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Funxt auch nicht wirklich. Hab mal nen Screenshot der Tabelle gemacht.
    Ich brauche: Ware zu Ware, dann Farbe zu Farbe, dann erst Größe.

    https://www.dropbox.com/s/yn861gcjtfedr6d/Bildschirmfoto%202018-02-23%20um%2012.59.02.png?dl=0
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo Frauke,
    1. Funktionsfeld NNN erstellen. Formel
    let DNUM := switch 'Größe' do
    case "XS":
    1
    case "S":
    2
    case "M":
    3
    case "L":
    4
    case "XL":
    5
    end;
    Marke+Bezeichnung+Farbe+DNUM


    2.Zweites Funktionsfeld SORT anlegen:

    let myHT:=Haupttabelle
    let myNN := NNN;
    let myNr := Nr;
    let myTAB:=select DeineTabelle where Haupttabelle=myHT;
    cnt(myTAB [NNN < myNN]) + 1 + cnt(myTAB [NNN = myNN and Nr > myNr])


    Grüße
    Leo

    ps. von wegen "Leo macht keine Fehler"

Content aside

  • vor 6 JahrenZuletzt aktiv
  • 10Antworten
  • 3461Ansichten