Перейти к содержанию

Лист дополнительных параметров

Для проверки возможности доступа к ДП можно использовать функцию dbo.fn_ExtParamsInSubcatUserPermissions().

Типы ДП: работа в смартах, SQL и JS

Особенности работы с различными типами ДП

Обращение к различным типам ДП

Методы JS API

Число

Работа с числами

ExtParamValues

  • TaskID,

  • ExtParamID,

  • DecimalValue,

  • MoneyValue

var ep = new ExtParam(1234)

ep.get — получить объект

ep.show — показать

ep.hide — скрыть

ep.val — получить значение (кроме файла)

ep.val — установить значение, вызвать событие change (кроме файла, выбора пользователей, таблицы и нумератора)

ep.getAvailableValues(handler) — получить значение Lookup/Multilookup

ep.change — изменить

ep.change(handler) — подписать на изменение ДП

ep.change(null) — отписать от изменения

ep.save — сохранить (кроме файла, таблицы и нумератора)

ep.update — обновить (кроме файла, таблицы и нумератора)

ep.isHidden — проверяет скрыт или нет

ep.freeze — делает доступным только на чтение

Дата

Работа с датами

ExtParamValues

  • TaskID,

  • ExtParamID,

  • DateTimeValue

Строка

Работа со строками

ExtParamValues

  • TaskID,

  • ExtParamID,

  • ExtParamValue

Очистка строки от HTML-тегов:

  • dbo.fnStripTags(TaskText) — удаляет из текста все теги (все, что находится между символами \< и >)

  • dbo.cm_StripHTML(TaskText) — удаляет из текста все теги (все, что находится между символами \< и >)

  • dbo.cm_ReplaceHTML(TaskText) — заменяет служебные символы на обычные читаемые: ", \<, >, неразрывный пробел ( ) и перенос строки (\<br />)

  • dbo.cm_ReplaceEverything(TaskText) — заменяет служебные символы и HTML-теги на символы и теги, которые будут корректно отображаться в отчете (например, \<strong> на \<b>, символы \'<\' на \'\<\' и т.п.)

Галочка (Checkbox)

Работа с логическими выражениями

ExtParamValues

  • TaskID,

  • ExtParamID,

  • ExtParamValue

Выбор пользователя

\'{"Users":{"Deleted":[XX,...,XX\,"Added":\XX,...,XX},]

"Groups":{"Deleted":[XX,...,XX\,"Added":\XX,...,XX},]

"OrgUnits":{"Deleted":[XX,...,XX\,"Added":\XX,...,XX}}\']

{"Users":[28\, "Groups":\, "OrgUnits":\}]

Работа с ДП "Выбор пользователя"

Значения хранятся в разных таблицах в зависимости от содержания:

ExtparamSelectUsersValues — Для ДП, в которых выбран пользователь:

  • TaskID,

  • ExtParamID,

  • UserID

ExtparamSelectUsersValuesGroups — Для ДП, в которых выбрана группа

  • TaskID,

  • ExtParamID,

  • GroupID

ExtparamSelectUsersValuesOrgUnits — Для ДП, в которых выбрана орг.единица.

  • TaskID,

  • ExtParamID,

  • OrgStructureUnitID

В атрибуте ExtParamValues в таблице БД SelectUserValue записываются как значения UserID, так и GroupId и OrgUnitId, если в ДП с типом "Выбор пользователя" разрешено сохранять не более одного элемента и в настройках активна только одна из опций: "Разрешить выбирать пользователей", "Разрешить выбирать группы", "Разрешить выбирать орг. единицы". При изменении настроек ДП, значения ДП пересчитываются в ExtParamValues и денормализуются.

Адресат email

\'{"ValsToAdd":[{"UserID":XX},...,{"Email":XX}\,]

"ValsToDelete":[{"UserID":XX},...,{"Email":XX}}\']

Работа с ДП "Адресаты email"

ExtParamAddresseesValues

  • TaskID,

  • ExtParamID,

  • UserID

Lookup

Работа с ДП Lookup

ExtParamValues

  • TaskID,

  • ExtParamID,

  • SelectedTaskID

ExtParamValueSelectedTasks

  • TaskID,

  • ExtParamID,

  • SelectedTaskID

Multilookup

Добавить одну задачу

ВСтроку(ID_задачи)

Добавить несколько задач — через ]||\||\

ВСтроку(ID_задачи)+"\||\||\"+ВСтроку(ID_задачи)

Удалить одну задачу

\'-\'+ВСтроку(ID_задачи)

Обновить комментарий

\'=\'+ВСтроку(ID_задачи)+"\||\"+"текст_комментария"

Несколько операций в одной строке — через #

"111111#222222#-333333#-444444"

[Работа с ДП "Выбор нескольких задач из категории"

ExtParamValueSelectedTasks

  • TaskID,

  • ExtParamID,

  • SelectedTaskID

Таблица

Ячейка

ID_колонки:{"First":ХХ,"Second":YY}

Строка

{"First":"ID_строки","Second":

{ID_колонки:{"First":ХХ,"Second":YY},

...,

ID_колонки:{"First":ХХ,"Second":YY}}}

* Ключ Second указывается только для колонок "Выпадающий список"

Добавление строки

\'+[{ID_колонки:{"First":ХХ,"Second":YY},

...,

ID_колонки:{"First":ХХ,"Second":YY}}\']

Изменение строки

\'= {"First":"ID_строки","Second":

{ID_колонки:{"First":ХХ},

...,

ID_колонки:{"First":ХХ}}}\'

Удаление строки

\'-ID_строки\'

Одновременное изменение всех строк (ID_строки берется в кавычки, ID_колонки — нет)

# — если ID существующих строк известны

\'#{"ID_строки":

{ID_колонки:{"First":ХХ},...,ID_колонки:{"First":ХХ}}},

...,

{"ID_строки":

{ID_колонки:{"First":ХХ},...,ID_колонки:{"First":ХХ}}}\'

| — если ID существующих строк не известны (сначала все строки удаляются)

\'|{"ID_строки":

{ID_колонки:{"First":ХХ},...,ID_колонки:{"First":ХХ}}},

...,

{"ID_строки":

{ID_колонки:{"First":ХХ},...,ID_колонки:{"First":ХХ}}}\'

Нумерация строк таблицы начинается с 1, при удалении промежуточных строк нумерация не сдвигается и остаются пропуски.

Работа с ДП "Таблица"

ExtParamTableValues

  • TaskID,

  • ColumnID,

  • RowID,

  • Value (строка)

Начиная с версии 2.265 Цефей, значение ДП "Таблица" не хранится в атрибуте ExtParamValue таблицы БД ExtParamValues, а также в атрибуте ExtParamXXXValue в денормализованной таблице TasksInSubcatXXXDenormalized.

При этом наличие значения в атрибуте ExtParamXXXNativeValue денормализованной таблицы, начиная с указанной версии, напрямую зависит от настройки параметра Хранить html представление. Если данная опция активна, значение будет записываться в базу данных, если опция отключена, запись производиться не будет.

Для колонок типа "Число" и "Деньги" для всех целых значений, где десятичная часть равна нулю (например, "555.000"), в NativeValue записывается целое число ("555"). Для значений с ненулевой дробной частью (например, "555.444") поле NativeValue остается пустым

Файл

Свойство FileInfo

Версия: FileID.VersionID

Работа с ДП "Файл"

FileStorageFiles

  • FileId

  • LatestVersionId

  • Name

FileStorageFileToTaskLinks

  • FileId

  • TaskID

FileStorageFileToExtParamLinks

  • FileId

  • TaskID

  • ExtParamId