### Odoo 18 中跟踪采购订单状态或进度的方法
在 Odoo 18 的供应链管理模块中,采购订单的状态和进度可以通过多个内置功能进行有效跟踪。该模块不仅涵盖了从供应商管理到库存控制的所有供应链环节[^1],还提供了详细的采购流程监控工具。
#### 使用采购订单的工作流
Odoo 18 提供了一个直观的界面来查看采购订单的状态变化。每份采购订单都会经历一系列标准状态,例如草稿 (Draft)、等待批准 (Waiting Approval)、已确认 (Purchase Order Sent)、部分收货 (Partially Received) 和已完成 (Done)[^1]。这些状态的变化会自动记录并显示在系统的界面上。
以下是具体方法:
- **仪表盘视图**: 用户可以在采购模块的仪表盘上快速浏览所有未完成的采购订单及其当前状态。这种可视化方式有助于识别哪些订单需要紧急处理。
- **历史日志与备注**: 每次更新采购订单时,系统都会保存操作的历史记录。这使得管理员能够轻松追溯任何更改的时间点及原因。
- **邮件集成**: 如果启用了电子邮件提醒设置,则每当发生重要事件(如收到新报价请求或供应商回复)时,相关人员都将接获即时通知。
#### 新增的产品追踪机制改进
随着 Odoo 18 对产品的重新分类,“货物”取代了原有的可储存和易耗品类型,并引入更灵活的“追踪”选项[^2]。这意味着对于那些需要严格质量管控或者批次编号管理的商品来说,在整个生命周期内的每一个移动都可以精确地被标记出来。因此当涉及到复杂原材料或多级组装件的时候,这样的增强无疑提高了透明度以及准确性。
另外值得注意的是,尽管上述提到的功能主要集中在基础架构层面之上;但是为了进一步满足企业个性化需求,开发者也可以利用扩展插件来自定义额外报告模板或是调整审批流程等等[^3]。
```python
class PurchaseOrder(models.Model):
_inherit = 'purchase.order'
state = fields.Selection(selection_add=[
('draft', 'RFQ'),
('sent', 'RFQ Sent'),
('to approve', 'To Approve'),
('purchase', 'Purchase Order'),
('done', 'Locked'),
('cancel', 'Cancelled')
], string='Status', readonly=True, index=True, copy=False, default='draft', tracking=True)
def action_rfq_send(self):
""" Sends the RFQ by email """
self.ensure_one()
template_id = self.env.ref('purchase.email_template_edi_purchase').id or False
compose_form_id = self.env.ref('mail.email_compose_message_wizard_form').id
ctx = dict(
default_model='purchase.order',
default_res_id=self.id,
default_use_template=bool(template_id),
default_template_id=template_id,
default_composition_mode='comment',
mark_rfq_as_sent=True,
)
return {
'name': _('Compose Email'),
'type': 'ir.actions.act_window',
'view_type': 'form',
'view_mode': 'form',
'res_model': 'mail.compose.message',
'views': [(compose_form_id, 'form')],
'target': 'new',
'context': ctx,
}
```
此代码片段展示了如何继承 `purchase.order` 类以增加新的行为逻辑,比如发送询价单给供应商的同时改变其状态为 "Sent"。
---