# テーブル同期 詳細マニュアル | 設定リファレンス・トラブルシューティング - KINTAUROS

> kintoneプラグイン「テーブル同期」の詳細マニュアル。全設定項目のリファレンス(意味・制約値)、動作条件・制限事項、エラーコード別のトラブルシューティングを掲載。対象バージョン: v1.3.0。

元ページ: https://kintauros.com/plugins/table-sync/manual/

テーブル同期は、レコードの保存と同時に、このアプリのサブテーブルの内容を別アプリの対応レコードのサブテーブルへ上書き転記するプラグインです。このマニュアルでは、設定項目のリファレンスと、動作仕様・制限事項・トラブルシューティングを説明します。

機能紹介・画面イメージ・導入手順は[プラグイン紹介ページ](https://kintauros.com/plugins/table-sync/)を、ダウンロードは[ダウンロードページ](https://kintauros.com/download/)をご覧ください。このマニュアルは[Markdown版](index.md)でも提供しており、全プラグインのメタ情報と設定スキーマは機械可読な[catalog.json](https://kintauros.com/catalog.json)から取得できます。

## 基本情報

- **プラグインID**: table-sync

- **対象バージョン**: v1.3.0(配布中の最新版)

- **カテゴリ**: テーブル編集・連携

- **説明**: レコード保存時に、テーブルの内容を別アプリの対応レコードのテーブルへ転記（上書き）します。添付ファイルにも対応。

## 動作条件

- **対応環境**: kintone スタンダードコース(デスクトップ版UI)。最新版の Chrome / Edge / Safari / Firefox に対応。

- **動作タイミング**: レコードの新規作成・編集の保存成功時(デスクトップ版)。モバイルアプリからの保存では転記されません。

- **必要な権限**: 保存するユーザーに、転記先アプリの対象レコードの閲覧・編集権限が必要です。

## 設定項目リファレンス

プラグイン設定の全項目です。「項目」は設定データ(エクスポートファイルの config)のキーを表し、[] は配列の要素を意味します。設定画面での入力項目と1対1に対応します。この構造の正式な定義はJSON Schema([catalog.json](https://kintauros.com/catalog.json) の configSchema)として公開しています。

- **項目**: 型 / 必須 / 説明・制約

- **rules**: 配列 / 必須 / 転記ルール / 1件以上

- **rules[].srcTable**: 文字列 / 必須 / 転記元テーブル(このアプリ) / 1文字以上 / 対応フィールド型: SUBTABLE

- **rules[].destAppId**: 文字列 / 必須 / 転記先アプリID / 形式: ^[0-9]+$

- **rules[].destAppName**: 文字列 / 任意 / 転記先アプリ名 / 表示用の控え。保存時に自動で最新化される。

- **rules[].destTable**: 文字列 / 必須 / 転記先テーブル(転記先アプリのサブテーブルのフィールドコード) / 1文字以上

- **rules[].srcKeyField**: 文字列 / 必須 / 転記先レコード番号フィールド(このアプリ) / 転記先アプリのレコード番号が入っているフィールド。空のレコードでは転記しない。 / 1文字以上 / 対応フィールド型: NUMBER, SINGLE_LINE_TEXT, RECORD_NUMBER

- **rules[].emptyBehavior**: 文字列 / 任意 / テーブルが空のときの動作 / skip = 転記しない(転記先を保護) / clear = 空で上書きする。省略時は skip。 / 値: skip | clear

- **rules[].mappings**: 配列 / 必須 / フィールドの関連付け / 1件以上

- **rules[].mappings[].src**: 文字列 / 必須 / 転記元(テーブル内)フィールドコード / 1文字以上

- **rules[].mappings[].dest**: 文字列 / 必須 / 転記先(テーブル内)フィールドコード。型が一致している必要がある / 1文字以上

- **rules[].destLookups**: 配列 / 任意 / 転記先テーブル内のルックアップ情報(保存時に自動算出) / 実行時の送信制御に使う内部情報。手で編集しない(保存時に転記先アプリの定義から再計算される)。

- **rules[].destLookups[].field**: 文字列 / 任意 / -

- **rules[].destLookups[].copyTargets**: 配列(文字列) / 任意 / -

## 設定のポイント

- 転記先レコードは srcKeyField(このアプリのフィールド)に入っている転記先のレコード番号で特定します。ルックアップやアプリアクションでコピーした番号を使うのが一般的です。値が空のレコードでは転記しません。

- emptyBehavior でテーブルが空のときの動作を選べます。既定は skip(転記しない・転記先を保護)で、必要な場合のみ clear(空で上書き)にします。

- destLookups は保存時に転記先アプリの定義から自動算出される内部項目です。手で編集しないでください。

## 動作仕様

- 保存が成功したタイミングで、転記先レコードのサブテーブル全体を編集後の内容で上書きします(行単位の差分反映ではなく全置換)。

- テーブル内の添付ファイルフィールドは、ファイルを自動で再アップロードして転記先へコピーします。

- 転記先テーブル内のルックアップフィールドには取得が自動実行され、参照先からの自動コピーと衝突しないよう転記内容が調整されます。

- 転記先レコードが特定できない場合(番号が空・該当レコードなし)は何もしません。

## 制限事項・既知の仕様

- モバイルアプリからの保存、REST API・CSV読み込みによる更新では転記されません(デスクトップ版の画面保存時のみ)。

- 転記元と転記先のフィールドは型が一致している必要があります。

- 転記はテーブル全体の上書きです。転記先側でテーブルを直接編集しても、次の保存で転記元の内容に置き換わります。

## 設定のインポート / エクスポート

プラグイン設定画面の上部にある「設定のインポート / エクスポート」から、現在の設定をJSONファイルとして書き出し(エクスポート)、別のアプリで読み込み(インポート)できます。検証用アプリから本番アプリへの設定コピーや、バックアップ・復元にご利用ください。

- インポートは取り込む内容の差分を確認してから「設定画面に反映」し、最後に「保存」を押して確定します(反映しただけでは保存されません)。

- 読み込んだファイルはブラウザ内で処理され、KINTAUROSのサーバーには送信されません。

- 別のアプリの設定を取り込んだ場合、このアプリに存在しないフィールドは警告として一覧表示されるので、反映後に該当箇所を選び直してください。

エクスポートファイルは次の形式(封筒形式)です。config の中身が設定本体で、その構造は上の設定項目リファレンスのとおりです。

```
{
  "kintauros": "config/v1",
  "plugin": "<プラグインID>",
  "pluginName": "<プラグイン名>",
  "pluginVersion": "<バージョン>",
  "exportedAt": "<書き出し日時(ISO 8601)>",
  "sourceApp": "<書き出し元アプリID>",
  "config": { ... 設定本体 ... }
}
```

### AIエージェント向け: ブラウザコンソールAPI

各プラグインは共通ランタイム window.KINTAUROS を搭載しており、ブラウザの開発者コンソールから設定の読み取り・検証・保存ができます。設定の保存(save: true)はkintoneの制約上、プラグイン設定画面でのみ成功します。

```
KINTAUROS.config.plugins()                   // このページのKINTAUROSプラグインID一覧
KINTAUROS.config.describeAll()               // 同居プラグインすべての設定サマリ
KINTAUROS.config.of('<プラグインID>').schema()    // 設定のJSON Schema
KINTAUROS.config.of('<プラグインID>').export()    // 現在の設定(封筒つき)
KINTAUROS.config.of('<プラグインID>').validate(x) // 保存せず検証
KINTAUROS.config.of('<プラグインID>').diff(x)     // 現在の設定との差分
await KINTAUROS.config.of('<プラグインID>').import(x, { save: true }) // 検証して保存(設定画面のみ)
```

登録が1件だけのページでは of(...) を省略できます(例: KINTAUROS.config.export())。

## トラブルシューティング

**保存しても転記先に反映されない**

(1)srcKeyField に転記先のレコード番号が入っているか、(2)その番号のレコードが転記先アプリに存在するか、(3)保存したユーザーに転記先レコードの閲覧・編集権限があるか、(4)モバイルアプリから保存していないか、を確認してください。

**転記先のテーブルが空になってしまった**

emptyBehavior が clear(空で上書き)になっていないか確認してください。既定の skip では、テーブルが空のまま保存しても転記先には反映されません。

**転記時にエラーが表示される**

フィールドの関連付け(mappings)の転記先フィールドが削除・型変更されていないか、転記先テーブルのフィールドコードが変わっていないかを確認してください。フォーム変更後は設定画面で選び直して保存してください。

## エラーコードと診断情報

テーブル同期を含むKINTAUROSプラグインは、エラー発生時にブラウザのコンソールへ統一形式のログを出力します。人間向けの1行に続けて、機械可読なJSON(code / plugin / version / appId / message / doc)を出力し、doc には該当エラーの解説ページのURLが入ります。

```
[KINTAUROS <プラグインID>@<バージョン>] E001: 設定されたフィールドが見つかりません: ...
{"kintauros":{"code":"E001","plugin":"...","version":"...","appId":"...","message":"...","doc":"https://kintauros.com/docs/errors/E001"}}
```

各エラーコードの意味と対処は[エラーコード一覧](https://kintauros.com/docs/errors/)を参照してください。また、プラグイン設定画面の「サポート用情報をコピー」から、環境・バージョン・ライセンス状態・直近のエラーを含む診断情報をコピーできます(レコードの内容や個人情報は含まれません)。お問い合わせの際はこの情報を添えてください。

## ライセンスについて

- 初回利用時は、プラグイン設定画面の「利用開始」ボタンから60日間の無料トライアルを開始できます(カード登録不要)。

- トライアル・契約の期限が切れるとプラグインの動作は停止し、画面に案内が表示されます。[料金プラン](https://kintauros.com/#pricing)から契約すると同じ設定のまま再開できます。

- ライセンス確認のための外部通信で送信されるのは、kintoneドメイン名・プラグインID・バージョンのみです。レコードの内容や個人情報が外部に送信されることはありません。

- ライセンスサーバーに一時的に接続できない場合も、プラグインは一定期間動作を継続する設計です。

## サポート

解決しない場合は[お問い合わせ](https://kintauros.com/contact/)からご連絡ください。その際、プラグイン設定画面の「サポート用情報をコピー」でコピーした診断情報を添えていただくと、調査がスムーズです。

最終更新: 2026-08-14 / 対象バージョン: v1.3.0
