Утилита позволяет быстро (без платформы 1С) получить информацию о наименовании, версии и состоянии конфигурации. Дополнительно выводится информация о формате файла базы.
Выводимая информация: наименование конфигурации, версия, включена ли возможность изменения, закончено ли последнее обновление (пуста ли таблица CONFIGSAVE). Дополнительно: версия формата файла, размер блока, количество таблиц, локаль и размер файла базы.
Поддерживаемые форматы файлов: 8.2.14 и 8.3.8.0 с любым размером блока.
Варианты вывода информации — списком, или в фомате json (ключ командной строки -j или —json).
Для работы требуется установленный Microsoft Visual C++ 2024 Redistributable.
Если есть интерес ковыряться в формате 1CD, приглашаю присоединиться:https://github.com/dmpas/tool1cd
Ок. Будем ковыряться дальше 🙂https://github.com/valentingushchin/info1cd
Вот и кандидат на прикрутку гуя в Qt 😉
А можно use-case? Для чего полезно узнавать информацию о конфе из файла 1CD?
(4) да хотя бы просто скриптом по каталогу пробежаться и список баз с группировкой по конфам составить.
Главное предназначение (для меня) — работа в составе утилиты (целиком на Qt), автоматически вычисляющей и скачивающей необходимые обновления для файловой базы. Т.е. на входе — файл ИБ, на выходе — цепочка файлов обновлений. Нет необходимости в установленной платформе. ОС — windows, linux.
В процессе разработки для себя решил длительные файловые процессы запихивать не в QThread, а в QProcess — все равно управлять такими процессами особо незачем. Аналогично в QProcess запускаю консольный 7zip для сжатия баз для архива).
Профит — консольные утилиты, подобные описанной можно легко использовать в других проектах без вытягивания кусков кода из проектов монолитного софта.
Актуальные исходники:Исходники на github