نماذج البيانات القياسية
متاح أيضًا بـ28 لغة
English · Español · 日本語 · Português (Brasil) · Français · Deutsch · Italiano · 한국어 · 简体中文 · Português (Portugal) · 繁體中文 · Bahasa Indonesia · Türkçe · Polski · Tiếng Việt · ไทย · Nederlands · עברית · Українська · हिन्दी · Русский · Svenska · Dansk · Norsk bokmål · Suomi · Español (México) · Français (Canada) · Deutsch (Schweiz)

الوحدة 2 من 10 في فصل معمارية بيانات Salesforce، الفصل 3 من دورة Data Architect. كل وحدة قائمة بذاتها. السابق: منصة بيانات Salesforce: أكثر من قاعدة بيانات · التالي: ابنِ ما يخصّك: الكائنات المخصصة
السؤال الذي تجيب عنه هذه الوحدة: ما الذي نمذجته Salesforce لك بالفعل، وكيف رُكّب؟
في الوحدة 1 قلت لك: انظر إلى السفينة الأم: قبل أن تخترع شيئًا، انظر كيف تفعله Salesforce نفسها. وهذه الوحدة هي حيث ننظر فعلًا. لقد نمذجت Salesforce لك جزءًا كبيرًا من العمل التجاري في كائناتها القياسية، ونموذجان منها يؤديان معظم العمل في معظم المؤسسات التي أدخلها: نموذج المبيعات ونموذج الخدمة. وقبل أن تستطيع أن تقرر ما إذا كان شيء ما يستحق كائنًا مخصصًا، عليك أن تعرف ما هو موجود بالفعل. هذا موضوع الوحدتين التاليتين.
ما الذي يجعل الكائن قياسيًا
Section titled “ما الذي يجعل الكائن قياسيًا ”الكائن القياسي يأتي جاهزًا. بنته Salesforce، وله غرض محدد، ويأتي بحقوله وعلاقاته الخاصة. يمكنك أن تضيف إليه حقولًا، وتبني حوله الأتمتة، وتغيّر تخطيطاته، لكن لا يمكنك إعادة تصميمه: فالحقول والعلاقات القياسية ملك Salesforce.
انظر إلى الأسماء. Account، Contact، Case. لا بادئة، ولا لاحقة. هذه Salesforce تحتفظ بتلك المساحة لنفسها. كل ما نبنيه نحن ينتهي بـ __c، لذا تستطيع Salesforce إضافة كائنات قياسية جديدة في أي وقت دون أن تتصادم أبدًا مع أي شيء في مؤسستك. وهي تفعل ذلك في كل إصدار.
في مرحلة ما، بنى أحدهم كائنًا للمنتج لم ينجح، واضطروا إلى تركه خلفهم. لهذا اسم API هو Product2. إنه أول اختبار حاسم أُجريه عندما يخبرني أحد أنه يعرف Salesforce.
نموذج المبيعات
Section titled “نموذج المبيعات ”ابدأ من اليسار، بـ العميل المحتمل (Lead): شخص قد يصبح عميلًا. العميل المحتمل ليس جزءًا حقيقيًا من النموذج بعد. إنه منطقة انتظار. عندما تحوّله، تُنشئ Salesforce السجلات الحقيقية: حسابًا (Account)، وجهة اتصال (Contact)، وإذا كانت هناك صفقة، فرصة (Opportunity). لهذا أرسم العميل المحتمل جانبًا.
الحساب هو الشركة. وجهات الاتصال هي الأشخاص فيها. والفرصة صفقة مع ذلك الحساب. حتى الآن، لا شيء لم تتوقعه.
ثم يصبح الأمر مثيرًا للاهتمام. ما الذي في الصفقة؟ كل بند هو منتج الفرصة (Opportunity Product)، ومنتج الفرصة لا يشير مباشرة إلى منتج. بل يشير إلى إدخال دفتر الأسعار (Price Book Entry): هذا المنتج، بهذا السعر، في دفتر الأسعار هذا. يقع إدخال دفتر الأسعار بين المنتج (Product) ودفتر الأسعار (Price Book)، لذا يمكن أن يكون للمنتج نفسه سعر في دفتر الأسعار القياسي وسعر آخر في دفتر أسعار الشركاء.
هاتان علاقتان صارتا شيئين، الواحدة تلو الأخرى. هل تتذكر بند التوصيلة (Delivery Item) من الفصل 2، بين التوصيلة والمنتج، وحيلة الكلب بين الكلب والحيلة؟ فعلت Salesforce الشيء نفسه تمامًا هنا، مرتين: منتج الفرصة بين الفرصة وإدخال دفتر الأسعار، وإدخال دفتر الأسعار بين المنتج ودفتر الأسعار. عندما تستطيع قراءة ذلك، تستطيع قراءة معظم نموذج البيانات القياسي.
إليك تلك السلسلة عن قرب، مع الحقول التي تربطها معًا:
قاعدة يتعثر فيها الناس: هناك دفتر أسعار قياسي، ويمكن لإدخال دفتر الأسعار في أي دفتر أسعار آخر أن يستخدم ببساطة السعر القياسي للمنتج. اعرف أي دفتر أسعار تستخدمه الفرصة قبل أن تحمّل منتجاتها.
نموذج الخدمة
Section titled “نموذج الخدمة ”والآن الجانب الآخر من البيت. الحساب نفسه، وجهات الاتصال نفسها. عندما يحدث خطأ ما، يفتح العميل حالة (Case).
تكون الحالة عادةً بشأن شيء يملكه العميل، ولدى Salesforce كائن لذلك: الأصل (Asset). في الوحدة 5 سأسميه الكائن القياسي الذي يغفل عنه الناس. إنه شيء يملكه العميل، سواء اشتراه منك أم لا.
وما الذي يحق للعميل الحصول عليه؟ هذا هو الاستحقاق (Entitlement): الدعم الذي يحق للحساب تلقيه، وكثيرًا ما يكون مرتبطًا بأصل أو منتج أو عقد خدمة. ضع استحقاقًا على حالة، فتعرف الحالة الآن مستوى الدعم الذي يُفترض أن تحصل عليه.
انظر إلى الخط الذي يمتد من الحالة عائدًا إليها. لكل حالة حقل Parent Case (الحالة الأم)، يشير إلى حالة أخرى. هذه علاقة بحث ذاتية (self-lookup): علاقة من كائن إلى نفسه. إنها تُربك كثيرًا من الناس أول مرة يرونها، لذا إليك السببين اللذين أستخدمها من أجلهما.
الأول: مشكلة كبيرة تتفرع إلى مشكلات أصغر. يبلّغ العميل أن التركيب كله متوقف. نفتح حالات فرعية للشبكة، والأجهزة، والإعدادات، يُعمل على كل منها وحدها، وكلها تُحل صعودًا: الحالة الأم لا تنتهي حتى تنتهي هي.
الثاني: التاريخ. أُغلقت حالة الشهر الماضي، والآن عادت المشكلة نفسها. تشير الحالة الجديدة إلى الأصلية، فيرى كل من يفتحها أن هذا حدث من قبل، وما الذي فُعل بشأنه.
سنعود إلى علاقات البحث الذاتية عندما نصل إلى العلاقات في الوحدة 7.
لاحظ أن الحساب وجهة الاتصال يقعان في المكان نفسه في المخططين. إنهما السجلات نفسها. مندوب المبيعات ووكيل الخدمة ينظران إلى العميل نفسه، من جانبين مختلفين من البيت. هذه إحدى أقوى الحجج للبقاء على الكائنات القياسية: فالنموذجان بُنيا ليلتقيا.
الملفات والمرفقات
Section titled “الملفات والمرفقات ”ليس كل ما على السجل حقلًا. العقود والصور وملفات PDF وجداول البيانات ملفات، ومكانها Salesforce Files، لا نموذج Attachments القديم، فهو إرث قديم. وإذا كان المستند موجودًا أصلًا في SharePoint Online أو OneDrive أو Google Drive أو Box، فإن Files Connect يتيح للمستخدمين الوصول إليه من Salesforce دون نسخه إليها.
تُحتسب الملفات بشكل مختلف عن السجلات. تقسم Salesforce التخزين إلى قسمين: تخزين الملفات يضم المرفقات وFiles وSalesforce CRM Content وملفات Chatter وما شابهها، وتخزين البيانات يضم سجلاتك. يرتفع تخزين الملفات بسرعة حين يحصل كل سجل على صور أو مستندات ممسوحة، لذا فإن الكميات الكبيرة من الصور، مثل الصور الآتية من تطبيق ميداني، يكون مكانها غالبًا خارج Salesforce تمامًا، مع احتفاظ Salesforce برابط فقط. وتعود الوحدة 4 إلى ذلك.
عمودان أم مئتا عمود
Section titled “عمودان أم مئتا عمود ”ويُحتسب تخزين البيانات أيضًا بشكل مختلف عن قاعدة البيانات. في قاعدة بيانات عادية، الجدول ذو العمودين والمليون صف صغير، والجدول ذو المئة عمود والمليون صف فيل. أما Salesforce فتزنهما بالوزن نفسه: معظم السجلات تُحتسب بنحو 2 KB، مهما كان عدد حقولها. وهناك استثناءات. الحملة تُحتسب بأكثر من ذلك، ورسالة البريد الإلكتروني تُحتسب بحجمها الحقيقي، والحساب الشخصي يُحتسب بنحو 4 KB، لأنه حساب وجهة اتصال معًا.
إليك نصيحة. كلما دخلت مؤسسة جديدة، فإن أحد أول الأماكن التي أذهب إليها هو Setup → Storage Usage (استخدام التخزين). بل إنني أطلب من العميل لقطة شاشة منه في أول مكالمة. تلك الشاشة لا تكذب. إنها تخبرك أي الكائنات تنمو، وأيها أصبح فيلة بالفعل.
الحسابات الشخصية: عندما يكون العميل شخصًا
Section titled “الحسابات الشخصية: عندما يكون العميل شخصًا ”نموذج الحساب وجهة الاتصال يعمل بشكل رائع لشركة والأشخاص فيها. لكن ماذا لو لم يكن عميلك شركة؟ ماذا لو كان شخصًا؟
هذا هو الحساب الشخصي (person account): حساب وجهة اتصال مدمجان في سجل واحد، للأفراد. تأتي معه حقول جهة الاتصال، وتظهر الحقول المخصصة منها بلاحقتها الخاصة، __pc. وكل واحد منها يُحتسب على تخزين الحسابات وتخزين جهات الاتصال معًا، لأنه في الأسفل كلاهما.
تحذير واحد قبل أن تفعّلها: بمجرد تفعيل الحسابات الشخصية، لا يمكن تعطيلها. هذا هو اختبار قابلية التراجع من الفصل 1 في أنقى صوره. وتعطيك الوحدة 5 موقفي من متى تستحق العناء.
ما الذي يقرره المعماري هنا
Section titled “ما الذي يقرره المعماري هنا ”- أي أجزاء العمل نمذجتها Salesforce بالفعل، قبل أن يُصمَّم أي شيء جديد.
- هل يقع مفهوم ما في نموذج المبيعات، أم نموذج الخدمة، أم كليهما، مع العلم أنهما يتشاركان الحساب وجهة الاتصال.
- أين تعيش المستندات والصور: في Salesforce Files، أم في نظام ملفات متصل، أم خارج المنصة مع رابط.
- كم ستكلف البيانات من التخزين، محسوبة بالطريقة التي تحسبها بها Salesforce: بالسجلات، لا بالأعمدة.
- هل العميل شركة أم شخص، قبل تفعيل شيء لا يمكن إيقافه.
وعندما لا يكون لدى Salesforce ما تحتاج إليه؟ تبنيه أنت. هذا هو التالي.
للاستزادة
Section titled “للاستزادة ”- OpportunityLineItem (opens in a new tab)، Object Reference for the Salesforce Platform (بالإنجليزية، تم التحقق في 2026-10-12): «عضو في قائمة منتجات Product2 المرتبطة بفرصة»؛ وإدخال دفتر الأسعار إلزامي.
- PricebookEntry (opens in a new tab)، Object Reference (بالإنجليزية، تم التحقق في 2026-10-12): «ربط بين Pricebook2 وProduct2»؛ ويمكن للإدخال أن يستخدم السعر القياسي.
- Case (opens in a new tab)، Object Reference (بالإنجليزية، تم التحقق في 2026-10-12): ParentId، «معرّف الحالة الأم في التسلسل الهرمي. التسمية هي Parent Case»؛ وهو علاقة بحث إلى Case.
- Entitlement (opens in a new tab)، Object Reference (بالإنجليزية، تم التحقق في 2026-10-12): «دعم العملاء الذي يحق لحساب أو جهة اتصال تلقيه»، وقد يستند إلى أصل أو منتج أو عقد خدمة.
- Data and Storage Resources (opens in a new tab)، Salesforce Help (بالإنجليزية، تم التحقق في 2026-10-12): ما الذي يشمله تخزين الملفات وتخزين البيانات.
- Salesforce Data Storage: Estimated Record Size by Object Type (opens in a new tab)، Salesforce Help (بالإنجليزية، تم التحقق في 2026-10-12): «تستهلك معظم سجلات Salesforce نحو 2 KB من تخزين البيانات»؛ والحسابات الشخصية نحو 4 KB.
- Enable Person Accounts (opens in a new tab)، Salesforce Help (بالإنجليزية، تم التحقق في 2026-10-12): «بعد تفعيل Person Accounts، لا يمكن تعطيلها».
- Files Connect FAQ (opens in a new tab)، Salesforce Help (بالإنجليزية، تم التحقق في 2026-09-25).
