Предыстория:
Многие знают об утилите 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
Список инструментов, использованных при разработке:
Версия 1.3.4.0 от 15.11.2024:
- Теперь deflate распаковывается в памяти без использования временных файлов.
Версия 1.3.3.0 от 01.11.2024:
- Добавлена возможность сохранить объекты конфигурации или расширения конфигурации хранилища.
Версия 1.3.2.0 от 25.10.2024:
- Теперь проверяет режим совместимости при сохранении расширений конфигураций базы.
Версия 1.3.1.0 от 14.10.2024:
- Добавлено поле для указания номера версии хранилища при сохранении конфигурации или расширения конфигурации хранилища.
- Ускорено сохранение конфигурации или расширения конфигурации хранилища в полтора раза.
Версия 1.3.0.0 от 02.10.2024:
- Добавлена возможность сохранить последнее расширение конфигурации хранилища.
Вступайте в нашу телеграмм-группу Инфостарт