Commit c522a58b authored by Kristina Markova's avatar Kristina Markova

CRM spec: + v1.5

parent c02a1447
...@@ -129,6 +129,7 @@ crm/spec/src/crm_consist/marketing_pipeline.md -text ...@@ -129,6 +129,7 @@ crm/spec/src/crm_consist/marketing_pipeline.md -text
crm/spec/src/crm_consist/marketing_sidePannel.md -text crm/spec/src/crm_consist/marketing_sidePannel.md -text
crm/spec/src/crm_consist/reminder.md -text crm/spec/src/crm_consist/reminder.md -text
crm/spec/src/crm_consist/sales.md -text crm/spec/src/crm_consist/sales.md -text
crm/spec/src/crm_consist/sales_OS.md -text
crm/spec/src/crm_consist/sales_cost_comission.md -text crm/spec/src/crm_consist/sales_cost_comission.md -text
crm/spec/src/crm_consist/sales_dashboard.md -text crm/spec/src/crm_consist/sales_dashboard.md -text
crm/spec/src/crm_consist/sales_funnel.md -text crm/spec/src/crm_consist/sales_funnel.md -text
......
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
* [Пользовательские компоненты](#userModules) * [Пользовательские компоненты](#userModules)
* [crm_component_canban_deal](#uMCanbanDeal) * [crm_component_canban_deal](#uMCanbanDeal)
* [crm_component_deals_dashboard](#uMDealsDashboard) * [crm_component_deals_dashboard](#uMDealsDashboard)
* [crm_component_deals_os_dashboard](#uMDealsOSDashboard)
* [crm_component_deals_productivity](#uMDealsProductivity) * [crm_component_deals_productivity](#uMDealsProductivity)
* [crm_component_deal_button](#uMDealButton) * [crm_component_deal_button](#uMDealButton)
* [crm_component_funnel](#uMFunnel) * [crm_component_funnel](#uMFunnel)
...@@ -99,6 +100,7 @@ ...@@ -99,6 +100,7 @@
* [Внешние модули](#externalModules) * [Внешние модули](#externalModules)
* [Управление маркетингом](#marketing) * [Управление маркетингом](#marketing)
* [Управление продажами](#sales) * [Управление продажами](#sales)
* ["Управление продажами" (для ОП)](#sales_OS)
### Группы {#groups} ### Группы {#groups}
...@@ -425,6 +427,8 @@ ...@@ -425,6 +427,8 @@
+--------------------------------------------------------+---------------------------------------------------------------+--------------------------------------------------------+ +--------------------------------------------------------+---------------------------------------------------------------+--------------------------------------------------------+
| **Переход в негативный статус** | числовое поле | crm_form_deal_refused | | **Переход в негативный статус** | числовое поле | crm_form_deal_refused |
+--------------------------------------------------------+---------------------------------------------------------------+--------------------------------------------------------+ +--------------------------------------------------------+---------------------------------------------------------------+--------------------------------------------------------+
| **isUser** | выбор вариантов | isUser |
+--------------------------------------------------------+---------------------------------------------------------------+--------------------------------------------------------+
*Поле "Лид"*: *Поле "Лид"*:
...@@ -586,6 +590,14 @@ ...@@ -586,6 +590,14 @@
* Компонент скрыт. * Компонент скрыт.
*Поле "isUser":*
* Поле имеет два варианта: `1` и `0`.
* По умолчанию выбраны оба варианта.
* Поле скрыто.
При конвертации лида в сделку (как с помощью кнопки на форме "Лид", При конвертации лида в сделку (как с помощью кнопки на форме "Лид",
так и при перемещении лида на Канбан-доске) открывается форма "Сделка", где так и при перемещении лида на Канбан-доске) открывается форма "Сделка", где
автоматически заполнены компоненты: автоматически заполнены компоненты:
...@@ -1744,6 +1756,8 @@ ...@@ -1744,6 +1756,8 @@
| **Подразделение создающего** | компонент выбора подразделений | crm_owner | | **Подразделение создающего** | компонент выбора подразделений | crm_owner |
| **пользователя** | | | | **пользователя** | | |
+----------------------------------+---------------------------------------------------+--------------------------------------------------------+ +----------------------------------+---------------------------------------------------+--------------------------------------------------------+
| **UUID корневой организации** | однострочное поле | crm_all_accessible |
+----------------------------------+---------------------------------------------------+--------------------------------------------------------+
| **План продаж** | динамическая таблица | crm_form_deal_main2_theme_sales | | **План продаж** | динамическая таблица | crm_form_deal_main2_theme_sales |
+----------------------------------+---------------------------------------------------+--------------------------------------------------------+ +----------------------------------+---------------------------------------------------+--------------------------------------------------------+
| Отделение | компонент выбора подразделений | crm_form_deal_sales_pk1 | | Отделение | компонент выбора подразделений | crm_form_deal_sales_pk1 |
...@@ -1842,6 +1856,12 @@ ...@@ -1842,6 +1856,12 @@
* Включены флаги "Заполнять создающим пользователем" и "Заполнять * Включены флаги "Заполнять создающим пользователем" и "Заполнять
департаментом создающего пользователя". департаментом создающего пользователя".
*Поле "UUID корневой организации":*
* Поле скрыто.
* Поле содержит значение по умолчанию `1`.
*Динамическая таблица "План продаж":* *Динамическая таблица "План продаж":*
* Флаг "Отобразить границы" включен. * Флаг "Отобразить границы" включен.
...@@ -4691,5 +4711,15 @@ ...@@ -4691,5 +4711,15 @@
| Адрес приложения | [URL](http://tdd.lan.arta.kz/docs/cases/crm/additional/html/crm_without_data.html)/crm/deal | | Адрес приложения | [URL](http://tdd.lan.arta.kz/docs/cases/crm/additional/html/crm_without_data.html)/crm/deal |
+--------------------------------------------------------+---------------------------------------------------------------------------------------------+ +--------------------------------------------------------+---------------------------------------------------------------------------------------------+
#### Управление продажами (для ОП) {#sales_OS}
+--------------------------------+-----------------------------------------------------------------------------------------------+
| Свойство | Значение |
+================================+===============================================================================================+
| Код | crm_ext3DealOS |
+--------------------------------+-----------------------------------------------------------------------------------------------+
| Адрес приложения | [URL](http://tdd.lan.arta.kz/docs/cases/crm/additional/html/crm_without_data.html)/crm/dealOS |
+--------------------------------+-----------------------------------------------------------------------------------------------+
<#include "crm_consist/user_components.md"> <#include "crm_consist/user_components.md">
<#include "crm_consist/reminder.md"> <#include "crm_consist/reminder.md">
...@@ -330,6 +330,24 @@ HTML код: ...@@ -330,6 +330,24 @@ HTML код:
``` ```
#### crm_component_deals_os_dashboard {#uMDealsOSDashboard}
+--------------------------------------------------------+----------------------------------------------------------+
| Свойство | Значение |
+========================================================+==========================================================+
| Код | crm_component_deals_os_dashboard |
+--------------------------------------------------------+----------------------------------------------------------+
| Использовать в формах | включен |
+--------------------------------------------------------+----------------------------------------------------------+
HTML код:
``` xml
<iframe src="http://%IP_adress%:5601/app/kibana#/dashboard/%D0%9F%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D1%8C-(%D1%81%D0%BE%D1%82%D1%80%D1%83%D0%B4%D0%BD%D0%B8%D0%BA%D0%B8)?embed=true&_g=(refreshInterval%3A('%24%24hashKey'%3A'object%3A5090'%2Cdisplay%3A'30%20seconds'%2Cpause%3A!f%2Csection%3A1%2Cvalue%3A30000)%2Ctime%3A(from%3Anow-15m%2Cmode%3Aquick%2Cto%3Anow))" height="100%" width="100%"></iframe>
```
#### crm_component_deals_productivity {#uMDealsProductivity} #### crm_component_deals_productivity {#uMDealsProductivity}
+--------------------------------------------------------+----------------------------------------------------------+ +--------------------------------------------------------+----------------------------------------------------------+
...@@ -2651,3 +2669,5 @@ function createSkypeLink(value, parent) { ...@@ -2651,3 +2669,5 @@ function createSkypeLink(value, parent) {
} }
``` ```
...@@ -60,37 +60,82 @@ API. ...@@ -60,37 +60,82 @@ API.
- `r-crm-registry_lead` - индекс данных реестра ["Лиды"](#registryLead); - `r-crm-registry_lead` - индекс данных реестра ["Лиды"](#registryLead);
- `r-crm_registry_deals_plans_custom` - служебный индекс данных реестра ["План продаж"](#registrySalesCost) - `r-crm_registry_deals_plans_custom` - служебный индекс данных реестра ["План продаж"](#registrySalesCost) (по подразделениям и пользователям);
(по подразделениям);
- `r-crm_registry_deals_plans_custom_user` - служебный индекс данных реестра ["План продаж"](#registrySalesCost)
(по сотрудникам);
- `r-crm_registry_deals*` - шаблон, объединяющий данные реестра ["Сделки"](#registryDeal) - `r-crm_registry_deals*` - шаблон, объединяющий данные реестра ["Сделки"](#registryDeal)
и служебный индекс `r-crm_registry_deals_plans_custom`. и служебный индекс `r-crm_registry_deals_plans_custom`.
Индекс `deals-status-history` создается и рассчитывается автоматически при Индекс `deals-status-history` создается и рассчитывается автоматически при
запусе Synergy. Индексы `r-crm_registry_deals_plans_custom` и запусе Synergy. Индекс `r-crm_registry_deals_plans_custom` создается при
`r-crm_registry_deals_plans_custom_user` создаются при
создании записей в реестре ["План продаж"](#registrySalesCost). Остальные создании записей в реестре ["План продаж"](#registrySalesCost). Остальные
индексы включены в типовую конфигурацию. индексы включены в типовую конфигурацию.
### Боковая панель фильтрации {#dashboards_side_panel}
Все дашборды содержат боковую панель, которая содержит фильтр "Подразделения".
По умолчанию фильтр заполнен подразделением текущего пользователя, и дашборд
отображает только те данные, которые доступны подразделению пользователя.
Пользователю доступны для выбора:
* подразделение, к котрому непосредственно относится пользователь;
* все дочерние подразделения того, к которому относится пользователь.
При выборе нескольких подразделений результатом фильтрации являются записи,
в которых в качестве ответственного или разрешенного подразделения указано
хотя бы одно из выбранных подразделений.
Условия, формируемые фильтром, пересекаются (логическое "И") с другими существующими
условиями дашбордов, которые были как добавлены вручную, так и сформированы при
"проваливании" в отдельных диаграммах.
Для каждого дашборда фильтр "Подразделения" формирует свой набор условий
отображения данных.
Настройка фильтра "Подразделение" осуществляется в компоненте `crm_form_funnel_deps`
на служебных формах внешних модулей:
- `crm_form_funnel` - модуль ["Управление маркетингом"](#sec.marketing)
- `crm_form_funnel_deal` - модуль ["Управление продажами"](#sec.sales)
- `crm_form_funnel_deal_os` - модуль ["Управление продажами (ОП)"](#sec.sales_OS)
### Управление маркетингом {#dashboards_marketing} ### Управление маркетингом {#dashboards_marketing}
Отображаются записи реестров "Лиды", "Аккаунты" и "Маркетинговые мероприятия", в которых
поле "Все доступные" `crm_all_accessible` содержат подразделение, указанное в фильтре
"Подразделения".
**Общие настройки дашборда:** **Общие настройки дашборда:**
- период обновления: 30 секунд - период обновления: 30 секунд
- источник данных для публикации: `Embedded iframe` - источник данных для публикации: `Embedded iframe`
- общее условие на отображаемые данные: `NOT crm_all_accessible_key_sort: ""`
- опубликован в пользовательском компоненте `crm_component_leads_dashboard`, - опубликован в пользовательском компоненте `crm_component_leads_dashboard`,
где в параметрах размера фрейма указано `100%` для высоты и ширины. где в параметрах размера фрейма указано `100%` для высоты и ширины.
**Фильтр "Подразделения":**
- доступен мультивыбор;
- условие, формируемое фильтром для выбранных подразделений с идентификаторами
`uuid1, uuid2, ..., uuidN`:
> `(crm_all_accessible_key_sort: "<uuid1>" || crm_all_accessible_key_sort: "<uuid2>" || ... || crm_all_accessible_key_sort: "<uuidN>")`
> При удалении тэга подразделения с идентификатором `uuidN` из фильтра соответствующее ему
условие `crm_all_accessible_key_sort: "<uuidN>"` также удаляется из условия дашборда.
Дашборд "Аналитика" в модуле "Управление маркетингом" состоит из диаграмм: Дашборд "Аналитика" в модуле "Управление маркетингом" состоит из диаграмм:
1. **Количество аккаунтов** 1. **Количество аккаунтов**
Отображает одно число - общее количество неудаленных записей в реестре > Отображает одно число - общее количество неудаленных записей в реестре
["Аккаунты"](#registryAccount). ["Аккаунты"](#registryAccount).
> - тип диаграммы: Metric > - тип диаграммы: Metric
...@@ -105,7 +150,7 @@ API. ...@@ -105,7 +150,7 @@ API.
2. **Количество лидов** 2. **Количество лидов**
Отображает одно число - общее количество неудаленных записей в реестре > Отображает одно число - общее количество неудаленных записей в реестре
["Лиды"](#registryLead). ["Лиды"](#registryLead).
> - тип диаграммы: `Metric` > - тип диаграммы: `Metric`
...@@ -120,7 +165,7 @@ API. ...@@ -120,7 +165,7 @@ API.
3. **Средний предполагаемый чек по лидам** 3. **Средний предполагаемый чек по лидам**
Отображает одно число: среднее значение поля "Потенциальный бюджет" по > Отображает одно число: среднее значение поля "Потенциальный бюджет" по
всем неудаленных записях реестра ["Лиды"](#registryLead). всем неудаленных записях реестра ["Лиды"](#registryLead).
> - тип диаграммы: `Metric` > - тип диаграммы: `Metric`
...@@ -137,7 +182,7 @@ API. ...@@ -137,7 +182,7 @@ API.
4. **Маркетинговые мероприятия** 4. **Маркетинговые мероприятия**
Отображает список неудаленных записей реестра ["Маркетинговые мероприятия"](#registryEvent) > Отображает список неудаленных записей реестра ["Маркетинговые мероприятия"](#registryEvent)
с детализацией по дате создания, наименованию мероприятия, бюджету, с детализацией по дате создания, наименованию мероприятия, бюджету,
целевому и текущему отклику, а также оценке эффективности мероприятия. целевому и текущему отклику, а также оценке эффективности мероприятия.
...@@ -245,20 +290,38 @@ API. ...@@ -245,20 +290,38 @@ API.
### Управление продажами {#dashboards_sales} ### Управление продажами {#dashboards_sales}
Отображаются записи реестров "Сделки" и "Счет-фактуры", в которых поле "Все доступные"
`crm_all_accessible` содержат подразделение, указанное в фильтре "Подразделения".
**Общие настройки дашборда:** **Общие настройки дашборда:**
- период обновления: 30 секунд - период обновления: 30 секунд
- источник данных для публикации: `Embedded iframe` - источник данных для публикации: `Embedded iframe`
- условие на отображаемые данные: `deleted:0 && NOT crm_all_accessible_key_sort: ""`
- опубликован в пользовательском компоненте `crm_component_deals_dashboard`, - опубликован в пользовательском компоненте `crm_component_deals_dashboard`,
где в параметрах размера фрейма указано `100%` для высоты и ширины. где в параметрах размера фрейма указано `100%` для высоты и ширины.
**Фильтр "Подразделения":**
- мультивыбор по умолчанию не доступен, но может быть включен разработчиком
Synergy (методологом) в компоненте `crm_form_funnel_deps` на форме `crm_form_funnel_deal`.
- условие, формируемое фильтром для выбранных подразделений с идентификаторами
`uuid1, ..., uuidN`:
> `(crm_all_accessible_key_sort: "<uuid1>" || crm_all_accessible_key_sort: "<uuid2>" || ... crm_all_accessible_key_sort: "<uuidN>")`
> При удалении тэга подразделения с идентификатором `uuidN` из фильтра соответствующее ему
условие `crm_all_accessible_key_sort: "<uuidN>"` также удаляется из условия дашборда.
Дашборд "Аналитика" в модуле "Управление продажами" состоит из диаграмм: Дашборд "Аналитика" в модуле "Управление продажами" состоит из диаграмм:
1. **Топ прайс-листа** 1. **Топ прайс-листа**
Отображает 10 наиболее продаваемых позиций реестра [Каталог товаров и услуг](#registryItems) - > Отображает 10 наиболее продаваемых позиций реестра [Каталог товаров и услуг](#registryItems) -
наименование и количество проданных товаров, указанных в записях реестра наименование и количество проданных товаров, указанных в записях реестра
[Счет-фактуры](#registryInvoices). [Счет-фактуры](#registryInvoices).
...@@ -267,7 +330,7 @@ API. ...@@ -267,7 +330,7 @@ API.
> - шаблон индекса: `r-crm_registry_invoices` > - шаблон индекса: `r-crm_registry_invoices`
> - условие на отображаемые данные: > - условие на отображаемые данные:
`deleted:0 NOT crm_form_deal_order_orderList_value_sort:""` `deleted:0 && NOT crm_form_deal_order_orderList_value_sort:""`
> Параметры агрегации: > Параметры агрегации:
...@@ -299,7 +362,7 @@ API. ...@@ -299,7 +362,7 @@ API.
2. **Среднее время прохождения сделками статусов** 2. **Среднее время прохождения сделками статусов**
Отображает среднее время прохождения сделками каждого из статусов (в днях) > Отображает среднее время прохождения сделками каждого из статусов (в днях)
на основании записей рееестра [Сделки](#registryDeal). на основании записей рееестра [Сделки](#registryDeal).
> **Примечание:** > **Примечание:**
...@@ -311,7 +374,7 @@ API. ...@@ -311,7 +374,7 @@ API.
> - шаблон индекса: `deals_status_history` > - шаблон индекса: `deals_status_history`
> - условие на отображаемые данные: `deleted:0` > - условие на отображаемые данные: `deleted:0 && isUser_key_double: 1`
> Параметры агрегации: > Параметры агрегации:
...@@ -349,14 +412,14 @@ API. ...@@ -349,14 +412,14 @@ API.
3. **Количество сделок по статусам** 3. **Количество сделок по статусам**
Отображает общее количество сделок в каждом из статусов (при их наличии) > Отображает общее количество сделок в каждом из статусов (при их наличии)
на основании записей рееестра [Сделки](#registryDeal). на основании записей рееестра [Сделки](#registryDeal).
> - тип диаграммы: `Data table` > - тип диаграммы: `Data table`
> - шаблон индекса: `r-crm_registry_deals` > - шаблон индекса: `r-crm_registry_deals`
> - условие на отображаемые данные: `deleted:0` > - условие на отображаемые данные: `deleted:0 && isUser_key_double: 1`
> Параметры агрегации: > Параметры агрегации:
...@@ -404,7 +467,7 @@ API. ...@@ -404,7 +467,7 @@ API.
3. **Количество сделок с отказом** 3. **Количество сделок с отказом**
Отображает общее количество сделок, перешедших в негативный статус > Отображает общее количество сделок, перешедших в негативный статус
(`crm_dict_dealStatus_quality=0` справочника [Статусы сделки](#dictionaryDealStatus)), (`crm_dict_dealStatus_quality=0` справочника [Статусы сделки](#dictionaryDealStatus)),
с указанием их предыдущего положительного статуса. с указанием их предыдущего положительного статуса.
...@@ -412,7 +475,7 @@ API. ...@@ -412,7 +475,7 @@ API.
> - шаблон индекса: `r-crm_registry_deals` > - шаблон индекса: `r-crm_registry_deals`
> - условие на отображаемые данные: `deleted:0 NOT crm_form_deal_refused_key_double:0` > - условие на отображаемые данные: `deleted:0 NOT crm_form_deal_refused_key_double:0 && isUser_key_double: 1`
> Параметры агрегации: > Параметры агрегации:
...@@ -462,7 +525,7 @@ API. ...@@ -462,7 +525,7 @@ API.
4. **Количество просроченных сделок по статусам** 4. **Количество просроченных сделок по статусам**
Отображает количество сделок, не сменивших статус за время, указанное > Отображает количество сделок, не сменивших статус за время, указанное
в документе по форме ["Нормативы продолжительности статусов сделки"](#formDealFlowStandard) в документе по форме ["Нормативы продолжительности статусов сделки"](#formDealFlowStandard)
для соответствующего статуса. Диаграмма не содержит статусов, которые для соответствующего статуса. Диаграмма не содержит статусов, которые
не являются предыдущими для сделок - записей в реестре [Сделки](#registryDeal). не являются предыдущими для сделок - записей в реестре [Сделки](#registryDeal).
...@@ -471,7 +534,7 @@ API. ...@@ -471,7 +534,7 @@ API.
> - шаблон индекса: `r-crm_registry_deals` > - шаблон индекса: `r-crm_registry_deals`
> - условие на отображаемые данные: `deleted:0 NOT crm_form_deal_expired_key_double:0` > - условие на отображаемые данные: `deleted:0 NOT crm_form_deal_expired_key_double:0 && isUser_key_double: 1`
> Параметры агрегации: > Параметры агрегации:
...@@ -522,7 +585,7 @@ API. ...@@ -522,7 +585,7 @@ API.
5. **Список сделок** 5. **Список сделок**
Отображает список всех неудаленных записей реестра [Сделки](#registryDeal) > Отображает список всех неудаленных записей реестра [Сделки](#registryDeal)
с детализацией по лидам, темам сотрудничества, статусам, ответственным менеджерам, с детализацией по лидам, темам сотрудничества, статусам, ответственным менеджерам,
причинам отказа от сделки (если она указана), а также с указанием стоимости причинам отказа от сделки (если она указана), а также с указанием стоимости
сделки. сделки.
...@@ -531,7 +594,7 @@ API. ...@@ -531,7 +594,7 @@ API.
> - шаблон индекса: `r-crm_registry_deals` > - шаблон индекса: `r-crm_registry_deals`
> - условие на отображаемые данные: `deleted:0` > - условие на отображаемые данные: `deleted:0 && isUser_key_double: 1`
> Параметры агрегации: > Параметры агрегации:
...@@ -621,34 +684,122 @@ API. ...@@ -621,34 +684,122 @@ API.
### Продуктивность {#dashboards_productivity} ### Продуктивность {#dashboards_productivity}
Отображаются записи реестров "Сделки" и "План продаж", в которых одно из полей:
- "Все доступные" `crm_all_accessible`
- "Подразделение" `crm_form_deal_sales_pkN`
содержит подразделение, указанное в фильтре "Подразделения". При этом отображаются
только плановые показатели, поставленные для подразделений, без учета планов для
пользователей.
**Общие настройки дашборда:** **Общие настройки дашборда:**
- период обновления: 30 секунд - период обновления: 30 секунд
- источник данных для публикации: `Embedded iframe` - источник данных для публикации: `Embedded iframe`
- условие на отображаемые данные: `deleted:0 && isUser_key_double:0`
- опубликован в пользовательском компоненте `crm_component_deals_productivity`, - опубликован в пользовательском компоненте `crm_component_deals_productivity`,
где в параметрах размера фрейма указано `100%` для высоты и ширины. где в параметрах размера фрейма указано `100%` для высоты и ширины.
**Фильтр "Подразделения":**
- мультивыбор по умолчанию не доступен, но может быть включен разработчиком
Synergy (методологом) в компоненте `crm_form_funnel_deps` на форме `crm_form_funnel_deal`.
- условие, формируемое фильтром для выбранных подразделений с идентификаторами
`uuid1, ..., uuidN`:
> `(crm_all_accessible_key_sort: "<uuid1>" || crm_form_deal_sales_pk1_key_sort: "<uuid1>" || ... || crm_all_accessible_key_sort: "<uuidN>" || crm_form_deal_sales_pk1_key_sort: "<uuidN>")`
> При удалении тэга подразделения с идентификатором `uuidN` из фильтра соответствующее ему
условие `crm_all_accessible_key_sort: "<uuidN>" || crm_form_deal_sales_pk1_key_sort: "<uuidN>"`
также удаляется из условия дашборда.
>> **Примечание:**
>> Если во внешнем модуле "Управление продажами" для фильтра "Подразделения"
`crm_form_funnel_deps` был включен мультивыбор, то показатели плановых значений стоимости
продаж в диаграммах "Исполнение плана" и "Исполнение плана по темам сотрудничества"
будут суммироваться для **всех** выбранных подразделений.
***Пример поведения дашборда при включенном мультивыборе:***
*Предварительные условия:*
1. Настроена оргструктура:
* Организация
* Отдел маркетинга
* Отдел маркетинга по Алматы
* Отдел маркетинга по Астане
* Отдел продаж
* Отдел продаж по Алматы
* Отдел продаж по Астане
2. Пользователь является сотрудником подразделения "Отдел продаж".
3. В реестре "План продаж" созданы записи (столбцы в таблице не соответствуют
[настроенным столбцам](http://tdd.lan.arta.kz/docs/cases/crm/spec/html/sec.crm_conf_consist.html#registrySalesCost)
реестра и приведены для наглядности примера):
+------------------+---------------------------------+---------------------------+
| **Автор** | **Ответственное подразделение** | **Суммарный план продаж** |
+==================+=================================+===========================+
| Организация | Отдел продаж | 1 000 000 |
+------------------+---------------------------------+---------------------------+
| Отдел продаж | Отдел продаж Астана | 600 000 |
+------------------+---------------------------------+---------------------------+
| Отдел продаж | Отдел продаж Алматы | 600 000 |
+------------------+---------------------------------+---------------------------+
4. В дашборде "Продуктивность" в фильтре "Подразделения" выбраны все доступные
пользователю подразделения:
1. Отдел продаж
2. Отдел продаж Алматы
3. Отдел продаж Астана
*Результат:* на диаграмме "Исполнение плана продаж" метрика "План продаж" отображает
число `2 200 000`, метрика "% исполнения плана" рассчитана как процент от этого числа.
>> Описанное поведение **не является ошибкой Synergy**, но может быть использовано специально
для просмотра продуктивности по всем подчиненным подразделениям. Для того, чтобы план
продаж был вычислен корректно, достаточно из фильтра "Подразделения" удалить тэг
текущего подразделения пользователя и оставить там только тэги непосредственных
дочерних подразделений.
Дашборд "Продуктивность" в модуле "Управление продажами" состоит из диаграмм: Дашборд "Продуктивность" в модуле "Управление продажами" состоит из диаграмм:
1. **Отделения** 1. **Отделения**
Отображает список подразделений организации. Диаграмма не содержит подразделений, > Отображает список подразделений организации. Диаграмма не содержит подразделений,
для которых не было указано ни одного планового показателя стоимости в реестре для которых не было указано ни одного планового показателя стоимости в реестре
[План продаж](#registrySalesCost). [План продаж](#registrySalesCost), а также тех, в которых поле "Пользователь"
не пусто.
> - тип диаграммы: `Data table` > - тип диаграммы: `Data table`
> - шаблон индекса: `r-crm_registry_deals_plans_custom` > - шаблон индекса: `r-crm_registry_deals_plans_custom`
> - условие на отображаемые данные: `deleted:0` > - условие на отображаемые данные: `deleted:0 && isUser_key_double: 0`
> Параметры агрегации: > Параметры агрегации:
>> Числовые (`metrics`): >> Числовые (`metrics`):
>> *Количество:* >> *Средняя плановая стоимость продаж:*
>> - тип агрегации: `Average` >> - тип агрегации: `Average`
...@@ -676,11 +827,11 @@ API. ...@@ -676,11 +827,11 @@ API.
> Опции диаграммы: > Опции диаграммы:
>> количество записей на страницу: 5 >> количество записей на страницу: 10
2. **Месяцы** 2. **Месяцы**
Отображает список месяцев согласно справочнику [Месяцы](#dictionaryMonths). > Отображает список месяцев согласно справочнику [Месяцы](#dictionaryMonths).
Диаграмма не содержит месяцев, в которые ни одна сделка не перешла в Диаграмма не содержит месяцев, в которые ни одна сделка не перешла в
положительный конечный статус (`crm_dict_dealStatus_end=1`), согласно положительный конечный статус (`crm_dict_dealStatus_end=1`), согласно
записям реестра [Сделки](#registryDeal). записям реестра [Сделки](#registryDeal).
...@@ -689,13 +840,13 @@ API. ...@@ -689,13 +840,13 @@ API.
> - шаблон индекса: `r-crm_registry_deals_plans_custom` > - шаблон индекса: `r-crm_registry_deals_plans_custom`
> - условие на отображаемые данные: `deleted:0` > - условие на отображаемые данные: `deleted:0 && isUser_key_double: 0`
> Параметры агрегации: > Параметры агрегации:
>> Числовые (`metrics`): >> Числовые (`metrics`):
>> *Количество:* >> *Средняя плановая стоимость продаж:*
>> - тип агрегации: `Average` >> - тип агрегации: `Average`
...@@ -705,13 +856,13 @@ API. ...@@ -705,13 +856,13 @@ API.
>> Групповые агрегации (поля таблицы, `buckets`): >> Групповые агрегации (поля таблицы, `buckets`):
>>> *Отделение:* >>> *Месяц:*
>>> - тип разделения: `Split Rows` >>> - тип разделения: `Split Rows`
>>> - тип агрегации: `Terms` >>> - тип агрегации: `Terms`
>>> - поле агрегации: `crm_form_deal_sales_pk1_value_sort` >>> - поле агрегации: `crm_form_deal_order_sales_month_value_sort`
>>> - способ сортировки: `Term` >>> - способ сортировки: `Term`
...@@ -727,15 +878,15 @@ API. ...@@ -727,15 +878,15 @@ API.
3. **Исполнение плана** 3. **Исполнение плана**
Отображает три числа: > Отображает три числа:
- суммарное значение вмех плановых показателей по стоимости продаж; > - суммарное значение всех плановых показателей по стоимости продаж;
- суммарное значение бюджета всех закрытых сделок; > - суммарное значение бюджета всех закрытых сделок;
- процент исполнения плана продаж, рассчитываемый таким образом: > - процент исполнения плана продаж, рассчитываемый таким образом:
> %факт_продаж% / %план_продаж% * 100% >> %факт_продаж% / %план_продаж% * 100%
>>> **Примечание 1:** >>> **Примечание 1:**
...@@ -754,7 +905,7 @@ Synergy. ...@@ -754,7 +905,7 @@ Synergy.
> - шаблон индекса: `r-crm_registry_deals*` > - шаблон индекса: `r-crm_registry_deals*`
> - условие на отображаемые данные: `deleted:0 && crm_form_deal_end_key_double:1` > - условие на отображаемые данные: `deleted:0 && crm_form_deal_end_key_double:1 && isUser_key_double: 0`
> Параметры агрегации: > Параметры агрегации:
...@@ -785,7 +936,7 @@ Synergy. ...@@ -785,7 +936,7 @@ Synergy.
>>> - `toLocaleString()` - формат отображения числа, при котором в >>> - `toLocaleString()` - формат отображения числа, при котором в
качестве разделителя тысяч используется пробел; качестве разделителя тысяч используется пробел;
>>> - `.toFixed(2)` - округление числа до второго знака после запятой >>> - `toFixed(2)` - округление числа до второго знака после запятой
(до сотых). (до сотых).
>> *План продаж:* >> *План продаж:*
...@@ -808,18 +959,18 @@ Synergy. ...@@ -808,18 +959,18 @@ Synergy.
4. **Исполнение плана по темам сотрудничества** 4. **Исполнение плана по темам сотрудничества**
Отображает суммарные значения плана продаж, сумму потенциального > Отображает суммарные значения плана продаж, сумму потенциального
бюджета по всем сделкам, перешедшим в положительный конечный статус бюджета по всем сделкам, перешедшим в положительный конечный статус
(`crm_dict_dealStatus_end=1`), в разрезе [тем сотрудничества]((#registryThemes)). (`crm_dict_dealStatus_end=1`), в разрезе [тем сотрудничества]((#registryThemes)).
В диаграмму включаются только те темы сотрудничества, для которых В диаграмму включаются только те темы сотрудничества, для которых
был указан хотя бы один плановый показатель в реестре был указан хотя бы один плановый показатель в реестре
[План продаж](#registrySalesCost). [План продаж](#registrySalesCost) при заполненном поле "Подразделение".
> - тип диаграммы: `Data table` > - тип диаграммы: `Data table`
> - шаблон индекса: `r-crm_registry_deals*` > - шаблон индекса: `r-crm_registry_deals*`
> - условие на отображаемые данные: `deleted:0 && crm_form_deal_end_key_double:1` > - условие на отображаемые данные: `deleted:0 && crm_form_deal_end_key_double:1 && isUser_key_double:0`
> Параметры агрегации: > Параметры агрегации:
...@@ -869,7 +1020,382 @@ Synergy. ...@@ -869,7 +1020,382 @@ Synergy.
5. **Исполнение плана по темам (гистрограмма)** 5. **Исполнение плана по темам (гистрограмма)**
Отображает показатели плана и факта продаж в разрезе тем сотрудничества > Отображает показатели плана и факта продаж в разрезе тем сотрудничества
в виде гистограммы (столбиковой диаграммы, Bar chart). Диаграмма представляет
собой визуализацию данных в таблице **Исполнение плана по темам сотрудничества**.
> - тип диаграммы: `Vertical bar chart`
> - шаблон индекса: `r-crm_registry_deals*`
> - условие на отображаемые данные: `deleted:0 && crm_form_deal_end_key_double:1 && isUser_key_double:0`
> Параметры агрегации:
>> Числовые (`metrics`, ось Y):
>>> *План продаж*
>>> - тип агрегации: `Sum`
>>> - поле агрегации: `plan_key_double`
>>> - отображаемое название параметра: "План продаж"
>>> *Факт продаж*
>>> - тип агрегации: `Sum`
>>> - поле агрегации: `crm_form_deal_main3_budget_key_double`
>>> - отображаемое название параметра: "Факт продаж"
>> Групповые агрегации (`buckets`, ось X):
>>> *Тема сотрудничества:*
>>> - тип разделения: `Split Rows`
>>> - тип агрегации: `Terms`
>>> - поле агрегации: `crm_form_deal_main2_theme_value_sort`
>>> - способ сортировки: `metric: План продаж`
>>> - направление сортировки: `Descending`
>>> - количество отображаемых результатов: 30
>>> - отображаемое название параметра: "Тема сотрудничества"
> Опции диаграммы:
>> раположение столбцов: сгруппированное.
### Продуктивность (сотрудники) {#dashboards_productivity_OS}
Отображаются записи реестров "Сделки" и "План продаж", в которых поле "Владелец"
`crm_owner` содержит подразделение, указанное в фильтре "Подразделения". При этом
отображаются только плановые показатели, поставленные для пользователей, без учета
планов для подразделений.
**Общие настройки дашборда:**
- период обновления: 30 секунд
- источник данных для публикации: `Embedded iframe`
- условие на отображаемые данные: `deleted:0 && isUser_key_double:1`
- опубликован в пользовательском компоненте `crm_component_deals_os_productivity`,
где в параметрах размера фрейма указано `100%` для высоты и ширины.
**Фильтр "Подразделения":**
- мультивыбор по умолчанию не доступен, но может быть включен разработчиком
Synergy (методологом) в компоненте `crm_form_funnel_deps` на форме `crm_form_funnel_deal_os`.
- условие, формируемое фильтром для выбранных подразделений с идентификаторами
`uuid1, ..., uuidN`:
> `crm_owner_key_sort: "<uuid1>" || crm_owner_key_sort: "<uuid2>" || ... || crm_owner_key_sort: "<uuidN>"`
> При удалении тэга подразделения с идентификатором `uuidN` из фильтра соответствующее ему
условие `crm_owner_key_sort: "<uuidN>"` также удаляется из условия дашборда.
Дашборд "Продуктивность" (сотрудники) в модуле "Управление продажами (ОП)" состоит из диаграмм:
1. **Сотрудники**
> Отображает список сотрудников подразделения. Диаграмма не содержит пользователей,
для которых не было указано ни одного планового показателя стоимости в реестре
[План продаж](#registrySalesCost), а также данных из записей, в которых поле "Пользователь" пусто.
> - тип диаграммы: `Data table`
> - шаблон индекса: `r-crm_registry_deals_plans_custom`
> - условие на отображаемые данные: `deleted:0 && isUser_key_double: 1`
> Параметры агрегации:
>> Числовые (`metrics`):
>> *Средняя плановая стоимость продаж:*
>> - тип агрегации: `Average`
>> - поле агрегации: `plan_key_double`
>> - отображаемое название параметра: "Средняя плановая стоимость продаж"
>> Групповые агрегации (поля таблицы, `buckets`):
>>> *Сотрудник:*
>>> - тип разделения: `Split Rows`
>>> - тип агрегации: `Terms`
>>> - поле агрегации: `crm_form_deal_responsibleManager_responsible_value_sort`
>>> - способ сортировки: `Term`
>>> - направление сортировки: `Descending`
>>> - количество отображаемых результатов: 30
>>> - отображаемое название параметра: "Сотрудник"
> Опции диаграммы:
>> количество записей на страницу: 10
2. **Месяцы**
> Отображает список месяцев согласно справочнику [Месяцы](#dictionaryMonths).
Диаграмма не содержит месяцев, в которые ни одна сделка не перешла в
положительный конечный статус (`crm_dict_dealStatus_end=1`), согласно
записям реестра [Сделки](#registryDeal).
> - тип диаграммы: `Data table`
> - шаблон индекса: `r-crm_registry_deals_plans_custom`
> - условие на отображаемые данные: `deleted:0 && isUser_key_double: 1`
> Параметры агрегации:
>> Числовые (`metrics`):
>> *Средняя плановая стоимость продаж:*
>> - тип агрегации: `Average`
>> - поле агрегации: `plan_key_double`
>> - отображаемое название параметра: "Средняя плановая стоимость продаж"
>> Групповые агрегации (поля таблицы, `buckets`):
>>> *Месяц:*
>>> - тип разделения: `Split Rows`
>>> - тип агрегации: `Terms`
>>> - поле агрегации: `crm_form_deal_order_sales_month_value_sort`
>>> - способ сортировки: `Term`
>>> - направление сортировки: `Descending`
>>> - количество отображаемых результатов: 12
>>> - отображаемое название параметра: "Месяц"
> Опции диаграммы:
>> количество записей на страницу: 6
3. **Исполнение плана (сотрудники)**
> Отображает три числа:
> - суммарное значение всех плановых показателей по стоимости продаж;
> - суммарное значение бюджета всех закрытых сделок;
> - процент исполнения плана продаж, рассчитываемый таким образом:
>> %факт_продаж% / %план_продаж% * 100%
>>> **Примечание 1:**
>>> В диаграмме для подсчета факта продаж учитываются только сделки,
перешедшие в положительный конечный статус (`crm_dict_dealStatus_end=1`),
согласно записям реестра [Сделки](#registryDeal).
>>> **Примечание 2:**
>>> Для построения диаграммы используется специфический тип визуализации -
`Extended metric`. Он не включается в основной инструментарий Kibana, но
устанавливается автоматически при установке пакета kibana из репозитория
Synergy.
> - тип диаграммы: `Extended metric`
> - шаблон индекса: `r-crm_registry_deals*`
> - условие на отображаемые данные: `deleted:0 && crm_form_deal_end_key_double:1 && isUser_key_double: 1`
> Параметры агрегации:
>> *Суммарное значение плана продаж:*
>> - тип агрегации: `Sum`
>> - поле агрегации: `plan_key_double`
>> - используемое название параметра: `sum_cost`
> *Суммарное значение фактических продаж:*
>> - тип агрегации: `Sum`
>> - поле агрегации: `crm_form_deal_main3_budget_key_double`
>> - используемое название параметра: `sum_budget`
> Вычисляемые параметры (вкладка `Options`):
>>> **Примечание 3:**
>>> Во всех полях `Formula` используется синтаксис языка JavaScript.
Помимо непосредственного вычисления процента исполнения плана продаж,
дополнительно используются функции:
>>> - `toLocaleString()` - формат отображения числа, при котором в
качестве разделителя тысяч используется пробел;
>>> - `toFixed(2)` - округление числа до второго знака после запятой
(до сотых).
>> *План продаж:*
>> - формула: `(metrics['sum_cost'].value).toLocaleString()`
>> - отображаемое название параметра: "План продаж"
>> *Факт продаж:*
>> - формула: `(metrics['sum_budget'].value).toLocaleString()`
>> - отображаемое название параметра: "Факт продаж"
>> *Процент исполнения плана продаж:*
>> - формула: `(((metrics['sum_budget'].value / metrics['sum_cost'].value)) *100).toFixed(2)`
>> - отображаемое название параметра: "% исполнения плана продаж"
4. **Исполнение плана по темам (сотрудники)**
> Отображает суммарные значения плана продаж, сумму потенциального
бюджета по всем сделкам, перешедшим в положительный конечный статус
(`crm_dict_dealStatus_end=1`), в разрезе [тем сотрудничества]((#registryThemes)).
В диаграмму включаются только те темы сотрудничества, для которых
был указан хотя бы один плановый показатель в реестре
[План продаж](#registrySalesCost) при заполненном поле "Пользователь".
> - тип диаграммы: `Data table`
> - шаблон индекса: `r-crm_registry_deals*`
> - условие на отображаемые данные: `deleted:0 && crm_form_deal_end_key_double:1 && isUser_key_double:1`
> Параметры агрегации:
>> Числовые (`metrics`):
>>> *План продаж*
>>> - тип агрегации: `Sum`
>>> - поле агрегации: `plan_key_double`
>>> - отображаемое название параметра: "План продаж"
>>> *Факт продаж*
>>> - тип агрегации: `Sum`
>>> - поле агрегации: `crm_form_deal_main3_budget_key_double`
>>> - отображаемое название параметра: "Факт продаж"
>> Групповые агрегации (поля таблицы, `buckets`):
>>> *Тема сотрудничества:*
>>> - тип разделения: `Split Rows`
>>> - тип агрегации: `Terms`
>>> - поле агрегации: `crm_form_deal_main2_theme_value_sort`
>>> - способ сортировки: `metric: План продаж`
>>> - направление сортировки: `Descending`
>>> - количество отображаемых результатов: 30
>>> - отображаемое название параметра: "Тема сотрудничества"
> Опции диаграммы:
>> количество записей на страницу: 10
5. **Исполнение плана по сотрудникам**
> Отображает суммарные значения плана продаж, сумму потенциального
бюджета по всем сделкам, перешедшим в положительный конечный статус
(`crm_dict_dealStatus_end=1`), в разрезе ответственных менеджеров.
В диаграмму включаются только те сотрудники, для которых
был указан хотя бы один плановый показатель в реестре
[План продаж](#registrySalesCost) при заполненном поле "Пользователь".
> - тип диаграммы: `Data table`
> - шаблон индекса: `r-crm_registry_deals*`
> - условие на отображаемые данные: `deleted:0 && crm_form_deal_end_key_double:1 && isUser_key_double:1`
> Параметры агрегации:
>> Числовые (`metrics`):
>>> *План продаж*
>>> - тип агрегации: `Sum`
>>> - поле агрегации: `plan_key_double`
>>> - отображаемое название параметра: "План продаж"
>>> *Факт продаж*
>>> - тип агрегации: `Sum`
>>> - поле агрегации: `crm_form_deal_main3_budget_key_double`
>>> - отображаемое название параметра: "Факт продаж"
>> Групповые агрегации (поля таблицы, `buckets`):
>>> *Сотрудник:*
>>> - тип разделения: `Split Rows`
>>> - тип агрегации: `Terms`
>>> - поле агрегации: `crm_form_deal_responsibleManager_responsible_value_sort`
>>> - способ сортировки: `metric: План продаж`
>>> - направление сортировки: `Descending`
>>> - количество отображаемых результатов: 30
>>> - отображаемое название параметра: "Сотрудник"
> Опции диаграммы:
>> количество записей на страницу: 10
6. **Исполнение плана по темам (гистрограмма)**
> Отображает показатели плана и факта продаж в разрезе тем сотрудничества
в виде гистограммы (столбиковой диаграммы, Bar chart). Диаграмма представляет в виде гистограммы (столбиковой диаграммы, Bar chart). Диаграмма представляет
собой визуализацию данных в таблице **Исполнение плана по темам сотрудничества**. собой визуализацию данных в таблице **Исполнение плана по темам сотрудничества**.
...@@ -877,7 +1403,7 @@ Synergy. ...@@ -877,7 +1403,7 @@ Synergy.
> - шаблон индекса: `r-crm_registry_deals*` > - шаблон индекса: `r-crm_registry_deals*`
> - условие на отображаемые данные: `deleted:0 && crm_form_deal_end_key_double:1` > - условие на отображаемые данные: `deleted:0 && crm_form_deal_end_key_double:1 && isUser_key_double:1`
> Параметры агрегации: > Параметры агрегации:
...@@ -919,6 +1445,6 @@ Synergy. ...@@ -919,6 +1445,6 @@ Synergy.
> Опции диаграммы: > Опции диаграммы:
>> раположение столбцов: сгруппированное >> раположение столбцов: сгруппированное.
...@@ -8,4 +8,5 @@ Synergy CRM содержит набор предустановленных су ...@@ -8,4 +8,5 @@ Synergy CRM содержит набор предустановленных су
<#include "crm_consist/buildin_objects.md"> <#include "crm_consist/buildin_objects.md">
<#include "crm_consist/marketing.md"> <#include "crm_consist/marketing.md">
<#include "crm_consist/sales.md"> <#include "crm_consist/sales.md">
<#include "crm_consist/sales_OS.md">
<#include "crm_consist/dashboards.md"> <#include "crm_consist/dashboards.md">
## Внешний модуль "Управление продажами" (для ОП) {#sec.sales_OS}
### Общее {#sales_OS.main}
Модуль предназначен для сотрудников и руководителей подразделений,
которые не имеют дочерних подразделений.
Состав и функциональность и внешний вид модуля аналогичны модулю
["Управление продажами"](#sec.sales), за исключением дашборда
["Продуктивность"](#sales.productivity_OS).
### Продуктивность {#sales.productivity_OS}
По нажатию на кнопку "Продуктивность" в модуле "Управление продажами"
открывается [дашбоард Kibana](#dashboards_productivity_OS), который содержит
следующие панели:
* "Сотрудники" - таблица со столбцами:
* "Сотрудник" - значение поля "Пользователь" (crm_form_deal_responsibleManager_responsible)
документа по форме План продаж;
* "Средняя плановая стоимость продаж" - значение рассчитывается как:
> `сумма значений полей "Стоимость продаж" / количество значений полей "Стоимость продаж"`
* "Месяцы" - таблица со столбцами:
* "Месяц" - значение поля "Месяц" (crm_form_deal_order_sales_month)
документа по форме План продаж;
* "Средняя плановая стоимость продаж" - значение рассчитывается как:
> `сумма значений полей "Стоимость продаж" / количество значений полей "Стоимость продаж"`
* "Исполнение плана":
* "План продаж" - сумма значений всех полей "Стоимость продаж"
(crm_form_deal_main2_theme_pvalue_cN) для всех "Сотрудников" (crm_form_deal_responsibleManager_responsible)
всех документов по форме План продаж.
* "Факт продаж" - сумма значений полей "Бюджет" (crm_form_deal_main3_budget)
всех сделок с положительным конечным статусом (crm_dict_dealStatus_end=1).
* "% исполнения плана продаж" - значение рассчитывается как:
> `"Факт продаж" / "План продаж" * 100%`
* "Исполнение плана по темам сотрудничества" - таблица со столбцами:
* "Тема сотрудничества" - значение поля "Тема сотрудничества" (crm_form_deal_main2_theme_cN)
документа по форме План продаж.
* "План продаж" - сумма значений полей "Стоимость продаж" (crm_form_deal_main2_theme_pvalue_cN)
для всех "Сотрудников" (crm_form_deal_responsibleManager_responsible) соответствующей "Темы сотрудничества"
(crm_form_deal_main2_theme_cN) всех документов по форме План продаж.
* "Факт продаж" - сумма значений полей "Бюджет" (crm_form_deal_main3_budget)
всех сделок с положительным конечным статусом (crm_dict_dealStatus_end=1), у
которых в поле "Тема" (crm_form_deal_main2_theme) указана соответствующая "Тема
сотрудничества".
* "Исполнение плана по сотрудникам" - таблица со столбцами:
* "Сотрудник" - значение поля "Сотрудник" (crm_form_deal_responsibleManager_responsible)
документа по форме План продаж.
* "План продаж" - сумма значений полей "Стоимость продаж" (crm_form_deal_main2_theme_pvalue_cN)
для всех "Сотрудников" (crm_form_deal_responsibleManager_responsible) соответствующей "Темы сотрудничества"
(crm_form_deal_main2_theme_cN) всех документов по форме План продаж.
* "Факт продаж" - сумма значений полей "Бюджет" (crm_form_deal_main3_budget)
всех сделок с положительным конечным статусом (crm_dict_dealStatus_end=1), у
которых в поле "Ответственный менеджер" (crm_form_deal_responsibleManager_responsible) указан
соответствующий "Сотрудник".
* "Исполнение плана по темам (гистрограмма)" - стобликовая диаграмма,
в которой:
* ось X - значения полей "Тема сотрудничества" (crm_form_deal_main2_theme_cN)
документа по форме План продаж;
* ось Y - максимальное значение "План продаж" или "Факт продаж".
> Столбцы гистограммы - "План продаж" и "Факт продаж" согласно каждой
"Теме сотрудничества" (crm_form_deal_main2_theme_cN).
...@@ -8,8 +8,7 @@ ...@@ -8,8 +8,7 @@
и "План продаж" (crm_form_deal_main2_theme_pvalue_cN) и "План продаж" (crm_form_deal_main2_theme_pvalue_cN)
по нажатию на кнопку "X" над соответствующим столбцом. При сохранении документа по нажатию на кнопку "X" над соответствующим столбцом. При сохранении документа
с удаленным столбцом соответствующий документ индекса с удаленным столбцом соответствующий документ индекса
[r-crm_registry_deals_plans_custom](#dashboards_productivity) и [r-crm_registry_deals_plans_custom](#dashboards_productivity) будет удален.
[r-crm_registry_deals_plans_custom_user](#dashboards_productivity) будет удален.
Имеется возможность добавить столбец, содержащий поля "Тема сотрудничества" Имеется возможность добавить столбец, содержащий поля "Тема сотрудничества"
(crm_form_deal_main2_theme_cN) и "План продаж" (crm_form_deal_main2_theme_pvalue_cN) (crm_form_deal_main2_theme_cN) и "План продаж" (crm_form_deal_main2_theme_pvalue_cN)
...@@ -23,8 +22,7 @@ ...@@ -23,8 +22,7 @@
где %N+1% - наибольший порядковый номер компонентов текущего документа + 1. где %N+1% - наибольший порядковый номер компонентов текущего документа + 1.
При сохранении документа с новым столбцом создается новый документ индекса При сохранении документа с новым столбцом создается новый документ индекса
[r-crm_registry_deals_plans_custom](#dashboards_productivity) и [r-crm_registry_deals_plans_custom](#dashboards_productivity).
[r-crm_registry_deals_plans_custom_user](#dashboards_productivity).
В режиме чтения кнопки удаления ("Х") и добавления ("+ Добавить столбец") В режиме чтения кнопки удаления ("Х") и добавления ("+ Добавить столбец")
столбцов не отображаются. столбцов не отображаются.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment