На исходном списке 10, 20, 30 результат должен равняться 50. В статье разберём, как получается это значение, где настраиваются источники и как убедиться, что схема считает по вашему правилу.
Подготовьте доступ к редактору
Откройте установленное приложение внутри нужного портала Битрикс24. Настройкой может заниматься администратор или назначенный автор. Если каталог сценариев недоступен, администратор назначает сотрудника через раздел «Доступ». Порядок приведён в инструкции установки.
Для первого моделирования не нужны настоящие номера карточек CRM. Личная авторизация исполнителя и права на CRM потребуются при переходе к операциям с данными портала. Не подменяйте проверку установленного приложения автономным Демо: это разные условия хранения и подключения сценариев.
В разделе «Сценарии» нажмите «Создать пример из пяти блоков». Откройте созданную схему и убедитесь, что в ней есть начало, отбор чисел, удаление повторов, сумма и возврат результата.
Разберите вход и выход
Откройте «Параметры робота». У примера есть вход «Числа» и выход «Сумма».
| Параметр | Настройка | Зачем нужна |
|---|---|---|
«Числа», код items |
Число, несколько значений, обязательный | Передаёт список для обработки |
| Значение по умолчанию | 10, 20, 30 | Позволяет сразу проверить пример |
«Сумма», код answer |
Число, одно значение, обязательный | Возвращает конечный результат |
Признак «Несколько значений» меняет смысл входа: схеме требуется список чисел, а не одно число и не строка с перечислением. При вводе в форме используйте предусмотренный редактор значений; если форма принимает JSON, список записывается как [10, 20, 30].
Названия помогают человеку читать форму. Коды используются при связывании данных. Если меняете код входа после настройки блоков, проверьте привязки повторно.
Параметры встроенного примера: вход items с названием «Числа» и выход answer с названием «Сумма». Видны типы и обязательность.
Как работают пять блоков
Переходы задают последовательность выполнения, а источники значений показывают, какие данные получает каждый шаг. Одного соединения карточек недостаточно, чтобы правильно выбрать входные данные.
- «Начало». Обозначает вход в схему.
- «Числа больше десяти». Получает «Числа» из параметров робота и сравнивает каждый элемент с постоянным значением 10. Условие строгое: число 10 исключается.
- «Уникальные числа». Берёт отобранный список предыдущего блока и убирает повторы.
- «Сумма чисел». Суммирует уникальные отобранные значения.
- «Вернуть сумму». Передаёт рассчитанное значение в объявленный выход «Сумма».
Выберите блок отбора и проверьте, что список берётся из параметра «Числа». Затем откройте удаление повторов и сумму: их источниками должны быть результаты соответствующих предыдущих блоков. Если каждый блок читает первоначальный список, схема может завершиться, но будет считать другое правило.
В последнем блоке проверьте привязку к выходу answer. Наличие числа в промежуточном шаге ещё не означает, что робот возвращает его наружу.
На стандартном входе 10, 20, 30 и на входе с повтором 10, 20, 20, 30 итог равен 50.
Весь маршрут примера: начало, числа больше десяти, уникальные числа, сумма и возврат результата.
Список берётся из параметра «Числа», а порог задан числом 10. Итог настройки показывает оба источника.
Выполните проверку и моделирование
Откройте «2. Проверить» и «Проверка и моделирование». Нажмите «Проверить схему». Сообщение «Схема прошла проверку» относится к структуре, связям и типам данных. Правильность бизнес-правила проверяется примерами.
Задайте входы и нажмите «Моделировать». Для стандартного списка ожидайте такую последовательность:
- после отбора: 20, 30;
- после удаления повторов: 20, 30;
- после суммирования: 50;
- в конечном выходе «Сумма»: 50.
Посмотрите промежуточные результаты, если итог отличается. Например, сумма 60 означает, что в расчёт попала десятка; сумма 70 для списка 10, 20, 20, 30 может указывать на пропущенное удаление повторов.
После изменения схемы прежний результат может стать устаревшим. Повторите проверку и моделирование для текущих настроек.
Модель прошла все пять блоков и вернула сумму 50. Записи CRM этот расчёт не выполняет.
Проверьте своё понимание на других значениях
Пройдите несколько случаев с заранее посчитанным ответом.
| Входной список | Что должно остаться | Ожидаемая сумма |
|---|---|---|
| 10, 20, 30 | 20, 30 | 50 |
| 10, 20, 20, 30 | 20, 30 | 50 |
| 11, 11, 15 | 11, 15 | 26 |
| 9, 10, 12 | 12 | 12 |
У этого примера обязательный вход «Числа» не принимает явно переданный пустой массив []: модель сообщает «Обязательное значение отсутствует или пусто» и не выполняет ни одного блока.
Пустой результат отбора возникает иначе: исходный список непустой, но все числа не больше десяти. Например, передайте [1, 5, 10] и отдельно проверьте дальнейший расчёт. Не переносите отказ пустого обязательного входа на результат промежуточного блока. Пустой результат отбора может быть допустимым случаем вашего процесса, а не причиной подменить данные случайным значением.
Не называйте этот пример расчётом выручки или скидки без изменения правила. Удаление повторяющихся сумм для продаж обычно меняет смысл: два разных заказа на одинаковую сумму не становятся одним заказом.
В этом варианте входной список обязателен: пустое значение отклонено до первого блока. Это не результат цикла с допустимым пустым массивом.
Что сделать после первого результата
Сохраните черновик с понятным названием и описанием правила. Для подключения к CRM понадобится отдельная неизменяемая версия, регистрация робота и настройка входов на стадии. Сохранение схемы не выполняет эти действия автоматически.
Когда расчёт стал понятен, переходите к своей задаче: определите входные значения, нужный результат и ошибки. Для сценария с контактами используйте отдельное пошаговое руководство. Кнопка пяти блоков не создаёт эту контактную схему.
Частые вопросы
Пример создаёт записи CRM?
Нет. Рассмотренное моделирование выполняет расчёт на синтетическом списке чисел, не читает CRM и не изменяет её.
Почему число 10 не входит в сумму?
Условие отбора настроено как «больше десяти». Равное десяти значение ему не соответствует.
Почему недостаточно соединить блоки?
Связи определяют порядок. Источники значений отдельно определяют, какие данные получает и возвращает каждый блок.





