Подобрать строку справочника по дате и диапазону
Робот «Подобрать строку справочника по дате и диапазону». Выбирает единственную строку списка для точного ключа, даты и числового значения.

Видимая часть формы настройки в Битрикс24. Скриншот показывает поля действия; он не подтверждает выполнение учебного примера.
Для кого и какую проблему решает
Для администратора тарифных и иных интервальных справочников. Выбирает правило по точному ключу, дате и числу и обнаруживает пересекающиеся строки вместо молчаливого выбора первой.
Что подготовить
Установите действие в каталоге приложения «CRM роботы 2.0 + AI», затем добавьте его в нужную точку автоматизации. Для чтения или изменения объектов нужен соответствующий доступ пользователя подключения. Идентификаторы берите из полей карточки или результатов предыдущих шагов: название объекта не заменяет его числовой ID.
Параметры и значения
| Поле в настройке | Тип | Обязательность и исходное значение |
|---|---|---|
| Тип списка | Строка | Обязательное; значение по умолчанию не задано |
| ID списка | Целое число | Обязательное; значение по умолчанию не задано |
| Точный ключ справочника | Строка | Обязательное; значение по умолчанию не задано |
| Дата YYYY-MM-DD | Строка | Обязательное; значение по умолчанию не задано |
| Число для диапазона | Строка | Обязательное; значение по умолчанию не задано |
| Карта колонок (JSON) | Текст | Обязательное; значение по умолчанию не задано |
Поля, обозначенные JSON, заполняйте корректными массивами или объектами с двойными кавычками в строках. Подставляйте одно значение через штатный выбор данных редактора; не копируйте служебный идентификатор шага из другого шаблона.
Как использовать пошагово
- Подготовьте шесть разных одиночных свойств списка для ключа, начальной/конечной даты, минимального/максимального числа и возвращаемого значения. Каждое должно иметь тип «Строка» (
S) или «Число» (N) и кодPROPERTY_номер. Для дат используйте строковые свойства со значениямиYYYY-MM-DD; отдельный тип свойства «Дата» не подходит. Одно свойство нельзя назначить двум ролям карты. - Укажите тип и ID списка, точный ключ, дату
YYYY-MM-DDи число в согласованных единицах. - Передайте карту колонок, например
{"key":"PROPERTY_101","fromDate":"PROPERTY_102","toDate":"PROPERTY_103","min":"PROPERTY_104","max":"PROPERTY_105","value":"PROPERTY_106"}. - Поставьте ветки по результатам
found,not_foundиambiguous. - Значение используйте только при единственной строке. При неоднозначности исправьте пересечение диапазонов в справочнике.
Учебный пример и ожидаемый результат
Для ключа delivery-training, даты 2026-10-15 и числа 15 есть единственная строка с датами 2026-10-01…2026-10-31 и диапазоном 10…20. Ожидается найденная строка и её значение; обе границы диапазона включены. Все номера объектов в примере условные; замените их данными своего портала. Пример объясняет настройку, а не подтверждает выполненный запуск.
Какие результаты передать дальше
- Результат подбора: строка.
- Найдена единственная строка: да/нет (Y/N).
- Выбранная запись: целое число.
- Все совпавшие ID: целое число, список.
- Выбранное значение (JSON): текст.
В следующем действии откройте выбор данных и выберите результат этого робота по названию. Сначала проверьте статус выполнения; при ошибке передайте её пояснение на разбор и не используйте пустые значения как подтверждённый результат. Успех шага и положительный ответ на бизнес-проверку: разные условия.
Ограничения и исправление ошибок
Даты в справочнике должны быть строками YYYY-MM-DD; открытые границы не поддерживаются. Все шесть колонок обязаны быть разными существующими одиночными свойствами типа S или N; множественные свойства, другие типы и стандартные поля элемента вместо PROPERTY_номер не подходят. Читается до 50 строк по ключу с проверкой полноты. Единицы чисел и смысл значения задаёт автор процесса. Пересчёта валют и записи результата в CRM нет.
Если доступ изменился, сначала проверьте объект под пользователем подключения и актуальность ID. Повторяйте действие после устранения причины. Для действий с записью предварительно сверяйте фактическое состояние: сообщение об ошибке само по себе не доказывает, что ни одна правка не сохранилась.
Как заполнять JSON-поля
Каждый блок ниже вставляется целиком в своё поле. Не добавляйте внешние кавычки вокруг всего массива или объекта. Учебные ID и названия замените фактическими данными.
Карта колонок (JSON)
{
"key": "PROPERTY_101",
"fromDate": "PROPERTY_102",
"toDate": "PROPERTY_103",
"min": "PROPERTY_104",
"max": "PROPERTY_105",
"value": "PROPERTY_106"
}
Объект содержит ровно шесть обязательных ключей: key колонка точного ключа, fromDate/toDate границы даты, min/max границы числа, value возвращаемое значение. Значения карты должны быть шестью разными строковыми кодами существующих одиночных свойств PROPERTY_номер вашего списка. Для каждого свойства допускается только тип «Строка» (S) или «Число» (N); один код нельзя повторять для нескольких ключей. Например, ключ и даты удобно хранить в строковых свойствах, а числовые границы в числовых. Числа 101–106 условные: замените их реальными кодами настроек. В строках справочника даты должны быть YYYY-MM-DD, а все границы заполнены. Пустые {} и [] не задают карту колонок.