Написать пост

Сервисы вокруг 1С: как выйти за рамки типовых возможностей программы

Как разнообразить работу сервисов на 1С и какие фичи «прикрутить» к базовому софту, рассказал системный архитектор «1С:БухОбслуживание».

1С по праву считается монополистом на рынке бухгалтерских услуг. По итогам 2021 года он занимал 45% ERP рынка, а с уходом SAP из России аналитики прогнозировали, рост доли до 70-75 % к 2023 году. Не стоит забывать, что 1С — не только система управления бизнесом, но и популярный full-stack язык, в который разработчики постоянно добавляют новые возможности. Во многом это заслуга активного сообщества 1С-программистов, которые ищут нестандартные подходы к решению обыденных задач.

Как разнообразить работу уже существующих программ на 1С и какие фичи «прикрутить» к базовому софту — рассказал Матвей Серёгин, системный архитектор сервиса «1С:БухОбслуживание», «1С», автор курса «1С-программист: с нуля до middle» и преподаватель Нетологии.

Типовые и нетиповые решения 1С

Под «типовыми» решениями обычно понимают универсальные приложения для управления предприятиями, ведения регламентированного учета, управления кадрами, внутренними документами и т.д. Что такое «нетиповые» решения в этой связи понять тоже довольно просто: это все те конфигурации, которые были разработаны бизнесом с нуля самостоятельно под свои потребности, либо на «голой» платформе, либо с использованием библиотек. Также существуют тиражные решения для конкретных отраслей (например, сельского хозяйства) или стран, с учетом специфики местного законодательства (например, бухгалтерия Казахстана).

На практике «типовое» решение почти всегда кастомизируют, добавляя в него новые объекты, методы, функции, подсистемы. Поэтому на большинстве предприятий используют стандартные решения с несколькими дополнительными или модифицированными нетиповыми функциями. В этой связи сложно сказать, стало ли решения «нетиповым» после того, как предприятие, например, взяло разработанную 1С типовую бухгалтерию и подкрутило пару элементов кода.

Внешние компоненты 1С

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

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

Для достижения подобной автоматизации потребуется работа со встроенным языком платформы 1С. Например, Python помогает интегрировать алгоритмы машинного обучения и ИИ, C++ задействуют для обеспечения максимальной скорости процессов. Расширяемая среда разработки 1С:EDT также поддерживает язык программирования Java, который позволяет прописывать плагины, обеспечивая еще большую гибкость в выборе инструментов. А взаимодействие между внешними сервисами и 1С осуществляется по сетевым протоколам.

Протоколы, которые поддерживает 1С

Самый востребованный сетевой протокол, поддерживаемый 1С — HTTP. Если же планируется большая нагрузка на приложение, приходится дополнительно задействовать брокеры сообщений. Раньше разработчики использовали сторонние решения (RabbitMQ, Apache Kafka). Но теперь у 1С появился свой брокер — 1С:Шина, поэтому в большинстве случаев использование сторонних продуктов не требуется.

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

Кроме того, по HTTP работают интеграции с ботами (ChatGPT) и Алисой от Яндекса. Также HTTP предпочитают мессенджеры (тот же Telegram или WhatsApp, «ВКонтакте»).

Но иногда приходится задействовать WebSocket – это протокол связи поверх TCP-соединения, предназначенный для обмена сообщениями между браузером и веб-сервером. Пока у 1С нет полноценной поддержки этого протокола, хотя это и планируется в одной из следующих версий, так что приходится использовать промежуточный код — например, на PHP, Golang или Python.

Еще один протокол, который используют для интеграции 1С с брокерами сообщений (ПО для связи между приложениями, системами и службами, помогающее им обмениваться информацией друг с другом) – это AMQP. Протокол использует термин “vhost”, поэтому для каждого обмена данными между несколькими очередями создается отдельный виртуальный хост в брокере.

Брокер гарантирует надежность доставки сообщений путем использования подтверждений. Если отправитель подтверждает отправку сообщения, то оно попадает в очередь. Это означает, что можно быть уверенным, что сообщение не потеряется или не будет отправлено неправильно.

Безграничные возможности для интеграций

Да, 1С создан для решения проблем предприятий в промышленных масштабах: заказывать недостающий товар, фиксировать отклонения от целевых показателей, направлять заказы на определенные станки и т.д. Но это ПО в совокупности с внешними компонентами способно точно так же организовывать и абсолютно бытовые элементы жизни, например, управлять умным домом. В этом случае вся логика работы домашних интеллектуальных устройств будет настроена прямо в 1С. Как для домохозяйки, так и для занятого руководителя это просто гениальное решение. Человек сможет, находясь в системе, не только поставить задачи заварить кофе, выжать сок по дороге домой, но и работать на домашнем компьютере при помощи ИИ-бот.

Можно даже интегрировать с 1С умную колонку “Алису” и отдавать распоряжения системе голосом. Условно вы просыпаетесь, включаете кофеварку и говорите: «Алиса, расскажи мне о ключевых показателях». Алиса обращается к 1С и, пока вы пьете кофе, рассказывает о том, что происходит в вашем бизнесе. Если в каком-то показателе есть отклонение, вы можете попросить Алису рассказать о нем подробнее.

Другим инструментом, интеграция которого в 1С становится все более популярна и о котором мы писали выше, становится искусственный интеллект. Многие фичи платформа может предложить уже сейчас, а какие-то возможности появятся в ближайших релизах. Но уже сейчас понятно, что с помощью ИИ в системе 1С можно будет (или уже можно) решать следующие задачи:

  • Распознавание текста. В контексте 1С речь, разумеется, о распознавании первичных документов (сканы накладных, актов и т.п.). Раньше этим занимались менеджеры и бухгалтеры и делали это вручную. Теперь эту заботу берет на себя сервис на базе машинного обучения, который распознает документ и передает его в 1С. А человеку остается только проверить некоторые важные части, где ИИ мог ошибиться.
  • Распознавание и синтез речи. Уже сейчас с 1С можно интегрировать облачный продукт с функциями потокового и файлового распознавания, который преобразует речь на русском и английском языках в текст. А скоро в 1С появится возможность полноценной интеграции голосовых помощников на основе ИИ, что позволит пользователям взаимодействовать с программой голосом. Это сделает использование 1С еще более удобным: например, менеджер по продажам, заполняя договор, может попросить у программы голосом открыть реквизиты клиента. Или бухгалтер, составляя отчет, попросит статистику за определенный период. Для слаженной работы двух сервисов — распознавания и синтеза речи — разработчик должен написать алгоритм, который по ключевым словам будет понимать характер запроса, «доставать» из базы данных нужную информацию, преобразовывать ее в нужный вид и передавать механизму синтеза речи. 
  • Прогнозирование спроса — еще один полезный инструмент на базе ИИ, который интегрируется в 1С. С помощью математических моделей и ML сервис на основе данных прогнозирует, что и когда в предстоящем году будут покупать. Это позволяет освободить от рутинных расчетов маркетологов, которые могут сосредоточиться на проработке стратегии продаж.

Перечисленное выше — это фактически типовые решения 1С, которые реализуются с помощью встроенного языка. То есть сегодня их можно внедрить силами своих программистов, а ведь еще пару лет назад для этого пришлось бы отдельно писать код на Python или Go. Так что у 1С-разработчиков теперь масса возможностей для инноваций и огромный потенциал для роста. Ведь даже то, что корпорация уже внедрила или внедрит в ближайшее время — далеко не предел, особенно если принять во внимание, что информационные технологии развиваются стремительно.

Например, сейчас в тренде генеративные нейросети. В будущем кажется логичным добавить интеграцию с Chat GPT, Midjourney или аналогами. Она значительно облегчит задачу тем, кто занимается составлением писем, рассылок и прочей документации. Чтобы не тратить время на обращение к сервисам самостоятельно и получить текст или картинку от нейросети всего за несколько секунд, запрос можно будет направить непосредственно в 1С.

Как стать разработчиком 1С

Учитывая потенциал программных решений 1С, умеющие работать с этими продуктами специалисты всегда будут востребованы. Статистика неумолима: спрос на таких сотрудников растет каждый месяц. И если год назад количество вакансий превышало 8 тысяч, то сейчас их уже больше 11 тысяч.

Чтобы стать одним из таких разработчиков, для начала нужно освоить саму платформу и научиться применять базовые инструменты 1С. После этого уже можно говорить о специализации и прикладном программировании. Например, специалист интеграции 1С с мобильными приложениями должен знать, как отправлять пуши, как сделать микро-сервис, как работает WebSocket и HTTP. У того, кто занимается интеграцией решений машинного обучения, уже совсем другие компетенции — он должен владеть Python с его библиотеками и фреймворками, SQL для операций с большими объемами данных, хорошо ориентироваться в различных средах разработки.

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

Следите за новыми постами
Следите за новыми постами по любимым темам
323 открытий2К показов