1b.app
Link copied -

Assess the filtering of customers by the presence / absence of BP at the Holding

Good afternoon! I need to evaluate the filter in the contact filtering panel, I previously evaluated it through support but slightly changed the TOR.
You need to be able to filter contacts that have a specific BP (BP in certain statuses), and those who do not have a specific BP (also by status), but filtering should work by holding. It is possible as a refinement in one of the filters .
On the example of the holding https://crm.hlr.ua/admin/shop/users/69350/, it has subsidiaries of two levels and all companies have employees. For example, I want to filter out all holdings (filter by the Holding group) that do not have a Start Sales BP. In this case, the filter should take into account the processes not only of the holding itself and its employees, but of the entire structure. If someone from the entire tree of this company (the holding, any subsidiary, or one of the employees of any of these companies) has a BP Start of sales, this holding should not be included in th
Original question is available on version: ru

Answers:

As far as I remember, the assessment of such a refinement was denied due to the complexity and non-obviousness of the logic, as well as the possible conflict of logics with other filters...
Can't you simplify the logic?
30.07.2021, 13:41
Original comment available on version: ru

Honestly, I'm trying to simplify, but the ideas come to a standstill when I see clients with large structures (
Globally, the task is this, you need to select clients with whom you are not working. All processes are created only for employees (this is the rule of the company). For example, if there is a holding company, it has 5 daughters, all of them have employees. The process can be created for an employee of the holding itself, or maybe for an employee of any subsidiary. It is necessary to be able to filter holdings that do not have process A in status B. That is, after filtering, I should see only those holdings in which all employees of all companies in the holding do not have process A in status B
It may be possible to perform some actions in the process that will give us such information. For example, it can add all companies of the holding to some block, for example, the Contacts block of the process, according to which we will consider that all companies in this block have a process and the filter for the presence / absence of BP will check them not by the client of the process, but by the contacts of the Contacts block process?
10.08.2021, 15:10
Original comment available on version: ru


Shatokhina Irina wrote:
That is, after filtering, I should see only those holdings in which all employees of all companies of the holding do not have process A in status B

Holdings? No subsidiaries/employees? Or the parent holdings and the entire child structure?
It is possible to enter a holding company based on the client in an additional field of the process with the "Contact Directory" type (if there is no suitable action, modify it), and then make a filter that will filter holdings (well, or whoever is needed there, specify above), which are not in the required additional field of filtered processes?
11.08.2021, 13:50
Original comment available on version: ru


Tyndyk Maxim Vadimovich
OneBox production wrote:
Shatokhina Irina wrote:
That is, after filtering, I should see only those holdings in which all employees of all companies of the holding do not have process A in status B
Holdings? No subsidiaries/employees? Or the parent holdings and the entire child structure?

honestly, ideally, all levels are needed. That is, I filter the Group of Clients holdings, for example, by the absence of a Sales Start process in the Call status, then I should see all holdings that do not have a single process in the specified statuses by structure
If I select a group of clients Structural divisions of holdings (these are daughters of several levels), and filter, for example, for the absence of the Start sales process at the Call stage, I should see all Structural divisions that do not have the specified process throughout the holding (that is, up and down the structure)

Tyndyk Maxim Vadimovich
OneBox production wrote:
It is possible to enter a holding company based on the client in an additional field of the process with the "Contact Directory" type (if there is no suitable action, modify it), and then make a filter that will filter holdings (well, or whoever is needed there, specify above), which are not in the required additional field of filtered processes?

this would fit perfectly. Looks like it needs to be improved
1. an action that in the field with the contact directory type (here it turns out you need a multi-list of contacts) will record all the enterprises associated with the holding (the holding and its subsidiaries).
2. And finalize the contact filters Presence / absence of processes - check not by the client field, but by the field with a list of contacts?
p2 will take into account processes if the process is created not for the company that we have in the additional field, but for its employee?
11.08.2021, 14:29
Original comment available on version: ru


Shatokhina Irina wrote:
1. an action that in the field with the contact directory type (here it turns out you need a multi-list of contacts) will record all the enterprises associated with the holding (the holding and its subsidiaries).

well, it’s possible and so - we write down the holding and the companies only
this action will take 3 hours

Shatokhina Irina wrote:
2. And finalize the contact filters Presence / absence of processes - check not by the client field, but by the field with a list of contacts?
p2 will take into account processes if the process is created not for the company that we have in the additional field, but for its employee?

It turns out that we can make a filter that will take all contacts, taking into account the filter before it (you can add a filter to the bottom of the list or the desired place), after which it will filter out among them only those who are not in the specified (in the filter settings) additional field among the selected (tree) business processes/statuses. Well, a tick to show on the contrary those who have such processes.
This filter will take about 3 hours.
Total: 6h
11.08.2021, 15:25
Original comment available on version: ru

Maxim, while everything fits

Tyndyk Maxim Vadimovich
OneBox production wrote:
well, it’s possible and so - we write down the holding and the companies only
this action will take 3 hours

Tell me, if we consider the structure of the client https://crm.hlr.ua/admin/shop/users/2352/, then the action that should write all the companies of the structure in the additional field will not load the box? Or is it not a problem?
And she also didn’t specify that if the client of the process has one company (that is, it is not a holding), then this action should record this one company in the additional field of the process so that we can use the filter described below on companies without a holding

Tyndyk Maxim Vadimovich
OneBox production wrote:
It turns out that we can make a filter that will take all contacts, taking into account the filter before it (you can add a filter to the bottom of the list or the desired place), after which it will filter out among them only those who are not in the specified (in the filter settings) additional field among the selected (tree) business processes/statuses. Well, a tick to show on the contrary those who have such processes.
This filter will take about 3 hours.

this is a refinement of one of these filters
all the same, I will clarify once again if a process is created for an individual employee of the company, for example, to the contact https://crm.hlr.ua/admin/shop/users/69757/, this contact will not be in the above field, respectively, but it will be company. Then, when filtering for the presence of a process, the employees of the specified companies will be taken into account and the filter will work, right?
11.08.2021, 16:05
Original comment available on version: ru


Shatokhina Irina wrote:
Tell me, if we consider the structure of the client https://crm.hlr.ua/admin/shop/users/2352/, then the action that should write all the companies of the structure in the additional field will not load the box? Or is it not a problem?
And she also didn’t specify that if the client of the process has one company (that is, it is not a holding), then this action should record this one company in the additional field of the process so that we can use the filter described below on companies without a holding

Duck, that's the problem, that it will record everyone - and there will be quite a lot of values in the database for filtering, depending on the number of processes.
If there are tens/hundreds of thousands, that's fine. But if there are hundreds of thousands of processes with dozens of contacts in additional fields, the table with additional fields will grow)
But in any case, it will affect the speed of data sampling.
On the other hand, a similar walking structure cannot be filtered out any other way. In general, you should try

Shatokhina Irina wrote:
this is a revision of one of these filters
all the same, I will clarify once again if a process is created for an individual employee of the company, for example, to the contact https://crm.hlr.ua/admin/shop/users/69757/, this contact will not be in the above field, respectively, but it will be company. Then, when filtering for the presence of a process, the employees of the specified companies will be taken into account and the filter will work, right?

Yes, I thought about a new one, but you can also modify the indicated 2 to select an additional field of the contact directory, where the filtered contacts are indicated (or not) for the desired processes. The rating is the same.
11.08.2021, 16:29
Original comment available on version: ru


Tyndyk Maxim Vadimovich
OneBox production wrote:
Shatokhina Irina wrote:
this is a revision of one of these filters
all the same, I will clarify once again if a process is created for an individual employee of the company, for example, to the contact https://crm.hlr.ua/admin/shop/users/69757/, this contact will not be in the above field, respectively, but it will be company. Then, when filtering for the presence of a process, the employees of the specified companies will be taken into account and the filter will work, right?
Yes, I thought about a new one, but you can also modify the indicated 2 to select an additional field of the contact directory, where the filtered contacts are indicated (or not) for the desired processes. The rating is the same.

Maxim, both the new and the old will suit us, as you decide. If it is possible to make a new one, but one (for the presence and absence of processes it would certainly be super)
But please immediately take into account the additional settings for this filter, you need to be able to select the processes that are displayed in the list in the settings (there are many technical processes and they are not needed here), and the list of processes should be collapsed by default and only the user expands when filtering, so as not to there was this canvas http://joxi.ru/J2bzk4lHgWWXg2. Thanks
11.08.2021, 16:48
Original comment available on version: ru

Let's do better in the current ones so as not to duplicate filters.
Make 2 specified settings in them - + 2 more hours
11.08.2021, 16:53
Original comment available on version: ru

Maxim, total 8 hours? 3+2 hours for both specified filters?
11.08.2021, 17:05
Original comment available on version: ru


Maxim, we’re running the 3 + 3 hour part for now, that is, an action that will record the company or all companies of the holding in an additional field and filter by this field in the contact filters http://joxi.ru/J2bzk4lHgWWXg2, since we have enough paid hours for this . Project https://crm.hlr.ua/
And please send an invoice for 20 hours to my email. Thanks
11.08.2021, 17:14
Original comment available on version: ru

1. improved action "Record client's holding companies in additional process field"
2. in both filters by business process, the setting by an additional field has been improved
Please check if everything works as you need?
12.08.2021, 17:18
Original comment available on version: ru

wow speed, thank you very much - checking
12.08.2021, 17:38
Original comment available on version: ru

Good afternoon. Please check the action from paragraph 1
Process for verification https://crm.hlr.ua/admin/customorder/issue/3370930/edit/
Only the top company of the holding http://joxi.ru/ZrJKbeyTboQZkm signed up, and not all companies, the action was brought into the procedure when clicking on this stage http://joxi.ru/EA4YgKvsv6Xq3r, you can click and check
16.08.2021, 10:05
Original comment available on version: ru


Shatokhina Irina wrote:
Good afternoon. Please check the action from paragraph 1
Process for verification https://crm.hlr.ua/admin/customorder/issue/3370930/edit/
Only the top company of the holding http://joxi.ru/ZrJKbeyTboQZkm signed up, and not all companies, the action was brought into the procedure when clicking on this stage http://joxi.ru/EA4YgKvsv6Xq3r, you can click and check

the problem is that you displayed the "Holding and companies" field, and the entry in the action was indicated in the "Holding company"
I specified the corresponding field in the action - recorded the entire tree of companies of the upper holding
16.08.2021, 16:28
Original comment available on version: ru

Maxim, I'm sorry, I'm stupid, I confess (I set it up correctly in the real process, because the data is already being filled in, I'm checking the filtering
16.08.2021, 16:38
Original comment available on version: ru

Maxim, please take a look, we have a 502 error, I just started filtering by contacts. Is it on our side or can you help?
16.08.2021, 17:01
Original comment available on version: ru


Maxim, please take a look, we have a 502 error, I just started filtering by contacts. Is it on our side or can you help?

Provide a link, or information that you are filtering - probably complex filtering (I initially warned about this).
In general, give a link, and I'll see if I can do something about it
17.08.2021, 15:27
Original comment available on version: ru

Maxim, most likely, the filtering array is too large, I can no longer describe what exactly affected it, since it was done - the specified action was entered into the procedure when saving, and saving was started for a number of processes (to get an array for checking), after which I went into contacts, I chose a company and started filtering, which of these actions put the server I don’t know
Today I reduced the array, saved the above action for less than 50 processes - everything is OK, started filtering by the holdings group (the smallest number, less than 1000 contacts) - the server is alive, we continue to check.
18.08.2021, 17:44
Original comment available on version: ru

Maxim, the server was re-uploaded with this revision, so please help how to do it so that this does not happen again.
A few days ago, the server repeatedly crashed, created a task through support 2015852854 and here , it turned out that our employee, working in the contacts list, filtering the data he needs for work, accidentally selected the filter modified above by Business Processes (your colleagues in the support task confirmed that this filter was launched).
Considering that it works with contacts without a group, and there are almost 30 thousand of them, when starting the filtering, it sent a request to the server - which the server could not cope with, while it updated the page several times - because the server was restored and when it was updated the page crashed again.
Given that the filter is open to everyone, we cannot guarantee that this will not be repeated by any other employee, so please see how to avoid this? Maybe we need to strengthen the server? Or can it be limited by Boxing so that the request is executed for a number of no more than ... and, for example, when starting a filter for a larger number of contacts, give an error that the request is not executable? Maybe it makes sense to make the maximum filtered amount as a setting in the filter? Then how to understand what is the maximum amount our server can withstand?
We need the filter itself and it works exactly as it should, but we filter only by contacts with groups, in the largest group there are 11 thousand contacts now, and we don’t need to launch an array of 30 thousand contacts. Modified filters are displayed here https://crm.hlr.ua/admin/shop/users/ at the very bottom
Maxim, help, plz, find a solution. Thanks
17.09.2021, 14:17
Original comment available on version: ru


Shatokhina Irina wrote:
Maybe it makes sense to make the maximum filtered amount as a setting in the filter?

You can make this option - before applying the filter, check the number of contacts that are filtered before this filter - and for example, if you specify 100, then we will impose only if they are less / equal. Is this option suitable?
But what to specify - I would recommend specifying the smallest possible based on your needs. If you filter 50 contacts, then indicate them)
23.09.2021, 16:50
Original comment available on version: ru


Tyndyk Maxim Vadimovich
OneBox production
Administrator wrote:
You can make this option - before applying the filter, check the number of contacts that are filtered before this filter - and for example, if you specify 100, then we will impose only if they are less / equal. Is this option suitable?

if you specify 100 - you mean to specify it as a restriction in the filter settings, right?

Tyndyk Maxim Vadimovich
OneBox production
Administrator wrote:
But what to specify - I would recommend specifying the smallest possible based on your needs. If you filter 50 contacts, then indicate them)

the fact is that we have a need to filter all groups of contacts, the maximum number is now about 12 thousand in the group, the minimum is 1000 (testing on this group and everything is ok), and the groups will practically not increase (units can be added over the years), mostly added contacts without a group
Is it possible to run this filter on a group of 12 thousand, or will the server fail? Or is it impossible to determine without a real test?
23.09.2021, 17:56
Original comment available on version: ru

I'll duplicate the task, because I can't create new ones, it's been hanging open for a long time
24.09.2021, 13:16
Original comment available on version: ru


Shatokhina Irina wrote:
if you specify 100 - you mean to specify it as a restriction in the filter settings, right?

+

Shatokhina Irina wrote:
the fact is that we have a need to filter all groups of contacts, the maximum number is now about 12 thousand in the group, the minimum is 1000 (testing on this group and everything is ok), and the groups will practically not increase (units can be added over the years), mostly added contacts without a group
Is it possible to run this filter on a group of 12 thousand, or will the server fail? Or is it impossible to determine without a real test?

Whether I can specify the server will pull or not. You need to look at a specific example.
Can you write me the filtering conditions under which you have problems? I will parse the request
24.09.2021, 16:20
Original comment available on version: ru


Tyndyk Maxim Vadimovich
OneBox production
Administrator wrote:
Whether I can specify the server will pull or not. You need to look at a specific example.
Can you write me the filtering conditions under which you have problems? I will parse the request

filtered https://crm.hlr.ua/admin/shop/users/?groupid=-1 this list of clients for the presence, for example, of this process , and put the server, I assume that the choice process did not matter at all since the employee randomly chose which process I do not know.
I can’t give a direct link, because I will launch a request to the server (
24.09.2021, 17:07
Original comment available on version: ru

moved the sequel to support
11.10.2021, 17:44
Original comment available on version: ru

Check now, optimized queries in the database.
21.10.2021, 11:30
Original comment available on version: ru

Please join the conversation. If you have something to say - please write a comment. You will need a mobile phone and an SMS code for identification to enter. Log in and comment