WebSocket Внешняя компонента NativeAPI для 1С:Предприятие 8.3

19.05.26

Разработка - Разработка внешних компонент

ws_client_audit — это профессиональная внешняя компонента для 1С:Предприятие 8.3, обеспечивающая полнофункциональную поддержку протокола WebSocket (RFC 6455). Компонента позволяет 1С-приложениям обмениваться сообщениями с серверами в режиме реального времени через защищённые (wss://) и нешифрованные (ws://) соединения.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
WebSocket Внешняя компонента NativeAPI для 1С:Предприятие 8.3:
.zip 2,24Mb ver:1.0.0
0 6 200 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Руководство пользователя: ws_client_audit

  • Поддержка протоколов ws:// и wss:// (SSL/TLS)
  • Полностью асинхронные методы — не блокируют интерфейс 1С
  • Автоматическое переподключение с прогрессивной задержкой (1-2-3-5-10 сек)
  • Поддержка передачи сообщений до 50 МБ
  • Множественные экземпляры одновременно (для разных серверов)
  • Произвольные HTTP-заголовки в формате JSON (для авторизации, CORS и др.)
  • Стандартизированные коды ошибок в формате TYPE:CODE
  • Полная поддержка UTF-8 и кириллицы
  • Защита от дубликатов событий ошибок
  • Тонкая настройка интервалов ping и переподключения
  • Совместимость с любым стандартным WebSocket-сервером (RFC 6455)


1. Типовые сценарии использования

  1. Аудит-сервер: уведомления о новых документах между подразделениями
  2. E-Imzo: интеграция с локальным сервисом электронной подписи Узбекистана
  3. Чат-серверы: обмен сообщениями между пользователями 1С
  4. Real-time мониторинг: получение обновлений курсов валют, остатков и т.п.
  5. IoT-устройства: связь с оборудованием через WebSocket
  6. Push-уведомления: получение уведомлений с серверов в реальном времени

2. Системные требования

Параметр Требование
Операционная система Windows 7 / 8 / 10 / 11 (только x64)
1С:Предприятие 8.3.18 или выше
Архитектура x86_64 (64-разрядная)
Дополнительные библиотеки Не требуются (статическая сборка)
Объём занимаемой памяти ~5-10 МБ в зависимости от объёма сообщений
Размер DLL ~503 КБ

 

3. Установка


3.1. Структура поставки


После распаковки архива поставки вы получите следующие файлы:

  • ws_client_audit/
    • ws_client_audit.dll       # Сама компонента (отдельно)
    • _ INFO.XML                    # Информация о компоненте
    • _MANIFEST.XML             # Манифест внешней компоненты
    • _ MANUAL_RU.md           # Это руководство
  • LICENSE.txt

 

3.2. Установка компоненты


Существует два способа использования компоненты:


Способ 1: Через общий макет конфигурации (рекомендуется)

  1. Откройте Конфигуратор 1С
  2. В дереве объектов конфигурации найдите ветку «Общие макеты»
  3. Создайте новый макет с именем, например, «WsClientAuditКомпонент»
  4. Тип макета: «Двоичные данные»
  5. Загрузите файл ws_client_audit.zip
  6. Сохраните конфигурацию (Ctrl+S) и обновите конфигурацию базы данных (`F7`)
  7. Перезапустите 1С

 

Способ 2: Загрузка напрямую из файла (для отладки)

 

Файл ws_client_audit.dll размещается в любой папке, и в коде указывается прямой путь к нему.

 

 

4. Загрузка компоненты в 1С

 

4.1. Подключение через макет

 

&НаКлиенте
Процедура ЗагрузитьКомпоненту()

    Результат = ПодключитьВнешнююКомпоненту(
        "ОбщийМакет.WsClientAuditКомпонент",   // Путь к макету
        "WsAudit",                              // Псевдоним (любой)
        ТипВнешнейКомпоненты.Native
    );

    Если НЕ Результат Тогда
        Сообщить("Ошибка загрузки компоненты!");
        Возврат;
    КонецЕсли;

    // Создание экземпляра компоненты
    // Формат: AddIn.<Псевдоним>.<Имя класса>
    WS = Новый("AddIn.WsAudit.WsClientAudit");

    Если WS = Неопределено Тогда
        Сообщить("Ошибка создания объекта!");
        Возврат;
    КонецЕсли;
   
    Сообщить("Компонента успешно загружена. Версия: " + WS.Version);

КонецПроцедуры

 

4.2. Подключение из файла

 

&НаКлиенте
Процедура ЗагрузитьКомпонентуИзФайла()

    Результат = ПодключитьВнешнююКомпоненту(
        "C:\Components\ws_client_audit.dll",
        "WsAudit",
        ТипВнешнейКомпоненты.Native
    );

    Если Результат Тогда
        WS = Новый("AddIn.WsAudit.WsClientAudit");
    КонецЕсли;

КонецПроцедуры

 

 

5. Свойства


Все свойства компоненты доступны только для чтения.

 

5.1. Connected (Подключён)


Тип: Булево

Назначение: Возвращает текущее состояние подключения.

 

Если WS.Connected Тогда
    Сообщить("Соединение активно");
Иначе
    Сообщить("Соединение отсутствует");
КонецЕсли;

 

5.2. LastError (ПоследняяОшибка)


Тип: Строка

Назначение: Возвращает текст последней произошедшей ошибки в формате TYPE:CODE.

Сообщить("Последняя ошибка: " + WS.LastError);
// Пример: "AUTH_ERROR:4401"

 

5.3. Version (Версия)


Тип: Строка

Назначение: Возвращает версию компоненты.

Сообщить("Версия: " + WS.Version);  // "1.0.0"

 

5.4. ClientUserID (ИДПользователя)


Тип: Строка

Назначение: Возвращает идентификатор пользователя. В текущей версии идентификатор передаётся через JWT-токен в заголовке, и значение возвращается сервером. Поэтому свойство возвращает пустую строку — оно зарезервировано для будущих расширений.

 

6. Методы

 

6.1. Connect(url, headersJson) — Подключение к серверу


Назначение: Асинхронно устанавливает соединение с WebSocket-сервером.

Параметры:

Параметр Тип Обязательный Описание
url Строка Да Адрес сервера: ws://... или wss://...
headersJson Строка Нет HTTP-заголовки в формате JSON

Возвращает: Булево — Истина, если задача подключения принята (не означает успешного подключения!)


Важно: Метод асинхронный. Реальный результат подключения сообщается через событие OnConnected или OnError.

 

// Простое подключение без авторизации
WS.Connect("wss://server.com/ws", "");

// Подключение с Bearer-токеном
Заголовки = Новый Структура;
Заголовки.Вставить("Authorization", "Bearer eyJhbGc...");
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, Заголовки);
HeadersJson = ЗаписьJSON.Закрыть();

WS.Connect("wss://server.com/ws", HeadersJson);

 

6.2. Disconnect() — Отключение от сервера


Назначение: Асинхронно закрывает соединение с сервером.

Возвращает: Булево — Истина.

Важно: Метод немедленно возвращает управление, не блокируя интерфейс 1С. Реальное завершение подтверждается событием OnDisconnected.
 

WS.Disconnect();
// Интерфейс не блокируется!
// Через ~100 мс придёт событие OnDisconnected

 

6.3. SendMessage(message) — Отправка сообщения


Назначение: Асинхронно отправляет произвольное сообщение на сервер.

Параметры:

Параметр Тип Обязательный Описание
message Строка Да Текст или JSON-строка

Возвращает: Булево — Истина, если задача отправки принята.
 

// Простой текст
WS.SendMessage("Привет, сервер!");

// JSON
WS.SendMessage('{"action":"create_invoice","amount":50000}');

// JSON с массивом получателей (если сервер так требует)
WS.SendMessage('{"recipients":["AS001","AS002"],"data":"..."}');


6.4. SendRaw(message) — Прямая отправка сообщения


Назначение: Эквивалентно методу SendMessage. Введён для семантического разделения: используйте SendRaw для диагностических, тестовых или специальных сообщений (например, для E-Imzo).

// Запрос списка сертификатов у E-Imzo
WS.SendRaw('{"plugin":"pfx","name":"list_all_certificates"}');

 

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Внешние источники данных Программист Бизнес-аналитик Пользователь 1С:Предприятие 8 1C:Бухгалтерия Узбекистан Беларусь Кыргызстан Молдова Россия Казахстан Платные (руб)

Готовое решение для автоматической выгрузки данных из 1С 8.3 в базу данных ClickHouse, PostgreSQL или Microsoft SQL для работы с данными 1С в BI-системах. «Экстрактор данных 1С в BI» работает со всеми типовыми и нестандартными конфигурациями 1С 8.3 и упрощает работу бизнес-аналитиков. Благодаря этому решению, специалистам не требуется быть программистами, чтобы легко получать данные из 1С в вашей BI-системе.

28500 руб.

15.11.2022    31189    46    49    

46

Внешние источники данных Кадровый учет Файловый обмен (TXT, XML, DBF), FTP Перенос данных 1C Программист 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактическим удержаниям, НДФЛ, вычетам, страховым взносам из базы Парус 10 учреждений (далее Парус) в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (далее 1С) и начать с ней работать с любого месяца года.

85400 руб.

05.10.2022    13453    15    8    

16

Зарплата Внешние источники данных Бюджетный учет Перенос данных 1C Системный администратор Программист 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактическим удержаниям, НДФЛ, вычетам, страховым взносам из базы Парус 8 учреждений (далее Парус) в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (далее 1С) и начать с ней работать с любого месяца года.

122000 руб.

19.08.2020    29609    27    3    

29

Розничная торговля Внешние источники данных Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Бухгалтерия 3.0 Фармацевтика, аптеки Россия Бухгалтерский учет Платные (руб)

Внешняя обработка загрузки данных из файла-выгрузки, сформированного в программе F3 TAIL версии 3.4 (и выше) или еФарма версии 2.1, в базу конфигурации 1С: Бухгалтерия предприятия 8, ред. 3.0 (Базовая, ПРОФ, КОРП, ФРЕШ (тонкий клиент)).

17080 руб.

19.12.2016    53942    124    107    

84

Внешние источники данных Программист Бизнес-аналитик 1С:Предприятие 8 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Обработка для выгрузки данных из подготовленных СКД в фоновом режиме в базу ClickHouseDB, PostgreSQL, MySQL, в шину данных с поддержкой REST API (CSV, JSON. SQL), в локальные файлы (CSV, JSON, XLS, XLSX) или в Google Sheets. Это дополнительная подключаемая обработка.

18000 руб.

21.08.2024    8856    26    4    

21

Оптовая торговля Розничная торговля Внешние источники данных Прайсы 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

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

15250 руб.

15.05.2024    4355    7    1    

8
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. SerVer1C 1092 19.05.26 16:05 Сейчас в теме
Поздновато вы с этим. С 27-й платформы уже встроено в эску.
starik-2005; +1 Ответить
5. tigr_0930 19.05.26 20:20 Сейчас в теме
Здравствуйте! Да, вы правы. Однако очень многие базы до сих пор работают на версиях ниже 8.3.27. Поскольку данный внешний компонент работает с событиями, я подумал, что это даст дополнительное удобство.
2. Anqben 19.05.26 17:04 Сейчас в теме
Бам бесплатно с открытым кодом клиент+сервер раз
https://github.com/alkoleft/web-transport-addin

Бам бесплатно с открытым кодом клиент+сервер+нормальная обертка на 1С два
https://infostart.ru/1c/articles/2683065/
3. bayselonarrend 3165 19.05.26 17:09 Сейчас в теме
А на чем написано, если не секрет?
4. starik-2005 3272 19.05.26 17:30 Сейчас в теме
(3)
на чем написано
Неужели С++ + boost?
6. tigr_0930 19.05.26 20:26 Сейчас в теме
Компонент разработан с использованием языка C++ и библиотек Boost, OpenSSL и 1C SDK
7. bayselonarrend 3165 19.05.26 22:28 Сейчас в теме
(6) И OpenSSL статически слинкован? Просто 500 КБ кажется очень компактно для него
Для отправки сообщения требуется регистрация/авторизация