Как получить в алгоритме значение пользовательской системной настройки?

Как получить в алгоритме значение пользовательской системной настройки?

Создан объект типа "Элемент системной настройки", для которого определено расширение "Строковое значение". 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
Но пример непонятен: для получения используется какой-то Источник:

а что это за источник - не описано

Комментарии

  • отредактировано 4 июн

    Добрый день!
    Источник - это источник данных на основе 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 экземпляра "Элемент системной настройки"
    Пример алгоритма:

  • Источник - это источник данных на основе sql ...

    Спасибо!

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