diff --git a/lib.config b/lib.config
index a5de465..93e9d01 100644
--- a/lib.config
+++ b/lib.config
@@ -2,6 +2,7 @@
+
\ No newline at end of file
diff --git a/packagedef b/packagedef
index b7eb37c..10eaddf 100644
--- a/packagedef
+++ b/packagedef
@@ -1,6 +1,6 @@
Описание.Имя("v8runner")
- .Версия("1.3.0")
+ .Версия("1.4.0")
.ВерсияСреды("1.0.19")
.ЗависитОт("asserts", "0.4.0")
.ЗависитОт("fs", "0.5.0")
diff --git a/readme.md b/readme.md
index 1b2dd1b..6f96eae 100644
--- a/readme.md
+++ b/readme.md
@@ -88,6 +88,8 @@
- Процедура ВыгрузитьРасширениеВФайл(Знач ПутьФайлРасширения, Знач ИмяРасширения)
- Процедура ЗагрузитьРасширениеИзФайлов(Знач КаталогЗагрузки, Знач ИмяРасширения = "–AllExtensions", Знач ПутьКСпискуФайловЗагрузки = "", Знач ФорматВыгрузки = "", Знач ОбновитьФайлВерсий = Истина)
- Процедура ВыгрузитьРасширениеВФайлы(Знач КаталогВыгрузки, Знач ИмяРасширения = "–AllExtensions", Знач ФорматВыгрузки = "", Знач ТолькоИзмененные = Ложь, Знач ПутьКФайлуВерсийДляСравнения = "")
+- Процедура ПолучитьОтчетОСравненииКонфигурацииСФайлом(Знач ПутьКФайлуКонфигурации, Знач ПутьКОтчету, Знач ТипОтчета = Неопределено, Знач ФорматОтчета = "txt", Знач ИмяРасширения = "")
+- Функция КонфигурацияИФайлИдентичны(Знач ПутьКФайлуКонфигурации, Знач ИмяРасширения = "")
### Вспомогательные и настроечные функции
diff --git a/src/v8runner.os b/src/v8runner.os
index cd3d625..1b69f32 100644
--- a/src/v8runner.os
+++ b/src/v8runner.os
@@ -50,7 +50,7 @@
Процедура ПоказатьКонтекстВРежимеОтладки()
Лог.Отладка("КлючСоединенияСБазой "+ мКонтекстКоманды.КлючСоединенияСБазой);
- Лог.Отладка("ИмяПользователя <"+ мКонтекстКоманды.ИмяПользователя+">");
+ Лог.Отладка("ИмяПользователя <"+ мКонтекстКоманды.ИмяПользователя + ">");
Лог.Отладка(?(ПустаяСтрока(мКонтекстКоманды.Пароль), "Пароль не задан", " Задан пароль "+ мКонтекстКоманды.Пароль));
КонецПроцедуры
@@ -58,11 +58,11 @@
Параметры = СтандартныеПараметрыЗапускаКонфигуратора();
- Параметры.Добавить("/ConfigurationRepositoryF """+СтрокаСоединения+"""");
- Параметры.Добавить("/ConfigurationRepositoryN """+ПользовательХранилища+"""");
+ Параметры.Добавить("/ConfigurationRepositoryF """+СтрокаСоединения + """");
+ Параметры.Добавить("/ConfigurationRepositoryN """+ПользовательХранилища + """");
Если Не ПустаяСтрока(ПарольХранилища) Тогда
- Параметры.Добавить("/ConfigurationRepositoryP """+ПарольХранилища+"""");
+ Параметры.Добавить("/ConfigurationRepositoryP """+ПарольХранилища + """");
КонецЕсли;
ФайлРезультата = ОбъединитьПути(КаталогСборки(), "source.cf");
@@ -86,14 +86,14 @@
//
//Параметры:
// СтрокаСоединения - Строка - Строка соединения с хранилищем конфигурации
-// ПользовательХранилища - строка - Пользователь для подключения к хранилищю конфигурации
-// ПарольХранилища - Строка - Пароль пользователь для подключения к хранилищю конфигурации
+// ПользовательХранилища - строка - Пользователь для подключения к хранилищу конфигурации
+// ПарольХранилища - Строка - Пароль пользователь для подключения к хранилищу конфигурации
// ПутьКФайлуРезультата - Строка - путь к файлу, в который выводится отчет (формат mxl)
-// НомерНачальнойВерсии - Число - номер сохраненной версии, от которой начинается строиться отчет; (По умолчанию 0)
+// НомерНачальнойВерсии - Число - номер сохраненной версии, от которой начинает строиться отчет; (По умолчанию 0)
// НомерКонечнойВерсии - Число, Неопределено - номер сохраненной версии, по которую строится отчет; (по умолчанию "Неопределено")
// ТипГруппировки - ТипыГруппировкиОтчетаПоВерсиямХранилища - тип группировкой отчета
// ГруппировкаПоОбъектам - признак формирования отчета по версиям с группировкой по объектам;
-// ГруппировкаПоКоммитам - признак формирования отчета по версиям с группировкой по комментарию. (по умолчанию)
+// ГруппировкаПоКоммитам - признак формирования отчета по версиям с группировкой по комментарию (по умолчанию).
//
Процедура ПолучитьОтчетПоВерсиямИзХранилища(Знач СтрокаСоединения,
Знач ПользовательХранилища,
@@ -105,11 +105,11 @@
Параметры = СтандартныеПараметрыЗапускаКонфигуратора();
- Параметры.Добавить("/ConfigurationRepositoryF """+СтрокаСоединения+"""");
- Параметры.Добавить("/ConfigurationRepositoryN """+ПользовательХранилища+"""");
+ Параметры.Добавить("/ConfigurationRepositoryF """+СтрокаСоединения + """");
+ Параметры.Добавить("/ConfigurationRepositoryN """+ПользовательХранилища + """");
Если Не ПустаяСтрока(ПарольХранилища) Тогда
- Параметры.Добавить("/ConfigurationRepositoryP """+ПарольХранилища+"""");
+ Параметры.Добавить("/ConfigurationRepositoryP """+ПарольХранилища + """");
КонецЕсли;
Параметры.Добавить("/ConfigurationRepositoryReport """+ПутьКФайлуРезультата + """");
@@ -132,7 +132,7 @@
КонецПроцедуры
-Процедура СоздатьФайлыПоставки(Знач ПутьФайлаПолнойПоставки ="",
+Процедура СоздатьФайлыПоставки(Знач ПутьФайлаПолнойПоставки = "",
знач ПутьФайлаПоставкиОбновления = "",
Знач ДистрибутивыДляОбновления = Неопределено, // Массив файлов дистрибутива cf
Знач ПутьФайлаСПараметрамиЛицензирования = "") Экспорт
@@ -143,29 +143,29 @@
Если НЕ ЗначениеЗаполнено(ПутьФайлаПолнойПоставки)
И НЕ ЗначениеЗаполнено(ПутьФайлаПоставкиОбновления) Тогда
- ВызватьИсключение "Не правильно заданы параметры процедуры <" + "СоздатьФайлыПоставки" +">";
+ ВызватьИсключение "Не правильно заданы параметры процедуры <" + "СоздатьФайлыПоставки" + ">";
КонецЕсли;
Если ЗначениеЗаполнено(ПутьФайлаПолнойПоставки) Тогда
- Параметры.Добавить("-cffile "+ОбернутьВКавычки(ПутьФайлаПолнойПоставки)+" ");
+ Параметры.Добавить("-cffile "+ОбернутьВКавычки(ПутьФайлаПолнойПоставки) +" ");
КонецЕсли;
Если ЗначениеЗаполнено(ПутьФайлаПоставкиОбновления)
И Не ДистрибутивыДляОбновления = Неопределено
И ДистрибутивыДляОбновления.Количество() > 0 Тогда
- Параметры.Добавить("-cfufile "+ОбернутьВКавычки(ПутьФайлаПоставкиОбновления)+" ");
+ Параметры.Добавить("-cfufile "+ОбернутьВКавычки(ПутьФайлаПоставкиОбновления) +" ");
// Поддерживаются только файлы cf
Для каждого ДистрибутивОбновления Из ДистрибутивыДляОбновления Цикл
- Параметры.Добавить("-f "+ОбернутьВКавычки(ДистрибутивОбновления)+" ");
+ Параметры.Добавить("-f "+ОбернутьВКавычки(ДистрибутивОбновления) +" ");
КонецЦикла;
КонецЕсли;
Если ЗначениеЗаполнено(ПутьФайлаСПараметрамиЛицензирования) Тогда
- Параметры.Добавить("-digisign "+ОбернутьВКавычки(ПутьФайлаСПараметрамиЛицензирования)+" ");
+ Параметры.Добавить("-digisign "+ОбернутьВКавычки(ПутьФайлаСПараметрамиЛицензирования) +" ");
КонецЕсли;
ВыполнитьКоманду(Параметры);
@@ -175,17 +175,17 @@
Процедура СоздатьФайловоеХранилищеКонфигурации(Знач ПапкаХранилища,
Знач ПользовательХранилища,
Знач ПарольХранилища = "",
- знач ПодключитьБазуКХранилищю = Ложь) Экспорт
+ знач ПодключитьБазуКХранилищу = Ложь) Экспорт
ОбеспечитьКаталог(ПапкаХранилища);
Параметры = СтандартныеПараметрыЗапускаКонфигуратора();
- Параметры.Добавить("/ConfigurationRepositoryF """+ПапкаХранилища+"""");
- Параметры.Добавить("/ConfigurationRepositoryN """+ПользовательХранилища+"""");
+ Параметры.Добавить("/ConfigurationRepositoryF """+ПапкаХранилища + """");
+ Параметры.Добавить("/ConfigurationRepositoryN """+ПользовательХранилища + """");
Если Не ПустаяСтрока(ПарольХранилища) Тогда
- Параметры.Добавить("/ConfigurationRepositoryP """+ПарольХранилища+"""");
+ Параметры.Добавить("/ConfigurationRepositoryP """+ПарольХранилища + """");
КонецЕсли;
Параметры.Добавить("/ConfigurationRepositoryCreate ");
@@ -194,7 +194,7 @@
Параметры.Добавить("-ChangesAllowedRule ObjectNotSupported");
Параметры.Добавить("-ChangesNotRecommendedRule ObjectNotSupported");
- Если ПодключитьБазуКХранилищю = Ложь Тогда
+ Если ПодключитьБазуКХранилищу = Ложь Тогда
Параметры.Добавить("-NoBind");
КонецЕсли;
@@ -206,8 +206,8 @@
//
// Параметры:
// СтрокаСоединения - Строка - Строка соединения с хранилищем конфигурации
-// ПользовательХранилища - строка - Пользователь для подключения к хранилищю конфигурации
-// ПарольХранилища - Строка - Пароль пользователь для подключения к хранилищю конфигурации
+// ПользовательХранилища - строка - Пользователь для подключения к хранилищу конфигурации
+// ПарольХранилища - Строка - Пароль пользователь для подключения к хранилищу конфигурации
// ПутьКФайлуСоСпискомОбъектов - Строка - Строка путь к файлу xml c содержанием в формате http://its.1c.ru/db/v839doc#bookmark:adm:TI000000712
// путь к файлу формата XML со списком объектов. Если опция используется, будет выполнена попытка захватить только объекты,
// указанные в файле. Если опция не используется, будут захвачены все объекты конфигурации.
@@ -223,11 +223,11 @@
Параметры = СтандартныеПараметрыЗапускаКонфигуратора();
- Параметры.Добавить("/ConfigurationRepositoryF """+СтрокаСоединения+"""");
- Параметры.Добавить("/ConfigurationRepositoryN """+ПользовательХранилища+"""");
+ Параметры.Добавить("/ConfigurationRepositoryF """+СтрокаСоединения + """");
+ Параметры.Добавить("/ConfigurationRepositoryN """+ПользовательХранилища + """");
Если Не ПустаяСтрока(ПарольХранилища) Тогда
- Параметры.Добавить("/ConfigurationRepositoryP """+ПарольХранилища+"""");
+ Параметры.Добавить("/ConfigurationRepositoryP """+ПарольХранилища + """");
КонецЕсли;
Параметры.Добавить("/ConfigurationRepositoryLock ");
@@ -249,8 +249,8 @@
//
// Параметры:
// СтрокаСоединения - Строка - Строка соединения с хранилищем конфигурации
-// ПользовательХранилища - строка - Пользователь для подключения к хранилищю конфигурации
-// ПарольХранилища - Строка - Пароль пользователь для подключения к хранилищю конфигурации
+// ПользовательХранилища - строка - Пользователь для подключения к хранилищу конфигурации
+// ПарольХранилища - Строка - Пароль пользователь для подключения к хранилищу конфигурации
// СписокОбъектов - Строка - Строка путь к файлу xml c содержанием в формате http://its.1c.ru/db/v839doc#bookmark:adm:TI000000712
// Если опция используется, будет выполнена попытка отменить захват только для объектов, указанных в файле.
// Если опция не используется, захват будет отменен для всех объектов конфигурации.
@@ -267,11 +267,11 @@
Параметры = СтандартныеПараметрыЗапускаКонфигуратора();
- Параметры.Добавить("/ConfigurationRepositoryF """+СтрокаСоединения+"""");
- Параметры.Добавить("/ConfigurationRepositoryN """+ПользовательХранилища+"""");
+ Параметры.Добавить("/ConfigurationRepositoryF """+СтрокаСоединения + """");
+ Параметры.Добавить("/ConfigurationRepositoryN """+ПользовательХранилища + """");
Если Не ПустаяСтрока(ПарольХранилища) Тогда
- Параметры.Добавить("/ConfigurationRepositoryP """+ПарольХранилища+"""");
+ Параметры.Добавить("/ConfigurationRepositoryP """+ПарольХранилища + """");
КонецЕсли;
Параметры.Добавить("/ConfigurationRepositoryUnlock ");
@@ -292,8 +292,8 @@
//
// Параметры:
// СтрокаСоединения - Строка - Строка соединения с хранилищем конфигурации
-// ПользовательХранилища - строка - Пользователь для подключения к хранилищю конфигурации
-// ПарольХранилища - Строка - Пароль пользователь для подключения к хранилищю конфигурации
+// ПользовательХранилища - строка - Пользователь для подключения к хранилищу конфигурации
+// ПарольХранилища - Строка - Пароль пользователь для подключения к хранилищу конфигурации
// СписокОбъектов - Строка - Строка путь к файлу xml c содержанием в формате http://its.1c.ru/db/v839doc#bookmark:adm:TI000000712
// Если опция используется, будет выполнена попытка поместить только объекты, указанные в файле.
// Если опция не используется, будут помещены изменения всех объектов конфигурации.
@@ -314,11 +314,11 @@
Параметры = СтандартныеПараметрыЗапускаКонфигуратора();
- Параметры.Добавить("/ConfigurationRepositoryF """+СтрокаСоединения+"""");
- Параметры.Добавить("/ConfigurationRepositoryN """+ПользовательХранилища+"""");
+ Параметры.Добавить("/ConfigurationRepositoryF """+СтрокаСоединения + """");
+ Параметры.Добавить("/ConfigurationRepositoryN """+ПользовательХранилища + """");
Если Не ПустаяСтрока(ПарольХранилища) Тогда
- Параметры.Добавить("/ConfigurationRepositoryP """+ПарольХранилища+"""");
+ Параметры.Добавить("/ConfigurationRepositoryP """+ПарольХранилища + """");
КонецЕсли;
Параметры.Добавить("/ConfigurationRepositoryCommit ");
@@ -352,8 +352,8 @@
//
// Параметры:
// СтрокаСоединения - Строка - Строка соединения с хранилищем конфигурации
-// ПользовательХранилища - строка - Пользователь для подключения к хранилищю конфигурации
-// ПарольХранилища - Строка - Пароль пользователь для подключения к хранилищю конфигурации
+// ПользовательХранилища - строка - Пользователь для подключения к хранилищу конфигурации
+// ПарольХранилища - Строка - Пароль пользователь для подключения к хранилищу конфигурации
// Метка - Строка - текст метки
// Комментарий - Строка - текст комментария к устанавливаемой метки.
// Версия - Строка - номер версии хранилища, для которого устанавливается метка.
@@ -370,11 +370,11 @@
Параметры = СтандартныеПараметрыЗапускаКонфигуратора();
- Параметры.Добавить("/ConfigurationRepositoryF """+СтрокаСоединения+"""");
- Параметры.Добавить("/ConfigurationRepositoryN """+ПользовательХранилища+"""");
+ Параметры.Добавить("/ConfigurationRepositoryF """+СтрокаСоединения + """");
+ Параметры.Добавить("/ConfigurationRepositoryN """+ПользовательХранилища + """");
Если Не ПустаяСтрока(ПарольХранилища) Тогда
- Параметры.Добавить("/ConfigurationRepositoryP """+ПарольХранилища+"""");
+ Параметры.Добавить("/ConfigurationRepositoryP """+ПарольХранилища + """");
КонецЕсли;
Параметры.Добавить("/ConfigurationRepositorySetLabel ");
@@ -403,8 +403,8 @@
//
// Параметры:
// СтрокаСоединения - Строка - Строка соединения с хранилищем конфигурации
-// ПользовательХранилища - строка - Пользователь для подключения к хранилищю конфигурации
-// ПарольХранилища - Строка - Пароль пользователь для подключения к хранилищю конфигурации
+// ПользовательХранилища - строка - Пользователь для подключения к хранилищу конфигурации
+// ПарольХранилища - Строка - Пароль пользователь для подключения к хранилищу конфигурации
// ИгнорироватьНаличиеПодключеннойБД - Булево - Флаг игнорирования наличия уже у пользователя уже подключенной базы данных. По умолчанию = Ложь
// Выполняет подключение даже в том случае, если для данного пользователя уже есть конфигурация, связанная с данным хранилищем..
// ЗаменитьКонфигурациюБД - Булево - Флаг замены конфигурации БД на конфигурацию хранилища (По умолчанию Истина)
@@ -418,11 +418,11 @@
) Экспорт
Параметры = СтандартныеПараметрыЗапускаКонфигуратора();
- Параметры.Добавить("/ConfigurationRepositoryF """+СтрокаСоединения+"""");
- Параметры.Добавить("/ConfigurationRepositoryN """+ПользовательХранилища+"""");
+ Параметры.Добавить("/ConfigurationRepositoryF """+СтрокаСоединения + """");
+ Параметры.Добавить("/ConfigurationRepositoryN """+ПользовательХранилища + """");
Если Не ПустаяСтрока(ПарольХранилища) Тогда
- Параметры.Добавить("/ConfigurationRepositoryP """+ПарольХранилища+"""");
+ Параметры.Добавить("/ConfigurationRepositoryP """+ПарольХранилища + """");
КонецЕсли;
Параметры.Добавить("/ConfigurationRepositoryBindCfg ");
@@ -450,8 +450,8 @@
// Если пользователь с указанным именем существует, то пользователь добавлен не будет.
// Параметры:
// СтрокаСоединения - Строка - Строка соединения с хранилищем конфигурации
-// ПользовательХранилища - строка - Пользователь для подключения к хранилищю конфигурации
-// ПарольХранилища - Строка - Пароль пользователь для подключения к хранилищю конфигурации
+// ПользовательХранилища - строка - Пользователь для подключения к хранилищу конфигурации
+// ПарольХранилища - Строка - Пароль пользователь для подключения к хранилищу конфигурации
// НовыйПользователь - Строка - Имя создаваемого пользователя.
// ПарольПользователя - Строка - Пароль создаваемого пользователя.
// Право - ПраваПользователяХранилища - Права пользователя. Возможные значения:
@@ -472,24 +472,24 @@
Параметры = СтандартныеПараметрыЗапускаКонфигуратора();
- Параметры.Добавить("/ConfigurationRepositoryF """+СтрокаСоединения+"""");
- Параметры.Добавить("/ConfigurationRepositoryN """+ПользовательХранилища+"""");
+ Параметры.Добавить("/ConfigurationRepositoryF """+СтрокаСоединения + """");
+ Параметры.Добавить("/ConfigurationRepositoryN """+ПользовательХранилища + """");
Если Не ПустаяСтрока(ПарольХранилища) Тогда
- Параметры.Добавить("/ConfigurationRepositoryP """+ПарольХранилища+"""");
+ Параметры.Добавить("/ConfigurationRepositoryP """+ПарольХранилища + """");
КонецЕсли;
Параметры.Добавить("/ConfigurationRepositoryAddUser ");
- Параметры.Добавить(СтрШаблон("-User ""%1""",НовыйПользователь));
+ Параметры.Добавить(СтрШаблон("-User ""%1""", НовыйПользователь));
Если Не ПустаяСтрока(ПарольПользователя) Тогда
- Параметры.Добавить(СтрШаблон("-Pwd ""%1""",ПарольПользователя));
+ Параметры.Добавить(СтрШаблон("-Pwd ""%1""", ПарольПользователя));
КонецЕсли;
Если Не ЗначениеЗаполнено(Право) ТОгда
Право = ПраваПользователяХранилища.ТолькоЧтение;
КонецЕсли;
- Параметры.Добавить(СтрШаблон("-Rights %1",Право));
+ Параметры.Добавить(СтрШаблон("-Rights %1", Право));
Если ВосстановитьУдаленного Тогда
Параметры.Добавить("-RestoreDeletedUser");
@@ -504,8 +504,8 @@
//
//Параметры:
// СтрокаСоединения - Строка - Строка соединения с хранилищем конфигурации
-// ПользовательХранилища - строка - Пользователь для подключения к хранилищю конфигурации
-// ПарольХранилища - Строка - Пароль пользователь для подключения к хранилищю конфигурации
+// ПользовательХранилища - строка - Пользователь для подключения к хранилищу конфигурации
+// ПарольХранилища - Строка - Пароль пользователь для подключения к хранилищу конфигурации
// СтрокаСоединенияХранилищаКопии - Строка - Путь к хранилищу, из которого выполняется копирование пользователей.
// ПользовательХранилищаКопии - Строка - Имя пользователя хранилища, из которого выполняется копирование пользователей.
// ПарольХранилищаКопии - Строка - Пароль пользователя хранилища, из которого выполняется копирование пользователей.
@@ -521,18 +521,18 @@
Параметры = СтандартныеПараметрыЗапускаКонфигуратора();
- Параметры.Добавить("/ConfigurationRepositoryF """+СтрокаСоединения+"""");
- Параметры.Добавить("/ConfigurationRepositoryN """+ПользовательХранилища+"""");
+ Параметры.Добавить("/ConfigurationRepositoryF """+СтрокаСоединения + """");
+ Параметры.Добавить("/ConfigurationRepositoryN """+ПользовательХранилища + """");
Если Не ПустаяСтрока(ПарольХранилища) Тогда
- Параметры.Добавить("/ConfigurationRepositoryP """+ПарольХранилища+"""");
+ Параметры.Добавить("/ConfigurationRepositoryP """+ПарольХранилища + """");
КонецЕсли;
Параметры.Добавить("/ConfigurationRepositoryCopyUsers ");
- Параметры.Добавить(СтрШаблон("-Path ""%1""",СтрокаСоединенияХранилищаКопии));
- Параметры.Добавить(СтрШаблон("-User ""%1""",ПользовательХранилищаКопии));
+ Параметры.Добавить(СтрШаблон("-Path ""%1""", СтрокаСоединенияХранилищаКопии));
+ Параметры.Добавить(СтрШаблон("-User ""%1""", ПользовательХранилищаКопии));
Если Не ПустаяСтрока(ПарольХранилищаКопии) Тогда
- Параметры.Добавить(СтрШаблон("-Pwd ""%1""",ПарольХранилищаКопии));
+ Параметры.Добавить(СтрШаблон("-Pwd ""%1""", ПарольХранилищаКопии));
КонецЕсли;
Если ВосстановитьУдаленного Тогда
@@ -554,7 +554,7 @@
// ПутьКФайлуИзменений - Строка - Указывает путь к файлу,в который будут выведены изменения текущей конфигурации. Изменения вычисляются относительно файла версий в текущем каталоге выгрузки.
// ПутьКФайлуВерсийДляСравнения - Строка - Указывает путь к файлу, который будет использован для сравнения изменений.
//
-// Для того чтобы работали функции 8.3.10. необходимо явно указать версию
+// Для того, чтобы работали функции 8.3.10, необходимо явно указать версию.
Процедура ВыгрузитьКонфигурациюВФайлы(Знач КаталогВыгрузки, Знач ФорматВыгрузки = "", Знач ТолькоИзмененные = Ложь, Знач ПутьКФайлуВерсийДляСравнения = "") Экспорт
Если НЕ ЗначениеЗаполнено(ФорматВыгрузки) Тогда
@@ -600,7 +600,7 @@
// ПутьКФайлуВерсийДляСравнения - Строка - Указывает путь к файлу, который будет использован для сравнения изменений.
// ФорматВыгрузки - РежимВыгрузкиКонфигурации - По умолчанию выгрузка производится в иерархическом формате.
//
-// Для того чтобы работали функции 8.3.10. необходимо явно указать версию
+// Для того, чтобы работали функции 8.3.10, необходимо явно указать версию.
Процедура ВыгрузитьИзмененияКонфигурацииВФайл(Знач КаталогВыгрузки, Знач ПутьКФайлуИзменений, Знач ПутьКФайлуВерсийДляСравнения = "", Знач ФорматВыгрузки = "") Экспорт
Ожидаем.Что(ИспользуемаяВерсияПлатформыСтаршеИлиРавна("8.3.10"), "Данная процедура не поддерживается выбранной версией платформы")
@@ -640,7 +640,7 @@
// ОбновитьФайлВерсий - Булево - указывает, что в конце загрузки в каталоге будет создан файл версий ConfigDumpInfo.xml,
// соответствующий загруженной конфигурации.
// Если выполняется частичная загрузка (используется опция -files или -listFile), файл версий будет обновлен.
-// Для того чтобы работали функции 8.3.10. необходимо явно указать версию
+// Для того, чтобы работали функции 8.3.10, необходимо явно указать версию.
Процедура ЗагрузитьКонфигурациюИзФайлов(Знач КаталогЗагрузки, Знач ПутьКСпискуФайловЗагрузки = "", Знач ФорматВыгрузки = "", Знач ОбновитьФайлВерсий = Истина) Экспорт
Если НЕ ЗначениеЗаполнено(ФорматВыгрузки) Тогда
@@ -792,7 +792,7 @@
Процедура ЗагрузитьКонфигурациюИзФайла(Знач ПутьФайлКонфигурации, Знач ОбновитьКонфигурациюИБ = Ложь) Экспорт
ФайлКонфигурации = Новый Файл(ПутьФайлКонфигурации);
- Ожидаем.Что(ФайлКонфигурации.Существует(), "Файл конфигурации <"+ПутьФайлКонфигурации+"> существует, а это не так").ЭтоИстина();
+ Ожидаем.Что(ФайлКонфигурации.Существует(), "Файл конфигурации <"+ПутьФайлКонфигурации +"> существует, а это не так").ЭтоИстина();
Ожидаем.Что(ОбновитьКонфигурациюИБ = Ложь или ОбновитьКонфигурациюИБ = Истина,
"Параметр ОбновитьКонфигурациюИБ должен быть или Истина или Ложь, а это не так").ЭтоИстина();
@@ -821,7 +821,7 @@
Процедура ЗагрузитьРасширениеИзФайла(Знач ПутьФайлРасширения, Знач ИмяРасширения, Знач ОбновитьКонфигурациюИБ = Ложь) Экспорт
ФайлРасширения = Новый Файл(ПутьФайлРасширения);
- Ожидаем.Что(ФайлРасширения.Существует(), "Файл расширения <"+ПутьФайлРасширения+"> существует, а это не так").ЭтоИстина();
+ Ожидаем.Что(ФайлРасширения.Существует(), "Файл расширения <"+ПутьФайлРасширения +"> существует, а это не так").ЭтоИстина();
Ожидаем.Что(ОбновитьКонфигурациюИБ = Ложь или ОбновитьКонфигурациюИБ = Истина,
"Параметр ОбновитьКонфигурациюИБ должен быть или Истина или Ложь, а это не так").ЭтоИстина();
@@ -1055,7 +1055,7 @@
КонецПроцедуры
-Процедура СоздатьФайловуюБазу(Знач КаталогБазы, Знач ПутьКШаблону="", Знач ИмяБазыВСписке="") Экспорт
+Процедура СоздатьФайловуюБазу(Знач КаталогБазы, Знач ПутьКШаблону = "", Знач ИмяБазыВСписке = "") Экспорт
Лог.Отладка("Создаю файловую базу "+КаталогБазы);
@@ -1064,7 +1064,7 @@
ПараметрыЗапуска = Новый Массив;
ПараметрыЗапуска.Добавить("CREATEINFOBASE");
- ПараметрыЗапуска.Добавить("File="""+КаталогБазы+"""");
+ ПараметрыЗапуска.Добавить("File=""" + КаталогБазы + """");
Если мОчищатьФайлИнформации Тогда
ПараметрыЗапуска.Добавить("/Out " + ОбернутьВКавычки(ФайлИнформации()));
Иначе
@@ -1072,17 +1072,17 @@
КонецЕсли;
Если ИмяБазыВСписке <> "" Тогда
- ПараметрыЗапуска.Добавить("/AddInList"""+ ИмяБазыВСписке + """");
+ ПараметрыЗапуска.Добавить("/AddInList""" + ИмяБазыВСписке + """");
КонецЕсли;
- Если ПутьКШаблону<> "" Тогда
- ПараметрыЗапуска.Добавить("/UseTemplate"""+ ПутьКШаблону + """");
+ Если ПутьКШаблону <> "" Тогда
+ ПараметрыЗапуска.Добавить("/UseTemplate""" + ПутьКШаблону + """");
КонецЕсли;
Если НЕ ПустаяСтрока(мКонтекстКоманды.КодЯзыка) Тогда
- ПараметрыЗапуска.Добавить("/L"+мКонтекстКоманды.КодЯзыка);
+ ПараметрыЗапуска.Добавить("/L" + мКонтекстКоманды.КодЯзыка);
КонецЕсли;
Если НЕ ПустаяСтрока(мКонтекстКоманды.КодЯзыкаСеанса) Тогда
- ПараметрыЗапуска.Добавить("/VL"+мКонтекстКоманды.КодЯзыкаСеанса);
+ ПараметрыЗапуска.Добавить("/VL" + мКонтекстКоманды.КодЯзыкаСеанса);
КонецЕсли;
СохранитьТекстФайлаИнформации();
@@ -1132,7 +1132,8 @@
Лог.Отладка("Создание серверной ИБ ""%1\%2""", Сервер1С, ИмяИБ);
- РазрешитьРегЗадания = ПолучитьПараметр(ПараметрыБазы1С, "РазрешитьРегЗадания", Ложь);
+ РазрешитьРегЗадания = ПолучитьПараметр(ПараметрыБазы1С, "РазрешитьРегЗадания", Ложь);
+ РазрешитьВыдачуЛицензий = ПолучитьПараметр(ПараметрыБазы1С, "РазрешитьВыдачуЛицензий", Ложь);
ТипСУБД = ПолучитьПараметр(ПараметрыСУБД, "ТипСУБД", "MSSQLServer");
СерверСУБД = ПолучитьПараметр(ПараметрыСУБД, "СерверСУБД");
@@ -1159,6 +1160,7 @@
+ ";DBPwd=" + СокрЛП(ПарольСУБД)
+ ";DB=" + СокрЛП(ИмяБД)
+ ";SQLYOffs=" + СокрЛП(СмещениеДат)
+ + ";LicDstr=" + ?(РазрешитьВыдачуЛицензий, "Y", "N")
+ ";CrSQLDB=" + ?(СоздаватьБД, "Y", "N")
+ ";SchJobDn=" + ?(РазрешитьРегЗадания, "N", "Y");
@@ -1218,7 +1220,7 @@
Процедура ЗагрузитьИнформационнуюБазу(ПутьВыгрузкиИБ) Экспорт
ФайлВыгрузки = Новый Файл(ПутьВыгрузкиИБ);
- Ожидаем.Что(ФайлВыгрузки.Существует(), "Файл выгрузки <"+ПутьВыгрузкиИБ+"> существует, а это не так").ЭтоИстина();
+ Ожидаем.Что(ФайлВыгрузки.Существует(), "Файл выгрузки <"+ПутьВыгрузкиИБ +"> существует, а это не так").ЭтоИстина();
ПараметрыЗапуска = СтандартныеПараметрыЗапускаКонфигуратора();
@@ -1287,7 +1289,7 @@
УстановитьВывод(ПрочитатьФайлИнформации());
Если КодВозврата <> 0 и мИсключениеПриОшибкеВыполненияКоманды Тогда
- Лог.Ошибка("Получен ненулевой код возврата "+КодВозврата+". Выполнение скрипта остановлено!");
+ Лог.Ошибка("Получен ненулевой код возврата "+КодВозврата +". Выполнение скрипта остановлено!");
ВызватьИсключение ВыводКоманды();
Иначе
Лог.Отладка("Код возврата равен 0");
@@ -1301,10 +1303,22 @@
Возврат СтандартныеПараметрыЗапускаКонфигуратора();
КонецФункции
-Процедура ВыполнитьРасширеннуюПроверкуКонфигуратора(Ключи) Экспорт
+Процедура ВыполнитьРасширеннуюПроверкуКонфигуратора(Ключи,
+ Знач СтрокаСоединенияСХранилищем = "",
+ Знач ПользовательХранилища = "",
+ Знач ПарольХранилища = "") Экспорт
Параметры = СтандартныеПараметрыЗапускаКонфигуратора();
+ Если Не ПустаяСтрока(СтрокаСоединенияСХранилищем) Тогда
+ Параметры.Добавить("/ConfigurationRepositoryF """ + СтрокаСоединенияСХранилищем + """");
+ Параметры.Добавить("/ConfigurationRepositoryN """ + ПользовательХранилища + """");
+
+ Если Не ПустаяСтрока(ПарольХранилища) Тогда
+ Параметры.Добавить("/ConfigurationRepositoryP """ + ПарольХранилища + """");
+ КонецЕсли;
+ КонецЕсли;
+
Параметры.Добавить("/CheckConfig");
Для Каждого СтрокаКлюча Из Ключи Цикл
@@ -1342,7 +1356,7 @@
ПараметрыСвязиСБазой = ПолучитьПараметрыЗапуска();
ПараметрыСвязиСБазой[0] = "ENTERPRISE";
Если Не ПустаяСтрока(КлючЗапуска) Тогда
- ПараметрыСвязиСБазой.Добавить("/C"+КлючЗапуска);
+ ПараметрыСвязиСБазой.Добавить("/C" + КлючЗапуска);
КонецЕсли;
Если УправляемыйРежим = Истина Тогда
ПараметрыСвязиСБазой.Вставить(2, "/RunModeManagedApplication");
@@ -1383,7 +1397,7 @@
Функция ПолучитьПутьКВерсииПлатформы(Знач ВерсияПлатформы, Знач Разрядность = Неопределено) Экспорт
Если Лев(ВерсияПлатформы, 2) <> "8." Тогда
- ВызватьИсключение "Неверная версия платформы <"+ВерсияПлатформы+">";
+ ВызватьИсключение "Неверная версия платформы <"+ ВерсияПлатформы + ">";
КонецЕсли;
ПутьКПредприятию = Платформа1С.ПутьКПредприятию(ВерсияПлатформы, Разрядность);
@@ -1450,21 +1464,21 @@
КонецПроцедуры
Функция ПутьКТонкомуКлиенту1С(Знач ПутьКПлатформе1С = "") Экспорт
- Лог.Отладка("ПутьКТонкомуКлиенту1С: Путь платформы 1С <"+ПутьКПлатформе1С+">");
+ Лог.Отладка("ПутьКТонкомуКлиенту1С: Путь платформы 1С <"+ПутьКПлатформе1С + ">");
Если ПутьКПлатформе1С = "" Тогда
ПутьКПлатформе1С = ПутьКПлатформе1С();
- Лог.Отладка("ПутьКТонкомуКлиенту1С: вычислили Путь платформы 1С <"+ПутьКПлатформе1С+">");
+ Лог.Отладка("ПутьКТонкомуКлиенту1С: вычислили Путь платформы 1С <"+ПутьКПлатформе1С + ">");
КонецЕсли;
ФайлПриложения = Новый Файл(ПутьКПлатформе1С);
Каталог = ФайлПриложения.Путь;
- ИмяФайлаТонкогоКлиента = ?(ЭтоWindows=Истина, "1cv8c.exe", "1cv8c");
+ ИмяФайлаТонкогоКлиента = ?(ЭтоWindows = Истина, "1cv8c.exe", "1cv8c");
ФайлПриложения = Новый Файл(ОбъединитьПути(Каталог, ИмяФайлаТонкогоКлиента));
Если Не ФайлПриложения.Существует() Тогда
ВызватьИсключение "Не установлен тонкий клиент";
КонецЕсли;
- Лог.Отладка("ПутьКТонкомуКлиенту1С: получили путь к тонкому клиенту 1С <"+ФайлПриложения.ПолноеИмя+">");
+ Лог.Отладка("ПутьКТонкомуКлиенту1С: получили путь к тонкому клиенту 1С <"+ФайлПриложения.ПолноеИмя + ">");
Возврат ФайлПриложения.ПолноеИмя;
КонецФункции
@@ -1502,7 +1516,7 @@
Функция УстановитьПризнакОжиданияВыполненияПрограммы(НовыйПризнак) Экспорт
Ожидаем.Что(НовыйПризнак = Ложь или НовыйПризнак = Истина,
- "Параметр признак ожидания выполнения программы 1С должен быть или Истина или Ложь, а это не так").ЭтоИстина();
+ "Параметр ""Признак ожидания выполнения программы 1С"" должен быть или Истина или Ложь, а это не так").ЭтоИстина();
СтарыйПризнак = мПризнакОжиданияВыполненияПрограммы;
мПризнакОжиданияВыполненияПрограммы = НовыйПризнак;
@@ -1533,6 +1547,152 @@
КонецФункции // ИсключениеПриОшибкеВыполненияКоманды() Экспорт
+// Формирует отчёт о сравнении основной конфигурации\конфигурации расширения в файл.
+//
+// Параметры:
+// ПутьКФайлуКонфигурации - Строка - Путь к файлу cf/cfe с которым необходимо произвести сравнение
+// ПутьКОтчету - Строка - Путь в который необходимо записать отчёт
+// ТипОтчета - ТипыОтчетовОСравнении - Тип отчёта о сравнении полный или краткий
+// ФорматОтчета - Строка - Формат файла отчета. Возмодные значения: txt, mxl
+// ИмяРасширения - Строка - Имя расширения конфигурации
+//
+Процедура ПолучитьОтчетОСравненииКонфигурацииСФайлом(
+ Знач ПутьКФайлуКонфигурации,
+ Знач ПутьКОтчету,
+ Знач ТипОтчета = Неопределено,
+ Знач ФорматОтчета = "txt",
+ Знач ИмяРасширения = "") Экспорт
+
+ Если ТипОтчета = Неопределено Тогда
+ ТипОтчета = ТипыОтчетовОСравнении.Полный;
+ КонецЕсли;
+
+ ПараметрыЗапуска = СтандартныеПараметрыЗапускаКонфигуратора();
+ ПараметрыЗапуска.Добавить("/CompareCfg");
+ Если ЗначениеЗаполнено(ИмяРасширения) Тогда
+ ПараметрыЗапуска.Добавить("-FirstConfigurationType ExtensionConfiguration");
+ Если ИспользуемаяВерсияПлатформыСтаршеИлиРавна("8.3.12") Тогда
+ ПараметрыЗапуска.Добавить(СтрШаблон("-FirstName %1", ИмяРасширения));
+ Иначе
+ ПараметрыЗапуска.Добавить(СтрШаблон("-FirstConfigurationKey %1", ИмяРасширения));
+ КонецЕсли;
+ Иначе
+ ПараметрыЗапуска.Добавить("-FirstConfigurationType MainConfiguration");
+ КонецЕсли;
+
+ ПараметрыЗапуска.Добавить("-SecondConfigurationType File");
+
+ Если ИспользуемаяВерсияПлатформыСтаршеИлиРавна("8.3.12") Тогда
+ ПараметрыЗапуска.Добавить("-SecondFile ");
+ Иначе
+ ПараметрыЗапуска.Добавить("-SecondConfigurationKey ");
+ КонецЕсли;
+
+ ПараметрыЗапуска.Добавить(ОбернутьВКавычки(ПутьКФайлуКонфигурации));
+
+ ПараметрыЗапуска.Добавить("-ReportType ");
+ ПараметрыЗапуска.Добавить(ФорматОтчета);
+
+ ПараметрыЗапуска.Добавить("-ReportFormat ");
+ ПараметрыЗапуска.Добавить(ТипОтчета);
+
+ ПараметрыЗапуска.Добавить("-ReportFile ");
+ ПараметрыЗапуска.Добавить(ОбернутьВКавычки(ПутьКОтчету));
+
+ ВыполнитьКоманду(ПараметрыЗапуска);
+
+КонецПроцедуры
+
+// Функция проверяет что основная конфигурация\конфигурация расширения идентична с файлом
+//
+// Параметры:
+// ПутьКФайлуКонфигурации - Строка - Путь к файлу cf/cfe с которым необходимо произвести сравнение
+// ИмяРасширения - Строка - Имя расширения конфигурации
+//
+// Возвращаемое значение:
+// Булево - Истина - конфигурации идентичны.
+//
+Функция КонфигурацияИФайлИдентичны(Знач ПутьКФайлуКонфигурации, Знач ИмяРасширения = "") Экспорт
+
+ ЭталонОтчетаБезИзменений = НСтр(
+ "ru = '
+ |***- Объект изменен
+ |-->- Объект присутствует только в %1 конфигурации
+ |<--- Объект присутствует только в файле
+ |^- Порядок объекта изменен'
+ |;
+ |en = '
+ |***- Object changed
+ |-->- Object available only in the %1
+ |<--- Object available only in the file
+ |^- Object order changed'",
+ мКонтекстКоманды.КодЯзыкаСеанса
+ );
+
+ Если ЗначениеЗаполнено(ИмяРасширения) Тогда
+ СтрокаДополнения = НСтр("ru = 'расширении'; en = 'configuration extension'", мКонтекстКоманды.КодЯзыкаСеанса);
+ Иначе
+ СтрокаДополнения = НСтр("ru = 'основной'; en = 'main configuration'", мКонтекстКоманды.КодЯзыкаСеанса);
+ КонецЕсли;
+
+ ОтчетБезИзменений = СтрШаблон(
+ ЭталонОтчетаБезИзменений,
+ СтрокаДополнения
+ );
+
+ Лог.Отладка("Сформировал эталон отчета о сравнении: " + ОтчетБезИзменений);
+
+ ПутьКФайлуОтчета = ПолучитьИмяВременногоФайла(".txt");
+
+ Лог.Отладка("Формирую отчет о сравнении конфигураций");
+
+ ПолучитьОтчетОСравненииКонфигурацииСФайлом(
+ ПутьКФайлуКонфигурации,
+ ПутьКФайлуОтчета,
+ ТипыОтчетовОСравнении.Краткий,
+ "txt",
+ ИмяРасширения
+ );
+
+ ФайлОтчета = Новый Файл(ПутьКФайлуОтчета);
+
+ Если ФайлОтчета.Существует() Тогда
+
+ Лог.Отладка("Нашёл файл отчета о сранении. Читаю файл.");
+
+ ЧтениеТекста = Новый ЧтениеТекста(ПутьКФайлуОтчета);
+ СтрокаТекста = ЧтениеТекста.ПрочитатьСтроку();
+ Отчет = "";
+
+ Пока СтрокаТекста <> Неопределено Цикл
+
+ Если Не ПустаяСтрока(СтрокаТекста) Тогда
+ Отчет = Отчет + Символы.ПС + СокрЛП(СтрокаТекста);
+ КонецЕсли;
+
+ СтрокаТекста = ЧтениеТекста.ПрочитатьСтроку();
+ КонецЦикла;
+
+ ЧтениеТекста.Закрыть();
+
+ Лог.Отладка("Прочитал файл отчета о сравнении: " + Отчет);
+
+ Попытка
+ Лог.Отладка("Удаляю файл отчёта 1С");
+ УдалитьФайлы(ФайлОтчета.ПолноеИмя);
+ Исключение
+ Лог.Предупреждение("Не удалось удалить файл отчёта: " + ОписаниеОшибки());
+ КонецПопытки;
+
+ Возврат Отчет = ОтчетБезИзменений;
+
+ Иначе
+ Лог.Ошибка("Не сформирован файл сравнения конфигураций");
+ КонецЕсли;
+
+ Возврат Ложь;
+
+КонецФункции
//////////////////////////////////////////////////////////////////////////////////
// Служебные процедуры
@@ -1540,7 +1700,7 @@
Функция СтандартныеПараметрыЗапускаКонфигуратора()
Лог.Отладка("КлючСоединенияСБазой "+КлючСоединенияСБазой());
- Лог.Отладка("ИмяПользователя <"+мКонтекстКоманды.ИмяПользователя+">");
+ Лог.Отладка("ИмяПользователя <"+мКонтекстКоманды.ИмяПользователя + ">");
ПараметрыЗапуска = Новый Массив;
ПараметрыЗапуска.Добавить("DESIGNER");
@@ -1565,10 +1725,10 @@
ПараметрыЗапуска.Добавить("/UC" + ОбернутьВКавычки(мКонтекстКоманды.КлючРазрешенияЗапуска));
КонецЕсли;
Если НЕ ПустаяСтрока(мКонтекстКоманды.КодЯзыка) Тогда
- ПараметрыЗапуска.Добавить("/L"+мКонтекстКоманды.КодЯзыка);
+ ПараметрыЗапуска.Добавить("/L" + мКонтекстКоманды.КодЯзыка);
КонецЕсли;
Если НЕ ПустаяСтрока(мКонтекстКоманды.КодЯзыкаСеанса) Тогда
- ПараметрыЗапуска.Добавить("/VL"+мКонтекстКоманды.КодЯзыкаСеанса);
+ ПараметрыЗапуска.Добавить("/VL" + мКонтекстКоманды.КодЯзыкаСеанса);
КонецЕсли;
ПараметрыЗапуска.Добавить("/DisableStartupMessages");
ПараметрыЗапуска.Добавить("/DisableStartupDialogs");
@@ -1618,7 +1778,7 @@
//
// Параметры:
// ОбъектОбработчик - Объект с экспортным методом ОбработкаОжиданияПроцесса(Отказ, Интервал)
-// Интервал - Интервал ожидания (мс) через который вызывается ОбработкаОжиданияПроцесса, если он не завершен
+// Интервал - Интервал ожидания (мс), через который вызывается ОбработкаОжиданияПроцесса, если он не завершен
//
Процедура УстановитьОбработчикОжидания(Знач ОбъектОбработчик, Знач Интервал = 5000) Экспорт
@@ -1636,7 +1796,7 @@
СтрокаЗапуска = СтрокаЗапуска + " " + Параметр;
- Если Лев(Параметр,2) <> "/P" и Лев(Параметр,25) <> "/ConfigurationRepositoryP" Тогда
+ Если Лев(Параметр, 2) <> "/P" и Лев(Параметр, 25) <> "/ConfigurationRepositoryP" Тогда
СтрокаДляЛога = СтрокаДляЛога + " " + Параметр;
КонецЕсли;
@@ -1749,11 +1909,11 @@
КонецЕсли;
Лог.Отладка("файл информации:
- |"+Текст);
+ |" + Текст);
Возврат Текст;
КонецФункции
-Функция УдалитьФайлИнформации()
+Процедура УдалитьФайлИнформации()
Файл = Новый Файл(ФайлИнформации());
Если Файл.Существует() Тогда
@@ -1765,7 +1925,7 @@
КонецПопытки;
КонецЕсли;
-КонецФункции
+КонецПроцедуры
Процедура УстановитьВывод(Знач Сообщение)
Если мОчищатьФайлИнформации
@@ -1834,8 +1994,8 @@
Поз = Найти(ОстатокСтроки, Разделитель);
Если Поз > 0 Тогда
- Подстрока = Лев(ОстатокСтроки, Поз-1);
- ОстатокСтроки = Сред(ОстатокСтроки, Поз+1);
+ Подстрока = Лев(ОстатокСтроки, Поз - 1);
+ ОстатокСтроки = Сред(ОстатокСтроки, Поз + 1);
Иначе
Подстрока = ОстатокСтроки;
КонецЕсли;
@@ -1893,7 +2053,7 @@
мКонтекстКоманды.Вставить("КодЯзыкаСеанса", "");
- ПутьКПлатформе1С(ПолучитьПутьКВерсииПлатформы("8.3"));
+ ПутьКПлатформе1С(ПолучитьПутьКВерсииПлатформы("8.3", РазрядностьПлатформы.x64x86));
мОчищатьФайлИнформации = Истина;
мФайлИнформацииВнешний = Ложь;
@@ -1919,11 +2079,11 @@
//
// Параметры:
// СтрокаСоединения - Строка - Строка соединения с хранилищем конфигурации
-// ПользовательХранилища - строка - Пользователь для подключения к хранилищю конфигурации
-// ПарольХранилища - Строка - Пароль пользователь для подключения к хранилищю конфигурации
+// ПользовательХранилища - строка - Пользователь для подключения к хранилищу конфигурации
+// ПарольХранилища - Строка - Пароль пользователь для подключения к хранилищу конфигурации
// НомерВерсии - Число - Номер версии в истории в хранилище конфигурации, если 0 или меньше, то берется последняя версия.
//
-Процедура ПолучитьИзмененияКонфигурацииБазыДанныхИзХранилища(Знач СтрокаСоединения, Знач ПользовательХранилища, Знач ПарольХранилища="", Знач НомерВерсииХранилища = 0) Экспорт
+Процедура ПолучитьИзмененияКонфигурацииБазыДанныхИзХранилища(Знач СтрокаСоединения, Знач ПользовательХранилища, Знач ПарольХранилища = "", Знач НомерВерсииХранилища = 0) Экспорт
Сообщить("ВНИМАНИЕ: метод ""ПолучитьИзмененияКонфигурацииБазыДанныхИзХранилища()"" УСТАРЕЛ и скоро будет удален. Вместо него используйте метод ""ЗагрузитьКонфигурациюИзХранилища()""!"
, СтатусСообщения.Внимание);
@@ -1936,11 +2096,11 @@
//
// Параметры:
// СтрокаСоединения - Строка - Строка соединения с хранилищем конфигурации
-// ПользовательХранилища - строка - Пользователь для подключения к хранилищю конфигурации
-// ПарольХранилища - Строка - Пароль пользователь для подключения к хранилищю конфигурации
+// ПользовательХранилища - строка - Пользователь для подключения к хранилищу конфигурации
+// ПарольХранилища - Строка - Пароль пользователь для подключения к хранилищу конфигурации
// НомерВерсии - Число - Номер версии в истории в хранилище конфигурации, если 0 или меньше, то берется последняя версия.
//
-Процедура ЗагрузитьКонфигурациюИзХранилища(Знач СтрокаСоединения, Знач ПользовательХранилища, Знач ПарольХранилища="", Знач НомерВерсииХранилища = 0) Экспорт
+Процедура ЗагрузитьКонфигурациюИзХранилища(Знач СтрокаСоединения, Знач ПользовательХранилища, Знач ПарольХранилища = "", Знач НомерВерсииХранилища = 0) Экспорт
ПараметрыСвязиСБазой = СформироватьПараметрыСвязиСБазойДляПолучениеВерсииКонфигурацииИзХранилища(СтрокаСоединения, ПользовательХранилища, ПарольХранилища, НомерВерсииХранилища);
@@ -1953,11 +2113,11 @@
//
// Параметры:
// СтрокаСоединения - Строка - Строка соединения с хранилищем конфигурации
-// ПользовательХранилища - строка - Пользователь для подключения к хранилищю конфигурации
-// ПарольХранилища - Строка - Пароль пользователь для подключения к хранилищю конфигурации
+// ПользовательХранилища - строка - Пользователь для подключения к хранилищу конфигурации
+// ПарольХранилища - Строка - Пароль пользователь для подключения к хранилищу конфигурации
// НомерВерсии - Число - Номер версии в истории в хранилище конфигурации, если 0 или меньше, то берется последняя версия.
//
-Процедура ОбновитьКонфигурациюБазыДанныхИзХранилища(Знач СтрокаСоединения, Знач ПользовательХранилища, Знач ПарольХранилища="", Знач НомерВерсииХранилища = 0) Экспорт
+Процедура ОбновитьКонфигурациюБазыДанныхИзХранилища(Знач СтрокаСоединения, Знач ПользовательХранилища, Знач ПарольХранилища = "", Знач НомерВерсииХранилища = 0) Экспорт
ПараметрыСвязиСБазой = СформироватьПараметрыСвязиСБазойДляПолучениеВерсииКонфигурацииИзХранилища(СтрокаСоединения, ПользовательХранилища, ПарольХранилища, НомерВерсииХранилища);
@@ -1971,16 +2131,16 @@
ПараметрыСвязиСБазой = СтандартныеПараметрыЗапускаКонфигуратора();
- ПараметрыСвязиСБазой.Добавить("/ConfigurationRepositoryF """+СтрокаСоединения+"""");
- ПараметрыСвязиСБазой.Добавить("/ConfigurationRepositoryN """+ПользовательХранилища+"""");
+ ПараметрыСвязиСБазой.Добавить("/ConfigurationRepositoryF """+СтрокаСоединения + """");
+ ПараметрыСвязиСБазой.Добавить("/ConfigurationRepositoryN """+ПользовательХранилища + """");
Если Не ПустаяСтрока(ПарольХранилища) Тогда
- ПараметрыСвязиСБазой.Добавить("/ConfigurationRepositoryP """+ПарольХранилища+"""");
+ ПараметрыСвязиСБазой.Добавить("/ConfigurationRepositoryP """+ПарольХранилища + """");
КонецЕсли;
ПараметрыСвязиСБазой.Добавить("/ConfigurationRepositoryUpdateCfg");
// ВАЖНО!!!! Флаг <-v> должен быть обязательно после команды ConfigurationRepositoryUpdateCfg
- // Если это нарушить то всегда получается последняя версия конфигурации
+ // Если это нарушить, то всегда получается последняя версия конфигурации
Если НомерВерсииХранилища > 0 Тогда
ПараметрыСвязиСБазой.Добавить("-v " + НомерВерсииХранилища);
КонецЕсли;
@@ -2109,7 +2269,7 @@
ПутьКФайлуИзменений = ВременныеФайлы.НовоеИмяФайла();
ОбновлениеВозможно = Ложь;
- ТекущийФайлВерсийМетаданных = Новый Файл(ОбъединитьПути(КаталогВыгрузки,"ConfigDumpInfo.xml"));
+ ТекущийФайлВерсийМетаданных = Новый Файл(ОбъединитьПути(КаталогВыгрузки, "ConfigDumpInfo.xml"));
ФайлВерсийДляСравнения = Новый Файл(ПутьКФайлуВерсийДляСравнения);
Если НЕ ТекущийФайлВерсийМетаданных.Существует() И ПустаяСтрока(ПутьКФайлуВерсийДляСравнения) Тогда
@@ -2123,7 +2283,7 @@
Если ФайлИзменений.Существует() Тогда
СтрокаПолныйДамп = ВРег("FullDump");
чтениеФайла = Новый ЧтениеТекста(ПутьКФайлуИзменений);
- СтрокаВыгрузки = Лев(ВРег(чтениеФайла.ПрочитатьСтроку()),СтрДлина(СтрокаПолныйДамп));
+ СтрокаВыгрузки = Лев(ВРег(чтениеФайла.ПрочитатьСтроку()), СтрДлина(СтрокаПолныйДамп));
Если Не ПустаяСтрока(СокрЛП(СтрокаВыгрузки)) Тогда
diff --git "a/src/\320\242\320\270\320\277\321\213\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\270.os" "b/src/\320\242\320\270\320\277\321\213\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\270.os"
new file mode 100644
index 0000000..1ca072c
--- /dev/null
+++ "b/src/\320\242\320\270\320\277\321\213\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\270.os"
@@ -0,0 +1,7 @@
+Перем Краткий Экспорт;
+Перем Полный Экспорт;
+
+///////////////////////////////////////////////////////////////
+
+Краткий = "Brief";
+Полный = "Full";
diff --git a/tests/v8runner-test.os b/tests/v8runner-test.os
index 7d66264..3819a73 100644
--- a/tests/v8runner-test.os
+++ b/tests/v8runner-test.os
@@ -28,7 +28,11 @@
СписокТестов.Добавить("ТестДолжен_ПроверитьСозданиеФайловПоставки");
СписокТестов.Добавить("ТестДолжен_ПроверитьФормированиеФайлаОтчетПоВерсиямХранилища");
СписокТестов.Добавить("ТестДолжен_СкопироватьПользователейИзХранилища");
- СписокТестов.Добавить("ТестДолжен_ОставитьФайлИнформации");
+ СписокТестов.Добавить("ТестДолжен_ПроверитьФормированиеФайлаОтчетаОСравненииОсновнойКонфигурацииСФайлом");
+ СписокТестов.Добавить("ТестДолжен_ПроверитьОсновнаяКонфигурацияИдентичнаФайлу");
+ СписокТестов.Добавить("ТестДолжен_ПроверитьФормированиеФайлаОтчетаОСравненииКонфигурацииРасширенияСФайлом");
+ СписокТестов.Добавить("ТестДолжен_ПроверитьКонфигурацияРасширенияИдентичнаФайлу");
+ СписокТестов.Добавить("ТестДолжен_ОставитьФайлИнформации");
Возврат СписокТестов;
@@ -381,6 +385,136 @@
КонецПроцедуры
+Процедура ТестДолжен_ПроверитьФормированиеФайлаОтчетаОСравненииОсновнойКонфигурацииСФайлом() Экспорт
+
+ ВременныйКаталог = ВременныеФайлы.СоздатьКаталог();
+
+ УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог);
+ ПутьКФайлуОтчета = ПолучитьИмяВременногоФайла("txt");
+
+ ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf");
+
+ УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации);
+
+ УправлениеКонфигуратором.ПолучитьОтчетОСравненииКонфигурацииСФайлом(
+ ФайлКонфигурации,
+ ПутьКФайлуОтчета
+ );
+
+ ФайлОтчетаСуществует = ФС.ФайлСуществует(ПутьКФайлуОтчета);
+
+ ВременныеФайлы.УдалитьФайл( ПутьКФайлуОтчета );
+ ВременныеФайлы.УдалитьФайл( ВременныйКаталог );
+ УправлениеКонфигуратором.УдалитьВременнуюБазу();
+
+ Утверждения.ПроверитьИстину(
+ Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()),
+ "Внутренний файл информации не должен существовать"
+ );
+
+ Утверждения.ПроверитьИстину(
+ ФайлОтчетаСуществует,
+ "Отчет о сравнении конфигурации с файлом должен существовать"
+ );
+
+КонецПроцедуры
+
+Процедура ТестДолжен_ПроверитьОсновнаяКонфигурацияИдентичнаФайлу() Экспорт
+
+ ВременныйКаталог = ВременныеФайлы.СоздатьКаталог();
+
+ УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог);
+
+ ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf");
+
+ УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации);
+
+ КонфигурацииИдентичны = УправлениеКонфигуратором.КонфигурацияИФайлИдентичны(
+ ФайлКонфигурации
+ );
+
+ УправлениеКонфигуратором.УдалитьВременнуюБазу();
+ УдалитьФайлы(ВременныйКаталог);
+
+ Утверждения.ПроверитьИстину(КонфигурацииИдентичны, "Конфигурации отличаются");
+ Утверждения.ПроверитьИстину(
+ Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()),
+ "Внутренний файл информации не должен существовать"
+ );
+
+КонецПроцедуры
+
+Процедура ТестДолжен_ПроверитьФормированиеФайлаОтчетаОСравненииКонфигурацииРасширенияСФайлом() Экспорт
+
+ ВременныйКаталог = ВременныеФайлы.СоздатьКаталог();
+
+ УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог);
+ ПутьКФайлуОтчета = ПолучитьИмяВременногоФайла("txt");
+
+ ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf");
+ ФайлРасширения = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cfe");
+
+ ИмяРасширения = "Test_Extension";
+
+ УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации);
+ УправлениеКонфигуратором.ЗагрузитьРасширениеИзФайла(ФайлРасширения, ИмяРасширения);
+
+ УправлениеКонфигуратором.ПолучитьОтчетОСравненииКонфигурацииСФайлом(
+ ФайлРасширения,
+ ПутьКФайлуОтчета,
+ ,
+ ,
+ ИмяРасширения
+ );
+
+ ФайлОтчетаСуществует = ФС.ФайлСуществует(ПутьКФайлуОтчета);
+
+ ВременныеФайлы.УдалитьФайл( ПутьКФайлуОтчета );
+ ВременныеФайлы.УдалитьФайл( ВременныйКаталог );
+ УправлениеКонфигуратором.УдалитьВременнуюБазу();
+
+ Утверждения.ПроверитьИстину(
+ Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()),
+ "Внутренний файл информации не должен существовать"
+ );
+
+ Утверждения.ПроверитьИстину(
+ ФайлОтчетаСуществует,
+ "Отчет о сравнении конфигурации с файлом должен существовать"
+ );
+
+КонецПроцедуры
+
+Процедура ТестДолжен_ПроверитьКонфигурацияРасширенияИдентичнаФайлу() Экспорт
+
+ ВременныйКаталог = ВременныеФайлы.СоздатьКаталог();
+
+ УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог);
+
+ ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf");
+ ФайлРасширения = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cfe");
+
+ ИмяРасширения = "Test_Extension";
+
+ УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации);
+ УправлениеКонфигуратором.ЗагрузитьРасширениеИзФайла(ФайлРасширения, ИмяРасширения);
+
+ КонфигурацииИдентичны = УправлениеКонфигуратором.КонфигурацияИФайлИдентичны(
+ ФайлРасширения,
+ ИмяРасширения
+ );
+
+ УправлениеКонфигуратором.УдалитьВременнуюБазу();
+ ВременныеФайлы.УдалитьФайл(ВременныйКаталог);
+
+ Утверждения.ПроверитьИстину(КонфигурацииИдентичны, "Конфигурации отличаются");
+ Утверждения.ПроверитьИстину(
+ Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()),
+ "Внутренний файл информации не должен существовать"
+ );
+
+КонецПроцедуры
+
Функция ХранилищеКонфигурацииСуществует(Знач ПапкаХранилища)
Возврат ФС.ФайлСуществует( ОбъединитьПути(ПапкаХранилища, "1cv8ddb.1CD"));
КонецФункции