12.制限事項

Excel出力時

日付

Excelアプリケーションでは存在しないはずの日付(1900/2/29)が存在します。
その為、SpreadCraftで日付型として1900/2/28以前を表示した場合、Excel出力時に1日ずつズレて表示されます。

例1)
SpreadCraft:1900/02/28
Excel出力時:1900/02/29
例2)
SpreadCraft:1900/02/27
Excel出力時:1900/02/28

また、Excelアプリケーションでは1899/12/31以前の日付を表現できません。
その為、SpreadCraftで日付型として1899/12/31以前を表示した場合、Excel出力時に正常に表示されません。

1582年(天正10年)に関してはSpreadCraft(SpreadJS)上での表示においても問題が発生します。
1582年10月4日まではユリウス暦、1582年10月15日からはグレゴリオ暦の為、1582年10月14日以前の日付はSpreadシート上も正しく表示されません。

文字列

文字長が32,768文字以上ある項目は、Excel出力時に32,767文字で切り捨てられます。
このとき、Excel表示時に「修復されたレコード: /xl/sharedStrings.xml パーツ内の文字列プロパティ (文字列)」と表示されます。

数値

小数桁数が128桁以上ある項目は、Excel出力時にセルの書式設定が解除され、「標準」になります。
このとき、Excel表示時に「修復されたレコード: /xl/styles.xml パーツ内の書式 (スタイル)」と表示されます。

CSV出力では、文字長および小数桁数はそのまま出力されます。

利用可能な関数

SpreadCraftで使用できる関数はSpreadJSに準拠します。詳しくは SpreadJS Spread.Sheets の 関数の一覧 を参照ください。

チャート表示時

テーブルからチャートを作成する場合はテーブル全体をデータ範囲として指定する必要があります。
テーブルが動的に変更される場合、データの形式とチャートの種類が合致しない場合は正しく動作しない可能性があります。
チャートを作成するためのテーブル件数が100件を超えるとチャートエディタダイアログが表示されるまでのレスポンスが遅くなる可能性があります。

ViewCreatorの定義に問題がある場合

ViewCreatorの定義に問題が発生する場合はSpreadCraft上では検索後、画面上部にエラーメッセージを表示します。
その場合はViewCreatorを修正してください。

扱えるレコード数について

スプレッドコンテンツで扱える現実的なレコード数は、サーバースペックに依存します。
大量データを処理する場合は、検索・表示に待ち時間が発生する可能性があります。
パフォーマンスを考慮し、適切な検索条件を設定してレコード数を絞り込むことを推奨します。

タイムゾーンに関する注意事項

SpreadCraftはマルチタイムゾーン環境に対応していません。
サーバーと異なるタイムゾーンが設定されたクライアント環境で使用した場合、日付項目および日時項目の値がタイムゾーン差分だけずれて表示または保存される可能性があります。
データベースの設定によりUTCとして保存されている値であっても、サーバー側ではサーバーのタイムゾーンに基づいて yyyy/MM/dd HH:mm:ss 形式の文字列として返却されます。
クライアント側では、SpreadJSがブラウザまたはOSのタイムゾーンを基準に日時値を扱うため、タイムゾーン情報を持たない文字列はクライアント環境のローカル時刻として解釈されます。
その状態で保存すると、クライアント環境のタイムゾーンに基づく日時値としてサーバーに送信されるため、元の値からタイムゾーン差分が反映された値になることがあります。
サーバーとクライアントは同一タイムゾーンで使用してください。特に、日本時間(JST)を前提とした環境では、クライアント端末のOSおよびブラウザのタイムゾーンも日本時間に設定してください。

データ管理コンテンツ

データ管理コンテンツ機能では、以下の制限事項があります。

データ操作時の注意事項

重要

データ管理コンテンツ機能は、データベースのレコードを直接編集・保存できる機能です。
SpreadSheet上でデータの追加、編集、削除を行い、データベースに反映することができます。
ただし、誤った入力や削除などの操作によって生じたデータの破損および消失については、サポート対象外となります。
重要なデータの編集を行う際は、事前にバックアップを取得することを推奨します。

編集保存時の注意事項

編集保存で扱える現実的なレコード数は、サーバースペックに依存します。
編集保存の対象件数が100件を超える場合は、保存時のレスポンスが遅くなる可能性があります。
パフォーマンスを考慮し、編集保存の対象レコード数を絞り込むことを推奨します。

intra-mart標準テーブル操作時の注意事項

データ管理コンテンツでは、intra-martが保有する im 系の標準テーブルを操作すること自体は可能です。
ただし、これらのテーブルの操作はSpreadCraftの想定用途外であり、非推奨です。
im 系の標準テーブルに対して追加、更新、削除などの操作は行わないでください。
万一これらのテーブルを操作したことに起因して問題が発生した場合は、サポート対象外となります。

排他制御に関する注意事項

複数のユーザが同一シートを編集していた場合でも、保存後に自動で再検索は行われません。
他のユーザによって追加または更新されたデータを確認するには、再検索を実施してください。
データの排他制御は、シートに設定された排他制御項目に基づいて実施されます。
既存レコード同士で主キーの値を入れ替える操作はできません。

同一テーブルを複数シートで扱う場合の注意事項

データ管理コンテンツ内で同一テーブルに対するシートを複数用意した場合、排他制御設定の組み合わせによっては想定しにくい動作となることがあります。
  • 同一項目に対して、各シートで「更新日(排他制御)」または「更新カウント(排他制御)」を設定し、同一キーのレコードをそれぞれ更新した場合は、排他制御エラーとなります。

    例: シート1の項目Aに「更新日時(排他制御)」、シート2の項目Aに「更新日時(排他制御)」を設定した場合

  • 上記の状態で一方のシートの編集をキャンセルし、もう一方のシートのみを編集して保存した場合は、他ユーザによる更新がなければ排他制御エラーにならないことがあります。

  • 異なる項目に対して、各シートで「更新日(排他制御)」または「更新カウント(排他制御)」を設定し、同一キーのレコードをそれぞれ更新した場合は、後から保存した内容で上書きされる可能性があります。

    例: シート1の項目Aに「更新日時(排他制御)」、シート2の項目Bに「更新カウント(排他制御)」を設定した場合

  • 同一項目に対してシートごとに異なる「保存時処理」を設定し、同一キーのレコードをそれぞれ更新した場合は、後から保存した内容が有効になります。

    例: シート1の項目Aに「更新日時(排他制御)」、シート2の項目Aに「更新日時」を設定した場合

アンドゥ無効化設定時の注意事項

設定画面で「アンドゥ」を無効に設定した場合でも、セルの状態によってはアンドゥおよびリドゥが動作することがあります。
  • セルが入力不可の状態では、アンドゥ(Ctrl+Z)は実行されません。

  • セルをダブルクリックしてテキスト入力可能な状態にした後にアンドゥ(Ctrl+Z)を実行すると、値がクリアされることがあります。 その後、リドゥ(Ctrl+Y)を実行すると元の値に戻ります。

  • テキスト入力可能な状態で複数文字を入力した後にアンドゥ(Ctrl+Z)を実行すると、入力した文字は1文字ずつ取り消されます。 リドゥ(Ctrl+Y)を実行すると、取り消した文字は1文字ずつ復元されます。

小数を持つ数値型の表示に関する注意事項

小数部を持つ数値型に値を入力した場合、表示時には定義されている最大小数桁数に合わせて末尾に 0 が補完されます。
※ 数値精度制限 の制限により、15桁を超えると値が丸められる場合があります。
例えば、PostgreSQLの DECIMAL(15, 10) 型に 12345.6789 を入力すると、12345.6789000000 のように小数部10桁分の 0 が付加された値が表示されます。
列幅を広げることで全桁を確認できますが、表示幅が不足している場合は値全体が # で表示されます。
そのため、初期状態で列幅が狭い場合は、短い値を入力した場合でも # 表示となることがあります。

有効桁数の大きい文字型を扱う場合の注意事項

有効桁数の大きい文字型に長い文字列が格納されている場合、表示、入力、保存、画面操作に時間がかかることがあります。
例えば、Oracleの CHAR(10485760) 型に全桁分の半角スペースが格納されている場合、該当項目の表示、入力、保存、および画面操作に時間がかかることがあります。

DBデフォルト値が設定されたカラムの注意事項

データベースでデフォルト値が設定されているカラムを画面に表示した場合、保存時にはデータベースのデフォルト値ではなく、画面に表示されている項目値で保存されます。
新規行で当該項目を空欄のまま保存した場合は、デフォルト値設定は適用されず、NULLで登録されます。
通常、データベースのデフォルト値を利用する場合は、対象カラムを画面に表示しない運用を推奨します。

NOT NULL制約を持つ項目を扱う場合の注意事項

「NOT NULL制約」かつ「デフォルト値未設定」の項目について、データ定義の出力をOFFにした場合、
編集保存時にエラーとなる場合があります。
データ定義の出力をONに設定して値を手動で設定するか、
データ定義の保存時処理で値を自動設定するなどの対応が必要です。

デザインタブ設定取り消し時の注意事項

デザインタブで設定した内容を取り消す場合は、「シートのレイアウトを初期化する」ではなく、「レイアウト初期化」から実施してください.

コピー・貼り付け時の注意事項

コピー元または貼り付け先の範囲に読取専用列が含まれている場合、貼り付けはできません。
コピー・貼り付けを行う場合は、読取専用列を含まない範囲を選択してください。

マルチデータベース利用時の注意事項

リストコンテンツ、データ管理コンテンツではマルチデータベースをサポートしております。
ただし、マルチデータベースにつきましては、参照としての利用もしくは単一テーブルの更新をサポートしております。
マルチデータベースを使用し複数データベースを更新する場合は動作しますが、データベース環境の組み合わせが多岐にわたるため、サポート対象外となります。

DBカラム型サポート

SpreadCraftでは、データベースのカラム型について以下のサポート状況となります。

サポート対象のDBカラム型

DB

DB型

サポート判断

制限名

PostgreSQL

smallint

サポート

ー

PostgreSQL

integer

サポート(制限付き)

整数上限制限

PostgreSQL

bigint

サポート(制限付き)

桁数制限

PostgreSQL

numeric

サポート(制限付き)

数値精度制限

PostgreSQL

decimal

サポート(制限付き)

数値精度制限

PostgreSQL

character

サポート

ー

PostgreSQL

character varying

サポート

ー

PostgreSQL

text

サポート

ー

PostgreSQL

date

サポート(制限付き)

日付入力制限

PostgreSQL

timestamp

サポート(制限付き)

日時入力制限

PostgreSQL

timestamptz

サポート(制限付き)

日時入力制限

PostgreSQL

boolean

サポート

ー

Oracle

CHAR

サポート

ー

Oracle

VARCHAR2

サポート

ー

Oracle

NCHAR

サポート

ー

Oracle

NVARCHAR2

サポート

ー

Oracle

CLOB

サポート

ー

Oracle

NCLOB

サポート

ー

Oracle

NUMBER

サポート(制限付き)

数値精度制限

Oracle

DATE

サポート(制限付き)

日付入力制限

Oracle

TIMESTAMP

サポート(制限付き)

日時入力制限

Oracle

TIMESTAMP WITH TZ

サポート(制限付き)

日時入力制限

Oracle

TIMESTAMP WITH LOCAL TZ

サポート(制限付き)

日時入力制限

SQLServer

tinyint

サポート

ー

SQLServer

smallint

サポート

ー

SQLServer

int

サポート

ー

SQLServer

bigint

サポート(制限付き)

数値精度制限

SQLServer

bit

サポート

ー

SQLServer

decimal

サポート(制限付き)

数値精度制限

SQLServer

numeric

サポート(制限付き)

数値精度制限

SQLServer

date

サポート(制限付き)

日付入力制限

SQLServer

datetime2

サポート(制限付き)

日時入力制限

SQLServer

datetime

サポート(制限付き)

日時入力制限

SQLServer

smalldatetime

サポート(制限付き)

日時入力制限

SQLServer

char

サポート

ー

SQLServer

varchar

サポート

ー

SQLServer

varchar(max)

サポート

ー

SQLServer

nchar

サポート

ー

SQLServer

nvarchar

サポート

ー

SQLServer

nvarchar(max)

サポート

ー

上記以外の型はサポート対象外となります。
サポート対象外の型を含むテーブルやビューをデータソースとして使用した場合、
エラーが発生したり、データが正しく表示・保存されない可能性があります。

制限付きサポートの詳細(制限名ごと)

表の「制限名」が同じ型には、同じ制限内容が適用されます。

整数上限制限

  • 対象型: PostgreSQL integer

  • 整数で10桁を超えると赤枠でエラーになり保存できません。

  • integerの場合は2,147,483,647が最大値です(2,147,483,648だとエラー)。

桁数制限

  • 対象型: PostgreSQL bigint

  • 16桁以上の登録はできません。

数値精度制限

  • 対象型: PostgreSQL numeric, PostgreSQL decimal, Oracle NUMBER, SQLServer bigint, SQLServer decimal, SQLServer numeric

  • 小数の入力は「小数の有効桁(n桁)」または「整数+小数で15桁」を超えた場合、最小桁が四捨五入されます。 整数15桁+小数1桁の入力を行うと小数が四捨五入されます。

  • 整数の入力は15桁に四捨五入されます(16桁以降が0になります)。

  • データ管理コンテンツでは、整数のみの入力で15桁を超えるとバリデートエラーになり保存できません。

日付入力制限

  • 対象型: PostgreSQL date, Oracle DATE, SQLServer date

  • データ管理コンテンツで日付項目をカレンダーから選択した直後、テキストボックスに時刻(現在時刻)が表示されます。 NULLからカレンダー選択した場合、テキストにフォーカスを当てると表示されます。

  • データ管理コンテンツでデータ保存前に日付ピッカーから変更すると、時刻はデフォルト値のまま日付のみ変更されます。

  • データ管理コンテンツでデータ保存前にテキストボックスから日付のみ(時刻を除去)で変更した場合、時刻は削られ、日付ピッカーから変更しても時刻は表示されません。

  • データ管理コンテンツでデータ保存すると、DATE型の都合上、時刻が削除されます。

  • データ管理コンテンツで日付項目のテキストボックスにフォーカスがある状態で日付ピッカーで日付変更すると日付フォーマットが崩れます。

日時入力制限

  • 対象型: PostgreSQL timestamp, PostgreSQL timestamptz, Oracle TIMESTAMP, Oracle TIMESTAMP WITH TZ, Oracle TIMESTAMP WITH LOCAL TZ, SQLServer datetime2, SQLServer datetime, SQLServer smalldatetime

  • Timestamp型で桁(0桁~6桁)を定義したとしても、画面(セル)表示上はミリ秒が3桁になります。 デザイナの「セルの書式設定」が「ss.000」となっており、ミリ秒を4桁以上表示できません。

  • データ管理コンテンツの日付ピッカーで選択した場合、ミリ秒は「.000」となります。

  • テキストボックスから入力した場合、ミリ秒は「.999(数値)」となりますが、エラー表記となります。 表示される小数点以下1桁のみが許容されます(データ型の桁数は無視されます)。

  • 桁数が3桁を超える場合、画面表記上3桁となってしまい、時刻項目以外を変更し保存すると、ミリ秒が削られてしまいます。

  • データ管理コンテンツで「保存時処理:更新日」を設定すると、ミリ秒がデータ型の桁数に応じて設定されます。

言語サポート

SpreadCraftは日本語表記のみ対応しています。
intra-mart Accel Platformにて他ロケール(英語、中国語等)を選択した場合も、
SpreadCraftの画面表示は日本語表記となります。

その他

Spreadシート内の動作についてはSpreadJSの仕様に準じます.