VK Video
Основание Селекта это число или строка?
По умолчанию — это строка в которой записано число id
строки.
Какой параметр функции selectRowListForTree используется для изменения основания на другое поле?
Тк основание строка, то его можно изменить на другое основание. Например если в вашем решении для соответствий используются уникальные артикулы.
В этом случае в selectRowListForSelect
используется дополнительный параметр bfield
(от base field). В нем указывается какое поле будет являться основанием селекта.
=: selectRowListForSelect(table: 'table'; field: 'name'; bfield: 'uuid')
Что будет, если идентификатор в таблице источнике будет неуникальным?
Чтобы все нормально работало основания в таблице источнике должн быть уникальными. Если это не так, то отображение для одинаковых значений bfield
будет браться случайным образом.
Если в поле Селект уже были проставлены значения, то при изменении идентификатора они будут автоматически изменены на новые?
Нет — вы увидите зачеркнутые значения
.
Можно ли кодом склеить селект из нескольких таблиц?
Да. Обычно это делается только для bfield
селектов, тк id
из двух разных таблиц могут повторяться.
Селекты склеиваются как списки функцией listAdd:
=: listAdd(list: $s1; list: $s2)
s1: selectRowListForSelect(table: 'table_1'; field: 'name'; bfield: 'uuid_1')
s2: selectRowListForSelect(table: 'table_1'; field: 'name'; bfield: 'uuid_2')