こんにちは、こんです。
Day 8 では「業者ごとの伝票フォーマットの違い」をテンプレで吸収する仕組みを作りましたが、今日はその 「エクスポート部分」 をより実用的に進化させてみました!
🎯 今日の実験テーマ
「送り状出力前に、テンプレに沿った内容+都度変更したい情報を両方扱いたい」
🛠 今日やったことまとめ
✅ 出力テンプレート(YAMATO/SAGAWA)をJSONファイルとして保存&管理
┗ 出力カラム・出力関数・初期値(出荷日/送り状種別/備考など)を含めた設計に変更!
✅ 「CSV変換後の共通カラム形式データ」+「エクスポートテンプレ」を組み合わせて出力
┗ テンプレ選択+出荷予定日などの再設定+文字コード指定+DLまでを実装!
✅ ご依頼主情報の編集UIをエクスポート画面にも追加(ポップオーバーでスッキリ)
┗ JSONに保存されていて、呼び出し→編集→再保存の流れが1ページ内で完結🎉
💡 実感したこと
「都度変えたい値」と「テンプレに固定されるべき値」が明確に分けられた!
→ 住所や氏名はテンプレートに入れないでおいて、直前に編集できるのが便利。テンプレをJSONで管理できるの、地味に最高
→ 出力形式を追加するのも、設定画面でポチポチできて楽しい!テンプレ×コンテキストの設計思想が見えてきた
→ generator関数+context+default_values で、かなり柔軟な設計が可能になりつつある!
🔜 明日以降にやりたいこと
「インポート形式」と「エクスポート形式」をペアで紐付けたい
テンプレに transform(ハイフン除去や大文字変換)を埋め込みたい
条件付きの特典付与や分岐処理にもチャレンジしていきたい!
📌 まとめ:エクスポートもテンプレに吸収、でも柔軟に!
今日のアップデートで、「共通カラムからの出力設計」がかなり実用的になってきました。
テンプレの柔軟性 × 出力前の上書き機能って、
地味だけどすごく業務に寄り添ってる感じがして好きです🦊
それではまた明日の実験で!
#Streamlit #業務改善 #テンプレート設計 #100日チャレンジ #Python #出力設計もDX