Получить запись

Last updated 5 months ago

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

Свойства

Секция «Получить запись»

Каталог Список доступных каталогов для получения записи. Формат: выбор из списка каталогов.

ID записи Идентификатор записи, которую надо найти. Формат: значение/выражение.

Секция «Результат»

Сохранить в Выходной параметр. Сохранит результат в указанную переменную. Формат: имя переменной.

{
id: '11',
title: 'Название записи',
values: {
'filed_id' : 'field_value',
...
}
}

Формат значения полей (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: "Секретарь"}, {...}]

  • Связанная запись = массив объектов[ {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 типа пограничных событий:

  • Ошибка — выход из компонента, если произошла какая-либо ошибка

  • Таймаут — выход из компонента, спустя заданное ограничение по времени

Если компонент завершился с ошибкой, но на нем не было пограничного события, то процесс завершается. Сообщение ошибки возвращается в результатах процесса.