Уведомление о переводе ИИ

Эта документация была автоматически переведена ИИ.

Значения по умолчанию

Введение

Значение по умолчанию — это начальное значение поля при создании новой записи. Вы можете задать значение по умолчанию для поля при его настройке в коллекции или указать его в блоке формы добавления. Оно может быть константой или переменной.

Где можно задать значения по умолчанию

Поля коллекции

20240411095933

Поля в форме добавления

Большинство полей в форме добавления поддерживают установку значений по умолчанию.

20251028161801

Добавление в подформе

Дополнительные данные, добавленные через поле подформы как в форме добавления, так и в форме редактирования, будут иметь значение по умолчанию.

Добавление новой записи в подформе 20251028163455

При редактировании существующих данных пустое поле не будет заполнено значением по умолчанию. Значением по умолчанию будут заполнены только вновь добавленные данные.

Значения по умолчанию для полей связей

Значения по умолчанию доступны только для связей типа «Многие-к-одному» и «Многие-ко-многим» при использовании компонентов-селекторов (Select, RecordPicker).

20251028164128

Переменные значений по умолчанию

Какие переменные доступны

  • Текущий пользователь;
  • Текущая запись; это применимо только к существующим записям;
  • Текущая форма; в идеале, здесь перечисляются только поля формы;
  • Текущий объект, концепция внутри подформ (объект данных для каждой строки в подформе);
  • Параметры URL Дополнительную информацию о переменных см. в разделе Переменные

Переменные значений по умолчанию для полей

Делятся на две категории: поля без связей и поля связей.

Переменные значений по умолчанию для полей связей

  • Объект переменной должен быть записью коллекции;
  • Это должна быть коллекция в цепочке наследования, которая может быть текущей коллекцией или родительской/дочерней коллекцией;
  • Переменная «Выбранные записи таблицы» доступна только для полей связей типа «Многие-ко-многим» и «Один-ко-многим/Многие-к-одному»;
  • Для многоуровневых сценариев необходимо выполнить выравнивание и удаление дубликатов
// Выбранные записи таблицы:
[{id:1},{id:2},{id:3},{id:4}]

// Выбранные записи таблицы (к-одному):
[{toOne: {id:2}}, {toOne: {id:3}}, {toOne: {id:3}}]
// Выравнивание и удаление дубликатов
[{id: 2}, {id: 3}]

// Выбранные записи таблицы (к-многим):
[{toMany: [{id: 1}, {id:2}]}, {toMany: {[id:3}, {id:4}]}]
// Выравнивание
[{id:1},{id:2},{id:3},{id:4}]

Переменные значений по умолчанию для полей без связей

  • Типы должны быть согласованными или совместимыми, например, строки совместимы с числами, а также со всеми объектами, предоставляющими метод toString;
  • Поле JSON является особенным и может хранить данные любого типа;

Уровень поля (необязательные поля)

20240411101157

  • Переменные значений по умолчанию для полей без связей

    • При выборе многоуровневых полей это ограничено связями «к-одному» и не поддерживает связи «к-многим»;
    • Поле JSON является особенным и может быть без ограничений;
  • Переменные значений по умолчанию для полей связей

    • hasOne, поддерживает только связи «к-одному»;
    • hasMany, поддерживает как связи «к-одному» (внутреннее преобразование), так и «к-многим»;
    • belongsToMany, поддерживает как связи «к-одному» (внутреннее преобразование), так и «к-многим»;
    • belongsTo, обычно для связей «к-одному», но когда родительская связь является hasMany, также поддерживает связи «к-многим» (поскольку hasMany/belongsTo по сути является связью «многие-ко-многим»);

Описание особых случаев

Связь «Многие-ко-многим» эквивалентна комбинации «Один-ко-многим/Многие-к-одному»

Модель

20240411101558

Почему связи «Один-к-одному» и «Один-ко-многим» не имеют значений по умолчанию?

Например, в связи A.B, если b1 связан с a1, он не может быть связан с a2. Если b1 связывается с a2, его связь с a1 будет разорвана. В этом случае данные не являются общими, тогда как значение по умолчанию — это механизм совместного использования (все могут быть связаны). Поэтому связи «Один-к-одному» и «Один-ко-многим» не могут иметь значений по умолчанию.

Почему подформы или подтаблицы связей «Многие-к-одному» и «Многие-ко-многим» не могут иметь значений по умолчанию?

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

Кроме того, подформы или подтаблицы имеют вложенные поля, и было бы неясно, является ли значение по умолчанию для подформы или подтаблицы значением по умолчанию для строки или для столбца.

Учитывая все факторы, целесообразнее, чтобы подформы или подтаблицы не могли иметь значений по умолчанию, независимо от типа связи.