過去の桐井戸端BBS (桐ver.7) |
2425 | 在庫管理で「前日在庫」の計算方法 | おさるのまいき- | 1999/8/18-11:43 |
こんにちわ。はじめてメールします。 私は、ある会社のシステム開発をまかされています。新社屋設立にあわせて 「もっと業務を自動化したい」という管理部からの要望で、新しいシステムを 作ることになり、さんざん迷った挙げ句、桐Ver.7を選びました。 業務内容は、簡単に言うと在庫、入荷、発注、の管理なのですが 在庫のところでひっかかってしまい、どうにも先に進まなくなってしまいました。 本日在庫=前日在庫+本日入荷数+本日材料使用量 という計算で やりたいのですが、「前日在庫」を桐でどうやって計算させるのかが 全くちんぷんかんぷんです。 桐のパワーユーザーの皆様方、 どうかこんな初心者のまいき−を助けてください! | |||
2427 | Re: | su | 1999/8/18-12:49 |
記事番号2425へのコメント おさるのまいきさん、こんにちは 桐のパワーユーザーでは全くないのではずしていたらごめんなさい。 [本日在庫]の項目計算式に #直前値( [] , 0) +[本日入荷数]+[本日材料使用量] [前日在庫]の項目計算式に #直前値( [本日在庫] , 0) これでよいかと思うのですが。 ちなみに[本日入荷数]と[本日材料使用量]の項目属性の"入力後再計算"チェックを入れて おくと、それぞれ入力終了と同時に計算され便利ですね。 あ、こんなこと知っているって。すみません。m(_ _)m それと、結合表をお使いのようであれば、桐Ver.7を桐Ver.7.1UP2にアップグレードす ることをお勧めします。 結合表の再定義などある組み合わせの作業を行いますと、それまで作っておいた各種条件 や、一覧表印刷などがおかしくなったり、消えて無くなったりのバグがあります。 これにはずいぶんと泣かせられました。 | |||
2429 | がんばります | おさるのまいきー | 1999/8/18-13:48 |
記事番号2427へのコメント suさん、 早速のアドバイス、感謝感謝です。 ありがたく試させていただきます。 うまく動かなかったら また教えてくださいね(調子良さすぎ?) | |||
2435 | Re: | su | 1999/8/18-18:32 |
記事番号2429へのコメント うまく動かなかった場合、ちゃんとアドバイスできるかどうかかなり不安ですが、 きっとその時は桐の達人のみなさんが応援してくれると思います。 ネ、そうですよね皆さん。 では、幸運を祈ります。 | |||
2441 | 在庫の計算式 | おさるのまいきー | 1999/8/19-10:12 |
記事番号2435へのコメント suさん、きのうはホントーにありがとう! 在庫の計算できました。が!!実はもう一つ問題が・・・ きのう教えてもらった計算式は、1日に対して 1つの製品が対象のときは何の問題もないんですけど 1日に発生する使用材料が何件もある場合 単に #直前値([当日在庫],0)ではマズイんです・・ 直前値の計算式に条件式(IFみたいな)を付随させる事は 可能なんでしょうか?解決策知ってたら教えてください。 あと、「うちの会社は桐で材料発注・在庫管理してるよ」 という方がいたら、ぜひぜひその方法なんて 教えていただけないかなー。 皆様、なにとぞよろしく・・・ | |||
2442 | Re: | おさるのまいきー | 1999/8/19-10:34 |
記事番号2441へのコメント 書き足しでーす 今現在は 稼働日(工場が稼動する日) 生産計画(1ヶ月分の生産予定) 製品マスター(完成品) 材料マスター(使用材料) 材料使用量マスター(製品1つに必要な材料の使用量) 以上のテーブルを作成して 日別使用量を計算するために 5つのテーブルを結合させて 日別使用量 という結合表を作成しています。 この結合表を元に在庫管理と発注業務がしたいと 思っているんです。 で、困っているのはこのような場合なんです。 日付 材料名 日別使用量 前日在庫 当日必要数 発注数 当日在庫 7/1 A 10 7/1 B 5 7/1 C 20 7/2 B 10 7/2 E 15 7/3 A 5 7/3 C 25 こんなふうに作ってます。 もっと簡単な方法とかあったら 教えてくださいませ。 | |||
2445 | Re: | 宮城 | 1999/8/19-12:21 |
記事番号2442へのコメント おさるのまいきーさん、こんにちは。 自分のやりかたであれば、表を材料ごとに分けます。項目計算式や一括処理 ロジックでコリコリに頑張っても可能ですが、どちらがわかりやすいでしょうか? | |||
2447 | Re: | 宮城 | 1999/8/19-12:31 |
記事番号2445へのコメント 追伸 もし仮に、材料種類が不特定であるなら、メインで使うものを個別表、あとを その他でくくったらどうでしょうか。 なにがでてくるかわからないものの在庫管理。どこまでパソコンでやり、どこ からは手集計という切り分けの問題だと想います。 蛇足のような気もしますが。 | |||
2456 | お礼です | おさるのまいきー | 1999/8/19-17:34 |
記事番号2447へのコメント 宮城さん、こんにちは。 的確なアドバイス、ありがとうございます。 桐を使い始めてまだ1ヶ月の、"超"初心者の私なので 桐の機能をうまく使いこなす事が出来ず、 かなりイライラした毎日をおくっています。 何を自動化にして、何を手動でやるのか もう一度整理してみようと思ってます。 ちなみに、我が社は自動車シートの縫製を しています。原材料は主に反物ですが、 理論在庫と実在庫にかなり隔たりがあって 問題になり、(今まではほとんど手作業でやってたんですよ、 いまどき、なんちゅう会社じゃ) それを解消するためにデータベース化を進めることと なったわけです。 まだまだ、桐ユーザーとしては かなり頼りない私ですが、(っていうか それ以前?) また 壁にぶち当たったら顔出します。 そのときは、どうぞよろしく。 つたない私を応援してくださった SUさん、そして宮城さんへ ありがとうございました。 |
|||
2457 | Re: | 宮城 | 1999/8/19-18:59 |
記事番号2456へのコメント 私のところでは、桐V5で在庫管理をしています。 いくつか気になる点がありますが、桐から離れた話になってしまい ますので、よろしければメールください。 |
|||
2486 | Re: | Ogo | 1999/8/23-04:11 |
記事番号2442へのコメント >日付 材料名 日別使用量 前日在庫 当日必要数 発注数 当日在庫 >7/1 A 10 >7/1 B 5 >7/1 C 20 >7/2 B 10 >7/2 E 15 >7/3 A 5 >7/3 C 25 一括処理を使っていいのなら、特に難しくはないでしょう? 材料名ごとに選択をして、日付順に整列をかけて、[前日在庫]を先般教わった 計算式で置換するという手順でいいはずですが。 もちろん、概念だけ述べてますので、実際にプログラミングするにはそれなり の配慮が必要ですが。 |
|||
2490 | Re: | おさるのまいきー | 1999/8/23-14:52 |
記事番号2486へのコメント Ogoさん、はじめまして。良いヒント頂いてうれしいです。 さっそく試してみたところ、在庫の計算、できました! ただし、材料数が700近くあるので、 1つの材料につきこの処理を700回するのも かなり手間がかかるのではないでしょうか? それとも、一括処理の中で、すべての材料に対して 教えていただいた処理を行う事が可能なのですか? なにぶん桐を使い始めたばかりの初心者ですので ご指導よろしくお願いします。 |
|||
2499 | Re: | Ogo | 1999/8/24-20:02 |
記事番号2490へのコメント >ただし、材料数が700近くあるので、 >1つの材料につきこの処理を700回するのも >かなり手間がかかるのではないでしょうか? 通常なら、ループを組んで繰り返し処理をします(一括処理の「繰り返し」参照)。 ただし毎日700もの材料があるなら、これはちょっとかったるいですね。 それならば、別の方法を考えるまでです(自分でも少しは工夫してみたんでしょうねぇ?)。 しかし、当初に書いてあった各項目の定義内容と後から書いた定義内容が 一致しておらず、各項目の数値を求める計算式がどうも怪しいとしか言え ないので、具体的に提示するのは困難です。 が、次の前提で書きます(多分、これで充分ヒントになると思う)。 項目は4つのみ。 [日付] [材料名] [前日在庫] [本日在庫] 毎日毎日700もの材料の前日在庫数を、前日の本日在庫数を調べて入力 するのは大変なので、なんとか一括処理で自動転記できないものか。 1.整列 [材料名]正順,[日付]逆順 2.選択−単一化−[材料名] 3.書き出し−表−TMP.TBL [材料名][本日在庫] 4.選択解除/整列解除/終端へ移動 5.TMP.TBL を読み込み [材料名] -> [材料名],[本日在庫] -> [前日在庫] 6.選択 [日付]=#未定義 7.置換 [日付]=#年月日 以上 要するに、最終日の「持ち越しデータ」を別表に書き出して、現在の表の 本日の各材料データに取り込むと言うことです。 上記の場合は[日付]と[材料名]も一緒に作成してしまいますが、既にその 2項目のデータが存在する場合は、 書き出す時は[材料名]で単一化する前に [日付]<#年月日 で事前に本日の データを除外しておいてから書き出します。 当然、読み込みを行わず、[材料名]を照合項目に指定して[前日在庫]欄に 併合(置換)で書き出した表の[本日在庫]欄を複写します。 p.s. 日付は 1/1 〜 12/31 の間が正しく整列するような形式でないと、 何をやっても徒労に終わります。 また、上記で #年月日 と書いてある部分は、[日付]と同じ形式での 本日を意味します。 |
|||
2503 | Re: | 宮城 | 1999/8/25-09:39 |
記事番号2499へのコメント 700もの在庫管理、人間業ではないと思います。いかにパソコン化しても わかりますか? それはさておき、であるならば、併合を使ったらいかがでしょう。 入荷・使用都度、つぎのとおり処理します。 表 "在庫" 併合 "受け払い"¥ ,両方¥ ,{[材料名]照合[材料名]¥ ,[受け] 加算[入荷量]¥ ,[払い] 加算[使用量]¥ } 当然、在庫は前残+受け−払いにしておいてください。 これで「記録」はできます。ただし、「管理」はどうかな? 在庫の上下限 限界を設定し、アラーム設定はできますが。 自分の経験では100ぐらいしか管理できないと思いますけど。 |
|||
2531 | Re: | おさるのまいきー | 1999/8/27-15:45 |
記事番号2499へのコメント Ogoさん、こんにちは。 いつもいいヒントありがとうございます。 >それならば、別の方法を考えるまでです(自分でも少しは工夫してみたん >でしょうねぇ?)。 ない頭と桐の微量な知識(悲しい・・)を絞って、やってはいるんですよぉ。 とりあえず、毎日在庫の管理をする必要の無い物を省いて300ぐらいに減らしました。 >通常なら、ループを組んで繰り返し処理をします(一括処理の「繰り返し」 >参照)。 >しかし、当初に書いてあった各項目の定義内容と後から書いた定義内容が >一致しておらず、各項目の数値を求める計算式がどうも怪しいとしか言え >ないので、具体的に提示するのは困難です。 うっ、すごく耳が痛いお言葉です。 で、定義内容等もう一度書き直します。 月間稼働日.tbl 工場が稼動する日 オーダー.tbl メーカーからのオーダー予定表。1ヶ月分まとめて入ってくる 材料マスター.tbl 各材料の名称、ロット数 製品マスター.tbl 完成品の名称 材料使用量マスター.tbl 製品ごとの使用材料と使用数 以上のテーブルの中で手入力が必要なのは月間稼働日(月いち)とオーダー(変更度) です。 この5つのテーブルを結合させ、材料計算.viwを作りました。 項目は「日付」「材料発注日」「材料名」「ロット」「使用量」「オーダー数」 「日別必要量」で、日別必要量には オーダー数×使用量 の項目計算式が 入っています。この結合表をテーブルにかき出し、管理表とし、以上の項目に 「前日在庫」「発注数」「当日在庫」の3項目を追加しています。 前日在庫=#直前値[当日在庫] 発注数=#条件選択([前日在庫]<[日別必要量], #切り上げ([必要数]/ロット,0)×ロット数) まだ怪しいでしょうか・・・。 |