生成AIプロンプト研究所チャプロ
  • エンジニア検定
  • 記事
  • セミナー
  • プロンプト
  • 便利サービス
無料登録
menu
ホームプロンプトネットショップ業の注文書を、在庫管理表から発注が必要な商品を抽出し、仕入先ごとにワードで作成するプロンプト
通常タスク管理

ネットショップ業の注文書を、在庫管理表から発注が必要な商品を抽出し、仕入先ごとにワードで作成するプロンプト

孝
孝征 (たかゆき)

【6-10】プロンプト作成の練習 4/5


発注が必要な商品を在庫管理表から自動判別し、

ワードでネットショップ業の注文書を作り、Word形式(.docx)形式で出力、ダウンロードリンクを作成します。

まずは(質問をすべてブランクの)サンプルデータでプロンプトを生成して叩いてみてください。

 

※ChatGPT4oが「この環境ではファイルのアップロードやダウンロードURLの生成などのファイル操作を直接行うことができません。」
と言うようになってしまいました。
(ChatGPT4o よりも ChatGPT4 の方が素直に言うことを聞いてくれたりします。)

 

(在庫管理表を質問ではなく、エクセルファイルを投げるように変更すると実務では使いやすくなります。)

プロンプト本文

# 前提条件:
タイトル: 在庫管理表から仕入先ごとに正確で高品質な注文書を作成するプロンプト
依頼者条件: 在庫管理業務と注文書発行業務を効率化したい担当者
制作者条件: Excel操作に精通し、自動化ツール、Pythonの理解があり、注文書作成フローに精通している人
目的と目標:
1. 在庫管理表から発注が必要な商品を自動判別する。
2. [仕入先名]ごとにファイルを分けて、正確で高品質な注文書を効率的にワードで作成する。
3. [仕入先名]ごと[在庫場所]ごとに分けられた正確な注文表 を作成し、{注文書参考フォーマット}に従って [仕入先名]ごとの正確で高品質な注文書 内に効率的に正しく記載する。同一の[仕入先名]に複数の[在庫場所]がある場合は注文表を続けて記載する。
4. 指定されたファイル名で、[仕入先名]ごとにWord(.docx)形式で出力して、ダウンロードURLを提示する。

# 実行命令:
あなたは非常に優秀な在庫管理の専門家です。
次の手順に従って、[仕入先名]ごと[在庫場所]ごとに分けられた注文表 を、{注文書参考フォーマット}に従って [仕入先名]ごとの注文書 の中に記載した後、指定されたファイル名で、Word(.docx)形式で出力してダウンロードURLを提示してください。
1. 在庫管理表を次の条件で並べ替えてください: 発注ステータス降順、[仕入先名]昇順、[在庫場所]昇順、[納期]昇順、[商品CODE]昇順。
2. 在庫管理表の発注ステータスが「要手配」の商品を抽出し、{注文表フォーマット}に従って [仕入先名]ごと[在庫場所]ごとに分けられた注文表 を作成してください。
3. {注文書参考フォーマット}に従って [仕入先名]ごとの注文書 を作成してください。
4. 同一の[仕入先名]に複数の[在庫場所]がある場合: {注文書参考フォーマット}の中のROOP_STARTからROOP_ENDを[在庫場所]ごとに繰り返して注文表を記載してください。
5. 注文書の印刷ページ設定は次の通りです: 用紙サイズ: A4、縦向き、余白設定: 上20.0mm, 下15.0mm, 左15.0mm, 右15.0mm
6. [仕入先名]ごとの注文書 をWord (.docx形式)でファイル名を "注文書_{仕入先別注文番号[仕入先名]}.docx" にして出力しダウンロードURLを提示してください。
7. データが不足している場合やその他のエラーがある場合はエラーメッセージを表示し対策も提示してください。

# 補足:
- 「[仕入先名]ごと[在庫場所]ごとの注文表」は、「[仕入先名]ごとの注文書」の中に1つ以上含まれます。
- フロントエンドは日本語でお願いします。
- 指示の復唱はしないでください。
- まとめや結論は書かないでください。
- 必ずPython処理を実行してください。
- 必ず成果物のダウンロードURLを提示してください。
- このプロンプトの解説は不要です。
- 仕入先ごとに注文書を作成してください。
- {注文書参考フォーマット}を反映してください。
- 注文書の印刷ページ設定を反映してください。
- 注文書のファイル名を "注文書_{仕入先別注文番号[仕入先名]}.docx" にしてください。


在庫管理表 = "

"
注文書発行者 = "

"
納品先情報 = "

"


from datetime import datetime, timedelta
import pandas as pd
from io import StringIO
from docx import Document
from docx.shared import Pt

# 在庫管理表のデータをpandasのデータフレームに変換
df = pd.read_csv(StringIO({在庫管理表}))

# 既存の注文番号リスト
existing_order_numbers = [(datetime.today() + timedelta(hours=9)).strftime('%y%m%d.%H%M')] # suffixなしを省く

# 注文番号の重複を防ぐ関数
def generate_unique_order_number_with_suffix(existing_order_numbers):
# 現在の日時に基づいて基本となる注文番号を生成
base_order_number = (datetime.today() + timedelta(hours=9)).strftime('%y%m%d.%H%M')
# 注文番号が既存のリストに存在する限り、サフィックスを増加させてユニークな番号を生成
suffix = 1
unique_order_number = base_order_number
while unique_order_number in existing_order_numbers:
unique_order_number = f"{base_order_number}-{suffix}"
suffix += 1
# 一意の注文番号をリストに追加
existing_order_numbers.append(unique_order_number)
return unique_order_number

# 仕入先名の一覧を在庫管理表から動的に取得し、重複を除去
unique_suppliers = df['仕入先名'].unique()
# 仕入先ごとにユニークな注文番号を生成する
仕入先別注文番号 = {}
for supplier in unique_suppliers:
# 各仕入先ごとに注文番号を生成
注文番号 = generate_unique_order_number_with_suffix(existing_order_numbers)
仕入先別注文番号[仕入先名] = 注文番号
注文日時 = (datetime.today() + timedelta(hours=9)).strftime('%Y/%m/%d %H:%M')


注文表フォーマット = """
"納品先:[在庫場所]" : "[在庫場所]"は太文字。
┌ ---- ┬ ---- ┬ ---- ┬ ---- ┬ ---- ┬ ---- ┬ ---- ┐ : 破線ではなく黒の細い実線で枠線を作る。
| 商品名 | 商品CODE | 単価 | 数量 | 納品先 | 納期 | 備考 | : ヘッダー部分は背景色を#d3d3d3に設定、太文字、中央配置。
├ ---- ┼ ---- ┼ ---- ┼ ---- ┼ ---- ┼ ---- ┼ ---- ┤
| [商品名1] | [商品CODE] | [仕入価格1] | [要発注数1] | [在庫場所1] | "[納期1]日" | [備考] | : 数値データはすべて中央配置。
| [商品名2] | [商品CODE] | [仕入価格2] | [要発注数2] | [在庫場所2] | "[納期2]日" | [備考] |
[以下同様に続ける]
└ ---- ┴ ---- ┴ ---- ┴ ---- ┴ ---- ┴ ---- ┴ ---- ┘
"""

注文書参考フォーマット = """
"注文書" : MS UI Gothic 18pt、中央配置、スタイルは標準。
- 以降すべてMS UI Gothic 11pt、スタイルは標準。
"No.{仕入先別注文番号[仕入先名]}" : 右配置、下線を引く。
"注文日時:{注文日時}" : 右配置。
"[仕入先名] 御中 ご担当者様" : 左配置、下線を引く。
"{注文書発行者}" : 右配置。
"いつも大変お世話になっております。\n下記の通り注文いたしますのでお手配ください。" : 左配置。
# ROOP_START (同じ仕入先に[在庫場所]が複数ある場合は繰り返し、ここから)
"\n"
"\n"
{注文表}
# ROOP_END (同じ仕入先に[在庫場所]が複数ある場合は繰り返し、ここまで)
"\n"
"\n"
{納品先情報} : 右配置。
"\n"
"\n"
"以上." : 右配置。
"""
在庫管理表は?
注文書発行者は?
納品先情報は?
運営会社
利用規約
プロンプトエンジニア一覧
プロンプトエンジニア育成講座
©2025 生成AIプロンプト研究所「チャプロ」 All rights reserved.