h-1.flet.3/README.md
2026-02-23 08:57:59 +09:00

149 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 販売アシスト1号
Python + Flet で開発した、Android向けスタンドアロン販売管理アプリです。
## 主な機能
- ダッシュボード(顧客数・商品数・売上件数・総売上)
- 顧客管理(追加・編集・削除)
- 商品管理(追加・編集・削除・在庫管理)
- 売上管理(記録・閲覧)
- データ出力JSON/CSV
## セットアップ
```bash
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```
## 実行
```bash
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ビルド
### 直接コマンド
```bash
flet build apk . --module-name main
```
リリース用AAB:
```bash
flet build aab . --module-name main
```
### build.py を使う場合
```bash
python build.py apk
python build.py aab
```
## APKインストール
### Androidエミュレータ
- 方法A: 生成された APK をエミュレータへドラッグ&ドロップ
- 方法B:
```bash
adb install -r <APKのパス>
```
## トラブルシュート
### 1. 実機で起動時に落ちる
```bash
adb logcat -c
adb logcat
```
必要箇所だけ抽出:
```bash
adb logcat | grep -E "FATAL EXCEPTION|Traceback|Python|Chaquopy|sqlite|Permission denied|No such file"
```
### 2. Fletコマンドが見つからない
```bash
source .venv/bin/activate
pip install -r requirements.txt
```
### 3. ビルドが失敗する
- Python/Flet バージョンを確認
- Android SDK / JDK の設定を確認
- 失敗ログ全文を保存して原因行を確認
## データ保存
SQLite (`sales.db`) を使用します。主なテーブル:
- `customers`
- `products`
- `sales`
- `audit_logs`
- `integrity_checks`
- `archive_sales`
## 電子帳簿保存法対応(要点)
- 取引データの長期保存10年
- 監査証跡の記録
- 整合性チェック(改ざん検知)
- 検索・閲覧可能な形式での保管
## リポジトリ整理の自動化
生成物や試作ファイルを削除せず `trash/` に隔離するスクリプト:
```bash
bash scripts/auto_recover_and_build.sh /home/user/dev/h-1.flet.3
```
実行内容:
- プロジェクトバックアップ作成
- 生成物の `trash/<timestamp>/` 移動
- `.gitignore` 整備
- Git ベースラインコミット作成(必要時)