Выбор веб-технологии для интеграции с платформой «1С: Предприятия 8»

Обзор
DOI:
https://doi.org/10.18454/itech.2024.2.5
Выпуск: № 2 (2), 2024
Предложена:
10.03.2024
Принята:
12.04.2024
Опубликована:
12.04.2024
490
3
XML
PDF

Аннотация

В статье разобраны способы интеграции платформы «1С: Предприятие 8» с веб-технологиями для создания альтернативного пользовательского интерфейса, разрешающего задачи, возникающие у предприятия: реализация интерфейса для работы сотрудников и разработка пользовательского приложения для клиента. Для обзора были взяты такие способы взаимодействия платформы «1С: Предприятие 8» с веб-технологиями, как веб-клиент «1С: Предприятие 8», интеграция с конструкторами сайтов и CRM, взаимодействие с Single Page Application и внедрение Telegram-бота. Цель статьи – определить для каких потребностей может послужить интеграция решения на платформе «1С: Предприятие 8» с каким-либо родом веб-технологий, какие у каждого способа интеграции плюсы и минусы.

1. Введение

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

1С является одной из наиболее популярных и распространенных систем автоматизации учета, отчетности и управления в России. Она используется как малыми и средними предприятиями, так и крупными корпорациями. Благодаря своей простоте и удобству использования, 1С завоевала доверие многих предпринимателей и предприятий в России. Разработчики платформы понимают также важность внедрения веб-технологий в бизнес и поэтому предоставляют как собственный веб-клиент, так и способы интеграции с другими интернет-технологиями.

В связи с этим требуется разобрать, при каких обстоятельствах какие веб-технологии следует применять в сочетании с платформой «1С: Предприятие 8».

2. Основное содержание

Выбор интернет-технологии основывается на задаче, поставленной предприятием:

1. Разработать интерфейс для работы сотрудников, воплощающий возможности режима «1С: Предприятие 8», требуемые для выполнения их профессиональных обязанностей.

2. Разработать интерфейс для клиентов. В этом случае 1С будет служить backend’ом, а выбранная интернет-технология frontend’ом.

У компании есть несколько вариантов соединения веб-технологии и 1С:

А) Веб-клиент – это одно из клиентских приложений системы «1С: Предприятие 8». Веб-клиент использует технологии DHTML и HTTPRequest. При работе веб-клиента клиентские модули, разработанные в конфигурации, компилируются автоматически из встроенного языка «1С: Предприятия 8» и непосредственно исполняются на стороне веб-клиента

.

Веб-клиент позволяет работать в режиме «1С: Предприятие 8» удалённо, через интернет-браузер, в том числе с мобильного устройства — в браузере Google Chrome под ОС Android и в браузере Safari на iPhone/iPad. Доступны только основные функции веб-клиента

. Аутентификация пользователей осуществляется либо классическим для 1С способом, либо через OpenID Connect. При этом каждый пользователь для работы требует задействования одной лицензии. Стилизация достигается средствами CSS, но изменить скомпонованный платформой файл стилей или заменить его своим проблематично. Штатным средством стилизации являются настройки стиля – совокупности различных настроек, используемых для оформления пользовательского интерфейса
.

Отсутствие детальной стилизации, потребность в лицензии для каждого пользователя делает этот вариант неподходящим для использования его как пользовательского приложения. С другой стороны, наличие штатных средств стилизации (что означает отсутствие потребности переобучать старых или нанимать новых разработчиков) и привычный для сотрудников интерфейс делает веб-клиент подходящим решением второй задачи.

Б) Сайт, созданный конструктором, онлайн-сервисом для создания и редактирования веб-страниц без знаний программирования или с минимальным вмешательством в код. Функции включают шаблоны дизайна, настройку макета, редактор контента, форму обратной связи, управление SEO, аналитику, интеграцию с соцсетями, резервное копирование и онлайн-магазин. На рынке существует не мало таких сервисов: Tilda, uCoz, Битрикс24 и другие.

В наше время большинство сайтов созданы с использованием конструкторов. Их популярность обеспечивают простота, дешевизна, скорость разработки и обеспечение технической поддержкой; для реализации проекта не придётся нанимать разработчиков или переобучать имеющихся.

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

В 1С: Управление торговлей версии 10.3.4 и выше для интеграции с внешними сайтами предусмотрено средство Обмен с сайтом по протоколу CommerceML, который осуществляет электронный обмен коммерческими документами между информационными системами

.

Битрикс24 предоставляет интерфейс для интеграции CRM с 1С: Управление торговлей и 1С: Зарплата и управление персоналом

.

Ещё одним средством интеграции предоставляемым 1С является Обмен данными с интернет-магазином, который реализован в прикладных решениях 1С:Управление нашей фирмой 8, 1С:Комплексная автоматизация 8 и 1С:Управление торговлей 8. Его работа поддерживается на сайтах 1C-Битрикс, Shop-Script, WooCommerce и других

.

Сайт, созданный на конструкторе – подходящий вариант для реализации пользовательского интерфейса, но его возможности ограничены в сравнении с предыдущим и следующим решением, не позволяющие реализовать сложное приложение или создать рабочую среду для сотрудников. Минусом также будет однотипность такого сайта. Его полной противоположностью является Single page application.

В) SPA (Single page application) или одностраничное приложение – это то, что соответствует своему названию: веб-приложение, управляемое JavaScript, которое требует загрузки только одной страницы

. Быстрое, гибкое, универсальное, но имеющее проблемы с SEO-оптимизацией и дорогое. Дороговизна обусловлена высокой стоимостью разработки и сопровождения.

Для написания одностраничных приложений применяются такие фреймворки, как Angular, React, Vue.js и другие. Каждый основывается на собственных принципах, многие обладают широким сообществом и подробной документацией. В 2023 году Angular использовали 19.89% разработчиков, участвовавших в опросе Stackoverflow, Vue.js – 17.64%, а React.js – 42.87%

.

Интеграция с 1С осуществляется при помощи HTTP-интерфейсов. Платформа «1С:Предприятие 8» как раз предоставляет два способа реализации таких интерфейсов – это REST-интерфейс OData, который автоматически формируется для всего прикладного решения, а также HTTP-сервисы, которые можно создавать самостоятельно

.

Со стороны клиентского приложения связь с 1С поддерживается через инструменты отправки запросов (Fetch API, Axios, Superagent); WebSocket API – технологии для открытия двухстороннего соединения между клиентской и серверной сторонами

; или брокеры сообщений (Kafka, RabbitMQ). Проблема при работе с WebSocket или брокерами сообщений заключается в том, что они используют отличные от HTTP сетевые протоколы, неиспользуемые в 1С. WebSocket работает по WSS, Kafka использует TCP, а RabbitMQ – AMQP.

Для решения проблемы с WebSocket потребуется:

1. Реализовать WebSocket сервер на Node.js с помощью соответствующей библиотеки.

2. Настроить обработку входящих и исходящих сообщений на сервере.

3. В 1С написать логику для подключения к WebSocket серверу и отправки/получения сообщений через WebSocket протокол.

Для создания связи с Apache Kafka понадобиться пройти следующие шаги:

1. Настроить сервера брокера, Zoo Keeper – службу для координации между ними.

2. Настроить службу Kafka Connect для отправки сообщений со стороны 1С Сервера и службу Kafka Сonfluentinc для прослушивания потока со стороны брокера.

3. Создать HTTP-сервисы на 1С для взаимодействия с Apache Kafka.

4. Подключиться к API Apache Kafka со стороны клиентского приложения.

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

Single page application благодаря своей гибкости также может подойти для разработки веб-интерфейса для сотрудников.

Г) Телеграм-бот. Телеграмм-бот не так полно решает задачи создания пользовательского приложения или интерфейса для сотрудников, но может стать вспомогательным интерфейсом как для клиентов, так и для сотрудников. Благодаря сочетанию 1С и Телеграм-бота возможно реализовать следующие сервисы:

· Сервис рассылки уведомлений;

· Чат-бот;

· Сервис авторизации;

· Сервис обратной связи.

Для написания бота достаточно использовать встроенный язык 1С и HTTP-сервисы. Кроме того, телеграм-бот может быть создан как отдельный сервис на других языках программирования с использованием загружаемых библиотек. Для PHP это Nutgram, библиотека для Go называется Golang Telegram Bot library для Python – AIOGram а для Node.js – Telegraf

. Интеграция с таким ботом возможна через HTTP-сервисы.

3. Заключение

В заключении, при выборе решения необходимо учитывать несколько ключевых факторов, включая наличие времени и средств на разработку. Однако наиболее важным является определение конкретной цели или задачи, которую необходимо достичь, и уже от этого отталкиваться при выборе оптимального решения. Так, при потребности создать приложение для клиентов компании (интернет-магазин, служба доставки и др.), подойдут сайт, созданный на конструкторе, или SPA. Если же стоит задача предоставить рабочий интерфейс, то оптимальным будет использование веб-клиента 1С. Вспомогательным средством для решения обеих задач может послужить Телеграм-бот.

Метрика статьи

Просмотров:490
Скачиваний:3
Просмотры
Всего:
Просмотров:490