e8tools/v8unpack

Инструкция по применению

ProhorP opened this issue · 10 comments

Здравствуйте, пытаюсь вашей программой разобрать cf и собрать, но по инструкции непонятно как сделать.

При вводе выводит команды:
D:>V8Unpack.exe -E

UNPACK
V8Unpack.exe -unpack 1Cv8.cf 1Cv8.unp
V8Unpack.exe -undeflate 1Cv8.unp\metadata.data 1Cv8.unp\metadata.data.und
V8Unpack.exe -unpack 1Cv8.unp\metadata.data.und 1Cv8.unp\metadata.unp

PACK
V8Unpack.exe -pack 1Cv8.unp\metadata.unp 1Cv8.unp\metadata_new.data.und
V8Unpack.exe -deflate 1Cv8.unp\metadata_new.data.und 1Cv8.unp\metadata.data
V8Unpack.exe -pack 1Cv8.und 1Cv8_new.cf

Далее в CMD я ввожу вот такую последовательность команд:
D:>V8Unpack.exe -unpack 1Cv8.cf 1Cv8.unp

D:>V8Unpack.exe -undeflate 1Cv8.unp\metadata.data 1Cv8.unp\metadata.data.und

D:>V8Unpack.exe -unpack 1Cv8.unp\metadata.data.und 1Cv8.unp\metadata.unp
UnpackToFolder. Input file not found!

Пробовал так же вводить команды вот так:
V8Unpack -P 1Cv8.cf 1Cv8.unp
V8Unpack -B 1Cv8.unp 1Cv8_new.cf

То cf сохраняется пустым (на платформе 1С:Предприятие 8.3 (8.3.20.1710), либо выдается ошибка "Прекращена работа программы V8 Unpack Tool"(Если указан режим совместимости с 8.3.14)

Я что-то не так видимо делаю, т.к. у всех судя по интернету получается использовать вашу программу.

dmpas commented

@ProhorP вы какую цель преследуете?
Для начала попробуйте:
v8unpack -parse 1cv8.cf dir
и
v8unpack -build dir 1cv8_new.cf

и подскажите версию v8unpack -version

v8unpack -version:
3.0.43

вы какую цель преследуете?
-творческий интерес на демо базе + хочу контроль версий через github сделать(а не использовать стандартный механизм контроля версий 1с)

v8unpack -parse 1cv8.cf dir
v8unpack -build dir 1cv8_new.cf
сохранился пустой файл 1cv8_new.cf

устанавливал из этого дистрибутива:
https://github.com/e8tools/v8unpack/releases/download/v.3.0.43/v8unpack-3.0.43.msi

тоже самое происходит , если разбирать/собирать обработку:
v8unpack -parse Обработка.epf dir
v8unpack -build dir Обработка_new.epf

dmpas commented

-творческий интерес на демо базе
что за конфа, какой версии?

+ хочу контроль версий через github сделать(а не использовать стандартный механизм контроля версий 1с)

я бы посоветовал пользоваться выгрузкой конфигуратора, а не v8unpack.
Посмотрите gitsync - работает как часы на многих проектах.

что за конфа, какой версии?
Создаю пустую базу

Посмотрите gitsync - работает как часы на многих проектах.

Спасибо, посмотрю

dmpas commented

Создаю пустую базу
Пустая база с пустой конфигурацией? Какая версия платформы и версия совместимости конфигурации?

Пустая база с пустой конфигурацией?

Верно.

Платформа: 8.3.20.1710 x64:
Без режима совместимости - создается пустой файл.
С режимом совместимости 8.3.14 - создается пустой файл.
Платформа 8.3.17.1851 x64:
Без режима совместимости - "Прекращена работа программы V8 Unpack Tool"
С режимом совместимости 8.3.14 - "Прекращена работа программы V8 Unpack Tool"

P.S. Я вот сейчас подумал про x64 и вашу программу x32 - может в этом причина?(хотя не должно быть в этом проблемы, обычные текстовые файлы же собираются)

dmpas commented

Я вот сейчас подумал про x64 и вашу программу x32
точно не это.

Платформа: 8.3.20.1710 x64:
Без режима совместимости - создается пустой файл.
С режимом совместимости 8.3.14 - создается пустой файл.
Платформа 8.3.17.1851 x64:
Без режима совместимости - "Прекращена работа программы V8 Unpack Tool"
С режимом совместимости 8.3.14 - "Прекращена работа программы V8 Unpack Tool"

попробую воспроизвести.

dmpas commented

Забавное дело выясняется. Воспроизводится и на 20.1710 и на 21.1140. Уверен, и на многих других будет так же.
Добавляем новую чистую базу. Открываем конфигурацию и ничего в ней не делая сразу сохраняем в файл.
Получится CF-файл без конфигурации. Вот совсем. Даже имени не будет.

Конфигуратор будет спокойно работать с этим файлом, но данные о конфигурации он будет брать из своей головы (потому что в файле данных 0). А данные из своей головы зависят от многого, как минимум от локали. Поэтому открывая один и тот же CF файл в конфигураторах на разных локалях будем получать то имя конфигурации Configuration, то имя конфигурации Конфигурация.

Пока не вижу правильного пути, как это отрабатывать в v8unpack.
Наверное, надо создавать пустой каталог, но тогда будет проблема с упаковкой, потому что не будет данных о формате CF файла - оно соберёт файл по 32-битному формату контейнера.

Напишите, если победите проблему.