--- title: استيراد العلاقات بين الكائنات عبر CSV description: دليل كامل خطوة بخطوة لربط السجلات أثناء استيراد CSV. --- ## نظرة عامة يأخذك هذا الدليل خلال استيراد العلاقات بين الكائنات—على سبيل المثال، ربط الأشخاص بالشركات، أو الفرص بالأشخاص. **ما الذي يمكن استيراده:** العلاقات من واحد إلى متعدد التي تشير إلى نوع كائن واحد فقط. العلاقات التي تشير إلى أنواع كائنات متعددة (مثل ملاحظات مرتبطة بالأشخاص والشركات معًا) غير مدعومة للاستيراد بعد. ## فهم العلاقات ### ما هي علاقة "واحد إلى متعدد"؟ في علاقة واحد إلى متعدد: * **شركة واحدة** لديها **العديد** من الأشخاص (الموظفين) * **شركة واحدة** لديها **العديد** من الفرص * **شخص واحد** لديه **العديد** من المهام جانب "الواحد" هو **الأصل**. جانب "المتعدد" هو **التابع**. ### العلاقات الشائعة في Twenty | علاقة | جانب "الواحد" (الأصل) | جانب "المتعدد" (التابع) | | ------------------- | --------------------- | ----------------------- | | الشركات → الأشخاص | الشركة | الأشخاص | | الشركات → الفرص | الشركة | الفرص | | الأشخاص → المهام | شخص | المهام | | الأشخاص → الملاحظات | شخص | الملاحظات | ## الخطوة 1: تحديد جانبي "الواحد" و"المتعدد" قبل الاستيراد، حدّد أي الكائنات هو الأصل وأيها التابع. **اسأل نفسك:** "هل لدى كائن واحد من [Object A] العديد من [Object B]؟" * شركة واحدة → العديد من الأشخاص ✓ (الشركة هي الأصل) * شخص واحد → العديد من الشركات ✗ (هذا خطأ — الشخص ينتمي إلى شركة واحدة) ## الخطوة 2: استيراد سجلات الأصل أولًا يجب أن يكون الأصل (جانب "الواحد") موجودًا في Twenty قبل أن تتمكّن من الإشارة إليه. **ترتيب الاستيراد:** 1. **الشركات** أولًا (من دون تبعيات) 2. **الأشخاص** ثانيًا (مرتبطون بالشركات) 3. **الفرص** ثالثًا (مرتبطة بالشركات و/أو الأشخاص) 4. **المهام/الملاحظات** (مرتبطة بأي مما سبق) **إذا كان سجل الأصل غير موجود، فسيفشل الاستيراد.** تحقّق دائمًا من استيراد الشركات قبل استيراد الأشخاص الذين لديهم مراجع للشركات. ## الخطوة 3: تدوين المعرّف الفريد للأصل تحتاج إلى الإشارة إلى سجل الأصل باستخدام **مُعرّف فريد**. الخيارات المتاحة: | كائن الأصل | المُعرّفات الفريدة المتاحة | | --------------------- | ---------------------------------------------------- | | **الشركات** | `id` (UUID)، `domain` (موصى به)، أو أي حقل فريد مخصص | | **الأشخاص** | `id` (UUID)، `email`، أو أي حقل فريد مخصص | | **أعضاء مساحة العمل** | `id` (UUID)، `email` (ليس الاسم) | | **كائنات مخصصة** | `id` (UUID)، أو أي حقل مميز كفريد | **موصى به:** استخدم `domain` للشركات و`email` للأشخاص. هذه مقروءة للبشر وسهلة التحقّق منها في جدول البيانات الخاص بك. ### العثور على المعرّف إذا كنت تحتاج إلى `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` | **تنسيق النطاق مهم!** استخدم `https://domain.com` (وليس فقط `domain.com`). هذا يتوافق مع طريقة تخزين Twenty لنطاقات الشركات ويمنع أخطاء المطابقة. ### قواعد مهمة 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 ``` ## الأسئلة الشائعة لديك خياران: 1. استخدم `id` الخاص بـ Twenty (صدّر سجلات الأصل للحصول على معرّفاتها) 2. أنشئ حقلًا فريدًا مخصصًا في نموذج البيانات لتخزين معرّف خارجي من نظامك السابق نعم! ضمّن المُعرّف الفريد لسجل التابع (مثلًا، `email` للأشخاص) وقيمة العلاقة الجديدة. سيقوم الاستيراد بتحديث العلاقة. العلاقات عديدة-إلى-عدة غير مدعومة للاستيراد بعد. هذا مُخطّط للنصف الأول من عام 2026. العلاقات التي تشير إلى أنواع كائنات متعددة غير مدعومة للاستيراد/التصدير بعد. هذا على خارطة الطريق لدينا. سيعرض الاستيراد خطأً لذلك الصف. يمكنك إما: * استورد سجل الأصل أولًا، ثم أعد الاستيراد * أصلِح قيمة المرجع * أزل الصف من الاستيراد أسباب شائعة: * تنسيق غير صحيح (استخدم `https://domain.com` للنطاقات) * عدم تطابق حالة الأحرف (تحقّق من التهجئة الدقيقة) * الأصل غير موجود (استورد الأصول أولًا) * تعيين عدة مُعرّفات (استخدم واحدًا فقط) **تذكير: السجلات المحذوفة حذفًا ناعمًا تُحتسب ضمن التفرد.** إذا كنت تتلقى أخطاء "not found" ولكن يبدو أن السجل موجود، فتحقّق من قائمة الأوامر → عرض السجلات المحذوفة. قد يكون السجل الأصل قد حُذِف حذفًا منطقيًا. ## استكشاف الأخطاء وإصلاحها هل تواجه مشكلات؟ اطّلع على: * [كيفية إصلاح أخطاء الاستيراد](/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)