SkillAgentSearch skills...

Yard

Загрузка и обработка релизов конфигураций 1С

Install / Use

/learn @arkuznetsov/Yard
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

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>

GitHub release GitHub license GitHub Releases GitHub All Releases

Build Status Quality Gate Coverage Tech debt

Требуются следующие библиотеки и инструменты:

Важно 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

View on GitHub
GitHub Stars85
CategoryDevelopment
Updated6d ago
Forks36

Languages

1C Enterprise

Security Score

100/100

Audited on Mar 25, 2026

No findings