{"id":15002625,"url":"https://github.com/arkuznetsov/cpdb","last_synced_at":"2025-10-30T08:31:20.289Z","repository":{"id":37588139,"uuid":"95355711","full_name":"arkuznetsov/cpdb","owner":"arkuznetsov","description":"Приложение oscript для копирования баз данных 1C / MS SQL и развертывания на целевой системе.","archived":false,"fork":false,"pushed_at":"2024-01-06T09:53:07.000Z","size":758,"stargazers_count":95,"open_issues_count":2,"forks_count":33,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-02-02T07:23:09.046Z","etag":null,"topics":["1c","1c-enterprise","bsl","hacktoberfest","mssql","onescript","oscript","sql"],"latest_commit_sha":null,"homepage":"","language":"1C Enterprise","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arkuznetsov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-06-25T11:31:50.000Z","updated_at":"2024-12-31T20:00:01.000Z","dependencies_parsed_at":"2023-01-29T02:16:10.413Z","dependency_job_id":"3b39d45d-97db-4815-a28a-632018212fd0","html_url":"https://github.com/arkuznetsov/cpdb","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkuznetsov%2Fcpdb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkuznetsov%2Fcpdb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkuznetsov%2Fcpdb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkuznetsov%2Fcpdb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arkuznetsov","download_url":"https://codeload.github.com/arkuznetsov/cpdb/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238945668,"owners_count":19556700,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["1c","1c-enterprise","bsl","hacktoberfest","mssql","onescript","oscript","sql"],"created_at":"2024-09-24T18:51:34.278Z","updated_at":"2025-10-30T08:31:19.775Z","avatar_url":"https://github.com/arkuznetsov.png","language":"1C Enterprise","readme":"[![GitHub release](https://img.shields.io/github/release/ArKuznetsov/cpdb.svg?style=flat-square)](https://github.com/ArKuznetsov/cpdb/releases)\r\n[![GitHub license](https://img.shields.io/github/license/ArKuznetsov/cpdb.svg?style=flat-square)](https://github.com/ArKuznetsov/cpdb/blob/develop/LICENSE)\r\n[![GitHub Releases](https://img.shields.io/github/downloads/ArKuznetsov/cpdb/latest/total?style=flat-square)](https://github.com/ArKuznetsov/cpdb/releases)\r\n[![GitHub All Releases](https://img.shields.io/github/downloads/ArKuznetsov/cpdb/total?style=flat-square)](https://github.com/ArKuznetsov/cpdb/releases)\r\n\r\n[![Build Status](https://img.shields.io/github/workflow/status/ArKuznetsov/cpdb/%D0%9A%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D1%8C%20%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B0)](https://github.com/arkuznetsov/cpdb/actions/)\r\n[![Quality Gate](https://open.checkbsl.org/api/project_badges/measure?project=cpdb\u0026metric=alert_status)](https://open.checkbsl.org/dashboard/index/cpdb)\r\n[![Coverage](https://open.checkbsl.org/api/project_badges/measure?project=cpdb\u0026metric=coverage)](https://open.checkbsl.org/dashboard/index/cpdb)\r\n[![Tech debt](https://open.checkbsl.org/api/project_badges/measure?project=cpdb\u0026metric=sqale_index)](https://open.checkbsl.org/dashboard/index/cpdb)\r\n\r\n\u003ca href=\"https://checkbsl.org\"\u003e\u003cimg alt=\"Checked by Silver Bulleters SonarQube BSL plugin\" src=\"https://web-files.do.bit-erp.ru/sonar/b_t.png\" align=\"right\" style=\"width:400px\"/\u003e\u003c/a\u003e\r\n\r\n# 1C Database copier (cpdb)\r\n\r\nБиблиотека и приложение для получения информации о базах 1С, копирования баз 1C и развертывания на целевой системе.\r\n\r\n* [Зависимости](#dependencies)\r\n* [Команды приложения](#application)\r\n  * [database](#database)\r\n  * [infobase](#infobase)\r\n  * [file](#file)\r\n  * [yadisk](#yadisk)\r\n  * [nextcloud](#nextcloud)\r\n  * [sftp](#sftp)\r\n  * [batch](#batch)\r\n  * [Использование c Jenkins](#jenkins)\r\n\r\n* [Библиотека](#library)\r\n  * [Класс РаботаССУБД](#lib-database)\r\n  * [Модуль РаботаСИБ](#lib-infobase)\r\n  * [Модуль РаботаСФайлами](#lib-file)\r\n  * [Класс РаботаСЯндексДиск](#lib-yadisk)\r\n  * [Класс РаботаСNextCloud](#lib-nextcloud)\r\n  * [Класс РаботаСSFTP](#lib-sftp)\r\n  * [Класс СтруктураХраненияИБ](#lib-dbstoragestructure)\r\n\r\n* [Запуск тестов](#testing)\r\n\r\n## \u003ca id=\"dependencies\"\u003e\u003c/a\u003e Требуются следующие библиотеки и инструменты\r\n\r\n* [1commands](https://github.com/artbear/1commands)\r\n* [logos](https://github.com/oscript-library/logos)\r\n* [v8runner](https://github.com/oscript-library/v8runner)\r\n* [v8storage](https://github.com/oscript-library/v8storage)\r\n* [cli](https://github.com/Stepa86/cli)\r\n* [yadisk](https://github.com/kuntashov/oscript-yadisk)\r\n* [nextcloud-lib](https://github.com/arkuznetsov/nextcloud-lib)\r\n* [ClientSSH](https://github.com/arkuznetsov/oscript-ssh)\r\n* [ParserFileV8i](https://github.com/ret-Phoenix/parserV8i)\r\n* [7-zip](http://www.7-zip.org/)\r\n* [MS Command Line Utilities for SQL Server (sqlcmd)](https://www.microsoft.com/en-us/download/details.aspx?id=53591)\r\n\r\n## \u003ca id=\"application\"\u003e\u003c/a\u003e Команды приложения\r\n\r\n---\r\n\r\n### Типичный сценарий работы\r\n\r\n1. Сформировать резервную копию базы\r\n2. Передать резервную копию на целевую систему\r\n    * Через общую папку / С использованием Yandex-Диск\r\n    * Возможно разбиение больших файлов на части (используется 7-zip)\r\n3. Восстановить резервную копию в новую или существующую базу\r\n4. Подключить базу к хранилищу конфигурации\r\n\r\n||||\r\n|-|-|-|\r\n|**database** | Группа команд работы с СУБД||\r\n|| **create** | - Создание базы MS SQL ||\r\n|| **backup** | - Создание резервной копии базы MS SQL ||\r\n|| **restore** | - Восстановление базы MS SQL из резервной копии |\r\n|| **compress** | - Выполнить компрессию страниц таблиц и индекстов в базе MS SQL |\r\n|| **drop** | - Удаление базы MS SQL ||\r\n|| **script** | - Выполнить произвольный скрипт на сервере MS SQL |\r\n|**infobase** | Группа команд работы с информационными базами 1С||\r\n|| **create-srv-ib** | - Создать информационную базу на сервере 1С |\r\n|| **create-file-ib** | - Создать файловую информационную базу 1С |\r\n|| **dump** | - Выгрузить информационную базу в файл |\r\n|| **restore** | - Загрузить информационную базу из файла |\r\n|| **clearcache** | - Очистить локальный кэш информационных баз 1С |\r\n|| **uconstorage** | - Отключить информационную базу от хранилища конфигураций |\r\n|| **constorage** | - Подключить информационную базу к хранилищу конфигураций |\r\n|**file** | Группа команд работы с файлами||\r\n|| **copy** | - Копировать/переместить файлы |\r\n|| **split** | - Архивировать файл с разбиением на части указанного размера (используется 7-Zip) |\r\n|| **merge** | - Разархивировать файл (используется 7-Zip) |\r\n|| **mapdrive** | - Подключить сетевой диск |\r\n|| **umapdrive** | - Отключить сетевой диск |\r\n| **yadisk** | Группа команд работы с сервисом Yandex-Диск |\r\n|| **put** | - Помещение файла на Yandex-Диск |\r\n|| **get** | - Получение файла из Yandex-Диска |\r\n| **nextcloud** | Группа команд работы с сервисом NextCloud |\r\n|| **put** | - Помещение файла в сервис NextCloud |\r\n|| **get** | - Получение файла из сервиса NextCloud |\r\n| **sftp** | Группа команд работы с SFTP-сервером |\r\n|| **put** | - Помещение файла на сервер SFTP |\r\n|| **get** | - Получение файла с сервера SFTP |\r\n| **batch** | - Последовательное выполнение команд по сценариям, заданным в файлах (json) |\r\n||||\r\n\r\nДля подсказки по конкретной команде наберите **\u003cкоманда\u003e --help**\r\n\r\n## \u003ca id=\"database\"\u003e\u003c/a\u003e database - Группа команд работы с СУБД\r\n\r\n| Общие параметры для команд группы: ||\r\n|-|-|\r\n| **--srvr** | - Адрес сервера MS SQL |\r\n| **--user** | - Пользователь сервера |\r\n| **--pwd** | - Пароль пользователя сервера |\r\n---\r\n\r\n### create - Создание базы MS SQL\r\n\r\n| Параметры: ||\r\n|-|-|\r\n| **--params** | - Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные \";\" (параметры командной строки имеют более высокий приоритет)|\r\n| **--db** | - Имя базы для восстановления |\r\n| **--db-recovery** | - Установить модель восстановления (RECOVERY MODEL), возможные значения \"FULL\", \"SIMPLE\", \"BULK_LOGGED\" |\r\n\r\n#### Пример\r\n\r\n```bat\r\ncpdb database --srvr MySQLName --user sa --pwd 12345 create --db MyDatabase --db-recovery SIMPLE\r\n```\r\n\r\n### backup - Создание резервной копии базы MS SQL\r\n\r\n| Параметры: ||\r\n|-|-|\r\n| **--params** | - Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные \";\" (параметры командной строки имеют более высокий приоритет)|\r\n| **--db** | - Имя базы для восстановления |\r\n| **--bak-path** | - Путь к резервной копии |\r\n\r\n#### Пример\r\n\r\n```bat\r\ncpdb database --srvr MySQLName --user sa --pwd 12345 backup --db MyDatabase --bak-path \"d:\\MSSQL\\Backup\\MyDatabase_copy.bak\"\r\n```\r\n\r\n### restore - Восстановление базы MS SQL из резервной копии\r\n\r\n| Параметры: ||\r\n|-|-|\r\n| **--params** | - Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные \";\" (параметры командной строки имеют более высокий приоритет)|\r\n| **--db** | - Имя базы для восстановления |\r\n| **--bak-path** | - Путь к резервной копии |\r\n| **--create-db** | - Создать базу в случае отсутствия |\r\n| **--db-owner** | - Имя владельца базы после восстановления |\r\n| **--compress-db** | - Включить компрессию страниц таблиц и индексов после восстановления |\r\n| **--shrink-db** | - Сжать файлы данных после восстановления |\r\n| **--shrink-log** | - Сжать файлы журнала транзакций после восстановления |\r\n| **--db-path** | - Путь к каталогу файлов данных базы после восстановления |\r\n| **--db-logpath** | - Путь к каталогу файлов журнала после восстановления |\r\n| **--db-recovery** | - Установить модель восстановления (RECOVERY MODEL), возможные значения \"FULL\", \"SIMPLE\", \"BULK_LOGGED\" |\r\n| **--db-changelfn** | - Изменить логические имена файлов (LFN) базы, в соответствии с именем базы |\r\n| **--delsrc** | - Удалить файл резервной копии после восстановления |\r\n\r\n#### Пример\r\n\r\n```bat\r\ncpdb database --srvr MyNewSQLServer --user SQLUser --pwd 123456 restore --db MyDatabase_copy --bak-path \"d:\\data\\MyBackUpfile.bak\" --create-db --shrink-db --db-owner SQLdbo --db-path \"d:\\MSSQL\\data\" --db-logpath \"e:\\MSSQL\\logs\" --db-recovery SIMPLE --delsrc\r\n```\r\n\r\n### compress - Выполнить компрессию страниц таблиц и индекстов в базе MS SQL\r\n\r\n| Параметры: ||\r\n|-|-|\r\n| **--params** | - Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные \";\" (параметры командной строки имеют более высокий приоритет)|\r\n| **--db** | - Имя базы для восстановления |\r\n| **--shrink-db** | - Сжать базу после выполнения компрессии |\r\n| **--shrink-log** | - Сжать файлы журнала транзакций после восстановления |\r\n\r\n#### Пример\r\n\r\n```bat\r\ncpdb database --srvr MyNewSQLServer --user SQLUser --pwd 123456 compress --db MyDatabase_copy --shrink-db\r\n```\r\n\r\n### drop - Удаление базы MS SQL\r\n\r\n| Параметры: ||\r\n|-|-|\r\n| **--params** | - Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные \";\" (параметры командной строки имеют более высокий приоритет)|\r\n| **--db** | - Имя базы для восстановления |\r\n\r\n#### Пример\r\n\r\n```bat\r\ncpdb database --srvr MySQLName --user sa --pwd 12345 drop --db MyDatabase\r\n```\r\n\r\n### script - Выполнить скрипты из файла(ов)\r\n\r\n| Параметры: ||\r\n|-|-|\r\n| **--params** | - Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные \";\" (параметры командной строки имеют более высокий приоритет)|\r\n| **--files** | - Файлы SQL, содержащие текст скрипта, могут быть указаны несколько файлов, разделённые \";\" |\r\n| **--vars** | - Строка значений переменных (без пробелов) для скриптов SQL в виде \"\u003cИмя\u003e=\u003cЗначение\u003e\", разделенные \";\" |\r\n\r\n#### Пример\r\n\r\n```bat\r\ncpdb database --srvr MyNewSQLServer --user SQLUser --pwd 123456 script --params \"./JSON/cpdb_env.json\" --files \"./tools/config_error.sql;./tools/print_message.sql\" --vars \"varBase=MyDB;message=\\\"Hello world\\\"\"\r\n```\r\n\r\n#### Пример config_error.sql\r\n\r\n```sql\r\nuse $(varBase)\r\ngo\r\ntruncate table [dbo].[ConfigSave]\r\ngo\r\nUPDATE SchemaStorage SET Status = 100\r\n```\r\n\r\n#### Пример print_message.sql\r\n\r\n```sql\r\nPRINT N'$(message)'\r\n```\r\n\r\n## \u003ca id=\"infobase\"\u003e\u003c/a\u003e infobase - Группа команд работы с информационной базой 1С\r\n\r\n| Общие параметры для команд группы: ||\r\n|-|-|\r\n| **--v8version** | - маска версии платформы 1С (например: 8.3.8, 8.3.17.1851) |\r\n---\r\n\r\n### create-srv-ib - Создать информационную базу на сервере 1С\r\n\r\n| Параметры: ||\r\n|-|-|\r\n| **--params** | - Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные \";\" (параметры командной строки имеют более высокий приоритет)|\r\n| **--ib-srvr** | - Адрес кластера серверов 1С ([\u003cпротокол\u003e://]\u003cадрес\u003e[:\u003cпорт\u003e]) |\r\n| **--ib-ref** | - Имя базы в кластере 1С |\r\n| **--err-if-exist** | - Сообщить об ошибке если ИБ в кластере 1С существует |\r\n| **--dbms** | - Тип сервера СУБД (MSSQLServer \u003cпо умолчанию\u003e; PostgreSQL; IBMDB2; OracleDatabase) |\r\n| **--db-srvr** | - Адрес/имя сервера СУБД |\r\n| **--db-user** | - Пользователь сервера СУБД\" |\r\n| **--db-pwd** | - Пароль пользователя сервера СУБД\" |\r\n| **--db-name** | - Имя базы на сервере СУБД (если не указано, используется имя базы 1С)\" |\r\n| **--sql-offs** | - Смещение дат на сервере MS SQL (0; 2000 \u003cпо умолчанию\u003e) |\r\n| **--create-db** | - Создавать базу данных в случае отсутствия |\r\n| **--allow-sch-job** | - Разрешить регламентные задания |\r\n| **--allow-lic-dstr** | - Разрешить выдачу лицензий сервером 1С |\r\n| **--cadm-user** | - Имя администратора кластера |\r\n| **--cadm-pwd** | - Пароль администратора кластера |\r\n| **--name-in-list** | - Имя в списке баз пользователя (если не задано, то ИБ в список не добавляется) |\r\n| **--tmplt-path** | - Путь к шаблону для создания информационной базы (*.cf; *.dt). Если шаблон не указан, то будет создана пустая ИБ |\r\n\r\n#### Пример\r\n\r\n```bat\r\ncpdb infobase --v8version 8.3.8 create-srv-ib --ib-srvr My1CServer --ib-ref TST_DB_MyDomain --db-srvr MySQLServer --db-user _1CSrvUsr1 --db-pwd p@ssw0rd --db-name TST_DB_MyDomain --createdb --nameinlist \"My test base\" --errifexist\r\n```\r\n\r\n### create-file-ib - Создать файловую информационную базу 1С\r\n\r\n| Параметры: ||\r\n|-|-|\r\n| **--params** | - Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные \";\" (параметры командной строки имеют более высокий приоритет)|\r\n| **--ib-path** | - Путь к каталогу базы 1С |\r\n| **--err-if-exist** | - Сообщить об ошибке если ИБ в кластере 1С существует |\r\n| **--name-in-list** | - Имя в списке баз пользователя (если не задано, то ИБ в список не добавляется) |\r\n| **--tmplt-path** | - Путь к шаблону для создания информационной базы (*.cf; *.dt). Если шаблон не указан, то будет создана пустая ИБ |\r\n\r\n#### Пример\r\n\r\n```bat\r\ncpdb infobase --v8version 8.3.8 create-file-ib --ib-path \"D:\\1cbases\\My1CBase\" --name-in-list \"My test base\" --err-if-exist\r\n```\r\n\r\n### dump - Выгрузить информационную базу в файл\r\n\r\n| Параметры: ||\r\n|-|-|\r\n| **--params** | - Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные \";\" (параметры командной строки имеют более высокий приоритет)|\r\n| **--ib-path** | - Строка подключения к ИБ |\r\n| **--ib-user** | - Пользователь ИБ |\r\n| **--ib-pwd** | - Пароль пользователя ИБ |\r\n| **--dt-path** | - Путь к файлу для выгрузки ИБ |\r\n| **--uccode** | - Ключ разрешения запуска ИБ |\r\n\r\n#### Пример\r\n\r\n```bat\r\ncpdb infobase --v8version 8.3.8 dump --ib-path \"/FD:/data/MyDatabase\" --dt-path \"d:\\data\\1Cv8.dt\" --ib-user Администратор --ib-pwd 123456 --uccode 1234\r\n```\r\n\r\n### restore - Загрузить информационную базу из файла\r\n\r\n| Параметры: ||\r\n|-|-|\r\n| **--params** | - Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные \";\" (параметры командной строки имеют более высокий приоритет)|\r\n| **--ib-path** | - Строка подключения к ИБ |\r\n| **--ib-user** | - Пользователь ИБ |\r\n| **--ib-pwd** | - Пароль пользователя ИБ |\r\n| **--dt-path** | - Путь к файлу для загрузки в ИБ |\r\n| **--jobs-count** | - Количество заданий загрузки файла (для клиент-серверной базы, начиная с версии платформы 8.3.19) |\r\n| **--uccode** | - Ключ разрешения запуска ИБ |\r\n| **--delsrc** | - Удалить файл после загрузки |\r\n\r\n#### Пример\r\n\r\n```bat\r\ncpdb infobase --v8version 8.3.8 restore --ib-path \"/FD:/data/MyDatabase\" --dt-path \"d:\\data\\1Cv8.dt\" --ib-user Администратор --ib-pwd 123456 --uccode 1234 -delsrc\r\n```\r\n\r\n### clearcache - Очистить локальный кэш информационных баз 1С\r\n\r\n| Параметры: ||\r\n|-|-|\r\n| **--params** | - Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные \";\" (параметры командной строки имеют более высокий приоритет)|\r\n| **--ib-path** | - Строка подключения к ИБ (если не указан то удаляются локальные кэши всех информационных баз)|\r\n\r\n#### Пример\r\n\r\n```bat\r\ncpdb infobase clearcache --ib-path \"/FD:/data/MyDatabase\"\r\n```\r\n\r\n### uconstorage - Отключить информационную базу от хранилища конфигурации\r\n\r\n| Параметры: ||\r\n|-|-|\r\n| **--params** | - Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные \";\" (параметры командной строки имеют более высокий приоритет)|\r\n| **--ib-path** | - Строка подключения к ИБ\");\r\n| **--ib-user** | - Пользователь ИБ\");\r\n| **--ib-pwd** | - Пароль пользователя ИБ\");\r\n| **--extension** | - Имя отключаемого расширения конфигурации |\r\n| **--uccode** | - Ключ разрешения запуска ИБ\");\r\n\r\n#### Пример\r\n\r\n```bat\r\ncpdb infobase --v8version 8.3.8 uconstorage --ib-path \"/FD:/data/MyDatabase\" --ib-user Администратор --ib-pwd 123456 --uccode 1234\r\n```\r\n\r\n### constorage - Подключить информационую базу к хранилищу конфигурации\r\n\r\n| Параметры: ||\r\n|-|-|\r\n| **--params** | - Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные \";\" (параметры командной строки имеют более высокий приоритет)|\r\n| **--ib-path** | - Строка подключения к ИБ |\r\n| **--ib-user** | - Пользователь ИБ |\r\n| **--ib-pwd** | - Пароль пользователя ИБ |\r\n| **--extension** | - Имя подключаемого расширения конфигурации |\r\n| **--storage-path** | - Адрес хранилища конфигурации |\r\n| **--storage-user** | - Пользователь хранилища конфигурации |\r\n| **--storage-pwd** | - Пароль пользователя хранилища конфигурации |\r\n| **--update-ib** | - Выполнить обновление ИБ (применить полученную из хранилища конфигурацию к ИБ) |\r\n| **--uccode** | - Ключ разрешения запуска ИБ |\r\n\r\n#### Пример\r\n\r\n```bat\r\ncpdb infobase --v8version 8.3. constorage --ib-path \"/FD:/data/MyDatabase\" --ib-user Администратор --ib-pwd 123456 --storage-path \"tcp://MyServer/MyRepository\" --storage-user MyDatabase_usr1 --storage-pwd 123456 --uccode 12348\r\n```\r\n\r\n## \u003ca id=\"file\"\u003e\u003c/a\u003e file - Группа команд работы с файлами\r\n\r\n---\r\n\r\n### copy - Скопировать/переместить файлы\r\n\r\n| Параметры: ||\r\n|-|-|\r\n| **--params** | - Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные \";\" (параметры командной строки имеют более высокий приоритет)|\r\n| **--src** | - Файл источник |\r\n| **--dst** | - Файл/каталог приемник (если оканчивается на \"\\\", то каталог) |\r\n| **--move** | - Выполнить перемещение файлов (удалить источник после копирования) |\r\n| **--lastonly** | - Копирование файлов, измененных не ранее текущей даты |\r\n\r\n#### Простой пример. Копирование файла в каталог\r\n\r\n```bat\r\ncpdb file copy --src \"d:\\MSSQL\\Backup\\MyDatabase_copy.bak\" --dst \"N:\\NewDestination\\\" --replace --move\r\n```\r\n\r\n#### Сложный пример. В каталоге-источнике имеется несколько резервных копий с датой в имени файла. Необходимо скопировать только свежий файл (созданный сегодня). Новое имя файла не должно содержать дату\r\n\r\n```bat\r\ncpdb file copy --src \"d:\\MSSQL\\Backup\\MyDatabase_copy*.bak\" --dst \"N:\\NewDestination\\MyDatabase_copy.bak*\" --replace --move --lastonly\r\n```\r\n\r\n### split - Архивировать файл с разбиением на части указанного размера\r\n\r\nИспользуется 7-zip\r\n\r\n| Параметры: ||\r\n|-|-|\r\n| **--params** | - Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные \";\" (параметры командной строки имеют более высокий приоритет) |\r\n| **--src** | - Путь к исходному локальному файлу для разбиения |\r\n| **--arch** | - Имя файла архива (не обязательный, по умолчанию \u003cимя исходного файла\u003e.7z) |\r\n| **--list** | - Имя файла, списка томов архива (не обязательный, по умолчанию \u003cимя исходного файла\u003e.split) |\r\n| **--vol-size** | - Размер части {\\\u003cg\u003e, \\\u003cm\u003e, \\\u003cb\u003e} (по умолчанию 50m) |\r\n| **--compress-level** | - Уровень сжатия частей архива {0 - 9} (по умолчанию 0 - не сжимать) |\r\n| **--delsrc** | - Удалить исходный файл после выполнения операции |\r\n\r\n#### Пример\r\n\r\n```bat\r\ncpdb file split \"d:\\MSSQL\\Backup\\MyDatabase_copy.bak\" --list \"d:\\MSSQL\\Backup\\MyDatabase_copy.split\" --vol-size 40m --delsrc\r\n```\r\n\r\n### merge - Разархивировать файл\r\n\r\nИспользуется 7-zip\r\n\r\n| Параметры: ||\r\n|-|-|\r\n| **--params** | - Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные \";\" (параметры командной строки имеют более высокий приоритет)|\r\n| **--arch** | - Имя первого файла архива |\r\n| **--list** | - Имя файла, списка файлов архива (параметр -arch игнорируется) |\r\n| **--delsrc** | - Удалить исходные файлы после выполнения операции |\r\n\r\n#### Пример\r\n\r\n```bat\r\ncpdb file merge --file \"d:\\MSSQL\\Backup\\MyDatabase_copy.7z.001\" --delsrc\r\n```\r\n\r\n```bat\r\ncpdb file merge --list \"d:\\MSSQL\\Backup\\MyDatabase_copy.split\" --delsrc\r\n```\r\n\r\n### mapdrive - Подключить сетевой диск\r\n\r\n| Параметры: ||\r\n|-|-|\r\n| **--params** | - Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные \";\" (параметры командной строки имеют более высокий приоритет) |\r\n| **--drive** | - Имя устройства (буква диска) |\r\n| **--res** | - Путь к подключаемому ресурсу |\r\n| **--user** | - Пользователь для подключения |\r\n| **--pwd** | - Пароль для подключения |\r\n\r\n#### Пример\r\n\r\n```bat\r\ncpdb file mapdrive --drive N --res \"\\\\MyServer\\MyFolder\" --user superuser --pwd P@$$w0rd\r\n```\r\n\r\n### umapdrive - Отключить сетевой диск\r\n\r\n| Параметры: ||\r\n|-|-|\r\n| **--params** | - Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные \";\" (параметры командной строки имеют более высокий приоритет) |\r\n| **--drive** | - Имя устройства (буква диска) |\r\n\r\n#### Пример\r\n\r\n```bat\r\ncpdb file umapdrive --drive N\r\n```\r\n\r\n## \u003ca id=\"yadisk\"\u003e\u003c/a\u003e yadisk - Группа команд работы с сервисом Yandex-Диск\r\n\r\n| Общие параметры для команд группы: ||\r\n|-|-|\r\n| **--token** | - Token авторизации |\r\n---\r\n\r\n### put - Помещение файла на Yandex-Диск\r\n\r\n| Параметры: ||\r\n|-|-|\r\n| **--params** | - Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные \";\" (параметры командной строки имеют более высокий приоритет)|\r\n| **--file** | - Путь к локальному файлу для помещения на Yandex-Диск |\r\n| **--list** | - Путь к локальному файлу со списком файлов, которые будут помещены на Yandex-Диск (параметр --file игнорируется) |\r\n| **--path** | - Путь к каталогу на Yandex-Диск, куда помещать загружаемые файлы |\r\n| **--replace** | - Перезаписать файл на Yandex-диске при загрузке |\r\n| **--delsrc** | - Удалить исходные файлы после отправки |\r\n\r\n#### Пример\r\n\r\n```bat\r\n// Помещает файл \"MyDatabase_copy.bak\" на Yandex-диск\r\ncpdb yadisk --token XXXXXXXXXXXXXXXXXXXXXXXXXXXXX put --file \"d:\\MSSQL\\Backup\\MyDatabase_copy.bak\" --path \"/transfer\" --delsrc\r\n```\r\n\r\n```bat\r\n// Помещает файлы, указанные в списке \"MyDatabase_copy.split\" на Yandex-диск\r\ncpdb yadisk --token XXXXXXXXXXXXXXXXXXXXXXXXXXXXX put --list \"d:\\MSSQL\\Backup\\MyDatabase_copy.split\" --path \"/transfer\" --delsrc\r\n```\r\n\r\n### get - Получение файла из Yandex-Диска\r\n\r\n| Параметры: ||\r\n|-|-|\r\n| **--params** | - Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные \";\" (параметры командной строки имеют более высокий приоритет)|\r\n| **--path** | - Путь к локальному каталогу для сохранения загруженных файлов |\r\n| **--file** | - Путь к файлу на Yandex-Диск для загрузки |\r\n| **--list** | - Путь к файлу на Yandex-Диск со списком файлов, которые будут загружены (параметр --file игнорируется) |\r\n| **--delsrc** | - Удалить файлы из Yandex-Диск после получения |\r\n\r\n#### Пример\r\n\r\n```bat\r\n// Получает файл \"MyDatabase_copy.bak\" из Yandex-диска\r\ncpdb yadisk --token XXXXXXXXXXXXXXXXXXXXXXXXXXXXX get --path \"d:\\MSSQL\\Backup\\MyDatabase_copy.bak\" --file \"/transfer/MyDatabase_copy.bak\" --delsrc\r\n```\r\n\r\n```bat\r\n// Получает файлы, указанные в списке \"MyDatabase_copy.split\" из Yandex-диска\r\ncpdb yadisk --token XXXXXXXXXXXXXXXXXXXXXXXXXXXXX get --path \"d:\\MSSQL\\Backup\\\" --list \"/transfer/MyDatabase_copy.split\" -delsrc\r\n```\r\n\r\n#### Для получения токена авторизации Яндекс-диска\r\n\r\n* Зарегистрировать приложение: [https://oauth.yandex.ru/client/new](https://oauth.yandex.ru/client/new)\r\n  * Название приложения, например \"OScript.YaDisk\"\r\n  * Платформы \"Веб-сервисы\"\r\n  * Callback URI #1:  [https://oauth.yandex.ru/verification_code](https://oauth.yandex.ru/verification_code)\r\n* Дать нужные права для приложения\r\n  * Сервис Яндекс.Диск REST API\r\n    * Запись в любом месте на Диске\r\n      * Чтение всего Диска\r\n      * Доступ к информации о Диске\r\n* Нажать \"Создать приложение\" внизу формы: после этого будет показан ID пароль, прочие параметры созданного приложения\r\n* Получить токен для приложения: перейти по ссылке https://oauth.yandex.ru/authorize?response_type=token\u0026client_id=\u003cВАШ ID (ID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX)\u003e\r\n* На вопрос \"Приложение OScript.YaDisk запрашивает доступ к вашим данным на Яндексе\" ответить \"Разрешить\": после этого на экране появится сформированный токен\r\n\r\n## \u003ca id=\"nextcloud\"\u003e\u003c/a\u003e nextcloud - Группа команд работы с сервисом NextCloud\r\n\r\n| Общие параметры для команд группы: ||\r\n|-|-|\r\n| **--srvr** | - Адрес сервиса NextCloud |\r\n| **--user** | - Имя пользователя сервиса NextCloud |\r\n| **--pwd** | - Пароль пользователя сервиса NextCloud |\r\n---\r\n\r\n### put - Помещение файла в сервис NextCloud\r\n\r\n| Параметры: ||\r\n|-|-|\r\n| **--params** | - Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные \";\" (параметры командной строки имеют более высокий приоритет)|\r\n| **--file** | - Путь к локальному файлу для помещения в сервис NextCloud |\r\n| **--list** | - Путь к локальному файлу со списком файлов, которые будут помещены в сервис NextCloud (параметр --file игнорируется) |\r\n| **--path** | - Путь к каталогу в сервисе NextCloud, куда помещать загружаемые файлы |\r\n| **--replace** | - Перезаписать файл в сервисе NextCloud при загрузке |\r\n| **--delsrc** | - Удалить исходные файлы после отправки |\r\n\r\n#### Пример\r\n\r\n```bat\r\n// Помещает файл \"MyDatabase_copy.bak\" в сервис NextCloud\r\ncpdb nextcloud --service \"http://MyNextCloud\" --user \"admin\" --pwd \"P@$$w0rd\" put --file \"d:\\MSSQL\\Backup\\MyDatabase_copy.bak\" --path \"/transfer\" --delsrc\r\n```\r\n\r\n```bat\r\n// Помещает файлы, указанные в списке \"MyDatabase_copy.split\" в сервис NextCloud\r\ncpdb nextcloud --service \"http://MyNextCloud\" --user \"admin\" --pwd \"P@$$w0rd\" put --list \"d:\\MSSQL\\Backup\\MyDatabase_copy.split\" --path \"/transfer\" --delsrc\r\n```\r\n\r\n### get - Получение файла из сервиса NextCloud\r\n\r\n| Параметры: ||\r\n|-|-|\r\n| **--params** | - Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные \";\" (параметры командной строки имеют более высокий приоритет)|\r\n| **--path** | - Путь к локальному каталогу для сохранения загруженных файлов |\r\n| **--file** | - Путь к файлу в сервисе NextCloud для загрузки |\r\n| **--list** | - Путь к файлу в сервисе NextCloud со списком файлов, которые будут загружены (параметр --file игнорируется) |\r\n| **--delsrc** | - Удалить файлы из сервиса NextCloud после получения |\r\n\r\n#### Пример\r\n\r\n```bat\r\n// Получает файл \"MyDatabase_copy.bak\" из сервиса NextCloud\r\ncpdb nextcloud --service \"http://MyNextCloud\" --user \"admin\" --pwd \"P@$$w0rd\" get --path \"d:\\MSSQL\\Backup\\MyDatabase_copy.bak\" --file \"/transfer/MyDatabase_copy.bak\" --delsrc\r\n```\r\n\r\n```bat\r\n// Получает файлы, указанные в списке \"MyDatabase_copy.split\" из сервиса NextCloud\r\ncpdb nextcloud --service \"http://MyNextCloud\" --user \"admin\" --pwd \"P@$$w0rd\" get --path \"d:\\MSSQL\\Backup\\\" --list \"/transfer/MyDatabase_copy.split\" -delsrc\r\n```\r\n\r\n## \u003ca id=\"sftp\"\u003e\u003c/a\u003e sftp - Группа команд работы с SFTP-сервером\r\n\r\n| Общие параметры для команд группы: ||\r\n|-|-|\r\n| **--srvr** | - Адрес сервера SFTP  в виде `\u003cадрес\u003e:\u003cпорт\u003e` |\r\n| **--port** | - Порт сервера SFTP |\r\n| **--user** | - Имя пользователя сервера SFTP |\r\n| **--pwd** | - Пароль пользователя сервера SFTP, если указан параметр **--key-file**, то используется как пароль для доступа к закрытому ключу |\r\n| **--key-file** | - Путь к файлу закрытого ключа, если указано, то параметр **--pwd** интерпретируется как пароль к закрытому ключу |\r\n---\r\n\r\n### put - Помещение файла на сервер SFTP\r\n\r\n| Параметры: ||\r\n|-|-|\r\n| **--params** | - Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные \";\" (параметры командной строки имеют более высокий приоритет)|\r\n| **--file** | - Путь к локальному файлу для помещения на сервер SFTP |\r\n| **--list** | - Путь к локальному файлу со списком файлов, которые будут помещены на сервер SFTP (параметр --file игнорируется) |\r\n| **--path** | - Путь к каталогу на сервере SFTP, куда помещать загружаемые файлы |\r\n| **--replace** | - Перезаписать файл на сервере SFTP при загрузке |\r\n| **--delsrc** | - Удалить исходные файлы после отправки |\r\n\r\n#### Пример\r\n\r\n```bat\r\n// Помещает файл \"MyDatabase_copy.bak\" на сервере SFTP\r\ncpdb sftp --server \"sftp.myServer.org\" --port 22 --user \"admin\" --pwd \"P@$$w0rd\" put --file \"d:\\MSSQL\\Backup\\MyDatabase_copy.bak\" --path \"/transfer\" --delsrc\r\n```\r\n\r\n```bat\r\n// Помещает файлы, указанные в списке \"MyDatabase_copy.split\" на сервере SFTP\r\ncpdb sftp --server \"sftp.myServer.org\" --port 22 --user \"admin\" --pwd \"P@$$w0rd\" put --list \"d:\\MSSQL\\Backup\\MyDatabase_copy.split\" --path \"/transfer\" --delsrc\r\n```\r\n\r\n### get - Получение файла с сервера SFTP\r\n\r\n| Параметры: ||\r\n|-|-|\r\n| **--params** | - Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные \";\" (параметры командной строки имеют более высокий приоритет)|\r\n| **--path** | - Путь к локальному каталогу для сохранения загруженных файлов |\r\n| **--file** | - Путь к файлу на сервере SFTP для загрузки |\r\n| **--list** | - Путь к файлу на сервере SFTP со списком файлов, которые будут загружены (параметр --file игнорируется) |\r\n| **--delsrc** | - Удалить файлы с сервера SFTP после получения |\r\n\r\n#### Пример\r\n\r\n```bat\r\n// Получает файл \"MyDatabase_copy.bak\" с сервера SFTP\r\ncpdb sftp --server \"sftp.myServer.org\" --port 22 --user \"user\" --pwd \"P@$$w0rd\" get --path \"d:\\MSSQL\\Backup\\MyDatabase_copy.bak\" --file \"/transfer/MyDatabase_copy.bak\" --delsrc\r\n```\r\n\r\n```bat\r\n// Получает файлы, указанные в списке \"MyDatabase_copy.split\" с сервера SFTP\r\ncpdb sftp --server \"sftp.myServer.org\" --port 22 --user \"user\" --pwd \"P@$$w0rd\" get --path \"d:\\MSSQL\\Backup\\\" --list \"/transfer/MyDatabase_copy.split\" -delsrc\r\n```\r\n\r\n## \u003ca id=\"batch\"\u003e\u003c/a\u003e batch - Выполнить сценарий\r\n\r\nПоследовательно выполняет команды указнные в файле JSON\r\n\r\n| Параметры: ||\r\n|-|-|\r\n| **\\\u003cСценарии\\\u003e** | - Файлы JSON содержащие команды и значения параметров, могут быть указаны несколько файлов разделенные \"\";\"\" (обработка файлов выполняется в порядке следования) |\r\n\r\n#### Пример\r\n\r\n```bat\r\ncpdb batch \"./rest_TST_DB_MyDomain.json\"\r\n```\r\n\r\n#### Пример сценария\r\n\r\n```json\r\n{\r\n    \"params\": {},\r\n    \"stages\": {\r\n        \"Восстановление\": {\r\n            \"description\": \"Восстановление из резервной копии\",\r\n            \"command\": \"database restore\",\r\n            \"params\": {\r\n                \"srvr\": \"MySQLServer\",\r\n                \"user\": \"_1CSrvUsr1\",\r\n                \"pwd\": \"p@ssw0rd\",\r\n                \"bak-path\": \"d:\\\\tmp\\\\PRD_DB_MyDomain.bak\",\r\n                \"db\": \"TST_DB_MyDomain\",\r\n                \"db-owner\": \"_1CSrvUsr1\",\r\n                \"db-path\": \"D:\\\\sqldata\",\r\n                \"db-logpath\": \"D:\\\\sqldata\",\r\n                \"db-recovery\": \"SIMPLE\",\r\n                \"db-changelfn\": true\r\n            }\r\n        },\r\n        \"Отключение\": {\r\n            \"description\": \"Отключение от хранилища\",\r\n            \"command\": \"infobase uconstorage\",\r\n            \"params\": {\r\n                \"ib-path\": \"/SSport1\\\\TST_DB_MyDomain\",\r\n                \"ib-user\": \"\\\"1C User\\\"\",\r\n                \"ib-pwd\": \"p@ssw0rd\"\r\n            }\r\n        },\r\n        \"Сжатие\": {\r\n            \"description\": \"Сжатие базы данных\",\r\n            \"command\": \"database compress\",\r\n            \"params\": {\r\n                \"srvr\": \"Sport1\",\r\n                \"user\": \"_1CSrvUsr1\",\r\n                \"pwd\": \"p@ssw0rd\",\r\n                \"db\": \"TST_DB_MyDomain\",\r\n                \"shrink-db\": true\r\n            }\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n## \u003ca id=\"jenkins\"\u003e\u003c/a\u003e Использование c Jenkins\r\n\r\nВ jenkinsfile описан конвейер, выполняющий следующий сценарий:\r\n\r\n* Создание резервной копии указанной базы на системе-источнике\r\n* Разбиение резервной копии на части (используется 7-Zip)\r\n* Копирование частей файла на Yandex-Диск (в указанный каталог)\r\n* Получение файла резервной копии из Yandex-Диск на системе-приемнике\r\n* Восстановление указанной базы из резервной копии\r\n* Подключает базу к хранилищу конфигурации\r\n\r\n| Переменные окружения конвейера ||\r\n|-|-|\r\n| **src_db_cred** | - Идентификатор credentials для доступа к MS SQL в системе, где расположена база-источник |\r\n| **src_agent_label** | - Метка агента Jenkins в системе, где расположена база-источник |\r\n| **src_server_name** | - Имя сервера MS SQL в системе-источнике |\r\n| **src_db_name** | - Имя базы-источника |\r\n| **src_bak_path** | - Путь к каталогу резервной копии в системе-источнике |\r\n|||\r\n| **bak_file_name** | - Имя файла резервной копии |\r\n| **list_file_name** | - Имя файла списка томов архива |\r\n|||\r\n| **storage_token** | - Token для доступа к Yandex-Диску |\r\n| **storage_path** | - Путь к каталогу на Yandex-Диск для передачи файлов в систему-приемник |\r\n|||\r\n| **dst_db_cred** | - Идентификатор credentials для доступа к MS SQL в системе-приемнике |\r\n| **dst_agent_label** | - Метка агента Jenkins в системе, где расположена база-приемник |\r\n| **dst_bak_path** | - Путь к каталогу резервной копии в системе-приемнике, в который будут загружены файлы из Yandex-Диска |\r\n| **dst_server_name** | - Имя сервера MS SQL в системе-приемнике |\r\n| **dst_db_name** | - Имя базы-приемника |\r\n| **dst_dbo** | - Имя пользователя-владельца базы в системе-приемнике (dbowner) |\r\n| **dst_db_path** | - Путь к каталогу размещения файлов данных базы-приемника\r\n| **dst_log_path** | - Путь к каталогу размещения файлов журнала базы-приемника |\r\n| **dst_ib_agent_label** | - Метка агента Jenkins в системе, где выполняется подключение к хранилищу конфигурации |\r\n| **dst_ib_con_string** | - Строка подключения к информационной базе, подключаемой к хранилищу |\r\n| **dst_ib_cred** | - Идентификатор credentials для доступа к информационной базе |\r\n| **dst_ib_storage_adr** | - Адрес хранилища конфигурации |\r\n| **dst_ib_storage_cred** | - Идентификатор credentials для подключения к хранилищу конфигурации |\r\n\r\n## \u003ca id=\"library\"\u003e\u003c/a\u003e Прграммный интерфейс библиотеки (API)\r\n\r\n---\r\n\r\n### \u003ca id=\"lib-database\"\u003e\u003c/a\u003e Класс РаботаССУБД\r\n\r\n```bsl\r\nПодключение = Новый ПодключениеMSSQL(\"MyServer\", \"user\", \"P@ssw0rd);\r\nРаботаССУБД = Новый РаботаССУБД(Подключение);\r\n```\r\n\r\n#### **Функция БазаСуществует()** - проверяет существование базу на сервере СУБД\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| База | Строка | имя базы данных |\r\n\r\n*Возвращаемое значение:* Булево - Истина - база существует\r\n\r\n#### **Функция СписокБаз()** - получает список баз с сервера СУБД\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ФильтрБазПоИмени | Строка | имя базы данных |\r\n| ФильтрПоТаблице | Строка | имя таблицы базы данных |\r\n| ВключаяСистемные | Строка | имя таблицы базы данных |\r\n\r\n*Возвращаемое значение:* Соответствие Из Структура - список баз на сервере СУБД\r\n\r\n```txt\r\n* Имя                   - Строка    - имя базы данных\r\n* Ид                    - Число     - идентификатор базы данных\r\n* ИдСоздателя           - Число     - идентификатор пользователя, создавшего базу\r\n* Статус1               - Число     - флаги состояния базы данных\r\n* Статус2               - Число     - флаги состояния базы данных\r\n* ДатаСоздания          - Дата      - дата создания базы данных\r\n* РежимСовместимости    - Число     - версия режима совместимости базы\r\n* ФайлДанных            - Строка    - путь к файлу данных\r\n```\r\n\r\n#### **Функция ТаблицаСуществует()** - проверяет существование таблицы в базе на сервере СУБД\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| База | Строка | имя базы данных |\r\n| Таблица | Строка | имя таблицы базы данных |\r\n\r\n*Возвращаемое значение:* Булево - Истина - таблица существует в базе данных\r\n\r\n#### **Процедура СоздатьБазуДанных()** - создает базу данных\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| База | Строка | имя базы данных |\r\n| МодельВосстановления | Строка | модель восстановления (FULL, SIMPLE, BULK_LOGGED) |\r\n| ПутьККаталогу | Строка | путь к каталогу для размещения файлов базы данных если не указан, то файлы размещаются в каталоге по умолчанию SQL Server |\r\n\r\n#### **Процедура УдалитьБазуДанных()** - удаляет базу данных\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| База | Строка | имя базы данных |\r\n\r\n#### **Процедура ВыполнитьрезервноеКопирование()** - выполняет резервное копирование базы\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| База | Строка | имя базы данных |\r\n| ПутьКРезервнойКопии | Строка | путь к файлу резервной копии |\r\n\r\n#### **Процедура ВыполнитьВосстановление()** - выполняет восстановление базы из резервной копии\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| База | Строка | имя базы данных |\r\n| ПутьКРезервнойКопии | Строка | путь к файлу резервной копии |\r\n| ПутьКФайлуДанных | Строка | путь к файлу данных базы |\r\n| ПутьКФайлуЖурнала | Строка | путь к файлу журнала транзакций базы |\r\n| СоздаватьБазу | Булево | Истина - создать базу в случае отсутствия\r\n\r\n#### **Функция ПолучитьОписание()** - получает описание базы данных\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| База | Структура | описание базы данных |\r\n\r\n*Возвращаемое значение:* Структура - описание базы данных\r\n\r\n```txt\r\n* Имя                                   - Строка  - имя базы данных (name)\r\n* Ид                                    - Число   - числовой идентификатор базы (database_id)\r\n* ФизическоеИмя                         - Строка  - физическое имя базы (physical_database_name)\r\n* Владелец                              - Строка  - пользователь - владелец базы (db owner)\r\n* ДатаСоздания                          - Дата    - дата создания базы (create_date)\r\n* РежимСовместимости                    - Число   - режим совместимости базы (версия MS SQL)\r\n                                                    (compatibility_level)\r\n* ЯзыковыеУстановки                     - Строка  - используемые языковые установки (collation_name)\r\n* РежимДоступа                          - Булево  - режим пользовательского доступа к базе\r\n                                                    (SINGLE_USER, MULTI_USER) (user_access_desc)\r\n* ТолькоДляЧтения                       - Булево  - флаг режима только для чтения (is_read_only)\r\n* Состояние                             - Строка  - состояние базы (ONLINE, OFFLINE) (state_desc)\r\n* РежимОжидания                         - Булево  - флаг нахождения базы в режиме ожидания (is_in_standby)\r\n* РежимИзоляцииСнимков                  - Булево  - флаг использования режима изоляции снимков\r\n                                                    (snapshot_isolation_state)\r\n* РежимФиксированногоЧтенияСнимков      - Булево  - флаг использования фиксированного чтения снимков\r\n                                                    (is_read_committed_snapshot_on)\r\n* МодельВосстановления                  - Строка  - модель восстановления базы (FULL, SIMPLE, BULK_LOGGED)\r\n                                                    (recovery_model_desc)\r\n* АвтоСозданиеСтатистики                - Булево  - флаг автоматического создания статистики\r\n                                                    (is_auto_create_stats_on)\r\n* АвтоСозданиеСтатистикиИнкрементально  - Булево  - флаг автоматического инкрементального создания статистики\r\n                                                    (is_auto_create_stats_incremental_on)\r\n* АвтоОбновлениеСтатистики              - Булево  - флаг автоматического обновления статистики\r\n                                                    (is_auto_update_stats_on)\r\n* АвтоОбновлениеСтатистикиАсинх         - Булево  - флаг автоматического асинхронного обновления статистики\r\n                                                    (is_auto_update_stats_async_on)\r\n* ПолнотекстовыйПоиск                   - Булево  - флаг использования полнотекстового поиска\r\n                                                    (is_fulltext_enabled)\r\n* Шифрование                            - Булево  - флаг использования шифрования базы (is_encrypted)\r\n```\r\n\r\n#### **Процедура УстановитьОднопользовательскийРежимБазы()** - переводит базу данных в однопользовательский режим\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| База | Строка | имя базы данных |\r\n\r\n#### **Процедура УстановитьМногопользовательскийРежимБазы()** - переводит базу данных в многопользовательский режим\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| База | Строка | имя базы данных |\r\n\r\n#### **Функция ПолучитьВладельца()** - получает текущего владельца базы\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| База | Строка | имя базы данных |\r\n\r\n*Возвращаемое значение:* Строка - имя текущего владельца базы\r\n\r\n#### **Процедура ИзменитьВладельца()** - устанавливает нового владельца базы\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| База | Строка | имя базы данных |\r\n| ВладелецБазы | Строка | новый владелец базы |\r\n\r\n#### **Процедура ПолучитьМодельВосстановления()** - получает модель восстановления базы (FULL, SIMPLE, BULK_LOGGED)\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| База | Строка | имя базы данных |\r\n\r\n*Возвращаемое значение:* Строка - текущая модель восстановления базы\r\n\r\n#### **Процедура ИзменитьМодельВосстановления()** - устанавливает модель восстановления базы (FULL, SIMPLE, BULK_LOGGED)\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| База | Строка | имя базы данных |\r\n| МодельВосстановления | Строка | новая модель восстановления (FULL, SIMPLE, BULK_LOGGED) |\r\n\r\n#### **Функция ПолучитьЛогическоеИмяФайла()** - получает логическое имя файла в базе\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| База | Строка | имя базы данных |\r\n| ТипФайла | Строка | ROWS - файл базы; LOG - файл журнала транзакций |\r\n\r\n*Возвращаемое значение:* Строка - логическое имя файла в базе данных\r\n\r\n#### **Процедура ИзменитьЛогическоеИмяФайла()** - устанавливает новое логическое имя файла базы\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| База | Строка | имя базы данных |\r\n| Имя | Строка | логическое имя файла для изменения |\r\n| НовоеИмя | Строка | новое логическое имя файла|\r\n\r\n#### **Процедура УстановитьЛогическиеИменаФайлов()** - устанавливает логические имена файлов в формате\r\n\r\n*\u003cНовоеИмя\u003e* - для файла данных\r\n\r\n*\u003cНовоеИмя\u003e_log* - для файла журнала транзакций\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| База | Строка | имя базы данных |\r\n| НовоеИмя | Строка | новое имя файлов, если не указано, то используется имя базы |\r\n\r\n#### **Процедура ВключитьКомпрессию()** - включает компрессию данных базы на уровне страниц\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| База | Строка | имя базы данных |\r\n\r\n#### **Процедура СжатьБазу()** - выполняет сжатие базы (shrink)\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| База | Строка | имя базы данных |\r\n\r\n#### **Процедура СжатьФайлЖурналаТранзакций()** - выполняет сжатие файла журнала транзакций (shrink)\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| База | Строка | имя базы данных |\r\n\r\n#### **Функция ВыполнитьСкрипты()** - выполняет указанные скрипты\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| СкриптыВыполнения | Строка | пути к файлам скриптов, разделенные \";\" |\r\n| СтрокаПеременных | Строка | набор значений переменных в виде \"\u003cИмя\u003e=\u003cЗначение\u003e\", разделенные \";\" |\r\n\r\n*Возвращаемое значение:* Строка - результат выполнения скриптов\r\n\r\n#### **Функция ВыполнитьЗапрос()** - выполняет запрос к СУБД\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ТекстЗапроса | Строка | текст исполняемого запроса |\r\n| Разделитель | Строка | символ - разделитель колонок результата |\r\n| УбратьПробелы | Булево | Истина - будут убраны выравнивающие пробелы из результата |\r\n\r\n*Возвращаемое значение:* Строка - результат выполнения запроса\r\n\r\n### \u003ca id=\"lib-infobase\"\u003e\u003c/a\u003e Модуль РаботаСИБ\r\n\r\n#### **Процедура ВыгрузитьИнформационнуюБазуВФайл()** - выполняет выгрузку информационной базы в DT-файл\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ПараметрыИБ | Структура | параметры подключения к базе 1С |\r\n| **СтрокаПодключения* | Строка | строка подключения к базе 1С |\r\n| **Пользователь* | Строка | имя пользователя базы 1С |\r\n| **Пароль* | Строка | пароль пользователя базы 1С |\r\n| ПутьКФайлу | Строка | путь к DT-файлу для выгрузки базы 1С |\r\n| ИспользуемаяВерсияПлатформы | Строка | маска версии 1С |\r\n| КлючРазрешения | Строка | ключ разрешения входа в заблоrированную серверную базу 1С (/UC) |\r\n\r\n#### **Процедура ЗагрузитьИнформационнуюБазуИзФайла()** - выполняет загрузку информационной базы из DT-файла\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ПараметрыИБ | Структура | параметры подключения к базе 1С |\r\n| **СтрокаПодключения* | Строка | строка подключения к базе 1С |\r\n| **Пользователь* | Строка | имя пользователя базы 1С |\r\n| **Пароль* | Строка | пароль пользователя базы 1С |\r\n| ПутьКФайлу | Строка | путь к DT-файлу для загрузки в базу 1С |\r\n| КоличествоЗаданий | Число | количество заданий загрузки файла (для клиент-серверной базы, начиная с версии платформы 8.3.19)) |\r\n| ИспользуемаяВерсияПлатформы | Строка | маска версии 1С |\r\n| КлючРазрешения | Строка | ключ разрешения входа в заблоrированную серверную базу 1С (/UC) |\r\n\r\n#### **Процедура ОчиститьЛокальныйКэшИнформационнойБазы()** - выполняет очистку локального кэша информационной базы 1С\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| СтрокаПодключения | Строка | строка подключения к базе 1С |\r\n\r\n#### **Процедура ОчиститьВсеЛокальныеКэшиИнформационныхБаз()** - выполняет очистку всех локальных кэшей информационных баз 1С\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| нет |  |  |\r\n\r\n#### **Процедура ОтключитьОтХранилища()** - выполняет отключение информационной базы от хранилища конфигурации\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ПараметрыИБ | Структура | параметры подключения к базе 1С |\r\n| **СтрокаПодключения* | Строка | строка подключения к базе 1С |\r\n| **Пользователь* | Строка | имя пользователя базы 1С |\r\n| **Пароль* | Строка | пароль пользователя базы 1С |\r\n| ИспользуемаяВерсияПлатформы | Строка | маска версии 1С |\r\n| ИмяРасширения | Строка | имя расширения, отключаемого от хранилища (если не указано, отключается основная конфигурация) |\r\n| КлючРазрешения | Строка | ключ разрешения входа в заблоrированную серверную базу 1С (/UC) |\r\n\r\n#### **Процедура ПодключитьКХранилищу()** - выполняет подключение информационной базы к хранилищу конфигурации\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ПараметрыИБ | Структура | параметры подключения к базе 1С |\r\n| **СтрокаПодключения* | Строка | строка подключения к базе 1С |\r\n| **Пользователь* | Строка | имя пользователя базы 1С |\r\n| **Пароль* | Строка | пароль пользователя базы 1С |\r\n| ПараметрыХранилища | Структура | параметры подключения к хранилищу конфигурации |\r\n| **Адрес* | Строка | адрес хранилища конфигурации |\r\n| **Пользователь* | Строка | имя пользователя хранилища конфигурации |\r\n| **Пароль* | Строка | пароль пользователя хранилища конфигурации |\r\n| ИспользуемаяВерсияПлатформы | Строка | маска версии 1С |\r\n| ИмяРасширения | Строка | имя расширения, отключаемого от хранилища (если не указано, отключается основная конфигурация) |\r\n| ОбновитьИБ | Булево | Истина - после обновления обновить конфигурацию базы данных |\r\n| КлючРазрешения | Строка | ключ разрешения входа в заблоrированную серверную базу 1С (/UC) |\r\n\r\n#### **Процедура СоздатьСервернуюБазу()** - создание серверной информационной базы 1С\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| Параметры1С | Структура | параметры создания базы 1С |\r\n| **Сервер1С* | Строка | адрес кластера серверов 1С ([\u003cпротокол\u003e://]\u003cадрес\u003e[:\u003cпорт\u003e]) |\r\n| **ИмяИБ* | Строка | имя информационной базы на сервере 1С |\r\n| **РазрешитьВыдачуЛицензий* | Булево | Истина - разрешить выдачу лицензий сервером 1С (по умолчанию: Истина) |\r\n| **РазрешитьРегЗадания* | Булево | Истина - разрешить запуск рег. заданий (по умолчанию: Ложь) |\r\n| ПараметрыСУБД | Структура | параметры подключения к СУБД |\r\n| **ТипСУБД* | Строка | тип сервера СУБД (\"MSSQLServer\" \u003cпо умолчанию\u003e, \"PostgreSQL\", \"IBMDB2\", \"OracleDatabase\") |\r\n| **СерверСУБД* | Строка | адрес сервера СУБД |\r\n| **ПользовательСУБД* | Строка | пользователь сервера СУБД |\r\n| **ПарольСУБД* | Строка | пароль пользователя сервера СУБД |\r\n| **ИмяБД* | Строка | имя базы на сервере СУБД (если не указано будет использовано имя ИБ 1С) |\r\n| **СмещениеДат* | Число | смещение дат на сервере MS SQL (0; 2000 \u003cпо умолчанию\u003e) |\r\n| **СоздаватьБД* | Булево | Истина - будет создана база на сервере СУБД в случае отсутствия |\r\n| АвторизацияВКластере | Структура | параметры авторизации в кластере 1С |\r\n| **Имя* | Строка | имя администратора кластера 1С |\r\n| **Пароль* | Строка | пароль администратора кластера 1С |\r\n| ИспользуемаяВерсияПлатформы | Строка | маска версии 1С |\r\n| ОшибкаЕслиСуществует | Булево | Истина - вызвать исключение если ИБ в кластере 1С существует (по умолчанию: Ложь) |\r\n| ПутьКШаблону | Строка | путь к шаблону для создания информационной базы (*.cf; *.dt). Если шаблон не указан, то будет создана пустая ИБ |\r\n| ИмяВСпискеБаз | Строка | имя в списке баз пользователя (если не задано, то ИБ в список не добавляется) |\r\n\r\n#### **Процедура СоздатьФайловуюБазу()** - создание файловой информационной базы 1С\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ПутьКБазе | Строка | путь к каталогу базы 1С |\r\n| ИспользуемаяВерсияПлатформы | Строка | маска версии 1С |\r\n| ПутьКШаблону | Строка | путь к шаблону для создания информационной базы (*.cf; *.dt). Если шаблон не указан, то будет создана пустая ИБ |\r\n| ИмяВСпискеБаз | Строка | имя в списке баз пользователя (если не задано, то ИБ в список не добавляется) |\r\n\r\n### \u003ca id=\"lib-file\"\u003e\u003c/a\u003e Модуль РаботаСФайлами\r\n\r\n#### **Процедура КомандаСистемыКопироватьФайл()** - выполняет копирование/перемещение указанных файлов с использованием команд системы (xcopy)\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| Источник | Строка | копируемые файлы |\r\n| Приемник | Строка | назначение копирования, каталог или файл |\r\n| Перемещение | Булево | выполнить перемещение файлов (удалить источник после копирования) |\r\n| ТолькоСегодня | Булево | копирование файлов, измененных не ранее текущей даты (параметр /D для xcopy) |\r\n\r\n#### **Процедура КомандаСистемыУдалитьФайл()** - выполняет удаление указанных файлов с использованием команды системы (del)\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ПутьКФайлу | Строка | путь к удаляемому файлу |\r\n| ИсключениеПриОшибке | Булево | Истина - вызывать исключение при ошибке удаления |\r\n\r\n#### **Функция ПрочитатьСписокФайлов()** - читает список файлов из файла\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ПутьКСписку | Строка | путь к удаляемому файлу |\r\n| ДобавитьПутьКИсходномуФайлу | Булево | Истина - при чтении добавлять к результату путь к исходному файлу списка |\r\n| ДобавитьИсходныйФайл | Булево | Истина - добавить исходный файл в список |\r\n\r\n*Возвращаемое значение:* Массив из Строка - прочитанный список файлов\r\n\r\n#### **Процедура ЗапаковатьВАрхив()** - выполняет архиваци указанного файла с разбитием на части указанного размера\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ПутьКФайлу | Строка | путь к файлу, который будет архивироваться |\r\n| ИмяАрхива | Строка | имя файла-архива |\r\n| ИмяСпискаФайлов | Строка | имя файла-списка (содержащего все чати архива) |\r\n| РазмерТома | Строка | размер части {\u003cg\u003e, \u003cm\u003e, \u003cb\u003e} (по умолчанию 50m) |\r\n| СтепеньСжатия | Число | уровень сжатия частей архива {0 - 9} (по умолчанию 0 - не сжимать) |\r\n| УдалитьИсточник | Булево | Истина - после архивации исходный файл будет удален |\r\n\r\n#### **Процедура РаспаковатьАрхив()** - выполняет выполняет распаковку архива\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ПутьКАрхиву | Строка | путь к файлу архива, который будет распаковываться |\r\n| ЭтоСписокФайлов | Булево | Истина - передан список файлов; Ложь - передан первый том архива |\r\n| УдалитьИсточник | Булево | Истина - после распаковки исходный файл будет удален |\r\n\r\n#### **Процедура ПодключитьДиск()** - подключает указанный сетевой диск\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ИмяУстройства | Строка | имя (буква) подключаемого диска |\r\n| ИмяРесурса | Строка | сетевой путь к подключаемому ресурсу |\r\n| Пользователь | Строка | пользователь от имени которого выполняется подключение |\r\n| ПарольПользователя | Строка | пароль пользователя от имени которого выполняется подключение |\r\n\r\n#### **Процедура ОтключитьДиск()** - отключает указанный сетевой диск\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ИмяУстройства | Строка | имя (буква) отключаемого диска |\r\n\r\n### \u003ca id=\"lib-yadisk\"\u003e\u003c/a\u003e Класс РаботаСЯндексДиск\r\n\r\n```bsl\r\nРаботаСЯндексДиск = Новый РаботаСЯндексДиск(\u003cТокен\u003e);\r\n```\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| _Токен | Строка | токен авторизации Yandex-диска |\r\n\r\n#### **Функция Соединение()** - возвращает соединение с Yandex-диском\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| нет |||\r\n\r\n*Возвращаемое значение:* ЯндексДиск - соединение с Yandex-диском\r\n\r\n#### **Процедура УстановитьПараметрыСоединения()** - создает соединение с Yandex-диском с указанными параметрами\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| _Токен | Строка | токен авторизации Yandex-диска |\r\n\r\n#### **Процедура СоздатьКаталог()** - создает каталог на Yandex-диске\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ЦелевойПуть | Строка | путь на yandex-диске к создаваемому каталогу |\r\n\r\n#### **Процедура ОтправитьФайл()** - отправляет файл на Yandex-Диск\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ПутьКФайлу | Строка | путь к отправляемому файлу |\r\n| ЦелевойПуть | Строка | путь на yandex-диске, куда будет загружен файл |\r\n| Перезаписывать | Булево | перезаписать файл на Яндекс-диске при загрузке |\r\n\r\n#### **Функция ПолучитьФайл()** - получает файл из Yandex-Диска\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ПутьКФайлу | Строка | расположение файла на yandex-диске |\r\n| ЦелевойПуть | Строка | путь, куда будет загружен файл |\r\n| УдалитьИсточник | Булево | Истина - удалить файл после загрузки |\r\n\r\n*Возвращаемое значение:* Число - код возврата команды\r\n\r\n#### **Функция Существует()** - проверка существования файла / каталога на Yandex-Диске\r\n\r\n**Не реализовано**\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ПутьКФайлу | Строка | расположение файла на yandex-диске |\r\n\r\n*Возвращаемое значение:* Булево - Истина - файл / каталог существует\r\n\r\n#### **Процедура Удалить()** - удаляет файл из Yandex-Диска\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ПутьКФайлу | Строка | расположение файла на yandex-диске |\r\n\r\n### \u003ca id=\"lib-nextcloud\"\u003e\u003c/a\u003e Класс РаботаСNextCloud\r\n\r\n```bsl\r\nРаботаСNextCloud = Новый РаботаСNextCloud(\"http://MyNextCloudServer:8080\", \"user\", \"P@ssw0rd\");\r\n```\r\n\r\n#### **Функция Адрес()** - возвращает адрес сервера NextCloud\r\n\r\n*Возвращаемое значение:* Строка - адрес сервера NextCloud\r\n\r\n#### **Функция Пользователь()** - возвращает имя пользователя сервера NextCloud\r\n\r\n*Возвращаемое значение:* Строка - имя пользователя сервера NextCloud\r\n\r\n#### **Функция Соединение()** - возвращает соединение с сервером NextCloud\r\n\r\n*Возвращаемое значение:* ПодключениеNextCloud - соединение с сервером NextCloud\r\n\r\n#### **Процедура УстановитьПараметрыСоединения()** - создает соединение с сервером NextCloud с указанными параметрами\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| _Адрес | Строка | адрес сервера NextCloud |\r\n| _Пользователь | Строка | имя пользователя сервера NextCloud |\r\n| Пароль | Строка | пароль пользователя сервера NextCloud |\r\n\r\n#### **Процедура СоздатьКаталог()** - создает каталог в сервисе NextCloud\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ЦелевойПуть | Строка | путь к создаваемому каталогу |\r\n\r\n#### **Процедура ОтправитьФайл()** - отправляет файл в сервис NextCloud\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ПутьКФайлу | Строка | путь к отправляемому файлу |\r\n| ЦелевойПуть | Строка | путь к каталогу в сервисе NextCloud, куда будет загружен файл |\r\n| Перезаписывать | Булево | перезаписать файл в сервисе NextCloud при загрузке |\r\n\r\n#### **Функция ПолучитьФайл()** - получает файл из сервиса NextCloud\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ПутьКФайлу | Строка | расположение файла на сервисе NextCloud |\r\n| ЦелевойКаталог | Строка | путь к каталогу, куда будет загружен файл |\r\n| УдалитьИсточник | Булево | Истина - удалить файл после загрузки |\r\n\r\n*Возвращаемое значение:* Строка - путь к полученному файлу\r\n\r\n#### **Функция Существует()** - проверяет существование файла / каталога в сервиса NextCloud\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ПутьНаДиске | Строка | расположение файла на сервисе NextCloud |\r\n\r\n*Возвращаемое значение:* Булево - Истина - файл / каталог существует\r\n\r\n#### **Процедура Удалить()** - удаляет файл из сервиса NextCloud\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ПутьНаДиске | Строка | расположение файла на сервисе NextCloud |\r\n\r\n### \u003ca id=\"lib-sftp\"\u003e\u003c/a\u003e Класс РаботаСSFTP\r\n\r\n```bsl\r\nРаботаСSFTP = Новый РаботаСSFTP(\"MySFTPServer:2222\", \"user\", \"P@ssw0rd\");\r\n```\r\n\r\n#### **Функция Адрес()** - возвращает адрес сервера SSH\r\n\r\n*Возвращаемое значение:* Строка - адрес сервера SSH\r\n\r\n#### **Функция Пользователь()** - возвращает имя пользователя сервера SSH\r\n\r\n*Возвращаемое значение:* Строка - имя пользователя сервера SSH\r\n\r\n#### **Функция Соединение()** - возвращает соединение с сервером SSH\r\n\r\n*Возвращаемое значение:* КлиентSSH - соединение с сервером SSH\r\n\r\n#### **Процедура УстановитьПараметрыСоединения()** - создает соединение с сервером SSH с указанными параметрами\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| _Адрес | Строка | адрес сервера SSH |\r\n| _Пользователь | Строка | имя пользователя сервера SSH |\r\n| ПутьККлючу | Строка | путь к файлу закрытого ключа сервера SSH |\r\n\r\n#### **Процедура СоздатьКаталог()** - каталог на сервере SFTP\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ЦелевойПуть | Строка | путь к создаваемому каталогу |\r\n\r\n#### **Процедура ОтправитьФайл()** - отправляет файл в сервис NextCloud\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ПутьКФайлу | Строка | путь к отправляемому файлу |\r\n| ЦелевойПуть | Строка | путь к каталогу на сервере SFTP, куда будет загружен файл |\r\n| Перезаписывать | Булево | перезаписать файл на сервере SFTP при загрузке |\r\n\r\n#### **Функция ПолучитьФайл()** - получает файл с сервера SFTP\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ПутьКФайлу | Строка | расположение файла на сервере SFTP |\r\n| ЦелевойКаталог | Строка | путь к каталогу, куда будет загружен файл |\r\n| УдалитьИсточник | Булево | Истина - удалить файл после загрузки |\r\n\r\n*Возвращаемое значение:* Строка - путь к полученному файлу\r\n\r\n#### **Функция Существует()** - проверяет существование файла / каталога на сервере SFTP\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ПутьНаДиске | Строка | расположение файла на сервере SFTP |\r\n\r\n*Возвращаемое значение:* Булево - Истина - файл / каталог существует\r\n\r\n#### **Процедура УдалитьФайл()** - удаляет файл с сервера SFTP\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ПутьНаДиске | Строка | расположение файла на сервере SFTP |\r\n\r\n#### **Процедура УдалитьКаталог()** - удаляет каталог с сервера SFTP\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ПутьНаДиске | Строка | расположение каталога на сервере SFTP |\r\n\r\n### \u003ca id=\"lib-dbstoragestructure\"\u003e\u003c/a\u003e Класс СтруктураХраненияИБ\r\n\r\n```bsl\r\nСтруктураИБ = Новый СтруктураХраненияИБ();\r\n```\r\n\r\n#### **Функция ВерсияФорматаКонфигурации()** - возвращает версию формата конфигурации\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| нет |||\r\n\r\n*Возвращаемое значение:* Структура - информация о версии формата конфигурации\r\n\r\n```txt\r\n* Версия                      - Число     - номер версии формата конфигурации\r\n* ТребуемаяВерсияПлатформы    - Строка    - минимальная версия платформы 1С\r\n```\r\n\r\n#### **Функция ОписаниеКонфигурации()** - возвращает описание конфигурации\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| нет |||\r\n\r\n*Возвращаемое значение:* Структура - описание конфигурации\r\n\r\n```txt\r\n* Имя                             - Строка    - имя конфигурации\r\n* Синоним                         - Строка    - синоним конфигурации\r\n* Версия                          - Строка    - версия конфигурации\r\n* РежимСовместимости              - Строка    - версия режима совместимости конфигурации\r\n* КраткаяИнформация               - Строка    - краткая информация о конфигурации\r\n* ПодробнаяИнформация             - Строка    - подробная информация о конфигурации\r\n* Поставщик                       - Строка    - поставщик конфигурации\r\n* АвторскиеПрава                  - Строка    - данные об авторских правах\r\n* АдресИнформацииОПоставщике      - Строка    - адрес сайта с информацией о поставщике\r\n* АдресИнформацииОКонфигурации    - Строка    - адрес сайта с информацией о конфигурации\r\n* АдресКаталогаОбновлений         - Строка    - адрес сайта с каталогом обновлений\r\n```\r\n\r\n#### **Функция ОписаниеМетаданныхОбъектаБД1С()** - возвращает описание метаданных 1С для объекта СУБД по его имени\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ИмяОбъекта | Строка | имя таблицы или поля таблицы СУБД |\r\n\r\n*Возвращаемое значение:* Структура - описание метаданных 1С по имени объекта СУБД\r\n\r\n```txt\r\n* Владелец               - Структура    - структура описания объекта владельца\r\n* Тип                    - Строка       - тип объекта или коллекция\r\n                                          (например: Справочник, Документ, ТабличнаяЧасть, Поле)\r\n* ТипАнгл                - Строка       - тип объекта или коллекция на английском\r\n                                          (например: Reference, Document, TabularSection, Field)\r\n* Назначение             - Строка       - назначение таблицы БД (например: Основная, Итоги, Обороты)\r\n* Имя                    - Строка       - имя объекта в БД (Префикс + Индекс)\r\n* Префикс                - Строка       - префикс объекта (например: Reference, Document, VT, Fld))\r\n* Индекс                 - Число        - числовой индекс объекта\r\n* Суффикс                - Строка       - дополнительный суффикс имени объекта (например: \"_RRef\")\r\n* Ид                     - Строка       - UUID объекта 1С\r\n* ИмяМетаданных          - Строка       - имя метаданных 1С\r\n* ПолноеИмяМетаданных    - Строка       - имя метаданных 1С\r\n```\r\n\r\n#### **Функция ОписаниеМетаданныхОбъектовБД1С()** - возвращает описание метаданных 1С для таблиц и полей таблиц СУБД\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ДобавлятьКолонки | Булево | Истина - будет добавлена информация для колонок таблиц |\r\n\r\n*Возвращаемое значение:* Соответствие - соответствия имен таблиц СУБД и полных имен метаданных 1С описаниям объектов метаданных (см. ОписаниеМетаданныхОбъектаБД1С)\r\n\r\n#### **Функция ЗанимаемоеМесто()** - возвращает описание занимаеиого места в базе MS SQL Server\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| нет |||\r\n\r\n*Возвращаемое значение:* Структура - описание занимаего места\r\n\r\n```txt\r\n* РазмерБазы         - Число    - размер текущей базы данных в байтах, включает файлы данных и журналов\r\n* Свободно           - Число    - место в базе данных, не зарезервированное для объектов базы данных\r\n* Зарезервировано    - Число    - общий объем, выделенный объектам в базе данных\r\n* Данные             - Число    - зарезервированный объем, используемый данными\r\n* Индексы            - Число    - зарезервированный объем, используемый индексами\r\n* НеИспользуется     - Число    - объем, зарезервированный для объектов в базе данных,\r\n                                  но пока не используемый\r\n* ЖурналВсего        - Число    - полный объем журнала транзакций\r\n* ЖурналИспользуется - Число    - используемый объем журнала транзакций\r\n```\r\n\r\n#### **Функция ПоказателиИспользованияТаблицБазы()** - возвращает список таблиц в базе MS SQL Server и их показатели использования\r\n\r\n| Параметры: |||\r\n|-|-|-|\r\n| ФильтрТаблицПоИмени | Строка | фильтр имен таблиц в формате для оператора \"LIKE\" |\r\n| СтатистикаОпераций | Булево | Истина - в результат будет включена статистика по операциям с таблицами (для больших баз - может занять много времени) |\r\n\r\n*Возвращаемое значение:* Массив из Структура - таблицы и показатели использования\r\n\r\n```txt\r\n* Таблица                 - Строка    - имя таблицы\r\n* КоличествоСтрок         - Число     - количество строк в таблице\r\n* ВсегоЗанято             - Число     - общий объем заниаемого места (байт)\r\n* Используется            - Число     - объем, используемый данными (байт)\r\n* НеИспользуется          - Число     - не используемый объем (байт)\r\n* ОперацийЧтения          - Число     - количество операций чтения (read)\r\n* ОперацийВыборки         - Число     - количество операций выборки (select)\r\n* ОперацийСканирования    - Число     - количество операций сканирования (scan)\r\n* ОперацийПоиска          - Число     - количество операций поиска (seek)\r\n* ОперацийЗаписи          - Число     - количество операций записи (write)\r\n```\r\n\r\n## \u003ca id=\"testing\"\u003e\u003c/a\u003e Запуск тестов\r\n\r\n### Необходимые настройки\r\n\r\nДля тестирования подключения / отключения сетевого диска требуются дополнительные настройки.\r\n\r\nВ реестре в ключе `HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\WebClient\\Parameters` указать:\r\n\r\n**BasicAuthLevel** : 0x00000002 (2)\r\n\r\nВ реестре в ключе `HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Control\\Session Manager` указать:\r\n\r\n**ProtectionMode** : 0x00000000 (0)\r\n\r\nДля тестирования работы с базами MS SQL пользователю, под которым выполняется вход на сервер необходимо назначить роль `sysadmin`\r\n\r\n### Выполнение тестов\r\n\r\nЗапуск и остановка окружения выполняются автоматически.\r\n\r\n`./tools/runtests.bat`\r\n\r\n### Запуск окружения\r\n\r\nДля выполнения отладки\r\n\r\n`./tools/startenv.bat`\r\n\r\n### Остановка окружения\r\n\r\nПосле выполнения отладки\r\n\r\n`./tools/stopenv.bat`\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farkuznetsov%2Fcpdb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farkuznetsov%2Fcpdb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farkuznetsov%2Fcpdb/lists"}