Стандартные модели данных
Также доступно на 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 уже смоделировал за вас большую часть бизнеса в своих стандартных объектах, и две из этих моделей делают основную работу почти в каждом org, куда я прихожу: модель продаж (Sales) и модель обслуживания (Service). Прежде чем решать, заслуживает ли что-то пользовательского объекта, нужно знать, что уже есть. Об этом следующие два модуля.
Что делает объект стандартным
Заголовок раздела «Что делает объект стандартным »Стандартный объект есть «из коробки». Его построил Salesforce, у него определенное назначение, и он приходит со своими полями и связями. Вы можете добавлять в него поля, строить вокруг него автоматизацию и менять его макеты, но перепроектировать его нельзя: стандартные поля и связи принадлежат Salesforce.
Посмотрите на имена. Account, Contact, Case. Ни префикса, ни суффикса. Так Salesforce оставляет это пространство за собой. Все, что строим мы, заканчивается на __c, поэтому Salesforce может добавлять новые стандартные объекты в любой момент и никогда не столкнуться ни с чем в вашем org. И он это делает, в каждом релизе.
Когда-то кто-то построил объект продукта, который не удался, и его пришлось оставить позади. Вот почему API-имя — Product2. Это мой первый лакмусовый тест, когда кто-то говорит мне, что знает Salesforce.
Модель продаж
Заголовок раздела «Модель продаж »Начнем слева, с интереса (Lead): это кто-то, кто может стать клиентом. Интерес на самом деле еще не часть модели. Это зона ожидания. Когда вы его конвертируете, Salesforce создает настоящие записи: организацию (Account), контакт (Contact) и, если есть сделка, возможность (Opportunity). Поэтому я рисую интерес сбоку.
Организация — это компания. Ее контакты — люди в ней. Возможность — сделка с этой организацией. Пока ничего неожиданного.
А дальше становится интересно. Что входит в сделку? Каждая строка — это продукт возможности (Opportunity Product), и продукт возможности указывает не прямо на продукт. Он указывает на запись прайс-листа (Price Book Entry): этот продукт, по этой цене, в этом прайс-листе. Запись прайс-листа стоит между продуктом (Product) и прайс-листом (Price Book), поэтому у одного и того же продукта может быть одна цена в стандартном прайс-листе и другая — в прайс-листе для партнеров.
Это две связи, которые стали сущностями, одна за другой. Помните позицию доставки (Delivery Item) из главы 2, между доставкой и продуктом, и Трюк собаки между Собакой и Трюком? Salesforce сделал здесь ровно то же самое, дважды: продукт возможности между возможностью и записью прайс-листа, и запись прайс-листа между продуктом и прайс-листом. Если вы умеете это читать, вы прочитаете большую часть стандартной модели данных.
Вот эта цепочка крупным планом, с полями, которые ее скрепляют:
Одно правило, на котором люди спотыкаются: есть стандартный прайс-лист, и запись прайс-листа в любом другом прайс-листе может просто использовать стандартную цену продукта. Знайте, какой прайс-лист использует возможность, прежде чем загружать ее продукты.
Модель обслуживания
Заголовок раздела «Модель обслуживания »Теперь другая половина дома. Та же организация, те же контакты. Когда что-то идет не так, клиент открывает обращение (Case).
Обращение обычно касается чего-то, что есть у клиента, и у Salesforce есть для этого объект: актив (Asset). В модуле 5 я назову его стандартным объектом, который люди упускают из виду. Это то, что есть у клиента, купил он это у вас или нет.
А на что клиент имеет право? Это право на обслуживание (Entitlement): поддержка, которую организация может получать, часто привязанная к активу, продукту или сервисному контракту. Добавьте право на обслуживание к обращению — и теперь обращение знает, какой уровень поддержки ему положен.
Посмотрите на линию, которая идет от обращения обратно к нему самому. У каждого обращения есть поле Parent Case (родительское обращение), и оно указывает на другое обращение. Это самосвязь (self-lookup): связь объекта с самим собой. Многих она сбивает с толку, когда они видят ее впервые, поэтому вот две причины, по которым я ее использую.
Первая: большая проблема, которая распадается на меньшие. Клиент сообщает, что вся инсталляция не работает. Мы открываем дочерние обращения по сети, оборудованию и конфигурации, каждое решается само по себе, и все они закрываются вверх: родительское обращение не завершено, пока не завершены они.
Вторая: история. Обращение закрыли в прошлом месяце, а теперь та же проблема вернулась. Новое обращение указывает на исходное, так что любой, кто его откроет, увидит, что такое уже было, и что тогда сделали.
Мы вернемся к самосвязям, когда дойдем до связей в модуле 7.
Обратите внимание: организация и контакт стоят на одном и том же месте на обеих диаграммах. Это одни и те же записи. Менеджер по продажам и агент поддержки смотрят на одного и того же клиента с разных сторон дома. Это один из самых сильных аргументов за то, чтобы оставаться на стандартных объектах: модели построены так, чтобы встречаться.
Файлы и вложения
Заголовок раздела «Файлы и вложения »Не все на записи — это поле. Договоры, фотографии, PDF и таблицы — это файлы, и их место в Salesforce Files, а не в старой модели Attachments, которая устарела. Если документ уже лежит в SharePoint Online, OneDrive, Google Drive или Box, Files Connect позволяет пользователям открыть его из Salesforce, не копируя внутрь.
Файлы учитываются иначе, чем записи. Salesforce делит хранилище на две части: файловое хранилище (file storage) содержит вложения, Files, Salesforce CRM Content, файлы Chatter и тому подобное, а хранилище данных (data storage) — ваши записи. Файловое хранилище быстро растет, когда к каждой записи прикрепляют фотографии или сканы, поэтому большим объемам изображений, вроде фотографий из полевого приложения, часто место вообще вне Salesforce, а в Salesforce остается только ссылка. Модуль 4 к этому вернется.
Два столбца или двести
Заголовок раздела «Два столбца или двести »Хранилище данных тоже считается не так, как в базе данных. В обычной базе таблица из двух столбцов и миллиона строк маленькая, а таблица из ста столбцов и миллиона строк — слон. Salesforce взвешивает их одинаково: большинство записей считаются примерно как 2 КБ, сколько бы полей у них ни было. Есть исключения. Кампания весит больше, сообщение электронной почты считается по реальному размеру, а персональная учетная запись — около 4 КБ, потому что это и организация, и контакт.
Вот совет. Когда я прихожу в новый org, одно из первых мест, куда я иду, — Setup → Storage Usage (использование хранилища). Я даже прошу у клиента скриншот на первом созвоне. Этот экран не врет. Он показывает, какие объекты растут и какие уже стали слонами.
Персональные учетные записи: когда клиент — человек
Заголовок раздела «Персональные учетные записи: когда клиент — человек »Модель организаций и контактов прекрасно работает для компании и людей в ней. Но что если ваш клиент — не компания? Что если это человек?
Для этого есть персональная учетная запись (Person Account): организация и контакт, объединенные в одну запись, для частных лиц. Поля контакта приходят вместе с ней, а пользовательские поля получают свой суффикс — __pc. Каждая такая запись считается и в хранилище организаций, и в хранилище контактов, потому что под капотом это и то и другое.
Одно предупреждение, прежде чем вы их включите: после включения персональных учетных записей отключить их нельзя. Это тест на обратимость из главы 1 в чистейшем виде. В модуле 5 я расскажу, когда, по-моему, они того стоят.
Что здесь решает архитектор
Заголовок раздела «Что здесь решает архитектор »- Какие части бизнеса Salesforce уже смоделировал — до того как проектировать что-то новое.
- Попадает ли понятие в модель продаж, в модель обслуживания или в обе, с учетом того, что у них общие организация и контакт.
- Где живут документы и изображения: в Salesforce Files, в подключенной файловой системе или вне платформы со ссылкой.
- Сколько данные будут стоить в хранилище, если считать так, как считает Salesforce: записями, а не столбцами.
- Является ли клиент компанией или человеком — до того как включать то, что нельзя выключить.
А если в Salesforce нет того, что вам нужно? Вы строите это сами. Об этом дальше.
Дополнительно
Заголовок раздела «Дополнительно »- 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 — «ID родительского обращения в иерархии. Метка — Parent Case»; связь lookup с 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 КБ хранилища данных»; персональные учетные записи — около 4 КБ.
- 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).
