You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Набор утилит для автоматической разборки/сборки внешних обработок и отчетов, при помещении (commit) в git
1
+
## Набор утилит для автоматической разборки/сборки внешних обработок и отчетов, при помещении (commit) в git
2
2
3
3
[](https://gitter.im/xDrivenDevelopment/precommit1c?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) Здесь вы можете задавать любые вопросы разработчикам и активным участникам
4
4
5
5
### Что к чему
6
6
----
7
7
* v8files-extractor.os - скрипт для OneScript, получающий список помещаемых файлов при коммите, фильтрующий по расширению только внешние отчёты/обработки и запускающий внешнюю обработку для распаковки этих файлов. Так же позволяет собирать обработки из полученных исходников.
8
-
** pyv8unpack.py - Python-скрипт, выполняющий такую же задачу
9
8
*[V8Reader.epf](http://infostart.ru/public/106310/) - внешняя обработка 1С, которая с помощью [v8unpack](http://svn2.assembla.com/svn/V8Unpack/track/) разбирает внешние обработки, определяет нормальные наименования для каталогов форм, файлов модулей объектов и т. д. и раскладывает их в нормальную структуру папок.
10
9
* ibService - сервисная база данных на 1С для запуска V8Reader.epf
11
-
* pre-commit - собственно командный файл, вызываемый git перед каждым помещением. Выполняет роль простой запускалки скрипта pyv8unpack.py
10
+
* pre-commit - собственно командный файл, вызываемый git перед каждым помещением. Выполняет роль простой запускалки скрипта v8files-extractor.os
12
11
13
12
### Установка
14
13
15
14
1. Зависимости:
16
-
* OneScript http://oscript.io/ (рекомендуется)
17
-
** или Python 3.3
15
+
* OneScript http://oscript.io/
18
16
* установленная платформа 1С:Предприятие 8
19
17
* git
20
18
* в случае запуска из под wine необходим msscriptcontrol
21
-
*в случае использования OneScript-версии требуется установка **develop**-версии библиотек[oscript-library](https://github.com/EvilBeaver/oscript-library)
2. По умолчанию считается, что пути к oscript.exe и/или python.exe и git.exe находятся в переменной path, иначе необходимо указать явный путь в файлах pre-commit (для oscript/python) и pyv8unpack.py (для git)
21
+
2. По умолчанию считается, что пути к oscript.exe иgit.exe находятся в переменной path, иначе необходимо указать явный путь в файлах pre-commit
24
22
25
-
3. После скачивания данного репозитория необходимо инициализировать используемые подмодули.
23
+
3. После клонирования данного репозитория необходимо инициализировать используемые подмодули.
26
24
Откройте командую строку и выполните команды:
27
25
```cmd
28
26
cd путь/к/репозиторию/precommit1c
29
27
git submodule update --init --recursive
30
28
```
31
29
32
-
4. Путь к платформе находится автоматически в случае стандартной установки 1С. Если необходимо явно указать путь к платформе, то нужно: указать переменную окружения PATH1C c путём к каталогу, в который установлена 1С
33
-
```
34
-
set PATH1C = d:\program\
35
-
```
36
-
или создать ini-файл рядом с файлом скрипта pyv8unpack.py или в домашней папке в корне с именем precommit1c.ini и содержанием:
5. Путь хранения исходных текстов разобранных обработок по умолчанию используется как **src** (для обеспечения совместимости со старыми версиями обработки), однако его можно переназначить в ini-файле
43
-
```
44
-
[DEFAULT]
45
-
source = plugin_source
46
-
```
47
-
48
-
6. Флажок, изменяющий корневую папку хранения исходных текстов разобранных обработок по умолчанию используется как корневая папка (для обеспечения совместимости со старыми версиями обработки), однако его можно переназначить в ini-файле. Если изменить флажок на True - в каждой корневой папке внешних обработок будет создан подкаталог текстов разобранных обработок.
49
-
```
50
-
[DEFAULT]
51
-
source_in_source = False
52
-
```
53
-
54
-
7. Наконец, содержимое каталога необходимо скопировать в каталог .git/hooks/ вашего проекта.
55
-
> *Примечание:* каталог .git по умолчанию скрыт.
56
-
30
+
4. Cодержимое каталога необходимо скопировать в каталог .git/hooks/ вашего проекта.
31
+
*Примечание:* каталог .git по умолчанию скрыт.
57
32
В итоге у вас должна получиться следующая структура каталога:
58
33
```
59
34
.git\
@@ -63,14 +38,15 @@ source_in_source = False
63
38
tools
64
39
ibService
65
40
v8files-extractor.os
66
-
pyv8unpack.py
67
41
```
68
42
69
-
##Запуск
43
+
5. Путь хранения исходных текстов разобранных обработок по умолчанию используется как **src** (для обеспечения совместимости со старыми версиями обработки), однако его можно переназначить в файле `pre-commit`
44
+
45
+
## Запуск
70
46
71
47
После установки достаточно для проверки сделать commit для любого файла epf/erf, и в вашем репозитории автоматически должна создаться папка *src*, полностью повторяющая структуру проекта, изменённые или добавленные файлы распакуются в папки с аналогичными наименованиями.
Если указан параметр --recursive, скрипт будет рекурсивно искать исходные коды отчетов и обработок в указанном каталоге и собирать их, повторяя структуру каталога
Утилита для автоматической распаковки внешних обработок
102
-
103
-
positional arguments:
104
-
inputPath Путь к файлам, необходимым для распаковки
105
-
output Путь к каталогу, куда распаковывать
106
-
107
-
optional arguments:
108
-
-h, --help Show this help message and exit
109
-
--version Show program's version number and exit
110
-
-v, --verbose Increases log verbosity for each occurence
111
-
--index Добавляем в индекс исходники
112
-
--g Запустить чтение индекса из git и определить список
113
-
файлов для разбора
114
-
--compile Собрать внешний отчёт/обработку
115
-
--type TYPE Тип файла для сборки epf, erf. По умолчанию авто epf
116
-
--platform PLATFORM Путь к платформе 1С
117
-
```
118
-
119
-
##Ограничения
69
+
## Ограничения
120
70
121
-
Дополнительно необходима настройка git для возможности использования кириллических наименований внешних обработок ```git config --local core.quotepath false```
71
+
Дополнительно необходима настройка git для возможности использования кириллических наименований внешних обработок `git config --local core.quotepath false`
122
72
123
73
Не стоит называть файлы с разным расширением epf и erf одинаковыми именами - каталоги с исходниками создаются только по наименованию без учёта расширения и возможен конфликт имен.
124
74
125
-
##Что внутри
75
+
##Что внутри
126
76
127
-
Как это работает: v8files-extractor.os/pyv8unpack.py полностью повторяет иерархию папок относительно корня репозитория только в папке SRC (от слова source), для каждой изменённой внешней обработки создаётся своя папка и туда с помощью v8unpack распаковывается помещаемая обработка, с помощью v8reader определяются наименования макетов, форм, модуля обработки и переименовываются, переименования сохраняются в служебном файле renames.txt, те файлы, которые невозможно определить или же носят чисто служебный характер, переносятся в каталог *und*
77
+
Как это работает: v8files-extractor.os полностью повторяет иерархию папок относительно корня репозитория только в папке SRC (от слова source), для каждой изменённой внешней обработки создаётся своя папка и туда с помощью v8unpack распаковывается помещаемая обработка, с помощью v8reader определяются наименования макетов, форм, модуля обработки и переименовываются, переименования сохраняются в служебном файле renames.txt, те файлы, которые невозможно определить или же носят чисто служебный характер, переносятся в каталог *und*
0 commit comments