Skip to content

Commit 3935019

Browse files
Merge pull request xDrivenDevelopment#151 from zeratulayuris/fix-docs
Обновление документации
2 parents 12a3836 + fa9ba1f commit 3935019

File tree

1 file changed

+29
-12
lines changed

1 file changed

+29
-12
lines changed

README.md

Lines changed: 29 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
1-
## Набор утилит для автоматической разборки/сборки внешних обработок и отчетов, при помещении (commit) в git
1+
# Набор утилит для автоматической разборки/сборки внешних обработок и отчетов, при помещении (commit) в git
22

33
[![Join the chat at https://gitter.im/xDrivenDevelopment/precommit1c](https://badges.gitter.im/xDrivenDevelopment/precommit1c.svg)](https://gitter.im/xDrivenDevelopment/precommit1c?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) Здесь вы можете задавать любые вопросы разработчикам и активным участникам
44

55
[![GitHub release](https://img.shields.io/github/release/xDrivenDevelopment/precommit1c.svg)](https://github.com/xDrivenDevelopment/precommit1c/releases)
66

7-
### Что к чему
7+
## Что к чему
88

99
----
1010

11+
**precommit1c** - инструмент для хранения в Git исходников внешних отчетов/обработок, технически состоит из:
12+
1113
* v8files-extractor.os - скрипт для OneScript, получающий список помещаемых файлов при коммите, фильтрующий по расширению только внешние отчёты/обработки, расширения и запускающий команды для распаковки этих файлов. Так же позволяет собирать обработки из полученных исходников.
1214
* [V8Reader.epf](http://infostart.ru/public/106310/) - внешняя обработка 1С, которая с помощью [v8unpack](http://svn2.assembla.com/svn/V8Unpack/track/) разбирает внешние обработки, определяет нормальные наименования для каталогов форм, файлов модулей объектов и т. д. и раскладывает их в нормальную структуру папок.
1315
* pre-commit - собственно командный файл, вызываемый git перед каждым помещением. Выполняет роль простой запускалки скрипта v8files-extractor.os
1416

15-
### Установка
17+
## Установка
1618

1719
1. Зависимости:
1820
* OneScript [http://oscript.io/](http://oscript.io/)
@@ -25,15 +27,15 @@
2527

2628
3. Путь хранения исходных текстов разобранных обработок по умолчанию используется как **src** (для обеспечения совместимости со старыми версиями обработки), однако его можно переназначить в файле `pre-commit`
2729

28-
#### Установка через OneScript Package Manager
30+
### Установка через OneScript Package Manager (предпочтительно)
2931

30-
1. Выполните установку precommit1c из командной строки `opm install precommit1c` (предполагается, что OneScript уже установлен и командная строка запущена с правами администратора).
32+
1. Выполните установку precommit1c из командной строки `opm install precommit1c` (предполагается, что OneScript уже установлен и командная строка запущена с правами администратора). При этом необходимые библиотеки oscript будут установлены автоматически.
3133

3234
2. Перейдите в рабочий каталог репозитория, для которого следует использовать автоматическую сборку/разборку.
3335

3436
3. Выполните из командной строки `precommit1c --install` (здесь можно без прав администратора).
3537

36-
#### Установка через zip-архив
38+
### Установка через zip-архив
3739

3840
1. Скачайте zip-архив precommit1c.zip со страницы [последнего релиза](https://github.com/xDrivenDevelopment/precommit1c/releases/latest).
3941

@@ -50,12 +52,15 @@
5052
v8files-extractor.os
5153
```
5254

53-
#### Установка через git clone
55+
3. Установите необходимые библиотеки oscript - их список можно посмотреть в списке зависимостей в файле `packagedef`.
56+
57+
### Установка через git clone
5458

5559
1. Склонируйте репозиторий `precommit1c` в удобное место.
5660

5761
2. После клонирования репозитория необходимо инициализировать используемые подмодули.
5862
Откройте командую строку и выполните команды:
63+
5964
```cmd
6065
cd путь/к/репозиторию/precommit1c
6166
git submodule update --init --recursive
@@ -64,6 +69,7 @@ git submodule update --init --recursive
6469
3. Cодержимое каталога необходимо скопировать в каталог .git/hooks/ вашего проекта.
6570
*Примечание:* каталог .git по умолчанию скрыт.
6671
В итоге у вас должна получиться следующая структура каталога:
72+
6773
```
6874
.git\
6975
hooks\
@@ -73,6 +79,8 @@ git submodule update --init --recursive
7379
v8files-extractor.os
7480
```
7581

82+
4. Установите необходимые библиотеки oscript - их список можно посмотреть в списке зависимостей в файле `packagedef`.
83+
7684
## Запуск
7785

7886
После установки достаточно для проверки сделать commit для любого файла epf/erf/cfe, и в вашем репозитории автоматически должна создаться папка *src*, полностью повторяющая структуру проекта, изменённые или добавленные файлы распакуются в папки с аналогичными наименованиями.
@@ -132,11 +140,21 @@ git config --local core.longpaths true
132140
Т.о. в файл C:\Program Files (x86)\1cv8\conf\conf.cfg необходимо добавить строку `DisableUnsafeActionProtection=.*`
133141
Подробнее [на ИТС](http://its.1c.ru/db/v838doc#bookmark:dev:TI000001873)
134142

143+
## Особенности распаковки макетов
144+
145+
При использовании v8Reader макеты выгружаются в файлы, соответствующие их типам, дополнительно обрабатываются специальные случаи:
146+
147+
* У макетов табличных документов дополнительно создаются .txt версии, чтобы их было легче сравнивать в текстовом редакторе.
148+
* У макетов типа html дополнительно выгружаются файлы вложений.
149+
* Макеты в двоичных данных выгружаются либо в .bin, либо (для печатных форм) в тот тип файла, который указан в имени макета (например, `ПФ_MXL_КакаяТоПечатнаяФорма` будет выгружен в `ПФ_MXL_КакаяТоПечатнаяФорма.mxl`).
150+
135151
## Известные проблемы
136152

137153
1. При использовании некоторых версий SourceTree (удобный клиент git) может возникать следующая ошибка:
154+
138155
>`.git/hooks/pre-commit: line 4: oscript: command not found`
139156
Несколько вариантов решения:
157+
140158
+ убедиться, что команда `oscript` доступна
141159
+ для проверки вызвать из командной строки или Win+R `cmd /k oscript`
142160
+ откатиться на предыдущую версию SourceTree
@@ -151,12 +169,10 @@ git config --local core.longpaths true
151169
* добавить нужную обработку в индекс git - например, `git add XXX.epf`
152170
* установить переменную среды `LOGOS_CONFIG` или заполнить спец.файл настройки логов
153171
* выполнить `git commit` или `precommit1c --git-precommit`
172+
* Например, рядом с файлом `v8files-extractor.os` положить файл `logos.cfg` со следующим текстом `logger.rootLogger=DEBUG`
173+
* или переименовать файл-пример `logos.debug-example.cfg` в `logos.cfg`
174+
* Или создать и выполнить командный файл
154175

155-
+ Например, рядом с файлом `v8files-extractor.os` положить файл `logos.cfg` со следующим текстом `logger.rootLogger=DEBUG`
156-
157-
+ или переименовать файл-пример `logos.debug-example.cfg` в `logos.cfg`
158-
159-
* Или создать и выполнить командный файл
160176
```bat
161177
git add XXX.epf
162178
@set LOGOS_CONFIG=logger.rootLogger=DEBUG
@@ -166,6 +182,7 @@ git add XXX.epf
166182
* где каталог `src` - выходной каталог, где хранятся исходники
167183

168184
2. Для отключения отладочных логов выполнить обратные действия
185+
169186
## Что внутри
170187

171188
Как это работает: `v8files-extractor.os` полностью повторяет иерархию папок относительно корня репозитория только в папке SRC (от слова source), для каждой изменённой внешней обработки создаётся своя папка и туда с помощью v8unpack распаковывается помещаемая обработка, с помощью v8reader определяются наименования макетов, форм, модуля обработки и переименовываются, переименования сохраняются в служебном файле renames.txt, те файлы, которые невозможно определить или же носят чисто служебный характер, переносятся в каталог *und*.

0 commit comments

Comments
 (0)