Лист дополнительных параметров¶
Для проверки возможности доступа к ДП можно использовать функцию dbo.fn_ExtParamsInSubcatUserPermissions().
Типы ДП: работа в смартах, SQL и JS¶
Особенности работы с различными типами ДП
Обращение к различным типам ДП
Число
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}}\']
ExtParamAddresseesValues
-
TaskID,
-
ExtParamID,
-
UserID
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