Bỏ qua để đến Nội dung
Soul of NOTE
  • Khóa học
  • Check-in
    • NOTE
    • Headspace Vietnam
    • Fosllea
  • Diễn đàn
  • Company
    • Blog
    • Success Stories
  • 0
  • 0
  • Đăng nhập
Soul of NOTE
  • 0
  • 0
    • Khóa học
    • Check-in
      • NOTE
      • Headspace Vietnam
      • Fosllea
    • Diễn đàn
    • Company
      • Blog
      • Success Stories
  • Đăng nhập

[T01] T01 — OdooClient.search_read() mặc định limit=100

  • Tất cả blog
  • Knowledge Base
  • [T01] T01 — OdooClient.search_read() mặc định limit=100
  • 15 tháng 3, 2026 bởi
    [T01] T01 — OdooClient.search_read() mặc định limit=100
    Viet Nguyen
    ⛔ CRITICAL  |  Category: Odoo Tips  |  ID: T01  |  Owner: CEO

    T01 — OdooClient.search_read() mặc định limit=100

    Tóm tắt

    OdooClient.search_read() có default limit=100. Mọi query aggregate PHẢI dùng limit=0 để lấy hết records. Nếu không, data bị cắt ngầm mà không có warning.

    Chi tiết

    Khi gọi OdooClient.search_read() mà không truyền limit, Odoo trả về tối đa 100 record. Điều này đặc biệt nguy hiểm với query aggregate (tính tổng doanh thu, đếm đơn hàng...) vì kết quả bị cắt ngầm.

    CEO Dashboard ngày 10/03 báo POS revenue = 111M. Thực tế = 303M. Query chỉ lấy 100/341 orders. Sai lệch 192M (~63%).

    Signature của function:

    def search_read(self, model, domain, fields, limit=100, offset=0) -> list
    

    Ảnh hưởng

  • Ai bị ảnh hưởng: CEO dashboard, báo cáo tài chính, mọi script dùng search_read
  • Mức độ: critical — sai số liệu tài chính, ảnh hưởng quyết định CEO
  • Tần suất gặp: mỗi khi viết query mới mà quên truyền limit
  • Cách xử lý / Phòng tránh

    1. Mọi query aggregate: luôn dùng limit=0 2. Query phân trang (hiển thị list): dùng limit=N, offset=M 3. Code review: search search_read trong codebase, kiểm tra limit parameter 4. Skill scripts: template /odoo-script cần include limit=0 cho aggregate

    Bằng chứng / Tham khảo

  • File: /root/odoo_daily_operation/HR/scripts/odoo_client.py — search_read method
  • CEO Dashboard debug session 10/03/2026
  • Đã fix + ghi nhớ vào: /root/odoo_daily_operation/.claude/memory/MEMORY.md
  • Liên quan

  • T02 — cùng session debug chênh lệch doanh thu

  • 📚 Published from Company Knowledge Base — T01
    Last updated: 2026-03-10
    Review by: 2026-06-08

    trong Knowledge Base
    # Odoo Tips
    [P05] P05 — Labeling Requirements (Quy định nhãn mỹ phẩm VN)



    Bản quyền thuộc CÔNG TY TNHH NOTE
    Cung cấp bởi Odoo - Một nền tảng thương mại điện tử mã nguồn mở hàng đầu