| name | 1c-form-extract |
| description | Извлечение модулей обычных форм 1С из Form.bin в Module.bsl |
О навыке
Извлекает модули обычных форм из бинарных контейнеров Form.bin в отдельные файлы Module.bsl для редактирования во внешних редакторах.
Использует container_reader из библиотеки v8unpack для распаковки контейнеров 1С.
Проблема
При сохранении обработки в XML:
- Управляемые формы →
Module.bsl (отдельный файл) ✓
- Обычные формы → код внутри
Form.bin (контейнер) ✗
Команда
python .1c-tools/extract_form_modules.py <каталог> [--force] [--verbose]
Параметры:
каталог — каталог с XML-выгрузкой (например src)
--force, -f — перезаписать существующие Module.bsl
--verbose, -v — подробный вывод
Примеры
# Извлечь модули (пропустить существующие)
python .1c-tools/extract_form_modules.py src
# Извлечь с перезаписью
python .1c-tools/extract_form_modules.py src --force
# Подробный вывод
python .1c-tools/extract_form_modules.py src --force --verbose
Результат
src/
└── Forms/
└── ОбычнаяФорма/
└── Ext/
├── Form.bin ← контейнер (не трогаем)
└── Module.bsl ← ИЗВЛЕЧЁННЫЙ модуль
Рабочий процесс
- Сохранить обработку из конфигуратора: Файл → Сохранить как... → Файлы XML
- Запустить извлечение:
python .1c-tools/extract_form_modules.py src --force
- Редактировать
Module.bsl файлы
- Упаковать обратно:
/1c-form-pack
- Загрузить в конфигуратор: Файл → Открыть...
Требования
pip install v8unpack