Yard
Загрузка и обработка релизов конфигураций 1С
Install / Use
/learn @arkuznetsov/YardREADME
Yet another release downloader (YARD)
Приложение oscript для загрузки и обработки релизов конфигураций 1С.
<a href="https://checkbsl.org"><img alt="Checked by Silver Bulleters SonarQube BSL plugin" src="https://web-files.do.bit-erp.ru/sonar/b_t.png" align="right" style="width:400px"/></a>
Требуются следующие библиотеки и инструменты:
Важно 1: Архиватор 7-zip должен поддерживать распаковку rar-архивов. Для этого на linux нужно поставить пакет с поддержкой такого режима. Например, на Ubuntu:
apt-get install p7zip-rar p7zip-full
Важно 2: Для конвертации в формат ЕДТ необходима установленная ЕДТ и ring
Общие сведения
-
выполняет загрузку приложений с сайта релизов 1С
-
для релизов конфигураций доступны следующие возможности:
- загрузка указанных версий конфигурации
- распаковка архива конфигурации (требуется 7-zip)
- распаковка файлов шаблона конфигурации в указанный каталог (из формата EFD)
- последовательная сборка CF-файлов конфигурации из CFU-файлов обновлений (требуется начальный CF)
- Конвертация в формат ЕДТ (при необходимости)
- последовательная выгрузка версий конфигурации в формате XML в указанный репозитарий GIT
-
Реализованы 2 варианта работы:
- запуск отдельных команд для каждого этапа обработки релизов конфигураций
- экспериментальный пакетный режим с конвейерной обработкой данных (pipeline), т.е. каждая порция данных, полученная в текущей обработке передается в указанный(-ные) в настройках обработчик(-и) для последующей обработки
-
настройки пакетного режима описываются в формате JSON (см. Файл настроек)
Команды
process (p) - выполняет обработку данных настройкам из файла (.json)
- --work-dir - путь к рабочему каталогу (по умолчанию: текущий каталог)
- <Путь> - путь к файлу настроек (по умолчанию ./yardsettings.json)
Пользователя и пароль портала 1С можно передать с помощью переменных среды:
YARD_RELEASES_USER- пользователь портала 1С;YARD_RELEASES_PWD- пароль пользователя портала 1С.
Пример
yard process --work-dir "c:\tmp" ".\examples\releases2templates.json"
см. Файл настроек
releases (r) - работа с релизами с сайта 1С
- --user - пользователь портала 1С
- --pwd - пароль пользователя портала 1С
list (l) - получение списка приложений и версий с портала 1С
- --app-filter - фильтр приложений по имени (регулярное выражение)
- --version-filter - фильтр версий по номеру (регулярное выражение)
- --version-start-date - фильтр по начальной дате версии (формат: dd.MM.yyyy, включая дату)
- --version-end-date - фильтр по последней дате версии (формат: dd.MM.yyyy, включая дату)
- --output-file - путь к фалу (json) для сохранения списка приложений и версий
yard releases --user "user" --pwd "pwd" list --app-filter "Библиотека стандартных подсистем.*3\.1" --version-filter 3\.1.* --version-start-date "01.01.2019" --output-file ".\tmp\releases.json"
get (g) - загрузка указанных версий, указанных приложений с портала 1С
- --app-filter - фильтр приложений по имени (регулярное выражение)
- --version-filter - фильтр версий по номеру (регулярное выражение)
- --version-start-date - фильтр по начальной дате версии (формат: dd.MM.yyyy, включая дату)
- --version-end-date - фильтр по последней дате версии (формат: dd.MM.yyyy, включая дату)
- --distr-filter - фильтр заголовков ссылок на скачивание дистрибутива если не указан, то будет выполнена проверка наличия ссылки ""Полный дистрибутив"", затем ""Дистрибутив обновления""
- --path - каталог для загрузки релизов 1С
- --from-last-version - флаг загрузки версий с номером старше последней версии в каталоге для загрузки (проверяются файлы
description.json) - --last-version-description - путь к файлу
description.jsonс описанием последней загруженной версией - --download-existing - флаг принудительной загрузки ранее загруженных версий в каталоге для загрузки (проверяются файлы
description.json) - --download-limit - ограничение количества загружаемых версий за 1 запуск
- --download-only - только скачать дистрибутив с сайта и не выполнять дальнейшую обработку
- --download-changelog - Скачать "Новое в версии" в файл changelog.htm
- --extract - флаг распаковки загруженного архива
- --extract-path - каталог для распаковки загруженного архива
- --extract-dir - регулярное выражение, отбора каталогов в архиве EFD для распаковки
- --extract-files - список файлов для распаковки из архива дистрибутива, разделенный "|"
- --extract-existing - флаг принудительной распаковки ранее распакованных дистрибутивов версий в каталоге для распаковки (проверяются файлы
description.json) - --version-delimiter - символ-разделитель частей версии дистрибутива в имени каталога распаковки шаблона (по умолчанию: ".")
- --delete - флаг удаления загруженного архива после распаковки
yard releases --user "user" --pwd "pwd" get --app-filter "Библиотека стандартных подсистем.*3\.1" --version-filter 3\.1.* --version-start-date "01.01.2019" --path ".\tmp\distr" --extract --extract-path ".\tmp\tmplts"
extract (e) - распаковка шаблона конфигурации 1С из EFD-файла дистрибутива конфигурации 1С
- --path - путь к дистрибутиву конфигурации 1С
- --extract-path - каталог для распаковки загруженного архива
- --extract-dir - регулярное выражение, отбора каталогов в архиве EFD для распаковки
- --extract-files - список файлов для распаковки из архива дистрибутива, разделенный "|"
- --extract-existing - флаг принудительной распаковки ранее распакованных дистрибутивов в каталоге для распаковки (проверяются файлы
description.json) - --version-delimiter - символ-разделитель частей версии дистрибутива в имени каталога распаковки шаблона (по умолчанию: ".")
- --app-name - имя конфигурации 1С (если не указано, значение будет считано из файла 1cv8.mft дистрибутива)
- --app-id - идентификатор конфигурации 1С (если не указано, значение будет считано из файла 1cv8.mft дистрибутива)
- --app-version - версия конфигурации 1С (если не указано, значение будет считано из файла 1cv8.mft дистрибутива)
yard unpack --app-name "Библиотека стандартных подсистем, редакция 3.1" --app-id "SSL31" --app-version "3.1.2.332" --path ".\tmp\distr\SSL31\3.1.2.332" --extract-path ".\tmp\tmplts"
extract-all (ea) - для всех дистрибутивов в каталоге выполняет распаковку шаблонов конфигураций 1С из EFD-файлов
- --path - путь к каталогу содержащему дистрибутивы конфигурации для распаковки
- --extract-path - каталог для распаковки шаблонов конфигурации
- --extract-dir - регулярное выражение, отбора каталогов в архиве EFD для распаковки
- --extract-files - список файлов для распаковки из архива дистрибутива, разделенный "|"
- --extract-existing - флаг принудительной распаковки ранее распакованных дистрибутивов в каталоге для распаковки (проверяются файлы
description.json) - --version-delimiter - символ-разделитель частей версии дистрибутива в имени каталога распаковки шаблона (по умолчанию: ".")
yard unpack --app-name "Библиотека стандартных подсистем, редакция 3.1" --app-id "SSL31" --app-version "3.1.2.332" --path ".\tmp\distr\SSL31\3.1.2.332" --extract-path ".\tmp\tmplts"
build-cf (b) - выполняет обновление конфигурации (CF) файлом обновления (CFU) и помещает результат в новый файл CF
- --cf-path - путь к файлу конфигурации (CF) предыдущей версии
- --cfu-path - путь к файлу обновления (CFU) новой версии
- --ibconnection - строка подключения к служебной базе 1С для выполнения обновления (если не указана, будет использована временная ИБ)
yard build-cf --cf-path ".\tmp\tmplts\1c\AccountingCorp\3_0_64_54\1cv8.cf" --cfu-path ".\tmp\tmplts\1c\AccountingCorp\3_0_66_53\1cv8.cfu" --ibconnection "/SMyServer\TMP_BASE"
build-all (ba) - для всех файлов обновления (CFU) в каталоге ищет доступные для обновления файлы(CF) и выполняет обновление
- --path - путь к каталогу содержащему версии конфигурации для формирования CF-фа
Related Skills
node-connect
343.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
90.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
343.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
343.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
