Содержание
Для обеспечения базового учета основных сущностей конфигурация Synergy CRM содержит набор предустановленных сущностей и внешний модуль «Маркетинг».
Конфигурация Synergy CRM включает в себя преднастроенные элементы:
Группы пользователей с такими кодами:
Все маркетологи - crm_groups_all_marketing_specialists:
Маркетологи-менеджеры - crm_groups_marketing_managers:
«Маркетологи-менеджеры по Алматы» -
crm_groups_marketing_managers_Almaty
«Маркетологи-менеджеры по Астане» -
crm_groups_marketing_managers_Astana
Маркетологи-специалисты - crm_groups_marketing_specialists:
«Маркетологи-специалисты по Алматы» -
crm_groups_marketing_specialists_Almaty
«Маркетологи-специалисты по Астане» -
crm_groups_marketing_specialists_Astana
«Руководитель отдела маркетинга» -
crm_groups_marketing_head
Все специалисты по продажам - crm_groups_all_sales_specialists:
Менеджеры по продажам - crm_groups_sales_managers:
«Менеджеры по продажам Алматы» -
crm_groups_sales_managers_Almaty
«Менеджеры по продажам Астана» -
crm_groups_sales_managers_Astana
Специалисты по продажам - crm_groups_sales_specialists:
«Специалисты по продажам Алматы» -
crm_groups_sales_specialists_Almaty
«Специалисты по продажам Астана» -
crm_groups_sales_specialists_Astana
«Руководитель отдела продаж» -
crm_groups_sales_head
«Центральный аппарат» -
crm_groups_head
Код формы: crm_form_event.
Форма содержит следующие компоненты:
Поле | Тип компонента | Имя компонента |
---|---|---|
Тип мероприятия |
выпадающий список (справочник crm_dict_eventType) |
crm_form_event_main_type |
Наименование мероприятия |
однострочное поле |
crm_form_event_main_name |
Стоимость |
числовое поле |
crm_form_event_main_cost |
Мероприятие |
ссылка на портфель / проект |
crm_form_event_main_event |
Комментарий |
многострочное поле |
crm_form_event_main_comment |
Целевой отклик |
числовое поле |
crm_form_event_main_target_response |
Текущий отклик |
числовое поле |
crm_form_event_main_current_response |
Оценка эффективности |
числовое поле |
crm_form_event_main_rating |
Ответственный менеджер |
выбор пользователя |
crm_form_event_responsibleManager_responsible |
Владелец |
выбор подразделения |
crm_owner |
Для кого |
выбор подразделения |
crm_has_access |
Доступно |
выбор подразделения |
crm_all_accessible |
Поле «Владелец» заполняется автоматически подразделением создающего пользователя. Поле обязательно для заполнения, мультивыбор недоступен.
В поле «Для кого» доступен мультивыбор подразделений.
Поле «Доступно» автоматически заполняется:
подразделением, указанным в поле «Владелец», и всеми его родительскими подразделеними, включая корневое подразделение оргструктуры;
подразделениями, указанными в поле «Для кого», и всеми дочерними подразделениями каждого из них.
Поле «Текущий отклик»:
Флаг «Заблокировать от изменений пользователем» включен.
Значение поля - количество всех лидов, связанных с данным мероприятием.
Если для данного мероприятия не имеется лидов, поле содержит значение 0.
При добавлении, изменении или удалении лида, связанного с данным мероприятием, значение поля «Текущий отклик» обновляется в режиме реального времени.
Поле «Оценка эффективности»:
Флаг «Заблокировать от изменений пользователем» включен.
Флаг «Ограничение десятичных знаков» включен. Значение поля - 3.
Значение поля рассчитывается автоматически по формуле:
%значение_поля_"Текущий_отклик"% / %значение_поля_"Целевой_отклик"%
Поле «Оценка эффективности» не может быть пустым.
Поле «Оценка эффективности» заполнено значением 0 по умолчанию, а также в случае:
поле «Целевой отклик» не заполнено либо содержит значение 0
поле «Текущий отклик» содержит значение 0
При изменении значений полей «Текущий отклик» и «Целевой отклик» значение поля «Оценка эффективности» пересчитывается в режиме реального времени.
Код формы: crm_form_lead.
Форма содержит следующие компоненты:
Поле | Тип компонента | Имя компонента |
---|---|---|
Мероприятие |
ссылка на реестр «Маркетингоое мероприятие» |
crm_form_lead_main_action |
Источник лида |
ссылка на реестр «Контакт» |
crm_form_lead_main_leadSource |
Сделка |
ссылка на реестр «Сделка» |
crm_form_lead_main_deal |
Контакт |
пользовательский компонент на реестр «Контакт» |
crm_form_lead_main_contact |
Связь с контактом из интерфейса |
пользовательский компонент функции связи с контактом |
crm_form_lead_main_contactConnection |
Аккаунт |
пользовательский компонент на реестр «Аккаунт» |
crm_form_lead_main_account |
Связь с контактом из интерфейса |
пользовательский компонент функции связи с аккаунтом |
crm_form_lead_main_accountConnection |
Наименование аккаунта |
однострочное поле |
crm_form_lead_main_account_name |
Сотрудничество |
динамическая таблица |
crm_form_lead_deals |
Тема сотрудничества |
ссылка на реестр «Темы сотрудничества» |
crm_form_lead_deals_theme |
Потенциальный бюджет |
числовое поле |
crm_form_lead_deals_budget |
Статус |
выпадающий список (справочник «crm_dict_dealStatus») |
crm_form_lead_deals_status |
%кнопка_создания_сделки% |
пользовательский компонент |
crm_form_lead_deals_newDeal |
Ответственный менеджер |
выбор пользователя |
crm_form_lead_responsibleManager_responsible |
Активность |
пользовательская динамическая таблица |
crm_form_lead_activity_table |
Пиктограмма типа активности |
изображение (из справочника «crm_dict_activityType») |
crm_form_lead_activity_icon |
Тип активности |
выпадающий список (справочника «crm_dict_activityType») |
crm_form_lead_activity_type |
Комментарий |
однострочное поле |
crm_form_lead_activity_comment |
Дата |
дата |
crm_form_lead_activity_date |
Владелец |
выбор подразделения |
crm_owner |
Доступно |
выбор подразделения |
crm_all_accessible |
Поле «Владелец» заполняется автоматически подразделением создающего пользователя. Поле обязательно для заполнения, мультивыбор недоступен.
Поле «Доступно» автоматически заполняется подразделением, указанным в поле «Владелец», и всеми его родительскими подразделеними, включая корневое подразделение оргструктуры. Доступен мультивыбор подразделений, поле скрыто.
Поле «Сделка»:
Флаг «Заблокировать от изменений пользователем» включен.
По умолчанию поле пустое.
%кнопка_создания_сделки%:
Кнопка не отображается, если в выпадающем списке «Статус» выбрана запись справочника crm_dict_leadStatus, у которой crm_dict_leadStatus_end=1.
Поле «Пиктограмма типа активности»:
текущее изображение зависит от выбранного значения в выпадающем списке «Тип активности» согласно полю crm_dict_activityType_icon справочника crm_dict_activityType.
Поле «Дата»:
Флаг «Заполнять текущей датой/временем» включен.
Поле «Наимменованеи аккаунта»:
Компонент является скрытым.
Компонент может содержать пустое значение.
При создании либо выборе аккаунта в модифицированном
пользовательском компоненте
«Аккаунт»
(crm_form_lead_main_account
) новый
компонент заполняется значением соответствующего поля
«Наименование».
При изменении значения аккаунта обновляется и значение нового компонента.
При создании записи реестра «Сделка» путем смены статуса или нажатием на кнопку поле crm_form_deal_responsibleManager_responsible по умолчанию заполняется пользователем, указанным в первой записи реестра «Ответственный за сделки».
Код формы: crm_form_deal.
Форма содержит следующие компоненты:
Поле | Тип компонента | Имя компонента |
---|---|---|
Лид |
ссылка на реестр «Лид» |
crm_form_deal_main1_lead |
Аккаунт |
пользовательский компонент на реестр «Аккаунты» |
crm_form_deal_main_account |
Контакты аккаунта |
пользовательский компонент функции связи с аккаунтом |
crm_form_deal_main_accountConnection |
Контакт |
пользовательский компонент на реестр «Контакты» |
crm_form_deal_main_contact |
Контакты контакта |
пользовательский компонент функции связи с контактом |
crm_form_deal_main_contactConnection |
Тема |
ссылка на реестр «Темы сотрудничества» |
crm_form_deal_main2_theme |
Описание |
многострочное поле |
crm_form_deal_main2_info |
Заказ |
динамическая таблица |
crm_form_deal_order |
№ |
однострочное поле |
crm_form_deal_order_number |
Наименование товара |
ссылка на реестр «Каталог товаров и услуг» |
crm_form_deal_order_orderList |
Ед.изм. |
однострочное поле |
crm_form_deal_order_unit |
Количество |
числовое поле |
crm_form_deal_order_amount |
Цена за ед. |
числовое поле |
crm_form_deal_order_price |
Сумма, тенге |
числовое поле |
crm_form_deal_order_total |
Бюджет |
числовое поле |
crm_form_deal_main3_budget |
Статус |
выпадающий список (справочник «crm_dict_dealStatus») |
crm_form_deal_main3_status |
Причина отказа |
многострочное поле |
crm_form_deal_main3_rejection |
Задачи |
динамическая таблица |
crm_form_deal_tasks |
Проект |
ссылка на проект |
crm_form_deal_tasks_project |
Документы |
динамическая таблица |
crm_form_deal_files |
Файл |
файл |
crm_form_deal_files_file |
Ответственный менеджер |
выбор пользователя |
crm_form_deal_responsibleManager_responsible |
Владелец |
выбор подразделения |
crm_owner |
Доступно |
выбор подразделения |
crm_all_accessible |
Активность |
пользовательская динамическая таблица |
crm_form_deal_activity_table |
Пиктограмма типа активности |
изображение (из справочника «crm_dict_activityType») |
crm_form_deal_activity_icon |
Тип активности |
выпадающий список (справочника «crm_dict_activityType») |
crm_form_deal_activity_type |
Комментарий |
однострочное поле |
crm_form_deal_activity_comment |
Дата |
дата |
crm_form_deal_activity_date |
Предыдущий статус |
выпадающий список (справочник «crm_dict_dealStatus») |
crm_form_deal_previous_status |
Время нахождения в статусе |
числовое поле |
crm_form_deal_previous_status_duration |
Просроченность |
числовое поле |
crm_form_deal_expired |
Переход в негативный статус |
числовое поле |
crm_form_deal_refused |
Год |
числовое поле |
crm_form_deal_order_sales_year |
Месяц |
выпадающий список (справочник «crm_dict_months») |
crm_form_deal_order_sales_month |
Отделение |
компонент выбора подразделений |
crm_form_deal_sales_pk1 |
Конечный положительный статус |
числовое поле |
crm_form_deal_end |
isUser |
выбор вариантов |
isUser |
Поле «Лид»:
Флаг «Заблокировать от изменений пользователем» включен.
Поле «Бюджет»:
Флаг «Заблокировать от изменений пользователем» включен.
Значение поля - сумма значений всех полей «Сумма».
Поле «Причина отказа»:
Поле отображается только в случае, если поле «Статус» имеет значение «Отказ».
Поле «Пиктограмма типа активности»:
текущее изображение зависит от выбранного значения в выпадающем списке «Тип активности» согласно полю crm_dict_activityType_icon справочника crm_dict_activityType.
Поле «Дата»:
Флаг «Заполнять текущей датой/временем» включен.
Поле «Владелец»:
Настроена связь с компонентом «Ответственный
менеджер»
crm_form_deal_responsibleManager_responsible
.
Поле скрыто.
Поле «Доступно»:
Автоматически заполняется подразделением, указанным в поле «Владелец», и всеми его родительскими подразделеними, включая корневое подразделение оргструктуры.
Доступен мультивыбор подразделений, поле скрыто.
Поле «Отделение»:
Настроена связь с компонентом «Ответственный
менеджер»
crm_form_deal_responsibleManager_responsible
.
Поле «Предыдущий статус»:
Значение поля - предыдущее значение поля «Статус» (crm_form_deal_main3_status).
Если статус сделки ранее не изменялся - поле содежит текущее значение поля «Статус» (crm_form_deal_main3_status).
Значение компонента актуализируется в 00:00:00.
Компонент скрыт.
Поле «Время нахождения в статусе»:
Значение поля рассчитывается как:
дата и время сохранения текущего статуса - дата и время сохранения предыдущего статуса
Если статус сделки ранее не изменялся - поле содержит значение «0».
Значение компонента актуализируется в 00:00:00.
Компонент скрыт.
Поле «Просроченность»:
Поле не может быть пустым.
Просроченность для сделки со статусом, имеющим значение crm_dict_dealStatus_end=1 или crm_dict_dealStatus_quality=0, не рассчитывается, поле содержит значение «0».
Значение поля определется условиями:
фактическое время нахождения в статусе больше либо равно значению поля «Продолжительность (в днях)» (crm_form_deal_flow_standart_duration) соответствующего статуса.
суммарное время нахождения в неконечных статусах больше либо равно сумме значений полей «Продолжительность (в днях)» (crm_form_deal_flow_standart_duration) всех неконечных статусов.
Примечание:
Для предрасчетов просроченности используется первая запись реестра «Нормативы продолжительности статусов сделки».
Если документ по форме имеет несколько значений «Продолжительность (в днях)» для одного статуса, в предрасчет идет последнее.
Если для статуса не указано значение «Продолжительность (в днях)» в предрасчет идет значение поля «Продолжительность по умолчанию (в днях)» (crm_form_deal_flow_standard_default_duration).
При смене статуса на предыдущий (согласно полю crm_dict_dealStatus_value справочника Статусы сделки) все продолжительности статусов аннулируются до того статуса, который будет являться предыдущим относительного нового.
Если выполняется хотя бы одно условие, описанное выше, то поле «Просроченность» содержит значение «1».
Если не выполняется ни одно условие, описанное выше, то поле «Просроченность» содержит значение «0».
Значение компонента актуализируется в 00:00:00.
Компонент скрыт.
Поле «isUser»:
Поле имеет два варианта: 1
и
0
.
По умолчанию выбраны оба варианта.
Поле скрыто.
При выборе записи реестра в поле
crm_form_deal_order_orderList
динамической
таблицы crm_form_deal_order
заполняются
поля в той же строке таблицы:
«Единица измерения»
crm_form_deal_order_unit
- из поля
crm_form_item_unit
выбранной записи;
«Цена за ед.»
crm_form_deal_order_price
- из поля
crm_form_item_price
;
«Сумма, тенге»
crm_form_deal_order_total
- значение
crm_form_deal_order_price
*
crm_form_deal_order_amount
;
Поле «Бюджет»
crm_form_deal_main3_budget
равно сумме всех
значений поля «Сумма, тенге»
crm_form_deal_order_total
в таблице.
При конвертации лида в сделку (как с помощью кнопки на форме «Лид», так и при перемещении лида на Канбан-доске) открывается форма «Сделка», где компоненты заполнены автоматически:
crm_form_deal_main_account
- из
компонента crm_form_lead_main_account
;
crm_form_lead_main_accountConnection
;
crm_form_deal_main_contact
- из
компонента crm_form_lead_main_contact
;
crm_form_deal_main_contactConnection
-
из компонента
crm_form_lead_main_contactConnection
.
Поле «Переход в негативный статус»:
Поле не может быть пустым.
Значение поля определется текущим статусом:
Если выпадающий список «Статус сделки» имеет значение записи справочника Статусы сделки crm_dict_dealStatus_quality=0, поле «Переход в негативный статус» содержит значение 1.
Если выпадающий список «Статус сделки» имеет значение записи справочника Статусы сделки crm_dict_dealStatus_quality=1, поле «Переход в негативный статус» содержит значение 0.
Значение компонента актуализируется в 00:00:00.
Компонент скрыт.
Поле «Год»:
Поле скрыто.
Значение поля - год последнего изменения статуса сделки.
Поле «Месяц»:
Поле скрыто.
Значение поля - месяц последнего изменения статуса сделки.
Поле «Отделение»:
Флаги «Обязательное поле» и «Заполнять департаментом создающего пользователя» включен.
Поле «Конечный положительный статус»:
Поле скрыто.
Значение поля:
1 - текущий статус сделки имеет значение crm_dict_dealStatus_end=1;
0 - все остальные статусы.
Код формы: crm_form_account.
Форма содержит следующие компоненты:
Поле | Тип компонента | Имя компонента |
---|---|---|
Лид |
ссылка на реестр «Лид» |
crm_form_account_lead_lead |
Логотип |
файл |
crm_form_account_logo |
Наименование |
однострочное поле |
crm_form_account_main_name |
Описание |
многострочное поле |
crm_form_account_main_info |
Вид деятельности |
дата |
crm_form_account_main_activityCategory |
Выручка |
числовое поле |
crm_form_account_main_revenue |
Численность штата |
многострочное поле |
crm_form_account_main_staffAmount |
Статус |
выпадающий список (справочник crm_dict_accountStatus) |
crm_form_account_main_status |
Телефон |
динамическая таблица |
crm_form_account_phone |
Тип номера телефона |
выпадающий список (справочник crm_dict_phone) |
crm_form_account_phone_phoneCombo |
Номер телефона |
однострочное поле |
crm_form_account_phone_phone |
|
динамическая таблица |
crm_form_account_email |
Тип почтового адреса |
выпадающий список (справочник crm_dict_email) |
crm_form_account_email_emailCombo |
Почтовый адрес |
однострочное поле |
crm_form_account_email_email |
Адрес |
динамическая таблица |
crm_form_account_address |
Тип адреса |
выпадающий список (справочник crm_dict_address) |
crm_form_account_address_addressCombo |
Адрес |
многострочное поле |
crm_form_account_address_address |
Социальные сети |
динамическая таблица |
crm_form_account_socialNetworks |
Тип социальной сети |
выпадающий список (справочник crm_dict_socialNetworks) |
crm_form_account_socialNetworks_socialNetworksCombo |
Социальная сеть |
однострочное поле |
crm_form_account_socialNetworks_socialNetworks |
Материнский аккаунт |
ссылка на реестр Аккаунт |
crm_form_account_parentAccount_parentAccount |
Дочерние аккаунты |
динамическая таблица |
crm_form_account_childAccount |
Аккаунты |
ссылка на реестр Аккаунт |
crm_form_account_childAccount_account |
Ответственный менеджер |
выбор пользователя |
crm_form_account_responsibleManager_responsible |
Владелец |
выбор подразделения |
crm_owner |
Доступно |
выбор подразделения |
crm_all_accessible |
Поле «Владелец» заполняется автоматически подразделением создающего пользователя. Поле обязательно для заполнения, мультивыбор недоступен.
Поле «Доступно» автоматически заполняется подразделением, указанным в поле «Владелец», и всеми его родительскими подразделеними, включая корневое подразделение оргструктуры. Доступен мультивыбор подразделений, поле скрыто.
Код формы: crm_form_contact.
Форма содержит следующие компоненты:
Поле | Тип компонента | Имя компонента |
---|---|---|
Лид |
ссылка на реестр «Лид» |
crm_form_contact_lead_lead |
Фото |
файл |
crm_form_contact_photo |
Полное имя |
однострочное поле |
crm_form_contact_main_fullName |
Должность |
многострочное поле |
crm_form_contact_main_position |
Дата рождения |
дата |
crm_form_contact_main_birthDate |
Статус |
выпадающий список (справочник crm_dict_contactStatus) |
crm_form_contact_main_status |
Информация |
многострочное поле |
crm_form_contact_main_info |
Телефон |
динамическая таблица |
crm_form_contact_phone |
Тип номера телефона |
выпадающий список (справочник crm_dict_phone) |
crm_form_contact_phone_phoneCombo |
Номер телефона |
однострочное поле |
crm_form_contact_phone_phone |
|
динамическая таблица |
crm_form_contact_email |
Тип почтового адреса |
выпадающий список (справочник crm_dict_email) |
crm_form_contact_email_emailCombo |
Почтовый адрес |
однострочное поле |
crm_form_contact_email_email |
Адрес |
динамическая таблица |
crm_form_contact_address |
Тип адреса |
выпадающий список (справочник crm_dict_address) |
crm_form_contact_address_addressCombo |
Адрес |
многострочное поле |
crm_form_contact_address_address |
Социальные сети |
динамическая таблица |
crm_form_contact_socialNetworks |
Тип социальной сети |
выпадающий список (справочник crm_dict_socialNetworks) |
crm_form_contact_socialNetworks_socialNetworksCombo |
Социальная сеть |
однострочное поле |
crm_form_contact_socialNetworks_socialNetworks |
Ответственный менеджер |
выбор пользователя |
crm_form_contact_responsibleManager_responsible |
Владелец |
выбор подразделения |
crm_owner |
Доступно |
выбор подразделения |
crm_all_accessible |
Поле «Владелец» заполняется автоматически подразделением создающего пользователя. Поле обязательно для заполнения, мультивыбор недоступен.
Поле «Доступно» автоматически заполняется подразделением, указанным в поле «Владелец», и всеми его родительскими подразделеними, включая корневое подразделение оргструктуры. Доступен мультивыбор подразделений, поле скрыто.
Код формы: crm_form_lead_comission.
Форма содержит следующие компоненты:
Поле | Тип компонента | Имя компонента |
---|---|---|
% комссии |
динамическая таблица |
crm_form_lead_comission_main |
Дата начала |
дата |
crm_form_lead_comission_main_start_date |
Дата окончания |
дата |
crm_form_lead_comission_main_finish_date |
% комиссии |
числовое поле |
crm_form_lead_comission_main_comission |
Динамическая таблица «% комиссии»:
Форматная строка:
[Значение ${crm_form_comission_main_deal_comission}% с ${crm_form_lead_comission_main_start_date} по ${crm_form_lead_comission_main_finish_date}]
Поле «Дата начала»:
Флаги «Заблокировать от изменений пользователем» и «Заполнять текущей датой/временем» включены.
Поле «Дата окончания»:
Флаг «Заблокировать от изменений пользователем» включен.
Компонент в последней строке заполняется текущей датой при добавлении новой строки динамической таблицы.
Поле «% комиссии»:
Значение поля по умолчанию при создании записи реестра - 5.
Код формы: crm_form_deal_comission.
Форма содержит следующие компоненты:
Поле | Тип компонента | Имя компонента |
---|---|---|
% комссии |
динамическая таблица |
crm_form_deal_comission_main |
Дата начала |
дата |
crm_form_deal_comission_main_start_date |
Дата окончания |
дата |
crm_form_deal_comission_main_finish_date |
% комиссии |
числовое поле |
crm_form_deal_comission_main_comission |
Динамическая таблица «% комиссии»:
Форматная строка:
[Значение ${crm_form_comission_main_deal_comission}% с ${crm_form_deal_comission_main_start_date} по ${crm_form_deal_comission_main_finish_date}]
Поле «Дата начала»:
Флаги «Заблокировать от изменений пользователем» и «Заполнять текущей датой/временем» включены.
Поле «Дата окончания»:
Флаг «Заблокировать от изменений пользователем» включен.
Компонент в последней строке заполняется текущей датой при добавлении новой строки динамической таблицы.
Поле «% комиссии»:
Значение поля по умолчанию при создании записи реестра - 5.
Код формы: crm_form_theme.
Форма содержит следующие компоненты:
Поле | Тип компонента | Имя компонента |
---|---|---|
Тема сотрудничества |
однострочное поле |
crm_form_theme_theme |
Владелец |
выбор подразделения |
crm_owner |
Для кого |
выбор подразделения |
crm_has_access |
Доступно |
выбор подразделения |
crm_all_accessible |
Поле «Владелец» заполняется автоматически подразделением создающего пользователя. Поле обязательно для заполнения, мультивыбор недоступен.
В поле «Для кого» доступен мультивыбор подразделений.
Поле «Доступно» автоматически заполняется:
подразделением, указанным в поле «Владелец», и всеми его родительскими подразделеними, включая корневое подразделение оргструктуры;
подразделениями, указанными в поле «Для кого», и всеми дочерними подразделениями каждого из них.
Доступен мультивыбор подразделений, поле скрыто.
Код формы: crm_form_item.
Форма содержит следующие компоненты:
Поле | Тип компонента | Имя компонента |
---|---|---|
ID товара |
номер (шаблон номера «Номер товара в каталоге») |
crm_form_item_id |
Наименование |
однострочное поле |
crm_form_item_name |
Описание |
многострочное поле |
crm_form_item_description |
Единица измерения |
однострочное поле |
crm_form_item_unit |
Цена |
числовое поле |
crm_form_item_price |
Тема сотрудничества |
ссылка на реестр «Темы сотрудничества» |
crm_form_item_theme |
Владелец |
выбор подразделения |
crm_owner |
Для кого |
выбор подразделения |
crm_has_access |
Доступно |
выбор подразделения |
crm_all_accessible |
Поле «Владелец» заполняется автоматически подразделением создающего пользователя. Поле обязательно для заполнения, мультивыбор недоступен.
В поле «Для кого» доступен мультивыбор подразделений.
Поле «Доступно» автоматически заполняется:
подразделением, указанным в поле «Владелец», и всеми его родительскими подразделеними, включая корневое подразделение оргструктуры;
подразделениями, указанными в поле «Для кого», и всеми дочерними подразделениями каждого из них.
Доступен мультивыбор подразделений, поле скрыто.
Для всех форм ниже одинаково настроен компонент выбора адресата:
Для выпадающего списка «Источник адреса» настроены следующие значения:
Аккаунт - 0
Контакт - 1
Ручной ввод - 2
При этом:
Если в поле choice
выбрано значение «Аккаунт», то доступно поле
account_link
, поле
contact_link
скрыто.
Если в поле choice
выбрано значение «Контакт», то доступно поле
contact_link
, поле
account_link
скрыто.
Если в поле choice
выбрано значение «Ручной ввод», то поля
account_link
и
contact_link
оба скрыты.
Для компонента «Выбрать аккаунт» настроено сопоставление:
crm_form_account_email
-
crm_form_account_email
-
EQUAL
Для компонента «Выбрать контакт» настроено сопоставление:
crm_form_contact_email
-
crm_form_contact_email
-
EQUAL
Таблицы «Адреса аккаунта» и «Адреса контакта» являются служебными и не отображаются пользователю.
Поведение поля
choice
Если в поле choice
выбрано значение «Аккаунт», то должно быть
доступно поле account_link
, поле
contact_link
скрыто.
Если в поле choice
выбрано значение «Контакт», то должно быть
доступно поле contact_link
, поле
account_link
скрыто.
Если в поле choice
выбрано значение «Ручной ввод», то поля
account_link
и
contact_link
должны быть скрыты.
Поведение поля
email
Для случая, когда заполняется поле
account_link
, в поле
email
требуется
отображать значение поля
crm_form_contact_email.crm_form_contact_email_email
.
В случае, если таблица
crm_form_contact_email
для выбранного контакта содержит больше одного элемента,
выбирать значение в зависимости от значения поля
crm_form_contact_email.crm_form_contact_email_emailCombo
по значение с минимальным порядковым номером записи
справочника crm_dict_email.
Для случая, когда заполняется поле
contact_link
, в поле
email
требуется
отображать значение поля
crm_form_account_email.crm_form_account_email_email
.
В случае, если таблица
crm_form_account_email
для выбранного контакта содержит больше одного элемента,
выбирать значение в зависимости от значения поля
crm_form_account_email.crm_form_account_email_emailCombo
тем же приоритетам, что и для пункта 1.
Для случая, когда в поле
choice
выбрано
значение «Ручной ввод», поле
email
должно
заполняться вручную.
Также для всех форм одинаково настроены поля «Владелец» и «Доступно»:
Поле «Владелец» заполняется автоматически подразделением создающего пользователя. Поле обязательно для заполнения, мультивыбор недоступен.
Поле «Доступно» автоматически заполняется подразделением, указанным в поле «Владелец», и всеми его родительскими подразделеними, включая корневое подразделение оргструктуры. Доступен мультивыбор подразделений, поле скрыто.
Код формы: crm_form_contract_delivery_100.
Форма содержит следующие компоненты:
Поле | Тип компонента | Имя компонента |
---|---|---|
Номер договора |
однострочное поле |
crm_form_contract_delivery_100_contract_number |
Город |
выпадающий список (справочник crm_dict_cities) |
crm_form_contract_delivery_100_city_from |
Дата договора |
выбор даты |
crm_form_contract_delivery_100_contract_date |
Основание (сделка) |
ссылка на реестр «Сделки» |
crm_form_contract_delivery_100_deal |
Заказчик (аккаунт) |
ссылка на реестр «Аккаунты» |
crm_form_contract_delivery_100_client_account |
Заказчик (контакт) |
ссылка на реестр «Контакты» |
crm_form_contract_delivery_100_client_client |
Основание заказчика |
однострочное поле |
crm_form_contract_delivery_100_client_reason |
Поставщик (организация) |
выбор подразделений (всегда выбрана корневая нода) |
crm_form_contract_delivery_100_provider |
Представитель поставщика |
выбор пользователя |
crm_form_contract_delivery_100_provider_name |
Основание поставщика |
однострочное поле |
crm_form_contract_delivery_100_provider_base |
Товар |
однострочное поле (тема сотрудничества из выбранной записи в поле «Основание (сделка))» |
crm_form_contract_delivery_100_theme |
Срок поставки товара |
числовое поле |
crm_form_contract_delivery_100_time |
Срок поставки (прописью) |
однострочное поле |
crm_form_contract_delivery_100_time_by_text |
Город поставки |
выпадающий список (справочник crm_dict_cities) |
crm_form_contract_delivery_100_city_to |
Адрес |
однострочное поле |
crm_form_contract_delivery_100_address |
Общая сумма договора |
числовое поле |
crm_form_contract_delivery_100_sum_total |
Сумма договора (прописью) |
однострочное поле |
crm_form_contract_delivery_100_sum_total_by_text |
Срок предоставления Акта |
числовое поле |
crm_form_contract_delivery_100_act_time |
Срок действия договора |
выбор даты |
crm_form_contract_delivery_100_contract_time_to |
Юридический адрес Заказчика |
многострочное поле |
crm_form_contract_delivery_100_client_requisites1 |
Юридический адрес Поставщика |
многострочное поле |
crm_form_contract_delivery_100_provider_requisites1 |
Реквизиты Заказчика |
ссылка |
crm_form_contract_delivery_100_client_requisites2 |
Реквизиты Поставщика |
многострочное поле |
crm_form_contract_delivery_100_provider_requisites2 |
Номер договора (приложение) |
однострочное поле |
crm_form_contract_delivery_100_contract_number_appendix |
Дата договора (приложение) |
выбор даты |
crm_form_contract_delivery_100_contract_date_appendix |
Перечень закупаемых товаров |
динамическая таблица (из группы полей «Заказ» сделки, указанной в поле «Основание (сделка)») |
crm_form_contract_delivery_100_items |
№ |
однострочное поле |
crm_form_deal_order_number |
Наименование Товара |
ссылка на реестр «Каталог товаров и услуг» |
crm_form_deal_order_orderList |
Ед.изм. |
однострочное поле |
crm_form_deal_order_unit |
Кол-во |
числовое поле |
crm_form_deal_order_amount |
Цена за ед., тенге |
числовое поле |
crm_form_deal_order_price |
Сумма, тенге |
числовое поле |
crm_form_deal_order_total |
Итого |
числовое поле |
crm_form_contract_delivery_100_items_total |
Подпись заказчика |
ссылка на реестр «Контакты» |
crm_form_contract_delivery_100_client_account_appendix |
Подпись поставщика |
выбор пользователя |
crm_form_contract_delivery_100_provider_name_appendix |
Источник адреса |
выпадающий список |
choice |
Выбрать аккаунт |
ссылка на реестр «Аккаунты» |
account_link |
Выбрать контакт |
ссылка на реестр «Контакты» |
contact_link |
|
однострочное поле |
|
Адреса аккаунта |
динамическая таблица (из группы полей «E-mail» аккаунта, указанного в поле «Выбрать аккаунт») |
crm_form_account_email |
Актуальный адрес аккаунта |
однострочное поле |
crm_form_account_email_email |
Адреса контакта |
динамическая таблица (из группы полей «E-mail» контакта, указанного в поле «Выбрать контакт») |
crm_form_contact_email |
Актуальный адрес контакта |
однострочное поле |
crm_form_contact_email_email |
Владелец |
выбор подразделения |
crm_owner |
Доступно |
выбор подразделения |
crm_all_accessible |
Компоненты выбора даты:
Формат даты всех компонентов выбора дат -
"${dd}" ${monthed} ${yyyy}г.
При выборе записи реестра в поле
crm_form_deal_order_orderList
динамической таблицы
crm_form_contract_delivery_100_items
заполняются поля в той же строке таблицы:
«Ед.изм.»
crm_form_deal_order_unit
- из поля
crm_form_item_unit
выбранной записи;
«Цена за ед., тенге»
crm_form_deal_order_price
- из поля
crm_form_item_price
;
«Сумма, тенге»
crm_form_deal_order_total
- значение
crm_form_deal_order_price
*
crm_form_deal_order_amount
;
Поле «Итого»
crm_form_contract_delivery_100_items_total
равно сумме всех значений поля «Сумма, тенге»
crm_form_deal_order_total
в таблице.
Код формы: crm_form_contract_delivery_part.
Форма содержит следующие компоненты:
Поле | Тип компонента | Имя компонента |
---|---|---|
Номер договора |
однострочное поле |
crm_form_contract_delivery_part_contract_number |
Город |
выпадающий список (справочник crm_dict_cities) |
crm_form_contract_delivery_part_city_from |
Дата договора |
выбор даты |
crm_form_contract_delivery_part_contract_date |
Основание (сделка) |
ссылка на реестр «Сделки» |
crm_form_contract_delivery_part_deal |
Заказчик (аккаунт) |
ссылка на реестр «Аккаунты» |
crm_form_contract_delivery_part_client_account |
Заказчик (контакт) |
ссылка на реестр «Контакты» |
crm_form_contract_delivery_part_client_client |
Основание заказчика |
однострочное поле |
crm_form_contract_delivery_part_client_reason |
Поставщик (организация) |
выбор подразделений (всегда выбрана корневая нода) |
crm_form_contract_delivery_part_provider |
Представитель поставщика |
выбор пользователя |
crm_form_contract_delivery_part_provider_name |
Основание поставщика |
однострочное поле |
crm_form_contract_delivery_part_provider_base |
Товар |
однострочное поле (тема сотрудничества из выбранной записи в поле «Основание (сделка))» |
crm_form_contract_delivery_part_theme |
Срок поставки товара |
числовое поле |
crm_form_contract_delivery_part_time |
Срок поставки (прописью) |
однострочное поле |
crm_form_contract_delivery_part_time_by_text |
Город поставки |
выпадающий список (справочник crm_dict_cities) |
crm_form_contract_delivery_part_city_to |
Адрес |
однострочное поле |
crm_form_contract_delivery_part_address |
Общая сумма договора |
числовое поле |
crm_form_contract_delivery_part_sum_total |
Сумма договора (прописью) |
однострочное поле |
crm_form_contract_delivery_part_sum_total_by_text |
Размер аванса |
однострочное поле |
crm_form_contract_delivery_part_avans |
Срок выплаты аванса |
однострочное поле |
crm_form_contract_delivery_part_avans_time |
Размер доплаты |
однострочное поле |
crm_form_contract_delivery_part_balance |
Срок предоставления Акта |
числовое поле |
crm_form_contract_delivery_part_act_time |
Срок действия договора |
выбор даты |
crm_form_contract_delivery_part_contract_time_to |
Юридический адрес Заказчика |
многострочное поле |
crm_form_contract_delivery_part_client_requisites1 |
Юридический адрес Поставщика |
многострочное поле |
crm_form_contract_delivery_part_provider_requisites1 |
Реквизиты Заказчика |
ссылка |
crm_form_contract_delivery_part_client_requisites2 |
Реквизиты Поставщика |
многострочное поле |
crm_form_contract_delivery_part_provider_requisites2 |
Номер договора (приложение) |
однострочное поле |
crm_form_contract_delivery_part_contract_number_appendix |
Дата договора (приложение) |
выбор даты |
crm_form_contract_delivery_part_contract_date_appendix |
Перечень закупаемых товаров |
динамическая таблица (из группы полей «Заказ» сделки, указанной в поле «Основание (сделка)») |
crm_form_contract_delivery_part_items |
№ |
однострочное поле |
crm_form_deal_order_number |
Наименование Товара |
ссылка на реестр «Каталог товаров и услуг» |
crm_form_deal_order_orderList |
Ед.изм. |
однострочное поле |
crm_form_deal_order_unit |
Кол-во |
числовое поле |
crm_form_deal_order_amount |
Цена за ед., тенге |
числовое поле |
crm_form_deal_order_price |
Сумма, тенге |
числовое поле |
crm_form_deal_order_total |
Итого |
числовое поле |
crm_form_contract_delivery_part_items_total |
Подпись заказчика |
ссылка на реестр «Контакты» |
crm_form_contract_delivery_part_client_account_appendix |
Подпись поставщика |
выбор пользователя |
crm_form_contract_delivery_part_provider_name_appendix |
Источник адреса |
выпадающий список |
choice |
Выбрать аккаунт |
ссылка на реестр «Аккаунты» |
account_link |
Выбрать контакт |
ссылка на реестр «Контакты» |
contact_link |
|
однострочное поле |
|
Адреса аккаунта |
динамическая таблица (из группы полей «E-mail» аккаунта, указанного в поле «Выбрать аккаунт») |
crm_form_account_email |
Актуальный адрес аккаунта |
однострочное поле |
crm_form_account_email_email |
Адреса контакта |
динамическая таблица (из группы полей «E-mail» контакта, указанного в поле «Выбрать контакт») |
crm_form_contact_email |
Актуальный адрес контакта |
однострочное поле |
crm_form_contact_email_email |
Владелец |
выбор подразделения |
crm_owner |
Доступно |
выбор подразделения |
crm_all_accessible |
Компоненты выбора даты:
Формат даты всех компонентов выбора дат -
"${dd}" ${monthed} ${yyyy}г.
При выборе записи реестра в поле
crm_form_deal_order_orderList
динамической таблицы
crm_form_contract_delivery_part_items
заполняются поля в той же строке таблицы:
«Ед.изм.»
crm_form_deal_order_unit
- из поля
crm_form_item_unit
выбранной записи;
«Цена за ед., тенге»
crm_form_deal_order_price
- из поля
crm_form_item_price
;
«Сумма, тенге»
crm_form_deal_order_total
- значение
crm_form_deal_order_price
*
crm_form_deal_order_amount
;
Поле «Итого»
crm_form_contract_delivery_part_items_total
равно сумме всех значений поля «Сумма, тенге»
crm_form_deal_order_total
в таблице.
Код формы: crm_form_certificate.
Форма содержит следующие компоненты:
Поле | Тип компонента | Имя компонента |
---|---|---|
Заказчик |
ссылка на реестр «Аккаунты» |
crm_form_certificate_table1_customer |
Поставщик |
компонент выбора подразделений |
crm_form_certificate_table1_supplier |
Город |
выпадающий список (справочник crm_dict_cities) |
crm_form_certificate_table2_city |
Дата |
дата |
crm_form_certificate_table2_date |
Договор |
ссылка на реестр «Договоры поставки» |
crm_form_certificate_table3_contract |
Номер договора |
однострочное поле |
crm_form_certificate_table4_number |
Дата заключения договора |
дата |
crm_form_certificate_table4_date |
Товар |
динамическая таблица |
crm_form_certificate_table5 |
П/п |
числовое поле |
crm_form_certificate_table5_n |
Наименование |
ссылка на реестр «Каталог товаров и услуг» |
crm_form_certificate_table5_goods |
Количество |
числовое поле |
crm_form_certificate_table5_amount |
Сумма |
числовое поле |
crm_form_certificate_table5_summ |
Общая стоимость товара |
числовое поле |
crm_form_certificate_table6_cost |
Номер договора |
однострочное поле |
crm_form_certificate_table7_number |
Дата заключения договора |
дата |
crm_form_certificate_table7_date |
Номер договора |
однострочное поле |
crm_form_certificate_table8_number |
Дата заключения договора |
дата |
crm_form_certificate_table9_date |
Аккаунт заказчика |
ссылка на реестр «Аккаунт» |
crm_form_certificate_table10_account |
Контакт заказчика |
ссылка на реестр «Контакт» |
crm_form_certificate_table10_contact |
Договор заказчика |
ссылка на реестр «Договоры поставки» |
crm_form_certificate_table11_contract |
Подразделение исполнителя |
компонент выбора подразделений |
crm_form_certificate_table12_account |
Исполнитель |
компонент выбора пользователей |
crm_form_certificate_table12_contact |
Договор исполнителя |
ссылка на реестр «Договоры поставки» |
crm_form_certificate_table13_contract |
Номер договора |
однострочное поле |
crm_form_certificate_table14_number |
Дата заключения договора |
дата |
crm_form_certificate_table15_date |
Список работ |
динамическая таблица |
crm_form_certificate_table16 |
Виды работ |
ссылка на реестр «Каталог товаров и услуг» |
crm_form_certificate_table16_goods |
Сумма |
числовое поле |
crm_form_certificate_table17_summ1 |
Сумма (прописью) |
однострочное поле |
crm_form_certificate_table17_summ2 |
Дата |
дата |
crm_form_certificate_table18_date |
Передал |
ссылка на реестр «Контакт» |
crm_form_certificate_table19_supplier |
Принял |
компонент выбора пользователей |
crm_form_certificate_table19_customer |
Номер договора |
однострочное поле |
crm_form_certificate_table20_number |
Дата заключения договора |
дата |
crm_form_certificate_table21_date |
Заказчик |
ссылка на реестр «Контакт» |
crm_form_certificate_table22_customer |
ИИН/БИН заказчика |
числовое поле |
crm_form_certificate_table22_customerID |
Исполнитель |
компонент выбора пользователей |
crm_form_certificate_table22_responder |
ИИН/БИН исполнителя |
числовое поле |
crm_form_certificate_table22_responderID |
Договор |
ссылка на реестр «Договоры поставки» |
crm_form_certificate_table23_contract |
Номер договора |
однострочное поле |
crm_form_certificate_table23_number |
Дата заключения договора |
дата |
crm_form_certificate_table23_date |
Выполненные работы |
динамическая таблица |
crm_form_certificate_table24 |
Номер |
числовое поле |
crm_form_certificate_table16_goods |
Наименование |
ссылка на реестр «Каталог товаров и услуг» |
crm_form_certificate_table24_goods |
Дата |
дата |
crm_form_certificate_table24_date |
Сведения об отчете |
однострочное поле |
crm_form_certificate_table24_comment |
Единица измерения |
однострочное поле |
crm_form_certificate_table24_unit |
Количество |
числовое поле |
crm_form_certificate_table24_amount |
Цена |
числовое поле |
crm_form_certificate_table24_price |
Стоимость |
числовое поле |
crm_form_certificate_table24_summ |
Итоговое количество |
числовое поле |
crm_form_certificate_table25_finalAmount |
Итоговая стоимость |
числовое поле |
crm_form_certificate_table25_finalSumm |
Наименование запасов |
однострочное поле |
crm_form_certificate_table26_name |
Количество запасов |
числовое поле |
crm_form_certificate_table26_amount |
Стоимость запасов |
числовое поле |
crm_form_certificate_table26_cost |
Количество страниц |
числовое поле |
crm_form_certificate_table27_amount |
Список приложений |
однострочное поле |
crm_form_certificate_list |
Дата подписания |
дата |
crm_form_certificate_table28_date |
Заказчик |
ссылка на реестр «Контакт» |
crm_form_certificate_table29_customer |
Исполнитель |
компонент выбора пользователей |
crm_form_certificate_table29_responder |
Источник адреса |
выпадающий список |
choice |
Выбрать аккаунт |
ссылка на реестр «Аккаунты» |
account_link |
Выбрать контакт |
ссылка на реестр «Контакты» |
contact_link |
|
однострочное поле |
|
Адреса аккаунта |
динамическая таблица (из группы полей «E-mail» аккаунта, указанного в поле «Выбрать аккаунт») |
crm_form_account_email |
Актуальный адрес аккаунта |
однострочное поле |
crm_form_account_email_email |
Адреса контакта |
динамическая таблица (из группы полей «E-mail» контакта, указанного в поле «Выбрать контакт») |
crm_form_contact_email |
Актуальный адрес контакта |
однострочное поле |
crm_form_contact_email_email |
Владелец |
выбор подразделения |
crm_owner |
Доступно |
выбор подразделения |
crm_all_accessible |
Компоненты выбора даты:
Формат даты всех компонентов выбора дат -
"${dd}" ${monthed} ${yyyy}г.
Поле «Общая стоимость
товара»
crm_form_certificate_table6_cos
равно
сумме всех значений поля «Сумма»
crm_form_certificate_table5_summ
в
таблице «Товар»
crm_form_certificate_table5
.
При выборе записи реестра в поле
crm_form_certificate_table24_goods
динамической таблицы
crm_form_certificate_table24
заполняются
поля в той же строке таблицы:
«Единица измерения»
crm_form_certificate_table24_unit
-
из поля crm_form_item_unit
выбранной
записи;
«Цена»
crm_form_certificate_table24_price
-
из поля crm_form_item_price
;
«Стоимость»
crm_form_certificate_table24_summ
-
значение
crm_form_certificate_table24_price
*
crm_form_certificate_table24_amount
;
Поле «Итоговая стоимость»
crm_form_certificate_table25_finalSumm
равно сумме всех значений поля «Стоимость»
crm_form_certificate_table24_summ
в
таблице «Выполненные работы»
crm_form_certificate_table24
.
Поле «Итоговое количество»
crm_form_certificate_table25_finalAmount
равно сумме всех значений поля «Количество»
crm_form_certificate_table24_amount
в
таблице «Выполненные работы»
crm_form_certificate_table24
.
Код формы: crm_form_offer.
Форма содержит следующие компоненты:
Поле | Тип компонента | Имя компонента |
---|---|---|
Аккаунт |
ссылка на реестр «Аккаунты» |
crm_form_offer_account |
Контакты для шапки справа |
ссылка на реестр «Контакты» |
crm_form_offer_contact1 |
Контакты для ИО в центре после Уважаемый |
ссылка на реестр «Контакты» |
crm_form_offer_contact2 |
Должность |
однострочное поле |
crm_form_offer_whom_position |
Аккаунт3 |
однострочное поле |
crm_form_offer_whom_account |
ФИО |
однострочное поле |
crm_form_offer_whom_fullname |
Уважаемый |
однострочное поле |
crm_form_offer_address_dear |
ИО в обращении |
однострочное поле |
crm_form_offer_address_fullname |
Количество листов |
однострочное поле |
crm_form_offer_attachment_number |
Должность отправителя |
выбор должности |
crm_form_offer_from_position |
ФИО отправителя |
выбор пользователя |
crm_form_offer_from_user |
Организация отправителя |
однострочное поле |
crm_form_offer_from_organization |
Каталог товаров и услуг |
динамическая таблица |
crm_form_offer_price |
Каталог товаров и услуг |
ссылка на реестр «Каталог товаров и услуг» |
crm_form_offer_price_price |
Стоимость реализации проекта |
динамическая таблица |
crm_form_offer_project_price |
Номер |
однострочное поле |
crm_form_offer_project_price_number |
Название товара или услуги |
однострочное поле |
crm_form_offer_project_price_item_name |
Общая стоимость в тенге с учетом НДС |
числовое поле |
crm_form_offer_project_price_price |
Описание |
многострочное поле |
crm_form_offer_project_price_description |
Итого |
числовое поле |
crm_form_offer_project_summa_summa |
Источник адреса |
выпадающий список |
choice |
Выбрать аккаунт |
ссылка на реестр «Аккаунты» |
account_link |
Выбрать контакт |
ссылка на реестр «Контакты» |
contact_link |
|
однострочное поле |
|
Адреса аккаунта |
динамическая таблица (из группы полей «E-mail» аккаунта, указанного в поле «Выбрать аккаунт») |
crm_form_account_email |
Актуальный адрес аккаунта |
однострочное поле |
crm_form_account_email_email |
Адреса контакта |
динамическая таблица (из группы полей «E-mail» контакта, указанного в поле «Выбрать контакт») |
crm_form_contact_email |
Актуальный адрес контакта |
однострочное поле |
crm_form_contact_email_email |
Владелец |
выбор подразделения |
crm_owner |
Доступно |
выбор подразделения |
crm_all_accessible |
Для компонента «Аккаунт» настроено сопоставление:
crm_form_account_main_name
-
crm_form_offer_whom_account
-
EQUAL
Для компонента «Контакты для шапки справа» настроено сопоставление:
crm_form_contact_main_fullName
-
crm_form_offer_whom_fullname
-
EQUAL
crm_form_contact_main_position
-
crm_form_offer_whom_position
-
EQUAL
Для компонента «Контакты для ИО в центре после Уважаемый» настроено сопоставление:
crm_form_contact_main_fullName
-
crm_form_offer_address_fullname
-
POSTFIX
- !
Для компонента «ФИО отправителя» настроены:
связь с компонентом
crm_form_offer_from_position
включена опция «Изменить формат отображения ФИО в
зависимости от языка системы» с форматом
${l} ${f.short}.${p.short.dot}
Для компонента «Каталог товаров и услуг» настроено сопоставление:
crm_form_item_theme
-
crm_form_offer_project_price_item_name
- EQUAL
crm_form_item_price
-
crm_form_offer_project_price_price
-
EQUAL
crm_form_item_description
-
crm_form_offer_project_price_description
- EQUAL
Для поля «Описание»:
включена опция «Не удалять пробелы в начале строки»
Поле «Итого»
crm_form_offer_project_summa_summa
равно
сумме всех значений поля «Общая стоимость в тенге с
учетом НДС»
crm_form_offer_project_price_price
в
таблице «Стоимость реализации проекта»
crm_form_offer_project_price
.
Код формы: crm_form_invoice.
Форма содержит следующие компоненты:
Поле | Тип компонента | Имя компонента |
---|---|---|
Номер счета |
однострочное поле |
crm_form_invoice_number |
Дата счета |
выбор даты |
crm_form_invoice_date |
Основание (договор поставки) |
группа полей | |
Единовременная оплата |
ссылка на реестр «Договоры поставки (единовременная оплата)» |
crm_form_invoice_contract_100 |
Оплата частями |
ссылка на реестр «Договоры поставки (оплата частями)» |
crm_form_invoice_contract_part |
Сведения о поставщике |
группа полей | |
Наименование |
выбор подразделений (всегда выбрана корневая нода) |
crm_form_invoice_provider_name |
БИН |
однострочное поле |
crm_form_invoice_provider_bin |
Адрес |
многострочное поле |
crm_form_invoice_provider_address |
ИИК |
однострочное поле |
crm_form_invoice_provider_iik |
БИК |
однострочное поле |
crm_form_invoice_provider_bik |
Свидетельство о постановке на регистрационный учет по НДС |
группа полей | |
Серия |
однострочное поле |
crm_form_invoice_provider_nds_series |
Номер |
однострочное поле |
crm_form_invoice_provider_nds_number |
Дата выдачи |
числовое поле |
crm_form_invoice_provider_nds_date |
Номер договора (контракта) на поставку |
однострочное поле (номер договора, выбранного в группе полей «Основание (договор поставки)») |
crm_form_invoice_contract_number |
Дата договора (контракта) на поставку |
однострочное поле (дата договора, выбранного в группе полей «Основание (договор поставки)») |
crm_form_invoice_contract_date |
Условия оплаты по договору (контракту) |
выпадающий список (справочник crm_dict_paymentMode) |
crm_form_invoice_conditions |
Адрес: республика |
однострочное поле (значение по умолчанию: «Республика Казахстан») |
crm_form_invoice_republic |
Адрес: город |
выпадающий список (справочник crm_dict_cities) (город поставки из договора, выбранного в поле «Основание (договор поставки)») |
crm_form_invoice_city |
Адрес: улица |
однострочное поле (адрес поставки из договора, выбранного в поле «Основание (договор поставки)») |
crm_form_invoice_address |
Доверенность |
однострочное поле (значение по умолчанию: «без доверенности») |
crm_form_invoice_vicarious |
Способ отправления |
выпадающий список (справочник crm_dict_deliveryMode) |
crm_form_invoice_departure |
Товарно-транспортная накладная |
однострочное поле |
crm_form_invoice_ttn |
Грузоотправитель |
группа полей | |
БИН |
однострочное поле |
crm_form_invoice_sender_bin |
Наименование |
однострочное поле (наименование организации поставщика из договора, выбранного в поле «Основание (договор поставки)») |
crm_form_invoice_sender_name |
Адрес |
многострочное поле |
crm_form_invoice_sender_address |
Грузополучатель |
группа полей | |
БИН |
однострочное поле |
crm_form_invoice_receiver_bin |
Наименование |
однострочное поле |
crm_form_invoice_receiver_name |
Адрес |
многострочное поле |
crm_form_invoice_receiver_address |
Получатель |
группа полей | |
Наименование |
однострочное поле (наименование организации заказчика из договора, выбранного в поле «Основание (договор поставки)») |
crm_form_invoice_mainreceiver_name |
БИН |
однострочное поле |
crm_form_invoice_mainreceiver_bin |
Адрес |
многострочное поле |
crm_form_invoice_mainreceiver_address |
ИИК |
однострочное поле |
crm_form_invoice_mainreceiver_iik |
БИК |
однострочное поле |
crm_form_invoice_mainreceiver_bik |
Перечень закупаемых товаров |
динамическая таблица (из группы полей «Перечень закупаемых товаров) договора, указанного в поле»Основание (договор поставки)“) |
crm_form_invoice_order |
№ п/п |
однострочное поле |
crm_form_deal_order_number |
Наименование товаров (работ, услуг) |
ссылка на реестр «Каталог товаров и услуг» |
crm_form_deal_order_orderList |
Ед. изм. |
однострочное поле |
crm_form_deal_order_unit |
Кол-во (объем) |
числовое поле |
crm_form_deal_order_amount |
Цена (KZT) |
числовое поле |
crm_form_deal_order_price |
Стоимость товаров (работ, услуг) без НДС |
числовое поле |
crm_form_deal_order_total |
Ставка НДС |
числовое поле |
crm_form_invoice_order_nds |
Сумма НДС |
числовое поле |
crm_form_invoice_order_nds_summ |
Всего стоимость реализации |
числовое поле |
crm_form_invoice_order_summ_by_item |
Ставка акциз |
числовое поле |
crm_form_invoice_order_akciz |
Сумма акциз |
числовое поле |
crm_form_invoice_order_akciz_summ |
Всего по счету |
группа полей | |
Стоимость товаров (работ, услуг) без НДС |
числовое поле |
crm_form_invoice_order_total |
Сумма НДС |
числовое поле |
crm_form_invoice_order_nds_summ_total |
Всего стоимость реализации |
числовое поле |
crm_form_invoice_order_summ_total |
Сумма акциз |
числовое поле |
crm_form_invoice_order_akciz_summ_total |
Руководитель |
ссылка на реестр «Контакты» (поле «Заказчик (контакт)» договора, выбранного в поле «Основание (договор поставки)») |
crm_form_invoice_client_client |
Главный бухгалтер |
однострочное поле |
crm_form_invoice_booker |
Источник адреса |
выпадающий список |
choice |
Выбрать аккаунт |
ссылка на реестр «Аккаунты» |
account_link |
Выбрать контакт |
ссылка на реестр «Контакты» |
contact_link |
|
однострочное поле |
|
Адреса аккаунта |
динамическая таблица (из группы полей «E-mail» аккаунта, указанного в поле «Выбрать аккаунт») |
crm_form_account_email |
Актуальный адрес аккаунта |
однострочное поле |
crm_form_account_email_email |
Адреса контакта |
динамическая таблица (из группы полей «E-mail» контакта, указанного в поле «Выбрать контакт») |
crm_form_contact_email |
Актуальный адрес контакта |
однострочное поле |
crm_form_contact_email_email |
Владелец |
выбор подразделения |
crm_owner |
Доступно |
выбор подразделения |
crm_all_accessible |
Компоненты выбора даты:
Формат даты всех компонентов выбора дат -
${dd}.${mm}.${yyyy} г.
Однострочные поля:
Маска ввода всех полей «БИН» -
############
При выборе записи реестра в поле
crm_form_deal_order_orderList
динамической таблицы
crm_form_invoice_order
заполняются поля в
той же строке таблицы:
«Ед. изм.»
crm_form_deal_order_unit
- из поля
crm_form_item_unit
выбранной записи;
«Цена (KZT)»
crm_form_deal_order_price
- из поля
crm_form_item_price
;
«Стоимость товаров (работ, услуг) без НДС»
crm_form_deal_order_total
- значение
crm_form_deal_order_price
*
crm_form_deal_order_amount
;
Поле «Стоимость товаров (работ, услуг) без
НДС»
crm_form_invoice_order_total
равно сумме
всех значений поля «Стоимость товаров (работ, услуг)
без НДС» crm_form_deal_order_total
в таблице.
Поле «Всего стоимость
реализации»
crm_form_invoice_order_summ_total
равно
сумме всех значений поля «Всего стоимость
реализации»
crm_form_invoice_order_summ_by_item
в
таблице.
Поле «Сумма НДС»
crm_form_invoice_order_nds_summ_totall
равно сумме всех значений поля «Сумма НДС»
crm_form_invoice_order_nds_summ
в
таблице.
Код формы: crm_form_deal_responsible.
Форма содержит следующие компоненты:
Поле | Тип компонента | Имя компонента |
---|---|---|
Ответственный за сделку |
компонент выбора пользователей |
crm_form_deal_responsible_user |
Код формы: crm_form_sales.
Форма содержит следующие компоненты:
Поле | Тип компонента | Имя компонента |
---|---|---|
Год |
числовое поле |
crm_form_deal_order_sales_year |
Месяц |
выпадающий список (справочник «crm_dict_months») |
crm_form_deal_order_sales_month |
Создающий пользователь |
компонент выбора пользователей |
crm_form_deal_owner_user |
Подразделение создающего пользователя |
компонент выбора подразделений |
crm_owner |
UUID корневой организации |
однострочное поле |
crm_all_accessible |
План продаж |
динамическая таблица |
crm_form_deal_main2_theme_sales |
Отделение |
компонент выбора подразделений |
crm_form_deal_sales_pk1 |
Пользователь |
компонент выбора пользователей |
crm_form_deal_responsibleManager_responsible |
Тема сотрудничества |
ссылка на реестра «Тема сотрудничества» |
crm_form_deal_main2_theme_c1 |
Целевое значение |
числовое поле |
crm_form_deal_main2_goal_pvalue_c1 |
Стоимость продаж |
числовое поле |
crm_form_deal_main2_theme_pvalue_c1 |
Тема сотрудничества |
ссылка на реестра «Тема сотрудничества» |
crm_form_deal_main2_theme_c2 |
Целевое значение |
числовое поле |
crm_form_deal_main2_goal_pvalue_c2 |
Стоимость продаж |
числовое поле |
crm_form_deal_main2_theme_pvalue_c2 |
Тема сотрудничества |
ссылка на реестра «Тема сотрудничества» |
crm_form_deal_main2_theme_c3 |
Целевое значение |
числовое поле |
crm_form_deal_main2_goal_pvalue_c3 |
Стоимость продаж |
числовое поле |
crm_form_deal_main2_theme_pvalue_c3 |
Тема сотрудничества |
ссылка на реестра «Тема сотрудничества» |
crm_form_deal_main2_theme_c4 |
Целевое значение |
числовое поле |
crm_form_deal_main2_goal_pvalue_c4 |
Стоимость продаж |
числовое поле |
crm_form_deal_main2_theme_pvalue_c4 |
Тема сотрудничества |
ссылка на реестра «Тема сотрудничества» |
crm_form_deal_main2_theme_c5 |
Целевое значение |
числовое поле |
crm_form_deal_main2_goal_pvalue_c5 |
Стоимость продаж |
числовое поле |
crm_form_deal_main2_theme_pvalue_c5 |
Тема сотрудничества |
ссылка на реестра «Тема сотрудничества» |
crm_form_deal_main2_theme_c6 |
Стоимость продаж |
числовое поле |
crm_form_deal_main2_theme_pvalue_c6 |
Тема сотрудничества |
ссылка на реестра «Тема сотрудничества» |
crm_form_deal_main2_theme_c7 |
Целевое значение |
числовое поле |
crm_form_deal_main2_goal_pvalue_c7 |
Стоимость продаж |
числовое поле |
crm_form_deal_main2_theme_pvalue_c7 |
Тема сотрудничества |
ссылка на реестра «Тема сотрудничества» |
crm_form_deal_main2_theme_c8 |
Целевое значение |
числовое поле |
crm_form_deal_main2_goal_pvalue_c8 |
Стоимость продаж |
числовое поле |
crm_form_deal_main2_theme_pvalue_c8 |
Тема сотрудничества |
ссылка на реестра «Тема сотрудничества» |
crm_form_deal_main2_theme_c9 |
Целевое значение |
числовое поле |
crm_form_deal_main2_goal_pvalue_c9 |
Стоимость продаж |
числовое поле |
crm_form_deal_main2_theme_pvalue_c9 |
Тема сотрудничества |
ссылка на реестра «Тема сотрудничества» |
crm_form_deal_main2_theme_c10 |
Целевое значение |
числовое поле |
crm_form_deal_main2_goal_pvalue_c10 |
Стоимость продаж |
числовое поле |
crm_form_deal_main2_theme_pvalue_c10 |
Тема сотрудничества |
ссылка на реестра «Тема сотрудничества» |
crm_form_deal_main2_theme_c11 |
Целевое значение |
числовое поле |
crm_form_deal_main2_goal_pvalue_c11 |
Стоимость продаж |
числовое поле |
crm_form_deal_main2_theme_pvalue_c11 |
Тема сотрудничества |
ссылка на реестра «Тема сотрудничества» |
crm_form_deal_main2_theme_c12 |
Целевое значение |
числовое поле |
crm_form_deal_main2_goal_pvalue_c12 |
Стоимость продаж |
числовое поле |
crm_form_deal_main2_theme_pvalue_c12 |
Тема сотрудничества |
ссылка на реестра «Тема сотрудничества» |
crm_form_deal_main2_theme_c13 |
Целевое значение |
числовое поле |
crm_form_deal_main2_goal_pvalue_c13 |
Стоимость продаж |
числовое поле |
crm_form_deal_main2_theme_pvalue_c13 |
Тема сотрудничества |
ссылка на реестра «Тема сотрудничества» |
crm_form_deal_main2_theme_c14 |
Целевое значение |
числовое поле |
crm_form_deal_main2_goal_pvalue_c14 |
Стоимость продаж |
числовое поле |
crm_form_deal_main2_theme_pvalue_c14 |
Конечный положительный статус |
числовое поле |
crm_form_deal_end |
Поля «Создающий пользователь» и «Подразделение создающего пользователя»:
Поля скрыты.
Включены флаги «Заполнять создающим пользователем» и «Заполнять департаментом создающего пользователя».
Поле «UUID корневой организации»:
Поле скрыто.
Поле содержит значение по умолчанию 1
.
Динамическая таблица «План продаж»:
Флаг «Отобразить границы» включен.
Форматная строка:
[${crm_form_sales_cost_cost} и ${crm_form_sales_cost_value} для ${crm_form_sales_cost_position}]
Разделитель свертки - ,
Поле «Отделение»:
Флаг «Обязательное поле» включен.
Поле «Тема сотрудничества»:
Флаг «Обязательное поле» включен.
Поле «Стоимость продаж»:
Значение поля по умолчанию - 0.
Поле «Конечный положительный статус»:
Поле скрыто.
Значение поля по умолчанию - 1.
Примечание:
В случае, если значение поля будет изменено, дашбоард модуля «Продуктивность» будет работать некорректно, и это не будет являться ошибкой Synergy.
Поле «Целевое значение»:
Флаг «Заблокировать от изменений пользователем».
Поле содержит значение из поля «Стоимость продаж» (crm_form_deal_main2_theme_pvalue_cN), у которых совпадают значения:
«Год» (crm_form_deal_order_sales_year);
«Месяц» (crm_form_deal_order_sales_month);
«Тема сотрудничества» (crm_form_deal_main2_theme_cN);
«Отделение» (crm_form_deal_sales_pk1) в таблице текущего документа по форме и «Подразделение создающего пользователя» (crm_owner) другого документа по форме.
При отсутствии документа по форме «План продаж», удовлетворяющего перечисленным требованиям поле остается пустым, плейсхолдер не отображается.
Если имеется несколько документов, удовлетворяющих требованиям, указывается целевое значение последнего измененного документа.
Значения полей актуализируются при каждом открытии документа.
Если сумма значений всех полей «Стоимость продаж» хотя бы одной темы сотрудничества меньше, чем значение ее поля «Целевое значение», то при сохранении такого документа отобразится сообщение об ошибке:
Сумма стоимостей продаж должна быть больше либо равна целевому значению
Весь столбец соответствующей темы сотрудничества подсвечивается красным.
Поля «Отделение» и «Пользователь»:
Один из столбцов всегда скрыт:
если подразделение создающего пользователя имеет дочерние подразделения, то скрыт столбец «Пользователь»;
если подразделение создающего пользователя не имеет дочерние подразделения, то скрыт столбец «Отделение».
Заголовок «Отделение» или «Пользователь» выровнен по вертикали по центру.
Код формы: crm_form_deal_flow_standard.
Форма содержит следующие компоненты:
Поле | Тип компонента | Имя компонента |
---|---|---|
Нормативы продолжительности статусов сделки |
динамическая таблица |
crm_form_deal_flow_standard_table |
Статус сделки |
выпадающий список (справочник «crm_dict_dealStatus») |
crm_form_deal_flow_standard_status |
Продолжительность (в днях) |
числовое поле |
crm_form_deal_flow_standard_duration |
Продолжительность по умолчанию (в днях) |
числовое поле |
crm_form_deal_flow_standard_default_duration |
Динамическая таблица «Нормативы продолжительности статусов сделки»:
Форматная строка:
[${crm_form_deal_flow_standard_duration} для ${crm_form_deal_flow_standard_status}]
Разделитель свертки - ,
Поле «Продолжительность (в днях)»:
Значение поля по умолчанию - 1.
Поле «Продолжительность по умолчанию (в днях)»:
Значение поля по умолчанию - 1.
Свойство | Значение |
---|---|
Код |
crm_component_canban |
Использовать в формах |
включен |
HTML код:
<div id="redips-drag"> </div>
JAVASCRIPT код:
/*jslint white: true, browser: true, undef: true, nomen: true, eqeqeq: true, plusplus: false, bitwise: true, regexp: true, strict: true, newcap: true, immed: true, maxerr: 14 */ /*global window: false, REDIPS: true */ /* enable strict mode */ "use strict"; // define redips_init variable var redipsInit; // redips initialization redipsInit = function () { // reference to the REDIPS.drag library and message line var rd = REDIPS.drag; // how to display disabled elements rd.style.borderDisabled = 'solid'; // border style for disabled element will not be changed (default is dotted) rd.style.opacityDisabled = 60; // disabled elements will have opacity effect REDIPS.drag.dropMode = 'multiple'; // initialization rd.init(); // only "smile" can be placed to the marked cell rd.mark.exception.d8 = 'smile'; // prepare handlers rd.event.clicked = function () { }; rd.event.dblClicked = function () { }; rd.event.moved = function () { }; rd.event.notMoved = function () { }; rd.event.dropped = function () { var pos = rd.getPosition(); console.log($(rd.obj).attr('status')); var status = model.currentData[pos[2]]; if ($(rd.obj).attr('status') === status.status) { return; } AS.SERVICES.showWaitWindow(); var pFact = jQuery.ajax({ url: window.location.origin + "/crm/rest/api/funnel/changeLeadStatus?statusID="+(status.status) + "&statusName="+(status.name)+"&leadID=" + rd.obj.id, type: "POST", beforeSend: AS.FORMS.ApiUtils.addAuthHeader, dataType: "text", error: function(jqXHR, textStatus, errorThrown){ model.playerModel.redraw(); AS.SERVICES.hideWaitWindow(); try { AS.SERVICES.showErrorMessage(jqXHR.responseText); } catch (e) { console.log(e); } } }); jQuery.when(pFact).then(function (data) { model.playerModel.firstShow = false; console.log(data); model.playerModel.redraw(); var object = JSON.parse(data); if (object.dealObject) { var documentID = object.id; var hash = '#' + jQuery.param({ submodule: 'common', action: 'open_document', document_identifier: documentID}); window.top.location.hash = hash; } AS.SERVICES.hideWaitWindow(); }); }; rd.event.switched = function () { }; rd.event.clonedEnd1 = function () { }; rd.event.clonedEnd2 = function () { }; rd.event.notCloned = function () { }; rd.event.deleted = function (cloned) { // if cloned element is directly moved to the trash if (cloned) { // set id of original element (read from redips property) // var id_original = rd.obj.redips.id_original; } else { } }; rd.event.undeleted = function () { }; rd.event.cloned = function () { }; rd.event.changed = function () { // get target and source position (method returns positions as array) var pos = rd.getPosition(); }; }; // toggles trash_ask parameter defined at the top function toggleConfirm(chk) { if (chk.checked === true) { REDIPS.drag.trash.question = 'Are you sure you want to delete DIV element?'; } else { REDIPS.drag.trash.question = null; } } // toggles delete_cloned parameter defined at the top function toggleDeleteCloned(chk) { REDIPS.drag.clone.drop = !chk.checked; } // enables / disables dragging function toggleDragging(chk) { REDIPS.drag.enableDrag(chk.checked); } // function sets drop_option parameter defined at the top function setMode(radioButton) { REDIPS.drag.dropMode = radioButton.value; } view.initDnd = redipsInit;
Свойство | Значение |
---|---|
Код |
crm_component_canban_deal |
Использовать в формах |
включен |
HTML код:
<div id="redips-drag"> </div>
JAVASCRIPT код:
/*jslint white: true, browser: true, undef: true, nomen: true, eqeqeq: true, plusplus: false, bitwise: true, regexp: true, strict: true, newcap: true, immed: true, maxerr: 14 */ /*global window: false, REDIPS: true */ /* enable strict mode */ "use strict"; // define redips_init variable var redipsInit; // redips initialization redipsInit = function () { // reference to the REDIPS.drag library and message line var rd = REDIPS.drag; // how to display disabled elements rd.style.borderDisabled = 'solid'; // border style for disabled element will not be changed (default is dotted) rd.style.opacityDisabled = 60; // disabled elements will have opacity effect REDIPS.drag.dropMode = 'multiple'; // initialization rd.init(); // only "smile" can be placed to the marked cell rd.mark.exception.d8 = 'smile'; // prepare handlers rd.event.clicked = function () { }; rd.event.dblClicked = function () { }; rd.event.moved = function () { }; rd.event.notMoved = function () { }; rd.event.dropped = function () { var pos = rd.getPosition(); console.log($(rd.obj).attr('status')); var status = model.currentData[pos[2]]; if ($(rd.obj).attr('status') === status.status) { return; } AS.SERVICES.showWaitWindow(); var pFact = jQuery.ajax({ url: window.location.origin + "/crm/rest/api/funnel/changeDealStatus?statusID="+(status.status) + "&statusName="+(status.name)+"&leadID=" + rd.obj.id, type: "POST", beforeSend: AS.FORMS.ApiUtils.addAuthHeader, dataType: "text", error: function(jqXHR, textStatus, errorThrown){ model.playerModel.redraw(); AS.SERVICES.hideWaitWindow(); try { AS.SERVICES.showErrorMessage(jqXHR.responseText); } catch (e) { console.log(e); } } }); jQuery.when(pFact).then(function (data) { model.playerModel.firstShow = false; console.log(data); model.playerModel.redraw(); var object = JSON.parse(data); if (object.dealObject) { var documentID = object.id; var hash = '#' + jQuery.param({ submodule: 'common', action: 'open_document', document_identifier: documentID}); window.top.location.hash = hash; } AS.SERVICES.hideWaitWindow(); }); }; rd.event.switched = function () { }; rd.event.clonedEnd1 = function () { }; rd.event.clonedEnd2 = function () { }; rd.event.notCloned = function () { }; rd.event.deleted = function (cloned) { // if cloned element is directly moved to the trash if (cloned) { // set id of original element (read from redips property) // var id_original = rd.obj.redips.id_original; } else { } }; rd.event.undeleted = function () { }; rd.event.cloned = function () { }; rd.event.changed = function () { // get target and source position (method returns positions as array) var pos = rd.getPosition(); }; }; // toggles trash_ask parameter defined at the top function toggleConfirm(chk) { if (chk.checked === true) { REDIPS.drag.trash.question = 'Are you sure you want to delete DIV element?'; } else { REDIPS.drag.trash.question = null; } } // toggles delete_cloned parameter defined at the top function toggleDeleteCloned(chk) { REDIPS.drag.clone.drop = !chk.checked; } // enables / disables dragging function toggleDragging(chk) { REDIPS.drag.enableDrag(chk.checked); } // function sets drop_option parameter defined at the top function setMode(radioButton) { REDIPS.drag.dropMode = radioButton.value; } view.initDnd = redipsInit
Свойство | Значение |
---|---|
Код |
crm_component_deals_dashboard |
Использовать в формах |
включен |
HTML код:
<iframe src="http://%IP_adress%:5601/app/kibana#/dashboard/%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D1%80%D0%BE%D0%B4%D0%B0%D0%B6%D0%B0%D0%BC%D0%B8?embed=true&_g=(refreshInterval%3A('%24%24hashKey'%3A'object%3A36258'%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_os_dashboard |
Использовать в формах |
включен |
HTML код:
<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 |
Использовать в формах |
включен |
HTML код:
<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?embed=true&_g=(refreshInterval%3A('%24%24hashKey'%3A'object%3A700'%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_deal_button |
Использовать в формах |
включен |
HTML код:
<button class="ns-approveButton ns-basicChooserApplyButton ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" style="margin: 10px 0; display: block;" innerId='make_deal'>Создать</button>
JAVASCRIPT код:
var button = jQuery(view.container).children("[innerId='make_deal']"); var locale = AS.OPTIONS.locale; var statusValue; model.playerModel.dictionaryCache.getDictionary('crm_dict_leadStatus', AS.OPTIONS.locale, function(dictionary) { if(dictionary !== null) { dictionary.forEach(function(data, index){ if (data['crm_dict_leadStatus_end'] === '1') { statusValue = data['crm_dict_leadStatus_value']; button.text(data['crm_dict_leadStatus_buttonName']); } }); } }); button.click(function(){ model.playerModel.getModelWithId('crm_form_lead_deals_status').setValue(statusValue + ''); });
Свойство | Значение |
---|---|
Код |
crm_component_funnel |
Использовать в формах |
включен |
HTML код:
<style> .chart { margin: 0 auto; margin-top: 20px; margin-bottom: 20px; height: 500px; width: 450px; } </style <!-- Funnel container --> <div class="chart" id="funnel"></div>
JAVASCRIPT код:
/* global D3Funnel */ const data = { normal: [ ['Первичная регистрация', [0, ''], '#e73a00'], ['Квалификация', [0, ''], '#fa6c00'], ['Взращивание', [0, ''], '#ffa900'], ['Подтверждение интереса', [0, ''], '#ffc500'], ['В сделку', [0, ''], '#a6cf00'], ] }; const options = { chart: { width: 450, height: 500, bottomWidth: 1 / 2, curve: { enabled: false, }, }, block: { dynamicHeight: true, highlight: true, minHeight: 40, }, label: { format: '{l}: {v}n{f}', }, events: { click: { block: (d) => { alert('<' + d.label.raw + '> selected.'); }, }, } } const chart = new D3Funnel('#funnel'); const picker = document.getElementById('picker'); chart.draw(data.normal, options);
Свойство | Значение |
---|---|
Код |
crm_component_funnel_deal |
Использовать в формах |
включен |
HTML код:
<style> .chart { margin: 0 auto; margin-top: 20px; margin-bottom: 20px; height: 500px; width: 450px; } </style <!-- Funnel container --> <div class="chart" id="funnel"></div>
JAVASCRIPT код:
/* global D3Funnel */ const data = { normal: [ ['Первичная регистрация', [0, ''], '#e73a00'], ['Квалификация', [0, ''], '#fa6c00'], ['Взращивание', [0, ''], '#ffa900'], ['Подтверждение интереса', [0, ''], '#ffc500'], ['В сделку', [0, ''], '#a6cf00'], ] }; const options = { chart: { width: 450, height: 500, bottomWidth: 1 / 2, curve: { enabled: false, }, }, block: { dynamicHeight: false, highlight: true, minHeight: 40, }, label: { format: '{l}: {v}n{f}', }, events: { click: { block: (d) => { alert('<' + d.label.raw + '> selected.'); }, }, } } const chart = new D3Funnel('#funnel'); const picker = document.getElementById('picker'); chart.draw(data.normal, options);
Свойство | Значение |
---|---|
Код |
crm_component_group_button |
Использовать в формах |
включен |
HTML код:
<style> .btn_boot-group-lg > .btn_boot, .btn_boot-lg { padding: 10px 16px; font-size: 18px; border-radius: 6px } .btn_boot-group-sm > .btn_boot, .btn_boot-sm { padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px } .btn_boot-group-xs > .btn_boot, .btn_boot-xs { padding: 1px 5px; font-size: 12px; line-height: 1.5; border-radius: 3px } .btn_boot-group, .btn_boot-group-vertical { position: relative; vertical-align: middle; padding-top: 3px; } .btn_boot-group-vertical > .btn_boot, .btn_boot-group > .btn_boot { position: relative; float: left } .btn_boot-group-vertical > .btn_boot.active, .btn_boot-group-vertical > .btn_boot:active, .btn_boot-group-vertical > .btn_boot:focus, .btn_boot-group-vertical > .btn_boot:hover, .btn_boot-group > .btn_boot.active, .btn_boot-group > .btn_boot:active, .btn_boot-group > .btn_boot:focus, .btn_boot-group > .btn_boot:hover { z-index: 2 } .btn_boot-group .btn_boot + .btn_boot, .btn_boot-group .btn_boot + .btn_boot-group, .btn_boot-group .btn_boot-group + .btn_boot, .btn_boot-group .btn_boot-group + .btn_boot-group { margin-left: -1px } .btn_boot-toolbar { margin-left: -5px } .btn_boot-toolbar .btn_boot, .btn_boot-toolbar .btn_boot-group, .btn_boot-toolbar .input-group { float: left } .btn_boot-toolbar > .btn_boot, .btn_boot-toolbar > .btn_boot-group, .btn_boot-toolbar > .input-group { margin-left: 5px } .btn_boot-group > .btn_boot:not(:first-child):not(:last-child):not(.dropdown-toggle) { border-radius: 0 } .btn_boot-group > .btn_boot:first-child { margin-left: 0 } .btn_boot-group > .btn_boot:first-child:not(:last-child):not(.dropdown-toggle) { border-top-right-radius: 0; border-bottom-right-radius: 0 } .btn_boot-group > .btn_boot:last-child:not(:first-child), .btn_boot-group > .dropdown-toggle:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0 } .btn_boot-group > .btn_boot-group { float: left } .btn_boot-group > .btn_boot-group:not(:first-child):not(:last-child) > .btn_boot { border-radius: 0 } .btn_boot-group > .btn_boot-group:first-child:not(:last-child) > .btn_boot:last-child, .btn_boot-group > .btn_boot-group:first-child:not(:last-child) > .dropdown-toggle { border-top-right-radius: 0; border-bottom-right-radius: 0 } .btn_boot-group > .btn_boot-group:last-child:not(:first-child) > .btn_boot:first-child { border-top-left-radius: 0; border-bottom-left-radius: 0 } .btn_boot-group .dropdown-toggle:active, .btn_boot-group.open .dropdown-toggle { outline: 0 } .btn_boot-group > .btn_boot + .dropdown-toggle { padding-right: 8px; padding-left: 8px } .btn_boot-group > .btn_boot-lg + .dropdown-toggle { padding-right: 12px; padding-left: 12px } .btn_boot-group.open .dropdown-toggle { -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125) } .btn_boot-group.open .dropdown-toggle.btn_boot-link { -webkit-box-shadow: none; box-shadow: none } .btn_boot .caret { margin-left: 0 } .btn_boot-lg .caret { border-width: 5px 5px 0; border-bottom-width: 0 } .dropup .btn_boot-lg .caret { border-width: 0 5px 5px } .btn_boot-group-vertical > .btn_boot, .btn_boot-group-vertical > .btn_boot-group, .btn_boot-group-vertical > .btn_boot-group > .btn_boot { display: block; float: none; width: 100%; max-width: 100% } .btn_boot-group-vertical > .btn_boot-group > .btn_boot { float: none } .btn_boot-group-vertical > .btn_boot + .btn_boot, .btn_boot-group-vertical > .btn_boot + .btn_boot-group, .btn_boot-group-vertical > .btn_boot-group + .btn_boot, .btn_boot-group-vertical > .btn_boot-group + .btn_boot-group { margin-top: -1px; margin-left: 0 } .btn_boot-group-vertical > .btn_boot:not(:first-child):not(:last-child) { border-radius: 0 } .btn_boot-group-vertical > .btn_boot:first-child:not(:last-child) { border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 0; border-bottom-left-radius: 0 } .btn_boot-group-vertical > .btn_boot:last-child:not(:first-child) { border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px } .btn_boot-group-vertical > .btn_boot-group:not(:first-child):not(:last-child) > .btn_boot { border-radius: 0 } .btn_boot-group-vertical > .btn_boot-group:first-child:not(:last-child) > .btn_boot:last-child, .btn_boot-group-vertical > .btn_boot-group:first-child:not(:last-child) > .dropdown-toggle { border-bottom-right-radius: 0; border-bottom-left-radius: 0 } .btn_boot-group-vertical > .btn_boot-group:last-child:not(:first-child) > .btn_boot:first-child { border-top-left-radius: 0; border-top-right-radius: 0 } .btn_boot-group-justified { display: table; width: 100%; table-layout: fixed; border-collapse: separate } .btn_boot-group-justified > .btn_boot, .btn_boot-group-justified > .btn_boot-group { display: table-cell; float: none; width: 1% } .btn_boot-group-justified > .btn_boot-group .btn_boot { width: 100% } .btn_boot-group-justified > .btn_boot-group .dropdown-menu { left: auto } .btn_boot { display: inline-block; padding: 6px 12px; margin-bottom: 0; font-size: 14px; font-weight: bolder; line-height: 0.9; text-align: center; white-space: nowrap; vertical-align: middle; -ms-touch-action: manipulation; touch-action: manipulation; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-image: none; border: 1px solid transparent; border-radius: 4px; } .btn_boot.active.focus, .btn_boot.active:focus, .btn_boot.focus, .btn_boot:active.focus, .btn_boot:active:focus, .btn_boot:focus { } .btn_boot.focus, .btn_boot:focus, .btn_boot:hover { color: #333; text-decoration: none } .btn_boot.active, .btn_boot:active { background-image: none; outline: 0; } .btn_boot.disabled, .btn_boot[disabled], fieldset[disabled] .btn_boot { cursor: not-allowed; filter: alpha(opacity=65); -webkit-box-shadow: none; box-shadow: none; opacity: .65 } a.btn_boot.disabled, fieldset[disabled] a.btn_boot { pointer-events: none } .btn_boot-default { color: #333; background-color: #eeeeee; border-color: #D5D5D5 } .btn_boot-default.focus, .btn_boot-default:focus { color: #333; background-color: #eeeeee; border-color: #D5D5D5 } .btn_boot-default:hover { color: #333; background-color: #eeeeee; border-color: #D5D5D5 } .btn_boot-default.active, .btn_boot-default:active, .open > .dropdown-toggle.btn_boot-default { color: #333; background-color: #DDDDDD; border-color: #D5D5D5 } .btn_boot-default.active.focus, .btn_boot-default.active:focus, .btn_boot-default.active:hover, .btn_boot-default:active.focus, .btn_boot-default:active:focus, .btn_boot-default:active:hover, .open > .dropdown-toggle.btn_boot-default.focus, .open > .dropdown-toggle.btn_boot-default:focus, .open > .dropdown-toggle.btn_boot-default:hover { color: #333; background-color: #DDDDDD; border-color: #D5D5D5 } .btn_boot-default.active, .btn_boot-default:active, .open > .dropdown-toggle.btn_boot-default { background-image: none } .btn_boot-default.disabled.focus, .btn_boot-default.disabled:focus, .btn_boot-default.disabled:hover, .btn_boot-default[disabled].focus, .btn_boot-default[disabled]:focus, .btn_boot-default[disabled]:hover, fieldset[disabled] .btn_boot-default.focus, fieldset[disabled] .btn_boot-default:focus, fieldset[disabled] .btn_boot-default:hover { background-color: #fff; border-color: #D5D5D5 } .btn_boot-default .badge { color: #fff; background-color: #8c8c8c } </style> <div class="btn_boot-group" style=" width:275px; margin: 0 auto; height: 26px; align-self: center; text-align: center; " innerId="group"> <button type="button" class="btn_boot btn_boot-default" innerId="funnel">Воронка</button> <button type="button" class="btn_boot btn_boot-default active" innerId="canban">Поток</button> <button type="button" class="btn_boot btn_boot-default " innerId="dashboard">Аналитика</button> </div>
JAVASCRIPT код:
$(".btn_boot-group > .btn_boot").click(function(){ $(this).addClass("active").siblings().removeClass("active"); }); var funnel = jQuery(view.container[0]).children("[innerId='group']").children("[innerId='funnel']"); funnel.text(i18n.tr('Воронка')); var canban = jQuery(view.container[0]).children("[innerId='group']").children("[innerId='canban']"); canban.text(i18n.tr('Поток')); var dashboard = jQuery(view.container[0]).children("[innerId='group']").children("[innerId='dashboard']"); dashboard.text(i18n.tr('Аналитика')); var funnel_cmp = view.playerView.getViewWithId('crm_form_funnel_funnel'); var canban_cmp = view.playerView.getViewWithId('crm_form_funnel_canban'); var bottom_cmp = view.playerView.getViewWithId('crm_form_funnel_bottom_sum'); var dashboard_cmp = view.playerView.getViewWithId('crm_form_funnel_dashboard'); var filterTable = view.playerView.getViewWithId('crm_form_funnel_filter_panel'); model.playerModel.funnelDrawn = false; model.playerModel.canbanDrawn = false; funnel.click(function(){ $('body').css('overflow', 'auto'); funnel_cmp.setVisible(true); bottom_cmp.setVisible(true); canban_cmp.setVisible(false); dashboard_cmp.setVisible(false); model.playerModel.isFunnel = true; filterTable.setVisible(true); if (!model.playerModel.funnelDrawn) { model.playerModel.redraw(); } }); canban.click(function(){ $('body').css('overflow', 'auto'); funnel_cmp.setVisible(false); canban_cmp.setVisible(true); bottom_cmp.setVisible(false); dashboard_cmp.setVisible(false); model.playerModel.isFunnel = false; filterTable.setVisible(true); if (!model.playerModel.canbanDrawn) { model.playerModel.redraw(); } }); dashboard.click(function(){ $('body').css('overflow', 'auto'); funnel_cmp.setVisible(false); bottom_cmp.setVisible(false); canban_cmp.setVisible(false); dashboard_cmp.setVisible(true); dashboard_cmp.calcDim(); filterTable.setVisible(false); });
Свойство | Значение |
---|---|
Код |
crm_component_group_button_deal |
Использовать в формах |
включен |
HTML код:
<style> .btn_boot-group-lg > .btn_boot, .btn_boot-lg { padding: 10px 16px; font-size: 18px; border-radius: 6px } .btn_boot-group-sm > .btn_boot, .btn_boot-sm { padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px } .btn_boot-group-xs > .btn_boot, .btn_boot-xs { padding: 1px 5px; font-size: 12px; line-height: 1.5; border-radius: 3px } .btn_boot-group, .btn_boot-group-vertical { position: relative; vertical-align: middle; padding-top: 3px; } .btn_boot-group-vertical > .btn_boot, .btn_boot-group > .btn_boot { position: relative; float: left } .btn_boot-group-vertical > .btn_boot.active, .btn_boot-group-vertical > .btn_boot:active, .btn_boot-group-vertical > .btn_boot:focus, .btn_boot-group-vertical > .btn_boot:hover, .btn_boot-group > .btn_boot.active, .btn_boot-group > .btn_boot:active, .btn_boot-group > .btn_boot:focus, .btn_boot-group > .btn_boot:hover { z-index: 2 } .btn_boot-group .btn_boot + .btn_boot, .btn_boot-group .btn_boot + .btn_boot-group, .btn_boot-group .btn_boot-group + .btn_boot, .btn_boot-group .btn_boot-group + .btn_boot-group { margin-left: -1px } .btn_boot-toolbar { margin-left: -5px } .btn_boot-toolbar .btn_boot, .btn_boot-toolbar .btn_boot-group, .btn_boot-toolbar .input-group { float: left } .btn_boot-toolbar > .btn_boot, .btn_boot-toolbar > .btn_boot-group, .btn_boot-toolbar > .input-group { margin-left: 5px } .btn_boot-group > .btn_boot:not(:first-child):not(:last-child):not(.dropdown-toggle) { border-radius: 0 } .btn_boot-group > .btn_boot:first-child { margin-left: 0 } .btn_boot-group > .btn_boot:first-child:not(:last-child):not(.dropdown-toggle) { border-top-right-radius: 0; border-bottom-right-radius: 0 } .btn_boot-group > .btn_boot:last-child:not(:first-child), .btn_boot-group > .dropdown-toggle:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0 } .btn_boot-group > .btn_boot-group { float: left } .btn_boot-group > .btn_boot-group:not(:first-child):not(:last-child) > .btn_boot { border-radius: 0 } .btn_boot-group > .btn_boot-group:first-child:not(:last-child) > .btn_boot:last-child, .btn_boot-group > .btn_boot-group:first-child:not(:last-child) > .dropdown-toggle { border-top-right-radius: 0; border-bottom-right-radius: 0 } .btn_boot-group > .btn_boot-group:last-child:not(:first-child) > .btn_boot:first-child { border-top-left-radius: 0; border-bottom-left-radius: 0 } .btn_boot-group .dropdown-toggle:active, .btn_boot-group.open .dropdown-toggle { outline: 0 } .btn_boot-group > .btn_boot + .dropdown-toggle { padding-right: 8px; padding-left: 8px } .btn_boot-group > .btn_boot-lg + .dropdown-toggle { padding-right: 12px; padding-left: 12px } .btn_boot-group.open .dropdown-toggle { -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125) } .btn_boot-group.open .dropdown-toggle.btn_boot-link { -webkit-box-shadow: none; box-shadow: none } .btn_boot .caret { margin-left: 0 } .btn_boot-lg .caret { border-width: 5px 5px 0; border-bottom-width: 0 } .dropup .btn_boot-lg .caret { border-width: 0 5px 5px } .btn_boot-group-vertical > .btn_boot, .btn_boot-group-vertical > .btn_boot-group, .btn_boot-group-vertical > .btn_boot-group > .btn_boot { display: block; float: none; width: 100%; max-width: 100% } .btn_boot-group-vertical > .btn_boot-group > .btn_boot { float: none } .btn_boot-group-vertical > .btn_boot + .btn_boot, .btn_boot-group-vertical > .btn_boot + .btn_boot-group, .btn_boot-group-vertical > .btn_boot-group + .btn_boot, .btn_boot-group-vertical > .btn_boot-group + .btn_boot-group { margin-top: -1px; margin-left: 0 } .btn_boot-group-vertical > .btn_boot:not(:first-child):not(:last-child) { border-radius: 0 } .btn_boot-group-vertical > .btn_boot:first-child:not(:last-child) { border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 0; border-bottom-left-radius: 0 } .btn_boot-group-vertical > .btn_boot:last-child:not(:first-child) { border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px } .btn_boot-group-vertical > .btn_boot-group:not(:first-child):not(:last-child) > .btn_boot { border-radius: 0 } .btn_boot-group-vertical > .btn_boot-group:first-child:not(:last-child) > .btn_boot:last-child, .btn_boot-group-vertical > .btn_boot-group:first-child:not(:last-child) > .dropdown-toggle { border-bottom-right-radius: 0; border-bottom-left-radius: 0 } .btn_boot-group-vertical > .btn_boot-group:last-child:not(:first-child) > .btn_boot:first-child { border-top-left-radius: 0; border-top-right-radius: 0 } .btn_boot-group-justified { display: table; width: 100%; table-layout: fixed; border-collapse: separate } .btn_boot-group-justified > .btn_boot, .btn_boot-group-justified > .btn_boot-group { display: table-cell; float: none; width: 1% } .btn_boot-group-justified > .btn_boot-group .btn_boot { width: 100% } .btn_boot-group-justified > .btn_boot-group .dropdown-menu { left: auto } .btn_boot { display: inline-block; padding: 6px 12px; margin-bottom: 0; font-size: 14px; font-weight: bolder; line-height: 0.9; text-align: center; white-space: nowrap; vertical-align: middle; -ms-touch-action: manipulation; touch-action: manipulation; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-image: none; border: 1px solid transparent; border-radius: 4px; } .btn_boot.active.focus, .btn_boot.active:focus, .btn_boot.focus, .btn_boot:active.focus, .btn_boot:active:focus, .btn_boot:focus { } .btn_boot.focus, .btn_boot:focus, .btn_boot:hover { color: #333; text-decoration: none } .btn_boot.active, .btn_boot:active { background-image: none; outline: 0; } .btn_boot.disabled, .btn_boot[disabled], fieldset[disabled] .btn_boot { cursor: not-allowed; filter: alpha(opacity=65); -webkit-box-shadow: none; box-shadow: none; opacity: .65 } a.btn_boot.disabled, fieldset[disabled] a.btn_boot { pointer-events: none } .btn_boot-default { color: #333; background-color: #eeeeee; border-color: #D5D5D5 } .btn_boot-default.focus, .btn_boot-default:focus { color: #333; background-color: #eeeeee; border-color: #D5D5D5 } .btn_boot-default:hover { color: #333; background-color: #eeeeee; border-color: #D5D5D5 } .btn_boot-default.active, .btn_boot-default:active, .open > .dropdown-toggle.btn_boot-default { color: #333; background-color: #DDDDDD; border-color: #D5D5D5 } .btn_boot-default.active.focus, .btn_boot-default.active:focus, .btn_boot-default.active:hover, .btn_boot-default:active.focus, .btn_boot-default:active:focus, .btn_boot-default:active:hover, .open > .dropdown-toggle.btn_boot-default.focus, .open > .dropdown-toggle.btn_boot-default:focus, .open > .dropdown-toggle.btn_boot-default:hover { color: #333; background-color: #DDDDDD; border-color: #D5D5D5 } .btn_boot-default.active, .btn_boot-default:active, .open > .dropdown-toggle.btn_boot-default { background-image: none } .btn_boot-default.disabled.focus, .btn_boot-default.disabled:focus, .btn_boot-default.disabled:hover, .btn_boot-default[disabled].focus, .btn_boot-default[disabled]:focus, .btn_boot-default[disabled]:hover, fieldset[disabled] .btn_boot-default.focus, fieldset[disabled] .btn_boot-default:focus, fieldset[disabled] .btn_boot-default:hover { background-color: #fff; border-color: #D5D5D5 } .btn_boot-default .badge { color: #fff; background-color: #8c8c8c } </style> <div class="btn_boot-group" style=" width:400px; margin: 0 auto; height: 26px; align-self: center; text-align: center;" innerId="group"> <button type="button" class="btn_boot btn_boot-default" innerId="funnel">Воронка</button> <button type="button" class="btn_boot btn_boot-default active" innerId="canban">Поток</button> <button type="button" class="btn_boot btn_boot-default " innerId="dashboard">Аналитика</button> <button type="button" class="btn_boot btn_boot-default " innerId="productivity">Продуктивность</button> </div>
JAVASCRIPT код:
$(".btn_boot-group > .btn_boot").click(function(){ $(this).addClass("active").siblings().removeClass("active"); }); var funnel = jQuery(view.container[0]).children("[innerId='group']").children("[innerId='funnel']"); funnel.text(i18n.tr('Воронка')); var canban = jQuery(view.container[0]).children("[innerId='group']").children("[innerId='canban']"); canban.text(i18n.tr('Поток')); var dashboard = jQuery(view.container[0]).children("[innerId='group']").children("[innerId='dashboard']"); dashboard.text(i18n.tr('Аналитика')); var productivity = jQuery(view.container[0]).children("[innerId='group']").children("[innerId='productivity']"); productivity.text(i18n.tr('Продуктивность')); var funnel_cmp = view.playerView.getViewWithId('crm_form_funnel_funnel'); var canban_cmp = view.playerView.getViewWithId('crm_form_funnel_canban'); var bottom_cmp = view.playerView.getViewWithId('crm_form_funnel_bottom_sum'); var dashboard_cmp = view.playerView.getViewWithId('crm_form_funnel_dashboard'); var productivity_cmp = view.playerView.getViewWithId('crm_form_funnel_productivity'); var filterTable = view.playerView.getViewWithId('crm_form_funnel_filter_panel'); model.playerModel.funnelDrawn = false; model.playerModel.canbanDrawn = false; funnel.click(function(){ $('body').css('overflow', 'auto'); funnel_cmp.setVisible(true); bottom_cmp.setVisible(true); canban_cmp.setVisible(false); productivity_cmp.setVisible(false); dashboard_cmp.setVisible(false); model.playerModel.isFunnel = true; filterTable.setVisible(true); if (!model.playerModel.funnelDrawn) { model.playerModel.redraw(); } }); canban.click(function(){ $('body').css('overflow', 'auto'); funnel_cmp.setVisible(false); canban_cmp.setVisible(true); bottom_cmp.setVisible(false); productivity_cmp.setVisible(false); dashboard_cmp.setVisible(false); model.playerModel.isFunnel = false; filterTable.setVisible(true); if (!model.playerModel.canbanDrawn) { model.playerModel.redraw(); } }); dashboard.click(function(){ $('body').css('overflow', 'auto'); funnel_cmp.setVisible(false); bottom_cmp.setVisible(false); canban_cmp.setVisible(false); productivity_cmp.setVisible(false); dashboard_cmp.setVisible(true); dashboard_cmp.calcDim(); filterTable.setVisible(false); }); productivity.click(function(){ $('body').css('overflow', 'auto'); funnel_cmp.setVisible(false); bottom_cmp.setVisible(false); canban_cmp.setVisible(false); dashboard_cmp.setVisible(false); productivity_cmp.setVisible(true); productivity_cmp.calcDim(); filterTable.setVisible(false); });
Свойство | Значение |
---|---|
Код |
crm_component_leads_dashboard |
Использовать в формах |
включен |
HTML код:
<iframe src="http://%IP_adress%:5601/app/kibana#/dashboard/%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BC%D0%B0%D1%80%D0%BA%D0%B5%D1%82%D0%B8%D0%BD%D0%B3%D0%BE%D0%BC?embed=true&_g=(refreshInterval%3A('%24%24hashKey'%3A'object%3A36258'%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_notifications |
Использовать в формах |
выключен |
HTML код:
<style> .save_button_container { text-align: center; padding-top: 21px; padding-bottom: 21px; } .notification-container { width: 300px; position: absolute; bottom: 40px; right: 15px; } .notification { padding: 12px; text-overflow: ellipsis; white-space: nowrap; width: 275px; background-color: #ffffff; border-radius: 5px; box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.75); margin-top: 10px; color: #606060; font-size: 14px; } .info_block { display: flex; } .link_block { padding: 15px 0 15px 0; width: 270px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; } .button_success { display: inline-block; background-color: #49b785; color: #ffffff; height: 32px; min-width: 32px; padding-left: 30px; padding-right: 30px; -moz-padding-end: 25px; -moz-padding-start: 25px; border: none; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; font-size: 14px; font-weight: bold; margin-left: 25px; } .button_remain { display: inline-block; background-color: #ffffff; color: #606060; height: 32px; min-width: 32px; padding-left: 30px; padding-right: 30px; -moz-padding-end: 25px; -moz-padding-start: 25px; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; font-size: 14px; font-weight: bold; border: 1px solid #e2e2e2; } .notification.more-notifications { padding: 6px 9px 6px 15px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; } .comment_block { width: 250px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; opacity: 0.5; } .link_block a { font-weight: bold; color: #606060; font-size: 14px; } .ring_block { padding-right: 9px; } </style>
JAVASCRIPT код:
var synergyURL = window.location.protocol + "//" + window.location.host + "/Synergy/"; AS.OPTIONS.coreUrl = synergyURL; var putItem = setInterval(function () { var element = jQuery('.popupMenuBlack.popupMenuItemLeftBlack.createButton table.popupMenuItemBlack > tbody > tr:last'); var elementLength = jQuery('.popupMenuBlack.popupMenuItemLeftBlack.createButton table.popupMenuItemBlack > tbody').length; var el2 = jQuery('.popupMenuBlack.popupMenuItemLeftBlack.createButton table.popupMenuItemBlack > tbody > tr:last [title="Напоминание"]'); var menuHeight = jQuery('.popupMenuBlack.popupMenuItemLeftBlack.createButton table.popupMenuItemBlack').parent(); if (elementLength == 1 && el2.length == 0) { element.after('<tr><td><table onmouseover="mouseOver(this)" onmouseout="mouseOut(this)" cellpadding="0" cellspacing="0" border="0" style="width: 100%; height: 24px;"><colgroup><col></colgroup><tbody><tr><td width="24px" class=""><img src="images/empty.gif" class="gwt-Image" style="width: 24px; height: 24px;"></td><td title="Напоминание" class="popup-menu-text" onclick="onItemClick()">Напоминание</td></tr></tbody></table></td></tr>') menuHeight.height(menuHeight.height() + 30); } }, 100); var onItemClick = function () { var container = jQuery('<div></div>', {id: 'form_player_container'}); container.append(jQuery('<div></div>', {id: 'form_player_div'})); var buttonContainer = jQuery('<div></div>', {class: 'save_button_container'}); var button = jQuery('<button id="save_button_task" class="button button-success" disabled>' + i18n.tr("Сохранить") + '</button>'); buttonContainer.append(button); container.append(buttonContainer); var dialog = container.dialog({ modal: true, width: 600, resizable: false, close: function (event, ui) { dialog.dialog('destroy').remove(); }, title: i18n.tr("Создание напоминания") }); button.click(function () { var data = getData(); if(!data){ return; } saveTask(data, function (result) { notShowed.push({ taskID: JSON.parse(result).taskID, taskObject: getTaskObjectArray(data.task), start: data.start, finish: data.finish, task: data.task }); dialog.dialog('destroy').remove(); }); }); jQuery('.popupMenuItemLeftBlack').hide(); portal.createPlayer(); }; function getData() { var dict = portal.player.model.getModelWithId('dict').getTextValue(); var task = portal.player.model.getModelWithId('comment').getValue(); if (!task || task == 'null') { task = ''; } var start = portal.player.model.getModelWithId('start').getValue(); var lead = portal.player.model.getModelWithId('lead'); var leadId = ''; var leadName = ''; if (lead) { leadId = lead.getValue(); leadName = lead.getTextValue(); } var deal = portal.player.model.getModelWithId('deal'); var dealId = ''; var dealName = ''; if (deal) { dealId = deal.getValue(); dealName = deal.getTextValue(); } if(!dealId && !leadId){ portal.player.view.getViewWithId('lead').markInvalid(); portal.player.view.getViewWithId('deal').markInvalid(); AS.SERVICES.showErrorMessage(i18n.tr("Выберите лида или сделку")); return; } var breakChar = String.fromCharCode(13); var result = 'Напоминание!' + breakChar + dict + breakChar + leadName + breakChar + '#submodule=common&action=open_document&document_identifier=' + leadId + breakChar + dealName + breakChar + '#submodule=common&action=open_document&document_identifier=' + dealId + breakChar + breakChar + task; return { task: result, start: start, finish: start.substr(0, start.indexOf(' ')) + " 23:59:00" }; } var mouseOver = function (element) { element.style.backgroundColor = '#E4EEF5'; }; var mouseOut = function (element) { element.style.backgroundColor = ''; }; var portal = { player: null, clearPlayer: function () { if (portal.player) { portal.player.destroy(); } jQuery("#save_button_task").attr('disabled'); portal.player = null; }, /** * добавить новый проигрыватель форм */ createPlayer: function (dataId) { portal.clearPlayer(); portal.player = AS.FORMS.createPlayer(); portal.player.model.on(AS.FORMS.EVENT_TYPE.valueChange, function (event, model, view) { var start = portal.player.model.getModelWithId('start'); if (!start) { return; } var startValue = start.getValue(); if (startValue) { jQuery("#save_button_task").removeAttr('disabled', 'disabled'); } else { jQuery("#save_button_task").attr('disabled', 'disabled'); } }); portal.player.view.setEditable(true); AS.SERVICES.showWaitWindow(); var handler = function (definition, data) { portal.player.model.buildModelsDefinition(definition, null); AS.SERVICES.hideWaitWindow(); if (data) { portal.player.model.setAsfData(data); } }; jQuery.when(loadDefaultAsfData("crm_form_task")) .then(function (data) { jQuery.when(loadFormDefinition("crm_form_task", 0), data).then(handler); }); portal.player.view.appendTo($('#form_player_div')); } }; function loadDefaultAsfData(formCode) { return AS.FORMS.ApiUtils.simpleAsyncGet('rest/api/asforms/getDefaultContent?formCode=' + formCode); } function loadFormDefinition(code, version) { if (version) { return AS.FORMS.ApiUtils.simpleAsyncGet('rest/api/asforms/form_ext?formCode=' + code + "&version=" + version); } else { return AS.FORMS.ApiUtils.simpleAsyncGet('rest/api/asforms/form_ext?formCode=' + code); } } function loadTasks(handler) { var currentDate = $.datepicker.formatDate('yy-mm-dd', new Date()); var finish = new Date(); finish.setDate(finish.getDate() + 7); var finishDate = $.datepicker.formatDate('yy-mm-dd', finish); return AS.FORMS.ApiUtils.simpleAsyncGet('rest/api/diary/tasks/' + AS.OPTIONS.currentUser.userId + '/all?start=' + currentDate + '&finish=' + finishDate, handler); } function completeTask(taskID) { return AS.FORMS.ApiUtils.simpleAsyncGet('rest/api/diary/tasks/complete?taskID=' + taskID); } function remainLater(data, handler) { return saveTask(data); } function saveTask(data, handler) { return AS.FORMS.ApiUtils.simpleAsyncPost('rest/api/diary/tasks/' + AS.OPTIONS.currentUser.userId + '/save', AS.FORMS.ApiUtils.getHandler(handler, true), "text", data, undefined, function () { }); } function createNotification(taskObject, taskID) { var remain = jQuery('<button class="button_remain" taskID="' + taskID + '">' + i18n.tr("Отложить") + '</button>'); var close = jQuery('<button class="button_success" taskID="' + taskID + '">' + i18n.tr("Закрыть") + '</button>'); close.click(function (event) { var button = jQuery(event.target); var taskID = button.attr('taskID'); completeTask(taskID); for (var i = 0; i < showed.length; i++) { if (showed[i].taskID === taskID) { showed.splice(i, 1); break; } } showNotify(); }); remain.click(function (event) { var button = jQuery(event.target); var taskID = button.attr('taskID'); for (var i = 0; i < showed.length; i++) { if (showed[i].taskID === taskID) { var element = showed[i]; var now = new Date(); now.setMinutes(now.getMinutes() + 15); element.start = AS.FORMS.DateUtils.formatDate(now, '${yyyy}-${mm}-${dd} ${HH}:${MM}:${SS}'); if (new Date(element.finish).getTime() < new Date(element.start).getTime()) { now = new Date(element.finish); now.setMinutes(now.getMinutes() + 15); element.finish = AS.FORMS.DateUtils.formatDate(now, '${yyyy}-${mm}-${dd} ${HH}:${MM}:${SS}'); } remainLater(element); notShowed.push(element); showed.splice(i, 1); break; } } showNotify(); }); var buttonBlock = jQuery('<div></div>', {class: 'button_block'}); buttonBlock.append(remain); buttonBlock.append(close); var infoBlock = jQuery('<div></div>', {class: 'info_block'}); var ring = jQuery('<div class="ring_block"><img src="data:image/jpeg;base64, ' + ringBase64 + '"/></div>'); infoBlock.append(ring); var textInfo = jQuery('<div></div>', {class: 'text_info'}); var dictValue = jQuery('<div title="' + _.escape(taskObject[1]) + '" class="dict_block">' + taskObject[1] + '</div>'); textInfo.append(dictValue); var comment = jQuery('<div title="' + _.escape(taskObject[7]) + '" class="comment_block">' + taskObject[7] + '</div>'); textInfo.append(comment); infoBlock.append(textInfo); var linkBlock = jQuery('<div class="link_block"><a title="' + _.escape(taskObject[2]) + '" href="' + taskObject[3] + '">' + taskObject[2] + '</a></div>'); var linkDealBlock = jQuery('<div class="link_block"><a title="' + _.escape(taskObject[4]) + '" href="' + taskObject[5] + '">' + taskObject[4] + '</a></div>'); var element = jQuery("<div class='notification'></div>"); element.append(infoBlock); if (taskObject[2]) { element.append(linkBlock); } if (taskObject[4]) { element.append(linkDealBlock); } element.append(buttonBlock); return element; } /** * Проверка не наступило ли время уведомления */ function checkTimeInArray() { setInterval(function () { var tmp = []; var addedNotify = false; notShowed.forEach(function (task) { var object = { taskID: task.taskID, taskObject: task.taskObject, start: task.start, task: task.task, finish: task.finish }; if (isTimeToShow(task.start)) { showed.push(object); addedNotify = true; } else { tmp.push(object); } }); notShowed = tmp; if (addedNotify) { showNotify(); } }, 1000); } /** * Отображение уведомлений, берет массив уведомлений которые необходимо показать и отображает их */ function showNotify() { clearAllNotifications(); var tmp = 0; var more = 0; for (var i = showed.length - 1; i >= 0; i--) { var task = showed[i]; if (tmp < 3) { notificationPanel.append(createNotification(task.taskObject, task.taskID)); } else { more++; } tmp++; } if (more > 0) { notificationPanel.append(jQuery('<div class="notification more-notifications">' + i18n.tr("Еще напоминаний:") + ' ' + more + '</div>')); } } /** * Наступило ли время для показа уведомления */ function isTimeToShow(start) { return new Date().getTime() > new Date(start).getTime(); } /** * Отчистка всех уведомлений */ function clearAllNotifications() { jQuery('.notification').remove(); } /** * Создана ли заметка через нужную форму */ function isValidTask(taskObject) { return taskObject[0] == 'Напоминание!' && taskObject.length == 8; } /** * Получение массива объектов (разделены переносами) */ function getTaskObjectArray(task) { return task.split(String.fromCharCode(13)); } /** * Вставка панели уведомлений */ jQuery(document).ready(function () { var checkExist = setInterval(function () { if (AS.OPTIONS.login && AS.OPTIONS.login != '') { addPanel(); clearInterval(checkExist); } }, 100); }); var notificationPanel = jQuery("<div class='notification-container'></div>"); var showed = []; var notShowed = []; var loaded = false; function addPanel() { if (!loaded) { loaded = true; jQuery("body").append(notificationPanel); notificationPanel.show(function () { loadTasks(function (data) { clearAllNotifications(); data.forEach(function (task) { var taskObject = getTaskObjectArray(task.task); if (isValidTask(taskObject)) { var object = { taskID: task.taskID, taskObject: taskObject, start: task.start, task: task.task, finish: task.finish }; if (isTimeToShow(task.start)) { showed.push(object); } else { notShowed.push(object); } } }); checkTimeInArray(); showNotify(); }); }); } } //Иконка колокольчика var ringBase64 = 'iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAQAAABKfvVzAAAACXBIWXMAAAsTAAALEwEAmpwYAAADGGlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjaY2BgnuDo4uTKJMDAUFBUUuQe5BgZERmlwH6egY2BmYGBgYGBITG5uMAxIMCHgYGBIS8/L5UBFTAyMHy7xsDIwMDAcFnX0cXJlYE0wJpcUFTCwMBwgIGBwSgltTiZgYHhCwMDQ3p5SUEJAwNjDAMDg0hSdkEJAwNjAQMDg0h2SJAzAwNjCwMDE09JakUJAwMDg3N+QWVRZnpGiYKhpaWlgmNKflKqQnBlcUlqbrGCZ15yflFBflFiSWoKAwMD1A4GBgYGXpf8EgX3xMw8BSMDVQYqg4jIKAUICxE+CDEESC4tKoMHJQODAIMCgwGDA0MAQyJDPcMChqMMbxjFGV0YSxlXMN5jEmMKYprAdIFZmDmSeSHzGxZLlg6WW6x6rK2s99gs2aaxfWMPZ9/NocTRxfGFM5HzApcj1xZuTe4FPFI8U3mFeCfxCfNN45fhXyygI7BD0FXwilCq0A/hXhEVkb2i4aJfxCaJG4lfkaiQlJM8JpUvLS19QqZMVl32llyfvIv8H4WtioVKekpvldeqFKiaqP5UO6jepRGqqaT5QeuA9iSdVF0rPUG9V/pHDBYY1hrFGNuayJsym740u2C+02KJ5QSrOutcmzjbQDtXe2sHY0cdJzVnJRcFV3k3BXdlD3VPXS8Tbxsfd99gvwT//ID6wIlBS4N3hVwMfRnOFCEXaRUVEV0RMzN2T9yDBLZE3aSw5IaUNak30zkyLDIzs+ZmX8xlz7PPryjYVPiuWLskq3RV2ZsK/cqSql01jLVedVPrHzbqNdU0n22VaytsP9op3VXUfbpXta+x/+5Em0mzJ/+dGj/t8AyNmf2zvs9JmHt6vvmCpYtEFrcu+bYsc/m9lSGrTq9xWbtvveWGbZtMNm/ZarJt+w6rnft3u+45uy9s/4ODOYd+Hmk/Jn58xUnrU+fOJJ/9dX7SRe1LR68kXv13fc5Nm1t379TfU75/4mHeY7En+59lvhB5efB1/lv5dxc+NH0y/fzq64Lv4T8Ffp360/rP8f9/AA0ADzT6lvFdAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAADBSURBVHjazJSxDoIwEIa/Etkc9AEclAchrizMbMaEnTegr2GcfQPiyovgZgLv4FAXlQo9hRATb2rv7rvr31yrDOPMG5nP7LnY2l5FBJyx2pcfO0QUFERDj+QRAxC7on1XQkUKQEpFImp4WMoB9dqtOTHn+CbP2KJXXPA7JW5suEqis146+GSyhtB5Z6EMBE4gkIGFE1hOGo0/B7SYpV2AJheBvEXa0fjy9ErVHT41RXSNwVAPB/Y0NOxcIfXzX+M+ACEjIJk9xFSpAAAAAElFTkSuQmCC';
Свойство | Значение |
---|---|
Код |
crm_component_registry_chooser |
Использовать в формах |
включен |
HTML код:
<style> .edit { border: 1px solid black; float: right; background: url('light/images/buttons/dark.gray/edit.png') 50%; width: 30px; height: 22px; background-repeat: no-repeat; border-radius: 5px; border-color: gray; } .edited{ background-color: #efefef; } </style> <div innerId="textView" style="text-decoration:underline; cursor:pointer;width:calc(100% ); color:#06f; margin-bottom:2px"></div> <input type="text" class="asf-textBox" innerId="name" style="width:calc(100% )"/> <div style="color:#606060; text-decoration:underline" class="asf-InlineBlock asf-cursorPointer" innerId="add">+Создать</div> <div style="color:#606060; margin-left:10px; text-decoration:underline" class="asf-InlineBlock asf-cursorPointer" innerId="browse">Выбрать из реестра</div> <div style="color:#606060; margin-left:10px; text-decoration:underline" class="asf-InlineBlock asf-cursorPointer" innerId="delete">✕ Удалить</div>
JAVASCRIPT код:
/** * обновить текстовое представление записи реестра */ model.updateTextView = function () { if (!model.getValue()) { model.textValue = ""; model.asfDataId = null; model.trigger(AS.FORMS.EVENT_TYPE.dataLoad, [model]); return; } AS.FORMS.ApiUtils.getAsfDataUUID(model.getValue(), function (newAsfDataId) { model.asfDataId = newAsfDataId; AS.FORMS.ApiUtils.getDocMeaningContent(registry.registryID, newAsfDataId, function (text) { if (text === null || text === '') { model.textValue = i18n.tr('Документ'); } else { model.textValue = text; } model.trigger(AS.FORMS.EVENT_TYPE.dataLoad, [model]); }); }); }; /** * получить тесктовое представление записи реестра * @returns {string|string|*} */ model.getTextValue = function () { return model.textValue; }; // подписываемся на событие модели об изменении содержания, чтобы подгрузить дополнительные данные model.on(AS.FORMS.EVENT_TYPE.valueChange, function () { model.updateTextView(); }); /** * метод реализовывает вставку asfData * @param asfData */ model.setAsfData = function (asfData) { model.setValue(asfData.key); }; /** * метод реализовывает получение данных компонента для сохранения * @param blockNumber * @returns {*} */ model.getAsfData = function (blockNumber) { return AS.FORMS.ASFDataUtils.getBaseAsfData(model.asfProperty, blockNumber, model.textValue, model.value); }; /* инициализация отображения */ /** * реестр * @type {object} */ var registry = null; /** * видимые колонки реестра * @type {Array} */ var registryColumns = []; /** * поле ввода для поиска записей реестра * @type {XMLList|*} */ var input = jQuery(view.container).children("[innerId='name']"); /** * поле для отображения выбранной записи реестра * @type {XMLList|*} */ var textView = jQuery(view.container).children("[innerId='textView']"); /** * кнопка добавления записи * @type {XMLList|*} */ var addIcon = jQuery(view.container).children("[innerId='add']"); /** * кнопка выбора записи из реестра * @type {XMLList|*} */ var browseIcon = jQuery(view.container).children("[innerId='browse']"); /** * кнопка удаления текущей выбранной записи * @type {XMLList|*} */ var deleteIcon = jQuery(view.container).children("[innerId='delete']"); // кнопку удаления текущей выбраннйо записи скрываем deleteIcon.hide(); // по нажатию на кнопку "выбрать из реестра" открываем стандартный диалог выбра записи реестра browseIcon.click(function () { AS.SERVICES.showRegisterLinkDialog(registry, function (documentId) { model.setValue(documentId); }); }); // по нажатию на кнопку "создать" открываем форму создания записи реестра addIcon.click(function () { if (!registry.rr_create) { alert("У вас нет прав на создание записей данного реестра"); return; } var createPlayerDiv = jQuery("<div>"); createPlayerDiv.css("width", "1000px"); createPlayerDiv.css("height", "700px"); createPlayerDiv.css("border", "1px solid #afafaf"); var saveButton = jQuery("<button>", {class: "ns-approveButton ns-basicChooserApplyButton"}); saveButton.button(); saveButton.html(i18n.tr("Создать")); saveButton.css("margin", "auto"); saveButton.css("display", "block"); saveButton.css("margin-top", "10px"); saveButton.css("margin-bottom", "10px"); var player = AS.FORMS.createPlayer(); player.view.setEditable(true); player.showFormData(registry.formId); player.view.appendTo(createPlayerDiv); player.model.on(AS.FORMS.EVENT_TYPE.dataLoad, function () { console.log(player.model); var registryModel = null; if (player.model.formCode === 'crm_form_contact') { registryModel = player.model.getModelWithId('crm_form_contact_lead_lead', 'crm_form_contact_lead'); } if (player.model.formCode === 'crm_form_account') { registryModel = player.model.getModelWithId('crm_form_account_lead_lead', 'crm_form_account_lead'); } if (player.model.formCode === 'crm_form_dealActivity') { registryModel = player.model.getModelWithId('crm_form_dealActivity_main_deal'); } if (player.model.formCode === 'crm_form_leadActivity') { registryModel = player.model.getModelWithId('crm_form_leadActivity_main_lead'); } if (registryModel != null) { registryModel.setValue(AS.SERVICES.getParameterByName("document_identifier", window.location.href)); } }); createPlayerDiv.append(saveButton); createPlayerDiv.dialog({ width: 1000, height: 700, modal: true }); saveButton.click(function () { var valid = player.model.isValid(); if (!valid) { alert(i18n.tr("Введите все обязательные поля")); return; } AS.SERVICES.showWaitWindow(); AS.FORMS.ApiUtils.simpleAsyncGet("rest/api/registry/create_doc?registryID=" + registry.registryID, function (result) { if (result.errorCode != 0) { AS.SERVICES.hideWaitWindow(); alert(i18n.tr("Во время сохранения данных по форме произошли ошибки. Обратитесь к администратору")); return; } player.model.asfDataId = result.dataUUID; player.saveFormData(function (result) { AS.SERVICES.hideWaitWindow(); if (_.isUndefined(result)) { alert(i18n.tr("Во время сохранения данных по форме произошли ошибки. Обратитесь к администратору")); return; }; createPlayerDiv.dialog("destroy"); AS.FORMS.ApiUtils.getDocumentIdentifier(result, function (documentID) { model.setValue(documentID); }); }); }); }); }); // по нажатию на кнопку удалить - удаляем выбранное значение deleteIcon.click(function(){ model.setValue(null); }); // по нажатию на текстовое отображение - открываем запись реестра на просмотр textView.click(function () { var createPlayerDiv = jQuery("<div>"); createPlayerDiv.css("width", "1000px"); createPlayerDiv.css("height", "700px"); var editButton = jQuery('<div class="edit"></div>'); var saveButton = jQuery("<button>", {class: "ns-approveButton ns-basicChooserApplyButton"}); saveButton.button(); saveButton.html(i18n.tr("Сохранить")); saveButton.css("margin", "auto"); saveButton.css("display", "block"); saveButton.css("margin-top", "10px"); saveButton.css("margin-bottom", "10px"); if (registry.code == 'crm_registry_leadActivities' || registry.code == 'crm_registry_dealActivities') { createPlayerDiv.append(editButton); editButton.click(function () { if (player.view.editable) { player.view.setEditable(false); editButton.removeClass('edited'); saveButton.hide(); } else { player.view.setEditable(true); editButton.addClass('edited'); saveButton.show(); } }); } createPlayerDiv.css("border", "1px solid #afafaf"); var player = AS.FORMS.createPlayer(); player.view.setEditable(false); player.showFormData(null, null, model.asfDataId, 0); player.view.appendTo(createPlayerDiv); createPlayerDiv.append(saveButton); saveButton.hide(); createPlayerDiv.dialog({ width: 1000, height: 700, modal: true }); saveButton.click(function () { var valid = player.model.isValid(); if (!valid) { alert(i18n.tr("Введите все обязательные поля")); return; } AS.SERVICES.showWaitWindow(); player.saveFormData(function (result) { AS.SERVICES.hideWaitWindow(); if (_.isUndefined(result)) { alert(i18n.tr("Во время сохранения данных по форме произошли ошибки. Обратитесь к администратору")); return; } ; createPlayerDiv.dialog("destroy"); AS.FORMS.ApiUtils.getDocumentIdentifier(result, function (documentID) { model.setValue(documentID); }); }); }); }); // скрываем или отображаем поля ввода в зависимости от того режим чтения это или редактирования if (editable) { //textView.hide(); } else { input.hide(); addIcon.hide(); browseIcon.hide(); deleteIcon.hide(); } addIcon.text('+' + i18n.tr('Создать')); browseIcon.text(i18n.tr('Выбрать из реестра')); deleteIcon.html('<div style="color:#606060; margin-left:10px; text-decoration:underline" class="asf-InlineBlock asf-cursorPointer" innerId="delete">✕' + i18n.tr('Удалить') + '</div>'); // реализовываем метод обновления отображения согласно изменившимся данным модели view.updateValueFromModel = function () { input.val(""); if (model.getValue()) { textView.css("display", ""); input.hide(); textView.html(model.getTextValue()); input.hide(); if (editable) { deleteIcon.css("display", ""); } else { input.hide(); addIcon.hide(); browseIcon.hide(); deleteIcon.hide(); } } else { if (editable) { input.css("display", ""); } else { input.hide(); addIcon.hide(); browseIcon.hide(); deleteIcon.hide(); } textView.html(""); input.text(""); deleteIcon.hide(); } }; // подписываем на событие подгрузки дополнительных данных значения model.on(AS.FORMS.EVENT_TYPE.dataLoad, function () { view.updateValueFromModel(); }); /** * если нет прав создания записи реестра, то кнопки создать не должно быть видно */ function validateIconsState() { addIcon.hide(); if (registry.rr_create && editable) { addIcon.css("display", ""); } } /** * инициализируем компонент (получаем реестр, колонки) */ function initComponent() { AS.FORMS.ApiUtils.simpleAsyncGet('rest/api/registry/info?code=' + model.code, function (reg) { registry = reg; registry.registryID = reg.registryID; registryColumns = []; registry.columns.forEach(function (col) { if (col.visible != 1) { return; } registryColumns.push(col); }); registryColumns = registryColumns.sort(function (item1, item2) { var number1 = item1.order; var number2 = item2.order; if (number1 === number2) { if (item1.name < item2.name) { return -1; } else if (item1.name > item2.name) { return 1; } } else { if (number1 === 0) { return 1; } else if (number2 === 0) { return -1; } else if (number1 < number2) { return -1; } else { return 1; } } return 0; }); model.updateTextView(); view.updateValueFromModel(); validateIconsState(); }); } // при вводе пользователя отображаем первые 10 результатов поиска input.on("input", function () { var search = input.val(); if (search.length === 0 || !registry) { AS.SERVICES.showDropDown([]); return; } AS.FORMS.ApiUtils.getRegistryData(registry.registryID, 0, 10, search, null, null, function (foundData) { var values = []; foundData.result.forEach(function (record) { var value = {value: record.documentID}; var label = ""; registryColumns.forEach(function (column) { if (record.fieldValue[column.columnID] !== undefined) { label += record.fieldValue[column.columnID] + " - "; } }); value.title = label; values.push(value); }); AS.SERVICES.showDropDown(values, input, null, function (selectedValue) { model.setValue(selectedValue); view.updateValueFromModel(); }); }); }); setTimeout(function () { initComponent(); }, 0); AS.SERVICES.getParameterByName = function(name, url) { if (!url) { url = window.location.href; } name = name.replace(/[[]]/g, "\$&"); var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/+/g, " ")); };
Свойство | Значение |
---|---|
Код |
crm_component_social_links_accounts |
Использовать в формах |
включен |
HTML код:
<div class='social_link_account'> <div class='social_element'></div> </div>
JAVASCRIPT код:
var longIlond = model.playerModel.getModelWithId('crm_form_lead_main_account'); var checkExist = setInterval(function () { if (longIlond.asfDataId) { doAny(longIlond.asfDataId); clearInterval(checkExist); } }, 100); longIlond.on(AS.FORMS.EVENT_TYPE.valueChange, function (event, model) { var currentDataId = model.asfDataId; var checkExist = setInterval(function () { if (longIlond.asfDataId != currentDataId) { doAny(longIlond.asfDataId); clearInterval(checkExist); } }, 100); doAny(model.asfDataId); }); function doAny(dataId) { var parent = jQuery('.social_link_account'); jQuery.when(AS.FORMS.ApiUtils.loadAsfData(dataId, 0)).then(function (data) { parent.empty(); var list = getSocial('crm_form_account_socialNetworks', 'crm_form_account_socialNetworks_socialNetworks-b', 'crm_form_account_socialNetworks_socialNetworksCombo-b', data); list.forEach(function (item) { if (item.key == 'Facebook Messenger') { createFacebookLink(item.value, parent); } if (item.key == 'Skype') { createSkypeLink(item.value, parent); } }) list = getSocial('crm_form_account_phone', 'crm_form_account_phone_phone-b', 'crm_form_account_phone_phoneCombo-b', data); list.forEach(function (item) { if (item.key == 'Viber') { createViberLink(item.value, parent); }else if (item.key == 'Telegram') { createTelegramLink(item.value, parent); }else { createTelephoneLink(item.value, parent); } }) list = getSocial('crm_form_account_email', 'crm_form_account_email_email-b', 'crm_form_account_email_emailCombo-b', data); list.forEach(function (item) { createMailLink(item.value, parent); }); }); } function createMailLink(value, parent){ if(value){ parent.append(jQuery('<div class="social_element mail"><a target="_blank" href="mailto:'+value+'">' + value + '</a></div>')); } } function createViberLink(value, parent){ if(value){ parent.append(jQuery('<div class="social_element viber"><a target="_blank" href="viber://add?number='+value+'">' + value + '</a></div>')); } } function createTelegramLink(value, parent){ if(value){ parent.append(jQuery('<div class="social_element telegram"><a target="_blank" href="https://telegram.me/'+value+'">' + value + '</a></div>')); } } function createTelephoneLink(value, parent){ if(value){ parent.append(jQuery('<div class="social_element tel"><a target="_blank" href="tel:'+value+'">' + value + '</a></div>')); } } function getSocial(idTable, valId, keyId, data) { var found = data.data.filter(function (item) { return item.id === idTable; }); var list = []; found[0].data.forEach(function (item) { var id = item.id; if (id.indexOf(valId) !== -1) { var i = id.substring(id.indexOf(valId) + valId.length); if (!list[i]) { list[i] = {'value': item.value} } else { list[i].value = item.value; } } if (id.indexOf(keyId) !== -1) { var i = id.substring(id.indexOf(keyId) + keyId.length); if (!list[i]) { list[i] = {'key': item.value} } else { list[i].key = item.value; } } }); return list; } function createFacebookLink(value, parent) { var id; if (value.indexOf("profile.php?id=") !== -1) { id = value.substring(value.indexOf('profile.php?id=') + 'profile.php?id='.length); } else { id = value.substring(value.indexOf('facebook.com/') + 'facebook.com/'.length); } if (id) { parent.append(jQuery('<div class="social_element facebook"><a target="_blank" href="http://m.me/' + id + '">' + value + '</a></div>')) } } function createSkypeLink(value, parent) { if(value){ parent.append(jQuery('<div class="social_element skype"><a target="_blank" href="skype:' + value + '?call">' + i18n.tr("Позвонить") + ' ' + value + '</a></div>')) parent.append(jQuery('<div class="social_element skype"><a target="_blank" href="skype:' + value + '?chat">' + i18n.tr("Написать") + ' ' + value + '</a></div>')) } }
Свойство | Значение |
---|---|
Код |
crm_component_social_links_contacts |
Использовать в формах |
включен |
HTML код:
<style> .social_element{ padding-left: 20px; padding-bottom: 5px; } .skype{ background: url('data:image/png;base64,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'); background-repeat: no-repeat; } .viber{ background: url('data:image/png;base64,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'); background-repeat: no-repeat; } .facebook{ background: url('data:image/png;base64,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'); background-repeat: no-repeat; } .telegram{ background: url('data:image/png;base64,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'); background-repeat: no-repeat; } .tel{ background: url('data:image/png;base64,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'); background-repeat: no-repeat; } .mail{ background: url('data:image/png;base64,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'); background-repeat: no-repeat; } </style> <div class='social_link_contact'> <div class='social_element'></div> </div>
JAVASCRIPT код:
var longIlond = model.playerModel.getModelWithId('crm_form_lead_main_contact'); var checkExist = setInterval(function () { if (longIlond.asfDataId) { doAny(longIlond.asfDataId); clearInterval(checkExist); } }, 100); longIlond.on(AS.FORMS.EVENT_TYPE.valueChange, function (event, model) { var currentDataId = model.asfDataId; var checkExist = setInterval(function () { if (longIlond.asfDataId != currentDataId) { doAny(longIlond.asfDataId); clearInterval(checkExist); } }, 100); doAny(model.asfDataId); }); function doAny(dataId) { var parent = jQuery('.social_link_contact'); jQuery.when(AS.FORMS.ApiUtils.loadAsfData(dataId, 0)).then(function (data) { parent.empty(); var list = getSocial('crm_form_contact_socialNetworks', 'crm_form_contact_socialNetworks_socialNetworks-b', 'crm_form_contact_socialNetworks_socialNetworksCombo-b', data); list.forEach(function (item) { if (item.key == 'Facebook Messenger') { createFacebookLink(item.value, parent); } if (item.key == 'Skype') { createSkypeLink(item.value, parent); } }) list = getSocial('crm_form_contact_phone', 'crm_form_contact_phone_phone-b', 'crm_form_contact_phone_phoneCombo-b', data); list.forEach(function (item) { if (item.key == 'Viber') { createViberLink(item.value, parent); }else if (item.key == 'Telegram') { createTelegramLink(item.value, parent); }else { createTelephoneLink(item.value, parent); } }) list = getSocial('crm_form_contact_email', 'crm_form_contact_email_email-b', 'crm_form_contact_email_emailCombo-b', data); list.forEach(function (item) { createMailLink(item.value, parent); }); }); } function createMailLink(value, parent){ if(value){ parent.append(jQuery('<div class="social_element mail"><a target="_blank" href="mailto:'+value+'">' + value + '</a></div>')); } } function createViberLink(value, parent){ if(value){ parent.append(jQuery('<div class="social_element viber"><a target="_blank" href="viber://add?number='+value+'">' + value + '</a></div>')); } } function createTelegramLink(value, parent){ if(value){ parent.append(jQuery('<div class="social_element telegram"><a target="_blank" href="https://telegram.me/'+value+'">' + value + '</a></div>')); } } function createTelephoneLink(value, parent){ if(value){ parent.append(jQuery('<div class="social_element tel"><a target="_blank" href="tel:'+value+'">' + value + '</a></div>')); } } function getSocial(idTable, valId, keyId, data) { var found = data.data.filter(function (item) { return item.id === idTable; }); var list = []; found[0].data.forEach(function (item) { var id = item.id; if (id.indexOf(valId) !== -1) { var i = id.substring(id.indexOf(valId) + valId.length); if (!list[i]) { list[i] = {'value': item.value} } else { list[i].value = item.value; } } if (id.indexOf(keyId) !== -1) { var i = id.substring(id.indexOf(keyId) + keyId.length); if (!list[i]) { list[i] = {'key': item.value} } else { list[i].key = item.value; } } }); return list; } function createFacebookLink(value, parent) { var id; if (value.indexOf("profile.php?id=") !== -1) { id = value.substring(value.indexOf('profile.php?id=') + 'profile.php?id='.length); } else { id = value.substring(value.indexOf('facebook.com/') + 'facebook.com/'.length); } if (id) { parent.append(jQuery('<div class="social_element facebook"><a target="_blank" href="http://m.me/' + id + '">' + value + '</a></div>')) } } function createSkypeLink(value, parent) { if(value){ parent.append(jQuery('<div class="social_element skype"><a target="_blank" href="skype:' + value + '?call">' + i18n.tr("Позвонить") + ' ' + value + '</a></div>')) parent.append(jQuery('<div class="social_element skype"><a target="_blank" href="skype:' + value + '?chat">' + i18n.tr("Написать") + ' ' + value + '</a></div>')) } }
Примечание:
В реестрах, для которых настроены централизованные фильтры, при импорте конфигурации эталонное значение для условия на поле
crm_all_accessible
пусто. Таким образом, условие всегда ложно, и все фильтры не содержат записей. Для настройки фильтров необходимо после импорта конфигурации каждому условию в фильтре в качестве эталонного значения установить подразделение, указанное в названии фильтра (например, в фильтре «Отдел маркетинга Астана» в качестве эталонного значения должно быть указано подразделение «Отдел маркетинга Астана»).
Свойства реестра:
Свойство | Значение |
---|---|
Код |
crm_registry_events |
Форма документа |
crm_form_event |
Сортировка |
по дате создания |
Направление сортировки |
по убыванию |
Права на реестр:
Группа | Права |
---|---|
Маркетологи-менеджеры |
Создание |
Менеджеры по продажам |
Создание |
Руководитель отдела маркетинга |
Создание |
Руководитель отдела продаж |
Создание |
Центральный аппарат |
Все |
Фильтры:
1. «Отдел маркетинга Алматы»
Код:
crm_filters_marketing_Almaty
Условие:
crm_all_accessible
содержит «Отдел маркетинга Алматы»
Права на фильтр:
Группа | Права |
---|---|
Маркетологи-менеджеры по Алматы |
Просмотр списка, просмотр данных |
Маркетологи-специалисты по Алматы |
Просмотр списка, просмотр данных |
Руководитель отдела маркетинга |
Все |
2. «Отдел маркетинга Астана»
Код:
crm_filters_marketing_Astana
Условие:
crm_all_accessible
содержит «Отдел маркетинга Астана»
Права на фильтр:
Группа | Права |
---|---|
Маркетологи-менеджеры по Астане |
Просмотр списка, просмотр данных |
Маркетологи-специалисты по Астане |
Просмотр списка, просмотр данных |
Руководитель отдела маркетинга |
Все |
3. «Отдел продаж Алматы»
Код:
crm_filters_sales_Almaty
Условие:
crm_all_accessible
содержит «Отдел продаж Алматы»
Права на фильтр:
Группа | Права |
---|---|
Менеджеры по продажам Алматы |
Просмотр списка, просмотр данных |
Специалисты по продажам Алматы |
Просмотр списка, просмотр данных |
Руководитель отдела продаж |
Все |
4. «Отдел продаж Астана»
Код:
crm_filters_sales_Astana
Условие:
crm_all_accessible
содержит «Отдел продаж Астана»
Права на фильтр:
Группа | Права |
---|---|
Менеджеры по продажам Астана |
Просмотр списка, просмотр данных |
Специалисты по продажам Астана |
Просмотр списка, просмотр данных |
Руководитель отдела продаж |
Все |
Отображаемые поля формы:
Идентификатор колонки | Название поля | Номер | Значащее содержимое |
---|---|---|---|
crm_form_event_main_name |
Наименование |
1 |
да |
crm_form_event_main_cost |
Стоимость |
2 |
да |
crm_form_event_main_event |
Мероприятие |
3 |
нет |
crm_form_event_responsibleManager_responsible |
Ответственный менеджер |
4 |
нет |
Свойства реестра:
Свойство | Значение |
---|---|
Код |
crm_registry_lead |
Форма документа |
crm_form_lead |
Сортировка |
по полю crm_form_lead_deals_budget |
Направление сортировки |
по убыванию |
Права на реестр:
Группа | Права |
---|---|
Маркетологи-менеджеры |
Создание |
Маркетологи-специалисты |
Создание |
Центральный аппарат |
Просмотр списка, просмотр данных |
Фильтры реестров:
1. «Отдел маркетинга Алматы»
Код:
crm_filters_marketing_Almaty
Условие:
crm_all_accessible
содержит «Отдел маркетинга Алматы»
Права на фильтр:
Группа | Права |
---|---|
Маркетологи-менеджеры по Алматы |
Все |
Маркетологи-специалисты по Алматы |
Все |
Руководитель отдела маркетинга |
Просмотр списка, просмотр данных |
2. «Отдел маркетинга Астана»
Код:
crm_filters_marketing_Astana
Условие:
crm_all_accessible
содержит «Отдел маркетинга Астана»
Права на фильтр:
Группа | Права |
---|---|
Маркетологи-менеджеры по Астане |
Все |
Маркетологи-специалисты по Астане |
Все |
Руководитель отдела маркетинга |
Просмотр списка, просмотр данных |
3. «Отдел продаж Алматы»
Код:
crm_filters_sales_Almaty
Условие:
crm_all_accessible
содержит «Отдел продаж Алматы»
Права на фильтр:
Группа | Права |
---|---|
Менеджеры по продажам Алматы |
Все |
Специалисты по продажам Алматы |
Все |
Руководитель отдела продаж |
Просмотр списка, просмотр данных |
4. «Отдел продаж Астана»
Код:
crm_filters_sales_Astana
Условие:
crm_all_accessible
содержит «Отдел продаж Астана»
Права на фильтр:
Группа | Права |
---|---|
Менеджеры по продажам Астана |
Все |
Специалисты по продажам Астана |
Все |
Руководитель отдела продаж |
Просмотр списка, просмотр данных |
Отображаемые поля формы:
Идентификатор колонки | Название поля | Номер | Значащее содержимое |
---|---|---|---|
crm_form_lead_main_account_name |
Аккаунт |
1 |
нет |
crm_form_lead_deals_theme |
Тема сотрудничества |
2 |
да |
crm_form_lead_deals_budget |
Потенциальный бюджет |
3 |
да |
crm_form_lead_deals_status |
Статус |
4 |
нет |
crm_form_lead_responsibleManager_responsible |
Ответственный менеджер |
5 |
нет |
Свойства реестра:
Свойство | Значение |
---|---|
Код |
crm_registry_deals |
Форма документа |
crm_form_deals |
Сортировка |
по полю ccrm_form_deal_main3_budget |
Направление сортировки |
по убыванию |
Права на реестр:
Группа | Права |
---|---|
Маркетологи-менеджеры |
Создание |
Маркетологи-специалисты |
Создание |
Менеджеры по продажам |
Создание |
Специалисты по продажам |
Создание |
Центральный аппарат |
Просмотр списка, просмотр данных |
Фильтры реестра:
1. «Отдел маркетинга Алматы»
Код:
crm_filters_marketing_Almaty
Условие:
crm_all_accessible
содержит «Отдел маркетинга Алматы»
Права на фильтр:
Группа | Права |
---|---|
Маркетологи-менеджеры по Алматы |
Все |
Маркетологи-специалисты по Алматы |
Все |
Руководитель отдела маркетинга |
Просмотр списка, просмотр данных |
2. «Отдел маркетинга Астана»
Код:
crm_filters_marketing_Astana
Условие:
crm_all_accessible
содержит «Отдел маркетинга Астана»
Права на фильтр:
Группа | Права |
---|---|
Маркетологи-менеджеры по Астане |
Все |
Маркетологи-специалисты по Астане |
Все |
Руководитель отдела маркетинга |
Просмотр списка, просмотр данных |
3. «Отдел продаж Алматы»
Код:
crm_filters_sales_Almaty
Условие:
crm_all_accessible
содержит «Отдел продаж Алматы»
Права на фильтр:
Группа | Права |
---|---|
Менеджеры по продажам Алматы |
Все |
Специалисты по продажам Алматы |
Все |
Руководитель отдела продаж |
Просмотр списка, просмотр данных |
4. «Отдел продаж Астана»
Код:
crm_filters_sales_Astana
Условие:
crm_all_accessible
содержит «Отдел продаж Астана»
Права на фильтр:
Группа | Права |
---|---|
Менеджеры по продажам Астана |
Все |
Специалисты по продажам Астана |
Все |
Руководитель отдела продаж |
Просмотр списка, просмотр данных |
Отображаемые поля формы:
Идентификатор колонки | Название поля | Номер | Значащее содержимое |
---|---|---|---|
crm_form_deal_main1_lead |
Лид |
1 |
нет |
crm_form_deal_main2_theme |
Тема сотрудничества |
2 |
да |
crm_form_deal_main3_budget |
Бюджет |
3 |
да |
crm_form_deal_responsibleManager_responsible |
Ответственный менеджер |
4 |
нет |
Свойства реестра:
Свойство | Значение |
---|---|
Код |
crm_registry_accounts |
Форма документа |
crm_form_accounts |
Сортировка |
по дате создания |
Направление сортировки |
по убыванию |
Права на реестр:
Группа | Права |
---|---|
Маркетологи-менеджеры |
Создание |
Маркетологи-специалисты |
Создание |
Менеджеры по продажам |
Создание |
Специалисты по продажам |
Создание |
Центральный аппарат |
Просмотр списка, просмотр данных |
Фильтры реестра:
1. «Отдел маркетинга Алматы»
Код:
crm_filters_marketing_Almaty
Условие:
crm_all_accessible
содержит «Отдел маркетинга Алматы»
Права на фильтр:
Группа | Права |
---|---|
Маркетологи-менеджеры по Алматы |
Все |
Маркетологи-специалисты по Алматы |
Все |
Руководитель отдела маркетинга |
Просмотр списка, просмотр данных |
2. «Отдел маркетинга Астана»
Код:
crm_filters_marketing_Astana
Условие:
crm_all_accessible
содержит «Отдел маркетинга Астана»
Права на фильтр:
Группа | Права |
---|---|
Маркетологи-менеджеры по Астане |
Все |
Маркетологи-специалисты по Астане |
Все |
Руководитель отдела маркетинга |
Просмотр списка, просмотр данных |
3. «Отдел продаж Алматы»
Код:
crm_filters_sales_Almaty
Условие:
crm_all_accessible
содержит «Отдел продаж Алматы»
Права на фильтр:
Группа | Права |
---|---|
Менеджеры по продажам Алматы |
Все |
Специалисты по продажам Алматы |
Все |
Руководитель отдела продаж |
Просмотр списка, просмотр данных |
4. «Отдел продаж Астана»
Код:
crm_filters_sales_Astana
Условие:
crm_all_accessible
содержит «Отдел продаж Астана»
Права на фильтр:
Группа | Права |
---|---|
Менеджеры по продажам Астана |
Все |
Специалисты по продажам Астана |
Все |
Руководитель отдела продаж |
Просмотр списка, просмотр данных |
Отображаемые поля формы:
Идентификатор колонки | Название поля | Номер | Значащее содержимое |
---|---|---|---|
crm_form_account_main_name |
Наименование |
1 |
да |
crm_form_account_main_info |
Описание |
2 |
нет |
crm_form_account_responsibleManager_responsible |
Ответственный менеджер |
3 |
нет |
Свойства реестра:
Свойство | Значение |
---|---|
Код |
crm_registry_contacts |
Форма документа |
crm_form_contacts |
Сортировка |
по дате создания |
Направление сортировки |
по убыванию |
Права на реестр:
Группа | Права |
---|---|
Маркетологи-менеджеры |
Создание |
Маркетологи-специалисты |
Создание |
Менеджеры по продажам |
Создание |
Специалисты по продажам |
Создание |
Центральный аппарат |
Просмотр списка, просмотр данных |
Фильтры реестра:
1. «Отдел маркетинга Алматы»
Код:
crm_filters_marketing_Almaty
Условие:
crm_all_accessible
содержит «Отдел маркетинга Алматы»
Права на фильтр:
Группа | Права |
---|---|
Маркетологи-менеджеры по Алматы |
Все |
Маркетологи-специалисты по Алматы |
Все |
Руководитель отдела маркетинга |
Просмотр списка, просмотр данных |
2. «Отдел маркетинга Астана»
Код:
crm_filters_marketing_Astana
Условие:
crm_all_accessible
содержит «Отдел маркетинга Астана»
Права на фильтр:
Группа | Права |
---|---|
Маркетологи-менеджеры по Астане |
Все |
Маркетологи-специалисты по Астане |
Все |
Руководитель отдела маркетинга |
Просмотр списка, просмотр данных |
3. «Отдел продаж Алматы»
Код:
crm_filters_sales_Almaty
Условие:
crm_all_accessible
содержит «Отдел продаж Алматы»
Права на фильтр:
Группа | Права |
---|---|
Менеджеры по продажам Алматы |
Все |
Специалисты по продажам Алматы |
Все |
Руководитель отдела продаж |
Просмотр списка, просмотр данных |
4. «Отдел продаж Астана»
Код:
crm_filters_sales_Astana
Условие:
crm_all_accessible
содержит «Отдел продаж Астана»
Права на фильтр:
Группа | Права |
---|---|
Менеджеры по продажам Астана |
Все |
Специалисты по продажам Астана |
Все |
Руководитель отдела продаж |
Просмотр списка, просмотр данных |
Отображаемые поля формы:
Идентификатор колонки | Название поля | Номер | Значащее содержимое |
---|---|---|---|
crm_form_contact_main_fullName |
Полное имя |
1 |
да |
crm_form_contact_main_position |
Должность |
2 |
нет |
crm_form_contact_responsibleManager |
Ответственный менеджер |
3 |
нет |
Свойства реестра:
Свойство | Значение |
---|---|
Код |
crm_registry_deal_comission |
Форма документа |
crm_form_deal_comission |
Группа |
менеджеры по продажам |
Права |
Просмотр списка, Просмотр данных, Изменение, Редактирование |
Сортировка |
по дате создания |
Направление сортировки |
по убыванию |
Отображаемые поля формы:
Идентификатор колонки | Название поля | Номер | Значащее содержимое |
---|---|---|---|
crm_form_deal_comission_main |
% комиссии |
нет |
Свойства реестра:
Свойство | Значение |
---|---|
Код |
crm_registry_lead_comission |
Форма документа |
crm_form_lead_comission |
Группа |
менеджеры по продажам |
Права |
Просмотр списка, Просмотр данных, Изменение, Редактирование |
Сортировка |
по дате создания |
Направление сортировки |
по убыванию |
Отображаемые поля формы:
Идентификатор колонки | Название поля | Номер | Значащее содержимое |
---|---|---|---|
crm_form_deal_comission_main |
% комиссии |
нет |
Свойства реестра:
Свойство | Значение |
---|---|
Код |
crm_registry_themes |
Форма документа |
crm_form_theme |
Сортировка |
по полю crm_form_theme_theme |
Направление сортировки |
по возрастанию |
Права на реестр:
Группа | Права |
---|---|
Руководитель отдела маркетинга |
Создание |
Руководитель отдела продаж |
Создание |
Центральный аппарат |
Все |
Фильтры:
1. «Отдел маркетинга Алматы»
Код:
crm_filters_marketing_Almaty
Условие:
crm_all_accessible
содержит «Отдел маркетинга Алматы»
Права на фильтр:
Группа | Права |
---|---|
Маркетологи-менеджеры по Алматы |
Просмотр списка, просмотр данных |
Маркетологи-специалисты по Алматы |
Просмотр списка, просмотр данных |
Руководитель отдела маркетинга |
Все |
2. «Отдел маркетинга Астана»
Код:
crm_filters_marketing_Astana
Условие:
crm_all_accessible
содержит «Отдел маркетинга Астана»
Права на фильтр:
Группа | Права |
---|---|
Маркетологи-менеджеры по Астане |
Просмотр списка, просмотр данных |
Маркетологи-специалисты по Астане |
Просмотр списка, просмотр данных |
Руководитель отдела маркетинга |
Все |
3. «Отдел продаж Алматы»
Код:
crm_filters_sales_Almaty
Условие:
crm_all_accessible
содержит «Отдел продаж Алматы»
Права на фильтр:
Группа | Права |
---|---|
Менеджеры по продажам Алматы |
Просмотр списка, просмотр данных |
Специалисты по продажам Алматы |
Просмотр списка, просмотр данных |
Руководитель отдела продаж |
Все |
4. «Отдел продаж Астана»
Код:
crm_filters_sales_Astana
Условие:
crm_all_accessible
содержит «Отдел продаж Астана»
Права на фильтр:
Группа | Права |
---|---|
Менеджеры по продажам Астана |
Просмотр списка, просмотр данных |
Специалисты по продажам Астана |
Просмотр списка, просмотр данных |
Руководитель отдела продаж |
Все |
Отображаемые поля формы:
Идентификатор колонки | Название поля | Номер | Значащее содержимое |
---|---|---|---|
crm_form_theme_theme |
Тема сотрудничества |
1 |
да |
Свойства реестра:
Свойство | Значение |
---|---|
Код |
crm_registry_items |
Форма документа |
crm_form_item |
Сортировка |
по полю реестра crm_form_item_name |
Направление сортировки |
по возрастанию |
Права на реестр:
Группа | Права |
---|---|
Руководитель отдела маркетинга |
Создание |
Руководитель отдела продаж |
Создание |
Центральный аппарат |
Все |
Фильтры:
1. «Отдел маркетинга Алматы»
Код:
crm_filters_marketing_Almaty
Условие:
crm_all_accessible
содержит «Отдел маркетинга Алматы»
Права на фильтр:
Группа | Права |
---|---|
Маркетологи-менеджеры по Алматы |
Просмотр списка, просмотр данных |
Маркетологи-специалисты по Алматы |
Просмотр списка, просмотр данных |
Руководитель отдела маркетинга |
Все |
2. «Отдел маркетинга Астана»
Код:
crm_filters_marketing_Astana
Условие:
crm_all_accessible
содержит «Отдел маркетинга Астана»
Права на фильтр:
Группа | Права |
---|---|
Маркетологи-менеджеры по Астане |
Просмотр списка, просмотр данных |
Маркетологи-специалисты по Астане |
Просмотр списка, просмотр данных |
Руководитель отдела маркетинга |
Все |
3. «Отдел продаж Алматы»
Код:
crm_filters_sales_Almaty
Условие:
crm_all_accessible
содержит «Отдел продаж Алматы»
Права на фильтр:
Группа | Права |
---|---|
Менеджеры по продажам Алматы |
Просмотр списка, просмотр данных |
Специалисты по продажам Алматы |
Просмотр списка, просмотр данных |
Руководитель отдела продаж |
Все |
4. «Отдел продаж Астана»
Код:
crm_filters_sales_Astana
Условие:
crm_all_accessible
содержит «Отдел продаж Астана»
Права на фильтр:
Группа | Права |
---|---|
Менеджеры по продажам Астана |
Просмотр списка, просмотр данных |
Специалисты по продажам Астана |
Просмотр списка, просмотр данных |
Руководитель отдела продаж |
Все |
Отображаемые поля формы:
Идентификатор колонки | Название поля | Номер | Значащее содержимое |
---|---|---|---|
crm_form_item_name |
Наименование товара |
1 |
да |
crm_form_item_price |
Цена |
2 |
нет |
crm_form_item_theme |
Тема сотрудничества |
3 |
нет |
Для всех реестров ниже настроено событие активации:
Маршрут активации - Действия:
Тип действия - Отправка документа по форме
Название - Отправка документа по форме
Адресат - email
Свойства реестра:
Свойство | Значение |
---|---|
Код |
crm_registry_contracts_delivery_100 |
Форма документа |
crm_form_contract_delivery_100 |
Сортировка |
по дате создания |
Направление сортировки |
по убыванию |
Права на реестр:
Группа | Права |
---|---|
Маркетологи-менеджеры |
Создание |
Маркетологи-специалисты |
Создание |
Менеджеры по продажам |
Создание |
Специалисты по продажам |
Создание |
Центральный аппарат |
Просмотр списка, просмотр данных |
Фильтры реестра:
1. «Отдел маркетинга Алматы»
Код:
crm_filters_marketing_Almaty
Условие:
crm_all_accessible
содержит «Отдел маркетинга Алматы»
Права на фильтр:
Группа | Права |
---|---|
Маркетологи-менеджеры по Алматы |
Все |
Маркетологи-специалисты по Алматы |
Все |
Руководитель отдела маркетинга |
Просмотр списка, просмотр данных |
2. «Отдел маркетинга Астана»
Код:
crm_filters_marketing_Astana
Условие:
crm_all_accessible
содержит «Отдел маркетинга Астана»
Права на фильтр:
Группа | Права |
---|---|
Маркетологи-менеджеры по Астане |
Все |
Маркетологи-специалисты по Астане |
Все |
Руководитель отдела маркетинга |
Просмотр списка, просмотр данных |
3. «Отдел продаж Алматы»
Код:
crm_filters_sales_Almaty
Условие:
crm_all_accessible
содержит «Отдел продаж Алматы»
Права на фильтр:
Группа | Права |
---|---|
Менеджеры по продажам Алматы |
Все |
Специалисты по продажам Алматы |
Все |
Руководитель отдела продаж |
Просмотр списка, просмотр данных |
4. «Отдел продаж Астана»
Код:
crm_filters_sales_Astana
Условие:
crm_all_accessible
содержит «Отдел продаж Астана»
Права на фильтр:
Группа | Права |
---|---|
Менеджеры по продажам Астана |
Все |
Специалисты по продажам Астана |
Все |
Руководитель отдела продаж |
Просмотр списка, просмотр данных |
Отображаемые поля формы:
Идентификатор колонки | Название поля | Номер | Значащее содержимое |
---|---|---|---|
crm_form_contract_delivery_100_contract_number |
Номер договора |
1 |
да |
crm_form_contract_delivery_100_contract_date |
Дата договора |
2 |
нет |
crm_form_contract_delivery_100_theme |
Тема договора |
3 |
да |
crm_form_contract_delivery_100_client_account |
Заказчик |
4 |
да |
crm_form_contract_delivery_100_sum_total |
Сумма договора |
5 |
нет |
Свойства реестра:
Свойство | Значение |
---|---|
Код |
crm_registry_contracts_delivery_part |
Форма документа |
crm_form_contract_delivery_part |
Сортировка |
по дате создания |
Направление сортировки |
по убыванию |
Права на реестр:
Группа | Права |
---|---|
Маркетологи-менеджеры |
Создание |
Маркетологи-специалисты |
Создание |
Менеджеры по продажам |
Создание |
Специалисты по продажам |
Создание |
Центральный аппарат |
Просмотр списка, просмотр данных |
Фильтры реестра:
1. «Отдел маркетинга Алматы»
Код:
crm_filters_marketing_Almaty
Условие:
crm_all_accessible
содержит «Отдел маркетинга Алматы»
Права на фильтр:
Группа | Права |
---|---|
Маркетологи-менеджеры по Алматы |
Все |
Маркетологи-специалисты по Алматы |
Все |
Руководитель отдела маркетинга |
Просмотр списка, просмотр данных |
2. «Отдел маркетинга Астана»
Код:
crm_filters_marketing_Astana
Условие:
crm_all_accessible
содержит «Отдел маркетинга Астана»
Права на фильтр:
Группа | Права |
---|---|
Маркетологи-менеджеры по Астане |
Все |
Маркетологи-специалисты по Астане |
Все |
Руководитель отдела маркетинга |
Просмотр списка, просмотр данных |
3. «Отдел продаж Алматы»
Код:
crm_filters_sales_Almaty
Условие:
crm_all_accessible
содержит «Отдел продаж Алматы»
Права на фильтр:
Группа | Права |
---|---|
Менеджеры по продажам Алматы |
Все |
Специалисты по продажам Алматы |
Все |
Руководитель отдела продаж |
Просмотр списка, просмотр данных |
4. «Отдел продаж Астана»
Код:
crm_filters_sales_Astana
Условие:
crm_all_accessible
содержит «Отдел продаж Астана»
Права на фильтр:
Группа | Права |
---|---|
Менеджеры по продажам Астана |
Все |
Специалисты по продажам Астана |
Все |
Руководитель отдела продаж |
Просмотр списка, просмотр данных |
Отображаемые поля формы:
Идентификатор колонки | Название поля | Номер | Значащее содержимое |
---|---|---|---|
crm_form_contract_delivery_part_contract_number |
Номер договора |
1 |
да |
crm_form_contract_delivery_part_contract_date |
Дата договора |
2 |
нет |
crm_form_contract_delivery_part_theme |
Тема договора |
3 |
да |
crm_form_contract_delivery_part_client_account |
Заказчик |
4 |
да |
crm_form_contract_delivery_part_sum_total |
Сумма договора |
5 |
нет |
Свойства реестра:
Свойство | Значение |
---|---|
Код |
crm_registry_certificates |
Форма документа |
crm_form_certificate |
Сортировка |
по дате создания |
Направление сортировки |
по убыванию |
Права на реестр:
Группа | Права |
---|---|
Маркетологи-менеджеры |
Создание |
Маркетологи-специалисты |
Создание |
Менеджеры по продажам |
Создание |
Специалисты по продажам |
Создание |
Центральный аппарат |
Просмотр списка, просмотр данных |
Фильтры реестра:
1. «Отдел маркетинга Алматы»
Код:
crm_filters_marketing_Almaty
Условие:
crm_all_accessible
содержит «Отдел маркетинга Алматы»
Права на фильтр:
Группа | Права |
---|---|
Маркетологи-менеджеры по Алматы |
Все |
Маркетологи-специалисты по Алматы |
Все |
Руководитель отдела маркетинга |
Просмотр списка, просмотр данных |
2. «Отдел маркетинга Астана»
Код:
crm_filters_marketing_Astana
Условие:
crm_all_accessible
содержит «Отдел маркетинга Астана»
Права на фильтр:
Группа | Права |
---|---|
Маркетологи-менеджеры по Астане |
Все |
Маркетологи-специалисты по Астане |
Все |
Руководитель отдела маркетинга |
Просмотр списка, просмотр данных |
3. «Отдел продаж Алматы»
Код:
crm_filters_sales_Almaty
Условие:
crm_all_accessible
содержит «Отдел продаж Алматы»
Права на фильтр:
Группа | Права |
---|---|
Менеджеры по продажам Алматы |
Все |
Специалисты по продажам Алматы |
Все |
Руководитель отдела продаж |
Просмотр списка, просмотр данных |
4. «Отдел продаж Астана»
Код:
crm_filters_sales_Astana
Условие:
crm_all_accessible
содержит «Отдел продаж Астана»
Права на фильтр:
Группа | Права |
---|---|
Менеджеры по продажам Астана |
Все |
Специалисты по продажам Астана |
Все |
Руководитель отдела продаж |
Просмотр списка, просмотр данных |
Отображаемые поля формы:
Идентификатор колонки | Название поля | Номер | Значащее содержимое |
---|---|---|---|
crm_form_certificate_table3_contract |
Основание договора |
1 |
да |
crm_form_certificate_table2_date |
Дата акта |
2 |
нет |
Свойство | Значение |
---|---|
Код |
crm_registry_offer |
Форма документа |
crm_form_offer |
Сортировка |
по дате создания |
Направление сортировки |
по убыванию |
Права на реестр:
Группа | Права |
---|---|
Маркетологи-менеджеры |
Создание |
Маркетологи-специалисты |
Создание |
Менеджеры по продажам |
Создание |
Специалисты по продажам |
Создание |
Центральный аппарат |
Просмотр списка, просмотр данных |
Фильтры реестра:
1. «Отдел маркетинга Алматы»
Код:
crm_filters_marketing_Almaty
Условие:
crm_all_accessible
содержит «Отдел маркетинга Алматы»
Права на фильтр:
Группа | Права |
---|---|
Маркетологи-менеджеры по Алматы |
Все |
Маркетологи-специалисты по Алматы |
Все |
Руководитель отдела маркетинга |
Просмотр списка, просмотр данных |
2. «Отдел маркетинга Астана»
Код:
crm_filters_marketing_Astana
Условие:
crm_all_accessible
содержит «Отдел маркетинга Астана»
Права на фильтр:
Группа | Права |
---|---|
Маркетологи-менеджеры по Астане |
Все |
Маркетологи-специалисты по Астане |
Все |
Руководитель отдела маркетинга |
Просмотр списка, просмотр данных |
3. «Отдел продаж Алматы»
Код:
crm_filters_sales_Almaty
Условие:
crm_all_accessible
содержит «Отдел продаж Алматы»
Права на фильтр:
Группа | Права |
---|---|
Менеджеры по продажам Алматы |
Все |
Специалисты по продажам Алматы |
Все |
Руководитель отдела продаж |
Просмотр списка, просмотр данных |
4. «Отдел продаж Астана»
Код:
crm_filters_sales_Astana
Условие:
crm_all_accessible
содержит «Отдел продаж Астана»
Права на фильтр:
Группа | Права |
---|---|
Менеджеры по продажам Астана |
Все |
Специалисты по продажам Астана |
Все |
Руководитель отдела продаж |
Просмотр списка, просмотр данных |
Отображаемые поля формы:
Идентификатор колонки | Название поля | Номер | Значащее содержимое |
---|---|---|---|
crm_form_offer_whom_position |
Должность |
1 |
нет |
crm_form_offer_whom_account |
Аккаунт |
2 |
нет |
crm_form_offer_whom_fullname |
ФИО |
3 |
нет |
crm_form_offer_from_user |
От кого |
4 |
нет |
Для реестра настроено событие активации:
Маршрут активации - Действия:
Тип действия - Отправка документа по форме
Название - Отправка документа по форме
Адресат -
Свойства реестра:
Свойство | Значение |
---|---|
Код |
crm_registry_invoices |
Форма документа |
crm_form_invoice |
Сортировка |
по дате создания |
Направление сортировки |
по убыванию |
Права на реестр:
Группа | Права |
---|---|
Маркетологи-менеджеры |
Создание |
Маркетологи-специалисты |
Создание |
Менеджеры по продажам |
Создание |
Специалисты по продажам |
Создание |
Центральный аппарат |
Просмотр списка, просмотр данных |
Фильтры реестра:
1. «Отдел маркетинга Алматы»
Код:
crm_filters_marketing_Almaty
Условие:
crm_all_accessible
содержит «Отдел маркетинга Алматы»
Права на фильтр:
Группа | Права |
---|---|
Маркетологи-менеджеры по Алматы |
Все |
Маркетологи-специалисты по Алматы |
Все |
Руководитель отдела маркетинга |
Просмотр списка, просмотр данных |
2. «Отдел маркетинга Астана»
Код:
crm_filters_marketing_Astana
Условие:
crm_all_accessible
содержит «Отдел маркетинга Астана»
Права на фильтр:
Группа | Права |
---|---|
Маркетологи-менеджеры по Астане |
Все |
Маркетологи-специалисты по Астане |
Все |
Руководитель отдела маркетинга |
Просмотр списка, просмотр данных |
3. «Отдел продаж Алматы»
Код:
crm_filters_sales_Almaty
Условие:
crm_all_accessible
содержит «Отдел продаж Алматы»
Права на фильтр:
Группа | Права |
---|---|
Менеджеры по продажам Алматы |
Все |
Специалисты по продажам Алматы |
Все |
Руководитель отдела продаж |
Просмотр списка, просмотр данных |
4. «Отдел продаж Астана»
Код:
crm_filters_sales_Astana
Условие:
crm_all_accessible
содержит «Отдел продаж Астана»
Права на фильтр:
Группа | Права |
---|---|
Менеджеры по продажам Астана |
Все |
Специалисты по продажам Астана |
Все |
Руководитель отдела продаж |
Просмотр списка, просмотр данных |
Отображаемые поля формы:
Идентификатор колонки | Название поля | Номер | Значащее содержимое |
---|---|---|---|
crm_form_invoice_number |
Номер |
1 |
да |
crm_form_invoice_date |
Дата |
2 |
нет |
crm_form_invoice_receiver_name |
Грузополучатель |
3 |
нет |
crm_form_invoice_mainreceiver_name |
Получатель |
4 |
да |
crm_form_invoice_order_summ_total |
Стоимость реализации |
5 |
да |
Свойства реестра:
Свойство | Значение |
---|---|
Код |
crm_registry_deal_responsible |
Форма документа |
crm_form_deal_responsible |
Группа |
менеджеры-маркетологи, менеджеры по продажам |
Права |
Просмотр списка, Просмотр данных, Изменение, Редактирование |
Сортировка |
по дате создания |
Направление сортировки |
по убыванию |
Отображаемые поля формы:
Идентификатор колонки | Название поля | Номер | Значащее содержимое |
---|---|---|---|
crm_form_deal_responsible_user |
Ответственный менеджер |
да |
Свойства реестра:
Свойство | Значение |
---|---|
Код |
crm_registry_deals_plans |
Форма документа |
crm_form_sales |
Сортировка |
по дате создания |
Направление сортировки |
по убыванию |
Права на реестр:
Группа | Права |
---|---|
Руководитель отдела маркетинга |
Создание |
Руководитель отдела продаж |
Создание |
Маркетологи-менеджеры |
Создание |
Менеджеры по продажам |
Создание |
Центральный аппарат |
Все |
Фильтры:
1. «Отдел маркетинга»
Код:
crm_filters_marketing
Условие:
crm_owner
содержит «Отдел маркетинга»
Права на фильтр:
Группа | Права |
---|---|
Руководитель отдела маркетинга |
Все |
1. «Отдел маркетинга»
Код:
crm_filters_sales
Условие:
crm_owner
содержит «Отдел продаж»
Права на фильтр:
Группа | Права |
---|---|
Руководитель отдела продаж |
Все |
3. «Отдел маркетинга Алматы»
Код:
crm_filters_marketing_Almaty
Условие:
crm_owner
содержит «Отдел маркетинга Алматы»
Права на фильтр:
Группа | Права |
---|---|
Маркетологи-менеджеры по Алматы |
Все |
Руководитель отдела маркетинга |
Просмотр списка, просмотр данных |
4. «Отдел маркетинга Астана»
Код:
crm_filters_marketing_Astana
Условие:
crm_owner
содержит «Отдел маркетинга Астана»
Права на фильтр:
Группа | Права |
---|---|
Маркетологи-менеджеры по Астане |
Все |
Руководитель отдела маркетинга |
Просмотр списка, просмотр данных |
5. «Отдел продаж Алматы»
Код:
crm_filters_sales_Almaty
Условие:
crm_owner
содержит «Отдел продаж Алматы»
Права на фильтр:
Группа | Права |
---|---|
Менеджеры по продажам Алматы |
Все |
Руководитель отдела продаж |
Просмотр списка, просмотр данных |
6. «Отдел продаж Астана»
Код:
crm_filters_sales_Astana
Условие:
crm_owner
содержит «Отдел продаж Астана»
Права на фильтр:
Группа | Права |
---|---|
Менеджеры по продажам Астана |
Все |
Руководитель отдела продаж |
Просмотр списка, просмотр данных |
Отображаемые поля формы:
Идентификатор колонки | Название поля | Номер | Значащее содержимое |
---|---|---|---|
crm_form_deal_order_sales_month |
Месяц |
да | |
crm_form_deal_order_sales_year |
Год |
да | |
crm_owner |
Автор |
да |
Свойства реестра:
Свойство | Значение |
---|---|
Код |
crm_registry_deal_flow_standard |
Форма документа |
crm_form_deal_flow_standard |
Группа |
менеджеры по продажам |
Права |
Просмотр списка, Просмотр данных, Изменение, Редактирование |
Сортировка |
по дате создания |
Направление сортировки |
по убыванию |
Отображаемые поля формы:
Идентификатор колонки | Название поля | Номер | Значащее содержимое |
---|---|---|---|
crm_form_deal_flow_standard_table |
Нормативы продолжительности статусов сделок |
нет |
Код группы реестров: crm_registryGroup_catalog
Реестры:
Код группы реестров: crm_registryGroup_documentTemplates
Реестры:
Код группы реестров: crm_registryGroup_settings
Реестры:
Код справочника: crm_dict_leadStatus.
Поля справочника:
Код | Имя | Комментарий | Переводить |
---|---|---|---|
crm_dict_leadStatus_name |
Название |
Да | |
crm_dict_leadStatus_value |
Порядковый номер пункта в выпадающем списке |
Не может иметь значение, равное 0 |
Нет |
crm_dict_leadStatus_quality |
Качество |
0 - negative 1 - positive |
Нет |
crm_dict_leadStatus_end |
Законченность |
Имеет смысл только для crm_dict_leadStatus_quality=1 0 - not end 1 - end |
Нет |
crm_dict_leadStatus_color |
Цвет панели в воронке |
Нет | |
crm_dict_leadStatus_buttonName |
Название кнопки |
Имеет смысл только для: crm_dict_leadStatus_quality=1 crm_dict_leadStatus_end=1 |
Нет |
Данные справочника по умолчанию:
Название | Порядковый номер пункта в выпадающем списке | Качество | Законченность | Цвет панели в воронке | Название кнопки |
---|---|---|---|---|---|
Первичная регистрация |
1 |
1 |
0 |
| |
Квалификация |
2 |
1 |
0 |
| |
Взращивание |
3 |
1 |
0 |
| |
Подтверждение интереса |
4 |
1 |
0 |
| |
В сделку |
5 |
1 |
1 |
|
Конвертировать в сделку |
Некачественный лид |
6 |
0 |
|
Если некоторые параметры не были указаны, то им присваиваются значения по умолчанию:
не указан crm_dict_leadStatus_quality:
crm_dict_leadStatus_quality=1
crm_dict_leadStatus_end=0
не указан crm_dict_leadStatus_end:
crm_dict_leadStatus_end=0
не указаны crm_dict_leadStatus_quality и crm_dict_leadStatus_end:
crm_dict_leadStatus_quality=1
crm_dict_leadStatus_end=0
не указан crm_dict_leadStatus_color:
crm_dict_leadStatus_color=#f3c02d
Запись с данными crm_dict_leadStatus_quality=1 и crm_dict_leadStatus_end=1 должна быть одна. Если таких записей несколько, то данные значения применяются только для первой созданной записи. Остальным записям из списка присваивается значение crm_dict_leadStatus_end=0.
Список статусов лида, для которых crm_dict_leadStatus_value=0 либо не указан вовсе, сортируются по параметру crm_dict_leadStatus_name в локали С в алфавитном порядке.
Код справочника: crm_dict_dealStatus.
Поля справочника:
Код | Имя | Комментарий | Переводить |
---|---|---|---|
crm_dict_dealStatus_type |
Тип |
Да | |
crm_dict_dealStatus_value |
Порядковый номер пункта в выпадающем списке |
Не может иметь значение, равное 0 |
Нет |
crm_dict_dealStatus_quality |
Качество |
0 - negative 1 - positive |
Нет |
crm_dict_dealStatus_end |
Законченность |
Имеет смысл только для crm_dict_dealStatus_quality=1 0 - not end 1 - end |
Нет |
crm_dict_dealStatus_color |
Цвет панели в воронке |
Нет |
Данные справочника по умолчанию:
Тип | Порядковый номер пункта в выпадающем списке | Качество | Законченность | Цвет панели в воронке |
---|---|---|---|---|
Уточнение потребности |
1 |
1 |
0 |
|
Подготовка приложения |
2 |
1 |
0 |
|
Защита предложения |
3 |
1 |
0 |
|
Закрытие сделки |
4 |
1 |
1 |
|
Отказ |
5 |
0 |
|
Если некоторые параметры не были указаны, то им присваиваются значения по умолчанию:
не указан crm_dict_dealStatus_quality:
crm_dict_dealStatus_quality=1
crm_dict_dealStatus_end=0
не указан crm_dict_dealStatus_end:
crm_dict_dealStatus_end=0
не указаны crm_dict_dealStatus_quality и crm_dict_dealStatus_end:
crm_dict_dealStatus_quality=1
crm_dict_dealStatus_end=0
не указан crm_dict_dealStatus_color:
crm_dict_dealStatus_color=#f3c02d
Запись с данными crm_dict_dealStatus_quality=1 и crm_dict_dealStatus_end=1 должна быть одна. Если таких записей несколько, то данные значения применяются только для первой созданной записи. Остальным записям из списка присваивается значение crm_dict_dealStatus_end=0.
Список статусов сделок, для которых crm_dict_dealStatus_value=0 либо не указан вовсе, сортируются по параметру crm_dict_dealStatus_type в локали С в алфавитном порядке.
Код справочника: crm_dict_accountStatus.
Поля справочника:
Код | Имя | Комментарий | Переводить |
---|---|---|---|
crm_dict_accountStatus_type |
Тип |
Да | |
crm_dict_accountStatus_value |
Порядковый номер пункта в выпадающем списке |
Нет |
Данные справочника по умолчанию:
Тип | Порядковый номер пункта в выпадающем списке |
---|---|
Клиент |
1 |
Потенциальный клиент |
2 |
Код справочника: crm_dict_contactStatus.
Поля справочника:
Код | Имя | Комментарий | Переводить |
---|---|---|---|
crm_dict_contactStatus_type |
Тип |
Да | |
crm_dict_contactStatus_value |
Порядковый номер пункта в выпадающем списке |
Нет |
Данные справочника по умолчанию:
Тип | Порядковый номер пункта в выпадающем списке |
---|---|
Активен |
1 |
В отпуске |
2 |
Не активен |
3 |
В командировке |
4 |
Код справочника: crm_dict_eventType.
Поля справочника:
Код | Имя | Комментарий | Переводить |
---|---|---|---|
crm_dict_eventType_type |
Тип |
Да | |
crm_dict_eventType_value |
Порядковый номер пункта в выпадающем списке |
Нет |
Данные справочника по умолчанию:
Тип | Порядковый номер пункта в выпадающем списке |
---|---|
Входящий маркетинг |
1 |
Исходящий маркетинг |
2 |
Код справочника: crm_dict_activityType
Поля справочника:
Код | Имя | Комментарий | Переводить |
---|---|---|---|
crm_dict_activityType_type |
Тип |
Да | |
crm_dict_activityType_value |
Порядковый номер пункта в выпадающем списке |
Нет | |
crm_dict_activityType_icon |
Пиктограмма |
Путь до пиктограммы в папке images/activities |
Нет |
Данные справочника по умолчанию:
Тип | Порядковый номер пункта в выпадающем списке | Пиктограмма |
---|---|---|
Отправил документ |
1 |
images/activities/sendDocument.png |
Позвонил |
2 |
images/activities/call.png |
Выставил счет |
3 |
images/activities/makeOutInvoice.png |
Встретился |
4 |
images/activities/meeting.png |
Создал еще один лид |
5 |
images/activities/newLead.png |
Поздравил с праздником |
6 |
images/activities/event.png |
Код справочника: crm_dict_phone.
Поля справочника:
Код | Имя | Комментарий | Переводить |
---|---|---|---|
crm_dict_phone_type |
Тип |
Да | |
crm_dict_phone_value |
Порядковый номер пункта в выпадающем списке |
Нет |
Данные справочника по умолчанию:
Тип | Порядковый номер пункта в выпадающем списке |
---|---|
Рабочий |
1 |
Мобильный |
2 |
Факс |
3 |
Домашний |
4 |
Telegram |
5 |
Viber |
6 |
Другой |
7 |
Код справочника: crm_dict_address.
Поля справочника:
Код | Имя | Комментарий | Переводить |
---|---|---|---|
crm_dict_address_type |
Тип |
Да | |
crm_dict_address_value |
Порядковый номер пункта в выпадающем списке |
Нет |
Данные справочника по умолчанию:
Тип | Порядковый номер пункта в выпадающем списке |
---|---|
Основной |
1 |
Рабочий |
2 |
Домашний |
3 |
Другой |
4 |
Код справочника: crm_dict_email.
Поля справочника:
Код | Имя | Комментарий | Переводить |
---|---|---|---|
crm_dict_email_type |
Тип |
Да | |
crm_dict_email_value |
Порядковый номер пункта в выпадающем списке |
Нет |
Данные справочника по умолчанию:
Тип | Порядковый номер пункта в выпадающем списке |
---|---|
Официальный |
1 |
Рабочий |
2 |
Личный |
3 |
Другой |
4 |
Код справочника: crm_dict_socialNetworks.
Поля справочника:
Код | Имя | Комментарий | Переводить |
---|---|---|---|
crm_dict_socialNetworks_type |
Тип |
Да | |
crm_dict_socialNetworks_value |
Порядковый номер пункта в выпадающем списке |
Нет |
Данные справочника по умолчанию:
Тип | Порядковый номер пункта в выпадающем списке |
---|---|
Официальный вебсайт |
01 |
|
02 |
Facebook Messenger |
03 |
Skype |
04 |
|
05 |
|
06 |
|
07 |
VK |
08 |
Behance |
09 |
Другой |
10 |
Код справочника: crm_dict_remindActions.
Поля справочника:
Код | Имя | Комментарий | Переводить |
---|---|---|---|
crm_dict_remindActions_type |
Тип |
Да | |
crm_dict_remindActions_value |
Порядковый номер пункта в выпадающем списке |
Нет |
Данные справочника по умолчанию:
Тип | Порядковый номер пункта в выпадающем списке |
---|---|
Напомнить |
1 |
Позвонить |
2 |
Поздравить |
3 |
Отправить письмо |
4 |
Отправить документ |
5 |
Пригласить на мероприятие |
6 |
Назначена встреча |
7 |
Код справочника: crm_dict_cities.
Поля справочника:
Код | Имя | Комментарий | Переводить |
---|---|---|---|
crm_dict_cities_type |
Тип |
Да | |
crm_dict_cities_value |
Порядковый номер пункта в выпадающем списке |
Нет |
Данные справочника по умолчанию:
Тип | Порядковый номер пункта в выпадающем списке |
---|---|
г. Астана |
01 |
г. Алматы |
02 |
г. Актау |
03 |
г. Актобе |
04 |
г. Атырау |
05 |
г. Караганда |
06 |
г. Кокшетау |
07 |
г. Костанай |
08 |
г. Кызылорда |
09 |
г. Павлодар |
10 |
г. Петропавловск |
11 |
г. Талдыкорган |
12 |
г. Тараз |
13 |
г. Уральск |
14 |
г. Усть-Каменогорск |
15 |
г. Шымкент |
16 |
Код справочника: crm_dict_paymentMode.
Поля справочника:
Код | Имя | Комментарий | Переводить |
---|---|---|---|
crm_dict_paymentMode_type |
Название |
Да | |
crm_dict_paymentMode_value |
Порядковый номер пункта в выпадающем списке |
Нет |
Данные справочника по умолчанию:
Название | Порядковый номер пункта в выпадающем списке |
---|---|
Безналичный расчет |
1 |
Наличный расчет |
2 |
Код справочника: crm_dict_deliveryMode.
Поля справочника:
Код | Имя | Комментарий | Переводить |
---|---|---|---|
crm_dict_deliveryMode_type |
Название |
Да | |
crm_dict_deliveryMode_value |
Порядковый номер пункта в выпадающем списке |
Нет |
Данные справочника по умолчанию:
Название | Порядковый номер пункта в выпадающем списке |
---|---|
Доставка |
1 |
Самовывоз |
2 |
Прочее |
3 |
Код справочника: crm_dict_months.
Поля справочника:
Код | Имя | Комментарий | Переводить |
---|---|---|---|
crm_dict_months_name |
Месяц |
Да | |
crm_dict_months_value |
Порядковый номер пункта в выпадающем списке |
Нет |
Данные справочника по умолчанию:
Месяц | Порядковый номер пункта в выпадающем списке |
---|---|
Январь |
1 |
Февраль |
2 |
Март |
3 |
Апрель |
4 |
Май |
5 |
Июнь |
6 |
Июль |
7 |
Август |
8 |
Сентябрь |
9 |
Октябрь |
10 |
Ноябрь |
11 |
Декабрь |
12 |
Пункты создания документов представлены следующей структурой:
Свойство | Значение |
---|---|
Тип |
пункт |
Код |
crm_menu_addAccount |
Реестр |
crm_registry_accounts |
Добавить в «Избранное» пользователя по умолчанию |
включен |
Группа |
Все маркетологи, Все специалисты по продажам |
Свойство | Значение |
---|---|
Тип |
пункт |
Код |
crm_menu_addContact |
Реестр |
crm_registry_contacts |
Добавить в «Избранное» пользователя по умолчанию |
включен |
Группа |
Все маркетологи, Все специалисты по продажам |
Свойство | Значение |
---|---|
Тип |
пункт |
Код |
crm_menu_addLead |
Реестр |
crm_registry_leads |
Добавить в «Избранное» пользователя по умолчанию |
включен |
Группа |
Все маркетологи |
Свойство | Значение |
---|---|
Тип |
пункт |
Код |
crm_menu_addEvent |
Реестр |
crm_registry_events |
Добавить в «Избранное» пользователя по умолчанию |
включен |
Группа |
Все маркетологи, Все специалисты по продажам |
Свойство | Значение |
---|---|
Тип |
пункт |
Код |
crm_menu_addDeal |
Реестр |
crm_registry_deals |
Добавить в «Избранное» пользователя по умолчанию |
включен |
Группа |
Все специалисты по продажам |
Свойство | Значение |
---|---|
Тип |
пункт |
Код |
crm_menu_addCertificate |
Реестр |
crm_registry_certificates |
Добавить в «Избранное» пользователя по умолчанию |
включен |
Группа |
Все маркетологи, Все специалисты по продажам |
Свойство | Значение |
---|---|
Тип |
пункт |
Код |
crm_menu_addContract_100 |
Реестр |
crm_registry_contracts_delivery_100 |
Добавить в «Избранное» пользователя по умолчанию |
включен |
Группа |
Все маркетологи, Все специалисты по продажам |
Свойство | Значение |
---|---|
Тип |
пункт |
Код |
crm_menu_addContract_part |
Реестр |
crm_registry_contracts_delivery_part |
Добавить в «Избранное» пользователя по умолчанию |
включен |
Группа |
Все маркетологи, Все специалисты по продажам |
Свойство | Значение |
---|---|
Код |
crm_ext1Lead |
Адрес приложения |
URL/crm |
Свойство | Значение |
---|---|
Код |
crm_ext2Deal |
Адрес приложения |
URL/crm/deal |
Свойство | Значение |
---|---|
Код |
crm_ext3DealOS |
Адрес приложения |
URL/crm/dealOS |
Конфигурация Synergy CRM содержит предустановленные пользовательские компоненты:
Пользовательский компонент на основе компонента «Ссылка на реестр». Компонент имеет возможность сопоставления (в качестве источника и приемника). Список доступных действий:
«Выбрать из реестра»
«Создать»
«Удалить»
Проигрыватель формы в режиме редактирования
Выбор существующей записи реестра:
Выбор записи осуществляется по нажатию на лейбл «Выбрать из реестра» (доступен всегда). По нажатию на лейбл откроется диалоговое окно, которое содержит таблицу со всеми записями данного реестра. Столбцы таблицы представляют собой отображаемые поля реестра.
Доступна возможность ручного ввода и подбора результатов среди имеющихся записей реестра. При этом поиск производится по всем отображаемым полям реестра.
Значения в выпадающем списке составлены из полей диалога (т.е. отображаемых полей реестра), разделенных тире.
Создание новой записи реестра из текущей формы:
Создание новой записи доступно по нажатию на лейбл «+ Создать» (доступен всегда). По нажатию на лейбл открывается диалоговое окно проигрывателя формы в режиме редактирования.
Удаление текущего выбранного значения компонента:
Удаление текущего значения компонента доступно по нажатию на лейбл «х Удалить», который доступен только после выбора какого-либо значения.
По нажатию на лейбл «х Удалить» компонент принимает вид пустого поля ввода.
Проигрыватель формы в режиме чтения
Выбранная запись реестра отображается в виде подчеркнутого лейбла, составленного из значащего содержимого этого реестра. По нажатию на лейбл выбранной записи откроется диалоговое окно проигрывателя формы, который отображает эту запись из реестра в режиме просмотра.
Лиды
При сохранении изменений связанные поля заполнятся ссылкой на текущую запись в следующих реестрах:
При выборе существующей записи реестра
Аккаунт в
динамической таблице
(crm_form_account_lead
) этой записи
добавится строка, которая будет содержать ссылку на текущую
запись реестра Лид в
поле crm_form_account_lead_lead
.
При выборе существующей записи реестра
Контакт в
динамической таблице
(crm_form_contact_lead
) этой записи
добавится строка, которая будет содержать ссылку на текущую
запись реестра Лид в
поле crm_form_contact_lead_lead
.
При удалении или замене ссылки на запись реестра
Аккаунт в
динамической таблице
(crm_form_account_lead
) этой записи будет
удалена строка с ссылкой на текущую запись реестра
Лид.
При выборе существующей записи реестра
Контакт в
динамической таблице
(crm_form_contact_lead
) этой записи
добавится строка, которая будет содержать ссылку на текущую
запись реестра Лид в
поле crm_form_contact_lead_lead.
При удалении или замене ссылки на запись реестра
Контакт в
динамической таблице
(crm_form_contact_lead
) этой записи будет
удалена строка с ссылкой на текущую запись реестра
Лид.
Аккаунты
При сохранении изменений связанные поля заполнятся ссылкой на текущую запись в следующих реестрах:
Контакты
При сохранении изменений связанные поля заполнятся ссылкой
на текущую запись в реестре
Лид -
crm_form_lead_main_contact
.
Пользовательский компонент в виде кнопки, расположен на форме
«Лид». Названием кнопки является значение поля
crm_dict_leadStatus_buttonName
записи
справочника
crm_dict_leadStatus
со значением параметра
crm_dict_leadStatus_end
=1 (по умолчанию -
«Название кнопки»).
Кнопка в проигрывателе формы активна как в режиме чтения, так и в режиме редактирования.
По нажатию на кнопку:
выпадающий список «Статус» принимает значение
записи справочника
crm_dict_leadStatus
со значением параметра
crm_dict_leadStatus_end
=1 и становится
неактивным;
документ пересохраняется с новым значением выпадающего списка «Статус»;
создается новая запись реестра Сделка, в которой сопоставлены поля:
crm_form_deal_main1_lead
заполняется ссылкой на данную запись
Лида;
crm_form_deal_main2_theme
заполняется значением из
crm_form_lead_deals_theme
.
Выпадающий список «Статус»:
При выборе пункта со значением параметра
crm_dict_leadStatus_end
=1 в справочнике
crm_dict_leadStatus
выполняются те же действия, что и по нажатию на кнопку.
Модифицированный компонент представляет собой динамическую таблицу. Блок таблицы содержит в себе компоненты:
пиктограмма типа активности
выпадающий список «Тип активности»
однострочное поле «Комментарий»
компонент выбора даты «Дата»
Выпадающий список «Тип активностей» - справочник «crm_dict_activityType». Пиктограмма типа активности определяется значением выбранного значения в списке «Типы активностей».
В настройках компонента «Дата» включен флаг «Заполнять текущей датой / временем».
«Количество отображаемых строк при создании» для таблицы - 1. По умолчанию таблица отображает последний добавленный блок.
При наличии 2 и более блоков под таблицей добавляется кнопка «Загрузить еще» вне зависимости от текущего режима проигрывателя форм. По нажатию на кнопку «Загрузить еще» в таблицу добавляются следующие пять блоков. При смене режима проигрывателя форм документ отображает те же блоки таблицы, как и в предыдущем режиме.
Режим редактирования
В режиме редактирования над таблицей содержится кнопка «Добавить активность». По нажатию на эту кнопку вверх таблицы добавляется новый пустой блок.
Режим чтения
В режиме чтения фон блоков таблицы окрашен в следующие цвета:
нечетные блоки - #f1f1f1
четные блоки - #ffffff
Компонент представлен пиктограммой соответствующего приложения и ссылкой. Анкор таких ссылок:
для формы Контакт - crm_form_lead_main_contactConnection
телефон - значение поля crm_form_contact_phone_phone
социальные сети - значение поля crm_form_contact_socialNetworks_socialNetworks
для формы Аккаунт - crm_form_lead_main_accountConnection
телефон - значение поля crm_form_account_phone_phone
социальные сети - значение поля crm_form_account_socialNetworks_socialNetworks
Для приложения Skype имеются две ссылки - для звонка и сообщения. Их анкор представлен в формате:
для звонков - Позвонить %значение_поля%
для сообщений -
Написать %значение_поля%
При каждом открытии формы значения компонентов актуализируются согласно данным соответствующих записей Контакт и Аккаунт.
По нажатию на ссылку откроется:
Telegram -
https://telegram.me/%указанный_логин%
Примечание
Компонент обрабатывает только логины приложения Telegram, но не номера телефонов.
Facebook Messenger -
http://m.me/%указанный_логин%
Viber -
viber://add?number=%указанный_номер_телефона%
Skype (позвонить) -
skype:%указанный_логин%?call
Skype (написать) -
skype:%указанный_логин%?chat
Почта -
mailto:%указанный_электронный_адрес%
Телефон -
tel:%указанный_номер_телефона%
Примечание
Если на компьютере пользователя не установлен Skype, Viber, почтовый или SIP клиенты, то по нажатию а ссылку ничего не произойдет, и это не будет являться ошибкой Synergy.
Модифицированный компонент представляет собой динамическую таблицу формы Сделка.
Имеется возможность удалить столбец, содержащий поля «Тема сотрудничества» (crm_form_deal_main2_theme_cN), «Целевое значение» (crm_form_deal_main2_goal_pvalue_cN) и «План продаж» (crm_form_deal_main2_theme_pvalue_cN) по нажатию на кнопку «X» над соответствующим столбцом. При сохранении документа с удаленным столбцом соответствующий документ индекса r-crm_registry_deals_plans_custom будет удален.
Имеется возможность добавить столбец, содержащий поля «Тема сотрудничества» (crm_form_deal_main2_theme_cN) и «План продаж» (crm_form_deal_main2_theme_pvalue_cN) по нажатию на лейбл «+ Добавить столбец». Идентификаторы компонентов нового столбца:
«Тема сотрудничества» - crm_form_deal_main2_theme_c%N+1%
«План продаж» - crm_form_deal_main2_theme_pvalue_c%N+1%
«Целевое значение» - crm_form_deal_main2_goal_pvalue_c%N+1%
где %N+1% - наибольший порядковый номер компонентов текущего документа + 1.
При сохранении документа с новым столбцом создается новый документ индекса r-crm_registry_deals_plans_custom.
В режиме чтения кнопки удаления («Х») и добавления («+ Добавить столбец») столбцов не отображаются.
При создании новой записи реестра «План продаж» таблица имеет 14 столбцов, содержащих поля «Тема сотрудничества» (crm_form_deal_main2_theme_cN), «Целевое значение» (crm_form_deal_main2_goal_pvalue_cN) и «План продаж» (crm_form_deal_main2_theme_pvalue_cN).
Максимально допустимое количество столбцов, содержащих поля «Тема сотрудничества» (crm_form_deal_main2_theme_cN) и «План продаж» (crm_form_deal_main2_theme_pvalue_cN) в документе по форме - 50. Если таблица имеет 50 столбцов, содержащих поля «Тема сотрудничества» (crm_form_deal_main2_theme_cN) и «План продаж» (crm_form_deal_main2_theme_pvalue_cN), по нажатию на лейбл «+ Добавить столбец» отобразится сообщение об ошибке:
`Превышено максимальное количество столбцов`
Поле «Целевое значение»:
Поле содержит значение из поля «Стоимость продаж» (crm_form_deal_main2_theme_pvalue_cN), у которых совпадают значения:
«Год» (crm_form_deal_order_sales_year);
«Месяц» (crm_form_deal_order_sales_month);
«Тема сотрудничества» (crm_form_deal_main2_theme_cN);
«Отделение» (crm_form_deal_sales_pk1) в таблице текущего документа по форме и «Подразделение создающего пользователя» (crm_owner) другого документа по форме.
При отсутствии документа по форме «План продаж», удовлетворяющего перечисленным требованиям поле остается пустым, плейсхолдер не отображается.
Если имеется несколько документов, удовлетворяющих требованиям, указывается целевое значение последнего измененного документа.
Значения полей актуализируются при каждом открытии документа.
Если сумма значений всех полей «Стоимость продаж» хотя бы одной темы сотрудничества меньше, чем значение ее поля «Целевое значение», то при сохранении такого документа отобразится сообщение об ошибке:
Сумма стоимостей продаж должна быть больше либо равна целевому значению
Весь столбец соответствующей темы сотрудничества подсвечивается красным.
Всплывающие в указанное время записи ежедневника, отображаемые поверх любого активного модуля ARTA Synergy. В конфигурации Synergy CRM содержатся в модуле «Внешние модули-компоненты»:
Название |
crm_notifications |
Место размещения |
Depricated |
Название пользовательского компонента |
crm_component_notifications |
Тип вставки |
ADD |
Создание напоминания:
Для создания нового напоминания нужно нажать на кнопку «Создать» и выбрать пункт «Напоминание». Откроется окно создания напоминания:
Окно содержит поля:
Комментарий - многострочное поле
Дата и время - установка времени напоминания
Действие - выпадающий
список (справочник
crm_dict_remindActions
)
Лид - ссылка на записи реестра Лид
Сделка - ссылка на записи реестра Сделка
Одно из полей «Лид» и «Сделка» должно быть заполнено. Если оба поля «Лид» и «Сделка» не заполнены, то по нажатию на кнопку «Сохранить» отобразится ошибка с текстом:
Выберите лида или сделку
Если заполнены оба поля «Лид» и «Сделка» панель напоминания и заметка содержат обе ссылки на реестр.
Отображение напоминания при наступлении указанного времени:
При наступлении указанных даты и времени в нижнем правом углу основного приложения вне зависимости от активного модуля отобразится панель напоминания, содержащая:
пиктограмму напоминания («колокольчик»)
ссылку на запись реестра указанного Лида
значение поля «Действие»
кнопки:
«Отложить»
«Закрыть»
По нажатию на кнопку «Отложить» панель скроется и снова отобразится по истечении 15 минут от текущего времени на сервере. По нажатию на кнопку «Закрыть» панель более не будет отображаться.
Напоминание будет отображаться до тех пор, пока:
не будет нажата одна из указанных кнопок;
страница Synergy не будет перезагружена;
авторизованный пользователь не выйдет из системы.
Каждое новое напоминание добавляется выше остальных. Одновременно отображаются последние три напоминания. Если имеется более трех напоминаний, добавляется панель счетчика очереди, которая всегда отображается последней (ниже остальных).
При наступлении 00:00 следующего дня все активные напоминания предыдущего дня скрываются.
Счетчик очереди содержит текст с количеством напоминаний, которые не отображаются на странице.
Отображение напоминаний в модуле «Ежедневник»:
Напоминание для пользователя сохраняется в виде заметки в его Ежедневнике, где:
Дата заметки = дата, на которую требуется напоминание
Время начала заметки = время, указанное в напоминании
Время завершения заметки = 23:59:59 дня, указанного в напомина