Сравнить выбранный снимок с карточкой CRM
Находит изменения выбранных полей относительно переданного снимка после новой проверки доступа к карточке.

Видимая часть формы настройки в Битрикс24. Скриншот показывает поля действия; он не подтверждает выполнение учебного примера.
Для кого и какую проблему решает
Робот полезен для ответственного за согласование изменений полей CRM. После согласования карточку могли изменить, и процесс продолжает работу с устаревшими данными. Робот сравнивает выбранные поля с сохранённой точкой отсчёта и сообщает, какие значения поменялись.
Что делает и когда применять
Находит изменения выбранных полей относительно переданного снимка после новой проверки доступа к карточке.
Принимает тип и ID текущей карточки, JSON снимка выбранных полей до 64 КБ. Проверяет формат, контрольную сумму и совпадение ID. Возвращает изменения с прежними/текущими значениями, неизменившиеся и неизвестные поля. Пропущенные данные дают complete=N и не подтверждают совпадение. Сравнение учитывает типы, порядок массивов и точные значения JSON; логические значения отличаются от чисел. Снимок: предоставленная вами точка отсчёта; подпись, авторство и принадлежность тому же порталу не подтверждаются. Карточку не изменяет и данные не восстанавливает.
Что подготовить
Нужен установленный робот из приложения «CRM роботы 2.0 + AI» и право на настройку автоматизации нужной CRM-воронки или шаблона бизнес-процесса. Пользователю, от имени которого работает приложение, должны быть доступны выбранные CRM-элементы и нужное действие с ними.
Сначала получите снимок выбранных полей роботом «Выгрузить снимок выбранных полей CRM». Передайте снимок целиком, без ручного изменения его JSON, и те же тип и ID карточки.
Как настроить и использовать
- Откройте автоматизацию нужной сущности и выберите стадию, на которой нужен робот «Сравнить выбранный снимок с карточкой CRM». В шаблоне бизнес-процесса добавьте одноимённое действие.
- Сначала получите снимок выбранных полей роботом «Выгрузить снимок выбранных полей CRM». Передайте снимок целиком, без ручного изменения его JSON, и те же тип и ID карточки.
- Заполните Тип CRM, ID текущей карточки, Снимок выбранных полей (JSON). Для рабочего сценария подставьте значения полей документа или результаты предыдущих действий вместо учебных данных ниже.
- Проверьте обязательные поля и варианты выбора в таблице настроек. Сохраните действие и свяжите его результаты с дальнейшими условиями процесса.
- Выполните пробный запуск на отдельном учебном элементе. Сначала проверьте статус и пояснение ошибки, затем содержательный результат и ветку, выбранную следующим действием.
Параметры робота
Имена полей ниже совпадают с настройками действия. Значения из таблицы относятся к самому роботу; результаты предыдущих шагов выбирайте через подстановку значения в редакторе.
| Поле в настройках | Что передать | Обязательность и исходное значение |
|---|---|---|
Тип CRM (ENTITY_TYPE_ID) |
Формат: целое число. | Обязательно. Значение по умолчанию в настройках не задано |
ID текущей карточки (ENTITY_ID) |
Формат: целое число. | Обязательно. Значение по умолчанию в настройках не задано |
Снимок выбранных полей (JSON) (SNAPSHOT) |
Формат: текст. | Обязательно. Значение по умолчанию в настройках не задано |
Учебный пример
Пример показывает способ настройки на вымышленных данных и ожидаемый смысл результата; это не отчёт о запуске на вашем портале.
- Тип CRM (
ENTITY_TYPE_ID):2. - ID текущей карточки (
ENTITY_ID):501. - Снимок выбранных полей (JSON) (
SNAPSHOT): подставьте результат со снимком выбранных полей из предыдущего шага, без редактирования.
Снимок выбранных полей (JSON) (SNAPSHOT)
Копируйте в это поле только содержимое блока, без названия поля и внешней обёртки со всеми настройками. Здесь нужен JSON-объект в фигурных скобках. Пустой объект {} и массив [] имеют разный тип. Этот пример показывает полный формат со всеми обязательными ключами и согласованной контрольной суммой. В рабочем процессе подставляйте готовый snapshot предыдущего робота целиком: изменение любого значения без корректного снимка нарушит проверку. Все восемь ключей обязательны: format строка crm-selected-fields-v1; entityTypeId и entityId целые числа; capturedAt дата со смещением; fields массив строк; values объект значений; unknownFields массив строк; sha256 контрольная сумма строкой из 64 шестнадцатеричных символов. Состав values и unknownFields должен точно покрывать fields без пересечения. Это готовый формат результата снимка, а не форма для ручного составления.
{
"format": "crm-selected-fields-v1",
"entityTypeId": 2,
"entityId": 501,
"capturedAt": "2026-10-01T09:00:00+00:00",
"fields": [
"title"
],
"values": {
"title": "Учебная сделка"
},
"unknownFields": [],
"sha256": "d2cfc5f2d88a3514bc56686b9b7bc8524a4f1122ed96a9fd45c272d38cf6cd91"
}
Если после снимка изменилось выбранное название сделки, оно попадёт в изменившиеся поля с прежним и текущим значениями. При недоступном или пропущенном поле complete=N не подтверждает полного совпадения.
Какие данные возвращает и что делать дальше
| Результат | Какое значение получает следующий шаг |
|---|---|
Изменения (JSON) (changes) |
текст |
Изменившиеся поля (changedFields) |
строка, несколько значений |
Неизменившиеся поля (unchangedFields) |
строка, несколько значений |
Поля без полного сравнения (unknownFields) |
строка, несколько значений |
Все выбранные поля сравнены (complete) |
да/нет |
Полное совпадение выбранных полей (same) |
да/нет |
Статус выполнения (status) |
да/нет |
Пояснение ошибки (error) |
строка |
Перед повторным согласованием проверьте «Все выбранные поля сравнены», затем «Полное совпадение выбранных полей». Список изменений передайте согласующему; робот не восстанавливает старые значения карточки.
Ошибки и ограничения
Проверяйте результат действия до следующего изменения карточки. Ошибка доступа, неверный идентификатор и отсутствие найденного элемента требуют разных веток процесса. Не подставляйте нулевой или пустой результат как идентификатор существующего документа.