В статье описан концепт реализации веб-сайта, где в роли фронтенда выступают привычные html, css, javascript, а в роли бэкенда - 1С.
Полученный результат:
Основные возможности
- В 1С опубликован http-сервис, который работает как веб-сервер: отдает контент запрашиваемых html-страниц. За основу взята идея из статьи //infostart.ru/public/1059046/.
- Сам личный кабинет разработан на базе бесплатного шаблона "concept", возможности шаблона можно увидеть в пунктах меню "Demo".
- Для примера работы реализован простой функционал: пользователь из личного кабинета может создавать обращения и комментировать их. Обрабатывать обращения будет другой пользователь, который работает в 1С.
- Каждый пользователь личного кабинета аутентифицируется под своей учетной записью. Можно добавить неограниченное количество пользователей.
- При формировании html страницы имеется возможность применять шаблоны - вставить текст других страниц или сгенерировать html "на лету" средствами языка 1С.
- Все доработки выполнены в виде расширения (платформа 8.3.14), легко встраивается в любую конфигурацию, нет зависимости от БСП.
Инструкция по установке
- Добавляем расширение в конфигурацию
- Публикуем http-сервис расширения
- Скачиваем внизу этой статьи xml-файл со страницами личного кабинета
- Заходим в режим предприятия, открываем справочник "Страницы (ЛК)", загружаем xml-файл по кнопке "Загрузить":
- Открываем справочник "Типы обращений (ЛК)", добавляем любые произвольные значения (например, "Прочее")
- Открываем справочник "Пользователи (ЛК)" и добавляем пользователя:
указываем username - персональный идентификатор пользователя, под которым он будет аутентифицирован
нажимаем кнопку "Получить hash", вводим пароль для аутентификации пользователя - получаем заполненные поля hash и salt, обратите внимание, пароль пользователя не хранится в открытом виде в базе 1С. Подробнее про хэширование паролей с применением соли: ссылка.
- Настройки готовы, переходим в браузере по адресу https://ваш_домен/имя_базы/hs/lk/concept/index.html и видим окно аутентификации:
-
Вводим username и пароль, которые указали при создании пользователя и переходим в раздел работы с обращениями. Создаем, комментируем, просматриваем, скачиваем прикрепленные файлы:
Плюсы реализации
- Не нужно создавать отдельный сайт, вести разработку на серверных языках программирования go, python, php, java, nodejs и др.
- Доработки на страницах легко вносить и отлаживать, изменения видны сразу в режиме онлайн.
- Нет никаких промежуточных интеграций, отдельных баз данных и так далее. Пользователи напрямую взаимодействуют с 1С на веб-странице.
- Внести изменения в код может любой разработчик 1С.
Варианты для применения
- Внутренний сайт компании для работы отдела кадров или службы поддержки.
- Сайт для клиентов: покупатели могут делать самостоятельно заказы в 1С, поставщики обновлять каталог своих товаров и прайс-листы.
- Корпоративный портал.
- Инструмент для работы с 1С, но с помощью современного веб-интерфейса, если по какой-то причине стандартный интерфейс не подходит.
Посмотреть демо-работы можно по ссылке. Логин: test, пароль: 123123.
Буду рад услышать мысли по поводу данного подхода в комментариях. Спасибо за внимание!