Skip to content

Commit

Permalink
Merge branch 'release/v.1.3.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
arkuznetsov committed Jun 19, 2022
2 parents 4281522 + 1546c80 commit e5144a1
Show file tree
Hide file tree
Showing 18 changed files with 577 additions and 85 deletions.
70 changes: 67 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,9 @@
* [Класс РаботаСNextCloud](#lib-nextcloud)
* [Класс РаботаСSFTP](#lib-sftp)
* [Класс СтруктураХраненияИБ](#lib-dbstoragestructure)
* [Запуск тестов](#Тестирование)

<a id="Зависимости"></a> Требуются следующие библиотеки и инструменты:
## <a id="Зависимости"></a> Требуются следующие библиотеки и инструменты:
- [1commands](https://github.com/artbear/1commands)
- [logos](https://github.com/oscript-library/logos)
- [v8runner](https://github.com/oscript-library/v8runner)
Expand Down Expand Up @@ -289,6 +290,7 @@ cpdb infobase --v8version 8.3.8 dump --ib-path "/FD:/data/MyDatabase" --dt-path
| **--ib-user** | - Пользователь ИБ |
| **--ib-pwd** | - Пароль пользователя ИБ |
| **--dt-path** | - Путь к файлу для загрузки в ИБ |
| **--jobs-count** | - Количество заданий загрузки файла (для клиент-серверной базы, начиная с версии платформы 8.3.19) |
| **--uccode** | - Ключ разрешения запуска ИБ |
| **--delsrc** | - Удалить файл после загрузки |

Expand Down Expand Up @@ -734,13 +736,39 @@ cpdb batch "./rest_TST_DB_MyDomain.json"
РаботаССУБД = Новый РаботаССУБД(Подключение);
```

#### **Функция ВыполнитьСкрипты()** - проверяет существование базу на сервере СУБД
#### **Функция БазаСуществует()** - проверяет существование базу на сервере СУБД
| Параметры: |||
|-|-|-|
| База | Строка | имя базы данных |

*Возвращаемое значение:* Булево - Истина - база существует

#### **Функция СписокБаз()** - получает список баз с сервера СУБД
| Параметры: |||
|-|-|-|
| ФильтрБазПоИмени | Строка | имя базы данных |
| ФильтрПоТаблице | Строка | имя таблицы базы данных |
| ВключаяСистемные | Строка | имя таблицы базы данных |

*Возвращаемое значение:* Соответствие Из Структура - список баз на сервере СУБД
* Имя - Строка - имя базы данных
* Ид - Число - идентификатор базы данных
* ИдСоздателя - Число - идентификатор пользователя, создавшего базу
* Статус1 - Число - флаги состояния базы данных
* Статус2 - Число - флаги состояния базы данных
* ДатаСоздания - Дата - дата создания базы данных
* РежимСовместимости - Число - версия режима совместимости базы
* ФайлДанных - Строка - путь к файлу данных

#### **Функция ТаблицаСуществует()** - проверяет существование таблицы в базе на сервере СУБД
Функция ТаблицаСуществует(База, Таблица) Экспорт
| Параметры: |||
|-|-|-|
| База | Строка | имя базы данных |
| Таблица | Строка | имя таблицы базы данных |

*Возвращаемое значение:* Булево - Истина - таблица существует в базе данных

#### **Процедура СоздатьБазуДанных()** - создает базу данных

| Параметры: |||
Expand Down Expand Up @@ -883,6 +911,7 @@ cpdb batch "./rest_TST_DB_MyDomain.json"
| * *Пользователь* | Строка | имя пользователя базы 1С |
| * *Пароль* | Строка | пароль пользователя базы 1С |
| ПутьКФайлу | Строка | путь к DT-файлу для загрузки в базу 1С |
| КоличествоЗаданий | Число | количество заданий загрузки файла (для клиент-серверной базы, начиная с версии платформы 8.3.19)) |
| ИспользуемаяВерсияПлатформы | Строка | маска версии 1С |
| КлючРазрешения | Строка | ключ разрешения входа в заблоrированную серверную базу 1С (/UC) |

Expand Down Expand Up @@ -1286,11 +1315,12 @@ cpdb batch "./rest_TST_DB_MyDomain.json"
* НеИспользуется - Число - общий объем, зарезервированный для объектов в базе данных,
но пока не используемый

#### **Функция ОписаниеМетаданныхОбъектаБД1С()** - возвращает список таблиц в базе MS SQL Server и их показатели использования
#### **Функция ПоказателиИспользованияТаблицБазы()** - возвращает список таблиц в базе MS SQL Server и их показатели использования

| Параметры: |||
|-|-|-|
| ФильтрТаблицПоИмени | Строка | фильтр имен таблиц в формате для оператора "LIKE" |
| СтатистикаОпераций | Булево | Истина - в результат будет включена статистика по операциям с таблицами (для больших баз - может занять много времени) |

*Возвращаемое значение:* Массив из Структура - таблицы и показатели использования

Expand All @@ -1304,3 +1334,37 @@ cpdb batch "./rest_TST_DB_MyDomain.json"
*ОперацийСканирования - Число - количество операций сканирования (scan)
*ОперацийПоиска - Число - количество операций поиска (seek)
*ОперацийЗаписи - Число - количество операций записи (write)

## <a id="Тестирование"></a> Запуск тестов

### Необходимые настройки

Для тестирования подключения / отключения сетевого диска требуются дополнительные настройки.

В реестре в ключе `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters` указать:

**BasicAuthLevel** : 0x00000002 (2)

В реестре в ключе `HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager` указать:

**ProtectionMode** : 0x00000000 (0)

Для тестирования работы с базами MS SQL пользователю, под которым выполняется вход на сервер необходимо назначить роль `sysadmin`

### Выполнение тестов

Запуск и остановка окружения выполняются автоматически.

`./tools/runtests.bat`

### Запуск окружения

Для выполнения отладки

`./tools/startenv.bat`

### Остановка окружения

После выполнения отладки

`./tools/stopenv.bat`
6 changes: 3 additions & 3 deletions packagedef
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
Описание.Имя("cpdb")
.Версия("1.2.1")
.ВерсияСреды("1.7.0")
.Версия("1.3.0")
.ВерсияСреды("1.6.0")
.ЗависитОт("logos")
.ЗависитОт("1commands")
.ЗависитОт("cli")
.ЗависитОт("v8runner")
.ЗависитОт("v8runner", "1.9.0")
.ЗависитОт("v8storage")
.ЗависитОт("ParserFileV8i")
.ЗависитОт("fs")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@
.Обязательный()
.ВОкружении("CPDB_IB_DT_PATH");

Команда.Опция("jc jobs-count", 0, "количество заданий загрузки файла (для клиент-серверной базы)")
.ТЧисло()
.ВОкружении("CPDB_IB_JOBS_COUNT");

Команда.Опция("uc uccode", "", "ключ разрешения запуска ИБ")
.ТСтрока()
.ВОкружении("CPDB_IB_UC_CODE");
Expand Down Expand Up @@ -73,12 +77,14 @@
ПараметрыИБ.Вставить("Пароль", ЧтениеОпций.ЗначениеОпции("ib-pwd"));

ПутьКФайлу = ЧтениеОпций.ЗначениеОпции("dt-path");
КоличествоЗаданий = ЧтениеОпций.ЗначениеОпции("jobs-count");
КлючРазрешения = ЧтениеОпций.ЗначениеОпции("uccode");
УдалитьИсточник = ЧтениеОпций.ЗначениеОпции("delsrc");
ИспользуемаяВерсияПлатформы = ЧтениеОпций.ЗначениеОпции("v8version", Истина);

РаботаСИБ.ЗагрузитьИнформационнуюБазуИзФайла(ПараметрыИБ,
ПутьКФайлу,
КоличествоЗаданий,
ИспользуемаяВерсияПлатформы,
КлючРазрешения);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
.ТСтрока()
.ВОкружении("CPDB_NC_GET_LIST");

Команда.Опция("ds delsrc", "", "удалить исходные файлы после получения")
Команда.Опция("ds delsrc", Ложь, "удалить исходные файлы после получения")
.Флаговый()
.ВОкружении("CPDB_NC_GET_DEL_SRC");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
.ТСтрока()
.ВОкружении("CPDB_YD_GET_LIST");

Команда.Опция("ds delsrc", "", "удалить исходные файлы после получения")
Команда.Опция("ds delsrc", Ложь, "удалить исходные файлы после получения")
.Флаговый()
.ПоУмолчанию(Ложь)
.ВОкружении("CPDB_YD_GET_DEL_SRC");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
.ТСтрока()
.ВОкружении("CPDB_SFTP_GET_LIST");

Команда.Опция("ds delsrc", "", "удалить исходные файлы после получения")
Команда.Опция("ds delsrc", Ложь, "удалить исходные файлы после получения")
.Флаговый()
.ВОкружении("CPDB_SFTP_GET_DEL_SRC");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,11 @@
.Обязательный()
.ВОкружении("CPDB_NC_PUT_PATH");

Команда.Опция("r replace", "", "перезаписать файл на сервисе NextCloud при загрузке")
Команда.Опция("r replace", Ложь, "перезаписать файл на сервисе NextCloud при загрузке")
.Флаговый()
.ВОкружении("CPDB_NC_PUT_REPLACE");

Команда.Опция("ds delsrc", "", "удалить исходные файлы после отправки")
Команда.Опция("ds delsrc", Ложь, "удалить исходные файлы после отправки")
.Флаговый()
.ВОкружении("CPDB_NC_PUT_DEL_SRC");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,12 @@
.ТСтрока()
.ВОкружении("CPDB_YD_PUT_PATH");

Команда.Опция("r replace", "", "перезаписать файл на Яндекс-диске при загрузке")
Команда.Опция("r replace", Ложь, "перезаписать файл на Яндекс-диске при загрузке")
.Флаговый()
.ПоУмолчанию(Ложь)
.ВОкружении("CPDB_YD_PUT_REPLACE");

Команда.Опция("ds delsrc", "", "удалить исходные файлы после отправки")
Команда.Опция("ds delsrc", Ложь, "удалить исходные файлы после отправки")
.Флаговый()
.ПоУмолчанию(Ложь)
.ВОкружении("CPDB_YD_PUT_DEL_SRC");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,11 @@
.Обязательный()
.ВОкружении("CPDB_SFTP_PUT_PATH");

Команда.Опция("r replace", "", "перезаписать файл на сервере SFTP при загрузке")
Команда.Опция("r replace", Ложь, "перезаписать файл на сервере SFTP при загрузке")
.Флаговый()
.ВОкружении("CPDB_NC_PUT_REPLACE");

Команда.Опция("ds delsrc", "", "удалить исходные файлы после отправки")
Команда.Опция("ds delsrc", Ложь, "удалить исходные файлы после отправки")
.Флаговый()
.ВОкружении("CPDB_SFTP_PUT_DEL_SRC");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
.Обязательный()
.ВОкружении("CPDB_IB_REF");

Команда.Опция("ee err-if-exist errifexist", "", "сообщить об ошибке если ИБ в кластере 1С существует")
Команда.Опция("ee err-if-exist errifexist", Ложь, "сообщить об ошибке если ИБ в кластере 1С существует")
.Флаговый()
.ВОкружении("CPDB_IB_ERROR_IF_EXIST");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
.Обязательный()
.ВОкружении("CPDB_IB_REF");

Команда.Опция("ee err-if-exist", "", "сообщить об ошибке если по указанному пути существует ИБ 1С")
Команда.Опция("ee err-if-exist", Ложь, "сообщить об ошибке если по указанному пути существует ИБ 1С")
.Флаговый()
.ВОкружении("CPDB_IB_ERROR_IF_EXIST");

Expand Down
Loading

0 comments on commit e5144a1

Please sign in to comment.