Пример разработки Web-интерфейса к программному комплексу Клиент-Коммуникатор
Описание
Web-интерфейс CRM-системы "Клиент-Коммуникатор" работает с двумя категориями пользователей - сотрудниками и клиентами, осуществляя доступ и к базе данных, хранящей сведения о контрагентах, контактных лицах, задачах отдела, а также о сделках и оплатах счетов клиентом. При этом права доступа к коммерческой информации разграничены не только между сотрудниками и клиентами, но и в пределах структуры компании - между руководителем отдела и подчиненными. Приложение решает несколько важных задач, предоставляя сотруднику, находящемуся за пределами компании, оперативный доступ к базе для просмотра и ввода информации, как о потенциальных, так и существующих клиентах, о ходе работы с ним, а также заведение новых сделок и оплат счетов. Также одной из проблем ввода информации является контроль ранее введенных записей, так как ввод дублирующих записей создает различные ошибки при обработке этой информации. В связи с этим реализован механизм фильтрации контрагентов по наименованию. Наряду с этим приложение также позволяет отправить E-mail, как контрагентам, так и контактным лицам и сотрудникам компании, проанализировать рейтинг появления новых клиентов, сделок и загруженность подчиненных. Приложение работает также с заказчиками, позволяя им изменить контактную информацию, при этом все сделанные клиентом изменения будут автоматически отражаться на внутренней базе данных компании.
Инструменты для реализации web-интерфейса
В качестве универсального хранилища данных выступает база данных и соответствующая ей система управления базами данных (СУБД). CRM-система Клиент-Коммуникатор базируется на принципе "Клиент-Сервер", все ее данные хранятся и обрабатываются в одной централизованной базе данных Microsoft SQL Server. Звеном между СУБД и клиентом, где реализовывается логика приложения выступает Web-сервер, поддерживающий технологию доступа к данным ADO и Active Server Pages (ASP).
Реализация
Структура web-интерфейса включает в себя файлы с расширениями .asp, .html и файл global.asa. Содержимое .html - файлов определяет внешний вид страниц сайта. В файлах с расширением .asp кроме HTML-кода содержится также серверный код.
При загрузке web-интерфейса пользователю (сотруднику либо клиенту) предоставляется возможность выполнить авторизованный вход:
 Рис.1
 Рис.2
Информация о сотрудниках, назначенных им логинах и паролях для входа в комплекс, хранится в системной таблице. Проверка данных, введенных пользователем, производится в серверном скрипте. При успешной авторизации происходит переход в меню навигации приложения (Рис. 3), аналогичное меню CRM-системы (Рис. 4):
 Рис.3
 Рис.4
Меню состоит из четырех разделов:
Раздел Контрагенты - включает 4 пункта и одно подменю.
Клиенты.
Схема навигации при выборе данного пункта показана на следующем рисунке:
 Рис. 5. Кликните мышкой на картинку для ее увеличения
Раздел состоит из двух фреймов.
- Нижний левый фрейм содержит справочник контрагентов с реквизитами.
- Нижний правый фрейм раздела позволяет:
- добавить нового контрагента.
Открывается форма для ввода данных (верхний фрейм) - реквизитов клиента, таких как наименование, телефон, факс, электронная почта и web-адрес, а также характеристик, имеющихся в базе и представленных выпадающим списком: отрасль, тип, маркетинг, статус в отрасли, перспективность. При этом если в справочнике нужной характеристики нет, то ее можно добавить, перейдя по кнопке рядом с выпадающим списком, аналогично тому, как реализовано в CRM-системе:
 Рис.6 |
Добавив нужную характеристику, к примеру, новую отрасль, которой принадлежит клиент, управление возвращается к форме ввода, после чего новый контрагент заносится в базу.
 Рис.7 |
Также в базу заносится информация, кто и когда ввел новую запись. Проверить правильность ввода можно, обновив справочник клиентов:
 Рис.8 |
или непосредственно через CRM-систему:
 Рис.9 |
- удалить контрагента, имеющегося в базе:
 Рис.10 |
- наложить фильтр по наименованию для контроля уникальности ранее созданных контрагентов, так как ввод дублирующих записей создает различные ошибки при обработке и выводе информации. В приложении реализован механизм фильтрации клиентов по условиям выбора 'отображать', 'не отображать' и 'равно', 'не равно', 'больше', 'меньше', 'между', 'содержит', 'не содержит', 'начинается', 'не начинается'. К примеру, при работе на выставке, сотруднику необходимо занести информацию о контакте с некоторым клиентом. Для быстрого поиска наличия данных о клиенте в базе, особенно, если размеры ее велики, производится выборка отображать контрагентов, наименование которых содержит 'часть наименования контрагента':
 Рис.11 |
Результат выборки:
 Рис.12 |
- изменить запись, открыв карточку клиента, имеющегося в базе:
 Рис. 13. |
В карточке клиента возможно изменить его реквизиты и характеристики, а
также просмотреть информацию по контактным лицам;
- обновить справочник контрагентов;
- отправить письмо на электронный адрес выбранного контрагента
Предприятие. В разделе открывается карточка предприятия с реквизитами, взятыми из базы. Возможно редактирование полей формы с сохранением сделанных изменений:
 Рис.14 |
Рейтинг появления новых клиентов в текущем году. Для построения графика появления новых клиентов пишется запрос к базе данных, суммирующий контрагентов, добавленных в одном месяце: группировка производится по дате создания контрагента. В цикле рисуются диаграммы, размер которых регулируется значением переменной, равной количеству клиентов:
 Рис.15 |
Мои клиенты. Сотрудник видит только своих клиентов, то есть тех, куратором которых он является. Выборка производится по идентификационному номеру сотрудника.
Подменю характеристики. Включает все служебные справочники, использующиеся при заведении нового клиента: отрасли, типы, статусы, перспективность, города и области. При этом в каждом из перечисленных справочников реализована возможность внесения новых данных, удаления существующих и каждая запись справочника содержит атрибуты наименования, даты создания и пользователя, добавившего новую запись:
 Рис.16 |
Меню Физические лица содержит два пункта.
- Контактные лица. Схема навигации выглядит так:
 Рис.17 |
Раздел состоит из трех фреймов: верхний левый содержит справочник контактных лиц контрагентов, правый - форму внесения нового контактного лица в базу. Информация о дате создания и пользователе, создавшем запись, фиксируется и видна в CRM-системе:
 Рис.18. Связь с CRM-системой. |
Сотруднику предоставлена возможность отправки письма по электронной почте контактным лицам определенного контрагента. По гиперссылке запускается почтовая программа Microsoft Outlook, в поле 'Кому' которой записывается электронный адрес выбранного контактного лица, после по кнопке 'отправить e-mail' возможно создать сообщение для другого контактного лица этого же контрагента.
Меню Работы - основа любой CRM-системы.
Задачей CRM-системы является не только ведение общей клиентской базы, но и фиксация всех аспектов взаимоотношений с контрагентами - на каких условиях был привлечен клиент, какими услугами он пользуется, какие товары он приобретает, какую доходность обеспечивает. Раздел ведения работ и контактов обеспечивает четкость, планирование и контроль действий менеджера. Сотрудник может, как запланировать новые контакты, то есть использовать раздел в качестве информационного органайзера, так и завести осуществившийся контакт. Схема навигации в разделе:
 Рис.19 |
В режиме сотрудник, являющийся подчиненным, может добавить новую работу, а руководитель - как добавить работу, так и назначить ее подчиненному. То есть автором работы является пользователь сессии, он же назначает исполнителя. Для анализа истории взаимоотношений с клиентами реализованы следующие возможности:
- просмотр просроченных работ и контактов
- просмотр всех работ, при этом сотрудник отдела видит лишь "свои" работы, то есть те, автором либо исполнителем которых он является. А руководителю доступны как свои, так и работы всех его подчиненных;
- анализ работ по привлечению новых клиентов и осуществлению новых сделок в отделе маркетинга за год:
 Рис.20 |
- анализ годовых работ по внедрению и внутренних задач отдела информационных технологий;
- в режиме 'Мои подчиненные: текущая неделя' руководитель отдела может просмотреть все задачи выбранного подчиненного, планируемые и завершенные на текущей неделе:
 Рис.21 |
- аналогично в режиме 'Мои подчиненные: текущий месяц' проведен полный анализ работ по привлечению клиента в текущем месяце. Подменю 'Дополнительно' включает все основные справочники, использующиеся при заведении новой работы:
 Рис.22 |
В справочник можно как внести новые данные, так и удалить уже существующие в базе записи, содержащие атрибуты наименования, даты создания и пользователя, добавившего новую запись:
 Рис.23 |
Раздел Сделки.
- Сделки. Схема навигации при выборе данного пункта меню показана на следующем рисунке:
 Рис. 24. |
Раздел состоит из трех фреймов. Первый фрейм является управляющим для третьего, а во второй загружаются все основные справочники. Навигация раздела позволяет:
- добавить новую сделку. При этом если пользователь установит флажок 'Добавить спецификации счета', то сотрудник сможет заполнить номенклатор сделки, внеся необходимые данные о цене и количестве товара;
- просмотреть спецификации и все произведенные оплаты по сделкам;
- просмотреть те сделки, поставка которых просрочена;
- просмотреть те сделки, оплата которых просрочена;
- просмотреть сделки, находящиеся в работе на текущий момент времени;
- рейтинг появления новых сделок в текущем году:
 Рис.25 |
Журнал оплат
Реализована возможность занести, а также удалить информацию об оплате счета по сделке, где указывается сумма, дата и форма оплаты. Аналогично, подменю 'Дополнительно' включает все основные справочники, использующиеся при заведении новой сделки: номенклатор, товары, формы оплаты, этапы сделок, задачи по сделкам, результаты и состояния:
 Рис.26 |
Для автоматизации доступа клиентов к CRM-системе, внедренной на предприятии, в приложении реализован раздел для клиента, вход которого в приложение является авторизованным. При успешной авторизации открывается карточка клиента, аналогичная карточке CRM-системы, в которой клиент может поменять информацию о себе, например, при смене номера телефона:
 Рис.27 |
|