forked from hesabix/arc
112 lines
7.3 KiB
Markdown
Executable file
112 lines
7.3 KiB
Markdown
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** |
|
|
|