GUI-приложение на Rust для сборки модуля внешней обработки 1С из исходников Datareon Platform.
Интерфейс использует CPU software renderer и не требует OpenGL, DirectX 12 или дискретной видеокарты.
- загружает информацию об обработчиках 1С из выгрузки Datareon Platform;
- формирует
ObjectModule.bslпо шаблонам для подстановки в обработку 1С для отладки или синтаксического контроля; - позволяет редактировать, импортировать и экспортировать шаблоны.
cargo run
cargo build --releaseОбычный запуск открывает приложение без выбранного каталога. Чтобы сразу загрузить определённые исходники, используйте ключ:
dtr2epf.exe --source "D:\Datareon\project\src"Исполняемый файл после release-сборки: target\release\dtr2epf.exe.
Запустить автоматические тесты:
cargo test- Выберите каталог
srcконфигурации Datareon кнопкой «Обзор…» — дерево загрузится сразу. Путь также можно ввести вручную и нажать «Загрузить». - Выберите адаптеры или отдельные строки в дереве.
- Выберите вариант генерации: «Для отладки» или «Для синтаксического контроля». По умолчанию используется вариант «Для отладки».
- При необходимости измените шаблоны и имена областей.
- Нажмите «Сформировать обработку» и сохраните
ObjectModule.bsl. - Поместите модуль в исходники внешней обработки, соберите EPF и запустите требуемые синтаксические контроли/линтеры 1С.
Шаблон модуля использует {{FROM_PLATFORM}}, {{TO_PLATFORM}}, {{FUNCTIONS}}, {{REGION_*}}, {{GENERATED_AT}} и {{SELECTED_COUNT}}.
Шаблоны методов используют {{NAME}}, {{ORIGINAL_NAME}}, {{PARAMETERS}}, {{CODE}}, {{TYPE}}, {{INTEGRATION}}, {{ENTITY_ID}}, {{SOURCE_PATH}}, {{SUBSCRIPTION_OBJECT}}, {{SUBSCRIPTION_OBJECT_MANAGER}}, {{SUBSCRIPTION_OBJECT_TYPE_REF}} и {{SUBSCRIPTION_OBJECT_TYPE_OBJ}}.
Плейсхолдеры на основе SUBSCRIPTION_OBJECT заполняются только для обработчиков Subscription1C / ToPlatform. Например, для Справочник.Автомобили значениями будут Справочники.Автомобили, СправочникСсылка.Автомобили и СправочникОбъект.Автомобили.
Проект распространяется на выбор пользователя по условиям MIT или Apache License 2.0.