1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-02-05 13:25:25 +02:00

Main build (Jenkins)

This commit is contained in:
Vitaly the Alpaca (bot) 2024-12-13 16:00:46 +03:00
parent 4193e2fe14
commit b7d78cae9c
28 changed files with 6170 additions and 5749 deletions

View File

@ -1305,51 +1305,9 @@ jobs:
key: logs-S3
path: ./docs/en/results/S3
Testing-MongoDB:
runs-on: ubuntu-latest
needs: [Decode, Build]
steps:
- uses: actions/checkout@v2
- uses: otymko/setup-onescript@v1.4
with:
version: 1.9.1
- name: Получить тестовые данные из кэша
uses: actions/cache/restore@v3
with:
key: test-data
path: ./data.json
- name: Установить asserts и 1testrunner
run: |
opm install asserts
opm install 1testrunner
- name: Установить OInt
run: |
TEMP_DEB="$(mktemp)" &&
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.16.1/oint_1.16.1_all_en.deb' &&
sudo dpkg -i "$TEMP_DEB"
rm -f "$TEMP_DEB"
- name: Database management
if: ${{ cancelled() }} == false
run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./src/en/OInt/tests/Modules/internal/OPI_TestsCLI.os "CLI_Mongo_DatabaseManagement"
- name: Записать логи
if: ${{ cancelled() }} == false
uses: actions/cache/save@v3
with:
key: logs-MongoDB
path: ./docs/en/results/MongoDB
Encode:
runs-on: ubuntu-latest
needs: [Testing-Telegram,Testing-VK,Testing-Viber,Testing-Twitter,Testing-YandexDisk,Testing-GoogleWorkspace,Testing-GoogleCalendar,Testing-GoogleDrive,Testing-GoogleSheets,Testing-Notion,Testing-Slack,Testing-Airtable,Testing-Dropbox,Testing-Bitrix24,Testing-VkTeams,Testing-Ozon,Testing-Neocities,Testing-CDEK,Testing-YandexMetrika,Testing-S3,Testing-MongoDB]
needs: [Testing-Telegram,Testing-VK,Testing-Viber,Testing-Twitter,Testing-YandexDisk,Testing-GoogleWorkspace,Testing-GoogleCalendar,Testing-GoogleDrive,Testing-GoogleSheets,Testing-Notion,Testing-Slack,Testing-Airtable,Testing-Dropbox,Testing-Bitrix24,Testing-VkTeams,Testing-Ozon,Testing-Neocities,Testing-CDEK,Testing-YandexMetrika,Testing-S3]
if: ${{ always() }}
permissions:
contents: write
@ -1697,22 +1655,6 @@ jobs:
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/repos/Bayselonarrend/OpenIntegrations/actions/caches?key=logs-S3"
- name: Получить логи MongoDB
uses: actions/cache/restore@v3
with:
key: logs-MongoDB
path: ./docs/en/results/MongoDB
- name: Очистка логов MongoDB
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/repos/Bayselonarrend/OpenIntegrations/actions/caches?key=logs-MongoDB"
- name: Записать данные
uses: stefanzweifel/git-auto-commit-action@v5
@ -1725,7 +1667,7 @@ jobs:
Clear-Cache:
runs-on: ubuntu-latest
needs: [Testing-Telegram, Testing-VK, Testing-Viber, Testing-Twitter, Testing-YandexDisk, Testing-GoogleWorkspace, Testing-GoogleCalendar, Testing-GoogleDrive, Testing-GoogleSheets, Testing-Notion, Testing-Slack, Testing-Airtable, Testing-Dropbox, Testing-Bitrix24, Testing-VkTeams, Testing-Ozon, Testing-Neocities, Testing-CDEK, Testing-YandexMetrika, Testing-S3, Testing-MongoDB, Encode]
needs: [Testing-Telegram, Testing-VK, Testing-Viber, Testing-Twitter, Testing-YandexDisk, Testing-GoogleWorkspace, Testing-GoogleCalendar, Testing-GoogleDrive, Testing-GoogleSheets, Testing-Notion, Testing-Slack, Testing-Airtable, Testing-Dropbox, Testing-Bitrix24, Testing-VkTeams, Testing-Ozon, Testing-Neocities, Testing-CDEK, Testing-YandexMetrika, Testing-S3, Encode]
if: ${{ always() }}
steps:
- name: Очистка основного кэша

View File

@ -1305,51 +1305,9 @@ jobs:
key: logs-S3
path: ./docs/ru/results/S3
Testing-MongoDB:
runs-on: ubuntu-latest
needs: [Decode, Build]
steps:
- uses: actions/checkout@v2
- uses: otymko/setup-onescript@v1.4
with:
version: 1.9.1
- name: Получить тестовые данные из кэша
uses: actions/cache/restore@v3
with:
key: test-data
path: ./data.json
- name: Установить asserts и 1testrunner
run: |
opm install asserts
opm install 1testrunner
- name: Установить OInt
run: |
TEMP_DEB="$(mktemp)" &&
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.16.1/oint_1.16.1_all_ru.deb' &&
sudo dpkg -i "$TEMP_DEB"
rm -f "$TEMP_DEB"
- name: Управление базами данных
if: ${{ cancelled() }} == false
run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./src/ru/OInt/tests/Modules/internal/OPI_ТестыCLI.os "CLI_Mongo_УправлениеБазамиДанных"
- name: Записать логи
if: ${{ cancelled() }} == false
uses: actions/cache/save@v3
with:
key: logs-MongoDB
path: ./docs/ru/results/MongoDB
Encode:
runs-on: ubuntu-latest
needs: [Testing-Telegram,Testing-VK,Testing-Viber,Testing-Twitter,Testing-YandexDisk,Testing-GoogleWorkspace,Testing-GoogleCalendar,Testing-GoogleDrive,Testing-GoogleSheets,Testing-Notion,Testing-Slack,Testing-Airtable,Testing-Dropbox,Testing-Bitrix24,Testing-VkTeams,Testing-Ozon,Testing-Neocities,Testing-CDEK,Testing-YandexMetrika,Testing-S3,Testing-MongoDB]
needs: [Testing-Telegram,Testing-VK,Testing-Viber,Testing-Twitter,Testing-YandexDisk,Testing-GoogleWorkspace,Testing-GoogleCalendar,Testing-GoogleDrive,Testing-GoogleSheets,Testing-Notion,Testing-Slack,Testing-Airtable,Testing-Dropbox,Testing-Bitrix24,Testing-VkTeams,Testing-Ozon,Testing-Neocities,Testing-CDEK,Testing-YandexMetrika,Testing-S3]
if: ${{ always() }}
permissions:
contents: write
@ -1697,22 +1655,6 @@ jobs:
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/repos/Bayselonarrend/OpenIntegrations/actions/caches?key=logs-S3"
- name: Получить логи MongoDB
uses: actions/cache/restore@v3
with:
key: logs-MongoDB
path: ./docs/ru/results/MongoDB
- name: Очистка логов MongoDB
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/repos/Bayselonarrend/OpenIntegrations/actions/caches?key=logs-MongoDB"
- name: Записать данные
uses: stefanzweifel/git-auto-commit-action@v5
@ -1725,7 +1667,7 @@ jobs:
Clear-Cache:
runs-on: ubuntu-latest
needs: [Testing-Telegram, Testing-VK, Testing-Viber, Testing-Twitter, Testing-YandexDisk, Testing-GoogleWorkspace, Testing-GoogleCalendar, Testing-GoogleDrive, Testing-GoogleSheets, Testing-Notion, Testing-Slack, Testing-Airtable, Testing-Dropbox, Testing-Bitrix24, Testing-VkTeams, Testing-Ozon, Testing-Neocities, Testing-CDEK, Testing-YandexMetrika, Testing-S3, Testing-MongoDB, Encode]
needs: [Testing-Telegram, Testing-VK, Testing-Viber, Testing-Twitter, Testing-YandexDisk, Testing-GoogleWorkspace, Testing-GoogleCalendar, Testing-GoogleDrive, Testing-GoogleSheets, Testing-Notion, Testing-Slack, Testing-Airtable, Testing-Dropbox, Testing-Bitrix24, Testing-VkTeams, Testing-Ozon, Testing-Neocities, Testing-CDEK, Testing-YandexMetrika, Testing-S3, Encode]
if: ${{ always() }}
steps:
- name: Очистка основного кэша

View File

@ -656,17 +656,6 @@ pipeline {
}
}
stage('Testing-MongoDB') {
steps {
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/en/OInt/tests/Modules/internal/OPI_TestsCLI.os" "CLI_Mongo_DatabaseManagement"'
}
}
}
}
post{
always{

View File

@ -656,17 +656,6 @@ pipeline {
}
}
stage('Testing-MongoDB') {
steps {
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_ТестыCLI.os" "CLI_Mongo_УправлениеБазамиДанных"'
}
}
}
}
post{
always{

View File

@ -86,6 +86,11 @@ pipeline {
test_slack()
}
}
stage('tcp'){
steps{
test_tcp()
}
}
stage('telegram'){
steps{
test_telegram()
@ -1915,6 +1920,16 @@ def test_slack(){
}
def test_tcp(){
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe tcp ConnectAndReceiveData --address "test" --ssl "test" --timeout "test" --size "test" --string "test" --enc "test" --debug --test '
}
}
def test_telegram(){
@ -2693,6 +2708,7 @@ test_notion()
test_ozon()
test_s3()
test_slack()
test_tcp()
test_telegram()
test_twitter()
test_viber()

View File

@ -86,6 +86,11 @@ pipeline {
test_slack()
}
}
stage('tcp'){
steps{
test_tcp()
}
}
stage('telegram'){
steps{
test_telegram()
@ -1915,6 +1920,16 @@ def test_slack(){
}
def test_tcp(){
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe tcp ПодключитьсяИПолучитьДанные --address "test" --ssl "test" --timeout "test" --size "test" --string "test" --enc "test" --debug --test '
}
}
def test_telegram(){
@ -2693,6 +2708,7 @@ test_notion()
test_ozon()
test_s3()
test_slack()
test_tcp()
test_telegram()
test_twitter()
test_viber()

View File

@ -656,17 +656,6 @@ pipeline {
}
}
stage('Testing-MongoDB') {
steps {
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/en/OInt/tests/Modules/internal/OPI_Tests.os" "Mongo_DatabaseManagement"'
}
}
}
}
post{
always{

View File

@ -656,17 +656,6 @@ pipeline {
}
}
stage('Testing-MongoDB') {
steps {
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_Тесты.os" "Mongo_УправлениеБазамиДанных"'
}
}
}
}
post{
always{

View File

@ -0,0 +1,42 @@
---
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 SSL = False, Val Timeout = 0, Val Size = 0, Val AsString = True, Val Encoding = "UTF-8") Export`
| Parameter | CLI option | Type | Required | Description |
|-|-|-|-|-|
| Address | --address | String | ✔ | Address and port |
| SSL | --ssl | Boolean | ✖ | Flag for using a secure connection |
| Timeout | --timeout | Number | ✖ | Data reading time (sec). 0 > until the end of the message |
| Size | --size | Number | ✖ | Maximum data size. 0 > no limit |
| AsString | --string | Boolean | ✖ | True > returns string, False > binary data |
| Encoding | --enc | String | ✖ | Encoding of received data |
Returns: String, BinaryData - Received data
<br/>
:::tip
When the Timeout and Size parameters are set to 0, reading is performed until the message ends
:::
<br/>
```bsl title="1C:Enterprise/OneScript code example"
```

View File

@ -0,0 +1,4 @@
{
"label": "Tcp client",
"position": "2"
}

View File

@ -0,0 +1,42 @@
---
sidebar_position: 1
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Подключиться и получить данные
Создает соединение и читает данные до конца или по ограничениям
`Функция ПодключитьсяИПолучитьДанные(Знач Адрес, Знач SSL = Ложь, Знач Таймаут = 0, Знач Размер = 0, Знач Строкой = Истина, Знач Кодировка = "UTF-8") Экспорт`
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|-|-|-|-|-|
| Адрес | --address | Строка | &#x2714; | Адрес и порт для подключения |
| SSL | --ssl | Булево | &#x2716; | Признак использования защищенного соединения |
| Таймаут | --timeout | Число | &#x2716; | Время чтения данных (сек). 0 > до конца сообщения |
| Размер | --size | Число | &#x2716; | Максимальный размер данных. 0 > без ограничений |
| Строкой | --string | Булево | &#x2716; | Истина > возвращает строку, Ложь > двоичные данные |
| Кодировка | --enc | Строка | &#x2716; | Кодировка получаемых данных |
Возвращаемое значение: Строка, ДвоичныеДанные - Полученные данные
<br/>
:::tip
При установке параметров Таймаут и Размер в 0, чтение производится до окончания сообщения
:::
<br/>
```bsl title="Пример использования для 1С:Предприятие/OneScript"
```

View File

@ -0,0 +1,4 @@
{
"label": "Tcp клиент",
"position": "2"
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,158 @@
// OneScript: ./OInt/core/Modules/OPI_TCP.os
// Lib: TCP
// CLI: tcp
// MIT License
// Copyright (c) 2023 Anton Tsitavets
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
// https://github.com/Bayselonarrend/OpenIntegrations
// BSLLS:Typo-off
// BSLLS:LatinAndCyrillicSymbolInWord-off
// BSLLS:IncorrectLineBreak-off
// BSLLS:NumberOfOptionalParams-off
// BSLLS:UsingServiceTag-off
// BSLLS:LineLength-off
//@skip-check module-structure-top-region
//@skip-check module-structure-method-in-regions
//@skip-check wrong-string-literal-content
//@skip-check method-too-many-params
// Uncomment if OneScript is executed
#Use "../../tools"
#Region Public
#Region TCPClient
// !NOCLI
// Create Connection
// Creates a TCP/TLS connection
//
// Parameters:
// Address - String - Address and port - address
// SSL - Boolean - Flag for using a secure connection - ssl
//
// Returns:
// Undefined, Arbitrary - Returns the TCP client object on successful connection or undefined
Function CreateConnection(Val Address, Val SSL = False) Export
OPI_TypeConversion.GetLine(Address);
OPI_TypeConversion.GetBoolean(SSL);
TCPClient = OPI_Tools.GetAddIn("OPI_TCPClient");
TCPClient.Address = Address;
TCPClient.SSL = SSL;
Success = TCPClient.Connect();
Return ?(Success, TCPClient, Undefined);
EndFunction
// !NOCLI
// Close connection
// Explicitly closes a previously created connection
//
// Parameters:
// Connection - Arbitrary - Connection, see. CreateConnection - tcp
//
// Returns:
// Boolean - always return True
Function CloseConnection(Val Connection) Export
Return Connection.Disconnect();
EndFunction
// !NOCLI
// Receive data
// Reads data from the specified connection
//
// Note
// When the Timeout and Size parameters are set to 0, reading is performed until the message ends
//
// Parameters:
// Connection - Arbitrary - Connection, see. CreateConnection - tcp
// Timeout - Number - Data reading time (sec). 0 > until the end of the message - timeout
// Size - Number - Maximum data size. 0 > no limit - size
//
// Returns:
// BinaryData - Received data
Function ReceiveData(Val Connection, Val Timeout = 0, Val Size = 0) Export
OPI_TypeConversion.GetNumber(Timeout);
OPI_TypeConversion.GetNumber(Size);
Return Connection.Read(1024, 150, Timeout, Size);
EndFunction
// Connect and receive data
// Establishes a connection and reads data until completion or by limits
//
// Note
// When the Timeout and Size parameters are set to 0, reading is performed until the message ends
//
// Parameters:
// Address - String - Address and port - address
// SSL - Boolean - Flag for using a secure connection - ssl
// Timeout - Number - Data reading time (sec). 0 > until the end of the message - timeout
// Size - Number - Maximum data size. 0 > no limit - size
// AsString - Boolean - True > returns string, False > binary data - string
// Encoding - String - Encoding of received data - enc
//
// Returns:
// String, BinaryData - Received data
Function ConnectAndReceiveData(Val Address
, Val SSL = False
, Val Timeout = 0
, Val Size = 0
, Val AsString = True
, Val Encoding = "UTF-8") Export
OPI_TypeConversion.GetBoolean(AsString);
OPI_TypeConversion.GetLine(Encoding);
OPI_TypeConversion.GetNumber(Size);
OPI_TypeConversion.GetNumber(Timeout);
Connection = CreateConnection(Address, SSL);
If Not ValueIsFilled(Connection) Then
Raise "Failed to create Connection";
EndIf;
Message = ReceiveData(Connection, Timeout, Size);
If AsString Then
Message = ПолучитьСтрокуИзДвоичныхДанных(Message);
EndIf;
CloseConnection(Connection);
Return Message;
EndFunction
#EndRegion
#EndRegion

View File

@ -12,6 +12,7 @@
<module name="OPI_Ozon" file="core/Modules/OPI_Ozon.os"/>
<module name="OPI_S3" file="core/Modules/OPI_S3.os"/>
<module name="OPI_Slack" file="core/Modules/OPI_Slack.os"/>
<module name="OPI_TCP" file="core/Modules/OPI_TCP.os"/>
<module name="OPI_Telegram" file="core/Modules/OPI_Telegram.os"/>
<module name="OPI_Twitter" file="core/Modules/OPI_Twitter.os"/>
<module name="OPI_Viber" file="core/Modules/OPI_Viber.os"/>

View File

@ -1528,19 +1528,6 @@ Function RelevantNodeType(Val NodeType)
EndFunction
Function AddInsFolderOS() Export
ProgramDirectory = StrReplace(ProgramDirectory(), "\", "/");
PathParts = StrSplit(ProgramDirectory, "/");
PathParts.Delete(PathParts.UBound());
AddInsFolder = StrConcat(PathParts, "/") + "/lib/oint/addins/";
Return AddInsFolder;
EndFunction
#Region AddinsManagement
Function InitializeAddIn(Val AddInName, Val Class, AddIn)
@ -1556,25 +1543,26 @@ EndFunction
Function AttachAddInOnServer(Val AddInName)
IsWindows = IsWindows();
If IsWindows() Then
Postfix = "_W";
Extension = ".dll";
Else
Postfix = "_L";
Extension = ".so";
EndIf;
TemplateName = AddInName + Postfix;
If IsOneScript() Then
TemplateName = AddInsFolderOS() + TemplateName + Extension;
TemplateName = AddInsFolderOS() + AddInName + ".zip";
Else
TemplateName = "CommonTemplate." + TemplateName;
TemplateName = "CommonTemplate." + AddInName;
EndIf;
Return AttachAddIn(TemplateName, AddInName, AddInType.Native);
Return AttachAddIn(TemplateName, AddInName);
EndFunction
Function AddInsFolderOS() Export
ProgramDirectory = StrReplace(ProgramDirectory(), "\", "/");
PathParts = StrSplit(ProgramDirectory, "/");
PathParts.Delete(PathParts.UBound());
AddInsFolder = StrConcat(PathParts, "/") + "/lib/oint/addins/";
Return AddInsFolder;
EndFunction

View File

@ -0,0 +1,158 @@
// OneScript: ./OInt/core/Modules/OPI_TCP.os
// Lib: TCP
// CLI: tcp
// MIT License
// Copyright (c) 2023 Anton Tsitavets
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
// https://github.com/Bayselonarrend/OpenIntegrations
// BSLLS:Typo-off
// BSLLS:LatinAndCyrillicSymbolInWord-off
// BSLLS:IncorrectLineBreak-off
// BSLLS:NumberOfOptionalParams-off
// BSLLS:UsingServiceTag-off
// BSLLS:LineLength-off
//@skip-check module-structure-top-region
//@skip-check module-structure-method-in-regions
//@skip-check wrong-string-literal-content
//@skip-check method-too-many-params
// Uncomment if OneScript is executed
// #Use "../../tools"
#Region Public
#Region TCPClient
// !NOCLI
// Create Connection
// Creates a TCP/TLS connection
//
// Parameters:
// Address - String - Address and port - address
// SSL - Boolean - Flag for using a secure connection - ssl
//
// Returns:
// Undefined, Arbitrary - Returns the TCP client object on successful connection or undefined
Function CreateConnection(Val Address, Val SSL = False) Export
OPI_TypeConversion.GetLine(Address);
OPI_TypeConversion.GetBoolean(SSL);
TCPClient = OPI_Tools.GetAddIn("OPI_TCPClient");
TCPClient.Address = Address;
TCPClient.SSL = SSL;
Success = TCPClient.Connect();
Return ?(Success, TCPClient, Undefined);
EndFunction
// !NOCLI
// Close connection
// Explicitly closes a previously created connection
//
// Parameters:
// Connection - Arbitrary - Connection, see. CreateConnection - tcp
//
// Returns:
// Boolean - always return True
Function CloseConnection(Val Connection) Export
Return Connection.Disconnect();
EndFunction
// !NOCLI
// Receive data
// Reads data from the specified connection
//
// Note
// When the Timeout and Size parameters are set to 0, reading is performed until the message ends
//
// Parameters:
// Connection - Arbitrary - Connection, see. CreateConnection - tcp
// Timeout - Number - Data reading time (sec). 0 > until the end of the message - timeout
// Size - Number - Maximum data size. 0 > no limit - size
//
// Returns:
// BinaryData - Received data
Function ReceiveData(Val Connection, Val Timeout = 0, Val Size = 0) Export
OPI_TypeConversion.GetNumber(Timeout);
OPI_TypeConversion.GetNumber(Size);
Return Connection.Read(1024, 150, Timeout, Size);
EndFunction
// Connect and receive data
// Establishes a connection and reads data until completion or by limits
//
// Note
// When the Timeout and Size parameters are set to 0, reading is performed until the message ends
//
// Parameters:
// Address - String - Address and port - address
// SSL - Boolean - Flag for using a secure connection - ssl
// Timeout - Number - Data reading time (sec). 0 > until the end of the message - timeout
// Size - Number - Maximum data size. 0 > no limit - size
// AsString - Boolean - True > returns string, False > binary data - string
// Encoding - String - Encoding of received data - enc
//
// Returns:
// String, BinaryData - Received data
Function ConnectAndReceiveData(Val Address
, Val SSL = False
, Val Timeout = 0
, Val Size = 0
, Val AsString = True
, Val Encoding = "UTF-8") Export
OPI_TypeConversion.GetBoolean(AsString);
OPI_TypeConversion.GetLine(Encoding);
OPI_TypeConversion.GetNumber(Size);
OPI_TypeConversion.GetNumber(Timeout);
Connection = CreateConnection(Address, SSL);
If Not ValueIsFilled(Connection) Then
Raise "Failed to create Connection";
EndIf;
Message = ReceiveData(Connection, Timeout, Size);
If AsString Then
Message = GetStringFromBinaryData(Message);
EndIf;
CloseConnection(Connection);
Return Message;
EndFunction
#EndRegion
#EndRegion

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="ed305045-7f7e-4dae-b254-e1e1bdb32293">
<name>OPI_TCP</name>
<synonym>
<key>en</key>
<value>TCP</value>
</synonym>
<server>true</server>
<externalConnection>true</externalConnection>
<clientOrdinaryApplication>true</clientOrdinaryApplication>
</mdclass:CommonModule>

View File

@ -1528,19 +1528,6 @@ Function RelevantNodeType(Val NodeType)
EndFunction
Function AddInsFolderOS() Export
BinDir = StrReplace(BinDir(), "\", "/");
PathParts = StrSplit(BinDir, "/");
PathParts.Delete(PathParts.UBound());
AddInsFolder = StrConcat(PathParts, "/") + "/lib/oint/addins/";
Return AddInsFolder;
EndFunction
#Region AddinsManagement
Function InitializeAddIn(Val AddInName, Val Class, AddIn)
@ -1556,25 +1543,26 @@ EndFunction
Function AttachAddInOnServer(Val AddInName)
IsWindows = IsWindows();
If IsWindows() Then
Postfix = "_W";
Extension = ".dll";
Else
Postfix = "_L";
Extension = ".so";
EndIf;
TemplateName = AddInName + Postfix;
If IsOneScript() Then
TemplateName = AddInsFolderOS() + TemplateName + Extension;
TemplateName = AddInsFolderOS() + AddInName + ".zip";
Else
TemplateName = "CommonTemplate." + TemplateName;
TemplateName = "CommonTemplate." + AddInName;
EndIf;
Return AttachAddIn(TemplateName, AddInName, AddInType.Native);
Return AttachAddIn(TemplateName, AddInName);
EndFunction
Function AddInsFolderOS() Export
BinDir = StrReplace(BinDir(), "\", "/");
PathParts = StrSplit(BinDir, "/");
PathParts.Delete(PathParts.UBound());
AddInsFolder = StrConcat(PathParts, "/") + "/lib/oint/addins/";
Return AddInsFolder;
EndFunction

View File

@ -56,6 +56,7 @@
<commonModules>CommonModule.OPI_Notion</commonModules>
<commonModules>CommonModule.OPI_Slack</commonModules>
<commonModules>CommonModule.OPI_S3</commonModules>
<commonModules>CommonModule.OPI_TCP</commonModules>
<commonModules>CommonModule.OPI_Telegram</commonModules>
<commonModules>CommonModule.OPI_Twitter</commonModules>
<commonModules>CommonModule.OPI_Viber</commonModules>

View File

@ -0,0 +1,75 @@
Function ПолучитьСостав() Export
CompositionTable = New ValueTable();
CompositionTable.Columns.Add("Библиотека");
CompositionTable.Columns.Add("Модуль");
CompositionTable.Columns.Add("Метод");
CompositionTable.Columns.Add("МетодПоиска");
CompositionTable.Columns.Add("Параметр");
CompositionTable.Columns.Add("Описание");
CompositionTable.Columns.Add("ОписаниеМетода");
CompositionTable.Columns.Add("Область");
NewLine = CompositionTable.Add();
NewLine.Библиотека = "tcp";
NewLine.Модуль = "OPI_TCP";
NewLine.Метод = "ConnectAndReceiveData";
NewLine.МетодПоиска = "CONNECTANDRECEIVEDATA";
NewLine.Параметр = "--address";
NewLine.Описание = "Address and port";
NewLine.Область = "Tcp client";
NewLine.ОписаниеМетода = "Establishes a connection and reads data until completion or by limits";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "tcp";
NewLine.Модуль = "OPI_TCP";
NewLine.Метод = "ConnectAndReceiveData";
NewLine.МетодПоиска = "CONNECTANDRECEIVEDATA";
NewLine.Параметр = "--ssl";
NewLine.Описание = "Flag for using a secure connection (optional, def. val. - No)";
NewLine.Область = "Tcp client";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "tcp";
NewLine.Модуль = "OPI_TCP";
NewLine.Метод = "ConnectAndReceiveData";
NewLine.МетодПоиска = "CONNECTANDRECEIVEDATA";
NewLine.Параметр = "--timeout";
NewLine.Описание = "Data reading time (sec). 0 > until the end of the message (optional, def. val. - Empty value)";
NewLine.Область = "Tcp client";
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.Область = "Tcp client";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "tcp";
NewLine.Модуль = "OPI_TCP";
NewLine.Метод = "ConnectAndReceiveData";
NewLine.МетодПоиска = "CONNECTANDRECEIVEDATA";
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.Область = "Tcp client";
Return CompositionTable;
EndFunction

View File

@ -21,6 +21,7 @@
СоответствиеКомандМодулей.Вставить("ozon", "OPI_Ozon");
СоответствиеКомандМодулей.Вставить("s3", "OPI_S3");
СоответствиеКомандМодулей.Вставить("slack", "OPI_Slack");
СоответствиеКомандМодулей.Вставить("tcp", "OPI_TCP");
СоответствиеКомандМодулей.Вставить("telegram", "OPI_Telegram");
СоответствиеКомандМодулей.Вставить("twitter", "OPI_Twitter");
СоответствиеКомандМодулей.Вставить("viber", "OPI_Viber");

View File

@ -48,71 +48,71 @@
// !NOCLI
// Открыть соединение
// Создает TCP/TLS соединение
//
//
// Параметры:
// Адрес - Строка - Адрес и порт для подключения - address
// SSL - Булево - Признак использования защищенного соединения - ssl
//
//
// Возвращаемое значение:
// Неопределено, Произвольный - Возвращает объект TCP клиента при успешном подключении или неопределено
Функция ОткрытьСоединение(Знач Адрес, Знач SSL = Ложь) Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Адрес);
OPI_ПреобразованиеТипов.ПолучитьБулево(SSL);
TCPКлиент = OPI_Инструменты.ПолучитьКомпоненту("OPI_TCPClient");
TCPКлиент.Address = Адрес;
TCPКлиент.SSL = SSL;
Успех = TCPКлиент.Connect();
Возврат ?(Успех, TCPКлиент, Неопределено);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Адрес);
OPI_ПреобразованиеТипов.ПолучитьБулево(SSL);
TCPКлиент = OPI_Инструменты.ПолучитьКомпоненту("OPI_TCPClient");
TCPКлиент.Address = Адрес;
TCPКлиент.SSL = SSL;
Успех = TCPКлиент.Connect();
Возврат ?(Успех, TCPКлиент, Неопределено);
КонецФункции
// !NOCLI
// Закрыть соединение
// Явно закрывает созданное ранее соединение
//
//
// Параметры:
// Соединение - Произвольный - Соединение, см. ОткрытьСоединение - tcp
//
//
// Возвращаемое значение:
// Булево - всегда возвращает Истина
Функция ЗакрытьСоединение(Знач Соединение) Экспорт
Возврат Соединение.Disconnect();
Возврат Соединение.Disconnect();
КонецФункции
// !NOCLI
// Получить данные
// Читает данные из указанного соединения
//
//
// Примечание:
// При установке параметров Таймаут и Размер в 0, чтение производится до окончания сообщения
//
//
// Параметры:
// Соединение - Произвольный - Соединение, см. ОткрытьСоединение - tcp
// Таймаут - Число - Время чтения данных (сек). 0 > до конца сообщения - timeout
// Размер - Число - Максимальный размер данных. 0 > без ограничений - size
//
//
// Возвращаемое значение:
// ДвоичныеДанные - Полученные данные
// ДвоичныеДанные - Полученные данные
Функция ПолучитьДанные(Знач Соединение, Знач Таймаут = 0, Знач Размер = 0) Экспорт
OPI_ПреобразованиеТипов.ПолучитьЧисло(Таймаут);
OPI_ПреобразованиеТипов.ПолучитьЧисло(Размер);
Возврат Соединение.Read(1024, 150, Таймаут, Размер);
OPI_ПреобразованиеТипов.ПолучитьЧисло(Таймаут);
OPI_ПреобразованиеТипов.ПолучитьЧисло(Размер);
Возврат Соединение.Read(1024, 150, Таймаут, Размер);
КонецФункции
// Подключиться и получить данные
// Создает соединение и читает данные до конца или по ограничениям
//
//
// Примечание:
// При установке параметров Таймаут и Размер в 0, чтение производится до окончания сообщения
//
//
// Параметры:
// Адрес - Строка - Адрес и порт для подключения - address
// SSL - Булево - Признак использования защищенного соединения - ssl
@ -120,37 +120,37 @@
// Размер - Число - Максимальный размер данных. 0 > без ограничений - size
// Строкой - Булево - Истина > возвращает строку, Ложь > двоичные данные - string
// Кодировка - Строка - Кодировка получаемых данных - enc
//
//
// Возвращаемое значение:
// Строка, ДвоичныеДанные - Полученные данные
Функция ПодключитьсяИПолучитьДанные(Знач Адрес
, Знач SSL = Ложь
, Знач Таймаут = 0
, Знач Размер = 0
, Знач Строкой = Истина
, Знач Кодировка = "UTF-8") Экспорт
OPI_ПреобразованиеТипов.ПолучитьБулево(Строкой);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Кодировка);
OPI_ПреобразованиеТипов.ПолучитьЧисло(Размер);
OPI_ПреобразованиеТипов.ПолучитьЧисло(Таймаут);
Соединение = ОткрытьСоединение(Адрес, SSL);
Если Не ЗначениеЗаполнено(Соединение) Тогда
ВызватьИсключение "Не удалось создать Соединение";
КонецЕсли;
Сообщение = ПолучитьДанные(Соединение, Таймаут, Размер);
, Знач SSL = Ложь
, Знач Таймаут = 0
, Знач Размер = 0
, Знач Строкой = Истина
, Знач Кодировка = "UTF-8") Экспорт
OPI_ПреобразованиеТипов.ПолучитьБулево(Строкой);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Кодировка);
OPI_ПреобразованиеТипов.ПолучитьЧисло(Размер);
OPI_ПреобразованиеТипов.ПолучитьЧисло(Таймаут);
Соединение = ОткрытьСоединение(Адрес, SSL);
Если Не ЗначениеЗаполнено(Соединение) Тогда
ВызватьИсключение "Не удалось создать Соединение";
КонецЕсли;
Сообщение = ПолучитьДанные(Соединение, Таймаут, Размер);
Если Строкой Тогда
Сообщение = ПолучитьСтрокуИзДвоичныхДанных(Сообщение);
КонецЕсли;
ЗакрытьСоединение(Соединение);
Возврат Сообщение;
Если Строкой Тогда
Сообщение = ПолучитьСтрокуИзДвоичныхДанных(Сообщение);
КонецЕсли;
ЗакрытьСоединение(Соединение);
Возврат Сообщение;
КонецФункции
#КонецОбласти

View File

@ -2038,9 +2038,9 @@
КонецФункции
Функция ПолучитьОбщийМодуль(Знач Имя)
Модуль = Вычислить(Имя);
Возврат Модуль;
КонецФункции

View File

@ -48,71 +48,71 @@
// !NOCLI
// Открыть соединение
// Создает TCP/TLS соединение
//
//
// Параметры:
// Адрес - Строка - Адрес и порт для подключения - address
// SSL - Булево - Признак использования защищенного соединения - ssl
//
//
// Возвращаемое значение:
// Неопределено, Произвольный - Возвращает объект TCP клиента при успешном подключении или неопределено
Функция ОткрытьСоединение(Знач Адрес, Знач SSL = Ложь) Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Адрес);
OPI_ПреобразованиеТипов.ПолучитьБулево(SSL);
TCPКлиент = OPI_Инструменты.ПолучитьКомпоненту("OPI_TCPClient");
TCPКлиент.Address = Адрес;
TCPКлиент.SSL = SSL;
Успех = TCPКлиент.Connect();
Возврат ?(Успех, TCPКлиент, Неопределено);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Адрес);
OPI_ПреобразованиеТипов.ПолучитьБулево(SSL);
TCPКлиент = OPI_Инструменты.ПолучитьКомпоненту("OPI_TCPClient");
TCPКлиент.Address = Адрес;
TCPКлиент.SSL = SSL;
Успех = TCPКлиент.Connect();
Возврат ?(Успех, TCPКлиент, Неопределено);
КонецФункции
// !NOCLI
// Закрыть соединение
// Явно закрывает созданное ранее соединение
//
//
// Параметры:
// Соединение - Произвольный - Соединение, см. ОткрытьСоединение - tcp
//
//
// Возвращаемое значение:
// Булево - всегда возвращает Истина
Функция ЗакрытьСоединение(Знач Соединение) Экспорт
Возврат Соединение.Disconnect();
Возврат Соединение.Disconnect();
КонецФункции
// !NOCLI
// Получить данные
// Читает данные из указанного соединения
//
//
// Примечание:
// При установке параметров Таймаут и Размер в 0, чтение производится до окончания сообщения
//
//
// Параметры:
// Соединение - Произвольный - Соединение, см. ОткрытьСоединение - tcp
// Таймаут - Число - Время чтения данных (сек). 0 > до конца сообщения - timeout
// Размер - Число - Максимальный размер данных. 0 > без ограничений - size
//
//
// Возвращаемое значение:
// ДвоичныеДанные - Полученные данные
// ДвоичныеДанные - Полученные данные
Функция ПолучитьДанные(Знач Соединение, Знач Таймаут = 0, Знач Размер = 0) Экспорт
OPI_ПреобразованиеТипов.ПолучитьЧисло(Таймаут);
OPI_ПреобразованиеТипов.ПолучитьЧисло(Размер);
Возврат Соединение.Read(1024, 150, Таймаут, Размер);
OPI_ПреобразованиеТипов.ПолучитьЧисло(Таймаут);
OPI_ПреобразованиеТипов.ПолучитьЧисло(Размер);
Возврат Соединение.Read(1024, 150, Таймаут, Размер);
КонецФункции
// Подключиться и получить данные
// Создает соединение и читает данные до конца или по ограничениям
//
//
// Примечание:
// При установке параметров Таймаут и Размер в 0, чтение производится до окончания сообщения
//
//
// Параметры:
// Адрес - Строка - Адрес и порт для подключения - address
// SSL - Булево - Признак использования защищенного соединения - ssl
@ -120,37 +120,37 @@
// Размер - Число - Максимальный размер данных. 0 > без ограничений - size
// Строкой - Булево - Истина > возвращает строку, Ложь > двоичные данные - string
// Кодировка - Строка - Кодировка получаемых данных - enc
//
//
// Возвращаемое значение:
// Строка, ДвоичныеДанные - Полученные данные
Функция ПодключитьсяИПолучитьДанные(Знач Адрес
, Знач SSL = Ложь
, Знач Таймаут = 0
, Знач Размер = 0
, Знач Строкой = Истина
, Знач Кодировка = "UTF-8") Экспорт
OPI_ПреобразованиеТипов.ПолучитьБулево(Строкой);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Кодировка);
OPI_ПреобразованиеТипов.ПолучитьЧисло(Размер);
OPI_ПреобразованиеТипов.ПолучитьЧисло(Таймаут);
Соединение = ОткрытьСоединение(Адрес, SSL);
Если Не ЗначениеЗаполнено(Соединение) Тогда
ВызватьИсключение "Не удалось создать Соединение";
КонецЕсли;
Сообщение = ПолучитьДанные(Соединение, Таймаут, Размер);
, Знач SSL = Ложь
, Знач Таймаут = 0
, Знач Размер = 0
, Знач Строкой = Истина
, Знач Кодировка = "UTF-8") Экспорт
OPI_ПреобразованиеТипов.ПолучитьБулево(Строкой);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Кодировка);
OPI_ПреобразованиеТипов.ПолучитьЧисло(Размер);
OPI_ПреобразованиеТипов.ПолучитьЧисло(Таймаут);
Соединение = ОткрытьСоединение(Адрес, SSL);
Если Не ЗначениеЗаполнено(Соединение) Тогда
ВызватьИсключение "Не удалось создать Соединение";
КонецЕсли;
Сообщение = ПолучитьДанные(Соединение, Таймаут, Размер);
Если Строкой Тогда
Сообщение = ПолучитьСтрокуИзДвоичныхДанных(Сообщение);
КонецЕсли;
ЗакрытьСоединение(Соединение);
Возврат Сообщение;
Если Строкой Тогда
Сообщение = ПолучитьСтрокуИзДвоичныхДанных(Сообщение);
КонецЕсли;
ЗакрытьСоединение(Соединение);
Возврат Сообщение;
КонецФункции
#КонецОбласти

View File

@ -0,0 +1,75 @@
Функция ПолучитьСостав() Экспорт
ТаблицаСостава = Новый ТаблицаЗначений();
ТаблицаСостава.Колонки.Добавить("Библиотека");
ТаблицаСостава.Колонки.Добавить("Модуль");
ТаблицаСостава.Колонки.Добавить("Метод");
ТаблицаСостава.Колонки.Добавить("МетодПоиска");
ТаблицаСостава.Колонки.Добавить("Параметр");
ТаблицаСостава.Колонки.Добавить("Описание");
ТаблицаСостава.Колонки.Добавить("ОписаниеМетода");
ТаблицаСостава.Колонки.Добавить("Область");
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "tcp";
НоваяСтрока.Модуль = "OPI_TCP";
НоваяСтрока.Метод = "ПодключитьсяИПолучитьДанные";
НоваяСтрока.МетодПоиска = "ПОДКЛЮЧИТЬСЯИПОЛУЧИТЬДАННЫЕ";
НоваяСтрока.Параметр = "--address";
НоваяСтрока.Описание = "Адрес и порт для подключения";
НоваяСтрока.Область = "Tcp клиент";
НоваяСтрока.ОписаниеМетода = "Создает соединение и читает данные до конца или по ограничениям";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "tcp";
НоваяСтрока.Модуль = "OPI_TCP";
НоваяСтрока.Метод = "ПодключитьсяИПолучитьДанные";
НоваяСтрока.МетодПоиска = "ПОДКЛЮЧИТЬСЯИПОЛУЧИТЬДАННЫЕ";
НоваяСтрока.Параметр = "--ssl";
НоваяСтрока.Описание = "Признак использования защищенного соединения (необяз. по ум. - Нет)";
НоваяСтрока.Область = "Tcp клиент";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "tcp";
НоваяСтрока.Модуль = "OPI_TCP";
НоваяСтрока.Метод = "ПодключитьсяИПолучитьДанные";
НоваяСтрока.МетодПоиска = "ПОДКЛЮЧИТЬСЯИПОЛУЧИТЬДАННЫЕ";
НоваяСтрока.Параметр = "--timeout";
НоваяСтрока.Описание = "Время чтения данных (сек). 0 > до конца сообщения (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Tcp клиент";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "tcp";
НоваяСтрока.Модуль = "OPI_TCP";
НоваяСтрока.Метод = "ПодключитьсяИПолучитьДанные";
НоваяСтрока.МетодПоиска = "ПОДКЛЮЧИТЬСЯИПОЛУЧИТЬДАННЫЕ";
НоваяСтрока.Параметр = "--size";
НоваяСтрока.Описание = "Максимальный размер данных. 0 > без ограничений (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Tcp клиент";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "tcp";
НоваяСтрока.Модуль = "OPI_TCP";
НоваяСтрока.Метод = "ПодключитьсяИПолучитьДанные";
НоваяСтрока.МетодПоиска = "ПОДКЛЮЧИТЬСЯИПОЛУЧИТЬДАННЫЕ";
НоваяСтрока.Параметр = "--string";
НоваяСтрока.Описание = "Истина > возвращает строку, Ложь > двоичные данные (необяз. по ум. - Да)";
НоваяСтрока.Область = "Tcp клиент";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "tcp";
НоваяСтрока.Модуль = "OPI_TCP";
НоваяСтрока.Метод = "ПодключитьсяИПолучитьДанные";
НоваяСтрока.МетодПоиска = "ПОДКЛЮЧИТЬСЯИПОЛУЧИТЬДАННЫЕ";
НоваяСтрока.Параметр = "--enc";
НоваяСтрока.Описание = "Кодировка получаемых данных (необяз. по ум. - UTF-8)";
НоваяСтрока.Область = "Tcp клиент";
Возврат ТаблицаСостава;
КонецФункции

View File

@ -21,6 +21,7 @@
СоответствиеКомандМодулей.Вставить("ozon", "OPI_Ozon");
СоответствиеКомандМодулей.Вставить("s3", "OPI_S3");
СоответствиеКомандМодулей.Вставить("slack", "OPI_Slack");
СоответствиеКомандМодулей.Вставить("tcp", "OPI_TCP");
СоответствиеКомандМодулей.Вставить("telegram", "OPI_Telegram");
СоответствиеКомандМодулей.Вставить("twitter", "OPI_Twitter");
СоответствиеКомандМодулей.Вставить("viber", "OPI_Viber");