Евраз Металл Инпром - Личный Кабинет Клиентов

Сегодня мы поделимся интересным случаем трехлетней давности.

Мы решили, что и вам это будет интересно.

Готового технического задания не было.

После первых встреч по скайпу стало понятно, что у проекта большое будущее – спроектировать, оценить и развить его сразу не получится.

Мы решили делать это итерациями, описывая в техническом задании только первый этап работы.

В результате получился 32-страничный документ, который программист оценил в 200 часов.

В трех приложениях к техническому заданию подробно описан формат нестандартного обмена данными с веб-сервисами 1С, даже с примерами SOAP-запросов и ответов.



Евраз Металл Инпром - личный кабинет клиентов

Личный кабинет клиента компании ЕВРАЗ



Клиент

АО «ЕВРАЗ Металл Инпром» — один из ведущих российских металлотрейдеров, поставляющий металлопрокат производства крупных заводов стран СНГ.

Основную долю продукции занимает металлопрокат производственных мощностей ЕВРАЗа.

Это подконтрольная организация EVRAZ plc. С ЕВРАЗ ИНТЕРВОЛГА у нас долгосрочные отношения: мы разработали личный кабинет для клиентов компании ЕВРАЗ, сайт-визитку для ЕВРАЗ Ванадий, интернет-магазин для Ассоциации развития металлоконструкций.



Задача

В 2016 году к нам обратились по поводу разработка личного кабинета для сайта клиенты ЕВРАЗ Металл Инпром.

Видение проекта было следующим:

  1. сайт не заполняется вручную, вся информация подтягивается из 1С ERP;
  2. На сайте нельзя оформить заказ, только приложение;
  3. на основании запросов с сайта формируются заказы в 1С;
  4. коммерческая информация о заказах и товарах (остатки, счета-фактуры, цены) не может храниться на сайте, ее необходимо получить из 1С;
  5. совместно с заказами должны работать представители одного и того же партнера;
  6. Текущий баланс клиента также можно получить из 1С; его не следует сохранять на веб-сайте.



Решение

Готового технического задания не было.

После первых встреч по скайпу стало ясно, что у проекта большое будущее – спроектировать, оценить и развить его сразу не получится.

Мы решили делать это итерациями, описывая в техническом задании только первый этап работы.

В результате получился 32-страничный документ, который программист оценил в 200 часов.

В трех приложениях к техническому заданию подробно описан формат нестандартного обмена данными с веб-сервисами 1С, даже с примерами SOAP-запросов и ответов.



Дизайн и верстка

Хотя личный кабинет не задумывался как часть основного сайта.

http://www.emi.evraz.com Тем не менее, ему пришлось повторить его конструкцию.

Цели создать адаптивный дизайн не было, но мы все равно использовали библиотеку начальной загрузки для повторения дизайна основного сайта.



Евраз Металл Инпром - личный кабинет клиентов

Проведение актов сверки в личном кабинете

Импортируйте все из 1С.

Как ни странно, единственным узким местом в концепции «все загружается из 1С» стал список пользователей.

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

При создании записи на сайте пароль используется для создания учетной записи, а затем раз и навсегда стирается волшебным словом.

секрет , поэтому никто не сможет узнать, какой пароль у этого пользователя.



Евраз Металл Инпром - личный кабинет клиентов

Импорт документов из 1С

Размещение заявки, а не заказа

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

А формат, который система использует для передачи заказов в 1С, настолько подходит для приложений, что мы решили его использовать.

В итоге получилось так: заявка — обычный заказ, но с пометкой «Я — заявка» (с точки зрения сайта).

Задача заключалась в функции «разные контакты одной компании должны видеть заказы друг друга».

Решение — создать специального «пользователя компании», к которому будут записываться все новые заказы.



Евраз Металл Инпром - личный кабинет клиентов

ЭШаги оформления заявки в личном кабинете на сайте Во время разработки произошел примечательный случай: не было возможности «скрыть» от пользователя чужие заказы.

Оказалось, что это ошибка в CMS: по прямой ссылке можно было увидеть любой заказ любого пользователя (исправлено в интернет-магазине v16.5.9).

Вся команда плакала и смеялась, ошибку исправили обновлением.



Цены, счета, баланс в 1С

Для оперативного получения коммерческих данных из 1С совместно со специалистом ЕВРАЗ Металл Инпром был разработан веб-сервис с использованием технологии SOAP. Когда пользователь просматривает заказы, сайт формирует запрос в 1С, подписывая запрос логином и хешем пароля пользователя.

Далее 1С выполняет 2 проверки:

  1. существует ли вообще пользователь с таким логином и паролем;
  2. имеет ли пользователь доступ к запрашиваемой информации.

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



Евраз Металл Инпром - личный кабинет клиентов

Обмен коммерческими данными 1С с другими системами Эта нетипичная схема была разработана с учетом требования заказчика «на сайте ничего коммерческого», все в 1С.

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

Безопасность

Красной нитью, проходящей через весь проект, были требования безопасности нашей работы и объекта.

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

Эти поистине спартанские условия замедлили нашу работу, но не остановили ее.



Евраз Металл Инпром - личный кабинет клиентов

Соблюдение требований безопасности при обновлении

Последующие этапы развития

После года согласований и согласований на доработки проект был возвращен.

С новыми требованиями заказчика, 10-страничным техническим заданием и новым руководителем проекта.

Интересный факт: за все время работы с личным кабинетом сменились менеджеры и в ИНТЕРВОЛГЕ, и в EMI. Эстафету передавали друг другу, в том числе верстальщики и программисты, хотя и не в таком большом количестве.

Но постоянный разработчик 1С компании EMI за эти два года стал для нас как родной.

На втором этапе была дополнительная интеграция с 1С.

Из системы учета стали вытягивать различные документы: акты сверки, счета-фактуры, счета-фактуры и справки.

Доработки второго этапа заняли 100 часов.

Сотрудничество продолжилось в феврале 2018 года.

«ИНТЕРВОЛГА» и АО «ЕВРАЗ Металл Инпром» заключили договор на третий этап разработки.

Разработка подобных личных кабинетов со сложной логикой и требованиями безопасности уже стала одним из наших основных направлений.

Позже мы поговорим о продолжении и других совместных проектах.

Автор: Анатолий Ерофеев.

Теги: #Управление разработкой #Анализ и проектирование систем #автоматизация процессов #личный кабинет #b2b система

Вместе с данным постом часто просматривают: