diff --git a/ci/os/docs_main.os b/ci/os/docs_main.os
index 1dea38e0ba..cae0728b24 100644
--- a/ci/os/docs_main.os
+++ b/ci/os/docs_main.os
@@ -167,7 +167,7 @@
Для каждого ПараметрМетода Из СтруктураМетода["Параметры"] Цикл
- Если Не ЗначениеЗаполнено(ПараметрМетода.Опция) Или Не СтруктураМетода["ЕстьCLI"] Тогда
+ Если Не ЗначениеЗаполнено(ПараметрМетода.Опция) И СтруктураМетода["ЕстьCLI"] Тогда
Сообщить("Метод не имеет опции: " + СтруктураМетода["Заголовок"]);
Возврат;
КонецЕсли;
@@ -557,13 +557,13 @@
ПутьCLI = КаталогCLI + СтруктураМетода["Команда"] + "/" + СтруктураМетода["ИмяМетода"];
ФайлCLI = Новый Файл(ПутьCLI);
- ВызовCLI = "";
+ ЕстьCLI = СтруктураМетода["ЕстьCLI"];
Если Не ФайлCLI.Существует() Тогда
Возврат "";
- Иначе
+ ИначеЕсли ЕстьCLI Тогда
СоответствиеПодсветки = Новый Соответствие();
СоответствиеПодсветки.Вставить("bat" , "batch");
@@ -613,23 +613,21 @@
ПолныйТекст = ПолныйТекст + Символы.ПС + "";
Возврат ПолныйТекст;
+
+ Иначе
+
+ Возврат ":::caution"
+ + Символы.ПС
+ + "**NOCLI!:** данный метод недоступен для использования в CLI версии"
+ + Символы.ПС
+ + ":::"
+ + Символы.ПС
+ + "
";
КонецЕсли;
КонецФункции
-Функция ОпределитьЗначениеОпции(Опция, Значение = "")
-
- Если ЗначениеЗаполнено(Значение) Тогда
- Опция = """" + Строка(Значение) + """";
- Иначе
- Опция = "%" + СтрЗаменить(Опция, "-", "") + "%";
- КонецЕсли;
-
- Возврат Опция;
-
-КонецФункции
-
Процедура ПроверитьСоздатьКаталог(Путь)
Каталог = Новый Файл(Путь);
diff --git a/docs/docusaurus/src/css/custom.css b/docs/docusaurus/src/css/custom.css
index a45ab8feef..e634a6f7a3 100644
--- a/docs/docusaurus/src/css/custom.css
+++ b/docs/docusaurus/src/css/custom.css
@@ -130,7 +130,7 @@ li > a.menu__link {
.Notion a::before, .GoogleCalendar a::before, .GoogleDrive a::before, .GoogleSheets a::before,
.Slack a::before, .YandexDisk a::before, .Dropbox a::before, .Bitrix24 a::before, .Messenger a::before,
.Social a::before, .Database a::before, .Folder a::before, .Calendar a::before, .CRM a::before, .Commerce a::before,
-.VKTeams a::before, .S3 a::before, .Ozon a::before, .Neocities a::before, .CDEK a::before, .Start a::before, .Other a::before{
+.VKTeams a::before, .S3 a::before, .TCP a::before, .Ozon a::before, .Neocities a::before, .CDEK a::before, .Start a::before, .Other a::before{
padding-right: 0.7rem;
padding-top: 0.4rem;
}
@@ -207,6 +207,10 @@ li > a.menu__link {
content: url(../../static/img/APIs/small/S3.png);
}
+.TCP > div > a::before{
+ content: url(../../static/img/APIs/small/TCP.png);
+}
+
.Messenger > div > a::before{
content: url(../../static/img/Categories/chat.png);
}
diff --git a/docs/docusaurus/static/img/APIs/TCP.png b/docs/docusaurus/static/img/APIs/TCP.png
new file mode 100644
index 0000000000..38981f8df6
Binary files /dev/null and b/docs/docusaurus/static/img/APIs/TCP.png differ
diff --git a/docs/docusaurus/static/img/APIs/small/TCP.png b/docs/docusaurus/static/img/APIs/small/TCP.png
new file mode 100644
index 0000000000..407cbd7cdc
Binary files /dev/null and b/docs/docusaurus/static/img/APIs/small/TCP.png differ
diff --git a/docs/en/md/Instructions/TCP.md b/docs/en/md/Instructions/TCP.md
new file mode 100644
index 0000000000..d439f16fd7
--- /dev/null
+++ b/docs/en/md/Instructions/TCP.md
@@ -0,0 +1,10 @@
+---
+id: TCP
+sidebar_class_name: TCP
+---
+
+
+
+# TCP (Client)
+
+This section is dedicated to the library for working with the TCP. On this page, all the steps necessary to start working are described
\ No newline at end of file
diff --git a/docs/en/md/sidebars.js b/docs/en/md/sidebars.js
index 9387467b27..5fba0f6e7d 100644
--- a/docs/en/md/sidebars.js
+++ b/docs/en/md/sidebars.js
@@ -81,6 +81,7 @@
className: 'Other',
items:[
{ type: 'category', link: {type: 'doc', id:'Instructions/Neocities'}, label: 'Neocities', className: 'Neocities', items:[{type: 'autogenerated', dirName: 'Neocities'}]},
+ { type: 'category', link: {type: 'doc', id:'Instructions/TCP'}, label: 'TCP', className: 'TCP', items:[{type: 'autogenerated', dirName: 'TCP'}]},
]
}
],
diff --git a/docs/ru/md/Instructions/TCP.md b/docs/ru/md/Instructions/TCP.md
new file mode 100644
index 0000000000..cdb810ee7a
--- /dev/null
+++ b/docs/ru/md/Instructions/TCP.md
@@ -0,0 +1,10 @@
+---
+id: TCP
+sidebar_class_name: TCP
+---
+
+
+
+# TCP (Клиент)
+
+Этот раздел посвящен библиотеке для работы с протоколом TCP. На данной странице описаны все действия, необходимые для полноценного начала работы
\ No newline at end of file
diff --git a/docs/ru/md/sidebars.js b/docs/ru/md/sidebars.js
index 1fcd78e649..36f8a14546 100644
--- a/docs/ru/md/sidebars.js
+++ b/docs/ru/md/sidebars.js
@@ -81,6 +81,7 @@ export default {
className: 'Other',
items:[
{ type: 'category', link: {type: 'doc', id:'Instructions/Neocities'}, label: 'Neocities', className: 'Neocities', items:[{type: 'autogenerated', dirName: 'Neocities'}]},
+ { type: 'category', link: {type: 'doc', id:'Instructions/TCP'}, label: 'TCP', className: 'TCP', items:[{type: 'autogenerated', dirName: 'TCP'}]},
]
}
],
diff --git a/media/TCP.png b/media/TCP.png
new file mode 100644
index 0000000000..3274c9a1f7
Binary files /dev/null and b/media/TCP.png differ
diff --git a/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl
index d99c8c895b..0b3bd45d42 100644
--- a/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl
+++ b/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl
@@ -2182,6 +2182,8 @@
TCP_ОткрытьСоединение(ПараметрыТеста);
TCP_ЗакрытьСоединение(ПараметрыТеста);
TCP_ПрочитатьДвоичныеДанные(ПараметрыТеста);
+ TCP_ОтправитьДвоичныеДанные(ПараметрыТеста);
+ TCP_ОбработатьЗапрос(ПараметрыТеста);
КонецПроцедуры
@@ -15709,6 +15711,7 @@
// Маркер конца сообщения для исключения ожидания конца таймаута
Маркер = Символы.ПС;
Результат = OPI_TCP.ПрочитатьДвоичныеДанные(Соединение, , Маркер);
+ // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
OPI_TCP.ЗакрытьСоединение(Соединение);
@@ -15732,6 +15735,56 @@
КонецПроцедуры
+Процедура TCP_ОтправитьДвоичныеДанные(ПараметрыФункции) Экспорт
+
+ Адрес = ПараметрыФункции["TCP_Address"];
+ Соединение = OPI_TCP.ОткрытьСоединение(Адрес);
+ Сообщение = "Hello server!" + Символы.ПС;
+ Данные = ПолучитьДвоичныеДанныеИзСтроки(Сообщение);
+
+ OPI_TCP.ОтправитьДвоичныеДанные(Соединение, Данные);
+ // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ // Маркер конца сообщения для исключения ожидания конца таймаута
+ Маркер = Символы.ПС;
+ Результат = OPI_TCP.ПрочитатьДвоичныеДанные(Соединение, , Маркер);
+
+ OPI_TCP.ЗакрытьСоединение(Соединение);
+
+ // END
+
+ Результат = ПолучитьСтрокуИзДвоичныхДанных(Результат);
+ OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьДвоичныеДанные", "TCP");
+ OPI_ПолучениеДанныхТестов.Проверка_Строка(Результат, Сообщение);
+
+ Соединение = OPI_TCP.ОткрытьСоединение(Адрес);
+
+ OPI_TCP.ОтправитьДвоичныеДанные(Соединение, Данные);
+ Результат = OPI_TCP.ПрочитатьДвоичныеДанные(Соединение, , , 50000);
+
+ OPI_TCP.ЗакрытьСоединение(Соединение);
+
+ Результат = ПолучитьСтрокуИзДвоичныхДанных(Результат);
+ OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьДвоичныеДанные (таймаут)", "TCP");
+ OPI_ПолучениеДанныхТестов.Проверка_Строка(Результат, Сообщение);
+
+
+КонецПроцедуры
+
+Процедура TCP_ОбработатьЗапрос(ПараметрыФункции) Экспорт
+
+ Адрес = ПараметрыФункции["TCP_Address"];
+ Данные = "Echo this!\n";
+
+ Результат = OPI_TCP.ОбработатьЗапрос(Адрес, Данные);
+
+ // END
+
+ OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОбработатьЗапрос", "TCP");
+ OPI_ПолучениеДанныхТестов.Проверка_Строка(Результат, Данные);
+
+КонецПроцедуры
+
#КонецОбласти
#КонецОбласти