mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-01-12 04:34:10 +02:00
Преобразование OPI -> OInt (workflow)
This commit is contained in:
parent
0a8c9c13af
commit
c2ce72bf7d
195
.github/workflows/oint_test_Bitrix24.yml
vendored
Normal file
195
.github/workflows/oint_test_Bitrix24.yml
vendored
Normal file
@ -0,0 +1,195 @@
|
|||||||
|
|
||||||
|
name: OINT | Тестирование Bitrix24
|
||||||
|
|
||||||
|
# Controls when the workflow will run
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
Decode:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: ${{ always() }}
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Расшифровать тестовые данные
|
||||||
|
run: gpg --quiet --batch --yes --decrypt --passphrase="$ENC_JSON" --output ./data.json ./data.json.gpg
|
||||||
|
env:
|
||||||
|
ENC_JSON: ${{ secrets.ENC_JSON }}
|
||||||
|
- name: Записать тестовые данные в кэш
|
||||||
|
uses: actions/cache/save@v3
|
||||||
|
with:
|
||||||
|
key: test-data
|
||||||
|
path: ./data.json
|
||||||
|
|
||||||
|
Build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: otymko/setup-onescript@v1.4
|
||||||
|
with:
|
||||||
|
version: 1.9.0
|
||||||
|
|
||||||
|
- name: Установить asserts и 1testrunner
|
||||||
|
run: |
|
||||||
|
opm install asserts
|
||||||
|
opm install 1testrunner
|
||||||
|
|
||||||
|
- name: Установить OInt
|
||||||
|
run: |
|
||||||
|
cd ./src/ru/OInt
|
||||||
|
opm build
|
||||||
|
opm install *.ospx
|
||||||
|
|
||||||
|
- name: Записать артефакт
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: oint
|
||||||
|
path: ./src/ru/OInt/*.ospx
|
||||||
|
|
||||||
|
|
||||||
|
Testing-Bitrix24:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [Decode, Build]
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: otymko/setup-onescript@v1.4
|
||||||
|
with:
|
||||||
|
version: 1.9.0
|
||||||
|
|
||||||
|
- 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: |
|
||||||
|
cd ./src/ru/OInt
|
||||||
|
opm build
|
||||||
|
opm install *.ospx
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- 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_Тесты.os "Б24_РаботаСТокеном"
|
||||||
|
|
||||||
|
- 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_Тесты.os "Б24_СерверноеВремя"
|
||||||
|
|
||||||
|
- 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_Тесты.os "Б24_РаботаСНовостями"
|
||||||
|
|
||||||
|
- name: Записать логи
|
||||||
|
if: ${{ cancelled() }} == false
|
||||||
|
uses: actions/cache/save@v3
|
||||||
|
with:
|
||||||
|
key: logs-Bitrix24
|
||||||
|
path: ./docs/results/Bitrix24
|
||||||
|
|
||||||
|
|
||||||
|
- name: Записать измененные данные
|
||||||
|
if: ${{ cancelled() }} == false
|
||||||
|
uses: actions/cache/save@v3
|
||||||
|
with:
|
||||||
|
key: test-data_new
|
||||||
|
path: ./data.json
|
||||||
|
|
||||||
|
Encode:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [Testing-Bitrix24]
|
||||||
|
if: ${{ always() }}
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Обновить данные в репозитории
|
||||||
|
run: git pull https://github.com/Bayselonarrend/OpenIntegrations
|
||||||
|
|
||||||
|
- name: Получить тестовые данные из кэша
|
||||||
|
uses: actions/cache/restore@v3
|
||||||
|
with:
|
||||||
|
key: test-data_new
|
||||||
|
path: ./data.json
|
||||||
|
|
||||||
|
- name: Зашифровать данные обратно
|
||||||
|
continue-on-error: false
|
||||||
|
|
||||||
|
run: |
|
||||||
|
rm -f ./data.json.gpg
|
||||||
|
gpg --batch --symmetric --cipher-algo AES256 --passphrase="$ENC_JSON" data.json
|
||||||
|
rm -f ./data.json
|
||||||
|
env:
|
||||||
|
ENC_JSON: ${{ secrets.ENC_JSON }}
|
||||||
|
|
||||||
|
- name: Получить логи Bitrix24
|
||||||
|
uses: actions/cache/restore@v3
|
||||||
|
with:
|
||||||
|
key: logs-Bitrix24
|
||||||
|
path: ./docs/results/Bitrix24
|
||||||
|
|
||||||
|
|
||||||
|
- name: Очистка логов Bitrix24
|
||||||
|
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-Bitrix24"
|
||||||
|
|
||||||
|
|
||||||
|
- name: Записать данные
|
||||||
|
uses: stefanzweifel/git-auto-commit-action@v5
|
||||||
|
with:
|
||||||
|
commit_user_name: Vitaly the Alpaca (bot)
|
||||||
|
commit_user_email: vitaly.the.alpaca@gmail.com
|
||||||
|
commit_author: Vitaly the Alpaca <vitaly.the.alpaca@gmail.com>
|
||||||
|
commit_message: Обновление зашифрованных данных по результатам тестов (workflow)
|
||||||
|
|
||||||
|
|
||||||
|
Clear-Cache:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [Testing-Bitrix24, Encode]
|
||||||
|
if: ${{ always() }}
|
||||||
|
steps:
|
||||||
|
- name: Очистка основного кэша
|
||||||
|
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=test-data"
|
||||||
|
|
||||||
|
- name: Очистка кэша Google
|
||||||
|
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=test-data_google"
|
||||||
|
|
||||||
|
- name: Очистка кэша Twitter
|
||||||
|
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=test-data_new"
|
69
.github/workflows/oint_test_full.yml
vendored
69
.github/workflows/oint_test_full.yml
vendored
@ -1010,9 +1010,58 @@ jobs:
|
|||||||
key: logs-Dropbox
|
key: logs-Dropbox
|
||||||
path: ./docs/results/Dropbox
|
path: ./docs/results/Dropbox
|
||||||
|
|
||||||
|
|
||||||
|
Testing-Bitrix24:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [Decode, Build]
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: otymko/setup-onescript@v1.4
|
||||||
|
with:
|
||||||
|
version: 1.9.0
|
||||||
|
|
||||||
|
- 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: |
|
||||||
|
cd ./src/ru/OInt
|
||||||
|
opm build
|
||||||
|
opm install *.ospx
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- 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_Тесты.os "Б24_РаботаСТокеном"
|
||||||
|
|
||||||
|
- 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_Тесты.os "Б24_СерверноеВремя"
|
||||||
|
|
||||||
|
- 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_Тесты.os "Б24_РаботаСНовостями"
|
||||||
|
|
||||||
|
- name: Записать логи
|
||||||
|
if: ${{ cancelled() }} == false
|
||||||
|
uses: actions/cache/save@v3
|
||||||
|
with:
|
||||||
|
key: logs-Bitrix24
|
||||||
|
path: ./docs/results/Bitrix24
|
||||||
|
|
||||||
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]
|
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]
|
||||||
if: ${{ always() }}
|
if: ${{ always() }}
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
@ -1248,6 +1297,22 @@ 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-Dropbox"
|
"https://api.github.com/repos/Bayselonarrend/OpenIntegrations/actions/caches?key=logs-Dropbox"
|
||||||
|
|
||||||
|
- name: Получить логи Bitrix24
|
||||||
|
uses: actions/cache/restore@v3
|
||||||
|
with:
|
||||||
|
key: logs-Bitrix24
|
||||||
|
path: ./docs/results/Bitrix24
|
||||||
|
|
||||||
|
|
||||||
|
- name: Очистка логов Bitrix24
|
||||||
|
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-Bitrix24"
|
||||||
|
|
||||||
|
|
||||||
- name: Записать данные
|
- name: Записать данные
|
||||||
uses: stefanzweifel/git-auto-commit-action@v5
|
uses: stefanzweifel/git-auto-commit-action@v5
|
||||||
@ -1260,7 +1325,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, 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, Encode]
|
||||||
if: ${{ always() }}
|
if: ${{ always() }}
|
||||||
steps:
|
steps:
|
||||||
- name: Очистка основного кэша
|
- name: Очистка основного кэша
|
||||||
|
69
.github/workflows/oint_test_full_en.yml
vendored
69
.github/workflows/oint_test_full_en.yml
vendored
@ -1010,9 +1010,58 @@ jobs:
|
|||||||
key: logs-Dropbox
|
key: logs-Dropbox
|
||||||
path: ./docs/results/Dropbox
|
path: ./docs/results/Dropbox
|
||||||
|
|
||||||
|
|
||||||
|
Testing-Bitrix24:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [Decode, Build]
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: otymko/setup-onescript@v1.4
|
||||||
|
with:
|
||||||
|
version: 1.9.0
|
||||||
|
|
||||||
|
- 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: |
|
||||||
|
cd ./src/en/OInt
|
||||||
|
opm build
|
||||||
|
opm install *.ospx
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- name: Token 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_Tests.os "B24_TokenManagment"
|
||||||
|
|
||||||
|
- name: Server time
|
||||||
|
if: ${{ cancelled() }} == false
|
||||||
|
run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./src/en/OInt/tests/Modules/internal/OPI_Tests.os "B24_ServerTime"
|
||||||
|
|
||||||
|
- name: Posts managment
|
||||||
|
if: ${{ cancelled() }} == false
|
||||||
|
run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./src/en/OInt/tests/Modules/internal/OPI_Tests.os "B24_PostsManagment"
|
||||||
|
|
||||||
|
- name: Записать логи
|
||||||
|
if: ${{ cancelled() }} == false
|
||||||
|
uses: actions/cache/save@v3
|
||||||
|
with:
|
||||||
|
key: logs-Bitrix24
|
||||||
|
path: ./docs/results/Bitrix24
|
||||||
|
|
||||||
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]
|
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]
|
||||||
if: ${{ always() }}
|
if: ${{ always() }}
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
@ -1248,6 +1297,22 @@ 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-Dropbox"
|
"https://api.github.com/repos/Bayselonarrend/OpenIntegrations/actions/caches?key=logs-Dropbox"
|
||||||
|
|
||||||
|
- name: Получить логи Bitrix24
|
||||||
|
uses: actions/cache/restore@v3
|
||||||
|
with:
|
||||||
|
key: logs-Bitrix24
|
||||||
|
path: ./docs/results/Bitrix24
|
||||||
|
|
||||||
|
|
||||||
|
- name: Очистка логов Bitrix24
|
||||||
|
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-Bitrix24"
|
||||||
|
|
||||||
|
|
||||||
- name: Записать данные
|
- name: Записать данные
|
||||||
uses: stefanzweifel/git-auto-commit-action@v5
|
uses: stefanzweifel/git-auto-commit-action@v5
|
||||||
@ -1260,7 +1325,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, 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, Encode]
|
||||||
if: ${{ always() }}
|
if: ${{ always() }}
|
||||||
steps:
|
steps:
|
||||||
- name: Очистка основного кэша
|
- name: Очистка основного кэша
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,286 +1,286 @@
|
|||||||
// OneScript: ./OInt/core/Modules/OPI_Bitrix24.os
|
// OneScript: ./OInt/core/Modules/OPI_Bitrix24.os
|
||||||
// Lib: Bitrix24
|
// Lib: Bitrix24
|
||||||
// CLI: bitrix24
|
// CLI: bitrix24
|
||||||
|
|
||||||
// MIT License
|
// MIT License
|
||||||
|
|
||||||
// Copyright (c) 2023 Anton Tsitavets
|
// Copyright (c) 2023 Anton Tsitavets
|
||||||
|
|
||||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
// of this software and associated documentation files (the "Software"), to deal
|
// of this software and associated documentation files (the "Software"), to deal
|
||||||
// in the Software without restriction, including without limitation the rights
|
// in the Software without restriction, including without limitation the rights
|
||||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
// copies of the Software, and to permit persons to whom the Software is
|
// copies of the Software, and to permit persons to whom the Software is
|
||||||
// furnished to do so, subject to the following conditions:
|
// furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
// The above copyright notice and this permission notice shall be included in all
|
// The above copyright notice and this permission notice shall be included in all
|
||||||
// copies or substantial portions of the Software.
|
// copies or substantial portions of the Software.
|
||||||
|
|
||||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
// 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
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
// SOFTWARE.
|
// SOFTWARE.
|
||||||
|
|
||||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||||
|
|
||||||
// BSLLS:Typo-off
|
// BSLLS:Typo-off
|
||||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||||
// BSLLS:IncorrectLineBreak-off
|
// BSLLS:IncorrectLineBreak-off
|
||||||
// BSLLS:UnreachableCode-off
|
// BSLLS:UnreachableCode-off
|
||||||
// BSLLS:CommentedCode-off
|
// BSLLS:CommentedCode-off
|
||||||
|
|
||||||
//@skip-check module-structure-top-region
|
//@skip-check module-structure-top-region
|
||||||
//@skip-check module-structure-method-in-regions
|
//@skip-check module-structure-method-in-regions
|
||||||
//@skip-check wrong-string-literal-content
|
//@skip-check wrong-string-literal-content
|
||||||
//@skip-check method-too-many-params
|
//@skip-check method-too-many-params
|
||||||
|
|
||||||
// Uncomment if OneScript is executed
|
// Uncomment if OneScript is executed
|
||||||
#Use "../../tools"
|
#Use "../../tools"
|
||||||
|
|
||||||
#Region Public
|
#Region Public
|
||||||
|
|
||||||
#Region SettingsAndAdministartion
|
#Region SettingsAndAdministartion
|
||||||
|
|
||||||
// Get app authentication link
|
// Get app authentication link
|
||||||
// Forms a link for authorization via the browser
|
// Forms a link for authorization via the browser
|
||||||
//
|
//
|
||||||
// Parameters:
|
// Parameters:
|
||||||
// Domain - String - Current Bitrix URL (like 'portal.bitrix24.com')
|
// Domain - String - Current Bitrix URL (like 'portal.bitrix24.com')
|
||||||
// ClientID - String - Client ID from app settings
|
// ClientID - String - Client ID from app settings
|
||||||
//
|
//
|
||||||
// Returns:
|
// Returns:
|
||||||
// String - URL for browser transition
|
// String - URL for browser transition
|
||||||
Function GetAppAuthLink(Val Domain, Val ClientID) Export
|
Function GetAppAuthLink(Val Domain, Val ClientID) Export
|
||||||
|
|
||||||
OPI_TypeConversion.GetLine(Domain);
|
OPI_TypeConversion.GetLine(Domain);
|
||||||
OPI_TypeConversion.GetLine(ClientID);
|
OPI_TypeConversion.GetLine(ClientID);
|
||||||
|
|
||||||
If Not StrStartsWith(Domain, "http") Then
|
If Not StrStartsWith(Domain, "http") Then
|
||||||
URL = "https://" + Domain;
|
URL = "https://" + Domain;
|
||||||
EndIf;
|
EndIf;
|
||||||
|
|
||||||
If Not StrEndsWith(URL, "/") Then
|
If Not StrEndsWith(URL, "/") Then
|
||||||
URL = URL + "/";
|
URL = URL + "/";
|
||||||
EndIf;
|
EndIf;
|
||||||
|
|
||||||
URL = URL + "oauth/authorize/?client_id=" + ClientID;
|
URL = URL + "oauth/authorize/?client_id=" + ClientID;
|
||||||
|
|
||||||
Return URL;
|
Return URL;
|
||||||
|
|
||||||
EndFunction
|
EndFunction
|
||||||
|
|
||||||
// Get token
|
// Get token
|
||||||
// Get token by auth code
|
// Get token by auth code
|
||||||
//
|
//
|
||||||
// Parameters:
|
// Parameters:
|
||||||
// ClientID - String - Client ID from app settings
|
// ClientID - String - Client ID from app settings
|
||||||
// ClientSecret - String - Client secret from app settings
|
// ClientSecret - String - Client secret from app settings
|
||||||
// Code - String - Code from browser auth page
|
// Code - String - Code from browser auth page
|
||||||
//
|
//
|
||||||
// Returns:
|
// Returns:
|
||||||
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
|
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
|
||||||
Function GetToken(Val ClientID, Val ClientSecret, Val Code) Export
|
Function GetToken(Val ClientID, Val ClientSecret, Val Code) Export
|
||||||
|
|
||||||
URL = "https://oauth.bitrix.info/oauth/token/";
|
URL = "https://oauth.bitrix.info/oauth/token/";
|
||||||
|
|
||||||
Parameters = New Structure;
|
Parameters = New Structure;
|
||||||
OPI_Tools.AddField("grant_type" , "authorization_code", "String", Parameters);
|
OPI_Tools.AddField("grant_type" , "authorization_code", "String", Parameters);
|
||||||
OPI_Tools.AddField("client_id" , ClientID , "String", Parameters);
|
OPI_Tools.AddField("client_id" , ClientID , "String", Parameters);
|
||||||
OPI_Tools.AddField("client_secret", ClientSecret , "String", Parameters);
|
OPI_Tools.AddField("client_secret", ClientSecret , "String", Parameters);
|
||||||
OPI_Tools.AddField("code" , Code , "String", Parameters);
|
OPI_Tools.AddField("code" , Code , "String", Parameters);
|
||||||
|
|
||||||
Response = OPI_Tools.Get(URL, Parameters);
|
Response = OPI_Tools.Get(URL, Parameters);
|
||||||
|
|
||||||
Return Response;
|
Return Response;
|
||||||
|
|
||||||
EndFunction
|
EndFunction
|
||||||
|
|
||||||
// Refresh token
|
// Refresh token
|
||||||
// Update token by refresh token
|
// Update token by refresh token
|
||||||
//
|
//
|
||||||
// Parameters:
|
// Parameters:
|
||||||
// ClientID - String - Client ID from app settings
|
// ClientID - String - Client ID from app settings
|
||||||
// ClientSecret - String - Client secret from app settings
|
// ClientSecret - String - Client secret from app settings
|
||||||
// Refresh - String - Refresh token
|
// Refresh - String - Refresh token
|
||||||
//
|
//
|
||||||
// Returns:
|
// Returns:
|
||||||
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
|
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
|
||||||
Function RefreshToken(Val ClientID, Val ClientSecret, Val Refresh) Export
|
Function RefreshToken(Val ClientID, Val ClientSecret, Val Refresh) Export
|
||||||
|
|
||||||
URL = "https://oauth.bitrix.info/oauth/token/";
|
URL = "https://oauth.bitrix.info/oauth/token/";
|
||||||
|
|
||||||
Parameters = New Structure;
|
Parameters = New Structure;
|
||||||
OPI_Tools.AddField("grant_type" , "refresh_token" , "String", Parameters);
|
OPI_Tools.AddField("grant_type" , "refresh_token" , "String", Parameters);
|
||||||
OPI_Tools.AddField("client_id" , ClientID , "String", Parameters);
|
OPI_Tools.AddField("client_id" , ClientID , "String", Parameters);
|
||||||
OPI_Tools.AddField("client_secret", ClientSecret , "String", Parameters);
|
OPI_Tools.AddField("client_secret", ClientSecret , "String", Parameters);
|
||||||
OPI_Tools.AddField("refresh_token", Refresh , "String", Parameters);
|
OPI_Tools.AddField("refresh_token", Refresh , "String", Parameters);
|
||||||
|
|
||||||
Response = OPI_Tools.Get(URL, Parameters);
|
Response = OPI_Tools.Get(URL, Parameters);
|
||||||
|
|
||||||
Return Response;
|
Return Response;
|
||||||
|
|
||||||
EndFunction
|
EndFunction
|
||||||
|
|
||||||
// Server time
|
// Server time
|
||||||
// Get current server time
|
// Get current server time
|
||||||
//
|
//
|
||||||
// Parameters:
|
// Parameters:
|
||||||
// URL - String - URL of webhook or a Bitrix24 domain, when token used
|
// URL - String - URL of webhook or a Bitrix24 domain, when token used
|
||||||
// Token - String - Access token, when not-webhook method used
|
// Token - String - Access token, when not-webhook method used
|
||||||
//
|
//
|
||||||
// Returns:
|
// Returns:
|
||||||
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
|
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
|
||||||
Function ServerTime(Val URL, Val Token = "") Export
|
Function ServerTime(Val URL, Val Token = "") Export
|
||||||
|
|
||||||
Parameters = NormalizeAuth(URL, Token, "server.time");
|
Parameters = NormalizeAuth(URL, Token, "server.time");
|
||||||
Response = OPI_Tools.Get(URL, Parameters);
|
Response = OPI_Tools.Get(URL, Parameters);
|
||||||
|
|
||||||
Return Response;
|
Return Response;
|
||||||
|
|
||||||
EndFunction
|
EndFunction
|
||||||
|
|
||||||
#EndRegion
|
#EndRegion
|
||||||
|
|
||||||
#Region NewsFeed
|
#Region NewsFeed
|
||||||
|
|
||||||
// Create post.
|
// Create post.
|
||||||
//
|
//
|
||||||
// Parameters:
|
// Parameters:
|
||||||
// URL - String - URL of webhook or a Bitrix24 domain, when token used
|
// URL - String - URL of webhook or a Bitrix24 domain, when token used
|
||||||
// Text - String - Text of post
|
// Text - String - Text of post
|
||||||
// Visibility - String - Array or a single post target (UA all, SG<X> work group, U<X> user, DR<X> depart., G<X> group)
|
// Visibility - String - Array or a single post target (UA all, SG<X> work group, U<X> user, DR<X> depart., G<X> group)
|
||||||
// Files - String - Data inложенandй, где toлюч > andмя file, value > path to file andдand дinоandчные Data
|
// Files - String - Data inложенandй, где toлюч > andмя file, value > path to file andдand дinоandчные Data
|
||||||
// Title - String - Title
|
// Title - String - Title
|
||||||
// Token - String - Access token, when not-webhook method used
|
// Token - String - Access token, when not-webhook method used
|
||||||
//
|
//
|
||||||
// Returns:
|
// Returns:
|
||||||
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
|
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
|
||||||
Function CreatePost(Val URL
|
Function CreatePost(Val URL
|
||||||
, Val Text
|
, Val Text
|
||||||
, Val Visibility = "UA"
|
, Val Visibility = "UA"
|
||||||
, Val Files = ""
|
, Val Files = ""
|
||||||
, Val Title = ""
|
, Val Title = ""
|
||||||
, Val Token = "") Export
|
, Val Token = "") Export
|
||||||
|
|
||||||
Parameters = NormalizeAuth(URL, Token, "log.blogpost.add");
|
Parameters = NormalizeAuth(URL, Token, "log.blogpost.add");
|
||||||
OPI_Tools.AddField("POST_MESSAGE", Text , "String", Parameters);
|
OPI_Tools.AddField("POST_MESSAGE", Text , "String", Parameters);
|
||||||
OPI_Tools.AddField("POST_TITLE" , Title, "String", Parameters);
|
OPI_Tools.AddField("POST_TITLE" , Title, "String", Parameters);
|
||||||
OPI_Tools.AddField("DEST" , Visibility , "Array", Parameters);
|
OPI_Tools.AddField("DEST" , Visibility , "Array", Parameters);
|
||||||
|
|
||||||
If ValueIsFilled(Files) Then
|
If ValueIsFilled(Files) Then
|
||||||
|
|
||||||
OPI_TypeConversion.GetCollection(Files);
|
OPI_TypeConversion.GetCollection(Files);
|
||||||
|
|
||||||
ArrayOfFiles = NormalizeFiles(Files);
|
ArrayOfFiles = NormalizeFiles(Files);
|
||||||
|
|
||||||
If Not ArrayOfFiles.Count() = 0 Then
|
If Not ArrayOfFiles.Count() = 0 Then
|
||||||
Parameters.Insert("FILES", ArrayOfFiles);
|
Parameters.Insert("FILES", ArrayOfFiles);
|
||||||
EndIf;
|
EndIf;
|
||||||
|
|
||||||
EndIf;
|
EndIf;
|
||||||
|
|
||||||
Response = OPI_Tools.Post(URL, Parameters);
|
Response = OPI_Tools.Post(URL, Parameters);
|
||||||
|
|
||||||
Return Response;
|
Return Response;
|
||||||
|
|
||||||
EndFunction
|
EndFunction
|
||||||
|
|
||||||
// Delete post.
|
// Delete post.
|
||||||
//
|
//
|
||||||
// Parameters:
|
// Parameters:
|
||||||
// URL - String - URL of webhook or a Bitrix24 domain, when token used
|
// URL - String - URL of webhook or a Bitrix24 domain, when token used
|
||||||
// PostID - String, Number - Id of post to remove
|
// PostID - String, Number - Id of post to remove
|
||||||
// Token - String - Access token, when not-webhook method used
|
// Token - String - Access token, when not-webhook method used
|
||||||
//
|
//
|
||||||
// Returns:
|
// Returns:
|
||||||
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
|
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
|
||||||
Function DeletePost(Val URL, Val PostID, Val Token = "") Export
|
Function DeletePost(Val URL, Val PostID, Val Token = "") Export
|
||||||
|
|
||||||
Parameters = NormalizeAuth(URL, Token, "log.blogpost.delete");
|
Parameters = NormalizeAuth(URL, Token, "log.blogpost.delete");
|
||||||
OPI_Tools.AddField("POST_ID", PostID, "String", Parameters);
|
OPI_Tools.AddField("POST_ID", PostID, "String", Parameters);
|
||||||
|
|
||||||
Response = OPI_Tools.Post(URL, Parameters);
|
Response = OPI_Tools.Post(URL, Parameters);
|
||||||
|
|
||||||
Return Response;
|
Return Response;
|
||||||
|
|
||||||
EndFunction
|
EndFunction
|
||||||
|
|
||||||
#EndRegion
|
#EndRegion
|
||||||
|
|
||||||
#EndRegion
|
#EndRegion
|
||||||
|
|
||||||
#Region Internal
|
#Region Internal
|
||||||
|
|
||||||
Function NormalizeAuth(URL, Val Token, Val Method = "")
|
Function NormalizeAuth(URL, Val Token, Val Method = "")
|
||||||
|
|
||||||
OPI_TypeConversion.GetLine(URL);
|
OPI_TypeConversion.GetLine(URL);
|
||||||
OPI_TypeConversion.GetLine(Token);
|
OPI_TypeConversion.GetLine(Token);
|
||||||
|
|
||||||
Parameters = New Structure;
|
Parameters = New Structure;
|
||||||
IsTokenAuth = ValueIsFilled(Token);
|
IsTokenAuth = ValueIsFilled(Token);
|
||||||
|
|
||||||
UncorrectItems = New Array;
|
UncorrectItems = New Array;
|
||||||
UncorrectItems.Add("https://");
|
UncorrectItems.Add("https://");
|
||||||
UncorrectItems.Add("http://");
|
UncorrectItems.Add("http://");
|
||||||
UncorrectItems.Add("www.");
|
UncorrectItems.Add("www.");
|
||||||
|
|
||||||
For Each DeletedElement In UncorrectItems Do
|
For Each DeletedElement In UncorrectItems Do
|
||||||
URL = StrReplace(URL, DeletedElement, "");
|
URL = StrReplace(URL, DeletedElement, "");
|
||||||
EndDo;
|
EndDo;
|
||||||
|
|
||||||
URL = TrimAll(URL);
|
URL = TrimAll(URL);
|
||||||
|
|
||||||
If Not StrEndsWith(URL, "/") Then
|
If Not StrEndsWith(URL, "/") Then
|
||||||
URL = URL + "/";
|
URL = URL + "/";
|
||||||
EndIf;
|
EndIf;
|
||||||
|
|
||||||
If IsTokenAuth Then
|
If IsTokenAuth Then
|
||||||
|
|
||||||
If Not StrEndsWith(URL, "rest/") Then
|
If Not StrEndsWith(URL, "rest/") Then
|
||||||
URL = URL + "rest/";
|
URL = URL + "rest/";
|
||||||
EndIf;
|
EndIf;
|
||||||
|
|
||||||
Parameters.Insert("auth", Token);
|
Parameters.Insert("auth", Token);
|
||||||
|
|
||||||
EndIf;
|
EndIf;
|
||||||
|
|
||||||
If ValueIsFilled(Method) Then
|
If ValueIsFilled(Method) Then
|
||||||
URL = URL + TrimAll(Method);
|
URL = URL + TrimAll(Method);
|
||||||
EndIf;
|
EndIf;
|
||||||
|
|
||||||
Return Parameters;
|
Return Parameters;
|
||||||
|
|
||||||
EndFunction
|
EndFunction
|
||||||
|
|
||||||
Function NormalizeFiles(Val Files)
|
Function NormalizeFiles(Val Files)
|
||||||
|
|
||||||
NormalizedFiles = New Array;
|
NormalizedFiles = New Array;
|
||||||
|
|
||||||
If Not TypeOf(Files) = Type("Map") Then
|
If Not TypeOf(Files) = Type("Map") Then
|
||||||
Return NormalizedFiles;
|
Return NormalizedFiles;
|
||||||
EndIf;
|
EndIf;
|
||||||
|
|
||||||
For Each File In Files Do
|
For Each File In Files Do
|
||||||
|
|
||||||
CurrentArray = New Array;
|
CurrentArray = New Array;
|
||||||
CurrentFile = File.Value;
|
CurrentFile = File.Value;
|
||||||
CurrentName = File.Key;
|
CurrentName = File.Key;
|
||||||
|
|
||||||
OPI_TypeConversion.GetBinaryData(CurrentFile);
|
OPI_TypeConversion.GetBinaryData(CurrentFile);
|
||||||
OPI_TypeConversion.GetLine(CurrentName);
|
OPI_TypeConversion.GetLine(CurrentName);
|
||||||
|
|
||||||
CurrentArray.Add(CurrentName);
|
CurrentArray.Add(CurrentName);
|
||||||
CurrentArray.Add(Base64String(CurrentFile));
|
CurrentArray.Add(Base64String(CurrentFile));
|
||||||
|
|
||||||
NormalizedFiles.Add(CurrentArray);
|
NormalizedFiles.Add(CurrentArray);
|
||||||
|
|
||||||
EndDo;
|
EndDo;
|
||||||
|
|
||||||
Return NormalizedFiles;
|
Return NormalizedFiles;
|
||||||
|
|
||||||
EndFunction
|
EndFunction
|
||||||
|
|
||||||
#EndRegion
|
#EndRegion
|
||||||
|
@ -1,21 +1,21 @@
|
|||||||
<package-def>
|
<package-def>
|
||||||
<module name="OPI_Airtable" file="core/Modules/OPI_Airtable.os"/>
|
|
||||||
<module name="OPI_Bitrix24" file="core/Modules/OPI_Bitrix24.os"/>
|
|
||||||
<module name="OPI_Dropbox" file="core/Modules/OPI_Dropbox.os"/>
|
|
||||||
<module name="OPI_GoogleCalendar" file="core/Modules/OPI_GoogleCalendar.os"/>
|
<module name="OPI_GoogleCalendar" file="core/Modules/OPI_GoogleCalendar.os"/>
|
||||||
<module name="OPI_GoogleDrive" file="core/Modules/OPI_GoogleDrive.os"/>
|
<module name="OPI_Tools" file="tools/Modules/internal/Modules/OPI_Tools.os"/>
|
||||||
<module name="OPI_GoogleSheets" file="core/Modules/OPI_GoogleSheets.os"/>
|
|
||||||
<module name="OPI_GoogleWorkspace" file="core/Modules/OPI_GoogleWorkspace.os"/>
|
|
||||||
<module name="OPI_Notion" file="core/Modules/OPI_Notion.os"/>
|
<module name="OPI_Notion" file="core/Modules/OPI_Notion.os"/>
|
||||||
<module name="OPI_Slack" file="core/Modules/OPI_Slack.os"/>
|
|
||||||
<module name="OPI_Telegram" file="core/Modules/OPI_Telegram.os"/>
|
<module name="OPI_Telegram" file="core/Modules/OPI_Telegram.os"/>
|
||||||
|
<module name="OPI_GoogleDrive" file="core/Modules/OPI_GoogleDrive.os"/>
|
||||||
|
<module name="OPI_TestDataRetrieval" file="tools/Modules/OPI_TestDataRetrieval.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"/>
|
||||||
<module name="OPI_VK" file="core/Modules/OPI_VK.os"/>
|
|
||||||
<module name="OPI_YandexDisk" file="core/Modules/OPI_YandexDisk.os"/>
|
|
||||||
<module name="OPI_YandexID" file="core/Modules/OPI_YandexID.os"/>
|
|
||||||
<module name="OPI_Tools" file="tools/Modules/internal/Modules/OPI_Tools.os"/>
|
|
||||||
<module name="OPI_Cryptography" file="tools/Modules/internal/Modules/OPI_Cryptography.os"/>
|
|
||||||
<module name="OPI_TestDataRetrieval" file="tools/Modules/OPI_TestDataRetrieval.os"/>
|
|
||||||
<module name="OPI_TypeConversion" file="tools/Modules/OPI_TypeConversion.os"/>
|
<module name="OPI_TypeConversion" file="tools/Modules/OPI_TypeConversion.os"/>
|
||||||
|
<module name="OPI_GoogleWorkspace" file="core/Modules/OPI_GoogleWorkspace.os"/>
|
||||||
|
<module name="OPI_Bitrix24" file="core/Modules/OPI_Bitrix24.os"/>
|
||||||
|
<module name="OPI_YandexDisk" file="core/Modules/OPI_YandexDisk.os"/>
|
||||||
|
<module name="OPI_Dropbox" file="core/Modules/OPI_Dropbox.os"/>
|
||||||
|
<module name="OPI_Airtable" file="core/Modules/OPI_Airtable.os"/>
|
||||||
|
<module name="OPI_Slack" file="core/Modules/OPI_Slack.os"/>
|
||||||
|
<module name="OPI_GoogleSheets" file="core/Modules/OPI_GoogleSheets.os"/>
|
||||||
|
<module name="OPI_YandexID" file="core/Modules/OPI_YandexID.os"/>
|
||||||
|
<module name="OPI_VK" file="core/Modules/OPI_VK.os"/>
|
||||||
|
<module name="OPI_Cryptography" file="tools/Modules/internal/Modules/OPI_Cryptography.os"/>
|
||||||
</package-def>
|
</package-def>
|
||||||
|
@ -5460,7 +5460,7 @@ Procedure Bitrix24_ServerTime(FunctionParameters)
|
|||||||
|
|
||||||
Result = OPI_Bitrix24.ServerTime(URL);
|
Result = OPI_Bitrix24.ServerTime(URL);
|
||||||
|
|
||||||
OPI_TestDataRetrieval.WriteLog(Result, "ServerTime (хуto)", "Bitrix24");
|
OPI_TestDataRetrieval.WriteLog(Result, ")", "Bitrix24");
|
||||||
|
|
||||||
Check_BitrixTime(Result); // SKIP
|
Check_BitrixTime(Result); // SKIP
|
||||||
|
|
||||||
@ -5490,7 +5490,7 @@ Procedure Bitrix24_CreatePost(FunctionParameters)
|
|||||||
|
|
||||||
Result = OPI_Bitrix24.CreatePost(URL, Text, , Files, Title);
|
Result = OPI_Bitrix24.CreatePost(URL, Text, , Files, Title);
|
||||||
|
|
||||||
OPI_TestDataRetrieval.WriteLog(Result, "CreatePost (хуto)", "Bitrix24");
|
OPI_TestDataRetrieval.WriteLog(Result, ")", "Bitrix24");
|
||||||
|
|
||||||
Check_BitrixPost(Result); // SKIP
|
Check_BitrixPost(Result); // SKIP
|
||||||
|
|
||||||
@ -5523,7 +5523,7 @@ Procedure Bitrix24_DeletePost(FunctionParameters)
|
|||||||
|
|
||||||
Result = OPI_Bitrix24.DeletePost(URL, PostID);
|
Result = OPI_Bitrix24.DeletePost(URL, PostID);
|
||||||
|
|
||||||
OPI_TestDataRetrieval.WriteLog(Result, "DeletePost (хуto)", "Bitrix24");
|
OPI_TestDataRetrieval.WriteLog(Result, ")", "Bitrix24");
|
||||||
|
|
||||||
Check_BitrixTrue(Result); // SKIP
|
Check_BitrixTrue(Result); // SKIP
|
||||||
|
|
||||||
|
@ -1,286 +1,286 @@
|
|||||||
// OneScript: ./OInt/core/Modules/OPI_Bitrix24.os
|
// OneScript: ./OInt/core/Modules/OPI_Bitrix24.os
|
||||||
// Lib: Bitrix24
|
// Lib: Bitrix24
|
||||||
// CLI: bitrix24
|
// CLI: bitrix24
|
||||||
|
|
||||||
// MIT License
|
// MIT License
|
||||||
|
|
||||||
// Copyright (c) 2023 Anton Tsitavets
|
// Copyright (c) 2023 Anton Tsitavets
|
||||||
|
|
||||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
// of this software and associated documentation files (the "Software"), to deal
|
// of this software and associated documentation files (the "Software"), to deal
|
||||||
// in the Software without restriction, including without limitation the rights
|
// in the Software without restriction, including without limitation the rights
|
||||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
// copies of the Software, and to permit persons to whom the Software is
|
// copies of the Software, and to permit persons to whom the Software is
|
||||||
// furnished to do so, subject to the following conditions:
|
// furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
// The above copyright notice and this permission notice shall be included in all
|
// The above copyright notice and this permission notice shall be included in all
|
||||||
// copies or substantial portions of the Software.
|
// copies or substantial portions of the Software.
|
||||||
|
|
||||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
// 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
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
// SOFTWARE.
|
// SOFTWARE.
|
||||||
|
|
||||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||||
|
|
||||||
// BSLLS:Typo-off
|
// BSLLS:Typo-off
|
||||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||||
// BSLLS:IncorrectLineBreak-off
|
// BSLLS:IncorrectLineBreak-off
|
||||||
// BSLLS:UnreachableCode-off
|
// BSLLS:UnreachableCode-off
|
||||||
// BSLLS:CommentedCode-off
|
// BSLLS:CommentedCode-off
|
||||||
|
|
||||||
//@skip-check module-structure-top-region
|
//@skip-check module-structure-top-region
|
||||||
//@skip-check module-structure-method-in-regions
|
//@skip-check module-structure-method-in-regions
|
||||||
//@skip-check wrong-string-literal-content
|
//@skip-check wrong-string-literal-content
|
||||||
//@skip-check method-too-many-params
|
//@skip-check method-too-many-params
|
||||||
|
|
||||||
// Uncomment if OneScript is executed
|
// Uncomment if OneScript is executed
|
||||||
// #Use "../../tools"
|
// #Use "../../tools"
|
||||||
|
|
||||||
#Region Public
|
#Region Public
|
||||||
|
|
||||||
#Region SettingsAndAdministartion
|
#Region SettingsAndAdministartion
|
||||||
|
|
||||||
// Get app authentication link
|
// Get app authentication link
|
||||||
// Forms a link for authorization via the browser
|
// Forms a link for authorization via the browser
|
||||||
//
|
//
|
||||||
// Parameters:
|
// Parameters:
|
||||||
// Domain - String - Current Bitrix URL (like 'portal.bitrix24.com')
|
// Domain - String - Current Bitrix URL (like 'portal.bitrix24.com')
|
||||||
// ClientID - String - Client ID from app settings
|
// ClientID - String - Client ID from app settings
|
||||||
//
|
//
|
||||||
// Returns:
|
// Returns:
|
||||||
// String - URL for browser transition
|
// String - URL for browser transition
|
||||||
Function GetAppAuthLink(Val Domain, Val ClientID) Export
|
Function GetAppAuthLink(Val Domain, Val ClientID) Export
|
||||||
|
|
||||||
OPI_TypeConversion.GetLine(Domain);
|
OPI_TypeConversion.GetLine(Domain);
|
||||||
OPI_TypeConversion.GetLine(ClientID);
|
OPI_TypeConversion.GetLine(ClientID);
|
||||||
|
|
||||||
If Not StrStartsWith(Domain, "http") Then
|
If Not StrStartsWith(Domain, "http") Then
|
||||||
URL = "https://" + Domain;
|
URL = "https://" + Domain;
|
||||||
EndIf;
|
EndIf;
|
||||||
|
|
||||||
If Not StrEndsWith(URL, "/") Then
|
If Not StrEndsWith(URL, "/") Then
|
||||||
URL = URL + "/";
|
URL = URL + "/";
|
||||||
EndIf;
|
EndIf;
|
||||||
|
|
||||||
URL = URL + "oauth/authorize/?client_id=" + ClientID;
|
URL = URL + "oauth/authorize/?client_id=" + ClientID;
|
||||||
|
|
||||||
Return URL;
|
Return URL;
|
||||||
|
|
||||||
EndFunction
|
EndFunction
|
||||||
|
|
||||||
// Get token
|
// Get token
|
||||||
// Get token by auth code
|
// Get token by auth code
|
||||||
//
|
//
|
||||||
// Parameters:
|
// Parameters:
|
||||||
// ClientID - String - Client ID from app settings
|
// ClientID - String - Client ID from app settings
|
||||||
// ClientSecret - String - Client secret from app settings
|
// ClientSecret - String - Client secret from app settings
|
||||||
// Code - String - Code from browser auth page
|
// Code - String - Code from browser auth page
|
||||||
//
|
//
|
||||||
// Returns:
|
// Returns:
|
||||||
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
|
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
|
||||||
Function GetToken(Val ClientID, Val ClientSecret, Val Code) Export
|
Function GetToken(Val ClientID, Val ClientSecret, Val Code) Export
|
||||||
|
|
||||||
URL = "https://oauth.bitrix.info/oauth/token/";
|
URL = "https://oauth.bitrix.info/oauth/token/";
|
||||||
|
|
||||||
Parameters = New Structure;
|
Parameters = New Structure;
|
||||||
OPI_Tools.AddField("grant_type" , "authorization_code", "String", Parameters);
|
OPI_Tools.AddField("grant_type" , "authorization_code", "String", Parameters);
|
||||||
OPI_Tools.AddField("client_id" , ClientID , "String", Parameters);
|
OPI_Tools.AddField("client_id" , ClientID , "String", Parameters);
|
||||||
OPI_Tools.AddField("client_secret", ClientSecret , "String", Parameters);
|
OPI_Tools.AddField("client_secret", ClientSecret , "String", Parameters);
|
||||||
OPI_Tools.AddField("code" , Code , "String", Parameters);
|
OPI_Tools.AddField("code" , Code , "String", Parameters);
|
||||||
|
|
||||||
Response = OPI_Tools.Get(URL, Parameters);
|
Response = OPI_Tools.Get(URL, Parameters);
|
||||||
|
|
||||||
Return Response;
|
Return Response;
|
||||||
|
|
||||||
EndFunction
|
EndFunction
|
||||||
|
|
||||||
// Refresh token
|
// Refresh token
|
||||||
// Update token by refresh token
|
// Update token by refresh token
|
||||||
//
|
//
|
||||||
// Parameters:
|
// Parameters:
|
||||||
// ClientID - String - Client ID from app settings
|
// ClientID - String - Client ID from app settings
|
||||||
// ClientSecret - String - Client secret from app settings
|
// ClientSecret - String - Client secret from app settings
|
||||||
// Refresh - String - Refresh token
|
// Refresh - String - Refresh token
|
||||||
//
|
//
|
||||||
// Returns:
|
// Returns:
|
||||||
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
|
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
|
||||||
Function RefreshToken(Val ClientID, Val ClientSecret, Val Refresh) Export
|
Function RefreshToken(Val ClientID, Val ClientSecret, Val Refresh) Export
|
||||||
|
|
||||||
URL = "https://oauth.bitrix.info/oauth/token/";
|
URL = "https://oauth.bitrix.info/oauth/token/";
|
||||||
|
|
||||||
Parameters = New Structure;
|
Parameters = New Structure;
|
||||||
OPI_Tools.AddField("grant_type" , "refresh_token" , "String", Parameters);
|
OPI_Tools.AddField("grant_type" , "refresh_token" , "String", Parameters);
|
||||||
OPI_Tools.AddField("client_id" , ClientID , "String", Parameters);
|
OPI_Tools.AddField("client_id" , ClientID , "String", Parameters);
|
||||||
OPI_Tools.AddField("client_secret", ClientSecret , "String", Parameters);
|
OPI_Tools.AddField("client_secret", ClientSecret , "String", Parameters);
|
||||||
OPI_Tools.AddField("refresh_token", Refresh , "String", Parameters);
|
OPI_Tools.AddField("refresh_token", Refresh , "String", Parameters);
|
||||||
|
|
||||||
Response = OPI_Tools.Get(URL, Parameters);
|
Response = OPI_Tools.Get(URL, Parameters);
|
||||||
|
|
||||||
Return Response;
|
Return Response;
|
||||||
|
|
||||||
EndFunction
|
EndFunction
|
||||||
|
|
||||||
// Server time
|
// Server time
|
||||||
// Get current server time
|
// Get current server time
|
||||||
//
|
//
|
||||||
// Parameters:
|
// Parameters:
|
||||||
// URL - String - URL of webhook or a Bitrix24 domain, when token used
|
// URL - String - URL of webhook or a Bitrix24 domain, when token used
|
||||||
// Token - String - Access token, when not-webhook method used
|
// Token - String - Access token, when not-webhook method used
|
||||||
//
|
//
|
||||||
// Returns:
|
// Returns:
|
||||||
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
|
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
|
||||||
Function ServerTime(Val URL, Val Token = "") Export
|
Function ServerTime(Val URL, Val Token = "") Export
|
||||||
|
|
||||||
Parameters = NormalizeAuth(URL, Token, "server.time");
|
Parameters = NormalizeAuth(URL, Token, "server.time");
|
||||||
Response = OPI_Tools.Get(URL, Parameters);
|
Response = OPI_Tools.Get(URL, Parameters);
|
||||||
|
|
||||||
Return Response;
|
Return Response;
|
||||||
|
|
||||||
EndFunction
|
EndFunction
|
||||||
|
|
||||||
#EndRegion
|
#EndRegion
|
||||||
|
|
||||||
#Region NewsFeed
|
#Region NewsFeed
|
||||||
|
|
||||||
// Create post.
|
// Create post.
|
||||||
//
|
//
|
||||||
// Parameters:
|
// Parameters:
|
||||||
// URL - String - URL of webhook or a Bitrix24 domain, when token used
|
// URL - String - URL of webhook or a Bitrix24 domain, when token used
|
||||||
// Text - String - Text of post
|
// Text - String - Text of post
|
||||||
// Visibility - String - Array or a single post target (UA all, SG<X> work group, U<X> user, DR<X> depart., G<X> group)
|
// Visibility - String - Array or a single post target (UA all, SG<X> work group, U<X> user, DR<X> depart., G<X> group)
|
||||||
// Files - String - Data inложенandй, где toлюч > andмя file, value > path to file andдand дinоandчные Data
|
// Files - String - Data inложенandй, где toлюч > andмя file, value > path to file andдand дinоandчные Data
|
||||||
// Title - String - Title
|
// Title - String - Title
|
||||||
// Token - String - Access token, when not-webhook method used
|
// Token - String - Access token, when not-webhook method used
|
||||||
//
|
//
|
||||||
// Returns:
|
// Returns:
|
||||||
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
|
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
|
||||||
Function CreatePost(Val URL
|
Function CreatePost(Val URL
|
||||||
, Val Text
|
, Val Text
|
||||||
, Val Visibility = "UA"
|
, Val Visibility = "UA"
|
||||||
, Val Files = ""
|
, Val Files = ""
|
||||||
, Val Title = ""
|
, Val Title = ""
|
||||||
, Val Token = "") Export
|
, Val Token = "") Export
|
||||||
|
|
||||||
Parameters = NormalizeAuth(URL, Token, "log.blogpost.add");
|
Parameters = NormalizeAuth(URL, Token, "log.blogpost.add");
|
||||||
OPI_Tools.AddField("POST_MESSAGE", Text , "String", Parameters);
|
OPI_Tools.AddField("POST_MESSAGE", Text , "String", Parameters);
|
||||||
OPI_Tools.AddField("POST_TITLE" , Title, "String", Parameters);
|
OPI_Tools.AddField("POST_TITLE" , Title, "String", Parameters);
|
||||||
OPI_Tools.AddField("DEST" , Visibility , "Array", Parameters);
|
OPI_Tools.AddField("DEST" , Visibility , "Array", Parameters);
|
||||||
|
|
||||||
If ValueIsFilled(Files) Then
|
If ValueIsFilled(Files) Then
|
||||||
|
|
||||||
OPI_TypeConversion.GetCollection(Files);
|
OPI_TypeConversion.GetCollection(Files);
|
||||||
|
|
||||||
ArrayOfFiles = NormalizeFiles(Files);
|
ArrayOfFiles = NormalizeFiles(Files);
|
||||||
|
|
||||||
If Not ArrayOfFiles.Count() = 0 Then
|
If Not ArrayOfFiles.Count() = 0 Then
|
||||||
Parameters.Insert("FILES", ArrayOfFiles);
|
Parameters.Insert("FILES", ArrayOfFiles);
|
||||||
EndIf;
|
EndIf;
|
||||||
|
|
||||||
EndIf;
|
EndIf;
|
||||||
|
|
||||||
Response = OPI_Tools.Post(URL, Parameters);
|
Response = OPI_Tools.Post(URL, Parameters);
|
||||||
|
|
||||||
Return Response;
|
Return Response;
|
||||||
|
|
||||||
EndFunction
|
EndFunction
|
||||||
|
|
||||||
// Delete post.
|
// Delete post.
|
||||||
//
|
//
|
||||||
// Parameters:
|
// Parameters:
|
||||||
// URL - String - URL of webhook or a Bitrix24 domain, when token used
|
// URL - String - URL of webhook or a Bitrix24 domain, when token used
|
||||||
// PostID - String, Number - Id of post to remove
|
// PostID - String, Number - Id of post to remove
|
||||||
// Token - String - Access token, when not-webhook method used
|
// Token - String - Access token, when not-webhook method used
|
||||||
//
|
//
|
||||||
// Returns:
|
// Returns:
|
||||||
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
|
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
|
||||||
Function DeletePost(Val URL, Val PostID, Val Token = "") Export
|
Function DeletePost(Val URL, Val PostID, Val Token = "") Export
|
||||||
|
|
||||||
Parameters = NormalizeAuth(URL, Token, "log.blogpost.delete");
|
Parameters = NormalizeAuth(URL, Token, "log.blogpost.delete");
|
||||||
OPI_Tools.AddField("POST_ID", PostID, "String", Parameters);
|
OPI_Tools.AddField("POST_ID", PostID, "String", Parameters);
|
||||||
|
|
||||||
Response = OPI_Tools.Post(URL, Parameters);
|
Response = OPI_Tools.Post(URL, Parameters);
|
||||||
|
|
||||||
Return Response;
|
Return Response;
|
||||||
|
|
||||||
EndFunction
|
EndFunction
|
||||||
|
|
||||||
#EndRegion
|
#EndRegion
|
||||||
|
|
||||||
#EndRegion
|
#EndRegion
|
||||||
|
|
||||||
#Region Internal
|
#Region Internal
|
||||||
|
|
||||||
Function NormalizeAuth(URL, Val Token, Val Method = "")
|
Function NormalizeAuth(URL, Val Token, Val Method = "")
|
||||||
|
|
||||||
OPI_TypeConversion.GetLine(URL);
|
OPI_TypeConversion.GetLine(URL);
|
||||||
OPI_TypeConversion.GetLine(Token);
|
OPI_TypeConversion.GetLine(Token);
|
||||||
|
|
||||||
Parameters = New Structure;
|
Parameters = New Structure;
|
||||||
IsTokenAuth = ValueIsFilled(Token);
|
IsTokenAuth = ValueIsFilled(Token);
|
||||||
|
|
||||||
UncorrectItems = New Array;
|
UncorrectItems = New Array;
|
||||||
UncorrectItems.Add("https://");
|
UncorrectItems.Add("https://");
|
||||||
UncorrectItems.Add("http://");
|
UncorrectItems.Add("http://");
|
||||||
UncorrectItems.Add("www.");
|
UncorrectItems.Add("www.");
|
||||||
|
|
||||||
For Each DeletedElement In UncorrectItems Do
|
For Each DeletedElement In UncorrectItems Do
|
||||||
URL = StrReplace(URL, DeletedElement, "");
|
URL = StrReplace(URL, DeletedElement, "");
|
||||||
EndDo;
|
EndDo;
|
||||||
|
|
||||||
URL = TrimAll(URL);
|
URL = TrimAll(URL);
|
||||||
|
|
||||||
If Not StrEndsWith(URL, "/") Then
|
If Not StrEndsWith(URL, "/") Then
|
||||||
URL = URL + "/";
|
URL = URL + "/";
|
||||||
EndIf;
|
EndIf;
|
||||||
|
|
||||||
If IsTokenAuth Then
|
If IsTokenAuth Then
|
||||||
|
|
||||||
If Not StrEndsWith(URL, "rest/") Then
|
If Not StrEndsWith(URL, "rest/") Then
|
||||||
URL = URL + "rest/";
|
URL = URL + "rest/";
|
||||||
EndIf;
|
EndIf;
|
||||||
|
|
||||||
Parameters.Insert("auth", Token);
|
Parameters.Insert("auth", Token);
|
||||||
|
|
||||||
EndIf;
|
EndIf;
|
||||||
|
|
||||||
If ValueIsFilled(Method) Then
|
If ValueIsFilled(Method) Then
|
||||||
URL = URL + TrimAll(Method);
|
URL = URL + TrimAll(Method);
|
||||||
EndIf;
|
EndIf;
|
||||||
|
|
||||||
Return Parameters;
|
Return Parameters;
|
||||||
|
|
||||||
EndFunction
|
EndFunction
|
||||||
|
|
||||||
Function NormalizeFiles(Val Files)
|
Function NormalizeFiles(Val Files)
|
||||||
|
|
||||||
NormalizedFiles = New Array;
|
NormalizedFiles = New Array;
|
||||||
|
|
||||||
If Not TypeOf(Files) = Type("Map") Then
|
If Not TypeOf(Files) = Type("Map") Then
|
||||||
Return NormalizedFiles;
|
Return NormalizedFiles;
|
||||||
EndIf;
|
EndIf;
|
||||||
|
|
||||||
For Each File In Files Do
|
For Each File In Files Do
|
||||||
|
|
||||||
CurrentArray = New Array;
|
CurrentArray = New Array;
|
||||||
CurrentFile = File.Value;
|
CurrentFile = File.Value;
|
||||||
CurrentName = File.Key;
|
CurrentName = File.Key;
|
||||||
|
|
||||||
OPI_TypeConversion.GetBinaryData(CurrentFile);
|
OPI_TypeConversion.GetBinaryData(CurrentFile);
|
||||||
OPI_TypeConversion.GetLine(CurrentName);
|
OPI_TypeConversion.GetLine(CurrentName);
|
||||||
|
|
||||||
CurrentArray.Add(CurrentName);
|
CurrentArray.Add(CurrentName);
|
||||||
CurrentArray.Add(Base64String(CurrentFile));
|
CurrentArray.Add(Base64String(CurrentFile));
|
||||||
|
|
||||||
NormalizedFiles.Add(CurrentArray);
|
NormalizedFiles.Add(CurrentArray);
|
||||||
|
|
||||||
EndDo;
|
EndDo;
|
||||||
|
|
||||||
Return NormalizedFiles;
|
Return NormalizedFiles;
|
||||||
|
|
||||||
EndFunction
|
EndFunction
|
||||||
|
|
||||||
#EndRegion
|
#EndRegion
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="496e68cd-c70d-4c15-aa9e-c2aad28abf8a">
|
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="496e68cd-c70d-4c15-aa9e-c2aad28abf8a">
|
||||||
<name>OPI_Bitrix24</name>
|
<name>OPI_Bitrix24</name>
|
||||||
<synonym>
|
<synonym>
|
||||||
<key>en</key>
|
<key>en</key>
|
||||||
<value>Bitrix24 (OPI)</value>
|
<value>Bitrix24 (OPI)</value>
|
||||||
</synonym>
|
</synonym>
|
||||||
<server>true</server>
|
<server>true</server>
|
||||||
<externalConnection>true</externalConnection>
|
<externalConnection>true</externalConnection>
|
||||||
<clientOrdinaryApplication>true</clientOrdinaryApplication>
|
<clientOrdinaryApplication>true</clientOrdinaryApplication>
|
||||||
</mdclass:CommonModule>
|
</mdclass:CommonModule>
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
Function ПолучитьСостав() Export
|
Function ПолучитьСостав() Export
|
||||||
|
|
||||||
CompositionTable = New ValueTable();
|
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("МетодПоиска");
|
||||||
CompositionTable.Columns.Add("Параметр");
|
CompositionTable.Columns.Add("Параметр");
|
||||||
CompositionTable.Columns.Add("Описание");
|
CompositionTable.Columns.Add("Описание");
|
||||||
CompositionTable.Columns.Add("ОписаниеМетода");
|
CompositionTable.Columns.Add("ОписаниеМетода");
|
||||||
CompositionTable.Columns.Add("Область");
|
CompositionTable.Columns.Add("Область");
|
||||||
Return CompositionTable;
|
Return CompositionTable;
|
||||||
EndFunction
|
EndFunction
|
||||||
|
|
||||||
|
@ -142,7 +142,7 @@
|
|||||||
NewLine.Метод = "GetObjectInformation";
|
NewLine.Метод = "GetObjectInformation";
|
||||||
NewLine.МетодПоиска = "GETOBJECTINFORMATION";
|
NewLine.МетодПоиска = "GETOBJECTINFORMATION";
|
||||||
NewLine.Параметр = "--detail";
|
NewLine.Параметр = "--detail";
|
||||||
NewLine.Описание = "Adds additional information fields for media files (optional, def. val. - No)";
|
NewLine.Описание = "Adds additional information fields for media files (optional, def. val. - False)";
|
||||||
NewLine.Область = "File and directory management";
|
NewLine.Область = "File and directory management";
|
||||||
|
|
||||||
|
|
||||||
@ -173,7 +173,7 @@
|
|||||||
NewLine.Метод = "GetListOfFolderFiles";
|
NewLine.Метод = "GetListOfFolderFiles";
|
||||||
NewLine.МетодПоиска = "GETLISTOFFOLDERFILES";
|
NewLine.МетодПоиска = "GETLISTOFFOLDERFILES";
|
||||||
NewLine.Параметр = "--detail";
|
NewLine.Параметр = "--detail";
|
||||||
NewLine.Описание = "Adds additional information fields for media files (optional, def. val. - No)";
|
NewLine.Описание = "Adds additional information fields for media files (optional, def. val. - False)";
|
||||||
NewLine.Область = "File and directory management";
|
NewLine.Область = "File and directory management";
|
||||||
|
|
||||||
|
|
||||||
@ -245,7 +245,7 @@
|
|||||||
NewLine.Метод = "UploadFile";
|
NewLine.Метод = "UploadFile";
|
||||||
NewLine.МетодПоиска = "UPLOADFILE";
|
NewLine.МетодПоиска = "UPLOADFILE";
|
||||||
NewLine.Параметр = "--overwrite";
|
NewLine.Параметр = "--overwrite";
|
||||||
NewLine.Описание = "Overwrite file in case of path conflicts (optional, def. val. - No)";
|
NewLine.Описание = "Overwrite file in case of path conflicts (optional, def. val. - False)";
|
||||||
NewLine.Область = "File and directory management";
|
NewLine.Область = "File and directory management";
|
||||||
|
|
||||||
|
|
||||||
@ -328,7 +328,7 @@
|
|||||||
NewLine.Метод = "DeleteObject";
|
NewLine.Метод = "DeleteObject";
|
||||||
NewLine.МетодПоиска = "DELETEOBJECT";
|
NewLine.МетодПоиска = "DELETEOBJECT";
|
||||||
NewLine.Параметр = "--permanently";
|
NewLine.Параметр = "--permanently";
|
||||||
NewLine.Описание = "Delete object without the possibility of recovery (optional, def. val. - No)";
|
NewLine.Описание = "Delete object without the possibility of recovery (optional, def. val. - False)";
|
||||||
NewLine.Область = "File and directory management";
|
NewLine.Область = "File and directory management";
|
||||||
|
|
||||||
|
|
||||||
@ -681,7 +681,7 @@
|
|||||||
NewLine.Метод = "AddUsersToFile";
|
NewLine.Метод = "AddUsersToFile";
|
||||||
NewLine.МетодПоиска = "ADDUSERSTOFILE";
|
NewLine.МетодПоиска = "ADDUSERSTOFILE";
|
||||||
NewLine.Параметр = "--readonly";
|
NewLine.Параметр = "--readonly";
|
||||||
NewLine.Описание = "Prohibits file editing for the external user (optional, def. val. - Да)";
|
NewLine.Описание = "Prohibits file editing for the external user (optional, def. val. - True)";
|
||||||
NewLine.Область = "Shared access settings";
|
NewLine.Область = "Shared access settings";
|
||||||
|
|
||||||
|
|
||||||
@ -722,7 +722,7 @@
|
|||||||
NewLine.Метод = "AddUsersToFolder";
|
NewLine.Метод = "AddUsersToFolder";
|
||||||
NewLine.МетодПоиска = "ADDUSERSTOFOLDER";
|
NewLine.МетодПоиска = "ADDUSERSTOFOLDER";
|
||||||
NewLine.Параметр = "--readonly";
|
NewLine.Параметр = "--readonly";
|
||||||
NewLine.Описание = "Prohibits file editing for the external user (optional, def. val. - Да)";
|
NewLine.Описание = "Prohibits file editing for the external user (optional, def. val. - True)";
|
||||||
NewLine.Область = "Shared access settings";
|
NewLine.Область = "Shared access settings";
|
||||||
|
|
||||||
|
|
||||||
|
@ -246,7 +246,7 @@
|
|||||||
NewLine.Метод = "EditListCalendar";
|
NewLine.Метод = "EditListCalendar";
|
||||||
NewLine.МетодПоиска = "EDITLISTCALENDAR";
|
NewLine.МетодПоиска = "EDITLISTCALENDAR";
|
||||||
NewLine.Параметр = "--hidden";
|
NewLine.Параметр = "--hidden";
|
||||||
NewLine.Описание = "Hidden calendar (optional, def. val. - No)";
|
NewLine.Описание = "Hidden calendar (optional, def. val. - False)";
|
||||||
NewLine.Область = "Calendar list management";
|
NewLine.Область = "Calendar list management";
|
||||||
|
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@
|
|||||||
NewLine.Метод = "GetDirectoriesList";
|
NewLine.Метод = "GetDirectoriesList";
|
||||||
NewLine.МетодПоиска = "GETDIRECTORIESLIST";
|
NewLine.МетодПоиска = "GETDIRECTORIESLIST";
|
||||||
NewLine.Параметр = "--depth";
|
NewLine.Параметр = "--depth";
|
||||||
NewLine.Описание = "Adds a list of files to the directory fields (optional, def. val. - No)";
|
NewLine.Описание = "Adds a list of files to the directory fields (optional, def. val. - False)";
|
||||||
NewLine.Область = "File and directory management";
|
NewLine.Область = "File and directory management";
|
||||||
|
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
NewLine.Метод = "FormCodeRetrievalLink";
|
NewLine.Метод = "FormCodeRetrievalLink";
|
||||||
NewLine.МетодПоиска = "FORMCODERETRIEVALLINK";
|
NewLine.МетодПоиска = "FORMCODERETRIEVALLINK";
|
||||||
NewLine.Параметр = "--calendar";
|
NewLine.Параметр = "--calendar";
|
||||||
NewLine.Описание = "Calendar methods permission (optional, def. val. - Да)";
|
NewLine.Описание = "Calendar methods permission (optional, def. val. - True)";
|
||||||
NewLine.Область = "Public";
|
NewLine.Область = "Public";
|
||||||
|
|
||||||
|
|
||||||
@ -37,7 +37,7 @@
|
|||||||
NewLine.Метод = "FormCodeRetrievalLink";
|
NewLine.Метод = "FormCodeRetrievalLink";
|
||||||
NewLine.МетодПоиска = "FORMCODERETRIEVALLINK";
|
NewLine.МетодПоиска = "FORMCODERETRIEVALLINK";
|
||||||
NewLine.Параметр = "--drive";
|
NewLine.Параметр = "--drive";
|
||||||
NewLine.Описание = "Drive methods permission (optional, def. val. - Да)";
|
NewLine.Описание = "Drive methods permission (optional, def. val. - True)";
|
||||||
NewLine.Область = "Public";
|
NewLine.Область = "Public";
|
||||||
|
|
||||||
|
|
||||||
@ -47,7 +47,7 @@
|
|||||||
NewLine.Метод = "FormCodeRetrievalLink";
|
NewLine.Метод = "FormCodeRetrievalLink";
|
||||||
NewLine.МетодПоиска = "FORMCODERETRIEVALLINK";
|
NewLine.МетодПоиска = "FORMCODERETRIEVALLINK";
|
||||||
NewLine.Параметр = "--sheets";
|
NewLine.Параметр = "--sheets";
|
||||||
NewLine.Описание = "Sheets methods permission (optional, def. val. - Да)";
|
NewLine.Описание = "Sheets methods permission (optional, def. val. - True)";
|
||||||
NewLine.Область = "Public";
|
NewLine.Область = "Public";
|
||||||
|
|
||||||
|
|
||||||
|
@ -165,7 +165,7 @@
|
|||||||
NewLine.Метод = "EditPageProperties";
|
NewLine.Метод = "EditPageProperties";
|
||||||
NewLine.МетодПоиска = "EDITPAGEPROPERTIES";
|
NewLine.МетодПоиска = "EDITPAGEPROPERTIES";
|
||||||
NewLine.Параметр = "--archive";
|
NewLine.Параметр = "--archive";
|
||||||
NewLine.Описание = "Archive page or not (boolean) (optional, def. val. - No)";
|
NewLine.Описание = "Archive page or not (boolean) (optional, def. val. - False)";
|
||||||
NewLine.Область = "Page management";
|
NewLine.Область = "Page management";
|
||||||
|
|
||||||
|
|
||||||
@ -381,7 +381,7 @@
|
|||||||
NewLine.Метод = "ReturnBlock";
|
NewLine.Метод = "ReturnBlock";
|
||||||
NewLine.МетодПоиска = "RETURNBLOCK";
|
NewLine.МетодПоиска = "RETURNBLOCK";
|
||||||
NewLine.Параметр = "--core";
|
NewLine.Параметр = "--core";
|
||||||
NewLine.Описание = "True > service fields are deleted, only the block itself remains (optional, def. val. - Да)";
|
NewLine.Описание = "True > service fields are deleted, only the block itself remains (optional, def. val. - True)";
|
||||||
NewLine.Область = "Blocks managment";
|
NewLine.Область = "Blocks managment";
|
||||||
|
|
||||||
|
|
||||||
|
@ -254,7 +254,7 @@
|
|||||||
NewLine.Метод = "DeleteMessage";
|
NewLine.Метод = "DeleteMessage";
|
||||||
NewLine.МетодПоиска = "DELETEMESSAGE";
|
NewLine.МетодПоиска = "DELETEMESSAGE";
|
||||||
NewLine.Параметр = "--issheduled";
|
NewLine.Параметр = "--issheduled";
|
||||||
NewLine.Описание = "Indicator of deleting a delayed message (optional, def. val. - No)";
|
NewLine.Описание = "Indicator of deleting a delayed message (optional, def. val. - False)";
|
||||||
NewLine.Область = "Message management";
|
NewLine.Область = "Message management";
|
||||||
|
|
||||||
|
|
||||||
@ -378,7 +378,7 @@
|
|||||||
NewLine.Метод = "GetChannelList";
|
NewLine.Метод = "GetChannelList";
|
||||||
NewLine.МетодПоиска = "GETCHANNELLIST";
|
NewLine.МетодПоиска = "GETCHANNELLIST";
|
||||||
NewLine.Параметр = "--notarchived";
|
NewLine.Параметр = "--notarchived";
|
||||||
NewLine.Описание = "Indicator of excluding archived channels (optional, def. val. - No)";
|
NewLine.Описание = "Indicator of excluding archived channels (optional, def. val. - False)";
|
||||||
NewLine.Область = "Channel management";
|
NewLine.Область = "Channel management";
|
||||||
|
|
||||||
|
|
||||||
@ -450,7 +450,7 @@
|
|||||||
NewLine.Метод = "CreateChannel";
|
NewLine.Метод = "CreateChannel";
|
||||||
NewLine.МетодПоиска = "CREATECHANNEL";
|
NewLine.МетодПоиска = "CREATECHANNEL";
|
||||||
NewLine.Параметр = "--private";
|
NewLine.Параметр = "--private";
|
||||||
NewLine.Описание = "Create channel as private (optional, def. val. - No)";
|
NewLine.Описание = "Create channel as private (optional, def. val. - False)";
|
||||||
NewLine.Область = "Channel management";
|
NewLine.Область = "Channel management";
|
||||||
|
|
||||||
|
|
||||||
|
@ -699,7 +699,7 @@
|
|||||||
NewLine.Метод = "SendPoll";
|
NewLine.Метод = "SendPoll";
|
||||||
NewLine.МетодПоиска = "SENDPOLL";
|
NewLine.МетодПоиска = "SENDPOLL";
|
||||||
NewLine.Параметр = "--anonymous";
|
NewLine.Параметр = "--anonymous";
|
||||||
NewLine.Описание = "Poll anonymity (optional, def. val. - Да)";
|
NewLine.Описание = "Poll anonymity (optional, def. val. - True)";
|
||||||
NewLine.Область = "Data sending";
|
NewLine.Область = "Data sending";
|
||||||
|
|
||||||
|
|
||||||
@ -761,7 +761,7 @@
|
|||||||
NewLine.Метод = "FormKeyboardFromButtonArray";
|
NewLine.Метод = "FormKeyboardFromButtonArray";
|
||||||
NewLine.МетодПоиска = "FORMKEYBOARDFROMBUTTONARRAY";
|
NewLine.МетодПоиска = "FORMKEYBOARDFROMBUTTONARRAY";
|
||||||
NewLine.Параметр = "--under";
|
NewLine.Параметр = "--under";
|
||||||
NewLine.Описание = "Keyboard under the message or on the bottom panel (optional, def. val. - No)";
|
NewLine.Описание = "Keyboard under the message or on the bottom panel (optional, def. val. - False)";
|
||||||
NewLine.Область = "Data sending";
|
NewLine.Область = "Data sending";
|
||||||
|
|
||||||
|
|
||||||
@ -771,7 +771,7 @@
|
|||||||
NewLine.Метод = "FormKeyboardFromButtonArray";
|
NewLine.Метод = "FormKeyboardFromButtonArray";
|
||||||
NewLine.МетодПоиска = "FORMKEYBOARDFROMBUTTONARRAY";
|
NewLine.МетодПоиска = "FORMKEYBOARDFROMBUTTONARRAY";
|
||||||
NewLine.Параметр = "--column";
|
NewLine.Параметр = "--column";
|
||||||
NewLine.Описание = "True > buttons are displayed in a column, False > in a row (optional, def. val. - Да)";
|
NewLine.Описание = "True > buttons are displayed in a column, False > in a row (optional, def. val. - True)";
|
||||||
NewLine.Область = "Data sending";
|
NewLine.Область = "Data sending";
|
||||||
|
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@
|
|||||||
NewLine.Метод = "CreatePost";
|
NewLine.Метод = "CreatePost";
|
||||||
NewLine.МетодПоиска = "CREATEPOST";
|
NewLine.МетодПоиска = "CREATEPOST";
|
||||||
NewLine.Параметр = "--ad";
|
NewLine.Параметр = "--ad";
|
||||||
NewLine.Описание = "Sign ""This is an ad"" (optional, def. val. - No)";
|
NewLine.Описание = "Sign ""This is an ad"" (optional, def. val. - False)";
|
||||||
NewLine.Область = "Community managment";
|
NewLine.Область = "Community managment";
|
||||||
|
|
||||||
|
|
||||||
@ -118,7 +118,7 @@
|
|||||||
NewLine.Метод = "CreateCompositePost";
|
NewLine.Метод = "CreateCompositePost";
|
||||||
NewLine.МетодПоиска = "CREATECOMPOSITEPOST";
|
NewLine.МетодПоиска = "CREATECOMPOSITEPOST";
|
||||||
NewLine.Параметр = "--ad";
|
NewLine.Параметр = "--ad";
|
||||||
NewLine.Описание = "Sign ""This is an ad"" (optional, def. val. - No)";
|
NewLine.Описание = "Sign ""This is an ad"" (optional, def. val. - False)";
|
||||||
NewLine.Область = "Community managment";
|
NewLine.Область = "Community managment";
|
||||||
|
|
||||||
|
|
||||||
@ -578,7 +578,7 @@
|
|||||||
NewLine.Метод = "CloseDiscussion";
|
NewLine.Метод = "CloseDiscussion";
|
||||||
NewLine.МетодПоиска = "CLOSEDISCUSSION";
|
NewLine.МетодПоиска = "CLOSEDISCUSSION";
|
||||||
NewLine.Параметр = "--remove";
|
NewLine.Параметр = "--remove";
|
||||||
NewLine.Описание = "Delete completely (True) or close (optional, def. val. - No)";
|
NewLine.Описание = "Delete completely (True) or close (optional, def. val. - False)";
|
||||||
NewLine.Область = "Discussion management";
|
NewLine.Область = "Discussion management";
|
||||||
|
|
||||||
|
|
||||||
@ -748,7 +748,7 @@
|
|||||||
NewLine.Метод = "MakeRepost";
|
NewLine.Метод = "MakeRepost";
|
||||||
NewLine.МетодПоиска = "MAKEREPOST";
|
NewLine.МетодПоиска = "MAKEREPOST";
|
||||||
NewLine.Параметр = "--ad";
|
NewLine.Параметр = "--ad";
|
||||||
NewLine.Описание = "Sign of an advertising post (optional, def. val. - No)";
|
NewLine.Описание = "Sign of an advertising post (optional, def. val. - False)";
|
||||||
NewLine.Область = "Interactive actions";
|
NewLine.Область = "Interactive actions";
|
||||||
|
|
||||||
|
|
||||||
@ -1510,7 +1510,7 @@
|
|||||||
NewLine.Метод = "CreateProductCollection";
|
NewLine.Метод = "CreateProductCollection";
|
||||||
NewLine.МетодПоиска = "CREATEPRODUCTCOLLECTION";
|
NewLine.МетодПоиска = "CREATEPRODUCTCOLLECTION";
|
||||||
NewLine.Параметр = "--main";
|
NewLine.Параметр = "--main";
|
||||||
NewLine.Описание = "Main (optional, def. val. - No)";
|
NewLine.Описание = "Main (optional, def. val. - False)";
|
||||||
NewLine.Область = "Product selection management";
|
NewLine.Область = "Product selection management";
|
||||||
|
|
||||||
|
|
||||||
@ -1520,7 +1520,7 @@
|
|||||||
NewLine.Метод = "CreateProductCollection";
|
NewLine.Метод = "CreateProductCollection";
|
||||||
NewLine.МетодПоиска = "CREATEPRODUCTCOLLECTION";
|
NewLine.МетодПоиска = "CREATEPRODUCTCOLLECTION";
|
||||||
NewLine.Параметр = "--hidden";
|
NewLine.Параметр = "--hidden";
|
||||||
NewLine.Описание = "Hidden (optional, def. val. - No)";
|
NewLine.Описание = "Hidden (optional, def. val. - False)";
|
||||||
NewLine.Область = "Product selection management";
|
NewLine.Область = "Product selection management";
|
||||||
|
|
||||||
|
|
||||||
@ -1580,7 +1580,7 @@
|
|||||||
NewLine.Метод = "EditProductCollection";
|
NewLine.Метод = "EditProductCollection";
|
||||||
NewLine.МетодПоиска = "EDITPRODUCTCOLLECTION";
|
NewLine.МетодПоиска = "EDITPRODUCTCOLLECTION";
|
||||||
NewLine.Параметр = "--main";
|
NewLine.Параметр = "--main";
|
||||||
NewLine.Описание = "Main (optional, def. val. - No)";
|
NewLine.Описание = "Main (optional, def. val. - False)";
|
||||||
NewLine.Область = "Product selection management";
|
NewLine.Область = "Product selection management";
|
||||||
|
|
||||||
|
|
||||||
@ -1590,7 +1590,7 @@
|
|||||||
NewLine.Метод = "EditProductCollection";
|
NewLine.Метод = "EditProductCollection";
|
||||||
NewLine.МетодПоиска = "EDITPRODUCTCOLLECTION";
|
NewLine.МетодПоиска = "EDITPRODUCTCOLLECTION";
|
||||||
NewLine.Параметр = "--hidden";
|
NewLine.Параметр = "--hidden";
|
||||||
NewLine.Описание = "Hidden (optional, def. val. - No)";
|
NewLine.Описание = "Hidden (optional, def. val. - False)";
|
||||||
NewLine.Область = "Product selection management";
|
NewLine.Область = "Product selection management";
|
||||||
|
|
||||||
|
|
||||||
|
@ -90,7 +90,7 @@
|
|||||||
NewLine.Метод = "DeleteObject";
|
NewLine.Метод = "DeleteObject";
|
||||||
NewLine.МетодПоиска = "DELETEOBJECT";
|
NewLine.МетодПоиска = "DELETEOBJECT";
|
||||||
NewLine.Параметр = "--can";
|
NewLine.Параметр = "--can";
|
||||||
NewLine.Описание = "To cart (optional, def. val. - Да)";
|
NewLine.Описание = "To cart (optional, def. val. - True)";
|
||||||
NewLine.Область = "File and folder management";
|
NewLine.Область = "File and folder management";
|
||||||
|
|
||||||
|
|
||||||
@ -131,7 +131,7 @@
|
|||||||
NewLine.Метод = "CreateObjectCopy";
|
NewLine.Метод = "CreateObjectCopy";
|
||||||
NewLine.МетодПоиска = "CREATEOBJECTCOPY";
|
NewLine.МетодПоиска = "CREATEOBJECTCOPY";
|
||||||
NewLine.Параметр = "--rewrite";
|
NewLine.Параметр = "--rewrite";
|
||||||
NewLine.Описание = "Overwrite if a file with the same name already exists (optional, def. val. - No)";
|
NewLine.Описание = "Overwrite if a file with the same name already exists (optional, def. val. - False)";
|
||||||
NewLine.Область = "File and folder management";
|
NewLine.Область = "File and folder management";
|
||||||
|
|
||||||
|
|
||||||
@ -237,7 +237,7 @@
|
|||||||
NewLine.Метод = "GetFilesList";
|
NewLine.Метод = "GetFilesList";
|
||||||
NewLine.МетодПоиска = "GETFILESLIST";
|
NewLine.МетодПоиска = "GETFILESLIST";
|
||||||
NewLine.Параметр = "--datesort";
|
NewLine.Параметр = "--datesort";
|
||||||
NewLine.Описание = "True > sort by date, False > alphabetically (optional, def. val. - No)";
|
NewLine.Описание = "True > sort by date, False > alphabetically (optional, def. val. - False)";
|
||||||
NewLine.Область = "File and folder management";
|
NewLine.Область = "File and folder management";
|
||||||
|
|
||||||
|
|
||||||
@ -278,7 +278,7 @@
|
|||||||
NewLine.Метод = "MoveObject";
|
NewLine.Метод = "MoveObject";
|
||||||
NewLine.МетодПоиска = "MOVEOBJECT";
|
NewLine.МетодПоиска = "MOVEOBJECT";
|
||||||
NewLine.Параметр = "--rewrite";
|
NewLine.Параметр = "--rewrite";
|
||||||
NewLine.Описание = "Overwrite if a file with the same name already exists (optional, def. val. - No)";
|
NewLine.Описание = "Overwrite if a file with the same name already exists (optional, def. val. - False)";
|
||||||
NewLine.Область = "File and folder management";
|
NewLine.Область = "File and folder management";
|
||||||
|
|
||||||
|
|
||||||
@ -319,7 +319,7 @@
|
|||||||
NewLine.Метод = "UploadFile";
|
NewLine.Метод = "UploadFile";
|
||||||
NewLine.МетодПоиска = "UPLOADFILE";
|
NewLine.МетодПоиска = "UPLOADFILE";
|
||||||
NewLine.Параметр = "--rewrite";
|
NewLine.Параметр = "--rewrite";
|
||||||
NewLine.Описание = "Overwrite if a file with the same name already exists (optional, def. val. - No)";
|
NewLine.Описание = "Overwrite if a file with the same name already exists (optional, def. val. - False)";
|
||||||
NewLine.Область = "File and folder management";
|
NewLine.Область = "File and folder management";
|
||||||
|
|
||||||
|
|
||||||
|
@ -6,21 +6,21 @@
|
|||||||
|
|
||||||
Функция ПолучитьСоответствиеКомандМодулей() Экспорт
|
Функция ПолучитьСоответствиеКомандМодулей() Экспорт
|
||||||
СоответствиеКомандМодулей = Новый Соответствие();
|
СоответствиеКомандМодулей = Новый Соответствие();
|
||||||
СоответствиеКомандМодулей.Вставить("airtable", "OPI_Airtable");
|
СоответствиеКомандМодулей.Вставить("yandex", "OPI_YandexID");
|
||||||
СоответствиеКомандМодулей.Вставить("bitrix24", "OPI_Bitrix24");
|
СоответствиеКомандМодулей.Вставить("slack", "OPI_Slack");
|
||||||
СоответствиеКомандМодулей.Вставить("dropbox", "OPI_Dropbox");
|
СоответствиеКомандМодулей.Вставить("viber", "OPI_Viber");
|
||||||
|
СоответствиеКомандМодулей.Вставить("telegram", "OPI_Telegram");
|
||||||
СоответствиеКомандМодулей.Вставить("gcalendar", "OPI_GoogleCalendar");
|
СоответствиеКомандМодулей.Вставить("gcalendar", "OPI_GoogleCalendar");
|
||||||
|
СоответствиеКомандМодулей.Вставить("yadisk", "OPI_YandexDisk");
|
||||||
|
СоответствиеКомандМодулей.Вставить("vk", "OPI_VK");
|
||||||
СоответствиеКомандМодулей.Вставить("gdrive", "OPI_GoogleDrive");
|
СоответствиеКомандМодулей.Вставить("gdrive", "OPI_GoogleDrive");
|
||||||
|
СоответствиеКомандМодулей.Вставить("notion", "OPI_Notion");
|
||||||
|
СоответствиеКомандМодулей.Вставить("airtable", "OPI_Airtable");
|
||||||
|
СоответствиеКомандМодулей.Вставить("dropbox", "OPI_Dropbox");
|
||||||
|
СоответствиеКомандМодулей.Вставить("twitter", "OPI_Twitter");
|
||||||
|
СоответствиеКомандМодулей.Вставить("bitrix24", "OPI_Bitrix24");
|
||||||
СоответствиеКомандМодулей.Вставить("gsheets", "OPI_GoogleSheets");
|
СоответствиеКомандМодулей.Вставить("gsheets", "OPI_GoogleSheets");
|
||||||
СоответствиеКомандМодулей.Вставить("google", "OPI_GoogleWorkspace");
|
СоответствиеКомандМодулей.Вставить("google", "OPI_GoogleWorkspace");
|
||||||
СоответствиеКомандМодулей.Вставить("notion", "OPI_Notion");
|
|
||||||
СоответствиеКомандМодулей.Вставить("slack", "OPI_Slack");
|
|
||||||
СоответствиеКомандМодулей.Вставить("telegram", "OPI_Telegram");
|
|
||||||
СоответствиеКомандМодулей.Вставить("twitter", "OPI_Twitter");
|
|
||||||
СоответствиеКомандМодулей.Вставить("viber", "OPI_Viber");
|
|
||||||
СоответствиеКомандМодулей.Вставить("vk", "OPI_VK");
|
|
||||||
СоответствиеКомандМодулей.Вставить("yadisk", "OPI_YandexDisk");
|
|
||||||
СоответствиеКомандМодулей.Вставить("yandex", "OPI_YandexID");
|
|
||||||
Возврат СоответствиеКомандМодулей;
|
Возврат СоответствиеКомандМодулей;
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
@ -1,286 +1,286 @@
|
|||||||
// OneScript: ./OInt/core/Modules/OPI_Bitrix24.os
|
// OneScript: ./OInt/core/Modules/OPI_Bitrix24.os
|
||||||
// Lib: Bitrix24
|
// Lib: Bitrix24
|
||||||
// CLI: bitrix24
|
// CLI: bitrix24
|
||||||
|
|
||||||
// MIT License
|
// MIT License
|
||||||
|
|
||||||
// Copyright (c) 2023 Anton Tsitavets
|
// Copyright (c) 2023 Anton Tsitavets
|
||||||
|
|
||||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
// of this software and associated documentation files (the "Software"), to deal
|
// of this software and associated documentation files (the "Software"), to deal
|
||||||
// in the Software without restriction, including without limitation the rights
|
// in the Software without restriction, including without limitation the rights
|
||||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
// copies of the Software, and to permit persons to whom the Software is
|
// copies of the Software, and to permit persons to whom the Software is
|
||||||
// furnished to do so, subject to the following conditions:
|
// furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
// The above copyright notice and this permission notice shall be included in all
|
// The above copyright notice and this permission notice shall be included in all
|
||||||
// copies or substantial portions of the Software.
|
// copies or substantial portions of the Software.
|
||||||
|
|
||||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
// 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
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
// SOFTWARE.
|
// SOFTWARE.
|
||||||
|
|
||||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||||
|
|
||||||
// BSLLS:Typo-off
|
// BSLLS:Typo-off
|
||||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||||
// BSLLS:IncorrectLineBreak-off
|
// BSLLS:IncorrectLineBreak-off
|
||||||
// BSLLS:UnreachableCode-off
|
// BSLLS:UnreachableCode-off
|
||||||
// BSLLS:CommentedCode-off
|
// BSLLS:CommentedCode-off
|
||||||
|
|
||||||
//@skip-check module-structure-top-region
|
//@skip-check module-structure-top-region
|
||||||
//@skip-check module-structure-method-in-regions
|
//@skip-check module-structure-method-in-regions
|
||||||
//@skip-check wrong-string-literal-content
|
//@skip-check wrong-string-literal-content
|
||||||
//@skip-check method-too-many-params
|
//@skip-check method-too-many-params
|
||||||
|
|
||||||
// Раскомментировать, если выполняется OneScript
|
// Раскомментировать, если выполняется OneScript
|
||||||
#Использовать "../../tools"
|
#Использовать "../../tools"
|
||||||
|
|
||||||
#Область ПрограммныйИнтерфейс
|
#Область ПрограммныйИнтерфейс
|
||||||
|
|
||||||
#Область НастройкиИАдминистрирование
|
#Область НастройкиИАдминистрирование
|
||||||
|
|
||||||
// Получить ссылку авторизации приложения
|
// Получить ссылку авторизации приложения
|
||||||
// Формирует ссылку для авторизации через браузер
|
// Формирует ссылку для авторизации через браузер
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// Домен - Строка - Адрес битрикс вида portal.bitrix24.com
|
// Домен - Строка - Адрес битрикс вида portal.bitrix24.com
|
||||||
// ClientID - Строка - Client ID из настроек приложения
|
// ClientID - Строка - Client ID из настроек приложения
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Строка - URL для перехода в браузере
|
// Строка - URL для перехода в браузере
|
||||||
Функция ПолучитьСсылкуАвторизацииПриложения(Знач Домен, Знач ClientID) Экспорт
|
Функция ПолучитьСсылкуАвторизацииПриложения(Знач Домен, Знач ClientID) Экспорт
|
||||||
|
|
||||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Домен);
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Домен);
|
||||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(ClientID);
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(ClientID);
|
||||||
|
|
||||||
Если Не СтрНачинаетсяС(Домен, "http") Тогда
|
Если Не СтрНачинаетсяС(Домен, "http") Тогда
|
||||||
URL = "https://" + Домен;
|
URL = "https://" + Домен;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если Не СтрЗаканчиваетсяНа(URL, "/") Тогда
|
Если Не СтрЗаканчиваетсяНа(URL, "/") Тогда
|
||||||
URL = URL + "/";
|
URL = URL + "/";
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
URL = URL + "oauth/authorize/?client_id=" + ClientID;
|
URL = URL + "oauth/authorize/?client_id=" + ClientID;
|
||||||
|
|
||||||
Возврат URL;
|
Возврат URL;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Получить токен
|
// Получить токен
|
||||||
// Получает токен по коду авторизации
|
// Получает токен по коду авторизации
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// ClientID - Строка - Client ID из настроек приложения
|
// ClientID - Строка - Client ID из настроек приложения
|
||||||
// ClientSecret - Строка - Client secret из настроек приложения
|
// ClientSecret - Строка - Client secret из настроек приложения
|
||||||
// Code - Строка - Code из авторизации через браузер
|
// Code - Строка - Code из авторизации через браузер
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||||
Функция ПолучитьТокен(Знач ClientID, Знач ClientSecret, Знач Code) Экспорт
|
Функция ПолучитьТокен(Знач ClientID, Знач ClientSecret, Знач Code) Экспорт
|
||||||
|
|
||||||
URL = "https://oauth.bitrix.info/oauth/token/";
|
URL = "https://oauth.bitrix.info/oauth/token/";
|
||||||
|
|
||||||
Параметры = Новый Структура;
|
Параметры = Новый Структура;
|
||||||
OPI_Инструменты.ДобавитьПоле("grant_type" , "authorization_code", "Строка", Параметры);
|
OPI_Инструменты.ДобавитьПоле("grant_type" , "authorization_code", "Строка", Параметры);
|
||||||
OPI_Инструменты.ДобавитьПоле("client_id" , ClientID , "Строка", Параметры);
|
OPI_Инструменты.ДобавитьПоле("client_id" , ClientID , "Строка", Параметры);
|
||||||
OPI_Инструменты.ДобавитьПоле("client_secret", ClientSecret , "Строка", Параметры);
|
OPI_Инструменты.ДобавитьПоле("client_secret", ClientSecret , "Строка", Параметры);
|
||||||
OPI_Инструменты.ДобавитьПоле("code" , Code , "Строка", Параметры);
|
OPI_Инструменты.ДобавитьПоле("code" , Code , "Строка", Параметры);
|
||||||
|
|
||||||
Ответ = OPI_Инструменты.Get(URL, Параметры);
|
Ответ = OPI_Инструменты.Get(URL, Параметры);
|
||||||
|
|
||||||
Возврат Ответ;
|
Возврат Ответ;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Обновить токен
|
// Обновить токен
|
||||||
// Обновляет токен по Refresh токену
|
// Обновляет токен по Refresh токену
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// ClientID - Строка - Client ID из настроек приложения
|
// ClientID - Строка - Client ID из настроек приложения
|
||||||
// ClientSecret - Строка - Client secret из настроек приложения
|
// ClientSecret - Строка - Client secret из настроек приложения
|
||||||
// Refresh - Строка - Refresh токен
|
// Refresh - Строка - Refresh токен
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||||
Функция ОбновитьТокен(Знач ClientID, Знач ClientSecret, Знач Refresh) Экспорт
|
Функция ОбновитьТокен(Знач ClientID, Знач ClientSecret, Знач Refresh) Экспорт
|
||||||
|
|
||||||
URL = "https://oauth.bitrix.info/oauth/token/";
|
URL = "https://oauth.bitrix.info/oauth/token/";
|
||||||
|
|
||||||
Параметры = Новый Структура;
|
Параметры = Новый Структура;
|
||||||
OPI_Инструменты.ДобавитьПоле("grant_type" , "refresh_token" , "Строка", Параметры);
|
OPI_Инструменты.ДобавитьПоле("grant_type" , "refresh_token" , "Строка", Параметры);
|
||||||
OPI_Инструменты.ДобавитьПоле("client_id" , ClientID , "Строка", Параметры);
|
OPI_Инструменты.ДобавитьПоле("client_id" , ClientID , "Строка", Параметры);
|
||||||
OPI_Инструменты.ДобавитьПоле("client_secret", ClientSecret , "Строка", Параметры);
|
OPI_Инструменты.ДобавитьПоле("client_secret", ClientSecret , "Строка", Параметры);
|
||||||
OPI_Инструменты.ДобавитьПоле("refresh_token", Refresh , "Строка", Параметры);
|
OPI_Инструменты.ДобавитьПоле("refresh_token", Refresh , "Строка", Параметры);
|
||||||
|
|
||||||
Ответ = OPI_Инструменты.Get(URL, Параметры);
|
Ответ = OPI_Инструменты.Get(URL, Параметры);
|
||||||
|
|
||||||
Возврат Ответ;
|
Возврат Ответ;
|
||||||
|
|
||||||
Конецфункции
|
Конецфункции
|
||||||
|
|
||||||
// Серверное время
|
// Серверное время
|
||||||
// Получает текущее серверное время
|
// Получает текущее серверное время
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// URL - Строка - URL внешнего веб-хука или адрес Bitrix24 при использовании токена
|
// URL - Строка - URL внешнего веб-хука или адрес Bitrix24 при использовании токена
|
||||||
// Токен - Строка - Токен авторизации, если используется не веб-хук
|
// Токен - Строка - Токен авторизации, если используется не веб-хук
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||||
Функция СерверноеВремя(Знач URL, Знач Токен = "") Экспорт
|
Функция СерверноеВремя(Знач URL, Знач Токен = "") Экспорт
|
||||||
|
|
||||||
Параметры = НормализоватьАвторизацию(URL, Токен, "server.time");
|
Параметры = НормализоватьАвторизацию(URL, Токен, "server.time");
|
||||||
Ответ = OPI_Инструменты.Get(URL, Параметры);
|
Ответ = OPI_Инструменты.Get(URL, Параметры);
|
||||||
|
|
||||||
Возврат Ответ;
|
Возврат Ответ;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область ЖиваяЛента
|
#Область ЖиваяЛента
|
||||||
|
|
||||||
// Создать новость.
|
// Создать новость.
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// URL - Строка - URL внешнего веб-хука или адрес Bitrix24 при использовании токена
|
// URL - Строка - URL внешнего веб-хука или адрес Bitrix24 при использовании токена
|
||||||
// Текст - Строка - Текст новости
|
// Текст - Строка - Текст новости
|
||||||
// Видмость - Строка - Массив/Один получатель (UA все, SG<X> раб. группа, U<X> пользователь, DR<X> отдел, G<X> группа)
|
// Видмость - Строка - Массив/Один получатель (UA все, SG<X> раб. группа, U<X> пользователь, DR<X> отдел, G<X> группа)
|
||||||
// Файлы - Строка - Данные вложений, где ключ > имя файла, значение > путь к файлу иди двоичные данные
|
// Файлы - Строка - Данные вложений, где ключ > имя файла, значение > путь к файлу иди двоичные данные
|
||||||
// Заголовок - Строка - Заголовок
|
// Заголовок - Строка - Заголовок
|
||||||
// Токен - Строка - Токен авторизации, если используется не веб-хук
|
// Токен - Строка - Токен авторизации, если используется не веб-хук
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||||
Функция СоздатьНовость(Знач URL
|
Функция СоздатьНовость(Знач URL
|
||||||
, Знач Текст
|
, Знач Текст
|
||||||
, Знач Видмость = "UA"
|
, Знач Видмость = "UA"
|
||||||
, Знач Файлы = ""
|
, Знач Файлы = ""
|
||||||
, Знач Заголовок = ""
|
, Знач Заголовок = ""
|
||||||
, Знач Токен = "") Экспорт
|
, Знач Токен = "") Экспорт
|
||||||
|
|
||||||
Параметры = НормализоватьАвторизацию(URL, Токен, "log.blogpost.add");
|
Параметры = НормализоватьАвторизацию(URL, Токен, "log.blogpost.add");
|
||||||
OPI_Инструменты.ДобавитьПоле("POST_MESSAGE", Текст , "Строка", Параметры);
|
OPI_Инструменты.ДобавитьПоле("POST_MESSAGE", Текст , "Строка", Параметры);
|
||||||
OPI_Инструменты.ДобавитьПоле("POST_TITLE" , Заголовок, "Строка", Параметры);
|
OPI_Инструменты.ДобавитьПоле("POST_TITLE" , Заголовок, "Строка", Параметры);
|
||||||
OPI_Инструменты.ДобавитьПоле("DEST" , Видмость , "Массив", Параметры);
|
OPI_Инструменты.ДобавитьПоле("DEST" , Видмость , "Массив", Параметры);
|
||||||
|
|
||||||
Если ЗначениеЗаполнено(Файлы) Тогда
|
Если ЗначениеЗаполнено(Файлы) Тогда
|
||||||
|
|
||||||
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Файлы);
|
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Файлы);
|
||||||
|
|
||||||
МассивФайлов = НормализоватьФайлы(Файлы);
|
МассивФайлов = НормализоватьФайлы(Файлы);
|
||||||
|
|
||||||
Если Не МассивФайлов.Количество() = 0 Тогда
|
Если Не МассивФайлов.Количество() = 0 Тогда
|
||||||
Параметры.Вставить("FILES", МассивФайлов);
|
Параметры.Вставить("FILES", МассивФайлов);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Конецесли;
|
Конецесли;
|
||||||
|
|
||||||
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||||
|
|
||||||
Возврат Ответ;
|
Возврат Ответ;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Удалить новость.
|
// Удалить новость.
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// URL - Строка - URL внешнего веб-хука или адрес Bitrix24 при использовании токена
|
// URL - Строка - URL внешнего веб-хука или адрес Bitrix24 при использовании токена
|
||||||
// IDНовости - Строка, Число - ID новости для удаления
|
// IDНовости - Строка, Число - ID новости для удаления
|
||||||
// Токен - Строка - Токен авторизации, если используется не веб-хук
|
// Токен - Строка - Токен авторизации, если используется не веб-хук
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||||
Функция УдалитьНовость(Знач URL, Знач IDНовости, Знач Токен = "") Экспорт
|
Функция УдалитьНовость(Знач URL, Знач IDНовости, Знач Токен = "") Экспорт
|
||||||
|
|
||||||
Параметры = НормализоватьАвторизацию(URL, Токен, "log.blogpost.delete");
|
Параметры = НормализоватьАвторизацию(URL, Токен, "log.blogpost.delete");
|
||||||
OPI_Инструменты.ДобавитьПоле("POST_ID", IDНовости, "Строка", Параметры);
|
OPI_Инструменты.ДобавитьПоле("POST_ID", IDНовости, "Строка", Параметры);
|
||||||
|
|
||||||
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||||
|
|
||||||
Возврат Ответ;
|
Возврат Ответ;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область СлужебныйПрограммныйИнтерфейс
|
#Область СлужебныйПрограммныйИнтерфейс
|
||||||
|
|
||||||
Функция НормализоватьАвторизацию(URL, Знач Токен, Знач Метод = "")
|
Функция НормализоватьАвторизацию(URL, Знач Токен, Знач Метод = "")
|
||||||
|
|
||||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(URL);
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(URL);
|
||||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
|
||||||
|
|
||||||
Параметры = Новый Структура;
|
Параметры = Новый Структура;
|
||||||
ЭтоАвторизацияТокеном = ЗначениеЗаполнено(Токен);
|
ЭтоАвторизацияТокеном = ЗначениеЗаполнено(Токен);
|
||||||
|
|
||||||
МассивЛишнихЭлементов = Новый Массив;
|
МассивЛишнихЭлементов = Новый Массив;
|
||||||
МассивЛишнихЭлементов.Добавить("https://");
|
МассивЛишнихЭлементов.Добавить("https://");
|
||||||
МассивЛишнихЭлементов.Добавить("http://");
|
МассивЛишнихЭлементов.Добавить("http://");
|
||||||
МассивЛишнихЭлементов.Добавить("www.");
|
МассивЛишнихЭлементов.Добавить("www.");
|
||||||
|
|
||||||
Для Каждого УдаляемыйЭлемент Из МассивЛишнихЭлементов Цикл
|
Для Каждого УдаляемыйЭлемент Из МассивЛишнихЭлементов Цикл
|
||||||
URL = СтрЗаменить(URL, УдаляемыйЭлемент, "");
|
URL = СтрЗаменить(URL, УдаляемыйЭлемент, "");
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
URL = СокрЛП(URL);
|
URL = СокрЛП(URL);
|
||||||
|
|
||||||
Если Не СтрЗаканчиваетсяНа(URL, "/") Тогда
|
Если Не СтрЗаканчиваетсяНа(URL, "/") Тогда
|
||||||
URL = URL + "/";
|
URL = URL + "/";
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ЭтоАвторизацияТокеном Тогда
|
Если ЭтоАвторизацияТокеном Тогда
|
||||||
|
|
||||||
Если Не СтрЗаканчиваетсяНа(URL, "rest/") Тогда
|
Если Не СтрЗаканчиваетсяНа(URL, "rest/") Тогда
|
||||||
URL = URL + "rest/";
|
URL = URL + "rest/";
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Параметры.Вставить("auth", Токен);
|
Параметры.Вставить("auth", Токен);
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ЗначениеЗаполнено(Метод) Тогда
|
Если ЗначениеЗаполнено(Метод) Тогда
|
||||||
URL = URL + СокрЛП(Метод);
|
URL = URL + СокрЛП(Метод);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат Параметры;
|
Возврат Параметры;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция НормализоватьФайлы(Знач Файлы)
|
Функция НормализоватьФайлы(Знач Файлы)
|
||||||
|
|
||||||
НормализованныеФайлы = Новый Массив;
|
НормализованныеФайлы = Новый Массив;
|
||||||
|
|
||||||
Если Не ТипЗнч(Файлы) = Тип("Соответствие") Тогда
|
Если Не ТипЗнч(Файлы) = Тип("Соответствие") Тогда
|
||||||
Возврат НормализованныеФайлы;
|
Возврат НормализованныеФайлы;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Для Каждого Файл Из Файлы Цикл
|
Для Каждого Файл Из Файлы Цикл
|
||||||
|
|
||||||
ТекущийМассив = Новый Массив;
|
ТекущийМассив = Новый Массив;
|
||||||
ТекущийФайл = Файл.Значение;
|
ТекущийФайл = Файл.Значение;
|
||||||
ТекущееИмя = Файл.Ключ;
|
ТекущееИмя = Файл.Ключ;
|
||||||
|
|
||||||
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(ТекущийФайл);
|
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(ТекущийФайл);
|
||||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТекущееИмя);
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТекущееИмя);
|
||||||
|
|
||||||
ТекущийМассив.Добавить(ТекущееИмя);
|
ТекущийМассив.Добавить(ТекущееИмя);
|
||||||
ТекущийМассив.Добавить(Base64Строка(ТекущийФайл));
|
ТекущийМассив.Добавить(Base64Строка(ТекущийФайл));
|
||||||
|
|
||||||
НормализованныеФайлы.Добавить(ТекущийМассив);
|
НормализованныеФайлы.Добавить(ТекущийМассив);
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
Возврат НормализованныеФайлы;
|
Возврат НормализованныеФайлы;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
@ -1,21 +1,21 @@
|
|||||||
<package-def>
|
<package-def>
|
||||||
<module name="OPI_Airtable" file="core/Modules/OPI_Airtable.os"/>
|
|
||||||
<module name="OPI_Bitrix24" file="core/Modules/OPI_Bitrix24.os"/>
|
|
||||||
<module name="OPI_Dropbox" file="core/Modules/OPI_Dropbox.os"/>
|
|
||||||
<module name="OPI_GoogleCalendar" file="core/Modules/OPI_GoogleCalendar.os"/>
|
<module name="OPI_GoogleCalendar" file="core/Modules/OPI_GoogleCalendar.os"/>
|
||||||
<module name="OPI_GoogleDrive" file="core/Modules/OPI_GoogleDrive.os"/>
|
<module name="OPI_Инструменты" file="tools/Modules/internal/Modules/OPI_Инструменты.os"/>
|
||||||
<module name="OPI_GoogleSheets" file="core/Modules/OPI_GoogleSheets.os"/>
|
|
||||||
<module name="OPI_GoogleWorkspace" file="core/Modules/OPI_GoogleWorkspace.os"/>
|
|
||||||
<module name="OPI_Notion" file="core/Modules/OPI_Notion.os"/>
|
<module name="OPI_Notion" file="core/Modules/OPI_Notion.os"/>
|
||||||
<module name="OPI_Slack" file="core/Modules/OPI_Slack.os"/>
|
|
||||||
<module name="OPI_Telegram" file="core/Modules/OPI_Telegram.os"/>
|
<module name="OPI_Telegram" file="core/Modules/OPI_Telegram.os"/>
|
||||||
|
<module name="OPI_GoogleDrive" file="core/Modules/OPI_GoogleDrive.os"/>
|
||||||
|
<module name="OPI_ПолучениеДанныхТестов" file="tools/Modules/OPI_ПолучениеДанныхТестов.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"/>
|
||||||
<module name="OPI_VK" file="core/Modules/OPI_VK.os"/>
|
|
||||||
<module name="OPI_YandexDisk" file="core/Modules/OPI_YandexDisk.os"/>
|
|
||||||
<module name="OPI_YandexID" file="core/Modules/OPI_YandexID.os"/>
|
|
||||||
<module name="OPI_Инструменты" file="tools/Modules/internal/Modules/OPI_Инструменты.os"/>
|
|
||||||
<module name="OPI_Криптография" file="tools/Modules/internal/Modules/OPI_Криптография.os"/>
|
|
||||||
<module name="OPI_ПолучениеДанныхТестов" file="tools/Modules/OPI_ПолучениеДанныхТестов.os"/>
|
|
||||||
<module name="OPI_ПреобразованиеТипов" file="tools/Modules/OPI_ПреобразованиеТипов.os"/>
|
<module name="OPI_ПреобразованиеТипов" file="tools/Modules/OPI_ПреобразованиеТипов.os"/>
|
||||||
|
<module name="OPI_GoogleWorkspace" file="core/Modules/OPI_GoogleWorkspace.os"/>
|
||||||
|
<module name="OPI_Bitrix24" file="core/Modules/OPI_Bitrix24.os"/>
|
||||||
|
<module name="OPI_YandexDisk" file="core/Modules/OPI_YandexDisk.os"/>
|
||||||
|
<module name="OPI_Dropbox" file="core/Modules/OPI_Dropbox.os"/>
|
||||||
|
<module name="OPI_Airtable" file="core/Modules/OPI_Airtable.os"/>
|
||||||
|
<module name="OPI_Slack" file="core/Modules/OPI_Slack.os"/>
|
||||||
|
<module name="OPI_GoogleSheets" file="core/Modules/OPI_GoogleSheets.os"/>
|
||||||
|
<module name="OPI_YandexID" file="core/Modules/OPI_YandexID.os"/>
|
||||||
|
<module name="OPI_VK" file="core/Modules/OPI_VK.os"/>
|
||||||
|
<module name="OPI_Криптография" file="tools/Modules/internal/Modules/OPI_Криптография.os"/>
|
||||||
</package-def>
|
</package-def>
|
||||||
|
@ -1,55 +1,55 @@
|
|||||||
Функция ПолучитьСостав() Экспорт
|
Функция ПолучитьСостав() Экспорт
|
||||||
|
|
||||||
ТаблицаСостава = Новый ТаблицаЗначений();
|
ТаблицаСостава = Новый ТаблицаЗначений();
|
||||||
ТаблицаСостава.Колонки.Добавить("Библиотека");
|
ТаблицаСостава.Колонки.Добавить("Библиотека");
|
||||||
ТаблицаСостава.Колонки.Добавить("Модуль");
|
ТаблицаСостава.Колонки.Добавить("Модуль");
|
||||||
ТаблицаСостава.Колонки.Добавить("Метод");
|
ТаблицаСостава.Колонки.Добавить("Метод");
|
||||||
ТаблицаСостава.Колонки.Добавить("МетодПоиска");
|
ТаблицаСостава.Колонки.Добавить("МетодПоиска");
|
||||||
ТаблицаСостава.Колонки.Добавить("Параметр");
|
ТаблицаСостава.Колонки.Добавить("Параметр");
|
||||||
ТаблицаСостава.Колонки.Добавить("Описание");
|
ТаблицаСостава.Колонки.Добавить("Описание");
|
||||||
ТаблицаСостава.Колонки.Добавить("ОписаниеМетода");
|
ТаблицаСостава.Колонки.Добавить("ОписаниеМетода");
|
||||||
ТаблицаСостава.Колонки.Добавить("Область");
|
ТаблицаСостава.Колонки.Добавить("Область");
|
||||||
|
|
||||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||||
НоваяСтрока.Библиотека = "bitrix24";
|
НоваяСтрока.Библиотека = "bitrix24";
|
||||||
НоваяСтрока.Модуль = "OPI_Bitrix24";
|
НоваяСтрока.Модуль = "OPI_Bitrix24";
|
||||||
НоваяСтрока.Метод = "СерверноеВремя";
|
НоваяСтрока.Метод = "СерверноеВремя";
|
||||||
НоваяСтрока.МетодПоиска = "СЕРВЕРНОЕВРЕМЯ";
|
НоваяСтрока.МетодПоиска = "СЕРВЕРНОЕВРЕМЯ";
|
||||||
НоваяСтрока.Параметр = "--хука или адрес Bitrix24 при использовании токена";
|
НоваяСтрока.Параметр = "--хука или адрес Bitrix24 при использовании токена";
|
||||||
НоваяСтрока.Описание = "URL внешнего веб";
|
НоваяСтрока.Описание = "URL внешнего веб";
|
||||||
НоваяСтрока.Область = "Настройки и администрирование";
|
НоваяСтрока.Область = "Настройки и администрирование";
|
||||||
НоваяСтрока.ОписаниеМетода = "Получает текущее серверное время";
|
НоваяСтрока.ОписаниеМетода = "Получает текущее серверное время";
|
||||||
|
|
||||||
|
|
||||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||||
НоваяСтрока.Библиотека = "bitrix24";
|
НоваяСтрока.Библиотека = "bitrix24";
|
||||||
НоваяСтрока.Модуль = "OPI_Bitrix24";
|
НоваяСтрока.Модуль = "OPI_Bitrix24";
|
||||||
НоваяСтрока.Метод = "СерверноеВремя";
|
НоваяСтрока.Метод = "СерверноеВремя";
|
||||||
НоваяСтрока.МетодПоиска = "СЕРВЕРНОЕВРЕМЯ";
|
НоваяСтрока.МетодПоиска = "СЕРВЕРНОЕВРЕМЯ";
|
||||||
НоваяСтрока.Параметр = "--хук";
|
НоваяСтрока.Параметр = "--хук";
|
||||||
НоваяСтрока.Описание = "Токен авторизации, если используется не веб (необяз. по ум. - Пустое значение)";
|
НоваяСтрока.Описание = "Токен авторизации, если используется не веб (необяз. по ум. - Пустое значение)";
|
||||||
НоваяСтрока.Область = "Настройки и администрирование";
|
НоваяСтрока.Область = "Настройки и администрирование";
|
||||||
|
|
||||||
|
|
||||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||||
НоваяСтрока.Библиотека = "bitrix24";
|
НоваяСтрока.Библиотека = "bitrix24";
|
||||||
НоваяСтрока.Модуль = "OPI_Bitrix24";
|
НоваяСтрока.Модуль = "OPI_Bitrix24";
|
||||||
НоваяСтрока.Метод = "СоздатьНовость";
|
НоваяСтрока.Метод = "СоздатьНовость";
|
||||||
НоваяСтрока.МетодПоиска = "СОЗДАТЬНОВОСТЬ";
|
НоваяСтрока.МетодПоиска = "СОЗДАТЬНОВОСТЬ";
|
||||||
НоваяСтрока.Параметр = "--хука или адрес Bitrix24 при использовании токена";
|
НоваяСтрока.Параметр = "--хука или адрес Bitrix24 при использовании токена";
|
||||||
НоваяСтрока.Описание = "URL внешнего веб";
|
НоваяСтрока.Описание = "URL внешнего веб";
|
||||||
НоваяСтрока.Область = "Живая лента";
|
НоваяСтрока.Область = "Живая лента";
|
||||||
|
|
||||||
|
|
||||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||||
НоваяСтрока.Библиотека = "bitrix24";
|
НоваяСтрока.Библиотека = "bitrix24";
|
||||||
НоваяСтрока.Модуль = "OPI_Bitrix24";
|
НоваяСтрока.Модуль = "OPI_Bitrix24";
|
||||||
НоваяСтрока.Метод = "УдалитьНовость";
|
НоваяСтрока.Метод = "УдалитьНовость";
|
||||||
НоваяСтрока.МетодПоиска = "УДАЛИТЬНОВОСТЬ";
|
НоваяСтрока.МетодПоиска = "УДАЛИТЬНОВОСТЬ";
|
||||||
НоваяСтрока.Параметр = "--хука или адрес Bitrix24 при использовании токена";
|
НоваяСтрока.Параметр = "--хука или адрес Bitrix24 при использовании токена";
|
||||||
НоваяСтрока.Описание = "URL внешнего веб";
|
НоваяСтрока.Описание = "URL внешнего веб";
|
||||||
НоваяСтрока.Область = "Живая лента";
|
НоваяСтрока.Область = "Живая лента";
|
||||||
|
|
||||||
Возврат ТаблицаСостава;
|
Возврат ТаблицаСостава;
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
@ -142,7 +142,7 @@
|
|||||||
НоваяСтрока.Метод = "ПолучитьИнформациюОбОбъекте";
|
НоваяСтрока.Метод = "ПолучитьИнформациюОбОбъекте";
|
||||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬИНФОРМАЦИЮОБОБЪЕКТЕ";
|
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬИНФОРМАЦИЮОБОБЪЕКТЕ";
|
||||||
НоваяСтрока.Параметр = "--detail";
|
НоваяСтрока.Параметр = "--detail";
|
||||||
НоваяСтрока.Описание = "Добавляет дополнительные поля информации для медиафайлов (необяз. по ум. - Нет)";
|
НоваяСтрока.Описание = "Добавляет дополнительные поля информации для медиафайлов (необяз. по ум. - False)";
|
||||||
НоваяСтрока.Область = "Работа с файлами и каталогами";
|
НоваяСтрока.Область = "Работа с файлами и каталогами";
|
||||||
|
|
||||||
|
|
||||||
@ -173,7 +173,7 @@
|
|||||||
НоваяСтрока.Метод = "ПолучитьСписокФайловПапки";
|
НоваяСтрока.Метод = "ПолучитьСписокФайловПапки";
|
||||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКФАЙЛОВПАПКИ";
|
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКФАЙЛОВПАПКИ";
|
||||||
НоваяСтрока.Параметр = "--detail";
|
НоваяСтрока.Параметр = "--detail";
|
||||||
НоваяСтрока.Описание = "Добавляет дополнительные поля информации для медиафайлов (необяз. по ум. - Нет)";
|
НоваяСтрока.Описание = "Добавляет дополнительные поля информации для медиафайлов (необяз. по ум. - False)";
|
||||||
НоваяСтрока.Область = "Работа с файлами и каталогами";
|
НоваяСтрока.Область = "Работа с файлами и каталогами";
|
||||||
|
|
||||||
|
|
||||||
@ -245,7 +245,7 @@
|
|||||||
НоваяСтрока.Метод = "ЗагрузитьФайл";
|
НоваяСтрока.Метод = "ЗагрузитьФайл";
|
||||||
НоваяСтрока.МетодПоиска = "ЗАГРУЗИТЬФАЙЛ";
|
НоваяСтрока.МетодПоиска = "ЗАГРУЗИТЬФАЙЛ";
|
||||||
НоваяСтрока.Параметр = "--overwrite";
|
НоваяСтрока.Параметр = "--overwrite";
|
||||||
НоваяСтрока.Описание = "Перезаписывать файл при конфликте путей (необяз. по ум. - Нет)";
|
НоваяСтрока.Описание = "Перезаписывать файл при конфликте путей (необяз. по ум. - False)";
|
||||||
НоваяСтрока.Область = "Работа с файлами и каталогами";
|
НоваяСтрока.Область = "Работа с файлами и каталогами";
|
||||||
|
|
||||||
|
|
||||||
@ -689,7 +689,7 @@
|
|||||||
НоваяСтрока.Метод = "ДобавитьПользователейКФайлу";
|
НоваяСтрока.Метод = "ДобавитьПользователейКФайлу";
|
||||||
НоваяСтрока.МетодПоиска = "ДОБАВИТЬПОЛЬЗОВАТЕЛЕЙКФАЙЛУ";
|
НоваяСтрока.МетодПоиска = "ДОБАВИТЬПОЛЬЗОВАТЕЛЕЙКФАЙЛУ";
|
||||||
НоваяСтрока.Параметр = "--readonly";
|
НоваяСтрока.Параметр = "--readonly";
|
||||||
НоваяСтрока.Описание = "Запрещает редактирование файла для стороннего пользователя (необяз. по ум. - Да)";
|
НоваяСтрока.Описание = "Запрещает редактирование файла для стороннего пользователя (необяз. по ум. - True)";
|
||||||
НоваяСтрока.Область = "Настройки совместного доступа";
|
НоваяСтрока.Область = "Настройки совместного доступа";
|
||||||
|
|
||||||
|
|
||||||
@ -734,7 +734,7 @@
|
|||||||
НоваяСтрока.Метод = "ДобавитьПользователейКПапке";
|
НоваяСтрока.Метод = "ДобавитьПользователейКПапке";
|
||||||
НоваяСтрока.МетодПоиска = "ДОБАВИТЬПОЛЬЗОВАТЕЛЕЙКПАПКЕ";
|
НоваяСтрока.МетодПоиска = "ДОБАВИТЬПОЛЬЗОВАТЕЛЕЙКПАПКЕ";
|
||||||
НоваяСтрока.Параметр = "--readonly";
|
НоваяСтрока.Параметр = "--readonly";
|
||||||
НоваяСтрока.Описание = "Запрещает редактирование файла для стороннего пользователя (необяз. по ум. - Да)";
|
НоваяСтрока.Описание = "Запрещает редактирование файла для стороннего пользователя (необяз. по ум. - True)";
|
||||||
НоваяСтрока.Область = "Настройки совместного доступа";
|
НоваяСтрока.Область = "Настройки совместного доступа";
|
||||||
|
|
||||||
|
|
||||||
|
@ -246,7 +246,7 @@
|
|||||||
НоваяСтрока.Метод = "ИзменитьКалендарьСписка";
|
НоваяСтрока.Метод = "ИзменитьКалендарьСписка";
|
||||||
НоваяСтрока.МетодПоиска = "ИЗМЕНИТЬКАЛЕНДАРЬСПИСКА";
|
НоваяСтрока.МетодПоиска = "ИЗМЕНИТЬКАЛЕНДАРЬСПИСКА";
|
||||||
НоваяСтрока.Параметр = "--hidden";
|
НоваяСтрока.Параметр = "--hidden";
|
||||||
НоваяСтрока.Описание = "Скрытый календарь (необяз. по ум. - Нет)";
|
НоваяСтрока.Описание = "Скрытый календарь (необяз. по ум. - False)";
|
||||||
НоваяСтрока.Область = "Работа со списком календарей";
|
НоваяСтрока.Область = "Работа со списком календарей";
|
||||||
|
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@
|
|||||||
НоваяСтрока.Метод = "ПолучитьСписокКаталогов";
|
НоваяСтрока.Метод = "ПолучитьСписокКаталогов";
|
||||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОККАТАЛОГОВ";
|
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОККАТАЛОГОВ";
|
||||||
НоваяСтрока.Параметр = "--depth";
|
НоваяСтрока.Параметр = "--depth";
|
||||||
НоваяСтрока.Описание = "Добавляет список файлов к полям каталога (необяз. по ум. - Нет)";
|
НоваяСтрока.Описание = "Добавляет список файлов к полям каталога (необяз. по ум. - False)";
|
||||||
НоваяСтрока.Область = "Работа с файлами и каталогами";
|
НоваяСтрока.Область = "Работа с файлами и каталогами";
|
||||||
|
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
НоваяСтрока.Метод = "СформироватьСсылкуПолученияКода";
|
НоваяСтрока.Метод = "СформироватьСсылкуПолученияКода";
|
||||||
НоваяСтрока.МетодПоиска = "СФОРМИРОВАТЬССЫЛКУПОЛУЧЕНИЯКОДА";
|
НоваяСтрока.МетодПоиска = "СФОРМИРОВАТЬССЫЛКУПОЛУЧЕНИЯКОДА";
|
||||||
НоваяСтрока.Параметр = "--calendar";
|
НоваяСтрока.Параметр = "--calendar";
|
||||||
НоваяСтрока.Описание = "разрешение на методы Calendar (необяз. по ум. - Да)";
|
НоваяСтрока.Описание = "разрешение на методы Calendar (необяз. по ум. - True)";
|
||||||
НоваяСтрока.Область = "Программный интерфейс";
|
НоваяСтрока.Область = "Программный интерфейс";
|
||||||
|
|
||||||
|
|
||||||
@ -37,7 +37,7 @@
|
|||||||
НоваяСтрока.Метод = "СформироватьСсылкуПолученияКода";
|
НоваяСтрока.Метод = "СформироватьСсылкуПолученияКода";
|
||||||
НоваяСтрока.МетодПоиска = "СФОРМИРОВАТЬССЫЛКУПОЛУЧЕНИЯКОДА";
|
НоваяСтрока.МетодПоиска = "СФОРМИРОВАТЬССЫЛКУПОЛУЧЕНИЯКОДА";
|
||||||
НоваяСтрока.Параметр = "--drive";
|
НоваяСтрока.Параметр = "--drive";
|
||||||
НоваяСтрока.Описание = "разрешение на методы Drive (необяз. по ум. - Да)";
|
НоваяСтрока.Описание = "разрешение на методы Drive (необяз. по ум. - True)";
|
||||||
НоваяСтрока.Область = "Программный интерфейс";
|
НоваяСтрока.Область = "Программный интерфейс";
|
||||||
|
|
||||||
|
|
||||||
@ -47,7 +47,7 @@
|
|||||||
НоваяСтрока.Метод = "СформироватьСсылкуПолученияКода";
|
НоваяСтрока.Метод = "СформироватьСсылкуПолученияКода";
|
||||||
НоваяСтрока.МетодПоиска = "СФОРМИРОВАТЬССЫЛКУПОЛУЧЕНИЯКОДА";
|
НоваяСтрока.МетодПоиска = "СФОРМИРОВАТЬССЫЛКУПОЛУЧЕНИЯКОДА";
|
||||||
НоваяСтрока.Параметр = "--sheets";
|
НоваяСтрока.Параметр = "--sheets";
|
||||||
НоваяСтрока.Описание = "разрешение на методы Sheets (необяз. по ум. - Да)";
|
НоваяСтрока.Описание = "разрешение на методы Sheets (необяз. по ум. - True)";
|
||||||
НоваяСтрока.Область = "Программный интерфейс";
|
НоваяСтрока.Область = "Программный интерфейс";
|
||||||
|
|
||||||
|
|
||||||
|
@ -165,7 +165,7 @@
|
|||||||
НоваяСтрока.Метод = "ИзменитьСвойстваСтраницы";
|
НоваяСтрока.Метод = "ИзменитьСвойстваСтраницы";
|
||||||
НоваяСтрока.МетодПоиска = "ИЗМЕНИТЬСВОЙСТВАСТРАНИЦЫ";
|
НоваяСтрока.МетодПоиска = "ИЗМЕНИТЬСВОЙСТВАСТРАНИЦЫ";
|
||||||
НоваяСтрока.Параметр = "--archive";
|
НоваяСтрока.Параметр = "--archive";
|
||||||
НоваяСтрока.Описание = "Архивировать страницу или нет (булево) (необяз. по ум. - Нет)";
|
НоваяСтрока.Описание = "Архивировать страницу или нет (булево) (необяз. по ум. - False)";
|
||||||
НоваяСтрока.Область = "Работа со страницами";
|
НоваяСтрока.Область = "Работа со страницами";
|
||||||
|
|
||||||
|
|
||||||
@ -381,7 +381,7 @@
|
|||||||
НоваяСтрока.Метод = "ВернутьБлок";
|
НоваяСтрока.Метод = "ВернутьБлок";
|
||||||
НоваяСтрока.МетодПоиска = "ВЕРНУТЬБЛОК";
|
НоваяСтрока.МетодПоиска = "ВЕРНУТЬБЛОК";
|
||||||
НоваяСтрока.Параметр = "--core";
|
НоваяСтрока.Параметр = "--core";
|
||||||
НоваяСтрока.Описание = "Истина > служебные поля удаляются, остается только сам блок (необяз. по ум. - Да)";
|
НоваяСтрока.Описание = "Истина > служебные поля удаляются, остается только сам блок (необяз. по ум. - True)";
|
||||||
НоваяСтрока.Область = "Работа с блоками";
|
НоваяСтрока.Область = "Работа с блоками";
|
||||||
|
|
||||||
|
|
||||||
|
@ -272,7 +272,7 @@
|
|||||||
НоваяСтрока.Метод = "УдалитьСообщение";
|
НоваяСтрока.Метод = "УдалитьСообщение";
|
||||||
НоваяСтрока.МетодПоиска = "УДАЛИТЬСООБЩЕНИЕ";
|
НоваяСтрока.МетодПоиска = "УДАЛИТЬСООБЩЕНИЕ";
|
||||||
НоваяСтрока.Параметр = "--issheduled";
|
НоваяСтрока.Параметр = "--issheduled";
|
||||||
НоваяСтрока.Описание = "Признак удаления отложенного сообщения (необяз. по ум. - Нет)";
|
НоваяСтрока.Описание = "Признак удаления отложенного сообщения (необяз. по ум. - False)";
|
||||||
НоваяСтрока.Область = "Работа с сообщениями";
|
НоваяСтрока.Область = "Работа с сообщениями";
|
||||||
|
|
||||||
|
|
||||||
@ -396,7 +396,7 @@
|
|||||||
НоваяСтрока.Метод = "ПолучитьСписокКаналов";
|
НоваяСтрока.Метод = "ПолучитьСписокКаналов";
|
||||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОККАНАЛОВ";
|
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОККАНАЛОВ";
|
||||||
НоваяСтрока.Параметр = "--notarchived";
|
НоваяСтрока.Параметр = "--notarchived";
|
||||||
НоваяСтрока.Описание = "Признак исключения архивированных каналов (необяз. по ум. - Нет)";
|
НоваяСтрока.Описание = "Признак исключения архивированных каналов (необяз. по ум. - False)";
|
||||||
НоваяСтрока.Область = "Работа с каналами";
|
НоваяСтрока.Область = "Работа с каналами";
|
||||||
|
|
||||||
|
|
||||||
@ -468,7 +468,7 @@
|
|||||||
НоваяСтрока.Метод = "СоздатьКанал";
|
НоваяСтрока.Метод = "СоздатьКанал";
|
||||||
НоваяСтрока.МетодПоиска = "СОЗДАТЬКАНАЛ";
|
НоваяСтрока.МетодПоиска = "СОЗДАТЬКАНАЛ";
|
||||||
НоваяСтрока.Параметр = "--private";
|
НоваяСтрока.Параметр = "--private";
|
||||||
НоваяСтрока.Описание = "Создать канал приватным (необяз. по ум. - Нет)";
|
НоваяСтрока.Описание = "Создать канал приватным (необяз. по ум. - False)";
|
||||||
НоваяСтрока.Область = "Работа с каналами";
|
НоваяСтрока.Область = "Работа с каналами";
|
||||||
|
|
||||||
|
|
||||||
|
@ -703,7 +703,7 @@
|
|||||||
НоваяСтрока.Метод = "ОтправитьОпрос";
|
НоваяСтрока.Метод = "ОтправитьОпрос";
|
||||||
НоваяСтрока.МетодПоиска = "ОТПРАВИТЬОПРОС";
|
НоваяСтрока.МетодПоиска = "ОТПРАВИТЬОПРОС";
|
||||||
НоваяСтрока.Параметр = "--anonymous";
|
НоваяСтрока.Параметр = "--anonymous";
|
||||||
НоваяСтрока.Описание = "Анонимность опроса (необяз. по ум. - Да)";
|
НоваяСтрока.Описание = "Анонимность опроса (необяз. по ум. - True)";
|
||||||
НоваяСтрока.Область = "Отправка данных";
|
НоваяСтрока.Область = "Отправка данных";
|
||||||
|
|
||||||
|
|
||||||
@ -769,7 +769,7 @@
|
|||||||
НоваяСтрока.Метод = "СформироватьКлавиатуруПоМассивуКнопок";
|
НоваяСтрока.Метод = "СформироватьКлавиатуруПоМассивуКнопок";
|
||||||
НоваяСтрока.МетодПоиска = "СФОРМИРОВАТЬКЛАВИАТУРУПОМАССИВУКНОПОК";
|
НоваяСтрока.МетодПоиска = "СФОРМИРОВАТЬКЛАВИАТУРУПОМАССИВУКНОПОК";
|
||||||
НоваяСтрока.Параметр = "--under";
|
НоваяСтрока.Параметр = "--under";
|
||||||
НоваяСтрока.Описание = "Клавиатура под сообщением или на нижней панели (необяз. по ум. - Нет)";
|
НоваяСтрока.Описание = "Клавиатура под сообщением или на нижней панели (необяз. по ум. - False)";
|
||||||
НоваяСтрока.Область = "Отправка данных";
|
НоваяСтрока.Область = "Отправка данных";
|
||||||
|
|
||||||
|
|
||||||
@ -779,7 +779,7 @@
|
|||||||
НоваяСтрока.Метод = "СформироватьКлавиатуруПоМассивуКнопок";
|
НоваяСтрока.Метод = "СформироватьКлавиатуруПоМассивуКнопок";
|
||||||
НоваяСтрока.МетодПоиска = "СФОРМИРОВАТЬКЛАВИАТУРУПОМАССИВУКНОПОК";
|
НоваяСтрока.МетодПоиска = "СФОРМИРОВАТЬКЛАВИАТУРУПОМАССИВУКНОПОК";
|
||||||
НоваяСтрока.Параметр = "--column";
|
НоваяСтрока.Параметр = "--column";
|
||||||
НоваяСтрока.Описание = "Истина > кнопки выводятся в столбик, Ложь > в строку (необяз. по ум. - Да)";
|
НоваяСтрока.Описание = "Истина > кнопки выводятся в столбик, Ложь > в строку (необяз. по ум. - True)";
|
||||||
НоваяСтрока.Область = "Отправка данных";
|
НоваяСтрока.Область = "Отправка данных";
|
||||||
|
|
||||||
|
|
||||||
|
@ -62,7 +62,7 @@
|
|||||||
НоваяСтрока.Метод = "СоздатьПост";
|
НоваяСтрока.Метод = "СоздатьПост";
|
||||||
НоваяСтрока.МетодПоиска = "СОЗДАТЬПОСТ";
|
НоваяСтрока.МетодПоиска = "СОЗДАТЬПОСТ";
|
||||||
НоваяСтрока.Параметр = "--ad";
|
НоваяСтрока.Параметр = "--ad";
|
||||||
НоваяСтрока.Описание = "Признак ""Это реклама"" (необяз. по ум. - Нет)";
|
НоваяСтрока.Описание = "Признак ""Это реклама"" (необяз. по ум. - False)";
|
||||||
НоваяСтрока.Область = "Работа с группой";
|
НоваяСтрока.Область = "Работа с группой";
|
||||||
|
|
||||||
|
|
||||||
@ -126,7 +126,7 @@
|
|||||||
НоваяСтрока.Метод = "СоздатьСоставнойПост";
|
НоваяСтрока.Метод = "СоздатьСоставнойПост";
|
||||||
НоваяСтрока.МетодПоиска = "СОЗДАТЬСОСТАВНОЙПОСТ";
|
НоваяСтрока.МетодПоиска = "СОЗДАТЬСОСТАВНОЙПОСТ";
|
||||||
НоваяСтрока.Параметр = "--ad";
|
НоваяСтрока.Параметр = "--ad";
|
||||||
НоваяСтрока.Описание = "Признак ""Это реклама"" (необяз. по ум. - Нет)";
|
НоваяСтрока.Описание = "Признак ""Это реклама"" (необяз. по ум. - False)";
|
||||||
НоваяСтрока.Область = "Работа с группой";
|
НоваяСтрока.Область = "Работа с группой";
|
||||||
|
|
||||||
|
|
||||||
@ -590,7 +590,7 @@
|
|||||||
НоваяСтрока.Метод = "ЗакрытьОбсуждение";
|
НоваяСтрока.Метод = "ЗакрытьОбсуждение";
|
||||||
НоваяСтрока.МетодПоиска = "ЗАКРЫТЬОБСУЖДЕНИЕ";
|
НоваяСтрока.МетодПоиска = "ЗАКРЫТЬОБСУЖДЕНИЕ";
|
||||||
НоваяСтрока.Параметр = "--remove";
|
НоваяСтрока.Параметр = "--remove";
|
||||||
НоваяСтрока.Описание = "Удалить полностью (Истина) или закрыть (необяз. по ум. - Нет)";
|
НоваяСтрока.Описание = "Удалить полностью (Истина) или закрыть (необяз. по ум. - False)";
|
||||||
НоваяСтрока.Область = "Работа с обсуждениями";
|
НоваяСтрока.Область = "Работа с обсуждениями";
|
||||||
|
|
||||||
|
|
||||||
@ -760,7 +760,7 @@
|
|||||||
НоваяСтрока.Метод = "СделатьРепост";
|
НоваяСтрока.Метод = "СделатьРепост";
|
||||||
НоваяСтрока.МетодПоиска = "СДЕЛАТЬРЕПОСТ";
|
НоваяСтрока.МетодПоиска = "СДЕЛАТЬРЕПОСТ";
|
||||||
НоваяСтрока.Параметр = "--ad";
|
НоваяСтрока.Параметр = "--ad";
|
||||||
НоваяСтрока.Описание = "Признак рекламного поста (необяз. по ум. - Нет)";
|
НоваяСтрока.Описание = "Признак рекламного поста (необяз. по ум. - False)";
|
||||||
НоваяСтрока.Область = "Интерактивные действия";
|
НоваяСтрока.Область = "Интерактивные действия";
|
||||||
|
|
||||||
|
|
||||||
@ -1544,7 +1544,7 @@
|
|||||||
НоваяСтрока.Метод = "СоздатьПодборкуТоваров";
|
НоваяСтрока.Метод = "СоздатьПодборкуТоваров";
|
||||||
НоваяСтрока.МетодПоиска = "СОЗДАТЬПОДБОРКУТОВАРОВ";
|
НоваяСтрока.МетодПоиска = "СОЗДАТЬПОДБОРКУТОВАРОВ";
|
||||||
НоваяСтрока.Параметр = "--main";
|
НоваяСтрока.Параметр = "--main";
|
||||||
НоваяСтрока.Описание = "Основная (необяз. по ум. - Нет)";
|
НоваяСтрока.Описание = "Основная (необяз. по ум. - False)";
|
||||||
НоваяСтрока.Область = "Работа с подборками товаров";
|
НоваяСтрока.Область = "Работа с подборками товаров";
|
||||||
|
|
||||||
|
|
||||||
@ -1554,7 +1554,7 @@
|
|||||||
НоваяСтрока.Метод = "СоздатьПодборкуТоваров";
|
НоваяСтрока.Метод = "СоздатьПодборкуТоваров";
|
||||||
НоваяСтрока.МетодПоиска = "СОЗДАТЬПОДБОРКУТОВАРОВ";
|
НоваяСтрока.МетодПоиска = "СОЗДАТЬПОДБОРКУТОВАРОВ";
|
||||||
НоваяСтрока.Параметр = "--hidden";
|
НоваяСтрока.Параметр = "--hidden";
|
||||||
НоваяСтрока.Описание = "Скрытая (необяз. по ум. - Нет)";
|
НоваяСтрока.Описание = "Скрытая (необяз. по ум. - False)";
|
||||||
НоваяСтрока.Область = "Работа с подборками товаров";
|
НоваяСтрока.Область = "Работа с подборками товаров";
|
||||||
|
|
||||||
|
|
||||||
@ -1614,7 +1614,7 @@
|
|||||||
НоваяСтрока.Метод = "ИзменитьПодборкуТоваров";
|
НоваяСтрока.Метод = "ИзменитьПодборкуТоваров";
|
||||||
НоваяСтрока.МетодПоиска = "ИЗМЕНИТЬПОДБОРКУТОВАРОВ";
|
НоваяСтрока.МетодПоиска = "ИЗМЕНИТЬПОДБОРКУТОВАРОВ";
|
||||||
НоваяСтрока.Параметр = "--main";
|
НоваяСтрока.Параметр = "--main";
|
||||||
НоваяСтрока.Описание = "Основная (необяз. по ум. - Нет)";
|
НоваяСтрока.Описание = "Основная (необяз. по ум. - False)";
|
||||||
НоваяСтрока.Область = "Работа с подборками товаров";
|
НоваяСтрока.Область = "Работа с подборками товаров";
|
||||||
|
|
||||||
|
|
||||||
@ -1624,7 +1624,7 @@
|
|||||||
НоваяСтрока.Метод = "ИзменитьПодборкуТоваров";
|
НоваяСтрока.Метод = "ИзменитьПодборкуТоваров";
|
||||||
НоваяСтрока.МетодПоиска = "ИЗМЕНИТЬПОДБОРКУТОВАРОВ";
|
НоваяСтрока.МетодПоиска = "ИЗМЕНИТЬПОДБОРКУТОВАРОВ";
|
||||||
НоваяСтрока.Параметр = "--hidden";
|
НоваяСтрока.Параметр = "--hidden";
|
||||||
НоваяСтрока.Описание = "Скрытая (необяз. по ум. - Нет)";
|
НоваяСтрока.Описание = "Скрытая (необяз. по ум. - False)";
|
||||||
НоваяСтрока.Область = "Работа с подборками товаров";
|
НоваяСтрока.Область = "Работа с подборками товаров";
|
||||||
|
|
||||||
|
|
||||||
|
@ -90,7 +90,7 @@
|
|||||||
НоваяСтрока.Метод = "УдалитьОбъект";
|
НоваяСтрока.Метод = "УдалитьОбъект";
|
||||||
НоваяСтрока.МетодПоиска = "УДАЛИТЬОБЪЕКТ";
|
НоваяСтрока.МетодПоиска = "УДАЛИТЬОБЪЕКТ";
|
||||||
НоваяСтрока.Параметр = "--can";
|
НоваяСтрока.Параметр = "--can";
|
||||||
НоваяСтрока.Описание = "В корзину (необяз. по ум. - Да)";
|
НоваяСтрока.Описание = "В корзину (необяз. по ум. - True)";
|
||||||
НоваяСтрока.Область = "Работа с файлами и папками";
|
НоваяСтрока.Область = "Работа с файлами и папками";
|
||||||
|
|
||||||
|
|
||||||
@ -131,7 +131,7 @@
|
|||||||
НоваяСтрока.Метод = "СоздатьКопиюОбъекта";
|
НоваяСтрока.Метод = "СоздатьКопиюОбъекта";
|
||||||
НоваяСтрока.МетодПоиска = "СОЗДАТЬКОПИЮОБЪЕКТА";
|
НоваяСтрока.МетодПоиска = "СОЗДАТЬКОПИЮОБЪЕКТА";
|
||||||
НоваяСтрока.Параметр = "--rewrite";
|
НоваяСтрока.Параметр = "--rewrite";
|
||||||
НоваяСтрока.Описание = "Перезаписывать если файл с таким именем уже существует (необяз. по ум. - Нет)";
|
НоваяСтрока.Описание = "Перезаписывать если файл с таким именем уже существует (необяз. по ум. - False)";
|
||||||
НоваяСтрока.Область = "Работа с файлами и папками";
|
НоваяСтрока.Область = "Работа с файлами и папками";
|
||||||
|
|
||||||
|
|
||||||
@ -237,7 +237,7 @@
|
|||||||
НоваяСтрока.Метод = "ПолучитьСписокФайлов";
|
НоваяСтрока.Метод = "ПолучитьСписокФайлов";
|
||||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКФАЙЛОВ";
|
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКФАЙЛОВ";
|
||||||
НоваяСтрока.Параметр = "--datesort";
|
НоваяСтрока.Параметр = "--datesort";
|
||||||
НоваяСтрока.Описание = "Истина > сортировать по дате, Ложь > по алфавиту (необяз. по ум. - Нет)";
|
НоваяСтрока.Описание = "Истина > сортировать по дате, Ложь > по алфавиту (необяз. по ум. - False)";
|
||||||
НоваяСтрока.Область = "Работа с файлами и папками";
|
НоваяСтрока.Область = "Работа с файлами и папками";
|
||||||
|
|
||||||
|
|
||||||
@ -278,7 +278,7 @@
|
|||||||
НоваяСтрока.Метод = "ПереместитьОбъект";
|
НоваяСтрока.Метод = "ПереместитьОбъект";
|
||||||
НоваяСтрока.МетодПоиска = "ПЕРЕМЕСТИТЬОБЪЕКТ";
|
НоваяСтрока.МетодПоиска = "ПЕРЕМЕСТИТЬОБЪЕКТ";
|
||||||
НоваяСтрока.Параметр = "--rewrite";
|
НоваяСтрока.Параметр = "--rewrite";
|
||||||
НоваяСтрока.Описание = "Перезаписывать если файл с таким именем уже существует (необяз. по ум. - Нет)";
|
НоваяСтрока.Описание = "Перезаписывать если файл с таким именем уже существует (необяз. по ум. - False)";
|
||||||
НоваяСтрока.Область = "Работа с файлами и папками";
|
НоваяСтрока.Область = "Работа с файлами и папками";
|
||||||
|
|
||||||
|
|
||||||
@ -319,7 +319,7 @@
|
|||||||
НоваяСтрока.Метод = "ЗагрузитьФайл";
|
НоваяСтрока.Метод = "ЗагрузитьФайл";
|
||||||
НоваяСтрока.МетодПоиска = "ЗАГРУЗИТЬФАЙЛ";
|
НоваяСтрока.МетодПоиска = "ЗАГРУЗИТЬФАЙЛ";
|
||||||
НоваяСтрока.Параметр = "--rewrite";
|
НоваяСтрока.Параметр = "--rewrite";
|
||||||
НоваяСтрока.Описание = "Перезаписывать, если файл с таким именем уже существует (необяз. по ум. - Нет)";
|
НоваяСтрока.Описание = "Перезаписывать, если файл с таким именем уже существует (необяз. по ум. - False)";
|
||||||
НоваяСтрока.Область = "Работа с файлами и папками";
|
НоваяСтрока.Область = "Работа с файлами и папками";
|
||||||
|
|
||||||
|
|
||||||
|
@ -6,21 +6,21 @@
|
|||||||
|
|
||||||
Функция ПолучитьСоответствиеКомандМодулей() Экспорт
|
Функция ПолучитьСоответствиеКомандМодулей() Экспорт
|
||||||
СоответствиеКомандМодулей = Новый Соответствие();
|
СоответствиеКомандМодулей = Новый Соответствие();
|
||||||
СоответствиеКомандМодулей.Вставить("airtable", "OPI_Airtable");
|
СоответствиеКомандМодулей.Вставить("yandex", "OPI_YandexID");
|
||||||
СоответствиеКомандМодулей.Вставить("bitrix24", "OPI_Bitrix24");
|
СоответствиеКомандМодулей.Вставить("slack", "OPI_Slack");
|
||||||
СоответствиеКомандМодулей.Вставить("dropbox", "OPI_Dropbox");
|
СоответствиеКомандМодулей.Вставить("viber", "OPI_Viber");
|
||||||
|
СоответствиеКомандМодулей.Вставить("telegram", "OPI_Telegram");
|
||||||
СоответствиеКомандМодулей.Вставить("gcalendar", "OPI_GoogleCalendar");
|
СоответствиеКомандМодулей.Вставить("gcalendar", "OPI_GoogleCalendar");
|
||||||
|
СоответствиеКомандМодулей.Вставить("yadisk", "OPI_YandexDisk");
|
||||||
|
СоответствиеКомандМодулей.Вставить("vk", "OPI_VK");
|
||||||
СоответствиеКомандМодулей.Вставить("gdrive", "OPI_GoogleDrive");
|
СоответствиеКомандМодулей.Вставить("gdrive", "OPI_GoogleDrive");
|
||||||
|
СоответствиеКомандМодулей.Вставить("notion", "OPI_Notion");
|
||||||
|
СоответствиеКомандМодулей.Вставить("airtable", "OPI_Airtable");
|
||||||
|
СоответствиеКомандМодулей.Вставить("dropbox", "OPI_Dropbox");
|
||||||
|
СоответствиеКомандМодулей.Вставить("twitter", "OPI_Twitter");
|
||||||
|
СоответствиеКомандМодулей.Вставить("bitrix24", "OPI_Bitrix24");
|
||||||
СоответствиеКомандМодулей.Вставить("gsheets", "OPI_GoogleSheets");
|
СоответствиеКомандМодулей.Вставить("gsheets", "OPI_GoogleSheets");
|
||||||
СоответствиеКомандМодулей.Вставить("google", "OPI_GoogleWorkspace");
|
СоответствиеКомандМодулей.Вставить("google", "OPI_GoogleWorkspace");
|
||||||
СоответствиеКомандМодулей.Вставить("notion", "OPI_Notion");
|
|
||||||
СоответствиеКомандМодулей.Вставить("slack", "OPI_Slack");
|
|
||||||
СоответствиеКомандМодулей.Вставить("telegram", "OPI_Telegram");
|
|
||||||
СоответствиеКомандМодулей.Вставить("twitter", "OPI_Twitter");
|
|
||||||
СоответствиеКомандМодулей.Вставить("viber", "OPI_Viber");
|
|
||||||
СоответствиеКомандМодулей.Вставить("vk", "OPI_VK");
|
|
||||||
СоответствиеКомандМодулей.Вставить("yadisk", "OPI_YandexDisk");
|
|
||||||
СоответствиеКомандМодулей.Вставить("yandex", "OPI_YandexID");
|
|
||||||
Возврат СоответствиеКомандМодулей;
|
Возврат СоответствиеКомандМодулей;
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user