mirror of
https://github.com/goldenfishs/MRobot.git
synced 2026-02-04 18:00:19 +08:00
6.0 KiB
6.0 KiB
财务做账模块使用指南
功能概述
MRobot 财务做账模块是一个完整的财务管理系统,提供做账、查询、导出三大功能。支持多账户管理、图片附件、本地数据存储等功能。
核心特性
- 多账户管理: 支持创建和管理多个独立的财务账户
- 完整的交易记录: 每条记录包含日期、金额、交易人、备注和三种类型的图片证明
- 图片管理: 支持为每条记录关联发票、支付记录、购买记录三张图片
- 本地存储: 所有数据和图片存储在本地,组织清晰
- 强大的查询: 支持按日期、金额、交易人多条件查询
- 数据导入导出: 支持ZIP打包转移、CSV导出、完整备份
目录结构
assets/Finance_Data/
├── accounts/ # 账户数据目录
│ ├── [账户ID]/ # 每个账户的独立目录
│ │ ├── metadata.json # 账户元数据
│ │ ├── [交易ID]/ # 每条交易记录的目录
│ │ │ ├── data.json # 交易记录数据
│ │ │ ├── invoice/ # 发票图片
│ │ │ ├── payment/ # 支付记录图片
│ │ │ └── purchase/ # 购买记录图片
├── backups/ # 自动备份目录
├── images/ # 临时图片缓存(可选)
└── [其他文件]
使用指南
1. 做账标签页
创建账户
- 点击"新建账户"按钮
- 输入账户名称和描述(可选)
- 点击确定
创建新交易记录
- 选择账户
- 点击"新建记录"按钮
- 填写表单信息:
- 日期: 默认为当前日期,可修改
- 金额: 必须大于0
- 交易人: 必填项,填写交易对象
- 备注: 可选,补充说明
- 图片: 可选上传发票、支付记录、购买记录三张图片
管理交易记录
- 编辑: 点击"编辑"按钮修改记录
- 删除: 点击"删除"按钮删除记录
- 查看: 点击"查看"按钮查看完整详情和图片预览
统计信息
- 实时显示总金额(人民币)
- 显示记录总数
2. 查询标签页
设置查询条件
- 日期范围: 默认查询最近一个月,可自定义
- 金额范围: 可设置最小和最大金额
- 交易人: 支持模糊搜索(不区分大小写)
执行查询
- 调整过滤条件
- 点击"查询"按钮
- 结果列表显示匹配的记录
查看记录详情
- 点击结果列表中的"查看详情"按钮
- 显示完整信息和图片预览
3. 导出标签页
导出账户为ZIP包
- 用途: 转移账户给他人使用
- 操作: 点击"导出为ZIP包",选择保存位置
- 文件名格式:
账户名_账户ID.zip - 包含所有交易记录和附加图片
导出为CSV格式
- 用途: 用Excel或其他工具分析
- 操作: 点击"导出CSV",选择保存位置
- 内容: 日期、金额、交易人、备注、创建时间
导入账户
- 用途: 导入他人共享的账户
- 操作: 点击"导入账户",选择ZIP文件
- 系统自动提取并加载账户
创建备份
- 用途: 备份所有账户
- 操作: 点击"创建备份"
- 保存位置:
assets/Finance_Data/backups/backup_[时间戳].zip - 自动压缩所有账户数据
数据模式
交易记录数据结构
{
"id": "唯一ID",
"date": "2024-01-15",
"amount": 1500.50,
"trader": "张三",
"notes": "购买办公用品",
"invoice_path": "accounts/xxx/yyy/invoice/receipt.jpg",
"payment_path": "accounts/xxx/yyy/payment/wechat.jpg",
"purchase_path": "accounts/xxx/yyy/purchase/order.jpg",
"created_at": "ISO格式时间戳",
"updated_at": "ISO格式时间戳"
}
账户元数据结构
{
"id": "唯一ID",
"name": "账户名称",
"description": "账户描述",
"created_at": "ISO格式时间戳",
"updated_at": "ISO格式时间戳"
}
最佳实践
大数据量管理
- 分账户: 按业务类型或时间周期创建多个账户
- 定期备份: 定期使用"创建备份"功能
- 及时查询: 不要一次加载过多数据,使用查询功能精确定位
图片管理
- 推荐格式: PNG、JPG、BMP、JPEG
- 推荐大小: 不超过2MB
- 文件组织: 三张图片分别存储,避免重复
数据安全
- 所有数据存储在本地,不上传到云端
- 定期备份重要数据
- 谨慎删除账户和记录
文件结构详解
finance_manager.py
核心数据管理模块,包含:
TransactionType: 交易类型枚举Transaction: 交易记录数据模型Account: 账户数据模型FinanceManager: 主要的财务管理类
finance_interface.py
用户界面模块,包含:
CreateTransactionDialog: 创建/编辑交易对话框RecordViewDialog: 查看交易详情对话框FinanceInterface: 主界面和三个标签页
常见问题
Q: 如何转移账户给他人?
A: 使用"导出为ZIP包"功能导出账户,将ZIP文件发送给对方,对方使用"导入账户"导入。
Q: 删除记录后能恢复吗?
A: 不能。请定期创建备份,以防误删。
Q: 支持的最大数据量是多少?
A: 理论上不限制,但建议单个账户不超过10000条记录以保持性能。
Q: 图片能否修改?
A: 不能。如需修改,请删除记录后重新创建。
Q: 可以合并账户吗?
A: 暂不支持。可以手动导出CSV后粘贴合并。
技术细节
数据存储方式
- 元数据: JSON格式
- 交易记录: JSON格式
- 图片: 原始格式(JPG、PNG等)
查询性能
- 账户级别的内存缓存
- 交易记录按日期倒序排列
- 查询时进行内存过滤
文件安全
- 所有写入操作使用原子性操作
- 删除前自动备份(通过备份功能)
- 支持恢复已备份数据
更新日志
v1.0.0
- 初始发布
- 支持基本的做账、查询、导出功能
- 支持多账户管理
- 支持图片附件
- 支持备份和恢复
使用此模块前,请确保 MRobot 已正确安装并配置好依赖环境。