80 lines
2.3 KiB
Markdown
80 lines
2.3 KiB
Markdown
# 更新日志
|
|
|
|
## v1.2 (2025-10-17)
|
|
|
|
### 新功能
|
|
|
|
#### 1. 汇率文件支持
|
|
- **功能**: 支持从 `exchange_rate.txt` 文件读取汇率
|
|
- **优先级**: 文件汇率 > 程序默认汇率
|
|
- **使用方法**:
|
|
```bash
|
|
echo "7.25" > exchange_rate.txt
|
|
python3 generate_accounting_entries.py
|
|
```
|
|
|
|
#### 2. 智能汇率验证
|
|
- **范围检查**: 汇率必须在 0.1 ~ 100 范围内
|
|
- **格式验证**: 自动检测非数字格式
|
|
- **错误处理**: 异常情况自动回退到默认汇率 (7.1072)
|
|
|
|
#### 3. 详细日志输出
|
|
程序运行时会显示汇率来源:
|
|
- 从文件读取: `从 exchange_rate.txt 读取汇率: 7.25`
|
|
- 文件不存在: `汇率文件 exchange_rate.txt 不存在,使用默认汇率: 7.1072`
|
|
- 格式错误: `汇率文件 exchange_rate.txt 中的值无法解析,使用默认汇率: 7.1072`
|
|
- 值不合理: `汇率文件中的值 150.0 不合理,使用默认汇率: 7.1072`
|
|
|
|
### 代码修改
|
|
|
|
**文件**: `generate_accounting_entries.py`
|
|
|
|
1. **新增导入**:
|
|
- `import os` - 用于文件检查
|
|
|
|
2. **新增函数**:
|
|
- `load_exchange_rate()` (line 16-52) - 汇率加载和验证逻辑
|
|
|
|
3. **修改函数签名**:
|
|
- `create_accounting_entries(data, exchange_rate)` - 添加汇率参数
|
|
|
|
4. **修改 main 函数**:
|
|
- 调用 `load_exchange_rate()` 获取汇率
|
|
- 传递汇率参数到 `create_accounting_entries()`
|
|
|
|
### 文档更新
|
|
|
|
1. **User.md**:
|
|
- 更新"汇率配置"章节,添加文件方法说明
|
|
- 更新 Q4 常见问题
|
|
- 更新文件说明表,添加 `exchange_rate.txt`
|
|
- 添加 v1.2 更新记录
|
|
|
|
2. **CLAUDE.md**:
|
|
- 更新"Exchange Rate"配置章节
|
|
- 添加详细的错误处理说明和示例
|
|
- 更新版本历史
|
|
|
|
### 测试结果
|
|
|
|
✅ 正常汇率文件 (7.25): 成功读取
|
|
✅ 文件不存在: 使用默认汇率
|
|
✅ 非数字格式 (abc): 使用默认汇率
|
|
✅ 不合理值 (150): 使用默认汇率
|
|
|
|
### 向后兼容性
|
|
|
|
- ✅ 完全向后兼容
|
|
- ✅ 不影响现有功能
|
|
- ✅ 无 `exchange_rate.txt` 文件时使用程序默认值
|
|
|
|
### 文件清单
|
|
|
|
| 文件 | 状态 | 说明 |
|
|
|------|------|------|
|
|
| `generate_accounting_entries.py` | 已修改 | 添加汇率文件读取功能 |
|
|
| `exchange_rate.txt` | 新增 | 汇率配置文件 (可选) |
|
|
| `User.md` | 已更新 | 用户文档 |
|
|
| `CLAUDE.md` | 已更新 | 开发文档 |
|
|
| `CHANGELOG.md` | 新增 | 本文件 |
|