Техническая документация
и обучающие скринкасты

Оглавление

  1. Требования к браузеру
  2. Установка модуля «Ареал CRM» на платформу 1С-Битрикс
  3. Обновление модуля «Ареал CRM»
  4. Работа с комбинированными полями и справочниками
  5. Настройка напоминаний о задачах
  6. Работа с рассылками
  7. Права доступа
  8. Интеграция с интернет-магазином
  9. Интеграция с веб-формами
  10. Файл конфигурации
  11. Импорт данных

Требования к браузеру

«Ареал CRM» работает в современных версиях большинства браузеров:

  • Internet Explorer 8
  • FireFox 3+
  • Opera 10.5+
  • Chrome
  • Safari

Для достижения оптимальной скорости работы рекомендуем использовать один из следующих браузеров:

  • FireFox 3+
  • Opera 10.5+
  • Chrome

Установка модуля «Ареал CRM» на платформу 1С-Битрикс

В данном ролике показан процесс установки модуля «Ареал CRM» через систему обновлений 1С-Битрикс на примере корпоративного портала. Процесс установки для других версий 1С-Битрикс ничем не отличается.

  1. Создайте форум для хранения обсуждений по заказам из системы CRM. В этом форуме темы будут создаваться и привязываться автоматически к заказу. Скопируйте url созданного форума в буфер обмена.
  2. Перейдите в управление модулями и начните установку. В открывшемся окне настроек вставте скопированную ссылку форума в поле «URL Форума CRM» и задайте остальные параметры.
  3. После завершения установки по адресу /crm вы увидете страницу приветствия. Для начала работы необходимо для шаблона раздела /crm подключить меню, выбранное для разделов модуля.
  4. Настройте модуль рассылки.

Для просмотра видеоролика включите javascript и flash-плагин.

Обновление модуля «Ареал CRM»

Обновление модуля осуществляется через стандартный интерфейс и не приводит к потере данных. Обновления могут затрагивать состав информационных блоков CRM, состав полей и настройки этих информационных блоков, файлы публичной части CRM, компоненты CRM и файлы самого модуля.

Если клиент дорабатывает модуль самостоятельно, нельзя гарантировать, что при обновлении его доработки не будут потеряны и останутся совместимы с системой «Ареал CRM». Изменяя файлы, участвующие в обновлении, клиент берет на себя ответственность за восстановление своих разработок после обновления.

Работа с комбинированными полями и справочниками

В данном ролике показано администрирование справочников, а так же работа с ними через комбинированные поля на примере типов действий для задач.

Для просмотра видеоролика включите javascript и flash-плагин.

Настройка напоминаний о задачах

В «Ареал CRM» реализованы функции регулярных напоминаний. Чтобы этот механизм заработал, необходимо настроить планировщик cron.

  1. Напоминание о назначенных задачах. Приходят на e-mail за час до назначенного срока выполнения.
    • Генерирующая функция: CArealCrmReminderTools::TasksReminder().
    • Периодичность вызова: 1 минута.
  2. Напоминание о просроченных задачах. Приходят на e-mail, если запланированное время выполнения просрочено на срок, указанный в настройках модуля «Ареал CRM».
    • Генерирующая функция: CArealCrmReminderTools::MissingTaskReminder().
    • Периодичность вызова: 1 день.

Рассмотрим настройку cron на примере первого напоминания. Прежде всего необходимо создать скрипт следующего вида:

#!/usr/bin/php

<?php
if (!$_SERVER["DOCUMENT_ROOT"]) $_SERVER["DOCUMENT_ROOT"] = ‘/home/hosting/www’;

define(”NO_KEEP_STATISTIC”, true);
define(”NOT_CHECK_PERMISSIONS”, true);
require($_SERVER["DOCUMENT_ROOT"].”/bitrix/modules/main/include/prolog_before.php”);
set_time_limit(0);

// Подключаем модуль и вызываем функцию, генерирующую напоминание
CModule::IncludeModule(”areal.crm”);
CArealCrmReminderTools::TasksReminder();

require($_SERVER["DOCUMENT_ROOT"].”/bitrix/modules/main/include/epilog_after.php”);
?>

Здесь вам следует изменить следущие строки:
#!/usr/bin/php — путь к интерпретатору php — узнайте у хостера;
$_SERVER["DOCUMENT_ROOT"] — путь к корневой папке сервера.

После этого такому скрипту необходимо дать права на выполнение:
chmod +x myscript.php

Убедившись, что скрипт отрабатывает из командной строки, можно добавить задание cron. Очень важно, чтобы вызов происходил каждую минуту. Можно ограничить генерацию напоминаний рабочим временем и рабочими днями, например, с 8:00 до 20:00 с понедельника по пятницу:
* 8-20 * * 1-5 [путь]/myscript.php >> [путь]/myscript.log

Путь к текущей папку можно узнать командой pwd. Весь вывод скрипта будет дописываться в myscript.log

Если на хостинге нет интерпретатора php (только модуль php для apache), то сам скрипт будет иметь вид:

<?php
if ($_SERVER['REMOTE_ADDR']!=’127.0.0.1′) die(); // Защита от постороннего запуска

define(”NO_KEEP_STATISTIC”, true);
define(”NOT_CHECK_PERMISSIONS”, true);
require($_SERVER["DOCUMENT_ROOT"].”/bitrix/modules/main/include/prolog_before.php”);
set_time_limit(0);

// Подключаем модуль и вызываем функцию, генерирующую напоминание
CModule::IncludeModule(”areal.crm”);
CArealCrmReminderTools::TasksReminder();

require($_SERVER["DOCUMENT_ROOT"].”/bitrix/modules/main/include/epilog_after.php”);
?>

А вызов в планировщике надо будет делать через http клиент (например, lynx):
* 8-20 * * 1-5 lynx mysite.ru/myscript.php >> [путь]/myscript.log

Также о настройке работы периодических функций на «Битрикс» с использованием планировщика cron можно прочитать на сайте dev.1c-bitrix.ru.

Работа с рассылками

В этом ролике показано, как организовать стимулирующие рассылки с помощью «Ареал CRM»:

  • настройка «Ареал CRM» для работы с рассылками,
  • настройка почтовых шаблонов,
  • включение в подписку контакта из базы CRM,
  • осуществление рассылки стандартными средствами 1С-Битрикс.

Для просмотра видеоролика включите javascript и flash-плагин.

Фукциональность Администратор Менеджер Доступ закрыт
Списки компаний, контактов, заказов, задач Полный доступ Только свои записи Нет доступа
Просмотр карточек компаний, контактов, заказов, задач (например, найденных поиском или по известной ссылке) Полный доступ Полный доступ Нет доступа
Редактирование компаний, контактов, заказов, задач. Полный доступ Только своих записи Нет доступа
Привязка дочерних объектов (например, задач к заказам, заказы и контакты к компаниям) Полный доступ Только к своим объектам Нет доступа
Управление задачами Полный доступ В своих заказах нет ограничений на редактирование задач.
Изменить задачу в чужом заказе менеджер может в случае, если он является её куратором.
Нельзя поставить новую задачу в чужой заказ.
Нет доступа
Назначение объекта на другого куратора Полный доступ Доступно переназначение своих объектов Нет доступа
Отчеты Полный доступ Полный доступ Нет доступа
Просмотр истории Полный доступ Полный доступ Нет доступа
Редактирование истории Полный доступ к пользовательским записям. Редактирование служебных записей запрещено. В чужих объектах можно только добавлять новые записи, но нельзя ничего изменять. В своих — полный доступ к пользовательским записям. Нет доступа
Работа с расширенными фильтрами Полный доступ. Возможность создавать общедоступные фильтры, в том числе и такие, которые позволяют менеджерам видеть чужую информацию. Возможность создавать расширенные фильтры только для личного использования с поиском в рамках своих данных. Возможножность использовать общедоступные фильтры. Нет доступа

Интеграция с интернет-магазином

Начиная с версии 1.7 заказы из магазина могут автоматически попадать в CRM. Для настройки интеграции необходимо:

  1. В случае использования компонентов заказа собственной разработки убедиться, что ваш компонент генерирует событие OnSaleComponentOrderComplete или OnSaleComponentOrderOneStepComplete после завершения заказа.
  2. Сконфигурировать соответствие полей между интернет-магазином и CRM.

Стандартная конфигурация полностью совместима с решением «1С-Битрикс: Интернет-магазин»

В настойках модуля «Ареал CRM», на вкладке «Интернет-магазин» можно изменить параметры интеграции:

  • Выбрать статус в CRM для нового заказа, пришедшего из интернет-магазина.
  • Выбрать менеджера, на которго будут назначаться все новые заказы.
  • Отключить интеграцию.

Интеграция с веб-формами

Начиная с версии 1.7 заявка из веб-формы может быть сразу занесена в CRM. Для этого нужно:

  1. Форма должна содержать как минимум поля для указания имени и e-mail или контактного телефона.
  2. Добавить к полям формы специальные символьные коды:
    name — имя или ФИО,
    email — e-mail,
    phone — описание.
  3. Добавить в файл /bitrix/php_interface/init.php обработчик события модуля веб-форм onAfterResultAdd.

    AddEventHandler(’form’, ‘onAfterResultAdd’, ‘AfterResultAdd’);

    function AfterResultAdd($WEB_FORM_ID, $RESULT_ID)

    {

    // Здесь можно добавить проверку, если не требуется интеграция всех форм

    if (CModule::IncludeModule(’areal.crm’))

    CArealCrmSiteTools::addForm($RESULT_ID);

    }

Решения Типовой сайт агентства недвижимости уже полностью настроено для работы с CRM.

Файл конфигурации

Начиная с версии 1.7 доступно использование файла конфигурации, который подключается в настройках модуля. Настройки по-умолчанию хранятся в файле /bitrix/modules/areal.crm/default_config.php. Этот же файл является шаблоном для создания собственной конфигурации.

Во всех настройках разделы кодируются символьными кодами информационных блоков:

  • crm_company — компании,
  • crm_person — контактные лица,
  • crm_order — заказы,
  • crm_task — задачи.

Локализация терминологии

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

Поддерживается разделами: задачи, заказы.

$AREAL_CRM_CONFIG["iblock_name"] = array(

“crm_order” => array(

“ed” => array( // Единственное число

“im” => “заказ”, // Им. падеж

“rod” => “заказа”, // Род. падеж

“dat” => “заказу”, // Дат. падеж

“vin” => “заказ”, // Вин. падеж

“tv” => “заказом”, // Твор. падеж

“pr” => “заказе” // Предл. падеж

),

“mn” => array( // Множественное число

“im” => “заказы”, // Им. падеж

“rod” => “заказов”,// Род. падеж

“dat” => “заказам”, // Дат. падеж

“vin” => “заказы”, // Вин. падеж

“tv” => “заказами”,// Твор. падеж

“pr” => “заказах” // Предл. падеж

)

),

);

Локализация названий полей

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

Поддерживается разделами: заказы, компании, контактные лица.

Пример переименования полей для контактных лиц:

$AREAL_CRM_CONFIG["field_name"] = array(

“crm_person” => array(

“NAME” => “Имя”,

“PREVIEW_PICTURE” => “Фото”,

“DATE_ACTIVE_FROM” => “”,

“DATE_ACTIVE_TO” => “”,

“ACTIVE” => “”,

“TIMESTAMP_X” => “”,

“PREVIEW_TEXT” => “Описание”,

),

);

Настройка набора полей и свойств

Свойства информационных блоков, НЕ ВЫВОДИМЫЕ в интерфейсах

Все новые свойства информационных блоков «Компании», «Заказы», «Контактные лица» сразу становятся доступны в карточках и фильтрах. Но иногда эти свойства не предназначены для прямого редактирования и просмотра менеджером, а нужны только в административном интерфейсе или заполняются автоматически служебными данными. Данная настройка позволяет указать, какие свойства нельзя показывать в интерфейсах CRM.

Для каждого из информационных блоков, для каждого интерфейса вводится перечень полей, которые не выводятся в данном интерфейсе. Поле так же не выводится, если его тип не поддерживается системой «Ареал CRM» (поддерживаются основные типы: текст, дата, списки, привязки к пользователям и к элементом информационных блоков).

Поддерживается разделами: заказы, компании, контактные лица.

Интерфейсы кодируются следующими ключами:

  • full_filter — расширенный фильтр,
  • short_filter — простой фильтр,
  • grid — список,
  • form — форма редактирования.

$AREAL_CRM_CONFIG["blocked_props"] = array(

“crm_person” => array(

“full_filter” => array(),

“short_filter” => array(”crm_subscribe_del”),

“grid” => array(),

“form” => array(”crm_subscribe_del”, “crm_sub_del_reason”),

),

);

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

Поля информационных блоков, УЧАСТВУЮЩИЕ в интерфейсах CRM

Эта настройка позволяет подключить дополнительные поля информационных блоков.

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

Поддерживается разделами: заказы, компании, контактные лица

Интерфейсы кодируются следующими ключами:

  • full_filter — расширенный фильтр,
  • short_filter — простой фильтр,
  • grid — список,
  • form — форма редактирования,
  • xls — экспорт xls,
  • history — изменения значений для истории.

$AREAL_CRM_CONFIG["field_set"] = array(

“crm_company” => array(

“full_filter” => array(”NAME”, “PREVIEW_TEXT”, “CREATED_BY”, “DATE_CREATE”, “MODIFIED_BY”, “TIMESTAMP_X”),

“short_filter” => array(”NAME”, “PREVIEW_TEXT”),

“grid” => array(”NAME”),

“xls” => array(”NAME”, “PREVIEW_TEXT”, “ACTIVE”),

“form” => array(”NAME”, “PREVIEW_TEXT”),

“history” => array(”NAME”, “PREVIEW_TEXT”, “ACTIVE”, “DATE_ACTIVE_FROM”)

),

);

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

Интеграция с интернет магазином

Определяет соответствие между полями заказа в интернет-магазине, в профиле и в CRM. Задача этой настройки определить, из каких полей заказа взять название и свойства компании, а из каких данные контактного лица. Поддерживаются только текстовые свойства заказа: TEXT, TEXTAREA, LOCATION.

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

$AREAL_CRM_CONFIG["shop2crm_fields"] = array(

“crm_company” => array(

“user” => array( // данные из профиля в компанию не копируются

),

“shop” => array(

“COMPANY” => “NAME”, // название компании берется из поля заказа с кодом “COMPANY”

“COMPANY_ADR” => “crm_address”, // адрес берется из поля с кодом “COMPANY_ADR”

“INN” => “crm_inn”, // ИНН компании берется из поля заказа с кодом “INN”

“KPP” => “crm_kpp”, // КПП компании берется из поля заказа с кодом “KPP”

)

),

“crm_person” => array(

“user” => array( // данные контактного лица копируются из из профиля

“NAME” => “NAME”,

“LAST_NAME” => “crm_family”,

“SECOND_NAME” => “crm_patronymic”,

“EMAIL” => “crm_person_email”,

“PERSONAL_ICQ” => “crm_icq”,

),

“shop” => array( // Данные, которых не было в профиле, копируются из полей заказа

“CONTACT_PERSON” => “NAME”

“EMAIL” => “crm_person_email”,

“PHONE” => “crm_phone_mobile”,

“FIO” => “NAME”

)

)

);

Импорт данных

Начиная с версии 1.7.1 доступен импорт базы клиентов в формате CSV. Чтобы выполнить импорт нужно:

  1. Подготовить в Excel файл следующего формата (пример):
    • Первая строка содержит заголовки, со второй стороки начинается загрузка данных.
    • Одна строка может содержать данные одной компании, одного контактного лица и одного заказа.
    • Для того, чтобы загрузить компанию с несколькими контактами или заказами, дублировать название компании во всех строках, содержащих относящиеся к ней данные.
    • Порядок столбцов может быть произвольным.
    • Незаполненные или необязательные столбцы могут отсутствовать в файле.
    • Для полей типа «Список» (например, статус заказа) вводимые значения должны в точности совпадать с имеющимися в системе вариантами.
    • Для кураторов можно вводить фамилию или полностью ФИО (но не инициалы). Все кураторы должны быть предварительно зарегистрированы в системе.
    • Пол вводится полностью: мужской/женский.
    • Несколько значений для одного поля (например, несколько телефонов компании) вводятся через запятую, значение не должно содержать запятой, если это не разделитель.
  2. Сохранить готовый файл в формате CSV.
  3. Загрузить файл в форму импорта с помощью кнопки «Добавить файл».
  4. В форме для каждого поля выбрать соответсвующий ему заголовок столбца в файле. Из выбранного столбца будут загружаться значения поля.
  5. Нажать кнопку «Добавить», дождаться завершения импорта и получить статистику.