You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-08-10 22:41:43 +02:00
Main build (Jenkins)
This commit is contained in:
@@ -1924,7 +1924,7 @@ def test_tcp(){
|
||||
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe tcp ConnectAndReceiveData --address "test" --size "test" --timeout "test" --string "test" --enc "test" --debug --test '
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe tcp ProcessRequest --address "test" --data "test" --string "test" --debug --test '
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -1924,7 +1924,7 @@ def test_tcp(){
|
||||
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe tcp ПодключитьсяИПолучитьДанные --address "test" --size "test" --timeout "test" --string "test" --enc "test" --debug --test '
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe tcp ОбработатьЗапрос --address "test" --data "test" --string "test" --debug --test '
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -1,43 +0,0 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Connect and receive data
|
||||
Establishes a connection and reads data until completion or by limits
|
||||
|
||||
|
||||
|
||||
`Function ConnectAndReceiveData(Val Address, Val MaxSize = 0, Val Timeout = 5000, Val AsString = True, Val Encoding = "UTF-8") Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Address | --address | String | ✔ | Address and port |
|
||||
| MaxSize | --size | Number | ✖ | Maximum data size. 0 > no limit |
|
||||
| Timeout | --timeout | Number | ✖ | Data reading timeout |
|
||||
| AsString | --string | Boolean | ✖ | True > returns string, False > binary data |
|
||||
| Encoding | --enc | String | ✖ | Encoding of received data |
|
||||
|
||||
|
||||
Returns: String, BinaryData - Received data
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
When working with an infinite stream of incoming data, it is obligatory to specify the MaxSize parameter, because endless data retrieval can cause hang-ups
|
||||
|
||||
If the connection is closed, an error occurs, or EOF is detected, the read is terminated in either case
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
39
docs/en/md/TCP/Tcp-client/Process-request.mdx
Normal file
39
docs/en/md/TCP/Tcp-client/Process-request.mdx
Normal file
@@ -0,0 +1,39 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# ProcessRequest
|
||||
Sends a single request to a specified address and receives a response using the default settings
|
||||
|
||||
|
||||
|
||||
`Function ProcessRequest(Val Address, Val Data = "", Val ResponseString = True) Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Address | --address | String | ✔ | Address and port |
|
||||
| Data | --data | String, BinaryData | ✖ | Data or text to be sent |
|
||||
| ResponseString | --string | Boolean | ✖ | An attribute of receiving the response as a string |
|
||||
|
||||
|
||||
Returns: BinaryData, String - Response
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Parameters with Binary data type can also accept file paths on disk and URLs
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -1,43 +0,0 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Подключиться и получить данные
|
||||
Создает соединение и читает данные до конца или по ограничениям
|
||||
|
||||
|
||||
|
||||
`Функция ПодключитьсяИПолучитьДанные(Знач Адрес, Знач МаксимальныйРазмер = 0, Знач Таймаут = 5000, Знач Строкой = Истина, Знач Кодировка = "UTF-8") Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Адрес | --address | Строка | ✔ | Адрес и порт для подключения |
|
||||
| МаксимальныйРазмер | --size | Число | ✖ | Максимальный размер данных. 0 > без ограничений |
|
||||
| Таймаут | --timeout | Число | ✖ | Таймаут ожидания данных |
|
||||
| Строкой | --string | Булево | ✖ | Истина > возвращает строку, Ложь > двоичные данные |
|
||||
| Кодировка | --enc | Строка | ✖ | Кодировка получаемых данных |
|
||||
|
||||
|
||||
Возвращаемое значение: Строка, ДвоичныеДанные - Полученные данные
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
При работе с бесконечным потоком входящих данных обязательно указание параметра МаксимальныйРазмер, так как бесконечное получение данных может привести к зависанию
|
||||
|
||||
При закрытии соединения, ошибке или обнаружении EOF чтение завершается в любом случае
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
39
docs/ru/md/TCP/Tcp-client/Process-request.mdx
Normal file
39
docs/ru/md/TCP/Tcp-client/Process-request.mdx
Normal file
@@ -0,0 +1,39 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# ОбработатьЗапрос
|
||||
Отправляет одиночный запрос на указанный адрес и получает ответ, используя стандартные настройки
|
||||
|
||||
|
||||
|
||||
`Функция ОбработатьЗапрос(Знач Адрес, Знач Данные = "", Знач ОтветСтрокой = Истина) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Адрес | --address | Строка | ✔ | Адрес и порт для подключения |
|
||||
| Данные | --data | Строка, ДвоичныеДанные | ✖ | Данные или текст для отправки |
|
||||
| ОтветСтрокой | --string | Булево | ✖ | Признак получения ответа как строки |
|
||||
|
||||
|
||||
Возвращаемое значение: ДвоичныеДанные, Строка - Ответ на запрос
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Параметры с типом данных Двоичные данные могут принимать также пути к файлам на диске и URL
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -194,48 +194,40 @@ Function SendLine(Val Connection, Val Data, Val Encoding = "UTF-8", Val Timeout
|
||||
|
||||
EndFunction
|
||||
|
||||
|
||||
// Connect and receive data
|
||||
// Establishes a connection and reads data until completion or by limits
|
||||
//
|
||||
// Note
|
||||
// When working with an infinite stream of incoming data, it is obligatory to specify the MaxSize parameter, because^^
|
||||
// endless data retrieval can cause hang-ups
|
||||
// If the connection is closed, an error occurs, or EOF is detected, the read is terminated in either case
|
||||
// ProcessRequest
|
||||
// Sends a single request to a specified address and receives a response using the default settings
|
||||
//
|
||||
// Parameters:
|
||||
// Address - String - Address and port - address
|
||||
// MaxSize - Number - Maximum data size. 0 > no limit - size
|
||||
// Timeout - Number - Data reading timeout - timeout
|
||||
// AsString - Boolean - True > returns string, False > binary data - string
|
||||
// Encoding - String - Encoding of received data - enc
|
||||
// Data - String, BinaryData - Data or text to be sent - data
|
||||
// ResponseString - Boolean - An attribute of receiving the response as a string - string
|
||||
//
|
||||
// Returns:
|
||||
// String, BinaryData - Received data
|
||||
Function ConnectAndReceiveData(Val Address
|
||||
, Val MaxSize = 0
|
||||
, Val Timeout = 5000
|
||||
, Val AsString = True
|
||||
, Val Encoding = "UTF-8") Export
|
||||
// BinaryData, String - Response
|
||||
Function ProcessRequest(Val Address, Val Data = "", Val ResponseString = True) Export
|
||||
|
||||
OPI_TypeConversion.GetBoolean(AsString);
|
||||
OPI_TypeConversion.GetLine(Encoding);
|
||||
OPI_TypeConversion.GetBinaryData(Data, True);
|
||||
OPI_TypeConversion.GetBoolean(ResponseString);
|
||||
|
||||
Connection = CreateConnection(Address);
|
||||
|
||||
If Not ValueIsFilled(Connection) Then
|
||||
Raise "Failed to create Connection";
|
||||
EndIf;
|
||||
Result = SendBinaryData(Connection, Data);
|
||||
|
||||
Message = ReadBinaryData(Connection, MaxSize, Timeout);
|
||||
If Result Then
|
||||
|
||||
Response = ReadBinaryData(Connection, , Chars.LF);
|
||||
Response = ?(ResponseString, ПолучитьСтрокуИзДвоичныхДанных(Response), Response);
|
||||
|
||||
Else
|
||||
|
||||
Response = "OPI: Failed to send message";
|
||||
Response = ?(ResponseString, Response, ПолучитьДвоичныеДанныеИзСтроки(Response));
|
||||
|
||||
If AsString Then
|
||||
Message = ПолучитьСтрокуИзДвоичныхДанных(Message, Encoding);
|
||||
EndIf;
|
||||
|
||||
CloseConnection(Connection);
|
||||
|
||||
Return Message;
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
|
@@ -37,7 +37,7 @@
|
||||
#Use "./internal"
|
||||
#Region Internal
|
||||
|
||||
Procedure GetBinaryData(Value) Export
|
||||
Procedure GetBinaryData(Value, Val Force = False) Export
|
||||
|
||||
If Value = Undefined Then
|
||||
Return;
|
||||
@@ -69,7 +69,14 @@ Procedure GetBinaryData(Value) Export
|
||||
EndIf;
|
||||
|
||||
Except
|
||||
|
||||
If Force Then
|
||||
Value = OPI_Tools.NumberToString(Value);
|
||||
Value = ПолучитьДвоичныеДанныеИзСтроки(Value);
|
||||
Else
|
||||
Raise "Error getting binary data from parameter: " + ErrorDescription();
|
||||
EndIf;
|
||||
|
||||
EndTry;
|
||||
|
||||
EndProcedure
|
||||
|
@@ -194,48 +194,40 @@ Function SendLine(Val Connection, Val Data, Val Encoding = "UTF-8", Val Timeout
|
||||
|
||||
EndFunction
|
||||
|
||||
|
||||
// Connect and receive data
|
||||
// Establishes a connection and reads data until completion or by limits
|
||||
//
|
||||
// Note
|
||||
// When working with an infinite stream of incoming data, it is obligatory to specify the MaxSize parameter, because^^
|
||||
// endless data retrieval can cause hang-ups
|
||||
// If the connection is closed, an error occurs, or EOF is detected, the read is terminated in either case
|
||||
// ProcessRequest
|
||||
// Sends a single request to a specified address and receives a response using the default settings
|
||||
//
|
||||
// Parameters:
|
||||
// Address - String - Address and port - address
|
||||
// MaxSize - Number - Maximum data size. 0 > no limit - size
|
||||
// Timeout - Number - Data reading timeout - timeout
|
||||
// AsString - Boolean - True > returns string, False > binary data - string
|
||||
// Encoding - String - Encoding of received data - enc
|
||||
// Data - String, BinaryData - Data or text to be sent - data
|
||||
// ResponseString - Boolean - An attribute of receiving the response as a string - string
|
||||
//
|
||||
// Returns:
|
||||
// String, BinaryData - Received data
|
||||
Function ConnectAndReceiveData(Val Address
|
||||
, Val MaxSize = 0
|
||||
, Val Timeout = 5000
|
||||
, Val AsString = True
|
||||
, Val Encoding = "UTF-8") Export
|
||||
// BinaryData, String - Response
|
||||
Function ProcessRequest(Val Address, Val Data = "", Val ResponseString = True) Export
|
||||
|
||||
OPI_TypeConversion.GetBoolean(AsString);
|
||||
OPI_TypeConversion.GetLine(Encoding);
|
||||
OPI_TypeConversion.GetBinaryData(Data, True);
|
||||
OPI_TypeConversion.GetBoolean(ResponseString);
|
||||
|
||||
Connection = CreateConnection(Address);
|
||||
|
||||
If Not ValueIsFilled(Connection) Then
|
||||
Raise "Failed to create Connection";
|
||||
EndIf;
|
||||
Result = SendBinaryData(Connection, Data);
|
||||
|
||||
Message = ReadBinaryData(Connection, MaxSize, Timeout);
|
||||
If Result Then
|
||||
|
||||
Response = ReadBinaryData(Connection, , Chars.LF);
|
||||
Response = ?(ResponseString, GetStringFromBinaryData(Response), Response);
|
||||
|
||||
Else
|
||||
|
||||
Response = "OPI: Failed to send message";
|
||||
Response = ?(ResponseString, Response, GetBinaryDataFromString(Response));
|
||||
|
||||
If AsString Then
|
||||
Message = GetStringFromBinaryData(Message, Encoding);
|
||||
EndIf;
|
||||
|
||||
CloseConnection(Connection);
|
||||
|
||||
Return Message;
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
|
@@ -37,7 +37,7 @@
|
||||
// #Use "./internal"
|
||||
#Region Internal
|
||||
|
||||
Procedure GetBinaryData(Value) Export
|
||||
Procedure GetBinaryData(Value, Val Force = False) Export
|
||||
|
||||
If Value = Undefined Then
|
||||
Return;
|
||||
@@ -69,7 +69,14 @@ Procedure GetBinaryData(Value) Export
|
||||
EndIf;
|
||||
|
||||
Except
|
||||
|
||||
If Force Then
|
||||
Value = OPI_Tools.NumberToString(Value);
|
||||
Value = GetBinaryDataFromString(Value);
|
||||
Else
|
||||
Raise "Error getting binary data from parameter: " + ErrorDescription();
|
||||
EndIf;
|
||||
|
||||
EndTry;
|
||||
|
||||
EndProcedure
|
||||
|
@@ -13,51 +13,31 @@
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "tcp";
|
||||
NewLine.Модуль = "OPI_TCP";
|
||||
NewLine.Метод = "ConnectAndReceiveData";
|
||||
NewLine.МетодПоиска = "CONNECTANDRECEIVEDATA";
|
||||
NewLine.Метод = "ProcessRequest";
|
||||
NewLine.МетодПоиска = "PROCESSREQUEST";
|
||||
NewLine.Параметр = "--address";
|
||||
NewLine.Описание = "Address and port";
|
||||
NewLine.Область = "Tcp client";
|
||||
NewLine.ОписаниеМетода = "Establishes a connection and reads data until completion or by limits";
|
||||
NewLine.ОписаниеМетода = "Sends a single request to a specified address and receives a response using the default settings";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "tcp";
|
||||
NewLine.Модуль = "OPI_TCP";
|
||||
NewLine.Метод = "ConnectAndReceiveData";
|
||||
NewLine.МетодПоиска = "CONNECTANDRECEIVEDATA";
|
||||
NewLine.Параметр = "--size";
|
||||
NewLine.Описание = "Maximum data size. 0 > no limit (optional, def. val. - Empty value)";
|
||||
NewLine.Метод = "ProcessRequest";
|
||||
NewLine.МетодПоиска = "PROCESSREQUEST";
|
||||
NewLine.Параметр = "--data";
|
||||
NewLine.Описание = "Data or text to be sent (optional, def. val. - Empty value)";
|
||||
NewLine.Область = "Tcp client";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "tcp";
|
||||
NewLine.Модуль = "OPI_TCP";
|
||||
NewLine.Метод = "ConnectAndReceiveData";
|
||||
NewLine.МетодПоиска = "CONNECTANDRECEIVEDATA";
|
||||
NewLine.Параметр = "--timeout";
|
||||
NewLine.Описание = "Data reading timeout (optional, def. val. - 5000)";
|
||||
NewLine.Область = "Tcp client";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "tcp";
|
||||
NewLine.Модуль = "OPI_TCP";
|
||||
NewLine.Метод = "ConnectAndReceiveData";
|
||||
NewLine.МетодПоиска = "CONNECTANDRECEIVEDATA";
|
||||
NewLine.Метод = "ProcessRequest";
|
||||
NewLine.МетодПоиска = "PROCESSREQUEST";
|
||||
NewLine.Параметр = "--string";
|
||||
NewLine.Описание = "True > returns string, False > binary data (optional, def. val. - Yes)";
|
||||
NewLine.Область = "Tcp client";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "tcp";
|
||||
NewLine.Модуль = "OPI_TCP";
|
||||
NewLine.Метод = "ConnectAndReceiveData";
|
||||
NewLine.МетодПоиска = "CONNECTANDRECEIVEDATA";
|
||||
NewLine.Параметр = "--enc";
|
||||
NewLine.Описание = "Encoding of received data (optional, def. val. - UTF-8)";
|
||||
NewLine.Описание = "An attribute of receiving the response as a string (optional, def. val. - Yes)";
|
||||
NewLine.Область = "Tcp client";
|
||||
|
||||
Return CompositionTable;
|
||||
|
@@ -203,7 +203,7 @@
|
||||
// ОтветСтрокой - Булево - Признак получения ответа как строки - string
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ДвоичныеДанные, Строка - ответ на запрос
|
||||
// ДвоичныеДанные, Строка - Ответ на запрос
|
||||
Функция ОбработатьЗапрос(Знач Адрес, Знач Данные = "", Знач ОтветСтрокой = Истина) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Данные, Истина);
|
||||
|
@@ -13,51 +13,31 @@
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "tcp";
|
||||
НоваяСтрока.Модуль = "OPI_TCP";
|
||||
НоваяСтрока.Метод = "ПодключитьсяИПолучитьДанные";
|
||||
НоваяСтрока.МетодПоиска = "ПОДКЛЮЧИТЬСЯИПОЛУЧИТЬДАННЫЕ";
|
||||
НоваяСтрока.Метод = "ОбработатьЗапрос";
|
||||
НоваяСтрока.МетодПоиска = "ОБРАБОТАТЬЗАПРОС";
|
||||
НоваяСтрока.Параметр = "--address";
|
||||
НоваяСтрока.Описание = "Адрес и порт для подключения";
|
||||
НоваяСтрока.Область = "Tcp клиент";
|
||||
НоваяСтрока.ОписаниеМетода = "Создает соединение и читает данные до конца или по ограничениям";
|
||||
НоваяСтрока.ОписаниеМетода = "Отправляет одиночный запрос на указанный адрес и получает ответ, используя стандартные настройки";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "tcp";
|
||||
НоваяСтрока.Модуль = "OPI_TCP";
|
||||
НоваяСтрока.Метод = "ПодключитьсяИПолучитьДанные";
|
||||
НоваяСтрока.МетодПоиска = "ПОДКЛЮЧИТЬСЯИПОЛУЧИТЬДАННЫЕ";
|
||||
НоваяСтрока.Параметр = "--size";
|
||||
НоваяСтрока.Описание = "Максимальный размер данных. 0 > без ограничений (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Метод = "ОбработатьЗапрос";
|
||||
НоваяСтрока.МетодПоиска = "ОБРАБОТАТЬЗАПРОС";
|
||||
НоваяСтрока.Параметр = "--data";
|
||||
НоваяСтрока.Описание = "Данные или текст для отправки (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Tcp клиент";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "tcp";
|
||||
НоваяСтрока.Модуль = "OPI_TCP";
|
||||
НоваяСтрока.Метод = "ПодключитьсяИПолучитьДанные";
|
||||
НоваяСтрока.МетодПоиска = "ПОДКЛЮЧИТЬСЯИПОЛУЧИТЬДАННЫЕ";
|
||||
НоваяСтрока.Параметр = "--timeout";
|
||||
НоваяСтрока.Описание = "Таймаут ожидания данных (необяз. по ум. - 5000)";
|
||||
НоваяСтрока.Область = "Tcp клиент";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "tcp";
|
||||
НоваяСтрока.Модуль = "OPI_TCP";
|
||||
НоваяСтрока.Метод = "ПодключитьсяИПолучитьДанные";
|
||||
НоваяСтрока.МетодПоиска = "ПОДКЛЮЧИТЬСЯИПОЛУЧИТЬДАННЫЕ";
|
||||
НоваяСтрока.Метод = "ОбработатьЗапрос";
|
||||
НоваяСтрока.МетодПоиска = "ОБРАБОТАТЬЗАПРОС";
|
||||
НоваяСтрока.Параметр = "--string";
|
||||
НоваяСтрока.Описание = "Истина > возвращает строку, Ложь > двоичные данные (необяз. по ум. - Да)";
|
||||
НоваяСтрока.Область = "Tcp клиент";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "tcp";
|
||||
НоваяСтрока.Модуль = "OPI_TCP";
|
||||
НоваяСтрока.Метод = "ПодключитьсяИПолучитьДанные";
|
||||
НоваяСтрока.МетодПоиска = "ПОДКЛЮЧИТЬСЯИПОЛУЧИТЬДАННЫЕ";
|
||||
НоваяСтрока.Параметр = "--enc";
|
||||
НоваяСтрока.Описание = "Кодировка получаемых данных (необяз. по ум. - UTF-8)";
|
||||
НоваяСтрока.Описание = "Признак получения ответа как строки (необяз. по ум. - Да)";
|
||||
НоваяСтрока.Область = "Tcp клиент";
|
||||
|
||||
Возврат ТаблицаСостава;
|
||||
|
Reference in New Issue
Block a user