HTML-клиент у конфигурации 1С
Приветствую. В этой публикации опишу свой опыт создания html-клиента для конфигурации 1С с помощью http-сервисов. HTML-клиент в этом случае — это frontend (html + css+ js), который генерирует и выдает пользователю конфигурация + backend, который тоже реализован в этой же конфигурации.
- Описание
- Подробнее
Описание
С чего все началось
Заказчик, крупная компания транспортной доставки, решила расширить сеть пунктов выдачи заказов (ПВЗ) с помощью партнерских ПВЗ — других юридических лиц со складскими помещениями. Но т.к. это может быть что угодно от ларька до СТО, то интерфейс системы надо сделать со следующими признаками:
- Простой
- Приятный
- Доступ с браузера
- Не надо устанавливать ничего дополнительного
Из-за этого стандартный веб-клиент 1С не подошел. Поэтому приняли решение делать альтернативную веб-версию. А поскольку у заказчика уже был печальный опыт работы с веб-разработчиками (после первого этапа и получения оплаты они куда-то сливались) я предложил сделать то же, но на 1С. С одной оговоркой — попросил для начала заказать шаблон страниц. Большую помощь также дала публикация "Мини-сайт на http-сервисах".
Общее описание
Самописная конфигурация на основе БСП, которая ведет простой учет движения заказа — от момента приемки на ПВЗ и до выдачи либо отправки возвратов, а также учет денежных средств. Но это не главное, можно настроить и над типовой.
С заказчиком были утверждены определенные сценарии и под каждый были добавлены шаблоны URL в http-сервис и создана страница с контентом.
Для связи с клиентом используются куки, которые также хранятся в БД.
Практически все страницы используют модальные окна, иначе количество сценариев бы выросло в разы. В моем случае я использовал JQuery, для интерактивности Ajax. Но ничто не мешает использовать другие библиотеки.
Благодаря такой реализации, frontend можно изменять на лету. Но для backend надо каждый раз прописывать изменения в модуле http-сервиса и обновлять ИБ.
По сценариям пользователь может делать следующее:
- Просмотр списка заказов с разными фильтрами по статусу.
- Поиск заказа по номеру, штрихкоду, данным покупателя.
- Просмотр данных заказа
- Оформить выдачу или отказ от заказа
- Принять заказы, отправленные со склада и напечатать акт приема-передачи
- Собрать возвраты, отменить сборку, отправить возвраты на склад — и напечатать соответствующие акты
- Провести инвентаризацию
- Сделать инкассацию денег, полученных за заказы
- Сформировать и вывести произвольные отчеты.
Демонстрация

HTTP-сервисы
Основой являются http-сервисы, которые формируют и отображают контент, а также реализовывают backend функции — прочитать или внести изменения в БД. Реализовать взаимодействие с сайтом можно было двумя способами: для каждой операции реализовать страничку со своим адресом или же все делать в пределе одной странице с помощью Post-запросов. Я выбрал первый вариант, но Post-запросы тоже использую (шаблон-URL API).
Контент

Справочники "Изображения", "Скрипты", "Стили", "ФайлыHTTP" являются вспомогательными (css + js + img) и содержат в себе соответствующую информацию. Можно как загрузить туда текст или изображение, так и указать URL (подключить файл). За их передачу на клиент отвечают одноименные http-сервисы.
