Найти в Дзене

4️⃣ Счетчик записей по фильтру на дату в боте Leadtex


🍡Часто заказчики просят вывести количество записей в том или ином списке в сообщение или в кнопку меню, например для встроенного бота перед выводом списка записей.
Одним из сложных было сделать счетчик по двум полям, одно из которых с типом ДАТА.

🥑 В данном примере идет счет записей по определенному полю после чего эти записи фильтруются по полю дата с условием, что в данном поле значение позднее сегодняшнего дня.

Для этого строим запрос на получение записей в списке, можно использовать фильтры:

Как сделать👇

Пример:

&schema_id={{schema_zamena}}
&filters[status]=Новая
&filters[telega]=<>,{{telegram_id}}

💻 Включаем обработать ответ с помощью JS и прописываем код

var obj = response.data.data;
var currentDate = new Date(); // Получаем текущую дату

var count = 0; // Назначаем начальное значение счетчика

for (var i = 0; i < obj.length; i++) {
var dateValue = new Date(parseInt(obj[i].date.$date.$numberLong)); //Преобразуем значение даты в объект Date
if (obj[i].ofis === "Текст фильтра" && dateValue >= currentDate) { // Проверяем значение поля ofis и дату
count++; // Увеличиваем счетчик, если условие выполняется
}
}
setContactVariable("countItem", count);

ofis - поле списка с типом "Текст", по которому фильтруем;
date - поле списка с типом "Дата", по которому проверяем актуальность даты;
countItem - переменная, в которую записываем полученное значение.

Таким образом блок http выдаст ответ со списком найденных записей, js обработает ответ, найдя все записи, у которых поле ofis = установленному тексту, и после проверит и посчитает все отфильтрованные значения, у которых дата в поле date >= СЕГОДНЯ

После получение переменной можно вывести ее в сообщение или в кнопку в формате {{$countItem}}

4️⃣ Счетчик записей по фильтру на дату в боте Leadtex  🍡Часто заказчики просят вывести количество записей в том или ином списке в сообщение или в кнопку меню, например для встроенного бота перед...
1 минута