---
title: استيراد العلاقات بين الكائنات عبر CSV
description: دليل كامل خطوة بخطوة لربط السجلات أثناء استيراد CSV.
---

## نظرة عامة

يأخذك هذا الدليل خلال استيراد العلاقات بين الكائنات—على سبيل المثال، ربط الأشخاص بالشركات، أو الفرص بالأشخاص.

<Note>**ما الذي يمكن استيراده:** العلاقات من واحد إلى متعدد التي تشير إلى نوع كائن واحد فقط. العلاقات التي تشير إلى أنواع كائنات متعددة (مثل ملاحظات مرتبطة بالأشخاص والشركات معًا) غير مدعومة للاستيراد بعد.</Note>

## فهم العلاقات

### ما هي علاقة "واحد إلى متعدد"؟

في علاقة واحد إلى متعدد:

* **شركة واحدة** لديها **العديد** من الأشخاص (الموظفين)
* **شركة واحدة** لديها **العديد** من الفرص
* **شخص واحد** لديه **العديد** من المهام

جانب "الواحد" هو **الأصل**. جانب "المتعدد" هو **التابع**.

### العلاقات الشائعة في Twenty

| علاقة               | جانب "الواحد" (الأصل) | جانب "المتعدد" (التابع) |
| ------------------- | --------------------- | ----------------------- |
| الشركات → الأشخاص   | الشركة                | الأشخاص                 |
| الشركات → الفرص     | الشركة                | الفرص                   |
| الأشخاص → المهام    | شخص                   | المهام                  |
| الأشخاص → الملاحظات | شخص                   | الملاحظات               |

## الخطوة 1: تحديد جانبي "الواحد" و"المتعدد"

قبل الاستيراد، حدّد أي الكائنات هو الأصل وأيها التابع.

**اسأل نفسك:** "هل لدى كائن واحد من [Object A] العديد من [Object B]؟"

* شركة واحدة → العديد من الأشخاص ✓ (الشركة هي الأصل)
* شخص واحد → العديد من الشركات ✗ (هذا خطأ — الشخص ينتمي إلى شركة واحدة)

## الخطوة 2: استيراد سجلات الأصل أولًا

يجب أن يكون الأصل (جانب "الواحد") موجودًا في Twenty قبل أن تتمكّن من الإشارة إليه.

**ترتيب الاستيراد:**

1. **الشركات** أولًا (من دون تبعيات)
2. **الأشخاص** ثانيًا (مرتبطون بالشركات)
3. **الفرص** ثالثًا (مرتبطة بالشركات و/أو الأشخاص)
4. **المهام/الملاحظات** (مرتبطة بأي مما سبق)

<Warning>
  **إذا كان سجل الأصل غير موجود، فسيفشل الاستيراد.**

  تحقّق دائمًا من استيراد الشركات قبل استيراد الأشخاص الذين لديهم مراجع للشركات.
</Warning>

## الخطوة 3: تدوين المعرّف الفريد للأصل

تحتاج إلى الإشارة إلى سجل الأصل باستخدام **مُعرّف فريد**. الخيارات المتاحة:

| كائن الأصل            | المُعرّفات الفريدة المتاحة                           |
| --------------------- | ---------------------------------------------------- |
| **الشركات**           | `id` (UUID)، `domain` (موصى به)، أو أي حقل فريد مخصص |
| **الأشخاص**           | `id` (UUID)، `email`، أو أي حقل فريد مخصص            |
| **أعضاء مساحة العمل** | `id` (UUID)، `email` (ليس الاسم)                     |
| **كائنات مخصصة**      | `id` (UUID)، أو أي حقل مميز كفريد                    |

<Note>**موصى به:** استخدم `domain` للشركات و`email` للأشخاص. هذه مقروءة للبشر وسهلة التحقّق منها في جدول البيانات الخاص بك.</Note>

### العثور على المعرّف

إذا كنت تحتاج إلى `id`:

1. صدّر سجلات الأصل من Twenty
2. يتضمن التصدير عمود `id`
3. استخدم هذه المعرّفات في ملف سجلات التابع

## الخطوة 4: التحقّق من وجود حقل العلاقة

قبل الاستيراد، تأكّد من وجود حقل العلاقة بين كائناتك.

**للتحقّق أو الإنشاء:**

1. اذهب إلى **الإعدادات → نموذج البيانات**
2. اختر كائن التابع الخاص بك (مثلًا، الأشخاص)
3. ابحث عن حقل علاقة يشير إلى الأصل (مثلًا، الشركة)
4. إذا لم يكن موجودًا، فقم بإنشائه:
   * انقر **+ إضافة حقل**
   * اختر نوع **العلاقة**
   * اختر كائن الأصل

## الخطوة 5: جهّز ملف CSV الخاص بك

أضِف عمودًا إلى ملف CSV للتابع يشير إلى الأصل باستخدام مُعرّفه الفريد.

### مثال: ربط الأشخاص بالشركات

**ملف CSV الخاص بالأشخاص لديك:**

```csv
firstName,lastName,email,jobTitle,companyDomain
John,Smith,john@acme.com,CEO,https://acme.com
Jane,Doe,jane@widgets.co,CTO,https://widgets.co
Bob,Johnson,bob@techstart.io,Developer,https://techstart.io
```

يشير عمود `companyDomain` إلى نطاق الشركة.

### متطلبات التنسيق

| معرّف             | التنسيق             | مثال                                   |
| ----------------- | ------------------- | -------------------------------------- |
| النطاق            | تنسيق عنوان URL     | `https://acme.com`                     |
| البريد الإلكتروني | بريد إلكتروني قياسي | `john@acme.com`                        |
| المعرف            | UUID                | `c776ee49-f608-4a77-8cc8-6fe96ae1e43f` |

<Warning>
  **تنسيق النطاق مهم!**

  استخدم `https://domain.com` (وليس فقط `domain.com`). هذا يتوافق مع طريقة تخزين Twenty لنطاقات الشركات ويمنع أخطاء المطابقة.
</Warning>

### قواعد مهمة

1. **تطابق تام مطلوب** — يجب أن تتطابق القيمة تمامًا مع سجل الأصل
2. **قم بتعيين مُعرّف فريد واحد فقط** — لا تُدرج كلًّا من `companyId` و`companyDomain`
3. **حسّاس لحالة الأحرف** — `Acme.com` ≠ `acme.com`

## الخطوة 6: ارفع الملف وعيّن العلاقة

1. انتقل إلى كائن التابع (مثلًا، الأشخاص)
2. انقر **⋮** → **Import records**
3. ارفع ملف CSV الخاص بك
4. في خطوة تعيين الحقول:
   * اعثر على عمود العلاقة الخاص بك (مثلًا، `companyDomain`)
   * طابقه مع حقل علاقة **Company**
5. أكمل التعيينات المتبقية
6. راجع الأخطاء وأكّد

سيقوم Twenty بربط كل سجل تابع تلقائيًا بالأصل المطابق.

## الخطوة 7: التحقّق من الاستيراد

بعد الاستيراد:

1. افتح عددًا قليلًا من سجلات التابع (مثلًا، الأشخاص)
2. تحقّق من أن حقل العلاقة يعرض الأصل الصحيح (مثلًا، الشركة)
3. افتح سجل الأصل وتفقّد قسم السجلات المرتبطة

## أخطاء شائعة يجب تجنّبها

| الخطأ                     | المشكلة                                        | الحل                                                        |
| ------------------------- | ---------------------------------------------- | ----------------------------------------------------------- |
| **ترتيب استيراد خاطئ**    | استيراد الأشخاص قبل الشركات                    | استورد دائمًا الأصول أولًا، ثم التوابع                      |
| **تنسيق نطاق غير صحيح**   | استخدام `acme.com` بدلًا من `https://acme.com` | استخدم تنسيق عنوان URL الكامل مع `https://`                 |
| **حقول فريدة متعددة**     | تعيين كلٍّ من `companyId` و`companyDomain`     | قم بتعيين مُعرّف فريد واحد فقط                              |
| **حقل علاقة مفقود**       | حقل العلاقة غير موجود في نموذج البيانات        | قم بإنشائه ضمن **الإعدادات → نموذج البيانات** قبل الاستيراد |
| **سجلات غير موجودة**      | سجل الأصل غير موجود في Twenty                  | استورد سجلات الأصل أولًا، أو تحقّق من الأخطاء الإملائية     |
| **عدم تطابق حالة الأحرف** | `Acme.com` في الملف ولكن `acme.com` في Twenty  | تأكّد من تطابق حالة الأحرف تمامًا                           |

## الربط بأعضاء مساحة العمل

عند الربط بأعضاء مساحة العمل (فريقك):

* استخدم **عنوان بريدهم الإلكتروني**، وليس اسمهم
* مثال: `owner@yourcompany.com`، وليس "John Smith"

```csv
taskName,assignedTo
Follow up with client,john@yourcompany.com
Review proposal,jane@yourcompany.com
```

## الأسئلة الشائعة

<AccordionGroup>
  <Accordion title="ماذا لو لم يكن لدى سجل الأصل نطاق أو بريد إلكتروني؟">
    لديك خياران:

    1. استخدم `id` الخاص بـ Twenty (صدّر سجلات الأصل للحصول على معرّفاتها)
    2. أنشئ حقلًا فريدًا مخصصًا في نموذج البيانات لتخزين معرّف خارجي من نظامك السابق
  </Accordion>

  <Accordion title="هل يمكنني تحديث العلاقات على السجلات الموجودة؟">
    نعم! ضمّن المُعرّف الفريد لسجل التابع (مثلًا، `email` للأشخاص) وقيمة العلاقة الجديدة. سيقوم الاستيراد بتحديث العلاقة.
  </Accordion>

  <Accordion title="هل يمكنني استيراد علاقات عديدة-إلى-عدة؟">
    العلاقات عديدة-إلى-عدة غير مدعومة للاستيراد بعد. هذا مُخطّط للنصف الأول من عام 2026.
  </Accordion>

  <Accordion title="هل يمكنني الربط بأنواع كائنات متعددة (مثل ربط الملاحظات بالأشخاص والشركات معًا)؟">
    العلاقات التي تشير إلى أنواع كائنات متعددة غير مدعومة للاستيراد/التصدير بعد. هذا على خارطة الطريق لدينا.
  </Accordion>

  <Accordion title="ماذا يحدث إذا كان سجل الأصل غير موجود؟">
    سيعرض الاستيراد خطأً لذلك الصف. يمكنك إما:

    * استورد سجل الأصل أولًا، ثم أعد الاستيراد
    * أصلِح قيمة المرجع
    * أزل الصف من الاستيراد
  </Accordion>

  <Accordion title="لماذا لا يتم ربط العلاقة بشكل صحيح؟">
    أسباب شائعة:

    * تنسيق غير صحيح (استخدم `https://domain.com` للنطاقات)
    * عدم تطابق حالة الأحرف (تحقّق من التهجئة الدقيقة)
    * الأصل غير موجود (استورد الأصول أولًا)
    * تعيين عدة مُعرّفات (استخدم واحدًا فقط)
  </Accordion>
</AccordionGroup>

<Warning>
  **تذكير: السجلات المحذوفة حذفًا ناعمًا تُحتسب ضمن التفرد.**

  إذا كنت تتلقى أخطاء "not found" ولكن يبدو أن السجل موجود، فتحقّق من قائمة الأوامر → عرض السجلات المحذوفة. قد يكون السجل الأصل قد حُذِف حذفًا منطقيًا.
</Warning>

## استكشاف الأخطاء وإصلاحها

هل تواجه مشكلات؟ اطّلع على:

* [كيفية إصلاح أخطاء الاستيراد](/l/ar/user-guide/data-migration/how-tos/fix-import-errors)
* [قدرات استيراد العلاقات](/l/ar/user-guide/data-migration/capabilities/import-relations)
* [قيود التفرد](/l/ar/user-guide/data-migration/capabilities/uniqueness-constraints)
