1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2026-06-09 23:56:48 +02:00
Files
Vitaly the Alpaca (bot) bba99fc7d4 Main build (Jenkins)
2026-05-27 00:12:50 +03:00

123 lines
4.8 KiB
Plaintext
Vendored

---
sidebar_position: 5
sidebar_class_name: doc-no-cli
description: Получить сообщение и другие функции для работы с WebSocket в Открытом пакете интеграций - бесплатной open-source библиотеке интеграций для 1С:Предприятие 8, OneScript и CLI
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, WebSocket]
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import Admonition from '@theme/Admonition';
# Получить сообщение
Получает входящее сообщение из очереди или ожидает новое
<Tabs>
<TabItem value="params" label="Параметры" default>
`Функция ПолучитьСообщение(Знач Соединение, Знач Таймаут = 10000) Экспорт`
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|-|-|-|-|-|
| Соединение | - | Произвольный | &#x2714; | Соединение, См. [`ОткрытьСоединение`](/docs/WebSocket/Client-methods/Create-connection) |
| Таймаут | - | Число | &#x2716; | Таймаут ожидания сообщения (в мс.) |
<div className="return-value-note">
<div className="return-value-note__title">Возвращаемое значение</div>
<div className="return-value-note__value">
ДвоичныеДанные - Полученное сообщение
</div>
</div>
</TabItem>
<TabItem value="extended" label={<span>Расширенный вызов{' '}<a href="/docs/Start/Advanced-call" target="_blank" rel="noreferrer" title="Справка о расширенном вызове" onClick={(e) => e.stopPropagation()}>?</a></span>}>
*Для текущего метода нет дополнительных параметров расширенного вызова.*
</TabItem>
</Tabs>
<Admonition type="caution" title="Предупреждение" className="nocli-admonition">
<div className="addin">
<strong>NOCLI:</strong> данный метод недоступен для использования в CLI версии
</div>
</Admonition>
```bsl title="Пример использования для 1С:Предприятие/OneScript"
Адрес = "wss://127.0.0.1:8443";
НуженПрокси = Истина;
НуженTLS = Истина;
Заголовки = Новый Соответствие;
Заголовки.Вставить("X-Trace-Id", "OPI-WS-TEST");
Если НуженTls Тогда
НастройкиTls = OPI_WebSocket.ПолучитьНастройкиTls(Истина);
КонецЕсли;
Если НуженПрокси Тогда
ПроксиАдрес = "127.0.0.1";
ПроксиПорт = "8071";
ПроксиВид = "http";
ПроксиПользователь = "proxyuser";
ПроксиПароль = "12we...";
НастройкиПрокси = OPI_Компоненты.ПолучитьНастройкиПрокси(ПроксиАдрес
, ПроксиПорт
, ПроксиВид
, ПроксиПользователь
, ПроксиПароль);
КонецЕсли;
Соединение = OPI_WebSocket.ОткрытьСоединение(Адрес, НастройкиTls, НастройкиПрокси, Заголовки);
Сообщение = "echo-text-" + Формат(ТекущаяДата(), "ДФ=yyyyMMddhhmmss");
Если OPI_WebSocket.ЭтоОбъектКлиента(Соединение) Тогда
// Отправляем сообщение ECHO-серверу
Отправка = OPI_WebSocket.ОтправитьТекстовоеСообщение(Соединение, Сообщение);
// Пропускаем все ответы от сервера до последнего
Пока Истина Цикл
ПоследнееСообщение = OPI_WebSocket.ПолучитьСообщение(Соединение, 3000); // <----
Если ПоследнееСообщение["result"] Тогда
Результат = ПоследнееСообщение;
Иначе
Прервать;
КонецЕсли;
КонецЦикла;
Иначе
Результат = Соединение;
КонецЕсли;
```
```json title="Результат"
{
"data": {
"type": "echo",
"payload": "echo-text-20260526045302",
"tls": true,
"timestamp": "2026-05-26T16:53:02.373Z"
},
"result": true,
"type": "text"
}
```