arc/docs/BOM_FIELDS_ANALYSIS.md
2026-04-14 19:34:55 +03:30

7.3 KiB
Executable file

گزارش بررسی فیلدهای BOM Editor

🔍 تب مواد اولیه (Items)

فیلدهای موجود در UI:

فیلد کاربرد در تولید اسناد حسابداری وضعیت مشکل
ردیف (lineNo) ترتیب نمایش و مرتب‌سازی ✅ -
کالا (componentProductId) شناسایی کالای مصرفی برای ایجاد سطر در سند تولید (debit به حساب موجودی کالا) ✅ -
مقدار برای 1 واحد (qtyPer) محاسبه مقدار واقعی مورد نیاز بر اساس مقدار تولید ✅ -
واحد (uom) نمایش واحد در سند تولید ✅ -
پرت (%) (wastagePercent) محاسبه مقدار اضافی برای جبران پرت در تولید ✅ -
گروه جایگزین (substituteGroup) امکان جایگزینی کالاها در صورت نبود موجودی ⚠️ در سند تولید استفاده نمی‌شود

فیلدهای موجود در مدل اما غایب در UI:

فیلد کاربرد در تولید اسناد حسابداری مشکل
isOptional (اختیاری) مشخص می‌کند که این ماده اولیه اختیاری است و می‌تواند در تولید استفاده نشود ❌ عدم نمایش در UI - کاربر نمی‌تواند مشخص کند کدام مواد اختیاری هستند
suggestedWarehouseId (انبار پیشنهادی) در سند تولید، انبار پیشنهادی برای برداشت مواد را مشخص می‌کند ❌ عدم نمایش در UI - در produce_draft استفاده می‌شود اما کاربر نمی‌تواند آن را تنظیم کند

🔍 تب خروجی‌ها (Outputs)

فیلدهای موجود در UI:

فیلد کاربرد در تولید اسناد حسابداری وضعیت مشکل
ردیف (lineNo) ترتیب نمایش ✅ -
محصول خروجی (outputProductId) شناسایی محصول تولید شده برای ایجاد سطر در سند تولید (credit به حساب موجودی کالا) ✅ -
نسبت (ratio) نسبت خروجی محصول به ازای هر واحد تولید ✅ -
واحد (uom) نمایش واحد در سند تولید ✅ -

فیلدهای موجود در مدل اما غایب در UI:

فیلد کاربرد در تولید اسناد حسابداری مشکل
ratioMainUnit (نسبت واحد اصلی) نسبت در واحد اصلی کالا ⚠️ عدم نمایش - ممکن است برای محاسبات دقیق‌تر نیاز باشد
mainUnit (واحد اصلی) واحد اصلی کالا ⚠️ عدم نمایش - ممکن است برای محاسبات دقیق‌تر نیاز باشد

🔍 تب عملیات (Operations)

فیلدهای موجود در UI:

فیلد کاربرد در تولید اسناد حسابداری وضعیت مشکل
ردیف (lineNo) ترتیب نمایش ✅ -
نام عملیات (operationName) نام عملیات تولیدی ✅ -
هزینه ثابت (costFixed) هزینه ثابت عملیات ⚠️ ❌ عدم استفاده در تولید اسناد - این هزینه در produce_draft استفاده نمی‌شود
هزینه واحد (costPerUnit) هزینه به ازای هر واحد ⚠️ ❌ عدم استفاده در تولید اسناد - این هزینه در produce_draft استفاده نمی‌شود
واحد هزینه (costUom) واحد هزینه ⚠️ ❌ عدم استفاده در تولید اسناد - این هزینه در produce_draft استفاده نمی‌شود
ایستگاه کاری (workCenter) شناسایی ایستگاه کاری ⚠️ ❌ عدم استفاده در تولید اسناد - فقط برای اطلاعات است

🚨 مشکلات کلی

1. فیلدهای مهم که در UI نمایش داده نمی‌شوند:

مواد اولیه:

  • isOptional: کاربر نمی‌تواند مشخص کند کدام مواد اختیاری هستند
  • suggestedWarehouseId: کاربر نمی‌تواند انبار پیشنهادی را مشخص کند (در حالی که در produce_draft استفاده می‌شود)

2. فیلدهای بدون کارایی در تولید اسناد حسابداری:

عملیات:

  • costFixed: هزینه ثابت عملیات - در produce_draft استفاده نمی‌شود
  • costPerUnit: هزینه واحد عملیات - در produce_draft استفاده نمی‌شود
  • costUom: واحد هزینه - در produce_draft استفاده نمی‌شود
  • workCenter: ایستگاه کاری - فقط برای اطلاعات است و در سند تولید استفاده نمی‌شود

مواد اولیه:

  • substituteGroup: گروه جایگزین - در produce_draft در extra_info ذخیره می‌شود اما در سند تولید استفاده نمی‌شود

3. مشکلات فنی:

  1. عدم اعتبارسنجی: فیلدهای عددی ممکن است مقادیر منفی یا نامعتبر داشته باشند
  2. عدم نمایش اطلاعات تکمیلی: فیلدهای isOptional و suggestedWarehouseId در مدل وجود دارند اما در UI قابل تنظیم نیستند
  3. عدم استفاده از هزینه‌های عملیات: فیلدهای هزینه در عملیات ذخیره می‌شوند اما در تولید سند حسابداری استفاده نمی‌شوند

💡 پیشنهادات

1. اضافه کردن فیلدهای غایب:

  • اضافه کردن checkbox برای isOptional در تب مواد اولیه
  • اضافه کردن dropdown برای suggestedWarehouseId در تب مواد اولیه

2. حذف یا استفاده از فیلدهای بدون کارایی:

  • گزینه 1: حذف فیلدهای هزینه از عملیات (اگر استفاده نمی‌شوند)
  • گزینه 2: استفاده از فیلدهای هزینه در تولید سند حسابداری (اضافه کردن سطرهای هزینه به سند)

3. بهبود UX:

  • اضافه کردن tooltip برای توضیح کاربرد هر فیلد
  • اضافه کردن validation برای فیلدهای عددی
  • نمایش اطلاعات تکمیلی در tooltip

📊 خلاصه

دسته تعداد فیلد فیلدهای با مشکل فیلدهای بدون کارایی
مواد اولیه 8 2 (isOptional, suggestedWarehouseId) 1 (substituteGroup)
خروجی‌ها 6 0 2 (ratioMainUnit, mainUnit)
عملیات 6 0 4 (costFixed, costPerUnit, costUom, workCenter)
جمع 20 2 7