24 ديسمبر 2025·7 دقيقة قراءة

واجهة تعيين أعمدة استيراد CSV: تطابق أكثر أمانًا، قيم افتراضية، ومعاينات

أنماط واجهة تعيين أعمدة استيراد CSV لمساعدة المستخدمين على مطابقة الحقول، تعيين القيم الافتراضية، معاينة الأخطاء، وإصلاح البيانات قبل حفظ أي شيء.

واجهة تعيين أعمدة استيراد CSV: تطابق أكثر أمانًا، قيم افتراضية، ومعاينات

لماذا يشعر الاستيراد من CSV بالإحباط

معظم الناس يتعاملون مع استيراد CSV بأمل بسيط: «فقط أدخل جدول البيانات داخل التطبيق». ثم تطلب الشاشة الأولى قرارات لا يفهمونها، ويفشل الاستيراد لأسباب تبدو عشوائية.

ملفات CSV غالبًا ما تكون أشد فوضى مما تبدو. قد تكون رؤوس الأعمدة مفقودة، مكتوبة بشكل مختلف عن حقولك، أو مكررة ("Email"، "email"، "Email Address"). التواريخ قد تأتي بصيغ غريبة، أرقام الهواتف تفقد الأصفار البادئة، والفواصل داخل العناوين تكسر الأعمدة. حتى التصديرات "النظيفة" قد تحتوي على أعمدة إضافية مثل ملاحظات، معرفات داخلية، أو أعمدة فارغة في النهاية.

الخوف حقيقي: إذا خمّنت بشكل خاطئ، هل سيسبب ذلك الكتابة فوق بيانات صحيحة، إنشاء مئات السجلات المعطوبة، أو نشر بيانات زائفة في النظام؟ واجهة تعيين أعمدة استيراد CSV جيدة تزيل هذا القلق بإظهار ما سيحدث قبل كتابة أي شيء.

"التعيين" هو مجرد مطابقة. يعني: هذا العمود في CSV يذهب إلى ذلك الحقل في تطبيقك. على سبيل المثال، عمود CSV "Company" يتعيّن على الحقل "Account name"، و"Start Date" يتعيّن على "Customer since". الفكرة بسيطة، لكن من السهل أن تخطئ عندما لا تتطابق التسميات.

استيراد أكثر أمانًا يضع توقعات واضحة ويتبع ترتيبًا متوقعًا:

  • مطابقة الأعمدة مع الحقول (التعيين)
  • اختيار ما يحدث عند غياب البيانات (القيم الافتراضية)
  • فحص المشكلات (التحقق)
  • إظهار النتيجة (المعاينة)
  • ثم فقط كتابة السجلات

عندما يفهم المستخدمون هذا التسلسل، يتوقف الاستيراد عن الشعور كمصيدة. يصبح قائمة خطوات موجهة: قم بالمطابقات، املأ الفجوات، صحّح الأخطاء التي تراها، واستورد بثقة.

ما الذي يجب على شاشة التعيين أن تفعله

مهمة واجهة تعيين أعمدة استيراد CSV واحدة: جعل ما سيحدث واضحًا قبل حفظ أي شيء. يجب ألا يضطر المستخدمون إلى التخمين عمّا إذا كنت ستنشئ سجلات جديدة، أو تحدّث الموجودة، أو تتخطى صفوفًا.

يجب أن تجيب الشاشة على هذه الأسئلة بوضوح:

  • ما الذي سيتم إنشاؤه (سجلات جديدة) وفي أي جدول أو كائن
  • ما الذي سيتم تحديثه، وأي حقل يُستخدم للعثور على التطابق (مثل البريد الإلكتروني أو المعرف الخارجي)
  • ما الذي سيتم تخطيه، ولماذا (غياب الحقول المطلوبة، التكرارات، القيم غير الصالحة)
  • عدد الصفوف المتأثرة في كل مجموعة، باستخدام عدّ حقيقي من الملف المرفوع
  • ماذا سيفعل النظام إذا كانت القيمة فارغة (تركها فارغة، استخدام قيمة افتراضية، الاحتفاظ بالقيمة الحالية)

الحقول المطلوبة تحتاج تعامل خاص. أظهرها في الأعلى، علّمها كمطلوبة، ومنع المستخدم من إكمال التعيين حتى يتم تعيين كل حقل مطلوب أو وضع قيمة افتراضية صريحة. يمكن ترك الحقول الاختيارية بدون تعيين، لكن يجب أن يخبرك واجهة المستخدم بما تختار تجاهله.

يتوقع الناس أيضًا تنظيفًا أساسيًا بدون كتابة صيغ. قدّم تحويلات بسيطة مباشرة حيث يحدث التعيين، مثل إزالة الفراغات الزائدة، تحويل صيغ الأرقام، واختيار صيغة التاريخ. مثلاً، إذا كان في CSV " New York ", يجب أن تُظهر خاصية التقليم أنها تصبح "New York" في المعاينة.

ليس كل مشكلة يجب أن توقف الاستيراد. فرّق بين الكتل والتحذيرات وشرح الفرق بكلمات بسيطة.

  • جعلها عائقًا عندما يكون الحقل المطلوب مفقودًا، أو لا يمكن تحليل التاريخ، أو مفتاح المطابقة لعملية التحديث فارغ
  • تحذير عندما يكون رقم الهاتف منسقًا بشكل غريب، أو تُقتطع قيمة، أو حقل غير معروف وسيُتجاهل
  • السماح بالاستيراد عندما توجد تحذيرات، ولكن إظهار عدد الصفوف المتأثرة

إذا أنجزت هذه الأساسيات بشكل صحيح، يصبح باقي سير الاستيراد أكثر هدوءًا: يشعر المستخدمون بالتحكّم، وتقل تذاكر الدعم من نوع "لماذا استورد بهذه الطريقة؟".

مساعدة المستخدمين على مطابقة أعمدة CSV مع الحقول

يجب أن تبدو واجهة التعيين كمساعد مفيد، لا لغزًا. ابدأ بقراءة الصف الأول كرؤوس أعمدة واقتراح المطابقات فورًا. استخدم إشارات بسيطة مثل تشابه الاسم ("email" -> "Email") وقائمة مرادفات صغيرة ("Phone" مقابل "Mobile"، "Zip" مقابل "Postal code"، "Company" مقابل "Organization").

تعمل الاقتراحات بشكل أفضل عندما تكون هادئة وواضحة. علّم المطابقات بأنها "مطابقة دقيقة"، "مرجّحة" أو "غير مؤكدة". احتفظ بالتلميح بسيطًا (ملصق صغير أو أيقونة)، ليتمكن المستخدمون من المسح السريع دون ازعاج.

أعطِ المستخدمين طريقة سهلة لتجاوز أي اقتراح. القائمة المنسدلة جيدة، لكن أضف صندوق بحث حتى يتمكنوا من كتابة "status" واختيار الحقل الصحيح في ثوانٍ. إذا كان منتجك يحتوي على العديد من الحقول، اجمعها (جهة اتصال، عنوان، فواتير) كي لا تبدو القائمة مُربِكة.

لمنع الاستيرادات السيئة عن طريق الخطأ، اجعل إنشاء التعارضات صعبًا:

  • اسمح بعمود CSV واحد لكل حقل هدف بشكل افتراضي
  • إذا اختار المستخدم حقلًا تم تعيينه بالفعل، أظهر تحذيرًا واضحًا واسأل ما إذا كان سيستبدل التعيين الحالي
  • قدّم خيار "الدمج" صريحًا فقط عند دعمه (مثلاً: الاسم الأول + الاسم الأخير)
  • برِز الحقول المطلوبة الهدفية التي لم تُعيّن بعد

مثال صغير: يستورد المستخدم "Mobile" و"Phone" من جدول بيانات. إذا تم تعيين كلاهما إلى نفس حقل "Phone"، يجب أن توقفه الواجهة، وتشرح أن أحدهما سيُكتب فوق الآخر، وتقترح بدائل (عيّن أحدهما إلى "Mobile"، أو تجاهل واحدًا).

إذا كنت تبني هذا في AppMaster، اجعل خطوة التعيين سريعة: اقتراح تلقائي، اسمح بالبحث، وامنع الخيارات المتعارضة. معظم مشاكل الاستيراد تبدأ هنا، فكلما قلّت المفاجآت المسموح بها، كانت البيانات أنظف.

القيم الافتراضية التي تمنع السجلات الفارغة أو الخاطئة

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

لكل حقل معيّن، اعرض خيارًا واضحًا "عند الفراغ". اجعلها متوقعة ومرئية داخل نفس صف التعيين حتى لا يفوتها الناس أثناء المسح.

إليك ثلاث سلوكيات يحتاجها معظم الفرق:

  • اتركها فارغة (استورد الصف، يبقى الحقل فارغًا)
  • استخدم قيمة افتراضية (استورد الصف بقيمة افتراضية معروفة)
  • ارفض الصف (افشل ذلك الصف وفسّر السبب)

يجب أن تدعم القيم الافتراضية حالات بسيطة وشائعة بدون إعداد إضافي. أمثلة: status = Active، country = US، owner = المستخدم الحالي، source = "CSV import". في واجهة تعيين أعمدة الاستيراد، هذه القيم الافتراضية غالبًا ما تكون الفرق بين استيراد أولي نظيف وساعات من التنظيف.

تفصيل يربك الناس هو الإنشاء مقابل التحديث. إذا كان الاستيراد يستطيع تحديث سجلات موجودة (مثلاً عبر البريد الإلكتروني أو المعرف)، فاجعل سلوك القيم الافتراضية واضحًا:

  • عند الإنشاء: تملأ القيم الافتراضية القيم المفقودة للسجلات الجديدة.
  • عند التحديث: عادةً لا ينبغي للقيم الافتراضية أن تستبدل البيانات الموجودة إلا إذا اختار المستخدم ذلك.

قاعدة عملية: عالج "الفراغ في CSV" بشكل مختلف عن "الحقل غير مُدرج". إذا قام المستخدم بتعيين الحقل واختار "اتركه فارغًا" فقد يقصد "امسحه". إذا لم يُعيّن الحقل على الإطلاق، فعادة ما يقصد "لا تلمسه".

أخيرًا، أظهر القيمة الافتراضية بجانب الحقل المعين مباشرة، لا مخفية خلف أيقونة إعدادات. حبة صغيرة بها "افتراضي: Active" مع تلميح سطر واحد (مثلاً، "تُستخدم فقط عند الفراغ") تمنع المفاجآت وتقلل تذاكر الدعم.

معاينة النتائج والأخطاء قبل كتابة البيانات

عاين قبل أن تكتب
نموذج معاينة الاستيراد يوضّح ما سيتم إنشاؤه، تحديثه، أو تخطيه.
جرّب الآن

المعاينة هي اللحظة التي تكسب فيها واجهة تعيين أعمدة الاستيراد الثقة. يجب أن يرى المستخدمون ما سيحدث قبل حفظ أي شيء، ويجب أن يشعروا أن المشكلات مفهومة وقابلة للإصلاح.

ابدأ بمعاينة عيّنة صغيرة وسريعة (مثلاً أول 20-50 صفًا) بالإضافة إلى ملخص عدّ للملف الكامل. يجب أن يجيب الملخص عن الأسئلة التي يهتم بها الناس فعلاً: كم صفًا سيتم إنشاؤه أو تحديثه، كم يحتوي على مشكلات، وكم سيتم تخطيه.

اجعل الأخطاء مرئية ومحددة. ظلّل الخلايا الدقيقة التي ستفشل وأظهر سببًا قصيرًا بجانب الخلية أو في لوح جانبي. إذا كان للصف عدة مشكلات، أظهر الأولى بوضوح ودع المستخدم يوسّع لرؤية الباقي.

الأسباب الشائعة التي يجب شرحها بلغة بسيطة تشمل:

  • قيمة مطلوبة مفقودة (مثلاً، البريد الإلكتروني مطلوب)
  • صيغة خاطئة (مثلاً، صيغة تاريخ غير صالحة: استخدم YYYY-MM-DD)
  • نوع خاطئ (مثلاً، الكمية يجب أن تكون رقمًا)
  • قيمة غير معروفة (مثلاً، يجب أن تكون الحالة واحدة من Active، Paused، Closed)
  • طول زائد (مثلاً، يمكن أن تكون الملاحظات حتى 500 حرف)

التصفية ميزة كبيرة لراحة المستخدم. أضف مفتاح تبديل مثل "فقط الصفوف ذات الأخطاء" وصندوق بحث يعمل داخل المعاينة. يساعد ذلك المستخدمين على التركيز على ما يحتاج انتباها بدلًا من التمرير بين مئات الصفوف الناجحة.

تجنب المصطلحات التقنية. لا يجب أن يرى المستخدمون أبدًا "Parse exception" أو "Constraint violation". قل ما هو الخطأ، أين هو (صف وعمود)، وماذا يفعلون بعد ذلك. في AppMaster، هذه النوعية من المعاينة مفيدة بشكل خاص لأن الناس غالبًا ما يستوردون ضمن منطق أعمال حقيقي وقيود، لا مجرد جدول مسطح.

طرق يمكن للمستخدمين تصحيح البيانات داخل الاستيراد

لا يجب أن تتوقف واجهة التعيين عند الإشارة إلى المشكلات فقط. يجب أن تمنح الناس إصلاحات سريعة وآمنة يمكن تطبيقها هناك، دون مغادرة التدفق.

ابدأ بالإصلاحات المضمنة بجانب العمود الفاشل. إذا لم يستطع النظام تحليل التواريخ، دع المستخدم يختار صيغة التاريخ المتوقعة (مثل MM/DD/YYYY مقابل DD/MM/YYYY) وأعد تشغيل المعاينة فورًا. إذا كان العمود يحتوي "Yes/No" بينما يتوقع الحقل true/false، عرضه خيار تحويل بسيط.

للحقول ذات مجموعة قيم ثابتة (status، state، plan)، يعدّ مطابقة القيم موفّرًا للوقت. عندما ترى الاستيراد "NY" بينما يخزن التطبيق "New York"، يجب أن يتمكن المستخدم من المطابقة مرة واحدة وتطبيقها على كل الصفوف. الفكرة نفسها تنطبق على الحالة والحروف، مثل تحويل "active"، "Active"، و"ACTIVE" إلى قيمة مسموح بها واحدة.

الإجراءات السريعة تساعد على تنظيف الأخطاء الشائعة بسرعة:

  • إزالة الفراغات البادئة واللاحقة
  • استبدال الفراغات بالافتراضي (مثل "Unknown")
  • إزالة فواصل الآلاف ("1,200" -> "1200")
  • تطبيع أرقام الهواتف (الاحتفاظ بالأرقام فقط)
  • تحويل النص إلى حالة العنوان للأسماء

اجعل هذه الإجراءات قابلة للعكس. أظهر ما الذي سيتغير، كم صفًا تتأثر، واسمح بالتراجع. معاينة "قبل/بعد" صغيرة للعمود المختار تمنع المفاجآت.

كن واضحًا بشأن ما لا يمكن إصلاحه داخل التطبيق. إذا كان العمود مفقودًا تمامًا، أو الصفوف انزلقت بسبب فواصل غير مهربة، أو الملف يخلط رؤوسًا مختلفة في منتصفه، فإن أفضل حل هو تحرير CSV. قل ذلك بصراحة واشرح ما يجب تغييره.

مثال بسيط: إذا كان 600 صفًا تحتوي على "CA " بمسافة تالية، يجب أن ينظف نقرة واحدة ذلك ويجعل التحقق يمر دون الحاجة لإعادة التصدير.

سير استيراد بسيط خطوة بخطوة

اجعل التعيين مطابقًا لمخططك
حافظ على محاذاة أعمدة CSV مع نموذج بياناتك مع أنواع حقول واضحة وقيود.
استخدم Data Designer

تبدو واجهة تعيين أعمدة استيراد CSV هادئة لأنها تقسم العمل إلى قرارات صغيرة ومتتالية. يجب أن يعرف المستخدم دائمًا ما سيحدث بعد ذلك، وماذا سيحدث لبياناته.

ابدأ بالرفع. بمجرد اختيار الملف، اكتشف الفاصل والترميز، ثم أظهر معاينة صغيرة (الرؤوس مع أول صف أو اثنين). هنا يلاحظ الناس مشاكل شائعة مبكرًا، مثل عمود واحد لأن الفاصل خاطئ، أو محارف غريبة بسبب مشاكل الترميز.

ثم اسأل كيف يجب أن يتصرف الاستيراد. بعض المستخدمين ينشئون سجلات جديدة، والبعض يقوم بتحديث الموجودة، والعديد يحتاجون إلى upsert. إذا تم اختيار التحديث أو upsert، اجبر على تقديم معرف (مثل البريد الإلكتروني، المعرف الخارجي، أو رقم الطلب) وأظهر تحذيرًا إذا كان عمود المعرف يحتوي على فراغات أو تكرارات.

بعد ذلك، انتقل إلى التعيين والقيم الافتراضية، ثم شغّل التحقق. دع المستخدمين يؤكدون أي عمود CSV يملأ كل حقل، أي الحقول ستستخدم قيمة افتراضية، وأي الحقول ستبقى فارغة. يجب أن يكون التحقق سريعًا ومحدّدًا، ويفحص الأنواع، الحقول المطلوبة، التكرارات، وقواعد المرجعية.

سير بسيط يبدو هكذا:

  • ارفع الملف وقم بمعاينة بعض الصفوف
  • اختر الوضع: إنشاء، تحديث بمفتاح، أو upsert (واختر المفتاح)
  • أكد التعيينات والقيم الافتراضية، ثم تحقق
  • راجع الأخطاء واصلحها (أو صدّر صفوف الأخطاء فقط)
  • شغّل الاستيراد وأظهر ملخص الإكمال

في خطوة مراجعة الأخطاء، حافظ على تقدم المستخدم. أظهر العدود بحسب نوع الخطأ، دعهم يُرشّحون لصفوف سيئة فقط، واجعل الإجراء التالي واضحًا: الإصلاح في المكان، تجاهل صف، أو تنزيل صفوف المشكلة لتحريرها وإعادة رفعها.

اختم بملخص واضح: كم سجلًا تم إنشاؤه، تحديثه، تخطيه، وفشله، بالإضافة إلى المفتاح المستخدم للمطابقة. إذا بُني هذا في أداة مثل AppMaster، يجب أن يتطابق هذا الملخص مع ما كتبه الخلفية فعليًا، لا ما ظنت الواجهة أنها ستفعله.

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

صمم شاشة التعيين
صمم شاشة تعيين مع بحث، تلميحات الحقول المطلوبة، ومنع التعارضات.
ابنِ الواجهة

قد تبدو شاشة التعيين "مكتملة" بمجرد أن يتمكن المستخدمون من مطابقة الحقول والنقر على استيراد. المشاكل الحقيقية تظهر بعد هبوط البيانات في النظام: التكرارات، التغييرات الصامتة، والأخطاء التي لا يمكن لأحد إصلاحها.

فخ كلاسيكي هو السماح بتشغيل استيراد بنمط تحديث بدون معرف فريد. إذا لم يستطع المستخدمون تعيين شيء مثل Customer ID أو Email أو أي حقل مضمون الفريدة، فلن يستطيعوا تحديث السجلات الموجودة بشكل موثوق. النتيجة غالبًا سجلات مكررة تبدو صحيحة، لكنها مكررة. إذا كان المعرف مفقودًا، اجعل الواجهة تقول ذلك بصراحة وقدّم خيارًا: "استيراد كسجلات جديدة" أو "توقف وأضف معرفًا".

مشكلة دقيقة أخرى هي التحويل الصامت للنوع. قيمة مثل "00123" قد تكون رمزًا حقيقيًا، ليست رقمًا. إذا حوّل الاستيراد ذلك إلى 123، تخسر الأصفار البادئة وتكسر المطابقات لاحقًا. عامل السلاسل التي تبدو رقمية بحذر، خاصة لأكواد ZIP/Postal، SKUs، وأكواد الحسابات. إذا كان لا بدّ من تحويل الأنواع، أظهر قبل/بعد في المعاينة.

يمكن أن يفشل التحقق بطريقتين متعاكستين. شديد جدًا، فتحظر صفوفًا غير مؤذية (مثل غياب رقم هاتف اختياري). مرن جدًا، فتُنشئ قمامة (مثل أسماء فارغة، إيميلات غير صالحة، أو تواريخ لا معنى لها). النهج الأفضل هو الفصل:

  • أخطاء عاقلة (يجب إصلاحها للاستيراد)
  • تحذيرات (يمكن الاستيراد، لكن يجب مراجعتها)
  • إصلاحات تلقائية (إزالة الفراغات، تطبيع الحالة) ظاهرة في المعاينة

غالبًا ما تصبح رسائل الخطأ عديمة الفائدة لأنها لا تشير إلى الخلية الدقيقة. اربط دائمًا الملاحظات بصف وعمود محددين، وتضمّن القيمة الأصلية. "الصف 42، Email: 'bob@' ليس بريدًا صالحًا" أفضل من "تم العثور على بيانات غير صالحة".

أخيرًا، لا تجعل التأكيد الأخير غامضًا. يحتاج المستخدمون أن يروا ما سيحدث: كم سيُنشأ، كم سيُحدّث، وكم سيُتخطى. إذا كانت التحديثات متضمنة، أظهر حقل المعرف الذي ستطابق عليه كي يلتقط المستخدم تعيينًا خاطئًا قبل أن يستبدل بيانات حقيقية.

فحوصات سريعة قبل أن ينقر المستخدم استيراد

قبل أن ينقر أحدهم استيراد، يسأل سؤالًا بسيطًا: "هل على وشك إفساد بياناتي؟" تجيب واجهة التعيين الجيدة على ذلك بقائمة فحص واضحة ومملة تبني الثقة.

ابدأ بعرض معاينة حقيقية صغيرة. عيّنة من 10 إلى 20 صفًا كافية لمعظم الناس لاكتشاف مشاكل واضحة مثل انزياح الأعمدة، صيغ التواريخ الغريبة، أو الفراغات الإضافية. يجب أن تعكس المعاينة التعيين الحالي، لا CSV الخام، حتى يرى المستخدم بالضبط ما سيُكتب.

بعدها، اجعل الحقول المطلوبة لا يمكن تجاهلها. إذا لم يُعيّن حقل مطلوب، اجبر المستخدم على اتخاذ قرار: عيّنه، ضع قيمة افتراضية، أو توقف. لا تدع المستخدمين يكتشفون الحقول المطلوبة فقط بعد فشل الاستيراد.

الخلايا الفارغة تحتاج قاعدة بلغة بسيطة. أخبر المستخدمين ما إذا كانت الفراغات ستصبح فارغة، تحتفظ بالقيمة الحالية (في حالة التحديثات)، أو تُشغّل قيمة افتراضية. نص صغير مثل "الفراغ = احتفظ بالقيمة الحالية" في صف التعيين يمنع الكثير من الاستيرادات السيئة.

أخيرًا، دع المستخدم يركّز على المشاكل لا الكمال. إذا كانت هناك مشكلات، اعطِ عرضًا يصف فقط الصفوف التي بها أخطاء أو تحذيرات، مع السبب بجانب الصف. ذلك يجعل الإصلاح أكثر قابلية للإدارة.

إليك قائمة فحص قبل الاستيراد يمكنك وضعها فوق الزر النهائي:

  • المعاينة تُظهر صفوف عيّنة مع التعيين الحالي المطبق
  • جميع الحقول المطلوبة مُعيّنة أو لديها قيمة افتراضية
  • سلوك الخلايا الفارغة مُوضّح بوضوح للإنشاء والتحديث
  • يمكنك التصفية لعرض الصفوف ذات المشاكل ومراجعتها بسرعة
  • الملخص يُظهر العدّ للإضافة مقابل التحديث مقابل التخطي (ومعادّ الأخطاء)

إذا كنت تبني هذا في AppMaster، عامل هذه الفحوصات كشاشة "السلامة الأخيرة" قبل أن يكتب الخلفية أي شيء. إيقاف استيراد سيء هنا أرخص من تنظيف آلاف السجلات لاحقًا.

سيناريو مثال: استيراد عملاء من جدول بيانات

ادعم الإنشاء، التحديث، والـ upsert
أنشئ استيراد upsert يطابق عبر البريد الإلكتروني أو معرف خارجي ويمنع التكرار.
ابدأ مشروعًا

تقود دعم عملاء تصديرًا لقائمة عملاء من جدول وتريد تحميلها إلى CRM بسيط. يحتوي CSV على أعمدة: Name، Email، Phone، Status، وSignup Date.

في واجهة تعيين أعمدة الاستيراد، يطابقون الأعمدة مع الحقول كالتالي:

  • Name -> Customer name
  • Email -> Email (مطلوب)
  • Phone -> Phone (اختياري)
  • Status -> Status (قائمة اختيار)
  • Signup Date -> Signup date (تاريخ)

تظهر بعض المشكلات فورًا. بعض الصفوف بلا Email. قيم Status غير متسقة (Active، ACTIVE، actv). Signup Date متباينة: بعض الصفوف تستخدم 2025-01-03، أخرى تستخدم 01/03/2025، وبعضها 3 Jan 2025.

بدلًا من إجبار المستخدم على تصحيح الملف بأكمله أولًا، تتيح خطوة التعيين وضع قيم افتراضية وقواعد آمنة. يختار المستخدم قيمة افتراضية للحالة "Active" فقط عندما يكون العمود فارغًا، لا عندما يحتوي على قيمة. بالنسبة لتاريخ التسجيل، يختار صيغة متوقعة (مثل YYYY-MM-DD) ويأمر المستورد بأن يعامل الصيغ الأخرى كأخطاء.

تصبح المعاينة الآن نقطة القرار. قد تُظهر:

  • 12 صفًا محظورًا: البريد الإلكتروني مفقود
  • 7 صفوف معنونة: قيمة حالة غير معروفة "actv"
  • 5 صفوف معنونة: صيغة تاريخ غير صالحة

من المعاينة، يصلح المستخدم المشكلات بسرعة بدون تخمين. يطبّق مطابقة جماعية لـ "actv" على "Active"، يصحح التواريخ الخمسة في المكان. بالنسبة لبريد الإلكتروني المفقود، يمكنهم إما تخطي تلك الصفوف أو إيقاف الاستيراد وطلب تعبئتها.

أدوات مثل AppMaster تجعل هذا الأمر سلسًا بربط شاشة التعيين مع تحقق واضح ومعاينة تعكس ما سيُكتب، حتى يثق المستخدم بالاستيراد قبل حفظ أي بيانات.

خطوات لاحقة: اطلق واجهة الاستيراد وحافظ عليها آمنة

عامل الإصدار الأولي كتجربة محكومة. ابدأ بملف اختبار صغير (10-50 صفًا) وشغّل التدفق كاملًا: التعيين، القيم الافتراضية، المعاينة، والكتابة النهائية. إذا بدت النتائج صحيحة، دع المستخدمين يحفظون التعيين كي يصبح الاستيراد التالي أسرع وأكثر اتساقًا. التعيين المحفوظ هو أيضًا شبكة أمان لأنه يقلل من "التعيينات الفردية المبتكرة".

ضع واجهة تعيين أعمدة الاستيراد حيث تنتمي طبيعيًا: في لوحة إدارة أو أداة داخلية تمتلك البيانات. مثلاً، لا ينبغي لقائد دعم العملاء أن يحتاج أذونات إضافية أو نظامًا منفصلاً فقط لإضافة عملاء. احتفظ بها قريبة من عرض القائمة حيث سيتحققون من النتيجة فورًا.

بعد انتهاء الاستيراد، أظهر تقريرًا قصيرًا وواضحًا واحتفظ به لمراجعة لاحقة. لا يجب على المستخدمين التخمين عما حدث.

ما الذي يجب تسجيله وما الذي يجب إظهاره

التقط التفاصيل الكافية لتسهيل التصحيح دون إرهاق الناس. ملخص ما بعد الاستيراد الجيد يتضمن:

  • الصفوف المعالجة، المنشأة، المحدّثة، والمتجاهلة
  • عدد الأخطاء مع تقرير أخطاء قابل للتنزيل أو النسخ (رقم الصف، العمود، الرسالة)
  • ملاحظة عن أي تعيين محفوظ والقيم الافتراضية المستخدمة
  • التوقيت (بدأ عند، انتهى عند) ومن شغّله
  • رابط سريع إلى "السجلات المتغيّرة" المفلترة (إذا كان تطبيقك يدعم ذلك)

إذا كنت تبني هذا في AppMaster، يمكنك نمذجة البيانات في Data Designer، بناء شاشات التعيين والمعاينة باستخدام باني واجهة مرئي، وفرض التحقق في Business Process قبل أن يُكتب شيء إلى PostgreSQL. هذا الفصل يسهل الحفاظ على "المعاينة" آمنة و"الاستيراد" صارمًا.

أخيرًا، أضف حماية أخيرة قبل الإطلاق: اطلب استيرادًا تجريبيًا في كل بيئة (staging، ثم production) واحتفظ بالاستيرادات خلف دور أو إذن. هذا يحافظ على فائدة الميزة دون زيادة المخاطر.

من السهل أن تبدأ
أنشئ شيئًا رائعًا

تجربة مع AppMaster مع خطة مجانية.
عندما تكون جاهزًا ، يمكنك اختيار الاشتراك المناسب.

البدء
واجهة تعيين أعمدة استيراد CSV: تطابق أكثر أمانًا، قيم افتراضية، ومعاينات | AppMaster