mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-02-09 13:47:03 +02:00
Main build (Jenkins)
This commit is contained in:
parent
4193e2fe14
commit
b7d78cae9c
62
.github/workflows/oint_test_full_en.yml
vendored
62
.github/workflows/oint_test_full_en.yml
vendored
@ -1305,51 +1305,9 @@ jobs:
|
|||||||
key: logs-S3
|
key: logs-S3
|
||||||
path: ./docs/en/results/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:
|
Encode:
|
||||||
runs-on: ubuntu-latest
|
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() }}
|
if: ${{ always() }}
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
@ -1697,22 +1655,6 @@ jobs:
|
|||||||
-H "X-GitHub-Api-Version: 2022-11-28" \
|
-H "X-GitHub-Api-Version: 2022-11-28" \
|
||||||
"https://api.github.com/repos/Bayselonarrend/OpenIntegrations/actions/caches?key=logs-S3"
|
"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: Записать данные
|
- name: Записать данные
|
||||||
uses: stefanzweifel/git-auto-commit-action@v5
|
uses: stefanzweifel/git-auto-commit-action@v5
|
||||||
@ -1725,7 +1667,7 @@ jobs:
|
|||||||
|
|
||||||
Clear-Cache:
|
Clear-Cache:
|
||||||
runs-on: ubuntu-latest
|
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() }}
|
if: ${{ always() }}
|
||||||
steps:
|
steps:
|
||||||
- name: Очистка основного кэша
|
- name: Очистка основного кэша
|
||||||
|
62
.github/workflows/oint_test_full_ru.yml
vendored
62
.github/workflows/oint_test_full_ru.yml
vendored
@ -1305,51 +1305,9 @@ jobs:
|
|||||||
key: logs-S3
|
key: logs-S3
|
||||||
path: ./docs/ru/results/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:
|
Encode:
|
||||||
runs-on: ubuntu-latest
|
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() }}
|
if: ${{ always() }}
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
@ -1697,22 +1655,6 @@ jobs:
|
|||||||
-H "X-GitHub-Api-Version: 2022-11-28" \
|
-H "X-GitHub-Api-Version: 2022-11-28" \
|
||||||
"https://api.github.com/repos/Bayselonarrend/OpenIntegrations/actions/caches?key=logs-S3"
|
"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: Записать данные
|
- name: Записать данные
|
||||||
uses: stefanzweifel/git-auto-commit-action@v5
|
uses: stefanzweifel/git-auto-commit-action@v5
|
||||||
@ -1725,7 +1667,7 @@ jobs:
|
|||||||
|
|
||||||
Clear-Cache:
|
Clear-Cache:
|
||||||
runs-on: ubuntu-latest
|
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() }}
|
if: ${{ always() }}
|
||||||
steps:
|
steps:
|
||||||
- name: Очистка основного кэша
|
- name: Очистка основного кэша
|
||||||
|
@ -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{
|
post{
|
||||||
always{
|
always{
|
||||||
|
@ -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{
|
post{
|
||||||
always{
|
always{
|
||||||
|
16
ci/clitesten
16
ci/clitesten
@ -86,6 +86,11 @@ pipeline {
|
|||||||
test_slack()
|
test_slack()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
stage('tcp'){
|
||||||
|
steps{
|
||||||
|
test_tcp()
|
||||||
|
}
|
||||||
|
}
|
||||||
stage('telegram'){
|
stage('telegram'){
|
||||||
steps{
|
steps{
|
||||||
test_telegram()
|
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(){
|
def test_telegram(){
|
||||||
|
|
||||||
|
|
||||||
@ -2693,6 +2708,7 @@ test_notion()
|
|||||||
test_ozon()
|
test_ozon()
|
||||||
test_s3()
|
test_s3()
|
||||||
test_slack()
|
test_slack()
|
||||||
|
test_tcp()
|
||||||
test_telegram()
|
test_telegram()
|
||||||
test_twitter()
|
test_twitter()
|
||||||
test_viber()
|
test_viber()
|
||||||
|
16
ci/clitestru
16
ci/clitestru
@ -86,6 +86,11 @@ pipeline {
|
|||||||
test_slack()
|
test_slack()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
stage('tcp'){
|
||||||
|
steps{
|
||||||
|
test_tcp()
|
||||||
|
}
|
||||||
|
}
|
||||||
stage('telegram'){
|
stage('telegram'){
|
||||||
steps{
|
steps{
|
||||||
test_telegram()
|
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(){
|
def test_telegram(){
|
||||||
|
|
||||||
|
|
||||||
@ -2693,6 +2708,7 @@ test_notion()
|
|||||||
test_ozon()
|
test_ozon()
|
||||||
test_s3()
|
test_s3()
|
||||||
test_slack()
|
test_slack()
|
||||||
|
test_tcp()
|
||||||
test_telegram()
|
test_telegram()
|
||||||
test_twitter()
|
test_twitter()
|
||||||
test_viber()
|
test_viber()
|
||||||
|
11
ci/ostesten
11
ci/ostesten
@ -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{
|
post{
|
||||||
always{
|
always{
|
||||||
|
11
ci/ostestru
11
ci/ostestru
@ -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{
|
post{
|
||||||
always{
|
always{
|
||||||
|
42
docs/en/md/TCP/Tcp-client/Connect-and-receive-data.mdx
Normal file
42
docs/en/md/TCP/Tcp-client/Connect-and-receive-data.mdx
Normal 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"
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
4
docs/en/md/TCP/Tcp-client/_category_.json
Normal file
4
docs/en/md/TCP/Tcp-client/_category_.json
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"label": "Tcp client",
|
||||||
|
"position": "2"
|
||||||
|
}
|
42
docs/ru/md/TCP/Tcp-client/Connect-and-receive-data.mdx
Normal file
42
docs/ru/md/TCP/Tcp-client/Connect-and-receive-data.mdx
Normal 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 | Строка | ✔ | Адрес и порт для подключения |
|
||||||
|
| SSL | --ssl | Булево | ✖ | Признак использования защищенного соединения |
|
||||||
|
| Таймаут | --timeout | Число | ✖ | Время чтения данных (сек). 0 > до конца сообщения |
|
||||||
|
| Размер | --size | Число | ✖ | Максимальный размер данных. 0 > без ограничений |
|
||||||
|
| Строкой | --string | Булево | ✖ | Истина > возвращает строку, Ложь > двоичные данные |
|
||||||
|
| Кодировка | --enc | Строка | ✖ | Кодировка получаемых данных |
|
||||||
|
|
||||||
|
|
||||||
|
Возвращаемое значение: Строка, ДвоичныеДанные - Полученные данные
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
:::tip
|
||||||
|
При установке параметров Таймаут и Размер в 0, чтение производится до окончания сообщения
|
||||||
|
:::
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
|
||||||
|
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
4
docs/ru/md/TCP/Tcp-client/_category_.json
Normal file
4
docs/ru/md/TCP/Tcp-client/_category_.json
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"label": "Tcp клиент",
|
||||||
|
"position": "2"
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
158
src/en/OInt/core/Modules/OPI_TCP.os
Normal file
158
src/en/OInt/core/Modules/OPI_TCP.os
Normal 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
|
@ -12,6 +12,7 @@
|
|||||||
<module name="OPI_Ozon" file="core/Modules/OPI_Ozon.os"/>
|
<module name="OPI_Ozon" file="core/Modules/OPI_Ozon.os"/>
|
||||||
<module name="OPI_S3" file="core/Modules/OPI_S3.os"/>
|
<module name="OPI_S3" file="core/Modules/OPI_S3.os"/>
|
||||||
<module name="OPI_Slack" file="core/Modules/OPI_Slack.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_Telegram" file="core/Modules/OPI_Telegram.os"/>
|
||||||
<module name="OPI_Twitter" file="core/Modules/OPI_Twitter.os"/>
|
<module name="OPI_Twitter" file="core/Modules/OPI_Twitter.os"/>
|
||||||
<module name="OPI_Viber" file="core/Modules/OPI_Viber.os"/>
|
<module name="OPI_Viber" file="core/Modules/OPI_Viber.os"/>
|
||||||
|
@ -1528,19 +1528,6 @@ Function RelevantNodeType(Val NodeType)
|
|||||||
|
|
||||||
EndFunction
|
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
|
#Region AddinsManagement
|
||||||
|
|
||||||
Function InitializeAddIn(Val AddInName, Val Class, AddIn)
|
Function InitializeAddIn(Val AddInName, Val Class, AddIn)
|
||||||
@ -1556,25 +1543,26 @@ EndFunction
|
|||||||
|
|
||||||
Function AttachAddInOnServer(Val AddInName)
|
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
|
If IsOneScript() Then
|
||||||
TemplateName = AddInsFolderOS() + TemplateName + Extension;
|
TemplateName = AddInsFolderOS() + AddInName + ".zip";
|
||||||
Else
|
Else
|
||||||
TemplateName = "CommonTemplate." + TemplateName;
|
TemplateName = "CommonTemplate." + AddInName;
|
||||||
EndIf;
|
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
|
EndFunction
|
||||||
|
|
||||||
|
158
src/en/OPI/src/CommonModules/OPI_TCP/Module.bsl
Normal file
158
src/en/OPI/src/CommonModules/OPI_TCP/Module.bsl
Normal 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
|
11
src/en/OPI/src/CommonModules/OPI_TCP/OPI_TCP.mdo
Normal file
11
src/en/OPI/src/CommonModules/OPI_TCP/OPI_TCP.mdo
Normal 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>
|
@ -1528,19 +1528,6 @@ Function RelevantNodeType(Val NodeType)
|
|||||||
|
|
||||||
EndFunction
|
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
|
#Region AddinsManagement
|
||||||
|
|
||||||
Function InitializeAddIn(Val AddInName, Val Class, AddIn)
|
Function InitializeAddIn(Val AddInName, Val Class, AddIn)
|
||||||
@ -1556,25 +1543,26 @@ EndFunction
|
|||||||
|
|
||||||
Function AttachAddInOnServer(Val AddInName)
|
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
|
If IsOneScript() Then
|
||||||
TemplateName = AddInsFolderOS() + TemplateName + Extension;
|
TemplateName = AddInsFolderOS() + AddInName + ".zip";
|
||||||
Else
|
Else
|
||||||
TemplateName = "CommonTemplate." + TemplateName;
|
TemplateName = "CommonTemplate." + AddInName;
|
||||||
EndIf;
|
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
|
EndFunction
|
||||||
|
|
||||||
|
Binary file not shown.
@ -56,6 +56,7 @@
|
|||||||
<commonModules>CommonModule.OPI_Notion</commonModules>
|
<commonModules>CommonModule.OPI_Notion</commonModules>
|
||||||
<commonModules>CommonModule.OPI_Slack</commonModules>
|
<commonModules>CommonModule.OPI_Slack</commonModules>
|
||||||
<commonModules>CommonModule.OPI_S3</commonModules>
|
<commonModules>CommonModule.OPI_S3</commonModules>
|
||||||
|
<commonModules>CommonModule.OPI_TCP</commonModules>
|
||||||
<commonModules>CommonModule.OPI_Telegram</commonModules>
|
<commonModules>CommonModule.OPI_Telegram</commonModules>
|
||||||
<commonModules>CommonModule.OPI_Twitter</commonModules>
|
<commonModules>CommonModule.OPI_Twitter</commonModules>
|
||||||
<commonModules>CommonModule.OPI_Viber</commonModules>
|
<commonModules>CommonModule.OPI_Viber</commonModules>
|
||||||
|
75
src/en/cli/data/Classes/internal/Classes/tcp.os
Normal file
75
src/en/cli/data/Classes/internal/Classes/tcp.os
Normal 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
|
||||||
|
|
@ -21,6 +21,7 @@
|
|||||||
СоответствиеКомандМодулей.Вставить("ozon", "OPI_Ozon");
|
СоответствиеКомандМодулей.Вставить("ozon", "OPI_Ozon");
|
||||||
СоответствиеКомандМодулей.Вставить("s3", "OPI_S3");
|
СоответствиеКомандМодулей.Вставить("s3", "OPI_S3");
|
||||||
СоответствиеКомандМодулей.Вставить("slack", "OPI_Slack");
|
СоответствиеКомандМодулей.Вставить("slack", "OPI_Slack");
|
||||||
|
СоответствиеКомандМодулей.Вставить("tcp", "OPI_TCP");
|
||||||
СоответствиеКомандМодулей.Вставить("telegram", "OPI_Telegram");
|
СоответствиеКомандМодулей.Вставить("telegram", "OPI_Telegram");
|
||||||
СоответствиеКомандМодулей.Вставить("twitter", "OPI_Twitter");
|
СоответствиеКомандМодулей.Вставить("twitter", "OPI_Twitter");
|
||||||
СоответствиеКомандМодулей.Вставить("viber", "OPI_Viber");
|
СоответствиеКомандМодулей.Вставить("viber", "OPI_Viber");
|
||||||
|
@ -48,71 +48,71 @@
|
|||||||
// !NOCLI
|
// !NOCLI
|
||||||
// Открыть соединение
|
// Открыть соединение
|
||||||
// Создает TCP/TLS соединение
|
// Создает TCP/TLS соединение
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// Адрес - Строка - Адрес и порт для подключения - address
|
// Адрес - Строка - Адрес и порт для подключения - address
|
||||||
// SSL - Булево - Признак использования защищенного соединения - ssl
|
// SSL - Булево - Признак использования защищенного соединения - ssl
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Неопределено, Произвольный - Возвращает объект TCP клиента при успешном подключении или неопределено
|
// Неопределено, Произвольный - Возвращает объект TCP клиента при успешном подключении или неопределено
|
||||||
Функция ОткрытьСоединение(Знач Адрес, Знач SSL = Ложь) Экспорт
|
Функция ОткрытьСоединение(Знач Адрес, Знач SSL = Ложь) Экспорт
|
||||||
|
|
||||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Адрес);
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Адрес);
|
||||||
OPI_ПреобразованиеТипов.ПолучитьБулево(SSL);
|
OPI_ПреобразованиеТипов.ПолучитьБулево(SSL);
|
||||||
|
|
||||||
TCPКлиент = OPI_Инструменты.ПолучитьКомпоненту("OPI_TCPClient");
|
TCPКлиент = OPI_Инструменты.ПолучитьКомпоненту("OPI_TCPClient");
|
||||||
|
|
||||||
TCPКлиент.Address = Адрес;
|
TCPКлиент.Address = Адрес;
|
||||||
TCPКлиент.SSL = SSL;
|
TCPКлиент.SSL = SSL;
|
||||||
|
|
||||||
Успех = TCPКлиент.Connect();
|
Успех = TCPКлиент.Connect();
|
||||||
|
|
||||||
Возврат ?(Успех, TCPКлиент, Неопределено);
|
Возврат ?(Успех, TCPКлиент, Неопределено);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// !NOCLI
|
// !NOCLI
|
||||||
// Закрыть соединение
|
// Закрыть соединение
|
||||||
// Явно закрывает созданное ранее соединение
|
// Явно закрывает созданное ранее соединение
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// Соединение - Произвольный - Соединение, см. ОткрытьСоединение - tcp
|
// Соединение - Произвольный - Соединение, см. ОткрытьСоединение - tcp
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Булево - всегда возвращает Истина
|
// Булево - всегда возвращает Истина
|
||||||
Функция ЗакрытьСоединение(Знач Соединение) Экспорт
|
Функция ЗакрытьСоединение(Знач Соединение) Экспорт
|
||||||
Возврат Соединение.Disconnect();
|
Возврат Соединение.Disconnect();
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// !NOCLI
|
// !NOCLI
|
||||||
// Получить данные
|
// Получить данные
|
||||||
// Читает данные из указанного соединения
|
// Читает данные из указанного соединения
|
||||||
//
|
//
|
||||||
// Примечание:
|
// Примечание:
|
||||||
// При установке параметров Таймаут и Размер в 0, чтение производится до окончания сообщения
|
// При установке параметров Таймаут и Размер в 0, чтение производится до окончания сообщения
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// Соединение - Произвольный - Соединение, см. ОткрытьСоединение - tcp
|
// Соединение - Произвольный - Соединение, см. ОткрытьСоединение - tcp
|
||||||
// Таймаут - Число - Время чтения данных (сек). 0 > до конца сообщения - timeout
|
// Таймаут - Число - Время чтения данных (сек). 0 > до конца сообщения - timeout
|
||||||
// Размер - Число - Максимальный размер данных. 0 > без ограничений - size
|
// Размер - Число - Максимальный размер данных. 0 > без ограничений - size
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// ДвоичныеДанные - Полученные данные
|
// ДвоичныеДанные - Полученные данные
|
||||||
Функция ПолучитьДанные(Знач Соединение, Знач Таймаут = 0, Знач Размер = 0) Экспорт
|
Функция ПолучитьДанные(Знач Соединение, Знач Таймаут = 0, Знач Размер = 0) Экспорт
|
||||||
|
|
||||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(Таймаут);
|
OPI_ПреобразованиеТипов.ПолучитьЧисло(Таймаут);
|
||||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(Размер);
|
OPI_ПреобразованиеТипов.ПолучитьЧисло(Размер);
|
||||||
|
|
||||||
Возврат Соединение.Read(1024, 150, Таймаут, Размер);
|
Возврат Соединение.Read(1024, 150, Таймаут, Размер);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Подключиться и получить данные
|
// Подключиться и получить данные
|
||||||
// Создает соединение и читает данные до конца или по ограничениям
|
// Создает соединение и читает данные до конца или по ограничениям
|
||||||
//
|
//
|
||||||
// Примечание:
|
// Примечание:
|
||||||
// При установке параметров Таймаут и Размер в 0, чтение производится до окончания сообщения
|
// При установке параметров Таймаут и Размер в 0, чтение производится до окончания сообщения
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// Адрес - Строка - Адрес и порт для подключения - address
|
// Адрес - Строка - Адрес и порт для подключения - address
|
||||||
// SSL - Булево - Признак использования защищенного соединения - ssl
|
// SSL - Булево - Признак использования защищенного соединения - ssl
|
||||||
@ -120,37 +120,37 @@
|
|||||||
// Размер - Число - Максимальный размер данных. 0 > без ограничений - size
|
// Размер - Число - Максимальный размер данных. 0 > без ограничений - size
|
||||||
// Строкой - Булево - Истина > возвращает строку, Ложь > двоичные данные - string
|
// Строкой - Булево - Истина > возвращает строку, Ложь > двоичные данные - string
|
||||||
// Кодировка - Строка - Кодировка получаемых данных - enc
|
// Кодировка - Строка - Кодировка получаемых данных - enc
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Строка, ДвоичныеДанные - Полученные данные
|
// Строка, ДвоичныеДанные - Полученные данные
|
||||||
Функция ПодключитьсяИПолучитьДанные(Знач Адрес
|
Функция ПодключитьсяИПолучитьДанные(Знач Адрес
|
||||||
, Знач SSL = Ложь
|
, Знач SSL = Ложь
|
||||||
, Знач Таймаут = 0
|
, Знач Таймаут = 0
|
||||||
, Знач Размер = 0
|
, Знач Размер = 0
|
||||||
, Знач Строкой = Истина
|
, Знач Строкой = Истина
|
||||||
, Знач Кодировка = "UTF-8") Экспорт
|
, Знач Кодировка = "UTF-8") Экспорт
|
||||||
|
|
||||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Строкой);
|
OPI_ПреобразованиеТипов.ПолучитьБулево(Строкой);
|
||||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Кодировка);
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Кодировка);
|
||||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(Размер);
|
OPI_ПреобразованиеТипов.ПолучитьЧисло(Размер);
|
||||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(Таймаут);
|
OPI_ПреобразованиеТипов.ПолучитьЧисло(Таймаут);
|
||||||
|
|
||||||
Соединение = ОткрытьСоединение(Адрес, SSL);
|
Соединение = ОткрытьСоединение(Адрес, SSL);
|
||||||
|
|
||||||
Если Не ЗначениеЗаполнено(Соединение) Тогда
|
Если Не ЗначениеЗаполнено(Соединение) Тогда
|
||||||
ВызватьИсключение "Не удалось создать Соединение";
|
ВызватьИсключение "Не удалось создать Соединение";
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Сообщение = ПолучитьДанные(Соединение, Таймаут, Размер);
|
Сообщение = ПолучитьДанные(Соединение, Таймаут, Размер);
|
||||||
|
|
||||||
|
Если Строкой Тогда
|
||||||
|
Сообщение = ПолучитьСтрокуИзДвоичныхДанных(Сообщение);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ЗакрытьСоединение(Соединение);
|
||||||
|
|
||||||
|
Возврат Сообщение;
|
||||||
|
|
||||||
Если Строкой Тогда
|
|
||||||
Сообщение = ПолучитьСтрокуИзДвоичныхДанных(Сообщение);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ЗакрытьСоединение(Соединение);
|
|
||||||
|
|
||||||
Возврат Сообщение;
|
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
@ -2038,9 +2038,9 @@
|
|||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ПолучитьОбщийМодуль(Знач Имя)
|
Функция ПолучитьОбщийМодуль(Знач Имя)
|
||||||
|
|
||||||
Модуль = Вычислить(Имя);
|
Модуль = Вычислить(Имя);
|
||||||
|
|
||||||
Возврат Модуль;
|
Возврат Модуль;
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
@ -48,71 +48,71 @@
|
|||||||
// !NOCLI
|
// !NOCLI
|
||||||
// Открыть соединение
|
// Открыть соединение
|
||||||
// Создает TCP/TLS соединение
|
// Создает TCP/TLS соединение
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// Адрес - Строка - Адрес и порт для подключения - address
|
// Адрес - Строка - Адрес и порт для подключения - address
|
||||||
// SSL - Булево - Признак использования защищенного соединения - ssl
|
// SSL - Булево - Признак использования защищенного соединения - ssl
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Неопределено, Произвольный - Возвращает объект TCP клиента при успешном подключении или неопределено
|
// Неопределено, Произвольный - Возвращает объект TCP клиента при успешном подключении или неопределено
|
||||||
Функция ОткрытьСоединение(Знач Адрес, Знач SSL = Ложь) Экспорт
|
Функция ОткрытьСоединение(Знач Адрес, Знач SSL = Ложь) Экспорт
|
||||||
|
|
||||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Адрес);
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Адрес);
|
||||||
OPI_ПреобразованиеТипов.ПолучитьБулево(SSL);
|
OPI_ПреобразованиеТипов.ПолучитьБулево(SSL);
|
||||||
|
|
||||||
TCPКлиент = OPI_Инструменты.ПолучитьКомпоненту("OPI_TCPClient");
|
TCPКлиент = OPI_Инструменты.ПолучитьКомпоненту("OPI_TCPClient");
|
||||||
|
|
||||||
TCPКлиент.Address = Адрес;
|
TCPКлиент.Address = Адрес;
|
||||||
TCPКлиент.SSL = SSL;
|
TCPКлиент.SSL = SSL;
|
||||||
|
|
||||||
Успех = TCPКлиент.Connect();
|
Успех = TCPКлиент.Connect();
|
||||||
|
|
||||||
Возврат ?(Успех, TCPКлиент, Неопределено);
|
Возврат ?(Успех, TCPКлиент, Неопределено);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// !NOCLI
|
// !NOCLI
|
||||||
// Закрыть соединение
|
// Закрыть соединение
|
||||||
// Явно закрывает созданное ранее соединение
|
// Явно закрывает созданное ранее соединение
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// Соединение - Произвольный - Соединение, см. ОткрытьСоединение - tcp
|
// Соединение - Произвольный - Соединение, см. ОткрытьСоединение - tcp
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Булево - всегда возвращает Истина
|
// Булево - всегда возвращает Истина
|
||||||
Функция ЗакрытьСоединение(Знач Соединение) Экспорт
|
Функция ЗакрытьСоединение(Знач Соединение) Экспорт
|
||||||
Возврат Соединение.Disconnect();
|
Возврат Соединение.Disconnect();
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// !NOCLI
|
// !NOCLI
|
||||||
// Получить данные
|
// Получить данные
|
||||||
// Читает данные из указанного соединения
|
// Читает данные из указанного соединения
|
||||||
//
|
//
|
||||||
// Примечание:
|
// Примечание:
|
||||||
// При установке параметров Таймаут и Размер в 0, чтение производится до окончания сообщения
|
// При установке параметров Таймаут и Размер в 0, чтение производится до окончания сообщения
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// Соединение - Произвольный - Соединение, см. ОткрытьСоединение - tcp
|
// Соединение - Произвольный - Соединение, см. ОткрытьСоединение - tcp
|
||||||
// Таймаут - Число - Время чтения данных (сек). 0 > до конца сообщения - timeout
|
// Таймаут - Число - Время чтения данных (сек). 0 > до конца сообщения - timeout
|
||||||
// Размер - Число - Максимальный размер данных. 0 > без ограничений - size
|
// Размер - Число - Максимальный размер данных. 0 > без ограничений - size
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// ДвоичныеДанные - Полученные данные
|
// ДвоичныеДанные - Полученные данные
|
||||||
Функция ПолучитьДанные(Знач Соединение, Знач Таймаут = 0, Знач Размер = 0) Экспорт
|
Функция ПолучитьДанные(Знач Соединение, Знач Таймаут = 0, Знач Размер = 0) Экспорт
|
||||||
|
|
||||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(Таймаут);
|
OPI_ПреобразованиеТипов.ПолучитьЧисло(Таймаут);
|
||||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(Размер);
|
OPI_ПреобразованиеТипов.ПолучитьЧисло(Размер);
|
||||||
|
|
||||||
Возврат Соединение.Read(1024, 150, Таймаут, Размер);
|
Возврат Соединение.Read(1024, 150, Таймаут, Размер);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Подключиться и получить данные
|
// Подключиться и получить данные
|
||||||
// Создает соединение и читает данные до конца или по ограничениям
|
// Создает соединение и читает данные до конца или по ограничениям
|
||||||
//
|
//
|
||||||
// Примечание:
|
// Примечание:
|
||||||
// При установке параметров Таймаут и Размер в 0, чтение производится до окончания сообщения
|
// При установке параметров Таймаут и Размер в 0, чтение производится до окончания сообщения
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// Адрес - Строка - Адрес и порт для подключения - address
|
// Адрес - Строка - Адрес и порт для подключения - address
|
||||||
// SSL - Булево - Признак использования защищенного соединения - ssl
|
// SSL - Булево - Признак использования защищенного соединения - ssl
|
||||||
@ -120,37 +120,37 @@
|
|||||||
// Размер - Число - Максимальный размер данных. 0 > без ограничений - size
|
// Размер - Число - Максимальный размер данных. 0 > без ограничений - size
|
||||||
// Строкой - Булево - Истина > возвращает строку, Ложь > двоичные данные - string
|
// Строкой - Булево - Истина > возвращает строку, Ложь > двоичные данные - string
|
||||||
// Кодировка - Строка - Кодировка получаемых данных - enc
|
// Кодировка - Строка - Кодировка получаемых данных - enc
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Строка, ДвоичныеДанные - Полученные данные
|
// Строка, ДвоичныеДанные - Полученные данные
|
||||||
Функция ПодключитьсяИПолучитьДанные(Знач Адрес
|
Функция ПодключитьсяИПолучитьДанные(Знач Адрес
|
||||||
, Знач SSL = Ложь
|
, Знач SSL = Ложь
|
||||||
, Знач Таймаут = 0
|
, Знач Таймаут = 0
|
||||||
, Знач Размер = 0
|
, Знач Размер = 0
|
||||||
, Знач Строкой = Истина
|
, Знач Строкой = Истина
|
||||||
, Знач Кодировка = "UTF-8") Экспорт
|
, Знач Кодировка = "UTF-8") Экспорт
|
||||||
|
|
||||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Строкой);
|
OPI_ПреобразованиеТипов.ПолучитьБулево(Строкой);
|
||||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Кодировка);
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Кодировка);
|
||||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(Размер);
|
OPI_ПреобразованиеТипов.ПолучитьЧисло(Размер);
|
||||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(Таймаут);
|
OPI_ПреобразованиеТипов.ПолучитьЧисло(Таймаут);
|
||||||
|
|
||||||
Соединение = ОткрытьСоединение(Адрес, SSL);
|
Соединение = ОткрытьСоединение(Адрес, SSL);
|
||||||
|
|
||||||
Если Не ЗначениеЗаполнено(Соединение) Тогда
|
Если Не ЗначениеЗаполнено(Соединение) Тогда
|
||||||
ВызватьИсключение "Не удалось создать Соединение";
|
ВызватьИсключение "Не удалось создать Соединение";
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Сообщение = ПолучитьДанные(Соединение, Таймаут, Размер);
|
Сообщение = ПолучитьДанные(Соединение, Таймаут, Размер);
|
||||||
|
|
||||||
|
Если Строкой Тогда
|
||||||
|
Сообщение = ПолучитьСтрокуИзДвоичныхДанных(Сообщение);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ЗакрытьСоединение(Соединение);
|
||||||
|
|
||||||
|
Возврат Сообщение;
|
||||||
|
|
||||||
Если Строкой Тогда
|
|
||||||
Сообщение = ПолучитьСтрокуИзДвоичныхДанных(Сообщение);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ЗакрытьСоединение(Соединение);
|
|
||||||
|
|
||||||
Возврат Сообщение;
|
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
75
src/ru/cli/data/Classes/internal/Classes/tcp.os
Normal file
75
src/ru/cli/data/Classes/internal/Classes/tcp.os
Normal 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 клиент";
|
||||||
|
|
||||||
|
Возврат ТаблицаСостава;
|
||||||
|
КонецФункции
|
||||||
|
|
@ -21,6 +21,7 @@
|
|||||||
СоответствиеКомандМодулей.Вставить("ozon", "OPI_Ozon");
|
СоответствиеКомандМодулей.Вставить("ozon", "OPI_Ozon");
|
||||||
СоответствиеКомандМодулей.Вставить("s3", "OPI_S3");
|
СоответствиеКомандМодулей.Вставить("s3", "OPI_S3");
|
||||||
СоответствиеКомандМодулей.Вставить("slack", "OPI_Slack");
|
СоответствиеКомандМодулей.Вставить("slack", "OPI_Slack");
|
||||||
|
СоответствиеКомандМодулей.Вставить("tcp", "OPI_TCP");
|
||||||
СоответствиеКомандМодулей.Вставить("telegram", "OPI_Telegram");
|
СоответствиеКомандМодулей.Вставить("telegram", "OPI_Telegram");
|
||||||
СоответствиеКомандМодулей.Вставить("twitter", "OPI_Twitter");
|
СоответствиеКомандМодулей.Вставить("twitter", "OPI_Twitter");
|
||||||
СоответствиеКомандМодулей.Вставить("viber", "OPI_Viber");
|
СоответствиеКомандМодулей.Вставить("viber", "OPI_Viber");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user