Документация для разработчиков
Темная тема

crm.item.list

Scope: crm Права на выполнение: для всех

Описание и параметры

crm.item.list({entityTypeId: number, select:?[] = ['*'], order: ?{} = null, filter: ?{} = null, start: ?number = 0})

Метод вернет массив элементов смарт-процесса с идентификатором entityTypeId:

{
	"items": []
}

где каждый элемент массива - это структура, аналогичная ответу на запрос crm.item.get.

Параметры

Параметр Описание
entityTypeIdИдентификатор смарт-процесса.
selectМассив имен полей для выборки.
orderСписок для сортировки, где ключ - поле, а значение - ASC или DESC.
filterСписок для фильтрации. Примеры фильтров ниже.
startСдвиг для постраничной навигации.

Обработка select

Параметр select может содержать в себе только названия полей для этого смарт-процесса или '*'.

По умолчанию будет произведена выборка всех полей. Аналогичное поведение будет, если в списке полей присутствует '*'.


Примеры:

  • Будут выбраны все поля.
    {
    	"select": ["*", "title", "id"],
    }
  • Будет выбрано только поле id. Названия полей надо передавать в явном виде или '*'.
    {
    	"select": ["id", "uf_*"],
    }
  • Будут выбраны поля id, title и categoryId.
    {
    	"select": ["id", "title", "categoryId"],
    }

Примеры фильтра

  1. Найти элементы, у которых ответственным является пользователь с идентификатором 4
    {
    	"filter": {
    		"=assignedById": "4"
    	}
    }
    
  2. Найти элементы, находящиеся на финальных стадиях, доступные для всех, либо у которых ответственным является пользователь с идентификатором 4
    {
    	"filter": {
    		"@stageId": ["DT132_17:SUCCESS", "DT132_17:FAIL"],
    		"0": {
    			"logic": "OR",
    			"0": {
    				"=assignedById": 4
    			},
    			"1": {
    				"=opened": "Y"
    			}
    		}
    	}
    }
    
  3. Найти элементы, у которых заполнено пользовательское поле с кодом ufCrm24_1616150749
    {
    	"filter": {
    		"!=ufCrm24_1616150749": ""
    	}
    }
    
  4. Найти элементы, которые были созданы, изменены и сдвинуты в период с 19.03 по 22.03
    {
    	"filter": {
    		">createdTime":"2020-03-19T02:00:00+02:00",
    		">movedTime":"2020-03-19T02:00:00+02:00",
    		">updatedTime":"2020-03-19T02:00:00+02:00",
    		"<createdTime":"2020-03-22T02:00:00+02:00",
    		"<movedTime":"2020-03-22T02:00:00+02:00",
    		"<updatedTime":"2020-03-22T02:00:00+02:00"
    	}
    }
    
  5. Найти элементы, которые были или созданы, или изменены или сдвинуты в период с 19.03 по 22.03
    {
    	"filter": {
    		"logic":"OR",
    		"0":{
    			">createdTime":"2020-03-19T02:00:00+02:00",
    			"<createdTime":"2020-03-22T02:00:00+02:00"
    		},
    		"1":{
    			">movedTime":"2020-03-19T02:00:00+02:00",
    			"<movedTime":"2020-03-22T02:00:00+02:00"
    		},
    		"2":{
    			">updatedTime":"2020-03-19T02:00:00+02:00",
    			"<updatedTime":"2020-03-22T02:00:00+02:00"
    		}
    	}
    }
    


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
1
Роман Мастушкин
Сообщение не промодерировано, возможны ошибки и неточности.
При выполнении метода crm.item.list на PHP, если вы хотите использовать операторы сравнения (>, <, >=, <= и т.д.) при фильтрации - необходимо писать название полей (ключей) с маленькой буквы.
Так работает:
'filter' => [
  >id => $ID
  >=begindate => $dateStart
  <=begindate => $dateEnd
]
Так не работает (будет ошибка error_description):
'filter' => [
  >ID=> $ID
  >=BEGINDATE => $dateStart
  <=BEGINDATE => $dateEnd
]
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх