Выгода от использования Falcon Space
SaveField - сохранение одиночного поля на форме
SaveField - хранимая процедура сохранения одиночного поля.
Процедура будет вызываться при изменении полей, для которых в GetItem процедуре установлен параметр edt_code1 = 1:
-- в GetItem формы
-- SELECT 1
select col1, 1 edt_col1 from table1
Пример процедуры SaveField:
CREATE PROCEDURE [dbo].[fm_metric_saveEditableField]
@pk nvarchar(128), -- id for item
@fieldCode nvarchar(64), -- form field
@value nvarchar(max), -- field value
@username nvarchar(256) -- current user
AS BEGIN
if(@fieldCode='XXXXXXXXXXXXXXXXXXXXX') begin
update as_categories set typeCode = @value where id = @pk
select 1 Result, '' Msg return
end
-- ...
--SELECT 1 Result,Msg select 0 Result, 'Не найден код сущности' Msg
-- SELECT 2 Внешние действия (notification, email и т.д.)
END
На входе:
- @pk - это itemID от формы
- @fieldCode - какое поле меняется
- @value - значение поля
- @username - текущий пользователь
Возвращает SELECT 1 (Result, Msg) и SELECT 2 (Внешние действия)
SELECT 1
- Result - результат операции
- Msg - сообщения
- Icon - иконка Font Awesome
- Type - тип окна (primary, success и т.д.)
- RefreshContainer - jquery селектор для обновления части страницы (какую область страницы с компонентами обновить, например ".class1")
- Actions - JSON для действий в браузере.
- ShowContainer - какой контейнер показать, jquery selector
- HideContainer - какой контейнер скрыть, jquery selector
- ReplaceContainer и ReplaceContainerHtml - если есть задача заменить HTML в каком-то блоке, то указываем селектор в ReplaceContainer и разметку в ReplaceContainerHtml.
- Refresh - если 1, то выполняется обновление компонента после операции.
Также в процедуру можно передавать параметр @parameters типа ExtendedDictionaryParameter для передачи спец параметров (langID и falconGuid).
Форма с редактированием по отдельным полям (мгновенное сохранение полей, editable поля).
Можно сделать форму, где каждое поле будет сохраняться отдельно.
Для этого необходимо сделать следующее:
- В GetItem установить какие поля будут редактируемые, для этого добавляем в SELECT 1 выходные колонки вида 1 edt_{colName} (тем самым эти колонки будут реагировать на изменения и вызывать сохранение этих полей).
- Реализовать процедуру SaveField (сохранение отдельных полей формы).
- Кнопку Сохранить либо скрыть через CSS, либо использовать кастомную разметку формы и не вставлять кнопку в разметку.
Примечание:
1. Данный режим сохранения подходит для полей ввода, галочек, радиопереключателей, textarea, выбора из списка. Режим не работает для набора галочек и для сложных полей типа Code Editor.
2. Если вам необходимо установить вывод сообщения после успешного сохранения поля, то используйте в процедуре формы GetItem в SELECT 2 параметр EditableSuccessMessage (строка).
Google поиск по нашей документации
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта