Поля

Введение

В NocoBase Field (поле) — это бизнес-атрибут, используемый в Collection (таблице данных) для описания данных. Поле определяет, какую информацию можно хранить в записи, а также как эту информацию вводить, отображать, фильтровать и использовать в бизнес-логике на странице.

ОпределениеОписание
Какие данные хранитьНапример, текст, числа, даты, файлы, статусы, связи, JSON.
Как использовать на страницеНапример, вводить и отображать с помощью текстового поля, выбора даты, раскрывающегося списка, загрузки вложений и селектора связей.
Как участвовать в бизнес-функцияхПоля используются блоками страниц, фильтрами, сортировкой, правами доступа, рабочими процессами, API, импортом и экспортом данных и другими функциями.

Поле может соответствовать:

  • реальному столбцу базы данных в основной базе данных
  • существующему столбцу базы данных во внешней базе данных
  • полю в представлении базы данных
  • полю в результате SQL-запроса
  • полю в ответе REST API
  • полю связи, системному или виртуальному полю таблицы данных

Его можно понимать как «атрибут бизнес-объекта». Например:

Бизнес-объектСоответствующие поля
КлиентИмя клиента, номер телефона, уровень клиента, ответственный
ЗаказНомер заказа, сумма заказа, статус заказа, клиент
ДоговорНазвание договора, дата подписания, вложение договора, статус согласования
ЗадачаЗаголовок задачи, срок выполнения, приоритет, исполнитель
ФайлИмя файла, размер, MIME-тип, URL

Сценарии использования

Ниже распространённые сценарии использования сгруппированы по категориям полей. Здесь вы можете определить, какую категорию поля выбрать; подробные сведения о настройке, сопоставлении типов и важных нюансах доступны в документации соответствующей категории.

Категория поляСценарии использования
Текстовые поляПодходят для хранения названий, номеров, описаний, контактных данных, URL-адресов и другой подобной информации.
Поля форматированного текстаПодходят для хранения основного текста, документов с описанием, решений по обработке, фрагментов кода и другой сложной информации.
Числовые поляПодходят для хранения количества, сумм, оценок, процентных значений и других чисел.
Поля даты и времениПодходят для хранения моментов времени, дат, времени, временных меток внешних систем и других подобных данных.
Поля статуса и вариантовПодходят для хранения значений из фиксированного набора, например статуса включения, статуса заказа, уровня клиента, метки клиента.
Поля вложенийПодходят для загрузки файлов или хранения адресов внешних файлов.
Поля связейПодходят для выражения связей между разными таблицами данных, например заказ принадлежит клиенту, клиент имеет заказы, пользователь связан с ролью.
Поля идентификаторов и кодовПодходят для хранения внутренних первичных ключей, внешних идентификаторов синхронизации, идентификаторов публичного доступа и бизнес-номеров.
Поля геометрииПодходят для хранения пространственной или географической информации, например местоположения магазина, маршрута доставки, зоны обслуживания.
Системные поляПодходят для хранения системной информации, поддерживаемой NocoBase или базой данных, например идентификатора, времени создания, создателя и времени обновления.
Другие поляПодходят для полей, связанных с сортировкой, формулами, JSON и другими задачами, которые не относятся напрямую к остальным категориям.

Типы интерфейсов полей

С точки зрения Interface NocoBase разделяет поля на следующие категории:

20240512110352

Типы данных полей

Каждый Field Interface имеет тип данных по умолчанию. Например, для поля с Interface «число» (Number) тип данных по умолчанию — double, но также могут использоваться float, decimal и другие типы. В настоящее время поддерживаются следующие типы данных:

20240512103733

Сопоставление типов полей

Процесс добавления поля в основную базу данных:

  1. Выберите тип Interface
  2. Настройте доступные типы данных для текущего Interface

20240512172416

Процесс сопоставления полей внешнего источника данных:

  1. Автоматически сопоставьте тип данных (Field type) и тип UI (Field Interface) на основе типа поля во внешней базе данных.
  2. При необходимости измените их на более подходящие тип данных и тип Interface

20240512172759