Hỏi Đáp

Welcome!

This community is for professionals and enthusiasts of our products and services.
Share and discuss the best content and new marketing ideas, build your professional profile and become a better marketer together.

0

Lỗi khi cài đặt module hr_timesheet

Ảnh đại diện
Andy Phan

Mấy anh cho hỏi khi em cố gắng cập nhật module hr_timesheet thì gặp phải lỗi :

ParseError: "null value in column "name" violates not-null constraint
" while parsing /home/long/workspace/COMPANY/addons/hr_timesheet/hr_timesheet_data.xml:11, near
<record id="hr.employee" model="hr.employee">
            <field name="journal_id" ref="analytic_journal"/>
</record>

Em đã tham khảo để fix nhung chưa tìm được cách. Mọi người giúp em với
Ảnh đại diện
Huỷ bỏ
5 Trả lời
0
Ảnh đại diện
Leo Tran
Best Answer

Chào bạn Andy Phan,

Bản chất của đoạn code trên là khi bạn cài module hr_timesheet thì module này sẽ thêm trường "journal_id" vào model "hr.employee" đồng thời nó sẽ update trường "journal_id" cho nhân viên mặc định có tên Administrator với External ID là "hr.employee".
Lỗi này sẽ xảy ra khi bạn xóa nhân viên Administrator đi (vì hệ thống sẽ xóa cả External ID tương ứng). Lúc đấy đoạn code trên sẽ không còn là update nữa mà sẽ là tạo mới. Đương nhiên đoạn code trên sẽ không thể dùng để tạo mới một Employee được vì nó thiếu rất nhiều trường bắt buộc, trong đó có trường "name".
Để khắc phục lỗi này bạn cần tạo lại External ID "hr.employee", lúc này bạn có thể nâng cấp module hr_timesheet mà không còn gặp lỗi này nữa.
P/S: Bạn có thể xem link tham khảo bên dưới về lỗi tương tự cũng như cách tạo lại một External ID của hệ thống.

Chúc bạn thành công!

Ảnh đại diện
Huỷ bỏ
0
Ảnh đại diện
Leo Tran
Best Answer
Andy Phan wrote:

Leo Tran wrote:

Đúng là nếu gặp lỗi này hệ thống Odoo sẽ bị die, tuy nhiên có một cách đơn giản hơn đó là comment đoạn code trên lại. Sau khi tạo xong External ID thì open lại đoạn code trên rồi upgrade module hr_timesheet là xong. Bạn đổi tên module thì sẽ phải xử lý lại rất nhiều vấn đề.
Giờ bạn đổi lại như cũ và làm như mình hướng dẫn sẽ OK thôi mà.

Em đã làm theo nhưng không thể truy cập lại hệ thống nhưng khi update lại thì báo lỗi này
AttributeError: 'function' object has no attribute '_type'

Nhưng em kiểm tra trên External ID thì vẫn còn tồn tại tại 1 thằng là Timesheet Journal có phải là anh đang nói cái này ?

Lỗi này rất khó xác định, bạn có thể cho mình biết bạn đã thao tác những gì mà phát sinh lỗi này hay không. Còn về External ID mà bạn thiếu thì bạn xem hình đính kèm nhé.

external_id

2 Bình luận
Ảnh đại diện
Huỷ bỏ
Ảnh đại diện
ViindooBot
-

Vâng em kiểm tra thì không tồn tại External ID nào của object hr_employee e sẽ cố gắng làm lại.

Nguyên nhân cái vấn đề của em là field user_id trên menuitem Timesheet Activities không tự động load user login nên em update thử nó lên được không nhưng gặp vấn đề này :(

Ảnh đại diện
ViindooBot
-

Nếu chỉ phát sinh lỗi này thì cứ tạo lại External ID "hr.employee là được".

0
Ảnh đại diện
Andy Phan
Best Answer
Leo Tran wrote:

Đúng là nếu gặp lỗi này hệ thống Odoo sẽ bị die, tuy nhiên có một cách đơn giản hơn đó là comment đoạn code trên lại. Sau khi tạo xong External ID thì open lại đoạn code trên rồi upgrade module hr_timesheet là xong. Bạn đổi tên module thì sẽ phải xử lý lại rất nhiều vấn đề.
Giờ bạn đổi lại như cũ và làm như mình hướng dẫn sẽ OK thôi mà.

Em đã làm theo nhưng không thể truy cập lại hệ thống nhưng khi update lại thì báo lỗi này
AttributeError: 'function' object has no attribute '_type'

Nhưng em kiểm tra trên External ID thì vẫn còn tồn tại tại 1 thằng là Timesheet Journal có phải là anh đang nói cái này ?
Ảnh đại diện
Huỷ bỏ
0
Ảnh đại diện
Leo Tran
Best Answer
Andy Phan wrote:

Cảm ơn Leo Tran nhưng hệ thống của em nó die rồi nên e phải rename module hr_timesheet để có thể truy cập vào hệ thống nhưng khi tạp External Identifiers thì tiếp tục báo lỗi, em thấy nam giải quá hic
Hix!

Đúng là nếu gặp lỗi này hệ thống Odoo sẽ bị die, tuy nhiên có một cách đơn giản hơn đó là comment đoạn code trên lại. Sau khi tạo xong External ID thì open lại đoạn code trên rồi upgrade module hr_timesheet là xong. Bạn đổi tên module thì sẽ phải xử lý lại rất nhiều vấn đề.
Giờ bạn đổi lại như cũ và làm như mình hướng dẫn sẽ OK thôi mà.
Ảnh đại diện
Huỷ bỏ
0
Ảnh đại diện
Andy Phan
Best Answer

Cảm ơn Leo Tran nhưng hệ thống của em nó die rồi nên e phải rename module hr_timesheet để có thể truy cập vào hệ thống nhưng khi tạp External Identifiers thì tiếp tục báo lỗi, em thấy nam giải quá hic

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

Trả lời của Bạn

Vui lòng đảm bảo câu trả lời của bạn có liên quan và giải đáp đúng nội dung câu hỏi. Nếu muốn bình luận về câu hỏi hoặc câu trả lời, hãy sử dụng công cụ Bình luận. Lưu ý, bạn có thể thay đổi nội dung trả lời thay vì trả lời lại 02 lần cho cùng một câu hỏi. Đồng thời bạn có thể nhấn nút để bầu chọn câu hỏi / câu trả lời tốt nhất.