Получить запись
Компонент для получения значений полей одной записи из Бипиума по её идентификатору.

Когда использовать
Используйте Получить запись, когда сценарию нужны данные из конкретной записи, ID которой уже известен. Типичные примеры:
Получить данные клиента перед формированием заказа
Загрузить настройки из служебной записи перед выполнением сценария
Получить поля записи, на которую ссылается другой каталог
Важно: Процессы имеют доступ к записям минуя правовую политику. Сценарий может получить любую запись в любом каталоге, даже если у сотрудника, запустившего сценарий, нет на это прав.
Настройка компонента
Секция «Общие свойства»
Поле
Описание
Название
По умолчанию «Получить запись». Можно изменить на своё — например, «Получить данные клиента»
Описание
Необязательное поле. Можно добавить комментарий для себя или коллег
Секция «Получить запись»

Поле
Описание
Указать каталог
Способ выбора каталога: • Из списка — выбрать каталог из выпадающего списка • Через переменную — указать ID каталога через переменную (полезно, если каталог зависит от логики)
Каталог
Доступно при выборе «Из списка». Выбор каталога, из которого нужно получить запись
ID каталога
Доступно при выборе «Через переменную». Идентификатор каталога. Формат: значение или выражение
ID записи
Идентификатор записи, которую нужно получить. Формат: значение или выражение
Секция «Получить»

Поле
Описание
Поля
Какие поля записи вернуть: • Все поля — возвращает все поля каталога, включая расширенные поля связанных записей (заданные в настройках каталога) • Заданные — позволяет указать конкретные поля. Это уменьшает объём данных и ускоряет работу
ID полей
Доступно при выборе «Заданные». Список идентификаторов (API ID) полей через запятую. Формат: значение или выражение
Формат указания расширенных полей:
IDполяX— поле выбранного каталогаIDкаталогаХ— Идентификатор каталога связанного каталога. Поле «связанный каталог» может иметь несколько источников. Например каталог «Договор» в поле контрагент может ссылаться на каталоги «Клиентов», «Партнеров» и «Подрядчиков». Для каждого каталога источника можно указать какие именно поля требуется получить.IDрасширенногоПоляХ— идентификаторы полей связанного каталога, которые нужно получить.
Пример
[ 4, {fieldId: 5, fields: { 27: [2,6]} }, 8, {fieldId: 9, fields: { 19: [3,4]} } ]
Получает 4, 5, 8 и 9 поля. Для 5 поля дополнительно возвращаются 2 и 6 поле у связанных записей из каталога 27, а для 9 поля — 3 и 4 поле у записей из каталога 19.
Секция «Результат»

Сохранить в
Выходной параметр. Сохранит результат в указанную переменную. Формат: имя переменной.
В поле «Сохранить в» можно указать ключ объекта и результат сохранится как значения этого ключа.
Пример
Если указать в поле «Сохранить в» переменнуюdata.temp, то результат будет выглядеть следующим образом:
Формат значения полей (values)
Переменная с результатом («сохранить в») содержит объект values — значения полей записи. Ключи объекта — идентификаторы полей. Формат значений для разных типов полей разный:
Однострочный текст =
"Однострочный текст"Многострочный текст =
"Многострочный текст"Дата =
"2015-11-06T21:00:00.000Z"Категория / набор галочек =
[2]или несколько значений[2,3,4], без значения[]Вопрос =
2Число =
3.2Прогресс =
28(допустимо от 0 до 100)Звезды =
5(допустимо от 0 до 5)Контакт = массив объектов
[{"contact": "8-901-234-56-78", comment: "Секретарь"}, {...}]Адрес = объект предоставляемый из DaData
Связанная запись = массив объектов
[ {catalogId: '11',recordId: '91', catalogTitle: 'Название каталога', recordTitle: 'Название записи', isRemoved: false}, {...} ]Сотрудник = массив объектов
[{id: '21', title: 'Имя', isRemoved: false}, {...}]Файл = массив объектов
[ {title: "имя", url: "http://путь", size: 45654, mimeType: "image/png"}, {...} ]гдеmimeType— допустимые значения
Как получить значение поля?
Допустим, вы сохранили найденную запись в переменную r. Чтобы обратиться к коллекции значений полей, используйте выражение r.values.
Чтобы получить значение, например, 4-го поля записи, используйте компонент назначение переменных и укажите выражение r.values['4'].
Как получить значение сложного поля?
Для сложных типов полей (значения которых представлены массивом, например: категория, связанный объект, контакт, сотрудник, файл) значение поля будет массивом. Чтобы узнать сколько элементов в массиве используйте выражение r.values['4'].length, а чтобы получить значение, например, 0-го элемента массива: r.values['4'][0], чтобы обратится к его свойству, например recordId у поля типа связанный объект: r.values['4'][0].recordId.
Однако, если вы обратитесь к параметру (например recordId) к элементу массива, которого нет (например, когда в поле не выбрано никакое значение), то сценарий прервется с ошибкой. Поэтому, прежде чем получить свойство у объекта в массиве, нужно сначала проверить что массив не пустой. Это можно сделать с помощью компонентов ветвления сценария (шлюзов) и проверки условий на исходящих соединительных линиях, или с помощью выражения: r.values['4'].length && r.values['4'][0].recordId.
Это выражение проверяет что в 4-м поле в массиве есть элементы, и если есть хотя бы один, то возвращает значение свойства recordId в 0-м элементе. Именно это значение будет присвоено переменной. Если элементов нет, то переменной будет присвоено 0.
Пограничные события

Компонент поддерживает 2 типа пограничных событий:
Ошибка — выход из компонента, если произошла какая-либо ошибка
Таймаут — выход из компонента, спустя заданное ограничение по времени
Если компонент завершился с ошибкой, но на нем не было пограничного события, то процесс завершается. Сообщение ошибки возвращается в результатах процесса.
Last updated