| name | 1c-form-pack |
| description | Упаковка модулей Module.bsl обратно в Form.bin обычных форм 1С |
О навыке
Упаковывает отредактированные модули Module.bsl обратно в бинарные контейнеры Form.bin обычных форм.
Использует container_reader / container_writer из библиотеки v8unpack для корректной работы с контейнерами 1С.
Когда использовать
После редактирования Module.bsl файлов, извлечённых через /1c-form-extract, перед загрузкой обработки в конфигуратор.
При коммите упаковка происходит автоматически через pre-commit hook.
Команда
python .1c-tools/pack_form_modules.py <каталог> [--no-backup] [--verbose]
Параметры:
каталог — каталог с XML-выгрузкой (например src)
--no-backup — не создавать Form.bin.bak
--verbose, -v — подробный вывод
Примеры
# Упаковать (с backup)
python .1c-tools/pack_form_modules.py src
# Упаковать без backup
python .1c-tools/pack_form_modules.py src --no-backup
# Подробный вывод
python .1c-tools/pack_form_modules.py src --verbose
Что происходит
- Скрипт ищет пары
Form.bin + Module.bsl
- Распаковывает контейнер Form.bin через
container_reader.extract
- Заменяет файл
module содержимым Module.bsl
- Собирает контейнер обратно через
container_writer.build
- Создаёт backup (
Form.bin.bak) если не указан --no-backup
Рабочий процесс
- Извлечь модули:
/1c-form-extract
- Редактировать
Module.bsl файлы
- Упаковать:
python .1c-tools/pack_form_modules.py src
- Загрузить в конфигуратор: Файл → Открыть...
Требования
pip install v8unpack
Backup
По умолчанию создаётся Form.bin.bak перед перезаписью. Если упаковка не удалась, можно восстановить:
copy Form.bin.bak Form.bin