Формы. Как добавить новый элемент, если в списке на форме его нет

Вариант 1. Использование полей списка типа select2 с tags=true

Пользователь может ввести свое значение, которого нет в списке и оно добавится в список в браузере.

1. Для поля ставим тип Список 2 (select2).

2. Указываем в GetItems для поля настройку tags=true

-- SELECT 1 в GetItem формы
select '{"tags": true}' options_s47

3. При обработке значений в SaveItem можно делать разбор значения поля. Если это существующий элемент, то просто сохранять поле. Если это несуществующий элемент, то добавлять его сначала в справочник, а затем делать привязку

Примечание: 

При добавлении элемента у него value будет такое как и text. Если у вас для value используются числовые id, то при сохранении проверяйте что пришло, число или нет

if(try_cast(@value as int)=null ) begin 
  -- it's string, new value from user
end else begin 
  -- it's int
end

Вариант 2. Использование Popover формы

Для этого используем формы во всплывающем окне (форма на popover окне).

Через кастомную разметку формы рядом с комбиком элементов добавляем кнопку:

<a href="#" class="as-popover btn btn-secondary btn-lg" data-content="" data-title="Заголовок" data-trigger="click" data-type="primary" data-size="lg" data-formcode="newForm" data-formitemid="">Новый элемент</a>

Также используйте частичное обновление страницы через параметр refreshContainer при сохранении формы

Falcon Space - функциальная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space

SQL-инструмент для создания личных кабинетов на сайте

Суть подхода и история создания Falcon Space

Платформа Falcon Space

Это снижение стоимости владения

за счет меньшего количества людей для поддержки

Это быстрое внесение изменений

по ходу эксплуатации программы

Это современный интерфейс

полная адаптация под мобильные устройства

Веб-приложения на чистом MS SQL. Обучение разработке на Falcon Space

Вы можете разрабатывать самостоятельно или сотрудничать с нами в плане веб-разработки на платформе Falcon Space, используя только SQL и HTML.

Google поиск по нашей документации