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

Доработка тестов и правка документации, первые методы MongoDB

This commit is contained in:
Anton Titovets
2025-10-16 16:33:45 +03:00
parent 5b7cc69807
commit 9dd2f85798
21 changed files with 9355 additions and 9232 deletions

68
ci/os/docs_main.os vendored
View File

@@ -23,6 +23,7 @@
Перем ТекущаяБиблиотека;
Перем КаталогИнструкцийОригинал;
Перем КаталогИнструкцийЛокализация;
Перем СоответствиеМетодовПутям;
Процедура ПриСозданииОбъекта()
@@ -57,7 +58,6 @@
СоответствиеЗаголовков = Новый Соответствие();
ОчиститьКаталогиДокументов();
ПолучитьТаблицуТранслитации();
ПроверитьСоздатьКаталог(КаталогДокументации);
СоздатьФайлыДокументации();
@@ -112,11 +112,8 @@
ТранслитированноеИмя = ПеревестиИмя(СтруктураМетода["ИмяМетода"]);
ТранслитированнаяОбласть = ПеревестиИмя(Область);
ТранслитированноеИмя = СтрЗаменить(Синонимайзер(ТранслитированноеИмя), " ", "-");
ТранслитированнаяОбласть = СтрЗаменить(Синонимайзер(ТранслитированнаяОбласть), " ", "-");
ТранслитированноеИмя = ВРег(Лев(ТранслитированноеИмя,1)) + нРег(Сред(ТранслитированноеИмя,2));
ТранслитированнаяОбласть = ВРег(Лев(ТранслитированнаяОбласть,1)) + нРег(Сред(ТранслитированнаяОбласть,2));
ТранслитированноеИмя = ЗначениеКакЧастьПути(ТранслитированноеИмя);
ТранслитированнаяОбласть = ЗначениеКакЧастьПути(ТранслитированнаяОбласть);
СинонимОбласти = СтрЗаменить(ТранслитированнаяОбласть, "-", " ");
ЗаголовокОбласти = Синонимайзер(Область);
@@ -220,6 +217,10 @@
СтруктураОбщихДанных = Новый Структура();
СтруктураОбщихДанных.Вставить("ИмяМодуля", ИмяМодуля);
СоответствиеМетодовПутям = Новый Соответствие();
ТекущаяОбласть = "";
ИмяМодуляБезПрефикса = СтрЗаменить(ИмяМодуля, "OPI_", "");
ПолучитьДанныеМодуля(СтруктураОбщихДанных, ТекущийМодуль);
Если Не ЗначениеЗаполнено(СтруктураОбщихДанных["Библиотека"]) Тогда
@@ -236,6 +237,26 @@
А = ОписаниеОшибки();
КонецПопытки;
Для Каждого Метод Из СтруктураМодуля.Объявления Цикл
Если Метод.Тип = "ОбъявлениеМетода" И Метод.Сигнатура.Экспорт = Истина Тогда
ИмяМетода = Метод.Сигнатура.Имя;
ПутьМетода = СтрШаблон("/docs/%1/%2/%3"
, ИмяМодуляБезПрефикса
, ЗначениеКакЧастьПути(ТекущаяОбласть)
, ЗначениеКакЧастьПути(ИмяМетода));
СоответствиеМетодовПутям.Вставить(ИмяМетода, ПутьМетода);
КонецЕсли;
Если Метод.Тип = "ИнструкцияПрепроцессораОбласть" Тогда
ТекущаяОбласть = Метод.Имя;
КонецЕсли;
КонецЦикла;
Для Каждого Метод Из СтруктураМодуля.Объявления Цикл
Если Метод.Тип = "ОбъявлениеМетода" И Метод.Сигнатура.Экспорт = Истина Тогда
@@ -523,6 +544,8 @@
Описание = ?(КоличествоЭлементов >= 5, МассивЭлементовПараметра[4], МассивЭлементовПараметра[2]);
ДополнитьОписаниеСсылкой(Описание);
СтруктураПараметра = Новый Структура;
СтруктураПараметра.Вставить("Имя" , Имя1С);
СтруктураПараметра.Вставить("Опция" , Имя);
@@ -874,6 +897,39 @@
КонецФункции
Процедура ДополнитьОписаниеСсылкой(Описание)
Если СтрНайти(Описание, "См. ") = 0 Тогда
Возврат;
КонецЕсли;
ЧастиОписания = СтрРазделить(СокрЛП(Описание), "См. ");
ЧастьМетода = СокрЛП(ЧастиОписания[1]);
Если СтрНайти(ЧастьМетода, " ") Или ЧастиОписания.Количество() > 2 Тогда
Возврат;
КонецЕсли;
ПутьМетода = СоответствиеМетодовПутям.Получить(ЧастьМетода);
Если Не ЗначениеЗаполнено(ПутьМетода) Тогда
Сообщить("Метод используется как подсказка но не найден: " + ЧастьМетода);
Возврат;
КонецЕсли;
Описание = СтрШаблон("%1 См. [%1](%2)", СокрЛП(ЧастиОписания[0]), ЧастьМетода, ПутьМетода);
КонецПроцедуры
Функция ЗначениеКакЧастьПути(Значение)
ЗначениеПути = СтрЗаменить(Синонимайзер(Значение), " ", "-");
ЗначениеПути = ВРег(Лев(ЗначениеПути,1)) + нРег(Сред(ЗначениеПути,2));
Возврат ЗначениеПути;
КонецФункции
Процедура ПолучитьТаблицуТранслитации()
Транслитация = Новый Соответствие();

View File

@@ -17,6 +17,7 @@
--docusaurus-highlighted-code-line-bg: #004943;
--ifm-tabs-color-active: #004943;
--ifm-pagination-nav-color-hover: black;
--ifm-footer-link-hover-color: black;
}
p{

File diff suppressed because it is too large Load Diff

View File

@@ -48,6 +48,7 @@ impl AddIn {
}
pub fn initialize(&mut self) -> String {
if self.connection_string.is_empty() {
return format_json_error("Empty connection string!");
}
@@ -62,7 +63,7 @@ impl AddIn {
};
match guard.connect(self.connection_string.as_str()){
Ok(b) => {
Ok(_) => {
self.initialized = true;
json!({"result": true}).to_string()
},

View File

@@ -51,7 +51,7 @@
// Creates a connection to the specified base
//
// Parameters:
// ConnectionString - String - Connection string. See GenerateConnectionString - sting
// ConnectionString - String - Connection string. See GenerateConnectionString - string
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
//
// Returns:

View File

@@ -50,7 +50,7 @@
// Creates a connection to the specified base
//
// Parameters:
// ConnectionString - String - Connection string. See GenerateConnectionString - sting
// ConnectionString - String - Connection string. See GenerateConnectionString - string
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
//
// Returns:

View File

@@ -51,7 +51,7 @@
// Creates a connection to the specified base
//
// Parameters:
// ConnectionString - String - Connection string. See GenerateConnectionString - sting
// ConnectionString - String - Connection string. See GenerateConnectionString - string
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
//
// Returns:

View File

@@ -51,7 +51,7 @@
// Creates a connection to the specified base
//
// Parameters:
// ConnectionString - String - Connection string. See GenerateConnectionString - sting
// ConnectionString - String - Connection string. See GenerateConnectionString - string
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
//
// Returns:

View File

@@ -50,7 +50,7 @@
// Creates a connection to the specified base
//
// Parameters:
// ConnectionString - String - Connection string. See GenerateConnectionString - sting
// ConnectionString - String - Connection string. See GenerateConnectionString - string
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
//
// Returns:

View File

@@ -51,7 +51,7 @@
// Creates a connection to the specified base
//
// Parameters:
// ConnectionString - String - Connection string. See GenerateConnectionString - sting
// ConnectionString - String - Connection string. See GenerateConnectionString - string
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
//
// Returns:

View File

@@ -51,7 +51,7 @@
// Создает подключение к указанной базе
//
// Параметры:
// СтрокаПодключения - Строка - Строка подключения. См. СформироватьСтрокуПодключения - sting
// СтрокаПодключения - Строка - Строка подключения. См. СформироватьСтрокуПодключения - string
// Tls - Структура Из КлючИЗначение - Настройки TLS, если необходимо. См. ПолучитьНастройкиTls - tls
//
// Возвращаемое значение:

View File

@@ -50,7 +50,7 @@
// Создает подключение к указанной базе
//
// Параметры:
// СтрокаПодключения - Строка - Строка подключения. См. СформироватьСтрокуПодключения - sting
// СтрокаПодключения - Строка - Строка подключения. См. СформироватьСтрокуПодключения - string
// Tls - Структура Из КлючИЗначение - Настройки TLS, если необходимо. См. ПолучитьНастройкиTls - tls
//
// Возвращаемое значение:

View File

@@ -51,7 +51,7 @@
// Создает подключение к указанной базе
//
// Параметры:
// СтрокаПодключения - Строка - Строка подключения. См. СформироватьСтрокуПодключения - sting
// СтрокаПодключения - Строка - Строка подключения. См. СформироватьСтрокуПодключения - string
// Tls - Структура Из КлючИЗначение - Настройки TLS, если необходимо. См. ПолучитьНастройкиTls - tls
//
// Возвращаемое значение:

View File

@@ -51,7 +51,7 @@
// Создает подключение к указанной базе
//
// Параметры:
// СтрокаПодключения - Строка - Строка подключения. См. СформироватьСтрокуПодключения - sting
// СтрокаПодключения - Строка - Строка подключения. См. СформироватьСтрокуПодключения - string
// Tls - Структура Из КлючИЗначение - Настройки TLS, если необходимо. См. ПолучитьНастройкиTls - tls
//
// Возвращаемое значение:

View File

@@ -46,6 +46,73 @@
#Область ОсновныеМетоды
// Открыть соединение !NOCLI
// Создает подключение к указанной базе
//
// Параметры:
// СтрокаПодключения - Строка - Строка подключения - string
//
// Возвращаемое значение:
// Произвольный - Объект коннектора или структура с информацией об ошибке
Функция ОткрытьСоединение(Знач СтрокаПодключения = "") Экспорт
Если ЭтоКоннектор(СтрокаПодключения) Тогда
Возврат СтрокаПодключения;
КонецЕсли;
OPI_ПреобразованиеТипов.ПолучитьСтроку(СтрокаПодключения);
OPI_Инструменты.ВернутьУправляющиеПоследовательности(СтрокаПодключения);
Коннектор = OPI_Компоненты.ПолучитьКомпоненту("MongoDB");
Коннектор.ConnectionString = СтрокаПодключения;
Результат = Коннектор.Connect();
Результат = OPI_Инструменты.JsonВСтруктуру(Результат, Ложь);
Возврат ?(Результат["result"], Коннектор, Результат);
КонецФункции
// Закрыть соединение !NOCLI
// Явно закрывает переданное соединение
//
// Параметры:
// Соединение - Произвольный - Объект компоненты с открытым соединением - dbc
//
// Возвращаемое значение:
// Структура Из КлючИЗначение - Результат закрытия соединения
Функция ЗакрытьСоединение(Знач Соединение) Экспорт
Если ЭтоКоннектор(Соединение) Тогда
Результат = Соединение.Close();
Результат = OPI_Инструменты.JsonВСтруктуру(Результат, Ложь);
Иначе
Результат = Новый Структура("result,error", Ложь, "It's not a connection");
КонецЕсли;
Возврат Результат;
КонецФункции
// Это коннектор !NOCLI
// Проверяет, что значение является объектом внешней компоненты MSSQL
//
// Параметры:
// Значение - Произвольный - Значение для проверки - value
//
// Возвращаемое значение:
// Булево - Это коннектор
Функция ЭтоКоннектор(Знач Значение) Экспорт
Возврат Строка(ТипЗнч(Значение)) = "AddIn.OPI_MongoDB.Main";
КонецФункции
#КонецОбласти
#КонецОбласти

View File

@@ -3,7 +3,7 @@
<name>OPI_MongoDB</name>
<synonym>
<key>ru</key>
<value>Mongo DB (ОПИ)</value>
<value>MongoDB (ОПИ)</value>
</synonym>
<comment>Модуль для работы с базами MongoDB из набора ОПИ</comment>
<server>true</server>

View File

@@ -50,7 +50,7 @@
// Создает подключение к указанной базе
//
// Параметры:
// СтрокаПодключения - Строка - Строка подключения. См. СформироватьСтрокуПодключения - sting
// СтрокаПодключения - Строка - Строка подключения. См. СформироватьСтрокуПодключения - string
// Tls - Структура Из КлючИЗначение - Настройки TLS, если необходимо. См. ПолучитьНастройкиTls - tls
//
// Возвращаемое значение:

View File

@@ -51,7 +51,7 @@
// Создает подключение к указанной базе
//
// Параметры:
// СтрокаПодключения - Строка - Строка подключения. См. СформироватьСтрокуПодключения - sting
// СтрокаПодключения - Строка - Строка подключения. См. СформироватьСтрокуПодключения - string
// Tls - Структура Из КлючИЗначение - Настройки TLS, если необходимо. См. ПолучитьНастройкиTls - tls
//
// Возвращаемое значение:

View File

@@ -10972,7 +10972,7 @@
Результат["set"]["pub_path"] = "./ssh_key.pub";
КонецЕсли;
Если СтрНайти(нРег(Вариант), "socks5") > 0 Или СтрНайти(нРег(Вариант), "http") > 0 Тогда
Если OPI_Инструменты.ПолеКоллекцииСуществует(Результат, "proxy") Тогда
ОжидаетЧто(Результат["proxy"]).Заполнено();
Результат["proxy"]["password"] = "***";
@@ -11255,7 +11255,7 @@
Результат["set"]["pub_path"] = "./ssh_key.pub";
КонецЕсли;
Если СтрНайти(нРег(Вариант), "socks5") > 0 Или СтрНайти(нРег(Вариант), "http") > 0 Тогда
Если OPI_Инструменты.ПолеКоллекцииСуществует(Результат, "proxy") Тогда
ОжидаетЧто(Результат["proxy"]).Заполнено();
Результат["proxy"]["password"] = "***";

View File

@@ -20880,7 +20880,7 @@
Обработать(Результат , "FTP", "ЗагрузитьФайл", "Размер 1, " + Постфикс, КартинкаДД.Размер());
Обработать(Результат2, "FTP", "ЗагрузитьФайл", "Размер 2, " + Постфикс, КартинкаДД.Размер());
Для Н = 1 По 7 Цикл
Для Н = 1 По 5 Цикл
Результат = OPI_FTP.ЗагрузитьФайл(Соединение, Картинка, "new_dir/pic_from_disk.png");
Результат2 = OPI_FTP.ЗагрузитьФайл(Соединение, КартинкаДД, "pic_from_binary.png");
@@ -20895,11 +20895,6 @@
КонецЦикла;
БольшиеДанные = OPI_ЗапросыHTTP.Get(ПараметрыФункции["Big"]);
Результат = OPI_FTP.ЗагрузитьФайл(Соединение, БольшиеДанные, "new_dir/big.bin");
Обработать(Результат, "FTP", "ЗагрузитьФайл", "Большой, " + Постфикс, БольшиеДанные.Размер());
OPI_Инструменты.УдалитьФайлВПопытке(ИВФ, "Не удалось удалить временный файл после теста!");
КонецПроцедуры
@@ -21271,7 +21266,7 @@
Путь = "new_dir/pic_from_disk.png";
Для Н = 1 По 20 Цикл
Для Н = 1 По 5 Цикл
Результат = OPI_FTP.СохранитьФайл(Соединение, Путь, ИмяФайла);
@@ -21348,7 +21343,7 @@
Путь = "new_dir/pic_from_disk.png";
Для Н = 1 По 20 Цикл
Для Н = 1 По 5 Цикл
Результат = OPI_FTP.ПолучитьДанныеФайла(Соединение, Путь);