1b.app
Скопирована ссылка -

Оценить фильтрацию клиентов на по наличию/отсутствию БП у Холдинга

Добрый день! Нужна оценка фильтра в панель фильтрации контактов, ранее оценивала через поддержку но немного изменили ТЗ.
Нужно иметь возможность отфильтровать контакты у которых есть определенный БП (БП в определенных статусах), и у которых нету определенного БП (также по статусам), но фильтрация должна работать по холдингу. Можно как доработку в один из фильтров .

На примере холдинга https://crm.hlr.ua/admin/shop/users/69350/ , у нее есть дочерние компании двух уровней и есть сотрудники у всех компаний. К примеру, хочу отфильтровать все холдинги (фильтр по группе Холдинг), у которых нету БП Старт продаж. Фильтр при этом должен учитывать процессы не только самого холдинга и его сотрудников, а и всей структуры. Если у кого-то из всего дерева этой компании (у холдинга, у любой дочерней или у одного из сотрудников любой из этих компаний) есть БП Старт продаж, в список отфильтрованных компаний этот холдинг попасть не должен, если же по всей структуре Старт продаж нету - этот Холдинг попадает в список отфильтрованных.
Этот фильтр должен работать не только с холдингами, и с любой компанией также, просто всегда оценивать наличие процесса по структуре клиента (даже если структура это одна компания и один сотрудник, или же это холдинг 5 уровней с кучей сотрудников)
И как выше указала этот фильтр должен работать с фильтром по группе
Спасибо

Ответы:

Насколько я помню в оценке такой доработки было отказано в вижу сложности и неочевидности логики, а так же возможной конфликтности логик с другими фильтрами...
Упростить никак нельзя логику?
30.07.2021, 13:41

Честно говоря, пытаюсь упростить, но идеи заходят в тупик, когда вижу клиентов с большими структурами(

Глобально задача такая, нужно выбрать клиентов, с которыми не ведется работа. Все процессы создаются только на сотрудников (это правило работы компании). Например, если есть компания холдинг , у нее 5 дочек, у всех есть сотрудники. Процесс может быть создан на сотрудника самого холдинга, а может и на сотрудника любой дочки. Нужно иметь возможность отфильтровать холдинги, у которых нету процесса А в статусе В. То есть, после фильтрации я должна увидеть только те холдинги, у которых у всех сотрудников всех компаний холдинга нету процесса А в статусе В

Может быть можно выполнять в процессе какие-то действия, которые дадут нам такую информацию. Например, может добавлять все компании холдинга в какой-то блок, например блок Контакты процесса, по которому мы будем считать что у всех компаний этого блока есть процесс и фильтр наличия/отсутствия БП будет проверять их не по клиенту процесса, а по контактам блока Контакты процесса?
10.08.2021, 15:10


Шатохіна Ірина писал/а:
То есть, после фильтрации я должна увидеть только те холдинги, у которых у всех сотрудников всех компаний холдинга нету процесса А в статусе В

Именно холдинги? Не дочерние компании/сотрудников? Или самые родительские холдинги и всю дочернюю структуру?

Возможно в дополнительное поле процесса с типом "Справочник контактов" записывать холдинговую компанию на основании клиента (если нет подходящего действия - доработать), а после сделать фильтр который будет фильтровать холдинги (ну или кого там надо, уточните выше), которых нет в нужном дополнительном поле фильтруемых процессов?
11.08.2021, 13:50


Тындык Максим Вадимович

OneBox production писал/а:
Шатохіна Ірина писал/а:
То есть, после фильтрации я должна увидеть только те холдинги, у которых у всех сотрудников всех компаний холдинга нету процесса А в статусе В

Именно холдинги? Не дочерние компании/сотрудников? Или самые родительские холдинги и всю дочернюю структуру?

честно говоря в идеале нужны все уровни. То есть, я фильтрую Группу клиентов холдинги , к примеру, на отсутствие у них процесса Старт продаж в статусе Позвонить, то должна увидеть все холдинги у которых по структуре нету ни одного процесса в указанных статусах

Если выбираю группу клиентов Структурные подразделения холдингов (это дочки нескольких уровней), и фильтрую к примеру на отсутствие процесса Старт продаж на этапе Позвонить, должна увидеть все Структурные подразделения у которых по всему холдингу (то есть вверх и вниз по структуре) нету указанного процесса


Тындык Максим Вадимович

OneBox production писал/а:
Возможно в дополнительное поле процесса с типом "Справочник контактов" записывать холдинговую компанию на основании клиента (если нет подходящего действия - доработать), а после сделать фильтр который будет фильтровать холдинги (ну или кого там надо, уточните выше), которых нет в нужном дополнительном поле фильтруемых процессов?

это подошло бы отлично. Получается нужно доработать
1.действие, которое в поле с типом справочник контактов (тут получается нужен мультисписок контактов) запишет все предприятия связанные с холдингом (холдинг и его дочек).
2. И доработать фильтры контактов Наличие/отсутствие процессов - проверять не по полю клиент, а по до полю с выпад списком контактов?

п2 будет учитывать процессы, если процесс создан не на компанию, которая у нас в доп поле, а на ее сотрудника?
11.08.2021, 14:29


Шатохіна Ірина писал/а:
1.действие, которое в поле с типом справочник контактов (тут получается нужен мультисписок контактов) запишет все предприятия связанные с холдингом (холдинг и его дочек).

ну можно и так - записываем холдинг и компании только
такое действие займёт 3 часов


Шатохіна Ірина писал/а:
2. И доработать фильтры контактов Наличие/отсутствие процессов - проверять не по полю клиент, а по до полю с выпад списком контактов?

п2 будет учитывать процессы, если процесс создан не на компанию, которая у нас в доп поле, а на ее сотрудника?

Получается мы можем сделать фильтр, который возьмёт все контакты с учётом фильтр до него (добавить фильтр можно вниз списка или нужное место), после чего отфильтрует среди них лишь тех, кого нет в указанном (в настройках фильтра) дополнительном поле среди выбранных (деревом) бизнес-процессов/статусов. Ну и галочка чтобы показать наоборот тех у кого есть таковые процессы.

Фильтр такой по времени займёт порядка 3 часов.

Итого: 6ч
11.08.2021, 15:25

Максим, пока все подходит


Тындык Максим Вадимович

OneBox production писал/а:
ну можно и так - записываем холдинг и компании только
такое действие займёт 3 часов

Подскажите, если рассмотреть структуру клиента https://crm.hlr.ua/admin/shop/users/2352/ , то действие которое должно записать все компании структуры в доп поле не подгрузит бокс? Или это не проблема?

И также не уточнила, что если у клиента процесса одна компания (то есть это не холдинг), то это действие должно записать в доп поле процесса эту одну компанию, чтобы мы могли использовать ниже описанный фильтр и на компании без холдинга


Тындык Максим Вадимович

OneBox production писал/а:
Получается мы можем сделать фильтр, который возьмёт все контакты с учётом фильтр до него (добавить фильтр можно вниз списка или нужное место), после чего отфильтрует среди них лишь тех, кого нет в указанном (в настройках фильтра) дополнительном поле среди выбранных (деревом) бизнес-процессов/статусов. Ну и галочка чтобы показать наоборот тех у кого есть таковые процессы.

Фильтр такой по времени займёт порядка 3 часов.

это доработка одного из этих фильтров
все таки еще раз уточню, если создается процесс на физ лицо сотрудника компании, например на контакт https://crm.hlr.ua/admin/shop/users/69757/, этого контакта соответственно в указанном выше поле не будет, а будет его компания. То при фильтрации на наличие процесса будут учитываться и сотрудники указанных компаний и фильтр отработает, верно?
11.08.2021, 16:05


Шатохіна Ірина писал/а:
Подскажите, если рассмотреть структуру клиента https://crm.hlr.ua/admin/shop/users/2352/ , то действие которое должно записать все компании структуры в доп поле не подгрузит бокс? Или это не проблема?

И также не уточнила, что если у клиента процесса одна компания (то есть это не холдинг), то это действие должно записать в доп поле процесса эту одну компанию, чтобы мы могли использовать ниже описанный фильтр и на компании без холдинга

Дак в том и проблема, что запишет всех - и будет достаточно много значений в базе для фильтрации, в зависимости от количества процессов.

Если их десятки/сотни тысяч - ещё ладно. Но если будут сотни тысяч процессов с десятками контактов в дополнительных полях - так и таблица с дополнительными полями разрастётся )
Но в любом случае подвлияет на скорость выборки данных..

С другой стороны иначе подобную структуру ходинга быстрее не отфильтровать. В общем надо пробовать)


Шатохіна Ірина писал/а:
это доработка одного из этих фильтров
все таки еще раз уточню, если создается процесс на физ лицо сотрудника компании, например на контакт https://crm.hlr.ua/admin/shop/users/69757/, этого контакта соответственно в указанном выше поле не будет, а будет его компания. То при фильтрации на наличие процесса будут учитываться и сотрудники указанных компаний и фильтр отработает, верно?

Да я думал о новом, но можно и указанные 2 доработать на выбор дополнительного поля справочника контактов, где по искомым процессам указаны (или нет) фильтруемые контакты. Оценка та же.
11.08.2021, 16:29


Тындык Максим Вадимович

OneBox production писал/а:

Шатохіна Ірина писал/а:
это доработка одного из этих фильтров
все таки еще раз уточню, если создается процесс на физ лицо сотрудника компании, например на контакт https://crm.hlr.ua/admin/shop/users/69757/, этого контакта соответственно в указанном выше поле не будет, а будет его компания. То при фильтрации на наличие процесса будут учитываться и сотрудники указанных компаний и фильтр отработает, верно?

Да я думал о новом, но можно и указанные 2 доработать на выбор дополнительного поля справочника контактов, где по искомым процессам указаны (или нет) фильтруемые контакты. Оценка та же.

Максим, нас устроит и новый и старый, как Вы решите. Если возможно сделать новый, но один (на наличие и отсутствие процессов было бы конечно супер)
Но просьба сразу учесть доп настройки к этому фильтру, нужно иметь возможность в настройках выбрать процессы которые отображать в списке (много технических процессов и они не нужны тут), а также список процессов должен быть свернут по умолчанию и только пользователь разворачивает при фильтрации, чтобы не было этого полотна http://joxi.ru/J2bzk4lHgWWXg2. Спасибо
11.08.2021, 16:48

Давайте лучше в текущие делать, чтобы не дублировать фильтры.
Сделать в них 2 указанные настройки - ещё +2ч
11.08.2021, 16:53

Максим, итого 8 часов ? 3+2часа за оба указанных фильтра?
11.08.2021, 17:05


Максим, отлично запускаем пока часть 3+3часа, то есть действие которое запишет компанию или все компании холдинга в доп поле и фильтр по этому полю в фильтры контактов http://joxi.ru/J2bzk4lHgWWXg2, так как у нас оплаченных часов на это хватает . Проект https://crm.hlr.ua/

И просьба прислать счет на 20 часов на мой имейл. спасибо
11.08.2021, 17:14

1. доработано действие "Записать холдинговые компании клиента в дополнительное поле процесса"
2. в оба фильтр по бизнес-процесса доработана настройка по дополнительному полю
Проверьте пожалуйста, всё ли работает так как вам нужно?
12.08.2021, 17:18

ого скорость, большое спасибо - проверяем
12.08.2021, 17:38

Добрый день. Просьба проверить по действию из пункта 1
Процесс для проверки https://crm.hlr.ua/admin/customorder/issue/3370930/edit/
Записалась только самая верхняя компания холдинга http://joxi.ru/ZrJKbeyTboQZkm, а не все компании, действие вывела в процедуру при клике на этот этап http://joxi.ru/EA4YgKvsv6Xq3r, можете кликать и проверять
16.08.2021, 10:05


Шатохіна Ірина писал/а:
Добрый день. Просьба проверить по действию из пункта 1
Процесс для проверки https://crm.hlr.ua/admin/customorder/issue/3370930/edit/
Записалась только самая верхняя компания холдинга http://joxi.ru/ZrJKbeyTboQZkm, а не все компании, действие вывела в процедуру при клике на этот этап http://joxi.ru/EA4YgKvsv6Xq3r, можете кликать и проверять

проблема в том, что Вы вывели поле "Холдинг и компании", а запись в действии указали в "Компания холдинг"
я указал в действии соответствующее поле - записало всё дерево компаний верхнего холдинга
16.08.2021, 16:28

Максим, простите, натупила, каюсь( в реальном процессе настроила корректно, потому данные уже заполняются, проверяю фильтрацию
16.08.2021, 16:38

Максим, посмотрите плз, у нас 502 ошибка, я только запустила фильтрацию по контактам. Это на нашей стороне или Вы можете помочь?
16.08.2021, 17:01


Максим, посмотрите плз, у нас 502 ошибка, я только запустила фильтрацию по контактам. Это на нашей стороне или Вы можете помочь?

Предоставьте ссылку, либо информацию что фильтруете - вероятно сложная фильтрация (я об этом изначально предупреждал).
В общей дайте ссылку, а я посмотрю можно ли с этим что-то сделать
17.08.2021, 15:27

Максим, скорее всего слишком большой массив фильтрации, уже не могу описать что именно повлияло, так как выполнено было - в процедуру при сохранении внесено указанное действие, и запущенно сохранении по ряду процессов (чтобы получить массив для проверки), после чего зашла в контакты, выбрала компанию и запустила фильтрацию, какое из этих действий положило сервер не знаю
Сегодня уменьшила массив, сохранила вышеуказанное действие на менее 50 процессов - все ок, запустила фильтрацию по группе холдинги (самая немного численная, менее 1000 контактов) - сервер жив, продолжаем проверять.
18.08.2021, 17:44

Максим, таки повторно положили сервер этой доработкой, потому просьба помочь как сделать, чтобы такое не повторялось.
Несколько дней назад неоднократно валился сервер, создавала задачу через саппорт 2015852854 и тут (https://crm-onebox.com/ru/support/server-installation/10755-help-ne-dostupen-bok... оказалось наш сотрудник работая в контактах списком фильтруя данные, необходимые ему для работы, случайно выбрал доработанный выше фильтр по Бизнес-процессам (Ваши коллеги в задаче на саппорт подтвердили, что запускался этот фильтр).
Учитывая, что он работает с контактами без группы, а их почти 30тыс, запуская фильтрацию отправлял на сервер запрос - с которым сервер не справлялся, при этом страницу он обновлял несколько раз - потому сервак восстанавливался и при его обновлении страницы падал повторно.
Учитывая, что фильтр открыт для всех, гарантировать что такое не повторит любой другой сотрудник мы не можем, потому просьба посмотреть как избежать этого? Может нам нужно усилить сервер? Или можно ограничить со стороны Бокса, чтобы запрос выполнялся на количество не более чем ... и например при запуске фильтра на большее количество контактов - выдавать ошибку, что запрос не выполним? Может есть смысл сделать максимальное фильтруемое количество как настройку в фильтр? Тогда как понять какое максимальное количество может выдержать наш сервер?

Сам фильтр нам необходим и работает именно так, как нужно, но фильтруем мы только по контактам с группами, в самой большой группе 11тыс контактов сейчас, и запуск на массив в 30тыс контактов нам не нужен. Доработанные фильтра выведены тут https://crm.hlr.ua/admin/shop/users/ в самом низу
Максим, помогите, плз, найти решение. Спасибо
17.09.2021, 14:17


Шатохіна Ірина писал/а:
Может есть смысл сделать максимальное фильтруемое количество как настройку в фильтр?

Можно сделать такой вариант - перед тем как накладывать фильтр проверить количество контактов, которые отфильтрованы до этого фильтра - и к примеру если укажете 100 - то будем накладывать только если их меньше/равно. Подходит такой вариант?

А вот какое указывать - я бы рекомендовал указывать максимально наименьшее исходя из вашей потребности. Если вы фильтруете 50 контактов - то их и указывать )
23.09.2021, 16:50


Тындык Максим Вадимович

OneBox production

Администратор писал/а:
Можно сделать такой вариант - перед тем как накладывать фильтр проверить количество контактов, которые отфильтрованы до этого фильтра - и к примеру если укажете 100 - то будем накладывать только если их меньше/равно. Подходит такой вариант?

если укажете 100 - имеете ввиду указывать как ограничение в настройках фильтра, верно поняла?


Тындык Максим Вадимович

OneBox production

Администратор писал/а:
А вот какое указывать - я бы рекомендовал указывать максимально наименьшее исходя из вашей потребности. Если вы фильтруете 50 контактов - то их и указывать )

дело в том, что у нас есть необходимость фильтровать все группы контактов, максимальное количество сейчас в группе около 12тыс, минимально 1000 (на этой группе тестила и все ок), и увеличиваться группы практически не будут (единицы могут добавляться годами), в основном добавляются контакты без группы

Реально ли запустить этот фильтр на группу в 12тыс, или сервер не потянет? или это без реальной проверки не определить?
23.09.2021, 17:56

Задублирую задачу, так как не могу создавать новые, давно висит открытой
24.09.2021, 13:16


Шатохіна Ірина писал/а:
если укажете 100 - имеете ввиду указывать как ограничение в настройках фильтра, верно поняла?

+

Шатохіна Ірина писал/а:
дело в том, что у нас есть необходимость фильтровать все группы контактов, максимальное количество сейчас в группе около 12тыс, минимально 1000 (на этой группе тестила и все ок), и увеличиваться группы практически не будут (единицы могут добавляться годами), в основном добавляются контакты без группы

Реально ли запустить этот фильтр на группу в 12тыс, или сервер не потянет? или это без реальной проверки не определить?

Я не могу указать потянет ли сервер или нет. Необходимо смотреть на конкретном примере.
А можете мне написать условия фильтрации, при которых у вас проблемы? Я проанализирую запрос
24.09.2021, 16:20


Тындык Максим Вадимович

OneBox production

Администратор писал/а:
Я не могу указать потянет ли сервер или нет. Необходимо смотреть на конкретном примере.
А можете мне написать условия фильтрации, при которых у вас проблемы? Я проанализирую запрос

фильтровали https://crm.hlr.ua/admin/shop/users/?groupid=-1 вот этот список клиентов на наличие, например, этого процесса , и положили сервер, предполагаю, что выбор процесса вообще не имел значения так как сотрудник выбрал случайно, какой именно процесс я не знаю.

Не могу дать прямо линк, потому что запущу запрос на сервер(
24.09.2021, 17:07

перенесла продолжение на саппорт
11.10.2021, 17:44

Проверьте сейчас, оптимизировали запросы в БД.
21.10.2021, 11:30

Пожалуйста, присоединяйтесь к диалогу. Если вам есть что сказать - пожалуйста, напишите комментарий. Для входа потребуется мобильный телефон и смс-код для идентификации. Войти и написать комментарий