mybpm!
Скачать в формате: PDF pdf DOCX word

Пример 2: Поиск клиента по фамилии ИЛИ имени "Сидоров Андрей"

Запрос (Request):

{
    "boCode": "CLIENT",                             // Код БО (Как получить? Смотрите ниже)
    "headCodes": ["SURNAME", "NAME"],               // Коды полей которые будут отображены в результате
    "orderingFieldCode": "NAME",                    // Сортировка по имени
    "orderState": "ASC",                            // По возрастанию
    "paging": {
        "offset": 0,                                // Начиная с 0
        "limit": 10,                                // Получить только 10 элементов
    },
    "state": "ALL",                                 // Записи в работе (Не REMOVED или ARCHIVED)
    "touchedFilter": "ALL",                         // И новые и старые записи будут видны нам
    "brackets" :  [ 
        {
            "id": "DTb445uu",                       // Рандомный уникальный идентификатор бракета
            "parentId": null, 
            "parentTreeIds": [], 
            "connectionType": "OR",                 // Поменяли на OR (ИЛИ) связь со следующим бракетом
                                                    // OR - значит что совпадение по фамилии ИЛИ по имени
            "brackets": [],                         // дочерние бракеты (позже при сложных фильтрах)
            "dynamicFilters": [
                {
                    "id": "nl4Fcy3Z",               // Рандомный идентификатор фильтра
                    "fieldId": "xQK11@uul08penSM",  // Идентификатор поля (Как получить? Смотрите ниже)
                    "type": "INPUT_TEXT",           // Тип поля (Как получить? Смотрите ниже)
                    "value": "Сидоров"              // Значение поля (Как получить? Смотрите ниже)
                }]
        },
        {
            "id": "DTb445ui",                       // Идентификатор бракета
            "parentId": null,                       // Пусто так как родителя нет
            "parentTreeIds": [],                    // Пусто так как нет родителей 
            "connectionType": "AND",                // Связь со следующим будущим фильтром
            "brackets": [],
            "dynamicFilters":[
                {
                    "id": "nl4Fcy3Z",               // Рандомный идентификатор фильтра
                    "fieldId": "oDZwyNuzRXrACu7w",  // Идентификатор поля (Как получить? Смотрите ниже)
                    "type": "INPUT_TEXT",           // Тип поля (Как получить? Смотрите ниже)
                    "value": "Андрей"               // Значение поля (Как получить? Смотрите ниже)
                }
            ]
        }
    ] 
}

Предусловия для запроса:

  1. Создадим БО "Клиент" с текстовыми полями "Фамилия" и "Имя"

  2. Изменим код бизнес-объекта на CLIENT (Как изменить код бизнес-объекта?)

  3. Также изменим коды полей: у поля Фамилия будет SURNAME, у поля Имя будет NAME. Как изменить коды полей?

  4. У данного БО создадим следующих клиентов:

Предусловия для составления бракетов:

Как вы видели в запросе для бракетов нам нужно получить id и type полей по которым мы будем фильтровать:

  1. Нажимаем на иконку шестеренки у поля Фамилия:

  2. Видим что id равен xQK11@uul08penSM, а type равен INPUT_TEXT (тут нужно убрать префикс Value_)
  3. И тоже, самое получаем у поля "Имя": id = oDZwyNuzRXrACu7w, type = INPUT_TEXT (тут нужно убрать префикс Value_).

Ответ (Response):

Запрос сработал успешно и нашёл клиентов, у которого имя "Андрей" ИЛИ фамилия "Сидоров".

{
   "boCode": "CLIENT",
   "businessObjectId": "7x9hWxwZ@xa2D3gB",
   "heads": [
      {
         "fieldId": "xQK11@uul08penSM",
         "name": "Фамилия",
         "code": "SURNAME"
      },
      {
         "fieldId": "oDZwyNuzRXrACu7w",
         "name": "Имя",
         "code": "NAME"
      }
   ],
   "records": [
      {
         "boId": null,
         "instanceId": "3fdhTt7wmbEtEKda",        // Первая запись нашлась совпадение по фамилии и имени
         "values": [
            {
               "coFieldId": null,
               "fieldId": "xQK11@uul08penSM",
               "value": "Сидоров",
               "displayValue": "Сидоров",
               "isReadOnly": false,
               "readOnly": false
            },
            {
               "coFieldId": null,
               "fieldId": "oDZwyNuzRXrACu7w",
               "value": "Андрей",
               "displayValue": "Андрей",
               "isReadOnly": false,
               "readOnly": false
            }
         ]
      },
      {
         "boId": null,
         "instanceId": "fPhK6xoFo4CmU~IU",      // Вторая запись нашлась совпадение по имени
         "values": [
            {
               "coFieldId": null,
               "fieldId": "xQK11@uul08penSM",
               "value": "Малахов",
               "displayValue": "Малахов",
               "isReadOnly": false,
               "readOnly": false
            },
            {
               "coFieldId": null,
               "fieldId": "oDZwyNuzRXrACu7w",
               "value": "Андрей",
               "displayValue": "Андрей",
               "isReadOnly": false,
               "readOnly": false
            }
         ]
      }
   ],
   "hasNext": false,
   "totalHits": 2,
   "totalHitsMore": false,
   "tookInMillis": 2
}