Bỏ qua để đến Nội dung
Odoo Menu
  • Đăng nhập
  • Dùng thử miễn phí
  • Ứng dụng
    Tài chính
    • Kế toán
    • Hóa đơn
    • Chi phí
    • Bảng tính (BI)
    • Tài liệu
    • Ký tên
    Bán hàng
    • CRM
    • Bán hàng
    • POS Cửa hàng
    • POS Nhà hàng
    • Đăng ký
    • Cho thuê
    Trang web
    • Trình tạo trang web
    • Thương mại điện tử
    • Blog
    • Diễn đàn
    • Trò chuyện trực tiếp
    • Học trực tuyến
    Chuỗi cung ứng
    • Tồn kho
    • Sản xuất
    • PLM
    • Mua hàng
    • Bảo dưỡng
    • Chất lượng
    Nhân sự
    • Nhân viên
    • Tuyển dụng
    • Ngày nghỉ
    • Đánh giá
    • Giới thiệu
    • Đội xe
    Marketing
    • Marketing trên MXH
    • Marketing qua email
    • Marketing qua SMS
    • Sự kiện
    • Tự động hóa Marketing
    • Khảo sát
    Dịch vụ
    • Dự án
    • Bảng chấm công
    • Dịch vụ hiện trường
    • Hỗ trợ
    • Kế hoạch
    • Lịch hẹn
    Năng suất
    • Thảo luận
    • Phê duyệt
    • IoT
    • VoIP
    • Kiến thức
    • WhatsApp
    Ứng dụng của bên thứ ba Studio Odoo Nền tảng Đám mây Odoo
  • Ngành
    Bán lẻ
    • Nhà sách
    • Cửa hàng quần áo
    • Cửa hàng nội thất
    • Cửa hàng tạp hóa
    • Cửa hàng đồ kim khí
    • Cửa hàng đồ chơi
    Ẩm thực & Dịch vụ lưu trú
    • Bar và quán rượu
    • Nhà hàng
    • Đồ ăn nhanh
    • Guest house
    • Nhà phân phối đồ uống
    • Khách sạn
    Bất động sản
    • Công ty môi giới bất động sản
    • Công ty kiến trúc
    • Xây dựng
    • Quản lý bất động sản
    • Làm vườn
    • Hiệp hội chủ sở hữu bất động sản
    Tư vấn
    • Công ty kế toán
    • Đối tác Odoo
    • Công ty marketing
    • Công ty luật
    • Tuyển dụng
    • Thanh tra & chứng nhận
    Sản xuất
    • Dệt may
    • Kim loại
    • Nội thất
    • Ẩm thực
    • Nhà máy bia
    • Quà tặng doanh nghiệp
    Sức khoẻ & fitness
    • CLB thể thao
    • Cửa hàng kính mắt
    • Trung tâm fitness
    • Chuyên gia chăm sóc sức khỏe
    • Hiệu thuốc
    • Tiệm làm tóc
    Thương mại
    • Dịch vụ sửa chữa
    • Phần cứng CNTT & Hỗ trợ
    • Hệ thống năng lượng mặt trời
    • Công ty sản xuất giày
    • Dịch vụ vệ sinh
    • Dịch vụ HVAC
    Khác
    • Tổ chức phi lợi nhuận
    • Cơ quan môi trường
    • Cho thuê biển quảng cáo
    • Nhiếp ảnh
    • Cho thuê xe đạp
    • Đại lý phần mềm
    Xem tất cả ngành
  • Cộng đồng
    Học tập
    • Khóa học
    • Tài liệu
    • Chứng chỉ
    • Đào tạo
    • Blog
    • Podcast
    Thúc đẩy đào tạo
    • Chương trình đào tạo
    • Trò chơi kinh doanh Scale Up!
    • Tham quan Odoo
    Nhận phần mềm
    • Tải xuống
    • So sánh các phiên bản
    • Phiên bản
    Hợp tác
    • Github
    • Diễn đàn
    • Sự kiện
    • Dịch thuật
    • Trở thành đối tác
    • Dịch vụ dành cho Đối tác
    • Đăng ký công ty kế toán của bạn
    Nhận dịch vụ
    • Tìm đối tác
    • Tìm kế toán
    • Gặp chuyên gia hỗ trợ
    • Dịch vụ Triển khai
    • Khách hàng tham khảo
    • Hỗ trợ
    • Nâng cấp
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Nhận một buổi demo
  • Bảng giá
  • Trợ giúp

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Kế toán
  • Tồn kho
  • PoS
  • Dự án
  • MRP
All apps
Bạn cần phải đăng ký để tương tác với cộng đồng.
Tất cả bài viết Người Huy hiệu
Thẻ (Xem tất cả)
odoo accounting v14 pos v15
Về diễn đàn này
Bạn cần phải đăng ký để tương tác với cộng đồng.
Tất cả bài viết Người Huy hiệu
Thẻ (Xem tất cả)
odoo accounting v14 pos v15
Về diễn đàn này
Hỗ trợ

Automated Action for Creating Work Order

Đăng ký nhận tin

Nhận thông báo khi có hoạt động trên bài viết này

Câu hỏi này đã bị gắn cờ
workorderautomation
2 Trả lời
1403 Lượt xem
Ảnh đại diện
James Gaspelin

Hi all!

I have multiple operators that utilize the shop floor app only, and sometimes they have to add in work/tasks that would be outside of normal planning.


I would like to add a dummy work order that they can access and record time/notes for when those occurrences do happen. I already have that set up.


Upon marking it complete, I would like to have an automated action repopulate another identical work order in it's place, but with a new number that would be next in sequence.


Assuming the "execute python code" function is necessary here. Is there someone that can help me out with the code to complete this?

TIA!

0
Ảnh đại diện
Huỷ bỏ
James Gaspelin
Tác giả

After some trial and error, I have come up with a working solution. Before, I was trying to add to the work order sequence, however, there is no sequence setup for a workorder as those are tied to the manufacturing order. The code below will creates a new MO based on defined variables

#set variables for new MO:
mo_vals = {
'product_id': 3765,
'qty_producing': 1.0,
'product_uom_id': 1,
'bom_id': 18
}
#create new MO based on variables above and will follow the existing sequence:
new_mo = env['mrp.production'].create(mo_vals)
#confirm the MO so it is available in the shop floor app:
new_mo.action_confirm()

Ảnh đại diện
James Gaspelin
Tác giả Câu trả lời hay nhất

I am getting a forbidden opcode error when saving after copying your code in. Are there any other ways to do this, or a way to override the error? Also, I forgot to mention, I am on Odoo 18 if that makes a difference

0
Ảnh đại diện
Huỷ bỏ
STAFFINSIDE

Hi, there are a few things you can try:

1- Security Constraints: Check if there are any specific security rules applied to the model that might prevent the copy() method from being executed. You may need to tweak access control or create a custom group to allow this operation.

2- Permission Issues: Make sure that the user or group running the automated action has the proper permissions to access and modify work orders. Sometimes these errors are related to insufficient access rights.

3- Alternative Solution with Scheduled Action:
If the execute python code method is not working, you could consider using a scheduled action to periodically check for completed dummy work orders and duplicate them with a new number.

Here’s an example of how you might implement this:
- Create a scheduled action that runs periodically (like every minute or hour).
- Check for work orders that are in the "done" state.
- For each completed work order, copy it, reset the fields, and assign a new sequence number.

Python code for the scheduled action:

workorders = self.env['mrp.workorder'].search([('state', '=', 'done'), ('production_id', '!=', False)])
for wo in workorders:
new_wo = wo.copy({
'state': 'ready',
'time_ids': [(5, 0, 0)],
'qty_produced': 0,
})
new_wo.name = self.env['ir.sequence'].next_by_code('mrp.workorder') or new_wo.name

This way, the scheduled action runs automatically without needing the "execute Python code" method within the automated action.

4- Override the Forbidden Opcode Error (if applicable):
If you believe the code should run as intended, you could try overriding the security rules for the specific field or action causing the issue. However, this could have security implications, so it's better to first test with less risky solutions like the scheduled action approach.

Let me know if any of these suggestions help.

James Gaspelin
Tác giả

I do not believe it is a security or permission issue, but I have been working on an alternative solution. I am trying to create a new record by attaching the proper id to each mandatory field, however, I am not sure how to implement the next_by_code sequence as the production_id.
workorder_data = {
'name': 'Rework Cover',
'production_id':
'operation_id': 24,
'workcenter_id': 19,
'product_id': 18,
'product_uom_id': 1,
'qty_producing': 1.0,
'state':'ready'
}
new_workorder = env['mrp.workorder'].create(workorder_data)

This method does create a new workorder but there are other issues with it because it has the same work order number assigned as the previous. What can I do to add the sequence as production_id? or is that based on an existing work order?

Ảnh đại diện
Cybrosys Techno Solutions Pvt.Ltd
Câu trả lời hay nhất

Hi,

You can solve this by creating an Automated Action on the Work Order (mrp.workorder) model with trigger On Update, and using the following Python code in the action:


if record.state == 'done' and record.production_id:

    new_wo = record.copy({

        'state': 'ready',

        'time_ids': [(5, 0, 0)],

        'qty_produced': 0,

    })

    new_wo.name = self.env['ir.sequence'].next_by_code('mrp.workorder') or new_wo.name


This will duplicate your dummy work order when marked done, reset it to ready, clear logs, and give it the next sequence number.


Hope it helps

0
Ảnh đại diện
Huỷ bỏ
Bạn có hứng thú với cuộc thảo luận không? Đừng chỉ đọc, hãy tham gia nhé!

Tạo tài khoản ngay hôm nay để tận hưởng các tính năng độc đáo và tham gia cộng đồng tuyệt vời của chúng tôi!

Đăng ký
Bài viết liên quan Trả lời Lượt xem Hoạt động
How to avoid non-literal domain
automation
Ảnh đại diện
Ảnh đại diện
Ảnh đại diện
2
thg 8 25
1628
Copy custom field when lead create contact and opportunity Đã xử lý
automation
Ảnh đại diện
Ảnh đại diện
Ảnh đại diện
2
thg 8 25
2525
Error: Automated action CRM/Discuss
automation
Ảnh đại diện
0
thg 2 25
2541
Setting automation rule based on date field
automation
Ảnh đại diện
Ảnh đại diện
1
thg 8 25
3481
Automation rule to restrict close won
automation
Ảnh đại diện
Ảnh đại diện
2
thg 12 24
2690
Cộng đồng
  • Khóa học
  • Tài liệu
  • Diễn đàn
Open source
  • Tải xuống
  • Github
  • Runbot
  • Dịch thuật
Dịch vụ
  • Lưu trữ Odoo.sh
  • Hỗ trợ
  • Nâng cấp
  • Phát triển tùy chỉnh
  • Đào tạo
  • Tìm kế toán
  • Tìm đối tác
  • Trở thành đối tác
Giới thiệu công ty
  • Công ty của chúng tôi
  • Tài sản thương hiệu
  • Liên hệ
  • Việc làm
  • Sự kiện
  • Podcast
  • Blog
  • Khách hàng
  • Pháp lý • Riêng tư
  • Bảo mật
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo là bộ ứng dụng kinh doanh có open source đáp ứng tất cả các nhu cầu của công ty bạn: CRM, thương mại điện tử, kế toán, tồn kho, POS, quản lý dự án, v.v.

Định hướng giá trị riêng biệt của Odoo là tích hợp hoàn toàn và dễ dàng sử dụng.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now