Декомпилятор файлов конфигурации, внешних отчетов и обработок 1С Предприятия 8.х

07.07.15

Разработка - Инструментарий разработчика

Утилита предназначена для организации удобного хранения метаданных 1С Предприятия в системах контроля версий (svn, git, mercurial,...). Выполняет декомпиляцию файлов совместимого с CF формата в текстовые файлы. Для файлов конфигураций, внешних отчетов и обработок создается структура каталогов, повторяющая структуру метаданных исходного файла.

Скачать файлы

Наименование Файл Версия Размер
Архив с утилитой декомпиляции файлов конфигураций 8.х
.zip 197,36Kb
448
.zip 0.1 197,36Kb 448 Скачать

Ближайшими аналогами являются v8Unpack и CfProject. От них утилиту отличает распаковка в структуру каталогов соответствующую структуре объектов с обработкой всех данных исходного файла.

Установка и запуск.

Для запуска необходимо наличие Java версии 1.7 и выше.

Скачать и распаковать архив v8cf.zip

Пример запуска

java -jar v8cf.jar -f 1Cv8.cf -d decode

Вывод справки по ключам

java -jar v8cf.jar -h

Декомпилятор Конфигурация Парсер

См. также

SALE! 20%

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 10400 руб.

02.09.2020    122171    670    389    

714

SALE! 25%

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

18000 15300 руб.

06.10.2023    7294    21    6    

39

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 8000 руб.

10.11.2023    3541    11    1    

34

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

3600 2520 руб.

14.01.2013    177753    1073    0    

849

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99347    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18116    6    8    

39

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28110    3    10    

15

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23604    15    15    

32
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. fishca 1254 07.07.15 23:11 Сейчас в теме
Сборки пока нет в наличии?
2. shmalevoz 304 08.07.15 07:01 Сейчас в теме
Обратная компиляция в планах. Как руки дойдут =)
3. so-quest 140 08.07.15 08:36 Сейчас в теме
Сырцы где-то можно глянуть? или закрытый проект?
Проблема с длинными именами файлов как-то решена?
Работает для всех версий платформы или только какой-то одной?
artbear; kuzyara; capwell; pumbaE; +4 Ответить
4. shmalevoz 304 08.07.15 11:19 Сейчас в теме
(3) so-quest, Сырцы включены в архив, проект живет на битбакете, но здесь запрещено давать ссылки на внешние ресурсы.
Насчет длинных имен проблем не имел, не упирался в ограничения ФС.
Проверялось на 8.2, 8.3. На 8.0 и 8.1 тоже должно работать. Не думаю что на 8.2 поменяли идентификаторы. Если речь о системе, то поскольку java, то кроссплатформенно.
5. Evil Beaver 8107 08.07.15 11:56 Сейчас в теме
Добро пожаловать в клуб авторов "еще одного распаковщика" (http://forum.infostart.ru/forum24/topic132213/message1365501/#message1365501)
У меня один вопрос: зачем нам еще один? Может быть, вы еще не в курсе проектов v83unpack, precommit1C и других? Я как бы не критикую, вроде, судя по скриншотам, у вас все замечательно сделано. Просто это еще один изобретенный велосипед. Сообщество уже прошло этот путь. А вот разобрался бы кто в форматах "скобочек" {0,0,{}} для чтения метаданных, да еще бы задокументировал - вот было бы отлично!
abasovit; artbear; DrAku1a; dmpas; JohnyDeath; awa; vasyak319; +7 Ответить
6. minimajack 80 08.07.15 12:48 Сейчас в теме
(5) Evil Beaver, тут возникают ньюансы...
для того что бы обрабатывать {0,{}} - нужны внутренние классы 1С. По крайней мере перечисления и гуиды.
Все можно получить но возникают вопросы правового характера. Имеем ли мы право выкладывать классы 1С(перечисления), использовать их гуиды.
Я таки добился кодогенерации на основании описания хелпа...но вопрос можно ли это публиковать?
Скрытый текст
7. Evil Beaver 8107 08.07.15 13:22 Сейчас в теме
(6) minimajack, А почему нет? Гуиды вряд-ли являются интеллектуальной собственностью.
9. minimajack 80 08.07.15 15:05 Сейчас в теме
(7) Evil Beaver, ньюанс еще в том что реализация классов в 1С меняется с версией и то что было актуально вчера - сегодня уже неправда...
то есть - необходимо для каждой версии технологической платформы генерировать свой набор классов и системных перечислений - либо поддерживать только последнюю платформу.
10. so-quest 140 08.07.15 17:15 Сейчас в теме
(9) генерировать то можно, было бы из чего. У тебя случайно нет описания что за что отвечает во внутреннем представлении? а то разобраться в списке этих безумных гуидов - достаточно сложно...
12. minimajack 80 08.07.15 20:26 Сейчас в теме
(10) so-quest, что значит отвечает?
список UUID - Класс(Тип) ? Если да то можно глянуть тут https://www.assembla.com/spaces/V8Unpack/wiki/%D0%A1%D1%82%D0%B0%D1%82%D0%B8%D1%8­7%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_GUID
14. so-quest 140 09.07.15 09:32 Сейчас в теме
(12) ну вот смотри - открываем root и видим
{2,a73b50b7-09a5-48f1-80d0-b4ce9f6116cb,} (это внешняя обработка)
гуид - имя контейнера где содержиться описанаине обработки. А что такое 2? и что за параметр отсутствует на 3 месте?
Далее открываем контейнер на который указывает гуид. Вопрос - как этот список перевести в структуру с вменяемым названием полей? Точнее - может у кого-то есть такое описание? перегнать уже не вопрос.
17. minimajack 80 09.07.15 10:02 Сейчас в теме
(14) so-quest, было бы описание - уже давно бы перегнали. А так надо разбираться со всеми типами.
Встречаемые примеры сериализации:
Число ( 1 | -1)
Cтрока ("f" | """f""f")
UUID
List (0 | 1,1 | 2,1,1 )
Map (0 | 1,1,1 | 2,1,1,2,1 )
Object ({} | {1})
Enum
Array - ( 1,1,1,1 | {1},{1},{1})
8. shmalevoz 304 08.07.15 13:53 Сейчас в теме
(5) Evil Beaver, Изначально создавалось конечно как форк v8unpack с прицелом на кроссплатформенность и более разумное потребление памяти. v83unpack и precommit, насколько понимаю, требуют наличия установленной 1С для распаковки, здесь же небольшая утилита сама в себе, для работы ничего кроме java не требуется.
Хотя конечно изобретение велосипеда присутствует =)
13. dmpas 417 08.07.15 22:49 Сейчас в теме
(8)
форк v8unpack с прицелом на кроссплатформенность и более разумное потребление памяти

да, и такие есть уже в нашем "клубе" :-)

(6) minimajack,
кодогенерация на основании помощи - это скользкое место. в синтаксис-помощнике описаны поля, которые используются в режиме выполнения, а в модели сериализации их может и не быть. или типа они какого-нибудь другого. я тут тоже кодогенерирую на досуге :)
правда я XML-выгрузку разбираю.

(9) minimajack,
то что было актуально вчера - сегодня уже неправда...

в 1С такие-же разработчики, как и мы все. пока что-то работает, лишний раз трогать не будут. потому лично я сильно сомневаюсь, что UUIDы у нынешних типов поменяются, так как чуется мне, что на них многое завязано.
18. Evil Beaver 8107 09.07.15 10:20 Сейчас в теме
(8)
v83unpack и precommit, насколько понимаю, требуют наличия установленной 1С для распаковки, здесь же небольшая утилита сама в себе, для работы ничего кроме java не требуется


v83unpack и precommit я упомянул, как уже относительно взрослые решения, с которыми можно работать и решать прикладные задачи, того-же код-ревью. Дело в том, что v83unpack синхронизирует в гит XML-выгрузку конфигурации, а она гораздо более читаемая и толку от нее больше. Поэтому, я и говорю, что если бы независимая отдельная утилита умела парсить скобочки в человекочитаемый формат - было бы круто. А утилит, создающих просто "скобочные" файлы - уже много, и имхо, кроме исследовательского интереса ничего не привносят в работу 1С-ника. Со скобочным форматом работать тяжело. Ну распаковали, в гит сложили, а дальше?

Кстати, новые веяния говорят, что скоро и платформа сама сможет делать то, что делает precommit и v83unpack из коробки. http://v8.1c.ru/o7/201507xml/index.htm
@pumbaEO, большой брат все-таки признал, что ты готовишь выгрузку исходников правильнее :)
artbear; dmpas; vikad; +3 Ответить
19. pumbaE 09.07.15 10:29 Сейчас в теме
(18) Evil Beaver, первьій раз я про это говорил еще в мае 2013 на инфостарте, после выхода edt напомнили зарегистрировав ошибку при выгрузке ERP 2.0 и они признались, что данный баг у них уже как 2 года висит (только они его никому не показывают).
20. Evil Beaver 8107 09.07.15 10:53 Сейчас в теме
(19) pumbaE, баг с длинными именами или какой? С именами это баг винды вроде как :)
21. pumbaE 09.07.15 10:58 Сейчас в теме
(20) Evil Beaver, с длинными именами одного файла. Подсистема1.Подсисетема2.Подсистема3 и т.д.
22. minimajack 80 09.07.15 11:15 Сейчас в теме
(18) Evil Beaver, https://github.com/MinimaJack/com.minimajack.v8.format/tree/develop/com.minimajack.v8.format.bs ничего кроме классов не надо...

создаем класс -> на основании описания десериализуем скобочный формат (автоматически) -> получаем объект -> сериализуем в xml опять же по описанию из класса(автоматически)...
По сути необходимо лишь правильно описать класс 1С.

Скрытый текст
11. pumbaE 08.07.15 18:16 Сейчас в теме
На bitbucket проект по поиску находится. Понравилось, что не просто распаковать, но хоть и с помощью регулярок происходит попытка распарсить наименования. Жаль что 1с управляемые формы все-таки не в xml хранит, все в том же скобочном формате.
15. so-quest 140 09.07.15 09:34 Сейчас в теме
Даже элементарно - значения каких типов может встречаться в списке? Число, гуид и строка - это понятно. но иногдаи такие определения встречаются
"{2,574413f5-39e6-49e1-9044-2c1bd9dec82e,zRHGIBkZn+NhFh/zXRfSRjnbA26J8ygBPspPWuLnv/YEc0cQDMWSghycggIx­aQ1N

9DI74TeU39DSB6wmH82VrQ==}" - вот 3 параметр - что за тип?
16. dmpas 417 09.07.15 09:37 Сейчас в теме
(15) so-quest,
очевидно, там просто двоичные данные, зашифрованные Base64.
24. gavrikprog 117 24.07.15 11:49 Сейчас в теме
А обратная компиляция вообще за гранью добра...

В общем 5-10 ДЯТЛОВ подзавалили немного сегмент ДЕМО-обработок и подсистем.
27. Evil Beaver 8107 03.08.15 18:44 Сейчас в теме
(24) gavrikprog, вы кагбэ о чем вообще?
25. gavrikprog 117 24.07.15 11:53 Сейчас в теме
В общем-то СЕЙЧАС (после выгрузки CF в XML), за такое надо условный срок давать :)
26. logarifm 1117 26.07.15 16:48 Сейчас в теме
Я только не понимаю одного, что мешает если это внешнаяя обработка создать при ее изменении новую с именем версии в файле я так всегда делал и буду делать, намного легче сравнивать между обработками изменения. Если это встроенные использовать хранилища...

Непонимаю....
28. profite 05.02.16 16:57 Сейчас в теме
Что делаю не так выдает вот эту ошибку, см скрин.
Прикрепленные файлы:
31. Serg2000mr 311 18.02.21 11:51 Сейчас в теме
(28) путь к папке decode нужно прописать. Например java -jar v8cf.jar -f 1Cv8.cf -d "d:/decode"
слэша в конце пути быть не должно
29. farkhod 14 19.08.19 16:40 Сейчас в теме
Ошибка при декомпиляции

Exception in thread "main" java.lang.NoClassDefFoundError: ru/shmalevoz/utils/Log
at ru.shmalevoz.v8cf.Main.<clinit>(Main.java:35)
Caused by: java.lang.ClassNotFoundException: ru.shmalevoz.utils.Log
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
Pavel_PIK; VerunchikNe; +2 Ответить
30. karagiosis 70 25.12.20 15:44 Сейчас в теме
Не помогло. Разложил конфигурацию по папкам, но защищенные модули не показал
32. KolBbl4 22.03.21 06:35 Сейчас в теме
(30)А он и не будет показывать.
33. djslon16 12.11.21 20:20 Сейчас в теме
а расширения распаковывает?
Оставьте свое сообщение