3.4 KiB
3.4 KiB
販売アシスト1号
Python + Flet で開発した、Android向けスタンドアロン販売管理アプリです。
主な機能
- ダッシュボード(顧客数・商品数・売上件数・総売上)
- 顧客管理(追加・編集・削除)
- 商品管理(追加・編集・削除・在庫管理)
- 売上管理(記録・閲覧)
- データ出力(JSON/CSV)
セットアップ
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
実行
python main.py
伝票エクスプローラー(一覧)
伝票一覧画面で以下の操作ができます。
- 検索: 伝票番号 / 顧客名 / 種別 / 備考
- 期間: 直近7日 / 30日 / 3ヶ月 / 1年 / 全期間
- ソート: 日付 / 伝票番号 / 顧客名 / 種別 / 更新日時
- 並び順切替: 昇順 / 降順
- 赤伝の表示切替
- ページ送り(前 / 次)
- 「マスタ編集」ボタンから顧客/商品マスタ編集へ遷移
大量データ(7年分想定)でも、SQLiteの条件検索とページングで段階的に表示します。
伝票エディタ(明細編集)
- 明細は行追加 / 行削除で編集
- 保存時に明細を正規化(空行除去、数量補正)
- 保存時バリデーション:
- 商品名必須
- 数量は1以上
- 単価は0以上
不正な行がある場合は保存せず、先頭エラーを画面通知します。
再利用用の最小フレーム:
components/explorer_framework.py(検索状態・期間・ソート)components/editor_framework.py(明細正規化・検証・表示/編集テーブル)components/universal_master_editor.py(顧客/商品マスタで検索・ソート・ページングを共通利用)
Androidビルド
直接コマンド
flet build apk . --module-name main
リリース用AAB:
flet build aab . --module-name main
build.py を使う場合
python build.py apk
python build.py aab
APKインストール
Androidエミュレータ
- 方法A: 生成された APK をエミュレータへドラッグ&ドロップ
- 方法B:
adb install -r <APKのパス>
トラブルシュート
1. 実機で起動時に落ちる
adb logcat -c
adb logcat
必要箇所だけ抽出:
adb logcat | grep -E "FATAL EXCEPTION|Traceback|Python|Chaquopy|sqlite|Permission denied|No such file"
2. Fletコマンドが見つからない
source .venv/bin/activate
pip install -r requirements.txt
3. ビルドが失敗する
- Python/Flet バージョンを確認
- Android SDK / JDK の設定を確認
- 失敗ログ全文を保存して原因行を確認
データ保存
SQLite (sales.db) を使用します。主なテーブル:
customersproductssalesaudit_logsintegrity_checksarchive_sales
電子帳簿保存法対応(要点)
- 取引データの長期保存(10年)
- 監査証跡の記録
- 整合性チェック(改ざん検知)
- 検索・閲覧可能な形式での保管
リポジトリ整理の自動化
生成物や試作ファイルを削除せず trash/ に隔離するスクリプト:
bash scripts/auto_recover_and_build.sh /home/user/dev/h-1.flet.3
実行内容:
- プロジェクトバックアップ作成
- 生成物の
trash/<timestamp>/移動 .gitignore整備- Git ベースラインコミット作成(必要時)