Как получить в алгоритме значение пользовательской системной настройки?
Как получить в алгоритме значение пользовательской системной настройки?
Создан объект типа "Элемент системной настройки", для которого определено расширение "Строковое значение". ID (Код) этого объекта = 300300
Нужно получить значение этой настройки в алгоритме:
def settingId := 300300
def settingObj := getObject(settingId, Элемент системной настройки, Значение для строк)
printout(settingObj.Значение для строк)
В третьей строке при выполнении возникает ошибка:
Произошла ошибка при выполнении алгоритма:
Текст ошибки: Не удалось найти атрибут типа "898314" в типе 15 (SYS_OBJ_TYPE)
В документации есть пример получения значения такой настройки: https://docs.greendata.ru/platform/ru/custom-system-settings.html
Но пример непонятен: для получения используется какой-то Источник:

а что это за источник - не описано
Войдите или Зарегистрируйтесь чтобы комментировать.

Комментарии
Добрый день!



Источник - это источник данных на основе sql
Идентификатор системной настройки - это параметр, который указывается в sql запросе и заменяется на значение, указанное в алгоритме
Для получения значения атрибута "Значение для строк" необходимо:
1. Создать источник данных на основе SQL
2. В редакторе источника данных на основе SQL создать Параметр. текстовая подстановка. Тип значения параметра - Строка
3. В редакторе источника данных на основе SQL в поле Текст SQL-запроса вписать запрос:
select v.cvalue
from sys_sett_item s
inner join sys_sett_cval v on v.id = s.id
where s.status = 1 and s.id = ID_Параметра -- заменить на id, созданного ранее, параметра
4. В редакторе алгоритмов вызвать функцию queryForObjectOrNull, выбрать созданный источник данных, в параметр вписать переменную с id экземпляра "Элемент системной настройки"
Пример алгоритма:
Спасибо!