(57)【要約】【課題】構成商品の期限のばらつきを抑えつつ容易にセット商品を作成することができる情報処理装置及びプログラムを提供する。【解決手段】情報処理装置は、複数種類の商品の組み合わせからなるセット商品における、商品の種類ごとの構成数量が特定されたセット商品情報と、複数種類の商品の各々に係る在庫数量情報と、複数種類の商品の各々に対して設定されている所定の期限に係る期限情報と、に基づいて、在庫の商品の組み合わせによりセット商品を作成する場合における、セット商品に組み入れる各商品が特定されたセット商品構成情報を生成する情報生成手段を備え、情報生成手段は、セット商品を構成する各商品の期限間の最大範囲が基準範囲内となるように、セット商品構成情報を生成する。【選択図】図１２
2020112898.tif 000002
【特許請求の範囲】
【請求項１】
複数種類の商品の組み合わせからなるセット商品における、商品の種類ごとの構成数量が特定されたセット商品情報と、
前記複数種類の商品の各々に係る在庫数量情報と、
前記複数種類の商品の各々に対して設定されている所定の期限に係る期限情報と、
に基づいて、在庫の商品の組み合わせにより前記セット商品を作成する場合における、前記セット商品に組み入れる各商品が特定されたセット商品構成情報を生成する情報生成手段を備え、
前記情報生成手段は、前記セット商品を構成する各商品の前記期限間の最大範囲が基準範囲内となるように、前記セット商品構成情報を生成することを特徴とする情報処理装置。
【請求項２】
前記基準範囲を指定する第１の入力操作を受け付ける第１の入力手段を備え、
前記情報生成手段は、前記第１の入力操作により指定された前記基準範囲に基づいて前記セット商品構成情報を生成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
作成する前記セット商品の数を指定する第２の入力操作を受け付ける第２の入力手段を備え、
前記情報生成手段は、前記第２の入力操作により指定された数以下で可能な最大数の前記セット商品に係る情報を含む前記セット商品構成情報を生成することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記基準範囲の上限値を指定する第１の入力操作を受け付ける第１の入力手段を備え、
前記情報生成手段は、前記第１の入力操作により指定された前記上限値以下の前記基準範囲に基づいて前記セット商品構成情報を生成することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
作成する前記セット商品の数を指定する第２の入力操作を受け付ける第２の入力手段を備え、
前記情報生成手段は、前記第２の入力操作により指定された数の前記セット商品を構成可能な複数の前記基準範囲を特定し、当該複数の基準範囲の各々に基づいてそれぞれ前記セット商品構成情報を生成することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
作成する前記セット商品の数を指定する第２の入力操作を受け付ける第２の入力手段を備え、
前記情報生成手段は、前記第２の入力操作により指定された数の前記セット商品を構成可能な最小の基準範囲を特定し、当該最小の基準範囲に基づいて前記セット商品構成情報を生成することを特徴とする請求項４に記載の情報処理装置。
【請求項７】
前記基準範囲の設定に用いられる基準範囲候補値を指定する第１の入力操作を受け付ける第１の入力手段と、
作成する前記セット商品の数を指定する第２の入力操作を受け付ける第２の入力手段と、
を備え、
前記情報生成手段は、
前記第１の入力操作により指定された前記基準範囲候補値を前記基準範囲として、前記第２の入力操作により指定された数の前記セット商品を作成できる場合には、前記基準範囲候補値を前記基準範囲として前記セット商品構成情報を生成し、
前記基準範囲候補値を前記基準範囲とすると、前記指定された数の前記セット商品を構成できない場合には、前記指定された数のセット商品を構成可能な、前記基準範囲候補値より大きい最小の基準範囲を特定し、当該最小の基準範囲に基づいて前記セット商品構成情報を生成することを特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記情報生成手段は、前記セット商品を構成する商品として、前記期限までの期間が短い商品を優先して選択することを特徴とする請求項１から７のいずれか一項に記載の情報処理装置。
【請求項９】
前記情報生成手段は、前記セット商品を構成する商品として、前記期限が所定の基準日以降に設定されている商品を選択することを特徴とする請求項１から８のいずれか一項に記載の情報処理装置。
【請求項１０】
前記セット商品構成情報の内容をユーザに提示するための処理を行う提示手段を備えることを特徴とする請求項１から９のいずれか一項に記載の情報処理装置。
【請求項１１】
情報処理装置に設けられたコンピュータを、
複数種類の商品の組み合わせからなるセット商品における、商品の種類ごとの構成数量が特定されたセット商品情報と、
前記複数種類の商品の各々に係る在庫数量情報と、
前記複数種類の商品の各々に対して設定されている所定の期限に係る期限情報と、
に基づいて、在庫の商品の組み合わせにより前記セット商品を作成する場合における、前記セット商品に組み入れる各商品が特定されたセット商品構成情報を生成する情報生成手段、
として機能させ、
前記情報生成手段は、前記セット商品を構成する各商品の前記期限間の最大範囲が基準範囲内となるように、前記セット商品構成情報を生成することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
従来、在庫の商品の消費期限や使用期限といった各種期限を記憶して管理する情報処理装置がある（例えば、特許文献１）。このような情報処理装置を用いた商品の販売業務では、余剰在庫を削減したい場合などにおいて、複数種類の商品の組み合わせからなるセット商品を構成して、セット商品の単位で商品を販売する場合がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１７４７９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の情報処理装置により管理されている期限を参照して、期限までの期間が短い商品から順に選択してセット商品を構成すると、セット商品を構成する複数の商品の期限のばらつきが大きくなって、購買者にとって扱いにくいものとなり、セット商品の価値が低くなってしまう場合があるという課題がある。
【０００５】
この発明の目的は、構成商品の期限のばらつきを抑えつつ容易にセット商品を作成することができる情報処理装置及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明の情報処理装置は、
複数種類の商品の組み合わせからなるセット商品における、商品の種類ごとの構成数量が特定されたセット商品情報と、
前記複数種類の商品の各々に係る在庫数量情報と、
前記複数種類の商品の各々に対して設定されている所定の期限に係る期限情報と、
に基づいて、在庫の商品の組み合わせにより前記セット商品を作成する場合における、前記セット商品に組み入れる各商品が特定されたセット商品構成情報を生成する情報生成手段を備え、
前記情報生成手段は、前記セット商品を構成する各商品の前記期限間の最大範囲が基準範囲内となるように、前記セット商品構成情報を生成する。
【発明の効果】
【０００７】
本発明によれば、構成商品の期限のばらつきを抑えつつ容易にセット商品を作成することができる。
【図面の簡単な説明】
【０００８】
【図１】販売管理装置の機能的構成を示すブロック図である。
【図２】商品テーブルの内容例を示す図である。
【図３】商品登録画面の例を示す図である。
【図４】セット商品テーブルの内容例を示す図である。
【図５】構成商品テーブルの内容例を示す図である。
【図６】セット商品登録画面の例を示す図である。
【図７】ロット管理テーブルの内容例を示す図である。
【図８】ロット情報登録画面の例を示す図である。
【図９】セット商品作成処理の制御手順を示すフローチャートである。
【図１０】セット商品作成画面の例を示す図である。
【図１１】セット商品構成特定処理の制御手順を示すフローチャートである。
【図１２】セット商品構成特定処理の制御手順を示すフローチャートである。
【図１３】構成商品候補リストの内容例を示す図である。
【図１４】セット商品構成特定処理の終了時点における構成商品候補リストの内容例を示す図である。
【図１５】セット商品構成データの内容例を示す図である。
【図１６】指示書出力処理の制御手順を示すフローチャートである。
【図１７】セット商品作成指示書の内容例を示す図である。
【図１８】構成商品候補リストの内容を反映させた後のロット管理テーブルの内容例を示す図である。
【図１９】結果表示画面の例を示す図である。
【図２０】第２の実施形態に係るセット商品作成処理の制御手順を示すフローチャートである。
【図２１】第２の実施形態に係る指示書出力処理の制御手順を示すフローチャートである。
【図２２】第３の実施形態に係るセット商品作成処理の制御手順を示すフローチャートである。
【図２３】第３の実施形態に係る指示書出力処理の制御手順を示すフローチャートである。
【図２４】第４の実施形態に係るセット商品作成処理の制御手順を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の情報処理装置及びプログラムに係る実施の形態を図面に基づいて説明する。
【００１０】
（第１の実施形態）
図１は、第１の実施形態の販売管理装置１の機能的構成を示すブロック図である。
販売管理装置１（情報処理装置）は、商品の販売管理業務を行う者が使用する端末装置である。販売管理装置１は、例えば、ノートＰＣ（Personal Computer）、デスクトップＰＣ、スマートフォン、タブレット型端末などである。
【００１１】
販売管理装置１は、商品に関する各種データを記憶し、商品の売上、仕入及び在庫などに関する複数の業務について、データの集計や帳票の印刷などの所定の処理を実行することで、商品の販売管理業務を支援する。販売管理装置１で管理される商品のデータは、例えば、商品のロットごとの在庫数量、商品に対してロットごとに設定されている期限などがある。
本実施形態では、商品としての食品を消費者に販売する小売業における販売管理を例に挙げて説明する。
【００１２】
上述したとおり、商品の販売管理業務では、複数種類の商品の組み合わせからなるセット商品が作成されてセット商品を単位として商品が販売されることがある。このような業務に対応するため、本実施形態の販売管理装置１は、ユーザにより指定された条件でセット商品を作成するセット商品作成処理を行うことができる。セット商品作成処理では、在庫の商品の組み合わせによりセット商品を作成する場合における、セット商品に組み入れる商品のロットが特定されたセット商品構成情報が生成される。また、販売管理装置１は、このセット商品構成情報の内容を含むセット商品作成指示書３０（図１７）を出力する機能も有している。ユーザは、セット商品作成指示書３０で指示されているロットの商品を組み合わせることで、容易に所望した条件のセット商品を構成することができる。
セット商品作成処理の詳細については、後に詳述する。
【００１３】
販売管理装置１は、ＣＰＵ１１（Central Processing Unit）と、ＲＡＭ１２（Random Access Memory）と、記憶部１３と、操作部１４と、表示部１５と、通信部１６と、バス１７などを備えている。販売管理装置１の各部は、バス１７を介して接続されている。
【００１４】
ＣＰＵ１１は、販売管理装置１の各部を制御するプロセッサである。ＣＰＵ１１は、記憶部１３に記憶されているシステムプログラム及びアプリケーションプログラムのうち、指定されたプログラムを読み出してＲＡＭ１２に展開し、当該プログラムに従って各種処理を実行する。当該処理を実行することで、ＣＰＵ１１は、情報生成手段、第１の入力手段、第２の入力手段及び提示手段として機能する。
【００１５】
ＲＡＭ１２は、例えば、揮発性のメモリであり、ＣＰＵ１１により読み出された各種のプログラムやデータを一時的に格納するワークエリアを有する。ＲＡＭ１２に一時的に格納されるデータとしては、後述するセット商品作成処理において生成される構成商品候補リスト１２１（図１３、図１４）及びセット商品構成データ１２２（図１５）などがある。このうちセット商品構成データ１２２に含まれる情報が、上述のセット商品構成情報に相当する。
【００１６】
記憶部１３は、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）といった、データの書き込み及び読み出しが可能な記憶装置を備え、各種のプログラムやデータを含むファイル等を記憶する。記憶部１３に記憶されるデータとしては、管理対象の商品の名称や単価の情報を含む商品テーブル１３１、セット商品の名称や単価の情報を含むセット商品テーブル１３２、セット商品を構成する商品の種類ごとの数量（構成数量）の情報を含む構成商品テーブル１３３、商品のロットごとの在庫数量の情報、及び商品に対してロットごとに設定されている期限（本実施形態では消費期限）に係る情報を含むロット管理テーブル１３４などがある。また、記憶部１３には、販売管理装置１によりセット商品作成処理を実行させるためのセット商品作成プログラム１３５が記憶されている。
上記のうちセット商品テーブル１３２及び構成商品テーブル１３３に含まれる情報が「セット商品情報」に対応し、ロット管理テーブル１３４に含まれる情報が「在庫数量情報」及び「期限情報」に対応する。
【００１７】
図２は、商品テーブル１３１の内容例を示す図である。
商品テーブル１３１は、商品の種類ごとに、商品コード、商品名及び単価が対応付けられて記憶されたテーブルデータである。図２の例では、「商品ａ」〜「商品ｄ」に対してそれぞれ商品コード「００００１」〜「００００４」が対応付けられて登録されている。商品テーブル１３１に含まれるデータは、表示部１５に所定の商品登録画面２１が表示された状態でユーザが操作部１４を用いて情報入力を行うことで商品テーブル１３１に追加登録される。
【００１８】
図３は、商品登録画面２１の例を示す図である。
商品登録画面２１では、商品コード入力領域２１１、商品名入力領域２１２、及び単価入力領域２１３が設けられている。これらの各領域に必要な情報が入力された状態で登録ボタン２１４を選択する入力操作がなされると、商品テーブル１３１に商品のデータが追加登録される。終了ボタン２１５を選択する入力操作がなされると、商品登録画面２１が閉じられて情報入力が終了する。
【００１９】
図４は、セット商品テーブル１３２の内容例を示す図である。
セット商品テーブル１３２は、セット商品の種類ごとに、セット商品コード、セット商品名及び単価が対応付けられて記憶されたテーブルデータである。図４の例では、「セット商品Ａ」、「セット商品Ｂ」に対してそれぞれセット商品コード「Ｓ０００１」、「Ｓ０００２」が対応付けられて登録されている。
【００２０】
図５は、構成商品テーブル１３３の内容例を示す図である。
構成商品テーブル１３３は、セット商品コード、当該セット商品コードに対応するセット商品を構成する商品の商品コード、及びセット商品における当該商品の数量が対応付けられて記憶されたテーブルデータである。図５の例では、セット商品Ａ（セット商品コード：Ｓ０００１）が、１つの商品ａ（商品コード：００００１）と、２つの商品ｂ（商品コード：００００２）との組み合わせからなることが示されている。本実施形態では、各セット商品は２種類の商品の組み合わせからなるが、セット商品が３種類以上の商品の組み合わせからなる場合には、構成商品テーブル１３３において当該セット商品に対応するデータ行が３行以上設けられることとなる。
【００２１】
セット商品テーブル１３２及び構成商品テーブル１３３に含まれるデータは、表示部１５に所定のセット商品登録画面２２が表示された状態でユーザが操作部１４を用いて情報入力を行うことで商品テーブル１３１に追加登録される。
【００２２】
図６は、セット商品登録画面２２の例を示す図である。
セット商品登録画面２２では、セット商品コード入力領域２２１、セット商品名入力領域２２２、単価入力領域２２３、及び構成商品入力領域２２４が設けられている。これらの各領域に必要な情報が入力された状態で登録ボタン２２５を選択する入力操作がなされると、セット商品テーブル１３２及び構成商品テーブル１３３に、それぞれセット商品のデータ及び構成商品のデータが追加登録される。終了ボタン２２６を選択する入力操作がなされると、セット商品登録画面２２が閉じられて情報入力が終了する。
【００２３】
図７は、ロット管理テーブル１３４の内容例を示す図である。
食品の流通販売では、同一種類の商品であっても製造日が異なるもの（したがって、消費期限が異なるもの）は、異なるロットに区分けされて別個に管理される。本実施形態においてロットとは、同一種類の商品であって製造日が同じであるものの集まりをいう。
ロット管理テーブル１３４では、商品の各ロットに係る情報が管理されている。具体的には、ロット管理テーブル１３４は、商品のロットごとに、商品コード、ロット番号、消費期限及び在庫数が対応付けられて記憶されたテーブルデータである。ロット管理テーブル１３４に含まれるデータは、表示部１５に所定のロット情報登録画面２３が表示された状態でユーザが操作部１４を用いて情報入力を行うことで商品テーブル１３１に追加登録される。
【００２４】
図８は、ロット情報登録画面２３の例を示す図である。
ロット情報登録画面２３では、商品コード入力領域２３１、商品名入力領域２３２、ロット番号入力領域２３３及び消費期限入力領域２３４が設けられている。これらの各領域に必要な情報が入力された状態で登録ボタン２３５を選択する入力操作がなされると、ロット管理テーブル１３４に商品のロットのデータが追加登録される。終了ボタン２３６を選択する入力操作がなされると、ロット情報登録画面２３が閉じられて情報入力が終了する。
【００２５】
操作部１４は、キーボード等のキー入力部と、マウス等のポインティングデバイスとを有し、ユーザ（オペレータ）からのキー操作入力及び位置操作入力を受け付け、その操作情報を、第１の入力手段及び第２の入力手段としてのＣＰＵ１１に出力する。ＣＰＵ１１は、操作部１４から送信された情報に基づいて、ユーザの入力操作を受け付ける。
【００２６】
表示部１５は、ＬＣＤ（Liquid Crystal Display）、ＥＬ（Electro Luminescence）ディスプレイ等で構成され、ＣＰＵ１１から指示された表示情報に従い各種表示を行う。
【００２７】
通信部１６は、ネットワークカード等により構成され、通信ネットワーク（図示略）上のデータベース等の機器に接続される。通信ネットワークは、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）等とすることができる。通信部１６は、ＣＰＵ１１による制御下で通信ネットワーク上の機器との間でデータの送受信を行う。また、本実施形態の販売管理装置１は、通信部１６を介して外部の印刷装置（不図示）に接続されており、販売管理装置１で作成された各種帳票などを当該印刷装置で印刷できるようになっている。
【００２８】
なお、本実施形態では、商品テーブル１３１、セット商品テーブル１３２、構成商品テーブル１３３、ロット管理テーブル１３４、セット商品作成プログラム１３５が記憶部１３に記憶されているが、このような態様に限られず、上記のデータやプログラムの一部又は全部を外部のサーバ装置に記憶させ、販売管理装置１が当該サーバ装置から通信部１６を介して必要な情報を取得して動作するようにしても良い。
【００２９】
次に、販売管理装置１において実行されるセット商品作成処理について説明する。
セット商品テーブルで指定された複数種類の商品を組み合わせてセット商品を作成する場合に、各商品を、期限までの期間が短いものから順に（換言すれば、先に納入された商品から順に）選択して組み入れると、セット商品を構成する複数の商品の消費期限のばらつきが大きくなってしまう場合がある。セット商品内で消費期限のばらつきが大きいと、購買者にとって扱いにくいものとなるため、セット商品の価値が低くなってしまう。
【００３０】
そこで、本実施形態の販売管理装置１によるセット商品作成処理では、セット商品を構成する商品として、基本的には消費期限までの期間が短いロットのものを優先して組み入れつつ、セット商品を構成する各商品の消費期限間の最大範囲が所定の範囲日数（基準範囲）に収まるように、組み入れる各商品のロットが決定される。
本明細書では、このようにセット商品における各商品のロットを決定してセット商品の構成を確定させることを、「セット商品の作成」と記す。
【００３１】
上記の範囲日数は、予めユーザにより指定される。また、セット商品作成処理では、ユーザにより指定された作成数量のセット商品が作成される。
指定された作成数量のセット商品が作成されると、作成数量の各セット商品について構成商品のロットの組み合わせを示すセット商品作成指示書３０（図１７）が、所定の印刷装置により出力される。
【００３２】
以下、図９〜図１９を参照して、セット商品作成処理を詳細に説明する。
図９は、セット商品作成処理のＣＰＵ１１による制御手順を示すフローチャートである。
セット商品作成処理が開始されると、ＣＰＵ１１は、セット商品作成画面２４を表示部１５に表示させて、セット商品コード（及び／又はセット商品名）、作成数量、範囲日数の入力を受け付ける（ステップＳ１０１）。
【００３３】
図１０は、セット商品作成画面２４の例を示す図である。
セット商品作成画面２４では、セット商品コード入力領域２４１、セット商品名入力領域２４２、作成数量入力領域２４３及び範囲日数入力領域２４４、作成ボタン２４５及び終了ボタン２４６が表示されている。ユーザは、操作部１４に対する入力操作を行うことで、セット商品コード入力領域２４１及びセット商品名入力領域２４２において作成するセット商品を指定し、作成数量入力領域２４３において作成数量を指定し、範囲日数入力領域２４４において範囲日数を指定することができる。セット商品コード及びセット商品名については、これらのうち一方が指定された場合に、セット商品テーブル１３２が参照されて他方が自動的に入力されるようになっていても良い。
セット商品作成画面２４において範囲日数を指定する入力操作が「第１の入力操作」に対応し、作成数量を指定する入力操作が「第２の入力操作」に対応する。
以下では、セット商品作成画面２４において指定されたセット商品を「指定セット商品」と記し、指定された作成数量を「指定作成数量」と記し、指定された範囲日数を「指定範囲日数」と記す。
【００３４】
ＣＰＵ１１は、セット商品作成画面２４において終了ボタン２４６を選択する入力操作がなされたか否かを判別し（ステップＳ１０２）、当該入力操作がなされていないと判別された場合には（ステップＳ１０２で“ＮＯ”）、作成ボタン２４５を選択する入力操作がなされたか否かを判別する（ステップＳ１０３）。ＣＰＵ１１は、作成ボタン２４５を選択する入力操作がなされていないと判別された場合には（ステップＳ１０３で“ＮＯ”）、処理をステップＳ１０２に戻し、当該入力操作がなされたと判別された場合には（ステップＳ１０３で“ＹＥＳ”）、範囲日数に係る変数「範囲日数Ｖ」に、指定範囲日数を代入する（ステップＳ１０４）。
【００３５】
次に、ＣＰＵ１１は、後述するセット商品構成特定処理（ステップＳ１０５）、及び指示書出力処理（ステップＳ１０６）を実行し、処理をステップＳ１０１に戻す。
ステップＳ１０１の処理において終了ボタン２４６を選択する入力操作がなされたと判別された場合には（ステップＳ１０２で“ＹＥＳ”）、ＣＰＵ１１は、セット商品作成処理を終了させる。
【００３６】
図１１及び図１２は、セット商品構成特定処理のＣＰＵ１１による制御手順を示すフローチャートである。
セット商品構成特定処理が呼び出されると、ＣＰＵ１１は、ＲＡＭ１２上で構成商品候補リスト１２１を作成する（ステップＳ２０１）。
【００３７】
図１３は、構成商品候補リスト１２１の内容例を示す図である。
構成商品候補リスト１２１の内容は、ロット管理テーブル１３４のうち特定の商品に係る情報を抜き出して並べ変えたものに相当する。詳しくは、構成商品候補リスト１２１の内容は、指定セット商品を構成する各商品の全ての在庫のロットを、消費期限が古い順にソートしたものである。図１３は、指定セット商品がセット商品Ａである場合の例であり、セット商品Ａを構成する商品ａ（商品コード：００００１）及び商品ｂ（商品コード：００００２）の全ての在庫のロットが、消費期限が古い順にソートされている。
また、構成商品候補リスト１２１では、図１３の右端の列に示されているように、セット商品の作成に応じて使用される（セット商品に組み入れられる）各商品の使用数量が計数されて記憶される。図１３では、セット商品の作成前であり使用数量がいずれも０となっている状態が例示されている。
【００３８】
ステップＳ２０１の処理が終了すると、ＣＰＵ１１は、後の処理に用いる基準消費期限に係る変数「基準消費期限Ｗ」に空を代入し、作成済のセット商品の数を表す変数「作成済セット数量Ｘ」に０を代入し、セット商品における商品のロットの組み合わせごとに付される変数「組合せ番号Ｙ」に１を代入する（ステップＳ２０２）。
【００３９】
ＣＰＵ１１は、基準消費期限Ｗが空であるか否かを判別する（ステップＳ２０３）。基準消費期限Ｗが空であると判別された場合には（ステップＳ２０３で“ＹＥＳ”）、ＣＰＵ１１は、構成商品候補リスト１２１において、現在の日付を基準として、消費期限までの期間が最も短い商品（すなわち、消費期限が最も古い商品）及びそのロットを検索する（ステップＳ２０４）。また、基準消費期限Ｗが空ではないと判別された場合には（ステップＳ２０３で“ＮＯ”）、ＣＰＵ１１は、構成商品候補リスト１２１において、消費期限が基準消費期限Ｗから最も近い商品（すなわち、消費期限が基準消費期限Ｗより後で、かつ最も古い商品）及びそのロットを検索する（ステップＳ２０５）。
【００４０】
ステップＳ２０４又はＳ２０５の処理において検索結果が該当なしとなった場合には（ステップＳ２０６で“ＹＥＳ”）、ＣＰＵ１１は、商品構成特定処理を終了させて、処理をセット商品作成処理のステップＳ１０６に移行させる。
【００４１】
ステップＳ２０４又はＳ２０５の処理において該当する検索結果があった場合には（ステップＳ２０６で“ＮＯ”）、ＣＰＵ１１は、検索により特定されたロットの商品（以下、「基準商品」と記す）の消費期限を基準消費期限Ｗに代入する（ステップＳ２０７）。
【００４２】
ＣＰＵ１１は、基準商品との間で消費期限が近い順に、指定セット商品を構成する他の全ての商品のロットを構成商品候補リスト１２１から検索する（ステップＳ２０８）。これにより、指定セット商品を構成する各商品のロットが、基準商品のロットを含み、かつ各商品の消費期限が基準商品の消費期限と最も近くなるように仮決定される。
【００４３】
ステップＳ２０８の検索処理において該当する検索結果があった場合には（ステップＳ２０９で“ＮＯ”）、ＣＰＵ１１は、まず、追加作成するセット商品の数量に係る変数「追加セット数量Ｚ」に０を代入する（ステップＳ２１０）。
【００４４】
ＣＰＵ１１は、ステップＳ２０８で選択されたセット商品を構成する複数の商品の消費期限間の最大範囲を算出する（ステップＳ２１１）。
【００４５】
ＣＰＵ１１は、算出された最大範囲が範囲日数Ｖ以下であるか否かを判別し（ステップＳ２１２）、最大範囲が範囲日数Ｖ以下であると判別された場合には（ステップＳ２１２で“ＹＥＳ”）、ステップＳ２０８で仮決定されたロットの商品の組み合わせで作成できるセット商品の最大数を算出して、追加セット数量Ｚに代入する（ステップＳ２１３）。
【００４６】
ＣＰＵ１１は、作成済セット数量Ｘと追加セット数量Ｚとの和が指定作成数量より大きいか否か（すなわち、ステップＳ２１３で算出された最大数のセット商品を作成すると指定作成数量を超えるか否か）を判別する（ステップＳ２１４）。上記の和が指定作成数量より大きいと判別された場合には（ステップＳ２１４で“ＹＥＳ”）、ＣＰＵ１１は、指定作成数量から作成済セット数量Ｘを減じた値を、追加セット数量Ｚに代入する（ステップＳ２１５）。
【００４７】
ステップＳ２１５の処理が終了した場合、又はステップＳ２１４の処理において作成済セット数量Ｘと追加セット数量Ｚとの和が指定作成数量以下であると判別された場合（ステップＳ２１４で“ＮＯ”）には、ＣＰＵ１１は、作成済セット数量Ｘに追加セット数量Ｚを加算した値を、作成済セット数量Ｘに代入する（ステップＳ２１６）。
【００４８】
ＣＰＵ１１は、追加セット数量Ｚに応じて、ＲＡＭ１２上の構成商品候補リスト１２１及びセット商品構成データ１２２を更新する（ステップＳ２１７）。
詳しくは、ＣＰＵ１１は、構成商品候補リスト１２１における「使用数量」の項目に、追加セット数量Ｚのセット商品の作成に必要な各ロットの商品の使用数量を加算する。
また、ＣＰＵ１１は、セット商品構成データ１２２において、組合せ番号Ｙに対応するセット商品の構成に係る情報を追加する。
【００４９】
図１５は、セット商品構成データ１２２の内容例を示す図である。
セット商品構成データ１２２は、セット商品作成処理によって作成されるセット商品の具体的構成を示すデータであり、セット商品作成指示書３０を出力する際に参照されるデータである。セット商品構成データ１２２では、セット商品を構成する各商品について、どのロットのものを幾つ組み入れるかが示されている。
具体的には、セット商品構成データ１２２には、組合せ番号、作成数量、商品コード、ロット番号及び使用数量のデータが含まれている。このうち組合せ番号は、変数「組合せ番号Ｙ」の値に対応し、作成数量は、変数「追加セット数量Ｚ」の値に対応する。また、商品コード、ロット番号及び使用数量には、追加セット数量Ｚのセット商品の作成に必要な各ロットの商品の使用数量が、組合せ番号ごとに入力される。
【００５０】
ステップＳ２１７の処理が終了すると、ＣＰＵ１１は、組合せ番号Ｙをインクリメントする（ステップＳ２１８）。
【００５１】
ＣＰＵ１１は、作成済セット数量Ｘが指定作成数量に一致しているか否かを判別する（ステップＳ２１９）。ＣＰＵ１１は、作成済セット数量Ｘが指定作成数量に一致していないと判別された場合には（ステップＳ２１９で“ＮＯ”）、処理をステップＳ２０８に戻し、一致していると判別された場合には（ステップＳ２１９で“ＹＥＳ”）、商品構成特定処理を終了させて、処理をセット商品作成処理のステップＳ１０６に移行させる。
【００５２】
ステップＳ２０８の検索処理において検索結果が該当なしとなった場合には（ステップＳ２０９で“ＹＥＳ”）、ＣＰＵ１１は、追加セット数量Ｚが０であるか否かを判別し（ステップＳ２２０）、追加セット数量Ｚが０でないと判別された場合には（ステップＳ２２０で“ＮＯ”）、基準消費期限Ｗをインクリメントして（ステップＳ２２１）、処理をステップＳ２０５に移行させる。また、ステップＳ２１２の処理で、最大範囲が範囲日数Ｖより大きいと判別された場合にも（ステップＳ２１２で“ＮＯ”）、ＣＰＵ１１は、基準消費期限Ｗをインクリメントして（ステップＳ２２１）、処理をステップＳ２０５に移行させる。
【００５３】
ステップＳ２２０の処理で追加セット数量Ｚが０であると判別された場合には（ステップＳ２２０で“ＹＥＳ”）、ＣＰＵ１１は、商品構成特定処理を終了させて、処理をセット商品作成処理のステップＳ１０６に移行させる。
【００５４】
このようなセット商品構成特定処理によれば、基準商品を含み、かつ構成商品の消費期限間の最大範囲が指定範囲日数以下となるようなセット商品を作成するループ処理（ステップＳ２０８〜ステップＳ２１９）が繰り返し実行される。このセット商品の作成では、消費期限までの期間が短いロットの商品が優先して選択されて組み入れられる（ステップＳ２０８）。したがって、一の基準商品についての複数回のループ処理のうち初回のループ処理では、構成商品の消費期限間の最大範囲が最も小さい組合せのセット商品が作成され、２回目のループ処理では、その次に消費期限間の最大範囲が小さい組合せのセット商品が作成される。以降、ループ処理ごとに、その時点で最も消費期限間の最大範囲が小さい組合せのセット商品が作成される。
【００５５】
また、一の基準商品についての最後のループ処理で、当該基準商品を含むセット商品を作成できない場合には（ステップＳ２０９で“ＹＥＳ”）、当該基準商品を含むセット商品を少なくとも１組作成できていれば（ステップＳ２２０で“ＮＯ”）、基準消費期限Ｗをインクリメントした上で（ステップＳ２２１）新たに上記のループ処理が実行され、消費期限がより新しい基準商品について引き続きセット商品を作成するループ処理が実行される。
また、基準商品を含むセット商品を作成できるものの、消費期限間の最大範囲が指定範囲日数を超える場合（ステップＳ２１２で“ＮＯ”）にも、基準消費期限Ｗをインクリメントして引き続きセット商品が作成される。
【００５６】
基準商品をより消費期限が新しいものに切り替えてセット商品を作成していき、ある基準商品についてのループ処理で、当該基準商品を含むセット商品を１組も作成できない場合には（ステップＳ２０９で“ＹＥＳ”、かつステップＳ２２０で“ＮＯ”）、可能なすべての組み合わせのセット商品の作成が終了したこととなるため、セット商品構成特定処理が終了する。
【００５７】
ここで、セット商品構成特定処理の具体例として、図２、図４、図５及び図７に示されている各テーブルデータの内容に基づいて、「セット商品Ａ」を「５０組」作成し、上記の範囲日数を「１０日」とする場合について説明する。
【００５８】
まず、ステップＳ２０４において、図１３の構成商品候補リスト１２１において消費期限までの期間が最も短い、ロット番号Ｒ０００１の商品ａ（商品コード：００００１、消費期限：２０１８／４／３０）が基準商品として特定される。また、ステップＳ２０７において、基準消費期限Ｗに「２０１８／４／３０」が代入される。
【００５９】
次に、ステップＳ２０８において、セット商品Ａを構成する他の商品である商品ｂ（商品コード：００００２）のうち、在庫数量があり、かつ基準商品との間で消費期限が最も近いロットが検索される。ここでは、商品ｂのうち、消費期限が「２０１８／５／５」のロット番号Ｒ０１０１が検索結果として特定される。すなわち、組合せ番号Ｙ＝１のセット商品の商品構成として、ロット番号Ｒ０００１の商品ａと、ロット番号Ｒ０１０１の商品ｂとからなる構成が仮決定される。
【００６０】
ステップＳ２１１では、仮決定されたセット商品における、ロット番号Ｒ０００１の商品ａの消費期限（２０１８／４／３０）とロット番号Ｒ０１０１の商品ｂの消費期限（２０１８／５／５）との間の範囲（６日）が算出される。この範囲は、範囲日数Ｖ（１０日）以下であるため、ステップＳ２１２では“ＹＥＳ”と判定される。
【００６１】
ステップＳ２１３では、図１３の構成商品候補リスト１２１においてロット番号Ｒ０００１の商品ａの在庫数量が１００個であり、ロット番号Ｒ０１０１の商品ｂの在庫数量が８０個であることから、１つの商品ａ及び２つの商品ｂの組み合わせからなるセット商品Ａを４０組作成できると判別される。よって、追加セット数量Ｚに４０が代入される。
【００６２】
ステップＳ２１４では、この時点において作成済セット数量Ｘ（０組）と追加セット数量Ｚ（４０組）との和が指定作成数量（５０組）以下であるため、ステップＳ２１６に進み、作成済セット数量Ｘに追加セット数量Ｚ（４０組）が代入される。これにより、追加セット数量Ｚが確定し、組合せ番号Ｙ＝１に対応する各ロットの商品の使用数量も確定するため、構成商品候補リスト１２１及びセット商品構成データ１２２の内容が更新され（ステップＳ２１７）、組合せ番号Ｙが２にインクリメントされる（ステップＳ２１８）。
また、ステップＳ２１９において、作成済セット数量Ｘ（４０組）は指定作成数量（５０組）に達していないと判別されるため、処理がステップＳ２０８に戻る。
【００６３】
ステップＳ２０８では、基準商品であるロット番号Ｒ０００１の商品ａと組み合わせる商品ｂとして、この段階で消費期限が基準商品と最も近いロット番号Ｒ０１０２が選択される。
しかしながら、ステップＳ２１２において、基準商品の消費期限（２０１８／４／３０）とロット番号Ｒ０１０２の商品ｂの消費期限（２０１８／５／１４）との間の範囲（１５日）が範囲日数Ｖ（１０日）より大きいため“ＮＯ”と判定され、ステップＳ２２１において基準消費期限Ｗがインクリメントされて（すなわち、基準消費期限Ｗに２０１８／５／１が代入されて）、処理がステップＳ２０５に戻る。
【００６４】
ステップＳ２０５では、基準商品として、消費期限が基準消費期限Ｗに最も近いロット番号Ｒ０００２の商品ａ（消費期限：２０１８／５／５）が特定される。
また、ステップＳ２０８において、商品ｂのうち、在庫数量があり、基準商品との間で消費期限が最も近いロット番号Ｒ０１０２（消費期限：２０１８／５／１４）が検索結果として特定される。すなわち、組合せ番号Ｙ＝２のセット商品の商品構成として、ロット番号Ｒ０００２の商品ａと、ロット番号Ｒ０１０２の商品ｂとからなる構成が仮決定される。
【００６５】
ステップＳ２１１では、基準商品の消費期限（２０１８／５／５）とロット番号Ｒ０１０２の商品ｂの消費期限（２０１８／５／１４）との間の範囲（１０日）が算出される。この範囲は、範囲日数Ｖ（１０日）以下であるため、ステップＳ２１２では“ＹＥＳ”と判定される。
【００６６】
ステップＳ２１３では、図１３の構成商品候補リスト１２１においてロット番号Ｒ０００２の商品ａの在庫数量が５０個であり、ロット番号Ｒ０１０２の商品ｂの在庫数量が１００個であることから、１つの商品ａ及び２つの商品ｂの組み合わせからなるセット商品Ａを５０組作成できると判別される。よって、追加セット数量Ｚに５０が代入される。
【００６７】
ステップＳ２１４では、この時点において作成済セット数量Ｘ（４０組）と追加セット数量Ｚ（５０組）との和が指定作成数量（５０組）より大きいため、ステップＳ２１５に進み、追加セット数量Ｚに、指定作成数量（５０組）から作成済セット数量Ｘ（４０組）を減じた１０組が代入される。すなわち、この処理ループでは、セット商品が１０組のみ作成されることとなるため、ロット番号Ｒ０００２の商品ａの使用数量は１０個となり、ロット番号Ｒ０１０２の商品ｂの使用数量は２０個となる。
【００６８】
ステップＳ２１６において、作成済セット数量Ｘに対し、作成済セット数量Ｘ（４０組）と追加セット数量Ｚ（１０組）との和である５０組が代入される。
よって、ステップＳ２１９の処理では、作成済セット数量Ｘ（５０組）が指定作成数量（５０組）と一致していると判別され、セット商品構成特定処理が終了する。
【００６９】
セット商品構成特定処理の終了時点における構成商品候補リスト１２１では、図１４に示されるように、各ループ処理における追加セット数量Ｚに応じた各ロットの商品の使用数量が入力されており、また在庫数量が、図１３に示される初期値から使用数量を減じた値に更新されている。
また、セット商品構成データ１２２では、組合せ番号ごとに、セット商品の作成数量やロット及び商品の組み合わせ、及びこれらの使用数量が入力された状態となる。
【００７０】
図１６は、指示書出力処理のＣＰＵ１１による制御手順を示すフローチャートである。
指示書出力処理が開始されると、ＣＰＵ１１は、作成済セット数量Ｘが指定作成数量に一致しているか否かを判別する（ステップＳ３０１）。作成済セット数量Ｘが指定作成数量に一致していると判別された場合、すなわちユーザにより指定された数量のセット商品が作成されたと判別された場合には（ステップＳ３０１で“ＹＥＳ”）、ＣＰＵ１１は、印刷装置に対して印刷命令を送信し、ＲＡＭ１２上のセット商品構成データ１２２に基づく内容のセット商品作成指示書３０を所定の印刷装置により出力させる（ステップＳ３０２）。
【００７１】
図１７は、セット商品作成指示書３０の内容例を示す図である。
セット商品作成指示書３０の内容は、ＲＡＭ１２上のセット商品構成データ１２２の内容に対し、セット商品コードに対応するセット商品名を追加し、商品コードに対応する商品名を追加したものに相当する。このようなセット商品作成指示書３０により、セット商品を構成する各商品について、どのロットのものを幾つ組み入れれば良いかが、ユーザに対して分かりやすく提示される。
なお、ステップＳ３０２では、セット商品作成指示書３０の内容に相当する画面表示を表示部１５に表示（出力）させても良い。
【００７２】
ステップＳ３０２の処理が終了すると、ＣＰＵ１１は、ＲＡＭ１２上の構成商品候補リスト１２１の内容をロット管理テーブル１３４に反映させる（ステップＳ３０３）。
【００７３】
図１８は、構成商品候補リスト１２１の内容を反映させた後のロット管理テーブル１３４の内容例を示す図である。
図１８のロット管理テーブル１３４では、在庫数量が、図１４の構成商品候補リスト１２１における在庫数量の内容に更新されている。
【００７４】
ステップＳ３０１の処理で、作成済セット数量Ｘが指定作成数量に一致していない、すなわちユーザにより指定された数量のセット商品が作成できないと判別された場合には（ステップＳ３０１で“ＮＯ”）、ＣＰＵ１１は、表示部１５において、所定の結果表示画面２５を表示させる（ステップＳ３０５）。
【００７５】
図１９は、結果表示画面２５の例を示す図である。
結果表示画面２５では、指定作成数量のセット商品を作成できない旨が表示され、併せて指定された範囲日数において作成可能なセット商品の数量が提示される。
【００７６】
ステップＳ３０３又はステップＳ３０５の処理が終了すると、ＣＰＵ１１は、ＲＡＭ１２上の構成商品候補リスト１２１及びセット商品構成データ１２２をクリアし（ステップＳ３０４）、指示書出力処理を終了させて、処理をセット商品作成処理のステップＳ１０１に戻す。
【００７７】
（変形例１）
上記実施形態では、セット商品構成特定処理のステップＳ２０１において、指定セット商品を構成しうる全てのロットの商品が選択されて構成商品候補リスト１２１が作成されたが、これに代えて、セット商品を構成する商品のうち、消費期限が、ユーザにより指定された基準日以降に設定されているロットのみを選択するようにしても良い。
この場合には、図１０のセット商品作成画面２４において、上記の基準日を指定するための入力領域を設け、セット商品作成処理のステップＳ１０１において、ユーザからの当該基準日の入力を併せて受け付ければ良い。
【００７８】
（変形例２）
上記実施形態では、指定作成数量のセット商品を作成できなかった場合に、結果表示画面２５を表示して処理を終了させたが、これに代えて、指定作成数量以下で可能な最大数のセット商品に係る情報を含むセット商品構成データ１２２を生成し、当該セット商品構成データ１２２の内容に基づいてセット商品作成指示書３０を出力するようにしても良い。この場合は、図１６の指示書出力処理においてステップＳ３０１の判別を行わずに、ステップＳ３０２以降の処理を行えば良い。
【００７９】
以上のように、本実施形態の情報処理装置としての販売管理装置１は、複数種類の商品の組み合わせからなるセット商品における、商品の種類ごとの構成数量が特定されたセット商品テーブル１３２及び構成商品テーブル１３３と、複数種類の商品の各々に係るロットごとの在庫数量の情報、及び複数種類の商品の各々に対してロットごとに設定されている消費期限の情報を含むロット管理テーブル１３４と、に基づいて、在庫の商品の組み合わせによりセット商品を作成する場合における、セット商品に組み入れる各商品のロットが特定されたセット商品構成データ１２２を生成する情報生成手段としてのＣＰＵ１１を備え、ＣＰＵ１１は、セット商品を構成する各商品の消費期限間の最大範囲が、基準範囲としての範囲日数以下となるように、セット商品構成データ１２２を生成する。
このような構成によれば、セット商品を構成する商品の消費期限間の最大範囲を範囲日数以下に抑えつつ、容易にセット商品を作成することができる。このようなセット商品の作成を人の手で行おうとすると、特にセット商品を構成する商品数が多い場合などでは非常に手間が掛かり、かつ間違えやすいところ、販売管理装置１によりセット商品を作成することで、このような手間を削減して作業を効率化することができ、より正確にセット商品を作成することができる。
【００８０】
また、ＣＰＵ１１は、範囲日数を指定する入力操作を受け付け（第１の入力手段）、上記入力操作により指定された範囲日数に基づいてセット商品構成データ１２２を生成する（情報生成手段）。これにより、セット商品を構成する商品の消費期限間の最大範囲を所望の範囲日数以下に抑えてセット商品を作成することができる。
【００８１】
また、変形例２に係る販売管理装置１では、ＣＰＵ１１は、セット商品の作成数量を指定する入力操作を受け付け（第２の入力手段）、上記入力操作により指定された数以下で可能な最大数のセット商品に係る情報を含むセット商品構成データ１２２を生成する（情報生成手段）。これにより、指定範囲日数では所望の作成数量のセット商品を作成できない場合においても、ユーザは、作成可能なセット商品の数量を把握することができ、必要に応じて当該数量でセット商品を作成することができる。
【００８２】
また、ＣＰＵ１１は、セット商品を構成する商品のロットとして、消費期限までの期間が短いロットを優先して選択する（情報生成手段）。これにより、余剰在庫や滞留在庫となっている消費期限が古い商品をより多くセット商品に組み入れつつ、構成商品の期限のばらつきによるセット商品の価値の低下を抑えることができるため、セット商品の販売によって効果的に在庫を圧縮することができる。
【００８３】
また、変形例１に係る販売管理装置１では、ＣＰＵ１１は、セット商品を構成する商品のロットとして、消費期限が所定の基準日以降に設定されているロットを選択する（情報生成手段）。これによれば、消費期限が所定日数以上残っている商品のみから容易にセット商品を構成することができる。よって、より柔軟にセット商品の構成を調整することができる。
【００８４】
また、ＣＰＵ１１は、セット商品構成データ１２２の内容をセット商品作成指示書３０としてユーザに提示するために、印刷装置への印刷命令の送信処理を行う（提示手段）。これにより、セット商品を構成する各商品について、どのロットのものを幾つ組み入れれば良いかを、ユーザに対して分かりやすく提示することができる。
【００８５】
また、本実施形態のセット商品作成プログラム１３５は、販売管理装置１に設けられたコンピュータとしてのＣＰＵ１１を、在庫の商品の組み合わせによりセット商品を作成する場合における、セット商品に組み入れる各商品のロットが特定されたセット商品構成データ１２２を生成する情報生成手段として機能させ、情報生成手段は、セット商品を構成する各商品の消費期限間の最大範囲が、基準範囲としての範囲日数以下となるように、セット商品構成データ１２２を生成する。このようなセット商品作成プログラム１３５により販売管理装置１を動作させることで、構成商品の期限のばらつきを抑えつつ容易にセット商品を作成することができる。
【００８６】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。本実施形態は、指定範囲日数以下で、指定作成数量を達成可能な複数の範囲日数を特定し、当該複数の範囲日数の各々についてそれぞれセット商品の作成結果がユーザに提示される点で第１の実施形態と異なる。以下では、第１の実施形態との相違点について説明する。
【００８７】
図２０は、第２の実施形態に係るセット商品作成処理のＣＰＵ１１による制御手順を示すフローチャートである。
図２０のフローチャートは、図９のフローチャートのステップＳ１０４をステップＳ１０４ａに変更し、ステップＳ１０７及びステップＳ１０８を追加したものに相当する。
【００８８】
本実施形態のセット商品作成処理では、ＣＰＵ１１は、作成ボタンを選択する入力操作がなされたと判別された場合には（ステップＳ１０３で“ＹＥＳ”）、範囲日数Ｖに１を代入する（ステップＳ１０４ａ）。よって次に行われるセット商品構成特定処理（ステップＳ１０５）では、セット商品を構成する各商品の消費期限が１日の範囲内に収まる（すなわち、同日である）ようにセット商品が作成される。
【００８９】
セット商品構成特定処理が終了すると、ＣＰＵ１１は、範囲日数Ｖが指定範囲日数に一致しているか否かを判別し（ステップＳ１０７）、一致していない場合には（ステップＳ１０７で“ＮＯ”）、範囲日数Ｖをインクリメントして（ステップＳ１０８）、再度セット商品構成特定処理（ステップＳ１０５）を実行する。
【００９０】
このように、本実施形態では、指定範囲日数に達するまで範囲日数Ｖを１日ずつ増大させていき、各範囲日数Ｖに対してセット商品を作成する。すなわち、本実施形態でユーザにより指定される指定範囲日数は、範囲日数Ｖの上限値として用いられる。
また、複数の範囲日数Ｖの各々に対応して、構成商品候補リスト１２１及びセット商品構成データ１２２がＲＡＭ１２上に作成されて保持される。
【００９１】
範囲日数Ｖが指定範囲日数に一致していると判別された場合には（ステップＳ１０７で“ＹＥＳ”）、ＣＰＵ１１は、指示書出力処理（ステップＳ１０６）を実行する。
【００９２】
図２１は、第２の実施形態に係る指示書出力処理のＣＰＵ１１による制御手順を示すフローチャートである。
図２１のフローチャートは、図１６のフローチャートのステップＳ３０１〜Ｓ３０３をそれぞれステップＳ３０１ａ〜Ｓ３０３ａに変更し、ステップＳ３０６を追加したものに相当する。
【００９３】
指示書出力処理が開始されると、ＣＰＵ１１は、作成済セット数量Ｘが指定作成数量に一致する範囲日数Ｖがあるか否か（すなわち、指定作成数量のセット商品を作成することができた範囲日数Ｖがあるか否か）を判別する（ステップＳ３０１ａ）。
【００９４】
作成済セット数量Ｘが指定作成数量に一致する範囲日数Ｖがあると判別された場合には（ステップＳ３０１ａで“ＹＥＳ”）、ＣＰＵ１１は、ＲＡＭ１２上の複数の範囲日数Ｖの各々に対応するセット商品構成データ１２２に基づき、指定作成数量のセット商品を作成できた範囲日数Ｖについて、それぞれセット商品作成指示書３０を所定の印刷装置により出力させる（ステップＳ３０２ａ）。
【００９５】
ＣＰＵ１１は、出力したセット商品作成指示書３０のうちいずれかのセット商品作成指示書３０をユーザに選択させる所定の画面を表示部１５に表示させ、いずれかのセット商品作成指示書３０を選択する入力操作がなされたか否かを判別し（ステップＳ３０６）、当該入力操作がなされていないと判別された場合には（ステップＳ３０６で“ＮＯ”）、再度ステップＳ３０６の処理を実行する。
【００９６】
いずれかのセット商品作成指示書３０を選択する入力操作がなされたと判別された場合には（ステップＳ３０６で“ＹＥＳ”）、ＣＰＵ１１は、選択されたセット商品作成指示書３０に対応するＲＡＭ１２上の構成商品候補リスト１２１の内容をロット管理テーブル１３４に反映させる（ステップＳ３０３ａ）。
以降の処理は、第１の実施形態の指示書出力処理と同一である。
【００９７】
以上のように、第２の実施形態では、ＣＰＵ１１は、範囲日数Ｖの上限値を指定する入力操作を受け付け（第１の入力手段）、上記入力操作により指定された上限値以下の範囲日数に基づいてセット商品構成データ１２２を生成する（情報生成手段）。これにより、セット商品を構成する商品の消費期限間の最大範囲を、指定範囲日数より小さく抑えてセット商品を作成できる場合に、このような構成のセット商品の組み合わせをユーザに提示することができる。
【００９８】
また、ＣＰＵ１１は、指定作成数量のセット商品を構成可能な複数の範囲日数Ｖを特定し、当該複数の範囲日数の各々に基づいてそれぞれセット商品構成データ１２２を生成する（情報生成手段）。範囲日数Ｖが小さいほど、消費期限のばらつきを抑えることができる一方、ロットの選択肢が狭まるため、消費期限の古い商品がセット商品に組み入れられずに余りやすくなる。反対に、範囲日数Ｖが大きいほど、消費期限のばらつきが大きくなる一方、ロットの選択肢が広がるため、消費期限の古い商品をより多くセット商品に組み入れることができる。複数の範囲日数Ｖの各々についてセット商品構成データ１２２を生成してセット商品作成指示書３０を出力する本実施形態の構成によれば、ユーザは、消費期限のばらつきと、消費期限の古い商品の組み入れ状況とのバランスを考慮して、より所望の内容に近いセット商品の構成を選択してセット商品を作成することができる。
【００９９】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。本実施形態は、指定範囲日数以下で、指定作成数量を達成可能な最小の範囲日数を特定し、当該最小の範囲日数に基づくセット商品の作成結果がユーザに提示される点で第２の実施形態と異なる。以下では、第２の実施形態との相違点について説明する。
【０１００】
図２２は、第３の実施形態に係るセット商品作成処理のＣＰＵ１１による制御手順を示すフローチャートである。
図２２のフローチャートは、図２０のフローチャートにステップＳ１０９を追加したものに相当する。
【０１０１】
本実施形態のセット商品作成処理では、ＣＰＵ１１は、セット商品構成特定処理（ステップＳ１０５）が終了すると、作成済セット数量Ｘが指定作成数量に一致するか否か（すなわち、終了したセット商品構成特定処理において指定作成数量のセット商品を作成できたか否か）を判別する（ステップＳ１０９）。作成済セット数量Ｘが指定作成数量に一致しないと判別された場合には（ステップＳ１０９で“ＮＯ”）、ＣＰＵ１１は、範囲日数Ｖが指定範囲日数に達するまで範囲日数Ｖをインクリメントし（ステップＳ１０７、Ｓ１０８）、再度セット商品作成処理（ステップＳ１０５）を実行する。
【０１０２】
作成済セット数量Ｘが指定作成数量に一致すると判別された場合（ステップＳ１０９で“ＹＥＳ”）、又は範囲日数Ｖが指定範囲日数に達したと判別された場合（ステップＳ１０７で“ＹＥＳ”）には、ＣＰＵ１１は、指示書出力処理（ステップＳ１０６）を実行する。
【０１０３】
図２３は、第３の実施形態に係る指示書出力処理のＣＰＵ１１による制御手順を示すフローチャートである。
図２３のフローチャートは、図２１のフローチャートからステップＳ３０６を削除し、ステップＳ３０３ａをステップＳ３０３ｂに変更したものに相当する。
【０１０４】
本実施形態の指示書出力処理では、作成済セット数量Ｘが指定作成数量に一致する範囲日数Ｖがあると判別された場合に（ステップＳ３０１ａで“ＹＥＳ”）、ＣＰＵ１１は、当該範囲日数Ｖについてセット商品作成指示書３０を所定の印刷装置により出力させる（ステップＳ３０２ａ）。よって、ユーザに対し、指定作成数量のセット商品を構成可能な最小の範囲日数が提示されるとともに、当該範囲日数に基づいて作成されたセット商品の構成が提示される。
また、ＣＰＵ１１は、出力されたセット商品作成指示書３０に対応するＲＡＭ１２上の構成商品候補リスト１２１の内容をロット管理テーブル１３４に反映させる（ステップＳ３０３ｂ）。
【０１０５】
作成済セット数量Ｘが指定作成数量に一致する範囲日数Ｖがないと判別された場合に（ステップＳ３０１ａで“ＮＯ”）、ＣＰＵ１１は、表示部１５において、指定作成数量のセット商品を作成できない旨の結果表示画面２５（図１９）を表示させる（ステップＳ３０５）。
その他の処理は、第２の実施形態の指示書出力処理と同一である。
【０１０６】
なお、本実施形態では、最後に実行されたセット商品構成特定処理において生成された構成商品候補リスト１２１及びセット商品構成データ１２２のみが指示書出力処理で用いられるため、範囲日数Ｖがインクリメントされるタイミング（ステップＳ１０８）でＲＡＭ１２上の構成商品候補リスト１２１及びセット商品構成データ１２２をクリアしても良い。
【０１０７】
以上のように、第３の実施形態では、ＣＰＵ１１は、指定作成数量のセット商品を構成可能な最小の範囲日数を特定し、当該最小の範囲日数に基づいてセット商品構成データ１２２を生成する（情報生成手段）。これによれば、指定作成数量のセット商品を、最も消費期限のばらつきの小さい構成で作成することができる。よって、消費期限のばらつきによるセット商品の価値の低下を効果的に抑制することができる。
【０１０８】
（第４の実施形態）
次に、本発明の第４の実施形態について説明する。本実施形態は、範囲日数Ｖの初期値が指定範囲日数とされる点で第３の実施形態と異なる。すなわち、本実施形態では、指定範囲日数で指定作成数量を達成できなかった場合に、指定範囲日数より大きい範囲日数のうち、指定作成数量を達成可能な最小の範囲日数を特定し、当該最小の範囲日数に基づくセット商品の作成結果がユーザに提示される。以下では、第３の実施形態との相違点について説明する。
【０１０９】
図２４は、第４の実施形態に係るセット商品作成処理のＣＰＵ１１による制御手順を示すフローチャートである。
図２４のフローチャートは、図２２のフローチャートのステップＳ１０４ａをステップＳ１０４に、またステップＳ１０７をステップＳ１０７ａにそれぞれ変更したものに相当する。
【０１１０】
本実施形態のセット商品作成処理では、ＣＰＵ１１は、範囲日数Ｖを指定範囲日数とした状態で（ステップＳ１０４）セット商品構成特定処理（ステップＳ１０５）を実行した後に、作成済セット数量Ｘが指定作成数量に一致するか否かを判別する（ステップＳ１０９）。
【０１１１】
作成済セット数量Ｘが指定作成数量に一致しない（すなわち、指定作成数量のセット商品を作成できなかった）と判別された場合には（ステップＳ１０９で“ＮＯ”）、ＣＰＵ１１は、範囲日数Ｖが、指定範囲日数に所定の上限日数を加算した日数に一致するか否かを判別する（ステップＳ１０７ａ）。範囲日数Ｖが上記日数に一致しないと判別された場合には（ステップＳ１０７ａで“ＮＯ”）、ＣＰＵ１１は、範囲日数Ｖをインクリメントして（ステップＳ１０８）、再度セット商品構成特定処理（ステップＳ１０５）を実行する。
【０１１２】
このように、本実施形態では、指定作成数量が達成できない場合には、指定範囲日数に所定の上限日数を加算した日数に達するまで範囲日数Ｖを１日ずつ増大させていき、各範囲日数Ｖに対してセット商品の作成が試みられる。そして、いずれかの範囲日数Ｖに対して指定作成数量が達成できた場合に、指示書出力処理が実行される。
上記の上限日数は、予め設定されて記憶部１３に記憶されているものを用いても良いし、セット商品作成画面２４においてユーザが指定できるようにしても良い。
本実施形態の指定範囲日数は、範囲日数Ｖの第一候補を指定するものであり、「基準範囲候補値」に対応する。
【０１１３】
範囲日数Ｖが指定範囲日数に一致していると判別された場合には（ステップＳ１０７で“ＹＥＳ”）、ＣＰＵ１１は、指示書出力処理（ステップＳ１０６）を実行する。本実施形態の指示書出力処理は、第３の実施形態の指示書出力処理（図２３）と同一であるため説明は省略する。
【０１１４】
以上のように、第４の実施形態では、ＣＰＵ１１は、範囲日数の候補値を指定する入力操作を受け付け（第１の入力手段）、指定された範囲日数の候補値を範囲日数Ｖとして、指定作成数量のセット商品を作成できる場合には、指定された範囲日数の候補値を範囲日数Ｖとしてセット商品構成データ１２２を生成し、指定された範囲日数の候補値を範囲日数Ｖとすると、指定作成数量のセット商品を構成できない場合には、指定作成数量のセット商品を構成可能な最小の範囲日数を特定し、当該最小の範囲日数に基づいてセット商品構成データ１２２を生成する（情報生成手段）。これによれば、指定作成数量のセット商品を確保できる範囲で、消費期限間の最大範囲が最も小さくなる構成でセット商品を作成することができる。
【０１１５】
以上の説明では、本発明に係るプログラムのコンピュータ読み取り可能な媒体として記憶部１３のＨＤＤ、ＳＳＤを使用した例を開示したが、この例に限定されない。その他のコンピュータ読み取り可能な媒体として、フラッシュメモリや、ＣＤ−ＲＯＭ等の可搬型記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ（搬送波）も本発明に適用される。
【０１１６】
なお、上記実施形態における記述は、本発明に係る情報処理装置及びプログラムの一例であり、これに限定されるものではない。
例えば、上記実施形態では、商品としての食品の販売管理を例に挙げて説明したが、これに限られず、販売管理装置１は、種々の商品の販売管理におけるセット商品の作成に適用することができる。例えば、使用期限が定められている電池や化粧品などの消耗品、及びモデルチェンジによる販売期限が定められている電化製品などの販売管理業務に販売管理装置１を適用しても良い。したがって、商品に係る所定の期限は、消費期限に限られず、使用期限や販売期限などであっても良い。
【０１１７】
また、商品に係る期限は、日を単位としたものに限られず、週、月及び年などを単位とする期限であっても良い。
【０１１８】
また、上記実施形態では、商品の消費期限及び在庫数量をロットごとに管理する例を用いて説明したが、これに限定する趣旨ではない。商品の管理方法は、各商品の消費期限、及び同一種類の商品であって消費期限が同一である商品の在庫数量が管理可能であれば、どのような方法であっても良い。
【０１１９】
また、上記実施形態では、商品テーブル１３１、セット商品テーブル１３２、構成商品テーブル１３３及びロット管理テーブル１３４に対するデータの追加登録を、各種登録画面を用いてユーザの手入力により行う例を用いて説明したが、これに限定する趣旨ではない。例えば、商品の入荷検品作業において取得された商品のデータをそのまま自動的に各テーブルに追加する態様とすることで、ユーザの手入力の作業を省略しても良い。
【０１２０】
また、上記実施形態では、情報処理装置としての販売管理装置１が、ユーザにより使用される端末装置である場合を例に挙げて説明したが、これに限られない。例えば、サーバ装置により本発明の情報処理装置を構成し、当該サーバ装置での処理結果を、通信ネットネットワークを介してサーバ装置に接続された端末装置により受信させて表示させるようにしても良い。
【０１２１】
また、上記実施形態における情報処理装置としての販売管理装置１の各構成要素の細部構成及び細部動作に関しては、本発明の趣旨を逸脱することのない範囲で適宜変更可能であることは勿論である。
【０１２２】
本発明の実施の形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
〔付記〕
＜請求項１＞
複数種類の商品の組み合わせからなるセット商品における、商品の種類ごとの構成数量が特定されたセット商品情報と、
前記複数種類の商品の各々に係る在庫数量情報と、
前記複数種類の商品の各々に対して設定されている所定の期限に係る期限情報と、
に基づいて、在庫の商品の組み合わせにより前記セット商品を作成する場合における、前記セット商品に組み入れる各商品が特定されたセット商品構成情報を生成する情報生成手段を備え、
前記情報生成手段は、前記セット商品を構成する各商品の前記期限間の最大範囲が基準範囲内となるように、前記セット商品構成情報を生成することを特徴とする情報処理装置。
＜請求項２＞
前記基準範囲を指定する第１の入力操作を受け付ける第１の入力手段を備え、
前記情報生成手段は、前記第１の入力操作により指定された前記基準範囲に基づいて前記セット商品構成情報を生成することを特徴とする請求項１に記載の情報処理装置。
＜請求項３＞
作成する前記セット商品の数を指定する第２の入力操作を受け付ける第２の入力手段を備え、
前記情報生成手段は、前記第２の入力操作により指定された数以下で可能な最大数の前記セット商品に係る情報を含む前記セット商品構成情報を生成することを特徴とする請求項２に記載の情報処理装置。
＜請求項４＞
前記基準範囲の上限値を指定する第１の入力操作を受け付ける第１の入力手段を備え、
前記情報生成手段は、前記第１の入力操作により指定された前記上限値以下の前記基準範囲に基づいて前記セット商品構成情報を生成することを特徴とする請求項１に記載の情報処理装置。
＜請求項５＞
作成する前記セット商品の数を指定する第２の入力操作を受け付ける第２の入力手段を備え、
前記情報生成手段は、前記第２の入力操作により指定された数の前記セット商品を構成可能な複数の前記基準範囲を特定し、当該複数の基準範囲の各々に基づいてそれぞれ前記セット商品構成情報を生成することを特徴とする請求項４に記載の情報処理装置。
＜請求項６＞
作成する前記セット商品の数を指定する第２の入力操作を受け付ける第２の入力手段を備え、
前記情報生成手段は、前記第２の入力操作により指定された数の前記セット商品を構成可能な最小の基準範囲を特定し、当該最小の基準範囲に基づいて前記セット商品構成情報を生成することを特徴とする請求項４に記載の情報処理装置。
＜請求項７＞
前記基準範囲の設定に用いられる基準範囲候補値を指定する第１の入力操作を受け付ける第１の入力手段と、
作成する前記セット商品の数を指定する第２の入力操作を受け付ける第２の入力手段と、
を備え、
前記情報生成手段は、
前記第１の入力操作により指定された前記基準範囲候補値を前記基準範囲として、前記第２の入力操作により指定された数の前記セット商品を作成できる場合には、前記基準範囲候補値を前記基準範囲として前記セット商品構成情報を生成し、
前記基準範囲候補値を前記基準範囲とすると、前記指定された数の前記セット商品を構成できない場合には、前記指定された数のセット商品を構成可能な、前記基準範囲候補値より大きい最小の基準範囲を特定し、当該最小の基準範囲に基づいて前記セット商品構成情報を生成することを特徴とする請求項１に記載の情報処理装置。
＜請求項８＞
前記情報生成手段は、前記セット商品を構成する商品として、前記期限までの期間が短い商品を優先して選択することを特徴とする請求項１から７のいずれか一項に記載の情報処理装置。
＜請求項９＞
前記情報生成手段は、前記セット商品を構成する商品として、前記期限が所定の基準日以降に設定されている商品を選択することを特徴とする請求項１から８のいずれか一項に記載の情報処理装置。
＜請求項１０＞
前記セット商品構成情報の内容をユーザに提示するための処理を行う提示手段を備えることを特徴とする請求項１から９のいずれか一項に記載の情報処理装置。
＜請求項１１＞
情報処理装置に設けられたコンピュータを、
複数種類の商品の組み合わせからなるセット商品における、商品の種類ごとの構成数量が特定されたセット商品情報と、
前記複数種類の商品の各々に係る在庫数量情報と、
前記複数種類の商品の各々に対して設定されている所定の期限に係る期限情報と、
に基づいて、在庫の商品の組み合わせにより前記セット商品を作成する場合における、前記セット商品に組み入れる各商品が特定されたセット商品構成情報を生成する情報生成手段、
として機能させ、
前記情報生成手段は、前記セット商品を構成する各商品の前記期限間の最大範囲が基準範囲内となるように、前記セット商品構成情報を生成することを特徴とするプログラム。
【符号の説明】
【０１２３】
１  販売管理装置（情報処理装置）
１１  ＣＰＵ（情報生成手段、第１の入力手段、第２の入力手段、提示手段）
１２  ＲＡＭ
１３  記憶部
１４  操作部
１５  表示部
１６  通信部
１７  バス
２１  商品登録画面
２２  セット商品登録画面
２３  ロット情報登録画面
２４  セット商品作成画面
２５  結果表示画面
３０  セット商品作成指示書
１２１  構成商品候補リスト
１２２  セット商品構成データ
１３１  商品テーブル
１３１  ロット管理テーブル
１３２  セット商品テーブル（セット商品情報）
１３３  構成商品テーブル（セット商品情報）
１３４  ロット管理テーブル（在庫数量情報、期限情報）
１３５  セット商品作成プログラム
Ｖ  範囲日数（基準範囲）
【図１】
2020112898.tif 000003
【図２】
2020112898.tif 000004
【図３】
2020112898.tif 000005
【図４】
2020112898.tif 000006
【図５】
2020112898.tif 000007
【図６】
2020112898.tif 000008
【図７】
2020112898.tif 000009
【図８】
2020112898.tif 000010
【図９】
2020112898.tif 000011
【図１０】
2020112898.tif 000012
【図１１】
2020112898.tif 000013
【図１２】
2020112898.tif 000014
【図１３】
2020112898.tif 000015
【図１４】
2020112898.tif 000016
【図１５】
2020112898.tif 000017
【図１６】
2020112898.tif 000018
【図１７】
2020112898.tif 000019
【図１８】
2020112898.tif 000020
【図１９】
2020112898.tif 000021
【図２０】
2020112898.tif 000022
【図２１】
2020112898.tif 000023
【図２２】
2020112898.tif 000024
【図２３】
2020112898.tif 000025
【図２４】
2020112898.tif 000026