Skip to content

Commit

Permalink
Merge pull request #43 from bambr1975/develop
Browse files Browse the repository at this point in the history
Версия 1.13


    Исправлена ошибка разбора ролей, возникающая при обнаружении неизвестных идентификаторов стандартных реквизитов
    Исправлен алгоритм построения дерева элементов обычной формы в случае, если у панели формы есть несколько страниц.
    Гиперссылка, декомпилирующая обычную форму целиком, теперь формирует полноценный текст декомпиляции (раньше по этой гиперссылке формировался файл в режиме «бутафории»)
    Добавлена настройка использования внешней программы для сравнения модулей и их методов
    При запуске обработки для распаковки файла конфигурации, содержащего конфигурацию поставщика, появилась возможность по нажатию отдельной кнопки распаковать файл конфигурации поставщика и запустить сравнение с исходной конфигурацией
    В рамках проекта precommit исправлены ошибки формирования соответствия распакованных файлов для их последующей сборки в полноценный 1С-файл силами скрипта precommit.
    Также в рамках проекта precommit для распакованных файлов также формируется отдельный файл maps.txt, позволяющий найти в исходниках управляемых форм номера строк, которые соответствуют началу и концу модуля управляемой формы
    Кроме этого, в рамках проекта precommit при распаковке макетов теперь для каждого из них создаются файлы с соответствующим расширением: • Компоновка – xml, • Табличный документ – mxl, • Текстовый документ – txt, • Макет оформления компоновки данных – xml, • Графическая схема – grs, • Географическая схема – geo, • ActiveDocument – bin, • ДвоичныеДанные – bin (исключение составляют макеты с префиксом ПФ, для которых создаются файлы с расширением, соответствующим второй части префикса – например, ПФ_DOC* - будет создан файл с расширение doc и т.д) , • HTMLДокумент – html (вложения html будут распакованы в папку ИмяМакета_files рядом с html – естественно, сам html при этом их видеть не будет, но главное, что вложения тоже распаковываются).
    Ну и самая главная доработка в рамках проекта precommit – это добавление ко всем модулям отчетов и обработок расширения bsl, наличие которого позволит эффективнее осваивать 1с-разработчикам инфраструктуру веб-сервисов github и проще применять инструменты, заточенные под формат исходных кодов 1С, будь-то анализаторы или подсветка синтаксиса.
  • Loading branch information
bambr1975 authored Jul 22, 2016
2 parents 810ba87 + 89c49f4 commit 16f0c05
Show file tree
Hide file tree
Showing 30 changed files with 7,212 additions and 23,420 deletions.
Binary file modified V8Reader.epf
Binary file not shown.
2 changes: 1 addition & 1 deletion src/V8Reader/Form/ВиртуальнаяФорма/form
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
{0}
},
{0}
},1,1,1,0,0,1,4,498},
},1,1,1,0,0,1,4,507},
{
{-1},4,
{3,
Expand Down
10 changes: 5 additions & 5 deletions src/V8Reader/Form/ВиртуальнаяФорма/module.bsl
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@
КонецПроцедуры

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

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

52 changes: 26 additions & 26 deletions src/V8Reader/Form/НавигаторПоФайлам/form
Original file line number Diff line number Diff line change
Expand Up @@ -1763,7 +1763,7 @@ wKbHjvrcBlUnWF43b2QPSN7JMfwA},0}
{1,0}
},8,2,0,0,1,1,
{5,132b82db-e432-44a3-bb2c-c47ed5b1aaea,3,1,3,
{6,955d84bb-de37-4966-86e1-7fabb7becee9,1,e1692cc2-605b-4535-84dd-28440238746c,
{6,8b024b5c-07cf-429a-910d-c2152cbf3d2a,1,e1692cc2-605b-4535-84dd-28440238746c,
{3,"КонтекстноеМенюВосстановитьПоУмолчанию",
{1,"КонтекстноеМенюВосстановитьПоУмолчанию",
{1,1,
Expand All @@ -1783,27 +1783,7 @@ wKbHjvrcBlUnWF43b2QPSN7JMfwA},0}
{3,1,
{0,fc4f29e0-d168-4fe0-8e64-e982fabf2595},"",-1,-1,1,0}
},
{6,744ee5d5-b6ab-406c-8208-49e388669ab8,1,e1692cc2-605b-4535-84dd-28440238746c,
{3,"КонтекстноеМенюСортироватьПоВыделенному",
{1,"КонтекстноеМенюСортироватьПоВыделенному",
{1,1,
{"ru","Сортировать по выделенному"}
},
{1,1,
{"ru","Сортировать по выделенному"}
},
{1,1,
{"ru","Сортировать по выделенному"}
},
{3,0,
{0},"",-1,-1,1,0},
{0,0,0}
}
},1,
{3,1,
{0,91022b99-b610-48ad-954e-a297848081ce},"",-1,-1,1,0}
},
{6,b80f5e00-131c-41ea-b1a4-8cdb7d8112c6,1,e1692cc2-605b-4535-84dd-28440238746c,
{6,66d45a46-b993-4e86-9b57-15ea378e4a43,1,e1692cc2-605b-4535-84dd-28440238746c,
{3,"КонтекстноеМенюСортироватьПоВыделенному1",
{1,"КонтекстноеМенюСортироватьПоВыделенному1",
{1,1,
Expand All @@ -1828,16 +1808,36 @@ wKbHjvrcBlUnWF43b2QPSN7JMfwA},0}
},
{3,1,
{0,1fa32fdb-a180-418f-a6eb-db7516b7a30b},"",-1,-1,1,0}
},
{6,723d8eb6-6c7e-4b67-a5da-5601f8135282,1,e1692cc2-605b-4535-84dd-28440238746c,
{3,"КонтекстноеМенюСортироватьПоВыделенному",
{1,"КонтекстноеМенюСортироватьПоВыделенному",
{1,1,
{"ru","Сортировать по выделенному"}
},
{1,1,
{"ru","Сортировать по выделенному"}
},
{1,1,
{"ru","Сортировать по выделенному"}
},
{3,0,
{0},"",-1,-1,1,0},
{0,0,0}
}
},1,
{3,1,
{0,91022b99-b610-48ad-954e-a297848081ce},"",-1,-1,1,0}
},1,
{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,3,744ee5d5-b6ab-406c-8208-49e388669ab8,
{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,3,723d8eb6-6c7e-4b67-a5da-5601f8135282,
{8,"СортироватьПоВыделенному",0,1,
{1,1,
{"#","Сортировать по выделенному"}
},0,132b82db-e432-44a3-bb2c-c47ed5b1aaea,1,1e2,0,0,1,0,0,0,0},b80f5e00-131c-41ea-b1a4-8cdb7d8112c6,
},0,132b82db-e432-44a3-bb2c-c47ed5b1aaea,1,1e2,0,0,1,0,0,0,0},66d45a46-b993-4e86-9b57-15ea378e4a43,
{8,"СортироватьПоВыделенному1",0,2,
{1,1,
{"ru","Сортировать по выделенному"}
},1,132b82db-e432-44a3-bb2c-c47ed5b1aaea,2,1e2,0,0,1,0,0,0,0},955d84bb-de37-4966-86e1-7fabb7becee9,
},1,132b82db-e432-44a3-bb2c-c47ed5b1aaea,2,1e2,0,0,1,0,0,0,0},8b024b5c-07cf-429a-910d-c2152cbf3d2a,
{8,"ВосстановитьПоУмолчанию",0,1,
{1,1,
{"#","Восстановить по умолчанию"}
Expand Down Expand Up @@ -2719,7 +2719,7 @@ wKbHjvrcBlUnWF43b2QPSN7JMfwA},0}
}
}
}
},312,582,1,0,1,4,4,581},
},312,582,1,0,1,4,4,593},
{
{0},7,
{5,
Expand Down
103 changes: 53 additions & 50 deletions src/V8Reader/Form/НавигаторПоФайлам/module.bsl
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
Перем Счетчик;
Перем ЭлементыВладельцаФормы;

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

Если Колонка.Имя="ОткрытьВПроводнике" Тогда
Файл=Новый Файл(ВыбраннаяСтрока.ПолноеИмя);
Если Колонка.Имя = "ОткрытьВПроводнике" Тогда
Файл = Новый Файл(ВыбраннаяСтрока.ПолноеИмя);
ОткрытьВПроводнике(Файл);
ИначеЕсли Колонка.Имя="ОткрытьВБлокноте" и ВыбраннаяСтрока.ИндексКартинки<>1 тогда
WS=Новый COMОбъект("WScript.Shell");
WS.Run("Notepad "+ВыбраннаяСтрока.ПолноеИмя,10);
ИначеЕсли ВыбраннаяСтрока.ИндексКартинки<>1 тогда
ИначеЕсли Колонка.Имя = "ОткрытьВБлокноте" И ВыбраннаяСтрока.ИндексКартинки <> 1 Тогда
WS = Новый COMОбъект("WScript.Shell");
WS.Run("Notepad " + ВыбраннаяСтрока.ПолноеИмя, 10);
ИначеЕсли ВыбраннаяСтрока.ИндексКартинки <> 1 Тогда
Текст = Новый ТекстовыйДокумент;
Текст.Прочитать(ВыбраннаяСтрока.ПолноеИмя, КодировкаТекста.UTF8);
Этаформа.ВладелецФормы.ЭлементыФормы.ПолеТекстовогоДокумента1.УстановитьТекст(Текст.ПолучитьТекст());
Иначе
ЭлементыВладельцаФормы.ПолеТекстовогоДокумента1.УстановитьТекст(Текст.ПолучитьТекст());
Иначе
Возврат;
КонецЕсли;

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

Процедура ДеревоОбъектовПриАктивизацииСтроки(Элемент)
Если Элемент=Элементыформы.ДеревоОбъектов тогда
Дерево=Этаформа.ВладелецФормы.ДеревоМетаданных;
Гиперссылка=ЭлементыФормы.ОбъектМетаданных
ИначеЕсли Элемент=Элементыформы.ДеревоОбъектов1 тогда
Дерево=Этаформа.ВладелецФормы.ДеревоCf;
Гиперссылка=ЭлементыФормы.ОбъектМетаданных1;
Если Элемент = ЭлементыФормы.ДеревоОбъектов Тогда
Дерево = ЭтаФорма.ВладелецФормы.ДеревоМетаданных;
Гиперссылка = ЭлементыФормы.ОбъектМетаданных
ИначеЕсли Элемент = ЭлементыФормы.ДеревоОбъектов1 Тогда
Дерево = ЭтаФорма.ВладелецФормы.ДеревоCf;
Гиперссылка = ЭлементыФормы.ОбъектМетаданных1;
Иначе
Дерево=ЭтаФорма.ВладелецФормы.ТретьеДерево;
Гиперссылка=ЭлементыФормы.ОбъектМетаданных2;
Конецесли;
Если Открытие=ложь тогда
Если Элемент.ТекущаяСтрока<>Неопределено тогда
Если Элемент.ТекущаяСтрока.Родитель=Неопределено тогда
СтрокаОбъекта=Дерево.Строки.Найти(Элемент.ТекущаяСтрока.Имя, "ПутьТекОбъект", истина);
Если СтрокаОбъекта<>Неопределено Тогда
Гиперссылка.Заголовок=СтрокаОбъекта.Синоним;
Гиперссылка.Гиперссылка=истина;
Иначе Гиперссылка.Заголовок="Объект не найден";
Гиперссылка.Гиперссылка=ложь;
Дерево = ЭтаФорма.ВладелецФормы.ТретьеДерево;
Гиперссылка = ЭлементыФормы.ОбъектМетаданных2;
КонецЕсли;
Если Открытие = Ложь Тогда
Если Элемент.ТекущаяСтрока <> Неопределено Тогда
Если Элемент.ТекущаяСтрока.Родитель = Неопределено Тогда
СтрокаОбъекта = Дерево.Строки.Найти(Элемент.ТекущаяСтрока.Имя, "ПутьТекОбъект", Истина);
Если СтрокаОбъекта <> Неопределено Тогда
Гиперссылка.Заголовок = СтрокаОбъекта.Синоним;
Гиперссылка.Гиперссылка = Истина;
Иначе Гиперссылка.Заголовок = "Объект не найден";
Гиперссылка.Гиперссылка = Ложь;
КонецЕсли;
Иначе СтрокаОбъекта=Дерево.Строки.Найти(Элемент.ТекущаяСтрока.Родитель.Имя, "ПутьТекОбъект", истина);
Если СтрокаОбъекта<>Неопределено Тогда
Гиперссылка.Заголовок=СтрокаОбъекта.Синоним;
Гиперссылка.Гиперссылка=истина;
Иначе Гиперссылка.Заголовок="Объект не найден";
Гиперссылка.Гиперссылка=ложь;
Иначе СтрокаОбъекта = Дерево.Строки.Найти(Элемент.ТекущаяСтрока.Родитель.Имя, "ПутьТекОбъект", Истина);
Если СтрокаОбъекта <> Неопределено Тогда
Гиперссылка.Заголовок = СтрокаОбъекта.Синоним;
Гиперссылка.Гиперссылка = Истина;
Иначе Гиперссылка.Заголовок = "Объект не найден";
Гиперссылка.Гиперссылка = Ложь;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Иначе
Если РежимСравнения=1 и Счетчик=Неопределено тогда
Счетчик=1;
Иначе
Открытие=ложь;
Иначе
Если РежимСравнения = 1 И Счетчик = Неопределено Тогда
Счетчик = 1;
Иначе
Открытие = Ложь;
КонецЕсли;
КонецЕсли;
КонецПроцедуры

Процедура ОбъектМетаданныхНажатие(Элемент)
Если Элемент=ЭлементыФормы.ОбъектМетаданных тогда
Если РежимСравнения=1 тогда
ЭтаФорма.ВладелецФормы.ЭлементыФормы.ПанельДляДерева.ТекущаяСтраница=ЭтаФорма.ВладелецФормы.ЭлементыФормы.ПанельДляДерева.Страницы.ДеревоCfu;
Если Элемент = ЭлементыФормы.ОбъектМетаданных Тогда
Если РежимСравнения = 1 Тогда
ЭлементыВладельцаФормы.ПанельДляДерева.ТекущаяСтраница = ЭлементыВладельцаФормы.ПанельДляДерева.Страницы.ДеревоCfu;
КонецЕсли;
ЭтаФорма.ВладелецФормы.ЭлементыФормы.ДеревоМетаданных.ТекущаяСтрока=ЭтаФорма.ВладелецФормы.ЭлементыФормы.ДеревоМетаданных.Значение.Строки.Найти(Элемент.Заголовок,"Синоним",Истина);
Иначе
ЭтаФорма.ВладелецФормы.ЭлементыФормы.ПанельДляДерева.ТекущаяСтраница=ЭтаФорма.ВладелецФормы.ЭлементыФормы.ПанельДляДерева.Страницы.ДеревоCf;
ЭтаФорма.ВладелецФормы.ЭлементыФормы.ДеревоCf.ТекущаяСтрока=ЭтаФорма.ВладелецФормы.ЭлементыФормы.ДеревоCf.Значение.Строки.Найти(Элемент.Заголовок,"Синоним",Истина);
Конецесли;
ЭлементыВладельцаФормы.ДеревоМетаданных.ТекущаяСтрока = ЭлементыВладельцаФормы.ДеревоМетаданных.Значение.Строки.Найти(Элемент.Заголовок,"Синоним", Истина);
Иначе
ЭлементыВладельцаФормы.ПанельДляДерева.ТекущаяСтраница = ЭлементыВладельцаФормы.ПанельДляДерева.Страницы.ДеревоCf;
ЭлементыВладельцаФормы.ДеревоCf.ТекущаяСтрока = ЭлементыВладельцаФормы.ДеревоCf.Значение.Строки.Найти(Элемент.Заголовок,"Синоним", Истина);
КонецЕсли;
КонецПроцедуры

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

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

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

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

ЭлементыВладельцаФормы = ЭтаФорма.ВладелецФормы.ЭлементыФормы;
Loading

0 comments on commit 16f0c05

Please sign in to comment.