Важно: статья далеко на любителя всяких таких git’ов, gitlab’ов и oscript’ов.
Как упомянул в кратком описании, статья действительно для тех "кто в теме", НО если есть интерес, то начать советую с этого вебинара, а дальше в комментариях к этой статье.
Исходная ситуация
Вы храните свой проект (внешний отчет или обработку 1С) где-то в облаке (gitlab или github или bitbucket не суть) и вам не нравится, что среди исходников проекта "отсвечивает" *.epf или *.erf. Если это ваша ситуация, имеет смысл обратить внимание на скрипты конвертации внешних отчетов и обработок 1С в исходники и обратно.
Подготовка
- Установить oscript.
- Установить платформу 1С не ниже 8.3.10.
- Склонировать себе каталог-проект скриптов конвертации.
- Скопировать скрипты из каталога скриптов конвертации в каталог своего проекта:
- Скопировать *.bat файлы из каталога Exemple каталога скриптов конвертации в каталог своего проекта:
*.epf и *.erf → *.xml и *.bsl
- Сохранить свою, например, обработку в каталог проекта:
- Запустить Decompile.bat, чтобы разобрать внешнюю обработку на исходники.
- Добавить в .gitignore файл fileversion и *.epf, чтобы иметь только исходники в своем проекте.
- git push…
*.xml и *.bsl → *.epf и *.erf
- git clone… или git pull…
- Запустить Compile.bat, чтобы собрать (обновить) внешнюю обработку из исходников.
Конфигуратор же вроде уже давно умеет так собирать и разбирать
(1) верно! но эти скрипты «мониторят» изменения обработок (отчетов), и позволяют массово разобрать на исходники только изменившиеся обработки (отчеты).
А что про хуки не написали? Руками скрипты запускать это как-то несерьезно совсем.
(3) Вы какие хуки имеете ввиду?
Например, если epf в .gitignore, тогда её изменение не будет ничего тригерить. И хук ничего не поймает.
(4) Ваша правда, про .gitignore забыл.
Не разберутся обычные формы, поэтому лучше использоватьprecommit4onec + удобная установка в репозиторий одной командой precommit4onec install <Путь к репозиторию>
(6) в precommit1c есть очень удобная команда — precommit1c —git-precommit — которая разбирает файлы, помещенные в индекс, без коммита. Я в этом случае смотрю, что сделано, и легко могу написать подробный комментарий к коммиту, ничего не забыв.
В precommit4onec есть подобная команда?
(7)Да.
Из описания на gitHub :
«Указанным продуктом пользовались долгое время, он очень хорош, но потребность в развитии и невозможность реализации некоторых сценариев работы в публичной версии сподвигли к реализации нового решения.»
Да, в указанном в статье варианте
+ есть проблема с обычными формами.
+ Нет использования хуков
+ не очень понятно, как ведется анализ необходимости
+ и т.п.
ИМХО проще использовать мощнейший функционала vanessa-runner с 2-мя командами — compileepf и decompileepf.
+ Разбирает как упр.формы, так и обычные формы,
+ Пользуется штатным механизмом 1С.
+ Умеет работать и с файловыми базами, и с серверными
+ Разбирает только обновленные файлы
+ есть куча настроек для упрощения запуска
+ супер-полезный комбайн автоматизации 1С
+ есть огромная куча других полезных команд — обновление, расширения, тестирование, сборка/разборка всего и вся и т.п.
+ Используется в куче компаний
+ Крайне активно дорабатывается
очень рекомендую использовать
github.com/silverbulleters/vanessa-runner
(9) Вот пришёл, и застрелил статью.
(9) А есть хук с использованием vanessa-runner? Для авто-разборки-сборки внешних модулей.
В идеале конечно хотелось бы утилиту иметь, ни от чего не зависящую, чтобы собирать/разбирать обработки на «код» и «всё остальное», хотя бы для актуальной версии формата. В принципе бинарники epf читаемы иразобраны в hex , жаль что пока никто не взялся…
Чтоб даже без платформы, и без onescript и тд и тп