├── .gitattributes ├── .github └── workflows │ ├── qa.yml │ ├── release.yml │ └── testing.yml ├── .gitignore ├── .vscode ├── settings.json └── spell.json ├── Jenkinsfile ├── LICENSE ├── NOTICE ├── README.md ├── behavior-schema.json ├── build └── .keep ├── epf ├── readme.md ├── БлокировкаРаботыСВнешнимиРесурсами │ ├── БлокировкаРаботыСВнешнимиРесурсами.xml │ └── БлокировкаРаботыСВнешнимиРесурсами │ │ └── Forms │ │ ├── Форма.xml │ │ └── Форма │ │ └── Ext │ │ ├── Form.xml │ │ └── Form │ │ └── Module.bsl ├── ЗагрузитьОбработки │ ├── ЗагрузитьОбработки.xml │ └── ЗагрузитьОбработки │ │ └── Forms │ │ ├── Форма.xml │ │ └── Форма │ │ └── Ext │ │ ├── Form.xml │ │ └── Form │ │ └── Module.bsl ├── ЗагрузитьРасширение │ ├── ЗагрузитьРасширение.xml │ └── ЗагрузитьРасширение │ │ └── Forms │ │ ├── Форма.xml │ │ └── Форма │ │ └── Ext │ │ ├── Form.xml │ │ └── Form │ │ └── Module.bsl ├── ЗагрузитьРасширениеВРежимеПредприятия │ ├── ЗагрузитьРасширениеВРежимеПредприятия.xml │ └── ЗагрузитьРасширениеВРежимеПредприятия │ │ └── Forms │ │ ├── Форма.xml │ │ └── Форма │ │ └── Ext │ │ ├── Form.xml │ │ └── Form │ │ └── Module.bsl ├── ЗакрытьПредприятие │ ├── ЗакрытьПредприятие.xml │ └── ЗакрытьПредприятие │ │ └── Forms │ │ ├── Форма.xml │ │ ├── Форма │ │ └── Ext │ │ │ ├── Form.xml │ │ │ └── Form │ │ │ └── Module.bsl │ │ ├── ФормаОбычная.xml │ │ └── ФормаОбычная │ │ └── Ext │ │ ├── Form.bin │ │ └── Form │ │ ├── Module.bsl │ │ └── form ├── НеЗапрашиватьРазрешениеНаЗакрытиеПриложения │ ├── НеЗапрашиватьРазрешениеНаЗакрытиеПриложения.xml │ └── НеЗапрашиватьРазрешениеНаЗакрытиеПриложения │ │ └── Forms │ │ ├── Форма.xml │ │ └── Форма │ │ └── Ext │ │ ├── Form.xml │ │ └── Form │ │ └── Module.bsl └── СоздатьПользователей │ ├── СоздатьПользователей.xml │ └── СоздатьПользователей │ └── Forms │ ├── Форма.xml │ └── Форма │ └── Ext │ ├── Form.xml │ └── Form │ └── Module.bsl ├── examples ├── .vb-conf.json ├── compile.bat ├── compile_cf.sh ├── compile_cfe.sh ├── compile_epf.sh ├── decompile.bat ├── decompile_cf.bat ├── decompile_cf.sh ├── decompile_cfe.bat ├── decompile_cfe.sh ├── decompile_epf.bat ├── decompile_epf.sh ├── deploy.os ├── example.env.json ├── init-project.png ├── init.bat ├── loadrepo.bat ├── runafterupdate.bat ├── update-dev.bat ├── update.bat ├── vanessa.bat ├── vanessa.sh ├── watch.json ├── xunit.bat └── xunit.sh ├── features ├── opm-build.feature ├── step_definitions │ ├── ИнициализацияОкружения.os │ └── МенеджерФильтраПриложений.os ├── АвтосборкаОбработокПриСборкеПакета.feature ├── Внешние обработки │ ├── ЗагрузитьРасширениеИзФайлаВРежимеПредприятия.feature │ └── Создание пользователей.feature ├── ВыгрузитьИнфоБазуВФайлdt.feature ├── ВыгрузкаКонфигурацииВФайлы.feature ├── ВыгрузкаРасширений.feature ├── ВыгрузкаФайлаПоставкиКонфигурации.feature ├── ЗагрузитьРасширениеИзФайла.feature ├── ЗапуститьКонфигуратор.feature ├── ИнициализацияОкружения.feature ├── МенеджерФильтраПриложений.feature ├── ОбновитьКонфигурацию.feature ├── ОбновлениеКонфигурацииБД.feature ├── ОбновлениеОкружения.feature ├── ОбъединениеКонфигураций.feature ├── ПереопределениеНастроек.docfeature ├── ПроверкаВанесса.feature ├── ПроверкаСинтаксиса.feature ├── ПроверкаТестов.feature ├── ПростыеКоманды.feature ├── РаботаСХранилищем.feature ├── РазборкаКонфигурации.feature ├── РазборкаОбработок.feature ├── РазборкаРасширений.feature ├── СборкаОбработок.feature ├── СборкаРасширений.feature ├── СобратьИзИсходников.feature └── УстановкаНомераВерсии_или_Сборки.feature ├── packagedef ├── sonar-project.properties ├── src ├── main.os ├── Классы │ ├── КомандаVersion.os │ ├── КомандаВыгрузитьИнфобазуВФайл.os │ ├── КомандаВыгрузитьКонфигурациюВФайл.os │ ├── КомандаВыгрузитьРасширениеВФайл.os │ ├── КомандаЗагрузитьИнфобазуИзФайла.os │ ├── КомандаЗагрузитьРасширениеИзФайла.os │ ├── КомандаЗагрузитьФайлКонфигурации.os │ ├── КомандаЗапуститьВРежимеПредприятия.os │ ├── КомандаЗапуститьКонфигуратор.os │ ├── КомандаЗахватитьВХранилище.os │ ├── КомандаИнициализацияОкружения.os │ ├── КомандаКопироватьПользователейХранилища.os │ ├── КомандаОбновитьИзХранилища.os │ ├── КомандаОбновитьКонфигурацию.os │ ├── КомандаОбновлениеКонфигурацииБД.os │ ├── КомандаОбновлениеОкружения.os │ ├── КомандаОбновлениеРасширений.os │ ├── КомандаОбъединитьСФайломКонфигурации.os │ ├── КомандаОтключитьсяОтХранилища.os │ ├── КомандаПодключитьсяКХранилищу.os │ ├── КомандаПоместитьВХранилище.os │ ├── КомандаПроверкаПроектаEDT.os │ ├── КомандаПроверкаСинтаксиса.os │ ├── КомандаРазборкаВнешнихОбработок.os │ ├── КомандаРазборкаКонфигурации.os │ ├── КомандаРазборкаРасширений.os │ ├── КомандаСборкаВнешнихОбработок.os │ ├── КомандаСборкаРасширений.os │ ├── КомандаСобратьИзИсходников.os │ ├── КомандаСобратьИзИсходниковФайлРасширения.os │ ├── КомандаСоздатьИнформационнуюБазу.os │ ├── КомандаСоздатьПользователейХранилища.os │ ├── КомандаСоздатьПроект.os │ ├── КомандаСоздатьФайлПоставки.os │ ├── КомандаСоздатьХранилище.os │ ├── КомандаСохранитьВерсиюХранилищаВФайл.os │ ├── КомандаСправкаПоПараметрам.os │ ├── КомандаТестирование_xUnitFor1C.os │ ├── КомандаТестированиеПоведения.os │ ├── КомандаУдалитьИнформационнуюБазу.os │ ├── КомандаУправлениеСеансами.os │ ├── КомандаУстановкаВерсии.os │ ├── МенеджерRAC.os │ ├── МенеджерВерсийФайлов1С.os │ ├── МенеджерКонфигуратора.os │ ├── МенеджерФильтраПриложений.os │ └── УпаковщикВнешнихОбработок.os └── Модули │ ├── ГенерацияОтчетов.os │ ├── МенеджерКомандПриложения.os │ ├── МенеджерСпискаБаз.os │ ├── НастройкиДля1С.os │ ├── ОбщиеМетоды.os │ ├── ПараметрыСистемы.os │ └── УпаковщикМетаданных.os ├── tasks ├── build.os ├── coverage.os └── test.os ├── tests └── fixtures │ ├── Extension1.cfe │ ├── MergeSettingsКонфигурация-cf-to-empty.xml │ ├── cf │ ├── Catalogs │ │ ├── Справочник1.xml │ │ └── Справочник1 │ │ │ ├── Ext │ │ │ └── ObjectModule.bsl │ │ │ └── Forms │ │ │ ├── УпрФормаСписка.xml │ │ │ ├── УпрФормаСписка │ │ │ └── Ext │ │ │ │ ├── Form.xml │ │ │ │ └── Form │ │ │ │ └── Module.bsl │ │ │ ├── ФормаСписка.xml │ │ │ └── ФормаСписка │ │ │ └── Ext │ │ │ └── Form.bin │ ├── Configuration.xml │ ├── Ext │ │ ├── ManagedApplicationModule.bsl │ │ └── OrdinaryApplicationModule.bsl │ ├── Languages │ │ └── Русский.xml │ └── Roles │ │ ├── ПолныеПрава.xml │ │ └── ПолныеПрава │ │ └── Ext │ │ └── Rights.xml │ ├── cfbad │ ├── Catalogs │ │ ├── Справочник1.xml │ │ └── Справочник1 │ │ │ ├── Ext │ │ │ └── ObjectModule.bsl │ │ │ └── Forms │ │ │ ├── УпрФормаСписка.xml │ │ │ ├── УпрФормаСписка │ │ │ └── Ext │ │ │ │ ├── Form.xml │ │ │ │ └── Form │ │ │ │ └── Module.bsl │ │ │ ├── ФормаСписка.xml │ │ │ └── ФормаСписка │ │ │ └── Ext │ │ │ └── Form.bin │ ├── Configuration.xml │ ├── Ext │ │ ├── ManagedApplicationModule.bsl │ │ └── OrdinaryApplicationModule.bsl │ └── Languages │ │ └── Русский.xml │ ├── cfe │ ├── Configuration.xml │ ├── Ext │ │ └── ManagedApplicationModule.bsl │ └── Languages │ │ └── Русский.xml │ ├── cfe_without_version │ ├── Configuration.xml │ ├── Ext │ │ └── ManagedApplicationModule.bsl │ └── Languages │ │ └── Русский.xml │ ├── feature │ ├── env.json │ └── vb-conf.json │ ├── file.txt │ ├── fixture-epf │ └── fixture │ │ ├── Тест1.xml │ │ └── Тест1 │ │ ├── Ext │ │ └── ObjectModule.bsl │ │ └── Forms │ │ ├── Форма.xml │ │ ├── Форма │ │ └── Ext │ │ │ └── Form.xml │ │ ├── Форма1.xml │ │ └── Форма1 │ │ └── Ext │ │ ├── Form.bin │ │ └── Form │ │ ├── Module.bsl │ │ └── form │ ├── fixture.epf │ ├── test-wrong-syntax │ ├── test-wrong-syntax.xml │ └── test-wrong-syntax │ │ └── Ext │ │ └── ObjectModule.bsl │ ├── xUnitParams.json │ └── xdd_test │ ├── xdd_test.xml │ └── xdd_test │ └── Ext │ └── ObjectModule.bsl ├── tools └── runner.os ├── vanessa-runner-schema.json └── xunit-schema.json /.gitattributes: -------------------------------------------------------------------------------- 1 | *.bsl eol=crlf 2 | *.os eol=crlf 3 | *.sh eol=lf 4 | *.bat eol=crlf 5 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | # MIT License 2 | # Copyright (C) 2020 Tymko Oleg and contributors 3 | # All rights reserved. 4 | 5 | name: Подготовка релиза и публикация в хабе 6 | # Только события создания и изменения релиза 7 | on: 8 | release: 9 | types: [published, edited] 10 | 11 | env: 12 | PACKAGE_MASK: vanessa-runner-*.ospx 13 | 14 | jobs: 15 | build: 16 | runs-on: self-hosted 17 | # runs-on: ${{ matrix.os }} 18 | # strategy: 19 | # fail-fast: false 20 | # matrix: 21 | # os: [ubuntu-latest] 22 | # oscript_version: ['1.4.0'] 23 | 24 | steps: 25 | # Загрузка проекта 26 | - name: Актуализация 27 | uses: actions/checkout@v2 28 | 29 | # Установка OneScript конкретной версии 30 | # - name: Установка OneScript 31 | # uses: otymko/setup-onescript@v1.1 32 | # with: 33 | # version: ${{ matrix.oscript_version }} 34 | 35 | # Установка зависимостей пакета 36 | - name: Установка зависимостей 37 | run: | 38 | opm install 39 | # run: | 40 | # opm install opm 41 | # opm install 42 | 43 | - name: Сборка пакета 44 | run: opm build 45 | 46 | - name: Заливка артефактов 47 | uses: actions/upload-artifact@v2 48 | with: 49 | name: package.zip 50 | path: ./${{ env.PACKAGE_MASK }} 51 | 52 | - name: Заливка в релиз 53 | uses: AButler/upload-release-assets@v1.0 54 | with: 55 | files: ./${{ env.PACKAGE_MASK }} 56 | repo-token: ${{ secrets.GITHUB_TOKEN }} 57 | 58 | - name: Публикация в hub.oscript.io 59 | shell: cmd 60 | run: opm push -f ./${{ env.PACKAGE_MASK }} --token ${{ env.TOKEN }} -c stable 61 | env: 62 | TOKEN: ${{ secrets.OSHUB_TOKEN }} 63 | -------------------------------------------------------------------------------- /.github/workflows/testing.yml: -------------------------------------------------------------------------------- 1 | # MIT License 2 | # Copyright (C) 2020 Tymko Oleg and contributors 3 | # All rights reserved. 4 | 5 | name: Тестирование 6 | # Любой пуш и pr в проекте 7 | on: [push, pull_request] 8 | 9 | jobs: 10 | build: 11 | runs-on: [vanessa] 12 | # runs-on: ${{ matrix.os }} 13 | # strategy: 14 | # fail-fast: false 15 | # matrix: 16 | # # os: [ubuntu-latest, windows-latest] 17 | # oscript_version: ['1.4.0'] 18 | 19 | steps: 20 | # Загрузка проекта 21 | - name: Актуализация 22 | uses: actions/checkout@v2 23 | with: 24 | # Disabling shallow clone is recommended for improving relevancy of reporting 25 | fetch-depth: 0 26 | 27 | # Установка OneScript конкретной версии 28 | # - name: Установка OneScript 29 | # uses: otymko/setup-onescript@v1.1 30 | # with: 31 | # version: ${{ matrix.oscript_version }} 32 | 33 | # Установка зависимостей пакета 34 | - name: Установка зависимостей 35 | shell: cmd 36 | run: | 37 | opm install --dev 38 | opm install -l 39 | # run: | 40 | # opm install opm 41 | # opm install add 42 | # opm install --dev 43 | 44 | # Задача тестирования, в результате ожидается успешное выполнение 45 | - name: Тестирование 46 | run: oscript ./tasks/test.os 47 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Файлы 2 | *.log 3 | *.ospx 4 | 5 | coverage/stat\.json 6 | 7 | bdd-exec\.xml 8 | 9 | *.epf 10 | 11 | **/ConfigDumpInfo.xml 12 | .vscode/launch.json 13 | tools/oscript.cfg 14 | src/oscript.cfg 15 | 16 | # Каталоги 17 | build/ 18 | oscript_modules/ 19 | coverage/ 20 | .scannerwork/ 21 | allure-report/ 22 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | // Place your settings in this file to overwrite default and user settings. 2 | { 3 | "language-1c-bsl.linterEntryPoint": "src/main.os", 4 | "editor.rulers": [ 120 ] 5 | } -------------------------------------------------------------------------------- /.vscode/spell.json: -------------------------------------------------------------------------------- 1 | { 2 | "ignoreWordsList": [ 3 | "cmdline", 4 | "tempfiles", 5 | "json", 6 | "xunit", 7 | "vanessa", 8 | "compilecurrent", 9 | "decompilecurrent", 10 | "decompile", 11 | "compilediff", 12 | "decompileext", 13 | "compileext", 14 | "loadext", 15 | "loadrepo", 16 | "decompileepf", 17 | "compileepf", 18 | "updatedb", 19 | "convertfiles", 20 | "Конфигуратор", 21 | "Неопределено", 22 | "Нрег", 23 | "Врег", 24 | "Парсер", 25 | "Json", 26 | "oscript", 27 | "Конфигуратором" 28 | ], 29 | "ignoreRegExp": [ 30 | "/\\(.*\\.(jpg|jpeg|png|md|gif|JPG|JPEG|PNG|MD|GIF)\\)/g", 31 | "/((http|https|ftp|git)\\S*)/g", 32 | "/--[А-яA-z-]{1,}/g" 33 | ] 34 | } -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- 1 | This product contains parts of V8Runner, which is licensed under the Apache License, 2 | Version 2.0. 3 | The license can be downloaded from 4 | http://www.apache.org/licenses/LICENSE-2.0.html. 5 | The source code for this software is available from 6 | https://github.com/oscript-library/v8runner 7 | 8 | This product contains parts of oscript-actions-template, which is licensed under the MIT License. 9 | The source code for this software is available from 10 | https://github.com/silverbulleters/oscript-actions-template.git 11 | -------------------------------------------------------------------------------- /build/.keep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oscript-library/vanessa-runner/4d214c78ac14ff46040fd2bf7cc669a812ba13be/build/.keep -------------------------------------------------------------------------------- /epf/readme.md: -------------------------------------------------------------------------------- 1 | # Внешние обработки для запуска в режиме 1С:Предприятие 2 | 3 | В текущем каталоге располагаются внешние обработки для запуска в режиме 1С:Предприятие. 4 | 5 | В том числе есть несколько обработок, позволяющих упростить развертывание/тестирование для конфигураций, основанных на БСП. 6 | 7 | + Основной пример (см. ниже пример вызова) - это передача через параметры `/C` команды `"ЗапуститьОбновлениеИнформационнойБазы;ЗавершитьРаботуСистемы"` и одновременная передача через `/Execute "ЗакрытьПредприятие.epf"`. 8 | 9 | + При запуске с такими ключами подключается обработчик ожидания, который проверяет наличие формы с заголовком обновления и при окончании обновления завершает 1С:Предприятие. Данное действие необходимо для полного обновления информационной базы 1С:Предприятия, пока действует блокировка на фоновые задачи и запуск пользователей. 10 | 11 | + также выполняется отключение запроса при завершении работы программы для БСП-конфигураций 12 | 13 | + код запуска 14 | 15 | ```bat 16 | @call vrunner run --command "ЗапуститьОбновлениеИнформационнойБазы;ЗавершитьРаботуСистемы;" --execute $runnerRoot\epf\ЗакрытьПредприятие.epf 17 | ``` 18 | 19 | + **ЗагрузитьРасширение** позволяет подключать расширение в режиме предприятия и получать результат ошибки. Предназначено для подключения в конфигурациях, основанных на БСП. В параметрах /C передается путь к расширению и путь к файлу лога подключения. 20 | 21 | + **ЗагрузитьВнешниеОбработки** позволяет загрузить все внешние обработки и подключить в справочник "Дополнительные отчеты и обработки", т.к. их очень много то первым параметром идет каталог, вторым параметром путь к файлу лога. Все обработки обновляются согласно версиям. 22 | 23 | + **БлокировкаРаботыСВнешнимиРесурсами** позволяет блокировать, разблокировать работу с внешними ресурсами и выключать отдельные регламентные задания (по наименованию). 24 | 25 | + выполняется только на конфигурациях со встроенной БСП 26 | 27 | + доступны параметры `ЗапретитьРаботуСВнешнимиРесурсами`, `РазрешитьРаботуСВнешнимиРесурсами` или `ОтключитьРегламентноеЗадание` 28 | 29 | + При использовании параметра `ОтключитьРегламентноеЗадание` требуется через разделитель указать наименование отключаемого регламентного задания, в примере указано задание `ИзвлечениеТекста` 30 | 31 | + код запуска 32 | 33 | ```bat 34 | @call vrunner run --command "ОтключитьРегламентноеЗадание;ИзвлечениеТекста;ЗавершитьРаботуСистемы" --execute $runnerRoot\epf\БлокировкаРаботыСВнешнимиРесурсами.epf 35 | ``` 36 | 37 | ```bat 38 | @call vrunner run --command "ЗапретитьРаботуСВнешнимиРесурсами;ЗавершитьРаботуСистемы" --execute $runnerRoot\epf\БлокировкаРаботыСВнешнимиРесурсами.epf 39 | ``` 40 | 41 | + **СозданиеПользователей** позволяет создать первого пользователя-администратора, если в ИБ еще не существует пользователей. Администратор назначается роль `ПолныеПрава`, если она существует в ИБ. 42 | 43 | + также выполняется отключение запроса при завершении работы программы для БСП-конфигураций 44 | 45 | + код запуска для создания пользователя с именем `Администратор` 46 | 47 | ```bat 48 | @call vrunner run --command "СоздатьАдминистратора;Имя=Администратор;ЗавершитьРаботуСистемы" --execute $runnerRoot\epf\СоздатьПользователей.epf 49 | ``` 50 | -------------------------------------------------------------------------------- /epf/БлокировкаРаботыСВнешнимиРесурсами/БлокировкаРаботыСВнешнимиРесурсами.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | c3831ec8-d8d5-4f93-8a22-f9bfae07327f 7 | 25e857ca-b95a-4e4b-b17b-47a7685567b9 8 | 9 | 10 | 7c9dbe17-d372-4f1c-90f4-c0c2ae55a708 11 | c6008d1c-30e5-4ac5-9d52-a93e961f4ac0 12 | 13 | 14 | 15 | БлокировкаРаботыСВнешнимиРесурсами 16 | 17 | 18 | ru 19 | Блокировка работы с внешними ресурсами 20 | 21 | 22 | 23 | ExternalDataProcessor.БлокировкаРаботыСВнешнимиРесурсами.Form.Форма 24 | 25 | 26 | 27 |
Форма
28 |
29 |
30 |
-------------------------------------------------------------------------------- /epf/БлокировкаРаботыСВнешнимиРесурсами/БлокировкаРаботыСВнешнимиРесурсами/Forms/Форма.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 |
4 | 5 | Форма 6 | 7 | 8 | ru 9 | Форма 10 | 11 | 12 | 13 | Managed 14 | false 15 | 16 | PersonalComputer 17 | MobileDevice 18 | 19 | 20 | 21 |
22 |
-------------------------------------------------------------------------------- /epf/ЗагрузитьОбработки/ЗагрузитьОбработки.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | c3831ec8-d8d5-4f93-8a22-f9bfae07327f 7 | 508d4a80-e291-40db-911b-6679db79f1b4 8 | 9 | 10 | 62fa8549-434b-4610-8c50-5c7b6440a25b 11 | e015ce60-a1d3-46de-ad13-50f76a762bf5 12 | 13 | 14 | 15 | ЗагрузитьОбработки 16 | 17 | 18 | ru 19 | Загрузить обработки 20 | 21 | 22 | 23 | ExternalDataProcessor.ЗагрузитьОбработки.Form.Форма 24 | 25 | 26 | 27 |
Форма
28 |
29 |
30 |
-------------------------------------------------------------------------------- /epf/ЗагрузитьОбработки/ЗагрузитьОбработки/Forms/Форма.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 |
4 | 5 | Форма 6 | 7 | 8 | ru 9 | Форма 10 | 11 | 12 | 13 | Managed 14 | false 15 | 16 | PersonalComputer 17 | MobileDevice 18 | 19 | 20 | 21 |
22 |
-------------------------------------------------------------------------------- /epf/ЗагрузитьРасширение/ЗагрузитьРасширение.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | c3831ec8-d8d5-4f93-8a22-f9bfae07327f 7 | 508d4a80-e291-40db-911b-6679db79f1b4 8 | 9 | 10 | 62fa8549-434b-4610-8c50-5c7b6440a25b 11 | e015ce60-a1d3-46de-ad13-50f76a762bf5 12 | 13 | 14 | 15 | ЗагрузитьРасширение 16 | 17 | 18 | ru 19 | Загрузить расширение 20 | 21 | 22 | 23 | ExternalDataProcessor.ЗагрузитьРасширение.Form.Форма 24 | 25 | 26 | 27 |
Форма
28 |
29 |
30 |
-------------------------------------------------------------------------------- /epf/ЗагрузитьРасширение/ЗагрузитьРасширение/Forms/Форма.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 |
4 | 5 | Форма 6 | 7 | 8 | ru 9 | Форма 10 | 11 | 12 | 13 | Managed 14 | false 15 | 16 | PersonalComputer 17 | MobileDevice 18 | 19 | 20 | 21 |
22 |
-------------------------------------------------------------------------------- /epf/ЗагрузитьРасширение/ЗагрузитьРасширение/Forms/Форма/Ext/Form.xml: -------------------------------------------------------------------------------- 1 |  2 |
3 | 4 | 5 | ПриОткрытии 6 | 7 | 8 | 9 | 10 | cfg:ExternalDataProcessorObject.ЗагрузитьРасширение 11 | 12 | true 13 | 14 | 15 | -------------------------------------------------------------------------------- /epf/ЗагрузитьРасширениеВРежимеПредприятия/ЗагрузитьРасширениеВРежимеПредприятия.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | c3831ec8-d8d5-4f93-8a22-f9bfae07327f 7 | 508d4a80-e291-40db-911b-6679db79f1b4 8 | 9 | 10 | 62fa8549-434b-4610-8c50-5c7b6440a25b 11 | e015ce60-a1d3-46de-ad13-50f76a762bf5 12 | 13 | 14 | 15 | ЗагрузитьРасширениеВРежимеПредприятия 16 | 17 | 18 | ru 19 | Загрузить расширение в режиме 1С:Предприятие 20 | 21 | 22 | 23 | ExternalDataProcessor.ЗагрузитьРасширениеВРежимеПредприятия.Form.Форма 24 | 25 | 26 | 27 |
Форма
28 |
29 |
30 |
31 | -------------------------------------------------------------------------------- /epf/ЗагрузитьРасширениеВРежимеПредприятия/ЗагрузитьРасширениеВРежимеПредприятия/Forms/Форма.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 |
4 | 5 | Форма 6 | 7 | 8 | ru 9 | Форма 10 | 11 | 12 | 13 | Managed 14 | false 15 | 16 | PersonalComputer 17 | MobileDevice 18 | 19 | 20 | 21 |
22 |
-------------------------------------------------------------------------------- /epf/ЗагрузитьРасширениеВРежимеПредприятия/ЗагрузитьРасширениеВРежимеПредприятия/Forms/Форма/Ext/Form.xml: -------------------------------------------------------------------------------- 1 |  2 |
3 | 4 | 5 | ПриОткрытии 6 | ПриСозданииНаСервере 7 | 8 | 9 | 10 | ДляСообщений 11 | None 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | cfg:ExternalDataProcessorObject.ЗагрузитьРасширениеВРежимеПредприятия 20 | 21 | true 22 | 23 | 24 | 25 | <v8:item> 26 | <v8:lang>ru</v8:lang> 27 | <v8:content>Для сообщений</v8:content> 28 | </v8:item> 29 | 30 | 31 | xs:string 32 | 33 | 50 34 | Variable 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /epf/ЗакрытьПредприятие/ЗакрытьПредприятие.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | c3831ec8-d8d5-4f93-8a22-f9bfae07327f 7 | 508d4a80-e291-40db-911b-6679db79f1b4 8 | 9 | 10 | 62fa8549-434b-4610-8c50-5c7b6440a25b 11 | e015ce60-a1d3-46de-ad13-50f76a762bf5 12 | 13 | 14 | 15 | ЗакрытьПредприятие 16 | 17 | 18 | ru 19 | Закрыть предприятие при обновлении 20 | 21 | 22 | 23 | ExternalDataProcessor.ЗакрытьПредприятие.Form.Форма 24 | ExternalDataProcessor.ЗакрытьПредприятие.Form.ФормаОбычная 25 | 26 | 27 |
Форма
28 |
ФормаОбычная
29 |
30 |
31 |
-------------------------------------------------------------------------------- /epf/ЗакрытьПредприятие/ЗакрытьПредприятие/Forms/Форма.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 |
4 | 5 | Форма 6 | 7 | 8 | ru 9 | Форма 10 | 11 | 12 | 13 | Managed 14 | false 15 | 16 | PersonalComputer 17 | MobileDevice 18 | 19 | 20 | 21 |
22 |
-------------------------------------------------------------------------------- /epf/ЗакрытьПредприятие/ЗакрытьПредприятие/Forms/Форма/Ext/Form.xml: -------------------------------------------------------------------------------- 1 |  2 |
3 | 4 | 5 | ПриОткрытии 6 | ПриСозданииНаСервере 7 | 8 | 9 | 10 | ДляСообщений 11 | None 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | cfg:ExternalDataProcessorObject.ЗакрытьПредприятие 20 | 21 | true 22 | 23 | 24 | 25 | <v8:item> 26 | <v8:lang>ru</v8:lang> 27 | <v8:content>Для сообщений</v8:content> 28 | </v8:item> 29 | 30 | 31 | xs:string 32 | 33 | 50 34 | Variable 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /epf/ЗакрытьПредприятие/ЗакрытьПредприятие/Forms/ФормаОбычная.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 |
4 | 5 | ФормаОбычная 6 | 7 | 8 | ru 9 | Форма обычная 10 | 11 | 12 | 13 | Ordinary 14 | false 15 | 16 | PersonalComputer 17 | MobileDevice 18 | 19 | 20 | 21 |
22 |
-------------------------------------------------------------------------------- /epf/ЗакрытьПредприятие/ЗакрытьПредприятие/Forms/ФормаОбычная/Ext/Form.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oscript-library/vanessa-runner/4d214c78ac14ff46040fd2bf7cc669a812ba13be/epf/ЗакрытьПредприятие/ЗакрытьПредприятие/Forms/ФормаОбычная/Ext/Form.bin -------------------------------------------------------------------------------- /epf/ЗакрытьПредприятие/ЗакрытьПредприятие/Forms/ФормаОбычная/Ext/Form/Module.bsl: -------------------------------------------------------------------------------- 1 |  2 | Процедура ПриОткрытии() 3 | 4 | ПрекратитьРаботуСистемы(); 5 | 6 | КонецПроцедуры 7 | -------------------------------------------------------------------------------- /epf/ЗакрытьПредприятие/ЗакрытьПредприятие/Forms/ФормаОбычная/Ext/Form/form: -------------------------------------------------------------------------------- 1 | {27, 2 | {18, 3 | { 4 | {1,1, 5 | {"ru","Обработка Закрыть предприятие при обновлении"} 6 | },3,4294967295}, 7 | {09ccdc77-ea1a-4a6d-ab1c-3435eada2433, 8 | {1, 9 | { 10 | {16,1, 11 | {3,4, 12 | {0} 13 | }, 14 | {3,4, 15 | {0} 16 | }, 17 | {7,3,0,1,100},0, 18 | {3,4, 19 | {0} 20 | }, 21 | {3,4, 22 | {0} 23 | }, 24 | {3,4, 25 | {0} 26 | }, 27 | {3,3, 28 | {-7} 29 | }, 30 | {3,3, 31 | {-21} 32 | }, 33 | {3,0, 34 | {0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, 35 | {1,0},0,0,100,0,0},26,0,0,0,0,0,0, 36 | {8,1, 37 | {4,0, 38 | {0},"",-1,-1,1,0,""}, 39 | {4,0, 40 | {0},"",-1,-1,1,0,""}, 41 | {4,0, 42 | {0},"",-1,-1,1,0,""},100,0,0,0},0,1, 43 | {1,1, 44 | {4, 45 | {1,1, 46 | {"ru","Страница1"} 47 | }, 48 | {8,0, 49 | {4,0, 50 | {0},"",-1,-1,1,0,""}, 51 | {4,0, 52 | {0},"",-1,-1,1,0,""}, 53 | {4,0, 54 | {0},"",-1,-1,1,0,""},100,0,0,0},-1,1,1,"Страница1",1, 55 | {3,4, 56 | {0} 57 | }, 58 | {3,4, 59 | {0} 60 | } 61 | } 62 | },1,1,0,4, 63 | {2,8,1,1,1,0,0,0,0}, 64 | {2,8,0,1,2,0,0,0,0}, 65 | {2,317,1,1,3,0,0,8,0}, 66 | {2,35,0,1,4,0,0,8,0},0,4294967295,5,64,0, 67 | {3,4, 68 | {0} 69 | },0,0,57,0,0}, 70 | {0} 71 | }, 72 | {0} 73 | },325,43,1,0,1,4,4,2,325,43,96}, 74 | { 75 | {0},1, 76 | {1, 77 | { 78 | {0},0,0,1,"ОбработкаОбъект", 79 | {"Pattern", 80 | {"#",62fa8549-434b-4610-8c50-5c7b6440a25b} 81 | } 82 | } 83 | }, 84 | {0} 85 | }, 86 | {59d6c227-97d3-46f6-84a0-584c5a2807e1,1, 87 | {2,0, 88 | {0,0}, 89 | {0},1} 90 | }, 91 | {1, 92 | {70001,e1692cc2-605b-4535-84dd-28440238746c, 93 | {3,"ПриОткрытии", 94 | {1,"ПриОткрытии", 95 | {1,1, 96 | {"ru","При открытии"} 97 | }, 98 | {1,1, 99 | {"ru","При открытии"} 100 | }, 101 | {1,1, 102 | {"ru","При открытии"} 103 | }, 104 | {4,0, 105 | {0},"",-1,-1,1,0,""}, 106 | {0,0,0} 107 | } 108 | } 109 | } 110 | },1,4,1,0,0,0, 111 | {0}, 112 | {0}, 113 | {8,0, 114 | {4,0, 115 | {0},"",-1,-1,1,0,""}, 116 | {4,0, 117 | {0},"",-1,-1,1,0,""}, 118 | {4,0, 119 | {0},"",-1,-1,1,0,""},100,0,0,0},1,2,0,0,1,1} -------------------------------------------------------------------------------- /epf/НеЗапрашиватьРазрешениеНаЗакрытиеПриложения/НеЗапрашиватьРазрешениеНаЗакрытиеПриложения.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | c3831ec8-d8d5-4f93-8a22-f9bfae07327f 7 | f27fa671-8689-4034-a1eb-bac4096cd572 8 | 9 | 10 | 80860f84-4aab-436b-9b38-19e9295ccf6f 11 | ac71d7fe-8946-469c-acb2-5310d9874e69 12 | 13 | 14 | 15 | НеЗапрашиватьРазрешениеНаЗакрытиеПриложения 16 | 17 | 18 | ru 19 | Не запрашивать разрешение на закрытие приложения 20 | 21 | 22 | 23 | ExternalDataProcessor.НеЗапрашиватьРазрешениеНаЗакрытиеПриложения.Form.Форма 24 | 25 | 26 | 27 |
Форма
28 |
29 |
30 |
-------------------------------------------------------------------------------- /epf/НеЗапрашиватьРазрешениеНаЗакрытиеПриложения/НеЗапрашиватьРазрешениеНаЗакрытиеПриложения/Forms/Форма.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 |
4 | 5 | Форма 6 | 7 | 8 | ru 9 | Форма 10 | 11 | 12 | 13 | Managed 14 | false 15 | 16 | PersonalComputer 17 | MobileDevice 18 | 19 | 20 | 21 |
22 |
-------------------------------------------------------------------------------- /epf/НеЗапрашиватьРазрешениеНаЗакрытиеПриложения/НеЗапрашиватьРазрешениеНаЗакрытиеПриложения/Forms/Форма/Ext/Form.xml: -------------------------------------------------------------------------------- 1 |  2 |
3 | 4 | 5 | ПриОткрытии 6 | ПриСозданииНаСервере 7 | 8 | 9 | 10 | 11 | cfg:ExternalDataProcessorObject.НеЗапрашиватьРазрешениеНаЗакрытиеПриложения 12 | 13 | true 14 | 15 | 16 | -------------------------------------------------------------------------------- /epf/НеЗапрашиватьРазрешениеНаЗакрытиеПриложения/НеЗапрашиватьРазрешениеНаЗакрытиеПриложения/Forms/Форма/Ext/Form/Module.bsl: -------------------------------------------------------------------------------- 1 |  2 | &НаСервере 3 | Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) 4 | ОбщегоНазначения.ХранилищеОбщихНастроекСохранить("ОбщиеНастройкиПользователя", "ЗапрашиватьПодтверждениеПриЗавершенииПрограммы", Ложь); 5 | КонецПроцедуры 6 | 7 | &НаКлиенте 8 | Процедура ПриОткрытии(Отказ) 9 | ЗавершитьРаботуСистемы(Ложь); 10 | КонецПроцедуры 11 | -------------------------------------------------------------------------------- /epf/СоздатьПользователей/СоздатьПользователей.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | c3831ec8-d8d5-4f93-8a22-f9bfae07327f 7 | 7569c3ee-5678-4c71-8295-36f29f9726d1 8 | 9 | 10 | 55bdc23f-32f9-4590-8df2-7a18c4b2c193 11 | ecf3cec3-0401-4f2e-8406-3f41886e4247 12 | 13 | 14 | 15 | СоздатьПользователей 16 | 17 | 18 | ru 19 | Создать пользователей 20 | 21 | 22 | 23 | ExternalDataProcessor.СоздатьПользователей.Form.Форма 24 | 25 | 26 | 27 |
Форма
28 |
29 |
30 |
-------------------------------------------------------------------------------- /epf/СоздатьПользователей/СоздатьПользователей/Forms/Форма.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 |
4 | 5 | Форма 6 | 7 | 8 | ru 9 | Форма 10 | 11 | 12 | 13 | Managed 14 | false 15 | 16 | PersonalComputer 17 | MobileDevice 18 | 19 | 20 | 21 |
22 |
-------------------------------------------------------------------------------- /epf/СоздатьПользователей/СоздатьПользователей/Forms/Форма/Ext/Form.xml: -------------------------------------------------------------------------------- 1 |  2 |
3 | 4 | 5 | ПриОткрытии 6 | ПриСозданииНаСервере 7 | 8 | 9 | 10 | 11 | cfg:ExternalDataProcessorObject.СоздатьПользователей 12 | 13 | true 14 | 15 | 16 | -------------------------------------------------------------------------------- /examples/.vb-conf.json: -------------------------------------------------------------------------------- 1 | { 2 | "ИмяСборки":"Сборка 8.3.9 UF", 3 | "ВерсияПлатформы":"8.3.9", 4 | "ВыводитьСообщенияВФайл": "$workspaceRoot/message.txt", 5 | "КаталогПоискаВерсииПлатформы":"C:/Program Files (x86)/1cv8", 6 | "СтрокаПодключенияКБазе":"ENTERPRISE /F./ServiceBases/v83ServiceBase839", 7 | "EpfДляИнициализацияБазы": "./tools/epf/init.epf", 8 | "ПараметрыДляИнициализацияБазы": "./tools/epf/init.json", 9 | "ПутьКVanessaBehavior": "./../vanessa-behavior.epf", 10 | "КаталогФич": "$workspaceRoot/features", 11 | "КаталогиБиблиотек":[ 12 | "$workspaceRoot/features" 13 | ], 14 | "ВыполнитьСценарии": "Истина", 15 | "ЗавершитьРаботуСистемы": "Истина", 16 | "ЗакрытьTestClientПослеЗапускаСценариев": "Истина", 17 | "ДелатьЛогВыполненияСценариевВЖР": "Истина", 18 | "ДелатьОтчетВФорматеАллюр": "Истина", 19 | "ДелатьОтчетВФорматеjUnit": "Истина", 20 | "ДелатьОтчетВФорматеCucumberJson": "Истина", 21 | "ДелатьЛогВыполненияСценариевВТекстовыйФайл": "Истина", 22 | "КаталогOutputAllureБазовый": "$workspaceRoot/../allurereport", 23 | "КаталогOutputjUnit": "$workspaceRoot/../junitreport", 24 | "КаталогOutputCucumberJson": "$workspaceRoot/../cucumber", 25 | "СоздаватьПодкаталогВКаталогеAllureДляЭтойСборки": "Ложь", 26 | "ДелатьСкриншотПриВозникновенииОшибки": "Ложь", 27 | "КаталогOutputСкриншоты": "$workspaceRoot/../allurereport/screen", 28 | "ИмяФайлаЛогВыполненияСценариев": "$workspaceRoot/../vanessaonline.txt", 29 | "КомандаСделатьСкриншот": "nircmd.exe savescreenshot ", 30 | "ВыгружатьСтатусВыполненияСценариевВФайл": "Истина", 31 | "ДобавлятьКИмениСценарияУловияВыгрузки": "Ложь", 32 | "ПутьКФайлуДляВыгрузкиСтатусаВыполненияСценариев": "$workspaceRoot/../buildstatus.log", 33 | "ВерсияПлатформыДляГенерацииEPF": "C:/Program Files (x86)/1cv8/8.3.10.2125/bin", 34 | "СписокТеговИсключение":[ 35 | "IgnoreOnCIMainBuild", 36 | "IgnoreOn839", 37 | "IgnoreOnUFBuilds", 38 | "Ignore" 39 | ], 40 | "СписокТеговОтбор":[ 41 | ], 42 | "ЗаписьВидеоКомандаНачатьЗаписьВидео": '"C:/Program Files (x86)/VideoLAN/VLC/vlc.exe" screen:// -I rc --rc-quiet --rc-host=127.0.0.1:8082 --nommx :screen-mouse-image="" :screen-fps= :screen-width= :screen-height= :screen-top=0 :screen-left=0 :screen-caching=100 :sout=#transcode{vcodec=mp4v,vb=400,fps=,scale=1,width=,height=,acodec=none}:duplicate{dst=std{access=file,mux=mp4,dst=}}', 43 | "ЗаписьВидеоФайлКурсораМышки": "./tools/VideoTools/mouse.png", 44 | "ЗаписьВидеоКаталогДляВременныхФайлов": "./tools/VideoTemp", 45 | "ЗаписьВидеоФайлВодянойЗнак": "./tools/VideoTools/logoSB.png", 46 | "ЗаписьВидеоКомандаFfmpeg": "ffmpeg", 47 | "ЗаписьВидеоКомандаConvert": "C:/Program Files/ImageMagick-6.9.3-Q16/convert.exe", 48 | "ЗаписьВидеоКаталогМузыки": "./tools/../../vanessa-ci/MakeVideoInstr/music", 49 | "ЗаписьВидеоДелатьНаложениеTTS": "Истина", 50 | "ЗаписьВидеоПутьКДвижкуTTS": "balabolka_console", 51 | "ЗаписьВидеоИмяTTS": "Elena", 52 | "ЗаписьВидеоСловарьЗамен": "./tools/VideoTools/libtts.txt", 53 | "ЗаписьВидеоЭкранШирина": "1920", 54 | "ЗаписьВидеоЭкранВысота": "1080", 55 | "ЗаписьВидеоКоличествоКадров": "5", 56 | "ЗаписьВидеоПодсвечиватьАктивныеЭлементыФорм": "Истина", 57 | "ЗаписьВидеоПеремещатьКурсорМышкиКАктивномуЭлементуФормы": "Истина" 58 | } 59 | -------------------------------------------------------------------------------- /examples/compile.bat: -------------------------------------------------------------------------------- 1 | echo off 2 | SET mypath=%~dp0 3 | SETLOCAL 4 | 5 | set BUILDPATH=.\build 6 | set CFPATH=.\cf 7 | set CFEPATH=.\cfe 8 | set EPFPATH=.\epf 9 | 10 | set RUNNER_IBNAME=/F"./build/ib" 11 | rem set RUNNER_DBUSER=base 12 | rem set RUNNER_DBPWD=234567890 13 | 14 | SET RUNNER_ENV=production 15 | 16 | IF %1=="" ( 17 | set mode="all" 18 | ) else ( 19 | set mode=%1 20 | ) 21 | 22 | if "%mode%"=="all" ( call :all ) 23 | if "%mode%"=="epf" ( call :compileepf ) 24 | if "%mode%"=="cf" ( call :compilecf ) 25 | if "%mode%"=="cfe" ( call :compilecfe ) 26 | 27 | echo %mode% 28 | exit /B 29 | 30 | :compilecf 31 | echo "compilecf" 32 | oscript %mypath%/runner.os compile %CFPATH% %BUILDPATH%\1cv8.cf 33 | exit /B 34 | 35 | :compilecfe 36 | rem oscript %mypath%/runner.os compileext %CFEPATH%\ДоработкиПанИнвест ДоработкиПанИнвест2 %connstring% %USERPWD% 37 | rem 38 | 39 | :compileepf 40 | oscript %mypath%/runner.os compileepf %EPFPATH%\ %BUILDPATH%\epf\ 41 | exit /B 42 | 43 | :all 44 | echo "all" 45 | call :compilecf 46 | call :compilecfe 47 | call :compileepf 48 | exit /B 49 | 50 | 51 | -------------------------------------------------------------------------------- /examples/compile_cf.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | called_path=${0%/*} 3 | stripped=${called_path#[^/]*} 4 | real_path=`pwd`$stripped 5 | #echo "called path: $called_path" 6 | #echo "stripped: $stripped" 7 | #echo "pwd: `pwd`" 8 | #echo "real path: $real_path" 9 | 10 | connstring= 11 | USERPWD= 12 | #connstring=--ibname /F"~/projects/onec/itil" 13 | #USERPWD=--db-user base --db-pwd 234567890 14 | export RUNNER_ENV=production 15 | 16 | oscript $real_path/runner.os compile $real_path/../cf ./build/1cv8.cf 17 | 18 | -------------------------------------------------------------------------------- /examples/compile_cfe.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | called_path=${0%/*} 3 | stripped=${called_path#[^/]*} 4 | real_path=`pwd`$stripped 5 | #echo "called path: $called_path" 6 | #echo "stripped: $stripped" 7 | #echo "pwd: `pwd`" 8 | #echo "real path: $real_path" 9 | 10 | #connstring= 11 | #USERPWD= 12 | connstring=--ibname /F"~/projects/onec/itil" 13 | USERPWD=--db-user base --db-pwd 234567890 14 | export RUNNER_ENV=production 15 | 16 | oscript $real_path/runner.os compileext ./cfe/test2 test2 $connstring $USERPWD 17 | 18 | -------------------------------------------------------------------------------- /examples/compile_epf.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | called_path=${0%/*} 3 | stripped=${called_path#[^/]*} 4 | real_path=`pwd`$stripped 5 | #echo "called path: $called_path" 6 | #echo "stripped: $stripped" 7 | #echo "pwd: `pwd`" 8 | #echo "real path: $real_path" 9 | 10 | connstring= 11 | USERPWD= 12 | export RUNNER_ENV=production 13 | #connstring=--ibname /F"~/projects/onec/itil" 14 | #USERPWD=--db-user base --db-pwd 234567890 15 | 16 | oscript $real_path/runner.os compileepf $real_path/../epf/ $real_path/../build/epf/ $connstring $USERPWD 17 | 18 | -------------------------------------------------------------------------------- /examples/decompile.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | SET mypath=%~dp0 3 | SETLOCAL 4 | 5 | set BUILDPATH=.\build 6 | set CFPATH=.\cf 7 | set CFEPATH=.\cfe 8 | set EPFPATH=.\epf 9 | 10 | if not exist %BUILDPATH% set BUILDPATH=..\build 11 | if not exist %CFPATH% set CFPATH=..\cf 12 | if not exist %CFEPATH% set CFEPATH=..\cfe 13 | if not exist %EPFPATH% set EPFPATH=..\epf 14 | 15 | rem set RUNNER_IBNAME=/F"D:\work\base\dev" 16 | rem set RUNNER_DBUSER=base 17 | rem set RUNNER_DBPWD=234567890 18 | 19 | SET RUNNER_ENV=production 20 | 21 | 22 | IF "%1"=="" ( 23 | set mode=all 24 | ) else ( 25 | set mode=%1 26 | ) 27 | 28 | if "%mode%"=="all" ( call :all ) 29 | if "%mode%"=="epf" ( call :decompileepf ) 30 | if "%mode%"=="cf" ( call :decompilecf ) 31 | if "%mode%"=="cfe" ( call :decompilecfe ) 32 | 33 | echo %mode% 34 | exit /B 35 | 36 | :decompilecf 37 | echo "decompilecf" 38 | oscript %mypath%/runner.os decompile %BUILDPATH%\1cv8.cf %CFPATH% 39 | exit /B 40 | 41 | :decompilecfe 42 | rem oscript %mypath%/runner.os decompileext ДоработкиПанИнвест %CFEPATH%\ДоработкиПанИнвест %connstring% %USERPWD% 43 | 44 | 45 | :decompileepf 46 | oscript %mypath%/runner.os decompileepf %BUILDPATH%\epf\ %EPFPATH% %connstring% %USERPWD% 47 | exit /B 48 | 49 | :all 50 | echo "run all" 51 | call :decompilecf 52 | call :decompilecfe 53 | call :decompileepf 54 | exit /B 55 | 56 | 57 | -------------------------------------------------------------------------------- /examples/decompile_cf.bat: -------------------------------------------------------------------------------- 1 | SET mypath=%~dp0 2 | SET RUNNER_ENV=production 3 | 4 | set BUILDPATH=.\build 5 | set CFPATH=.\cf 6 | if not exist %BUILDPATH% set BUILDPATH=..\build 7 | if not exist %CFPATH% set CFPATH=..\cf 8 | 9 | oscript %mypath%/runner.os decompile %BUILDPATH%\1cv8.cf %CFPATH% 10 | 11 | -------------------------------------------------------------------------------- /examples/decompile_cf.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | called_path=${0%/*} 3 | stripped=${called_path#[^/]*} 4 | real_path=`pwd`$stripped 5 | #echo "called path: $called_path" 6 | #echo "stripped: $stripped" 7 | #echo "pwd: `pwd`" 8 | #echo "real path: $real_path" 9 | 10 | connstring= 11 | USERPWD= 12 | #connstring=--ibname /F"~/projects/onec/itil" 13 | #USERPWD=--db-user base --db-pwd 234567890 14 | export RUNNER_ENV=production 15 | 16 | oscript $real_path/runner.os decompile ./build/1cv8.cf ./cf 17 | 18 | -------------------------------------------------------------------------------- /examples/decompile_cfe.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oscript-library/vanessa-runner/4d214c78ac14ff46040fd2bf7cc669a812ba13be/examples/decompile_cfe.bat -------------------------------------------------------------------------------- /examples/decompile_cfe.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | called_path=${0%/*} 3 | stripped=${called_path#[^/]*} 4 | real_path=`pwd`$stripped 5 | #echo "called path: $called_path" 6 | #echo "stripped: $stripped" 7 | #echo "pwd: `pwd`" 8 | #echo "real path: $real_path" 9 | 10 | #connstring= 11 | #USERPWD= 12 | connstring=--ibname /F"~/projects/onec/itil" 13 | USERPWD=--db-user base --db-pwd 234567890 14 | export RUNNER_ENV=production 15 | 16 | oscript $real_path/runner.os decompileext test2 ./cfe/test2 $connstring $USERPWD 17 | 18 | -------------------------------------------------------------------------------- /examples/decompile_epf.bat: -------------------------------------------------------------------------------- 1 | SET mypath=%~dp0 2 | rem SET connstring=--ibname /F"C:\Users\eugens\Documents\Rarus\ITIL\1" 3 | rem SET USERPWD=--db-user base --db-pwd 234567890 4 | SET connstring= 5 | SET USERPWD= 6 | SET RUNNER_ENV=production 7 | 8 | set BUILDPATH=.\build 9 | set EPFPATH=.\epf 10 | 11 | oscript %mypath%/runner.os decompileepf %BUILDPATH%\epf\ %EPFPATH% %connstring% %USERPWD% 12 | 13 | -------------------------------------------------------------------------------- /examples/decompile_epf.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | called_path=${0%/*} 3 | stripped=${called_path#[^/]*} 4 | real_path=`pwd`$stripped 5 | #echo "called path: $called_path" 6 | #echo "stripped: $stripped" 7 | #echo "pwd: `pwd`" 8 | echo "real path: $real_path" 9 | 10 | connstring= 11 | USERPWD= 12 | #connstring=--ibname /F"~/projects/onec/itil" 13 | #USERPWD=--db-user base --db-pwd 234567890 14 | export RUNNER_ENV=production 15 | 16 | oscript $real_path/runner.os decompileepf $real_path/../build/epf/ $real_path/../epf/ $connstring $USERPWD 17 | 18 | -------------------------------------------------------------------------------- /examples/init-project.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oscript-library/vanessa-runner/4d214c78ac14ff46040fd2bf7cc669a812ba13be/examples/init-project.png -------------------------------------------------------------------------------- /examples/init.bat: -------------------------------------------------------------------------------- 1 | echo off 2 | SET mypath=%~dp0 3 | rem SETLOCAL 4 | 5 | set BUILDPATH=.\build 6 | set CFPATH=.\cf 7 | set CFEPATH=.\cfe 8 | set EPFPATH=.\epf 9 | 10 | SET RUNNER_ENV=production 11 | 12 | oscript %mypath%/init.os init-dev 13 | oscript %mypath%/init.os init-dev --dev 14 | 15 | exit /B 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/loadrepo.bat: -------------------------------------------------------------------------------- 1 | 2 | SET mypath=%~dp0 3 | 4 | set BUILDPATH=.\build 5 | set CFPATH=.\cf 6 | if not exist %BUILDPATH% set BUILDPATH=..\build 7 | if not exist %CFPATH% set CFPATH=..\cf 8 | 9 | SET RUNNER_ENV=production 10 | rem set RUNNER_IBNAME=/F"D:\work\base\dev" 11 | rem set RUNNER_DBUSER=base 12 | rem set RUNNER_DBPWD=234567890 13 | 14 | oscript %mypath%/runner.os loadrepo --storage-name tcp://test.local/test --storage-user dddd --storage-pwd 123444 15 | 16 | -------------------------------------------------------------------------------- /examples/runafterupdate.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oscript-library/vanessa-runner/4d214c78ac14ff46040fd2bf7cc669a812ba13be/examples/runafterupdate.bat -------------------------------------------------------------------------------- /examples/update-dev.bat: -------------------------------------------------------------------------------- 1 | echo off 2 | SET mypath=%~dp0 3 | rem SETLOCAL 4 | 5 | set BUILDPATH=.\build 6 | set CFPATH=.\cf 7 | set CFEPATH=.\cfe 8 | set EPFPATH=.\epf 9 | 10 | SET RUNNER_ENV=production 11 | 12 | rem oscript %mypath%/init.os update-dev 13 | rem oscript %mypath%/init.os update-dev --dev 14 | 15 | exit /B 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/update.bat: -------------------------------------------------------------------------------- 1 | 2 | SET mypath=%~dp0 3 | 4 | SET RUNNER_ENV=production 5 | set RUNNER_IBNAME=/F"D:\work\base\dev" 6 | set RUNNER_DBUSER=base 7 | set RUNNER_DBPWD=234567890 8 | 9 | oscript %mypath%/runner.os updatedb --uccode test 10 | 11 | 12 | -------------------------------------------------------------------------------- /examples/vanessa.bat: -------------------------------------------------------------------------------- 1 | chcp 1251 2 | SET mypath=%~dp0 3 | SET connstring=--ibname /F"C:\Users\eugens\Documents\Rarus\ITIL\1" 4 | SET USERPWD=--db-user base --db-pwd 234567890 5 | set RUNNER_PATHVANESSA=D:\git\vanessa-behavoir\vanessa-behavior.epf 6 | 7 | oscript %mypath%/runner.os vanessa %connstring% %USERPWD% --vanessasettings .\.vb-conf.json --additional "/RunModeOrdinaryApplication /itdi " 8 | 9 | -------------------------------------------------------------------------------- /examples/vanessa.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | called_path=${0%/*} 3 | stripped=${called_path#[^/]*} 4 | real_path=`pwd`$stripped 5 | #echo "called path: $called_path" 6 | #echo "stripped: $stripped" 7 | #echo "pwd: `pwd`" 8 | #echo "real path: $real_path" 9 | 10 | #connstring= 11 | #USERPWD= 12 | connstring=--ibname /F"~/projects/onec/it" 13 | USERPWD=--db-user base --db-pwd 234567890 14 | export RUNNER_ENV=production 15 | 16 | oscript $real_path/runner.os vanessa --vanessasettings ./.vb-conf.json --additional "/RunModeOrdinaryApplication /itdi " $connstring $USERPWD 17 | 18 | -------------------------------------------------------------------------------- /examples/watch.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "check-source-repo" : { 4 | "connectionstring":"/F./build/ibservice", 5 | "user":"", 6 | "password":"", 7 | "inDir":"./", 8 | "outDir":"./build/out/", 9 | "name":"check_all_src", 10 | "autoupdate":[ 11 | {"autoupdate":"check_all_work_files"} 12 | ] 13 | } 14 | }, 15 | { 16 | "check-work-copy" : { 17 | "connectionstring":"/F./build/ibservice", 18 | "user":"", 19 | "password":"", 20 | "inDir":"./build/out/", 21 | "outDir":"./", 22 | "name":"check_all_work_files", 23 | "autoupdate": "check_all_src" 24 | } 25 | }, 26 | { 27 | "check-config-sources" : { 28 | "connectionstring":"/F./build/ib", 29 | "user":"", 30 | "password":"", 31 | "inDir":"./CF/83/", 32 | "autoupdate":"true" 33 | } 34 | } 35 | ] 36 | -------------------------------------------------------------------------------- /examples/xunit.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oscript-library/vanessa-runner/4d214c78ac14ff46040fd2bf7cc669a812ba13be/examples/xunit.bat -------------------------------------------------------------------------------- /examples/xunit.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | called_path=${0%/*} 3 | stripped=${called_path#[^/]*} 4 | real_path=`pwd`$stripped 5 | #echo "called path: $called_path" 6 | #echo "stripped: $stripped" 7 | #echo "pwd: `pwd`" 8 | #echo "real path: $real_path" 9 | 10 | #connstring= 11 | #USERPWD= 12 | connstring=--ibname /F"~/projects/onec/it" 13 | USERPWD=--db-user base --db-pwd 234567890 14 | export RUNNER_ENV=production 15 | 16 | oscript $real_path/runner.os xunit ./tools/xUnitFor1C/Tests/Core/ --report "./build/report.xml" $connstring $USERPWD --path ./tools/xUnitFor1C/xddTestRunner.epf 17 | 18 | 19 | -------------------------------------------------------------------------------- /features/opm-build.feature: -------------------------------------------------------------------------------- 1 | # language: ru 2 | 3 | Функционал: Проверка сборки продукта 4 | Как Пользователь 5 | Я хочу автоматически проверять сборку моего продукта 6 | Чтобы гарантировать возможность установку моего продукта у пользователей 7 | 8 | Контекст: Отключение отладки в логах 9 | # Допустим Я выключаю отладку лога с именем "oscript.lib.commands" 10 | Допустим Я очищаю параметры команды "opm" в контексте 11 | 12 | Сценарий: Выполнение сборки продукта (opm build) 13 | Когда Я добавляю параметр "build ." для команды "opm" 14 | И Я выполняю команду "opm" 15 | Тогда Вывод команды "opm" содержит "Сборка пакета завершена" 16 | И Вывод команды "opm" не содержит "Внешнее исключение" 17 | И Код возврата команды "opm" равен 0 18 | 19 | Сценарий: Сборка, установка и выполнение пакета 20 | Допустим Я создаю временный каталог и сохраняю его в контекст 21 | Допустим Я собираю пакет во временном каталоге 22 | И Я устанавливаю временный каталог как рабочий каталог 23 | И Я установил рабочий каталог как текущий каталог 24 | Тогда каталог "oscript_modules" не существует 25 | Когда я устанавливаю пакет из файла собранного пакета 26 | Тогда файл "oscript_modules/vanessa-runner/src/main.os" существует 27 | Тогда я выполняю команду получения версии установленного пакета "oscript oscript_modules/vanessa-runner/src/main.os version" 28 | И версия установленного пакета равна версии пакета из контекста 29 | -------------------------------------------------------------------------------- /features/step_definitions/ИнициализацияОкружения.os: -------------------------------------------------------------------------------- 1 | #Использовать "../../src" 2 | 3 | // Реализация шагов BDD-фич/сценариев с помощью фреймворка https://github.com/artbear/1bdd 4 | 5 | Перем БДД; // контекст фреймворка 1bdd 6 | 7 | // Метод выдает список шагов, реализованных в данном файле-шагов 8 | Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт 9 | БДД = КонтекстФреймворкаBDD; 10 | 11 | ВсеШаги = Новый Массив; 12 | 13 | ВсеШаги.Добавить("ВСпискеБазЕстьБазаПоПути"); 14 | ВсеШаги.Добавить("ВспискебазнахожубазудляПроекта"); 15 | 16 | Возврат ВсеШаги; 17 | КонецФункции 18 | 19 | // Реализация шагов 20 | 21 | // Процедура выполняется перед запуском каждого сценария 22 | Процедура ПередЗапускомСценария(Знач Узел) Экспорт 23 | БазыДляУдаления = БДД.ПолучитьИзКонтекста("ПутиДляУдаленияПослеТеста"); 24 | Если БазыДляУдаления = Неопределено Тогда 25 | БазыДляУдаления = Новый Соответствие; 26 | КонецЕсли; 27 | БДД.СохранитьВКонтекст("ПутиДляУдаленияПослеТеста", БазыДляУдаления); 28 | КонецПроцедуры 29 | 30 | // Процедура выполняется после завершения каждого сценария 31 | Процедура ПослеЗапускаСценария(Знач Узел) Экспорт 32 | 33 | БазыДляУдаления = БДД.ПолучитьИзКонтекста("ПутиДляУдаленияПослеТеста"); 34 | Парсер = МенеджерСпискаБаз.ПолучитьПарсерБаз(); 35 | СписокБаз = Парсер.ПолучитьСписокБаз(); 36 | Для каждого Элемент Из БазыДляУдаления Цикл 37 | Попытка 38 | СписокБаз.Удалить(Элемент.Ключ); 39 | Исключение 40 | Сообщить(Элемент.Ключ + ":" + ОписаниеОшибки()); 41 | КонецПопытки; 42 | КонецЦикла; 43 | 44 | КонецПроцедуры 45 | 46 | Функция ЗаменитьШаблоныВПараметрахКоманды(Знач ПараметрыКоманды) 47 | Рез = СтрЗаменить(ПараметрыКоманды, "<КаталогПроекта>", БДД.КаталогПроверяемогоПроекта()); 48 | Рез = СтрЗаменить(Рез, "<РабочийКаталог>", БДД.ПолучитьИзКонтекста("РабочийКаталог")); 49 | Возврат Рез; 50 | КонецФункции 51 | 52 | // В списке баз есть база по пути "<РабочийКаталог>/./build/ib" 53 | Процедура ВСпискеБазЕстьБазаПоПути(Знач СтрокаБазыДанных) Экспорт 54 | 55 | СтрокаБазыДанных = ЗаменитьШаблоныВПараметрахКоманды(СтрокаБазыДанных); 56 | СтрокаБазыДанных = Новый Файл(ОбъединитьПути(ТекущийКаталог(), СтрокаБазыДанных)).ПолноеИмя; 57 | 58 | УстановитьПутьКБазеВБазыДляУдаленияВКонтексте(СтрокаБазыДанных); 59 | 60 | Ожидаем.Что(МенеджерСпискаБаз.ПолучитьИмяБазыВСписке("/F" +СтрокаБазыДанных), 61 | "Искали базу в списке баз /F" +СтрокаБазыДанных).Равно(Новый Файл(БДД.ПолучитьИзКонтекста("РабочийКаталог")).ИмяБезРасширения); 62 | 63 | КонецПроцедуры 64 | 65 | // В списке баз нахожу базу для проекта "<РабочийКаталог>" 66 | Процедура Вспискебазнахожубазудляпроекта(СтрокаПутиБазы) Экспорт 67 | 68 | СтрокаПутиБазы = ЗаменитьШаблоныВПараметрахКоманды(СтрокаПутиБазы); 69 | 70 | УстановитьПутьКБазеВБазыДляУдаленияВКонтексте(СтрокаПутиБазы); 71 | 72 | Парсер = МенеджерСпискаБаз.ПолучитьПарсерБаз(); 73 | ИмяПроекта = Новый Файл(СтрокаПутиБазы).ИмяБезРасширения; 74 | Ожидаем.Что(Парсер.НайтиПоИмени(ИмяПроекта)).Существует(); 75 | 76 | 77 | КонецПроцедуры 78 | 79 | // { Служебные функции 80 | 81 | Процедура УстановитьПутьКБазеВБазыДляУдаленияВКонтексте(СтрокаБазыДанных) 82 | БазыДляУдаления = БДД.ПолучитьИзКонтекста("ПутиДляУдаленияПослеТеста"); 83 | БазыДляУдаления.Вставить(СтрокаБазыДанных, Истина); 84 | БДД.СохранитьВКонтекст("ПутиДляУдаленияПослеТеста", БазыДляУдаления); 85 | КонецПроцедуры 86 | 87 | // } 88 | -------------------------------------------------------------------------------- /features/АвтосборкаОбработокПриСборкеПакета.feature: -------------------------------------------------------------------------------- 1 | # language: ru 2 | 3 | Функционал: Сборка внешних обработок продукта при сборке пакета продукта 4 | Как Пользователь 5 | Я хочу автоматически собирать внешние обработки, когда выполняется сборка моего продукта через "opm build" 6 | Чтобы гарантировать возможность нормального использования моего продукта у пользователей 7 | 8 | Контекст: 9 | Допустим Я очищаю параметры команды "opm" в контексте 10 | 11 | Сценарий: Проверки сборки внешних обработок после сборки и развертывания собранного пакета 12 | Допустим Я создаю временный каталог и сохраняю его в контекст 13 | Допустим Я собираю пакет во временном каталоге 14 | И Я устанавливаю временный каталог как рабочий каталог 15 | Когда я устанавливаю пакет из файла собранного пакета 16 | Тогда файл "oscript_modules/vanessa-runner/epf/ЗакрытьПредприятие.epf" существует 17 | -------------------------------------------------------------------------------- /features/ВыгрузитьИнфоБазуВФайлdt.feature: -------------------------------------------------------------------------------- 1 | # language: ru 2 | 3 | Функционал: Выгрузка базы данных в dt 4 | Как разработчик 5 | Я хочу иметь возможность делать быструю выгрузку базы данных в файл dt 6 | Чтобы выполнять коллективную разработку проекта 1С 7 | 8 | Контекст: 9 | Допустим Я создаю временный каталог и сохраняю его в контекст 10 | И Я устанавливаю временный каталог как рабочий каталог 11 | И Я инициализирую репозиторий git в рабочем каталоге 12 | Допустим Я создаю каталог "build/out" в рабочем каталоге 13 | И Я копирую каталог "cf" из каталога "tests/fixtures" проекта в рабочий каталог 14 | И Я установил рабочий каталог как текущий каталог 15 | И Я сохраняю каталог проекта в контекст 16 | И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os init-dev --src ./cf --nocacheuse --language ru" 17 | И Я очищаю параметры команды "oscript" в контексте 18 | 19 | Сценарий: Выгрузка базы данных в dt файл 20 | 21 | Допустим Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os dump ./build/1Cv8.dt --ibconnection /F./build/ib --language ru" 22 | Тогда Я сообщаю вывод команды "oscript" 23 | И Код возврата команды "oscript" равен 0 24 | И Файл "./build/1Cv8.dt" существует 25 | Тогда Вывод команды "oscript" содержит 26 | """ 27 | Выгрузка в файл завершена. 28 | """ 29 | 30 | # TODO Сценарий: Сборка каталога расширений с явно заданной базой 31 | -------------------------------------------------------------------------------- /features/ВыгрузкаКонфигурацииВФайлы.feature: -------------------------------------------------------------------------------- 1 | # language: ru 2 | 3 | Функционал: Выгрузка конфигурации в файл cf 4 | Как разработчик 5 | Я хочу иметь выгружать cf файл из рабочей базы 1С 6 | Чтобы выполнять коллективную разработку проекта 1С 7 | 8 | Контекст: Подготовка репозитория и рабочего каталога проекта 1С 9 | 10 | Допустим Я создаю временный каталог и сохраняю его в контекст 11 | И Я устанавливаю временный каталог как рабочий каталог 12 | И Я инициализирую репозиторий git в рабочем каталоге 13 | Допустим Я создаю каталог "build/out" в рабочем каталоге 14 | И Я копирую каталог "cf" из каталога "tests/fixtures" проекта в рабочий каталог 15 | 16 | И Я установил рабочий каталог как текущий каталог 17 | И Я сохраняю каталог проекта в контекст 18 | И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os init-dev --src ./cf --nocacheuse --language ru" 19 | И Я очищаю параметры команды "oscript" в контексте 20 | 21 | 22 | Сценарий: Выгрузка конфигурации в файл cf 23 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os unload ./build/1Cv8.cf --ibconnection /F./build/ib --language ru" 24 | Тогда Я сообщаю вывод команды "oscript" 25 | И файл "build/1Cv8.cf" существует 26 | И Код возврата команды "oscript" равен 0 27 | 28 | Сценарий: Загрузка файла cf в конфигурацию 29 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os unload ./build/1Cv8.cf --ibconnection /F./build/ib --language ru" 30 | Тогда Я сообщаю вывод команды "oscript" 31 | И файл "build/1Cv8.cf" существует 32 | И Код возврата команды "oscript" равен 0 33 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os load -s ./build/1Cv8.cf --ibconnection /F./build/ib --language ru" 34 | Тогда Я сообщаю вывод команды "oscript" 35 | И Код возврата команды "oscript" равен 0 36 | -------------------------------------------------------------------------------- /features/ВыгрузкаРасширений.feature: -------------------------------------------------------------------------------- 1 | # language: ru 2 | 3 | Функционал: Выгрузка расширений конфигурации 4 | Как разработчик 5 | Я хочу иметь возможность выгрузить расширения конфигурации в файл 6 | Чтобы выполнять коллективную разработку проекта 1С 7 | 8 | Контекст: 9 | Допустим я подготовил репозиторий и рабочий каталог проекта 10 | И я подготовил рабочую базу проекта "./build/ib" по умолчанию 11 | 12 | Сценарий: Выгрузка одного расширения из базы 13 | 14 | Допустим Я копирую каталог "cfe" из каталога "tests/fixtures" проекта в рабочий каталог 15 | И Я копирую файл "Extension1.cfe" из каталога "tests/fixtures" проекта в рабочий каталог 16 | И Я очищаю параметры команды "oscript" в контексте 17 | И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os compileext cfe РасширениеНовое1 --ibconnection /F./build/ib --language ru" 18 | И Я показываю вывод команды 19 | Тогда Код возврата равен 0 20 | И Я очищаю параметры команды "oscript" в контексте 21 | 22 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os unloadext ./РасширениеНовое1.cfe РасширениеНовое1 --ibconnection /F./build/ib --language ru" 23 | И Я показываю вывод команды 24 | Тогда Код возврата равен 0 25 | И Файл "./РасширениеНовое1.cfe" существует 26 | 27 | # TODO Сценарий: Разборка нескольких расширений с явно заданной базой 28 | -------------------------------------------------------------------------------- /features/ВыгрузкаФайлаПоставкиКонфигурации.feature: -------------------------------------------------------------------------------- 1 | # language: ru 2 | 3 | Функционал: Выгрузка файла поставки конфигурации 4 | Как разработчик 5 | Я хочу иметь возможность выгружать файл поставки конфигурации из рабочей базы 1С 6 | Чтобы выполнять коллективную разработку проекта 1С 7 | 8 | Контекст: Подготовка репозитория и рабочего каталога проекта 1С 9 | 10 | Допустим Я создаю временный каталог и сохраняю его в контекст 11 | И Я устанавливаю временный каталог как рабочий каталог 12 | Допустим Я создаю каталог "build/out" в рабочем каталоге 13 | И Я копирую каталог "cf" из каталога "tests/fixtures" проекта в рабочий каталог 14 | 15 | И Я установил рабочий каталог как текущий каталог 16 | И Я сохраняю каталог проекта в контекст 17 | И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os init-dev --src ./cf --nocacheuse --language ru" 18 | И Я очищаю параметры команды "oscript" в контексте 19 | 20 | 21 | Сценарий: Выгрузка файла поставки конфигурации из базы 1С 22 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os make-dist ./build/distribution/1Cv8.cf --ibconnection /F./build/ib --language ru" 23 | Тогда Я сообщаю вывод команды "oscript" 24 | И Код возврата команды "oscript" равен 0 25 | И файл "build/distribution/1Cv8.cf" существует 26 | 27 | Сценарий: Загрузка файла поставки конфигурации в базу 1С 28 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os make-dist ./build/distribution/1Cv8.cf --ibconnection /F./build/ib --language ru" 29 | Тогда Я сообщаю вывод команды "oscript" 30 | И Код возврата команды "oscript" равен 0 31 | И файл "build/distribution/1Cv8.cf" существует 32 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os load -s ./build/distribution/1Cv8.cf --ibconnection /F./build/ib --language ru" 33 | Тогда Я сообщаю вывод команды "oscript" 34 | И Код возврата команды "oscript" равен 0 35 | -------------------------------------------------------------------------------- /features/ЗагрузитьРасширениеИзФайла.feature: -------------------------------------------------------------------------------- 1 | # language: ru 2 | 3 | Функционал: Загрузка расширений конфигурации 4 | Как разработчик 5 | Я хочу иметь возможность загрузить расширения конфигурации из файла 6 | Чтобы выполнять коллективную разработку проекта 1С 7 | 8 | Контекст: 9 | Допустим я подготовил репозиторий и рабочий каталог проекта 10 | И я подготовил рабочую базу проекта "./build/ib" по умолчанию 11 | Допустим Я копирую файл "Extension1.cfe" из каталога "tests/fixtures" проекта в рабочий каталог 12 | И Я очищаю параметры команды "oscript" в контексте 13 | 14 | Сценарий: Загрузка одного расширения из файла с обновлением БД 15 | 16 | Дано Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os loadext --file Extension1.cfe --extension Расширение1 --updatedb --ibconnection /F./build/ib --language ru" 17 | И Я показываю вывод команды 18 | Тогда Код возврата равен 0 19 | И Я очищаю параметры команды "oscript" в контексте 20 | 21 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os unloadext ./РасширениеНовое1.cfe Расширение1 --ibconnection /F./build/ib --language ru" 22 | И Я показываю вывод команды 23 | И Файл "./РасширениеНовое1.cfe" существует 24 | Тогда Код возврата равен 0 25 | 26 | Сценарий: Загрузка одного расширения из файла без обновления БД 27 | 28 | Дано Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os loadext --file Extension1.cfe --extension Расширение1 --ibconnection /F./build/ib --language ru" 29 | И Я показываю вывод команды 30 | Тогда Код возврата равен 0 31 | И Я очищаю параметры команды "oscript" в контексте 32 | 33 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os unloadext ./РасширениеНовое1.cfe Расширение1 --ibconnection /F./build/ib --language ru" 34 | И Я показываю вывод команды 35 | И Файл "./РасширениеНовое1.cfe" существует 36 | Тогда Код возврата равен 0 37 | 38 | Сценарий: Загрузка одного расширения из файла с обновлением БД без указания имени расширения 39 | 40 | Дано Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os loadext --file Extension1.cfe --updatedb --ibconnection /F./build/ib --language ru" 41 | И Я показываю вывод команды 42 | Тогда Вывод команды "oscript" содержит 43 | | Не задано имя расширения в ключе --extension | 44 | Тогда Код возврата равен 1 45 | И Я очищаю параметры команды "oscript" в контексте 46 | 47 | # TODO Сценарий: Разборка нескольких расширений с явно заданной базой 48 | -------------------------------------------------------------------------------- /features/ЗапуститьКонфигуратор.feature: -------------------------------------------------------------------------------- 1 | # language: ru 2 | 3 | Функционал: Запуск Конфигуратора 1С 4 | Как разработчик 5 | Я хочу иметь возможность запускать Конфигуратор интерактивно и автоматически из командной строки 6 | Чтобы выполнять коллективную разработку проекта 1С 7 | 8 | Сценарий: Подготовка ИБ 9 | # Допустим я включаю отладку лога с именем "oscript.app.vanessa-runner" 10 | # Допустим я включаю отладку лога с именем "oscript.lib.v8runner" 11 | # И Я сохраняю значение "DEBUG" в переменную окружения "LOGOS_LEVEL" 12 | # Допустим я включаю отладку лога с именем "bdd" 13 | Допустим Я создаю временный каталог и сохраняю его в контекст 14 | И Я устанавливаю временный каталог как рабочий каталог 15 | 16 | Допустим Я создаю каталог "build/out" в рабочем каталоге 17 | И Я копирую каталог "cf" из каталога "tests/fixtures" проекта в рабочий каталог 18 | 19 | И Я установил рабочий каталог как текущий каталог 20 | Когда Я сохраняю каталог проекта в контекст 21 | 22 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os init-dev --src ./cf --nocacheuse --language ru" 23 | Тогда Вывод команды "oscript" содержит "Обновление конфигурации базы данных успешно завершено" 24 | # Тогда Вывод команды "oscript" содержит "Database configuration successfully updated" 25 | 26 | И Код возврата команды "oscript" равен 0 27 | 28 | И Я очищаю параметры команды "oscript" в контексте 29 | 30 | Сценарий: Передача параметра --additional - Проверка установленных расширений 31 | 32 | Когда Я выполняю команду "oscript" с параметрами '<КаталогПроекта>/src/main.os designer --additional "/DumpDBCfgList -AllExtensions" --ibconnection /Fbuild/ib --language ru ' 33 | И Я сообщаю вывод команды "oscript" 34 | Тогда Вывод команды "oscript" содержит 35 | | Работа Конфигуратора завершена | 36 | И Код возврата команды "oscript" равен 0 37 | 38 | # эти 2 сценария нужно выполнить последними, т.к. они блокируют конфигуратор 39 | 40 | Сценарий: Интерактивный запуск Конфигуратора 41 | 42 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os designer --ibconnection /Fbuild/ib --no-wait --language ru" 43 | # И Я сообщаю вывод команды "oscript" 44 | Тогда Вывод команды "oscript" содержит 45 | | ИНФОРМАЦИЯ - Выполняю команду Конфигуратора | 46 | # | ИНФОРМАЦИЯ - Информации об ошибке нет | 47 | | ИНФОРМАЦИЯ - Работа Конфигуратора завершена | 48 | И Код возврата команды "oscript" равен 0 49 | 50 | Сценарий: Блокировка автоматического запуска Конфигуратора, т.к. ИБ из предыдущего сценария уже залочена Конфигуратором интерактивного запуска 51 | 52 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os designer --ibconnection /Fbuild/ib --language ru" 53 | # И Я сообщаю вывод команды "oscript" 54 | Тогда Вывод команды "oscript" содержит 55 | # | ПРЕДУПРЕЖДЕНИЕ - Не удалось прочитать файл информации | 56 | | ОШИБКА - Запрещено использование окон. Передан ключ DisableStartupDialogs | 57 | И Код возврата команды "oscript" равен 1 58 | -------------------------------------------------------------------------------- /features/МенеджерФильтраПриложений.feature: -------------------------------------------------------------------------------- 1 | # language: ru 2 | 3 | Функциональность: класс МенеджерФильтраПриложений 4 | 5 | Как разработчик 6 | Я хочу получить класс для управления фильтрацией настроек с учетом спец.режима настроек 7 | 8 | Контекст: 9 | Дано заданы приложения 10 | |приложение | пользователь | 11 | |designer | регламент | 12 | |1cv8c | пользователь1 | 13 | |1cv8 | пользователь2 | 14 | 15 | Сценарий: Фильтр не указан, режим фильтра не указан 16 | Когда указываю настройку фильтра "" 17 | И указываю настройку режим фильтра "" 18 | Тогда менеджер фильтра возвращает приложения 19 | |designer | регламент | 20 | |1cv8c | пользователь1 | 21 | |1cv8 | пользователь2 | 22 | 23 | Сценарий: Фильтр не указан, режим фильтра "only" (регистронезависимо) 24 | Когда указываю настройку фильтра "" 25 | И указываю настройку режим фильтра "only" 26 | Тогда менеджер фильтра возвращает приложения 27 | |designer | регламент | 28 | |1cv8c | пользователь1 | 29 | |1cv8 | пользователь2 | 30 | 31 | Сценарий: Фильтр задан, режим фильтра не указан 32 | Когда указываю настройку фильтра "appid=Designer|name=регламент;администратор" 33 | И указываю настройку режим фильтра "" 34 | Тогда менеджер фильтра возвращает приложения 35 | |designer | регламент | 36 | 37 | Сценарий: Фильтр задан, режим фильтра "only" 38 | Когда указываю настройку фильтра "appid=Designer|name=регламент;администратор" 39 | И указываю настройку режим фильтра "only" 40 | Тогда менеджер фильтра возвращает приложения 41 | |designer | регламент | 42 | 43 | Сценарий: Фильтр задан, режим фильтра "only" по пользователю 44 | Дано заданы приложения 45 | |приложение | пользователь | 46 | |designer | пользователь2 | 47 | |1cv8c | администратор | 48 | |1cv8 | регламент | 49 | Когда указываю настройку фильтра "appid=WebClient|name=регламент;администратор" 50 | И указываю настройку режим фильтра "only" 51 | Тогда менеджер фильтра возвращает приложения 52 | |1cv8c | администратор | 53 | |1cv8 | регламент | 54 | 55 | Сценарий: Фильтр задан, режим фильтра "except" 56 | Когда указываю настройку фильтра "appid=Designer|name=регламент;администратор" 57 | И указываю настройку режим фильтра "except" 58 | Тогда менеджер фильтра возвращает приложения 59 | |1cv8c | пользователь1 | 60 | |1cv8 | пользователь2 | 61 | 62 | Сценарий: Фильтр задан, режим фильтра "off" 63 | Когда указываю настройку фильтра "appid=Designer|name=регламент;администратор" 64 | И указываю настройку режим фильтра "off" 65 | Тогда менеджер фильтра возвращает приложения 66 | |designer | регламент | 67 | |1cv8c | пользователь1 | 68 | |1cv8 | пользователь2 | 69 | 70 | Сценарий: Фильтр задан, режим фильтра "all" 71 | Когда указываю настройку фильтра "appid=Designer|name=регламент;администратор" 72 | И указываю настройку режим фильтра "all" 73 | Тогда менеджер фильтра возвращает приложения 74 | |designer | регламент | 75 | 76 | Сценарий: Фильтр задан, режим фильтра "default" 77 | Когда указываю настройку фильтра "appid=Designer|name=регламент;администратор" 78 | И указываю настройку режим фильтра "default" 79 | Тогда менеджер фильтра не возвращает приложения 80 | -------------------------------------------------------------------------------- /features/ОбновитьКонфигурацию.feature: -------------------------------------------------------------------------------- 1 | # language: ru 2 | 3 | Функционал: Обновление обычных конфигураций и конфигураций на поддержке 4 | Как разработчик 5 | Я хочу объединять обновлять конфигурации, стоящие на поддержке поставщика 6 | Чтобы выполнять коллективную разработку проекта 1С 7 | 8 | Контекст: Подготовка репозитория и рабочего каталога проекта 1С 9 | 10 | Допустим Я создаю временный каталог и сохраняю его в контекст 11 | И Я устанавливаю временный каталог как рабочий каталог 12 | И Я инициализирую репозиторий git в рабочем каталоге 13 | Допустим Я создаю каталог "build/out" в рабочем каталоге 14 | И Я копирую каталог "cf" из каталога "tests/fixtures" проекта в рабочий каталог 15 | И Я копирую файл "MergeSettingsКонфигурация-cf-to-empty.xml" из каталога "tests/fixtures" проекта в рабочий каталог 16 | 17 | И Я установил рабочий каталог как текущий каталог 18 | И Я сохраняю каталог проекта в контекст 19 | И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os init-dev --src ./cf --nocacheuse --language ru" 20 | И Я очищаю параметры команды "oscript" в контексте 21 | И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os init-dev --nocacheuse --ibconnection /F./build/ib-work --language ru" 22 | И Я очищаю параметры команды "oscript" в контексте 23 | 24 | Допустим Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os unload ./build/1Cv8.cf --ibconnection /F./build/ib --language ru" 25 | И Код возврата команды "oscript" равен 0 26 | И Я очищаю параметры команды "oscript" в контексте 27 | 28 | Сценарий: Обновление обычной конфигурации 29 | 30 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os update -s ./build/1Cv8.cf --ibconnection /F./build/ib-work --language ru" 31 | Тогда я вижу в консоли вывод "Файл не содержит доступных обновлений" 32 | И Код возврата команды "oscript" равен 1 33 | 34 | Сценарий: Обновление обычной конфигурации с указанием файла настройки 35 | 36 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os update -s ./build/1Cv8.cf --update-settings MergeSettingsКонфигурация-cf-to-empty.xml --ibconnection /F./build/ib-work --language ru" 37 | Тогда я вижу в консоли вывод "Файл не содержит доступных обновлений" 38 | И Код возврата команды "oscript" равен 1 39 | 40 | # Сценарий: Обновление конфигурации на поддержке 41 | -------------------------------------------------------------------------------- /features/ОбновлениеКонфигурацииБД.feature: -------------------------------------------------------------------------------- 1 | # language: ru 2 | 3 | Функционал: Обновление конфигурации базы данных 4 | Как разработчик 5 | Я хочу иметь возможность обновить базу данных 6 | Чтобы отдельно загружать конфигурацию и потом обновлять ее 7 | 8 | Контекст: Подготовка репозитория и рабочего каталога проекта 1С 9 | Допустим я включаю отладку лога с именем "oscript.app.vanessa-runner" 10 | И Я очищаю параметры команды "oscript" в контексте 11 | 12 | Допустим Я создаю временный каталог и сохраняю его в контекст 13 | И Я устанавливаю временный каталог как рабочий каталог 14 | И Я инициализирую репозиторий git в рабочем каталоге 15 | Допустим Я создаю каталог "build/out" в рабочем каталоге 16 | И Я копирую каталог "cf" из каталога "tests/fixtures" проекта в рабочий каталог 17 | 18 | И Я установил рабочий каталог как текущий каталог 19 | 20 | Сценарий: Обновление dev базы по умолчанию в ./build/ibservice 21 | Когда Я сохраняю каталог проекта в контекст 22 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os init-dev --src ./cf --nocacheuse --dev --language ru" 23 | И Я очищаю параметры команды "oscript" в контексте 24 | 25 | Тогда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os updatedb --ibconnection /F./build/ibservice --uccode test --language ru" 26 | И Я сообщаю вывод команды "oscript" 27 | Тогда Вывод команды "oscript" содержит "Обновление конфигурации базы данных успешно завершено" 28 | И Код возврата команды "oscript" равен 0 29 | 30 | Сценарий: Обновление dev-базы ./build/ibservice на сервере в режиме реструктуризации -v2 31 | Когда Я сохраняю каталог проекта в контекст 32 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os init-dev --src ./cf --nocacheuse --dev --language ru" 33 | И Я очищаю параметры команды "oscript" в контексте 34 | 35 | Тогда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os updatedb --ibconnection /F./build/ibservice --uccode test --v2 --language ru" 36 | И Я сообщаю вывод команды "oscript" 37 | Тогда Вывод команды "oscript" содержит "Обновление конфигурации базы данных успешно завершено" 38 | И Код возврата команды "oscript" равен 0 39 | -------------------------------------------------------------------------------- /features/ОбъединениеКонфигураций.feature: -------------------------------------------------------------------------------- 1 | # language: ru 2 | 3 | Функционал: Объединение конфигураций 4 | Как разработчик 5 | Я хочу объединять cf-файл с конфигурацией базы 6 | Чтобы выполнять коллективную разработку проекта 1С 7 | 8 | Контекст: Подготовка репозитория и рабочего каталога проекта 1С 9 | 10 | Допустим Я создаю временный каталог и сохраняю его в контекст 11 | И Я устанавливаю временный каталог как рабочий каталог 12 | И Я инициализирую репозиторий git в рабочем каталоге 13 | Допустим Я создаю каталог "build/out" в рабочем каталоге 14 | И Я копирую каталог "cf" из каталога "tests/fixtures" проекта в рабочий каталог 15 | И Я копирую файл "MergeSettingsКонфигурация-cf-to-empty.xml" из каталога "tests/fixtures" проекта в рабочий каталог 16 | 17 | И Я установил рабочий каталог как текущий каталог 18 | И Я сохраняю каталог проекта в контекст 19 | И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os init-dev --src ./cf --nocacheuse --language ru" 20 | И Я очищаю параметры команды "oscript" в контексте 21 | И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os init-dev --nocacheuse --ibconnection /F./build/ib-work --language ru" 22 | И Я очищаю параметры команды "oscript" в контексте 23 | 24 | Допустим Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os unload ./build/1Cv8.cf --ibconnection /F./build/ib --language ru" 25 | И Код возврата команды "oscript" равен 0 26 | И Я очищаю параметры команды "oscript" в контексте 27 | 28 | Сценарий: Объединение cf-файла с конфигурацией 29 | 30 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os merge -s ./build/1Cv8.cf --merge-settings MergeSettingsКонфигурация-cf-to-empty.xml --ibconnection /F./build/ib-work --language ru" 31 | Тогда я вижу в консоли вывод "Успешно завершено объединение конфигураций" 32 | И Код возврата команды "oscript" равен 0 33 | 34 | Сценарий: Объединение cf-файла с конфигурацией с поставкой на поддержку 35 | 36 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os merge -s ./build/1Cv8.cf --enable-support --merge-settings MergeSettingsКонфигурация-cf-to-empty.xml --ibconnection /F./build/ib-work --language ru" 37 | Тогда я вижу в консоли вывод "Возможность объединения с постановкой на поддержку отсутствует" 38 | И Код возврата команды "oscript" равен 1 39 | 40 | Сценарий: Объединение cf-файла без указания файла настроек 41 | 42 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os merge -s ./build/1Cv8.cf --ibconnection /F./build/ib-work --language ru" 43 | И Код возврата команды "oscript" равен 1 44 | Тогда я вижу в консоли вывод "Необходимо задать к файлу с настройками объединения конфигураций" 45 | -------------------------------------------------------------------------------- /features/ПереопределениеНастроек.docfeature: -------------------------------------------------------------------------------- 1 | # language: ru 2 | 3 | Функционал: Переопределение настроек из файла конфигурации 4 | Как разработчик 5 | Я хочу иметь возможность создать файл настроек подключения к базам 6 | Чтобы выполнять простые команды без указания большого количества параметров 7 | 8 | Контекст: Подготовка репозитория и рабочего каталога проекта 1С 9 | Допустим Я создаю временный каталог и сохраняю его в контекст 10 | И Я устанавливаю временный каталог как рабочий каталог 11 | И Я инициализирую репозиторий git в рабочем каталоге 12 | 13 | Допустим Я копирую файл "env.json" из каталога "tests/fixtures" проекта в подкаталог "./" рабочего каталога 14 | И Я копирую файл "fixture.epf" из каталога "tests/fixtures" проекта в подкаталог "build/out/epf" рабочего каталога 15 | И Я копирую каталог "cf" из каталога "tests/fixtures" проекта в рабочий каталог 16 | И Я установил рабочий каталог как текущий каталог 17 | И Я выполняю первоначальную инициализирую репозитория 18 | 19 | Сценарий: Проверка выполнения комманды decompileefp 20 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/tools/runner.os decompileefp" 21 | И Я сообщаю вывод команды "oscript" 22 | Тогда Вывод команды "oscript" не содержит "Неверное значение аргумента" 23 | И Код возврата команды "oscript" равен 0 24 | И Каталог "epf/fixture" существует 25 | 26 | Сценарий: Порядка переопределения параметров в файле env.json 27 | Когда я устанавливаю в файле 'env.json' в настройке 'default' параметр '--ibname' значением 'test' 28 | Тогда по умолчанию во все команды добавляется '--ibname' равный 'test' 29 | 30 | Сценарий: Порядка переопределения параметров в файле env.json разделы default и отдельно для команды decompileefp 31 | Когда я устанавливаю в файле 'env.json' в настройке 'default' параметр '--ibname' значением 'test' 32 | И я устанавливаю в файле 'env.json' в настройке 'decompileefp' параметр '--ibname' значением 'test2' 33 | Тогда для команды 'decompileefp' параметр '--ibname' равен 'test2' 34 | И для команды 'decompile' параметр '--ibname' равен 'test' 35 | 36 | Сценарий: Порядок переопределения параметров в файле env.json параметром командной строки и переменной окружения 37 | Когда я устанавливаю в файле 'env.json' в настройке 'default' параметр '--ibname' значением 'test' 38 | И я устанавливаю в файле 'env.json' в настройке 'default' параметр '--db-user' значением 'testuser' 39 | И я устанавливаю в файле 'env.json' в настройке 'default' параметр '--db-pwd' значением 'testpwd' 40 | И я устанавливаю переменную окружения 'RUNNER_DBUSER' равной 'envuser' 41 | И я устанавливаю переменную окружения 'RUNNER_DBPWD' равной 'envpwd' 42 | И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/tools/runner.os decompileefp --db-pwd cmdpwd" 43 | Тогда значения параметра '--ibname' для команды 'decompileefp' равно 'test' 44 | И значения параметра '--db-user' для команды 'decompileefp' равно 'envtest' 45 | И значения параметра '--db-pwd' для команды 'decompileefp' равно 'cmdpwd' 46 | 47 | -------------------------------------------------------------------------------- /features/ПростыеКоманды.feature: -------------------------------------------------------------------------------- 1 | # language: ru 2 | 3 | Функциональность: Выполнение команды продукта 4 | 5 | Как разработчик 6 | Я хочу иметь возможность выполнять команды продукта 7 | Чтобы выполнять коллективную разработку приложения для OneScript 8 | 9 | Контекст: 10 | Допустим Я очищаю параметры команды "oscript" в контексте 11 | 12 | Сценарий: Получение версии продукта 13 | Когда Я выполняю команду "oscript" с параметрами "src/main.os version" 14 | Тогда Я сообщаю вывод команды "oscript" 15 | И Вывод команды "oscript" содержит "." 16 | И Вывод команды "oscript" не содержит "vanessa-runner v" 17 | И Код возврата команды "oscript" равен 0 18 | 19 | Сценарий: Получение помощи продукта 20 | Когда Я выполняю команду "oscript" с параметрами "src/main.os help" 21 | И Вывод команды "oscript" содержит "vanessa-runner v" 22 | И Вывод команды "oscript" содержит "Вывод справки по параметрам" 23 | И Вывод команды "oscript" содержит "Вывод версии приложения" 24 | И Код возврата команды "oscript" равен 0 25 | 26 | Сценарий: Вызов исполняемого файла без параметров 27 | Когда Я выполняю команду "oscript" с параметрами "src/main.os" 28 | Тогда Вывод команды "oscript" содержит "vanessa-runner v" 29 | И Вывод команды "oscript" не содержит "ОШИБКА - Некорректные аргументы командной строки" 30 | И Вывод команды "oscript" содержит "Вывод справки по параметрам" 31 | И Код возврата команды "oscript" равен 0 32 | 33 | Сценарий: Вызов приложения с выводом отладки в отдельный файл 34 | 35 | Дано Я создаю временный каталог и сохраняю его в контекст 36 | И Я устанавливаю временный каталог как рабочий каталог 37 | И Я установил рабочий каталог как текущий каталог 38 | # отладку логов включать нельзя, т.к. сценарий упадет 39 | # И я включаю полную отладку логов пакетов OneScript 40 | 41 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os version --debuglogfile debug.log" 42 | Тогда Я сообщаю вывод команды "oscript" 43 | Тогда Вывод команды "oscript" содержит "." 44 | И я показываю текст файла "debug.log" 45 | И Файл "debug.log" содержит "ОТЛАДКА - Подключил вывод отладочного лога в отдельный файл debug.log" 46 | И Вывод команды "oscript" не содержит "ОТЛАДКА - Подключил вывод отладочного лога в отдельный файл debug.log" 47 | И Код возврата команды "oscript" равен 0 48 | 49 | # TODO Сценарий: Вызов приложения с предварительно включенной отладкой 50 | # проверить вывод отладочной инфы 51 | # И я включаю отладку лога с именем "oscript.app.vanessa-runner" 52 | -------------------------------------------------------------------------------- /features/РаботаСХранилищем.feature: -------------------------------------------------------------------------------- 1 | # language: ru 2 | 3 | Функционал: Работа с хранилищем 4 | Как разработчик 5 | Я хочу создавать хранилище, выгружать версию хранилища, создавать пользователей хранилища 6 | Чтобы выполнять коллективную разработку проекта 1С 7 | 8 | Контекст: Подготовка репозитория и рабочего каталога проекта 1С 9 | 10 | Допустим Я создаю временный каталог и сохраняю его в контекст 11 | И Я устанавливаю временный каталог как рабочий каталог 12 | И Я инициализирую репозиторий git в рабочем каталоге 13 | Допустим Я создаю каталог "build/out" в рабочем каталоге 14 | И Я копирую каталог "cf" из каталога "tests/fixtures" проекта в рабочий каталог 15 | 16 | И Я установил рабочий каталог как текущий каталог 17 | И Я сохраняю каталог проекта в контекст 18 | И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os init-dev --src ./cf --nocacheuse --language ru" 19 | И Я очищаю параметры команды "oscript" в контексте 20 | 21 | 22 | Сценарий: Создание хранилища 1С 23 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os createrepo ./build/repo admin 123 --ibconnection /F./build/ib --language ru" 24 | Тогда Я сообщаю вывод команды "oscript" 25 | И каталог "build/repo" существует 26 | И Код возврата команды "oscript" равен 0 27 | 28 | Сценарий: Создание пользователя 1С 29 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os createrepo ./build/repo admin 123 --ibconnection /F./build/ib --language ru" 30 | И Код возврата команды "oscript" равен 0 31 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os createrepouser ./build/repo admin 123 --storage-user uuu --storage-pwd 321 --storage-role Administration --ibconnection /F./build/ib --language ru" 32 | Тогда Я сообщаю вывод команды "oscript" 33 | И Код возврата команды "oscript" равен 0 34 | 35 | Сценарий: Подключение базы к хранилищу 1С 36 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os createrepo ./build/repo admin 123 --ibconnection /F./build/ib --language ru" 37 | И Код возврата команды "oscript" равен 0 38 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os createrepouser ./build/repo admin 123 --storage-user uuu --storage-pwd 321 --storage-role Administration --ibconnection /F./build/ib --language ru" 39 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os bindrepo ./build/repo uuu 321 --ibconnection /F./build/ib --language ru" 40 | Тогда Я сообщаю вывод команды "oscript" 41 | И Код возврата команды "oscript" равен 0 42 | 43 | Сценарий: Выгрузка конфигурации из хранилища 1С 44 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os createrepo ./build/repo admin 123 --ibconnection /F./build/ib --language ru" 45 | И Код возврата команды "oscript" равен 0 46 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os unloadcfrepo --storage-name ./build/repo --storage-user admin --storage-pwd 123 -o ./build/1cv8.cf --ibconnection /F./build/ib --language ru" 47 | Тогда Я сообщаю вывод команды "oscript" 48 | И Код возврата команды "oscript" равен 0 49 | И Файл "./build/1cv8.cf" существует 50 | -------------------------------------------------------------------------------- /features/РазборкаКонфигурации.feature: -------------------------------------------------------------------------------- 1 | # language: ru 2 | 3 | Функционал: Проверка разборки на исходники файла ./cf 4 | Как Разработчик/Инженер 5 | Я Хочу иметь возможность загружать файлы конфигурации 6 | Чтобы удостовериться в автоматизации сборки конфигурации из исходников 7 | 8 | Контекст: 9 | Допустим я подготовил репозиторий и рабочий каталог проекта 10 | И я подготовил рабочую базу проекта "./build/ib" по умолчанию 11 | И Я очищаю параметры команды "oscript" в контексте 12 | 13 | 14 | Сценарий: Запуск разборки конфигурации из исходников в файл cf. 15 | Допустим Я добавляю параметр "<КаталогПроекта>/src/main.os compile" для команды "oscript" 16 | И Я добавляю параметр "-s ./cf" для команды "oscript" 17 | И Я добавляю параметр "-o ./build/1Cv8.cf" для команды "oscript" 18 | И Я добавляю параметр "--language ru" для команды "oscript" 19 | Когда Я выполняю команду "oscript" 20 | # И Я сообщаю вывод команды "oscript" 21 | Тогда Вывод команды "oscript" содержит 22 | | Сохранение конфигурации успешно завершено | 23 | И Код возврата команды "oscript" равен 0 24 | Допустим Я создаю каталог "build/cf" в рабочем каталоге 25 | И Я очищаю параметры команды "oscript" в контексте 26 | 27 | Допустим Я добавляю параметр "<КаталогПроекта>/src/main.os decompile" для команды "oscript" 28 | И Я добавляю параметр "-i ./build/1Cv8.cf" для команды "oscript" 29 | И Я добавляю параметр "-o ./build/cf" для команды "oscript" 30 | И Я добавляю параметр "--ibconnection /F./build/ib" для команды "oscript" 31 | И Я добавляю параметр "--language ru" для команды "oscript" 32 | Когда Я выполняю команду "oscript" 33 | Тогда Вывод команды "oscript" содержит 34 | | Запускаю выгрузку конфигурации в исходники | 35 | | Выгрузка в исходники завершена | 36 | И каталог "build/cf" существует 37 | И файл "build/cf/Configuration.xml" существует 38 | 39 | Сценарий: Запуск выгрузки конфигурации из текущей конфигурации. 40 | Допустим Я добавляю параметр "<КаталогПроекта>/src/main.os compile" для команды "oscript" 41 | И Я добавляю параметр "-s ./cf" для команды "oscript" 42 | И Я добавляю параметр "-c" для команды "oscript" 43 | И Я добавляю параметр "--ibconnection /F./build/ib" для команды "oscript" 44 | И Я добавляю параметр "--language ru" для команды "oscript" 45 | Когда Я выполняю команду "oscript" 46 | Тогда Вывод команды "oscript" содержит 47 | | Загрузка конфигурации из файлов успешно завершена | 48 | И Код возврата команды "oscript" равен 0 49 | И Я очищаю параметры команды "oscript" в контексте 50 | 51 | Допустим Я добавляю параметр "<КаталогПроекта>/src/main.os decompile --ibconnection /F./build/ib" для команды "oscript" 52 | И Я добавляю параметр "--ibconnection /F./build/ib" для команды "oscript" 53 | И Я добавляю параметр "-o ./build/cf" для команды "oscript" 54 | И Я добавляю параметр "--language ru" для команды "oscript" 55 | Допустим Я создаю каталог "build/cf" в рабочем каталоге 56 | Когда Я выполняю команду "oscript" 57 | Тогда Вывод команды "oscript" содержит 58 | | Запускаю выгрузку конфигурации в исходники | 59 | | Выгрузка в исходники завершена | 60 | И каталог "build/cf" существует 61 | И файл "build/cf/Configuration.xml" существует 62 | -------------------------------------------------------------------------------- /features/РазборкаОбработок.feature: -------------------------------------------------------------------------------- 1 | # language: ru 2 | 3 | Функционал: Разборка внешних обработок 4 | Как разработчик 5 | Я хочу иметь возможность разобрать внешние обработки 1С на исходники 6 | Чтобы выполнять коллективную разработку проекта 1С 7 | 8 | Контекст: 9 | Допустим я подготовил репозиторий и рабочий каталог проекта 10 | 11 | И Я копирую файл "fixture.epf" из каталога "tests/fixtures" проекта в подкаталог "build/out" рабочего каталога 12 | 13 | Допустим каталог "epf" не существует 14 | И Я очищаю параметры команды "oscript" в контексте 15 | 16 | Сценарий: Разборка одной внешней обработки с временной базой 17 | 18 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os decompileepf build/out/fixture.epf epf --language ru" 19 | # И Я сообщаю вывод команды "oscript" 20 | И Вывод команды "oscript" содержит "Изменено" 21 | И Вывод команды "oscript" содержит "Пропустили" 22 | И Вывод команды "oscript" не содержит "v8unpack" 23 | Тогда Код возврата команды "oscript" равен 0 24 | И файл "epf/fixture/fixture.xml" существует 25 | И файл "epf/fixture/fixture/Ext/ObjectModule.bsl" существует 26 | И файл "epf/fixture/fixture/Ext/ObjectModule.bsl" содержит 'Сообщить("Обработка Тест1");' 27 | 28 | Сценарий: Разборка каталога внешних обработок с временной базой 29 | 30 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os decompileepf build/out epf --language ru" 31 | И Вывод команды "oscript" содержит "Изменено" 32 | И Вывод команды "oscript" содержит "Пропустили" 33 | И Вывод команды "oscript" не содержит "v8unpack" 34 | Тогда Код возврата команды "oscript" равен 0 35 | И файл "epf/fixture/fixture.xml" существует 36 | И файл "epf/fixture/fixture/Ext/ObjectModule.bsl" существует 37 | И файл "epf/fixture/fixture/Ext/ObjectModule.bsl" содержит 'Сообщить("Обработка Тест1");' 38 | 39 | # Сценарий: Разборка одной внешней обработки с явно заданной базой 40 | # Когда TODO 41 | 42 | # Сценарий: Разборка каталога внешних обработок с явно заданной базой 43 | # Когда TODO 44 | -------------------------------------------------------------------------------- /features/РазборкаРасширений.feature: -------------------------------------------------------------------------------- 1 | # language: ru 2 | 3 | Функционал: Разборка расширений конфигурации 4 | Как разработчик 5 | Я хочу иметь возможность разобрать расширения конфигурации на исходники 6 | Чтобы выполнять коллективную разработку проекта 1С 7 | 8 | Контекст: 9 | Допустим я подготовил репозиторий и рабочий каталог проекта 10 | И я подготовил рабочую базу проекта "./build/ib" по умолчанию 11 | 12 | Сценарий: Разборка одного расширения из базы 13 | Допустим Я копирую каталог "cfe" из каталога "tests/fixtures" проекта в рабочий каталог 14 | И Я копирую файл "Extension1.cfe" из каталога "tests/fixtures" проекта в рабочий каталог 15 | И Я очищаю параметры команды "oscript" в контексте 16 | И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os compileext cfe РасширениеНовое1 --ibconnection /F./build/ib --language ru" 17 | И каталог "cfe-out" не существует 18 | И Я очищаю параметры команды "oscript" в контексте 19 | 20 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os decompileext РасширениеНовое1 cfe-out --ibconnection /F./build/ib --language ru" 21 | Тогда Код возврата равен 0 22 | И Файл "cfe-out/Configuration.xml" содержит 23 | """ 24 | 25 | Расширение1 26 | 27 | 28 | ru 29 | Расширение1 30 | 31 | 32 | 33 | Customization 34 | Adopted 35 | """ 36 | # Расш1_ 37 | И Файл "cfe-out/Ext/ManagedApplicationModule.bsl" содержит 'Сообщить("Внутри Расш1_ПриНачалеРаботыСистемы");' 38 | 39 | # TODO почему-то проверкак текст файла ManagedApplicationModule.bsl ниже не проходит 40 | # И Файл "cfe-out/Ext/ManagedApplicationModule.bsl" содержит 41 | # """ 42 | # &Перед("ПриНачалеРаботыСистемы") 43 | # Процедура Расш1_ПриНачалеРаботыСистемы() 44 | # Сообщить("Внутри Расш1_ПриНачалеРаботыСистемы"); 45 | # КонецПроцедуры 46 | # """ 47 | 48 | # TODO Сценарий: Разборка нескольких расширений с явно заданной базой 49 | -------------------------------------------------------------------------------- /features/СборкаРасширений.feature: -------------------------------------------------------------------------------- 1 | # language: ru 2 | 3 | Функционал: Сборка расширений конфигурации 4 | Как разработчик 5 | Я хочу иметь возможность собрать расширения конфигурации из исходников и подключить к нужной конфигурации 6 | Чтобы выполнять коллективную разработку проекта 1С 7 | 8 | Контекст: 9 | Допустим я подготовил репозиторий и рабочий каталог проекта 10 | Допустим я подготовил рабочую базу проекта "./build/ib" по умолчанию 11 | 12 | И Я копирую каталог "cfe" из каталога "tests/fixtures" проекта в рабочий каталог 13 | 14 | Сценарий: Сборка одного расширения с явно заданной базой 15 | 16 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os compileext cfe РасширениеНовое1 --ibconnection /F./build/ib --language ru" 17 | 18 | Тогда Вывод команды "oscript" содержит 19 | """ 20 | Список расширений конфигурации: 21 | РасширениеНовое1 22 | """ 23 | Тогда Код возврата команды "oscript" равен 0 24 | 25 | Сценарий: Сборка одного расширения и сохранение в файл с явно заданной базой 26 | 27 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os compileexttocfe -s cfe -o РасширениеНовое1.cfe --ibconnection /F./build/ib --language ru" 28 | 29 | Тогда Вывод команды "oscript" содержит 30 | """ 31 | Список расширений конфигурации: 32 | """ 33 | Тогда Код возврата команды "oscript" равен 0 34 | И файл "РасширениеНовое1.cfe" существует 35 | 36 | Сценарий: Сборка одного расширения и сохранение в файл без базы 37 | 38 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os compileexttocfe -s cfe -o РасширениеНовое1.cfe --language ru" 39 | 40 | Тогда Вывод команды "oscript" содержит 41 | """ 42 | Список расширений конфигурации: 43 | """ 44 | Тогда Код возврата команды "oscript" равен 0 45 | И файл "РасширениеНовое1.cfe" существует 46 | 47 | # TODO Сценарий: Сборка каталога расширений с явно заданной базой 48 | 49 | Сценарий: Сборка расширения из исходников в cfe-файл с изменением номера сборки 50 | Допустим Я добавляю параметр "<КаталогПроекта>/src/main.os compileexttocfe" для команды "oscript" 51 | И Я добавляю параметр "-s cfe -o РасширениеНовое1.cfe" для команды "oscript" 52 | И Я добавляю параметр "--build-number 1516" для команды "oscript" 53 | И Я добавляю параметр "--language ru" для команды "oscript" 54 | Когда Я выполняю команду "oscript" 55 | Тогда Вывод команды "oscript" содержит 56 | | Изменяю номер сборки в исходниках конфигурации 1С на 1516 | 57 | Тогда Вывод команды "oscript" содержит 58 | """ 59 | Список расширений конфигурации: 60 | """ 61 | И Код возврата команды "oscript" равен 0 62 | И файл "РасширениеНовое1.cfe" существует 63 | 64 | Тогда файл "cfe/Configuration.xml" содержит "1.1.0.1516" 65 | 66 | Дано каталог "cfe-out" не существует 67 | И Я очищаю параметры команды "oscript" в контексте 68 | 69 | И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os compileext cfe РасширениеНовое1 --ibconnection /F./build/ib --language ru" 70 | И Я очищаю параметры команды "oscript" в контексте 71 | Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os decompileext РасширениеНовое1 cfe-out --ibconnection /F./build/ib --language ru" 72 | Тогда Код возврата равен 0 73 | 74 | Тогда файл "cfe-out/Configuration.xml" содержит "1.1.0.1516" 75 | -------------------------------------------------------------------------------- /features/СобратьИзИсходников.feature: -------------------------------------------------------------------------------- 1 | # language: ru 2 | 3 | Функционал: Сборка из исходников конфигурации 4 | Как Разработчик/Инженер 5 | Я Хочу иметь возможность загружать файлы конфигурации 6 | Чтобы удостовериться в автоматизации сборки конфигурации из исходников 7 | 8 | Контекст: 9 | Допустим я подготовил репозиторий и рабочий каталог проекта 10 | И я подготовил рабочую базу проекта "./build/ib" по умолчанию 11 | И Я очищаю параметры команды "oscript" в контексте 12 | 13 | Сценарий: Запуск сборки конфигурации из исходников в файл cf 14 | Допустим Я добавляю параметр "<КаталогПроекта>/src/main.os compile" для команды "oscript" 15 | И Я добавляю параметр "-s ./cf" для команды "oscript" 16 | И Я добавляю параметр "-o ./build/1Cv8.cf" для команды "oscript" 17 | И Я добавляю параметр "--language ru" для команды "oscript" 18 | Когда Я выполняю команду "oscript" 19 | Тогда Вывод команды "oscript" содержит 20 | | Сохранение конфигурации успешно завершено| 21 | И Код возврата команды "oscript" равен 0 22 | И файл "./build/1Cv8.cf" существует 23 | 24 | Сценарий: Запуск сборки конфигурации из исходников в текущую базу данных 25 | Допустим Я добавляю параметр "<КаталогПроекта>/src/main.os compile" для команды "oscript" 26 | И Я добавляю параметр "-s ./cf" для команды "oscript" 27 | И Я добавляю параметр "-c" для команды "oscript" 28 | И Я добавляю параметр "--ibconnection /F./build/ib" для команды "oscript" 29 | И Я добавляю параметр "--language ru" для команды "oscript" 30 | Когда Я выполняю команду "oscript" 31 | Тогда Вывод команды "oscript" содержит 32 | | Загрузка конфигурации из файлов успешно завершена| 33 | И Код возврата команды "oscript" равен 0 34 | И файл "./cf/ConfigDumpInfo.xml" существует 35 | 36 | Сценарий: Запуск сборки конфигурации из исходников в файл cf с изменением номера сборки 37 | Допустим Я добавляю параметр "<КаталогПроекта>/src/main.os compile" для команды "oscript" 38 | И Я добавляю параметр "-s ./cf" для команды "oscript" 39 | И Я добавляю параметр "-o ./build/1Cv8.cf" для команды "oscript" 40 | И Я добавляю параметр "--build-number 1514" для команды "oscript" 41 | И Я добавляю параметр "--language ru" для команды "oscript" 42 | Когда Я выполняю команду "oscript" 43 | Тогда Вывод команды "oscript" содержит 44 | | Изменяю номер сборки в исходниках конфигурации 1С на 1514 | 45 | | Сохранение конфигурации успешно завершено| 46 | И Код возврата команды "oscript" равен 0 47 | 48 | Тогда файл "./build/1Cv8.cf" существует 49 | Тогда файл "cf/Configuration.xml" содержит "1.0.0.1514" 50 | 51 | Дано файл "build/cf/Configuration.xml" не существует 52 | Дано Я создаю каталог "build/cf" в рабочем каталоге 53 | И Я очищаю параметры команды "oscript" в контексте 54 | 55 | Дано Я добавляю параметр "<КаталогПроекта>/src/main.os decompile" для команды "oscript" 56 | И Я добавляю параметр "-i ./build/1Cv8.cf" для команды "oscript" 57 | И Я добавляю параметр "-o ./build/cf" для команды "oscript" 58 | И Я добавляю параметр "--ibconnection /F./build/ib" для команды "oscript" 59 | И Я добавляю параметр "--language ru" для команды "oscript" 60 | Когда Я выполняю команду "oscript" 61 | Тогда Вывод команды "oscript" содержит 62 | | Запускаю выгрузку конфигурации в исходники | 63 | | Выгрузка в исходники завершена | 64 | И Код возврата команды "oscript" равен 0 65 | Тогда файл "build/cf/Configuration.xml" содержит "1.0.0.1514" 66 | -------------------------------------------------------------------------------- /packagedef: -------------------------------------------------------------------------------- 1 | #Использовать 1commands 2 | 3 | Процедура ПередСборкой(Знач РабочийКаталог) Экспорт 4 | Команда = Новый Команда; 5 | Команда.УстановитьПравильныйКодВозврата(0); 6 | Команда.ПоказыватьВыводНемедленно(Истина); 7 | Команда.УстановитьСтрокуЗапуска("oscript src/main.os compileepf epf epf --v8version 8.3"); 8 | КодВозврата = Команда.Исполнить(); 9 | Сообщить("Вывод команды " + Команда.ПолучитьВывод()); 10 | Если КодВозврата <> 0 Тогда 11 | ВызватьИсключение СтрШаблон("Код возврата не равен 0, а равен %1", КодВозврата); 12 | КонецЕсли; 13 | 14 | СобратьПакетСЛокальнымиЗависимостями(РабочийКаталог); 15 | КонецПроцедуры 16 | 17 | Процедура СобратьПакетСЛокальнымиЗависимостями(Знач РабочийКаталог) Экспорт 18 | 19 | УдалитьФайлы(ОбъединитьПути(РабочийКаталог, "oscript_modules"), "*.*"); 20 | 21 | СистемнаяИнформация = Новый СистемнаяИнформация; 22 | ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0; 23 | Если ЭтоWindows Тогда 24 | ИмяУтилиты = КаталогПрограммы() + "\opm.bat"; 25 | Иначе 26 | ИмяУтилиты = "opm"; 27 | КонецЕсли; 28 | 29 | СтрокаЗапуска = СтрШаблон("%1 install -l", ИмяУтилиты); 30 | Сообщить(СтрокаЗапуска); 31 | 32 | Процесс = СоздатьПроцесс(СтрокаЗапуска, РабочийКаталог); 33 | Процесс.Запустить(); 34 | Процесс.ОжидатьЗавершения(); 35 | 36 | Если Процесс.КодВозврата <> 0 Тогда 37 | ВызватьИсключение "Ошибка сборки пакета"; 38 | КонецЕсли; 39 | 40 | КонецПроцедуры 41 | 42 | ПутьКСценариюПараметров = ОбъединитьПути(ТекущийСценарий().Каталог, "src", "Модули", "ПараметрыСистемы.os"); 43 | ПараметрыСистемы_ЛокальнаяВерсия = ЗагрузитьСценарий(ПутьКСценариюПараметров); 44 | 45 | Описание.Имя("vanessa-runner") 46 | .Версия(ПараметрыСистемы_ЛокальнаяВерсия.ВерсияПродукта()) 47 | .ВерсияСреды("1.7.0") 48 | 49 | .ЗависитОт("logos", "1.4.0") 50 | .ЗависитОт("cmdline", "1.0.0") 51 | .ЗависитОт("tempfiles", "1.0.0") 52 | .ЗависитОт("asserts", "1.3.0") 53 | .ЗависитОт("v8runner", "1.8.2") 54 | .ЗависитОт("v8find", "0.2.0") 55 | .ЗависитОт("strings", "0.4.1") 56 | .ЗависитОт("json", "1.1.1") 57 | .ЗависитОт("1commands", "1.5.0") 58 | .ЗависитОт("1bdd", "1.7.0") 59 | .ЗависитОт("fs", "1.0.0") 60 | .ЗависитОт("ParserFileV8i", "0.0.5") 61 | .ЗависитОт("v8storage", "0.6.5") 62 | .ЗависитОт("v8unpack", "1.0.4") 63 | .ЗависитОт("cli-selector", "0.4.0") 64 | 65 | .РазработкаЗависитОт("1bdd") 66 | .РазработкаЗависитОт("1testrunner") 67 | .РазработкаЗависитОт("asserts") 68 | .РазработкаЗависитОт("coverage") 69 | .РазработкаЗависитОт("1commands") 70 | .РазработкаЗависитОт("fs") 71 | .РазработкаЗависитОт("add") 72 | 73 | .ВключитьФайл("tools") 74 | .ВключитьФайл("src") 75 | .ВключитьФайл("features") 76 | .ВключитьФайл("epf") 77 | .ВключитьФайл("oscript_modules") 78 | .ВключитьФайл("packagedef") 79 | 80 | .ВключитьФайл("examples") 81 | .ВключитьФайл("readme.md") 82 | .ВключитьФайл("LICENSE") 83 | .ВключитьФайл("vanessa-runner-schema.json") 84 | 85 | .ОпределяетКласс("runner", "tools/runner.os") 86 | 87 | .ИсполняемыйФайл("src/main.os", "runner") 88 | .ИсполняемыйФайл("src/main.os", "vrunner") 89 | .ИсполняемыйФайл("src/main.os", "vanessa-runner") 90 | 91 | .ИсполняемыйФайл("tools/runner.os", "runner-old"); 92 | -------------------------------------------------------------------------------- /sonar-project.properties: -------------------------------------------------------------------------------- 1 | # must be unique in a given SonarQube instance 2 | sonar.projectKey=vanessa-runner 3 | # this is the name displayed in the SonarQube UI 4 | sonar.projectName=Vanessa-Runner 5 | 6 | # # версия проекта 7 | # sonar.projectVersion=1.10.0 8 | 9 | sonar.links.homepage=https://github.com/vanessa-opensource/vanessa-runner 10 | sonar.links.scm=https://github.com/vanessa-opensource/vanessa-runner 11 | sonar.links.issue=https://github.com/vanessa-opensource/vanessa-runner/issues 12 | # sonar.links.ci= 13 | 14 | # Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows. 15 | # Since SonarQube 4.2, this property is optional if sonar.modules is set. 16 | # If not set, SonarQube starts looking for source code from the directory containing 17 | # the sonar-project.properties file. 18 | sonar.sources=./src,./tools,./epf 19 | sonar.tests=./tests,./features 20 | 21 | # маска поиска файлов на проверку 22 | sonar.inclusions=**/*.os 23 | 24 | # маска поиска исключений файлов на проверку 25 | # sonar.exclusions=**/*.xml 26 | # исключаю **/*.xml из хмл-плагина, чтобы только платный bsl-плагин анализировал xml 27 | sonar.lang.patterns.xml=**/*.xsd,**/*.xsl 28 | 29 | # игнорирование gitignore 30 | sonar.scm.exclusions.disabled=true 31 | 32 | # путь к внешним отчетам 33 | # sonar.externalIssuesReportPaths=./tools/acc-export/acc-generic-issue.json 34 | 35 | # Encoding of the source code. Default is default system encoding 36 | sonar.sourceEncoding=UTF-8 37 | 38 | sonar.coverageReportPaths=./coverage/genericCoverage.xml 39 | # sonar.testExecutionReportPaths=./bdd-exec.xml 40 | 41 | # адрес сервера SonarQube, по умолчанию текущий компьютер 42 | sonar.host.url=https://sonar.openbsl.ru 43 | -------------------------------------------------------------------------------- /src/Классы/КомандаVersion.os: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////// 2 | // 3 | // Служебный модуль с реализацией работы команды version 4 | // 5 | // Структура модуля реализована в соответствии с рекомендациями 6 | // oscript-app-template (C) EvilBeaver 7 | // 8 | /////////////////////////////////////////////////////////////////// 9 | 10 | Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт 11 | 12 | ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, " Вывод версии приложения."); 13 | Парсер.ДобавитьКоманду(ОписаниеКоманды); 14 | 15 | КонецПроцедуры // ЗарегистрироватьКоманду 16 | 17 | // Выполняет логику команды 18 | // 19 | // Параметры: 20 | // ПараметрыКоманды - Соответствие - Соответствие ключей командной строки и их значений 21 | // ДополнительныеПараметры - Соответствие - дополнительные параметры (необязательно) 22 | // 23 | Функция ВыполнитьКоманду(Знач ПараметрыКоманды, Знач ДополнительныеПараметры) Экспорт 24 | 25 | Сообщить(ПараметрыСистемы.ВерсияПродукта()); 26 | Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; 27 | 28 | КонецФункции // ВыполнитьКоманду 29 | -------------------------------------------------------------------------------- /src/Классы/КомандаВыгрузитьИнфобазуВФайл.os: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Выполнение команды/действия в 1С:Предприятие в режиме тонкого/толстого клиента с передачей запускаемых обработок и параметров 4 | // 5 | // TODO добавить фичи для проверки команды 6 | // 7 | // Служебный модуль с набором методов работы с командами приложения 8 | // 9 | // Структура модуля реализована в соответствии с рекомендациями 10 | // oscript-app-template (C) EvilBeaver 11 | // 12 | /////////////////////////////////////////////////////////////////////////////////////////////////// 13 | 14 | #Использовать logos 15 | #Использовать v8runner 16 | 17 | Перем Лог; 18 | 19 | /////////////////////////////////////////////////////////////////////////////////////////////////// 20 | // Прикладной интерфейс 21 | 22 | Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт 23 | 24 | ТекстОписания = 25 | " Выгрузка информационной базы в dt-файл."; 26 | 27 | ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, 28 | ТекстОписания); 29 | 30 | Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "dtpath", 31 | "Путь к результату - выгружаемому файлу с данными (*.dt)"); 32 | 33 | Парсер.ДобавитьКоманду(ОписаниеКоманды); 34 | 35 | КонецПроцедуры // ЗарегистрироватьКоманду 36 | 37 | // Выполняет логику команды 38 | // 39 | // Параметры: 40 | // ПараметрыКоманды - Соответствие - Соответствие ключей командной строки и их значений 41 | // ДополнительныеПараметры - Соответствие - дополнительные параметры (необязательно) 42 | // 43 | Функция ВыполнитьКоманду(Знач ПараметрыКоманды, Знач ДополнительныеПараметры = Неопределено) Экспорт 44 | 45 | Лог = ДополнительныеПараметры.Лог; 46 | 47 | ДанныеПодключения = ПараметрыКоманды["ДанныеПодключения"]; 48 | 49 | МенеджерКонфигуратора = Новый МенеджерКонфигуратора; 50 | МенеджерКонфигуратора.ИнициализацияИзПараметровКоманды(ДанныеПодключения, ПараметрыКоманды); 51 | 52 | Попытка 53 | МенеджерКонфигуратора.ВыгрузитьИнфобазуВФайл( 54 | ПараметрыКоманды["dtpath"]); 55 | Исключение 56 | МенеджерКонфигуратора.Деструктор(); 57 | ВызватьИсключение ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); 58 | КонецПопытки; 59 | 60 | МенеджерКонфигуратора.Деструктор(); 61 | 62 | Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; 63 | КонецФункции // ВыполнитьКоманду 64 | -------------------------------------------------------------------------------- /src/Классы/КомандаВыгрузитьКонфигурациюВФайл.os: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Выполнение команды/действия в 1С:Предприятие в режиме тонкого/толстого клиента с передачей запускаемых обработок и параметров 4 | // 5 | // TODO добавить фичи для проверки команды 6 | // 7 | // Служебный модуль с набором методов работы с командами приложения 8 | // 9 | // Структура модуля реализована в соответствии с рекомендациями 10 | // oscript-app-template (C) EvilBeaver 11 | // 12 | /////////////////////////////////////////////////////////////////////////////////////////////////// 13 | 14 | #Использовать logos 15 | #Использовать v8runner 16 | 17 | Перем Лог; 18 | 19 | /////////////////////////////////////////////////////////////////////////////////////////////////// 20 | // Прикладной интерфейс 21 | 22 | Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт 23 | 24 | ТекстОписания = 25 | " Выгрузка файла конфигурации из ИБ."; 26 | 27 | ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, 28 | ТекстОписания); 29 | 30 | Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "cfpath", 31 | "Путь к результату - выгружаемому файлу конфигурации (*.cf)"); 32 | 33 | Парсер.ДобавитьКоманду(ОписаниеКоманды); 34 | 35 | КонецПроцедуры // ЗарегистрироватьКоманду 36 | 37 | // Выполняет логику команды 38 | // 39 | // Параметры: 40 | // ПараметрыКоманды - Соответствие - Соответствие ключей командной строки и их значений 41 | // ДополнительныеПараметры - Соответствие - дополнительные параметры (необязательно) 42 | // 43 | Функция ВыполнитьКоманду(Знач ПараметрыКоманды, Знач ДополнительныеПараметры = Неопределено) Экспорт 44 | 45 | Лог = ДополнительныеПараметры.Лог; 46 | 47 | // TODO отрефакторить получение ЗапускатьТолстыйКлиент 48 | 49 | ДанныеПодключения = ПараметрыКоманды["ДанныеПодключения"]; 50 | 51 | МенеджерКонфигуратора = Новый МенеджерКонфигуратора; 52 | МенеджерКонфигуратора.ИнициализацияИзПараметровКоманды(ДанныеПодключения, ПараметрыКоманды); 53 | 54 | Попытка 55 | МенеджерКонфигуратора.ВыгрузитьКонфигурациюВФайл( 56 | ПараметрыКоманды["cfpath"] 57 | ); 58 | Исключение 59 | МенеджерКонфигуратора.Деструктор(); 60 | ВызватьИсключение ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); 61 | КонецПопытки; 62 | 63 | МенеджерКонфигуратора.Деструктор(); 64 | 65 | Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; 66 | КонецФункции // ВыполнитьКоманду 67 | -------------------------------------------------------------------------------- /src/Классы/КомандаВыгрузитьРасширениеВФайл.os: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Выгрузка файла расширения из ИБ 4 | // 5 | // Служебный модуль с набором методов работы с командами приложения 6 | // 7 | // Структура модуля реализована в соответствии с рекомендациями 8 | // oscript-app-template (C) EvilBeaver 9 | // 10 | /////////////////////////////////////////////////////////////////////////////////////////////////// 11 | 12 | #Использовать logos 13 | #Использовать v8runner 14 | 15 | Перем Лог; 16 | 17 | /////////////////////////////////////////////////////////////////////////////////////////////////// 18 | // Прикладной интерфейс 19 | 20 | Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт 21 | 22 | ТекстОписания = 23 | " Выгрузка файла расширения из ИБ. 24 | |"; 25 | 26 | ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, 27 | ТекстОписания); 28 | 29 | Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "cfepath", 30 | "Путь к результату - выгружаемому файлу расширения (*.cfe)"); 31 | Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "extname", "Имя расширения"); 32 | 33 | 34 | Парсер.ДобавитьКоманду(ОписаниеКоманды); 35 | 36 | КонецПроцедуры // ЗарегистрироватьКоманду 37 | 38 | // Выполняет логику команды 39 | // 40 | // Параметры: 41 | // ПараметрыКоманды - Соответствие - Соответствие ключей командной строки и их значений 42 | // ДополнительныеПараметры - Соответствие - дополнительные параметры (необязательно) 43 | // 44 | Функция ВыполнитьКоманду(Знач ПараметрыКоманды, Знач ДополнительныеПараметры = Неопределено) Экспорт 45 | 46 | Лог = ДополнительныеПараметры.Лог; 47 | 48 | ДанныеПодключения = ПараметрыКоманды["ДанныеПодключения"]; 49 | 50 | МенеджерКонфигуратора = Новый МенеджерКонфигуратора; 51 | МенеджерКонфигуратора.ИнициализацияИзПараметровКоманды(ДанныеПодключения, ПараметрыКоманды); 52 | 53 | Попытка 54 | МенеджерКонфигуратора.ВыгрузитьРасширениеВФайл( 55 | ПараметрыКоманды["cfepath"], 56 | ПараметрыКоманды["extname"] 57 | ); 58 | Исключение 59 | МенеджерКонфигуратора.Деструктор(); 60 | ВызватьИсключение ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); 61 | КонецПопытки; 62 | 63 | МенеджерКонфигуратора.Деструктор(); 64 | 65 | Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; 66 | КонецФункции // ВыполнитьКоманду 67 | -------------------------------------------------------------------------------- /src/Классы/КомандаЗагрузитьИнфобазуИзФайла.os: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Выполнение команды/действия в 1С:Предприятие в режиме тонкого/толстого клиента с передачей запускаемых обработок и параметров 4 | // 5 | // TODO добавить фичи для проверки команды 6 | // 7 | // Служебный модуль с набором методов работы с командами приложения 8 | // 9 | // Структура модуля реализована в соответствии с рекомендациями 10 | // oscript-app-template (C) EvilBeaver 11 | // 12 | /////////////////////////////////////////////////////////////////////////////////////////////////// 13 | 14 | #Использовать logos 15 | #Использовать v8runner 16 | 17 | Перем Лог; 18 | 19 | /////////////////////////////////////////////////////////////////////////////////////////////////// 20 | // Прикладной интерфейс 21 | 22 | Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт 23 | 24 | ТекстОписания = 25 | " Загрузка информационной базы из dt-файла."; 26 | 27 | ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, 28 | ТекстОписания); 29 | 30 | Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "dtpath", 31 | "Путь к файлу с данными информационной базы (*.dt)"); 32 | 33 | Парсер.ДобавитьКоманду(ОписаниеКоманды); 34 | 35 | КонецПроцедуры // ЗарегистрироватьКоманду 36 | 37 | // Выполняет логику команды 38 | // 39 | // Параметры: 40 | // ПараметрыКоманды - Соответствие - Соответствие ключей командной строки и их значений 41 | // ДополнительныеПараметры - Соответствие - дополнительные параметры (необязательно) 42 | // 43 | Функция ВыполнитьКоманду(Знач ПараметрыКоманды, Знач ДополнительныеПараметры = Неопределено) Экспорт 44 | 45 | Лог = ДополнительныеПараметры.Лог; 46 | 47 | ДанныеПодключения = ПараметрыКоманды["ДанныеПодключения"]; 48 | 49 | МенеджерКонфигуратора = Новый МенеджерКонфигуратора; 50 | МенеджерКонфигуратора.ИнициализацияИзПараметровКоманды(ДанныеПодключения, ПараметрыКоманды); 51 | 52 | Попытка 53 | МенеджерКонфигуратора.ЗагрузитьИнфобазуИзФайла( 54 | ПараметрыКоманды["dtpath"]); 55 | Исключение 56 | МенеджерКонфигуратора.Деструктор(); 57 | ВызватьИсключение ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); 58 | КонецПопытки; 59 | 60 | МенеджерКонфигуратора.Деструктор(); 61 | 62 | Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; 63 | КонецФункции // ВыполнитьКоманду 64 | -------------------------------------------------------------------------------- /src/Классы/КомандаЗагрузитьРасширениеИзФайла.os: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Выполнение загрузки расширения из cfe-файла в базу данных 4 | // 5 | // Служебный модуль с набором методов работы с командами приложения 6 | // 7 | // Структура модуля реализована в соответствии с рекомендациями 8 | // oscript-app-template (C) EvilBeaver 9 | // 10 | /////////////////////////////////////////////////////////////////////////////////////////////////// 11 | 12 | #Использовать logos 13 | #Использовать v8runner 14 | 15 | Перем Лог; 16 | Перем МенеджерКонфигуратора; 17 | 18 | /////////////////////////////////////////////////////////////////////////////////////////////////// 19 | // Прикладной интерфейс 20 | 21 | Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт 22 | 23 | ТекстОписания = 24 | " Загрузка расширения в конфигурацию из cfe-файла."; 25 | 26 | ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, 27 | ТекстОписания); 28 | 29 | Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--file", "Путь к cfe-файлу расширения, например: --file=./1Cv8.cfe"); 30 | Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-f", 31 | "Краткая команда 'путь к cfe --file', пример: -f ./1Cv8.cfe"); 32 | Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--extension", "Имя расширения. Обязательный параметр."); 33 | Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--updatedb", "Признак обновления расширения"); 34 | 35 | Парсер.ДобавитьКоманду(ОписаниеКоманды); 36 | 37 | КонецПроцедуры // ЗарегистрироватьКоманду 38 | 39 | // Выполняет логику команды 40 | // 41 | // Параметры: 42 | // ПараметрыКоманды - Соответствие - Соответствие ключей командной строки и их значений 43 | // ДополнительныеПараметры - Соответствие - дополнительные параметры (необязательно) 44 | // 45 | Функция ВыполнитьКоманду(Знач ПараметрыКоманды, Знач ДополнительныеПараметры = Неопределено) Экспорт 46 | 47 | Попытка 48 | Лог = ДополнительныеПараметры.Лог; 49 | Исключение 50 | Лог = Логирование.ПолучитьЛог(ПараметрыСистемы.ИмяЛогаСистемы()); 51 | КонецПопытки; 52 | 53 | ИмяРасширения = ПараметрыКоманды["--extension"]; 54 | Если Не ЗначениеЗаполнено(ИмяРасширения) Тогда 55 | ВызватьИсключение "Не задано имя расширения в ключе --extension"; 56 | КонецЕсли; 57 | 58 | ДанныеПодключения = ПараметрыКоманды["ДанныеПодключения"]; 59 | 60 | ПутьВходящий = ОбщиеМетоды.ПолныйПуть(ОбщиеМетоды.ПолучитьПараметры(ПараметрыКоманды, "-f", "--file")); 61 | 62 | 63 | МенеджерКонфигуратора = Новый МенеджерКонфигуратора; 64 | 65 | Попытка 66 | МенеджерКонфигуратора.ИнициализацияИзПараметровКоманды(ДанныеПодключения, ПараметрыКоманды); 67 | 68 | МенеджерКонфигуратора.ЗагрузитьФайлРасширения(ПутьВходящий, ИмяРасширения, 69 | ПараметрыКоманды["--updatedb"]); 70 | Исключение 71 | МенеджерКонфигуратора.Деструктор(); 72 | ВызватьИсключение ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); 73 | КонецПопытки; 74 | 75 | МенеджерКонфигуратора.Деструктор(); 76 | 77 | Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; 78 | КонецФункции // ВыполнитьКоманду 79 | -------------------------------------------------------------------------------- /src/Классы/КомандаЗагрузитьФайлКонфигурации.os: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Выполнение загрузки cf файла в базу данных 4 | // 5 | // TODO добавить фичи для проверки команды 6 | // 7 | // Служебный модуль с набором методов работы с командами приложения 8 | // 9 | // Структура модуля реализована в соответствии с рекомендациями 10 | // oscript-app-template (C) EvilBeaver 11 | // 12 | /////////////////////////////////////////////////////////////////////////////////////////////////// 13 | 14 | #Использовать logos 15 | #Использовать v8runner 16 | 17 | Перем Лог; 18 | Перем МенеджерКонфигуратора; 19 | 20 | /////////////////////////////////////////////////////////////////////////////////////////////////// 21 | // Прикладной интерфейс 22 | 23 | Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт 24 | 25 | ТекстОписания = 26 | " Загрузка cf-файла в базу."; 27 | 28 | ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, 29 | ТекстОписания); 30 | 31 | Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--src", "Путь к файлу cf, пример: --src=./1Cv8.cf"); 32 | Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-s", 33 | "Краткая команда 'путь к cf --src', пример: -s ./1Cv8.cf"); 34 | 35 | Парсер.ДобавитьКоманду(ОписаниеКоманды); 36 | 37 | КонецПроцедуры // ЗарегистрироватьКоманду 38 | 39 | // Выполняет логику команды 40 | // 41 | // Параметры: 42 | // ПараметрыКоманды - Соответствие - Соответствие ключей командной строки и их значений 43 | // ДополнительныеПараметры - Соответствие - дополнительные параметры (необязательно) 44 | // 45 | Функция ВыполнитьКоманду(Знач ПараметрыКоманды, Знач ДополнительныеПараметры = Неопределено) Экспорт 46 | 47 | Попытка 48 | Лог = ДополнительныеПараметры.Лог; 49 | Исключение 50 | Лог = Логирование.ПолучитьЛог(ПараметрыСистемы.ИмяЛогаСистемы()); 51 | КонецПопытки; 52 | 53 | ДанныеПодключения = ПараметрыКоманды["ДанныеПодключения"]; 54 | 55 | ПутьВходящий = ОбщиеМетоды.ПолныйПуть(ОбщиеМетоды.ПолучитьПараметры(ПараметрыКоманды, "-s", "--src")); 56 | 57 | 58 | МенеджерКонфигуратора = Новый МенеджерКонфигуратора; 59 | 60 | Попытка 61 | МенеджерКонфигуратора.ИнициализацияИзПараметровКоманды(ДанныеПодключения, ПараметрыКоманды); 62 | 63 | МенеджерКонфигуратора.ЗагрузитьФайлКонфигурации(ПутьВходящий); 64 | Исключение 65 | МенеджерКонфигуратора.Деструктор(); 66 | ВызватьИсключение ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); 67 | КонецПопытки; 68 | 69 | МенеджерКонфигуратора.Деструктор(); 70 | 71 | Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; 72 | КонецФункции 73 | -------------------------------------------------------------------------------- /src/Классы/КомандаОбновитьИзХранилища.os: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Обновление конфигурации из хранилища 1С. Обновление БД не выполняется. 4 | // 5 | // TODO добавить фичи для проверки команды 6 | // 7 | // Служебный модуль с набором методов работы с командами приложения 8 | // 9 | // Структура модуля реализована в соответствии с рекомендациями 10 | // oscript-app-template (C) EvilBeaver 11 | // 12 | /////////////////////////////////////////////////////////////////////////////////////////////////// 13 | 14 | #Использовать logos 15 | 16 | Перем Лог; 17 | 18 | /////////////////////////////////////////////////////////////////////////////////////////////////// 19 | // Прикладной интерфейс 20 | 21 | Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт 22 | 23 | ТекстОписания = 24 | " Обновление конфигурации из хранилища 1С. Обновление БД не выполняется."; 25 | 26 | ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, 27 | ТекстОписания); 28 | 29 | Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--storage-name", "Строка подключения к хранилищу"); 30 | Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--storage-user", "Пользователь хранилища"); 31 | Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--storage-pwd", "Пароль"); 32 | Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--storage-ver", 33 | "Номер версии, по умолчанию берем последнюю"); 34 | Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--extension", 35 | "Имя расширения"); 36 | 37 | Парсер.ДобавитьКоманду(ОписаниеКоманды); 38 | 39 | КонецПроцедуры // ЗарегистрироватьКоманду 40 | 41 | // Выполняет логику команды 42 | // 43 | // Параметры: 44 | // ПараметрыКоманды - Соответствие - Соответствие ключей командной строки и их значений 45 | // ДополнительныеПараметры - Соответствие - дополнительные параметры (необязательно) 46 | // 47 | Функция ВыполнитьКоманду(Знач ПараметрыКоманды, Знач ДополнительныеПараметры = Неопределено) Экспорт 48 | 49 | Лог = ДополнительныеПараметры.Лог; 50 | 51 | ДанныеПодключения = ПараметрыКоманды["ДанныеПодключения"]; 52 | 53 | МенеджерКонфигуратора = Новый МенеджерКонфигуратора; 54 | 55 | МенеджерКонфигуратора.ИнициализацияИзПараметровКоманды(ДанныеПодключения, ПараметрыКоманды); 56 | 57 | ДополнительныйКлючЗапуска = ""; 58 | ИмяРасширения = ПараметрыКоманды["--extension"]; 59 | 60 | Если ЗначениеЗаполнено(ИмяРасширения) Тогда 61 | ДополнительныйКлючЗапуска = "-Extension """ + ИмяРасширения + """"; 62 | КонецЕсли; 63 | 64 | Попытка 65 | МенеджерКонфигуратора.ЗапуститьОбновлениеИзХранилища( 66 | ПараметрыКоманды["--storage-name"], ПараметрыКоманды["--storage-user"], ПараметрыКоманды["--storage-pwd"], 67 | ПараметрыКоманды["--storage-ver"], 68 | ДополнительныйКлючЗапуска); 69 | Исключение 70 | МенеджерКонфигуратора.Деструктор(); 71 | ВызватьИсключение ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); 72 | КонецПопытки; 73 | 74 | МенеджерКонфигуратора.Деструктор(); 75 | 76 | Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; 77 | КонецФункции // ВыполнитьКоманду 78 | -------------------------------------------------------------------------------- /src/Классы/КомандаОбновлениеКонфигурацииБД.os: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Обновление конфигурации базы данных в режиме Конфигуратора 4 | // 5 | // TODO добавить фичи для проверки команды 6 | // 7 | // Служебный модуль с набором методов работы с командами приложения 8 | // 9 | // Структура модуля реализована в соответствии с рекомендациями 10 | // oscript-app-template (C) EvilBeaver 11 | // 12 | /////////////////////////////////////////////////////////////////////////////////////////////////// 13 | 14 | #Использовать v8runner 15 | 16 | /////////////////////////////////////////////////////////////////////////////////////////////////// 17 | // Прикладной интерфейс 18 | 19 | Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт 20 | 21 | ТекстОписания = 22 | " Обновление конфигурации базы данных в режиме Конфигуратора."; 23 | 24 | ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, 25 | ТекстОписания); 26 | Парсер.ДобавитьКоманду(ОписаниеКоманды); 27 | 28 | Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--v1", 29 | "Поддержка режима реструктуризации -v1 на сервере"); 30 | Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--v2", 31 | "Поддержка режима реструктуризации -v2 на сервере"); 32 | Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--dynamic", 33 | "Динамическое обновление конфигурации"); 34 | 35 | 36 | КонецПроцедуры // ЗарегистрироватьКоманду 37 | 38 | // Выполняет логику команды 39 | // 40 | // Параметры: 41 | // ПараметрыКоманды - Соответствие - Соответствие ключей командной строки и их значений 42 | // ДополнительныеПараметры - Соответствие - дополнительные параметры (необязательно) 43 | // 44 | Функция ВыполнитьКоманду(Знач ПараметрыКоманды, Знач ДополнительныеПараметры = Неопределено) Экспорт 45 | 46 | МенеджерКонфигуратора = Новый МенеджерКонфигуратора; 47 | 48 | ДанныеПодключения = ПараметрыКоманды["ДанныеПодключения"]; 49 | 50 | МенеджерКонфигуратора.ИнициализацияИзПараметровКоманды(ДанныеПодключения, ПараметрыКоманды); 51 | 52 | РежимРеструктуризации_В1 = ПараметрыКоманды["--v1"]; 53 | РежимРеструктуризации_В2 = ПараметрыКоманды["--v2"]; 54 | ДинамическоеОбновление = ПараметрыКоманды["--dynamic"]; 55 | ОбщиеМетоды.ОбновитьКонфигурациюБД(МенеджерКонфигуратора, РежимРеструктуризации_В1, РежимРеструктуризации_В2, ДинамическоеОбновление); 56 | 57 | МенеджерКонфигуратора.Деструктор(); 58 | 59 | Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; 60 | КонецФункции // ВыполнитьКоманду 61 | -------------------------------------------------------------------------------- /src/Классы/КомандаОбновлениеРасширений.os: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////// 2 | // 3 | // Служебный модуль с набором методов работы с командами приложения 4 | // 5 | // Структура модуля реализована в соответствии с рекомендациями 6 | // oscript-app-template (C) EvilBeaver 7 | // 8 | /////////////////////////////////////////////////////////////////// 9 | 10 | #Использовать v8runner 11 | #Использовать asserts 12 | 13 | Перем Лог; 14 | 15 | /////////////////////////////////////////////////////////////////////////////////////////////////// 16 | // Прикладной интерфейс 17 | 18 | Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт 19 | 20 | ТекстОписания = 21 | " Обновление расширения в ИБ."; 22 | 23 | ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, ТекстОписания); 24 | 25 | Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "extensionName", "Имя расширения, которое нужно обновить"); 26 | Парсер.ДобавитьКоманду(ОписаниеКоманды); 27 | 28 | КонецПроцедуры // ЗарегистрироватьКоманду 29 | 30 | // Выполняет логику команды 31 | // 32 | // Параметры: 33 | // ПараметрыКоманды - Соответствие - Соответствие ключей командной строки и их значений 34 | // ДополнительныеПараметры - Соответствие - дополнительные параметры (необязательно) 35 | // 36 | Функция ВыполнитьКоманду(Знач ПараметрыКоманды, Знач ДополнительныеПараметры = Неопределено) Экспорт 37 | 38 | Лог = ДополнительныеПараметры.Лог; 39 | 40 | ДанныеПодключения = ПараметрыКоманды["ДанныеПодключения"]; 41 | 42 | МенеджерКонфигуратора = Новый МенеджерКонфигуратора; 43 | 44 | МенеджерКонфигуратора.ИнициализацияИзПараметровКоманды(ДанныеПодключения, ПараметрыКоманды); 45 | 46 | МенеджерКонфигуратора.ОбновитьРасширение(ПараметрыКоманды["extensionName"]); 47 | 48 | Попытка 49 | МенеджерКонфигуратора.ПоказатьСписокВсехРасширенийКонфигурации(); 50 | Исключение 51 | МенеджерКонфигуратора.Деструктор(); 52 | ВызватьИсключение ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); 53 | КонецПопытки; 54 | 55 | 56 | МенеджерКонфигуратора.Деструктор(); 57 | 58 | Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; 59 | КонецФункции // ВыполнитьКоманду 60 | -------------------------------------------------------------------------------- /src/Классы/КомандаОтключитьсяОтХранилища.os: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Отключение конфигурации от хранилища. 4 | // 5 | // Служебный модуль с набором методов работы с командами приложения 6 | // 7 | // Структура модуля реализована в соответствии с рекомендациями 8 | // oscript-app-template (C) EvilBeaver 9 | // 10 | /////////////////////////////////////////////////////////////////////////////////////////////////// 11 | 12 | #Использовать logos 13 | 14 | Перем Лог; 15 | 16 | /////////////////////////////////////////////////////////////////////////////////////////////////// 17 | // Прикладной интерфейс 18 | 19 | // Регистрация команды 20 | // 21 | // Параметры: 22 | // ИмяКоманды - Строка - Имя команды 23 | // Парсер - Парсер - Парсер 24 | // 25 | Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт 26 | 27 | ТекстОписания = 28 | " Отключение ИБ от хранилища конфигурации 1С. 29 | |"; 30 | 31 | ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, 32 | ТекстОписания); 33 | 34 | Парсер.ДобавитьКоманду(ОписаниеКоманды); 35 | 36 | КонецПроцедуры // ЗарегистрироватьКоманду 37 | 38 | // Выполняет логику команды 39 | // 40 | // Параметры: 41 | // ПараметрыКоманды - Соответствие - Соответствие ключей командной строки и их значений 42 | // ДополнительныеПараметры - Соответствие - дополнительные параметры (необязательно) 43 | // 44 | // Возвращаемое значение: 45 | // Число - код возврата скрипта 46 | Функция ВыполнитьКоманду(Знач ПараметрыКоманды, Знач ДополнительныеПараметры = Неопределено) Экспорт 47 | 48 | Лог = ДополнительныеПараметры.Лог; 49 | 50 | ДанныеПодключения = ПараметрыКоманды["ДанныеПодключения"]; 51 | СтрокаПодключения = ДанныеПодключения.СтрокаПодключения; 52 | Если Не ЗначениеЗаполнено(СтрокаПодключения) Тогда 53 | ВызватьИсключение "Не задана строка подключения к БД"; 54 | КонецЕсли; 55 | 56 | МенеджерКонфигуратора = Новый МенеджерКонфигуратора; 57 | 58 | МенеджерКонфигуратора.ИнициализацияИзПараметровКоманды(ДанныеПодключения, ПараметрыКоманды); 59 | 60 | Попытка 61 | МенеджерКонфигуратора.ОтключитьсяОтХранилища(); 62 | Исключение 63 | МенеджерКонфигуратора.Деструктор(); 64 | ВызватьИсключение ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); 65 | КонецПопытки; 66 | 67 | МенеджерКонфигуратора.Деструктор(); 68 | 69 | Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; 70 | КонецФункции // ВыполнитьКоманду 71 | -------------------------------------------------------------------------------- /src/Классы/КомандаПодключитьсяКХранилищу.os: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Подключение ИБ к хранилищу конфигурации 1С. 4 | // 5 | // TODO добавить фичи для проверки команды 6 | // 7 | // Служебный модуль с набором методов работы с командами приложения 8 | // 9 | // Структура модуля реализована в соответствии с рекомендациями 10 | // oscript-app-template (C) EvilBeaver 11 | // 12 | /////////////////////////////////////////////////////////////////////////////////////////////////// 13 | 14 | #Использовать logos 15 | 16 | Перем Лог; 17 | 18 | /////////////////////////////////////////////////////////////////////////////////////////////////// 19 | // Прикладной интерфейс 20 | 21 | Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт 22 | 23 | ТекстОписания = 24 | " Подключение ИБ к хранилищу конфигурации 1С."; 25 | 26 | ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, 27 | ТекстОписания); 28 | 29 | Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "ПутьПодключаемогоХранилища", 30 | "Строка подключения к хранилищу 31 | | (возможно указание как файлового пути, так и пути через http или tcp)"); 32 | Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "Логин", "Логин пользователя хранилища 1С"); 33 | Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "Пароль", "Пароль пользователя хранилища 1С"); 34 | 35 | Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--BindAlreadyBindedUser", 36 | " Флаг игнорирования наличия уже у пользователя уже подключенной базы данных."); 37 | Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--NotReplaceCfg", 38 | "Флаг запрета замены конфигурации БД на конфигурацию хранилища."); 39 | 40 | Парсер.ДобавитьКоманду(ОписаниеКоманды); 41 | 42 | КонецПроцедуры // ЗарегистрироватьКоманду 43 | 44 | // Выполняет логику команды 45 | // 46 | // Параметры: 47 | // ПараметрыКоманды - Соответствие - Соответствие ключей командной строки и их значений 48 | // ДополнительныеПараметры - Соответствие - дополнительные параметры (необязательно) 49 | // 50 | Функция ВыполнитьКоманду(Знач ПараметрыКоманды, Знач ДополнительныеПараметры = Неопределено) Экспорт 51 | 52 | Лог = ДополнительныеПараметры.Лог; 53 | 54 | ДанныеПодключения = ПараметрыКоманды["ДанныеПодключения"]; 55 | СтрокаПодключения = ДанныеПодключения.СтрокаПодключения; 56 | Если Не ЗначениеЗаполнено(СтрокаПодключения) Тогда 57 | ДанныеПодключения.СтрокаПодключения = "/F"; 58 | КонецЕсли; 59 | 60 | МенеджерКонфигуратора = Новый МенеджерКонфигуратора; 61 | 62 | МенеджерКонфигуратора.ИнициализацияИзПараметровКоманды(ДанныеПодключения, ПараметрыКоманды); 63 | 64 | ИгнорироватьНаличиеПодключеннойБД = ПараметрыКоманды["--BindAlreadyBindedUser"]; 65 | ЗаменитьКонфигурациюБД = Не ПараметрыКоманды["--NotReplaceCfg"]; 66 | 67 | Попытка 68 | МенеджерКонфигуратора.ПодключитьсяКХранилищу( 69 | ПараметрыКоманды["ПутьПодключаемогоХранилища"], ПараметрыКоманды["Логин"], 70 | ПараметрыКоманды["Пароль"], 71 | ИгнорироватьНаличиеПодключеннойБД, ЗаменитьКонфигурациюБД); 72 | Исключение 73 | МенеджерКонфигуратора.Деструктор(); 74 | ВызватьИсключение ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); 75 | КонецПопытки; 76 | 77 | МенеджерКонфигуратора.Деструктор(); 78 | 79 | Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; 80 | КонецФункции // ВыполнитьКоманду 81 | -------------------------------------------------------------------------------- /src/Классы/КомандаРазборкаВнешнихОбработок.os: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////// 2 | // 3 | // Служебный модуль с набором методов работы с командами приложения 4 | // 5 | // Структура модуля реализована в соответствии с рекомендациями 6 | // oscript-app-template (C) EvilBeaver 7 | // 8 | /////////////////////////////////////////////////////////////////// 9 | 10 | /////////////////////////////////////////////////////////////////////////////////////////////////// 11 | // Прикладной интерфейс 12 | 13 | Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт 14 | 15 | ТекстОписания = 16 | " Разборка внешних обработок на исходники штатно через выгрузку 1С 8.3. 17 | |"; 18 | 19 | ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, ТекстОписания); 20 | 21 | Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "inputPath", "Путь к каталогу или внешней обработке 22 | | 23 | |Схема работы: 24 | | В каталоге выгрузки создается отдельный подкаталог для каждой внешней обработки. 25 | | Сохраняется структура подкаталогов, если выгружается каталог. 26 | |"); 27 | Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "outputPath", "Путь исходников"); 28 | Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--cachekey", 29 | "Ключ кэшированных значений файлов, default: compileepfrunner"); 30 | 31 | Парсер.ДобавитьКоманду(ОписаниеКоманды); 32 | 33 | КонецПроцедуры // ЗарегистрироватьКоманду 34 | 35 | // Выполняет логику команды 36 | // 37 | // Параметры: 38 | // ПараметрыКоманды - Соответствие - Соответствие ключей командной строки и их значений 39 | // ДополнительныеПараметры - Соответствие - дополнительные параметры (необязательно) 40 | // 41 | Функция ВыполнитьКоманду(Знач ПараметрыКоманды, Знач ДополнительныеПараметры = Неопределено) Экспорт 42 | 43 | УпаковщикВнешнихОбработок = Новый УпаковщикВнешнихОбработок; 44 | УпаковщикВнешнихОбработок.УстановитьЛог(ДополнительныеПараметры.Лог); 45 | 46 | ДанныеПодключения = ПараметрыКоманды["ДанныеПодключения"]; 47 | 48 | УпаковщикВнешнихОбработок.Разобрать( 49 | ОбщиеМетоды.ПолныйПуть(ПараметрыКоманды["inputPath"]), 50 | ОбщиеМетоды.ПолныйПуть(ПараметрыКоманды["outputPath"]), 51 | ДанныеПодключения.СтрокаПодключения, ДанныеПодключения.Пользователь, ДанныеПодключения.Пароль, 52 | ПараметрыКоманды["--v8version"], 53 | ПараметрыКоманды["--cachekey"]); 54 | 55 | Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; 56 | КонецФункции // ВыполнитьКоманду 57 | -------------------------------------------------------------------------------- /src/Классы/КомандаСборкаВнешнихОбработок.os: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////// 2 | // 3 | // Служебный модуль с набором методов работы с командами приложения 4 | // 5 | // Структура модуля реализована в соответствии с рекомендациями 6 | // oscript-app-template (C) EvilBeaver 7 | // 8 | /////////////////////////////////////////////////////////////////// 9 | 10 | /////////////////////////////////////////////////////////////////////////////////////////////////// 11 | // Прикладной интерфейс 12 | 13 | Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт 14 | 15 | ТекстОписания = 16 | " Сборка внешних обработок из исходников штатно через выгрузку 1С 8.3."; 17 | 18 | ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, ТекстОписания); 19 | 20 | Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "inputPath", "Путь к каталогу или внешней обработке 21 | | 22 | |Схема работы: 23 | | В каталоге загрузки создается отдельный подкаталог для каждой внешней обработки 24 | | Сохраняется структура подкаталогов, если загружается каталог. 25 | |"); 26 | Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "outputPath", "Путь бинарников"); 27 | Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--cachekey", 28 | "Ключ кэшированных значений файлов, default: compileepfrunner"); 29 | Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--onlycopy", 30 | "Флаг, только копировать. Без сборки обработки, даже если выглядит как обработка"); 31 | 32 | Парсер.ДобавитьКоманду(ОписаниеКоманды); 33 | 34 | КонецПроцедуры // ЗарегистрироватьКоманду 35 | 36 | // Выполняет логику команды 37 | // 38 | // Параметры: 39 | // ПараметрыКоманды - Соответствие - Соответствие ключей командной строки и их значений 40 | // ДополнительныеПараметры - Соответствие - дополнительные параметры (необязательно) 41 | // 42 | Функция ВыполнитьКоманду(Знач ПараметрыКоманды, Знач ДополнительныеПараметры = Неопределено) Экспорт 43 | 44 | УпаковщикВнешнихОбработок = Новый УпаковщикВнешнихОбработок; 45 | УпаковщикВнешнихОбработок.УстановитьЛог(ДополнительныеПараметры.Лог); 46 | 47 | ДанныеПодключения = ПараметрыКоманды["ДанныеПодключения"]; 48 | 49 | УпаковщикВнешнихОбработок.Собрать( 50 | ОбщиеМетоды.ПолныйПуть(ПараметрыКоманды["inputPath"]), 51 | ОбщиеМетоды.ПолныйПуть(ПараметрыКоманды["outputPath"]), 52 | ДанныеПодключения.СтрокаПодключения, ДанныеПодключения.Пользователь, ДанныеПодключения.Пароль, 53 | ПараметрыКоманды["--v8version"], 54 | ПараметрыКоманды["--onlycopy"], 55 | ПараметрыКоманды["--cachekey"]); 56 | 57 | Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; 58 | КонецФункции // ВыполнитьКоманду 59 | -------------------------------------------------------------------------------- /src/Классы/КомандаСборкаРасширений.os: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////// 2 | // 3 | // Служебный модуль с набором методов работы с командами приложения 4 | // 5 | // Структура модуля реализована в соответствии с рекомендациями 6 | // oscript-app-template (C) EvilBeaver 7 | // 8 | /////////////////////////////////////////////////////////////////// 9 | 10 | #Использовать v8runner 11 | #Использовать asserts 12 | 13 | Перем Лог; 14 | 15 | /////////////////////////////////////////////////////////////////////////////////////////////////// 16 | // Прикладной интерфейс 17 | 18 | Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт 19 | 20 | ТекстОписания = 21 | " Загрузка расширения в конфигурацию из папки исходников."; 22 | 23 | ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, ТекстОписания); 24 | 25 | Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "inputPath", "Путь к исходникам расширения"); 26 | Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "extensionName", 27 | "Имя расширения, под которым оно будет зарегистрировано в списке расширений"); 28 | Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--updatedb", "Признак обновления расширения"); 29 | Парсер.ДобавитьКоманду(ОписаниеКоманды); 30 | 31 | КонецПроцедуры // ЗарегистрироватьКоманду 32 | 33 | // Выполняет логику команды 34 | // 35 | // Параметры: 36 | // ПараметрыКоманды - Соответствие - Соответствие ключей командной строки и их значений 37 | // ДополнительныеПараметры - Соответствие - дополнительные параметры (необязательно) 38 | // 39 | Функция ВыполнитьКоманду(Знач ПараметрыКоманды, Знач ДополнительныеПараметры = Неопределено) Экспорт 40 | 41 | Лог = ДополнительныеПараметры.Лог; 42 | 43 | ДанныеПодключения = ПараметрыКоманды["ДанныеПодключения"]; 44 | 45 | Попытка 46 | Лог = ДополнительныеПараметры.Лог; 47 | Исключение 48 | Лог = Логирование.ПолучитьЛог(ПараметрыСистемы.ИмяЛогаСистемы()); 49 | КонецПопытки; 50 | 51 | МенеджерКонфигуратора = Новый МенеджерКонфигуратора; 52 | 53 | Попытка 54 | МенеджерКонфигуратора.ИнициализацияИзПараметровКоманды(ДанныеПодключения, ПараметрыКоманды); 55 | 56 | МенеджерКонфигуратора.СобратьИзИсходниковРасширение( 57 | ОбщиеМетоды.ПолныйПуть(ПараметрыКоманды["inputPath"]), 58 | ПараметрыКоманды["extensionName"], ПараметрыКоманды["--updatedb"]); 59 | Исключение 60 | МенеджерКонфигуратора.Деструктор(); 61 | ВызватьИсключение ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); 62 | КонецПопытки; 63 | 64 | МенеджерКонфигуратора.Деструктор(); 65 | 66 | Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; 67 | 68 | КонецФункции // ВыполнитьКоманду 69 | -------------------------------------------------------------------------------- /src/Классы/КомандаСоздатьФайлПоставки.os: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Выполнение команды выгрузки файла поставки конфигурации 4 | // 5 | // Служебный модуль с набором методов работы с командами приложения 6 | // 7 | // Структура модуля реализована в соответствии с рекомендациями 8 | // oscript-app-template (C) EvilBeaver 9 | // 10 | /////////////////////////////////////////////////////////////////////////////////////////////////// 11 | 12 | #Использовать logos 13 | #Использовать v8runner 14 | 15 | Перем Лог; 16 | 17 | /////////////////////////////////////////////////////////////////////////////////////////////////// 18 | // Прикладной интерфейс 19 | 20 | Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт 21 | 22 | ТекстОписания = 23 | " Выгрузка файла поставки конфигурации из ИБ."; 24 | 25 | ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, 26 | ТекстОписания); 27 | 28 | Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "cfpath", 29 | "Путь к результату - выгружаемому файлу поставки конфигурации (*.cf)"); 30 | 31 | Парсер.ДобавитьКоманду(ОписаниеКоманды); 32 | 33 | КонецПроцедуры // ЗарегистрироватьКоманду 34 | 35 | // Выполняет логику команды 36 | // 37 | // Параметры: 38 | // ПараметрыКоманды - Соответствие - Соответствие ключей командной строки и их значений 39 | // ДополнительныеПараметры - Соответствие - дополнительные параметры (необязательно) 40 | // 41 | Функция ВыполнитьКоманду(Знач ПараметрыКоманды, Знач ДополнительныеПараметры = Неопределено) Экспорт 42 | 43 | Лог = ДополнительныеПараметры.Лог; 44 | 45 | ДанныеПодключения = ПараметрыКоманды["ДанныеПодключения"]; 46 | 47 | МенеджерКонфигуратора = Новый МенеджерКонфигуратора; 48 | МенеджерКонфигуратора.ИнициализацияИзПараметровКоманды(ДанныеПодключения, ПараметрыКоманды); 49 | 50 | Попытка 51 | МенеджерКонфигуратора.СоздатьФайлПоставки( 52 | ПараметрыКоманды["cfpath"] 53 | ); 54 | Исключение 55 | МенеджерКонфигуратора.Деструктор(); 56 | ВызватьИсключение ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); 57 | КонецПопытки; 58 | 59 | МенеджерКонфигуратора.Деструктор(); 60 | 61 | Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; 62 | КонецФункции // ВыполнитьКоманду 63 | -------------------------------------------------------------------------------- /src/Классы/КомандаСоздатьХранилище.os: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Создание хранилища 1С. 4 | // 5 | // TODO добавить фичи для проверки команды 6 | // 7 | // Служебный модуль с набором методов работы с командами приложения 8 | // 9 | // Структура модуля реализована в соответствии с рекомендациями 10 | // oscript-app-template (C) EvilBeaver 11 | // 12 | /////////////////////////////////////////////////////////////////////////////////////////////////// 13 | 14 | #Использовать logos 15 | 16 | Перем Лог; 17 | 18 | /////////////////////////////////////////////////////////////////////////////////////////////////// 19 | // Прикладной интерфейс 20 | 21 | Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт 22 | 23 | ТекстОписания = 24 | " Создание хранилища 1С."; 25 | 26 | ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, 27 | ТекстОписания); 28 | 29 | Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "ПутьСоздаваемогоХранилища", "Строка подключения к хранилищу 30 | | (возможно указание как файлового пути, так и пути через http или tcp)"); 31 | Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "ЛогинАдминистратора", "Логин администратора хранилища 1С"); 32 | Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "ПарольАдминистратора", "Пароль администратора хранилища 1С"); 33 | 34 | Парсер.ДобавитьКоманду(ОписаниеКоманды); 35 | 36 | КонецПроцедуры // ЗарегистрироватьКоманду 37 | 38 | // Выполняет логику команды 39 | // 40 | // Параметры: 41 | // ПараметрыКоманды - Соответствие - Соответствие ключей командной строки и их значений 42 | // ДополнительныеПараметры - Соответствие - дополнительные параметры (необязательно) 43 | // 44 | Функция ВыполнитьКоманду(Знач ПараметрыКоманды, Знач ДополнительныеПараметры = Неопределено) Экспорт 45 | 46 | Лог = ДополнительныеПараметры.Лог; 47 | 48 | ДанныеПодключения = ПараметрыКоманды["ДанныеПодключения"]; 49 | СтрокаПодключения = ДанныеПодключения.СтрокаПодключения; 50 | //Исключаем ситуацию с Неопределено или еще с Булево. 51 | Если Не ЗначениеЗаполнено(СтрокаПодключения) Тогда 52 | ДанныеПодключения.СтрокаПодключения = ""; 53 | КонецЕсли; 54 | 55 | МенеджерКонфигуратора = Новый МенеджерКонфигуратора; 56 | 57 | МенеджерКонфигуратора.ИнициализацияИзПараметровКоманды(ДанныеПодключения, ПараметрыКоманды); 58 | 59 | Попытка 60 | МенеджерКонфигуратора.СоздатьХранилище( 61 | ПараметрыКоманды["ПутьСоздаваемогоХранилища"], ПараметрыКоманды["ЛогинАдминистратора"], 62 | ПараметрыКоманды["ПарольАдминистратора"]); 63 | Исключение 64 | МенеджерКонфигуратора.Деструктор(); 65 | ВызватьИсключение ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); 66 | КонецПопытки; 67 | 68 | МенеджерКонфигуратора.Деструктор(); 69 | 70 | Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; 71 | КонецФункции // ВыполнитьКоманду 72 | -------------------------------------------------------------------------------- /src/Классы/КомандаСправкаПоПараметрам.os: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////// 2 | // 3 | // Служебный модуль с набором методов работы с командами приложения 4 | // 5 | // Структура модуля реализована в соответствии с рекомендациями 6 | // oscript-app-template (C) EvilBeaver 7 | // 8 | /////////////////////////////////////////////////////////////////// 9 | 10 | Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт 11 | 12 | ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, " Вывод справки по параметрам."); 13 | Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "Команда", "Имя команды, для которой выводится справка"); 14 | Парсер.ДобавитьКоманду(ОписаниеКоманды); 15 | 16 | КонецПроцедуры // ЗарегистрироватьКоманду 17 | 18 | // Выполняет логику команды 19 | // 20 | // Параметры: 21 | // ПараметрыКоманды - Соответствие - Соответствие ключей командной строки и их значений 22 | // ДополнительныеПараметры - Соответствие - дополнительные параметры (необязательно) 23 | // 24 | Функция ВыполнитьКоманду(Знач ПараметрыКоманды, Знач Неиспользуется = Неопределено) Экспорт 25 | 26 | Парсер = Новый ПарсерАргументовКоманднойСтроки; 27 | 28 | МенеджерКомандПриложения.ЗарегистрироватьКоманды(Парсер); 29 | 30 | Если ПараметрыКоманды["Команда"] = Неопределено Тогда 31 | 32 | ПоказатьВозможныеКоманды(Парсер); 33 | 34 | Иначе 35 | 36 | ПоказатьСправкуПоКоманде(Парсер, ПараметрыКоманды["Команда"]); 37 | 38 | КонецЕсли; 39 | 40 | Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; 41 | 42 | КонецФункции // ВыполнитьКоманду 43 | 44 | Процедура ПоказатьВозможныеКоманды(Знач Парсер) 45 | 46 | Парсер.ВывестиСправкуПоКомандам(); 47 | 48 | КонецПроцедуры // ПоказатьВозможныеКоманды 49 | 50 | Процедура ПоказатьСправкуПоКоманде(Знач Парсер, Знач ИмяКоманды) 51 | 52 | Парсер.ВывестиСправкуПоКоманде(ИмяКоманды); 53 | 54 | КонецПроцедуры // ПоказатьСправкуПоКоманде 55 | -------------------------------------------------------------------------------- /src/Классы/КомандаУстановкаВерсии.os: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////// 2 | // 3 | // Служебный модуль с реализацией работы команды set-version 4 | // 5 | // Структура модуля реализована в соответствии с рекомендациями 6 | // oscript-app-template (C) EvilBeaver 7 | // 8 | /////////////////////////////////////////////////////////////////// 9 | 10 | #Использовать logos 11 | 12 | #Область ОписаниеПеременных 13 | 14 | Перем Лог; 15 | 16 | #КонецОбласти 17 | 18 | #Область ПрограммныйИнтерфейс 19 | 20 | Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт 21 | 22 | ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, " Установка номера версии файлов 1С (конфигурации, расширения, внешние обработки\отчеты)."); 23 | 24 | Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--new-version", 25 | "Номер версии, который нужно установить"); 26 | Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--src", 27 | "Путь Configuration.xml или каталога, содержащего этот файл, или корневого каталога для поиска в подкаталогах - для исходников конфигурации или расширения"); 28 | 29 | Парсер.ДобавитьКоманду(ОписаниеКоманды); 30 | 31 | КонецПроцедуры 32 | 33 | // Выполняет логику команды 34 | // 35 | // Параметры: 36 | // ПараметрыКоманды - Соответствие - Соответствие ключей командной строки и их значений 37 | // ДополнительныеПараметры - Соответствие - дополнительные параметры (необязательно) 38 | // 39 | // Возвращаемое значение: 40 | // Произвольный - Успех. См. МенеджерКомандПриложения.РезультатыКоманд() 41 | // 42 | Функция ВыполнитьКоманду(Знач ПараметрыКоманды, Знач ДополнительныеПараметры) Экспорт 43 | 44 | Лог = ДополнительныеПараметры.Лог; 45 | 46 | НомерВерсии = ПараметрыКоманды["--new-version"]; 47 | ПутьФайла = ПараметрыКоманды["--src"]; 48 | 49 | Лог.Информация("Изменяю версию в исходниках конфигурации 1С на %1 - %2", НомерВерсии, ПутьФайла); 50 | 51 | МенеджерВерсийФайлов1С = Новый МенеджерВерсийФайлов1С; 52 | СтарыеВерсии = МенеджерВерсийФайлов1С.УстановитьВерсиюКонфигурации(ПутьФайла, НомерВерсии); 53 | 54 | Для каждого КлючЗначение Из СтарыеВерсии Цикл 55 | Лог.Информация(" Старая версия %1, файл - %2", КлючЗначение.Значение, КлючЗначение.Ключ); 56 | КонецЦикла; 57 | 58 | Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; 59 | 60 | КонецФункции 61 | 62 | #КонецОбласти 63 | -------------------------------------------------------------------------------- /src/Модули/УпаковщикМетаданных.os: -------------------------------------------------------------------------------- 1 | #Использовать tempfiles 2 | #Использовать v8unpack 3 | 4 | Перем Лог; 5 | 6 | // Распаковать контейнер метаданных 7 | // 8 | // Параметры: 9 | // ПутьФайлаДляРаспаковки - <Строка> - путь файла для распаковки 10 | // КаталогРаспаковки - <Строка> - каталог для распаковки 11 | // 12 | Процедура РаспаковатьКонтейнерМетаданных(Знач ФайлРаспаковки, Знач КаталогРаспаковки) Экспорт 13 | ФайлДляРаспаковки = Новый файл(ФайлРаспаковки); 14 | Если КаталогРаспаковки = "" Тогда 15 | КаталогРаспаковки = ВременныеФайлы.СоздатьКаталог(); 16 | КонецЕсли; 17 | 18 | ЧтениеФайла8 = Новый ЧтениеФайла8(ФайлДляРаспаковки.ПолноеИмя); 19 | Для Каждого Элемент Из ЧтениеФайла8.Элементы Цикл 20 | ЧтениеФайла8.Извлечь(Элемент, КаталогРаспаковки, Истина); 21 | КонецЦикла; 22 | ЧтениеФайла8 = Неопределено; 23 | ВыполнитьСборкуМусора(); 24 | 25 | ФайлМодуля = Новый Файл(ОбъединитьПути(КаталогРаспаковки, "module")); 26 | Если ФайлМодуля.Существует() Тогда 27 | ФайлКуда = Новый Файл(ОбъединитьПути(ФайлМодуля.Путь, "Module.bsl")); 28 | Лог.Отладка("Перемещаю файл <%1> в <%2>", ФайлМодуля.ПолноеИмя, ФайлКуда.ПолноеИмя); 29 | Если ФайлКуда.Существует() Тогда 30 | УдалитьФайлы(ФайлКуда.ПолноеИмя); 31 | КонецЕсли; 32 | ПереместитьФайл(ФайлМодуля.ПолноеИмя, ФайлКуда.ПолноеИмя); 33 | Ожидаем.Что(ФайлКуда.Существует(), 34 | СтрШаблон("Файл должен существовать, а его нет. %1", ФайлКуда.ПолноеИмя)).ЭтоИстина(); 35 | КонецЕсли; 36 | 37 | КонецПроцедуры 38 | 39 | // Упаковать контейнер метаданных 40 | // 41 | // Параметры: 42 | // КаталогРаспаковки - <Строка> - каталог для распаковки 43 | // ПутьФайлаДляРаспаковки - <Строка> - путь файла для упаковки 44 | // 45 | Процедура УпаковатьКонтейнерМетаданных(Знач КаталогРаспаковки, Знач ФайлРаспаковки) Экспорт 46 | ФайлДляРаспаковки = Новый файл(ФайлРаспаковки); 47 | Если КаталогРаспаковки = "" Тогда 48 | КаталогРаспаковки = ВременныеФайлы.СоздатьКаталог(); 49 | КонецЕсли; 50 | ФайлПрограммыРаспаковки = ИмяПрограммыРаспаковки(); 51 | ФайлМодуля = Новый Файл(ОбъединитьПути(КаталогРаспаковки, "Module.bsl")); 52 | Если ФайлМодуля.Существует() Тогда 53 | КопироватьФайл(ФайлМодуля.ПолноеИмя, ОбъединитьПути(ФайлМодуля.Путь, "module") ); 54 | КонецЕсли; 55 | СтрокаЗапуска = """" + ФайлПрограммыРаспаковки + """ -build -nopack """ +КаталогРаспаковки + """ """ + ФайлДляРаспаковки.ПолноеИмя + """"; 56 | Если НЕ ПараметрыСистемы.ЭтоWindows Тогда 57 | СтрокаЗапуска = "sh -c '" +СтрокаЗапуска + "'"; 58 | КонецЕсли; 59 | Лог.Отладка(СтрокаЗапуска); 60 | 61 | ЗапуститьПриложение(СтрокаЗапуска, , Истина); 62 | 63 | КонецПроцедуры 64 | 65 | Функция ИмяПрограммыРаспаковки() 66 | Рез = "v8unpack"; 67 | Если ПараметрыСистемы.ЭтоWindows Тогда 68 | Рез = Рез + ".exe"; 69 | КонецЕсли; 70 | Возврат Рез; 71 | КонецФункции // ИмяПрограммыРаспаковки() 72 | -------------------------------------------------------------------------------- /tasks/build.os: -------------------------------------------------------------------------------- 1 | #Использовать 1commands 2 | 3 | Команда = Новый Команда; 4 | Команда.УстановитьПравильныйКодВозврата(0); 5 | Команда.ПоказыватьВыводНемедленно(Истина); 6 | Команда.УстановитьСтрокуЗапуска("oscript src/main.os compileepf epf epf"); 7 | КодВозврата = Команда.Исполнить(); 8 | -------------------------------------------------------------------------------- /tasks/coverage.os: -------------------------------------------------------------------------------- 1 | #Использовать 1commands 2 | #Использовать fs 3 | #Использовать coverage 4 | 5 | ИмяПакета = "1commands"; 6 | 7 | ИмяКаталогаФайловПокрытия = "coverage"; 8 | ИмяОбщегоФайлаПокрытия = "stat.json"; 9 | ШаблонИменФайловПокрытия = "*.json"; 10 | 11 | ФС.ОбеспечитьПустойКаталог(ИмяКаталогаФайловПокрытия); 12 | ПутьКСтат = ОбъединитьПути(ИмяКаталогаФайловПокрытия, ИмяОбщегоФайлаПокрытия); 13 | 14 | СистемнаяИнформация = Новый СистемнаяИнформация; 15 | ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0; 16 | 17 | Команда = Новый Команда; 18 | Команда.УстановитьКоманду("oscript"); 19 | Если НЕ ЭтоWindows Тогда 20 | Команда.ДобавитьПараметр("-encoding=utf-8"); 21 | КонецЕсли; 22 | Команда.ДобавитьПараметр(СтрШаблон("-codestat=%1", ПутьКСтат)); 23 | Команда.ДобавитьПараметр("tasks/test.os coverage"); 24 | Команда.ПоказыватьВыводНемедленно(Истина); 25 | 26 | КодВозврата = Команда.Исполнить(); 27 | 28 | Файл_Стат = Новый Файл(ПутьКСтат); 29 | 30 | ПроцессорГенерации = Новый ГенераторОтчетаПокрытия(); 31 | 32 | ПроцессорГенерации.ОтносительныеПути() 33 | .РабочийКаталог(ИмяКаталогаФайловПокрытия) 34 | .ИмяФайлаСтатистики(ШаблонИменФайловПокрытия) 35 | .ФайлСтатистики(Файл_Стат.ПолноеИмя) 36 | .GenericCoverage() 37 | .Cobertura() 38 | .Clover(ИмяПакета) 39 | .Сформировать(); 40 | 41 | ЗавершитьРаботу(0); // TODO КодВозврата 42 | -------------------------------------------------------------------------------- /tasks/test.os: -------------------------------------------------------------------------------- 1 | // Прогон фич 2 | // При передаче параметра coverage будет включен подсчет покрытия кода, 3 | // в т.ч. для кода скриптов, запускаемых из фич 4 | 5 | #Использовать 1bdd 6 | #Использовать fs 7 | 8 | Перем СохраненныйТекущийКаталог; 9 | 10 | Процедура СохранитьТекущийКаталог() 11 | СохраненныйТекущийКаталог = ТекущийКаталог(); 12 | КонецПроцедуры 13 | 14 | Процедура ВосстановитьТекущийКаталог() 15 | УстановитьТекущийКаталог(СохраненныйТекущийКаталог); 16 | КонецПроцедуры 17 | 18 | КаталогФич = ОбъединитьПути(".", "features"); 19 | ПутьОтчетаJUnit = ОбъединитьПути(".", "bdd-exec.xml"); 20 | 21 | ИмяКаталогаФайловПокрытия = "coverage"; 22 | 23 | Файл_КаталогФич = Новый Файл(КаталогФич); 24 | КаталогБиблиотечныхФич = Файл_КаталогФич; 25 | 26 | // Только для отладки Файл_КаталогФич = Новый Файл(ОбъединитьПути(КаталогФич, "ПростыеКоманды.feature")); 27 | 28 | КаталогФайловПокрытия = ОбъединитьПути(ТекущийКаталог(), ".", ИмяКаталогаФайловПокрытия); 29 | ФС.ОбеспечитьПустойКаталог(КаталогФайловПокрытия); 30 | 31 | ИспользуетсяПокрытиеКода = Ложь; 32 | Для каждого Элемент Из АргументыКоманднойСтроки Цикл 33 | Если Элемент = "coverage" Тогда 34 | ИспользуетсяПокрытиеКода = Истина; 35 | Прервать; 36 | КонецЕсли; 37 | КонецЦикла; 38 | 39 | ИсполнительБДД = Новый ИсполнительБДД; 40 | Если ИспользуетсяПокрытиеКода Тогда 41 | ИсполнительБДД.СохранитьВКонтекст("ПризнакСтатистикиСкриптовOnescript", Новый Файл(КаталогФайловПокрытия)); 42 | КонецЕсли; 43 | 44 | СохранитьТекущийКаталог(); 45 | 46 | РезультатВыполнения = ИсполнительБДД.ВыполнитьФичу(Файл_КаталогФич, КаталогБиблиотечныхФич); 47 | ИтоговыйСтатусВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатВыполнения); 48 | 49 | Сообщить(ИтоговыйСтатусВыполнения); 50 | 51 | ВосстановитьТекущийКаталог(); 52 | 53 | Если Не ПустаяСтрока(ПутьОтчетаJUnit) Тогда 54 | ГенераторОтчетаJUnit = Новый ГенераторОтчетаJUnit; 55 | ГенераторОтчетаJUnit.Сформировать(РезультатВыполнения, ИтоговыйСтатусВыполнения, ПутьОтчетаJUnit); 56 | КонецЕсли; 57 | 58 | Если ИтоговыйСтатусВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения().Сломался Тогда 59 | ВызватьИсключение "Есть упавшие сценарии!"; 60 | КонецЕсли; 61 | -------------------------------------------------------------------------------- /tests/fixtures/Extension1.cfe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oscript-library/vanessa-runner/4d214c78ac14ff46040fd2bf7cc669a812ba13be/tests/fixtures/Extension1.cfe -------------------------------------------------------------------------------- /tests/fixtures/MergeSettingsКонфигурация-cf-to-empty.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Конфигурация 5 | 6 | 7 | Конфигурация 8 | 9 | 10 | ConfigurationsNotRelated 11 | false 12 | false 13 | 14 | 15 | 16 | 17 | 18 | DoNotMerge 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /tests/fixtures/cf/Catalogs/Справочник1/Ext/ObjectModule.bsl: -------------------------------------------------------------------------------- 1 | Сообщить("Справочник1 - Модуль объекта"); -------------------------------------------------------------------------------- /tests/fixtures/cf/Catalogs/Справочник1/Forms/УпрФормаСписка.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 |
4 | 5 | УпрФормаСписка 6 | 7 | 8 | ru 9 | Упр форма списка 10 | 11 | 12 | 13 | Managed 14 | false 15 | 16 | PersonalComputer 17 | MobileDevice 18 | 19 | 20 |
21 |
-------------------------------------------------------------------------------- /tests/fixtures/cf/Catalogs/Справочник1/Forms/УпрФормаСписка/Ext/Form/Module.bsl: -------------------------------------------------------------------------------- 1 | &НаКлиенте 2 | Процедура Подключаемый_Тест1(Тест) 3 | 4 | КонецПроцедуры 5 | 6 | &НаКлиенте 7 | Процедура Подключаемый_Тест(Тест) 8 | 9 | КонецПроцедуры 10 | 11 | Сообщить("Справочник1 - управляемая форма списка"); -------------------------------------------------------------------------------- /tests/fixtures/cf/Catalogs/Справочник1/Forms/ФормаСписка.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 |
4 | 5 | ФормаСписка 6 | 7 | 8 | ru 9 | Форма списка 10 | 11 | 12 | 13 | Ordinary 14 | false 15 | 16 | PersonalComputer 17 | MobileDevice 18 | 19 | 20 |
21 |
-------------------------------------------------------------------------------- /tests/fixtures/cf/Catalogs/Справочник1/Forms/ФормаСписка/Ext/Form.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oscript-library/vanessa-runner/4d214c78ac14ff46040fd2bf7cc669a812ba13be/tests/fixtures/cf/Catalogs/Справочник1/Forms/ФормаСписка/Ext/Form.bin -------------------------------------------------------------------------------- /tests/fixtures/cf/Ext/ManagedApplicationModule.bsl: -------------------------------------------------------------------------------- 1 | Сообщить("Управляемое приложение"); -------------------------------------------------------------------------------- /tests/fixtures/cf/Ext/OrdinaryApplicationModule.bsl: -------------------------------------------------------------------------------- 1 | Сообщить("Обычное приложение"); -------------------------------------------------------------------------------- /tests/fixtures/cf/Languages/Русский.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Русский 6 | 7 | 8 | ru 9 | Русский 10 | 11 | 12 | 13 | ru 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/fixtures/cf/Roles/ПолныеПрава.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | ПолныеПрава 6 | 7 | 8 | ru 9 | Полные права 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/fixtures/cf/Roles/ПолныеПрава/Ext/Rights.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | true 4 | true 5 | false 6 | -------------------------------------------------------------------------------- /tests/fixtures/cfbad/Catalogs/Справочник1/Ext/ObjectModule.bsl: -------------------------------------------------------------------------------- 1 | Сообщить("Справочник1 - Модуль объекта"); 2 | ТутОшибка; -------------------------------------------------------------------------------- /tests/fixtures/cfbad/Catalogs/Справочник1/Forms/УпрФормаСписка.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 |
4 | 5 | УпрФормаСписка 6 | 7 | 8 | ru 9 | Упр форма списка 10 | 11 | 12 | 13 | Managed 14 | false 15 | 16 | PersonalComputer 17 | MobileDevice 18 | 19 | 20 |
21 |
-------------------------------------------------------------------------------- /tests/fixtures/cfbad/Catalogs/Справочник1/Forms/УпрФормаСписка/Ext/Form/Module.bsl: -------------------------------------------------------------------------------- 1 | Сообщить("Справочник1 - управляемая форма списка"); 2 | ТутОшибка = Истиа; -------------------------------------------------------------------------------- /tests/fixtures/cfbad/Catalogs/Справочник1/Forms/ФормаСписка.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 |
4 | 5 | ФормаСписка 6 | 7 | 8 | ru 9 | Форма списка 10 | 11 | 12 | 13 | Ordinary 14 | false 15 | 16 | PersonalComputer 17 | MobileDevice 18 | 19 | 20 |
21 |
-------------------------------------------------------------------------------- /tests/fixtures/cfbad/Catalogs/Справочник1/Forms/ФормаСписка/Ext/Form.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oscript-library/vanessa-runner/4d214c78ac14ff46040fd2bf7cc669a812ba13be/tests/fixtures/cfbad/Catalogs/Справочник1/Forms/ФормаСписка/Ext/Form.bin -------------------------------------------------------------------------------- /tests/fixtures/cfbad/Ext/ManagedApplicationModule.bsl: -------------------------------------------------------------------------------- 1 | Сообщить("Управляемое приложение"); 2 | ТутОшибка = Итина; -------------------------------------------------------------------------------- /tests/fixtures/cfbad/Ext/OrdinaryApplicationModule.bsl: -------------------------------------------------------------------------------- 1 | Сообщить("Обычное приложение"); -------------------------------------------------------------------------------- /tests/fixtures/cfbad/Languages/Русский.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Русский 6 | 7 | 8 | ru 9 | Русский 10 | 11 | 12 | 13 | ru 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/fixtures/cfe/Configuration.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 9cd510cd-abfc-11d4-9434-004095e12fc7 7 | 4f3e78a0-6b88-45ce-aa91-73ca191552f0 8 | 9 | 10 | 9fcd25a0-4822-11d4-9414-008048da11f9 11 | 7e55a162-6729-4df8-949a-5d666de64630 12 | 13 | 14 | e3687481-0a87-462c-a166-9f34594f9bba 15 | 5d32add7-ffcd-4634-b1c2-b2a73bdbd1ad 16 | 17 | 18 | 9de14907-ec23-4a07-96f0-85521cb6b53b 19 | 41a4e190-493a-458d-b614-5aa2406a94ed 20 | 21 | 22 | 51f2d5d8-ea4d-4064-8892-82951750031e 23 | 37391a98-fb76-467e-a90c-07ef6ce4d46d 24 | 25 | 26 | e68182ea-4237-4383-967f-90c1e3370bc7 27 | 8e902c09-5ec1-4c82-88eb-f7da41185bad 28 | 29 | 30 | 31 | Расширение1 32 | 33 | 34 | ru 35 | Расширение1 36 | 37 | 38 | 39 | Customization 40 | Adopted 41 | Расш1_ 42 | Version8_3_10 43 | ManagedApplication 44 | 45 | PersonalComputer 46 | 47 | Russian 48 | 49 | 1.1.0.0 50 | Language.Русский 51 | Taxi 52 | Version8_3_10 53 | 54 | 55 | Русский 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /tests/fixtures/cfe/Ext/ManagedApplicationModule.bsl: -------------------------------------------------------------------------------- 1 |  2 | &Перед("ПриНачалеРаботыСистемы") 3 | Процедура Расш1_ПриНачалеРаботыСистемы() 4 | Сообщить("Внутри Расш1_ПриНачалеРаботыСистемы"); 5 | КонецПроцедуры 6 | -------------------------------------------------------------------------------- /tests/fixtures/cfe/Languages/Русский.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Русский 6 | Adopted 7 | ru 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/fixtures/cfe_without_version/Configuration.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 9cd510cd-abfc-11d4-9434-004095e12fc7 7 | 4f3e78a0-6b88-45ce-aa91-73ca191552f0 8 | 9 | 10 | 9fcd25a0-4822-11d4-9414-008048da11f9 11 | 7e55a162-6729-4df8-949a-5d666de64630 12 | 13 | 14 | e3687481-0a87-462c-a166-9f34594f9bba 15 | 5d32add7-ffcd-4634-b1c2-b2a73bdbd1ad 16 | 17 | 18 | 9de14907-ec23-4a07-96f0-85521cb6b53b 19 | 41a4e190-493a-458d-b614-5aa2406a94ed 20 | 21 | 22 | 51f2d5d8-ea4d-4064-8892-82951750031e 23 | 37391a98-fb76-467e-a90c-07ef6ce4d46d 24 | 25 | 26 | e68182ea-4237-4383-967f-90c1e3370bc7 27 | 8e902c09-5ec1-4c82-88eb-f7da41185bad 28 | 29 | 30 | 31 | Расширение1 32 | 33 | 34 | ru 35 | Расширение1 36 | 37 | 38 | 39 | Customization 40 | Adopted 41 | Расш1_ 42 | Version8_3_10 43 | ManagedApplication 44 | 45 | PersonalComputer 46 | 47 | Russian 48 | 49 | 50 | Language.Русский 51 | Taxi 52 | Version8_3_10 53 | 54 | 55 | Русский 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /tests/fixtures/cfe_without_version/Ext/ManagedApplicationModule.bsl: -------------------------------------------------------------------------------- 1 |  2 | &Перед("ПриНачалеРаботыСистемы") 3 | Процедура Расш1_ПриНачалеРаботыСистемы() 4 | Сообщить("Внутри Расш1_ПриНачалеРаботыСистемы"); 5 | КонецПроцедуры 6 | -------------------------------------------------------------------------------- /tests/fixtures/cfe_without_version/Languages/Русский.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Русский 6 | Adopted 7 | ru 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/fixtures/feature/env.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://raw.githubusercontent.com/vanessa-opensource/vanessa-runner/develop/vanessa-runner-schema.json", 3 | "default": { 4 | "--ibconnection":"/F./build/ib", 5 | "--db-user":"", 6 | "--db-pwd":"" 7 | }, 8 | "xunit":{ 9 | "--workspace":"./build", 10 | "--ibconnection": "/Fbuild/ib", 11 | // "--db-user": "Admin", 12 | // "--db-pwd": "", 13 | "--xddConfig": "build/xUnitParams.json", 14 | "--reportsxunit": "ГенераторОтчетаJUnitXML{./junitreport/xddreport.xml};ГенераторОтчетаAllureXMLВерсия2{./allurereport/allure-testsuite.xml}", 15 | "--xddExitCodePath": "./build/xddExitCodePath.txt", 16 | "--language": "ru", 17 | "--additional":"/DisplayAllFunctions" 18 | }, 19 | "vanessa":{ 20 | "--vanessasettings":"./build/feature/vb-conf.json", 21 | "--workspace":"./build", 22 | "--additional":"/DisplayAllFunctions" 23 | }, 24 | "create":{ 25 | "--db-server": "localhost", 26 | "--name": "test123-vanessa-runner", 27 | "--dbms": "PostgreSQL", 28 | "--descr": "vanessa runner test 123" 29 | }, 30 | "remove":{ 31 | "--db-server": "localhost", 32 | "--name": "test123-vanessa-runner", 33 | "--drop-database": true, 34 | "--clear-database": true 35 | }, 36 | "session":{ 37 | "Действие": "closed", 38 | "--db": "test123-vanessa-runner" 39 | // "--db-server": "localhost", 40 | // "--drop-database": true, 41 | // "--clear-database": true 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /tests/fixtures/feature/vb-conf.json: -------------------------------------------------------------------------------- 1 | { 2 | "ИмяСборки":"Сборка 8.3.10 UF", 3 | "ВыводитьСообщенияВФайл": "$workspaceRoot/message.txt", 4 | "КаталогФич": "$workspaceRoot/feature/", 5 | "КаталогиБиблиотек":[ 6 | "$instrumentsRoot/./features/libraries/" 7 | ], 8 | "ВыполнитьСценарии": "Истина", 9 | "ЗавершитьРаботуСистемы": "Истина", 10 | "ЗакрытьTestClientПослеЗапускаСценариев": "Истина", 11 | "ДелатьЛогВыполненияСценариевВЖР": "Истина", 12 | "ДелатьОтчетВФорматеАллюр": "Истина", 13 | "ДелатьОтчетВФорматеjUnit": "Истина", 14 | "ДелатьОтчетВФорматеCucumberJson": "Истина", 15 | "ДелатьЛогВыполненияСценариевВТекстовыйФайл": "Истина", 16 | "КаталогOutputAllureБазовый": "$workspaceRoot/allurereport", 17 | "КаталогOutputjUnit": "$workspaceRoot/junitreport", 18 | "КаталогOutputCucumberJson": "$workspaceRoot/cucumber", 19 | "СоздаватьПодкаталогВКаталогеAllureДляЭтойСборки": "Ложь", 20 | "ДелатьСкриншотПриВозникновенииОшибки": "Ложь", 21 | "КаталогOutputСкриншоты": "$workspaceRoot/allurereport/screen", 22 | "ИмяФайлаЛогВыполненияСценариев": "$workspaceRoot/vanessaonline.txt", 23 | "КомандаСделатьСкриншот": "nircmd.exe savescreenshot ", 24 | "ВыгружатьСтатусВыполненияСценариевВФайл": "Истина", 25 | "ДобавлятьКИмениСценарияУсловияВыгрузки": "Ложь", 26 | "ПутьКФайлуДляВыгрузкиСтатусаВыполненияСценариев": "$workspaceRoot/buildstatus.log", 27 | "СписокТеговИсключение":[ 28 | "IgnoreOnCIMainBuild", 29 | "IgnoreOn8310", 30 | "IgnoreOnUFBuilds", 31 | "Ignore", 32 | "IgnoreIfNotIrfanView", 33 | "NotOnSRC", 34 | "IgnoreOnLinux", 35 | "Video" 36 | ], 37 | "СписокТеговОтбор":[ 38 | ] 39 | } 40 | -------------------------------------------------------------------------------- /tests/fixtures/file.txt: -------------------------------------------------------------------------------- 1 | Просто файл -------------------------------------------------------------------------------- /tests/fixtures/fixture-epf/fixture/Тест1.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | c3831ec8-d8d5-4f93-8a22-f9bfae07327f 7 | d154c893-17db-43aa-a969-0298865c42c5 8 | 9 | 10 | 69dd1ae4-552c-4d3b-bfd3-2ed3b2139c30 11 | 2054f719-1ecf-4cc7-a3f6-10f125407b5d 12 | 13 | 14 | 15 | Тест1 16 | 17 | 18 | ru 19 | Тест1 20 | 21 | 22 | 23 | ExternalDataProcessor.Тест1.Form.Форма 24 | 25 | 26 | 27 | 28 | 29 | Реквизит1 30 | 31 | 32 | 33 | xs:string 34 | 35 | 10 36 | Variable 37 | 38 | 39 | false 40 | 41 | 42 | 43 | false 44 | 45 | false 46 | false 47 | 48 | 49 | DontCheck 50 | Items 51 | 52 | 53 | Auto 54 | Auto 55 | 56 | 57 | Auto 58 | 59 | 60 |
Форма
61 |
Форма1
62 |
63 |
64 |
-------------------------------------------------------------------------------- /tests/fixtures/fixture-epf/fixture/Тест1/Ext/ObjectModule.bsl: -------------------------------------------------------------------------------- 1 | Сообщить("Обработка Тест1"); -------------------------------------------------------------------------------- /tests/fixtures/fixture-epf/fixture/Тест1/Forms/Форма.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 |
4 | 5 | Форма 6 | 7 | 8 | ru 9 | Форма 10 | 11 | 12 | 13 | Managed 14 | false 15 | 16 | PersonalComputer 17 | MobileDevice 18 | 19 | 20 | 21 |
22 |
-------------------------------------------------------------------------------- /tests/fixtures/fixture-epf/fixture/Тест1/Forms/Форма/Ext/Form.xml: -------------------------------------------------------------------------------- 1 |  2 |
3 | 4 | 5 | ПриОткрытии 6 | 7 | 8 | 9 | Объект.Реквизит1 10 | EnterOnInput 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | cfg:ExternalDataProcessorObject.Тест1 19 | 20 | true 21 | 22 | 23 | -------------------------------------------------------------------------------- /tests/fixtures/fixture-epf/fixture/Тест1/Forms/Форма1.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 |
4 | 5 | Форма1 6 | 7 | 8 | ru 9 | Форма1 10 | 11 | 12 | 13 | Ordinary 14 | false 15 | 16 | PersonalComputer 17 | MobileDevice 18 | 19 | 20 | 21 |
22 |
-------------------------------------------------------------------------------- /tests/fixtures/fixture-epf/fixture/Тест1/Forms/Форма1/Ext/Form.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oscript-library/vanessa-runner/4d214c78ac14ff46040fd2bf7cc669a812ba13be/tests/fixtures/fixture-epf/fixture/Тест1/Forms/Форма1/Ext/Form.bin -------------------------------------------------------------------------------- /tests/fixtures/fixture-epf/fixture/Тест1/Forms/Форма1/Ext/Form/Module.bsl: -------------------------------------------------------------------------------- 1 |  2 | Процедура КнопкаВыполнитьНажатие(Кнопка) 3 | // Вставить содержимое обработчика. 4 | КонецПроцедуры 5 | -------------------------------------------------------------------------------- /tests/fixtures/fixture.epf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oscript-library/vanessa-runner/4d214c78ac14ff46040fd2bf7cc669a812ba13be/tests/fixtures/fixture.epf -------------------------------------------------------------------------------- /tests/fixtures/test-wrong-syntax/test-wrong-syntax.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | c3831ec8-d8d5-4f93-8a22-f9bfae07327f 7 | 645cde0d-2357-42ea-8a8b-12cff526f0bd 8 | 9 | 10 | 9506ef93-ef46-43e1-b089-9f25add335b2 11 | a3f477fd-3fcc-4e25-9f24-0566b2d830fc 12 | 13 | 14 | 15 | test_wrong_syntax 16 | 17 | 18 | ru 19 | Test wrong syntax 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /tests/fixtures/test-wrong-syntax/test-wrong-syntax/Ext/ObjectModule.bsl: -------------------------------------------------------------------------------- 1 | синтакс-ошибка 2 | 3 | Перем КонтекстЯдра; 4 | Перем Ожидаем; 5 | Перем Утверждения; 6 | Перем ГенераторТестовыхДанных; 7 | Перем ЗапросыИзБД; 8 | Перем УтвержденияПроверкаТаблиц; 9 | 10 | //{ основные процедуры для юнит-тестирования xUnitFor1C 11 | 12 | Процедура Инициализация(КонтекстЯдраПараметр) Экспорт 13 | КонтекстЯдра = КонтекстЯдраПараметр; 14 | Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); 15 | Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); 16 | ГенераторТестовыхДанных = КонтекстЯдра.Плагин("СериализаторMXL"); 17 | ЗапросыИзБД = КонтекстЯдра.Плагин("ЗапросыИзБД"); 18 | УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); 19 | КонецПроцедуры 20 | 21 | Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт 22 | //НаборТестов.НачатьГруппу("Сценарный тест", Истина); 23 | //НаборТестов.Добавить("ПараметрическийТест", НаборТестов.ПараметрыТеста(5, 7), "Тест должен показать использование представления теста"); 24 | //Тест = НаборТестов.Добавить("ПараметрическийТест2"); 25 | //Тест.Параметры.Добавить(12); 26 | НаборТестов.Добавить("ТестДолжен_ЧтоТоСделать"); 27 | КонецПроцедуры 28 | //} 29 | 30 | //{ блок юнит-тестов - сами тесты 31 | 32 | //Процедура ПередЗапускомТеста() Экспорт 33 | // НачатьТранзакцию(); 34 | //КонецПроцедуры 35 | 36 | //Процедура ПослеЗапускаТеста() Экспорт 37 | // Если ТранзакцияАктивна() Тогда 38 | // ОтменитьТранзакцию(); 39 | // КонецЕсли; 40 | //КонецПроцедуры 41 | 42 | Процедура ТестДолжен_ЧтоТоСделать() Экспорт 43 | Сообщить("Сообщение из теста ТестДолжен_ЧтоТоСделать"); 44 | КонецПроцедуры 45 | 46 | //} 47 | -------------------------------------------------------------------------------- /tests/fixtures/xUnitParams.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema":"https://raw.githubusercontent.com/silverbulleters/vanessa-runner/develop/xunit-schema.json", 3 | "Отладка":false, 4 | "ДобавлятьИмяПользователяВПредставлениеТеста":true, 5 | "ДелатьЛогВыполненияСценариевВТекстовыйФайл":true, 6 | "ИмяФайлаЛогВыполненияСценариев": "$workspaceRoot/build/log-xunit.txt" 7 | // комментарий 8 | } 9 | -------------------------------------------------------------------------------- /tests/fixtures/xdd_test/xdd_test.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | c3831ec8-d8d5-4f93-8a22-f9bfae07327f 7 | 645cde0d-2357-42ea-8a8b-12cff526f0bd 8 | 9 | 10 | 9506ef93-ef46-43e1-b089-9f25add335b2 11 | a3f477fd-3fcc-4e25-9f24-0566b2d830fc 12 | 13 | 14 | 15 | xdd_test 16 | 17 | 18 | ru 19 | Xdd test 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /tests/fixtures/xdd_test/xdd_test/Ext/ObjectModule.bsl: -------------------------------------------------------------------------------- 1 | Перем КонтекстЯдра; 2 | Перем Ожидаем; 3 | Перем Утверждения; 4 | Перем ГенераторТестовыхДанных; 5 | Перем ЗапросыИзБД; 6 | Перем УтвержденияПроверкаТаблиц; 7 | 8 | //{ основные процедуры для юнит-тестирования xUnitFor1C 9 | 10 | Процедура Инициализация(КонтекстЯдраПараметр) Экспорт 11 | КонтекстЯдра = КонтекстЯдраПараметр; 12 | Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); 13 | Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); 14 | ГенераторТестовыхДанных = КонтекстЯдра.Плагин("СериализаторMXL"); 15 | ЗапросыИзБД = КонтекстЯдра.Плагин("ЗапросыИзБД"); 16 | УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); 17 | КонецПроцедуры 18 | 19 | Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт 20 | //НаборТестов.НачатьГруппу("Сценарный тест", Истина); 21 | //НаборТестов.Добавить("ПараметрическийТест", НаборТестов.ПараметрыТеста(5, 7), "Тест должен показать использование представления теста"); 22 | //Тест = НаборТестов.Добавить("ПараметрическийТест2"); 23 | //Тест.Параметры.Добавить(12); 24 | НаборТестов.Добавить("ТестДолжен_ЧтоТоСделать"); 25 | КонецПроцедуры 26 | //} 27 | 28 | //{ блок юнит-тестов - сами тесты 29 | 30 | //Процедура ПередЗапускомТеста() Экспорт 31 | // НачатьТранзакцию(); 32 | //КонецПроцедуры 33 | 34 | //Процедура ПослеЗапускаТеста() Экспорт 35 | // Если ТранзакцияАктивна() Тогда 36 | // ОтменитьТранзакцию(); 37 | // КонецЕсли; 38 | //КонецПроцедуры 39 | 40 | Процедура ТестДолжен_ЧтоТоСделать() Экспорт 41 | Сообщить("Сообщение из теста ТестДолжен_ЧтоТоСделать"); 42 | КонецПроцедуры 43 | 44 | //} 45 | --------------------------------------------------------------------------------