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

07.07.15

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Архив с утилитой декомпиляции файлов конфигураций 8.х
.zip 197,36Kb ver:0.1
475
475 Скачать (1 SM) Купить за 1 850 руб.

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

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

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

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

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

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

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

java -jar v8cf.jar -h

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

См. также

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

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

12000 руб.

02.09.2020    170267    947    403    

907

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

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    13261    102    46    

104

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

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    26831    91    48    

134

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

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

22200 руб.

06.10.2023    16980    41    15    

75

SALE! %

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

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

4800 3840 руб.

14.01.2013    190770    1151    0    

918

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

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

15000 руб.

10.11.2023    11508    40    27    

66

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

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    954    2    0    

5

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

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

5000 руб.

07.02.2018    104013    244    100    

306
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. fishca 1259 07.07.15 23:11 Сейчас в теме
Сборки пока нет в наличии?
2. shmalevoz 309 08.07.15 07:01 Сейчас в теме
Обратная компиляция в планах. Как руки дойдут =)
3. so-quest 140 08.07.15 08:36 Сейчас в теме
Сырцы где-то можно глянуть? или закрытый проект?
Проблема с длинными именами файлов как-то решена?
Работает для всех версий платформы или только какой-то одной?
artbear; kuzyara; capwell; pumbaE; +4 Ответить
4. shmalevoz 309 08.07.15 11:19 Сейчас в теме
(3) so-quest, Сырцы включены в архив, проект живет на битбакете, но здесь запрещено давать ссылки на внешние ресурсы.
Насчет длинных имен проблем не имел, не упирался в ограничения ФС.
Проверялось на 8.2, 8.3. На 8.0 и 8.1 тоже должно работать. Не думаю что на 8.2 поменяли идентификаторы. Если речь о системе, то поскольку java, то кроссплатформенно.
5. Evil Beaver 8261 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 8261 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 309 08.07.15 13:53 Сейчас в теме
(5) Evil Beaver, Изначально создавалось конечно как форк v8unpack с прицелом на кроссплатформенность и более разумное потребление памяти. v83unpack и precommit, насколько понимаю, требуют наличия установленной 1С для распаковки, здесь же небольшая утилита сама в себе, для работы ничего кроме java не требуется.
Хотя конечно изобретение велосипеда присутствует =)
13. dmpas 418 08.07.15 22:49 Сейчас в теме
(8)
форк v8unpack с прицелом на кроссплатформенность и более разумное потребление памяти

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

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

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

в 1С такие-же разработчики, как и мы все. пока что-то работает, лишний раз трогать не будут. потому лично я сильно сомневаюсь, что UUIDы у нынешних типов поменяются, так как чуется мне, что на них многое завязано.
18. Evil Beaver 8261 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 8261 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 418 09.07.15 09:37 Сейчас в теме
(15) so-quest,
очевидно, там просто двоичные данные, зашифрованные Base64.
24. gavrikprog 118 24.07.15 11:49 Сейчас в теме
А обратная компиляция вообще за гранью добра...

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

Непонимаю....
28. profite 05.02.16 16:57 Сейчас в теме
Что делаю не так выдает вот эту ошибку, см скрин.
Прикрепленные файлы:
31. Serg2000mr 761 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 72 25.12.20 15:44 Сейчас в теме
Не помогло. Разложил конфигурацию по папкам, но защищенные модули не показал
32. KolBbl4 22.03.21 06:35 Сейчас в теме
(30)А он и не будет показывать.
33. djslon16 12.11.21 20:20 Сейчас в теме
а расширения распаковывает?
Оставьте свое сообщение