Steve Data Modeling: от списков выбора — к бесконечности и дальше
Введение:
Добро пожаловать в новый познавательный выпуск о моделировании данных в серии Steve’s Data Modeling! В этой статье мы рассмотрим разнообразные способы применения списков выбора и обсудим ситуации, в которых для более сложных требований к модели данных стоит подумать об альтернативах.
Что такое списки выбора
Списки выбора идеальны, когда полю нужен набор фиксированных значений. Они дают аккуратный пользовательский интерфейс, но имеют ряд ограничений:
- Для добавления значений нужны расширенные права администратора.
- Новые значения нужно развертывать через песочницы.
Если значения из сторонних интеграций заранее не добавлены в Salesforce, возникают ошибки проверки данных.
Варианты списков выбора
Вот несколько вариантов, которые стоит рассмотреть:
Вариант 1: глобальные наборы значений
Это стандартный вариант Salesforce, и один список можно использовать в разных объектах.

Глобальные наборы значений лучше всего подходят для значений, которые используются в нескольких местах. Например, можно завести два глобальных набора значений — «размер трубы» и «толщина трубы», — чтобы пользователи выбирали значения в аккуратном интерфейсе.
[caption id="" align=“alignnone” width=“1372”]
Примеры наборов значений [/caption]
[caption id="" align=“alignnone” width=“1814”]
Примеры значений [/caption]
[caption id="" align=“alignnone” width=“676”]
Выбор из списка [/caption]
Вариант 2: текстовые поля
Это просто текстовое поле без проверки.

Если значения данных поступают через интеграции, можно рассмотреть текстовые поля. Однако при таком подходе теряется проверка: пользователи могут вводить что угодно, а это может привести к несогласованности.
Это может подойти, если поля в Salesforce доступны только для чтения и вы лишь отображаете значения.
[caption id="" align=“alignnone” width=“678”]
Без проверки [/caption]
Вариант 3: общий справочный объект

Для загрузки данных можно использовать общий справочный объект с несколькими типами записей. При таком подходе в основном объекте создаются два поля подстановки (lookup), которые ссылаются на справочный объект, а не на сами значения. Кроме того, новые значения можно добавлять динамически без прав администратора, что повышает гибкость.
[caption id="" align=“alignnone” width=“1462”]
Использование типов записей [/caption]
[caption id="" align=“alignnone” width=“1700”]
Используйте фильтрованное поле подстановки [/caption]
[caption id="" align=“alignnone” width=“1434”]
Добавление значений [/caption]
[caption id="" align=“alignnone” width=“658”]
Так выглядит выбор значения. Сортировка неправильная, и при первой загрузке показываются не все значения — пользователю приходится их искать. Также не забудьте убрать право «Создать» из профилей и наборов разрешений, чтобы пользователи не создавали новые записи на лету. [/caption]
Раздел 3: продвинутые варианты
Для более сложных сценариев рассмотрите такие варианты:
Вариант 4: пользовательские экраны со справочным объектом

Если для экранов редактирования вы используете пользовательские компоненты Lightning Web (LWC), можно читать и отображать значения из справочного объекта, а сохранять сами значения вместо полей подстановки.
Вариант 5: отдельные объекты

Если значения подстановки становятся все важнее, подумайте о создании отдельного объекта для каждого из них и отдельных полей подстановки. Такой подход позволяет добавлять данные динамически, сохраняет модель данных чистой и поддерживает дополнительные связанные поля в каждом объекте.
Практические примеры
Вот практические примеры для каждого варианта:
Стандартные списки выбора: Аккуратный интерфейс с фиксированными значениями.
Текстовые поля без проверки: Гибкость, но без проверки данных.
Подстановка на справочные объекты: Один и тот же объект с отфильтрованными типами записей для гибкости.
Отдельные объекты: Отдельный объект для каждой подстановки, что дает чистую и гибкую модель данных.
Заключение
Понимание нюансов списков выбора и их альтернатив крайне важно для эффективного моделирования данных. От стандартных списков выбора до отдельных объектов — у каждого варианта свои преимущества для конкретных задач моделирования данных.
Возвращайтесь скорее!
Больше идей и советов ищите здесь, на www.SteveTechArc.com, и на YouTube-канале @SteveTechArc (opens in a new tab). Подписывайтесь и оттачивайте мастерство моделирования данных вместе с нами!
Помогаем менять мир, делясь интересными мыслями с коллегами-архитекторами и теми, кто идет по пути к профессии архитектора!
Расшифровка сделана с помощью ИИ
STA 2.2