{"id":20019728,"url":"https://github.com/arkuznetsov/yard","last_synced_at":"2025-10-10T06:35:13.524Z","repository":{"id":38796822,"uuid":"272277708","full_name":"arkuznetsov/yard","owner":"arkuznetsov","description":"Загрузка и обработка релизов конфигураций 1С","archived":false,"fork":false,"pushed_at":"2025-08-01T15:56:11.000Z","size":517,"stargazers_count":81,"open_issues_count":8,"forks_count":34,"subscribers_count":6,"default_branch":"develop","last_synced_at":"2025-08-03T04:23:04.120Z","etag":null,"topics":["1c","1c-enterprise","bsl","hacktoberfest","http","onescript","oscript"],"latest_commit_sha":null,"homepage":"","language":"1C Enterprise","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arkuznetsov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-06-14T20:25:14.000Z","updated_at":"2025-08-02T06:00:49.000Z","dependencies_parsed_at":"2023-12-15T11:25:09.531Z","dependency_job_id":"4bd56a22-db82-46f6-ae93-a5ecf7c6ef0f","html_url":"https://github.com/arkuznetsov/yard","commit_stats":null,"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/arkuznetsov/yard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkuznetsov%2Fyard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkuznetsov%2Fyard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkuznetsov%2Fyard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkuznetsov%2Fyard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arkuznetsov","download_url":"https://codeload.github.com/arkuznetsov/yard/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkuznetsov%2Fyard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002969,"owners_count":26083489,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["1c","1c-enterprise","bsl","hacktoberfest","http","onescript","oscript"],"created_at":"2024-11-13T08:28:33.611Z","updated_at":"2025-10-10T06:35:13.506Z","avatar_url":"https://github.com/arkuznetsov.png","language":"1C Enterprise","readme":"# Yet another release downloader (YARD)\r\n\r\nПриложение oscript для загрузки и обработки релизов конфигураций 1С.\r\n\r\n\u003ca href=\"https://checkbsl.org\"\u003e\u003cimg 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\"/\u003e\u003c/a\u003e\r\n\r\n[![GitHub release](https://img.shields.io/github/release/ArKuznetsov/yard.svg?style=flat-square)](https://github.com/ArKuznetsov/yard/releases)\r\n[![GitHub license](https://img.shields.io/github/license/ArKuznetsov/yard.svg?style=flat-square)](https://github.com/ArKuznetsov/yard/blob/develop/LICENSE)\r\n[![GitHub Releases](https://img.shields.io/github/downloads/ArKuznetsov/yard/latest/total?style=flat-square)](https://github.comArKuznetsov/yard/releases)\r\n[![GitHub All Releases](https://img.shields.io/github/downloads/ArKuznetsov/yard/total?style=flat-square)](https://github.com/ArKuznetsov/yard/releases)\r\n\r\n[![Build Status](https://img.shields.io/github/workflow/status/ArKuznetsov/yard/%D0%9A%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D1%8C%20%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B0)](https://github.com/arkuznetsov/yard/actions/)\r\n[![Quality Gate](https://open.checkbsl.org/api/project_badges/measure?project=yard\u0026metric=alert_status)](https://open.checkbsl.org/dashboard/index/yard)\r\n[![Coverage](https://open.checkbsl.org/api/project_badges/measure?project=yard\u0026metric=coverage)](https://open.checkbsl.org/dashboard/index/yard)\r\n[![Tech debt](https://open.checkbsl.org/api/project_badges/measure?project=yard\u0026metric=sqale_index)](https://open.checkbsl.org/dashboard/index/yard)\r\n\r\nТребуются следующие библиотеки и инструменты:\r\n\r\n- [logos](https://github.com/oscript-library/logos)\r\n- [asserts](https://github.com/oscript-library/asserts)\r\n- [cli](https://github.com/oscript-library/cli)\r\n- [v8runner](https://github.com/oscript-library/v8runner)\r\n- [gitrunner](https://github.com/oscript-library/gitrunner)\r\n- [semver](https://github.com/oscript-library/semver)\r\n- [tempfiles](https://github.com/oscript-library/tempfiles)\r\n- [fs](https://github.com/oscript-library/fs)\r\n- [7-zip](http://www.7-zip.org/)\r\n\r\n**Важно 1:** Архиватор 7-zip должен поддерживать распаковку rar-архивов. Для этого на linux нужно поставить пакет с поддержкой такого режима.\r\nНапример, на Ubuntu:\r\n\r\n```shell\r\napt-get install p7zip-rar p7zip-full\r\n```\r\n\r\n**Важно 2:** Для конвертации в формат ЕДТ необходима установленная ЕДТ и ring\r\n\r\n## Общие сведения\r\n\r\n- выполняет загрузку приложений с [сайта релизов 1С](https://releases.1c.ru)\r\n\r\n- для релизов конфигураций доступны следующие возможности:\r\n\r\n  - загрузка указанных версий конфигурации\r\n  - распаковка архива конфигурации (требуется 7-zip)\r\n  - распаковка файлов шаблона конфигурации в указанный каталог (из формата EFD)\r\n  - последовательная сборка CF-файлов конфигурации из CFU-файлов обновлений (требуется начальный CF)\r\n  - Конвертация в формат ЕДТ (при необходимости)\r\n  - последовательная выгрузка версий конфигурации в формате XML в указанный репозитарий GIT\r\n\r\n- Реализованы 2 варианта работы:\r\n  - запуск отдельных команд для каждого этапа обработки релизов конфигураций\r\n  - экспериментальный пакетный режим с конвейерной обработкой данных (pipeline), т.е. каждая порция данных, полученная в текущей обработке передается в указанный(-ные) в настройках обработчик(-и) для последующей обработки\r\n- настройки пакетного режима описываются в формате JSON (см. [Файл настроек](#jsonsettings))\r\n\r\n## Команды\r\n\r\n### **process** (p) - выполняет обработку данных настройкам из файла (.json)\r\n\r\n- _--work-dir_ - путь к рабочему каталогу (по умолчанию: текущий каталог)\r\n- _\u003cПуть\u003e_ - путь к файлу настроек (по умолчанию ./yardsettings.json)\r\n\r\nПользователя и пароль портала 1С можно передать с помощью переменных среды:\r\n\r\n- `YARD_RELEASES_USER` - пользователь портала 1С;\r\n- `YARD_RELEASES_PWD` - пароль пользователя портала 1С.\r\n\r\n#### Пример\r\n\r\n```bat\r\nyard process --work-dir \"c:\\tmp\" \".\\examples\\releases2templates.json\"\r\n```\r\n\r\nсм. [Файл настроек](#jsonsettings)\r\n\r\n### **releases** (r) - работа с релизами с сайта 1С\r\n\r\n- _--user_ - пользователь портала 1С\r\n- _--pwd_ - пароль пользователя портала 1С\r\n\r\n### **list** (l) - получение списка приложений и версий с портала 1С\r\n\r\n- _--app-filter_ - фильтр приложений по имени (регулярное выражение)\r\n- _--version-filter_ - фильтр версий по номеру (регулярное выражение)\r\n- _--version-start-date_ - фильтр по начальной дате версии (формат: dd.MM.yyyy, включая дату)\r\n- _--version-end-date_ - фильтр по последней дате версии (формат: dd.MM.yyyy, включая дату)\r\n- _--output-file_ - путь к фалу (json) для сохранения списка приложений и версий\r\n\r\n```bat\r\nyard 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\"\r\n```\r\n\r\n### **get** (g) - загрузка указанных версий, указанных приложений с портала 1С\r\n\r\n- _--app-filter_ - фильтр приложений по имени (регулярное выражение)\r\n- _--version-filter_ - фильтр версий по номеру (регулярное выражение)\r\n- _--version-start-date_ - фильтр по начальной дате версии (формат: dd.MM.yyyy, включая дату)\r\n- _--version-end-date_ - фильтр по последней дате версии (формат: dd.MM.yyyy, включая дату)\r\n- _--distr-filter_ - фильтр заголовков ссылок на скачивание дистрибутива если не указан, то будет выполнена проверка наличия ссылки \"\"Полный дистрибутив\"\", затем \"\"Дистрибутив обновления\"\"\r\n- _--path_ - каталог для загрузки релизов 1С\r\n- _--from-last-version_ - флаг загрузки версий с номером старше последней версии в каталоге для загрузки (проверяются файлы `description.json`)\r\n- _--last-version-description_ - путь к файлу `description.json` с описанием последней загруженной версией\r\n- _--download-existing_ - флаг принудительной загрузки ранее загруженных версий в каталоге для загрузки (проверяются файлы `description.json`)\r\n- _--download-limit_ - ограничение количества загружаемых версий за 1 запуск\r\n- _--download-only_ - только скачать дистрибутив с сайта и не выполнять дальнейшую обработку\r\n- _--download-changelog_ - Скачать \"Новое в версии\" в файл changelog.htm\r\n- _--extract_ - флаг распаковки загруженного архива\r\n- _--extract-path_ - каталог для распаковки загруженного архива\r\n- _--extract-dir_ - регулярное выражение, отбора каталогов в архиве EFD для распаковки\r\n- _--extract-files_ - список файлов для распаковки из архива дистрибутива, разделенный \"|\"\r\n- _--extract-existing_ - флаг принудительной распаковки ранее распакованных дистрибутивов версий в каталоге для распаковки (проверяются файлы `description.json`)\r\n- _--version-delimiter_ - символ-разделитель частей версии дистрибутива в имени каталога распаковки шаблона (по умолчанию: \".\")\r\n- _--delete_ - флаг удаления загруженного архива после распаковки\r\n\r\n```bat\r\nyard 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\"\r\n```\r\n\r\n### **extract** (e) - распаковка шаблона конфигурации 1С из EFD-файла дистрибутива конфигурации 1С\r\n\r\n- _--path_ - путь к дистрибутиву конфигурации 1С\r\n- _--extract-path_ - каталог для распаковки загруженного архива\r\n- _--extract-dir_ - регулярное выражение, отбора каталогов в архиве EFD для распаковки\r\n- _--extract-files_ - список файлов для распаковки из архива дистрибутива, разделенный \"|\"\r\n- _--extract-existing_ - флаг принудительной распаковки ранее распакованных дистрибутивов в каталоге для распаковки (проверяются файлы `description.json`)\r\n- _--version-delimiter_ - символ-разделитель частей версии дистрибутива в имени каталога распаковки шаблона (по умолчанию: \".\")\r\n- _--app-name_ - имя конфигурации 1С (если не указано, значение будет считано из файла 1cv8.mft дистрибутива)\r\n- _--app-id_ - идентификатор конфигурации 1С (если не указано, значение будет считано из файла 1cv8.mft дистрибутива)\r\n- _--app-version_ - версия конфигурации 1С (если не указано, значение будет считано из файла 1cv8.mft дистрибутива)\r\n\r\n```bat\r\nyard 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\"\r\n```\r\n\r\n## **extract-all** (ea) - для всех дистрибутивов в каталоге выполняет распаковку шаблонов конфигураций 1С из EFD-файлов\r\n\r\n- _--path_ - путь к каталогу содержащему дистрибутивы конфигурации для распаковки\r\n- _--extract-path_ - каталог для распаковки шаблонов конфигурации\r\n- _--extract-dir_ - регулярное выражение, отбора каталогов в архиве EFD для распаковки\r\n- _--extract-files_ - список файлов для распаковки из архива дистрибутива, разделенный \"|\"\r\n- _--extract-existing_ - флаг принудительной распаковки ранее распакованных дистрибутивов в каталоге для распаковки (проверяются файлы `description.json`)\r\n- _--version-delimiter_ - символ-разделитель частей версии дистрибутива в имени каталога распаковки шаблона (по умолчанию: \".\")\r\n\r\n```bat\r\nyard 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\"\r\n```\r\n\r\n### **build-cf** (b) - выполняет обновление конфигурации (CF) файлом обновления (CFU) и помещает результат в новый файл CF\r\n\r\n- _--cf-path_ - путь к файлу конфигурации (CF) предыдущей версии\r\n- _--cfu-path_ - путь к файлу обновления (CFU) новой версии\r\n- _--ibconnection_ - строка подключения к служебной базе 1С для выполнения обновления (если не указана, будет использована временная ИБ)\r\n\r\n```bat\r\nyard 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\"\r\n```\r\n\r\n### **build-all** (ba) - для всех файлов обновления (CFU) в каталоге ищет доступные для обновления файлы(CF) и выполняет обновление\r\n\r\n- _--path_ - путь к каталогу содержащему версии конфигурации для формирования CF-файлов\r\n- _--ibconnection_ - строка подключения к служебной базе 1С для выполнения обновления (если не указана, будет использована временная ИБ)\r\n\r\n```bat\r\nyard build-all --path \".\\tmp\\tmplts\\1c\\AccountingCorp\" --ibconnection \"/SMyServer\\TMP_BASE\"\r\n```\r\n\r\n### **upload-cf** (ucf) - выполняет выгрузку конфигурации 1С из файла конфигурации (CF) в репозитарий git\r\n\r\n- _--cf-path_ - путь к файлу конфигурации (CF) для выгрузки\r\n- _--export-tool_ - инструмент выгрузки конфигурации в файлы\r\n  - designer (по умолчанию)\r\n  - ibcmd\r\n- _--git-path_ - путь к репозитарию git\r\n- _--git-branch_ - имя ветки git в которую будет выполняться выгрузка (по умолчанию: base1c)\r\n- _--git-author_ - имя автора коммита в git (по умолчанию: 1c)\r\n- _--git-author-email_ - почта автора коммита в git (по умолчанию: 1c@1c.ru)\r\n- _--git-commit-date_ - дата коммита в git в формате POSIX (формат: yyyy-MM-dd hh:mm:ss, по умолчанию: \u003cТекущаяУниверсальнаяДата\u003e)\r\n- _--git-commit-message_ - сообщение коммита в git\r\n- _--ibconnection_ - строка подключения к служебной базе 1С для выгрузки в файлы\r\n  - если не указана, будет использована временная ИБ\r\n  - при использовании ibcmd может использоваться только файловая база\r\n- _--object-list-file_ - путь к файлу со списком объектов конфигурации для выгрузки в репозиторий\r\n\r\n```bat\r\nyard upload-cf --cf-path \".\\tmp\\tmplts\\SSL31\\3.1.1.91\\1cv8.cf\" --git-path \".\\tmp\\repo\\SSL31\" --git-commit-message \"Тест выгрузки БСП 3.1.1.91\" --ibconnection \"/SMyServer\\TMP_BASE\"\r\n```\r\n\r\n### **upload-all** (ua) - выполняет выгрузку всех версий конфигурации 1С в каталоге в репозитарий git\r\n\r\n- _--path_ - путь к каталогу содержащему версии конфигурации для выгрузки в git\r\n- _--cf-name - имя файла конфигурации (по умолчанию: 1cv8.cf)\r\n- _--export-tool_ - инструмент выгрузки конфигурации в файлы\r\n  - designer (по умолчанию)\r\n  - ibcmd\r\n- _--git-path_ - путь к репозитарию git\r\n- _--git-author_ - имя автора коммита в git (по умолчанию: 1c)\r\n- _--git-author-email_ - почта автора коммита в git (по умолчанию: 1c@1c.ru)\r\n- _--ibconnection_ - строка подключения к служебной базе 1С для выгрузки в файлы\r\n  - если не указана, будет использована временная ИБ\r\n  - при использовании ibcmd может использоваться только файловая база\r\n- _--object-list-file_ - путь к файлу со списком объектов конфигурации для выгрузки в репозиторий\r\n\r\n```bat\r\nyard upload-all --path \".\\tmp\\tmplts\\SSL31\\\" --cfname \"1cv8.cf\" --git-path \".\\tmp\\repo\\SSL31\" --ibconnection \"/SMyServer\\TMP_BASE\"\r\n```\r\n\r\n## Управляющие обработки\r\n\r\n### МенеджерОбработкиДанных.os\r\n\r\nУправляющая обработка-менеджер, читает настройки, запускает и управляет обработкой данных.\r\n\r\n### yard.os\r\n\r\nОбработка для интерактивного выполнения команд обработки релизов.\r\n\r\n## \u003ca id=\"api\"\u003e\u003c/a\u003e Стандартный программный интерфейс обработки\r\n\r\n**Функция ОписаниеПараметров()** - возвращает структуру с описанием параметров обработки\r\n\r\n**Функция МенеджерОбработкиДанных()** - возвращает ссылку на вызывающую/управляющую обработку - менеджер обработки данных\r\n\r\n**Процедура УстановитьМенеджерОбработкиДанных(Знач НовыйМенеджерОбработкиДанных)** - устанавливает ссылку на вызывающую/управляющую обработку - менеджер обработки данных\r\n\r\n**Функция Идентификатор()** - возвращает идентификатор обработки, установленный при инициализации в менеджере обработки данных\r\n\r\n**Процедура УстановитьИдентификатор(Знач НовыйИдентификатор)** - устанавливает идентификатор обработки, вызывается при инициализации в менеджере обработки данных\r\n\r\n**Функция ПараметрыОбработкиДанных()** - возвращает значения параметров обработки данных\r\n\r\n**Процедура УстановитьПараметрыОбработкиДанных(Знач НовыеПараметры)** - устанавливает значения параметров обработки данных\r\n\r\n**Функция ПараметрОбработкиДанных(Знач ИмяПараметра)** - возвращает значение указанного параметра обработки данных\r\n\r\n**Процедура УстановитьПараметрОбработкиДанных(Знач ИмяПараметра, Знач Значение)** - устанавливает значение указанного параметра обработки\r\n\r\n**Процедура УстановитьДанные(Знач ВходящиеДанные)** - устанавливает данные для обработки\r\n\r\n**Процедура ОбработатьДанные()** - выполняет обработку данных\r\n\r\n**Функция РезультатОбработки()** - возвращает результаты обработки данных\r\n\r\n**Процедура ЗавершениеОбработкиДанных()** - выполняет действия при окончании обработки данных и оповещает обработку-менеджер о завершении обработки данных\r\n\r\n## Обработчики данных\r\n\r\n### СписокРелизов1С.os\r\n\r\nПолучает с сайта 1С список релизов и выводит в консоль или в указанный файл.\r\n\r\n#### Параметры\r\n\r\n- **ИмяПользователя** - Имя пользователя сайта релизов 1С\r\n- **ПарольПользователя** - Пароль пользователя сайта релизов 1С\r\n- **ВремяОжиданияОтвета** - Время ожидания ответа от внешнего ресурса (HTTP) в секундах\r\n- **ФильтрПриложений** - Фильтр имен приложений\r\n- **ФильтрВерсий** - Фильтр номеров версий\r\n- **ФильтрВерсийНачинаяСДаты** - Фильтр по начальной дате версии (включая)\r\n- **ФильтрВерсийДоДаты** - Фильтр по последней дате версии (включая)\r\n- **ПутьКФайлуДляСохранения** - путь к фалу (json) для сохранения списка приложений и версий\r\n\r\n### ЗагрузчикРелизов1С.os\r\n\r\nВыполняет загрузку указанных приложений и версий с сайта 1С и, при необходимости, распаковывает файлы шаблона конфигурации 1С.\r\n\r\n#### Параметры\r\n\r\n- **ИмяПользователя** - Имя пользователя сайта релизов 1С\r\n- **ПарольПользователя** - Пароль пользователя сайта релизов 1С\r\n- **ВремяОжиданияОтвета** - Время ожидания ответа от внешнего ресурса (HTTP) в секундах\r\n- **ФильтрПриложений** - Фильтр имен приложений\r\n- **ФильтрВерсий** - Фильтр номеров версий\r\n- **ФильтрВерсийНачинаяСДаты** - Фильтр по начальной дате версии (включая)\r\n- **ФильтрВерсийДоДаты** - Фильтр по последней дате версии (включая)\r\n- **ФильтрДистрибутива** - фильтр заголовков ссылок на скачивание дистрибутива если не указан, то будет выполнена проверка наличия ссылки \"Полный дистрибутив\", затем \"Дистрибутив обновления\"\r\n- **СкачиватьНовоеВВерсии** - Истина - будут загружены \"Новое в версии\" с сайта в файл changelog.htm. По умолчанию: Ложь.\r\n- **ПолучатьБетаВерсии** - Истина - будут получены ознакомительные версии\r\n- **КаталогДляСохранения** - каталог для загрузки релизов 1С\r\n- **НачатьСПоследнейВерсии** - Истина - будут загружены релизы с версией старше последней найденной в каталоге для загрузки (проверяются файлы description.json) Ложь - будут загружены все релизы с учетом других настроек\r\n- **ОписаниеПоследнейВерсии** - путь к файлу description.json с описанием последней загруженной версии Ложь - будут загружены все релизы с учетом других настроек\r\n- **ЗагружатьСуществующие** - Истина - будут загружены все найденные релизы независимо от существующих в каталоге для загрузки Ложь - будут загружены только отсутствующие в каталоге для загрузки релизы (проверяются файлы description.json)\r\n- **ОграничениеКоличества** - ограничение количества загружаемых за 1 раз версий\r\n- **ТолькоСкачать** - Истина - только скачать дистрибутив с сайта и не выполнять дальнейшую обработку\r\n- **РаспаковыватьEFD** - Истина - если загруженный архив содержит упакованный шаблон конфигурации (содержит файл 1cv8.efd), то он будет распакован\r\n- **КаталогДляРаспаковкиEFD** - каталог для распаковки шаблона конфигурации\r\n- **КаталогВАрхивеДляРаспаковкиEFD** - регулярное выражение, отбора каталогов в архиве EFD для распаковки\r\n- **ФайлыДляРаспаковкиEFD** - список файлов для распаковки из архива EFD дистрибутива конфигурации, если не указан, то распаковываются все файлы\r\n- **РаспаковыватьСуществующие** - Истина - будут распакованы все найденные дистрибутивы независимо от существующих в каталоге для распаковки Ложь - будут распакованы только отсутствующие в каталоге для распаковки дистрибутивы (проверяются файлы description.json)\r\n- **РаспаковыватьСуществующие** - символ-разделитель частей версии дистрибутива в имени каталога распаковки шаблона (по умолчанию: \".\")\r\n- **УдалитьПослеРаспаковкиEFD** - Истина - после распаковки загруженный архив будет удален\r\n\r\n### РаспаковщикРелизов1С.os\r\n\r\nВыполняет распаковку файлов шаблона конфигурации 1С из EFD-файла дистрибутива.\r\n\r\n#### Параметры\r\n\r\n- **Приложение_Имя** - имя конфигурации 1С (если не указано, значение будет считано из файла 1cv8.mft дистрибутива)\r\n- **Приложение_Ид** - идентификатор конфигурации 1С (если не указано, значение будет считано из файла 1cv8.mft дистрибутива)\r\n- **Приложение_Версия** - версия конфигурации 1С (если не указано, значение будет считано из файла 1cv8.mft дистрибутива)\r\n- **ПутьКДистрибутиву** - путь к дистрибутиву конфигурации 1С\r\n- **КаталогДляРаспаковкиEFD** - каталог для распаковки шаблона конфигурации\r\n- **КаталогВАрхивеДляРаспаковкиEFD** - регулярное выражение, отбора каталогов в архиве EFD для распаковки\r\n- **ФайлыДляРаспаковкиEFD** - список файлов для распаковки из архива EFD дистрибутива конфигурации, если не указан, то распаковываются все файлы\r\n- **РаспаковыватьСуществующие** - Истина - будут распакованы все найденные дистрибутивы независимо от существующих в каталоге для распаковки Ложь - будут оаспакованы только отсутствующие в каталоге для распаковки дистрибутивы (проверяются файлы description.json)\r\n- **РаспаковыватьСуществующие** - символ-разделитель частей версии дистрибутива в имени каталога распаковки шаблона (по умолчанию: \".\")\r\n\r\n### РаспаковщикКаталогаРелизов1С.os\r\n\r\nВыполняет распаковку файлов шаблона конфигурации 1С из EFD-файла дистрибутива.\r\n\r\n#### Параметры\r\n\r\n- **Приложение_Имя** - имя конфигурации 1С (если не указано, значение будет считано из файла 1cv8.mft дистрибутива)\r\n- **Приложение_Ид** - идентификатор конфигурации 1С (если не указано, значение будет считано из файла 1cv8.mft дистрибутива)\r\n- **Приложение_Версия** - версия конфигурации 1С (если не указано, значение будет считано из файла 1cv8.mft дистрибутива)\r\n- **ПутьКДистрибутиву** - путь к дистрибутиву конфигурации 1С\r\n- **КаталогДляРаспаковкиEFD** - каталог для распаковки шаблона конфигурации\r\n- **КаталогВАрхивеДляРаспаковкиEFD** - регулярное выражение, отбора каталогов в архиве EFD для распаковки\r\n- **ФайлыДляРаспаковкиEFD** - список файлов для распаковки из архива EFD дистрибутива конфигурации, если не указан, то распаковываются все файлы\r\n- **РаспаковыватьСуществующие** - Истина - будут распакованы все найденные дистрибутивы независимо от существующих в каталоге для распаковки Ложь - будут оаспакованы только отсутствующие в каталоге для распаковки дистрибутивы (проверяются файлы description.json)\r\n- **РаспаковыватьСуществующие** - символ-разделитель частей версии дистрибутива в имени каталога распаковки шаблона (по умолчанию: \".\")\r\n\r\n### СборщикКонфигураций1С.os\r\n\r\nВыполняет обновление конфигурации (CF) файлом обновления (CFU) и помещает результат в новый файл CF.\r\n\r\n#### Параметры\r\n\r\n- **ПутьККонфигурации** - путь к файлу конфигурации (CF) предыдущей версии\r\n- **ПутьКОбновлению** - путь к файлу обновления (CFU) новой версии\r\n- **База_СтрокаСоединения** - строка подключения к служебной базе 1С для выполнения обновления (если не указана, будет использована временная ИБ)\r\n\r\n### СборщикКонфигураций1СВКаталоге.os\r\n\r\nДля всех файлов обновления (CFU) в каталоге ищет доступные для обновления файлы(CF) и выполняет обновление.\r\n\r\n#### Параметры\r\n\r\n- **ПутьККаталогуКонфигураций** - путь к каталогу содержащему версии конфигурации для формирования CF-файлов\r\n- **База_СтрокаСоединения** - строка подключения к служебной базе 1С для выполнения обновления (если не указана, будет использована временная ИБ)\r\n\r\n### ВыгрузкаКонфигурацииВГит.os\r\n\r\nВыполняет выгрузку конфигурации 1С из файла конфигурации (CF) в репозитарий git.\r\n\r\n#### Параметры\r\n\r\n- **ВерсияПлатформы** - маска версии платформы 1С (8.3, 8.3.6 и т.п.)\r\n- **ПутьККонфигурации** - путь к файлу конфигурации (CF) для выгрузки\r\n- **ИнструментВыгрузки** - инструмент выгрузки конфигурации в файлы\r\n  - designer (по умолчанию)\r\n  - ibcmd\r\n- **РепозитарийГит** - путь к репозитарию git\r\n- **ИмяВеткиГит** - имя ветки git в которую будет выполняться выгрузка (по умолчанию: base1c)\r\n- **ИмяАвтора** - имя автора коммита в git (по умолчанию: 1c)\r\n- **ПочтаАвтора** - почта автора коммита в git (по умолчанию: 1c@1c.ru)\r\n- **ДатаКоммита** - дата коммита в git в формате POSIX\r\n- **СообщениеКоммита** - сообщение коммита в git\r\n- **База_СтрокаСоединения** - строка подключения к служебной базе 1С для выполнения обновления (если не указана, будет использована временная ИБ)\r\n- **КонвертироватьВФорматЕДТ** - флаг конвертации в формат ЕДТ\r\n- **СнятьСПоддержки** - снять конфигурацию с поддержки\r\n- **ВерсияЕДТ** - версия среды 1С:Enterprise development tools для конвертации\r\n- **ОтносительныйПуть** - Относительный путь внутри репозитории к исходникам проекта, по умолчанию (src/cf)\r\n- **ПутьКСпискуОбъектов** - путь к файлу, содержащему список объектов конфигурации для выгрузки в репозиторий\r\n\r\n### ВыгрузкаКаталогаКонфигурацииВГит.os\r\n\r\nВыполняет выгрузку конфигурации 1С из файла конфигурации (CF) в репозитарий git.\r\n\r\n#### Параметры\r\n\r\n- **ВерсияПлатформы** - маска версии платформы 1С (8.3, 8.3.6 и т.п.)\r\n- **ПутьККаталогуКонфигураций** - путь к каталогу содержащему версии конфигурации для выгрузки в git\r\n- **ИмяФайлаКонфигурации** - имя файла конфигурации (по умолчанию: \"1Cv8.cf\")\r\n- **ИнструментВыгрузки** - инструмент выгрузки конфигурации в файлы\r\n  - designer (по умолчанию)\r\n  - ibcmd\r\n- **РепозитарийГит** - путь к репозитарию git\r\n- **ИмяВеткиГит** - имя ветки git в которую будет выполняться выгрузка\r\n- **ИмяАвтора** - имя автора коммита в git (по умолчанию: 1c)\r\n- **ПочтаАвтора** - почта автора коммита в git (по умолчанию: 1c@1c.ru)\r\n- **КонвертироватьВФорматЕДТ** - флаг конвертации в формат ЕДТ\r\n- **ВерсияЕДТ** - версия среды 1С:Enterprise development tools для конвертации\r\n- **СнятьСПоддержки** - снять конфигурацию с поддержки\r\n- **ОтносительныйПуть** - Относительный путь внутри репозитории к исходникам проекта, по умолчанию (src/cf)\r\n- **База_СтрокаСоединения** - строка подключения к служебной базе 1С для выполнения обновления (если не указана, будет использована временная ИБ)\r\n- **КонвертироватьВФорматЕДТ** - флаг конвертации в формат ЕДТ\r\n- **ОтносительныйПуть** - Относительный путь внутри репозитории к исходникам проекта, по умолчанию (src/cf)\r\n- **ПутьКСпискуОбъектов** - путь к файлу, содержащему список объектов конфигурации для выгрузки в репозиторий\r\n\r\n## \u003ca id=\"jsonsettings\"\u003e\u003c/a\u003e Файл настроек (JSON)\r\n\r\n### Структура файла настроек\r\n\r\nФайл настроек описывает последовательность вызова обработчиков для обработки данных. обработчик = обработка 1С реализующая вышеуказанный [API](#api).\r\n\r\n```txt\r\n    |-\u003e Описание обработчика\r\n    |      |- ИдОбработчика     - строковый идентификатор обработчика (необязательный)\r\n    |      |- ИмяОбработки      - имя класса обработчика\r\n    |      |- ПутьКОбработке    - путь к oscript-файлу класса обработчика\r\n    |      |- Параметры         - структура параметров обработки\r\n    |      |      |- \u003cпросто параметр\u003e                 - параметр простого типа\r\n    |      |      |- \u003cпараметр из данных обработчика\u003e  - параметр вычисляемый обработчиком\r\n    |      |      |      |- ИдОбработчика              - идентификатор обработчика из которого будет получен параметр\r\n    |      |      |      |- ФункцияПолученияЗначения   - имя функции получения значения параметра (по умолчанию: \"ПолучитьРезультат\")\r\n    |      |- Обработчики      - массив обработчиков данных полученных на текущем уровне\r\n    |             |- \u003cОписание обработчика\u003e*           - структура, аналогичная данной\r\n    |____________________|\r\n```\r\n\r\n### Доступные подстановки\r\n\r\n- **$settingsDir** - каталог файла настроек\r\n- **$yardDir** - каталог запуска скрипта\r\n- **$workDir** - указанный при запуске рабочий каталог (по умолчанию: каталог файла настроек)\r\n\r\n### Пример файла настроек\r\n\r\nПример файла настроек чтения словарей журнала регистрации\r\n\r\n```json\r\n{\r\n    // имя класса обработчика получения списка релизов\r\n    \"ИмяОбработки\":\"СписокРелизов1С\",\r\n    \"Параметры\":{\r\n        \"ИмяПользователя\" : \"user\",\r\n        \"ПарольПользователя\" : \"password\",\r\n        \"ВремяОжиданияОтвета\" : 30,\r\n        // Регулярки для фильтра приложений/конфигураций по имени\r\n        \"ФильтрПриложений\" : [\"Библиотека стандартных подсистем.*3\\\\.1\"],\r\n        // Регулярки для фильтра версий по номеру\r\n        \"ФильтрВерсий\" : [\"3\\\\.1\\\\.2.*\"],\r\n        \"ФильтрВерсийНачинаяСДаты\" : \"2020-01-01T00:00:00\",\r\n    },\r\n    \"Обработчики\":[\r\n        {\r\n            // имя класса обработчика загрузки релизов\r\n            \"ИмяОбработки\":\"ЗагрузчикРелизов1С\",\r\n            \"ИдОбработчика\":\"ЗагрузчикБСП\",\r\n            \"Параметры\":{\r\n                \"ИмяПользователя\" : \"user\",\r\n                \"ПарольПользователя\" : \"password\",\r\n                \"КаталогДляСохранения\" : \"$workDir\\\\tmp\\\\distr\",\r\n                // флаг распаковки шаблона\r\n                \"РаспаковыватьEFD\" : true,\r\n                // путь распаковки шаблона конфигурации\r\n                \"КаталогДляРаспаковкиEFD\" : \"$workDir\\\\tmp\\\\tmplts\"\r\n            }\r\n        }\r\n    ]\r\n}\r\n```\r\n\r\nБольше примеров расположены в каталоге [examples](./examples).\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farkuznetsov%2Fyard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farkuznetsov%2Fyard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farkuznetsov%2Fyard/lists"}