CheckItemField - хранимая процедура для проверки одиночных полей при заполнении формы
Если существует подобная процедура с именем fm_{entity}_checkItemField, то она будет вызываться всякий раз, когда редактируется одно из полей формы.
CREATE PROCEDURE [dbo].[fm_metric_checkItemField]
@username nvarchar(256),
@itemID int,
@field nvarchar(256),
@value nvarchar(max),
@parameters ExtendedDictionaryParameter readonly -- необязательный
AS BEGIN
if(@field = 'roles') begin
if(charindex(' ', @value)>0) begin
select 'В ролях не должно быть пробелов!' Msg, 0 Result, '.projectStageCont' RefreshContainer,
'.p1' ShowContainer, '.p2' HideContainer, '' ReplaceContainer, '' ReplaceContainerHtml
end
end
-- SELECT 1
select '' Msg, 1 Result
-- SELECT 2 Outer actions
END
Входные параметры:
В процедуру можно передавать параметр @parameters типа ExtendedDictionaryParameter (Key, Value2) для передачи спецпараметров (langID и falconGuid) и текущие значения других полей формы.
Этот параметр также используется для извлечения данных, полученных из внешнего API.
На выходе:
SELECT 1
SELECT 2 - вызов внешних действий
Также вы можете задать коллбек для обработки в JS результата проверки поля - as.formcallbacks["{formCode}_checkField"](params, data).