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

07.07.15

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

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

Файлы

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

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

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Ближайшими аналогами являются 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С.

15500 руб.

02.09.2020    206726    1135    411    

1033

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

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

8400 руб.

20.08.2024    37211    213    111    

201

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

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

16000 руб.

10.11.2023    16916    73    39    

89

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

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    24584    65    28    

93

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

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

9500 руб.

17.05.2024    35555    129    53    

172

SALE! 30%

Инструментарий разработчика WEB-интеграция 1С v8.3 1C v8.2 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

Инструмент для генерации OpenApi (Swagger) спецификаций на основании файлов конфигураций 1С. Это консольное и десктопное приложение на языке Rust с полноценным редактором кода, содержащим автозамену и подсвечивание ошибок для быстрого и безошибочного написания документирующего комментария.

18000 12600 руб.

22.11.2024    2091    1    0    

8

Инструментарий разработчика Программист 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

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

6000 руб.

07.02.2018    107933    249    100    

313
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. fishca 1261 07.07.15 23:11 Сейчас в теме
Сборки пока нет в наличии?
2. shmalevoz 312 08.07.15 07:01 Сейчас в теме
Обратная компиляция в планах. Как руки дойдут =)
3. so-quest 140 08.07.15 08:36 Сейчас в теме
Сырцы где-то можно глянуть? или закрытый проект?
Проблема с длинными именами файлов как-то решена?
Работает для всех версий платформы или только какой-то одной?
artbear; kuzyara; capwell; pumbaE; +4 Ответить
4. shmalevoz 312 08.07.15 11:19 Сейчас в теме
(3) so-quest, Сырцы включены в архив, проект живет на битбакете, но здесь запрещено давать ссылки на внешние ресурсы.
Насчет длинных имен проблем не имел, не упирался в ограничения ФС.
Проверялось на 8.2, 8.3. На 8.0 и 8.1 тоже должно работать. Не думаю что на 8.2 поменяли идентификаторы. Если речь о системе, то поскольку java, то кроссплатформенно.
5. Evil Beaver 8358 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 81 08.07.15 12:48 Сейчас в теме
(5) Evil Beaver, тут возникают ньюансы...
для того что бы обрабатывать {0,{}} - нужны внутренние классы 1С. По крайней мере перечисления и гуиды.
Все можно получить но возникают вопросы правового характера. Имеем ли мы право выкладывать классы 1С(перечисления), использовать их гуиды.
Я таки добился кодогенерации на основании описания хелпа...но вопрос можно ли это публиковать?
Скрытый текст
7. Evil Beaver 8358 08.07.15 13:22 Сейчас в теме
(6) minimajack, А почему нет? Гуиды вряд-ли являются интеллектуальной собственностью.
9. minimajack 81 08.07.15 15:05 Сейчас в теме
(7) Evil Beaver, ньюанс еще в том что реализация классов в 1С меняется с версией и то что было актуально вчера - сегодня уже неправда...
то есть - необходимо для каждой версии технологической платформы генерировать свой набор классов и системных перечислений - либо поддерживать только последнюю платформу.
10. so-quest 140 08.07.15 17:15 Сейчас в теме
(9) генерировать то можно, было бы из чего. У тебя случайно нет описания что за что отвечает во внутреннем представлении? а то разобраться в списке этих безумных гуидов - достаточно сложно...
12. minimajack 81 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 81 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 312 08.07.15 13:53 Сейчас в теме
(5) Evil Beaver, Изначально создавалось конечно как форк v8unpack с прицелом на кроссплатформенность и более разумное потребление памяти. v83unpack и precommit, насколько понимаю, требуют наличия установленной 1С для распаковки, здесь же небольшая утилита сама в себе, для работы ничего кроме java не требуется.
Хотя конечно изобретение велосипеда присутствует =)
13. dmpas 419 08.07.15 22:49 Сейчас в теме
(8)
форк v8unpack с прицелом на кроссплатформенность и более разумное потребление памяти

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

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

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

в 1С такие-же разработчики, как и мы все. пока что-то работает, лишний раз трогать не будут. потому лично я сильно сомневаюсь, что UUIDы у нынешних типов поменяются, так как чуется мне, что на них многое завязано.
18. Evil Beaver 8358 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 8358 09.07.15 10:53 Сейчас в теме
(19) pumbaE, баг с длинными именами или какой? С именами это баг винды вроде как :)
21. pumbaE 09.07.15 10:58 Сейчас в теме
(20) Evil Beaver, с длинными именами одного файла. Подсистема1.Подсисетема2.Подсистема3 и т.д.
22. minimajack 81 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 419 09.07.15 09:37 Сейчас в теме
(15) so-quest,
очевидно, там просто двоичные данные, зашифрованные Base64.
24. gavrikprog 118 24.07.15 11:49 Сейчас в теме
А обратная компиляция вообще за гранью добра...

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

Непонимаю....
28. profite 05.02.16 16:57 Сейчас в теме
Что делаю не так выдает вот эту ошибку, см скрин.
Прикрепленные файлы:
31. SergDobrodelov 717 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)А он и не будет показывать.
34. MaxStrelok 86 15.08.25 01:03 Сейчас в теме
(32)
)А он и не будет показывать.
Почему?
33. djslon16 12.11.21 20:20 Сейчас в теме
а расширения распаковывает?
Оставьте свое сообщение