Skip to content

Commit dade38f

Browse files
committed
Finish 0.8.0
2 parents 748d9b1 + 55ec4db commit dade38f

13 files changed

+1008
-533
lines changed

epf/ОбработкаКонвертацииMXLJSON/ОбработкаКонвертацииMXLJSON.xml

-28
This file was deleted.

epf/ОбработкаКонвертацииMXLJSON/ОбработкаКонвертацииMXLJSON/Ext/ObjectModule.bsl

-276
This file was deleted.

features/step_definitions/ОбщиеФункции.os

+9-2
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,7 @@
1818
ВсеШаги.Добавить("ВыводЛогаСодержит");
1919
ВсеШаги.Добавить("ЯВыполняюОтключениеОтХранилищаКонфигурации");
2020
ВсеШаги.Добавить("ЯПодключаюБазуКХранилищуСПараметромЗаменыКонфигурации");
21-
ВсеШаги.Добавить("ЯВыполняюСборкуОбработкиКонвертацииОтчетаИзXmlВJsonИСохраняюВПеременной");
22-
ВсеШаги.Добавить("ФайлИзПеременнойСуществует");
21+
ВсеШаги.Добавить("ЯПолучаюТаблицуИсторииВерсийХранилища");
2322
ВсеШаги.Добавить("ЯОбновлениеКонфигурацииИзХранилищаНаВерсию");
2423

2524
Возврат ВсеШаги;
@@ -103,6 +102,14 @@
103102

104103
КонецПроцедуры
105104

105+
//Я получаю таблицу истории версий хранилища
106+
Процедура ЯПолучаюТаблицуИсторииВерсийХранилища() Экспорт
107+
108+
ХранилищеКонфигурации = БДД.ПолучитьИзКонтекста("ХранилищеКонфигурации");
109+
ТаблицаВерсий = ХранилищеКонфигурации.ПолучитьТаблицуВерсийХранилища();
110+
БДД.СохранитьВКонтекст("ТаблицаВерсий", ТаблицаВерсий);
111+
112+
КонецПроцедуры
106113

107114
Функция КаталогОбработки()
108115

features/ОбщиеФункции.feature

+7-3
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,13 @@
4040
И Я подключаю базу к хранилищу с параметром замены конфигурации "Ложь"
4141
Тогда Вывод лога содержит "Подключение информационной базы к хранилищу успешно завершено"
4242

43-
Сценарий: Сборка обработки конвертации xml в json
44-
Допустим Я выполняю сборку обработки конвертации отчета из xml в json и сохраняю в переменной "ОбработкаXMLJSON"
45-
Тогда Файл из переменной "ОбарботкаXMLJSON" существует
43+
Сценарий: Получение таблицы версий хранилища
44+
Допустим Я создаю временный каталог и сохраняю его в контекст
45+
И Я сохраняю значение временного каталога в переменной "КаталогХранилищаКонфигурации"
46+
И Я копирую тестовое хранилище в каталог из переменной "КаталогХранилищаКонфигурации"
47+
И Я устанавливаю каталог хранилища из переменной "КаталогХранилищаКонфигурации"
48+
Когда Я получаю таблицу истории версий хранилища
49+
Тогда Таблица версий содержит "5" записи
4650

4751
Сценарий: Обновление конфигурации на версию
4852
Допустим Я создаю временный каталог и сохраняю его в контекст

features/ПолучениеОтчетаИзХранилища.feature

+1-6
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,4 @@
2929
Когда Я получаю отчет из хранилища начиная с "1" по "2" версию
3030
Тогда Файл отчета существует
3131

32-
Сценарий: Конвертация файла отчета в json
33-
Допустим Я устанавливаю каталог хранилища во временный каталог
34-
И Я устанавливаю параметры авторизации пользователя "Администратор" и пароль ""
35-
Когда Я получаю отчет из хранилища
36-
И Я конвертирую файл отчета в json
37-
Тогда Файл отчета в формате json существует
32+

packagedef

+4-3
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@
33
// Полную документацию см. на hub.oscript.io/packaging
44

55
Описание.Имя("v8storage")
6-
.Версия("0.7.1")
7-
.ВерсияСреды("1.0.19")
6+
.Версия("0.8.0")
7+
.ВерсияСреды("1.0.21")
88
.ЗависитОт("asserts")
9-
.ЗависитОт("json")
9+
.ЗависитОт("fluent", "0.3.1")
10+
.ЗависитОт("datetime", "0.1.0")
1011
.ЗависитОт("v8runner", "1.1.3")
1112
.ЗависитОт("logos", "1.2.0")
1213
.ЗависитОт("fs")
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
2+
Функция Разобрать(Исходник) Экспорт
3+
Возврат Parse(Исходник);
4+
КонецФункции // Разобрать()
5+
6+
Function Parse(Src, Pos = 1) Export
7+
List = New Array;
8+
Pos = Pos + 1;
9+
Chr = Mid(Src, Pos, 1);
10+
If Chr = Chars.LF Then
11+
Pos = Pos + 1;
12+
Chr = Mid(Src, Pos, 1);
13+
EndIf;
14+
Beg = Pos;
15+
While Chr <> "" Do
16+
If Chr = "{" Then
17+
List.Add(Parse(Src, Pos));
18+
Pos = Pos + 1;
19+
Chr = Mid(Src, Pos, 1);
20+
If Chr = Chars.LF Then
21+
Pos = Pos + 1;
22+
Chr = Mid(Src, Pos, 1);
23+
EndIf;
24+
Beg = Pos;
25+
ElsIf Chr = "," Then
26+
If Beg < Pos Then
27+
List.Add(Mid(Src, Beg, Pos - Beg));
28+
EndIf;
29+
Pos = Pos + 1;
30+
Chr = Mid(Src, Pos, 1);
31+
If Chr = Chars.LF Then
32+
Pos = Pos + 1;
33+
Chr = Mid(Src, Pos, 1);
34+
EndIf;
35+
Beg = Pos;
36+
ElsIf Chr = "}" Then
37+
If Beg < Pos Then
38+
List.Add(Mid(Src, Beg, Pos - Beg));
39+
EndIf;
40+
Break;
41+
ElsIf Chr = """" Then
42+
While Chr = """" Do
43+
Pos = Pos + 1;
44+
While Mid(Src, Pos, 1) <> """" Do
45+
Pos = Pos + 1;
46+
EndDo;
47+
Pos = Pos + 1;
48+
Chr = Mid(Src, Pos, 1);
49+
EndDo;
50+
Else
51+
Pos = Pos + 1;
52+
Chr = Mid(Src, Pos, 1);
53+
EndIf;
54+
EndDo;
55+
Return List;
56+
EndFunction // Parse()
57+
58+
Function ParseLimited(Src, Limit = 10, Pos = 1, Level = 0) Export
59+
List = New Array;
60+
Pos = Pos + 1;
61+
Chr = Mid(Src, Pos, 1);
62+
If Chr = Chars.LF Then
63+
Pos = Pos + 1;
64+
Chr = Mid(Src, Pos, 1);
65+
EndIf;
66+
Beg = Pos;
67+
While Chr <> "" Do
68+
If Chr = "{" Then
69+
If Level < Limit Then
70+
List.Add(ParseLimited(Src, Limit, Pos, Level + 1));
71+
Pos = Pos + 1;
72+
Chr = Mid(Src, Pos, 1);
73+
If Chr = Chars.LF Then
74+
Pos = Pos + 1;
75+
Chr = Mid(Src, Pos, 1);
76+
EndIf;
77+
Beg = Pos;
78+
Else
79+
Level = Level + 1;
80+
Pos = Pos + 1;
81+
Chr = Mid(Src, Pos, 1);
82+
EndIf;
83+
ElsIf Chr = "," Then
84+
If Level < Limit Then
85+
If Beg < Pos Then
86+
List.Add(Mid(Src, Beg, Pos - Beg));
87+
EndIf;
88+
Pos = Pos + 1;
89+
Chr = Mid(Src, Pos, 1);
90+
If Chr = Chars.LF Then
91+
Pos = Pos + 1;
92+
Chr = Mid(Src, Pos, 1);
93+
EndIf;
94+
Beg = Pos;
95+
Else
96+
Pos = Pos + 1;
97+
Chr = Mid(Src, Pos, 1);
98+
EndIf;
99+
ElsIf Chr = "}" Then
100+
Level = Level - 1;
101+
If Level < Limit Then
102+
If Beg < Pos Then
103+
List.Add(Mid(Src, Beg, Pos - Beg));
104+
EndIf;
105+
Break;
106+
Else
107+
Pos = Pos + 1;
108+
Chr = Mid(Src, Pos, 1);
109+
EndIf;
110+
ElsIf Chr = """" Then
111+
While Chr = """" Do
112+
Pos = Pos + 1;
113+
While Mid(Src, Pos, 1) <> """" Do
114+
Pos = Pos + 1;
115+
EndDo;
116+
Pos = Pos + 1;
117+
Chr = Mid(Src, Pos, 1);
118+
EndDo;
119+
Else
120+
Pos = Pos + 1;
121+
Chr = Mid(Src, Pos, 1);
122+
EndIf;
123+
EndDo;
124+
Return List;
125+
EndFunction // ParseLimited()

0 commit comments

Comments
 (0)