初心者にもわかるファイルメーカーの
使い方

ポータル行を含んだレコード複製の作り方
〜コミットコントロールを考慮した処理〜

2020-12-09 |  

こんにちは、季節の変わり目には肌荒れがひどくなってしまうfilemakerチームの久保田です。
今回書かせていただく記事は、ポータルを含んだレコード複製の作り方についてです。

見積や売上などの伝票を作成する際、レコードの複製をしたい場面が、しばしばあるかと思います。
伝票だけなら簡単なのですが、ポータルまでとなると手間がかかります。
コミットコントロールを考慮するとなると難易度が上がります。
そこで今回はポータル行を含んだレコード複製の作り方についてチャレンジしていこうと思います。

準備

ファイルを用意しました。
・テーブル
・見積 見積明細
・リレーション
・見積_見積明細(レコードの作成を許可)
・レイアウト
・見積 見積編集(編集用のレイアウト)

レコードを用意しました。

処理解説

ここからは複製機能の解説です。

以下が基本的な流れになります。

複製するポータルのデータを行ごとにJSON形式で取得

編集レイアウトに遷移

見積の複製

取得したJSONデータを元に明細行を作成

細かく見ていきます。

まず必要なデータをボタンの引数から取得します。

$portal → 複製するポータルの名前

$fieldArray → 挿入するフィールドの一覧

$table → レイアウト遷移に使用

ここのloop処理で複製元のポータルデータを保持します。

データはこのようになります。

あとは編集レイアウトに遷移し、レコード複製とポータル行ごとにレコードを挿入していきます。

テスト

これで完成したので、試してみます。

この画面から複製ボタンを押すと

きちんと複製されました!!

いかがだったでしょうか。ポータルに関する処理はコミットコントロールが関わると難しくなることがしばしばあるかと思います。
なのでつまずくこともあると思いますが、解決した先に、新たな発見があると思うので、がんばっていきましょう!!

これで終わらせていただきます、ご精読ありがとうございました。