0

Textfelder beschränken im Drucklayout

Ich habe eine Druckvorlage mit Textfeldern, die eine bestimmte Größe haben müssen und sich nicht automatisch anpassen sollen. Ich habe diese deshalb auf "Feste Größe" eingestellt. Wie kann ich vermeiden, dass der in ein Textfeld eingegebene Text, wenn er zu lang ist im Druck überlappt. Im Layout in Ninox wird er einfach abgeschnitten aber im Druck nicht. Wäre es da am besten eine Begrenzung der Zeichenzahl zu setzen? Bei einem normalen Textfeld geht das ja direkt in den Optionen, bei Richtext müsste man das anders machen, schätze ich.

7 Antworten

null
    • T_Bartzsch
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Dirk,

     

    ich habe für einen Weinkatalog welcher automatisch aus der NINOX generiert wird tatsächlich die Artikel- und Herstellerbeschreibungen auf Zeichenzahl getestet und per Funktionsfeld via Ampel (grün, orange, rot) kenntlich gemacht. Man muss die Texte teilweise soweit einkürzen, bis die erlaubte Zeichenzahl errecht ist.

     

    length(DEINTEXTFELD) zählt Dir ja die Zeichen...

     

    Ich würde mir auch wünschen, dass man Textfelder im Layouteditor via Script steuern kann... 

    • Torsten_Stang.1
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Ich verwende im Drucklayout dazu statt Textfeld einfach substr(Textfeld,0,40), wenn z.B. 40 Zeichen maximal in's Layout passen.

    • Dirk_Patzer
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Stimmt so kann man es machen. Toll wäre es, wenn meine Mitarbeiterin bei der Texteingabe ins Textfeld sehen könnte, wann sie zu viele Zeichen verwendet hat. Das müsste sich mit dem Befehl, den Tobias ins Spiel gebracht hat lösen lassen. Ich dachte an einen Alert "Zu viele Zeichen!" oder so ähnlich.

    • Dirk_Patzer
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Geht wohl nur bei normalen Textfeldern, nicht bei richtext / formatiertem Textfeld mit length....

    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Dirk, wenn du richtext für Layout nutzt dann verwendest du bestimmt Mac Ap oder iOS APP.

    versuch es als Trigger nach Änderung :

    ---

    if length(text('Text (formatiert)')) > 40 then
    alert("zu viele Zeichen!")
    end

    ---

    In web wirde es nicht gehen aber in der App sollte funktionieren.

    Leo

    • T_Bartzsch
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Ich habe ein Funktionsfeld "Zeichenanzahl" welches ständig die Zeichenzahl überprüft...

     

    if length('ARTIKELBESCHREIBUNG') > 840 then

    styled(text(length('ARTIKELBESCHREIBUNG')), "red")
    else
    if length('ARTIKELBESCHREIBUNG') > 790 then
    styled(text(length('ARTIKELBESCHREIBUNG')), "orange")
    else
    styled(text(length('ARTIKELBESCHREIBUNG')), "green")
    end
    end

    • T_Bartzsch
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Bei formatierten Feldern wird es natürlich schwierig, da man ja auch unter Umständen einen Absatz macht. Dieser würde ja dann einer gewissen Anzahl an Zeichen gleich kommen. Wir kommen also mit dem reinen Zählen der Zeichen nicht wirklich weiter.

    Du müsstest also zusätzlich wissen, wieviele Absaäze bzw. Zeilen in dein Feld passen, damit es in der Höhe passt. Oder?

    Das könnte man sicher über regex regeln...