5 返信 最新の回答 日時: Feb 10, 2016 11:55 PM ユーザー:parc_box

    前日残の出し方がわかりません。

    parc_box

      お世話になっております。久しぶりの投稿です。

      当方Windows7環境、FileMaker Pro 14を使用しております。

       

      現在、倉庫マスタと倉庫日報を作成してるのですが、作成してるモノ双方において[1運転日前の製品在庫]を出すためのフィールド「前日残」の出し方がわかりません。

      作成してる倉庫マスタと倉庫日報、実際には他にもいろいろと繋がってるのですが、2つのリレーションと関連フィールドは下図の通りです。

      FMP質問_倉庫日報関連_前日残の出し方.png

      文章でまとめるのが難しかったので、画像内にまとめてるのですが、画像中に記載してるとおり「前日残」の出し方が解らず、現在作業が停滞しております。

       

      どうぞよろしくお願いいたします。

        • 1. Re: 前日残の出し方がわかりません。
          parc_box

          前回の続き。

          一一他の作業も進めながらやってるので、間が空いてしまってます。

           

          日報作成スクリプトは正常に動作してます。

          新規レコード→「通し番号」を元にレコード作成

          通し番号94番まで日報として新規レコードを作成し終わったらスクリプト終了。

           

          今日の段階では、先に「前日残を探し出す際に必要になる」と思われる「前運転日」を出したいと思い次の内容の作業を行いました。

           

          ①まず「前日残」を直接出す前に「作業日」フィールドを「運転日」と名前を変更し、それと同時に「前運転日」(フィールドタイプ:日付)というフィールドを作成。

          「前運転日」が出せたら、そこを元に前日残を出せるに違いないと思いつく。

          ※まさに前運転日の実在庫数が「前日残」であるため。

           

          ②次にリレーションシップグラフを表示させ、もう一個日報のテーブルを用意。

          それぞれの「通し番号」フィールド同士を【=】でつなぎました。

          ※自己連結型リレーションシップ。一一のつもり。

           

          [倉庫日報]テーブル:フィールド・通し番号 一一[=]一一 [もう一つの倉庫日報]テーブル:フィールド・通し番号

           

          ③日報出力スクリプトを実行させ「運転日」に日付が入ったら「前運転日」入るようにと考え、フィールド「前運転日」には次の式を設定。

          LookupNext((倉庫日報 ~ 【前運転日】::運転日)- 1 ; 前方 ))

          ※前日が休日の場合、次の前方の日付をあてるようにしたいので「運転日-1」としています。

           

          以上で、先週土曜日の日報を別ファイルで作成してる[倉庫マスタ]側にうつし、前述のスクリプトを実行させ[倉庫日報]側に流し込むと、フィールド[前運転日]には「?」の値が入ってしまいます。マウスで選択して、何か他の値が入ってて文字化けしてるのかなと思い、フィールドの確認・レイアウト上でのデータタイプの確認をしてみましたが、日付で間違いありませんでした。

           

          一一考え方が悪いにしても、どこが悪いのか見当もつかない状態です。(※薄ぼんやりと見えそうで見えないもどかしさと言いましょうか……)

          • 2. Re: 前日残の出し方がわかりません。
            ko1

            初めて書き込ませていただきます。

            記載されている情報から、前日の在庫実数が前日残として反映されれば良いと捉えて

            以下のような案を考えてみました。

            倉庫マスタに前日残の情報を持たせ、日々更新する形にしてはどうでしょう。

             

            ----------------------------------

            目標  :倉庫日報の前日残に前日の在庫実数を反映させる。

             

            現運用 :当日の倉庫日報を新規作成(倉庫マスタの94項目分)

                 当日の出荷実数を入力し、前日残の数字と合わせ当日の在庫実数を算出

             

            前提条件:・当日の在庫実数はどこかのタイミングで確定し以降変動がない。

                 ・製品別通し番号で倉庫日報と倉庫マスタがリレーションが組まれている

                 ・倉庫日報には(当日の)在庫実数フィールドと前日残フィールド、作業日(あるいは登録日)フィールドが、

                  倉庫マスタには前日残フィールドが用意されている。

             

            案   :(1) 日報作成のスクリプトでレコードを作成する方法を、倉庫マスタに登録された全レコード(94件)を

                   インポートする形にする。

                   ※インポートする際に倉庫マスタ側の「前日残」フィールドの情報を

                        倉庫日報の「前日残」に取り込まれるようにする

                    数字として取り込んでしまうので、リレーション等の処理は不要となる

                 (2) 当日分の日報レコードに必要な情報を手入力してもらう

                 (3) 入力が完了し情報として確定したら、当日作成したレコード(94件)を抽出した上で、

                   倉庫日報の「在庫実数」フィールドとリレーションしている倉庫マスタの「前日残」フィールドの

                   両方が揃っているレイアウトで

                   倉庫マスタの「前日残」フィールドを倉庫日報の「在庫実数」フィールドの値で全置換する。

                   ※この処理で前日残フィールドが更新されるので翌日(1)の作業を行うと、更新された前日残情報が

                    翌日の日報に取り込まれる

            • 3. Re: 前日残の出し方がわかりません。
              parc_box

              re:ko1さんへ

              いろんな作業に追われてる間にお返事頂いて、確認が遅れてしまいました。今朝の作業を終えて、やっと返信内容についてしっかり考える余裕がでたのでお礼だけ先に失礼します。

              隙間を縫いながらの作業進行なので、とても助かります。ありがとうございました。

               

              それにしても[目標][現運用][前提条件][案]に分けて書くというのは恥ずかしい話ですが自分には新鮮でした。なるほど、こういうまとめ方があるのかと感動してしまいました。参考にさせていただきます。

               

              それでは、早速色々と返信頂いてる内容を参考にしながら取り掛かってみます。

              • 4. Re: 前日残の出し方がわかりません。
                ko1

                park_box様

                 

                挙げられていた情報が多かったことから、最終目的を明確にしたかったので

                あの書き方で整理してみました。

                 

                ご参考になれば幸いです。

                • 5. Re: 前日残の出し方がわかりません。
                  parc_box

                  その後の結果です。

                  倉庫マスタ側(現在の倉庫状況)に入る「前日残」はスクリプトでの吸い出しでとりあえず解決しました。

                  日報側(日付別倉庫状況)はフィールドごとの関数で集計を取る流れとなりました。

                  こちらの説明ベタが原因でko1さんからだけ返信を頂くことができましたが「情報が多かった」というヒントが大いに役立ちました。(どうもややこしく考えてしまう癖があるみたいでして)

                  一一まだまだ、細かい不具合は持ってるんですが、とりあえず安心出来る状況になりました。

                  なんとか最初の山場の先が見えてきたのでご報告まで><。

                  お騒がせしました。