CfProject – декомпиляция/компиляция конфигураций 1С:Предприятие

by Elisy 6. January 2012 10:19

Утилита Elisy CfProject выгружает файлы в формате, совместимом с CF-файлами 1С:Предприятие, в удобочитаемые Xml и текстовые файлы, а также загружает их обратно. Утилита оформлена в виде внешней обработки 1С:Предприятие 8.2 и требует предустановленного .Net framework 4.0 и Elisy .Net Bridge 4.0.3. Самым близким аналогом утилиты является V8Unpack.

Утилита предназначена для организации контроля версий через SVN, GIT, Mercurial , для помощи при восстановлении испорченных файлов конфигураций, а также для изучения внутренней структуры cf-совместимых файлов.

Здесь представлен прототип Elisy CfProject CTP для всеобщего ознакомления с технологией. Условия распространения еще не определены. В основу утилиты положен проект Elisy MdInternals, предназначенный для программного доступа к объектам конфигураций.

На входе в утилиту поступает cf-файл, на выходе – cfproj-файл и дерево каталогов с выгруженными файлами. Распознанные файлы помещаются в соответствующие подкаталоги. Нераспознанные – в каталог Unresolved. Распознанные файлы преобразуются в xml-формат, в то время как нераспознанные записываются «как есть».

Основные возможности

Проект написан на C# и .Net framework и оформлен в виде сборок. Это позволяет без особых проблем обращаться ко всем свойствам и методам объектов из кода 1С через Elisy .Net Bridge.

Распознанные файлы записываются в дерево каталогов по видам объектов:

Структура каталогов после выгрузки

Распознанные файлы выгружаются в XML-структуру. Это делает их совместимыми с многими просмотрщиками, позволяет контролировать логическую целостность формата файлов, а также обрабатывать их программно сторонними средствами:

Распознанные файлы выгружаются в XML-структуру

Распознанные свойства перемещаются в соответствующие разделы (атрибуты или тэги) XML-структуры:

Распознанные свойства перемещаются в соответствующие разделы (атрибуты или тэги)

Нераспознанные текстовые файлы во внутреннем формате, совместимом с 1С, переформатируются в удобочитаемый вид для будущего анализа:

Нераспознанные текстовые файлы переформатируются
        в удобочитаемый вид

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

Что не реализовано в данной версии

В данной версии реализовано распознавание только файлов конфигураций, не реализовано распознавание внешних отчетов/обработок и CFU-файлов.

Утилита распознает только объекты конфигурации 1го уровня, помещая их по подкаталогам. Не распознает все остальное: формы, макеты, помещая все в каталог Unresolved

В каталоге Unresolved не распаковываются составные объекты с расширением img.

Для примера реализовано распознавание свойств только одного объекта: Функциональная Опция с отражением в Xml-структуре

Работа проверялась только на одной конфигурации.

Скачать утилиту (внешняя обработка 1С:Предприятие 8.2.13): Elisy.CfProject.epf (59.49 kb)

Скачать тестовую конфигурацию 1С:Предприятие 8.2.14: 8.2.14.cf (645.53 kb)

Tags: , , , , , ,

1C.Net

Add comment

  Country flag

biuquote
  • Comment
  • Preview
Loading

Richmedia.us

Добро пожаловать на сайт Richmedia.us

1 2 3 4 5 6 7 8

RecentComments

Comment RSS