5 返信 最新の回答 日時: Oct 12, 2015 8:44 PM ユーザー:coyayac

    帳票印刷をサーバー側で処理をする

    coyayac

      帳票の発行にて、データが増えてくるにつれ段々と集計に時間が掛かるようになっています。

      サーバーとしてFileMakerServerを使用しているのですが、集計や帳票作成をサーバー側で行わせて

      スピードアップするようなことは可能でしょうか?

      サーバーサイドのスクリプトの実行は、このような場合に出来るのでしょうか?

        • 1. Re: 帳票印刷をサーバー側で処理をする
          sago350@未来Switch

          帳票PDFを作っておくことを、FileMaker Serverで行わせることは出来ません。FileMaker Proがインストールされているマシンを用意しておいて、それにやらせるといった方法はあります。

           

          集計部分はFileMaker Serverで夜間に計算させて、計算フィールドでないフィールドに計算した結果の値を保存しておくことで、高速化出来るでしょう。(要は予め計算させておく)

          計算した結果なので、そのデータに対して印刷しても計算は発生しないので、高速化されます。

          • 2. Re: 帳票印刷をサーバー側で処理をする
            user14047

            夜間(か一定時間ごと)に FileMaker Server のスケジュールでスクリプトを走らすか、必要なフィールドに対して onObjectModify で [サーバー上のスクリプト実行] をさせるかでしょうね。サーバー上のスクリプト実行も「終了まで待つ」オプションをきっておけば、サーバーに処理を投げっぱなしで結果を待たなくてもいいですし。

            前者は負荷は少ない代わりにリアルタイム性が損なわれるけど、後者の膨大な負荷よりはマシかもといったところでしょうか?

             

            Monkeybread Software : MBS Filemaker Plugin : DynaPDF を使うことで、Server 上で PDF を作成できるにはできるんですが、FileMaker のレイアウトを PDF に出来るわけではないのであまり現実的ではありません。

            FMS のスケジュール( or サーバー上のスクリプト実行)で集計させておけば、出力するだけだったら時間はかからないので、PDF を作成しておく必要もないでしょう。

            • 3. Re: 帳票印刷をサーバー側で処理をする
              coyayac

              sago350@未来switchさん、user14047さん

               

              アドバイスありがとうございます。

              システムのデータが多くなってくるにつれて集計に時間がかかるようになってしまいました。

              なので特に帳票系のスピードアップができればと思っています。


              業務の内容と照らし合わせて、リアルタイムのでの集計はあまり必要がないことが分かりました。

              なので夜間で集計しようと思うのですが、集計結果を保持する方法がピンときません。

              夜間で行うことはだいたい以下のような方法になるのでしょうか?

               

              ・計算系のフィールドは別の計算ではないフィールドに値の転送

              ・サマリー結果(例えば得意先毎の計)を計算して保持しておきたい場合は、loopでくるくる回しながら得意先ごとに集計しておく。

               

              のような感じになりますでしょうか

              重ねてで申し訳ないのですがヒントをいただけると助かります、、

              • 4. Re: 帳票印刷をサーバー側で処理をする
                sago350@未来Switch

                方向的にはその考え方であっています。

                 

                例えば、顧客ごとの売上集計であれば、顧客の月ごとの売上金額を別テーブルに保存しておけば、、、

                (1か月の売上件数が100件だとして)

                2015年の1〜9月までの9レコードの値+今月分の売上を合計すれば、109レコードの合計で済みますよね。

                前月までの集計結果で良いのなら、9レコードの合計になります。


                ま、どういう集計をするかにもよるのですが。

                • 5. Re: 帳票印刷をサーバー側で処理をする
                  coyayac

                  集計結果をとっておければ、あとはそのまま印刷するだけなので劇的に早くなりそうです。

                  あとは作りながら模索していきます。

                   

                  いつもありがとうございます。