Skip to content

Commit 89c49f4

Browse files
committed
Версия 1.13
1. Исправлена ошибка разбора ролей, возникающая при обнаружении неизвестных идентификаторов стандартных реквизитов 2. Исправлен алгоритм построения дерева элементов обычной формы в случае, если у панели формы есть несколько страниц. 3. Гиперссылка, декомпилирующая обычную форму целиком, теперь формирует полноценный текст декомпиляции (раньше по этой гиперссылке формировался файл в режиме «бутафории») 4. Добавлена настройка использования внешней программы для сравнения модулей и их методов 5. При запуске обработки для распаковки файла конфигурации, содержащего конфигурацию поставщика, появилась возможность по нажатию отдельной кнопки распаковать файл конфигурации поставщика и запустить сравнение с исходной конфигурацией 6. В рамках проекта precommit исправлены ошибки формирования соответствия распакованных файлов для их последующей сборки в полноценный 1С-файл силами скрипта precommit. 7. Также в рамках проекта precommit для распакованных файлов также формируется отдельный файл maps.txt, позволяющий найти в исходниках управляемых форм номера строк, которые соответствуют началу и концу модуля управляемой формы 8. Кроме этого, в рамках проекта precommit при распаковке макетов теперь для каждого из них создаются файлы с соответствующим расширением: • Компоновка – xml, • Табличный документ – mxl, • Текстовый документ – txt, • Макет оформления компоновки данных – xml, • Графическая схема – grs, • Географическая схема – geo, • ActiveDocument – bin, • ДвоичныеДанные – bin (исключение составляют макеты с префиксом ПФ_, для которых создаются файлы с расширением, соответствующим второй части префикса – например, ПФ_DOC_* - будет создан файл с расширение doc и т.д) , • HTMLДокумент – html (вложения html будут распакованы в папку ИмяМакета_files рядом с html – естественно, сам html при этом их видеть не будет, но главное, что вложения тоже распаковываются). 9. Ну и самая главная доработка в рамках проекта precommit – это добавление ко всем модулям отчетов и обработок расширения bsl, наличие которого позволит эффективнее осваивать 1с-разработчикам инфраструктуру веб-сервисов github и проще применять инструменты, заточенные под формат исходных кодов 1С, будь-то анализаторы или подсветка синтаксиса.
1 parent d3f3902 commit 89c49f4

File tree

30 files changed

+7212
-23420
lines changed

30 files changed

+7212
-23420
lines changed

V8Reader.epf

379 Bytes
Binary file not shown.

src/V8Reader/Form/ВиртуальнаяФорма/form

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
{0}
5454
},
5555
{0}
56-
},1,1,1,0,0,1,4,498},
56+
},1,1,1,0,0,1,4,507},
5757
{
5858
{-1},4,
5959
{3,

src/V8Reader/Form/ВиртуальнаяФорма/module.bsl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
КонецПроцедуры
66

77
//предложенная Istur в публикации http://infostart.ru/public/99363/ процедура для присвоения элементу нужного положения
8-
Процедура УстановитьПоложениеЭлемента(Элемент,Верх,Высота,Лево,Ширина)
8+
Процедура УстановитьПоложениеЭлемента(Элемент, Верх, Высота, Лево, Ширина)
99
Элемент.Верх = Верх;
10-
Если Тип(Элемент)<>Тип("КоманднаяПанель") тогда
10+
Если Тип(Элемент) <> Тип("КоманднаяПанель") Тогда
1111
Элемент.Высота = Высота;
12-
Конецесли;
12+
КонецЕсли;
1313
Элемент.Лево = Лево;
1414
Элемент.Ширина = Ширина;
1515
КонецПроцедуры
@@ -21,7 +21,7 @@
2121

2222
//назначение форме владельца (чтобы можно было открыть несколько форм рядом и все они были подчиненными одной форме-владельцу)
2323
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
24-
ЭтаФорма.ВладелецФормы=Ключ;
25-
ЭтаФорма.ЗакрыватьПриЗакрытииВладельца=Истина;
24+
ЭтаФорма.ВладелецФормы = Ключ;
25+
ЭтаФорма.ЗакрыватьПриЗакрытииВладельца = Истина;
2626
КонецПроцедуры
2727

src/V8Reader/Form/НавигаторПоФайлам/form

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1763,7 +1763,7 @@ wKbHjvrcBlUnWF43b2QPSN7JMfwA},0}
17631763
{1,0}
17641764
},8,2,0,0,1,1,
17651765
{5,132b82db-e432-44a3-bb2c-c47ed5b1aaea,3,1,3,
1766-
{6,955d84bb-de37-4966-86e1-7fabb7becee9,1,e1692cc2-605b-4535-84dd-28440238746c,
1766+
{6,8b024b5c-07cf-429a-910d-c2152cbf3d2a,1,e1692cc2-605b-4535-84dd-28440238746c,
17671767
{3,"КонтекстноеМенюВосстановитьПоУмолчанию",
17681768
{1,"КонтекстноеМенюВосстановитьПоУмолчанию",
17691769
{1,1,
@@ -1783,27 +1783,7 @@ wKbHjvrcBlUnWF43b2QPSN7JMfwA},0}
17831783
{3,1,
17841784
{0,fc4f29e0-d168-4fe0-8e64-e982fabf2595},"",-1,-1,1,0}
17851785
},
1786-
{6,744ee5d5-b6ab-406c-8208-49e388669ab8,1,e1692cc2-605b-4535-84dd-28440238746c,
1787-
{3,"КонтекстноеМенюСортироватьПоВыделенному",
1788-
{1,"КонтекстноеМенюСортироватьПоВыделенному",
1789-
{1,1,
1790-
{"ru","Сортировать по выделенному"}
1791-
},
1792-
{1,1,
1793-
{"ru","Сортировать по выделенному"}
1794-
},
1795-
{1,1,
1796-
{"ru","Сортировать по выделенному"}
1797-
},
1798-
{3,0,
1799-
{0},"",-1,-1,1,0},
1800-
{0,0,0}
1801-
}
1802-
},1,
1803-
{3,1,
1804-
{0,91022b99-b610-48ad-954e-a297848081ce},"",-1,-1,1,0}
1805-
},
1806-
{6,b80f5e00-131c-41ea-b1a4-8cdb7d8112c6,1,e1692cc2-605b-4535-84dd-28440238746c,
1786+
{6,66d45a46-b993-4e86-9b57-15ea378e4a43,1,e1692cc2-605b-4535-84dd-28440238746c,
18071787
{3,"КонтекстноеМенюСортироватьПоВыделенному1",
18081788
{1,"КонтекстноеМенюСортироватьПоВыделенному1",
18091789
{1,1,
@@ -1828,16 +1808,36 @@ wKbHjvrcBlUnWF43b2QPSN7JMfwA},0}
18281808
},
18291809
{3,1,
18301810
{0,1fa32fdb-a180-418f-a6eb-db7516b7a30b},"",-1,-1,1,0}
1811+
},
1812+
{6,723d8eb6-6c7e-4b67-a5da-5601f8135282,1,e1692cc2-605b-4535-84dd-28440238746c,
1813+
{3,"КонтекстноеМенюСортироватьПоВыделенному",
1814+
{1,"КонтекстноеМенюСортироватьПоВыделенному",
1815+
{1,1,
1816+
{"ru","Сортировать по выделенному"}
1817+
},
1818+
{1,1,
1819+
{"ru","Сортировать по выделенному"}
1820+
},
1821+
{1,1,
1822+
{"ru","Сортировать по выделенному"}
1823+
},
1824+
{3,0,
1825+
{0},"",-1,-1,1,0},
1826+
{0,0,0}
1827+
}
1828+
},1,
1829+
{3,1,
1830+
{0,91022b99-b610-48ad-954e-a297848081ce},"",-1,-1,1,0}
18311831
},1,
1832-
{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,3,744ee5d5-b6ab-406c-8208-49e388669ab8,
1832+
{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,3,723d8eb6-6c7e-4b67-a5da-5601f8135282,
18331833
{8,"СортироватьПоВыделенному",0,1,
18341834
{1,1,
18351835
{"#","Сортировать по выделенному"}
1836-
},0,132b82db-e432-44a3-bb2c-c47ed5b1aaea,1,1e2,0,0,1,0,0,0,0},b80f5e00-131c-41ea-b1a4-8cdb7d8112c6,
1836+
},0,132b82db-e432-44a3-bb2c-c47ed5b1aaea,1,1e2,0,0,1,0,0,0,0},66d45a46-b993-4e86-9b57-15ea378e4a43,
18371837
{8,"СортироватьПоВыделенному1",0,2,
18381838
{1,1,
18391839
{"ru","Сортировать по выделенному"}
1840-
},1,132b82db-e432-44a3-bb2c-c47ed5b1aaea,2,1e2,0,0,1,0,0,0,0},955d84bb-de37-4966-86e1-7fabb7becee9,
1840+
},1,132b82db-e432-44a3-bb2c-c47ed5b1aaea,2,1e2,0,0,1,0,0,0,0},8b024b5c-07cf-429a-910d-c2152cbf3d2a,
18411841
{8,"ВосстановитьПоУмолчанию",0,1,
18421842
{1,1,
18431843
{"#","Восстановить по умолчанию"}
@@ -2719,7 +2719,7 @@ wKbHjvrcBlUnWF43b2QPSN7JMfwA},0}
27192719
}
27202720
}
27212721
}
2722-
},312,582,1,0,1,4,4,581},
2722+
},312,582,1,0,1,4,4,593},
27232723
{
27242724
{0},7,
27252725
{5,
Lines changed: 53 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
11
Перем Счетчик;
2+
Перем ЭлементыВладельцаФормы;
23

34
Процедура ДеревоОбъектовВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
45

5-
Если Колонка.Имя="ОткрытьВПроводнике" Тогда
6-
Файл=Новый Файл(ВыбраннаяСтрока.ПолноеИмя);
6+
Если Колонка.Имя = "ОткрытьВПроводнике" Тогда
7+
Файл = Новый Файл(ВыбраннаяСтрока.ПолноеИмя);
78
ОткрытьВПроводнике(Файл);
8-
ИначеЕсли Колонка.Имя="ОткрытьВБлокноте" и ВыбраннаяСтрока.ИндексКартинки<>1 тогда
9-
WS=Новый COMОбъект("WScript.Shell");
10-
WS.Run("Notepad "+ВыбраннаяСтрока.ПолноеИмя,10);
11-
ИначеЕсли ВыбраннаяСтрока.ИндексКартинки<>1 тогда
9+
ИначеЕсли Колонка.Имя = "ОткрытьВБлокноте" И ВыбраннаяСтрока.ИндексКартинки <> 1 Тогда
10+
WS = Новый COMОбъект("WScript.Shell");
11+
WS.Run("Notepad " + ВыбраннаяСтрока.ПолноеИмя, 10);
12+
ИначеЕсли ВыбраннаяСтрока.ИндексКартинки <> 1 Тогда
1213
Текст = Новый ТекстовыйДокумент;
1314
Текст.Прочитать(ВыбраннаяСтрока.ПолноеИмя, КодировкаТекста.UTF8);
14-
Этаформа.ВладелецФормы.ЭлементыФормы.ПолеТекстовогоДокумента1.УстановитьТекст(Текст.ПолучитьТекст());
15-
Иначе
15+
ЭлементыВладельцаФормы.ПолеТекстовогоДокумента1.УстановитьТекст(Текст.ПолучитьТекст());
16+
Иначе
1617
Возврат;
1718
КонецЕсли;
1819

@@ -29,70 +30,72 @@
2930
КонецПроцедуры
3031

3132
Процедура ДеревоОбъектовПриАктивизацииСтроки(Элемент)
32-
Если Элемент=Элементыформы.ДеревоОбъектов тогда
33-
Дерево=Этаформа.ВладелецФормы.ДеревоМетаданных;
34-
Гиперссылка=ЭлементыФормы.ОбъектМетаданных
35-
ИначеЕсли Элемент=Элементыформы.ДеревоОбъектов1 тогда
36-
Дерево=Этаформа.ВладелецФормы.ДеревоCf;
37-
Гиперссылка=ЭлементыФормы.ОбъектМетаданных1;
33+
Если Элемент = ЭлементыФормы.ДеревоОбъектов Тогда
34+
Дерево = ЭтаФорма.ВладелецФормы.ДеревоМетаданных;
35+
Гиперссылка = ЭлементыФормы.ОбъектМетаданных
36+
ИначеЕсли Элемент = ЭлементыФормы.ДеревоОбъектов1 Тогда
37+
Дерево = ЭтаФорма.ВладелецФормы.ДеревоCf;
38+
Гиперссылка = ЭлементыФормы.ОбъектМетаданных1;
3839
Иначе
39-
Дерево=ЭтаФорма.ВладелецФормы.ТретьеДерево;
40-
Гиперссылка=ЭлементыФормы.ОбъектМетаданных2;
41-
Конецесли;
42-
Если Открытие=ложь тогда
43-
Если Элемент.ТекущаяСтрока<>Неопределено тогда
44-
Если Элемент.ТекущаяСтрока.Родитель=Неопределено тогда
45-
СтрокаОбъекта=Дерево.Строки.Найти(Элемент.ТекущаяСтрока.Имя, "ПутьТекОбъект", истина);
46-
Если СтрокаОбъекта<>Неопределено Тогда
47-
Гиперссылка.Заголовок=СтрокаОбъекта.Синоним;
48-
Гиперссылка.Гиперссылка=истина;
49-
Иначе Гиперссылка.Заголовок="Объект не найден";
50-
Гиперссылка.Гиперссылка=ложь;
40+
Дерево = ЭтаФорма.ВладелецФормы.ТретьеДерево;
41+
Гиперссылка = ЭлементыФормы.ОбъектМетаданных2;
42+
КонецЕсли;
43+
Если Открытие = Ложь Тогда
44+
Если Элемент.ТекущаяСтрока <> Неопределено Тогда
45+
Если Элемент.ТекущаяСтрока.Родитель = Неопределено Тогда
46+
СтрокаОбъекта = Дерево.Строки.Найти(Элемент.ТекущаяСтрока.Имя, "ПутьТекОбъект", Истина);
47+
Если СтрокаОбъекта <> Неопределено Тогда
48+
Гиперссылка.Заголовок = СтрокаОбъекта.Синоним;
49+
Гиперссылка.Гиперссылка = Истина;
50+
Иначе Гиперссылка.Заголовок = "Объект не найден";
51+
Гиперссылка.Гиперссылка = Ложь;
5152
КонецЕсли;
52-
Иначе СтрокаОбъекта=Дерево.Строки.Найти(Элемент.ТекущаяСтрока.Родитель.Имя, "ПутьТекОбъект", истина);
53-
Если СтрокаОбъекта<>Неопределено Тогда
54-
Гиперссылка.Заголовок=СтрокаОбъекта.Синоним;
55-
Гиперссылка.Гиперссылка=истина;
56-
Иначе Гиперссылка.Заголовок="Объект не найден";
57-
Гиперссылка.Гиперссылка=ложь;
53+
Иначе СтрокаОбъекта = Дерево.Строки.Найти(Элемент.ТекущаяСтрока.Родитель.Имя, "ПутьТекОбъект", Истина);
54+
Если СтрокаОбъекта <> Неопределено Тогда
55+
Гиперссылка.Заголовок = СтрокаОбъекта.Синоним;
56+
Гиперссылка.Гиперссылка = Истина;
57+
Иначе Гиперссылка.Заголовок = "Объект не найден";
58+
Гиперссылка.Гиперссылка = Ложь;
5859
КонецЕсли;
5960
КонецЕсли;
6061
КонецЕсли;
61-
Иначе
62-
Если РежимСравнения=1 и Счетчик=Неопределено тогда
63-
Счетчик=1;
64-
Иначе
65-
Открытие=ложь;
62+
Иначе
63+
Если РежимСравнения = 1 И Счетчик = Неопределено Тогда
64+
Счетчик = 1;
65+
Иначе
66+
Открытие = Ложь;
6667
КонецЕсли;
6768
КонецЕсли;
6869
КонецПроцедуры
6970

7071
Процедура ОбъектМетаданныхНажатие(Элемент)
71-
Если Элемент=ЭлементыФормы.ОбъектМетаданных тогда
72-
Если РежимСравнения=1 тогда
73-
ЭтаФорма.ВладелецФормы.ЭлементыФормы.ПанельДляДерева.ТекущаяСтраница=ЭтаФорма.ВладелецФормы.ЭлементыФормы.ПанельДляДерева.Страницы.ДеревоCfu;
72+
Если Элемент = ЭлементыФормы.ОбъектМетаданных Тогда
73+
Если РежимСравнения = 1 Тогда
74+
ЭлементыВладельцаФормы.ПанельДляДерева.ТекущаяСтраница = ЭлементыВладельцаФормы.ПанельДляДерева.Страницы.ДеревоCfu;
7475
КонецЕсли;
75-
ЭтаФорма.ВладелецФормы.ЭлементыФормы.ДеревоМетаданных.ТекущаяСтрока=ЭтаФорма.ВладелецФормы.ЭлементыФормы.ДеревоМетаданных.Значение.Строки.Найти(Элемент.Заголовок,"Синоним",Истина);
76-
Иначе
77-
ЭтаФорма.ВладелецФормы.ЭлементыФормы.ПанельДляДерева.ТекущаяСтраница=ЭтаФорма.ВладелецФормы.ЭлементыФормы.ПанельДляДерева.Страницы.ДеревоCf;
78-
ЭтаФорма.ВладелецФормы.ЭлементыФормы.ДеревоCf.ТекущаяСтрока=ЭтаФорма.ВладелецФормы.ЭлементыФормы.ДеревоCf.Значение.Строки.Найти(Элемент.Заголовок,"Синоним",Истина);
79-
Конецесли;
76+
ЭлементыВладельцаФормы.ДеревоМетаданных.ТекущаяСтрока = ЭлементыВладельцаФормы.ДеревоМетаданных.Значение.Строки.Найти(Элемент.Заголовок,"Синоним", Истина);
77+
Иначе
78+
ЭлементыВладельцаФормы.ПанельДляДерева.ТекущаяСтраница = ЭлементыВладельцаФормы.ПанельДляДерева.Страницы.ДеревоCf;
79+
ЭлементыВладельцаФормы.ДеревоCf.ТекущаяСтрока = ЭлементыВладельцаФормы.ДеревоCf.Значение.Строки.Найти(Элемент.Заголовок,"Синоним", Истина);
80+
КонецЕсли;
8081
КонецПроцедуры
8182

8283
Процедура КонтекстноеМенюСортироватьПоВыделенному(Кнопка)
83-
ИмяТекКолонки=ЭтаФорма.ТекущийЭлемент.ТекущаяКолонка.Имя;
84-
ЭтаФорма.ТекущийЭлемент.Значение.Строки.Сортировать(""+ИмяТекКолонки+" возр",Истина);
84+
ИмяТекКолонки = ЭтаФорма.ТекущийЭлемент.ТекущаяКолонка.Имя;
85+
ЭтаФорма.ТекущийЭлемент.Значение.Строки.Сортировать("" + ИмяТекКолонки + " возр", Истина);
8586
КонецПроцедуры
8687

8788
Процедура КонтекстноеМенюСортироватьПоВыделенному1(Кнопка)
88-
ИмяТекКолонки=ЭтаФорма.ТекущийЭлемент.ТекущаяКолонка.Имя;
89-
ЭтаФорма.ТекущийЭлемент.Значение.Строки.Сортировать(""+ИмяТекКолонки+" убыв",Истина);
89+
ИмяТекКолонки = ЭтаФорма.ТекущийЭлемент.ТекущаяКолонка.Имя;
90+
ЭтаФорма.ТекущийЭлемент.Значение.Строки.Сортировать("" + ИмяТекКолонки + " убыв", Истина);
9091
КонецПроцедуры
9192

9293
Процедура КонтекстноеМенюВосстановитьПоУмолчанию(Кнопка)
9394
ЭтаФорма.ТекущийЭлемент.Значение.Строки.Сортировать("ИндексКартинки убыв, Имя возр");
9495
КонецПроцедуры
9596

9697
Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)
97-
ЭтаФорма.ВладелецФормы.ЭлементыФормы.УправляющаяКоманднаяПанель.Кнопки.ОткрытьНавигаторФайлов.Доступность=Истина;
98+
ЭлементыВладельцаФормы.УправляющаяКоманднаяПанель.Кнопки.ОткрытьНавигаторФайлов.Доступность = Истина;
9899
КонецПроцедуры
100+
101+
ЭлементыВладельцаФормы = ЭтаФорма.ВладелецФормы.ЭлементыФормы;

0 commit comments

Comments
 (0)