Еще одна альтернативная реализация распаковщика/запаковщика файлов платформы 1С:Предприятие 8.x форматов *.cf (конфигурация), *.epf (обработка) и *.erf (отчет) на .NET Framework (C#).

V8Formats

Библиотеки на .NET для работы с форматами файлов платформы 1С:Предприятие 8.x

Исполняемое приложениеСкачать V8FormatsApp

Консольная утилита для распаковки / запаковки файлов платформы 1С:Предприятие 8.x форматов *.cf (конфигурация), *.epf (обработка) и *.erf (отчет)

NugetNUGET-пакет для .NET-приложений

NUGET-пакет для встраивания библиотеки V8Formats в .NET-приложения.

GitHubИсходный код на GitHub

Исходный код библиотеки для распаковки / запаковки файлов платформы 1С:Предприятие 8.x форматов *.cf (конфигурация), *.epf (обработка) и *.erf (отчет)

InfostartПубликация на Infostart

Публикация на Infostart c приложением.

Welcome! Комментарий, обсуждение. Присоединяйтесь!

Класс V8File

C помощью класса V8File реализована функциональность распаковки в файловую структуру и запаковки в форматы файлов платформы 1С:Предприятие файлов конфигураций (.CF), внешний обработок (.ERF) и внешних отчетов (*.ERT). Возможности аналогичны утилите V8Unpack, написаной на C++ (http://infostart.ru/public/15695).

Доступны следующие методы:

  • Inflate и Deflate - распаковка и запаковка произвольных блоков данных.
  • Unpack и Pack - распаковка файла в файловую структуру с минимальной детализацией и запаковка соответственно.
  • Parse и Build - распаковка файла в файловую структуру с большей детализацией по сравнению с предыдущими вариантами команд и запаковка соответственно.

Консольная утилита

В качестве примера использования библиотеки добавлена консольная утилита (для сборки использовался .NET 4.0) со следующим списком доступных команд:

V8Formats Version 1.0 Copyright (c)

Unpack, pack, deflate and inflate 1C v8 file (.cf),(.epf),(*.erf)

V8FORMATS

  • U[NPACK] in_filename.cf out_dirname
  • PA[CK] in_dirname out_filename.cf
  • I[NFLATE] in_filename.data out_filename
  • D[EFLATE] in_filename filename.data
  • E[XAMPLE]
  • BAT
  • P[ARSE] in_filename out_dirname
  • B[UILD] in_dirname out_filename
  • V[ERSION]

Другой пример использования библиотеки

Консольная утилита это хорошо, но хотелось бы более наглядный пример использования. Если Вы со мной согласны, то посмотрите на онлайн-инструмент "Конструктор дополнительных обработок (БСП)".

Конструктор дополнительных обработок БСП

Библиотека используется для генерации файлов внешних отчетов и обработок в зависимости от введенных парамтров. С ее помощью реализовано как получение конечного файла, так и предварительный просмотр программного кода модуля объекта и модуля формы созданной обработки.

Лицензия

Разработка распостраняется по лицензии MIT. Полный текст лицензии на GitHub, там же есть текст на англ. языке.

Другие V8Unpack'еры

Данная разработка изначально создавалась на основе решения от Дениса Демидова disa_da2@mail.ru (https://www.assembla.com/spaces/V8Unpack/wiki)

На базе этого решения создана более оптимизированная версия V8Unpack Сергеем Батановым @dmpas (https://github.com/dmpas/v8unpack)

Изменения

13.02.2016:

  • Оптимизирована работа с памятью

TODO

В будущем добавявятся возможности работы с форматами файлов *.GRS (включая визуализацию) и *.MXL, а также оптимизация существующего кода в части использования памяти.