Предыстория:
Многие знают об утилите v8unpack, которая используется для работы с файлами epf, erf и cf. Однако в процессе разработки возникли некоторые проблемы, связанные с новым форматом, ошибками хеш-сумм и т.д.
Решил отказаться от использования утилиты в пользу 1С. В 1С есть параметры, например, DumpConfigToFiles и т.д., которые могут быть использованы для этой цели. Однако, они тоже имеют недостаток: без указания параметров подключения к информационной базе "/F <база> /N <пользователь> /P <пароль>" происходит некорректная запаковка (ссылки на реквизиты теряются), пропадают заимствованные объекты, изменяются права у ролей и т.д.
Позже нашел описание формата файлов *.epf, *.erf, *.cf и обработку для работы с ними. Однако и здесь не обошлось без проблем: в обработке нет сжатия данных по алгоритму deflate, медленная распаковка данных по алгоритму inflate и т.д. Поэтому было решено собрать все описания форматов файлов и их расширений. В результате написал распаковщик файлов и наполовину запаковщик файлов.
Инструкция:
- Выберите файл.
- Нажмите кнопку "Распаковать". В процессе распаковки данные будут размещены в каталогах "Расп" (распакованные файлы) и "Доп" (дополнительные файлы).
- Нажмите кнопку "Запаковать", чтобы сформировать новый файл с добавлением "_зап" в названии.
Заметки:
- Развитие средств работы с двоичными данными
- Расширение функциональности работы с двоичными данными
- Поддержка регулярных выражений во встроенном языке
Описание формата файлов:
- Формат epf/erf файлов
- Описание формата файлов конфигурации (CF, EPF, ERF)
- Пример демонстрирующий реализацию описанного алгоритма
- Описание CF-формата
- Описание формата контейнера 1С (CF, EPF, ERF, CFE)
- Изменения формата файлов конфигурации (CF) в 8.3.16
- Описание формата EFD-файлов
- Формат файлов выгрузки DT
- Краткое описание формата файлов *.1CD (часть 1, часть 2)
- Формат баз 1CD - классические и 8.3.8
- Файловые базы *.1CD. Физическая структура
- Краткое описание формата файлов *.1CM
Список инструментов, использованных при разработке:
15.11.2024 - Версия 1.3.4.0:
- Теперь deflate распаковывается в памяти без использования временных файлов.
01.11.2024 - Версия 1.3.3.0:
- Добавлена возможность сохранить объекты конфигурации или расширения конфигурации хранилища.
25.10.2024 - Версия 1.3.2.0:
- Теперь проверяет режим совместимости при сохранении расширений конфигураций базы.
14.10.2024 - Версия 1.3.1.0:
- Добавлено поле для указания номера версии хранилища при сохранении конфигурации или расширения конфигурации хранилища.
- Ускорено сохранение конфигурации или расширения конфигурации хранилища в полтора раза.
02.10.2024 - Версия 1.3.0.0:
- Добавлена возможность сохранить последнее расширение конфигурации хранилища.
25.09.2024 - Версия 1.2.5.0:
- Добавлена возможность сохранить расширения конфигурации базы.
- Теперь расширения конфигурации сохраняются в зависимости от установленных флажков.
17.09.2024 - Версия 1.2.4.0:
- Добавлена возможность сохранить последнюю конфигурацию хранилища старого формата.
10.09.2024 - Версия 1.2.3.0:
- Добавлена возможность сохранить конфигурации поставщиков последней конфигурации хранилища.
- Исправлено некорректное сохранение конфигураций хранилища.
03.09.2024 - Версия 1.2.2.0:
- Добавлена возможность сохранить последнюю конфигурацию хранилища.
22.08.2024 - Версия 1.2.1.0:
- Исправлено некорректное сохранение конфигураций базы.
- Исправлена ошибка при распаковке некоторых файлов базы.
15.08.2024 - Версия 1.2.0.0:
- Добавлена поддержка регулярных выражений от 8.3.23.
- Теперь доступна кнопка "Открыть" для внешних отчётов.
- Исправлена некорректная запаковка расширений.