Автоматизация повседневных операций 1С разработчика

Статус Порога Качества Покрытие Строки кода

Описание

Автоматизация повседневных операций 1С разработчика

Описание

Консольное приложение проекта oscript.io для автоматизации различных операции для работы с cf/cfe/epf файлами, а также автоматизация запуска сценариев поведения (BDD) и тестов из фреймворка Vanessa-ADD.

Предназначено для организации разработки 1С в режиме, когда работа в git идет напрямую с исходниками или работаем через хранилище 1С.

Позволяет обеспечить единообразный запуск команд "локально" и на серверах сборки CI-CD

Установка

используйте пакетный менеджер opm из стандартной поставки дистрибутива oscript.io

opm install vanessa-runner

при установке будет создан исполняемый файл vrunner в каталоге bin интерпретатора oscript.

После чего доступно выполнение команд через командную строку vrunner <имя команды>

Использование

Ключ help покажет справку по параметрам.

vrunner help

или внутри батника (ВАЖНО) через call

call vrunner help

Основной принцип - запустили bat файл с настроенными командами и получили результат.

Сборка обработок и конфигураций

Для сборки обработок необходимо иметь установленный oscript в переменной PATH и платформу выше 8.3.8

В командной строке нужно перейти в каталог с проектом и выполнить tools\compile_epf.bat, по окончанию в каталоге build\epf должны появиться обработки. Вся разработка в конфигураторе делается в каталоге build, по окончанию доработок запускаем tools\decompile_epf.bat

Обязательно наличие установленного v8unpack версии не ниже 3.0.38 в переменной PATH.

Примеры настройки и вызова

1. Создание ИБ из последней конфигурации хранилища 1С, обновление в режиме Предприятия и первоначальное заполнение ИБ

1с-init.cmd :

@rem Полная инициализация из репозитария, обновление в режиме Предприятия и начальное заполнение ИБ ./build/ibservice

@rem Пример запуска 1с-init.cmd storage-user storage-password

@chcp 65001

@set RUNNER_IBNAME=/F./build/ibservice

@call vrunner init-dev --storage --storage-name http:/repo-1c --storage-user %1 --storage-pwd %2

@call vrunner run --command "ЗапуститьОбновлениеИнформационнойБазы;ЗавершитьРаботуСистемы;" --execute $runnerRoot\epf\ЗакрытьПредприятие.epf

@call vrunner vanessa --settings tools/vrunner.first.json

@rem Если убрать комментарий из последней строки, тогда можно выполнять полный прогон bdd-фич
@rem @call vrunner vanessa --settings tools/vrunner.json

2. Вызов проверки поведения через Vanessa-ADD

  • запуск vrunner vanessa --settings tools/vrunner.json

    • или внутри батника
      • call vrunner vanessa --settings tools/vrunner.json
  • vrunner.json:

{
    "default": {
        "--ibconnection": "/F./build/ib",
        "--db-user": "Администратор",
        "--db-pwd": "",
        "--ordinaryapp": "0"
    },
    "vanessa": {
        "--vanessasettings": "./tools/VBParams.json",
        "--workspace": ".",
        "--additional": "/DisplayAllFunctions /L ru"
    }
}
  • VBParams.json
{
    "ВыполнитьСценарии": true,
    "ЗавершитьРаботуСистемы": true,
    "ЗакрытьTestClientПослеЗапускаСценариев": true,
    "КаталогФич": "$workspaceRoot/features/01-СистемаУправления",
    "СписокТеговИсключение": [
        "IgnoreOnCIMainBuild",
        "FirstStart",
        "Draft"
    ],
    "КаталогиБиблиотек": [
        "./features/Libraries"
    ],
    "ДелатьОтчетВФорматеАллюр": true,
    "КаталогOutputAllureБазовый": "$workspaceRoot/build/out/allure",
    "ДелатьОтчетВФорматеCucumberJson": true,
    "КаталогOutputCucumberJson": "$workspaceRoot/build/out/cucumber",
    "ВыгружатьСтатусВыполненияСценариевВФайл": true,
    "ПутьКФайлуДляВыгрузкиСтатусаВыполненияСценариев": "$workspaceRoot/build/out/vbStatus.log",
    "ДелатьЛогВыполненияСценариевВТекстовыйФайл": true,
    "ИмяФайлаЛогВыполненияСценариев": "$workspaceRoot/build/out/vbOnline.log"
}

3. Переопределение аргументов запуска

В случае необходимости переопределения параметров запуска используется схема приоритетов.

Приоритет в порядке возрастания (от минимального до максимального приоритета)

  • env.json (в корне проекта)
  • --settings ../env.json (указание файла настроек вручную)
  • RUNNER_* (из переменных окружения)
  • --* (ключи командной строки)

Описание:

  • На первоначальном этапе читаются настройки из файла настроек, указанного в ключе команды --settings tools/vrunner.json
  • Потом, если настройка есть в переменной окружения, тогда берем из неe.
  • Если же настройка есть, как в файле json, так и в переменной окружения и непосредственно в командной строке, то берем настройку из командной строки.

Например:

Переопределение переменной окружения

Установка значения
  1. Допустим, в файле vrunner.json указана настройка

    "--db-user":"Администратор"
    

    а нам для определенного случая надо переопределить имя пользователя, тогда можно установить переменную: set RUNNER_DBUSER=Иванов и в данный параметр будет передано значение Иванов

  2. Очистка значения после установки

    set RUNNER_DBUSER=Иванов
    set RUNNER_DBUSER=
    

    в данном случае установлено полностью пустое значение и имя пользователя будет взято из tools/vrunner.json, если оно там есть.

  3. Установка пустого значения:

    set RUNNER_DBUSER=""
    set RUNNER_DBUSER=''
    

    Если необходимо установить в поле пустое значение, тогда указываем кавычки и в параметр --db-user будет установлена пустая строка.

  4. Переопределение через параметры командной строки.

    Любое указание параметра в командной строке имеет наивысший приоритет.

Шаблонные переменные

При указании значений параметров внутри строки с параметром можно использовать шаблонные переменные. Список таких переменных:

  • workspaceRoot - означает каталог текущего проекта
  • runnerRoot - означает каталог установки vanessa-vrunner
  • addRoot - означает каталог установки библиотеки ADD

Вывод отладочной информации

Управление выводом логов выполняется с помощью типовой для oscript-library настройки логирования через пакет logos.

Основной лог vanessa-vrunner имеет название oscript.app.vanessa-vrunner.

Примеры

Включение всех отладочных логов:

rem только для logos версии >=0.6
set LOGOS_CONFIG=logger.rootLogger=DEBUG

call vrunner <параметры запуска>

Если выводится сообщение про неправильные параметры командной строки:

set LOGOS_CONFIG=logger.oscript.lib.cmdline=DEBUG
call vrunner <параметры запуска>

Включит отладочный лог только для библиотеки cmdline, которая анализирует параметры командной строки.

Дополнительные обработки для режима 1С:Предприятие

В папке epf есть несколько обработок, позволяющих упростить развертывание/тестирование для конфигураций, основанных на БСП.

  • Основной пример (см. ниже пример вызова) - это передача через параметры /C команды "ЗапуститьОбновлениеИнформационнойБазы;ЗавершитьРаботуСистемы" и одновременная передача через /Execute"ЗакрытьПредприятие.epf".

    • При запуске с такими ключами подключается обработчик ожидания, который проверяет наличие формы с заголовком обновления и при окончании обновления завершает 1С:Предприятие. Данное действие необходимо для полного обновления информационной базы 1С:Предприятия, пока действует блокировка на фоновые задачи и запуск пользователей.
  • ЗагрузитьРасширение позволяет подключать расширение в режиме предприятия и получать результат ошибки. Предназначено для подключения в конфигурациях, основанных на БСП. В параметрах /C передается путь к расширению и путь к файлу лога подключения.

  • ЗагрузитьВнешниеОбработки позволяет загрузить все внешние обработки и подключить в справочник "Дополнительные отчеты и обработки", т.к. их очень много то первым параметром идет каталог, вторым параметром путь к файлу лога. Все обработки обновляются согласно версиям.

Дополнительная настройка различных команд

Настройка синтаксической проверки

Для управления режима синтаксической проверки рекомендуется использовать json-файл настройки. Для его использования нужно

  • установить путь к нему в параметре VRUNNER_CONF
  • внутри json-файла нужно добавить секцию syntax-check
  • список всех используемых параметров можно уточнить, выполнив команду vrunner help syntax-check
  • ссылка на подготовленный файл examples\example.env.json
  • также можно передавать параметры синтакс-проверки через командную строку
    • в этом случае режимы проверки должны быть указаны последним параметров ком.строки последовательно, через пробел
      • например, vrunner syntax-check --groupbymetadata --mode -ExtendedModulesCheck -Server -ThinClient -ExternalConnection

Пример настройки в файле

{
    "syntax-check": {
        "--groupbymetadata":true,
        "--exception-file":"",
        "--mode": [
            "-ExtendedModulesCheck",
            "-ThinClient",
             "-WebClient",
             "-Server",
             "-ExternalConnection",
             "-ThickClientOrdinaryApplication"
        ]
        // "-Extension" : "ИмяРасширения",
        // "-AllExtensions" : true
    }
}

Настройка режимов реструктуризации при обновлении конфигурации БД

Возможно использование специальных режимов реструктуризации -v1 и -v2.

  • В режиме командной строки
    • указываются ключи --v1 и --v2. Важно: указать двойной знак --, а не одиночный!
    • 3 команды поддерживают эти ключи
      • init-dev
      • update-dev
      • updatedb
    • например, vrunner updatedb --ibconnection /F./build/ibservice --uccode test --v2
  • в json-файле настройки
    • например,
{
    "updatedb": {
        "--v2": true,
        "--uccode": "test"
    },
    "init-dev": {
        "--v2": true
    }
    },
    "update-dev": {
        "--v2": true
    }
}

Доступные версии пакета

1.11.11
Изменен: 21.06.2022 13:36:58
1.11.1
Изменен: 28.03.2022 10:33:48
1.10.2
Изменен: 16.02.2021 13:02:26
1.10.1
Изменен: 16.02.2021 11:31:50
1.10.0
Изменен: 03.05.2020 08:59:22
1.9.0
Изменен: 13.12.2019 12:45:58
1.8.0
Изменен: 31.10.2019 12:38:58
1.7.0
Изменен: 15.05.2019 12:42:03
1.6.0
Изменен: 02.01.2019 19:48:30
1.5.0
Изменен: 02.01.2019 19:48:30
1.4.1
Изменен: 02.01.2019 19:48:30
1.3.1
Изменен: 02.01.2019 19:48:30
1.3.0
Изменен: 02.01.2019 19:48:30
1.2.0
Изменен: 02.01.2019 19:48:30
1.1.0
Изменен: 02.01.2019 19:48:30
1.0.0
Изменен: 02.01.2019 19:48:30
0.17.0
Изменен: 02.01.2019 19:48:30
0.16.2
Изменен: 02.01.2019 19:48:30
0.16.0
Изменен: 02.01.2019 19:48:30
0.15.0
Изменен: 02.01.2019 19:48:30
0.14.0
Изменен: 02.01.2019 19:48:30
0.13.1
Изменен: 02.01.2019 19:48:30
0.12.0
Изменен: 02.01.2019 19:48:30
0.11.1
Изменен: 02.01.2019 19:48:30
0.10.0
Изменен: 02.01.2019 19:48:30
0.9.2
Изменен: 02.01.2019 19:48:30
0.9.1
Изменен: 02.01.2019 19:48:30
0.9.0
Изменен: 02.01.2019 19:48:30
0.8.4
Изменен: 02.01.2019 19:48:30
0.8.3
Изменен: 02.01.2019 19:48:30
0.8.2
Изменен: 02.01.2019 19:48:30
0.8.1
Изменен: 02.01.2019 19:48:30
0.8.0
Изменен: 02.01.2019 19:48:30
0.6.0
Изменен: 02.01.2019 19:48:30
0.5.1
Изменен: 02.01.2019 19:48:30
SNAPSHOT
Изменен: 03.03.2023 12:13:56
В разработке

Репозиторий

https://github.com/oscript-library/vanessa-runner

Актуальная версия

vanessa-runner-1.11.11