1
1
#Использовать logos
2
2
#Использовать asserts
3
+ #Использовать v8runner
4
+ #Использовать tempfiles
3
5
4
6
Перем Лог ;
5
7
10
12
ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, "Сравнение внешних бинарных файлов 1С" );
11
13
Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "ПервыйПуть" , "Путь к первому файлу для сравнения" );
12
14
Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "ВторойПуть" , "Путь ко второму файлу для сравнения" );
13
- Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--silent" , "Не показывать окно с ошибкой и не ожидать действий пользователя" );
14
15
Парсер.ДобавитьКоманду(ОписаниеКоманды);
15
16
16
17
// для использования по умолчанию
17
18
Парсер.ДобавитьПараметр("ПервыйПуть" , "Путь к первому файлу для сравнения" );
18
19
Парсер.ДобавитьПараметр("ВторойПуть" , "Путь ко второму файлу для сравнения" );
19
- Парсер.ДобавитьПараметрФлаг("--silent" , "Не показывать окно с ошибкой и не ожидать действий пользователя" );
20
20
КонецПроцедуры
21
21
22
22
// Выполняет логику команды
37
37
Ожидаем.Что(ПервыйФайл.Существует(), СтрШаблон ("Первый файл должен существовать, а это не так! %1" , ПервыйПуть)).ЭтоИстина();
38
38
Ожидаем.Что(ВторойФайл.Существует(), СтрШаблон ("Первый файл должен существовать, а это не так! %1" , ВторойПуть)).ЭтоИстина();
39
39
40
+ СравнитьФайлы(ПервыйФайл, ВторойФайл);
41
+
40
42
Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех;
41
- КонецФункции
43
+ КонецФункции
44
+
45
+ Процедура СравнитьФайлы (Знач ПервыйФайл , Знач ВторойФайл )
46
+ УстановитьУровеньЛогаКонфигуратораРавнымУровнюПродукта();
47
+
48
+ УправлениеКонфигуратором = Новый УправлениеКонфигуратором;
49
+ ВременныйКаталог = ВременныеФайлы.СоздатьКаталог();
50
+
51
+ УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог);
52
+
53
+ ФайлОписанияСравнения = ПодготовитьФайлОписанияСравнения(ПервыйФайл, ВторойФайл);
54
+
55
+ Параметры = УправлениеКонфигуратором.ПолучитьПараметрыЗапуска();
56
+ Параметры.Добавить("" );
57
+
58
+ КомандаДля1С = СтрШаблон (""" diff;%1;shutdownAfterClose"" " , ФайлОписанияСравнения.ПолноеИмя);
59
+ ДопПараметр = СтрШаблон ("/Execute %1 " , ОбъединитьПути(ПараметрыСистемы.КаталогПроекта(), "tools" , "v8reader.epf" ));
60
+
61
+ УправлениеКонфигуратором.ЗапуститьВРежимеПредприятия(КомандаДля1С, Ложь , ДопПараметр);
62
+
63
+ КонецПроцедуры
64
+
65
+ Процедура УстановитьУровеньЛогаКонфигуратораРавнымУровнюПродукта ()
66
+ ДопЛог = Логирование.ПолучитьЛог("oscript.lib.v8runner" );
67
+ ДопЛог.УстановитьУровень(Лог.Уровень());
68
+ КонецПроцедуры
69
+
70
+ Функция ПодготовитьФайлОписанияСравнения (Знач ПервыйФайл , Знач ВторойФайл )
71
+ ПутьФайла = ВременныеФайлы.НовоеИмяФайла();
72
+ ЗаписьТекста = Новый ЗаписьТекста(ПутьФайла);
73
+ ЗаписьТекста.ЗаписатьСтроку(ПервыйФайл.ПолноеИмя);
74
+ ЗаписьТекста.ЗаписатьСтроку(ВторойФайл.ПолноеИмя);
75
+ ЗаписьТекста.Закрыть();
76
+ Возврат Новый Файл(ПутьФайла);
77
+ КонецФункции
0 commit comments