- actions Программная среда CI/CD для платформы 1С и не только. Позволяет выполнять сборку, доставку, тестирование ПО и многое из того, что может понадобиться в DevOps
- allure Команды для работы с Allure
- categories Формирует файл categories.json для Allure (настройки категории для каталога с отчетами Allure)
- environment Формирует файл environment.json для Allure (настройки окружения для каталога с отчетами Allure)
- executors Формирует файл executors.json для Allure (настройки CI/CD для каталога с отчетами Allure)
- allure-docker-service Команды для работы с Allure Docker Service
- emailable-report Получение краткого отчета с сервера Allure Docker Service состоящего из одного файла (возможно для отправки по почте или для сохранения в артефакты)
- send-results Отправка результатов отчетов Allure на сервер Allure Docker Service
- generate-report Генерация нового результат на сервере Allure Docker Service
- autodoc Автоформирование документации по этому проекту Actions. Системная команда
- changelog Команды работы с ChangeLog.md
- init Инициализировать ChangeLog.md
- check-version Проверить наличие версии в ChangeLog.md
- convert Конвертировать ChangeLog.md в другой формат
- templates Вывести список доступных шаблонов для оформления ChangeLog.md
- checksum Выводит в консоль контрольную сумма файла или директории в формате md5
- coverage41c Команды для работы с Coverage41C для анализа покрытия кода
- dbgs Команды для работы с сервером отладки 1С (приложение dbgs.exe)
- doctor Проверка среды actions и зависимостей. Информирует, что не установлено для работы.
- edt Команды для работы с 1C:Enterprise Development Tools (EDT)
- srctoxml Экспорт проекта EDT в XML формат 1С (используя ring)
- versionconfig Возвращает в консоль версию конфигурацию из проекта EDT получаемую из исходного кода
- versionepferf Возвращает в консоль версию внешнего отчета или обработки из проекта EDT получаемую из исходного кода
- epferf Команды для работы с отчетами / обработками (EDT)
- fs Команды для работы с файловой системой
- addcontent Добавление строки в текстовый файл
- copy Копирует или перемещает файлы и каталоги, включая подкаталоги
- delete Удаление каталога или файлов в каталоге по маске
- deletekeep Удаление файлов по заданной маске в каталоге, оставив N более новых файлов
- deleteold Удаление файлов по заданной маске с учетом последней даты и времени изменения
- errorsfromfile Вывод ошибок из указанного файла, если этот файл существует
- fileexists Существует ли файл, возвращает в консоль "1" если существует и "0", если не существует
- findcopy Ищет файлы в каталоге найденное копирует в нужную папку
- newpath Обеспечить каталог. Если он не существует, то будет создан. Возможна его очистка (опционально)
- newtempfile Возвращение в консоль имени временного файл для дальнейшей работы
- newtemppath Создание временного каталога и возвращение в консоль пути к нему
- pathexists Существует ли каталог, возвращает в консоль "1" если существует и "0", если не существует
- read Чтение файла и вывод в консоль
- ftp Команды для работы с FTP
- fileexists Проверить существование файла на FTP-сервере. Если файл не существует программа завершится с ошибкой
- get Получение файлов с FTP-сервера
- put Отправка файлов на FTP-сервер
- delete Удаление файлов на FTP-сервере
- http Команды работы с HTTP
- infobase Команды для работы с информационными базами 1C
- clearcache Очистить локальный кэш базы 1С
- close-all-clients Завершить все клиентские приложения 1С текущего пользователя
- configcheck Синтаксический контроль конфигурации 1С
- configload Загрузить конфигурацию из cf-файла
- configloadfromxml Загрузить конфигурацию из исходников XML (формат 1C)
- configsave Сохранить конфигурацию в cf-файл
- configsavetoxml Сохранить конфигурацию в исходники XML (формат 1C)
- create Создание информационной базы 1С
- distrib Создание из информационной базы 1С дистрибутива
- dump Выгрузка информационной базы 1С в dt-файл
- dumpformat Выгрузка информационной базы 1С в dt-файл в файл, с форматом имени, которое можно задать
- extension Работа с расширениями 1С
- load Загрузить расширение из cfe-файла в конфигурацию 1С
- loadfromsrc Загрузить расширение в конфигурацию 1C из каталога с исходниками XML
- save Сохранить расширение из конфигурации 1С в cfe-файл
- savetosrc Сохранить расширение из конфигурации 1С в исходники XML
- update Обновление расширения в информационной базе 1С
- news Получение информации из макетов с описанием изменений (новостей) по версии
- restore Загрузка информационной базы 1С из dt-файла
- runcode Выполнить произвольный код в режиме 1С:Предприятие
- setlegal Подтверждение легальности получения обновлений (для конфигураций на базе БСП)
- updatecfg Обновление конфигурации, находящейся на поддержке
- json Команды для работы с json-файлами
- measurement Работа с замерами производительности выполнения команд actions
- emailable-report Получение краткого отчета по замерам производительности actions состоящего из одного файла (возможно для отправки по почте или для сохранения в артефакты)
- netlenka Работа с обфускацией (запутывание кода) сервиса https://netlenka.org
- newsletter Создание новостных рассылок через сторонние сервисы рассылок
- sendsay Работа с сервисом рассылок https://sendsay.ru
- newdraft Выполняет отправку сформированного шаблона рассылки на сервис SendSay с использованием их API https://sendsay.ru/api/api.html
- sendsay Работа с сервисом рассылок https://sendsay.ru
- pause Пауза в результате которой приложение ожидает некоторое время
- process Работа с процессами операционной системы (ОС)
- vanessa-automation Работа с тестированием и запуск тестов для информационной базы 1С с помощью Vanessa Automation
- check-errors Проверка log-файлов после выполнения тестов Vanessa-Automation. Если найдется ошибка в файлах, программа завершится с ошибкой
- run Запуск тестов Vanessa Automation
- tag-change Замена тега в папке с feature-файлами с одного на другой
- tag-count Возвращает количество тегов в каталоге с тестами
- tag-partition Добавление тега всем feature-файлами вида "@Prefix_Number". Prefix - название тега, а Numer по очереди от 1 до Max. Prefix и Max можно задать. Позволяет разбить feature-файлы на равное количество групп добавленными тегами
- zip Команды работы с ZIP-архивами
- allure Команды для работы с Allure
Программная среда CI/CD для платформы 1С и не только. Позволяет выполнять сборку, доставку, тестирование ПО и многое из того, что может понадобиться в DevOps.
- version: показать версию и выйти.
- measurementpath: Каталог для сохранения оценки производительности выполнения команд (засекаем время и сохраняем в каталог). Синонимы: [--measurementpath, -m].
- verbose: Вывод отладочной информации в процессе выполнения. Синонимы: [--verbose, -v].
- settings: Путь к файлу настроек (по умолчанию: ../env.json). Синонимы: [--settings, -s].
Любую команду библиотеки actions можно выполнять следующим образом:
oscript КОМАНДА --опция1 значение1 --опция2 значение2
КОМАНДА может состоять как из одного слова, так и из нескольких. Например команда: zip add
- добавляет файлы/папки в архив, а autodoc
генерирует эту документацию.
Примеры команд:
# Узнаем версию
oscript --version
# Добавим текстовые файлы в архив
oscript zip add --file c:\temp\arc.zip --mask "c:\temp\file.txt;c:\temp\folder\*.txt"
# Скопируем файл архива на FTP
oscript ftp put --file c:\temp\arc.zip --server 192.168.1.10 --login admin --password 12345
Обратите внимание, в принципе, мы получили мини Continuous Delivery (CD) систему, которая заархиваировала некоторые файлы и отправила их на FTP 😄
Это сильно притянуто за уши, но отражает суть. Библиотека позволяет 1С-нику (и не только) выполнять различные команды и под
Вопрос: Почему нельзя тоже самое сделать с помощью батников/bash?
Ответ: Библиотека работает на OneScript и ее можно быстро и привычно изменить под себя обычному 1С-специалисту.
Более того, с помощью этой библиотеки мы построили CI/CD систему на gitlab и полностью собираем из исходников EDT, тестируем, контролируем качество кода, готовим письма нашим клиентам, копируем релиз в облако S3 наше решение - конфигурацию на платформе 1С Управление IT-отделом 8. Круто да?
Команды для работы с Allure.
Формирует файл categories.json для Allure (настройки категории для каталога с отчетами Allure).
- path: Путь куда будет сохранен файл (обязательный). Синонимы: [--path, -p].
- name: Имя категории тестов. Если не указан, имя категории будет соответствовать последнему каталогу из пути (не обязательный). Синонимы: [--name, -n].
Формирует файл environment.json для Allure (настройки окружения для каталога с отчетами Allure).
- path: Путь куда будет сохранен файл (обязательный). Синонимы: [--path, -p].
- v8version: Версия платформы 1С (не обязательный). Синонимы: [--v8version, -v].
- branch: Ветка коммита на котором выполнялись тесты (не обязательный). Синонимы: [--branch, -b].
- sha: SHA коммита на котором выполнялись тесты (не обязательный). Синонимы: [--sha, -s].
Формирует файл executors.json для Allure (настройки CI/CD для каталога с отчетами Allure).
- path: Путь куда будет сохранен файл (обязательный). Синонимы: [--path, -p].
- name: Имя CI (обязательный). Синонимы: [--name, -n].
- type: Тип CI (обязательный). Синонимы: [--type, -t].
- url: URL CI. Синонимы: [--url, -u].
- buildOrder: Pipeline ID. Синонимы: [--buildOrder, --bo, -o].
- buildName: Имя билда (содержание коммита, комментарий коммита и т.д.). Синонимы: [--buildName, --bn].
- buildUrl: Pipeline URL. Синонимы: [--buildUrl, --bu].
- reportUrl: URL на опубликованный отчет Allure. Синонимы: [--reportUrl, --ru].
Команды для работы с Allure Docker Service.
Allure Docker Service представляет собой сервис для хранения результатов работы программы allure
и отображениее ее в красивом виде.
Установить этот сервис можно по ссылке https://github.com/fescobar/allure-docker-service
Подробнее смотри в INSTALL.md
Получение краткого отчета с сервера Allure Docker Service состоящего из одного файла (возможно для отправки по почте или для сохранения в артефакты).
- url: URL сервера Allure Docker Service (обязательный). Синонимы: [--url, -u].
- project: Имя проекта на сервере Allure (обязательный).
- file: Имя файла, куда сохранить краткий отчет с сервера (обязательный). Синонимы: [--file, -f].
Отправка результатов отчетов Allure на сервер Allure Docker Service.
- url: URL сервера Allure Docker Service (обязательный). Синонимы: [--url, -u].
- path: Каталог с результатами Allure Docker Service (обязательный). Синонимы: [--path, -p].
- project: Имя проекта на сервере Allure Docker Service (обязательный).
Генерация нового результат на сервере Allure Docker Service.
- url: URL сервера Allure Docker Service (обязательный). Синонимы: [--url, -u].
- project: Имя проекта на сервере Allure Docker Service (обязательный).
- execution_type: Тип запуска. Пример: "jenkins" или "gitlab" (не обязательный). Синонимы: [--execution_type, --et].
- execution_from: Запуск из ветки. Пример http://my-gitlab-url/job/my-job/7/ (не обязательный). Синонимы: [--execution_from, --ef].
- execution_name: Если вам не подходит "execution_type", можете заменить. Пример my-execution-name (не обязательный). Синонимы: [--execution_name, --en].
Автоформирование документации по этому проекту Actions. Системная команда.
- file: Путь к файлу, куда сохранить документацию. По умолчанию сохраняется в COMMAND.md (не обязательный). Синонимы: [--file, -f].
Команды работы с ChangeLog.md.
ChangeLog — это файл, который содержит поддерживаемый, хронологически упорядоченный список значимых изменений для каждой версии проекта.
Формат основан на Keep a Changelog и этот проект придерживается Semantic Versioning.
Чтобы пользователям и контрибуторам было проще в точности понять, какие значимые изменения были внесены в каждый выпуск (или версию) проекта.
Людям. Конечные пользователи программного обеспечения, будь то клиенты или разработчики, — это человеческие существа, которым небезразлично, с чем они работают. Когда программное обеспечение изменяется, люди хотят знать, что и почему изменилось.
- Лог-изменений — для людей, а не для машин.
- Для каждой версии без исключения следует создать отдельный раздел.
- Однотипные изменения следует группировать.
- Следует предусмотреть возможность поставить ссылку на любую версию или раздел.
- Последняя версия должна идти в начале файла.
- Указаны даты выпуска каждой версии.
Уточните, следуете ли вы принципам семантического версионирования.
Внимание!
— для чего-то важного, о чем стоит сказать отдельно.Добавлено
— для новых функций.Изменено
— для изменений в существующей функциональности.Устарело
— для функций, которые скоро будут удалены.Удалено
— для удалённых на данный момент функций.Исправлено
— для любых исправлений багов.Безопасность
— на случай уязвимостей.
Обратите внимание, что заголовки можно писать как на русском, так и на английском. Т.е. заголовки ниже взаимозаменяемы и являются синонимами:
- Внимание! и Attention! и Новости и News
- Добавлено и Added и Новый функционал
- Изменено и Changed и Изменения
- Устарело и Deprecated
- Исправление ошибок и Fixed и Замечания к обновлению
- Удалено и Removed
- Безопасность и Security
Т.е. можно написать так:
## Изменено
* Изменено следующее 1
А можно вот так:
## Changed
* Change next 1
Доступно полно форматирование markdown внутри заметок. Можно начинать строки с символа "*", а можно с "-".
Держите в начале файла раздел Unreleased
, позволяющий отслеживать предстоящие изменения.
Это служит достижению двух целей:
- Люди смогут видеть, каких изменений им можно ожидать в предстоящих выпусках;
- В момент релиза вы можете переместить изменения из раздела
Unreleased
в раздел нового выпуска.
Продукт
# Changelog
Все изменения по проекту.
## [1.0.0.0] - 2023-06-15
### Внимание!
* Важная заметка 1 **жирный** *курсив*
* Важная заметка 2 ~~Зачеркнутый~~
### Добавлено
* Добавлено дело 1 ***жирный курсив***
* Добавлено дело 2 `выделенный`
* Картинка ![Описание](https://softonit.ru/favicon-32x32.png)
### Изменено
* Изменение 1 __снова жиный__ _снова курсив_
* Изменение 2
### Исправлено
* Исправление ошибки
### Безопасность
* Устранена критическая уязвимость
### Устарело
* Модуль "УдалитьОсновныеФункции" более не используется
### Удалено
* Справочник "УдалитьКонтактныеДанные" удален
Инициализировать ChangeLog.md.
- file: Имя файла ChangeLog.md в формате MarkDown, который необходимо инициализировать. Синонимы: [--file, -f].
# Changelog
Все изменения по проекту.
## [1.0.0.0] - 2023-06-08
### Внимание!
* Важная заметка 1 **жирный** *курсив*
* Важная заметка 2 ~~Зачеркнутый~~
### Добавлено
* Добавлено дело 1 ***жирный курсив***
* Добавлено дело 2 `выделенный`
* Картинка ![Описание](https://softonit.ru/favicon-32x32.png)
### Изменено
* Изменение 1 __снова жиный__ _снова курсив_
* Изменение 2
### Исправлено
* Исправление ошибки
Проверить наличие версии в ChangeLog.md.
- file: Имя файла ChangeLog.md в формате MarkDown, в котором необходимо проверить наличие версии. Синонимы: [--file, -f].
- version: Версия в файле.
Конвертировать ChangeLog.md в другой формат.
- in: Исходный файл ChangeLog.md в формате MarkDown из которого необходимо получить описание. Синонимы: [--in, -i].
- out: Файл с новостью по обновлению из исходного файла в формате HTML или TXT в зависимости от расширения файла. Синонимы: [--out, -o].
- template: Шаблон для создания файла с новостью. По умолчанию "Simple.html". Доступные шаблоны: Letter.html, Simple.html, SimpleText.txt, SimpleTextWithoutVersion.txt, SimpleWithoutVersion.html, Softonit.html, Standart.html (не обязательный).
- version: Из какой версии будет получено описание. Если не задано, то создастся для всего файла --in (необязательный).
- maxversion: Из файла --in будет получена максимальная версия и для нее построен файл --out (необязательный). Синонимы: [--maxversion, --max].
- all: Выполняется формирование по всем версиям (необязательный).
- productname: Имя продукта (необязательный).
- news_short_description: Краткое описание для новости (необязательный).
- news_picture: Изображение для новости (необязательный).
- news_url: Гиперссылка для новости (необязательный).
- maximgwidth: Максимальная ширина изображения. Полезна для новостей, которые будут отправлены по почте в формате HTML. Всем тегам img будет насильно задана указанная ширина (необязательный).
- lazyload: Использовать ленивую загрузку изображений. Полезна для новостей в формате HTML, где много картинок и которые из-за этого будут долго открываться. Всем тегам img будет насильно задан class="lazyload" и в head HTML будет встроен скрипт lazysizes.js (необязательный).
- parser_configuration_src: Содержит путь к каталогу с конфигурацией парсера (Управление IT-отделом 8). Позволяет более точно обрабатывать markdown-файлы (необязательный).
Выполняем команду changelog c параметром --template
это создает документ по ШАБЛОНУ.
oscript src\actions.os changelog convert --in tests\fixtures\changelog.md --out tests\fixtures\changelog.html --template Standart.html
Получаем:
<h3>Внимание!</h3>
<ul class="updnws">
<li>Важная заметка 1 <strong>жирный</strong> <em>курсив</em></li>
<li>Важная заметка 2 <del>Зачеркнутый</del></li>
</ul>
<h3>Добавлено</h3>
<ul class="updnew">
<li>Добавлено дело 1 <strong><em>жирный курсив</strong></em></li>
<li>Добавлено дело 2 <code>выделенный</code></li>
<li>Картинка <img src="https://softonit.ru/favicon-32x32.png" alt="Описание"></li>
</ul>
<h3>Изменено</h3>
<ul class="updedt">
<li>Изменение 1 <strong>снова жиный</strong> <em>снова курсив</em></li>
<li>Изменение 2</li>
</ul>
<h3>Исправлено</h3>
<ul class="upderr">
<li>Исправление ошибки</li>
</ul>
<h3>Безопасность</h3>
<ul class="updsec">
<li>Устранена критическая уязвимость</li>
</ul>
<h3>Устарело</h3>
<ul class="upddep">
<li>Модуль "УдалитьОсновныеФункции" более не используется</li>
</ul>
<h3>Удалено</h3>
<ul class="upddel">
<li>Справочник "УдалитьКонтактныеДанные" удален</li>
</ul>
<p></p>
Выполняем команду changelog для получения текстового :
oscript src\actions.os changelog --in tests\fixtures\changelog.md -out tests\fixtures\changelog.txt -template SimpleText.txt
Получаем текстовое описание файла changelog.md описанного выше:
1.0.0.1
[!] Важная заметка 1 [b]жирный[/b] [i]курсив[/i]
[!] Важная заметка 2 [s]Зачеркнутый[/s]
[+] Добавлено дело 1 [b][i]жирный курсив[/b][/i]
[+] Добавлено дело 2 [code]выделенный[/code]
[+] Картинка [img]https://camo.githubusercontent.com/b0ae38dceb7087a93c566bcf5fd05b0e511edd3d523a290e0a9fe465b4c97df0/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d696e666f726d6174696f6e616c[/img]
[*] Изменение 1 [b]снова жиный[/b] [i]снова курсив[/i]
[*] Изменение 2
[-] Исправление ошибки
[S] Устранена критическая уязвимость
[D] Модуль "УдалитьОсновныеФункции" более не используется
[R] Справочник "УдалитьКонтактныеДанные" удален
1.0.0.0
[*] И простой текст
Вывести список доступных шаблонов для оформления ChangeLog.md.
Выводит в консоль контрольную сумма файла или директории в формате md5.
- file: Исходный файл или директория (обязательный). Синонимы: [--file, -f].
- mask: Маска файлов для контрольной суммы, используется если указана директория. Если параметр не задан для директории, то контрольная сумма будет сформирована по всем файлам (необязательный). Синонимы: [--mask, -m]. Значение по умолчанию: "*".
Контрольая сумма по файлу/директории позволяет получить строку, которая будет не изменна для файлов, пока они не изменятся. Это может пригодится для того, чтобы понять надо ли собирать по новой проект или нет (изменялись ли файлы в папке или нет).
Например, в pipeline мы можем сохранять собранный проект 1C в хранилище сборок вида:
06ead29bfa5dfa3d4cce226854d412ea=С:\Builder\06ead29bfa5dfa3d4cce226854d412ea\config.cf
Далее, в начале сборки pipeline смотрим надо ли собирать проект из исходников EDT? Для этого:
- Считаем по директории контрольную сумму
- Смотрим есть ли в хранилище сборок база с такой контрольной суммой 2.1. Если Да - берем эту базу из хранилища сборок и не собираем из проект EDT конфигурацию. 2.2. Если Нет - собираем проект EDT в конфигурацию cf, сохрнаяем ее в хранилище сборок, где присваиваем сборке контрольную сумму.
- При повторных сборках когда не меняется конфигурация, мы будем экономить время на сборку.
Внимание! Следует с осторожностью относится к директориям где находится очень много больших файлов. В таких каталогах контрольная сумма будет рассчитываться не быстро. Имейте это ввиду.
Команды для работы с Coverage41C для анализа покрытия кода.
Запуск измерения для сохранения данных о покрытии в файл.
- infobase: Имя информационной базы. По умолчанию DefAlias (не обязательный). Синонимы: [--infobase, -i].
- project: Каталог с проектом EDT 1C (обязательный). Синонимы: [--project, -p].
- debugger: Адрес отладчика. Пример: http://localhost:1550 (обязательный). Синонимы: [--debugger, -u].
- out: Файл куда сохранить результат (обязательный). Синонимы: [--out, -o].
- file: Файл-флаг с результатом запуска. По умолчанию "cover.json". Нужен для последующей остановки приложения (не обязательный). Синонимы: [--file, -f].
- processpath: Каталог или файл данных о процессе. Если процесс зависнет, то система закроет его (не обязательный).
Остановка измерения и сохранения данных о покрытии в файл.
- infobase: Имя информационной базы. По умолчанию DefAlias (не обязательный). Синонимы: [--infobase, -i].
- debugger: Адрес отладчика. Пример: http://localhost:1550 (обязательный). Синонимы: [--debugger, -u].
- file: Файл-флаг с результатом запуска. По умолчанию "cover.json". Нужен для последующей остановки приложения (не обязательный). Синонимы: [--file, -f].
- processpath: Каталог или файл данных о процессе. Если процесс зависнет, то система закроет его (не обязательный).
Команды для работы с сервером отладки 1С (приложение dbgs.exe).
Включение отладчика 1C dbgs.exe. Возвращает в консоль порт, который будет использоваться отладчиком.
- v8version: Версия платформы 1С (необязательный). Синонимы: [--v8version, -v].
- addr: Адрес сервера отладки. По умолчанию "127.0.0.1" (не обязательный). Синонимы: [--addr, -a].
- port: Порт сервера отладки. По умолчанию 1550. Если порт будет занят, то будет найден свободный порт (не обязательный). Синонимы: [--port, -p].
- file: Файл-флаг с результатом запуска dbgs. По умолчанию "dbgs.json". Нужен для последующей остановки сервера отладки (не обязательный). Синонимы: [--file, -f].
- processpath: Каталог или файл данных о процессе. Если процесс зависнет, то система закроет его (не обязательный).
Отключение отладчика 1C dbgs.exe.
- v8version: Версия платформы 1С (необязательный). Синонимы: [--v8version, -v].
- file: Файл-флаг для запущенного сервера отладки dbgs. По умолчанию "dbgs.json". После остановки сервера отладки файл будет удален (не обязательный). Синонимы: [--file, -f].
Проверка среды actions и зависимостей. Информирует, что не установлено для работы..
Выполняемые проверки:
- Проверка установленного приложения git. Проблема: Приложение git не установлено. Нельзя работать с репозиториями => Не будет работать pipeline. Ссылки для установки: [https://git-scm.com/downloads]
- Проверка установленного приложения 1С. Проблема: Приложение 1С не установлено. Нельзя работать с 1С => Установите 1С:Предприятие 8.3. Ссылки для установки: [https://releases.1c.ru/project/Platform83]
- Проверка установленного приложения ring. Проблема: Нельзя конвертировать исходный код EDT в 1С => Установите EDT. Ссылки для установки: [https://releases.1c.ru/project/DevelopmentTools10]
- Проверка установленного приложения java. Проблема: Нельзя конвертировать исходный код EDT в 1С => Установите LibericaJDK. Ссылки для установки: [https://releases.1c.ru/project/Liberica11FullJDK]
- Проверка установленного приложения sonar-scanner. Проблема: Не сможете проверять качество кода => Установите sonar и sonar-scanner. Ссылки для установки: [https://github.com/Daabramov/Sonarqube-for-1c-docker/], [https://github.com/SonarSource/sonar-scanner-cli/releases]
- Проверка установленного приложения aws-cli. Проблема: Pipeline содержащий копирование в S3 не смогут работать => Установите aws-cli. Ссылки для установки: [https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html]
- Проверка установленного приложения allure. Проблема: Если используете тестирование не сможете смотреть красивые тесты => Установите allure. Ссылки для установки: [https://qameta.io/allure-report/]
- Проверка установленного приложения Coverage41C. Проблема: Если используете тестирование не сможете посчитать покрытие кода => Установите Coverage41C. Ссылки для установки: [https://github.com/1c-syntax/Coverage41C/releases]
Команды для работы с 1C:Enterprise Development Tools (EDT).
Экспорт проекта EDT в XML формат 1С (используя ring).
- project: Каталог, содержащий проект 1C:Enterprise Development Tools (обязательный). Синонимы: [--project, -j].
- path: Каталог куда необходимо сохранить файлы конфигурации платформы 1С:Предприятия в формате XML. Важно! Каталог будет очищен в процессе работы команды (обязательный). Синонимы: [--path, -p].
- workspace: Каталог рабочего пространства для запуска 1C:Enterprise Development Tools (необязательный). Синонимы: [--workspace, -w].
- edtversion: Версия EDT для экспорта. Пример: "2021.1.5:x86_64" Список установленных версий можно узнать набрав "ring help modules" (необязательный). Синонимы: [--edtversion, -e].
- processpath: Каталог записи информация о процессе EDT. Если процесс зависнет, то система закроет его (не обязательный).
Чтобы экспорт был возможен, необходимо наличие установленного приложения "ring". Подробнее о ring.
Возвращает в консоль версию конфигурацию из проекта EDT получаемую из исходного кода.
- project: Каталог с файлами конфигурации в формате EDT (обязательный). Синонимы: [--project, -p].
Возвращает в консоль версию внешнего отчета или обработки из проекта EDT получаемую из исходного кода.
- path: Каталог с файлом модуля где указана версия (обязательный). Синонимы: [--path, -p].
Команды для работы с отчетами / обработками (EDT).
Создает дистрибутив отчета/обработки.
- version: Версия релиза (обязательный).
- path: Каталог где будет создан дистрибутив (обязательный). Синонимы: [--path, -p].
- files: Список файлов, которые нужно включить в дистрибутив или маска файлов разделенные ";" (обязательный). Синонимы: [--files, -f].
- prefix: Префикс продукта (не обязательный).
- shared_path: Общие файлы для создаваемого дистрибутива, которые будут включены в дистрибутив (не обязательный).
Возвращает в консоль версию внешнего отчета или обработки из проекта EDT получаемую из исходного кода.
- path: Каталог с файлом модуля где указана версия (обязательный). Синонимы: [--path, -p].
Команды для работы с файловой системой.
Добавление строки в текстовый файл.
- file: Файл для добавления текста (обязательный). Синонимы: [--file, -f].
- text: Добавляемый текст. будет предпринята попытка прочитать из файла кодировку (не обязательный). Синонимы: [--text, -t].
- newline: Запись будет добавлена с новой строки. Синонимы: [--newline, -n].
Копирует или перемещает файлы и каталоги, включая подкаталоги.
- from: Указывает расположение и имена файлов, которые требуется скопировать (обязательный). Синонимы: [--from, --src, --path, -f].
- to: Расположение или имена новых файлов (обязательный). Синонимы: [--to, --dst, --destination, -t].
- move: Флаг выполнения перемещение файлов (удалить источник после копирования) (не обязательный). Синонимы: [--move, --delsrc, -m].
- recursive: Флаг рекурсивного копирования файлов (необязательный). По умолчанию копированием и перемещение выполняется только с указанной директории. Синонимы: [--recursive, -r].
Примеры использования:
# Копирование всех файлов из папки в папку
oscript actions.os fs copy --from c:\folder\ --to c:\dest\ --recursive
# Копирование файлов c расширением txt из папки в папку (только в папке folder\*.txt)
oscript actions.os fs copy --from c:\folder\*.txt --to c:\dest\
# Перемещение всех файлов из папки в папку
oscript actions.os fs copy --from c:\folder\ --to c:\dest\ --recursive --move
# Перемещение файлов по маске *.txt из папки в папку включая дочерние
oscript actions.os fs copy --from c:\folder\*.txt --to c:\dest\ --recursive --move
Удаление каталога или файлов в каталоге по маске.
- path: Локальный каталог (обязательный). Синонимы: [--path, -p].
- mask: Маска файлов. По умолчанию "*" (не обязательный). Синонимы: [--mask, -m].
- errorifnotexist: Вызывать ошибку, если каталог не найден. По умолчанию "Ложь" (не обязательный). Синонимы: [--errorifnotexist, -e].
Удаление файлов по заданной маске в каталоге, оставив N более новых файлов.
- path: Локальный каталог (обязательный). Синонимы: [--path, -p].
- mask: Маска файлов. По умолчанию "*" (не обязательный). Синонимы: [--mask, -m].
- count: Количество файлов, которые необходимо оставить. По умолчанию 7 (не обязательный). Синонимы: [--count, -c].
Эта команда позволяет удалять устаревшие файлы. Будет полезна для чистки папки с бэкапами.
Пример: Предположим, вы делаете бэкапы информационной базы 1С каждый день в 2:00. В результате у вас будет проблема с тем, что необходимо будет контролировать количество файлов в папке, куда делается бэкап.
Для этих целей можно использовать команду. Ее можно вызывать вместе с командой бэкапа:
# Создаем бэкап
oscript actions.os infobase dumpformat --path d:\backup\ --format yyyyMMddHHmmss --connection /Sserver1c\base1c
# Удаляем старые файлы, оставляем последние 7 копий
oscript actions.os fs deletekeep --path d:\backup\ --mask *.dt --count 7
Первая команда создаст бэкап, вторая посмотрит на все бэкапы в папке d:\backup
и оставит последние 7 dt-файлов. Достаточно удобно.
Удаление файлов по заданной маске с учетом последней даты и времени изменения.
- path: Локальный каталог в котором необходимо удалить файлы (обязательный). Синонимы: [--path, -p].
- mask: Маска файлов. По умолчанию "*" (не обязательный). Синонимы: [--mask, -m].
- type: Тип удаления. Поддерживаются типы устаревания файлов: day, hour, min (день, час, минута). По умолчанию day (не обязательный). day: Удаление файлов старше N дней hour: Удаление файлов старше N часов min: Удаление файлов старше N минут Синонимы: [--type, -t].
- value: Значение удаления. По умолчанию 5 (не обязательный). Синонимы: [--value, --val].
- recursive: Поиск включая подкаталоги (не обязательный). Синонимы: [--recursive, -r].
- delifempty: Удалить корневой каталог, если он остался пуст (не обязательный).
Вывод ошибок из указанного файла, если этот файл существует.
- file: Файл с ошибками. Его содержимое будет выведено в консоль и выдана ошибка. Если файл не существует, то ошибка не возникнет (обязательный). Синонимы: [--file, -f].
Эту команду можно использовать в следующем случае для CI/CD:
# Делаем, что-то
# ...
oscript actions.os fs erorrsfromfile --file "/opt/build/errors.log"
- Мы что-то делаем и сохраняем логи с ошибками.
- Логи с ошибками могут быть созданы шагами выше, но могут быть и не созданы, если все прошло выше успешно.
- Если лог с ошибками есть, то программа выдаст прочитает эти логи в консоль и упадет с ошибкой.
- Если этого файла с ошибками не будет, значит нет ошибок. Этот шаг будет проигнорирован.
Вывод Эту команду можно использовать всегда, если есть логи с ошибками и известно в какой файл они будут сохранены.
Существует ли файл, возвращает в консоль "1" если существует и "0", если не существует.
- file: Файл, существование которого надо проверить (обязательный). Синонимы: [--file, -f].
Ищет файлы в каталоге найденное копирует в нужную папку.
- from: Указывает расположение каталога, где нужно искать файлы (обязательный). Синонимы: [--from, --src, --path, -f].
- mask: Маска поиска файлов. По умолчанию "*.*" (не обязательный). Синонимы: [--mask, -m].
- to: Расположение куда необходимо скопировать файлы (обязательный). Синонимы: [--to, --dst, --destination, -t].
- move: Флаг выполнения перемещение файлов (удалить источник после копирования) (не обязательный). Синонимы: [--move, --delsrc].
- recursive: Флаг рекурсивного поиска файлов (необязательный). По умолчанию поиск выполняется только в указанной директории. Синонимы: [--recursive, -r].
Обеспечить каталог. Если он не существует, то будет создан. Возможна его очистка (опционально).
- path: Локальный каталог, который необходимо обеспечить и при необходимости создать (обязательный). Синонимы: [--path, -p].
- clear: Если опция задана, то создаваемый/созданный каталог будет рекурсивно очищен. Синонимы: [--clear, --empty, -с, -e].
Возвращение в консоль имени временного файл для дальнейшей работы.
- path: Локальный каталог, где необходимо создать временный файл (не обязательный). Синонимы: [--path, -p].
- ext: Расширение для временного файла. По умолчанию "tmp" (не обязательный). Синонимы: [--ext, -e].
Создание временного каталога и возвращение в консоль пути к нему.
- path: Локальный каталог, где необходимо создать пустой временный каталог (не обязательный). Синонимы: [--path, -p].
Существует ли каталог, возвращает в консоль "1" если существует и "0", если не существует.
- path: Каталог, существование которого надо проверить (обязательный). Синонимы: [--path, -p].
Чтение файла и вывод в консоль.
- file: Файл, который необходимо прочитать (обязательный). Синонимы: [--file, -f].
- errors: Выдавать ошибки в консоль, если при чтении из файла будут ошибки (не обязательный). Синонимы: [--errors, -e].
Команды для работы с FTP.
Проверить существование файла на FTP-сервере. Если файл не существует программа завершится с ошибкой.
- server: Имя FTP-сервера (обязательный).
- login: Логин FTP-сервера. По умолчанию "anonymous" (необязательный). Синонимы: [--login, -l].
- password: Пароль FTP-сервера. По умолчанию "anonymous" (необязательный). Синонимы: [--password, -p].
- port: Порт на FTP-сервере. Если не указано, то будет использован 21 порт (необязательный).
- timeout: Таймаут подключения к FTP-серверу. По умолчанию - 30 секунд (необязательный). Синонимы: [--timeout, -t].
- passive: Флаг пассивного режима (необязательный).
- secure: Флаг защищенного соединения (необязательный).
- file: Имя файла на FTP-сервере, существование которого необходимо проверить (обязательный). Синонимы: [--file, -f].
Получение файлов с FTP-сервера.
- server: Имя FTP-сервера (обязательный).
- login: Логин FTP-сервера. По умолчанию "anonymous" (необязательный). Синонимы: [--login, -l].
- password: Пароль FTP-сервера. По умолчанию "anonymous" (необязательный). Синонимы: [--password, -p].
- port: Порт на FTP-сервере. Если не указано, то будет использован 21 порт (необязательный).
- timeout: Таймаут подключения к FTP-серверу. По умолчанию - 30 секунд (необязательный). Синонимы: [--timeout, -t].
- passive: Флаг пассивного режима (необязательный).
- secure: Флаг защищенного соединения (необязательный).
- remote: Имя директории на FTP-сервере, что необходимо получить. Если не указано, то будет использован корневой путь "/" (необязательный). Синонимы: [--remote, -r].
- mask: Маска файлов для скачивания. Если не указана, то используется маска "*" (необязательный). Пример: *.txt. Синонимы: [--mask, -m].
- local: Директория на локальном компьютере куда необходимо загрузить файлы (обязательный). Пример: "C:\Path\File.txt", "C:\Path".
- recursive: Флаг рекурсивного копирования файлов с FTP-сервера (необязательный). По умолчанию копирование выполняется только с указанной на сервере директории. Синонимы: [--recursive, -r].
Отправка файлов на FTP-сервер.
- server: Имя FTP-сервера (обязательный).
- login: Логин FTP-сервера. По умолчанию "anonymous" (необязательный). Синонимы: [--login, -l].
- password: Пароль FTP-сервера. По умолчанию "anonymous" (необязательный). Синонимы: [--password, -p].
- port: Порт на FTP-сервере. Если не указано, то будет использован 21 порт (необязательный).
- timeout: Таймаут подключения к FTP-серверу. По умолчанию - 30 секунд (необязательный). Синонимы: [--timeout, -t].
- passive: Флаг пассивного режима (необязательный).
- secure: Флаг защищенного соединения (необязательный).
- local: Директория из которой будут отправляться файлы на FTP-сервер на локальном компьютере. Пример: "C:\Path" (обязательный).
- mask: Маска файлов для отправки на сервер. Если не указана, то используется маска "*". Пример: "*.txt" (необязательный). Синонимы: [--mask, -m].
- remote: Имя директории на FTP-сервере, куда необходимо сохранить отправляемые файлы. Если не указано, то будет сохранено в корень "/" (необязательный). Синонимы: [--remote, -r].
- recursive: Флаг рекурсивного копирования файлов на FTP-сервер. По умолчанию копирование выполняется только с локальной директории (необязательный). Синонимы: [--recursive, -r].
Удаление файлов на FTP-сервере.
- server: Имя FTP-сервера (обязательный).
- login: Логин FTP-сервера. По умолчанию "anonymous" (необязательный). Синонимы: [--login, -l].
- password: Пароль FTP-сервера. По умолчанию "anonymous" (необязательный). Синонимы: [--password, -p].
- port: Порт на FTP-сервере. Если не указано, то будет использован 21 порт (необязательный).
- timeout: Таймаут подключения к FTP-серверу. По умолчанию - 30 секунд (необязательный). Синонимы: [--timeout, -t].
- passive: Флаг пассивного режима (необязательный).
- secure: Флаг защищенного соединения (необязательный).
- remote: Имя директории на FTP-сервере, что необходимо получить. Если не указано, то будет использован корневой путь "/" (необязательный). Синонимы: [--remote, -r].
- mask: Маска файлов для скачивания. Если не указана, то используется маска "*" (необязательный). Пример: *.txt. Синонимы: [--mask, -m].
Команды работы с HTTP.
Выполнить get-запрос.
- url: URL-адрес HTTP-запроса (обязательный). Синонимы: [--url, --address, -u].
- format: В каком формате ожидаем ответ. По умолчанию text (не обязательный). text: Текст json: JSON binary: Двоичные данные Синонимы: [--format, -f].
- out: В какой файл сохранить результат. Если не задано, результат будет выведен в консоль (не обязательный). Синонимы: [--out, -o].
- login: Логин Basic-аутентификации (не обязательный). Синонимы: [--login, -l].
- password: Пароль Basic-аутентификации (не обязательный). Синонимы: [--password, -p].
- param1: Параметр 1 HTTP-запроса (необязательный). Синонимы: [--param1, --par1, --p1].
- value1: Значение параметра 1 HTTP-запроса (необязательный). Синонимы: [--value1, --val1, --v1].
- param2: Параметр 2 HTTP-запроса (необязательный). Синонимы: [--param2, --par2, --p2].
- value2: Значение параметра 2 HTTP-запроса (необязательный). Синонимы: [--value2, --val2, --v2].
- param3: Параметр 3 HTTP-запроса (необязательный). Синонимы: [--param3, --par3, --p3].
- value3: Значение параметра 3 HTTP-запроса (необязательный). Синонимы: [--value3, --val3, --v3].
- param4: Параметр 4 HTTP-запроса (необязательный). Синонимы: [--param4, --par4, --p4].
- value4: Значение параметра 4 HTTP-запроса (необязательный). Синонимы: [--value4, --val4, --v4].
- param5: Параметр 5 HTTP-запроса (необязательный). Синонимы: [--param5, --par5, --p5].
- value5: Значение параметра 5 HTTP-запроса (необязательный). Синонимы: [--value5, --val5, --v5].
- param6: Параметр 6 HTTP-запроса (необязательный). Синонимы: [--param6, --par6, --p6].
- value6: Значение параметра 6 HTTP-запроса (необязательный). Синонимы: [--value6, --val6, --v6].
- param7: Параметр 7 HTTP-запроса (необязательный). Синонимы: [--param7, --par7, --p7].
- value7: Значение параметра 7 HTTP-запроса (необязательный). Синонимы: [--value7, --val7, --v7].
- param8: Параметр 8 HTTP-запроса (необязательный). Синонимы: [--param8, --par8, --p8].
- value8: Значение параметра 8 HTTP-запроса (необязательный). Синонимы: [--value8, --val8, --v8].
- param9: Параметр 9 HTTP-запроса (необязательный). Синонимы: [--param9, --par9, --p9].
- value9: Значение параметра 9 HTTP-запроса (необязательный). Синонимы: [--value9, --val9, --v9].
- param10: Параметр 10 HTTP-запроса (необязательный). Синонимы: [--param10, --par10, --p10].
- value10: Значение параметра 10 HTTP-запроса (необязательный). Синонимы: [--value10, --val10, --v10].
- fileparams: JSON-файл с параметрами для отправки вида: {"param1":"value1", "param2":"value2"}" (не обязательный).
Используется библиотека 1connector
Примеры:
# Передаем параметры в GET-запрос "name=Иванов" и результат сохраним в json
oscript actions.os http get --url "https://connectorhttp.ru/anything/params" --p1 "name" --v1 "Иванов" --format json --out "c:\temp\result.json"
# Получим двоичные данные (картинку) и сохраняем в файл
oscript actions.os http get --url "http://connectorhttp.ru/image/png" --format binary --out "c:\temp\image.png"
# Авторизуемся на сервере SonarQube используя Basic-аутентификацию
oscript actions.os http get --url "http://192.168.1.20:32772/api/qualitygates/project_status?projectKey=telegram&branch=develop" --login sda1234234 --password asdasd
Выполнить post-запрос.
- url: URL-адрес HTTP-запроса (обязательный). Синонимы: [--url, --address, -u].
- format: В каком формате ожидаем ответ. По умолчанию text (не обязательный). text: Текст json: JSON binary: Двоичные данные Синонимы: [--format, -f].
- out: В какой файл сохранить результат. Если не задано, результат будет выведен в консоль (не обязательный). Синонимы: [--out, -o].
- login: Логин Basic-аутентификации (не обязательный). Синонимы: [--login, -l].
- password: Пароль Basic-аутентификации (не обязательный). Синонимы: [--password, -p].
- param1: Параметр 1 HTTP-запроса (необязательный). Синонимы: [--param1, --par1, --p1].
- value1: Значение параметра 1 HTTP-запроса (необязательный). Синонимы: [--value1, --val1, --v1].
- param2: Параметр 2 HTTP-запроса (необязательный). Синонимы: [--param2, --par2, --p2].
- value2: Значение параметра 2 HTTP-запроса (необязательный). Синонимы: [--value2, --val2, --v2].
- param3: Параметр 3 HTTP-запроса (необязательный). Синонимы: [--param3, --par3, --p3].
- value3: Значение параметра 3 HTTP-запроса (необязательный). Синонимы: [--value3, --val3, --v3].
- param4: Параметр 4 HTTP-запроса (необязательный). Синонимы: [--param4, --par4, --p4].
- value4: Значение параметра 4 HTTP-запроса (необязательный). Синонимы: [--value4, --val4, --v4].
- param5: Параметр 5 HTTP-запроса (необязательный). Синонимы: [--param5, --par5, --p5].
- value5: Значение параметра 5 HTTP-запроса (необязательный). Синонимы: [--value5, --val5, --v5].
- param6: Параметр 6 HTTP-запроса (необязательный). Синонимы: [--param6, --par6, --p6].
- value6: Значение параметра 6 HTTP-запроса (необязательный). Синонимы: [--value6, --val6, --v6].
- param7: Параметр 7 HTTP-запроса (необязательный). Синонимы: [--param7, --par7, --p7].
- value7: Значение параметра 7 HTTP-запроса (необязательный). Синонимы: [--value7, --val7, --v7].
- param8: Параметр 8 HTTP-запроса (необязательный). Синонимы: [--param8, --par8, --p8].
- value8: Значение параметра 8 HTTP-запроса (необязательный). Синонимы: [--value8, --val8, --v8].
- param9: Параметр 9 HTTP-запроса (необязательный). Синонимы: [--param9, --par9, --p9].
- value9: Значение параметра 9 HTTP-запроса (необязательный). Синонимы: [--value9, --val9, --v9].
- param10: Параметр 10 HTTP-запроса (необязательный). Синонимы: [--param10, --par10, --p10].
- value10: Значение параметра 10 HTTP-запроса (необязательный). Синонимы: [--value10, --val10, --v10].
- fileparams: JSON-файл с параметрами для отправки вида: {"param1":"value1", "param2":"value2"}" (не обязательный).
- jsonbody: Тело отправляемое в качестве json: {"param1":"value1", "param2":"value2"}" (не обязательный).
Команды для работы с информационными базами 1C.
Очистить локальный кэш базы 1С.
- connection: Строка соединения с информационной базой 1С. Для файловой "/FC:\Base1C", а серверной "/Sserver\base". Если будет указано, то очистка кэша будет у этой базы, иначе у всех локальных баз (необязательный). Синонимы: [--connection, -с].
Завершить все клиентские приложения 1С текущего пользователя.
Синтаксический контроль конфигурации 1С.
- connection: Строка соединения с информационной базой 1С. Для файловой "/FC:\Base1C", а серверной "/Sserver\base" (обязательный). Синонимы: [--connection, -с].
- user: Имя пользователя (необязательный). Синонимы: [--user, -u, -n].
- password: Пароль пользователя (необязательный). Синонимы: [--password, --pwd, -p].
- v8version: Версия платформы 1С (необязательный). Синонимы: [--v8version, -v].
- uccode: Ключ разрешения запуска (необязательный). Синонимы: [--uccode, --uc].
- processpath: Каталог записи информация о процессе. Если процесс зависнет, то система закроет его (не обязательный).
- file: Запись результатов проверки в файл (не обязательный). Синонимы: [--file, -f].
- ThinClient: Cинтаксический контроль модулей для режима эмуляции среды управляемого приложения (тонкий клиент), выполняемого в файловом режиме.
- WebClient: Cинтаксический контроль модулей в режиме эмуляции среды веб-клиента.
- Server: Синтаксический контроль модулей в режиме эмуляции среды сервера 1С:Предприятия.
- ExternalConnection: Синтаксический контроль модулей в режиме эмуляции среды внешнего соединения, выполняемого в файловом режиме.
- ExternalConnectionServer: Синтаксический контроль модулей в режиме эмуляции среды внешнего соединения, выполняемого в клиент-серверном режиме.
- ThickClientManagedApplication: Синтаксический контроль модулей в режиме эмуляции среды управляемого приложения (толстый клиент), выполняемого в файловом режиме.
- ConfigLogIntegrity: Логическая целостность конфигурации.
- IncorrectReferences: Поиск некорректных ссылок.
- MobileClient: Синтаксический контроль модулей в режиме эмуляции среды мобильного клиента.
- MobileClientStandalone: Синтаксический контроль модулей в режиме эмуляции среды мобильного клиента, работающего в автономном режиме.
- MobileAppClient: Синтаксический контроль модулей в режиме эмуляции среды мобильного приложения, выполняемого в клиентском режиме запуска.
- MobileAppServer: Синтаксический контроль модулей в режиме эмуляции среды мобильного приложения, выполняемого в серверном режиме запуска.
- ThickClientServerManagedApplication: Синтаксический контроль модулей в режиме эмуляции среды управляемого приложения (толстый клиент), выполняемого в клиент-серверном режиме.
- ThickClientOrdinaryApplication: Синтаксический контроль модулей в режиме эмуляции среды обычного приложения (толстый клиент), выполняемого в файловом режиме.
- ThickClientServerOrdinaryApplication: Синтаксический контроль модулей в режиме эмуляции среды обычного приложения (толстый клиент), выполняемого в клиент-серверном режиме.
- DistributiveModules: Поставка модулей без исходных текстов. В случае, если в настройках поставки конфигурации для некоторых модулей указана поставка без исходных текстов, проверяется возможность генерации образов этих модулей.
- UnreferenceProcedures: Поиск неиспользуемых процедур и функций. Поиск локальных (не экспортных) процедур и функций, на которые отсутствуют ссылки. В том числе осуществляется поиск неиспользуемых обработчиков событий.
- HandlersExistence: Проверка существования назначенных обработчиков. Проверка существования обработчиков событий интерфейсов, форм и элементов управления.
- EmptyHandlers: Поиск пустых обработчиков. Поиск назначенных обработчиков событий, в которых не выполняется никаких действий. Существование таких обработчиков может привести к снижению производительности системы.
- ExtendedModulesCheck: Проверка обращений к методам и свойствам объектов "через точку" (для ограниченного набора типов); проверка правильности строковых литералов - параметров некоторых функций, таких как ПолучитьФорму().
- CheckUseModality: Режим поиска использования в модулях методов, связанных с модальностью. Опция используется только вместе с опцией --ExtendedModulesCheck.
- CheckUseSynchronousCalls: Режим поиска использования в модулях синхронных методов. Параметр используется только вместе с параметром --ExtendedModulesCheck.
- UnsupportedFunctional: Выполняется поиск функциональности, которая не может быть выполнена на мобильном приложении. Проверка в этом режиме показывает: наличие в конфигурации метаданных, классы которых не реализованы на мобильной платформе; наличие в конфигурации планов обмена, у которых установлено свойство "Распределенная информационная база"; использование типов, которые не реализованы на мобильной платформе: в свойствах "Тип" реквизитов метаданных, констант, параметров сеанса; в свойстве "Тип параметра команды" метаданного "Команда"; в свойстве "Тип" реквизитов и колонок реквизита формы; наличие форм с типом формы "Обычная"; наличие в форме элементов управления, которые не реализованы на мобильной платформе. Проверка не выполняется для форм, у которых свойство "Назначение" не предполагает использование на мобильном устройстве; сложный состав рабочего стола (использование более чем одной формы)..
- AllExtensions: Проверка всех расширений.
Загрузить конфигурацию из cf-файла.
- connection: Строка соединения с информационной базой 1С. Для файловой "/FC:\Base1C", а серверной "/Sserver\base" (обязательный). Синонимы: [--connection, -с].
- user: Имя пользователя (необязательный). Синонимы: [--user, -u, -n].
- password: Пароль пользователя (необязательный). Синонимы: [--password, --pwd, -p].
- v8version: Версия платформы 1С (необязательный). Синонимы: [--v8version, -v].
- uccode: Ключ разрешения запуска (необязательный). Синонимы: [--uccode, --uc].
- processpath: Каталог записи информация о процессе. Если процесс зависнет, то система закроет его (не обязательный).
- file: Путь к cf-файлу для выгрузки конфигурации 1С (обязательный). Синонимы: [--file, -f].
- removesupport: Снимает конфигурации с поддержки, отключает от хранилища, по умолчанию включено (не обязательный). Синонимы: [--removesupport, -r].
Загрузить конфигурацию из исходников XML (формат 1C).
- connection: Строка соединения с информационной базой 1С. Для файловой "/FC:\Base1C", а серверной "/Sserver\base" (обязательный). Синонимы: [--connection, -с].
- user: Имя пользователя (необязательный). Синонимы: [--user, -u, -n].
- password: Пароль пользователя (необязательный). Синонимы: [--password, --pwd, -p].
- v8version: Версия платформы 1С (необязательный). Синонимы: [--v8version, -v].
- uccode: Ключ разрешения запуска (необязательный). Синонимы: [--uccode, --uc].
- processpath: Каталог записи информация о процессе. Если процесс зависнет, то система закроет его (не обязательный).
- path: Путь к исходникам конфигурации откуда надо загрузить XML в формате 1С (обязательный). Синонимы: [--path, --from, -p].
Сохранить конфигурацию в cf-файл.
- connection: Строка соединения с информационной базой 1С. Для файловой "/FC:\Base1C", а серверной "/Sserver\base" (обязательный). Синонимы: [--connection, -с].
- user: Имя пользователя (необязательный). Синонимы: [--user, -u, -n].
- password: Пароль пользователя (необязательный). Синонимы: [--password, --pwd, -p].
- v8version: Версия платформы 1С (необязательный). Синонимы: [--v8version, -v].
- uccode: Ключ разрешения запуска (необязательный). Синонимы: [--uccode, --uc].
- processpath: Каталог записи информация о процессе. Если процесс зависнет, то система закроет его (не обязательный).
- file: Путь к cf-файлу для выгрузки конфигурации 1С (обязательный). Синонимы: [--file, -f].
Сохранить конфигурацию в исходники XML (формат 1C).
- connection: Строка соединения с информационной базой 1С. Для файловой "/FC:\Base1C", а серверной "/Sserver\base" (обязательный). Синонимы: [--connection, -с].
- user: Имя пользователя (необязательный). Синонимы: [--user, -u, -n].
- password: Пароль пользователя (необязательный). Синонимы: [--password, --pwd, -p].
- v8version: Версия платформы 1С (необязательный). Синонимы: [--v8version, -v].
- uccode: Ключ разрешения запуска (необязательный). Синонимы: [--uccode, --uc].
- processpath: Каталог записи информация о процессе. Если процесс зависнет, то система закроет его (не обязательный).
- path: Путь к каталогу, куда надо выгрузить конфигурацию в формат XML 1С (обязательный). Синонимы: [--path, --to, -p].
Создание информационной базы 1С.
Создание файловой информационной базы 1C в каталоге.
- path: Каталог, где необходимо создать файловую базу 1С (обязательный). Синонимы: [--path, -p].
- template: Путь к шаблону для создания информационной базы (*.cf; *.dt). Если шаблон не указан, то будет создана пустая ИБ (необязательный). Синонимы: [--template, -t].
- basename: Имя в списке баз пользователя. Если не задано, то ИБ в список не добавляется (необязательный). Синонимы: [--basename, -n].
- v8version: Версия платформы 1С (необязательный). Синонимы: [--v8version, -v].
- language: Код языка запуска платформы (необязательный).
- locale: Код локализации сеанса платформы (необязательный).
Создание серверной информационной базы на сервере 1С.
- server: Адрес кластера серверов 1С ([<протокол>://]<адрес>[:<порт>]) (обязательный).
- ref: Имя базы в кластере 1С (обязательный).
- dbms: Тип сервера СУБД: MSSQLServer <по умолчанию>, PostgreSQL, IBMDB2, OracleDatabase (необязательный).
- dbserver: Адрес сервера СУБД. Если не указано, то равен "--server" (необязательный).
- dbuser: Пользователь сервера СУБД (необязательный).
- dbpassword: Пароль сервера СУБД (необязательный).
- dbname: Имя базы на сервере СУБД. Если не указано, то равен "--ref" (необязательный).
- sqloffs: Смещение дат на сервере MS SQL: 0; 2000 <по умолчанию> (необязательный).
- createdb: Создавать базу данных в случае отсутствия (необязательный).
- allowschjob: Разрешить регламентные задания (необязательный).
- allowlicdstr: Разрешить выдачу лицензий сервером 1С (необязательный).
- cadmuser: Имя администратора кластера (необязательный).
- cadmpassword: Пароль администратора кластера (необязательный).
- template: Путь к шаблону для создания информационной базы (*.cf; *.dt). Если шаблон не указан, то будет создана пустая ИБ (необязательный). Синонимы: [--template, -t].
- basename: Имя в списке баз пользователя. Если не задано, то ИБ в список не добавляется (необязательный). Синонимы: [--basename, -n].
- v8version: Версия платформы 1С (необязательный). Синонимы: [--v8version, -v].
- language: Код языка запуска платформы (необязательный).
- locale: Код локализации сеанса платформы (необязательный).
Создание из информационной базы 1С дистрибутива.
- connection: Строка соединения с информационной базой 1С. Для файловой "/FC:\Base1C", а серверной "/Sserver\base" (обязательный). Синонимы: [--connection, -с].
- user: Имя пользователя (необязательный). Синонимы: [--user, -u, -n].
- password: Пароль пользователя (необязательный). Синонимы: [--password, --pwd, -p].
- v8version: Версия платформы 1С (необязательный). Синонимы: [--v8version, -v].
- uccode: Ключ разрешения запуска (необязательный). Синонимы: [--uccode, --uc].
- processpath: Каталог записи информация о процессе. Если процесс зависнет, то система закроет его (не обязательный).
- prefix: Префикс продукта для дистрибутива (краткое имя продукта на английском). Пример: "it" (обязательный).
- path: Каталог сборки дистрибутива (где будет создан дистрибутив) (обязательный).
- versions_path: Каталог версий где будут браться версии конфигураций для создания обновлений (обязательный). Синонимы: [--versions_path, --vp].
- versions_update: На какие версии будет устанавливаться текущая версия. Пример: "1.0.0.12, 1.0.0.13" (обязательный). Синонимы: [--versions_update, --vu].
- minimal_platform_version: Минимальная версия платформы 1С для работы. Например, "8.3.21.1644" (обязательный). Синонимы: [--minimal_platform_version, --mpv].
- revoked_versions: Какие версии были с отозваны. Версии перечисляются через запятую (не обязательный). Синонимы: [--revoked_versions, --rv].
- shared_path: Каталог общих файлов, которые будут включены в дистрибутив (не обязательный). Синонимы: [--shared_path, --sp].
- vendor: Поставщик дистрибутива. Если не будет задан, информация о поставщике будет получена из информационной базы 1С (не обязательный).
- path_to_install: Корневой каталог поставщика куда будет установлен дистрибутив или демо при установке. Пример: "SoftOnIT". Новая база будет по умолчанию создаваться в "C:\Users\admin\Documents\SoftOnIT\IT". Где SoftOnIT="--path_to_install", а IT="--destination". По умолчанию "Vendor" (не обязательный).
- destination: Каталог установки чистой базы 1С в каталоге поставщика. Дочерний каталог в "--path_to_install". По умолчанию "Base" (не обязательный).
- destination_demo: Каталог установки демо базы 1С в каталоге поставщика. Дочерний каталог в "--path_to_install". По умолчанию: "BaseDemo" (не обязательный).
- changelog: Changelog изменений конфигурации. Необходим для создания новостей (обязательный).
- version: Версия для создания обновления. Если не задана, то будет определена последняя версия из конфигурации (не обязательный). Синонимы: [--version, -v].
- date_update: Дата выхода обновления в формате "dd.MM.yyyy". Может быть датой в будущем (когда планируется релиз). Если не задана, то будет использована текущая дата (не обязательный). Синонимы: [--date_update, --du].
- news_short_description: Краткое описание для новости (необязательный).
- news_picture: Изображение для новости (необязательный).
- news_url: Гиперссылка для новости (необязательный).
- maximgwidth: Максимальная ширина изображения. Полезна для новостей, которые будут отправлены по почте. Всем тегам img будет насильно задана указанная ширина (необязательный).
- parser_configuration_src: Содержит путь к каталогу с конфигурацией парсера (Управление IT-отделом 8). Позволяет более точно обрабатывать markdown-файлы (необязательный).
Пример:
oscript actions.os -v infobase distrib --connection "/FC:\Projects\_Конфигурации\Телеграмм" --prefix "telegram" --path "C:\temp\123" --versions_path "C:\work\telegram" --versions_update "1.0.0.10, 1.0.0.12" --minimal_platform_version "8.3.21.1644" --path_to_install "SoftOnIT" --destination "IT" --destination_demo "DemoIT" --changelog "C:\work\telegram\CHANGELOG.md"
Выгрузка информационной базы 1С в dt-файл.
- connection: Строка соединения с информационной базой 1С. Для файловой "/FC:\Base1C", а серверной "/Sserver\base" (обязательный). Синонимы: [--connection, -с].
- user: Имя пользователя (необязательный). Синонимы: [--user, -u, -n].
- password: Пароль пользователя (необязательный). Синонимы: [--password, --pwd, -p].
- v8version: Версия платформы 1С (необязательный). Синонимы: [--v8version, -v].
- uccode: Ключ разрешения запуска (необязательный). Синонимы: [--uccode, --uc].
- processpath: Каталог записи информация о процессе. Если процесс зависнет, то система закроет его (не обязательный).
- file: Путь к dt-файлу для выгрузки ИБ (обязательный). Синонимы: [--file, -f].
Выгрузка информационной базы 1С в dt-файл в файл, с форматом имени, которое можно задать.
- connection: Строка соединения с информационной базой 1С. Для файловой "/FC:\Base1C", а серверной "/Sserver\base" (обязательный). Синонимы: [--connection, -с].
- user: Имя пользователя (необязательный). Синонимы: [--user, -u, -n].
- password: Пароль пользователя (необязательный). Синонимы: [--password, --pwd, -p].
- v8version: Версия платформы 1С (необязательный). Синонимы: [--v8version, -v].
- uccode: Ключ разрешения запуска (необязательный). Синонимы: [--uccode, --uc].
- processpath: Каталог записи информация о процессе. Если процесс зависнет, то система закроет его (не обязательный).
- path: Путь к каталогу для выгрузки ИБ (обязательный). Синонимы: [--path, -p].
- prefix: Префикс создаваемой выгрузки информационной базы. По умолчанию равно имени базы для серверной ИБ и папке с ИБ для файловой (не обязательный). Синонимы: [--prefix, -p].
- format: Формат сохранения выгрузки. По умолчанию: "yyyy_MM_dd_ЧЧ_мм_сс" => "2023_06_27_03_00_00" (обязательный). Синонимы: [--format, -f].
Работа с расширениями 1С.
Загрузить расширение из cfe-файла в конфигурацию 1С.
- connection: Строка соединения с информационной базой 1С. Для файловой "/FC:\Base1C", а серверной "/Sserver\base" (обязательный). Синонимы: [--connection, -с].
- user: Имя пользователя (необязательный). Синонимы: [--user, -u, -n].
- password: Пароль пользователя (необязательный). Синонимы: [--password, --pwd, -p].
- v8version: Версия платформы 1С (необязательный). Синонимы: [--v8version, -v].
- uccode: Ключ разрешения запуска (необязательный). Синонимы: [--uccode, --uc].
- processpath: Каталог записи информация о процессе. Если процесс зависнет, то система закроет его (не обязательный).
- file: Путь к cfe-файлу расширения, например: --file=./1Cv8.cfe (обязательный). Синонимы: [--file, --from, -f].
- name: Имя расширения конфигурации 1С (обязательный). Синонимы: [--name, --extension, -n].
- update: Признак обновления расширения (не обязательный). Синонимы: [--update, -u].
Загрузить расширение в конфигурацию 1C из каталога с исходниками XML.
- connection: Строка соединения с информационной базой 1С. Для файловой "/FC:\Base1C", а серверной "/Sserver\base" (обязательный). Синонимы: [--connection, -с].
- user: Имя пользователя (необязательный). Синонимы: [--user, -u, -n].
- password: Пароль пользователя (необязательный). Синонимы: [--password, --pwd, -p].
- v8version: Версия платформы 1С (необязательный). Синонимы: [--v8version, -v].
- uccode: Ключ разрешения запуска (необязательный). Синонимы: [--uccode, --uc].
- processpath: Каталог записи информация о процессе. Если процесс зависнет, то система закроет его (не обязательный).
- path: Путь к исходникам расширения (обязательный). Синонимы: [--path, --from, -p].
- name: Имя расширения конфигурации 1С под которым оно будет зарегистрировано (обязательный). Синонимы: [--name, --extension, -n].
- update: Признак обновления расширения. Имеет смысл только на пустой базе или при первой загрузке (не обязательный). Синонимы: [--update, -u].
Сохранить расширение из конфигурации 1С в cfe-файл.
- connection: Строка соединения с информационной базой 1С. Для файловой "/FC:\Base1C", а серверной "/Sserver\base" (обязательный). Синонимы: [--connection, -с].
- user: Имя пользователя (необязательный). Синонимы: [--user, -u, -n].
- password: Пароль пользователя (необязательный). Синонимы: [--password, --pwd, -p].
- v8version: Версия платформы 1С (необязательный). Синонимы: [--v8version, -v].
- uccode: Ключ разрешения запуска (необязательный). Синонимы: [--uccode, --uc].
- processpath: Каталог записи информация о процессе. Если процесс зависнет, то система закроет его (не обязательный).
- file: Путь к выгружаемому файлу расширения (*.cfe) конфигурации 1С (обязательный). Синонимы: [--file, --to, -f].
- name: Имя расширения конфигурации 1С (обязательный). Синонимы: [--name, --extension, -n].
Сохранить расширение из конфигурации 1С в исходники XML.
- connection: Строка соединения с информационной базой 1С. Для файловой "/FC:\Base1C", а серверной "/Sserver\base" (обязательный). Синонимы: [--connection, -с].
- user: Имя пользователя (необязательный). Синонимы: [--user, -u, -n].
- password: Пароль пользователя (необязательный). Синонимы: [--password, --pwd, -p].
- v8version: Версия платформы 1С (необязательный). Синонимы: [--v8version, -v].
- uccode: Ключ разрешения запуска (необязательный). Синонимы: [--uccode, --uc].
- processpath: Каталог записи информация о процессе. Если процесс зависнет, то система закроет его (не обязательный).
- name: Имя расширения конфигурации 1С, под которым оно зарегистрировано в списке расширений (обязательный). Синонимы: [--name, --extension, -n].
- path: Путь к исходникам XML расширения куда их необходимо сохранить (обязательный). Синонимы: [--path, --to, -p].
Обновление расширения в информационной базе 1С.
- connection: Строка соединения с информационной базой 1С. Для файловой "/FC:\Base1C", а серверной "/Sserver\base" (обязательный). Синонимы: [--connection, -с].
- user: Имя пользователя (необязательный). Синонимы: [--user, -u, -n].
- password: Пароль пользователя (необязательный). Синонимы: [--password, --pwd, -p].
- v8version: Версия платформы 1С (необязательный). Синонимы: [--v8version, -v].
- uccode: Ключ разрешения запуска (необязательный). Синонимы: [--uccode, --uc].
- processpath: Каталог записи информация о процессе. Если процесс зависнет, то система закроет его (не обязательный).
- name: Имя расширения конфигурации 1С (обязательный). Синонимы: [--name, --extension, -n].
Получение информации из макетов с описанием изменений (новостей) по версии.
- connection: Строка соединения с информационной базой 1С. Для файловой "/FC:\Base1C", а серверной "/Sserver\base" (обязательный). Синонимы: [--connection, -с].
- user: Имя пользователя (необязательный). Синонимы: [--user, -u, -n].
- password: Пароль пользователя (необязательный). Синонимы: [--password, --pwd, -p].
- v8version: Версия платформы 1С (необязательный). Синонимы: [--v8version, -v].
- uccode: Ключ разрешения запуска (необязательный). Синонимы: [--uccode, --uc].
- processpath: Каталог записи информация о процессе. Если процесс зависнет, то система закроет его (не обязательный).
- html: Путь к HTML-файлу, куда будет сохранена информация об обновлении. Необходимо заполнение одной из опций "--html" или "--txt" или "--letter" (не обязательный). Синонимы: [--html, -h].
- txt: Путь к текстовому файлу, куда будет сохранена информация об обновлении. Необходимо заполнение одной из опций "--html" или "--txt" или "--letter" (не обязательный). Синонимы: [--txt, -t].
- letter: Путь к HTML-письму для рассылки, куда будет сохранена информация об обновлении. Необходимо заполнение одной из опций "--html" или "--txt" или "--letter" (не обязательный). Синонимы: [--letter, -l].
- maket: Общий макет в конфигурации где хранится описание изменений. Необходим для создания новости. По умолчанию "ОписаниеИзмененийСистемы" (не обязательный). Синонимы: [--maket, -m].
- version: Версия для создания новости. Если не задана, то будет определена последняя версия из конфигурации (не обязательный). Синонимы: [--version, -v].
- date_update: Дата выхода обновления в формате "dd.MM.yyyy". Может быть датой в будущем (когда планируется релиз). Если не задана, то будет использована текущая дата (не обязательный). Синонимы: [--date_update, --du].
- withstyle: Сохранить HTML-файл в полном оформлении, теги html, body и стили. Если не задана, то будет сохранено все содержимое тега body без стилей (не обязательный).
Загрузка информационной базы 1С из dt-файла.
- connection: Строка соединения с информационной базой 1С. Для файловой "/FC:\Base1C", а серверной "/Sserver\base" (обязательный). Синонимы: [--connection, -с].
- user: Имя пользователя (необязательный). Синонимы: [--user, -u, -n].
- password: Пароль пользователя (необязательный). Синонимы: [--password, --pwd, -p].
- v8version: Версия платформы 1С (необязательный). Синонимы: [--v8version, -v].
- uccode: Ключ разрешения запуска (необязательный). Синонимы: [--uccode, --uc].
- processpath: Каталог записи информация о процессе. Если процесс зависнет, то система закроет его (не обязательный).
- file: Путь к dt-файлу для загрузки ИБ (обязательный). Синонимы: [--file, -f].
- del: Удалить исходный dt-файл после загрузки (не обязательный). Синонимы: [--del, -d].
Выполнить произвольный код в режиме 1С:Предприятие.
- connection: Строка соединения с информационной базой 1С. Для файловой "/FC:\Base1C", а серверной "/Sserver\base" (обязательный). Синонимы: [--connection, -с].
- user: Имя пользователя (необязательный). Синонимы: [--user, -u, -n].
- password: Пароль пользователя (необязательный). Синонимы: [--password, --pwd, -p].
- v8version: Версия платформы 1С (необязательный). Синонимы: [--v8version, -v].
- uccode: Ключ разрешения запуска (необязательный). Синонимы: [--uccode, --uc].
- processpath: Каталог записи информация о процессе. Если процесс зависнет, то система закроет его (не обязательный).
- file: Путь к файлу с кодом, который надо выполнить (обязательный). Синонимы: [--file, -f].
- code: Произвольный код, который надо выполнить (не обязательный). Синонимы: [--code, --text, --txt].
Должен быть заполнен либо параметр "--code", либо параметр "--file". Если оба не будут заполнены, или оба будут заполнены, то будет отоборажена ошибка.
Подтверждение легальности получения обновлений (для конфигураций на базе БСП).
- connection: Строка соединения с информационной базой 1С. Для файловой "/FC:\Base1C", а серверной "/Sserver\base" (обязательный). Синонимы: [--connection, -с].
- user: Имя пользователя (необязательный). Синонимы: [--user, -u, -n].
- password: Пароль пользователя (необязательный). Синонимы: [--password, --pwd, -p].
- v8version: Версия платформы 1С (необязательный). Синонимы: [--v8version, -v].
- uccode: Ключ разрешения запуска (необязательный). Синонимы: [--uccode, --uc].
- processpath: Каталог записи информация о процессе. Если процесс зависнет, то система закроет его (не обязательный).
Обновление конфигурации, находящейся на поддержке.
- connection: Строка соединения с информационной базой 1С. Для файловой "/FC:\Base1C", а серверной "/Sserver\base" (обязательный). Синонимы: [--connection, -с].
- user: Имя пользователя (необязательный). Синонимы: [--user, -u, -n].
- password: Пароль пользователя (необязательный). Синонимы: [--password, --pwd, -p].
- v8version: Версия платформы 1С (необязательный). Синонимы: [--v8version, -v].
- uccode: Ключ разрешения запуска (необязательный). Синонимы: [--uccode, --uc].
- processpath: Каталог записи информация о процессе. Если процесс зависнет, то система закроет его (не обязательный).
- file: Путь к cf или cfe-файлу для обновления конфигурации (обязательный). Синонимы: [--file, -f].
Команды для работы с json-файлами.
Чтение по ключу из файла json.
- file: Имя файла json. Если не задано, то будет чтение из файла settings.json (не обязательный). Синонимы: [--file, -f].
- key: Имя ключа в точечной нотации. Пример "zip.add" - из json {"zip": {"add": "value"}} вернет в консоль "value" (обязательный). Синонимы: [--key, -k].
- out: Сохранить результат чтения в файл. Если не задано, то выведется в консоль (не обязательный). Синонимы: [--out, -o].
- errors: Выдавать ошибки в консоль, если при чтении из файла json будут ошибки (не обязательный). Синонимы: [--errors, -e].
Пример файла находятся в папке tests\fixtures\test.json
{
"default": {
"test": {
"string": "Hello world",
"number": 555,
"boolean": true
}
}
}
Выполним команду:
# Читаем строку
oscript actions.os json read "..\tests\fixtures\test.json" --key "default.test.string"
# В консоль будет выведено "Hello world"
Запись значения по ключу в файл json.
- file: Имя файла json. Если не задано, то будет дозапись в файл settings.json. Если файла нет, он будет создан (не обязательный). Синонимы: [--file, -f].
- action: Действие с json-файлом: set, del, addinarray, cleararray По умолчанию set (не обязательный). set: Установить значение ключа простого типа (Строка, Число, Булево, Дата) del: Удалить значение ключа addinarray: Добавить значение простого типа в массив cleararray: Очистить массив Синонимы: [--action, -a].
- key: Имя ключа в точечной нотации. Пример "zip.add" - добавит {"zip": {"add": "value"}} (обязательный). Синонимы: [--key, -k].
- string: Значение-строка. Синонимы: [--string, --str, -s].
- number: Значение-число. Синонимы: [--number, --num, -n].
- boolean: Значение-булево (True/False, 1/0, Истина/Ложь). Синонимы: [--boolean, --bool, -b].
- date: Значение-дата в формате yyyy-MM-dd_HH:mm:ss. Синонимы: [--date, -d].
- filevalue: Значение файла будет прочитано и записано в ключ.
Записываемое значение может быть различных типов.
-
Записываем строку. Приоритет 1
--action set
можно не писать:oscript actions.os json write --action set --file example.json --key "add.zip.string" --string "Привет мир"
-
Записываем число. Приоритет 2:
oscript actions.os json write --file example.json --key "add.zip.number" --number 555
-
Записываем булево. Приоритет 3:
# Присваиваем Истина oscript actions.os json write --file example.json --file example.json --key "add.zip.boolean1" --boolean true oscript actions.os json write --file example.json --key "add.zip.boolean2" --boolean 1 oscript actions.os json write --file example.json --key "add.zip.boolean3" --boolean Истина # Присваиваем Ложь oscript actions.os json write --file example.json --key "add.zip.boolean4" --boolean false oscript actions.os json write --file example.json --key "add.zip.boolean5" --boolean 0 oscript actions.os json write --file example.json --key "add.zip.boolean6" --boolean Ложь
-
Записываем считанный файл. Приоритет 4:
oscript actions.os json write --key "add.zip.file" --filevalue "C:\Folder\file.txt"
-
Записываем дату. Приоритет 5:
oscript actions.os json write --key "add.zip.date" --date 2023-06-05_23:59:59
Важно! Если указать несколько значений у одного ключа одновременно (пример: "--key "add.zip" --boolean 1 --number 555"), то значение установится по приоритету указанному выше, в примерах (1-5).
-
Удалим ключи из json:
oscript actions.os json write --action del --key "add.zip.boolean6" oscript actions.os json write --action del --key "add.zip.file"
-
Далее поработаем с массивами и добавим элементы в массив:
oscript actions.os json write --action addinarray --key "add.zip.array" --str "Элемент 1" oscript actions.os json write --action addinarray --key "add.zip.array" --str "Элемент 2"
-
Затем очистим массив:
oscript actions.os json write --action cleararray --key "add.zip.array"
После выполнения всех команд получим файл example.json
с таким содержимым:
{
"add": {
"zip": {
"string": "Привет мир",
"number": 555,
"boolean1": true,
"boolean2": true,
"boolean3": true,
"boolean4": false,
"boolean5": false,
"date": "2023-06-05T23:59:59Z",
"array": []
}
}
}
Работа с замерами производительности выполнения команд actions.
Получение краткого отчета по замерам производительности actions состоящего из одного файла (возможно для отправки по почте или для сохранения в артефакты).
- path: Каталог где хранятся json-отчеты по замерам производительности (обязательный). Синонимы: [--path, -p].
- file: Имя html-файла куда сохранить отчет по замерам производительности по всем замерам в каталоге (обязательный). Синонимы: [--file, -f].
Работа с обфускацией (запутывание кода) сервиса https://netlenka.org.
Обфускация или запутывание кода — приведение исходного кода или исполняемого кода программы к виду, сохраняющему её функциональность, но затрудняющему анализ, понимание алгоритмов работы и модификацию при декомпиляции.
Обфускация используется для защиты конфигураций 1С, в частности общих модулей.
Приведем наглядный пример. Пусть у нас есть модуль, который содержит функцию возвращающуу массив простых чисел:
// Возвращает массив простых чисел от 1 до максимального.
//
// Параметры:
// МаксимальноеЧисло - Число - до этого числа будет строится массив.
//
// Возвращаемое значение:
// Массив - массив простых чисел.
//
Функция МассивПростыхЧисел(Знач МаксимальноеЧисло) Экспорт
Результат = Новый Массив;
Для ПроверяемоеЧисло = 1 По МаксимальноеЧисло Цикл
ВерхняяГраницаПроверки = ПроверяемоеЧисло - 1;
ЭтоПростоеЧисло = Истина;
Для Индекс = 2 По ВерхняяГраницаПроверки Цикл
Если ПроверяемоеЧисло % Индекс = 0 Тогда
ЭтоПростоеЧисло = Ложь;
Прервать;
КонецЕсли;
КонецЦикла;
Если ЭтоПростоеЧисло Тогда
Результат.Добавить(ПроверяемоеЧисло);
КонецЕсли;
КонецЦикла;
Возврат Результат;
КонецФункции
Выполняем команду в консоли (в папке src)
oscript actions.os netlenka module -file c:\Temp\ПростыеЧисла.bsl -outfile c:\Temp\ПростыеЧислаОбфусцированный.bsl -APIKey 4447C4CB6DDFF7597277904444F8F024945DB382993D1A9403F27F4760B19B719662424EE1AAA34A85C0444D828CB8F54433F82BC8448185F915E9B8768DEBDF
И получаем обфусцированный файл:
function массивпростыхчисел(val a)export var ___a; ~0:; _0=1; _0=-_0; _1=1; _0=_0>=_1; if _0=false then goto ~IL_0 endif; goto ~2; ~IL_0:; goto ~1; ~1:; goto ~3; ~2:; ~3:; _0=new массив; a_=_0; goto ~5; ~4:; _0=new структура; a_=_0; goto ~5; ~5:; _0=1; a__=_0; _0=a; _e96099e2_1fdd_449a_af14_28f4abb97b25=_0; goto ~IL_2; ~IL_3:; ~6:; _0=1; _1=0; _0=_0<=_1; if _0=false then goto ~IL_5 endif; goto ~7; ~IL_5:; goto ~10; ~7:; ~8:; _0=a__; _1=1; _0=_0-_1; a___=_0; goto ~11; ~9:; goto ~11; ~10:; goto ~8; ~11:; ~12:; _0=0; ___a=_0; goto ~13; ~13:; _0=истина; _a=_0; goto ~15;
~14:; goto ~15; ~15:; _0=2; __a=_0; _0=a___; _9f91b140_1943_4368_8052_23db0ec59cb7=_0; goto ~IL_7; ~IL_8:; ~16:; _0=1; ___a=_0; goto ~18; ~17:; goto ~19; ~18:; _0=a__; _1=__a; _0=_0%_1; _1=0; _0=_0=_1; if _0=false then goto ~IL_10 endif; goto ~20; ~IL_10:; goto ~19; ~19:; goto ~31; ~20:; ~21:; _0=1; _1=0; _0=_0>_1; if _0=false then goto ~IL_11 endif; goto ~23; ~IL_11:; goto ~24; ~22:; _0=ложь; _a=_0; goto ~26; ~23:; goto ~22; ~24:; ~25:; goto ~26; ~26:; ~27:; _0=1; ___a=_0; goto ~28; ~28:; goto ~IL_6; goto ~30; ~29:; goto ~30; ~30:; goto ~31; ~31:; ~IL_9:; _0=__a; _1=1;
_0=_0+_1; __a=_0; ~IL_7: _0=__a; _1=_9f91b140_1943_4368_8052_23db0ec59cb7; if _0<=_1 then goto ~IL_8 endif; ~IL_6:; ~32:; _0=0; ___a=_0; goto ~33; ~33:; _0=_a; if _0=false then goto ~IL_12 endif; goto ~36; ~IL_12:; goto ~35; ~34:; goto ~35; ~35:; goto ~41; ~36:; ~37:; _0=1; _0=-_0; ___a=_0; goto ~39; ~38:; goto ~40; ~39:; a_.добавить(a__); goto ~40; ~40:; goto ~41; ~41:; ~IL_4:; _0=a__; _1=1; _0=_0+_1; a__=_0; ~IL_2: _0=a__; _1=_e96099e2_1fdd_449a_af14_28f4abb97b25; if _0<=_1 then goto ~IL_3 endif; ~IL_1:; ~42:; _0=1; _1=1; _1=-_1; _0=_0<=_1; if _0=false then goto ~IL_13 endif;
goto ~44; ~IL_13:; goto ~43; ~43:; goto ~46; ~44:; ~45:; goto ~47; ~46:; _0=a_; return _0; goto ~47; ~47:; endfunction
Вставив обфусцированный модуль вместо старого модуля получим точно такую же работающую функцию, но абсолютно не читаемую.
Обфускация общего модуля 1С:Предприятие 8.
- in: Исходный файл, который необходимо обфусцировать (обязательный). Синонимы: [--in, -i].
- out: Куда сохранить обфусцированный файл. Если не задан, то исходный файл будет заменен обфусцированным (необязательный). Синонимы: [--out, -o].
- apikey: API-ключ, который можно найти на сайте сервиса. Пример: 23412341A4..12FDA (обязательный). Синонимы: [--apikey, -a].
Обфускация скрипта OneScript.
- in: Исходный файл, который необходимо обфусцировать (обязательный). Синонимы: [--in, -i].
- out: Куда сохранить обфусцированный файл. Если не задан, то исходный файл будет заменен обфусцированным (необязательный). Синонимы: [--out, -o].
- apikey: API-ключ, который можно найти на сайте сервиса. Пример: 23412341A4..12FDA (обязательный). Синонимы: [--apikey, -a].
Создание новостных рассылок через сторонние сервисы рассылок.
Работа с сервисом рассылок https://sendsay.ru.
Выполняет отправку сформированного шаблона рассылки на сервис SendSay с использованием их API https://sendsay.ru/api/api.html.
- account: Код вашего аккаунта (совпадает с основным логином) (обязательный). Синонимы: [--account, --acc].
- apikey: Секретный API-ключ, пользователя SendSay, по которому будет осуществлена авторизация в API (обязательный). Синонимы: [--apikey, -a].
- segment: Идентификатор сегмента получателей рассылки (обязательный). Синонимы: [--segment, --seg].
- templateid: Идентификатор шаблона рассылки, который необходимо изменить (обязательный). Синонимы: [--templateid, --tid].
- templatename: Наименование шаблона рассылки (обязательный). Синонимы: [--templatename, --tname].
- templatehtml: Локальный путь к файлу готового шаблона рассылки в формате HTML и в кодировке UTF-8 (обязательный). Синонимы: [--templatehtml, --html].
- subject: Тема письма (не обязательный). Синонимы: [--subject, --sub].
- from: От имени кого будет отправлено письмо (обязательный).
- email: С какого e-mail будет отправлено письмо (обязательный).
Пауза в результате которой приложение ожидает некоторое время.
- timeout: Задает время в секундах, на которое программа будет установлена на паузу. По умолчанию 5 (не обязательный). Синонимы: [--timeout, --interval, -t, -i].
Работа с процессами операционной системы (ОС).
Завершение процесса по PID.
- pid: PID процесса, который необходимо завершить (не обязательный). Синонимы: [--pid, -p].
- windowtitle: Регулярное выражение заголовка окна для завершения. Пример: "Бухгалтерия" (не обязательный). Синонимы: [--windowtitle, -t].
- processname: Заголовок окна или его маска, который необходимо завершить. Пример "1cv8" (не обязательный). Синонимы: [--processname, -p].
Завершение процессов по файлам (если включена опция processpath).
- processpath: Каталог с json-файлам с информацией о запущенных процессах для закрытия (обязательный). Синонимы: [--processpath, -p].
Запуск нового процесса.
- cmd: Командная строка запускаемого процесса. Пример "notepad.exe" или "C:\Folder\File.exe" (обязательный). Синонимы: [--cmd, -c].
- arg: Аргументы запускаемого процесса (не обязательный). Синонимы: [--arg, -a].
- wait: Ожидать завершения. По умолчанию не ожидает (не обязательный). Синонимы: [--wait, -w].
- processpath: Каталог записи информация процессе EDT. Если процесс зависнет, то система закроет его (не обязательный). Синонимы: [--processpath, -p].
Работа с тестированием и запуск тестов для информационной базы 1С с помощью Vanessa Automation.
Проверка log-файлов после выполнения тестов Vanessa-Automation. Если найдется ошибка в файлах, программа завершится с ошибкой.
- path: Путь где будет осуществлен поиск log-файлов тестирования Vanessa-Automation (обязательный). Синонимы: [--path, -p].
- mask: Маска log-файлов тестирования Vanessa-Automation. По умолчанию "*.log" (не обязательный). Синонимы: [--mask, -m].
Запуск тестов Vanessa Automation.
- connection: Строка соединения с информационной базой 1С. Для файловой "/FC:\Base1C", а серверной "/Sserver\base" (обязательный). Синонимы: [--connection, -с].
- user: Имя пользователя (необязательный). Синонимы: [--user, -u, -n].
- password: Пароль пользователя (необязательный). Синонимы: [--password, --pwd, -p].
- v8version: Версия платформы 1С (необязательный). Синонимы: [--v8version, -v].
- ordinaryapp: Запуск толстого клиента (1 = толстый, 0 = тонкий клиент, -1 = без указания клиента). По умолчанию используется значение 0 (тонкий клиент). (обязательный). Синонимы: [--ordinaryapp, -o].
- uccode: Ключ разрешения запуска (необязательный). Синонимы: [--uccode, --uc].
- processpath: Каталог записи информация о процессе. Если процесс зависнет, то система закроет его (не обязательный).
- path: Путь для запуска тестов. Можно указывать как каталог с фичами, так и конкретную фичу (не обязательный). Синонимы: [--path, -p].
- pathvanessa: Путь к epf-файлу Vanessa Automation для загрузки ИБ (обязательный). Синонимы: [--pathvanessa, --pathepf, -e].
- vanessasettings: Путь к файлу настроек фреймворка тестирования. Как правило это "VAParams.json" (обязательный). Синонимы: [--vanessasettings, --vs].
- workspace: Путь к папке, относительно которой будут определятся макросы $workspace. По умолчанию текущий (не обязательный). Синонимы: [--workspace, -w].
- tagsignore: Теги игнорирования фича-файлов (не обязательный). Синонимы: [--tagsignore, --ti].
- tagsfilter: Теги отбор фича-файлов (не обязательный). Синонимы: [--tagsfilter, --tf].
- additionalkeys: Дополнительные параметры, передаваемые в параметр /С (не обязательный). Синонимы: [--additionalkeys, --addkeys, --ak].
- nowait: Не ожидать завершения запущенной команды/действия (не обязательный).
Замена тега в папке с feature-файлами с одного на другой.
- path: Путь где будет осуществлен поиск и замена тегов в feature-файлах (обязательный). Синонимы: [--path, -p].
- from: Исходный тег, который надо заменить во feature-файлах (обязательный). Синонимы: [--from, -f].
- to: Тег, которым будет заменен исходный тег "--from" во feature-файлах (обязательный). Синонимы: [--to, -t].
Возвращает количество тегов в каталоге с тестами.
- path: Путь feature-файлах (обязательный). Синонимы: [--path, -p].
- tag: Тег, который необходимо найти во feature-файлах и посчитать количество таких тестов (обязательный). Синонимы: [--tag, -t].
Добавление тега всем feature-файлами вида "@Prefix_Number". Prefix - название тега, а Numer по очереди от 1 до Max. Prefix и Max можно задать. Позволяет разбить feature-файлы на равное количество групп добавленными тегами.
- path: Путь где будет осуществлен поиск и добавление тегов в feature-файлах (обязательный). Синонимы: [--path, -p].
- prefix: Префикс добавляемого тега, который надо заменить во feature-файлах. По умолчанию "tag" (не обязательный).
- max: Количество групп на которое надо разбить feature-файлы. По умолчанию "3" (не обязательный). Синонимы: [--max, --count, -m, -c].
- filtertags: Новый тег будет добавлен, если в feature-файле будут найдены указанные теги-фильтры. Можно задать несколько через запятую (не обязательный). Синонимы: [--filtertags, --ft].
Команды работы с ZIP-архивами.
Добавить файлы в zip-архив.
- file: Полное имя файла создаваемого zip-архива (обязательный). Синонимы: [--file, -f].
- mask: Файлы и папки, включаемые в архив. Можно использовать разделитель ";" и маски файлов (обязательный). Примеры: "C:\Path\File1.txt;C:\Path\Folder" "C:\Path\.txt;C:\Path\Folder\.*" "C:\Path\Folder". Синонимы: [--mask, -m].
Распаковать zip-архив.
- file: Полное имя файла zip-архива для распаковки (обязательный). Синонимы: [--file, -f].
- path: Директория куда необходимо распаковать архив (обязательный). Синонимы: [--path, -p].