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
-
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...
-
Ich verwende im Drucklayout dazu statt
Textfeld
einfachsubstr(Textfeld,0,40)
, wenn z.B. 40 Zeichen maximal in's Layout passen. -
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.
-
Geht wohl nur bei normalen Textfeldern, nicht bei richtext / formatiertem Textfeld mit length....
-
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
-
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
-
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...
Content aside
- vor 3 JahrenZuletzt aktiv
- 7Antworten
- 512Ansichten