История создания успешной системы чат-ботов на 1С

Публикация № 1239264

Разработка - Системная интеграция - Интеграция с WEB

Использование чат-ботов в мессенджерах позволяет автоматизировать многие сложные бизнес-процессы путем диалога с системой через виртуального собеседника. О том, как создать универсальную систему ботов с бэкендом на 1С, работающую в Telegram, Viber и Facebook Messenger одновременно, на конференции Infostart Event 2019 Inception рассказал программист-фрилансер Константин Гейнрих.

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

 

Что такое чат-бот?

 

 

Чат-бот – это робот-собеседник в вашем мессенджере, который работает по запрограммированному алгоритму. Вы можете переписываться  с ним и решать тем самым свои задачи, например, заказ товара или услуг.

Технически это устроено так:

  • пользователь либо на телефоне, либо на компьютере (мессенджеры есть и там, и там) общается с ботом;
  • все данные передаются на сервер платформы. В данном примере, в Telegram;
  • платформа передает данные на бэкэнд бота, в нашем случае это 1С;
  • 1С обрабатывает данные по своим алгоритмам и возвращает результат обратно на сервер платформы;
  • платформа уже отправляет ответ пользователю.

 

 

Чем чат-боты лучше, например, мобильных приложений?

  • Во-первых, их не нужно устанавливать. Скорее всего, у вас уже есть мессенджер, вы просто добавляете себе нового собеседника и начинаете решать задачи. Не нужно ничего искать в магазине приложений и дополнительно скачивать.
  • Есть выражение, что лучший интерфейс – это отсутствие интерфейса. При работе с ботами пользователю не нужно каждый раз изучать интерфейс нового приложения. Ведь человек знает интерфейс своего мессенджера.
  • Для программистов чат-боты легче в разработке. Тот же самый интерфейс: его не нужно продумывать для разных экранов и разных устройств. Он работает из коробки. А разработчик взаимодействует с простым API платформы ботов.
  • Плюс для пользователя – это имитация живого разговора. Это всегда приятно.

 

Проблемы классического подхода и переход на использование бизнес-процессов

 

 

Расскажу о проблемах, с которыми пришлось столкнуться в начале разработки.

При реализации простых ботов на несколько запрограммированных фраз никаких проблем не было. Но потом появилась необходимость в создании более сложных диалогов, на 10-20-30 фраз, с разными вариантами ответов и большим количеством возможных ветвей диалога. Если закладывать все эти условия программно, то получится спагетти-код из «Если…Иначе…Тогда» и т.д.: абсолютно неподдерживаемый и сложно дорабатываемый.

 

 

Поэтому созрела судьбоносная идея: основой системы могут стать бизнес-процессы 1С, которые будут применяться для моделирования, отображения и реализации схемы диалога с ботом.

Механизм бизнес-процессов прекрасно ложится на структуру диалога бота:

  • Отдельные задачи в блоках – это фразы бота.
  • Точки ветвления – это точки разветвления разговора с вариантами ответов - кнопками и т.д.

 

Плюсы использования бизнес-процессов 1С

 

 

Плюсы при использовании бизнес-процессов 1С:

  • Наглядная схема диалога. Даже не программист, а заказчик-бизнесмен, может посмотреть на схему и понять, как построена логика бота.
  • Легкое внесение изменений разработчиком. Чтобы предусмотреть еще какой-то вариант ответа, просто добавляем новое ветвление и блоки, прописываем логику в этих блоках, если необходимо. И все, бот обновлен.
  • Повторное использование схем. Есть часто повторяющиеся части диалогов, допустим, знакомство с пользователем, получение его контактных данных. Этот блок можно скопировать, перенести, либо вызвать уже готовый вложенный бизнес-процесс, и не нужно ничего писать заново.
  • Есть возможность сбора статистики. Например, на сайтах и в мобильных приложениях иногда нужно ставить метрики для исследования интерфейса: куда пошел пользователь, где он задерживался, как он пользуется мобильным приложением или сайтом. Здесь все это доступно «из коробки», потому что течение диалога хранится в задачах и в бизнес-процессах. Видно, какие ветки были пройдены, сколько времени было потрачено на каждый ответ и т.д.
  • Также для поддержки удобно, что есть отображение текущего состояния с помощью задач. Как видно на рисунке выше, заштрихованные области – это пройденные этапы в диалоге. Текущий этап обведен красной линией. Если у пользователя какая-то проблема, техподдержка легко разберется, где он остановился, и что происходило.

 

Мультиплатформенность ботов

 

 

Изначально первое применение этой системы было в чат-боте по оформлению заказов в Telegram. Потом возникли новые требования о необходимости подстраховки, и в качестве второй платформы появился Viber. А когда появились заказы в США, то необходимо было добавить Facebook Messenger, потому что это самый популярный мессенджер в Америке.

Идеи, которые были применены для мультиплатформенности:

  • Подсистемы для каждой платформы независимы, никак друг от друга не зависят. Можно спокойно отделить одну подсистему от других, и ничего не изменится.
  • Для всех мессенджеров всех платформ используется одна и та же схема диалога. При разработке бота можно не задумываться, на чем он будет работать: код пишется один раз, а работает он сразу везде.
  • Логика бота никак не зависит от платформы. Вы можете открыть список диалогов бота, при этом соседние бизнес-процессы в списке могут использовать разные платформы, но это никак не влияет на логику функционирования.

 

Настройка текста фраз ботов

 

 

Для дополнительной гибкости был использован подход настройки текста фраз ботов:

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

На слайде выше показана форма регистра сведений, где хранятся конкретные значения фраз для разных языков ботов.

 

Система ботов сегодня

 

 

К чему система пришла сейчас.

  • У нее есть множество областей применения. На слайде показан неполный список.
  • Система представлена в разных странах: Россия, а также Украина, Беларусь, и есть некоторые боты, которые работают в США.
  • Основных платформ три: Telegram, Viber и Facebook. При этом не составляет особых проблем добавить еще одну – нужно просто прописать взаимодействие с конкретным API и добавить сбоку к этой системе. (На время публикации статьи добавилось еще три платформы: WhatsApp, Skype и MS Teams).
  • Что касается языков – то сейчас применяется русский и английский. Но нет вообще никакой проблемы, не изменяя конфигурацию, просто добавить эти переводы в регистр.

 

Как повысить удобство бота

 

 

Теперь немного о кейсах – как повысить удобство работы с ботом?

  • Основные два принципа – это наглядность и минимум ручного ввода. Потому что ручной ввод – это, конечно же, возможные ошибки и усложнение работы пользователя. Если ответ предполагает какие-то варианты, то они в любом случае должны быть оформлены в виде кнопок. На примере видны кнопки «Да» и «Нет», нажать их проще, чем набирать текстовый ответ.
  • Если нужно отправить данные (текущее местоположение, телефон и т.д.), то почти все мессенджеры поддерживают специальные функции отправки нужных данных по кнопке. Это тоже очень удобно. На рисунке выше видно, как были отправлены геокоординаты.
  • Должен быть организован беспрерывный диалог с ботом. Ему не следует замолкать даже после оформления заказа, бот должен всегда ждать ответа от пользователя, например, тут же спросить: «Что еще вас интересует?» и вывести меню с вариантами ответов.
  • И для наглядного представления информации есть такая удобная вещь, как карусели.

 

 

Здесь показан пример карусели – это массив карточек с фотографиями, с заголовком, текстом и кнопками. Здесь, например, можно совершить заказ. Видно товары и удобно делать выбор.

 

Скорость работы, оптимизация

 

 

Изначально были некоторые опасения, что 1С как бэкенд не справится с высоконагруженными ботами, будет все тормозить. Но опасения не оправдались. При одновременной работе нескольких сотен пользователей с ботом никаких задержек не замечено.

Основные приемы оптимизации, направленные на профилактику тормозов:

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

На слайде выше показана часть схемы для примера:

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

 

Сравнение мессенджеров

 

 

Кратко о мессенджерах, сравнение их в разработке, запуске и т.д.

Разработку и Telegram, и Viber я оцениваю как легкой уровень. Это стандартная работа с API. Если вы когда-нибудь работали с API, то никаких проблем, я думаю, не возникнет.

С Facebook немного сложнее. В частности, там идет работа не напрямую с самим мессенджером, а через страницу на Facebook. Есть незначительные дополнительные сложности.

 

 

Отдельно по запуску.

  • Самый легкий запуск у Telegram. Даже не требуется публиковать базу на веб-сервере. Веб-сервер обычно используется для веб-хука, чтобы бот принимал сообщения. В Telegram этого не нужно, он может сам  периодически опрашивать сервер, имеются ли новые сообщения. И это удобно, особенно для мелких компаний или для тех, кто заботится о своей безопасности: нет необходимости публиковать базу в интернете.
  • Запуск Viber я оцениваю как среднего уровня сложности.
  • А Facebook в запуске сложен, потому что там, помимо описания логики бота и публикации базы на веб-сервере, вы в конце разработки отправляете бота сотруднику Facebook на модерацию с кратким описанием того, как должен работать бот. К счастью, никакого языкового барьера не возникает, потому что в Facebook есть русскоязычные сотрудники.

 

 

И по возможностям платформ:

  • У Telegram я оцениваю возможности как средние. Там, как и у всех остальных мессенджеров, есть основная функциональность ботов: кнопки, отправка и получение мультимедиа и т.д., но там нет карусели, о которой я рассказывал . Иногда это сокращает возможности.
  • У Viber, в отличие от остальных мессенджеров, нельзя производить оплату непосредственно в чате с ботом.
  • А возможности Facebook я оцениваю как самые широкие. У них есть еще дополнительные элементы интерфейса, такие как постоянное меню и т.д.

 

Идеи объектно-ориентированного программирования в разработке системы

 

 

Теперь перейдем к технической теме, которая будет больше интересна программистам.

Какие идеи я применял для разработки гибкой универсальной системы? В частности, это ООП и его основные три принципа: инкапсуляция, наследование и полиморфизм. Остановимся более подробно на каждом из них.

 

 

Инкапсуляция. Программист может работать с объектом, написанным другим программистом, не разбираясь в его внутренней кухне. Достаточно просто знать методы программного интерфейса. Ему не нужно узнавать дополнительную  информацию.

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

 

 

Наследование. К сожалению, никакого наследования в нормальном виде в 1С нет, поэтому приходилось изощряться. Зачем мне нужно было здесь наследование?

Все диалоги так или иначе построены по одной структуре. Есть наборы методов обработки, используются одни и те же блоки. Очень хотелось, чтобы они наследовались от какого-то одного объекта, одного класса.

Поэтому были применены принципы прототипного программирования, когда есть объект-прототип, а остальные объекты создаются копированием этого прототипа.

На слайде показан шаблон диалога. Это диалог, в котором есть просто палитра блоков (все стандартные блоки) и, в модуле прописаны все заголовки методов. А вся реализация для удобства изменения вынесена в общие модули.

 

 

Как происходит порядок наследования?

Копируем шаблон, прописываем новое имя, конструируем схему: справа вверху есть палитра. Копированием накидывается на карту маршрут и собирается из кусочков как в конструкторе новый диалог. А потом, конечно, прописывается сама логика, которая нужна в конкретном боте.

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

 

 

Полиморфизм. Работать с набором объектов, унаследованных от одного класса, можно не задумываясь, с каким конкретно объектом мы работаем сейчас.

Мы знаем, что это мессенджер, который может отправлять сообщения. Нам не нужно знать, какой это конкретно мессенджер, просто вызываем единый метод Send(). Здесь это применяется, как работа с абстрактным мессенджером. Я уже говорил, что логика бота не должна зависеть от конкретной платформы, поэтому нигде в диалоге не прописаны конкретные названия, везде идет обращение к обработке BOT_Messenger. Это тот самый абстрактный мессенджер. Обработка здесь инициализируется, ей в параметрах передается тип мессенджера, определяется внутри, с чем мы будем работать. И вызывается стандартный для всех одинаковый метод ОтправитьСообщение(). В итоге все, что нужно, выполняется, и мы уже не задумываемся о том, с чем мы работаем сейчас.

 

Бот для оформления заказа

 

 

Расскажу немного подробнее про два чат-бота и покажу их работу.

Первый чат-бот – это классический вариант для оформления заказа.

  • На карте бизнес-процесса видно, что он начинается с вложенного бизнес-процесса (Т.к. популярные части диалога выделены в отдельный бизнес-процесс). Допустим, это бизнес-процесс заполнения телефона или получения местоположения и т.д. Как видно на картинке, телефон передается просто нажатием кнопки.
  • Далее идет поиск контрагента с таким телефоном в базе.
  • Если он не найден, исполнение переходит к ветке «Отсутствует клиент».
  • Если найден, приходит подтверждение: «Добрый день, Фамилия Имя! Мы правильно указали ваше имя?»

 

 

  • Дальше производится формирование корзины. Здесь корзиной может выступать табличная часть самого бизнес-процесса, куда пользователь будет добавлять нужные ему товары. Обратите внимание на иерархию номенклатуры:
  • Сначала мы находимся в папке Apple, ее содержимое выдается в виде кнопок – эти кнопки строятся динамически. Пользователь выбирает конкретную.
  • И дальше проводится проверка: это группа товаров (выбрана папка или нет)? Если да, то просто фиксируется, что мы теперь находимся в выбранной папке, и опять выводится набор кнопок с сообщением «Выберите товар». И здесь уже выдается список конкретных товаров.
  • Дальше выбирается товар и указывается его количество.
  • После этого происходит проверка, верно ли указано количество, потому что никакой проверки на стороне мессенджеров и ограничения ввода даты или числа нет и это приходится делать вручную.
  • Если количество указано неверно, оно запрашивается еще раз.
  • Если количество указано правильно, проверяется, есть ли этот товар на складе. И в зависимости от этого товар либо добавляется в корзину, либо сообщается, что его нет в нужном количестве.

 

 

  • И последний этап, когда уже идет окончательное подтверждение оформления. Если пользователь просит оформить товар, то производится оформление заказа и создание документа «Заказ клиента» в базе. Выводится информация о сделанном заказе, и работа бота завершается.

Это – пример диалога чат-бота, глубоко интегрированного в 1С, допустим, в «1С:Управление торговлей 11», тк.к. используется справочник «Контрагенты», «Номенклатура». В итоге создается заказ клиента уже сразу в 1С, никаких перекладных дополнительных приложений нет. И даже возможно, используя возможности платформы мессенджера, сразу произвести оплату этого заказа.

 

Бот для совместной работы StartUp

 

 

Второй пример бота – это бот StartUp для совместной работы, для объединения менеджера проекта и участников проекта.

Участники каждый день пишут отчет о работе; указывают, сколько часов затрачено на задачи. И менеджер получает и обрабатывает эту информацию.

На слайде выше показан пример того, какие по сложности диалоги бывают у ботов.

 

 

Более подробно о ходе диалога:

  • Стартовая точка: «Вы сегодня работали?»
  • Если да, то бот интересуется: «Что сделано»? Это текущая точка.
  • И одновременно еще есть текущая задача у автомата. Это как дополнительный запасной вариант. Если пользователь забыл, не пишет ответ, то у него через определенное время происходит очередное напоминание: «Вы забыли ответить, заполните информацию, пожалуйста».

 

 

Также в этом боте, как пример, можно применять монетизацию:

  • есть бесплатный вариант работы, при котором можно являться автором только одного проекта;
  • если хочется большего, то можно оформлять подписку. Оплатить подписку можно в самом чат-боте через Яндекс-кассу и любые карты.

 

 

Бот StartUp – это как пример бота, построенного на системе отдельных диалогов:

  • Создание проекта.
  • Добавление участников проекта.
  • Настройка проекта.
  • Работа участников.
  • Покупка, подписка.

Помимо этого настроена работа в разных часовых поясах, задается удобное вам время для оформления и получения отчета. Вы получите отчет в заданное время в соответствии с вашим часовым поясом.

 

Итоги

 

 

Подведем итоги:

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

 

Вопросы и ответы

 

У нас есть 1С и есть Telegram, который заблокирован Роскомнадзором. Если у нас происходит взаимодействие с пользователями услуги, каким образом они пользуются Telegram, как вы обходите блокировки для того, чтобы это работало?

Это как раз пример мультиплатформенности ботов. Именно тогда мы и пришли к Viber, когда произошли все эти события с Telegram. Если нужно, чтобы все было максимально “православно”, пожалуйста, используйте Viber, как вариант

 

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

Вообще, такая возможность есть у платформы. Например, в Документообороте маршрут бизнес-процесса может создать сам пользователь. Но пока у нас не было такой потребности. Все равно создание самой схемы – это работа разработчика. Запроса, чтобы сами пользователи накидывали диалоги, не было. Поэтому я и не делал. Есть мысли опубликовать эти наработки, но пока никак не найду на это время.

 

Разные платформы мессенджеров обладают различной функциональностью. Например, Viber умеет показывать карусельный контент, а Telegram не умеет. Вот такая разница где-то учитывается в картах, в маршрутах бизнес-процессов? Или как обходить такие ограничения?

Конечно, полностью нельзя уйти от этих различий. Но я всегда делаю так, чтобы нужный запрос все равно выполнялся. Допустим, карусели в Telegram отправляются просто в виде отдельных картинок с подписями и кнопками. Получается поток сообщений. Оплаты в Viber не было, мы делали оплату с перебросом на сайт Яндекс.Кассы. В общем, стараюсь максимально построить систему так, чтобы при разработке ботов не надо было задумываться о том, для какой платформы мы пишем.

 

А как тестируете? Сегодня у вас 50 пользователей, а завтра будет 1000. Нет никакого понимания, что у вас будет происходить с системой по мере роста?

Никаких особых “волшебных” кейсов тестирования у нас нет. Обычно все проблемы проявляются на 50 пользователях. На 1000 единичные случаи, что что-то такое добавлялось, что нужно переписывать. Появляется ошибка – исправляем. Поскольку одновременных соединений намного меньше, чем реальных пользователей, никакой проблемной нагрузки не было. Работали сотни пользователей, и ничего не происходило. Возможно, на десятках тысяч пользователей система уже не выдержит, но поэтому поводу не могу ничего сказать точно.

 

Я правильно понимаю, что на каждый ответ от пользователя у вас создается задача, которая ожидает ответ пользователя, задача будет обрабатываться, и алгоритм прописан в задаче?

Да, задача создается, но, если быть точным, алгоритм прописан не в задаче, а в точке бизнес-процесса.

 

Не боитесь ли вы, что когда будет много пользователей и очень много задач, это создаст большую нагрузку на базу, будет создаваться очень много элементов и т.д. Вы их как-то очищаете? Как это масштабируется в целом?

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

 

****************

Данная статья написана по итогам доклада (видео), прочитанного на конференции INFOSTART EVENT 2019. Больше статей можно прочитать здесь.

В 2020 году приглашаем всех принять участие в 7 региональных митапах, а также юбилейной INFOSTART EVENT 2020 в Москве.

Выбрать мероприятие

 
 
 
 

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. informa1555 1476 21.05.20 16:13 Сейчас в теме
Понравился бот "для совместной работы". Т. е. бот может заменить ПМ-а... Я всегда это подозревал!
А есть ещё примеры использования из реальной жизни?
2. CyberCerber 499 21.05.20 17:04 Сейчас в теме
(1) К сожалению, идеи почти всех ботов не мои, поэтому я не могу раскрывать их как ком. тайну.
3. user674779_sunrise_2015 22.05.20 09:28 Сейчас в теме
Есть очень удобный визуальный конструктор таких ботов botman.one
4. CyberCerber 499 22.05.20 10:29 Сейчас в теме
(3) К сожалению, не увидел там какого-то демо или видео. Только один скриншот нашел, ну, с виду те же бизнес-процессы, больше не понятно
5. утюгчеловек 9 22.05.20 14:50 Сейчас в теме
Мне понравилась статья и презентация - очень круто и по делу. Влепил бы два плюса, если бы мог.

Раскрыть бы еще вопрос масштабирования.

Могу ошибаться, но нынешняя практика использования коммерческих ботов склоняется к тому что отдельный бот это веб-сервис на отдельной vps в облаке или в docker на kubernetes.
У вас все боты живут на сервере (кластере серверов) 1С?
7. CyberCerber 499 22.05.20 15:15 Сейчас в теме
(5) Спасибо!
Да, при максимальной нагрузке, что я помню, на одном сервере работало где-то пять ботов, которыми пользовались несколько сотен человек. Проблем не возникало.
Все эти крутые штуки, что вы назвали, не использовал, как-то не было необходимости.
6. Amel2010 30 22.05.20 15:10 Сейчас в теме
Грамотный подход в разработке и удобное изложение материала.
Только некоторые изображения были нечитаемы - жаль, что нет возможности приблизить их.

Тема ботов актуальна и интересна.
8. CyberCerber 499 22.05.20 15:17 Сейчас в теме
(6) Спасибо!
Там одна картинка нечитаема, где большая схема, так задумано. :-) Остальные, вроде, читаются.
9. user702941_alina-borovik 28.05.20 13:06 Сейчас в теме
Добрый день! Очень понравилась ваша статья, сейчас как раз заинтересовались внедрением чат ботов. У вас уже есть готовое решение для внедрения в 1С ?
10. CyberCerber 499 28.05.20 13:31 Сейчас в теме
(9) О решении для внедрении я и рассказываю. Просто мне не хватает времени подготовить его для широкого распространения
Оставьте свое сообщение

См. также

.Net в 1С. На примере использования HTTPClient, AngleSharp. Удобный парсинг сайтов с помощью библиотеки AngleSharp, в том числе с авторизацией аля JQuery с использованием CSS селекторов. Динамическая компиляция Промо

Практика программирования WEB v7.7 v8 Бесплатно (free)

Часто приходится парсить сайты, в том числе с авторизацией, перескакивая со страницы на страницу по ссылкам. Тот, кто занимался вэб программированием, знает, как удобно использовать JQuery и CSS селекторы. На .Net написана очень удобная библиотека AngleSharp. Я покажу, как с её помощью можно значительно облегчить себе труд.

10.03.2016    53767    0    Serginio    33    

Парсинг html страниц с выводом информации через JavaScript с использованием Selenium

WEB v8 1cv8.cf Бесплатно (free)

Есть девочки как девочки, есть мальчики как мальчики, есть сайтики как сайтики, но странички их обманщики. В целях сохранить информацию, от автоматизированного сбора, многие ресурсы пытаются защитить ее. Один из таких способов - вывод информации на странице через JavaScript. При получении такой страницы в 1С, JavaScript не успевает вывести необходимые данные, и в 1с получаем практически пустую страницу. В статье приведу пример разработки, для парсинга таких страниц, без регистрации и смс.

20.05.2020    1667    0    platonov.e    16    

Интеграция 1С и CMS WordPress посредством Rest API сайта. Шаг третий, WooCommerce, публикация категорий товаров

WEB v8 1cv8.cf Бесплатно (free)

Интеграция 1С и CMS WordPress посредством функционала Rest API. Используем только язык программирования 1С и штатный функционал Rest API предоставляемый CMS, без дополнительных библиотек и плагинов. Процедуры и функции публикации категорий товаров в магазин WooCommerce, с комментариями внутри.

13.05.2020    1417    0    osivv    3    

Интеграция 1С и CMS WordPress посредством Rest API сайта. Шаг второй, публикация картинок

WEB v8 Бесплатно (free)

Интеграция 1С и CMS WordPress посредством функционала Rest API. Используем только язык программирования 1С и штатный функционал Rest API предоставляемый CMS, без дополнительных библиотек и плагинов. Процедуры и функции передачи фото из 1С, с комментариями внутри.

13.05.2020    1044    0    osivv    0    

Online телефонный справочник из 1С: Зарплата и управление персоналом Промо

WEB Управление персоналом (HRM) Управление персоналом (HRM) v8 ЗУП3.x Россия Бесплатно (free)

В интернете представлено много реализаций online телефонных справочников организаций. Есть справочники, которые использует для хранения информации базу Active Directory (LDAP), есть справочники, которые реализованы с использованием СУБД (например, MySQL). Но я не нашел справочника, который использует информацию из базы 1С. Далее я рассмотрю данную разработку.

10.03.2017    24247    0    ruha    14    

Интеграция Camunda BPM и 1С

WEB Интеграция v8 Бесплатно (free)

Быстрый старт. Только практические примеры. Установка, запуск и публикация бизнес-процесса на сервере Camunda BPM. Управление бизнес-процессами из 1С при помощи Camunda REST API.

12.05.2020    1241    0    zhichkin    8    

Интеграция 1С и CMS WordPress посредством Rest API сайта. Первый шаг

WEB v8 Россия Бесплатно (free)

Интеграция 1С и CMS WordPress посредством функционала Rest API. Используем только язык программирования 1С и штатный функционал Rest API предоставляемый CMS, без дополнительных библиотек и плагинов. Процедуры и функции 1С с комментариями внутри.

28.04.2020    2548    0    osivv    23    

Выразительный Web API

WEB v8 Бесплатно (free)

Теория разработки Web API с ожидаемым поведением, за который не будет стыдно за пределами мира 1С.

27.04.2020    3976    0    fr13    19    

Кэширование COM-соединения. Три способа Промо

Практика программирования Перенос данных из 1С7.7 в 1C8.X Внешние источники данных WEB v8 Россия Бесплатно (free)

Статья о трех способах кэширования COM-соединения в 1С:Предприятии 8.x.

11.04.2013    39706    0    YPermitin    33    

Хранение статистики публикаций автора сообщества Инфостарт ® (мобильное приложение И ++)

Мобильная разработка WEB v8 1cv8.cf Бесплатно (free)

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

24.04.2020    1329    0    capitan    13    

Интеграция УАТ с топливными сервисами

WEB v8 1cv8.cf Автомобили, автосервисы Бесплатно (free)

Интеграция конфигурации Управление автотранспортом с топливными веб-сервисами.

21.04.2020    6115    0    RPGrigorev    2    

Интеграция 1С с веб-сервисами Лукойл ЛИКАРД

WEB v8 1cv8.cf Россия Бесплатно (free)

Описание интерфейса взаимодействия сервиса Лукойл- ЛИКАРД с информационной системой 1С.

20.04.2020    2715    0    RPGrigorev    0    

Помощник работы с VirtueMart Промо

WEB Розничная торговля Розничная торговля v8 УТ10 УПП1 Россия Бесплатно (free)

Обработка для обмена данными с интернет-магазином на базе VirtueMart. Позволяет выгружать товары с изображениями и загружать заказы покупателей. Управлять интернет-магазином теперь стало просто!

19.04.2012    23281    1    salexdv    13    

Ошибка инициализации модуля: HTTPСервис

WEB v8 1cv8.cf Узбекистан Бесплатно (free)

Решение проблемы "Ошибка при работе с HTTP сервисом 500. Ошибка инициализации модуля".

13.04.2020    1519    0    VipDim    10    

COVID-19. Динамика эпидемии

WEB v8 v8::СКД 1cv8.cf Бесплатно (free)

Весной 2020 практически все ждут, «когда же это закончится», когда эпидемия пойдет на спад. Специалисты призывают «сгладить кривую». Как понять, в какой точке мы сейчас? Данные университета Джонса Хопкинса в любой 1С.

01.04.2020    2515    0    Alejandro_V    6    

Как я собрал для себя высокопроизводительный и бесплатный облачный бекенд для 1С на PosgreSQL + PostgREST

Производительность и оптимизация (HighLoad) WEB Интеграция Мобильная разработка Администрирование веб-серверов v8 Бесплатно (free)

В этой статье я расскажу о проблемах бека для мобильных приложений или другого фронта, который требует производительности, быстрой реакции и отказоустойчивости, и как я решил это благодаря opensource проекту PostgREST и СУБД Postgre SQL 12. Проведу простой тест производительности для сравнения 1С с данным решением. Это может быть полезно всем, кто разрабатывает мобильные приложения либо фронтсайд-приложения для 1С на чем угодно - на мобильной платформе или на нативном языке или на Simple UI. И также обзор новых функций SimpleUI для связи с этим бекендом.

31.03.2020    9729    0    informa1555    21    

Заготовка для загрузки файлов по ftp Промо

WEB Перенос данных из 1C8 в 1C8 v8 1cv8.cf Бесплатно (free)

3 процедуры и 1 макет

03.06.2013    29253    0    anig99    6    

Коронавирус COVID-19. Статистика по странам

WEB v8 Бесплатно (free)

В связи с COVID-19 люди поделились на две категории: те, кто осознал, и те кто ЕЩЕ не осознал. Единственное наше преимущество перед Коронавирусом заключается в том, что информация распространяется быстрее, чем расползается "невидимка".

25.03.2020    5044    2    Evgen.Ponomarenko    60    

Получение html-кода страницы. JS из 1С

Практика программирования WEB v8 Бесплатно (free)

Получение исходника страницы, выполнение произвольного js-кода. Теперь с WebKit от 1С.

18.02.2020    4339    0    Yashazz    1    

Отладка конфигурации в режиме веб-клиента

WEB v8 Бесплатно (free)

После очередного обновления платформы при попытке запуска отладки в веб-клиенте стало появляться сообщение. Собственно, до этого момента никогда веб-клиентом особо не пользовался и необходимости в отладке как-то не возникало. Данное сообщение заставило задуматься, что не так с отладкой в веб-клиенте и как ее собственно включить? Тот самый неловкий момент, когда программа просит обратиться к администратору, а администратор - это вы.

12.02.2020    3420    0    gamletspb    2    

Анализ работы внешней обработки сервиса МодульКасса применительно к задаче фискализации чеков при доставке

Кассовые операции WEB v8 УТ11 Россия Бесплатно (free)

В статье разберу работу внешней обработки для работы с МодульКасса, опишу недочеты и применимость для организации доставки, предложу собственный вариант реализации.

11.02.2020    1962    0    malikov_pro    0    

Вариант реализации REST API для 1С-Битрикс Управление сайтом

WEB v8 Россия Бесплатно (free)

В статье опишу вариант обмена 1С УТ 11.4 и 1С-Битрикс УС 18.5 с иcпользованием компонентов Symfony, в качестве примера обмен данными по складам.

28.01.2020    3134    0    malikov_pro    2    

Вариант реализации работы с сервисом Dadata применительно к конфигурации УТ 11.4 и подобным

WEB v8 УТ11 Россия Бесплатно (free)

В статье описывается реализация получения данных с сервиса DaData при работе с формами справочников в конфигурации УТ 11 для дополнения информации по ФИО, ИНН, Адресу.

22.01.2020    2328    0    malikov_pro    5    

Двусторонний обмен с поставщиком через интернет-магазин для реализации товаров с ответственного хранения (с 01.02.2020 "Партии" не используются)

Файловые протоколы обмена, FTP WEB v8 УНФ Оптовая торговля, дистрибуция, логистика Россия УУ Бесплатно (free)

Рассмотрены реализация двустороннего обмена данными с использованием API-сервиса сайта поставщика при продаже товаров со склада ответственного хранения, алгоритм движения товаров и обмена документами на примере конфигурации 1С: УНФ у партнера, который взаимодействует с поставщиком "ООО Пауэр-Интернэшнл-шины" - одним из крупнейших в России поставщиков автомобильных шин и дисков.

16.01.2020    3476    0    chkurs    0    

Получение номера ВСД по идентификатору 1С: Меркурий

Производство готовой продукции (работ, услуг) WEB v8 УТ11 Пищевая промышленность Россия Бесплатно (free)

Код парсинга веб страницы для получения номера ВСД в системе Меркурий.

24.11.2019    3559    0    ohyen    0    

Немного о интеграции с CRM AMO

WEB v8 1cv8.cf Бесплатно (free)

Немного информации о том, как настроить интеграцию с CRM AMO. Пример функций для подключения к АМО и обновления заказа. Пример на основе API авторизации.

15.11.2019    3441    0    xxxAndricxxx    6    

Ещё немного о ИНН и сервисе DaData

WEB v8 1cv8.cf Бесплатно (free)

Об использовании сервиса dadata и немного информации о возможностях получать данные по ИНН. Возможно, кому-то будет полезным.

14.11.2019    6122    0    xxxAndricxxx    21    

Вариант реализации клиента SOAP на примере получения остатков из MERLION

WEB v8 1cv8.cf Россия Бесплатно (free)

В статье приведу пример клиента к сервису SOAP, функции которого принимают несколько значений типа строка или массив строк.

14.11.2019    2853    0    malikov_pro    0    

Разбор любого JSON-объекта в соответствующую структуру

Инструментарий разработчика WEB v8 1cv8.cf Бесплатно (free)

Данная публикация предназначена разработчикам 1С, которым приходиться разбирать данные формата JSON. Выложенный пример кода создает объект типа Структура, полностью повторяющий структуру данных формата JSON.

13.11.2019    6418    0    user665435_al.windstorm    14    

Проверка reCAPTCHA от Google на стороне HTTP-Сервиса

WEB v8 Россия Бесплатно (free)

Код проверяет переданный токен reCAPTCHA от Google при вызове HTTP-Сервиса. Таким образом проверяем, отправил ли данные на наш HTTP-Сервис робот или реальный пользователь.

06.11.2019    5209    0    AVR    0    

Простой способ опубликовать базу 1C из дома в интернет, когда Ваш провайдер этого не обеспечивает (3G, 4G модем и т.п.)

WEB Облачные сервисы, хостинг v8 1cv8.cf Бесплатно (free)

Если у Вас возникла потребность опубликовать из дома во всемирную паутину базу 1С (например, для тестирования), в т.ч. интерфейс OData, HTTP или Web-сервисы, а интернет-провайдер (например, 3G Мегафон) не предоставляет возможности инициировать соединения извне, то в конце статьи Вы найдете простой, быстрый и условно-бесплатный способ это сделать.

14.10.2019    9623    0    uno-c    25    

Самый примитивный HTTP-сервис в мире

WEB v8 Бесплатно (free)

Пошаговый пример создания простейшего HTTP-сервиса, который генерирует HTML-страницу для поиска товара, а также реализует асинхронное получение данных из базы.

12.09.2019    18313    0    YPermitin    26    

Свой веб интерфейс к 1С: побеждаем CORS на IIS, сохраняя авторизацию

WEB Администрирование данных 1С v8 Бесплатно (free)

Если "веб морда" расположена не по тому же адресу, что и публикация 1С (что часто бывает, например, при разработке, публикация 1С на http://localhost/1c, а разрабатываемое веб-приложение на http://localhost:8080) или, например, мы заходим на веб приложение то по ip адресу, то по имени сервера, или просто веб сервер и сервер, на котором опубликована 1С - это разные сервера, то для большинства запросов от браузера к 1С срабатывает политика CORS, которая заключается в том, что браузер сначала посылает запрос OPTIONS, на который сервер должен ответить определенным образом, заголовками, содержащими разрешения, а потом уже (если разрешение есть), браузер посылает основной запрос. В случае, когда в публикации 1С (default.vrd) жестко прописан логин и пароль, разрулить ситуацию можно средствами 1С. В случае же, когда нужно сохранить авторизацию (или используется стандартный интерфейс odata), начинаются проблемы.

20.08.2019    9541    0    Fragster    9    

Вывод отчетов из Штрих-М Торговое предприятие 5 на кассовое ПО Кассир 5 через веб-сервис

Розничная торговля WEB Розничная торговля v8 1cv8.cf Розничная и сетевая торговля (FMCG) Россия УУ Бесплатно (free)

Универсальный механизм вывода отчетов товароучетной системы Штрих-М Торговое предприятие в кассовое ПО Кассир 5 посредством веб-сервиса.

14.08.2019    5303    0    Van2507    1    

Совсем простой обмен HTTP, 2 функции

WEB v8 Бесплатно (free)

Функция для вызова рест-сервиса и функция для разбора результата. Быстро, просто, универсально.

12.08.2019    7749    0    Yashazz    15    

Использование HTTP-сервиса для создания "фронтенда" HTML/CSS/jQuery. Продолжение

WEB v8 1cv8.cf Бесплатно (free)

Получение изображений из информационной базы и отправка файлов через "фронт" на HTML/CSS/JS.

08.08.2019    7305    0    Sedaiko    1    

1Script.Web. Интернет-приложения на языке 1С

WEB OneScript Инструментарий разработчика v8 Бесплатно (free)

Запросы рынка таковы, что любое современное клиент-серверное приложение должно иметь веб-интерфейс. Почему бы не писать такие приложения на языке 1С? Андрей Овсянкин расскажет о возможностях разработки веб-приложений на базе 1Script, рассмотрит перспективы этого направления и в качестве демонстрации покажет «боевое» веб-приложение на новом движке – кроссплатформенную консоль администрирования парка кластеров 1С.

20.05.2019    18448    0    Evil Beaver    33    

Неверные остатки на сайте битрикс

WEB v8 УТ11 Бесплатно (free)

Исправление процедуры выгрузки остатков на сайт битрикс из УТ 11

25.04.2019    5226    0    distorshion    4    

Отправка файлов через SOAP. SOAP with attachments, MTOM

WEB v8 1cv8.cf Россия Бесплатно (free)

В продолжение «своеобразной» поддержки 1С протокола SOAP, описанной в https://infostart.ru/public/965259/, опишу еще одну особенность. 1С не поддерживает возможность отправки файлов-вложений. Для решения этой проблемы пришлось самостоятельно писать формирование пакетов SOAP и разбор ответов сервера.

18.04.2019    7382    0    mysm    2    

HTML-клиент у конфигурации 1С

WEB v8 Бесплатно (free)

Приветствую. В этой публикации опишу свой опыт создания html-клиента для конфигурации 1С с помощью http-сервисов. HTML-клиент в этом случае - это frontend (html + css+ js), который генерирует и выдает пользователю конфигурация + backend, который тоже реализован в этой же конфигурации.

17.04.2019    16177    0    Smaylukk    119    

Парсинг сайтов из 1С на примере ломбарды.рф с помощью XPATH для ДокументDOM

WEB v8 Бесплатно (free)

На всякую хитрую гайку всегда найдется болт с резьбой (с)

01.04.2019    14068    0    starik-2005    33    

Логируй больше! 1С + UPD + GELF + Graylog

Практика программирования Администрирование данных 1С WEB Разработка v8 Бесплатно (free)

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

26.02.2019    10540    0    Lars Ulrich    16    

Устранение некоторых ошибок, обнаруженных в модуле Обмена с ВЕТИС (ФГИС Меркурий)

WEB Адаптация типовых решений v8 БП3.0 Сельское хозяйство и рыболовство Оптовая торговля, дистрибуция, логистика Пищевая промышленность Россия Бесплатно (free)

Устранение ошибок, обнаруженных в модуле Обмена с ВЕТИС (ФГИС Меркурий) в конфигурации Бухгалтерия предприятия, редакция 3.0 (3.0.67.67).

08.02.2019    7424    0    aks    3    

Создание телеграм бота с гугл авторизацией, обратными вызовами и уведомлениями об обновлении через сервер-маршрутизатор

WEB v8 1cv8.cf Бесплатно (free)

Статья детально рассказывает обо всех аспектах настройки телеграм бота, работающего через сервер-маршрутизатор посредством обратных вызовов. Приведены примеры работы отправки/исправления сообщений, отправки файлов, работы с внутренними и встроенными запросами. Создание клавиатуры. Авторизация пользователей через gmail.

07.11.2018    26970    0    🅵🅾️🆇    57    

Мой опыт небольшого проекта с веб-сервисами (Часть 2)

WEB v8 Бесплатно (free)

Продолжение публикации по веб-сервису для реализации странички с выводом данных.

05.10.2018    6685    0    alex_bitti    0