Клиенту-дистрибьютору нужен был закрытый портал для дилерской сети: остатки, заказы, взаиморасчёты. Стандартный путь — отдельный сайт с обменом данными. Мы пошли другим путём и запустили портал на базе встроенной системы самообслуживания 1С. За три месяца получили работающее решение, которое обходится дешевле в поддержке и не требует отдельной веб-команды.
С какой задачей пришёл клиент
Заказчик — дистрибьютор хозяйственных товаров среднего размера. Компания не продаёт продукцию напрямую конечным покупателям, а работает через сеть дилеров — несколько десятков партнёров по всей стране.
Взаимодействие с дилерами шло по старинке: заявки по телефону и почте, ручная проверка остатков, акты сверки по запросу. Клиент хотел классический B2B-портал — закрытый сайт, где дилеры могли бы самостоятельно просматривать остатки, оформлять заказы, видеть состояние взаиморасчётов и формировать отчёты.
Задача понятная и типовая. Вопрос был в том, как именно её реализовать.
Два подхода: отдельный сайт или всё внутри 1С
Прежде чем рассказать, что мы сделали, стоит объяснить, из чего выбирали. Вариантов в теории больше — например, можно сделать веб-фронт напрямую к 1С без отдельной серверной части. Но на практике, после предварительной проработки, мы остановились на детальном изучении двух концепций.
Отдельный сайт
Классический путь — отдельный веб-портал со своей базой данных, который регулярно обменивается информацией с 1С.
Плюс — полная свобода. Любой дизайн, любая логика, любые возможности современных веб-технологий.
Минусы ощутимые. Сайт работает в своей базе, а учёт — в 1С. Нужна регулярная синхронизация, а с ней — задержки и риски расхождения. Дилер видит на портале «в наличии 50 штук», а на складе уже 10. Для поддержки и доработки портала нужна отдельная веб-команда — помимо тех, кто сопровождает 1С. А любое даже простое изменение — добавить отчёт, вывести новое поле — каждый раз требует совместной работы обеих команд. Бизнес-пользователю кажется, что задача элементарная, а в реальности это мини-проект.
Система самообслуживания 1С
В конфигурациях 1С — «Управлении торговлей», «Комплексной автоматизации» и «ERP» — есть встроенный механизм: система самообслуживания. Это упрощённый интерфейс, через который внешние пользователи заходят в ту же самую рабочую базу с ограниченными правами.
Дилер открывает 1С в браузере и видит только то, что ему разрешено: каталог товаров, корзину для заказа, свои документы и отчёты. Ничего лишнего.
Одна команда, одна система. Новый отчёт, печатная форма, дополнительное поле в заказе — всё делается теми же специалистами, которые сопровождают 1С. Не нужна отдельная веб-команда.
Данные всегда актуальны. Дилер работает напрямую в рабочей базе. Остатки, цены, взаиморасчёты — в реальном времени, без задержек и расхождений.
Все возможности 1С доступны из коробки. Любой отчёт, любая печатная форма, которая уже есть в системе, — всё это можно быстро вывести в интерфейс самообслуживания.
Ограничения, о которых стоит знать
Мы не хотим создавать впечатление идеального решения. У системы самообслуживания есть объективные ограничения, и о них лучше знать заранее.
Дизайн. Интерфейс у 1С, прямо скажем, спартанский. Можно доработать до чего-то более приятного, но это не будет выглядеть как современный сайт. При желании можно встроить поле HTML-документа на весь экран и реализовать внутри него что угодно, но целесообразность такого решения сомнительна. Впрочем, для B2B-портала, где работают свои партнёры, а не случайные посетители, это редко бывает критично. Дилерам важны удобство и надёжность, а не внешняя красота.
Тяжеловесность. При загрузке запускается веб-клиент 1С — не лёгкая веб-страница. На хорошем офисном интернете проблем не возникает, но для слабых каналов связи решение может работать медленнее, чем хотелось бы.
Не для мобильных. Система самообслуживания рассчитана на работу с компьютера. На телефоне она работать не будет, на большом планшете — с оговорками. Если дилерам критически важен мобильный доступ, можно реализовать схожую функциональность на базе мобильного клиента 1С — но это отдельная тема. Для нашего клиента мобильный доступ не был актуален: его дилеры работают из офисов.
Безопасность и лицензии. Внешние пользователи получают доступ к рабочей базе, а для их подключения нужны клиентские лицензии 1С. И то и другое — решаемо, но требует внимания. Подробности — в разделе «Наш опыт» ниже.
Наш опыт: что пришлось сделать на практике
Идея выглядела привлекательно. Но между «теоретически работает» и «можно показать дилерам» — дистанция, которую нужно было пройти.
Доводка и оптимизация
Система самообслуживания — не самый популярный механизм в экосистеме 1С, и в стандартном виде она недостаточно отполирована для промышленного использования.
«Система откровенно сырая. Нужно быть готовым потратить время на доведение до продакшн-статуса»
Андрей
тех. лид проекта
Мы столкнулись с недоработками стандартного механизма и проблемами с производительностью. В частности, работа с каталогом и корзиной ощущалась тяжеловато: каждое действие — добавление товара, изменение количества — вызывало обращение к серверу, и это создавало ощутимые задержки.
Первый месяц ушёл на исправление ошибок, мелкие доработки и оптимизацию. По последнему пункту мы поставили конкретную цель: основные операции — просмотр каталога, добавление товара в корзину, изменение количества — должны работать без обращений к серверу. Данные подгружаются при открытии, а дальше вся работа идёт на стороне клиента.
Добились этого — и разница оказалась принципиальной. Интерфейс стал отзывчивым, работа с корзиной перестала вызывать раздражение. Это тот случай, когда нужно честно заложить время на доводку в план, но результат окупает вложения.
Безопасность
Внешний доступ к рабочей базе — это ответственность, и мы приняли несколько мер.
Промежуточная страница авторизации. Мы не стали открывать веб-клиент 1С напрямую по внешнему адресу. Перед ним стоит отдельная лёгкая страница авторизации, реализованная обычными веб-средствами. Пока авторизация на ней не пройдена, доступ к веб-клиенту 1С невозможен — не средствами самой 1С, а на уровне веб-сервера. Это защищает и от попыток подобрать пароль, и от DDoS-атак: под нагрузкой окажется лёгкая страничка, а не тяжёлый веб-клиент.
Разделение внутренних и внешних пользователей. Сотрудники компании подключаются к базе через VPN или из внутренней сети. Дилеры — через интернет, без VPN. Мы сделали так, что из внешней сети невозможно авторизоваться под учётной записью сотрудника — даже зная логин и пароль. Определение происходит на сетевом уровне. Даже в случае утечки учётных данных доступ извне не получить.
Лицензии
Для подключения дилеров потребовались дополнительные клиентские лицензии 1С — внешние пользователи с точки зрения лицензирования ничем не отличаются от внутренних.
Поначалу казалось, что это может стать серьёзной статьёй расходов. На практике вышло иначе. Дилеры выполняют простые и короткие операции: посмотрели остатки, оформили заказ, проверили акт сверки. Сеансы непродолжительные, а друг с другом пользователи практически не пересекаются по времени. В итоге потребовалось порядка 30 лицензий — сумма, несопоставимая со стоимостью полноценной веб-разработки.
Чтобы лицензии не простаивали, мы добавили принудительное ограничение времени сеанса — 45 минут. Система предупреждает пользователя за 15, за 10 и за 5 минут до завершения. В результате лицензии высвобождаются и используются эффективно.
«Честно говоря, мы ожидали жалобы, что времени не хватает. По факту — никто ни разу не пожаловался»
Андрей
тех. лид проекта
Что получилось в итоге
На весь проект ушло три месяца: месяц на разработку и доработку, два — на опытную эксплуатацию с группой дилеров. После запуска и доработок по обратной связи система зарекомендовала себя как надёжная, стабильная и простая в поддержке.
Дилеры работают самостоятельно. Остатки, заказы, акты сверки, отчёты — всё доступно в любой момент, без звонков менеджерам.
Данные всегда актуальны. Никаких задержек синхронизации — дилер видит ровно то, что есть в учётной системе прямо сейчас.
Доработки стоят разумных денег. Новый отчёт, печатная форма, дополнительная колонка — одна команда, одна система. Нет двойных затрат.
Минимальная стоимость поддержки. Нет отдельного сайта, нет отдельного сервера, нет отдельной команды.
Кому подходит такое решение
Система самообслуживания — не универсальный ответ на любую задачу по B2B-порталу. Но если ваша учётная система — «1С:Управление торговлей», «1С:Комплексная автоматизация» или «1С:ERP», внешних пользователей — десятки, а не тысячи, и партнёры работают с компьютеров из офиса — стоит рассмотреть этот подход. При типовых задачах портала (каталог, заказы, отчёты, взаиморасчёты) он закрывает потребности быстрее и дешевле, чем отдельная веб-разработка.
Стоимость
По текущему прайсу стоимость такого проекта — от 500 000 рублей. Точная сумма зависит от конфигурации, количества подключаемых пользователей и объёма доработок под конкретные задачи бизнеса.
Рассматриваете B2B-портал для работы с партнёрами? Давайте обсудим, подойдёт ли вам такой подход.