Skip to content

Библиотека для работы с хранилищем 1С

License

Notifications You must be signed in to change notification settings

oscript-library/v8storage

Repository files navigation

v8storage

Stars Release Открытый чат проекта https://gitter.im/EvilBeaver/oscript-library

Build Status Coverage Status

Библиотека для упрощения работы с Хранилищем 1С из oscript.

Позволяет выполнять рутинные операции с Хранилищем 1С в стиле v8runner.

Пример работы:

ХранилищеКонфигурации = Новый МенеджерХранилищаКонфигурации();
ХранилищеКонфигурации.УстановитьПутьКХранилищу(КаталогХранилища);

ХранилищеКонфигурации.ПрочитатьХранилище();

ХранилищеКонфигурации.СохранитьВерсиюКонфигурацииВФайл(НомерВерсии, ИмяФайлаКофигурации);

ТаблицаВерсий = ХранилищеКонфигурации.ПолучитьТаблицуВерсий();
МассивАвторов = ХранилищеКонфигурации.ПолучитьАвторов();

Так же описание функциональности содержится в папке features. В прилагающихся step_definitions можно подсмотреть больше примеров.

Публичный интерфейс

Класс МенеджерХранилищаКонфигурации:

Работа со свойствами объекта МенеджерХранилищаКонфигурации

УстановитьУправлениеКонфигуратором

// Установка управления конфигуратором в класс менеджер хранилища конфигурации
//
// Параметры:
//   НовыйУправлениеКонфигуратором - класс - инстанс класс УправлениеКонфигуратором из библиотеки v8runner
//

ПолучитьУправлениеКонфигуратором

// Получает управление конфигуратором используемое в менеджере хранилища конфигурации
//

УстановитьПутьКХранилищу

// Установка пути к хранилищу конфигурации
//
// Параметры:
//   НовыйПутьКХранилищу - Строка - путь к хранилищу конфигурации 1С
//

УстановитьПараметрыАвторизации

// Установка авторизации в хранилище конфигурации
//
// Параметры:
//   Пользователь - Строка - пользователь хранилища конфигурации 1С
//   Пароль - Строка - пароль пользователя хранилища конфигурации 1С (по умолчанию пустая строка)
//

ИспользоватьВерсиюПлатформы

// Устанавливает используемую версию и разрядность платформы 1С
//
// Параметры:
//   МаскаВерсии - Строка - маска версии платформы 1С
//   Разрядность - РазрядностьПлатформы \ Неопределено - разрядность платформы 1C 
//

ЗахватитьОбъектыВХранилище

// Захват объектов для редактирования в хранилище конфигурации
//
// Параметры:
//  ПутьКФайлуСоСпискомОбъектов - Строка - Строка путь к файлу xml c содержанием в формате http://its.1c.ru/db/v839doc#bookmark:adm:TI000000712
// 									 путь к файлу формата XML со списком объектов. Если опция используется, будет выполнена попытка захватить только объекты,
//									 указанные в файле. Если опция не используется, будут захвачены все объекты конфигурации.
//									 Если в списке указаны объекты, захваченные другим пользователем, эти объекты не будут захвачены и будет выдана ошибка.
//									 При этом доступные для захвата объекта будут захвачены. Подробнее о формате файла см. в документации.
//  ПолучатьЗахваченныеОбъекты  - Булево - Флаг получения захваченных объектов (По умолчанию равно "Ложь")
//

ОтменитьЗахватОбъектовВХранилище

// Отмена захват объектов для редактирования в хранилище конфигурации
//
// Параметры:
//  СписокОбъектов  	  - Строка - Строка путь к файлу xml c содержанием в формате http://its.1c.ru/db/v839doc#bookmark:adm:TI000000712
// 									 Если опция используется, будет выполнена попытка отменить захват только для объектов, указанных в файле.
//									 Если опция не используется, захват будет отменен для всех объектов конфигурации.
//									 При наличии в списке объектов, не захваченных текущим пользователем или захваченных другим пользователем, ошибка выдана не будет
//  ИгнорироватьИзменения - Булево - Флаг игнорирования локальных изменений (По умолчанию равно "Ложь")
//									 Локально измененные объекты будут получены из хранилища, и внесенные изменения будут потеряны.
//									 Если опция не указана, то при наличии локально измененных объектов операция будет отменена и будет выдана ошибка.
//

ПоместитьИзмененияОбъектовВХранилище

// Помещение изменений объектов в хранилище конфигурации
//
// Параметры:
//  СписокОбъектов  	  - Строка - Строка путь к файлу xml c содержанием в формате http://its.1c.ru/db/v839doc#bookmark:adm:TI000000712
//                                   Если опция используется, будет выполнена попытка поместить только объекты, указанные в файле.
//                                   Если опция не используется, будут помещены изменения всех объектов конфигурации.
//                                   При наличии в списке объектов, не захваченных текущим пользователем или захваченных другим пользователем, ошибка выдана не будет
//  Комментарий	 	      - Строка - Комментарий к помещаемым. Чтобы установить многострочный комментарий, для каждой строки следует использовать свою опцию comment.
//  ОставитьОбъектыЗахваченными  - Булево - оставлять захват для помещенных объектов.
//  ИгнорироватьУдаленные - Булево - Флаг игнорирования удаления объектов. По умолчанию = Ложь
//                                   Если опция используется, при обнаружении ссылок на удаленные объекты будет выполнена попытка их очистить.
//                                   Если опция не указана, при обнаружении ссылок на удаленные объекты будет выдана ошибка.
//

ПолучитьВыводКоманды

// Возвращает вывод выполнения команды конфигуратора
//

СоздатьХранилищеКонфигурации

// Создание файлового хранилища конфигурации используя контекст конфигуратора
//
// Параметры:
//  ПодключитьБазуКхранилищу  - Булево - признак необходимости подключения базы контекста к хранилищу (по умолчанию Ложь)

УстановитьМеткуДляВерсииВХранилище

// Установка метки для версии хранилища
//
// Параметры:
//  Метка  	  			  - Строка - текст метки
//  Комментарий  	  	  - Строка - текст комментария к устанавливаемой метки.
//  Версия  	  	   	  - Строка - номер версии хранилища, для которого устанавливается метка.
//									Если версия не указана, метка ставится для самой последней версии хранилища.
//									Если указана несуществующая версия, выдается ошибка
//

ДобавитьПользователяВХранилище

// Добавление пользователя хранилища конфигурации.
//	Пользователь, от имени которого выполняется подключение к хранилищу, должен обладать административными правами.
//	Если пользователь с указанным именем существует, то пользователь добавлен не будет.
// Параметры:
//   НовыйПользователь - Строка - Имя создаваемого пользователя.
//   ПарольПользователя - Строка - Пароль создаваемого пользователя.
//   Право - ПраваПользователяХранилища - Права пользователя. Возможные значения:
// 		ТолькоЧтение — право на просмотр, (по умолчанию)
// 		ПравоЗахватаОбъектов — право на захват объектов,
// 		ПравоИзмененияВерсий — право на изменение состава версий,
// 		Администрирование — право на административные функции.
// 	 ВосстановитьУдаленного - Булево - флаг небходимости востановления удаленного пользователя
//								       Если обнаружен удаленный пользователь с таким же именем, он будет восстановлен.
//

КопироватьПользователейИзХранилища

// Копирование пользователей из хранилища конфигурации. Копирование удаленных пользователей не выполняется.
//   Если пользователь в копии хранилища с указанным именем существует, то пользователь не будет добавлен.
//
//Параметры:
//   СтрокаСоединенияХранилищаКопии - Строка - Путь к хранилищу, из которого выполняется копирование пользователей.
//   ПользовательХранилищаКопии - Строка - Имя пользователя хранилища, из которого выполняется копирование пользователей.
//   ПарольХранилищаКопии - Строка - Пароль пользователя хранилища, из которого выполняется копирование пользователей.
//   ВосстановитьУдаленного - Булево - флаг небходимости востановления удаленных пользователей
//

ОптимизироватьБазуХранилища

// Выполняет оптимизацию хранения базы данных хранилища конфигурации.
//

ПраваПользователяХранилища

// Возвращает структуру возможных прав пользователя в хранилище конфигурации
//   Ключи структуры:
// 		ТолькоЧтение — право на просмотр, (по умолчанию)
// 		ПравоЗахватаОбъектов — право на захват объектов,
// 		ПравоИзмененияВерсий — право на изменение состава версий,
// 		Администрирование — право на административные функции.
//

СохранитьВерсиюКонфигурацииВФайл

// Сохранение в файл версии конфигурации из хранилища
//
// Параметры:
//   НомерВерсии - Число/Строка - номер версии в хранилище
//   ИмяФайлаКофигурации - Строка - путь к файлу в который будет сохранена версия конфигурации из хранилища
//

ПоследняяВерсияКонфигурацииВФайл

// Сохранение в файл последней версии конфигурации из хранилища
// (обертка над процедурой "СохранитьВерсиюКонфигурацииВФайл")
// Параметры:
//   ИмяФайлаКофигурации - Строка - путь к файлу в который будет сохранена версия конфигурации из хранилища
//

ПрочитатьХранилище

// Чтение данных по истории версий и авторов из хранилища
//
// Параметры:
//   НомерНачальнойВерсии - Число - номер версии хранилища,
//                                  с которой производиться получение истории (по умолчанию 1)
//

ПолучитьТаблицуВерсий

// Получение таблицы истории версий из хранилища
// (выполняет ПрочитатьХранилище(1), если еще не было чтения)
//
// Возвращаемое значение таблица значений:
//   Колонки:
//      Номер   - Число - номер версии
//      Дата    - Дата - дата версии
//      Автор   - Строка - автор версии
//      Комментарий   - Строка - многострочный комментарий к версии
//

ПолучитьАвторов

// Получение массива авторов версий из хранилища
// (выполняет ПрочитатьХранилище(1), если еще не было чтения)
//
// Возвращаемое значение массив:
//      Автор - Строка - используемые авторы в хранилище
//

ПолучитьОтчетПоВерсиям

/// Получение отчет по истории версий из хранилища
//
// Параметры:
//   ПутьКФайлуРезультата - Строка - путь к файлу в который будет выгружен отчет,
//   НомерНачальнойВерсии - Число - номер начальной версии хранилища,
//                                  с которой производиться получение истории (по умолчанию 1)
//   НомерКонечнойВерсии  - Число - номер конечной версии хранилища. (по умолчанию - Неопределено)
//   ФорматОтчета         - Строка - задает формат файла с отчетом: текстовый файл (txt) 
//                                  или табличный документ «1С:Предприятие» (mxl). По умолчанию используется формат MXL.
//

ПодключитьсяКХранилищу

// Выполняет подключение ранее неподключенной информационной базы к хранилищу конфигурации.
//
// Параметры:
//  ИгнорироватьНаличиеПодключеннойБД  - Булево - Флаг игнорирования наличия у пользователя уже подключенной базы данных. По умолчанию = Ложь
//								 	 Выполняет подключение даже в том случае, если для данного пользователя уже есть конфигурация, связанная с данным хранилищем..
//  ЗаменитьКонфигурациюБД - Булево - Флаг замены конфигурации БД на конфигурацию хранилища  (По умолчанию Истина)
//									 Если конфигурация непустая, данный ключ подтверждает замену конфигурации на конфигурацию из хранилища.
//

ОтключитьсяОтХранилища

// Выполняет отключение ранее подключенной информационной базы (база контекста) к хранилищу конфигурации.
//

СконвертироватьОтчет

// Получение отчета по истории версий из хранилища
//
// Параметры:
//   ПутьКФайлуРезультата - Строка - путь к файлу отчета в формате mxl
//   ПутьКФайлуОтчетаJSON - Строка - путь к файлу в который будет выгружен отчет в формате json
//

ПолучитьТаблицуЗахваченныхОбъектов

// Возвращает таблицу захваченных объектов в хранилище, согласно тексту лога захвата
//
// Параметры:
//  ТекстЛога - Строка - строка вывода результата выполенния команды захвата в хранилище
//
// Возвращаемое значение:
//  ТаблицаЗначений:
//    ПолноеИмя - Строка - например, Документы.Документ1.Формы.ФормаДокумента1
//    ЗахваченДляРедактирования - Булево - признак успешного захвата в хранилище
//

Класс СписокОбъектовКонфигурации:

Работа со спиской объектов конфигурации для захвата и помещения в хранилище

ПолучитьТаблицуОбъектов

// Возвращает таблицу объектов следующего формата
//  ТаблицаЗначений:
//    ПолноеИмя - Строка - например, Документы.Документ1.Формы.ФормаДокумента1
//    ПолноеИмяФайла - Строка - путь к файлу исходников
//    ПолноеИмяВоВторойКонфигурации - Строка - аналогично, "ПолноеИмя"
//    ВключатьПодчиненные - Булево - признак включения в работу подчиненных объектов
//    Подсистема - Структура - ключи ТипКонфигурации, ВключитьВсеПодчиненныОбъекты
//

ДобавитьОбъектКонфигурации

// Добавление объекта конфигурации в таблицу объектов, для последующей записи в файл 
//
// Параметры:
//    ПолноеИмя - Строка - например, Документы.Документ1.Формы.ФормаДокумента1
//    ВключатьПодчиненные - Булево - признак включения в работу подчиненных объектов
//    ПолноеИмяФайла - Строка - путь к файлу исходников
//    ПолноеИмяВоВторойКонфигурации - Строка - аналогично, "ПолноеИмя"
//

ДобавитьОписаниеКонфигурации

// Добавление описания конфигурации (корень) для последующей записи в файл 
//
// Параметры:
//    ПолноеИмя - Строка - например, Документы.Документ1.Формы.ФормаДокумента1
//    ВключатьПодчиненные - Булево - признак включения в работу подчиненных объектов
//    ПолноеИмяФайла - Строка - путь к файлу исходников
//

ДобавитьОбъектПодсистему

// Добавление объекта конфигурации в таблицу объектов, для последующей записи в файл 
//
// Параметры:
//    ПолноеИмя - Строка - например, Документы.Документ1.Формы.ФормаДокумента1
//    ВключатьПодчиненные - Булево - признак включения в работу подчиненных объектов
//    ПолноеИмяФайла - Строка - путь к файлу исходников
//    ТипКонфигурации - Строка - пока не используется (Неопределено)
//    ПолноеИмяВоВторойКонфигурации - Строка - аналогично, "ПолноеИмя"
//    ВключитьВсеПодчиненныОбъекты - Булево - признак включения в работу всех объектов подчиненных подсистем
//

ЗаписатьФайлОбъектов

// Установка каталога файлового хранилища конфигурации
//
// Параметры:
//   ПутьКФайлуОбъектов - Строка - путь к файлу для записи объектов в формате XML,
//                                 При передаче пустой строки запишет туда путь к временному файлу
//

СформироватьСписокОбъектов

// Формирует список объектов для переданного массива путей
//
// Параметры:
//   МассивПутейКФайламКонфигруации - Массив - массив полных путей к файлам выгрузки конфигруации
//   ПапкаВыгрузкиИсходников - Строка - путь к папке корня конфигруации
//