Создание строки в таблице - FastCreate

В таблцие есть возможность добавиь кнопку для добавления строки в таблицу по 1 полю - пользователь вводит некий текст (например, название) и создается строка на основе этого текста.

У таблицы ставим галку Быстрое добавление.

За создание строки отвечает процедура FastCreate.

На входе: 

Возвращает модель:

SELECT 1

SELECT 2 Внешние действия

CREATE PROCEDURE [dbo].[crud_newTableTest_fastCreate]
	@filters CRUDFilterParameter READONLY,
	@text nvarchar(256),
	@username nvarchar(32)
AS
BEGIN
	-- создание сущности в таблице по 1 полю @text
	-- извлечение параметров из URL
	declare @filterItemID int
	select @filterItemID = try_cast(Value as int) from @filters where [Key] = 'itemID'


	-- проверки
	declare @id int
	select @id = id from as_trace where code = @text
	if(@id>0) begin
		select 'Элемент с таким кодом уже существует в таблице' Msg, 0 Result
		return
	end


	-- добавление элемента в таблицу
	insert into as_trace(header, code)
	values(@text, @text )

        -- SELECT 1
        select 'Элемент создан' Msg, 1 Result

        -- SELECT 2  Внешние действия

END

Если необходимо реализовать быстрое добавление с выбором данных из справочника (через поиск в autocomplete вместо текстового поля),
то необходимо установить в SELECT 3 GetItems параметр FastCreateSearch = 1 и реализовать (создать через Быстрые действия / RunSQL) дополнительно процедуру следующего вида: 


-- имя содержит префикс _search
CREATE  PROCEDURE [dbo].[crud_productsForSupplier_fastCreate_search]
/*На входе строка поиска username, itemID оставлен для
                        совместимости и неиспользуется*/
   @q nvarchar(256),
   @itemID nvarchar(128),
   @username nvarchar(256)
AS
BEGIN
	CREATE TABLE dbo.#result (id int, [text] nvarchar(256), [desc] nvarchar(1024), [type] nvarchar(256), [date] date)

	insert into #result
	select id, name, '', '', getdate()
	  from as_cat_products p

	where name like '%'+@q+'%' and id >2
	-- на выходе - модель id, text, desc, type, date
	select * from #result
	drop table #result
END
go

В процедуру FastCreate в итоге приходит не числовой внешний ключ выбранной сущности, а ее текстовое название. 
Если нужен Textarea (многострочное поле) в FastCreate, то ставим в GetItems в SELECT 3 параметр FastCreateTextarea 1
Если нужен список с несколькими элементами для выбора, то ставим  в GetItems в SELECT 3 параметр FastCreateSelectCol = название колонки с типом Список (тип редактирования).

Примечание: 

Кастомизация для FastCreate

Используйте в 3 запросе GetItems переменные для переименования основных меток: 

Страница-источник на сайте falconspace.ru