pip install onec-contract-generator# Клонируйте репозиторий
git clone <repository-url>
cd onec-contract-generator
# Установка в режиме разработки
pip install -e ".[dev]"
# Или установка зависимостей вручную
pip install -r requirements-dev.txtЕсли вы хотите запустить генератор без установки через pip:
# Клонируйте репозиторий
git clone <repository-url>
cd onec-contract-generator
# Установите зависимости (если нужно)
pip install -r requirements.txt
# Запуск через Python скрипты
python scripts/generate.py
# Или через модули напрямую
python -m src.core.launcher
# Или с параметрами
python scripts/generate.py --auto \
--conf-dir "C:\YourProject\YourConfig\conf_files" \
--report-path "C:\YourProject\YourConfig\conf_report\ОтчетПоКонфигурации.txt" \
--output-dir "C:\YourProject\YourConfig\metadata_contracts"Убедитесь, что у вас есть:
- Файлы конфигурации 1С в папке
conf_files/ - Текстовый отчет конфигурации в
conf_report/ОтчетПоКонфигурации.txt
onec-contract-generateСледуйте пошаговому мастеру:
- Выберите директорию конфигурации
- Выберите файл отчета
- Выберите выходную директорию
- Выберите компоненты для генерации
- Подтвердите настройки
onec-contract-generate --auto \
--conf-dir "C:\YourProject\YourConfig\conf_files" \
--report-path "C:\YourProject\YourConfig\conf_report\ОтчетПоКонфигурации.txt" \
--output-dir "C:\YourProject\YourConfig\metadata_contracts"# Статистика
onec-contract-analyze --action stats
# Поиск по контрактам
onec-contract-analyze --action search --query "ДокументыПредприятия"
# Валидация
onec-contract-analyze --action validate--auto- Автоматический режим (без интерактивных вопросов)--conf-dir- Директория с файлами конфигурации--report-path- Путь к файлу отчета по конфигурации--output-dir- Выходная директория для контрактов (по умолчанию: metadata_contracts)
--skip-metadata- Пропустить генерацию контрактов метаданных--skip-forms- Пропустить генерацию контрактов форм--skip-modules- Пропустить генерацию контрактов модулей
После генерации в выходной директории создается плоская структура с префиксами типов:
metadata_contracts/
├── Справочник_Номенклатура.json
├── Справочник_ДокументыПредприятия.json
├── Документ_ЗаказНаряды.json
├── Документ_ПоступлениеТоваров.json
├── Обработка_Обработка1.json
├── Обработка_Обработка2.json
├── Форма_рлф_ФормаСпискаСПапками.json
├── Форма_ФормаОбъекта.json
├── Модуль_ДокументыПредприятия_ModuleContract.json
└── Модуль_Номенклатура_ModuleContract.json
{
"type": "Справочник",
"name": "Номенклатура",
"comment": "Номенклатура товаров и услуг",
"properties": [
{
"name": "Код",
"type": "Строка",
"length": 9,
"comment": "Код номенклатуры"
},
{
"name": "Наименование",
"type": "Строка",
"length": 150,
"comment": "Наименование номенклатуры"
}
],
"search_info": {
"type": "Справочник",
"category": "ОсновныеОбъекты",
"full_name": "Справочник_Номенклатура",
"search_keywords": ["Справочник", "Номенклатура", "товары", "услуги"],
"object_short_name": "Номенклатура"
},
"generated_at": "C:\\YourProject\\onec-contract-generator",
"source": "Text Report"
}onec-contract-generate --auto \
--conf-dir "C:\YourProject\YourConfig\conf_files" \
--report-path "C:\YourProject\YourConfig\conf_report\ОтчетПоКонфигурации.txt" \
--output-dir "C:\YourProject\YourConfig\metadata_contracts"onec-contract-generate --auto \
--conf-dir "C:\YourProject\YourConfig\conf_files" \
--report-path "C:\YourProject\YourConfig\conf_report\ОтчетПоКонфигурации.txt" \
--output-dir "C:\YourProject\YourConfig\metadata_contracts" \
--skip-forms \
--skip-modulesonec-contract-generate --auto \
--conf-dir "C:\YourProject\YourConfig\conf_files" \
--output-dir "C:\YourProject\YourConfig\metadata_contracts" \
--skip-metadata \
--skip-modulesonec-contract-generateСистема задаст вопросы:
🚀 OneC Contract Generator
==================================================
📁 Директория конфигурации: C:\YourProject\YourConfig\conf_files
📄 Файл отчета: C:\YourProject\YourConfig\conf_report\ОтчетПоКонфигурации.txt
📂 Выходная директория: C:\YourProject\YourConfig\metadata_contracts
🔧 Выберите компоненты для генерации:
✅ Контракты метаданных
✅ Контракты форм
❌ Контракты модулей
🎯 Подтвердите настройки (y/N): y
- Справочники - справочные данные
- Документы - документооборот
- Отчеты - отчетные формы
- Обработки - обработки данных
- РегистрыСведений - регистры сведений
- РегистрыНакопления - регистры накопления
- РегистрыБухгалтерии - регистры бухгалтерии
- РегистрыРасчета - регистры расчета
- ПланыВидовХарактеристик - планы видов характеристик
- ПланыОбмена - планы обмена
- ПланыСчетов - планы счетов
- ПланыВидовРасчета - планы видов расчета
- Перечисления - перечисления
- ОбщиеМодули - общие модули
- ОбщиеКартинки - общие картинки
- ОбщиеКоманды - общие команды
- HTTPСервисы - HTTP сервисы
- WebСервисы - Web сервисы
- XDTOПакеты - XDTO пакеты
# Через pip установку
onec-contract-analyze --action stats
# Или ручной запуск
python scripts/analyze.py --action statsВывод:
📊 СТАТИСТИКА КОНТРАКТОВ
==================================================
📋 Контракты метаданных: 1,234
📝 Контракты форм: 567
🔧 Контракты модулей: 890
📁 По типам объектов:
Справочники: 123
Документы: 456
Отчеты: 78
Обработки: 90
...
📈 Общий размер: 45.6 MB
# Через pip установку
onec-contract-analyze --action search --query "Номенклатура"
# Или ручной запуск
python scripts/analyze.py --action search --query "Номенклатура"# Через pip установку
onec-contract-analyze --action validate
# Или ручной запуск
python scripts/analyze.py --action validateONEC_DEBUG- включить отладочный режимONEC_LOG_LEVEL- уровень логирования (INFO, WARNING, ERROR)
project/
├── conf_files/ # Файлы конфигурации
│ ├── Catalogs/
│ ├── Documents/
│ └── Forms/
├── conf_report/ # Отчеты конфигурации
│ └── ОтчетПоКонфигурации.txt
└── metadata_contracts/ # Выходные контракты
# Решение: Установить переменную окружения
set PYTHONIOENCODING=utf-8
onec-contract-generate# Решение: Использовать абсолютные пути
onec-contract-generate --auto \
--conf-dir "C:\absolute\path\to\conf_files" \
--report-path "C:\absolute\path\to\report.txt"# Решение: Проверить структуру проекта
ls -la
onec-contract-test# Решение: Проверить XML файлы форм
# Система автоматически группирует ошибки в логах- Конфигурация: YourProject (33MB отчет)
- Модули: 3,451 объект обработан
- Формы: Множество форм создано
- Метаданные: Структурированные контракты
- info: Информационные сообщения
- success: Успешно обработанные файлы
- warning: Предупреждения
- error: Ошибки обработки
- summary: Сводки по результатам