Модуль CMS или конструктор упёрся
Типовой кабинет магазина может показывать только заказы с сайта, и тогда договорные цены, отсрочки и отгрузки из 1С приходится дописывать. Дилеры звонят менеджеру.
Разработка личного кабинета — это не отдельная система, а окно в ваши учётные данные. Клиент, партнёр, поставщик или сотрудник сам видит заказ, цену, остаток и документ и подаёт заявку, а менеджеру остаётся меньше типовых звонков. Делаем его на заказ: роли, вход, обмен с 1С и CRM, журнал действий. Начинаем с разбора данных, потому что кабинет покажет наружу всё, что внутри не в порядке.
Нижняя граница — от 250 000 ₽Данные из 1С и CRM, права проверяются отдельным прогономИсходный код в вашем репозитории с первого коммита
Типовой кабинет магазина может показывать только заказы с сайта, и тогда договорные цены, отсрочки и отгрузки из 1С приходится дописывать. Дилеры звонят менеджеру.
У каждого свои условия: скидка, склад, отсрочка. В типовом модуле это может не поместиться или ведётся руками в двух местах.
Договорные цены и данные клиентов могут быть закрыты договорами или политикой безопасности, и облако конструктора не подходит. Кабинет стоит на вашем сервере или у выбранного вами хостера.
Данные устарели на сутки, статусы не меняются, документов нет, и люди вернулись к звонкам. Чинить надо обмен, а не интерфейс.
Перечень систем со сроками — на странице порталов и личных кабинетов.
Основные данные в кабинет не вводят, их берут из учёта. От способа доставки зависит, что клиент увидит при сбое 1С. Какие дыры в учёте вскрывает кабинет, описано на странице порталов.
Цену и остаток ведёт 1С или ERP, обращения — CRM, профиль и настройки уведомлений — сам кабинет. Это записывается до начала работ: поле, источник истины, кто вправе его менять. Если на поле претендуют два источника, кабинет показывает то одно значение, то другое. Схема обмена и матрица источников — на странице интеграции 1С.
Обычно остатки, цены и статусы идут вторым способом, справочники третьим. Так устроен и обмен сайта с 1С: пользователь видит копию, а заказ ждёт в очереди, пока учёт не сможет его принять.
Заказ или заявка из кабинета должны попасть в учёт. У записи есть состояние («принято кабинетом», «передано в учёт», «проведено», «ошибка»), повторная отправка не создаёт дубль, а ошибка видна менеджеру. Раз в сутки кабинет и учёт сверяются по количеству заказов, суммам и выборке остатков, расхождения попадают в журнал, и регламент говорит, кто их разбирает. Без сверки о расхождении узнают от клиента.
Заготовка для разбора: на ваших системах строки будут другими, вопросы те же.
Роли решаются до первой строки кода интерфейса и записываются так, чтобы их можно было проверить.
Роль «клиент» или «партнёр» — только верхний слой. Реальные права складываются из пяти уровней, и ошибка на любом открывает чужие данные.
Главное правило: права проверяет сервер на каждый запрос, а не интерфейс. Спрятанная кнопка ничего не защищает, если адрес запроса остался доступен. Поэтому в приёмку входит отдельный прогон: из-под каждой роли пробуем открыть чужие заказы, документы и файлы по прямым адресам, перебирая идентификаторы.
У сотрудников права следуют за должностью в каталоге пользователей, если он у вас есть. Внешних пользователей приглашает администратор их организации, и клиент сам отключает уволенного закупщика.
Способ входа выбирается по тому, кто пользуется. В одном кабинете может быть два-три.
Каждый запрос проверяется на сервере: пользователь, организация, роль, объект. Сессия живёт ограниченное время, срок задаём заранее.
Кто, что и когда смотрел, менял и скачивал. Вход «от имени клиента» для поддержки возможен, но записывается, как и смена прав.
Документы отдаются по короткоживущим ссылкам с проверкой прав, загружаемые файлы проверяются по типу и размеру и лежат на ваших серверах.
Из интернета доступен только кабинет. 1С остаётся внутри контура, облачная CRM подключается по API с отдельным ключом и минимальными правами. Ответы кэшируются, чтобы клиенты не нагружали учёт.
Цены — по тарифам, нижняя граница совпадает со страницей порталов. Цена называется по итогам обследования, остановиться можно после любой ступени.
Кто пользуется, что видит, откуда берутся данные. На выходе роли в проверяемом виде, схема обмена и вилка бюджета. Вычитается из первого этапа, если продолжаете с нами.
1С, CRM, склад, ЭДО и кабинет вместе: схема обменов и матрица источников истины.
Заказы, документы и обращения для одной категории пользователей, данные из одной системы. Нижняя граница по услуге, такая же у витрины данных.
Индивидуальные цены, остатки по доступным складам, заказ с проверкой, сверка. Существенно дороже нижней границы.
Для поставщика: заявки на поставку, статусы, документы. Для сотрудника: заявки и согласования — от 4 недель, с регламентами и справочниками (внутренний портал) — от 5 недель.
Мониторинг обмена, обращения, разбор инцидентов; плановые доработки с пакета на 60 000 ₽. Сверх пакета — 5 000 ₽ в час.
Пользователи, таблица «поле — источник — хозяин», роли в проверяемом виде, способы входа. Выясняем, есть ли в учёте то, что вы хотите показать.
Кликабельный, на подготовленных вами образцах данных. Перед показом паре клиентов или дилеров обезличиваем названия, цены и остатки. Правим до написания кода.
Интерфейс, права и обмен. Работаем в вашем репозитории, раз в две недели показываем работающую версию на тестовом стенде.
Функциональная и нагрузочная проверка, сверка с учётом на боевых данных и прогон прав: из-под каждой роли пробуем открыть чужое.
Заводим одну-две организации, а не всех сразу, и смотрим журнал и обращения.
Новые разделы и роли по этапам с отдельной приёмкой. Объём работ в месяц записан в договоре.
Если остатки не учитывают резервы, а клиент заведён трижды, первые недели уходят на учёт, а не на интерфейс.
Одна роль и два раздела — одно, пять ролей с правами на уровне договоров и полей — другое. Работа растёт по числу правил, а не экранов.
У каждой системы свой способ доступа: OData или HTTP-сервисы у 1С, API у CRM, файлы у старой учётной системы, и свой владелец.
Корпоративный вход, двухфакторность, ЭДО и оплата через подключённый эквайринг добавляют работы и на разработке, и на приёмке.
Кабинет для ваших клиентов и сотрудников — интерфейс к вашим данным. Если вы продаёте доступ другим компаниям, у каждой из которых свои пользователи, настройки и тариф, это SaaS-платформа: добавляются самостоятельные организации-клиенты, изоляция их данных как требование продукта, подписки и админка для поддержки.
Если нужен интерфейс с собственной логикой, который не сводится к показу данных из учёта (рабочее место, расчёт, конфигуратор), речь о веб-сервисе или веб-приложении. Если в основе обмен между системами без интерфейса, начинают с интеграции 1С или API и бэкенда.
Граница не жёсткая: кабинет может вырасти в сервис, поэтому права и разделение данных организаций закладываем сразу. Готовый модуль или заказной — в статье «Коробочное ПО или заказная разработка».
Что обязательно, а что украшение: индивидуальная цена, остатки, заказ с проверкой, документы и статус.
Как идёт сеанс обмена 1С с сайтом, что лежит в файлах и где формат упирается в пределы. Пригодится, если кабинет строится на данных магазина.
Три схемы изоляции данных. Пригодится, если кабинет вырастает в продукт для многих организаций.
Сорок минут созвона: кто пользуется, что должен видеть и откуда эти данные берутся сейчас. По итогам скажем, с какой ступени начинать и в какую вилку это укладывается.
Нижняя граница — от 250 000 ₽: простой кабинет с одной ролью или витрина данных. Кабинет партнёра с индивидуальными ценами и сверкой существенно дороже, цену называем по итогам обследования (200 000 ₽ за один-два процесса, 350 000 ₽ за несколько систем). Оно вычитается из первого этапа, если продолжаете с нами; для работ дороже 500 000 ₽ обязательно, для простого кабинета решаем после созвона.
Разработка кабинета клиента, поставщика или сотрудника с заявками и согласованиями занимает от четырёх недель, сотрудника с регламентами и справочниками — от пяти, партнёра с ценами и сверкой — от шести. До неё идут обследование (2–4 недели) и прототип, после неё проверка (1–2 недели) и запуск (3–7 дней). Если данные в учёте не в порядке, добавляется время на их разбор.
Да. С 1С работаем через OData, HTTP-сервисы или обмен файлами, с CRM через API. Если у системы нет ни интерфейса, ни выгрузки, скажем об этом до договора. Кабинет обычно не обращается в 1С на каждый клик: остатки, цены и статусы приходят копией, по каждому полю решаем на обследовании.
Запускать кабинет по частям: сначала раздел, где данные в порядке, остальное по мере наведения порядка. Обследование покажет, какие поля нельзя показывать наружу сейчас.
Права проверяет сервер на каждый запрос, для чувствительных ролей включается второй фактор, действия пишутся в журнал, а из-под каждой роли отдельно пробуем открыть чужие данные. Юридические вопросы и статус оператора остаются за юристом заказчика.
На ваших серверах или у выбранного вами хостера. Исходный код в вашем репозитории с первого коммита, подписки на доступ к собственному кабинету нет. Результат работ (исходный код, конфигурации, обученные модели) передаётся вам по акту; порядок передачи прав записывается в договоре; открытые компоненты остаются под своими лицензиями, их список входит в документацию. Персональные данные граждан России обычно должны храниться на серверах в России.
Ежемесячно: 20 000, 60 000 или 120 000 ₽ в месяц, до 4, 12 или 25 часов. Часы уходят на мониторинг обмена с 1С, обращения и разбор инцидентов; плановые доработки входят с пакета на 60 000 ₽. Сверх пакета — 5 000 ₽ в час, по согласованию до начала.
Мы в Ростове-на-Дону, работаем с заказчиками по всей России: удалённо и в вашем контуре. Доступ к системам и обследование согласуем на старте с вашей службой безопасности.