Skip to Content

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.

شما نیاز به ثبت‌نام دارید تا بتوانید با جامعه تعامل داشته باشید.
این سوال علامت‌گذاری شده است
1 پاسخ
5 نماها

زمانی که می‌خواهیم یک نمای جدید ایجاد کنیم و داده‌ها را پردازش کنیم سوال‌های اصلی زیر را باید جواب بدیم:


  • داده‌ها چطور آماده می‌شود
  • چه کسانی به آن دسترسی دارند
  • چطور نمایش داده می‌شوند
  • چه زمانی به روز رسانی می‌شوند


من به دنبال ابزاری می‌گردم که این نوع گزارش‌ها را بتوانیم به راحتی آماده و مدیریت کنیم. در نهایت اگر گزارش کاربردی بود آن را به صورت یک ماژول پیاده سازی کنیم.

آواتار
رها کردن
مولف

وقتی می‌خوای سریع آزمایش کنی، تحلیل بسازی، و بعد اگر خوب بود تبدیل به ماژول کنی، بهترین ابزار در اکوسیستم Odoo همین:

bi_sql_editor از ریپازیتوری OCA/reporting-engine

است.

بیایم دقیق و مهندسی بررسیش کنیم 👇

🧠 bi_sql_editor چیست؟

bi_sql_editor یک ابزار داخل Odoo است که بهت اجازه می‌دهد:

👉 بدون نوشتن ماژول

👉 فقط با SQL

👉 یک مدل تحلیلی (dynamic model) بسازی

👉 و مستقیم در UI از آن استفاده کنی

🎯 مسئله‌ای که حل می‌کند

سوال‌هایی که خودت گفتی 👇

  • داده‌ها چطور آماده می‌شود ✅ (SQL)
  • چه کسانی دسترسی دارند ✅ (Access Control)
  • چطور نمایش داده می‌شود ✅ (Auto Views)
  • چه زمانی به‌روز می‌شود ✅ (Real-time یا manual)

👉 این ماژول دقیقاً این ۴ تا را پوشش می‌دهد

⚙️ نحوه کار (Step by Step)

1️⃣ تعریف Query

داخل UI:

SELECT
    sml.product_id,
    sml.date,
    sml.qty_done,
    (sml.full_weight - sml.empty_weight) AS net_weight
FROM stock_move_line sml
WHERE sml.state = 'done'

2️⃣ تبدیل به Model

ماژول به صورت خودکار:

_auto = False

یک مدل می‌سازد (مثل SQL View)

3️⃣ ساخت View اتوماتیک

خودش می‌سازد:

  • Tree View
  • Pivot View
  • Graph View

4️⃣ استفاده توسط کاربر

کاربر می‌تواند:

  • فیلتر کند
  • group by بزند
  • تحلیل کند

🔥 ویژگی‌های کلیدی

✅ 1. بدون نیاز به توسعه

هیچ:

  • Python
  • XML

لازم نیست

✅ 2. بسیار سریع برای Prototype

تو می‌تونی:

  • ۱۰ تا تحلیل مختلف بسازی
  • بهترین رو انتخاب کنی
  • بعد تبدیل به ماژول کنی

✅ 3. Dynamic Model

مدل‌ها runtime ساخته می‌شوند

✅ 4. امنیت

می‌توانی تعیین کنی:

  • چه گروهی دسترسی داشته باشد
  • فقط read باشد

✅ 5. Editable Query

هر زمان:

👉 query را تغییر بده

👉 نتیجه را بلافاصله ببین

🧱 این ماژول در معماری کجا قرار می‌گیرد؟

برمی‌گردیم به مدل سه‌لایه‌ای:

🧩 لایه Data Processing

👉 bi_sql_editor اینجاست

ابزارنقش
SQL Viewپایه
bi_sql_editorنسخه dynamic و سریع

🧩 لایه Presentation

👉 خروجی مستقیم می‌دهد:

  • Pivot
  • Graph
  • List

⚡ تفاوت با SQL View معمولی

ویژگیSQL View (Module)bi_sql_editor
نیاز به کدنویسیبله
سرعت توسعهکند🚀 سریع
مناسب production⚠️ بعد از تبدیل
مناسب تست✅ عالی

💡 بهترین use case

سناریوی واقعی تو (بتن)

تو می‌تونی سریع بسازی:

Query:

SELECT
    partner_id,
    product_id,
    date::date as day,
    SUM(qty_done) as total_qty,
    SUM(full_weight - empty_weight) as net_weight
FROM stock_move_line
GROUP BY partner_id, product_id, day

نتیجه:

  • تحلیل مصرف روزانه
  • تحلیل مشتری
  • تحلیل محصول

🧠 چرخه پیشنهادی حرفه‌ای

این مهم‌ترین بخشه 👇

مرحله 1: کشف (Discovery)

با bi_sql_editor:

  • سریع query بنویس
  • تحلیل بساز
  • نیاز واقعی را کشف کن

مرحله 2: تثبیت (Stabilize)

وقتی مطمئن شدی:

👉 تبدیل به:

  • SQL View در ماژول
    • Index گذاری
    • بهینه‌سازی

مرحله 3: ارائه (Present)

  • Pivot
  • Dashboard
  • MIS Builder

⚠️ محدودیت‌ها

❌ برای production سنگین نیست

  • مدیریت version ندارد
  • migration ندارد

❌ performance

  • برای queryهای خیلی سنگین مناسب نیست

❌ dependency management

  • اگر schema عوض شود، ممکن است query بشکند

🧠 جمع‌بندی

bi_sql_editor:

👉 یک ابزار Rapid BI داخل Odoo است

👉 برای ساخت سریع گزارش‌های تحلیلی بدون کدنویسی

🎯 پاسخ نهایی به نیاز تو

اگر بخوام دقیق بگم:

این ماژول همان چیزی است که کمبودش در Odoo حس می‌شود:

یک لایه sandbox برای تحلیل داده قبل از تبدیل به ماژول

آواتار
رها کردن