Files
jerron 9c6812eb01 feat(dn): 添加 is_exchange 字段支持换货场景库存更新
问题描述:
- DN 收退货时,明细行有正负数量导致总数量=0时,提交后库存未更新
- 原因:代码中多处过滤条件会跳过 actual_qty=0 的记录

解决方案:
1. 在 Delivery Note DocType 中添加内置字段 is_exchange (Check)
2. 替换所有 custom_is_exchange 自定义字段引用为 is_exchange
3. 修改库存更新逻辑,在 is_exchange=1 时允许数量为0的明细行更新库存
4. 在 SLE 生成时传递 is_exchange 字段到 Stock Ledger Entry

修改文件:
- delivery_note.json: 添加 is_exchange 字段定义
- delivery_note.py: 替换字段引用
- selling_controller.py: 修改库存更新条件并传递 is_exchange 到 SLE
- stock_ledger.py: 修改 SLE 创建和过账条件
- accounts_controller.py: 替换字段引用
- status_updater.py: 替换字段引用

影响范围:
- 仅当 DN 的 is_exchange=1 时生效
- 不影响其他单据类型的校验逻辑
- 正常 DN (is_exchange=0) 保持原有行为
2026-10-18 09:29:33 +08:00
..
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00
2026-09-22 22:11:23 +08:00