# استيراد الأصناف من Excel - دليل المستخدم

## 🚀 البداية السريعة

### الخطوة 1️⃣: تحميل النموذج
1. اذهب إلى صفحة **الأصناف** من القائمة الجانبية
2. انقر على زر **"تحميل نموذج Excel"** (باللون الأخضر)
3. سيتم تحميل ملف `products_template.xlsx` إلى جهازك

### الخطوة 2️⃣: تعديل البيانات
1. افتح الملف الذي تم تحميله باستخدام Microsoft Excel أو Google Sheets
2. ستجد 6 صفحات في الملف:
   - **Categories** - المجموعات
   - **Units** - الوحدات
   - **Warehouses** - المخازن
   - **Products** - الأصناف
   - **ProductUnits** - ربط الأصناف بالوحدات
   - **ProductWarehouses** - ربط الأصناف بالمخازن

3. عدّل البيانات حسب احتياجاتك
4. احفظ الملف

### الخطوة 3️⃣: الاستيراد
1. ارجع إلى صفحة **الأصناف** في النظام
2. انقر على زر **"استيراد من Excel"** (باللون البرتقالي)
3. حمّل الملف الذي عدلته
4. انقر على **"استيراد"**
5. انتظر حتى تظهر رسالة النجاح ✅

---

## ⚠️ ملاحظات مهمة

### ✨ عدم التكرار
- إذا كانت المجموعة أو الوحدة أو المخزن موجوداً بنفس الاسم، **لن يتم تكراره**
- النظام يستخدم البيانات الموجودة تلقائياً

### 📝 نصائح
- **لا تحذف** أسماء الأعمدة في الصف الأول
- **لا تغير** أسماء الصفحات الستة
- استخدم أكواداً واضحة مثل: `CAT001`, `UNIT_KG`, `PRD_LAPTOP`
- تأكد من أن كل صنف له وحدة رئيسية

### 🔗 الربط بين البيانات
تتم العلاقات عبر **الأكواد**:

**مثال:**
```
صفحة Categories:
code: CAT001, name: Electronics

صفحة Units:
code: UNIT001, name: Piece

صفحة Products:
code: PRD001, name: Laptop, category_code: CAT001, base_unit_code: UNIT001
```

النتيجة: الصنف "Laptop" سيُربط بالمجموعة "Electronics" والوحدة "Piece"

---

## 📊 نسب التحويل

في صفحة **ProductUnits**، عمود `conversion_factor` يحدد نسبة التحويل:

### أمثلة:

#### مثال 1: الوحدة الرئيسية
- الوحدة: قطعة
- `conversion_factor = 1` ✅

#### مثال 2: كرتونة
- الوحدة الرئيسية: قطعة
- كرتونة = 12 قطعة
- `conversion_factor = 12` ✅

#### مثال 3: شيكارة أرز
- الوحدة الرئيسية: كيلو
- شيكارة = 50 كيلو
- `conversion_factor = 50` ✅

---

## 🆘 إذا واجهت مشكلة

### الملف لا يُستورد
✅ تحقق من:
- أسماء الصفحات صحيحة
- الأعمدة المطلوبة موجودة
- الملف بصيغة `.xlsx` أو `.xls`

### الصنف لم يُستورد
✅ تحقق من:
- وجود `base_unit_code` صحيح
- الكود موجود فعلاً في صفحة Units

### رسالة خطأ
✅ اقرأ نص الخطأ بعناية - سيخبرك بالمشكلة بالتحديد

---

## 💡 مثال عملي كامل

### 1. المجموعة (Categories)
```
code: CAT_ELEC
name: Electronics
name_ar: إلكترونيات
is_active: 1
```

### 2. الوحدة (Units)
```
code: UNIT_PIECE
name: Piece
name_ar: قطعة
symbol: قطعة
is_base_unit: 1
conversion_factor: 1
is_active: 1
```

### 3. المخزن (Warehouses)
```
code: WH_MAIN
name: Main Warehouse
name_ar: المخزن الرئيسي
phone: 0123456789
is_active: 1
```

### 4. الصنف (Products)
```
code: PRD_LAPTOP
barcode: 123456789
name: Dell Laptop
name_ar: لابتوب ديل
category_code: CAT_ELEC
base_unit_code: UNIT_PIECE
cost_price: 15000
is_active: 1
```

### 5. وحدات الصنف (ProductUnits)
```
product_code: PRD_LAPTOP
unit_code: UNIT_PIECE
conversion_factor: 1
purchase_price: 15000
selling_price: 18000
is_default: 1
is_default_purchase: 1
```

### 6. أصناف المخازن (ProductWarehouses)
```
product_code: PRD_LAPTOP
warehouse_code: WH_MAIN
current_stock: 25
reserved_stock: 5
available_stock: 20
```

---

## ✅ النتيجة النهائية

بعد الاستيراد، سيكون لديك:
- ✅ مجموعة "إلكترونيات"
- ✅ وحدة "قطعة"
- ✅ مخزن "المخزن الرئيسي"
- ✅ صنف "لابتوب ديل" مربوط بكل ما سبق
- ✅ رصيد 25 قطعة في المخزن

---

## 📞 للمزيد من المساعدة

- اضغط على زر **"تعليمات الاستيراد"** في صفحة الأصناف
- راجع الملفات التفصيلية:
  - [PRODUCTS_IMPORT_GUIDE.md](PRODUCTS_IMPORT_GUIDE.md)
  - [PRODUCTS_IMPORT_QUICK_START.md](PRODUCTS_IMPORT_QUICK_START.md)
