# 财务做账模块使用指南 ## 功能概述 MRobot 财务做账模块是一个完整的财务管理系统,提供做账、查询、导出三大功能。支持多账户管理、图片附件、本地数据存储等功能。 ### 核心特性 - **多账户管理**: 支持创建和管理多个独立的财务账户 - **完整的交易记录**: 每条记录包含日期、金额、交易人、备注和三种类型的图片证明 - **图片管理**: 支持为每条记录关联发票、支付记录、购买记录三张图片 - **本地存储**: 所有数据和图片存储在本地,组织清晰 - **强大的查询**: 支持按日期、金额、交易人多条件查询 - **数据导入导出**: 支持ZIP打包转移、CSV导出、完整备份 ## 目录结构 ``` assets/Finance_Data/ ├── accounts/ # 账户数据目录 │ ├── [账户ID]/ # 每个账户的独立目录 │ │ ├── metadata.json # 账户元数据 │ │ ├── [交易ID]/ # 每条交易记录的目录 │ │ │ ├── data.json # 交易记录数据 │ │ │ ├── invoice/ # 发票图片 │ │ │ ├── payment/ # 支付记录图片 │ │ │ └── purchase/ # 购买记录图片 ├── backups/ # 自动备份目录 ├── images/ # 临时图片缓存(可选) └── [其他文件] ``` ## 使用指南 ### 1. 做账标签页 #### 创建账户 1. 点击"新建账户"按钮 2. 输入账户名称和描述(可选) 3. 点击确定 #### 创建新交易记录 1. 选择账户 2. 点击"新建记录"按钮 3. 填写表单信息: - **日期**: 默认为当前日期,可修改 - **金额**: 必须大于0 - **交易人**: 必填项,填写交易对象 - **备注**: 可选,补充说明 - **图片**: 可选上传发票、支付记录、购买记录三张图片 #### 管理交易记录 - **编辑**: 点击"编辑"按钮修改记录 - **删除**: 点击"删除"按钮删除记录 - **查看**: 点击"查看"按钮查看完整详情和图片预览 #### 统计信息 - 实时显示总金额(人民币) - 显示记录总数 ### 2. 查询标签页 #### 设置查询条件 - **日期范围**: 默认查询最近一个月,可自定义 - **金额范围**: 可设置最小和最大金额 - **交易人**: 支持模糊搜索(不区分大小写) #### 执行查询 1. 调整过滤条件 2. 点击"查询"按钮 3. 结果列表显示匹配的记录 #### 查看记录详情 - 点击结果列表中的"查看详情"按钮 - 显示完整信息和图片预览 ### 3. 导出标签页 #### 导出账户为ZIP包 - 用途: 转移账户给他人使用 - 操作: 点击"导出为ZIP包",选择保存位置 - 文件名格式: `账户名_账户ID.zip` - 包含所有交易记录和附加图片 #### 导出为CSV格式 - 用途: 用Excel或其他工具分析 - 操作: 点击"导出CSV",选择保存位置 - 内容: 日期、金额、交易人、备注、创建时间 #### 导入账户 - 用途: 导入他人共享的账户 - 操作: 点击"导入账户",选择ZIP文件 - 系统自动提取并加载账户 #### 创建备份 - 用途: 备份所有账户 - 操作: 点击"创建备份" - 保存位置: `assets/Finance_Data/backups/backup_[时间戳].zip` - 自动压缩所有账户数据 ## 数据模式 ### 交易记录数据结构 ```json { "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格式时间戳" } ``` ### 账户元数据结构 ```json { "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 已正确安装并配置好依赖环境。**