Пакет лежит в основном пуле хаба, а opm знает этот хаб по умолчанию: короткой формы достаточно.
opm install edtfindСкачанный файл ставится командой opm install -f <файл> — сеть для этого уже не нужна.
Описание
EDTfind
Библиотека OneScript для поиска каталога исполняемого файла EDT (1C:Enterprise Development Tools).
Назначение
Модуль EDTfind определяет установленные версии EDT по файлам-маркерам (1cedt.ini, 1cedt) и возвращает информацию о выбранной установке: каталог, версию и путь к 1cedtcli.
При ошибках модуль выдаёт диагностику с указанием каталогов поиска и доступных версий.
Поддерживаемые ОС
- Windows
- Linux
Установка
opm install edtfind
Использование
Как библиотека (API)
#Использовать edtfind
Поиск = Новый ПоискEDT();
// Найти максимальную установленную версию EDT
Результат = Поиск.НайтиИнформациюОEDT();
// Результат.КаталогEDT — каталог установки EDT
// Результат.ВерсияEDT — полная версия EDT (например "2024.1.2")
// Результат.ПутьКcli — путь к 1cedtcli (пустая строка, если файл не найден)
// Найти конкретную версию EDT
Результат = Поиск.НайтиИнформациюОEDT("2024.1.2");
// Найти максимальную версию EDT в линейке 2024.1
Результат = Поиск.НайтиИнформациюОEDT("2024.1");
Как CLI-приложение
Команда find возвращает одну строку в формате <КаталогEDT>|<ВерсияEDT>|<ПутьКcli>:
# Найти максимальную установленную версию
edtfind find
# Пример вывода: C:\Users\user\AppData\Local\1C\1cedtstart\installations\1c_edt_2024.1.2|2024.1.2|C:\...\1cedtcli.exe
# Найти конкретную версию
edtfind find --edt-version 2024.1.2
# Найти максимальную версию в линейке 2024.1
edtfind find --edt-version 2024.1
# Подробный вывод (отладка)
edtfind find -v
# Версия утилиты
edtfind --version
Алгоритм работы
- Сбор кандидатов — сканирование стандартных каталогов установки EDT по файлам-маркерам (
1cedt.ini,1cedt). - Извлечение версий — из имён каталогов установки извлекается номер версии (например,
1c_edt_2024.1.2→2024.1.2). - Выбор версии — если задана полная версия (
YYYY.M.P), выбирается точное совпадение; если задана укороченная (YYYY.M), выбирается максимальная установленнаяYYYY.M.*; если версия не задана — максимальная найденная. - Определение пути к 1cedtcli — в каталоге установки ищется исполняемый файл
1cedtcli. Если найден — возвращается полный путь, если нет — пустая строка. - Возврат результата — возвращается структура с каталогом установки, версией EDT и путём к
1cedtcli.
Каталоги поиска по умолчанию
Windows
%LOCALAPPDATA%\1C\1cedtstart\installationsC:\Program Files\1C\1CE\components
Linux
~/.local/share/1C/1cedtstart/installations/opt/1C/1CE/components
Диагностика ошибок
При невозможности найти EDT модуль выбрасывает исключение с сообщением:
- Не найдено ни одной установленной версии EDT — с указанием проверенных каталогов.
- Запрошенная версия EDT не найдена — с перечислением доступных версий.
Зависимости
- logos — логирование
- cli — парсинг аргументов командной строки
- fs — работа с файловой системой
- semver — сравнение и сортировка версий