[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『伝票作成とピッキングリストA』(にょろ)
の続きです。
引き続きテストしています。
あ、追加です。 出荷履歴のSUM関数が入りません…
ごめん、ごめん。もう一ヶ所、連絡忘れ。
Case fnAllocDtl ブロックの 最後の Application.ScreenUpdating = True の上に shZ.Cells(1, colZ).Formula = "=SUM(" & shZ.Range(shZ.Cells(3, colZ), shZ.Cells(shZ.Rows.Count, colZ).End(xlUp)).Address & ")" '★2012/7/6 追加
(ぶらっと)
それと、前トピの最後のレスの件
・伝票の件は了解。 ・で、今までとくに説明せず、一連の処理をパッキングした形のコードをアップしているわけだけど 1.まず、必ず"作業シート"を作成。ここから物語が始まる。 これは、入力シートから作り出すケースと、繰越引当シートをコピペして作り出すケースの2とおりがあるけど、 とにかく"作業シート"ありき。 (前者は、プロシジャ"抽出"を実行すればいいんだけど、後者は追加引当関連処理の中のループ処理の一部になっている) 2.次に、その作業シートに対して、総量引当、つまり、IO商品(fnAllocTot)を行い、作業シートに可否の○×をセット。 3.この後であれば、伝票作成とピッキングリストは、それぞれ独立した流れで、必ずしも同時におこなう必要はない。 3.ただし、IO商品関連を実行するに当たり、最初に、IO商品(fnInitial)、最後にIO商品(fnEnd)を実行必要。 ・おたずねの、ピッキングリスト単独処理は以下のような構成になる。 (事前に抽出プロシジャ実行済みなら Call 抽出 は不要) だけど、この目的が再引当の時の伝票作成スキップなら、後述のようにすればいいんだけどね。
Sub ピッキングリスト(DataId As String, OutDate As String, DlvCycle As String, DlvType As String) Dim rtn As Long
Call 抽出(DataId, OutDate, DlvCycle, DlvType)
If Not 商品IO(fnInitial) Then Exit Sub
Call 商品IO(fnAllocTot, DataId) Call 商品IO(fnAllocDtl, DataId, DlvCycle, DlvType) Call 商品IO(fnPickLst, DataId, DlvCycle, DlvType)
Call 商品IO(fnEnd)
End Sub
>伝票関連処理」の部分を呼び出しているのですが、再引当ての場合に「伝票関連処理」をそのまま 呼び出すと再引当て分の伝票が作成されます。
再引当の場合は、伝票関連処理ではなく、追加引当関連処理を実行する。 ここでは伝票をつくっていない。
(ぶらっと)
もう少し補足。 どういう流れで、どんな処理を行っていくかは、そちらの運用設計次第なんだけど 当方のイメージは、
1.まず単品や個別のデータ入力を行う。(そちらのユーザーフォームによる処理) 2.その日の入力がおわった時点で、出荷指示作業に入るわけだけど 1)まず、一度、追加引当関連処理を行い、昨日以前に繰越になっている指示データから 再引当とピッキングリスト作成を行う。 2)その後、種別、区分、便、指定日の組合せで必要な当日分の出荷作業(出荷関連処理)を何回か行う。
(ぶらっと)、
ぶらっと様
ありがとうございます。
再引当ての際に追加していただいた「ピッキングリスト」プロシージャで伝票なしのピッキングリストができました。
それと、以前「Excel2003で使っている人がいる」というお話をしましたので、伝票作成やピッキングリスト作成の部分の ".xlsx"の部分をこちらで勝手に".xls"に変えたところ、伝票ブックやピッキングリストは作成されるのですが 保存されたそれらを開こうとすると、「開こうとしているファイルはファイル拡張子が示す形式と異なります」 というエラーメッセージが出ます。
ただ拡張子を変えるだけではダメだったのでしょうか…
(にょろ)
>開こうとしているファイルはファイル拡張子が示す形式と異なります
あぁ、こちらでも、ずいぶん昔に、こんなメッセージでスタッフが大騒ぎしてたね。 へたな説明するより、 【開こうとしているファイルはファイル拡張子が示す形式と異なります】そのままでネット検索して参考情報を読んでみて。
それと、追加引当時の伝票なしのピッキングリストだけど、気になるなぁ。 別途アップしている、追加引当関連処理プロシジャは試してみてくれた?
(ぶらっと)
ぶらっと様
エラーの件、検索しました。 ".xls"になっている箇所の後の数か所に"Excel.XlFileFormat.xlWorkbookNormal"を追加したら正常にファイルが開けるようになりました。 ※↓ここを参考にしました http://architect360.apricot-jp.com/500tips/xxxxls_1.html 全部に追加するとエラーになったので、エラーが発生した部分は削除していくという荒っぽい手法ですが(汗
>別途アップしている、追加引当関連処理プロシジャは試してみてくれた? これなんですが… この部分を単独で実行すると、内容(商品名・数量など)の入っていないピッキングリストが大量に作成されます… 更に、在庫表の出荷履歴に、書式もコピーされず、数値も入っていない出荷履歴が作成されます…
(にょろ)
>この部分を単独で実行すると、内容(商品名・数量など)の入っていないピッキングリストが大量に作成されます… >更に、在庫表の出荷履歴に、書式もコピーされず、数値も入っていない出荷履歴が作成されます…
えっ! ほんと? そりゃたいへんだ。調べてみるね。 ところで、追加引当関連処理プロシジャは、前提として、通常の出荷関連処理が何回か行われている。 で、そのなかで×のデータがあった場合、シート 引当繰越_yyyymmddhhnnss というのがどんどん作られる。 それらをまとめて、1つずつ再引当を行う。 それは理解してくれているよね。引当繰越_yyyymmddhhnnss が作られていなければ意味がない(やる必要がない)
もちろん、それらシートが作られていなければからぶりするようにはしているつもり。 そのあたりを調べてみるけど、とりあえず、運用手順の認識として、大丈夫かな?
(ぶらっと)
>とりあえず、運用手順の認識として、大丈夫かな? はい、大丈夫です。
ただ、この「繰越シート」は引当処理を行って「繰越分」があるたびに作成されていきますが、恐らくは現場で 「このシートっていつまで必要なの?(シート数が増えて行く一方なのでいつかは消したい)」 というような話が出てくるのでは…と思いますが、その線引き(消してよいか否か)はどのように判断すればよいでしょうか。
(にょろ)
繰越引当シートは、追加引当関連処理プロシジャで、1枚ずつ処理され ・その1枚がすべて○の結果になれば自動的に削除される。 ・×があれば、その×の分だけが、また繰り越される。 こんな仕掛けになっている。
もちろん、単なるエクセルのシートなので、これは、もういいやということで、担当者が削除しても、処理ロジックとしては 問題はない。(それで、エラーになることはない)
(ぶらっと)
>・その1枚がすべて○の結果になれば自動的に削除される。 >・×があれば、その×の分だけが、また繰り越される。 了解いたしました。ありがとうございます。
(にょろ)
念のための補足。
>繰越引当シートは、追加引当関連処理プロシジャで、1枚ずつ処理され
この意味は、
繰越引当シートは、追加引当関連処理プロシジャで、全シート、1枚ずつ処理され
という意味。なので、繰越引当シートの数だけ追加引当関連処理プロシジャを動かす必要はありませんからね。
(ぶらっと)
遅くなりましてすみません
>繰越引当シートの数だけ追加引当関連処理プロシジャを動かす必要はありませんからね
了解いたしました。 よろしくお願いいたします。
(にょろ)
>よろしくお願いいたします。
この意味は、
>この部分を単独で実行すると、内容(商品名・数量など)の入っていないピッキングリストが大量に作成されます… >更に、在庫表の出荷履歴に、書式もコピーされず、数値も入っていない出荷履歴が作成されます…
これに対して、
>えっ! ほんと? そりゃたいへんだ。調べてみるね。
とレスした、その調査結果ということかな? レスでもコメントしたし、その後、こちらでも動かしているんだけど、たとえば 繰越引当シート が1枚もない状態で動かしても 空振りで、何も処理されないし、もし、繰越引当シート があれば、その 繰越引当シート に応じた処理が【正常に】実行されるんだけどなぁ・・・
そちらで、【大量に作成】された時の実行環境(繰越引当シート の状態)はどうだったんだろうか?
(ぶらっと)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.