1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-03-21 21:27:27 +02:00

Доработка документации PG

This commit is contained in:
Anton Titovets 2025-02-16 12:52:26 +03:00
parent fbe12f42bc
commit bb99a80c6a
17 changed files with 52 additions and 342 deletions

View File

@ -1,3 +0,0 @@
{
"ConnectionString": "mongodb://bayselonarrend:12We3456@93.125.42.204:27017"
}

View File

@ -1,3 +0,0 @@
 ConnectionString = "mongodb://bayselonarrend:***@127.0.0.1:27017";
Result = OPI_MongoDB.GetListOfBases(ConnectionString);

View File

@ -7,18 +7,56 @@ sidebar_class_name: PostgreSQL
# PostgreSQL
Этот раздел посвящен библиотеке для работы с базами данных PostgreSQL. На данной странице описаны все действия, необходимые для полноценного начала работы
This section is dedicated to the PostgreSQL database library. On this page, all the steps necessary to start working are described
## О реализованных методах
## About implemented methods
Данная библиотека состоит из двух частей: основных методов, вроде подключения и выполнения SQL-запросов, и небольшой ORM для часто встречающихся операций, вроде CREATE, SELECT, INSERT, DELETE и пр. Работа через ORM и через тексты запросов, выполняемые через функцию `ВыполнитьЗапросSQL()`, технически не отличается: ORM просто формирует текст SQL-запроса на основе макетов, но далее также вызывает их через эту функцию
This library has two parts: basic methods, like connecting and executing SQL queries, and a small ORM for common operations like CREATE, SELECT, INSERT, DELETE, and so on. Working through the ORM and through the query texts executed through the `ExecuteSQLQuery()` function is technically the same: the ORM simply generates the SQL query text based on the layouts, but then also calls them through this function
По умолчанию, все запросы SELECT возвращают массив выбранных данных, а остальные запросы - только `true` в поле `result` при успехе, либо `false` и текст ошибки в полях `result` и `error` соответственно. Для выполнения запросов, требующих возврата данных, но не являющихся запросами SELECT, в функции `ВыполнитьЗапросSQL()` есть параметр `ФорсироватьРезультат`
By default, all SELECT queries return an array of selected data, while other queries return only `true` in the `result` field on success, or `false` and error text in the `result` and `error` fields, respectively. To execute queries that require data to be returned but are not SELECT queries, the `ExecuteSQLQuery()` function has a `ForceResult` parameter
## Поля типа "BYTEA"
## Query parameters
Данная библиотека умеет обрабатывать поля типа BYTEA (Двоичные данные)
The PostgreSQL connector supports the use of positional parameters. All values passed both when executing queries directly through the `ExecuteRequestSQL()` function and in ORM methods with value setting, such as `AddRecords` and `UpdateRecords`, must be a structure of the form `{'Data Type': 'Value'}`. The following data types are supported:
## Совместимость
:::TIP
🟢 - Implemented, tested; 🟡 - Implemented, not tested
:::
Технически, реализация коннектора представляет из себя Native компоненту на Rust. Она поставляется в формате zip-архива, и, теоретически, должна работать на всех доступных платформах: x86 и x64 Windows и Linux. Фактическое тестирование проводилось на Windows x64 и, косвенно (через OneScript), на Linux x64
| Type | Support | Synonym | Native types|
|-|-|-|-|
| BOOL | 🟢 | - | Bool |
| "char" | 🟢 | OLDCHAR | Number |
| SMALLINT | 🟢 | - | Number |
| SMALLSERIAL | 🟢 | - | Number |
| INT | 🟢 | - | Number |
| SERIAL | 🟢 | - | Number |
| BIGINT | 🟢 | - | Number |
| BIGSERIAL | 🟢 | - | Number |
| OID | 🟢 | - | Number |
| REAL | 🟢 | - | Number |
| DOUBLE PRECISION | 🟢 | DOUBLE_PRECISION | Number |
| VARCHAR | 🟢 | - | String |
| TEXT | 🟢 | - | String |
| CHAR | 🟢 | - | String |
| CITEXT | 🟢 | - | String |
| NAME | 🟢 | - | String |
| INET | 🟢 | - | String |
| UUID | 🟢 | - | String, УникальныйИдентификатор |
| TIMESTAMP | 🟢 | - | Date, String (ISO 8601, RFC 3339) |
| TIMESTAMP WITH TIME ZONE | 🟢 | TIMESTAMP_WITH_TIME_ZONE | Date (the time zone will be specified as UTC), String (RFC 3339) |
| DATE | 🟢 | - | Date (any time part), String (ISO 8601, RFC 3339) |
| TIME | 🟢 | - | Date (any date part), String (ISO 8601, RFC 3339) |
| BYTEA | 🟢 | - | BinaryData, File path, Base64 String (all converted to a Base64 string) |
| JSON | 🟢 | - | Array, Structure, Map |
| JSONB | 🟢 | - | Array, Structure, Map |
| LTREE | 🟡 | - | String |
| LQUERY | 🟡 | - | String |
| LTXTQUERY | 🟡 | - | String |
| HSTORE | 🟡 | - | Structure, Map |
A similar list of types is also available to retrieve as query results from PostgreSQL
## Compatibility
Technically, the client implementation is a Native component in Rust. It comes in a zip archive format, and, in theory, should work on all available platforms: x86 and x64 Windows and Linux. The actual testing was done on Windows x64 and, cossentially (via OneScript), on Linux x64

View File

@ -1,40 +0,0 @@
---
sidebar_position: 1
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Get list of bases
Gets a list of bases
`Function GetListOfBases(Val ConnectionString) Export`
| Parameter | CLI option | Type | Required | Description |
|-|-|-|-|-|
| ConnectionString | --connect | String | ✔ | Connection string to MongoDB server |
Returns: Structure Of KeyAndValue - serialized JSON response from MongoDB server
<br/>
:::tip
Method in MongoDB documentation: [listDatabases](https://mongodb.com/docs/manual/reference/command/listDatabases/)
:::
<br/>
```bsl title="1C:Enterprise/OneScript code example"
ConnectionString = "mongodb://bayselonarrend:***@127.0.0.1:27017";
Result = OPI_MongoDB.GetListOfBases(ConnectionString);
```

View File

@ -1,4 +0,0 @@
{
"label": "Database management",
"position": "2"
}

View File

@ -1,3 +0,0 @@
{
"СтрокаПодключения": "mongodb://bayselonarrend:12We3456@93.125.42.204:27017"
}

View File

@ -1,3 +0,0 @@
 СтрокаПодключения = "mongodb://bayselonarrend:***@127.0.0.1:27017";
Результат = OPI_MongoDB.ПолучитьСписокБаз(СтрокаПодключения);

View File

@ -11,7 +11,7 @@ sidebar_class_name: PostgreSQL
## О реализованных методах
Данная библиотека состоит из двух частей: основных методов, вроде подключения и выполнения SQL-запросов, и небольшой ORM для часто встречающихся операций, вроде CREATE, SELECT, INSERT, DELETE и пр. Работа через ORM и через тексты запросов, выполняемые через функцию `ВыполнитьЗапросSQL()`, технически не отличается: ORM просто формирует текст SQL-запроса на основе макетов, но далее также вызывает их через эту функцию
Данная библиотека состоит из двух частей: основных методов, вроде подключения и выполнения SQL-запросов, и небольшой ORM для часто встречающихся операций, вроде CREATE, SELECT, INSERT, DELETE и пр. Работа через ORM и через тексты запросов, выполняемые функцией `ВыполнитьЗапросSQL()`, технически не отличается: ORM просто формирует текст SQL-запроса на основе макетов, но далее также выполняет их этой функцией
По умолчанию, все запросы SELECT возвращают массив выбранных данных, а остальные запросы - только `true` в поле `result` при успехе, либо `false` и текст ошибки в полях `result` и `error` соответственно. Для выполнения запросов, требующих возврата данных, но не являющихся запросами SELECT, в функции `ВыполнитьЗапросSQL()` есть параметр `ФорсироватьРезультат`
@ -23,7 +23,7 @@ sidebar_class_name: PostgreSQL
🟢 - Реализовано, проверено; 🟡 - Реализовано, не проверено
:::
| Тип | Поддержка | Синонимы | Допустимые типы 1С |
| Тип | Поддержка | Синонимы | Допустимые нативные типы |
|-|-|-|-|
| BOOL | 🟢 | - | Булево |
| "char" | 🟢 | OLDCHAR | Число |
@ -55,8 +55,8 @@ sidebar_class_name: PostgreSQL
| LTXTQUERY | 🟡 | - | Строка |
| HSTORE | 🟡 | - | Структура, Соответствие |
Аналогичный список типов доступен и для получения в качестве результатов запросов из PostgreSQL
## Совместимость
Технически, реализация коннектора представляет из себя Native компоненту на Rust. Она поставляется в формате zip-архива, и, теоретически, должна работать на всех доступных платформах: x86 и x64 Windows и Linux. Фактическое тестирование проводилось на Windows x64 и, косвенно (через OneScript), на Linux x64
Технически, реализация коннектора представляет из себя Native компоненту на Rust. Она поставляется в формате zip-архива со сборками для всех основных платформ: x86 и x64 Windows и Linux. Фактическое тестирование проводилось на Windows x64 и, косвенно (через OneScript), на Linux x64

View File

@ -11,7 +11,7 @@ sidebar_class_name: SQLite
## О реализованных методах
Данная библиотека состоит из двух частей: основных методов, вроде подключения и выполнения SQL-запросов, и небольшой ORM для часто встречающихся операций, вроде CREATE, SELECT, INSERT, DELETE и пр. Работа через ORM и через тексты запросов, выполняемые через функцию `ВыполнитьЗапросSQL()`, технически не отличается: ORM просто формирует текст SQL-запроса на основе макетов, но далее также вызывает их через эту функцию
Данная библиотека состоит из двух частей: основных методов, вроде подключения и выполнения SQL-запросов, и небольшой ORM для часто встречающихся операций, вроде CREATE, SELECT, INSERT, DELETE и пр. Работа через ORM и через тексты запросов, выполняемые функцией `ВыполнитьЗапросSQL()`, технически не отличается: ORM просто формирует текст SQL-запроса на основе макетов, но далее также выполняет их этой функцией
По умолчанию, все запросы SELECT возвращают массив выбранных данных, а остальные запросы - только `true` в поле `result` при успехе, либо `false` и текст ошибки в полях `result` и `error` соответственно. Для выполнения запросов, требующих возврата данных, но не являющихся запросами SELECT, в функции `ВыполнитьЗапросSQL()` есть параметр `ФорсироватьРезультат`
@ -21,4 +21,4 @@ sidebar_class_name: SQLite
## Совместимость
Технически, реализация коннектора представляет из себя Native компоненту на Rust. Она поставляется в формате zip-архива, и, теоретически, должна работать на всех доступных платформах: x86 и x64 Windows и Linux. Фактическое тестирование проводилось на Windows x64 и, косвенно (через OneScript), на Linux x64
Технически, реализация коннектора представляет из себя Native компоненту на Rust. Она поставляется в формате zip-архива со сборками для всех основных платформ: x86 и x64 Windows и Linux. Фактическое тестирование проводилось на Windows x64 и, косвенно (через OneScript), на Linux x64

View File

@ -1,40 +0,0 @@
---
sidebar_position: 1
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Получить список баз
Получает список баз
`Функция ПолучитьСписокБаз(Знач СтрокаПодключения) Экспорт`
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|-|-|-|-|-|
| СтрокаПодключения | --connect | Строка | &#x2714; | Строка подключения к серверу MongoDB |
Возвращаемое значение: Структура Из КлючИЗначение - сериализованный JSON ответа от сервера MongoDB
<br/>
:::tip
Метод в документации MongoDB: [listDatabases](https://mongodb.com/docs/manual/reference/command/listDatabases/)
:::
<br/>
```bsl title="Пример использования для 1С:Предприятие/OneScript"
СтрокаПодключения = "mongodb://bayselonarrend:***@127.0.0.1:27017";
Результат = OPI_MongoDB.ПолучитьСписокБаз(СтрокаПодключения);
```

View File

@ -1,4 +0,0 @@
{
"label": "Управление базами данных",
"position": "2"
}

View File

@ -1,88 +0,0 @@
// OneScript: ./OInt/core/Modules/OPI_MongoDB.os
// Lib: MongoDB
// CLI: mongodb
// MIT License
// Copyright (c) 2023 Anton Tsitavets
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
// https://github.com/Bayselonarrend/OpenIntegrations
// BSLLS:Typo-off
// BSLLS:LatinAndCyrillicSymbolInWord-off
// BSLLS:IncorrectLineBreak-off
// BSLLS:NumberOfOptionalParams-off
// BSLLS:UsingServiceTag-off
// BSLLS:LineLength-off
//@skip-check module-structure-top-region
//@skip-check module-structure-method-in-regions
//@skip-check wrong-string-literal-content
//@skip-check method-too-many-params
//@skip-check constructor-function-return-section
// Uncomment if OneScript is executed
#Use "../../tools"
#Region Public
#Region DatabaseManagement
// Get list of bases
// Gets a list of bases
//
// Note
// Method in MongoDB documentation: [listDatabases](@mongodb.com/docs/manual/reference/command/listDatabases/)
//
// Parameters:
// ConnectionString - String - Connection string to MongoDB server - connect
//
// Returns:
// Structure Of KeyAndValue - serialized JSON response from MongoDB server
Function GetListOfBases(Val ConnectionString) Export
Client = MongoDBClient(ConnectionString);
Response = Client.ListDatabases();
Response = OPI_Tools.JsonToStructure(Response, False);
Return Response;
EndFunction
#EndRegion
#EndRegion
#Region Private
Function MongoDBClient(Val ConnectionString)
OPI_TypeConversion.GetLine(ConnectionString);
Client = OPI_Tools.GetAddIn("MongoDB");
Client.ConnectionString = ConnectionString;
Return Client;
EndFunction
#EndRegion

View File

@ -1,25 +0,0 @@
Function ПолучитьСостав() Export
CompositionTable = New ValueTable();
CompositionTable.Columns.Add("Библиотека");
CompositionTable.Columns.Add("Модуль");
CompositionTable.Columns.Add("Метод");
CompositionTable.Columns.Add("МетодПоиска");
CompositionTable.Columns.Add("Параметр");
CompositionTable.Columns.Add("Описание");
CompositionTable.Columns.Add("ОписаниеМетода");
CompositionTable.Columns.Add("Область");
NewLine = CompositionTable.Add();
NewLine.Библиотека = "mongodb";
NewLine.Модуль = "OPI_MongoDB";
NewLine.Метод = "GetListOfBases";
NewLine.МетодПоиска = "GETLISTOFBASES";
NewLine.Параметр = "--connect";
NewLine.Описание = "Connection string to MongoDB server";
NewLine.Область = "Database management";
NewLine.ОписаниеМетода = "Gets a list of bases";
Return CompositionTable;
EndFunction

View File

@ -15,7 +15,6 @@
СоответствиеКомандМодулей.Вставить("gdrive", "OPI_GoogleDrive");
СоответствиеКомандМодулей.Вставить("gsheets", "OPI_GoogleSheets");
СоответствиеКомандМодулей.Вставить("google", "OPI_GoogleWorkspace");
СоответствиеКомандМодулей.Вставить("mongodb", "OPI_MongoDB");
СоответствиеКомандМодулей.Вставить("neocities", "OPI_Neocities");
СоответствиеКомандМодулей.Вставить("notion", "OPI_Notion");
СоответствиеКомандМодулей.Вставить("ozon", "OPI_Ozon");

View File

@ -1,88 +0,0 @@
// OneScript: ./OInt/core/Modules/OPI_MongoDB.os
// Lib: MongoDB
// CLI: mongodb
// MIT License
// Copyright (c) 2023 Anton Tsitavets
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
// https://github.com/Bayselonarrend/OpenIntegrations
// BSLLS:Typo-off
// BSLLS:LatinAndCyrillicSymbolInWord-off
// BSLLS:IncorrectLineBreak-off
// BSLLS:NumberOfOptionalParams-off
// BSLLS:UsingServiceTag-off
// BSLLS:LineLength-off
//@skip-check module-structure-top-region
//@skip-check module-structure-method-in-regions
//@skip-check wrong-string-literal-content
//@skip-check method-too-many-params
//@skip-check constructor-function-return-section
// Раскомментировать, если выполняется OneScript
#Использовать "../../tools"
#Область ПрограммныйИнтерфейс
#Область УправлениеБазамиДанных
// Получить список баз
// Получает список баз
//
// Примечание:
// Метод в документации MongoDB: [listDatabases](@mongodb.com/docs/manual/reference/command/listDatabases/)
//
// Параметры:
// СтрокаПодключения - Строка - Строка подключения к серверу MongoDB - connect
//
// Возвращаемое значение:
// Структура Из КлючИЗначение - сериализованный JSON ответа от сервера MongoDB
Функция ПолучитьСписокБаз(Знач СтрокаПодключения) Экспорт
Клиент = КлиентMongoDB(СтрокаПодключения);
Ответ = Клиент.ListDatabases();
Ответ = OPI_Инструменты.JsonВСтруктуру(Ответ, Ложь);
Возврат Ответ;
КонецФункции
#КонецОбласти
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Функция КлиентMongoDB(Знач СтрокаПодключения)
OPI_ПреобразованиеТипов.ПолучитьСтроку(СтрокаПодключения);
Клиент = OPI_Инструменты.ПолучитьКомпоненту("MongoDB");
Клиент.ConnectionString = СтрокаПодключения;
Возврат Клиент;
КонецФункции
#КонецОбласти

View File

@ -1,25 +0,0 @@
Функция ПолучитьСостав() Экспорт
ТаблицаСостава = Новый ТаблицаЗначений();
ТаблицаСостава.Колонки.Добавить("Библиотека");
ТаблицаСостава.Колонки.Добавить("Модуль");
ТаблицаСостава.Колонки.Добавить("Метод");
ТаблицаСостава.Колонки.Добавить("МетодПоиска");
ТаблицаСостава.Колонки.Добавить("Параметр");
ТаблицаСостава.Колонки.Добавить("Описание");
ТаблицаСостава.Колонки.Добавить("ОписаниеМетода");
ТаблицаСостава.Колонки.Добавить("Область");
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "mongodb";
НоваяСтрока.Модуль = "OPI_MongoDB";
НоваяСтрока.Метод = "ПолучитьСписокБаз";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКБАЗ";
НоваяСтрока.Параметр = "--connect";
НоваяСтрока.Описание = "Строка подключения к серверу MongoDB";
НоваяСтрока.Область = "Управление базами данных";
НоваяСтрока.ОписаниеМетода = "Получает список баз";
Возврат ТаблицаСостава;
КонецФункции

View File

@ -15,7 +15,6 @@
СоответствиеКомандМодулей.Вставить("gdrive", "OPI_GoogleDrive");
СоответствиеКомандМодулей.Вставить("gsheets", "OPI_GoogleSheets");
СоответствиеКомандМодулей.Вставить("google", "OPI_GoogleWorkspace");
СоответствиеКомандМодулей.Вставить("mongodb", "OPI_MongoDB");
СоответствиеКомандМодулей.Вставить("neocities", "OPI_Neocities");
СоответствиеКомандМодулей.Вставить("notion", "OPI_Notion");
СоответствиеКомандМодулей.Вставить("ozon", "OPI_Ozon");