Универсальный инструмент для конвертации файлов 1С:Предприятие между различными форматами
Возможности • Интерфейс • Установка • Быстрый старт • Архитектура
- Быстро настроить конвертацию между форматами. Например, преобразовать CF из релиза вендора в EDT-проект для последующего обновления.
- Получить из отладочного лога готовые команды для CI/CD или локальных запусков.
- 🎨 Современный GUI в стиле Cyberpunk
- 📦 Поддержка множества форматов: CF, CFE, EPF, ERF, DT, XML, EDT
- 🔄 Пакетная конвертация проектов
- 💻 Полноценный CLI-режим: запуск всех поддерживаемых сценариев конвертации и EDT-валидации из командной строки
- 🛠️ Базовый
.envдля постоянных общих параметров: версий платформы 1С и EDT, путей к инструментам и временному каталогу; проектный.envможет переопределить любое значение - 🖥️ Windows — основная поддерживаемая и протестированная платформа; Linux поддерживается с ограничениями и пока не тестировался
- ➕ Управление проектами в GUI: добавление, изменение, копирование, удаление
- 📊 Детальная информация о параметрах проектов
- 📝 Логирование в реальном времени
- ⚙️ Гибкая настройка через .env файлы
Главное окно: управление проектами, параметрами и запуском конвертации
Встроенные подсказки для параметров конвертации
# Клонировать репозиторий
git clone https://github.com/Kyrales/1C-Convert-Kit.git
cd 1c-convert-kit
# Установить зависимости Python
pip install -r requirements.txt
# Запустить GUI
python src/gui/main.py
# или
run_gui.cmd # для Windows
./run_gui.sh # для Linux/Mac-
Запустите GUI
run_gui.cmd # для Windows # или run_gui.sh # для Linux # или python src/gui/main.py
-
Настройте базовую конфигурацию (опционально)
- Скопируйте
src/config/base.env.templateвprojects/base.env - Укажите общие параметры (версия 1С, пути к инструментам)
- Скопируйте
-
Создайте проект через GUI
- Нажмите кнопку Добавить
- Заполните обязательные поля:
- Наименование проекта
- Тип скрипта (conf2cf, dp2epf, ext2cfe и т.д.)
- V8_SRC_PATH - путь к источнику
- V8_DST_PATH - путь назначения
- Включите дополнительные параметры при необходимости
- Нажмите Сохранить
-
Запустите конвертацию
- Выберите проекты в таблице (клик по строке)
- Нажмите "ВЫПОЛНИТЬ (F5)"
- Следите за прогрессом в логе
-
Настройте базовую конфигурацию
- Скопируйте
src/config/base.env.templateвprojects/base.env - Укажите пути к 1С:Предприятие и EDT в файле настроек env
- Скопируйте
-
Создайте проект
- Создайте папку в
projects/ - Добавьте .env файл с настройками проекта
- Укажите
ScriptName(например:conf2cf)
- Создайте папку в
-
Запустите GUI
- Выберите проекты для конвертации
- Нажмите "ВЫПОЛНИТЬ"
- Следите за прогрессом в логе
graph TB
subgraph "GUI Layer"
GUI[CyberpunkGUI]
Scanner[ProjectScanner]
Editor[ProjectEditor]
Runner[ConversionRunner]
end
subgraph "Core Layer"
Core[convert.py]
Registry[ConverterRegistry]
EnvLoader[ENV File Loader]
end
subgraph "Converter Layer"
Base[BaseConverter]
Config[ConfigurationConverter]
DP[DataProcessorConverter]
Ext[ExtensionConverter]
Val[ValidationConverter]
end
subgraph "Tool Wrappers"
V8[V8ToolWrapper]
Ibcmd[IbcmdToolWrapper]
EDT[EdtToolWrapper]
end
subgraph "1C Tools"
Designer[1cv8.exe designer]
IbcmdTool[ibcmd.exe]
EdtTool[1cedtcli/ring]
end
GUI --> Core
Scanner --> EnvLoader
Editor --> EnvLoader
Runner --> Core
Core --> Registry
Core --> EnvLoader
Registry --> Config
Registry --> DP
Registry --> Ext
Registry --> Val
Config --> Base
DP --> Base
Ext --> Base
Val --> Base
Base --> V8
Base --> Ibcmd
Base --> EDT
V8 --> Designer
Ibcmd --> IbcmdTool
EDT --> EdtTool
style GUI fill:#ff00ff,stroke:#fff,color:#fff
style Core fill:#00ffff,stroke:#fff,color:#000
style Base fill:#ffff00,stroke:#000,color:#000
style Designer fill:#00ff00,stroke:#000,color:#000
GUI Layer — графический интерфейс в стиле Cyberpunk:
- Управление проектами конвертации (добавление, редактирование, копирование, удаление, изменение порядка выполнения)
- Запуск пакетной конвертации выбранных проектов
- Логи в реальном времени и замер длительности этапов
- Команды внешних инструментов в режиме отладки
Core Layer — ядро системы:
- Загрузка и объединение .env файлов
- Автоматический выбор конвертера через Registry
- CLI интерфейс
Converter Layer — модульная система конвертеров:
- Единая базовая логика (BaseConverter)
- Специализированные конвертеры для каждого типа
- Автоматическое обнаружение и регистрация
Tool Wrappers — обертки над инструментами 1С:
- Унифицированный интерфейс
- Обработка ошибок
- Парсинг вывода
- ✅ Автоматическое обнаружение конвертеров
- ✅ Простота добавления новых типов конвертации
- ✅ Единообразная обработка ошибок
- ✅ Расширяемость
1c-convert-kit/
├── src/
│ ├── gui/ # GUI модули (FreeSimpleGUI)
│ │ ├── main.py # Точка входа
│ │ ├── main_window.py # Главное окно
│ │ ├── project_scanner.py # Сканирование проектов
│ │ ├── project_editor.py # Редактор проектов
│ │ └── sg_import.py # Централизованный импорт GUI
│ ├── converters/ # Модульная система конвертеров
│ │ ├── base/ # Базовые классы
│ │ │ ├── converter.py # BaseConverter
│ │ │ └── tools.py # Tool Wrappers
│ │ ├── registry.py # ConverterRegistry
│ │ ├── configuration/ # Конвертер конфигураций
│ │ ├── dataprocessor/ # Конвертер обработок/отчетов
│ │ ├── extension/ # Конвертер расширений
│ │ └── validation/ # Валидатор EDT
│ ├── core/ # Ядро системы
│ │ └── convert.py # CLI + загрузка .env
│ ├── config/ # Конфигурация
│ │ ├── base.env.template
│ │ └── params_descriptions.json
│ └── utils/ # Утилиты
│ └── time_utils.py # Форматирование времени
├── projects/ # Рабочие проекты (.env файлы)
├── tests/ # Unit- и интеграционные тесты
├── docs/ # Документация
└── logs/ # Логи выполнения
conf2cf- Конфигурация → CF файлconf2xml- Конфигурация → XMLconf2edt- Конфигурация → EDT проектconf2ib- Конфигурация → Информационная базаdt2ib- DT-файл → Информационная база (восстановление с заменой содержимого)ib2dt- Информационная база → DT-файл
dp2epf- Обработка/Отчет → EPF/ERF файлdp2xml- Обработка/Отчет → XMLdp2edt- Обработка/Отчет → EDT проект
ext2cfe- Расширение → CFE файлext2xml- Расширение → XMLext2edt- Расширение → EDT проектext2ib- Расширение → Информационная база
edt-validate- Валидация EDT проекта
- Быстрый старт - Начало работы за 5 минут
- Управление проектами через GUI
- Валидация EDT проектов - Подробное руководство
- Схема алгоритмов конвертации
Приветствуются pull requests! Для крупных изменений сначала откройте issue для обсуждения.
Проект распространяется по лицензии MIT.
Проект основан на 1CFilesConverter

