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

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

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

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

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

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

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

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

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

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

Файлы

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

См. также

PowerTools от 1 000 руб.

Комментарии

1. baton_pk (файл скачал) 06.04.2012 14:33
> Если есть необходимость, могу сделать версию для Linux.
Lazarus?
Ответили: (3)
# Ответить
2. cmd_vasec 06.04.2012 14:41
Зачем необходимо делать распаковку CF-файла?
Ответили: (3)
# Ответить
3. Magister 06.04.2012 15:15
(1)
Да
(2)
Например, для этого: http://infostart.ru/public/106310/
# Ответить
4. СергейКа (файл скачал) 09.04.2012 09:03
При попытке просмотра выдает ошибку (скрин приложен).
Это к чему?

Прикрепленные файлы:

2012-04-09 09.00 01.gif
# Ответить
5. Magister 09.04.2012 09:09
(4) Или битый файл или глюк в программе.
Если нет ничего секретного - выложите файл, на котором есть ошибка, посмотрю.
Ответили: (6)
# Ответить
6. СергейКа (файл скачал) 09.04.2012 09:37
(5) Скорее всего не с файлом проблема.
Пробовал на 5 разных конфигурациях - все время эта ошибка.
При этом распаковка в каталог происходит нормально.
Система XP SP3.
На компе администратор, с правами не может быть проблема.
Ответили: (7)
# Ответить
7. Magister 09.04.2012 13:15
(6) Тем не менее, скриншот я ведь не с потолка взял :)
Дайте пример, мне нужно увидеть ошибку на конкретном файле - тогда что-то получится.
И да, я тестировал только на Windows 7. XP у меня нет.
Ответили: (9)
# Ответить
8. pumbaE (файл скачал) 09.04.2012 14:08
1. Программа вообще отказывается воспринимать кириллицу - недопустимо использование кириллистических символов и в наименовании файла распаковки и в наименовании каталога выгрузки.(предыдущая версия все-таки с кириллицей в наименовании файла распаковки работала - хотя бы из командной строки).
2. cfu не распаковывает.
Ответили: (10)
# Ответить
9. СергейКа (файл скачал) 09.04.2012 16:29
(7) Посмотрел, такая проблема возникает с конфигурациями, в которых есть закрытые модули (паролем, либо отсутствующие).
Конкретные файлы к сожалению приложить не могу, связано с корп. правилами безопасности.
Ответили: (10)
# Ответить
10. Magister 09.04.2012 18:01
(8) Странно, проверю.
CFU тоже проверю, на нем я вобщем-то и не тестировал...

(9) Ясно, спасибо. Попробую создать закрытый модуль и проверю.
# Ответить
11. iceflash 10.04.2012 06:07
Особо не вникал, а что мешает сделать тогда и сборку обратно в cf?
Ответили: (12)
# Ответить
12. Magister 10.04.2012 11:31
(11) А какое практическое применение этому?
Ответили: (13)
# Ответить
13. semen_2008 10.04.2012 11:39
(12) Как какое? А восстановить битую базу. А если в конфигуратор зайти нельзя, а есть cf уже можно продолжать разработку (имею ввиду базу без данных). Да и вообще unpak 8 уже давно не поддерживается.
Ответили: (14)
# Ответить
14. Magister 10.04.2012 11:53
(13) Восстановить битую базу - инструмент есть, V8Unpack.
Моя программа делает ровно то же самое, но быстрее. В случае восстановления скорость разница в скорости некритична.
И да, бекапы никто не отменял :)
Так что аргумент сомнителен.
--
Полезным для меня была бы разборка-сборка конфигурации в удобочитаемую структуру для использования VCS, но такого, пока что, никто не сделал. Разборку - да, сделали (V8Reader - http://infostart.ru/public/106310/). А вот обратную операцию нет.
# Ответить
15. Tango600 (файл скачал) 10.04.2012 16:34
При попытке распаковать конфигурацию от 8.2, выдаёт ошибку.
Ответили: (16)

Прикрепленные файлы:

Безымянный.png
# Ответить
16. Magister 10.04.2012 17:32
(15) Эта ошибка значит, что программа вообще не смогла открыть файл.
Права на него точно есть? Он нигде не открыт в другой программе параллельно?
--
И да, выше тут писали про проблемы с кириллицей в имени файла - проверьте, чтобы в пути и имени были только латинские буквы.
# Ответить
17. MRAK (файл скачал) 11.04.2012 08:20
Начинание хорошее. Ждем исправления всех косяков)
# Ответить
18. MMF (файл скачал) 11.04.2012 15:02
"Полезным для меня была бы разборка-сборка конфигурации в удобочитаемую структуру для использования VCS, но такого, пока что, никто не сделал. Разборку - да, сделали (V8Reader - http://infostart.ru/public/106310/). А вот обратную операцию нет."
- уже лет 6 как промышленно используется в cvs и сборка и разборка. При этом разбирается не в бинарное представление, а в человекопонятное и быстрее, чем твоим. Как всегда "кто-то уже сделал до нас и лучше нас, поэтому нам есть куда расти"
Ответили: (19)
# Ответить
19. Magister 11.04.2012 22:15
(18) Я имел ввиду доступные для всех решения.
Про свое решение ты уже писал как-то, помню. Но выкладывать куда-либо, насколько я понял, не будешь.
Кстати, а насколько быстрее? И интересно, а как этого можно достичь? У меня вроде как скорость упирается в диск, по крайней мере на моём ноуте (сужу по тому, что ядро процессора не постоянно загружено на 100%).
Ответили: (20)
# Ответить
20. MMF (файл скачал) 12.04.2012 14:23
(19) решение мое, но принадлежит заказчику http://abelov.com/rms4/index.php, запишись на удаленную разработку и получишь парсер. А как ты определил, что скорость упирается в диск? Профилирование может дать совершенно неожиданные результаты.
Ответили: (21)
# Ответить
21. Magister 12.04.2012 15:33
(20) Определил "на глаз" - по загрузке ядра процессора. Знаю, что это не гарантированно корректный результат, к тому же на ноуте винт не шибко быстрый - наверное потому и упирается в него.
Впрочем, немного подумал, нашел где можно оптимизировать именно распаковку - есть одно (или два?) лишних копирования данных в памяти. Но это потом, пока что делал вобщем-то как быстрее написать и при этом чтоб не сильно тормозило.
> запишись на удаленную разработку и получишь парсер
Записываться только ради этого совесть не позволяет :)
А реально работать - времени нет, я сейчас на полный день... да и российские конфы изучать придется.
Ответили: (22)
# Ответить
22. MMF (файл скачал) 12.04.2012 15:44
(21) на чем писано?
Ответили: (23)
# Ответить
23. Magister 12.04.2012 21:22
(22) Lazarus (компилятор FreePascal 2.6.1). В том числе и реализация zlib на чистом Паскале (paszlib).
Ответили: (24) (25)
# Ответить
24. MMF (файл скачал) 13.04.2012 13:05
(23) можешь перекомпилить под дельфями и отпрофилировать AQTime.
# Ответить
25. andrewks 16.01.2013 22:23
(23) Magister, кстати, paszlib подглючивает на маленьких размерах данных. не сталкивались?
Ответили: (26)
# Ответить
26. Magister 16.01.2013 23:03
(25) Я решил проблему тем, что всегда добавляю один нулевой байт в буфер со сжатыми данными.
Тогда всё нормально распаковывается.
# Ответить
27. buganov (файл скачал) 30.07.2014 04:56
Ошибка по нажатию на unpack - Failed to open RAW file. И вылетает. Пробовал обычные формы, управляемые, обработки. Все одно да потому. Ось вин 7 х64
Ответили: (28)
# Ответить
28. buganov (файл скачал) 30.07.2014 05:02
(27) buganov, блин кириллица (
# Ответить
Внимание! За постинг в данном форуме $m не начисляются.
Внимание! Для написания сообщения необходимо авторизоваться
Текст сообщения*
Прикрепить файл