Domino 9 und frühere Versionen > ND6: Entwicklung

FEHLER: Feld ist zu groß (32K), oder ...

<< < (3/5) > >>

Glombi:
Also wenn in den Dokumenteigenschaften auch nur der Fehlertext steht, dann hast Du keine Chance mehr an den urspr�nglichen Text zu kommen.

Diese meldung kann aber eigentlich nur dann da hereinkommen, wenn das Feld von au�en gesetzt wird - per Button/Hotspot/Aktion, per Agent, per Formelsprache bspw. von einem anderen Feld, per Script...

Andreas

Glombi:

--- Zitat ---Das kann aus bestimmten Gründen nicht der Fall sein...

--- Ende Zitat ---
Erklär mal genauer...

Bruce Willis:

--- Zitat von: Glombi am 25.04.06 - 13:14:04 ---
--- Zitat ---Das kann aus bestimmten Gründen nicht der Fall sein...

--- Ende Zitat ---
Erklär mal genauer...

--- Ende Zitat ---
Ok, ich hatte bloß gewollt, die Sache einfach zu halten...

Du hast richtig erkannt, das Feld "ProblemFeld" ist in der Tat ein berechnetes Feld, wo alles zusammen gespeichert wird, was man in ein anderes Feld "EingabeFeld" ab und zu einträgt.

Sieht in Querysave etwa so aus:

@If(EingabeFeld="";@Return("");@Success);
FIELD ProblemFeld:= @Text(@Now;"D0T1") +" -- "+ @Name([CN];@UserName) + @NewLine+ @NewLine+ EingabeFeld+ @NewLine +
"__________________________________________________"
+ @NewLine + @NewLine+ ProblemFeld;
FIELD EingabeFeld:= "";

Ich dachte, dass hier diese Einzelheiten ohne Bedeutung sind.

Ist auch so, oder?

Gruß
Leo

Glombi:
Aha, warum denn nicht gleich so  ;D


Durch die Formel im Querysave wird dafür gesort, dass das Feld "ProblemFeld" irgendwann mal die zulässige Größe von 32K für Textfelder überschreitet, da es immer erweitert wird.

Abhilfe kannst Du erreichen, in dem Du das Feld entweder als RichText Feld deklariert und dann mit neuen Methoden das Rich Text Item setzt oder es als Textfeld lässt, aber nur die letzten N (bspw. 10) Einträge sicherst.

Das geht dann ungeführ so:

@If(EingabeFeld="";@Return("");@Success);
FIELD ProblemFeld:=
@If(@Elements(ProblemFeld) < 11;
@Text(@Now;"D0T1") +" -- "+ @Name([CN];@UserName) + @NewLine+ @NewLine+ EingabeFeld+ @NewLine +
"__________________________________________________"
+ @NewLine + @NewLine+ ProblemFeld;
@Text(@Now;"D0T1") +" -- "+ @Name([CN];@UserName) + @NewLine+ @NewLine+ EingabeFeld+ @NewLine +
"__________________________________________________"
+ @NewLine + @NewLine+ @Subset(ProblemFeld;-10)
);

FIELD EingabeFeld:= "";


Andreas

Bruce Willis:
Vielen Dank, Andreas!

Ansonsten

1. keine Möglichkeiten auf die Daten im Feld zu kommen?
2. eine elegante Formel-Lösung, den User beim Speichern des Doks und  "ProblemFeld" > 31 K zu warnen?

Gruß
Leo

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln