gifts2017

Быстрая распаковка CF

Опубликовал Misha ⁠ (Magister) в раздел Программирование - Практика программирования

Быстрая распаковка CF-файлов 1С (частичная альтернатива V8Unpack)

Программа предназначена для распаковки файлов конфигурации 1С 8.

Является неполной альтернативой V8Unpack (неполной потому, что нет сборки .cf, только разборка).

Отличительные свойства:

  1. намного более быстрая работа, по сравнению с V8Unpack;
  2. графический интерфейс с возможностью просмотра содержания файла;

Также есть "тихий" режим, предназначенный для использования при вызове их других приложений. 

Возможно, в будущем будет сделана и сборка .cf, если этому найдется практическое применение. 

Если есть необходимость, могу сделать версию для Linux. 

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

Наименование Файл Версия Размер
cfTool 187
.zip 1 021,01Kb
06.04.12
187
.zip 1 021,01Kb Скачать

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение

Комментарии

1. Сергѣй Батанов (baton_pk) 06.04.12 14:33
> Если есть необходимость, могу сделать версию для Linux.
Lazarus?
2. cmd_vasec (cmd_vasec) 06.04.12 14:41
Зачем необходимо делать распаковку CF-файла?
3. Misha ⁠ (Magister) 06.04.12 15:15
4. Сергей Кучеров (СергейКа) 09.04.12 09:03
При попытке просмотра выдает ошибку (скрин приложен).
Это к чему?
Прикрепленные файлы:
5. Misha ⁠ (Magister) 09.04.12 09:09
(4) Или битый файл или глюк в программе.
Если нет ничего секретного - выложите файл, на котором есть ошибка, посмотрю.
6. Сергей Кучеров (СергейКа) 09.04.12 09:37
(5) Скорее всего не с файлом проблема.
Пробовал на 5 разных конфигурациях - все время эта ошибка.
При этом распаковка в каталог происходит нормально.
Система XP SP3.
На компе администратор, с правами не может быть проблема.
7. Misha ⁠ (Magister) 09.04.12 13:15
(6) Тем не менее, скриншот я ведь не с потолка взял :)
Дайте пример, мне нужно увидеть ошибку на конкретном файле - тогда что-то получится.
И да, я тестировал только на Windows 7. XP у меня нет.
8. Евгений Сосна (pumbaE) 09.04.12 14:08
1. Программа вообще отказывается воспринимать кириллицу - недопустимо использование кириллистических символов и в наименовании файла распаковки и в наименовании каталога выгрузки.(предыдущая версия все-таки с кириллицей в наименовании файла распаковки работала - хотя бы из командной строки).
2. cfu не распаковывает.
9. Сергей Кучеров (СергейКа) 09.04.12 16:29
(7) Посмотрел, такая проблема возникает с конфигурациями, в которых есть закрытые модули (паролем, либо отсутствующие).
Конкретные файлы к сожалению приложить не могу, связано с корп. правилами безопасности.
10. Misha ⁠ (Magister) 09.04.12 18:01
(8) Странно, проверю.
CFU тоже проверю, на нем я вобщем-то и не тестировал...

(9) Ясно, спасибо. Попробую создать закрытый модуль и проверю.
11. Денис Яковлев (iceflash) 10.04.12 06:07
Особо не вникал, а что мешает сделать тогда и сборку обратно в cf?
12. Misha ⁠ (Magister) 10.04.12 11:31
(11) А какое практическое применение этому?
13. Семен Горелик (semen_2008) 10.04.12 11:39
(12) Как какое? А восстановить битую базу. А если в конфигуратор зайти нельзя, а есть cf уже можно продолжать разработку (имею ввиду базу без данных). Да и вообще unpak 8 уже давно не поддерживается.
14. Misha ⁠ (Magister) 10.04.12 11:53
(13) Восстановить битую базу - инструмент есть, V8Unpack.
Моя программа делает ровно то же самое, но быстрее. В случае восстановления скорость разница в скорости некритична.
И да, бекапы никто не отменял :)
Так что аргумент сомнителен.
--
Полезным для меня была бы разборка-сборка конфигурации в удобочитаемую структуру для использования VCS, но такого, пока что, никто не сделал. Разборку - да, сделали (V8Reader - http://infostart.ru/public/106310/). А вот обратную операцию нет.
15. Евгений Гущин (Tango600) 10.04.12 16:34
При попытке распаковать конфигурацию от 8.2, выдаёт ошибку.
Прикрепленные файлы:
16. Misha ⁠ (Magister) 10.04.12 17:32
(15) Эта ошибка значит, что программа вообще не смогла открыть файл.
Права на него точно есть? Он нигде не открыт в другой программе параллельно?
--
И да, выше тут писали про проблемы с кириллицей в имени файла - проверьте, чтобы в пути и имени были только латинские буквы.
17. Роман Ершов (MRAK) 11.04.12 08:20
Начинание хорошее. Ждем исправления всех косяков)
18. Михаил Усков (MMF) 11.04.12 15:02
"Полезным для меня была бы разборка-сборка конфигурации в удобочитаемую структуру для использования VCS, но такого, пока что, никто не сделал. Разборку - да, сделали (V8Reader - http://infostart.ru/public/106310/). А вот обратную операцию нет."
- уже лет 6 как промышленно используется в cvs и сборка и разборка. При этом разбирается не в бинарное представление, а в человекопонятное и быстрее, чем твоим. Как всегда "кто-то уже сделал до нас и лучше нас, поэтому нам есть куда расти"
19. Misha ⁠ (Magister) 11.04.12 22:15
(18) Я имел ввиду доступные для всех решения.
Про свое решение ты уже писал как-то, помню. Но выкладывать куда-либо, насколько я понял, не будешь.
Кстати, а насколько быстрее? И интересно, а как этого можно достичь? У меня вроде как скорость упирается в диск, по крайней мере на моём ноуте (сужу по тому, что ядро процессора не постоянно загружено на 100%).
20. Михаил Усков (MMF) 12.04.12 14:23
(19) решение мое, но принадлежит заказчику http://abelov.com/rms4/index.php, запишись на удаленную разработку и получишь парсер. А как ты определил, что скорость упирается в диск? Профилирование может дать совершенно неожиданные результаты.
21. Misha ⁠ (Magister) 12.04.12 15:33
(20) Определил "на глаз" - по загрузке ядра процессора. Знаю, что это не гарантированно корректный результат, к тому же на ноуте винт не шибко быстрый - наверное потому и упирается в него.
Впрочем, немного подумал, нашел где можно оптимизировать именно распаковку - есть одно (или два?) лишних копирования данных в памяти. Но это потом, пока что делал вобщем-то как быстрее написать и при этом чтоб не сильно тормозило.
> запишись на удаленную разработку и получишь парсер
Записываться только ради этого совесть не позволяет :)
А реально работать - времени нет, я сейчас на полный день... да и российские конфы изучать придется.
22. Михаил Усков (MMF) 12.04.12 15:44
23. Misha ⁠ (Magister) 12.04.12 21:22
(22) Lazarus (компилятор FreePascal 2.6.1). В том числе и реализация zlib на чистом Паскале (paszlib).
24. Михаил Усков (MMF) 13.04.12 13:05
(23) можешь перекомпилить под дельфями и отпрофилировать AQTime.
25. andrewks 16.01.13 22:23
(23) Magister, кстати, paszlib подглючивает на маленьких размерах данных. не сталкивались?
26. Misha ⁠ (Magister) 16.01.13 23:03
(25) Я решил проблему тем, что всегда добавляю один нулевой байт в буфер со сжатыми данными.
Тогда всё нормально распаковывается.
27. Александр Буганов (buganov) 30.07.14 04:56
Ошибка по нажатию на unpack - Failed to open RAW file. И вылетает. Пробовал обычные формы, управляемые, обработки. Все одно да потому. Ось вин 7 х64
28. Александр Буганов (buganov) 30.07.14 05:02
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа