Фильтры по заказам
Обновлено
Выбор условия
В поиске контактов CRM используйте группу «Заказы» и условие «Заказы в магазине». Постоянных настроек плагина нет: выбор делается в поиске.
| Условие и значение | Что делает | Значения / по умолчанию |
|---|---|---|
| Заказы в магазине → Без заказов | Отбирает контакты без связанных заказов Shop-Script | Один из двух вариантов; значение по умолчанию плагином не задано |
| Заказы в магазине → С заказами | Отбирает контакты хотя бы с одним связанным заказом Shop-Script | Один из двух вариантов; значение по умолчанию плагином не задано |
Чтобы найти контакты без заказов, выберите «Без заказов». Для поиска контактов с заказами выберите «С заказами». Учитывайте и другие условия, заданные в поиске CRM.
Какие заказы учитываются
Плагин проверяет наличие связанного заказа без дополнительных ограничений:
- статус и оплата заказа не проверяются;
- дата, сумма и количество заказов не используются как условия;
- отдельная витрина не выбирается;
- совпадение телефона, email или имени не заменяет связь заказа с контактом.
Например, контакт с неоплаченным заказом соответствует значению «С заказами». Если у человека две карточки контакта, заказ одной карточки сам по себе не делает вторую карточку контактом с заказами.
Для разработчика: связь с Shop-Script
Плагин подключён к событию CRM search.config через метод crmEwcrmfordersPlugin::searchConfig(). Он добавляет условие shop_orders с вариантами no_orders и has_orders.
Проверка выполняется по таблице shop_order: поле contact_id сопоставляется с c.id, где c — контакт в запросе поиска CRM.
| Вариант | Условие в коде |
|---|---|
no_orders |
NOT EXISTS (SELECT 1 FROM shop_order WHERE contact_id = c.id) |
has_orders |
EXISTS (SELECT 1 FROM shop_order WHERE contact_id = c.id) |
Это локальная проверка данных Shop-Script в той же базе установки. Обращений к внешним сервисам и передачи данных наружу в обработчике нет. API-ключи, webhook и cron для работы фильтров не требуются.
Плагин только добавляет условия поиска: он не создаёт, не изменяет и не удаляет контакты или заказы.