Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Поля и методы, которые доступны у item:

Поле или методТипОписание
item.ContentTypeIdGuidID типа элемента
item.InsertDateДата/времяДата/время создания элемента
item.UpdateDateДата/времяДата/время обновления элемента
item.GetValueAsDateTime("название поля")Дата/времяПолучить значение поля типа "
Дата
дата"
item.GetValueAsString("название поля") СтрокаПолучить значение поля типа "однострочный текст"/"многострочный текст"
item.GetValueAsBool("название поля")ФлагПолучить значение поля типа "флаг"
item.GetValueAsInt("название поля") Целое числоПолучить значение поля типа "целое число"
item.GetLookupId("название поля")GUIDПолучить значение поля типа "ссылка на элемент списка"

Операторы сравнения

ОператорОписаниеПример
==Равноitem.GetValueAsString("email") == "test@vitrocad.ru"
!=Не равноitem.ContentTypeId != Guid("99c92e22-4e60-48c0-ab70-add500e71a45")
>Большеitem => item.InsertDate > DateTime(2024, 10, 1, 10, 0, 0)
>=Больше или равноitem => item.InsertDate >= DateTime(2024, 10, 1, 10, 0, 0)
<Меньшеitem => item.InsertDate < DateTime(2024, 10, 1, 10, 0, 0)
<=Меньше или равноitem => item.InsertDate <= DateTime(2024, 10, 1, 10, 0, 0)

Искомые значения

ЗначенияОписаниеПример
"Строка"Строка текстаitem.GetValueAsString("email") == "test@vitrocad.ru"
Guid("99c92e22-4e60-48c0-ab70-add500e71a45")Создать объект типа GUID из указанной строкиitem.ContentTypeId == Guid("99c92e22-4e60-48c0-ab70-add500e71a45")
DateTime(2024, 10, 1, 10, 0, 0)Создать объект типа Дата/Время По указанным параметрам
DateTime(Год, Месяц, День, Час, Минута, Секунда)
Обратите внимание: время передается в UTC
item.InsertDate > DateTime(2024, 10, 1, 10, 0, 0)
new Guid[] {
    Guid("b9d061b1-7ce7-4756-8230-e502cfe3d8d8"),
    Guid("5cd0640c-1e57-4e09-b0ec-babfb5c72680")
}
Создать объект типа массив GUIDnew Guid[] {
    Guid("b9d061b1-7ce7-4756-8230-e502cfe3d8d8"),
    Guid("5cd0640c-1e57-4e09-b0ec-babfb5c72680")
}.Contains(item.GetLookupId("document_status"))

Логические операторы

ОператорОписаниеПример
&&Логическое Иitem.ContentTypeId == Guid("99c92e22-4e60-48c0-ab70-add500e71a45") &&  item.GetValueAsString("email") == "admin@email.test"
||Логическое ИЛИitem.ContentTypeId == Guid("99c92e22-4e60-48c0-ab70-add500e71a45") || item.ContentTypeId == Guid("733af6e2-e187-4e75-8a2b-ae4072f402e0") 

Функции поиска по подстроке

ФункцияОписаниеПример
ContainsЗначение содержит подстрокуitem.GetValueAsString("email").Contains("test")
StartsWithЗначение начинается со строкиitem.GetValueAsString("email").StartsWith("test")
EndsWithЗначение заканчивается на строку item.GetValueAsString("name").EndsWith(".pdf")

Примеры

  1. Найти в подразделении пользователя с указанным именем 

    /api/item/GetList/c0857f66-fbfa-448f-a35d-afac00a3a9cb
    {"query": "item => item.ContentTypeId = Guid(\"99c92e22-4e60-48c0-ab70-add500e71a45\") &&  item.GetValueAsString(\"name\") == \"admin\""}

    c0857f66-fbfa-448f-a35d-afac00a3a9cb - ID подразделения пользователя 

    Обратите внимание: GetList ищет только тех пользователей, которые находятся непосредственно в самом подразделении. Если требуется искать по всей структуре подразделения, то нужно вместо GetList использовать GetRecursive

  2. Найти во всем списке пользователей пользователя с указанным Email.
    /api/item/GetRecursive/e3a94bde-0ca9-456f-b338-4465d40389ee
    {"query": "item => item.ContentTypeId = Guid(\"99c92e22-4e60-48c0-ab70-add500e71a45\") &&  item.GetValueAsString(\"email\") == \"admin@email.test\""}

    e3a94bde-0ca9-456f-b338-4465d40389ee - ID списка "Пользователи"
    99c92e22-4e60-48c0-ab70-add500e71a45 - это ID типа контента пользователей

  3. В списке "Файлы" найти элемент по имени в заданной папке:
    /api/item/GetList/202b3ffa-48b9-4040-a7db-f8d688166f51
    {"query": "item => item.GetValueAsString(\"name\") == \"Test 002-0.1.pdf\""}

    202b3ffa-48b9-4040-a7db-f8d688166f51 - ID папки

    Обратите внимание: GetList ищет только те элементы, которые лежат непосредственно в указанной папке. Если требуется искать во вложенных папках, то нужно вместо GetList использовать GetRecursive

  4. В списке "Файлы" найти элементы, у которых имя заканчивается  на ".pdf":
    /api/item/GetList/202b3ffa-48b9-4040-a7db-f8d688166f51
    {"query": "item => item.GetValueAsString(\"name\").EndsWith(\".pdf\")"}
  5. В списке "Файлы" найти все элементы, у которых атрибут "Статус документа" = "Размещено"
    /api/item/GetRecursive/966e62c5-a803-49a0-a1be-e680d130c481
    {"query": "item => item.GetLookupId(\"document_status\") == Guid(\"b9d061b1-7ce7-4756-8230-e502cfe3d8d8\")"}

    966e62c5-a803-49a0-a1be-e680d130c481 - ID списка "Файлы"
    b9d061b1-7ce7-4756-8230-e502cfe3d8d8 - ID статуса "Размещено"

    Вместо ID списка "Файлы" можно передать ID папки (ID папки проекта, например). В этом случае поиск будет проводится внутри заданной папки

  6.  В списке "Файлы" найти все элементы, у которых атрибут "Статус документа" = "Размещено" или "На входном контроле"
    {"query": "item => new Guid[] { Guid(\"b9d061b1-7ce7-4756-8230-e502cfe3d8d8\"), Guid(\"5cd0640c-1e57-4e09-b0ec-babfb5c72680\") }.Contains(item.GetLookupId(\"document_status\"))"}
  7. В списке "Файлы" найти элементы, у которых значение поля "Трудозатраты этап 2" больше 1
    /api/item/GetRecursive/966e62c5-a803-49a0-a1be-e680d130c481
    {"query": "item =>  item.GetValueAsInt(\"duration_plan_stage_2\") > 1"}
  8. В списке "Файлы" найти элементы по дате создания >= 01.10.2024 10:00:00:
    /api/item/GetRecursive/966e62c5-a803-49a0-a1be-e680d130c481
    {"query": "item => item.InsertDate >= DateTime(2024, 10, 1, 10, 0, 0)"}
    Обратите внимание: время передается в UTC