こちらのTIPS(「テーブルを別アプリのレコードに書き出し、常に同期を取る方法」)では、テーブルの内容をレコードに書き出して同期しています。

しかし、一方方向の同期のため、書き出し先のレコードを変更しても書き出し元のテーブルには反映することが出来ません。

 

今回は、双方向で同期ができるように、書き出し先のアプリにもカスタマイズを設定してみます。

今回のカスタマイズで出来ること

  • 同期されているレコードを保存したときに、同期元のテーブルを上書き更新します

  • テーブルを上書き更新するときは、テーブルの並び順を維持します


案件管理アプリには以下のフィールドを作成しました

フィールド名

フィールドコード

テーブル

フィールドタイプ

採番キー

採番キー


文字列1行

削除

削除

活動履歴

チェックボックス

並び順

並び順

活動履歴

数値

更新キー

更新キー

活動履歴

文字列1行

活動日

活動日

活動履歴

日付

活動内容

活動内容

活動履歴

文字列1行

会社名

会社名

活動履歴

文字列1行

メモ

メモ

活動履歴

文字列1行



集計アプリには以下のフィールドを作成しました

フィールド名

フィールドコード

テーブル

フィールドタイプ

採番キー

採番キー


文字列1行

更新キー

更新キー


文字列1行

削除

削除


チェックボックス

並び順

並び順


数値

活動日

活動日


日付

活動内容

活動内容


文字列1行

会社名

会社名


文字列1行

メモ

メモ


文字列1行




こちらのTIPS(「テーブルを別アプリのレコードに書き出し、常に同期を取る方法」)でアプリを作成済みでしたら採番キーと並び順を追加するだけですので、見た目よりは設定は簡単と思います。



Customineの設定

案件管理アプリ

レコードを保存する直前(削除時は除く)」の時に同期用のキーなどを作成します。そして、「レコードを保存した直後(削除後は除く)」の時に同期します、それ以外は見た目のカスタマイズです。


集計アプリ

レコードを保存した直後(削除後は除く)」の時に同一の採番キーを持つレコードを取得して、案件管理アプリのテーブルを上書きします。


各アクショングラフには説明のため「やること」の名称を追加しています




案件管理アプリ

テーブル行とレコードの紐付けに必要な値を作成します

レコードを保存する直前(削除時は除く)」に「テーブルの列に対して一度に自動採番を行う」と「テーブルの列に行番号をセットする」と「自動採番を行う」を実行します。



テーブルの列に対して一度に自動採番を行う」では、次のように設定してください。



自動採番を行う」では、次のように設定してください。


レコードを追加・更新します

「レコードを保存した直後(削除後は除く)」に「テーブル行をレコードとして取得する」と「レコードをもとに別のレコードを更新または追加する」を実行します。


レコードをもとに別のレコードを更新または追加する」のマッピングでは、テーブ内のフィールドとテーブル外のフィールドの両方を指定していますので、設定時にはご注意ください。



フィールドの非表示や無効化をします

追加画面・編集画面を表示した時」に「テーブルの行増減ボタンを非表示にする」でテーブル行を削除できないようにします。

さらに、「フィールドやグループを非表示にする」で「更新キー」を非表示にします。


採番キーと並び順は「フィールドを無効化する」で無効化にするのですが、テーブル内とテーブル外のフィールドを一度に指定できないので、2つに分けて設定します。



詳細画面を表示した時」に「テーブルの表示行を絞り込む」で削除にチェックが入っている行を表示しないようにします。そして、「フィールドやグループを非表示にする」で「更新キー」と「削除」を非表示にします。

以上で、案件管理アプリの設定は完了です。



集計アプリ


レコード保存時に案件管理アプリのテーブルを上書きします

レコードを保存した直後(削除後は除く)」に「キーを指定してレコードを取得する」でレコードを取得し、「レコードを並べ替える」で並び順にします。

その後、「レコードを指定アプリのテーブルに書き出す」でテーブルに書き出します。


レコードを指定アプリのテーブルに書き出す」の設定は次のようになります。


まとめ

2つのアプリをカスタマイズすることで、テーブル行←→レコードの同期が可能になりました。



テーブルを別アプリのレコードに書き出し、常に同期を取る方法」では、テーブル行→レコードの紐付けに「テーブルの列に対して一度に自動採番を行う」を利用しました。しかし、双方向にするにはそれだけでは足りないので「自動採番を行う」で採番キーを作成しています。

 

更に、テーブルに書き戻した時に並び順を維持するために、「テーブルの列に行番号をセットする」で並び順を設定しました。これは常に上書きで順番をセットするので便利です。

 

このように複数のキーを利用すると、レコードをまとめて処理する際に便利です。色々とお試しください。