1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-11-27 22:18:36 +02:00

Main build (Jenkins)

This commit is contained in:
Vitaly the Alpaca (bot)
2025-06-25 13:17:23 +03:00
parent d2dcd90d96
commit 3b29c1e324
64 changed files with 9569 additions and 8461 deletions

14
ci/clitesten vendored
View File

@@ -1645,7 +1645,7 @@ def test_mssql(){
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe mssql GenerateConnectionString --addr "test" --db "test" --login "test" --pass "test" --trust "test" --debug --test '
powershell encoding: 'UTF-8', script:'./oint.exe mssql GenerateConnectionString --addr "test" --db "test" --login "test" --pass "test" --port "test" --trust "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
@@ -1986,6 +1986,18 @@ def test_openai(){
powershell encoding: 'UTF-8', script:'./oint.exe openai GetMessageStructure --role "test" --text "test" --name "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe openai GetUserMessage --text "test" --name "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe openai GetAssistantMessage --text "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe openai GetSystemMessage --text "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe openai GetImageMessageStructure --role "test" --file "test" --prompt "test" --debug --test '
}

14
ci/clitestru vendored
View File

@@ -1645,7 +1645,7 @@ def test_mssql(){
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe mssql СформироватьСтрокуПодключения --addr "test" --db "test" --login "test" --pass "test" --trust "test" --debug --test '
powershell encoding: 'UTF-8', script:'./oint.exe mssql СформироватьСтрокуПодключения --addr "test" --db "test" --login "test" --pass "test" --port "test" --trust "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
@@ -1986,6 +1986,18 @@ def test_openai(){
powershell encoding: 'UTF-8', script:'./oint.exe openai ПолучитьСтруктуруСообщения --role "test" --text "test" --name "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe openai ПолучитьСообщениеПользователя --text "test" --name "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe openai ПолучитьСообщениеАссистента --text "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe openai ПолучитьСообщениеСистемы --text "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe openai ПолучитьСтруктуруСообщенияКартинки --role "test" --file "test" --prompt "test" --debug --test '
}

View File

@@ -0,0 +1,4 @@
{
"Address": "127.0.0.1",
"Password": "12we..."
}

View File

@@ -0,0 +1,4 @@
{
"Address": "127.0.0.1",
"Password": "12we..."
}

View File

@@ -0,0 +1,20 @@
 Address = "127.0.0.1";
Login = "bayselonarrend";
Password = "12we...";
ConnectionString = OPI_MSSQL.GenerateConnectionString(Address, , Login, Password);
Result = OPI_MSSQL.CreateConnection(ConnectionString);
OPI_MSSQL.CloseConnection(Result);
// With TLS
Address = "api.athenaeum.digital";
Port = "1434";
ConnectionString = OPI_MSSQL.GenerateConnectionString(Address, , Login, Password, Port);
TLSSettings = OPI_MSSQL.GetTlsSettings(False);
Result = OPI_MSSQL.CreateConnection(ConnectionString, TLSSettings);
OPI_MSSQL.CloseConnection(Result);

View File

@@ -0,0 +1,6 @@
 Address = "127.0.0.1";
Login = "bayselonarrend";
Password = "12we...";
Base = "";
Result = OPI_MSSQL.GenerateConnectionString(Address, Base, Login, Password);

View File

@@ -56,7 +56,7 @@ import TabItem from '@theme/TabItem';
```json title="Result"
{
"result": true,
"key": "3c068dd20",
"url_example": "localhost:port/3c068dd20"
"key": "2a9d8b43f",
"url_example": "localhost:port/2a9d8b43f"
}
```

View File

@@ -34,7 +34,7 @@ import TabItem from '@theme/TabItem';
```bash
melezh DisableRequestsHandler \
--proj "/proj.melezh" \
--handler "3c068dd20"
--handler "2a9d8b43f"
```
</TabItem>
@@ -42,7 +42,7 @@ import TabItem from '@theme/TabItem';
```batch
melezh DisableRequestsHandler ^
--proj "/proj.melezh" ^
--handler "3c068dd20"
--handler "2a9d8b43f"
```
</TabItem>
</Tabs>

View File

@@ -34,7 +34,7 @@ import TabItem from '@theme/TabItem';
```bash
melezh EnableRequestsHandler \
--proj "/proj.melezh" \
--handler "3c068dd20"
--handler "2a9d8b43f"
```
</TabItem>
@@ -42,7 +42,7 @@ import TabItem from '@theme/TabItem';
```batch
melezh EnableRequestsHandler ^
--proj "/proj.melezh" ^
--handler "3c068dd20"
--handler "2a9d8b43f"
```
</TabItem>
</Tabs>

View File

@@ -34,7 +34,7 @@ import TabItem from '@theme/TabItem';
```bash
melezh GetRequestsHandler \
--proj "/proj.melezh" \
--handler "3c068dd20"
--handler "2a9d8b43f"
```
</TabItem>
@@ -42,7 +42,7 @@ import TabItem from '@theme/TabItem';
```batch
melezh GetRequestsHandler ^
--proj "/proj.melezh" ^
--handler "3c068dd20"
--handler "2a9d8b43f"
```
</TabItem>
</Tabs>
@@ -52,7 +52,7 @@ import TabItem from '@theme/TabItem';
"data": {
"active": 1,
"function": "SendTextMessage",
"key": "3c068dd20",
"key": "2a9d8b43f",
"library": "telegram",
"method": "GET",
"args": []

View File

@@ -50,7 +50,7 @@ import TabItem from '@theme/TabItem';
{
"active": 1,
"function": "SendTextMessage",
"key": "3c068dd20",
"key": "2a9d8b43f",
"library": "telegram",
"method": "GET"
}

View File

@@ -35,7 +35,7 @@ import TabItem from '@theme/TabItem';
```bash
melezh UpdateHandlersKey \
--proj "/proj.melezh" \
--handler "c5995f124" \
--handler "eb20994e1" \
--key "***"
```
</TabItem>
@@ -44,7 +44,7 @@ import TabItem from '@theme/TabItem';
```batch
melezh UpdateHandlersKey ^
--proj "/proj.melezh" ^
--handler "c5995f124" ^
--handler "eb20994e1" ^
--key "***"
```
</TabItem>
@@ -55,7 +55,7 @@ import TabItem from '@theme/TabItem';
"data": {
"active": 1,
"function": "CreatePost",
"key": "c5995f124",
"key": "eb20994e1",
"library": "vk",
"method": "FORM",
"args": []

View File

@@ -37,7 +37,7 @@ import TabItem from '@theme/TabItem';
```bash
melezh UpdateRequestsHandler \
--proj "/proj.melezh" \
--handler "3c068dd20" \
--handler "2a9d8b43f" \
--lib "vk" \
--func "CreatePost" \
--method "FORM"
@@ -48,7 +48,7 @@ import TabItem from '@theme/TabItem';
```batch
melezh UpdateRequestsHandler ^
--proj "/proj.melezh" ^
--handler "3c068dd20" ^
--handler "2a9d8b43f" ^
--lib "vk" ^
--func "CreatePost" ^
--method "FORM"

View File

@@ -53,11 +53,23 @@ import TabItem from '@theme/TabItem';
"type": "string",
"value": "admin"
},
{
"description": "The flag for using the Melezh {'result':true, 'data': <primary response>} wrapper over the original function responses (does not affect non-JSON responses))",
"name": "res_wrapper",
"type": "bool",
"value": true
},
{
"description": "The maximum allowed request body size (in bytes). Requests exceeding this limit will be rejected. 0 - no limitation",
"name": "req_max_size",
"type": "number",
"value": 209715200
},
{
"description": "Logs save path. To disable logging, set the value to empty",
"name": "logs_path",
"type": "string",
"value": "C:/Users/bayselonarrend/AppData/Local/Temp/Melezh/2ee7082a-6e05-4e6b-a3a8-1b7d0823f9e9"
"value": "C:/Users/bayselonarrend/AppData/Local/Temp/Melezh/5fef3fc7-5544-4258-a6dc-41efd80ce5cc"
},
{
"description": "Logging of incoming request headers",
@@ -90,10 +102,16 @@ import TabItem from '@theme/TabItem';
"value": 104857600
},
{
"description": "The flag for using the Melezh {'result':true, 'data': <primary response>} wrapper over the original function responses (does not affect non-JSON responses))",
"name": "res_wrapper",
"type": "bool",
"value": true
"description": "Base path of the API. All routes will be available with the specified prefix. For example: /melezh",
"name": "base_path",
"type": "string",
"value": ""
},
{
"description": "Additional extensions directory (requires restart to apply)",
"name": "ext_path",
"type": "string",
"value": ""
}
],
"result": true

View File

@@ -33,7 +33,26 @@ import TabItem from '@theme/TabItem';
```bsl title="1C:Enterprise/OneScript code example"
Address = "127.0.0.1";
Login = "bayselonarrend";
Password = "12we...";
ConnectionString = OPI_MSSQL.GenerateConnectionString(Address, , Login, Password);
Result = OPI_MSSQL.CreateConnection(ConnectionString);
OPI_MSSQL.CloseConnection(Result);
// With TLS
Address = "api.athenaeum.digital";
Port = "1434";
ConnectionString = OPI_MSSQL.GenerateConnectionString(Address, , Login, Password, Port);
TLSSettings = OPI_MSSQL.GetTlsSettings(False);
Result = OPI_MSSQL.CreateConnection(ConnectionString, TLSSettings);
OPI_MSSQL.CloseConnection(Result);
```

View File

@@ -12,14 +12,15 @@ import TabItem from '@theme/TabItem';
`Function GenerateConnectionString(Val Address, Val Base = "", Val Login = "", Val Password = "", Val WindowsAuth = False) Export`
`Function GenerateConnectionString(Val Address, Val Base = "", Val Login = "", Val Password = "", Val Port = "", Val WindowsAuth = False) Export`
| Parameter | CLI option | Type | Required | Description |
|-|-|-|-|-|
| Address | --addr | String | &#x2714; | Adress, instance, and port of the DBMS server |
| Address | --addr | String | &#x2714; | Database server address and instance |
| Base | --db | String | &#x2716; | Name of the database to connect |
| Login | --login | String | &#x2716; | mssql user login |
| Password | --pass | String | &#x2716; | mssql user password |
| Port | --port | Number | &#x2716; | Server port |
| WindowsAuth | --trust | Boolean | &#x2716; | Use Windows authentication. The login and password will be ignored |
@@ -35,7 +36,12 @@ This function allows you to quickly assemble a basic connection string. In case
```bsl title="1C:Enterprise/OneScript code example"
Address = "127.0.0.1";
Login = "bayselonarrend";
Password = "12we...";
Base = "";
Result = OPI_MSSQL.GenerateConnectionString(Address, Base, Login, Password);
```

View File

@@ -0,0 +1,40 @@
---
sidebar_position: 6
description: Get assistant message and other functions to work with OpenAI in the Open Integration Package, a free open-source integration library for 1C:Enterprise 8, OneScript and CLI
keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, OpenAI]
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Get assistant message
Gets the structure of a message from the assistant for use in a request
`Function GetAssistantMessage(Val Text) ExportReturn GetMessageStructure("assistant", Text);EndFunction`
| Parameter | CLI option | Type | Required | Description |
|-|-|-|-|-|
| Text | --text | String | &#x2714; | Message text |
Returns: Structure Of KeyAndValue - Fields structure
<br/>
:::tip
Is a shorthand for the function `GetMessageStructure`
:::
<br/>
```bsl title="1C:Enterprise/OneScript code example"
```

View File

@@ -1,5 +1,5 @@
---
sidebar_position: 6
sidebar_position: 9
description: Get image description structure and other functions to work with OpenAI in the Open Integration Package, a free open-source integration library for 1C:Enterprise 8, OneScript and CLI
keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, OpenAI]
---

View File

@@ -1,5 +1,5 @@
---
sidebar_position: 5
sidebar_position: 8
description: Get image message structure and other functions to work with OpenAI in the Open Integration Package, a free open-source integration library for 1C:Enterprise 8, OneScript and CLI
keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, OpenAI]
---

View File

@@ -8,7 +8,7 @@ import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Get message structure
Receives the message structure for the request message list
Gets the structure of an arbitrary message for the request message list
@@ -16,7 +16,7 @@ import TabItem from '@theme/TabItem';
| Parameter | CLI option | Type | Required | Description |
|-|-|-|-|-|
| Role | --role | String | &#x2714; | Message source: system, user, developer |
| Role | --role | String | &#x2714; | Source of the message: system, user, assistant, etc.. |
| Text | --text | String | &#x2714; | Message text |
| Name | --name | String | &#x2716; | Name of participant in conversation |

View File

@@ -0,0 +1,40 @@
---
sidebar_position: 7
description: Get system message and other functions to work with OpenAI in the Open Integration Package, a free open-source integration library for 1C:Enterprise 8, OneScript and CLI
keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, OpenAI]
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Get system message
Gets the structure of a system message for use in a request
`Function GetSystemMessage(Val Text) ExportReturn GetMessageStructure("system", Text);EndFunction`
| Parameter | CLI option | Type | Required | Description |
|-|-|-|-|-|
| Text | --text | String | &#x2714; | Message text |
Returns: Structure Of KeyAndValue - Fields structure
<br/>
:::tip
Is a shorthand for the function `GetMessageStructure`
:::
<br/>
```bsl title="1C:Enterprise/OneScript code example"
```

View File

@@ -0,0 +1,41 @@
---
sidebar_position: 5
description: Get user message and other functions to work with OpenAI in the Open Integration Package, a free open-source integration library for 1C:Enterprise 8, OneScript and CLI
keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, OpenAI]
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Get user message
Gets the structure of a message from the user for use in a request
`Function GetUserMessage(Val Text, Val Name = "") ExportReturn GetMessageStructure("user", Text, Name);EndFunction`
| Parameter | CLI option | Type | Required | Description |
|-|-|-|-|-|
| Text | --text | String | &#x2714; | Message text |
| Name | --name | String | &#x2716; | Name of participant in conversation |
Returns: Structure Of KeyAndValue - Fields structure
<br/>
:::tip
Is a shorthand for the function `GetMessageStructure`
:::
<br/>
```bsl title="1C:Enterprise/OneScript code example"
```

View File

@@ -0,0 +1,4 @@
{
"Адрес": "127.0.0.1",
"Пароль": "12we..."
}

View File

@@ -0,0 +1,4 @@
{
"Адрес": "127.0.0.1",
"Пароль": "12we..."
}

View File

@@ -0,0 +1,20 @@
 Адрес = "127.0.0.1";
Логин = "bayselonarrend";
Пароль = "12we...";
СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, , Логин, Пароль);
Результат = OPI_MSSQL.ОткрытьСоединение(СтрокаПодключения);
OPI_MSSQL.ЗакрытьСоединение(Результат);
// С TLS
Адрес = "api.athenaeum.digital";
Порт = "1434";
СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, , Логин, Пароль, Порт);
НастройкиTLS = OPI_MSSQL.ПолучитьНастройкиTls(Ложь);
Результат = OPI_MSSQL.ОткрытьСоединение(СтрокаПодключения, НастройкиTLS);
OPI_MSSQL.ЗакрытьСоединение(Результат);

View File

@@ -0,0 +1,6 @@
 Адрес = "127.0.0.1";
Логин = "bayselonarrend";
Пароль = "12we...";
База = "";
Результат = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);

View File

@@ -56,7 +56,7 @@ import TabItem from '@theme/TabItem';
```json title="Результат"
{
"result": true,
"key": "ddb5c6da8",
"url_example": "localhost:port/ddb5c6da8"
"key": "a0372c374",
"url_example": "localhost:port/a0372c374"
}
```

View File

@@ -34,7 +34,7 @@ import TabItem from '@theme/TabItem';
```bash
melezh ОтключитьОбработчикЗапросов \
--proj "/proj.melezh" \
--handler "ddb5c6da8"
--handler "a0372c374"
```
</TabItem>
@@ -42,7 +42,7 @@ import TabItem from '@theme/TabItem';
```batch
melezh ОтключитьОбработчикЗапросов ^
--proj "/proj.melezh" ^
--handler "ddb5c6da8"
--handler "a0372c374"
```
</TabItem>
</Tabs>

View File

@@ -34,7 +34,7 @@ import TabItem from '@theme/TabItem';
```bash
melezh ВключитьОбработчикЗапросов \
--proj "/proj.melezh" \
--handler "ddb5c6da8"
--handler "a0372c374"
```
</TabItem>
@@ -42,7 +42,7 @@ import TabItem from '@theme/TabItem';
```batch
melezh ВключитьОбработчикЗапросов ^
--proj "/proj.melezh" ^
--handler "ddb5c6da8"
--handler "a0372c374"
```
</TabItem>
</Tabs>

View File

@@ -34,7 +34,7 @@ import TabItem from '@theme/TabItem';
```bash
melezh ПолучитьОбработчикЗапросов \
--proj "/proj.melezh" \
--handler "ddb5c6da8"
--handler "a0372c374"
```
</TabItem>
@@ -42,7 +42,7 @@ import TabItem from '@theme/TabItem';
```batch
melezh ПолучитьОбработчикЗапросов ^
--proj "/proj.melezh" ^
--handler "ddb5c6da8"
--handler "a0372c374"
```
</TabItem>
</Tabs>
@@ -52,7 +52,7 @@ import TabItem from '@theme/TabItem';
"data": {
"active": 1,
"function": "ОтправитьТекстовоеСообщение",
"key": "ddb5c6da8",
"key": "a0372c374",
"library": "telegram",
"method": "GET",
"args": []

View File

@@ -50,7 +50,7 @@ import TabItem from '@theme/TabItem';
{
"active": 1,
"function": "ОтправитьТекстовоеСообщение",
"key": "ddb5c6da8",
"key": "a0372c374",
"library": "telegram",
"method": "GET"
}

View File

@@ -35,7 +35,7 @@ import TabItem from '@theme/TabItem';
```bash
melezh ОбновитьКлючОбработчика \
--proj "/proj.melezh" \
--handler "755202778" \
--handler "aa5453b26" \
--key "***"
```
</TabItem>
@@ -44,7 +44,7 @@ import TabItem from '@theme/TabItem';
```batch
melezh ОбновитьКлючОбработчика ^
--proj "/proj.melezh" ^
--handler "755202778" ^
--handler "aa5453b26" ^
--key "***"
```
</TabItem>
@@ -55,7 +55,7 @@ import TabItem from '@theme/TabItem';
"data": {
"active": 1,
"function": "СоздатьПост",
"key": "755202778",
"key": "aa5453b26",
"library": "vk",
"method": "FORM",
"args": []

View File

@@ -37,7 +37,7 @@ import TabItem from '@theme/TabItem';
```bash
melezh ИзменитьОбработчикЗапросов \
--proj "/proj.melezh" \
--handler "ddb5c6da8" \
--handler "a0372c374" \
--lib "vk" \
--func "СоздатьПост" \
--method "FORM"
@@ -48,7 +48,7 @@ import TabItem from '@theme/TabItem';
```batch
melezh ИзменитьОбработчикЗапросов ^
--proj "/proj.melezh" ^
--handler "ddb5c6da8" ^
--handler "a0372c374" ^
--lib "vk" ^
--func "СоздатьПост" ^
--method "FORM"

View File

@@ -53,11 +53,23 @@ import TabItem from '@theme/TabItem';
"type": "string",
"value": "admin"
},
{
"description": "Признак использования {'result':true, 'data': <основной ответ>} обертки Melezh над оригинальными ответами функций (не влияет на не-JSON ответы)",
"name": "res_wrapper",
"type": "bool",
"value": true
},
{
"description": "Максимальный размер тела запроса, при превышении которого он не будет обработан (в байтах). 0 - без ограничений",
"name": "req_max_size",
"type": "number",
"value": 209715200
},
{
"description": "Путь сохранения логов. Для отключения логирования установите пустое значение",
"name": "logs_path",
"type": "string",
"value": "C:/Users/bayselonarrend/AppData/Local/Temp/Melezh/47536e82-60be-4e63-975a-67f42966127e"
"value": "C:/Users/bayselonarrend/AppData/Local/Temp/Melezh/decf6034-4b9e-4d08-a89f-04bef7e1f490"
},
{
"description": "Логирование заголовков входящих запросов",
@@ -90,10 +102,16 @@ import TabItem from '@theme/TabItem';
"value": 104857600
},
{
"description": "Признак использования {'result':true, 'data': <основной ответ>} обертки Melezh над оригинальными ответами функций (не влияет на не-JSON ответы)",
"name": "res_wrapper",
"type": "bool",
"value": true
"description": "Базовый путь API. Все маршруты будут доступны с указанного префикса. Например: /melezh",
"name": "base_path",
"type": "string",
"value": ""
},
{
"description": "Дополнительный каталог расширений (для применения требуется обновление кэша или перезагрузка)",
"name": "ext_path",
"type": "string",
"value": ""
}
],
"result": true

View File

@@ -33,7 +33,26 @@ import TabItem from '@theme/TabItem';
```bsl title="Пример использования для 1С:Предприятие/OneScript"
Адрес = "127.0.0.1";
Логин = "bayselonarrend";
Пароль = "12we...";
СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, , Логин, Пароль);
Результат = OPI_MSSQL.ОткрытьСоединение(СтрокаПодключения);
OPI_MSSQL.ЗакрытьСоединение(Результат);
// С TLS
Адрес = "api.athenaeum.digital";
Порт = "1434";
СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, , Логин, Пароль, Порт);
НастройкиTLS = OPI_MSSQL.ПолучитьНастройкиTls(Ложь);
Результат = OPI_MSSQL.ОткрытьСоединение(СтрокаПодключения, НастройкиTLS);
OPI_MSSQL.ЗакрытьСоединение(Результат);
```

View File

@@ -12,14 +12,15 @@ import TabItem from '@theme/TabItem';
`Функция СформироватьСтрокуПодключения(Знач Адрес, Знач База = "", Знач Логин = "", Знач Пароль = "", Знач АутентификацияWindows = Ложь) Экспорт`
`Функция СформироватьСтрокуПодключения(Знач Адрес, Знач База = "", Знач Логин = "", Знач Пароль = "", Знач Порт = "", Знач АутентификацияWindows = Ложь) Экспорт`
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|-|-|-|-|-|
| Адрес | --addr | Строка | &#x2714; | Адрес, экземпляр и порт сервера СУБД |
| Адрес | --addr | Строка | &#x2714; | Адрес и экземпляр сервера СУБД |
| База | --db | Строка | &#x2716; | Имя базы данных для подключения |
| Логин | --login | Строка | &#x2716; | Логин пользователя mssql |
| Пароль | --pass | Строка | &#x2716; | Пароль пользователя mssql |
| Порт | --port | Число | &#x2716; | Порт сервера |
| АутентификацияWindows | --trust | Булево | &#x2716; | Использовать аутентификацию Windows. Логин и пароль будут проигнорированы |
@@ -35,7 +36,12 @@ import TabItem from '@theme/TabItem';
```bsl title="Пример использования для 1С:Предприятие/OneScript"
Адрес = "127.0.0.1";
Логин = "bayselonarrend";
Пароль = "12we...";
База = "";
Результат = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
```

View File

@@ -0,0 +1,40 @@
---
sidebar_position: 6
description: Получить сообщение ассистента и другие функции для работы с OpenAI в Открытом пакете интеграций - бесплатной open-source библиотеке интеграций для 1С:Предприятие 8, OneScript и CLI
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, OpenAI]
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Получить сообщение ассистента
Получает структуру сообщения от лица ассистента для использования в запросе
`Функция ПолучитьСообщениеАссистента(Знач Текст) ЭкспортВозврат ПолучитьСтруктуруСообщения("assistant", Текст);КонецФункции`
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|-|-|-|-|-|
| Текст | --text | Строка | &#x2714; | Текст сообщения |
Возвращаемое значение: Структура Из КлючИЗначение - Структура полей
<br/>
:::tip
Является краткой формой функции `ПолучитьСтруктуруСообщения`
:::
<br/>
```bsl title="Пример использования для 1С:Предприятие/OneScript"
```

View File

@@ -1,5 +1,5 @@
---
sidebar_position: 6
sidebar_position: 9
description: Получить структуру описания картинок и другие функции для работы с OpenAI в Открытом пакете интеграций - бесплатной open-source библиотеке интеграций для 1С:Предприятие 8, OneScript и CLI
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, OpenAI]
---

View File

@@ -1,5 +1,5 @@
---
sidebar_position: 5
sidebar_position: 8
description: Получить структуру сообщения картинки и другие функции для работы с OpenAI в Открытом пакете интеграций - бесплатной open-source библиотеке интеграций для 1С:Предприятие 8, OneScript и CLI
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, OpenAI]
---

View File

@@ -8,7 +8,7 @@ import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Получить структуру сообщения
Получает структуру сообщения для списка сообщений запроса
Получает структуру произвольного сообщения для списка сообщений запроса
@@ -16,7 +16,7 @@ import TabItem from '@theme/TabItem';
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|-|-|-|-|-|
| Роль | --role | Строка | &#x2714; | Источник сообщения: system, user, developer |
| Роль | --role | Строка | &#x2714; | Источник сообщения: system, user, assistant и др. |
| Текст | --text | Строка | &#x2714; | Текст сообщения |
| Имя | --name | Строка | &#x2716; | Имя участника разговора |

View File

@@ -0,0 +1,40 @@
---
sidebar_position: 7
description: Получить сообщение системы и другие функции для работы с OpenAI в Открытом пакете интеграций - бесплатной open-source библиотеке интеграций для 1С:Предприятие 8, OneScript и CLI
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, OpenAI]
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Получить сообщение системы
Получает структуру системного сообщения для использования в запросе
`Функция ПолучитьСообщениеСистемы(Знач Текст) ЭкспортВозврат ПолучитьСтруктуруСообщения("system", Текст);КонецФункции`
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|-|-|-|-|-|
| Текст | --text | Строка | &#x2714; | Текст сообщения |
Возвращаемое значение: Структура Из КлючИЗначение - Структура полей
<br/>
:::tip
Является краткой формой функции `ПолучитьСтруктуруСообщения`
:::
<br/>
```bsl title="Пример использования для 1С:Предприятие/OneScript"
```

View File

@@ -0,0 +1,41 @@
---
sidebar_position: 5
description: Получить сообщение пользователя и другие функции для работы с OpenAI в Открытом пакете интеграций - бесплатной open-source библиотеке интеграций для 1С:Предприятие 8, OneScript и CLI
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, OpenAI]
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Получить сообщение пользователя
Получает структуру сообщения от лица пользователя для использования в запросе
`Функция ПолучитьСообщениеПользователя(Знач Текст, Знач Имя = "") ЭкспортВозврат ПолучитьСтруктуруСообщения("user", Текст, Имя);КонецФункции`
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|-|-|-|-|-|
| Текст | --text | Строка | &#x2714; | Текст сообщения |
| Имя | --name | Строка | &#x2716; | Имя участника разговора |
Возвращаемое значение: Структура Из КлючИЗначение - Структура полей
<br/>
:::tip
Является краткой формой функции `ПолучитьСтруктуруСообщения`
:::
<br/>
```bsl title="Пример использования для 1С:Предприятие/OneScript"
```

File diff suppressed because it is too large Load Diff

View File

@@ -183,10 +183,11 @@ EndFunction
// In case you need more flexible configuration, you can also form (obtain) this connection string on your own (ADO format)
//
// Parameters:
// Address - String - Adress, instance, and port of the DBMS server - addr
// Address - String - Database server address and instance - addr
// Base - String - Name of the database to connect - db
// Login - String - mssql user login - login
// Password - String - mssql user password - pass
// Port - Number - Server port - port
// WindowsAuth - Boolean - Use Windows authentication. The login and password will be ignored - trust
//
// Returns:
@@ -195,20 +196,34 @@ Function GenerateConnectionString(Val Address
, Val Base = ""
, Val Login = ""
, Val Password = ""
, Val Port = ""
, Val WindowsAuth = False) Export
OPI_TypeConversion.GetLine(Address);
OPI_TypeConversion.GetLine(Port);
OPI_TypeConversion.GetLine(Login);
OPI_TypeConversion.GetLine(Base);
OPI_TypeConversion.GetLine(Password);
OPI_TypeConversion.GetBoolean(WindowsAuth);
If WindowsAuth Then
StringTemplate = "Server=%1;Database=%2;IntegratedSecurity=True;";
ConnectionString = StrTemplate(StringTemplate, Address, Base);
If ValueIsFilled(Base) Then
DBBlock = StrTemplate("Database=%1;", Base);
Else
StringTemplate = "Server=%1;Database=%2;User Id=%3;Password=%4;";
ConnectionString = StrTemplate(StringTemplate, Address, Base, Login, Password);
DBBlock = "";
EndIf;
If ValueIsFilled(Port) Then
PortBlock = StrTemplate(",%1", Port);
Else
PortBlock = "";
EndIf;
If WindowsAuth Then
StringTemplate = "Server=%1%2;%3IntegratedSecurity=True;";
ConnectionString = StrTemplate(StringTemplate, Address, PortBlock, DBBlock);
Else
StringTemplate = "Server=%1%2;%2User Id=%4;Password=%5;";
ConnectionString = StrTemplate(StringTemplate, Address, PortBlock, DBBlock, Login, Password);
EndIf;
Return ConnectionString;
@@ -702,8 +717,8 @@ Function ВыполнитьЗапросSQL(Val ТекстЗапроса, Val П
Return ExecuteSQLQuery(ТекстЗапроса, Параметры, ФорсироватьРезультат, Соединение, Tls);
EndFunction
Function СформироватьСтрокуПодключения(Val Адрес, Val База = "", Val Логин = "", Val Пароль = "", Val АутентификацияWindows = False) Export
Return GenerateConnectionString(Адрес, База, Логин, Пароль, АутентификацияWindows);
Function СформироватьСтрокуПодключения(Val Адрес, Val База = "", Val Логин = "", Val Пароль = "", Val Порт = "", Val АутентификацияWindows = False) Export
Return GenerateConnectionString(Адрес, База, Логин, Пароль, Порт, АутентификацияWindows);
EndFunction
Function ПолучитьНастройкиTls(Val ОтключитьПроверкуСертификатов, Val ПутьКСертификату = "") Export

View File

@@ -152,10 +152,10 @@ Function GetEmbeddings(Val URL, Val Token, Val Model, Val Text, Val AdditionalPa
EndFunction
// Get message structure
// Receives the message structure for the request message list
// Gets the structure of an arbitrary message for the request message list
//
// Parameters:
// Role - String - Message source: system, user, developer - role
// Role - String - Source of the message: system, user, assistant, etc.. - role
// Text - String - Message text - text
// Name - String - Name of participant in conversation - name
//
@@ -174,6 +174,52 @@ Function GetMessageStructure(Val Role, Val Text, Val Name = "") Export
EndFunction
// Get user message
// Gets the structure of a message from the user for use in a request
//
// Note
// Is a shorthand for the function `GetMessageStructure`
//
// Parameters:
// Text - String - Message text - text
// Name - String - Name of participant in conversation - name
//
// Returns:
// Structure Of KeyAndValue - Fields structure
Function GetUserMessage(Val Text, Val Name = "") Export
Return GetMessageStructure("user", Text, Name);
EndFunction
// Get assistant message
// Gets the structure of a message from the assistant for use in a request
//
// Note
// Is a shorthand for the function `GetMessageStructure`
//
// Parameters:
// Text - String - Message text - text
//
// Returns:
// Structure Of KeyAndValue - Fields structure
Function GetAssistantMessage(Val Text) Export
Return GetMessageStructure("assistant", Text);
EndFunction
// Get system message
// Gets the structure of a system message for use in a request
//
// Note
// Is a shorthand for the function `GetMessageStructure`
//
// Parameters:
// Text - String - Message text - text
//
// Returns:
// Structure Of KeyAndValue - Fields structure
Function GetSystemMessage(Val Text) Export
Return GetMessageStructure("system", Text);
EndFunction
// Get image message structure
// Gets the message structure based on the image for the request message list
//
@@ -744,6 +790,18 @@ Function ПолучитьСтруктуруСообщения(Val Роль, Val
Return GetMessageStructure(Роль, Текст, Имя);
EndFunction
Function ПолучитьСообщениеПользователя(Val Текст, Val Имя = "") Export
Return GetUserMessage(Текст, Имя);
EndFunction
Function ПолучитьСообщениеАссистента(Val Текст) Export
Return GetAssistantMessage(Текст);
EndFunction
Function ПолучитьСообщениеСистемы(Val Текст) Export
Return GetSystemMessage(Текст);
EndFunction
Function ПолучитьСтруктуруСообщенияКартинки(Val Роль, Val IDФайла, Val Текст = "") Export
Return GetImageMessageStructure(Роль, IDФайла, Текст);
EndFunction

View File

@@ -2813,6 +2813,29 @@ EndProcedure
#EndRegion
#Region MSSQL
Procedure MSS_CommonMethods() Export
TestParameters = New Structure;
OPI_TestDataRetrieval.ParameterToCollection("PG_IP" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("PG_Password", TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("SQL2" , TestParameters);
EndProcedure
Procedure MSS_ORM() Export
TestParameters = New Structure;
OPI_TestDataRetrieval.ParameterToCollection("PG_IP" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("PG_Password", TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
EndProcedure
#EndRegion
#EndRegion
#EndRegion
@@ -23742,6 +23765,103 @@ Procedure OpenAI_GetModelList(FunctionParameters)
EndProcedure
#EndRegion
#Region MSSQL
Procedure MSSQL_GenerateConnectionString(FunctionParameters)
Address = FunctionParameters["PG_IP"];
Login = "bayselonarrend";
Password = FunctionParameters["PG_Password"];
Base = "";
Result = OPI_MSSQL.GenerateConnectionString(Address, Base, Login, Password);
// END
Result = StrReplace(Result, Password, "***");
Result = StrReplace(Result, Address , "127.0.0.1");
OPI_TestDataRetrieval.WriteLog(Result, "GenerateConnectionString", "MSSQL");
OPI_TestDataRetrieval.Check_String(Result);
EndProcedure
Procedure MSSQL_CreateConnection(FunctionParameters)
Address = FunctionParameters["PG_IP"];
Login = "bayselonarrend";
Password = FunctionParameters["PG_Password"];
ConnectionString = OPI_MSSQL.GenerateConnectionString(Address, , Login, Password);
Result = OPI_MSSQL.CreateConnection(ConnectionString);
OPI_TestDataRetrieval.WriteLog(Result, "CreateConnection", "MSSQL"); // SKIP
OPI_TestDataRetrieval.Check_AddIn(Result, "AddIn.OPI_MSSQL.Main"); // SKIP
OPI_MSSQL.CloseConnection(Result);
// With TLS
Address = "api.athenaeum.digital";
Port = "1434";
ConnectionString = OPI_MSSQL.GenerateConnectionString(Address, , Login, Password, Port);
TLSSettings = OPI_MSSQL.GetTlsSettings(False);
Result = OPI_MSSQL.CreateConnection(ConnectionString, TLSSettings);
OPI_MSSQL.CloseConnection(Result);
// END
OPI_TestDataRetrieval.WriteLog(Result, "CreateConnection (TLS)", "MSSQL");
OPI_TestDataRetrieval.Check_AddIn(Result, "AddIn.OPI_MSSQL.Main");
Result = OPI_MSSQL.CreateConnection(ConnectionString);
OPI_TestDataRetrieval.WriteLog(Result, "CreateConnection (error without TLS)", "MSSQL");
OPI_TestDataRetrieval.Check_Structure(Result);
Address = FunctionParameters["PG_IP"];
ConnectionString = OPI_MSSQL.GenerateConnectionString(Address, , Login, Password, Port);
Result = OPI_MSSQL.CreateConnection(ConnectionString, TLSSettings);
OPI_TestDataRetrieval.WriteLog(Result, "CreateConnection (TLS error)", "MSSQL");
OPI_TestDataRetrieval.Check_Structure(Result);
TLSSettings = OPI_MSSQL.GetTlsSettings(True);
Result = OPI_MSSQL.CreateConnection(ConnectionString, TLSSettings);
OPI_TestDataRetrieval.WriteLog(Result, "CreateConnection (TLS ignore)", "MSSQL");
OPI_TestDataRetrieval.Check_AddIn(Result, "AddIn.OPI_MSSQL.Main");
Address = "api.athenaeum.digital";
ConnectionString = OPI_MSSQL.GenerateConnectionString(Address, , Login, Password, Port);
TLSSettings = OPI_MSSQL.GetTlsSettings(False);
Connection = OPI_MSSQL.CreateConnection(ConnectionString, TLSSettings);
OPI_TestDataRetrieval.WriteLog(Connection, "CreateConnection (before base)", "MSSQL");
OPI_TestDataRetrieval.Check_AddIn(Connection, "AddIn.OPI_MSSQL.Main");
Result = OPI_MSSQL.CreateDatabase("test1", Connection);
OPI_TestDataRetrieval.WriteLog(Result, "CreateConnection (base)", "MSSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Base = "test1";
Result = OPI_MSSQL.DeleteDatabase(Base, Connection, TLSSettings);
OPI_TestDataRetrieval.WriteLog(Result, "CreateConnection (base deleting)", "MSSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
EndProcedure
#EndRegion
#EndRegion

View File

@@ -56,6 +56,7 @@ Function GetTestingSectionMapping() Export
Sections.Insert("Twitter" , 4);
Sections.Insert("PostgreSQL" , 5);
Sections.Insert("MySQL" , 5);
Sections.Insert("MSSQL" , 5);
Sections.Insert("SQLite" , 5);
Sections.Insert("RCON" , 5);
Sections.Insert("YandexDisk" , 5);
@@ -96,6 +97,7 @@ Function GetTestingSectionMappingGA() Export
Sections.Insert("Twitter" , StandardDependencies);
Sections.Insert("PostgreSQL" , StandardDependencies);
Sections.Insert("MySQL" , StandardDependencies);
Sections.Insert("MSSQL" , StandardDependencies);
Sections.Insert("SQLite" , StandardDependencies);
Sections.Insert("RCON" , StandardDependencies);
Sections.Insert("YandexDisk" , StandardDependencies);
@@ -155,6 +157,7 @@ Function GetTestTable() Export
Ollama = "Ollama";
Http = "HTTPClient";
OpenAI = "OpenAI";
MSSQL = "MSSQL";
TestTable = New ValueTable;
TestTable.Columns.Add("Method");
@@ -296,6 +299,8 @@ Function GetTestTable() Export
NewTest(TestTable, "Postgres_ORM" , "ORM" , Postgres);
NewTest(TestTable, "MYS_CommonMethods" , "Common methods" , MySQL);
NewTest(TestTable, "MYS_ORM" , "ORM" , MySQL);
NewTest(TestTable, "MSS_CommonMethods" , "Common methods" , MSSQL);
NewTest(TestTable, "MSS_ORM" , "ORM" , MSSQL);
NewTest(TestTable, "GAPI_GroupManagement" , "Group management" , GreenAPI);
NewTest(TestTable, "GAPI_MessageSending" , "Messages sending" , GreenAPI);
NewTest(TestTable, "GAPI_NotificationsReceiving" , "Notifications receiving" , GreenAPI);

View File

@@ -183,10 +183,11 @@ EndFunction
// In case you need more flexible configuration, you can also form (obtain) this connection string on your own (ADO format)
//
// Parameters:
// Address - String - Adress, instance, and port of the DBMS server - addr
// Address - String - Database server address and instance - addr
// Base - String - Name of the database to connect - db
// Login - String - mssql user login - login
// Password - String - mssql user password - pass
// Port - Number - Server port - port
// WindowsAuth - Boolean - Use Windows authentication. The login and password will be ignored - trust
//
// Returns:
@@ -195,20 +196,34 @@ Function GenerateConnectionString(Val Address
, Val Base = ""
, Val Login = ""
, Val Password = ""
, Val Port = ""
, Val WindowsAuth = False) Export
OPI_TypeConversion.GetLine(Address);
OPI_TypeConversion.GetLine(Port);
OPI_TypeConversion.GetLine(Login);
OPI_TypeConversion.GetLine(Base);
OPI_TypeConversion.GetLine(Password);
OPI_TypeConversion.GetBoolean(WindowsAuth);
If WindowsAuth Then
StringTemplate = "Server=%1;Database=%2;IntegratedSecurity=True;";
ConnectionString = StrTemplate(StringTemplate, Address, Base);
If ValueIsFilled(Base) Then
DBBlock = StrTemplate("Database=%1;", Base);
Else
StringTemplate = "Server=%1;Database=%2;User Id=%3;Password=%4;";
ConnectionString = StrTemplate(StringTemplate, Address, Base, Login, Password);
DBBlock = "";
EndIf;
If ValueIsFilled(Port) Then
PortBlock = StrTemplate(",%1", Port);
Else
PortBlock = "";
EndIf;
If WindowsAuth Then
StringTemplate = "Server=%1%2;%3IntegratedSecurity=True;";
ConnectionString = StrTemplate(StringTemplate, Address, PortBlock, DBBlock);
Else
StringTemplate = "Server=%1%2;%2User Id=%4;Password=%5;";
ConnectionString = StrTemplate(StringTemplate, Address, PortBlock, DBBlock, Login, Password);
EndIf;
Return ConnectionString;

View File

@@ -152,10 +152,10 @@ Function GetEmbeddings(Val URL, Val Token, Val Model, Val Text, Val AdditionalPa
EndFunction
// Get message structure
// Receives the message structure for the request message list
// Gets the structure of an arbitrary message for the request message list
//
// Parameters:
// Role - String - Message source: system, user, developer - role
// Role - String - Source of the message: system, user, assistant, etc.. - role
// Text - String - Message text - text
// Name - String - Name of participant in conversation - name
//
@@ -174,6 +174,52 @@ Function GetMessageStructure(Val Role, Val Text, Val Name = "") Export
EndFunction
// Get user message
// Gets the structure of a message from the user for use in a request
//
// Note
// Is a shorthand for the function `GetMessageStructure`
//
// Parameters:
// Text - String - Message text - text
// Name - String - Name of participant in conversation - name
//
// Returns:
// Structure Of KeyAndValue - Fields structure
Function GetUserMessage(Val Text, Val Name = "") Export
Return GetMessageStructure("user", Text, Name);
EndFunction
// Get assistant message
// Gets the structure of a message from the assistant for use in a request
//
// Note
// Is a shorthand for the function `GetMessageStructure`
//
// Parameters:
// Text - String - Message text - text
//
// Returns:
// Structure Of KeyAndValue - Fields structure
Function GetAssistantMessage(Val Text) Export
Return GetMessageStructure("assistant", Text);
EndFunction
// Get system message
// Gets the structure of a system message for use in a request
//
// Note
// Is a shorthand for the function `GetMessageStructure`
//
// Parameters:
// Text - String - Message text - text
//
// Returns:
// Structure Of KeyAndValue - Fields structure
Function GetSystemMessage(Val Text) Export
Return GetMessageStructure("system", Text);
EndFunction
// Get image message structure
// Gets the message structure based on the image for the request message list
//

View File

@@ -56,6 +56,7 @@ Function GetTestingSectionMapping() Export
Sections.Insert("Twitter" , 4);
Sections.Insert("PostgreSQL" , 5);
Sections.Insert("MySQL" , 5);
Sections.Insert("MSSQL" , 5);
Sections.Insert("SQLite" , 5);
Sections.Insert("RCON" , 5);
Sections.Insert("YandexDisk" , 5);
@@ -96,6 +97,7 @@ Function GetTestingSectionMappingGA() Export
Sections.Insert("Twitter" , StandardDependencies);
Sections.Insert("PostgreSQL" , StandardDependencies);
Sections.Insert("MySQL" , StandardDependencies);
Sections.Insert("MSSQL" , StandardDependencies);
Sections.Insert("SQLite" , StandardDependencies);
Sections.Insert("RCON" , StandardDependencies);
Sections.Insert("YandexDisk" , StandardDependencies);
@@ -155,6 +157,7 @@ Function GetTestTable() Export
Ollama = "Ollama";
Http = "HTTPClient";
OpenAI = "OpenAI";
MSSQL = "MSSQL";
TestTable = New ValueTable;
TestTable.Columns.Add("Method");
@@ -296,6 +299,8 @@ Function GetTestTable() Export
NewTest(TestTable, "Postgres_ORM" , "ORM" , Postgres);
NewTest(TestTable, "MYS_CommonMethods" , "Common methods" , MySQL);
NewTest(TestTable, "MYS_ORM" , "ORM" , MySQL);
NewTest(TestTable, "MSS_CommonMethods" , "Common methods" , MSSQL);
NewTest(TestTable, "MSS_ORM" , "ORM" , MSSQL);
NewTest(TestTable, "GAPI_GroupManagement" , "Group management" , GreenAPI);
NewTest(TestTable, "GAPI_MessageSending" , "Messages sending" , GreenAPI);
NewTest(TestTable, "GAPI_NotificationsReceiving" , "Notifications receiving" , GreenAPI);

View File

@@ -2813,6 +2813,29 @@ EndProcedure
#EndRegion
#Region MSSQL
Procedure MSS_CommonMethods() Export
TestParameters = New Structure;
OPI_TestDataRetrieval.ParameterToCollection("PG_IP" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("PG_Password", TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("SQL2" , TestParameters);
EndProcedure
Procedure MSS_ORM() Export
TestParameters = New Structure;
OPI_TestDataRetrieval.ParameterToCollection("PG_IP" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("PG_Password", TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
EndProcedure
#EndRegion
#EndRegion
#EndRegion
@@ -23742,6 +23765,103 @@ Procedure OpenAI_GetModelList(FunctionParameters)
EndProcedure
#EndRegion
#Region MSSQL
Procedure MSSQL_GenerateConnectionString(FunctionParameters)
Address = FunctionParameters["PG_IP"];
Login = "bayselonarrend";
Password = FunctionParameters["PG_Password"];
Base = "";
Result = OPI_MSSQL.GenerateConnectionString(Address, Base, Login, Password);
// END
Result = StrReplace(Result, Password, "***");
Result = StrReplace(Result, Address , "127.0.0.1");
OPI_TestDataRetrieval.WriteLog(Result, "GenerateConnectionString", "MSSQL");
OPI_TestDataRetrieval.Check_String(Result);
EndProcedure
Procedure MSSQL_CreateConnection(FunctionParameters)
Address = FunctionParameters["PG_IP"];
Login = "bayselonarrend";
Password = FunctionParameters["PG_Password"];
ConnectionString = OPI_MSSQL.GenerateConnectionString(Address, , Login, Password);
Result = OPI_MSSQL.CreateConnection(ConnectionString);
OPI_TestDataRetrieval.WriteLog(Result, "CreateConnection", "MSSQL"); // SKIP
OPI_TestDataRetrieval.Check_AddIn(Result, "AddIn.OPI_MSSQL.Main"); // SKIP
OPI_MSSQL.CloseConnection(Result);
// With TLS
Address = "api.athenaeum.digital";
Port = "1434";
ConnectionString = OPI_MSSQL.GenerateConnectionString(Address, , Login, Password, Port);
TLSSettings = OPI_MSSQL.GetTlsSettings(False);
Result = OPI_MSSQL.CreateConnection(ConnectionString, TLSSettings);
OPI_MSSQL.CloseConnection(Result);
// END
OPI_TestDataRetrieval.WriteLog(Result, "CreateConnection (TLS)", "MSSQL");
OPI_TestDataRetrieval.Check_AddIn(Result, "AddIn.OPI_MSSQL.Main");
Result = OPI_MSSQL.CreateConnection(ConnectionString);
OPI_TestDataRetrieval.WriteLog(Result, "CreateConnection (error without TLS)", "MSSQL");
OPI_TestDataRetrieval.Check_Structure(Result);
Address = FunctionParameters["PG_IP"];
ConnectionString = OPI_MSSQL.GenerateConnectionString(Address, , Login, Password, Port);
Result = OPI_MSSQL.CreateConnection(ConnectionString, TLSSettings);
OPI_TestDataRetrieval.WriteLog(Result, "CreateConnection (TLS error)", "MSSQL");
OPI_TestDataRetrieval.Check_Structure(Result);
TLSSettings = OPI_MSSQL.GetTlsSettings(True);
Result = OPI_MSSQL.CreateConnection(ConnectionString, TLSSettings);
OPI_TestDataRetrieval.WriteLog(Result, "CreateConnection (TLS ignore)", "MSSQL");
OPI_TestDataRetrieval.Check_AddIn(Result, "AddIn.OPI_MSSQL.Main");
Address = "api.athenaeum.digital";
ConnectionString = OPI_MSSQL.GenerateConnectionString(Address, , Login, Password, Port);
TLSSettings = OPI_MSSQL.GetTlsSettings(False);
Connection = OPI_MSSQL.CreateConnection(ConnectionString, TLSSettings);
OPI_TestDataRetrieval.WriteLog(Connection, "CreateConnection (before base)", "MSSQL");
OPI_TestDataRetrieval.Check_AddIn(Connection, "AddIn.OPI_MSSQL.Main");
Result = OPI_MSSQL.CreateDatabase("test1", Connection);
OPI_TestDataRetrieval.WriteLog(Result, "CreateConnection (base)", "MSSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Base = "test1";
Result = OPI_MSSQL.DeleteDatabase(Base, Connection, TLSSettings);
OPI_TestDataRetrieval.WriteLog(Result, "CreateConnection (base deleting)", "MSSQL");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
EndProcedure
#EndRegion
#EndRegion

View File

@@ -1,14 +1,9 @@
#Use oint
#Use "../../tools"
#Use "../../help"
#Use "../../data"
#Use "../../env"
Var Debugging; // Flag output debug information
Var Debugging; // Flag output debug information
Var Testing; // Flag disconnection of sending data after processing
Var Parser; // Object parser incoming data
Var OPIObject; // Object work with methods OPI
Var Help; // Object output reference information
Var OutputFile; // Path redirection output in file
@@ -24,8 +19,20 @@ Procedure MainHandler()
Debugging = False;
Testing = False;
Parser = New CommandLineArgumentParser();
OPIObject = New LibraryComposition();
CurrentDirectory = CurrentScript().Directory;
CurrentDirectory = StrReplace(CurrentDirectory, "\", "/");
PathParts = StrSplit(CurrentDirectory, "/");
PathParts.Delete(PathParts.UBound());
PathParts.Delete(PathParts.UBound());
AccessTemplate = StrConcat(PathParts, "/") + "/%1";
Parser = LoadScript(StrTemplate(AccessTemplate, "env/Classes/CommandLineArgumentParser.os"));
OPIObject = LoadScript(StrTemplate(AccessTemplate, "data/Classes/LibraryComposition.os"));
AttachScript(StrTemplate(AccessTemplate, "help/Classes/Help.os"), "Help");
Help = New Help(AccessTemplate);
DetermineCurrentCommand();
FormCommand();
@@ -176,7 +183,7 @@ Procedure ProcessJSONOutput(Output)
Or TypeOf(Output) = Type("Map")
Or TypeOf(Output) = Type("Array") Then
Output = OPI_Tools.JSONString(Output, , , False);
Output = JSONString(Output);
EndIf;
@@ -317,6 +324,34 @@ Function EmptyOutput(Output)
EndFunction
Function JSONString(Val Data)
LineBreak = JSONLineBreak.Windows;
JSONParameters = New JSONWriterSettings(LineBreak
, " "
, False
, JSONCharactersEscapeMode["No"]
, False
, False
, False
, False);
Try
JSONWriter = New JSONWriter;
JSONWriter.SetString(JSONParameters);
WriteJSON(JSONWriter, Data);
Return JSONWriter.Close();
Except
Return "NOT JSON: " + String(Data);
EndTry;
EndFunction
#EndRegion
#EndRegion
@@ -334,4 +369,3 @@ Except
Help.DisplayExceptionMessage(Information, OutputFile);
EndTry;

View File

@@ -67,7 +67,7 @@
NewLine.Method = "GenerateConnectionString";
NewLine.SearchMethod = "GENERATECONNECTIONSTRING";
NewLine.Parameter = "--addr";
NewLine.Description = "Adress, instance, and port of the DBMS server";
NewLine.Description = "Database server address and instance";
NewLine.Region = "Common methods";
NewLine.MethodDescription = "Forms a connection string from the passed data";
@@ -102,6 +102,16 @@
NewLine.Region = "Common methods";
NewLine = CompositionTable.Add();
NewLine.Library = "mssql";
NewLine.Module = "OPI_MSSQL";
NewLine.Method = "GenerateConnectionString";
NewLine.SearchMethod = "GENERATECONNECTIONSTRING";
NewLine.Parameter = "--port";
NewLine.Description = "Server port (optional, def. val. - Empty value)";
NewLine.Region = "Common methods";
NewLine = CompositionTable.Add();
NewLine.Library = "mssql";
NewLine.Module = "OPI_MSSQL";

View File

@@ -189,9 +189,9 @@
NewLine.Method = "GetMessageStructure";
NewLine.SearchMethod = "GETMESSAGESTRUCTURE";
NewLine.Parameter = "--role";
NewLine.Description = "Message source: system, user, developer";
NewLine.Description = "Source of the message: system, user, assistant, etc..";
NewLine.Region = "Requests processing";
NewLine.MethodDescription = "Receives the message structure for the request message list";
NewLine.MethodDescription = "Gets the structure of an arbitrary message for the request message list";
NewLine = CompositionTable.Add();
@@ -214,6 +214,49 @@
NewLine.Region = "Requests processing";
NewLine = CompositionTable.Add();
NewLine.Library = "openai";
NewLine.Module = "OPI_OpenAI";
NewLine.Method = "GetUserMessage";
NewLine.SearchMethod = "GETUSERMESSAGE";
NewLine.Parameter = "--text";
NewLine.Description = "Message text";
NewLine.Region = "Requests processing";
NewLine.MethodDescription = "Gets the structure of a message from the user for use in a request";
NewLine = CompositionTable.Add();
NewLine.Library = "openai";
NewLine.Module = "OPI_OpenAI";
NewLine.Method = "GetUserMessage";
NewLine.SearchMethod = "GETUSERMESSAGE";
NewLine.Parameter = "--name";
NewLine.Description = "Name of participant in conversation (optional, def. val. - Empty value)";
NewLine.Region = "Requests processing";
NewLine = CompositionTable.Add();
NewLine.Library = "openai";
NewLine.Module = "OPI_OpenAI";
NewLine.Method = "GetAssistantMessage";
NewLine.SearchMethod = "GETASSISTANTMESSAGE";
NewLine.Parameter = "--text";
NewLine.Description = "Message text";
NewLine.Region = "Requests processing";
NewLine.MethodDescription = "Gets the structure of a message from the assistant for use in a request";
NewLine = CompositionTable.Add();
NewLine.Library = "openai";
NewLine.Module = "OPI_OpenAI";
NewLine.Method = "GetSystemMessage";
NewLine.SearchMethod = "GETSYSTEMMESSAGE";
NewLine.Parameter = "--text";
NewLine.Description = "Message text";
NewLine.Region = "Requests processing";
NewLine.MethodDescription = "Gets the structure of a system message for use in a request";
NewLine = CompositionTable.Add();
NewLine.Library = "openai";
NewLine.Module = "OPI_OpenAI";

View File

@@ -1,8 +1,11 @@
#Use "../../tools"
#Use "../../env"
Var ColorOutput;
#Region Internal
Procedure OnObjectCreate(AccessTemplate)
ColorOutput = LoadScript(StrTemplate(AccessTemplate, "env/Modules/ColorOutput.os"));
EndProcedure
Procedure DisplayStartPage(Val ModuleCommandMapping, Val Version) Export
CommandList = "";

View File

@@ -183,10 +183,11 @@
// В случае необходимости более гибкой настройки, вы также можете сформировать (получить) данную строку самостоятельно (формат ADO)
//
// Параметры:
// Адрес - Строка - Адрес, экземпляр и порт сервера СУБД - addr
// Адрес - Строка - Адрес и экземпляр сервера СУБД - addr
// База - Строка - Имя базы данных для подключения - db
// Логин - Строка - Логин пользователя mssql - login
// Пароль - Строка - Пароль пользователя mssql - pass
// Порт - Число - Порт сервера - port
// АутентификацияWindows - Булево - Использовать аутентификацию Windows. Логин и пароль будут проигнорированы - trust
//
// Возвращаемое значение:
@@ -195,20 +196,34 @@
, Знач База = ""
, Знач Логин = ""
, Знач Пароль = ""
, Знач Порт = ""
, Знач АутентификацияWindows = Ложь) Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Адрес);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Порт);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Логин);
OPI_ПреобразованиеТипов.ПолучитьСтроку(База);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Пароль);
OPI_ПреобразованиеТипов.ПолучитьБулево(АутентификацияWindows);
Если АутентификацияWindows Тогда
ШаблонСтроки = "Server=%1;Database=%2;IntegratedSecurity=True;";
СтрокаПодключения = СтрШаблон(ШаблонСтроки, Адрес, База);
Если ЗначениеЗаполнено(База) Тогда
БлокБД = СтрШаблон("Database=%1;", База);
Иначе
ШаблонСтроки = "Server=%1;Database=%2;User Id=%3;Password=%4;";
СтрокаПодключения = СтрШаблон(ШаблонСтроки, Адрес, База, Логин, Пароль);
БлокБД = "";
КонецЕсли;
Если ЗначениеЗаполнено(Порт) Тогда
БлокПорта = СтрШаблон(",%1", Порт);
Иначе
БлокПорта = "";
КонецЕсли;
Если АутентификацияWindows Тогда
ШаблонСтроки = "Server=%1%2;%3IntegratedSecurity=True;";
СтрокаПодключения = СтрШаблон(ШаблонСтроки, Адрес, БлокПорта, БлокБД);
Иначе
ШаблонСтроки = "Server=%1%2;%2User Id=%4;Password=%5;";
СтрокаПодключения = СтрШаблон(ШаблонСтроки, Адрес, БлокПорта, БлокБД, Логин, Пароль);
КонецЕсли;
Возврат СтрокаПодключения;
@@ -702,8 +717,8 @@ Function ExecuteSQLQuery(Val QueryText, Val Parameters = "", Val ForceResult = F
Return ВыполнитьЗапросSQL(QueryText, Parameters, ForceResult, Connection, Tls);
EndFunction
Function GenerateConnectionString(Val Address, Val Base = "", Val Login = "", Val Password = "", Val WindowsAuth = False) Export
Return СформироватьСтрокуПодключения(Address, Base, Login, Password, WindowsAuth);
Function GenerateConnectionString(Val Address, Val Base = "", Val Login = "", Val Password = "", Val Port = "", Val WindowsAuth = False) Export
Return СформироватьСтрокуПодключения(Address, Base, Login, Password, Port, WindowsAuth);
EndFunction
Function GetTlsSettings(Val DisableCertVerification, Val CertFilepath = "") Export

View File

@@ -152,12 +152,12 @@
КонецФункции
// Получить структуру сообщения
// Получает структуру сообщения для списка сообщений запроса
// Получает структуру произвольного сообщения для списка сообщений запроса
//
// Параметры:
// Роль - Строка - Источник сообщения: system, user, developer - role
// Текст - Строка - Текст сообщения - text
// Имя - Строка - Имя участника разговора - name
// Роль - Строка - Источник сообщения: system, user, assistant и др. - role
// Текст - Строка - Текст сообщения - text
// Имя - Строка - Имя участника разговора - name
//
// Возвращаемое значение:
// Структура Из КлючИЗначение - Структура полей
@@ -174,6 +174,52 @@
КонецФункции
// Получить сообщение пользователя
// Получает структуру сообщения от лица пользователя для использования в запросе
//
// Примечание:
// Является краткой формой функции `ПолучитьСтруктуруСообщения`
//
// Параметры:
// Текст - Строка - Текст сообщения - text
// Имя - Строка - Имя участника разговора - name
//
// Возвращаемое значение:
// Структура Из КлючИЗначение - Структура полей
Функция ПолучитьСообщениеПользователя(Знач Текст, Знач Имя = "") Экспорт
Возврат ПолучитьСтруктуруСообщения("user", Текст, Имя);
КонецФункции
// Получить сообщение ассистента
// Получает структуру сообщения от лица ассистента для использования в запросе
//
// Примечание:
// Является краткой формой функции `ПолучитьСтруктуруСообщения`
//
// Параметры:
// Текст - Строка - Текст сообщения - text
//
// Возвращаемое значение:
// Структура Из КлючИЗначение - Структура полей
Функция ПолучитьСообщениеАссистента(Знач Текст) Экспорт
Возврат ПолучитьСтруктуруСообщения("assistant", Текст);
КонецФункции
// Получить сообщение системы
// Получает структуру системного сообщения для использования в запросе
//
// Примечание:
// Является краткой формой функции `ПолучитьСтруктуруСообщения`
//
// Параметры:
// Текст - Строка - Текст сообщения - text
//
// Возвращаемое значение:
// Структура Из КлючИЗначение - Структура полей
Функция ПолучитьСообщениеСистемы(Знач Текст) Экспорт
Возврат ПолучитьСтруктуруСообщения("system", Текст);
КонецФункции
// Получить структуру сообщения картинки
// Получает структура сообщения на основе изображения для списка сообщений запроса
//
@@ -744,6 +790,18 @@ Function GetMessageStructure(Val Role, Val Text, Val Name = "") Export
Return ПолучитьСтруктуруСообщения(Role, Text, Name);
EndFunction
Function GetUserMessage(Val Text, Val Name = "") Export
Return ПолучитьСообщениеПользователя(Text, Name);
EndFunction
Function GetAssistantMessage(Val Text) Export
Return ПолучитьСообщениеАссистента(Text);
EndFunction
Function GetSystemMessage(Val Text) Export
Return ПолучитьСообщениеСистемы(Text);
EndFunction
Function GetImageMessageStructure(Val Role, Val FileID, Val Text = "") Export
Return ПолучитьСтруктуруСообщенияКартинки(Role, FileID, Text);
EndFunction

View File

@@ -2813,6 +2813,29 @@
#КонецОбласти
#Область MSSQL
Процедура MSS_ОсновныеМетоды() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("PG_IP" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("PG_Password", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("SQL2" , ПараметрыТеста);
КонецПроцедуры
Процедура MSS_ORM() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("PG_IP" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("PG_Password", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецОбласти
@@ -23742,6 +23765,103 @@
КонецПроцедуры
#КонецОбласти
#Область MSSQL
Процедура MSSQL_СформироватьСтрокуПодключения(ПараметрыФункции)
Адрес = ПараметрыФункции["PG_IP"];
Логин = "bayselonarrend";
Пароль = ПараметрыФункции["PG_Password"];
База = "";
Результат = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
// END
Результат = СтрЗаменить(Результат, Пароль, "***");
Результат = СтрЗаменить(Результат, Адрес , "127.0.0.1");
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СформироватьСтрокуПодключения", "MSSQL");
OPI_ПолучениеДанныхТестов.Проверка_Строка(Результат);
КонецПроцедуры
Процедура MSSQL_ОткрытьСоединение(ПараметрыФункции)
Адрес = ПараметрыФункции["PG_IP"];
Логин = "bayselonarrend";
Пароль = ПараметрыФункции["PG_Password"];
СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, , Логин, Пароль);
Результат = OPI_MSSQL.ОткрытьСоединение(СтрокаПодключения);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьСоединение", "MSSQL"); // SKIP
OPI_ПолучениеДанныхТестов.Проверка_Компонента(Результат, "AddIn.OPI_MSSQL.Main"); // SKIP
OPI_MSSQL.ЗакрытьСоединение(Результат);
// С TLS
Адрес = "api.athenaeum.digital";
Порт = "1434";
СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, , Логин, Пароль, Порт);
НастройкиTLS = OPI_MSSQL.ПолучитьНастройкиTls(Ложь);
Результат = OPI_MSSQL.ОткрытьСоединение(СтрокаПодключения, НастройкиTLS);
OPI_MSSQL.ЗакрытьСоединение(Результат);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьСоединение (TLS)", "MSSQL");
OPI_ПолучениеДанныхТестов.Проверка_Компонента(Результат, "AddIn.OPI_MSSQL.Main");
Результат = OPI_MSSQL.ОткрытьСоединение(СтрокаПодключения);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьСоединение (ошибка без TLS)", "MSSQL");
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
Адрес = ПараметрыФункции["PG_IP"];
СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, , Логин, Пароль, Порт);
Результат = OPI_MSSQL.ОткрытьСоединение(СтрокаПодключения, НастройкиTLS);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьСоединение (TLS ошибка)", "MSSQL");
OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат);
НастройкиTLS = OPI_MSSQL.ПолучитьНастройкиTls(Истина);
Результат = OPI_MSSQL.ОткрытьСоединение(СтрокаПодключения, НастройкиTLS);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьСоединение (TLS игнор)", "MSSQL");
OPI_ПолучениеДанныхТестов.Проверка_Компонента(Результат, "AddIn.OPI_MSSQL.Main");
Адрес = "api.athenaeum.digital";
СтрокаПодключения = OPI_MSSQL.СформироватьСтрокуПодключения(Адрес, , Логин, Пароль, Порт);
НастройкиTLS = OPI_MSSQL.ПолучитьНастройкиTls(Ложь);
Соединение = OPI_MSSQL.ОткрытьСоединение(СтрокаПодключения, НастройкиTLS);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Соединение, "ОткрытьСоединение (перед базой)", "MSSQL");
OPI_ПолучениеДанныхТестов.Проверка_Компонента(Соединение, "AddIn.OPI_MSSQL.Main");
Результат = OPI_MSSQL.СоздатьБазуДанных("test1", Соединение);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьСоединение (база)", "MSSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
База = "test1";
Результат = OPI_MSSQL.УдалитьБазуДанных(База, Соединение, НастройкиTLS);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьСоединение (удаление базы)", "MSSQL");
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
КонецПроцедуры
#КонецОбласти
#КонецОбласти

View File

@@ -56,6 +56,7 @@
Разделы.Вставить("Twitter" , 4);
Разделы.Вставить("PostgreSQL" , 5);
Разделы.Вставить("MySQL" , 5);
Разделы.Вставить("MSSQL" , 5);
Разделы.Вставить("SQLite" , 5);
Разделы.Вставить("RCON" , 5);
Разделы.Вставить("YandexDisk" , 5);
@@ -96,6 +97,7 @@
Разделы.Вставить("Twitter" , СтандартныеЗависимости);
Разделы.Вставить("PostgreSQL" , СтандартныеЗависимости);
Разделы.Вставить("MySQL" , СтандартныеЗависимости);
Разделы.Вставить("MSSQL" , СтандартныеЗависимости);
Разделы.Вставить("SQLite" , СтандартныеЗависимости);
Разделы.Вставить("RCON" , СтандартныеЗависимости);
Разделы.Вставить("YandexDisk" , СтандартныеЗависимости);
@@ -155,6 +157,7 @@
Ollama = "Ollama";
Http = "HTTPКлиент";
OpenAI = "OpenAI";
MSSQL = "MSSQL";
ТаблицаТестов = Новый ТаблицаЗначений;
ТаблицаТестов.Колонки.Добавить("Метод");
@@ -296,6 +299,8 @@
НовыйТест(ТаблицаТестов, "Postgres_ORM" , "ORM" , Postgres);
НовыйТест(ТаблицаТестов, "MYS_ОсновныеМетоды" , "Основные методы" , MySQL);
НовыйТест(ТаблицаТестов, "MYS_ORM" , "ORM" , MySQL);
НовыйТест(ТаблицаТестов, "MSS_ОсновныеМетоды" , "Основные методы" , MSSQL);
НовыйТест(ТаблицаТестов, "MSS_ORM" , "ORM" , MSSQL);
НовыйТест(ТаблицаТестов, "GAPI_УправлениеГруппами" , "Управление группами" , GreenAPI);
НовыйТест(ТаблицаТестов, "GAPI_ОтправкаСообщений" , "Отправка сообщений" , GreenAPI);
НовыйТест(ТаблицаТестов, "GAPI_ПолучениеУведомлений" , "Получение уведомлений" , GreenAPI);

View File

@@ -1,22 +1,15 @@
#Использовать "./internal"
Перем СоответствиеКомандМодулей;
Перем Версия;
Перем КэшированиеСоставов;
Перем ШаблонДоступа;
Перем НачальноеПодключениеСкриптов;
Процедура ПриСозданииОбъекта()
Версия = "1.26.0";
ИнициализироватьОсновныеСписки();
ТекущийКаталог = ТекущийСценарий().Каталог;
ШаблонДоступа = ОбъединитьПути(ТекущийКаталог, "internal", "Classes", "%1.os");
КаталогПакетов = СтрЗаменить(ПолучитьЗначениеСистемнойНастройки("lib.system"), "\", "/");
КаталогМодулей = ОбъединитьПути(КаталогПакетов, "oint/core/Modules/%1.os");
НачальноеПодключениеСкриптов = СтрШаблон("%%1 = ЗагрузитьСценарий(""%1"");" + Символы.ПС , КаталогМодулей);
КонецПроцедуры
Процедура ИнициализироватьОсновныеСписки() Экспорт
@@ -72,15 +65,9 @@
ТекущийСостав = КэшированиеСоставов.Получить(Команда);
Если ТекущийСостав = Неопределено Тогда
Попытка
ОбъектСостава = ЗагрузитьСценарий(СтрШаблон(ШаблонДоступа, Команда));
ТекущийСостав = ОбъектСостава.ПолучитьСостав();
КэшированиеСоставов.Вставить(Команда, ТекущийСостав);
Исключение
ВызватьИсключение СтрШаблон("Некорректное имя команды: %1", Команда)
КонецПопытки;
ОбъектСостава = Новый(Команда);
ТекущийСостав = ОбъектСостава.ПолучитьСостав();
КэшированиеСоставов.Вставить(Команда, ТекущийСостав);
КонецЕсли;
Возврат ТекущийСостав;
@@ -124,7 +111,7 @@
Возврат Новый Структура("Ошибка,Результат", Истина, "Метод");
КонецЕсли;
ТекстВыполнения = СтрШаблон(НачальноеПодключениеСкриптов, Модуль);
ТекстВыполнения = "";
СтрокаВызова = Модуль + "." + Метод + "(";
Счетчик = 0;
@@ -133,10 +120,6 @@
ИмяПараметра = НеобходимыйПараметр.Параметр;
ЗначениеПараметра = ПереданныеПараметры.Получить(ИмяПараметра);
Если ТребуетсяОбработкаУправляющихПоследовательностей(ИмяПараметра, ЗначениеПараметра) Тогда
ЗаменитьУправляющиеПоследовательности(ЗначениеПараметра);
КонецЕсли;
Если ЗначениеЗаполнено(ЗначениеПараметра) Тогда
ИмяПараметра = "Параметр" + СтрЗаменить(ИмяПараметра, "--", "_");
@@ -148,6 +131,14 @@
+ СтрЗаменить(ЗначениеПараметра, """", """""")
+ """;";
Если ТребуетсяОбработкаУправляющихПоследовательностей(ИмяПараметра, ЗначениеПараметра) Тогда
ТекстВыполнения = ТекстВыполнения + "
| OPI_Инструменты.ЗаменитьУправляющиеПоследовательности(" + ИмяПараметра + ");
|";
КонецЕсли;
СтрокаВызова = СтрокаВызова + ИмяПараметра + ", ";
Счетчик = Счетчик + 1;
@@ -187,34 +178,6 @@
КонецФункции
Процедура ЗаменитьУправляющиеПоследовательности(Текст) Экспорт
Текст = Строка(Текст);
СоответствиеСимволов = ПолучитьСоответствиеУправляющихПоследовательностей();
Для Каждого Символ Из СоответствиеСимволов Цикл
Текст = СтрЗаменить(Текст, Символ.Ключ , Символ.Значение);
Текст = СтрЗаменить(Текст, "\" + Символ.Значение, Символ.Ключ);
КонецЦикла;
КонецПроцедуры
Функция ПолучитьСоответствиеУправляющихПоследовательностей()
СоответствиеСимволов = Новый Соответствие;
СоответствиеСимволов.Вставить("\n", Символы.ПС);
СоответствиеСимволов.Вставить("\r", Символы.ВК);
СоответствиеСимволов.Вставить("\f", Символы.ПФ);
СоответствиеСимволов.Вставить("\v", Символы.ВТаб);
Возврат СоответствиеСимволов;
КонецФункции
#Region Alternate
Procedure InitializeCommonLists() Export

View File

@@ -71,7 +71,7 @@
НоваяСтрока.Метод = "СформироватьСтрокуПодключения";
НоваяСтрока.МетодПоиска = "СФОРМИРОВАТЬСТРОКУПОДКЛЮЧЕНИЯ";
НоваяСтрока.Параметр = "--addr";
НоваяСтрока.Описание = "Адрес, экземпляр и порт сервера СУБД";
НоваяСтрока.Описание = "Адрес и экземпляр сервера СУБД";
НоваяСтрока.Область = "Основные методы";
НоваяСтрока.ОписаниеМетода = "Формирует строку подключения из переданных данных";
@@ -106,6 +106,16 @@
НоваяСтрока.Область = "Основные методы";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "mssql";
НоваяСтрока.Модуль = "OPI_MSSQL";
НоваяСтрока.Метод = "СформироватьСтрокуПодключения";
НоваяСтрока.МетодПоиска = "СФОРМИРОВАТЬСТРОКУПОДКЛЮЧЕНИЯ";
НоваяСтрока.Параметр = "--port";
НоваяСтрока.Описание = "Порт сервера (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Основные методы";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "mssql";
НоваяСтрока.Модуль = "OPI_MSSQL";

View File

@@ -197,9 +197,9 @@
НоваяСтрока.Метод = "ПолучитьСтруктуруСообщения";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСТРУКТУРУСООБЩЕНИЯ";
НоваяСтрока.Параметр = "--role";
НоваяСтрока.Описание = "Источник сообщения: system, user, developer";
НоваяСтрока.Описание = "Источник сообщения: system, user, assistant и др.";
НоваяСтрока.Область = "Обработка запросов";
НоваяСтрока.ОписаниеМетода = "Получает структуру сообщения для списка сообщений запроса";
НоваяСтрока.ОписаниеМетода = "Получает структуру произвольного сообщения для списка сообщений запроса";
НоваяСтрока = ТаблицаСостава.Добавить();
@@ -222,6 +222,49 @@
НоваяСтрока.Область = "Обработка запросов";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "openai";
НоваяСтрока.Модуль = "OPI_OpenAI";
НоваяСтрока.Метод = "ПолучитьСообщениеПользователя";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСООБЩЕНИЕПОЛЬЗОВАТЕЛЯ";
НоваяСтрока.Параметр = "--text";
НоваяСтрока.Описание = "Текст сообщения";
НоваяСтрока.Область = "Обработка запросов";
НоваяСтрока.ОписаниеМетода = "Получает структуру сообщения от лица пользователя для использования в запросе";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "openai";
НоваяСтрока.Модуль = "OPI_OpenAI";
НоваяСтрока.Метод = "ПолучитьСообщениеПользователя";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСООБЩЕНИЕПОЛЬЗОВАТЕЛЯ";
НоваяСтрока.Параметр = "--name";
НоваяСтрока.Описание = "Имя участника разговора (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Обработка запросов";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "openai";
НоваяСтрока.Модуль = "OPI_OpenAI";
НоваяСтрока.Метод = "ПолучитьСообщениеАссистента";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСООБЩЕНИЕАССИСТЕНТА";
НоваяСтрока.Параметр = "--text";
НоваяСтрока.Описание = "Текст сообщения";
НоваяСтрока.Область = "Обработка запросов";
НоваяСтрока.ОписаниеМетода = "Получает структуру сообщения от лица ассистента для использования в запросе";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "openai";
НоваяСтрока.Модуль = "OPI_OpenAI";
НоваяСтрока.Метод = "ПолучитьСообщениеСистемы";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСООБЩЕНИЕСИСТЕМЫ";
НоваяСтрока.Параметр = "--text";
НоваяСтрока.Описание = "Текст сообщения";
НоваяСтрока.Область = "Обработка запросов";
НоваяСтрока.ОписаниеМетода = "Получает структуру системного сообщения для использования в запросе";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "openai";
НоваяСтрока.Модуль = "OPI_OpenAI";