# 1C-ibcmd-runner
Библиотека взаимодействия с Автономным сервером 1С.

<a id="markdown-описание" name="описание"></a>
## Описание

Библиотека упрощает взаимодействие с CLI Автономного сервера 1С и решает проблему Интерактивного ввода логина и пароля информационной базы 1С. Подробнее о проблеме можно прочитать в комментариях к статье по ссылке [Infostart](https://infostart.ru/1c/articles/1168516/).

<a id="markdown-установка" name="установка"></a>
## Установка

```
$ npm install -g 1c-ibcmd-runner
```
или

```
$ yarn add -g 1c-ibcmd-runner
```

<a id="markdown-настройка" name="настройка"></a>

Пример файла с переменными.

```env.example.json
{
	"cfpath": "путь к папке с файлами исходниками конфигурации в формате XML.",
	"cfepath": "путь к папке с файлами исходниками расширения в формате XML.",
	"dbms": "тип СУБД",
	"server": "адрес сервера",
	"dbname": "имя базы в СУБД",
	"dbuser": "пользователь СУБД",
	"dbpwd": "пароль пользователя СУБД",
	"name": "имя базы в кластере 1С",
	"user": "имя пользователя 1С",
	"password": "пароль пользователя 1С",
	"cfename": "имя расширения"
}
```

Библиотека поддерживает 2 режима работы:
1. Хранение переменных в файле пользователя. Для операционной системы Windows путь будет равен C:\users\user-name\ibcmd-runner-data.json
2. Передача пути к файлу с переменными

<a id="markdown-использование" name="использование"></a>

## Использование

Ключ `-help` выведет справку по параметрам.

```cmd
1c-cli -help

 HELP 
jobs:
-help        : Вызов справки.
-version     : получение версии.
-param       : Вызов списка текущих параметров.
-load        : Обновление конфигурации из XML.
-loadext     : Обновление расширения из XML.
-update      : Применение изменений конфигурации.
-updateext   : Применение изменений расширения.
-sqlbackup   : Создание бекапа.
-sqlrestore  : Востановление бекапа из bak.
params:
-cfpath []   : Путь к исходникам конфигурации.
-cfepath []  : Путь к исходникам расширения.
-cfename []  : Наименование расширения конфигурации.
-dbms []     : Тип сервера базы данных.
-server []   : Адрес сервера.
-dbname []   : Имя базы данных.
-dbuser []   : Логин сервера базы данных.
-dbpwd []    : Пароль сервера базы данных.
-name []     : Имя базы 1С.
-user []     : Логин пользователя 1С.
-password [] : Пароль пользователя 1С.
```

Ключ `-version` выведет версию библиотеки.

```cmd
1c-cli -version
```

Ключ `-param` выведет список заданных параметров.

```cmd
1c-cli -param

 CURRENT ARGS 
{
    "dbms": "MSSQLServer",
    "server": "MSSQLServer",
    "cfpath": "//folder/to/cf/file",
    "cfepath": "//folder/to/cfe/file",
    "dbname": "test_base",
    "dbuser": "sa",
    "dbpwd": "qwerty",
    "user": "Администратор",
    "password": "123",
    "cfename": "_расширениеЕРПБазовая"
}
```

Ключ `-load` загрузит конфигурацию из исходников формата XML. Для использования необходимо задать параметры `dbms`, `server`, `cfpath`, `dbname`, `dbuser`, `dbpwd`, `user`, `password`. При загрузке используется механизм автономного сервера 1С. Использование ключа допустимо только на машине с сервером 1С.

```cmd
1c-cli -load
```

Ключ `-update` применит изменения конфигурации для базы данных. Для использования необходимо задать параметры `dbms`, `server`, `cfpath`, `dbname`, `dbuser`, `dbpwd`, `user`, `password`. При обновлении используется механизм автономного сервера 1С. Использование ключа допустимо только на машине с сервером 1С.

```cmd
1c-cli -update
```

Ключ `-loadext` загрузит конфигурацию расширения из исходников формата XML. Для использования необходимо задать параметры `dbms`, `server`, `cfepath`, `cfename`, `dbname`, `dbuser`, `dbpwd`, `user`, `password`. При обновлении используется механизм автономного сервера 1С. Использование ключа допустимо только на машине с сервером 1С.