サーバー側スクリプティングが「文字列オブジェクトが最大許容サイズ 33554432 を超えています」というエラーで失敗する。Issue <!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } ビジネスルールやスクリプトインクルードなどのサーバー側スクリプティングが "String object would exceed maximum permitted size of 33554432" というエラーで失敗します。情報と修正については、以下をご覧ください。 再現手順: /sys.scripts.do 内で次のコードを貼り付けます。 var abc = "a"; try { for (i=1;i<30;i++) { gs.print("current length: " + abc.length); gs.print("current size: " + (abc.length)*2);gs.print("Attempting to increase string size to: " + (abc.length)*4);abc = abc + abc; } } catch (e) { gs.print("error: " + e); } gs.print(abc.length); Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Zurich Cause<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } プラットフォームの文字列(String)オブジェクトのデフォルト値は 32 MB に設定されており、この制限を大幅に増やすことはお勧めできません。この問題は、while ループでスクリプトインクルードをインスタンス化した場合に最もよく見られます。たとえば、while/for ループ内で他のスクリプトが「ScriptableObject」を呼び出してスクリプトインクルードをインスタンス化している場合に、その同じ while ループでスクリプトインクルードに GlideRecord オブジェクトを渡すと、この制限に違反する可能性があることに注意してください。ループを反復するたびに GlideRecord オブジェクトが累積されるため、オブジェクトサイズが大きくなります。これが発生する原因の一つとして、各 GlideRecord の結果でループを回した後にスクリプトインクルードを呼び出すというケースが挙げられます。新しい Glide レコードオブジェクトに大量のデータを割り当てた場合にも、同じエラーが発生します。 Resolution<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } この問題を解決するには、サーバー側スクリプト内で定義されているすべての文字列オブジェクトが 32 MB (33,554,432 バイト) を超えないようにしてください。 注意: Javascript は1文字あたり 2 バイト (およびいくつかのオーバーヘッドバイト) を使用し、文字列オブジェクトの制限は 33554432 バイトです。