├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.yml │ ├── config.yml │ └── feature_request.yml ├── PULL_REQUEST_TEMPLATE.md └── workflows │ ├── build.yml │ ├── ci-build.yml │ ├── fork-pull.yml │ └── release.yml ├── .gitignore ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE.md ├── NOTICE.md ├── README.md ├── bom ├── .project ├── .settings │ └── org.eclipse.core.resources.prefs ├── pom.xml └── set_version.sh ├── bundles ├── com.e1c.ssl.bsl.ui │ ├── .classpath │ ├── .project │ ├── .settings │ │ ├── org.eclipse.core.resources.prefs │ │ └── org.eclipse.jdt.core.prefs │ ├── META-INF │ │ └── MANIFEST.MF │ ├── build.properties │ ├── plugin.properties │ ├── plugin.xml │ ├── pom.xml │ └── src │ │ └── com │ │ └── e1c │ │ └── ssl │ │ └── bsl │ │ ├── internal │ │ └── ui │ │ │ ├── BslStringLiteralProposalImageProviderForMdObject.java │ │ │ ├── ExternalDependenciesModule.java │ │ │ ├── UiExecutableExtensionFactory.java │ │ │ └── UiPlugin.java │ │ └── ui │ │ ├── AbstractStringLiteralProposalProviderCommonFunction.java │ │ ├── StringLiteralProposalObjectPropertiesDetails.java │ │ ├── StringLiteralProposalProviderCommonFunctionObjectAttributeValue.java │ │ ├── StringLiteralProposalProviderCommonModuleManager.java │ │ └── StringLiteralProposalProviderSubsystemExist.java ├── com.e1c.ssl.bsl │ ├── .classpath │ ├── .project │ ├── .settings │ │ ├── org.eclipse.core.resources.prefs │ │ └── org.eclipse.jdt.core.prefs │ ├── META-INF │ │ └── MANIFEST.MF │ ├── build.properties │ ├── plugin-ssl-support.launch │ ├── plugin.properties │ ├── plugin.xml │ ├── pom.xml │ └── src │ │ └── com │ │ └── e1c │ │ └── ssl │ │ └── bsl │ │ ├── AbstractCommonModuleCommonFunctionTypesComputer.java │ │ ├── AbstractCommonModuleObjectAttributeValueTypesComputer.java │ │ ├── CommonFunctionArraysDifferenceTypesComputer.java │ │ ├── CommonFunctionCheckDocumentsPostingTypesComputer.java │ │ ├── CommonFunctionCollapseArrayTypesComputer.java │ │ ├── CommonFunctionCommonModuleManagerTypesComputer.java │ │ ├── CommonFunctionCopyRecursiveTypesComputer.java │ │ ├── CommonFunctionFixedDataTypesComputer.java │ │ ├── CommonFunctionObjectAttributeValueTypesComputer.java │ │ ├── CommonFunctionObjectAttributesValuesTypesComputer.java │ │ ├── CommonFunctionObjectManagerByFullNameTypesComputer.java │ │ ├── CommonFunctionObjectManagerByRefTypesComputer.java │ │ ├── CommonFunctionObjectPropertiesDetailsComputer.java │ │ ├── CommonFunctionObjectsAttributeValueTypesComputer.java │ │ ├── CommonFunctionObjectsAttributesValuesTypesComputer.java │ │ ├── CommonFunctionUnloadColumnTypesComputer.java │ │ ├── CommonFunctionValueInArrayTypesComputer.java │ │ ├── CommonFunctionValueTableRowToStructure.java │ │ ├── CommonFunctionValueTableToArrayTypesComputer.java │ │ ├── ExpressionValueComputer.java │ │ ├── TypesComputerHelper.java │ │ └── internal │ │ ├── BslPlugin.java │ │ ├── ExecutableExtensionFactory.java │ │ └── ExternalDependenciesModule.java ├── com.e1c.ssl.ui │ ├── .classpath │ ├── .project │ ├── .settings │ │ ├── org.eclipse.core.resources.prefs │ │ └── org.eclipse.jdt.core.prefs │ ├── META-INF │ │ └── MANIFEST.MF │ ├── about.ini │ ├── build.properties │ ├── logo.png │ ├── plugin.properties │ ├── pom.xml │ └── src │ │ └── com │ │ └── e1c │ │ └── ssl │ │ └── ui │ │ └── Activator.java └── pom.xml ├── checkstyle.xml ├── docs ├── .classpath ├── .gitignore ├── .project ├── .settings │ └── org.eclipse.core.resources.prefs ├── META-INF │ └── MANIFEST.MF ├── README.md ├── build.properties ├── common-check-documents-posting.md ├── common-client-common-module.md ├── common-client-server-arrays-difference.md ├── common-client-server-collapse-array.md ├── common-client-server-value-in-array.md ├── common-client-subsystem-exist.md ├── common-common-module.md ├── common-copy-recursive.md ├── common-object-attribute-value.md ├── common-object-attributes-values.md ├── common-object-manager-by-full-name.md ├── common-object-manager-by-ref.md ├── common-object-properties-details.md ├── common-objects-attribute-value.md ├── common-objects-attributes-values.md ├── common-subsystem-exist.md ├── common-unload-column.md ├── common-value-fixed-data.md ├── common-value-table-row-to-structure.md ├── common-value-table-to-array.md ├── html │ ├── css │ │ └── prism.css │ ├── footer.html │ ├── header.html │ └── js │ │ └── prism.js ├── pict │ ├── common-module.gif │ ├── subsystem-exist.gif │ ├── type-common-module.gif │ ├── type-object-attibutes-values.gif │ └── type-object-attribute-value.gif ├── plugin.properties ├── plugin.xml ├── pom.xml ├── src │ └── .gitkeep └── toc.xml ├── features ├── com.e1c.ssl.feature │ ├── .project │ ├── .settings │ │ └── org.eclipse.core.resources.prefs │ ├── SourceTemplateFeature │ │ ├── build.properties │ │ └── feature.properties │ ├── build.properties │ ├── feature.properties │ ├── feature.xml │ ├── feature_ru.properties │ └── pom.xml ├── com.e1c.ssl.sdk.feature │ ├── .project │ ├── .settings │ │ └── org.eclipse.core.resources.prefs │ ├── build.properties │ ├── feature.properties │ ├── feature.xml │ └── pom.xml └── pom.xml ├── java.header ├── pom.xml ├── repositories ├── com.e1c.ssl.repository.sdk │ ├── .project │ ├── .settings │ │ └── org.eclipse.core.resources.prefs │ ├── category.xml │ └── pom.xml ├── com.e1c.ssl.repository │ ├── .project │ ├── .settings │ │ └── org.eclipse.core.resources.prefs │ ├── category.xml │ └── pom.xml └── pom.xml ├── targets ├── .project ├── .settings │ └── org.eclipse.core.resources.prefs ├── default │ ├── default.target │ └── pom.xml └── pom.xml └── tests ├── com.e1c.ssl.bsl.itests ├── .classpath ├── .project ├── .settings │ ├── org.eclipse.core.resources.prefs │ └── org.eclipse.jdt.core.prefs ├── META-INF │ └── MANIFEST.MF ├── build.properties ├── plugin.properties ├── pom.xml ├── resources │ └── common-functions │ │ ├── arrays-difference.bsl │ │ ├── check-documents-posting.bsl │ │ ├── collapse-array.bsl │ │ ├── common-module-client.bsl │ │ ├── common-module-fixed-array.bsl │ │ ├── common-module-fixed-data.bsl │ │ ├── common-module-fixed-map.bsl │ │ ├── common-module-object-manager.bsl │ │ ├── common-module-table-row-to-structure.bsl │ │ ├── common-module-table-to-array.bsl │ │ ├── common-module-unload-column.bsl │ │ ├── common-module.bsl │ │ ├── copy-recursive.bsl │ │ ├── manager-by-full-name-ref.bsl │ │ ├── manager-by-full-name.bsl │ │ ├── manager-by-ref-dynamic.bsl │ │ ├── manager-by-ref.bsl │ │ ├── object-attribute-value-dynamic.bsl │ │ ├── object-attribute-value.bsl │ │ ├── object-attributes-values-array-ctor-subproperty.bsl │ │ ├── object-attributes-values-array-ctor.bsl │ │ ├── object-attributes-values-array.bsl │ │ ├── object-attributes-values-compute-strings.bsl │ │ ├── object-attributes-values-dynamic.bsl │ │ ├── object-attributes-values-string-var.bsl │ │ ├── object-attributes-values-structure-ctor.bsl │ │ ├── object-attributes-values-structure-subproperty.bsl │ │ ├── object-attributes-values-structure.bsl │ │ ├── object-attributes-values.bsl │ │ ├── object-property-details.bsl │ │ ├── objects-attribute-value-dynamic.bsl │ │ ├── objects-attribute-value.bsl │ │ ├── objects-attributes-values-dynamic.bsl │ │ ├── objects-attributes-values-string-var.bsl │ │ ├── objects-attributes-values.bsl │ │ ├── subsystem-exist.bsl │ │ └── value-in-array.bsl ├── src │ └── com │ │ └── e1c │ │ └── ssl │ │ ├── bsl │ │ └── itests │ │ │ ├── BslCommonFunctionsTest.java │ │ │ └── BslCopyRecursiveTest.java │ │ └── internal │ │ └── bsl │ │ └── itests │ │ └── BslIdeTestCaseBase.java └── workspace │ └── CommonFunctions │ ├── .project │ ├── .settings │ └── org.eclipse.core.resources.prefs │ ├── DT-INF │ └── PROJECT.PMF │ └── src │ ├── Catalogs │ ├── Поставщики │ │ └── Поставщики.mdo │ └── Товары │ │ ├── ManagerModule.bsl │ │ └── Товары.mdo │ ├── CommonModules │ ├── ОбщегоНазначения │ │ ├── Module.bsl │ │ └── ОбщегоНазначения.mdo │ ├── ОбщегоНазначенияКлиент │ │ ├── Module.bsl │ │ └── ОбщегоНазначенияКлиент.mdo │ ├── ОбщегоНазначенияКлиентСервер │ │ ├── Module.bsl │ │ └── ОбщегоНазначенияКлиентСервер.mdo │ ├── ТестовыйМодуль │ │ ├── Module.bsl │ │ └── ТестовыйМодуль.mdo │ └── УсловныйМодуль │ │ ├── Module.bsl │ │ └── УсловныйМодуль.mdo │ ├── Configuration │ ├── CommandInterface.cmi │ ├── Configuration.mdo │ ├── HomePageWorkArea.hpwa │ └── MainSectionCommandInterface.cmi │ ├── Documents │ └── Документ │ │ └── Документ.mdo │ ├── InformationRegisters │ └── ШтрихКоды │ │ ├── ManagerModule.bsl │ │ └── ШтрихКоды.mdo │ └── Subsystems │ ├── Подсистема1 │ ├── CommandInterface.cmi │ └── Подсистема1.mdo │ └── Стандартные │ ├── CommandInterface.cmi │ ├── Subsystems │ ├── Подсистема2 │ │ ├── CommandInterface.cmi │ │ └── Подсистема2.mdo │ └── Файлы │ │ ├── CommandInterface.cmi │ │ └── Файлы.mdo │ └── Стандартные.mdo └── pom.xml /.github/ISSUE_TEMPLATE/bug_report.yml: -------------------------------------------------------------------------------- 1 | name: Сообщение об ошибке 2 | description: Сообщите об ошибке, чтобы помочь нам улучшить проект 3 | labels: ["bug"] 4 | body: 5 | - type: markdown 6 | attributes: 7 | value: | 8 | Благодарим Вас, за то что сообщаете об ошибке! 9 | - type: textarea 10 | id: bug-description 11 | attributes: 12 | label: Описание ошибки 13 | description: Четкое и краткое описание того, в чем заключается ошибка? 14 | placeholder: Расскажите нам что вы видите? 15 | value: "Ошибка в том что..." 16 | validations: 17 | required: true 18 | - type: textarea 19 | id: bug-reproduce 20 | attributes: 21 | label: Как воспроизвести 22 | description: Шаги для воспроизведения ошибки (здесь так же можно вставлять скриншоты - это очень помогает понять) 23 | placeholder: Что необходимо выполнить по шагам для воспроизведения ошибки? 24 | value: | 25 | 1. Перейдите в `...` 26 | 2. Кликните по `....` 27 | 3. Прокрутите вниз до `....` 28 | 4. Смотрите ошибку в `....` 29 | 30 | validations: 31 | required: true 32 | - type: textarea 33 | id: screenshoots 34 | attributes: 35 | label: Скриншоты 36 | description: | 37 | Если возможно, приложите скриншоты проблемы. 38 | 39 | Совет: не старайтесь обрезать все лишнее (по вашему мнению) на скриншоте, лучше более полный скриншот со стрелочками на проблемное место. 40 | placeholder: Здесь можно вставить скриншот проблемы... 41 | validations: 42 | required: false 43 | - type: textarea 44 | id: expectation 45 | attributes: 46 | label: Ожидаемое поведение 47 | description: Четкое и краткое описание того, что вы ожидали бы в правильном поведении? 48 | placeholder: Какое, по вашему мнению, правильное поведение? 49 | validations: 50 | required: true 51 | - type: textarea 52 | id: ws-logs 53 | attributes: 54 | label: Лог рабочей области 55 | description: Обязательно, приложите все файлы логов из рабочей области /path/to/workspace/.metadata/*.log и файл trace.log 56 | placeholder: Вставьте файлы лог 57 | validations: 58 | required: true 59 | - type: markdown 60 | attributes: 61 | value: | 62 | [Инструкция по сбору журнала ошибок (лог ошибок)](https://its.1c.ru/db/edtdoc#content:153:hdoc:_top:лог) 63 | 64 | Если файл лога не получается прикрепить, это касается файла `.log`, то переименуйте его в `log.txt` и прикрепите 65 | 66 | - type: input 67 | id: plugin-version 68 | attributes: 69 | label: Версия 1С:SSL-support 70 | description: "Скопируйте и вставте версию плагина из меню: Help -> About 1C:Enterprise Development Tools -> кликните на иконку плагина" 71 | placeholder: например, 0.5.0.141 72 | validations: 73 | required: true 74 | - type: input 75 | id: edt-version 76 | attributes: 77 | label: Версия 1С:EDT 78 | description: "Скопируйте и вставте версию 1C:EDT из меню: Help -> About 1C:Enterprise Development Tools" 79 | placeholder: например, Ruby 2021.2.8.3 80 | validations: 81 | required: false 82 | - type: dropdown 83 | id: os 84 | attributes: 85 | label: Операционная система 86 | description: Укажите, на каких операционных системах ошибка воспроизводится у вас? 87 | multiple: true 88 | options: 89 | - Windows 90 | - macOS 91 | - Linux 92 | validations: 93 | required: false 94 | 95 | - type: textarea 96 | id: additional 97 | attributes: 98 | label: Дополнительная информация 99 | description: | 100 | - Добавьте здесь любую дополнительную информацию о проблеме 101 | - Пример кода на котором воспроизводится ошибка, 102 | - Версию типовой конфигурации 1С + объект в котором воспроизводится проблема 103 | - Ссылки на публичные проекты 1С в котором воспроизводится проблема 104 | - Версия вашей OS если это важно? 105 | - Версия платформы 1С [например] `8.3.18.1563` 106 | placeholder: Что-нибудь еще важное и полезное по этой ошибке? 107 | validations: 108 | required: false 109 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: Группа поддержки в Telegram 4 | url: https://t.me/e1c_edt_plugindev 5 | about: Спросите любой вопрос по разработке плагинов для 1C:EDT 6 | - name: Правила участия в проекте 1C:SSL-support 7 | url: https://github.com/1C-Company/ssl-support/blob/master/CONTRIBUTING.md 8 | about: Перед первым размещением тикета рекомендуем ознакомиться с правилами участия 9 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.yml: -------------------------------------------------------------------------------- 1 | name: Предложение функциональности 2 | description: Предложите вашу идею для проекта поддержки стандартов 3 | title: "Моя идея..." 4 | labels: ["enhancement"] 5 | body: 6 | - type: markdown 7 | attributes: 8 | value: | 9 | Благодарим вас за идею! Не забудьте поставить свой (:+1:) лайк, чтобы другие тоже присоединись! 10 | - type: textarea 11 | id: problem 12 | attributes: 13 | label: Описание проблемы 14 | description: Ясно и четко опишите в чем проблема, затруднения, что вам мешает? 15 | placeholder: Расскажите нам о проблеме/неудобстве! 16 | value: "Есть такая проблема..." 17 | validations: 18 | required: true 19 | - type: textarea 20 | id: solution 21 | attributes: 22 | label: Описание решения проблемы 23 | description: Ясно и четко опишите желаемое решение проблемы. 24 | placeholder: Какое вы представляете себе решиение данной проблемы? 25 | value: "Предлагаю сделать так..." 26 | validations: 27 | required: true 28 | - type: textarea 29 | id: additional 30 | attributes: 31 | label: Дополнительная информация 32 | description: Любой дополнительный контекст, ссылки, скриншоты очень помогают... 33 | placeholder: Что-нибудь еще важное и полезное по этой теме? 34 | validations: 35 | required: false 36 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ## Что сделано 2 | 3 | 4 | 5 | - Опишите изменения функциональности 6 | - Реализованные проверки кода и метаданных 7 | 8 | 9 | 10 | ## Чек-лист 11 | 12 | 16 | 17 | Общее: 18 | - [ ] ветка PR обновлена из `master` и нет конфликтов 19 | - [ ] Тесты-кейсы, JUnit тесты правильного и неправильного состояния 20 | - [ ] Измененные Вами исходники отформатированы в соответствии с конвенцией 21 | - [ ] Авто-аудит (SonarQube и CheckStyle) пройден, покрытие кода хорошее, ошибок нет, плохой код устранен 22 | - [ ] Добавлена запись в [ИСТОРИЮ ИЗМЕНЕНИЯ](CHANGELOG.md), включаемая в пользовательскую документацию плагина 23 | 24 | Если применимо: 25 | - [ ] Пользовательская документация на доп.инструменты написана (на русском) 26 | - [ ] Описание проверок - на двух языках 27 | 28 | ## Закрываемые задачи 29 | 30 | 34 | 35 | Closes #?? 36 | 37 | 42 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: Reusable build with analyze 2 | 3 | on: 4 | workflow_call: 5 | inputs: 6 | analyze: 7 | default: false 8 | required: false 9 | type: boolean 10 | secrets: 11 | sonar_token: 12 | required: true 13 | 14 | jobs: 15 | build: 16 | name: Build 17 | runs-on: ubuntu-latest 18 | env: 19 | PR_NUMBER: "${{ github.event_name == 'pull_request_target' && format(' -Dsonar.pullrequest.key={0}', github.event.pull_request.number) || '' }}" 20 | PR_REF: "${{ github.event_name == 'pull_request_target' && format('refs/pull/{0}/merge', github.event.pull_request.number) || '' }}" 21 | 22 | steps: 23 | - uses: actions/checkout@v2 24 | if: inputs.analyze 25 | with: 26 | fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis 27 | ref: ${{ env.PR_REF }} 28 | - uses: actions/checkout@v2 29 | if: ${{ !inputs.analyze }} 30 | 31 | - name: Set up Maven 3.9.6 32 | uses: s4u/setup-maven-action@v1.12.0 33 | with: 34 | java-version: 17 35 | java-package: jdk+fx 36 | 37 | - name: Free disk space 38 | run: | 39 | sudo swapoff -a 40 | sudo rm -f /swapfile 41 | sudo apt clean 42 | docker rmi $(docker image ls -aq) 43 | df -h 44 | 45 | - name: Cache maven repo 46 | uses: actions/cache@v2 47 | if: github.event_name == 'push' || github.event_name == 'pull_request' || github.event_name == 'pull_request_target' 48 | with: 49 | path: ~/.m2/repository 50 | key: ${{ runner.os }}-maven-latest-${{ hashFiles('**/pom.xml') }}-${{ hashFiles('targets/default/default.target') }} 51 | restore-keys: | 52 | ${{ runner.os }}-maven-latest- 53 | 54 | - name: Cache SonarCloud packages 55 | uses: actions/cache@v2 56 | if: inputs.analyze 57 | with: 58 | path: ~/.sonar/cache 59 | key: ${{ runner.os }}-sonar 60 | restore-keys: ${{ runner.os }}-sonar 61 | 62 | - name: Build with Maven 63 | env: 64 | # Do not start Sonar-scanning for forks without label, and pass fork PR number directly 65 | SONAR_PARAM: "${{ inputs.analyze && format('{0}{1}', 'org.sonarsource.scanner.maven:sonar-maven-plugin:sonar', env.PR_NUMBER) || '' }}" 66 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any 67 | SONAR_TOKEN: ${{ secrets.sonar_token }} 68 | working-directory: ./ 69 | run: | 70 | Xvfb :5 -screen 0 1280x1024x8 -fbdir /tmp & 71 | export DISPLAY=:5 72 | echo "Sonar param: \"${SONAR_PARAM}\"" 73 | mvn clean verify ${SONAR_PARAM} -PSDK,find-bugs -Dtycho.localArtifacts=ignore -Dtycho.p2.httptransport.type=JavaUrl -X -B -V 1C 74 | 75 | - name: Publish Test Report 76 | uses: scacap/action-surefire-report@v1 77 | if: inputs.analyze 78 | with: 79 | github_token: ${{ secrets.GITHUB_TOKEN }} 80 | 81 | - name: Upload repo 82 | uses: actions/upload-artifact@v4 83 | with: 84 | name: ssl-support-repository 85 | path: repositories/com.e1c.ssl.repository/target/repository/ 86 | 87 | - name: Upload SDK repo 88 | uses: actions/upload-artifact@v4 89 | with: 90 | name: ssl-support-repository-sdk 91 | path: repositories/com.e1c.ssl.repository.sdk/target/repository/ 92 | 93 | - name: Upload JaCoCo exec data 94 | uses: actions/upload-artifact@v4 95 | if: always() 96 | with: 97 | name: jacoco 98 | path: | 99 | ./**/target/jacoco.exec 100 | ./**/target/site/jacoco*/ 101 | 102 | - name: Upload test logs on failure 103 | uses: actions/upload-artifact@v4 104 | if: failure() 105 | with: 106 | name: logs 107 | path: ./**/.log 108 | 109 | - name: Upload WS logs on failure 110 | uses: actions/upload-artifact@v4 111 | if: always() 112 | with: 113 | name: ws-logs 114 | path: ./**/target/work/data/.metadata/.log 115 | 116 | -------------------------------------------------------------------------------- /.github/workflows/ci-build.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | - release/* 8 | pull_request: 9 | branches: 10 | - '*' 11 | 12 | jobs: 13 | build: 14 | name: Build 15 | # This build will run on master,release/* push, local PR and PR from forks without label Analyze 16 | if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.event.repository.full_name || !contains(github.event.pull_request.labels.*.name, 'Analyze') 17 | uses: 1C-company/ssl-support/.github/workflows/build.yml@master 18 | with: 19 | analyze: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.event.repository.full_name }} 20 | secrets: 21 | sonar_token: ${{ secrets.SONAR_TOKEN }} 22 | -------------------------------------------------------------------------------- /.github/workflows/fork-pull.yml: -------------------------------------------------------------------------------- 1 | name: CI Analyze in forks 2 | 3 | on: 4 | # This event allows to use Sonar analyzing PR from forks by adding label 5 | pull_request_target: 6 | types: [opened, synchronize, reopened, labeled] 7 | 8 | jobs: 9 | build: 10 | # This build with analyze will run only on forks PR with label "Analyze" 11 | if: github.event.pull_request.head.repo.full_name != github.event.repository.full_name && contains(github.event.pull_request.labels.*.name, 'Analyze') 12 | uses: 1C-company/v8-code-style/.github/workflows/build.yml@master 13 | with: 14 | analyze: true 15 | secrets: 16 | sonar_token: ${{ secrets.SONAR_TOKEN }} 17 | 18 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Build and upload Release Asset 2 | 3 | on: 4 | push: 5 | tags: 6 | - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10 7 | 8 | jobs: 9 | build: 10 | 11 | runs-on: ubuntu-latest 12 | 13 | steps: 14 | - uses: actions/checkout@v2 15 | 16 | - name: Set up JDK 11 17 | uses: actions/setup-java@v1 18 | with: 19 | java-version: 11 20 | java-package: jdk+fx 21 | 22 | - name: Cache maven repo 23 | uses: actions/cache@v1 24 | if: github.event_name == 'push' 25 | with: 26 | path: ~/.m2/repository 27 | key: ${{ runner.os }}-maven-base-${{ hashFiles('**/pom.xml') }}-${{ hashFiles('targets/base/base.target') }} 28 | restore-keys: | 29 | ${{ runner.os }}-maven-base- 30 | 31 | - name: Build with Maven 32 | working-directory: ./ 33 | run: | 34 | Xvfb :5 -screen 0 1280x1024x8 -fbdir /tmp & 35 | export DISPLAY=:5 36 | mvn clean verify -PSDK,find-bugs -Dtycho.localArtifacts=ignore -B -V 37 | 38 | - name: Publish Test Report 39 | uses: scacap/action-surefire-report@v1 40 | if: always() 41 | with: 42 | github_token: ${{ secrets.GITHUB_TOKEN }} 43 | 44 | - name: Upload repo 45 | uses: actions/upload-artifact@v4 46 | with: 47 | name: repo 48 | path: repositories/com.e1c.ssl.repository/target/repository/ 49 | 50 | - name: Upload SDK repo 51 | uses: actions/upload-artifact@v4 52 | with: 53 | name: sdk-repo 54 | path: repositories/com.e1c.ssl.repository.sdk/target/repository/ 55 | 56 | - name: Upload JaCoCo exec data 57 | uses: actions/upload-artifact@v4 58 | if: always() 59 | with: 60 | name: jacoco 61 | path: | 62 | ./**/target/jacoco.exec 63 | ./**/target/site/jacoco*/ 64 | 65 | - name: Upload test logs on failure 66 | uses: actions/upload-artifact@v4 67 | if: failure() 68 | with: 69 | name: logs 70 | path: ./**/.log 71 | 72 | - name: Create Release 73 | id: create_release 74 | uses: actions/create-release@latest 75 | env: 76 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 77 | with: 78 | tag_name: ${{ github.ref }} 79 | release_name: Release ${{ github.ref }} 80 | draft: false 81 | prerelease: true 82 | 83 | - name: Upload Release Asset 84 | uses: actions/upload-release-asset@v1 85 | env: 86 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 87 | with: 88 | upload_url: ${{ steps.create_release.outputs.upload_url }} 89 | asset_path: ./repositories/com.e1c.ssl.repository.sdk/target/com.e1c.ssl.repository.sdk.zip 90 | asset_name: repo.zip 91 | asset_content_type: application/zip -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | #Eclipse project files 2 | .metadata/ 3 | .metricsapp/ 4 | .metricsapp-tests/ 5 | .JETEmitters/ 6 | #Build targets 7 | bin/ 8 | target/ 9 | #Report directories 10 | /reports 11 | */reports 12 | #Mac-specific directory that no other operating system needs. 13 | .DS_Store 14 | .m2/ -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | 1C:SSL support for 1C:EDT - CHANGELOG - ИСТОРИЯ ИЗМЕНЕНИЙ 2 | 3 | ## 0.8.0 4 | 5 | * Переход на EDT 2022.2 6 | 7 | ## 0.7.0 8 | 9 | * Переход на EDT 2022.1 10 | 11 | ## 0.6.0 12 | 13 | * Переход на EDT 2021.3 14 | * NPE при построении конфигурации #90 15 | 16 | ## 0.5.0 17 | 18 | * Переход на EDT 2021.2 19 | * Поддержка функции ОбщегоНазанчения.ФиксированныеДанные() 20 | * Функция ОбщегоНазначения.СкопироватьРекурсивно() корректно учтиывает второй параметр для фиксированных данных 21 | 22 | ## 0.4.0 23 | 24 | * Переход на EDT 2021.1 25 | * Поддержка функции ОбщегоНазначения.СтрокаТаблицыЗначенийВСтруктуру() 26 | * Поддержка функции ОбщегоНазначения.ТаблицаЗначенийВМассив() 27 | * Поддержка функции ОбщегоНазначения.ОписаниеСвойствОбъекта() 28 | * Поддержка функции ОбщегоНазначения.СкопироватьРекурсивно() 29 | * Документация Markdown в составе плагина 30 | * Поддержка функции ОбщегоНазначенияКлиентСервер.СвернутьМассив() 31 | * Поддержка функции ОбщегоНазначенияКлиентСервер.РазностьМассивов() 32 | * Поддержка функции ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве() 33 | * Поддержка функции ОбщегоНазначения.ВыгрузитьКолонку() 34 | * Поддержка функции ОбщегоНазначения.ПроверитьПроведенностьДокументов() 35 | 36 | ## 0.3.0 37 | 38 | * Переход на EDT 2020.6 39 | 40 | ## 0.2.0 41 | 42 | * Контент-ассист для параметров функций модуля `ОбщегоНазначения` `ЗначениеРеквизитаОбъекта` и `ЗначениеРеквизитаОбъектов` - в строковых литералах падсказываются имена реквизитов 43 | * Поддержка вычисления контента строковых литералов в переменных, значений элементов массива, значений ключей структур 44 | * Переход на EDT 2020.5 45 | 46 | ## 0.1.1 47 | 48 | Выпуск бета-версии для 1C:EDT 2020.4 без изменения функциональности 49 | 50 | ## 0.1.0 51 | 52 | Выпуск бета-версии для 1C:EDT 2020.3 53 | -------------------------------------------------------------------------------- /NOTICE.md: -------------------------------------------------------------------------------- 1 | # Notices for ssl-support 2 | 3 | This content is produced and maintained by the 1C-Soft LLC. 4 | 5 | ## Copyright 6 | 7 | All content is the property of the respective authors or their employers. 8 | For more information regarding authorship of content, please consult the 9 | listed source code repository logs. 10 | 11 | ## Declared Project Licenses 12 | 13 | This program and the accompanying materials are made available under 14 | the terms of the Eclipse Public License 2.0 which is available at 15 | https://www.eclipse.org/legal/epl-2.0/ 16 | SPDX-License-Identifier: EPL-2.0 17 | 18 | ## Source Code 19 | 20 | The source code repository is available at https://github.com/1C-Company/ssl-support 21 | 22 | ## Third-party Content 23 | 24 | Eclipse platform 25 | 26 | * License: EPL-1, EPL-2.0 27 | 28 | Google Guice / Inject Core API 3.0 29 | 30 | * License: Apache-2.0 31 | 32 | Google Guava 27.1 33 | 34 | * License: Apache-2.0 35 | 36 | JUnit 4 37 | 38 | * License: Eclipse Public License - v 1.0 39 | -------------------------------------------------------------------------------- /bom/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | bom 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /bom/.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding/=UTF-8 3 | -------------------------------------------------------------------------------- /bom/set_version.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #******************************************************************************* 3 | # Copyright (C) 2020 1C-Soft LLC and others. 4 | # 5 | # This program and the accompanying materials are made 6 | # available under the terms of the Eclipse Public License 2.0 7 | # which is available at https://www.eclipse.org/legal/epl-2.0/ 8 | # 9 | # SPDX-License-Identifier: EPL-2.0 10 | # 11 | # Contributors: 12 | # 1C-Soft LLC - initial API and implementation 13 | #******************************************************************************* 14 | 15 | current_version='0.6.0' 16 | new_version='0.7.0' 17 | next_version='0.8.0' 18 | 19 | #sed "s/\0.1.0-SNAPSHOT\<\/version\>/\0.1.1-SNAPSHOT\<\/version\>/g" pom.xml 20 | find . -name 'pom.xml' -exec sed -i '' "s/${current_version}-SNAPSHOT/${new_version}-SNAPSHOT/g" {} + 21 | find . -name 'pom-rcptt.xml' -exec sed -i '' "s/\${current_version}-SNAPSHOT\<\/version\>/\${new_version}-SNAPSHOT\<\/version\>/g" {} + 22 | 23 | #sed "s/Bundle-Version: 0.2.0.qualifier/Bundle-Version: 0.3.0.qualifier/g" ./com.e1c.ssl/META-INF/MANIFEST.MF 24 | find . -name 'MANIFEST.MF' -exec sed -i '' "s/Bundle-Version: ${current_version}.qualifier/Bundle-Version: ${new_version}.qualifier/g" {} + 25 | 26 | #sed "s/\(com\._1c\.ssl[\.a-z0-9].*;version=\"\)\([\.0-9]*\)\"/\10.3.0\"/g" ./com.e1c.ssl.bsl/META-INF/MANIFEST.MF 27 | find . -name 'MANIFEST.MF' -exec sed -i '' "s/\(com\.e1c\.ssl[\.a-z0-9]*;version=\"\)\([\.0-9]*\)\"/\1${new_version}\"/g" {} + 28 | 29 | #sed "s/\(com\._1c\.ssl[\.a-z.]*;version=\"\[\)\([\.,0-9]*)\"\)/\1zzzzz0.3.0zzzzz,yyyy0.4.0yyyy)\"/g" ./com.e1c.ssl.bsl/META-INF/MANIFEST.MF 30 | find . -name 'MANIFEST.MF' -exec sed -i '' "s/\(com\.e1c\.ssl[\.a-z0-9]*;version=\"\[\)\([\.,0-9]*)\"\)/\1${new_version},${next_version})\"/g" {} + 31 | find . -name 'MANIFEST.MF' -exec sed -i '' "s/\(com\.e1c\.ssl[\.a-z0-9]*;bundle-version=\"\[\)\([\.,0-9]*)\"\)/\1${new_version},${next_version})\"/g" {} + 32 | 33 | #sed "s/0.2.0.qualifier/zzzz0.3.0.qualifierzzzz/g" ./repository/category.xml 34 | find . -name 'category.xml' -exec sed -i '' "s/${current_version}.qualifier/${new_version}.qualifier/g" {} + 35 | 36 | #sed "s/version=\"0.2.0.qualifier\"/version=\"0.3.0.qualifier\"/g" ./com.e1c.ssl.v8.dt.feature/feature.xml 37 | find . -name 'feature.xml' -exec sed -i '' "s/version=\"${current_version}.qualifier\"/version=\"${new_version}.qualifier\"/g" {} + 38 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl.ui/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl.ui/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.e1c.ssl.bsl.ui 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | org.eclipse.pde.ManifestBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.pde.SchemaBuilder 20 | 21 | 22 | 23 | 24 | 25 | org.eclipse.pde.PluginNature 26 | org.eclipse.jdt.core.javanature 27 | 28 | 29 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl.ui/.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding/=UTF-8 3 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl.ui/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=117 4 | org.eclipse.jdt.core.compiler.compliance=17 5 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 6 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 7 | org.eclipse.jdt.core.compiler.source=17 8 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl.ui/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Bundle-ManifestVersion: 2 3 | Bundle-Name: %pluginName 4 | Bundle-SymbolicName: com.e1c.ssl.bsl.ui;singleton:=true 5 | Bundle-Version: 0.7.0.qualifier 6 | Bundle-Activator: com.e1c.ssl.bsl.internal.ui.UiPlugin 7 | Bundle-Vendor: %providerName 8 | Require-Bundle: org.eclipse.ui;bundle-version="[3.0.0,4.0.0)", 9 | org.eclipse.core.runtime;bundle-version="[3.15.0,4.0.0)", 10 | org.eclipse.xtext;bundle-version="[2.18.0,3.0.0)", 11 | org.eclipse.xtext.ui;bundle-version="[2.18.0,3.0.0)", 12 | com.google.inject;bundle-version="[7.0.0,8.0.0)" 13 | Bundle-RequiredExecutionEnvironment: JavaSE-17 14 | Automatic-Module-Name: com.e1c.ssl.bsl.ui 15 | Bundle-ActivationPolicy: lazy 16 | Bundle-Localization: plugin 17 | Import-Package: com._1c.g5.modeling.xtext.scoping;version="[4.1.0,5.0.0)", 18 | com._1c.g5.v8.dt.bsl.documentation.comment;version="[6.0.0,7.0.0)", 19 | com._1c.g5.v8.dt.bsl.model;version="[5.0.0,6.0.0)", 20 | com._1c.g5.v8.dt.bsl.resource;version="[15.0.0,16.0.0)", 21 | com._1c.g5.v8.dt.bsl.ui.contentassist.stringliteral;version="[6.0.0,7.0.0)", 22 | com._1c.g5.v8.dt.bsl.validation.stringliterals;version="[5.0.0,6.0.0)", 23 | com._1c.g5.v8.dt.lcore.naming;version="[1.0.0,2.0.0)", 24 | com._1c.g5.v8.dt.lcore.util;version="[2.0.0,3.0.0)", 25 | com._1c.g5.v8.dt.mcore;version="[7.0.0,8.0.0)", 26 | com._1c.g5.v8.dt.mcore.util;version="[3.10.0,4.0.0)", 27 | com._1c.g5.v8.dt.md.resource;version="[13.0.0,14.0.0)", 28 | com._1c.g5.v8.dt.md.ui.shared;version="[2.1.0,3.0.0)", 29 | com._1c.g5.v8.dt.metadata.mdclass;version="[10.0.0,11.0.0)", 30 | com._1c.g5.v8.dt.platform;version="[7.0.0,8.0.0)", 31 | com._1c.g5.wiring;version="[2.0.0,3.0.0)", 32 | com._1c.g5.wiring.binder;version="[1.1.0,2.0.0)", 33 | com.e1c.ssl.bsl;version="[0.7.0,0.8.0)" 34 | Export-Package: com.e1c.ssl.bsl.ui;version="0.7.0" 35 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl.ui/build.properties: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Copyright (C) 2020, 1C-Soft LLC and others. 3 | # 4 | # This program and the accompanying materials are made 5 | # available under the terms of the Eclipse Public License 2.0 6 | # which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | # 8 | # SPDX-License-Identifier: EPL-2.0 9 | # 10 | # Contributors: 11 | # 1C-Soft LLC - initial API and implementation 12 | ############################################################################### 13 | source.. = src/ 14 | output.. = bin/ 15 | bin.includes = META-INF/,\ 16 | .,\ 17 | plugin.xml,\ 18 | plugin.properties 19 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl.ui/plugin.properties: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Copyright (C) 2020, 1C-Soft LLC and others. 3 | # 4 | # This program and the accompanying materials are made 5 | # available under the terms of the Eclipse Public License 2.0 6 | # which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | # 8 | # SPDX-License-Identifier: EPL-2.0 9 | # 10 | # Contributors: 11 | # 1C-Soft LLC - initial API and implementation 12 | ############################################################################### 13 | pluginName = 1C:SSL module UI support for 1C:EDT 14 | providerName = 1C-Soft LLC 15 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl.ui/plugin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 15 | 16 | 17 | 19 | 21 | 22 | 24 | 25 | 27 | 28 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl.ui/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 14 | 15 | 17 | 4.0.0 18 | 19 | com.e1c.ssl 20 | bundles 21 | 0.7.0-SNAPSHOT 22 | 23 | com.e1c.ssl.bsl.ui 24 | 0.7.0-SNAPSHOT 25 | eclipse-plugin 26 | 27 | 28 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl.ui/src/com/e1c/ssl/bsl/internal/ui/BslStringLiteralProposalImageProviderForMdObject.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2020, 1C-Soft LLC and others. 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | * Contributors: 11 | * 1C-Soft LLC - initial API and implementation 12 | *******************************************************************************/ 13 | package com.e1c.ssl.bsl.internal.ui; 14 | 15 | import org.eclipse.emf.ecore.EClass; 16 | import org.eclipse.swt.graphics.Image; 17 | 18 | import com._1c.g5.v8.dt.bsl.ui.contentassist.stringliteral.IStringLiteralProposalProvider.IBslStringLiteralProposalImageProvider; 19 | import com._1c.g5.v8.dt.md.ui.shared.MdUiSharedImages; 20 | 21 | /** 22 | * Image provider for bsl string literal proposal based {@link EClass} of the MD object 23 | * 24 | * @author Dmitriy Marmyshev 25 | * 26 | */ 27 | public class BslStringLiteralProposalImageProviderForMdObject 28 | implements IBslStringLiteralProposalImageProvider 29 | { 30 | private final EClass eClass; 31 | 32 | public BslStringLiteralProposalImageProviderForMdObject(EClass eClass) 33 | { 34 | this.eClass = eClass; 35 | } 36 | 37 | @Override 38 | public Image getImage() 39 | { 40 | return MdUiSharedImages.getMdClassImage(this.eClass); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl.ui/src/com/e1c/ssl/bsl/internal/ui/ExternalDependenciesModule.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2020, 1C-Soft LLC and others. 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | * Contributors: 11 | * 1C-Soft LLC - initial API and implementation 12 | *******************************************************************************/ 13 | package com.e1c.ssl.bsl.internal.ui; 14 | 15 | import org.eclipse.core.runtime.Plugin; 16 | import org.eclipse.xtext.naming.IQualifiedNameProvider; 17 | 18 | import com._1c.g5.wiring.AbstractServiceAwareModule; 19 | 20 | /** 21 | * Guice module with external services bindings. 22 | * 23 | * @author Dmitriy Marmyshev 24 | * 25 | */ 26 | class ExternalDependenciesModule 27 | extends AbstractServiceAwareModule 28 | { 29 | 30 | ExternalDependenciesModule(Plugin plugin) 31 | { 32 | super(plugin); 33 | } 34 | 35 | @Override 36 | protected void doConfigure() 37 | { 38 | bind(IQualifiedNameProvider.class).toService(); 39 | } 40 | 41 | } 42 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl.ui/src/com/e1c/ssl/bsl/internal/ui/UiExecutableExtensionFactory.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2020, 1C-Soft LLC and others. 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | * Contributors: 11 | * 1C-Soft LLC - initial API and implementation 12 | *******************************************************************************/ 13 | package com.e1c.ssl.bsl.internal.ui; 14 | 15 | import org.osgi.framework.Bundle; 16 | 17 | import com._1c.g5.wiring.AbstractGuiceAwareExecutableExtensionFactory; 18 | import com.google.inject.Injector; 19 | 20 | /** 21 | * Guice module aware executable extension factory for UI plugin. 22 | * 23 | * @author Dmitriy Marmyshev 24 | * 25 | */ 26 | public class UiExecutableExtensionFactory 27 | extends AbstractGuiceAwareExecutableExtensionFactory 28 | { 29 | @Override 30 | protected Bundle getBundle() 31 | { 32 | return UiPlugin.getDefault().getBundle(); 33 | } 34 | 35 | @Override 36 | protected Injector getInjector() 37 | { 38 | return UiPlugin.getDefault().getInjector(); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.e1c.ssl.bsl 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | org.eclipse.pde.ManifestBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.pde.SchemaBuilder 20 | 21 | 22 | 23 | 24 | 25 | org.eclipse.pde.PluginNature 26 | org.eclipse.jdt.core.javanature 27 | 28 | 29 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl/.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding/=UTF-8 3 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=17 4 | org.eclipse.jdt.core.compiler.compliance=17 5 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 6 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 7 | org.eclipse.jdt.core.compiler.source=17 8 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Bundle-ManifestVersion: 2 3 | Bundle-Name: %pluginName 4 | Bundle-SymbolicName: com.e1c.ssl.bsl;singleton:=true 5 | Bundle-Version: 0.7.0.qualifier 6 | Bundle-Activator: com.e1c.ssl.bsl.internal.BslPlugin 7 | Bundle-Vendor: %providerName 8 | Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.15.0,4.0.0)", 9 | org.eclipse.emf.common;bundle-version="[2.16.0,3.0.0)", 10 | org.eclipse.emf.ecore;bundle-version="[2.18.0,3.0.0)", 11 | org.eclipse.xtext;bundle-version="[2.18.0,3.0.0)", 12 | org.eclipse.core.resources;bundle-version="[3.13.400,4.0.0)", 13 | org.eclipse.jdt.annotation;bundle-version="[2.2.0,3.0.0)";resolution:=optional 14 | Bundle-RequiredExecutionEnvironment: JavaSE-17 15 | Automatic-Module-Name: com.e1c.ssl.bsl 16 | Bundle-Localization: plugin 17 | Bundle-ActivationPolicy: lazy 18 | Import-Package: com._1c.g5.v8.bm.core;version="[9.0.0,10.0.0)", 19 | com._1c.g5.v8.bm.integration;version="[11.0.0,12.0.0)", 20 | com._1c.g5.v8.dt.bsl.model;version="[5.0.0,6.0.0)", 21 | com._1c.g5.v8.dt.bsl.model.util;version="[4.0.0,5.0.0)", 22 | com._1c.g5.v8.dt.bsl.resource;version="[15.0.0,16.0.0)", 23 | com._1c.g5.v8.dt.bsl.typesystem;version="[10.0.0,11.0.0)", 24 | com._1c.g5.v8.dt.bsl.typesystem.util;version="[11.0.0,12.0.0)", 25 | com._1c.g5.v8.dt.core.platform;version="[11.0.0,12.0.0)", 26 | com._1c.g5.v8.dt.mcore;version="[7.0.0,8.0.0)", 27 | com._1c.g5.v8.dt.mcore.util;version="[3.0.0,4.0.0)", 28 | com._1c.g5.v8.dt.md.resource;version="[13.0.0,14.0.0)", 29 | com._1c.g5.v8.dt.platform;version="[7.0.0,8.0.0)", 30 | com._1c.g5.v8.dt.platform.version;version="[2.0.0,3.0.0)", 31 | com._1c.g5.wiring;version="[2.0.0,3.0.0)", 32 | com._1c.g5.wiring.binder;version="[1.0.0,2.0.0)" 33 | Export-Package: com.e1c.ssl.bsl;version="0.7.0"; 34 | uses:="com._1c.g5.v8.dt.mcore, 35 | com._1c.g5.v8.dt.bsl.typesystem, 36 | com._1c.g5.v8.dt.bsl.resource, 37 | com._1c.g5.v8.dt.bsl.model" 38 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl/build.properties: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Copyright (C) 2020, 1C-Soft LLC and others. 3 | # 4 | # This program and the accompanying materials are made 5 | # available under the terms of the Eclipse Public License 2.0 6 | # which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | # 8 | # SPDX-License-Identifier: EPL-2.0 9 | # 10 | # Contributors: 11 | # 1C-Soft LLC - initial API and implementation 12 | ############################################################################### 13 | source.. = src/ 14 | output.. = bin/ 15 | bin.includes = META-INF/,\ 16 | .,\ 17 | plugin.xml,\ 18 | plugin.properties 19 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl/plugin.properties: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Copyright (C) 2020, 1C-Soft LLC and others. 3 | # 4 | # This program and the accompanying materials are made 5 | # available under the terms of the Eclipse Public License 2.0 6 | # which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | # 8 | # SPDX-License-Identifier: EPL-2.0 9 | # 10 | # Contributors: 11 | # 1C-Soft LLC - initial API and implementation 12 | ############################################################################### 13 | pluginName = 1C:SSL module support for 1C:EDT 14 | providerName = 1C-Soft LLC 15 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl/plugin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 15 | 16 | 17 | 19 | 23 | 24 | 28 | 29 | 33 | 34 | 38 | 39 | 43 | 44 | 48 | 49 | 53 | 54 | 58 | 59 | 63 | 64 | 68 | 69 | 73 | 74 | 78 | 79 | 83 | 84 | 88 | 89 | 93 | 94 | 98 | 99 | 103 | 104 | 105 | 106 | 107 | 108 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 14 | 15 | 17 | 4.0.0 18 | 19 | com.e1c.ssl 20 | bundles 21 | 0.7.0-SNAPSHOT 22 | 23 | com.e1c.ssl.bsl 24 | 0.7.0-SNAPSHOT 25 | eclipse-plugin 26 | 27 | 28 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl/src/com/e1c/ssl/bsl/AbstractCommonModuleObjectAttributeValueTypesComputer.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2020, 1C-Soft LLC and others. 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | * Contributors: 11 | * 1C-Soft LLC - initial API and implementation 12 | *******************************************************************************/ 13 | package com.e1c.ssl.bsl; 14 | 15 | import java.util.List; 16 | import java.util.stream.Collectors; 17 | 18 | import org.eclipse.xtext.EcoreUtil2; 19 | 20 | import com._1c.g5.v8.dt.bsl.model.Expression; 21 | import com._1c.g5.v8.dt.bsl.resource.DynamicFeatureAccessComputer; 22 | import com._1c.g5.v8.dt.bsl.resource.TypesComputer; 23 | import com._1c.g5.v8.dt.mcore.Environmental; 24 | import com._1c.g5.v8.dt.mcore.Type; 25 | import com._1c.g5.v8.dt.mcore.TypeItem; 26 | import com._1c.g5.v8.dt.mcore.util.McoreUtil; 27 | import com._1c.g5.v8.dt.platform.IEObjectTypeNames; 28 | import com._1c.g5.v8.dt.platform.version.IRuntimeVersionSupport; 29 | 30 | /** 31 | * Abstract extension computer of invocation types of 1C:SSL API module functions that 32 | * returns actual types for the ref type of link and attribute names. 33 | * 34 | * @author Dmitriy Marmyshev 35 | * 36 | */ 37 | public abstract class AbstractCommonModuleObjectAttributeValueTypesComputer 38 | extends AbstractCommonModuleCommonFunctionTypesComputer 39 | { 40 | private final TypesComputer typesComputer; 41 | 42 | private final DynamicFeatureAccessComputer dynamicFeatureAccessComputer; 43 | 44 | protected final IRuntimeVersionSupport versionSupport; 45 | 46 | /** 47 | * Instantiates a new abstract common module object attribute value types computer. 48 | * 49 | * @param typesComputer the types computer, cannot be {@code null}. 50 | * @param versionSupport the version support, cannot be {@code null}. 51 | * @param dynamicFeatureAccessComputer the dynamic feature access computer, cannot be {@code null}. 52 | */ 53 | protected AbstractCommonModuleObjectAttributeValueTypesComputer(TypesComputer typesComputer, 54 | IRuntimeVersionSupport versionSupport, DynamicFeatureAccessComputer dynamicFeatureAccessComputer) 55 | { 56 | super(typesComputer); 57 | this.typesComputer = typesComputer; 58 | this.dynamicFeatureAccessComputer = dynamicFeatureAccessComputer; 59 | this.versionSupport = versionSupport; 60 | 61 | } 62 | 63 | /** 64 | * Gets the dynamic feature access computer. 65 | * 66 | * @return the dynamic feature access computer 67 | */ 68 | protected DynamicFeatureAccessComputer getDynamicFeatureAccessComputer() 69 | { 70 | return dynamicFeatureAccessComputer; 71 | } 72 | 73 | /** 74 | * Gets the returning ref types from array containing types. 75 | * 76 | * @param expr the expression to compute ref types 77 | * @return the return ref types 78 | */ 79 | protected List getReturnArrayRefTypes(Expression expr) 80 | { 81 | Environmental environmental = EcoreUtil2.getContainerOfType(expr, Environmental.class); 82 | List paramTypes = typesComputer.computeTypes(expr, environmental.environments()); 83 | //@formatter:off 84 | return paramTypes.stream() 85 | .filter(Type.class::isInstance) 86 | .map(Type.class::cast) 87 | .filter(t -> (IEObjectTypeNames.ARRAY.equals(McoreUtil.getTypeName(t)) 88 | || IEObjectTypeNames.FIXED_ARRAY.equals(McoreUtil.getTypeName(t))) 89 | && t.getCollectionElementTypes() != null 90 | && !t.getCollectionElementTypes().allTypes().isEmpty()) 91 | .flatMap(t -> t.getCollectionElementTypes().allTypes().stream()) 92 | .filter(this::isRefType) 93 | .map(TypeItem.class::cast) 94 | .collect(Collectors.toList()); 95 | //@formatter:on 96 | } 97 | } 98 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl/src/com/e1c/ssl/bsl/CommonFunctionArraysDifferenceTypesComputer.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021, 1C-Soft LLC and others. 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | * Contributors: 11 | * 1C-Soft LLC - initial API and implementation 12 | *******************************************************************************/ 13 | package com.e1c.ssl.bsl; 14 | 15 | import java.util.Collections; 16 | import java.util.List; 17 | 18 | import org.eclipse.xtext.EcoreUtil2; 19 | 20 | import com._1c.g5.v8.dt.bsl.model.Expression; 21 | import com._1c.g5.v8.dt.bsl.model.Invocation; 22 | import com._1c.g5.v8.dt.bsl.resource.DynamicFeatureAccessComputer; 23 | import com._1c.g5.v8.dt.bsl.resource.TypesComputer; 24 | import com._1c.g5.v8.dt.mcore.Environmental; 25 | import com._1c.g5.v8.dt.mcore.TypeItem; 26 | import com._1c.g5.v8.dt.platform.version.IRuntimeVersionSupport; 27 | import com.google.inject.Inject; 28 | 29 | /** 30 | * Extension computer of invocation types of 1C:SSL API module function {@code CommonClientServer.ArraysDifference()} 31 | * that returns the typed array. 32 | * 33 | * @author Artem Iliukhin 34 | * 35 | */ 36 | public class CommonFunctionArraysDifferenceTypesComputer 37 | extends AbstractCommonModuleObjectAttributeValueTypesComputer 38 | { 39 | private final TypesComputer typesComputer; 40 | 41 | @Inject 42 | protected CommonFunctionArraysDifferenceTypesComputer(TypesComputer typesComputer, 43 | IRuntimeVersionSupport versionSupport, DynamicFeatureAccessComputer dynamicFeatureAccessComputer) 44 | { 45 | super(typesComputer, versionSupport, dynamicFeatureAccessComputer); 46 | this.typesComputer = typesComputer; 47 | } 48 | 49 | @Override 50 | public List getTypes(Invocation inv) 51 | { 52 | if (inv.getParams().size() != 2) 53 | return Collections.emptyList(); 54 | 55 | if (!isValidClientServerModuleNameInvocation(inv)) 56 | return Collections.emptyList(); 57 | 58 | Expression expr = inv.getParams().get(0); 59 | if (expr != null) 60 | { 61 | Environmental envs = EcoreUtil2.getContainerOfType(expr, Environmental.class); 62 | return typesComputer.computeTypes(expr, envs.environments()); 63 | } 64 | 65 | return Collections.emptyList(); 66 | } 67 | 68 | } 69 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl/src/com/e1c/ssl/bsl/CommonFunctionCheckDocumentsPostingTypesComputer.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021, 1C-Soft LLC and others. 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | * Contributors: 11 | * 1C-Soft LLC - initial API and implementation 12 | *******************************************************************************/ 13 | package com.e1c.ssl.bsl; 14 | 15 | import java.util.Collections; 16 | import java.util.List; 17 | 18 | import org.eclipse.xtext.EcoreUtil2; 19 | 20 | import com._1c.g5.v8.dt.bsl.model.Expression; 21 | import com._1c.g5.v8.dt.bsl.model.Invocation; 22 | import com._1c.g5.v8.dt.bsl.resource.DynamicFeatureAccessComputer; 23 | import com._1c.g5.v8.dt.bsl.resource.TypesComputer; 24 | import com._1c.g5.v8.dt.mcore.Environmental; 25 | import com._1c.g5.v8.dt.mcore.TypeItem; 26 | import com._1c.g5.v8.dt.platform.version.IRuntimeVersionSupport; 27 | import com.google.inject.Inject; 28 | 29 | /** 30 | * Extension computer of invocation types of 1C:SSL API module function {@code Common.CheckDocumentsPosting()} that 31 | * returns the typed array. 32 | * 33 | * @author Artem Iliukhin 34 | * 35 | */ 36 | public class CommonFunctionCheckDocumentsPostingTypesComputer 37 | extends AbstractCommonModuleObjectAttributeValueTypesComputer 38 | { 39 | private final TypesComputer typesComputer; 40 | 41 | @Inject 42 | public CommonFunctionCheckDocumentsPostingTypesComputer(TypesComputer typesComputer, 43 | IRuntimeVersionSupport versionSupport, DynamicFeatureAccessComputer dynamicFeatureAccessComputer) 44 | { 45 | super(typesComputer, versionSupport, dynamicFeatureAccessComputer); 46 | this.typesComputer = typesComputer; 47 | } 48 | 49 | @Override 50 | public List getTypes(Invocation inv) 51 | { 52 | 53 | if (inv.getParams().size() != 1) 54 | return Collections.emptyList(); 55 | 56 | if (!isValidModuleNameInvocation(inv)) 57 | return Collections.emptyList(); 58 | 59 | Expression expr = inv.getParams().get(0); 60 | if (expr != null) 61 | { 62 | Environmental envs = EcoreUtil2.getContainerOfType(expr, Environmental.class); 63 | return typesComputer.computeTypes(expr, envs.environments()); 64 | } 65 | 66 | return Collections.emptyList(); 67 | 68 | } 69 | 70 | } 71 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl/src/com/e1c/ssl/bsl/CommonFunctionCollapseArrayTypesComputer.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021, 1C-Soft LLC and others. 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | * Contributors: 11 | * 1C-Soft LLC - initial API and implementation 12 | *******************************************************************************/ 13 | package com.e1c.ssl.bsl; 14 | 15 | import java.util.Collections; 16 | import java.util.List; 17 | 18 | import org.eclipse.xtext.EcoreUtil2; 19 | 20 | import com._1c.g5.v8.dt.bsl.model.Expression; 21 | import com._1c.g5.v8.dt.bsl.model.Invocation; 22 | import com._1c.g5.v8.dt.bsl.resource.DynamicFeatureAccessComputer; 23 | import com._1c.g5.v8.dt.bsl.resource.TypesComputer; 24 | import com._1c.g5.v8.dt.mcore.Environmental; 25 | import com._1c.g5.v8.dt.mcore.TypeItem; 26 | import com._1c.g5.v8.dt.platform.version.IRuntimeVersionSupport; 27 | import com.google.inject.Inject; 28 | 29 | /** 30 | * Extension computer of invocation types of 1C:SSL API module function {@code CommonClientServer.CollapseArray()} that 31 | * returns the typed array. 32 | * 33 | * @author Artem Iliukhin 34 | * 35 | */ 36 | public class CommonFunctionCollapseArrayTypesComputer 37 | extends AbstractCommonModuleObjectAttributeValueTypesComputer 38 | { 39 | private final TypesComputer typesComputer; 40 | 41 | @Inject 42 | public CommonFunctionCollapseArrayTypesComputer(TypesComputer typesComputer, IRuntimeVersionSupport versionSupport, 43 | DynamicFeatureAccessComputer dynamicFeatureAccessComputer) 44 | { 45 | super(typesComputer, versionSupport, dynamicFeatureAccessComputer); 46 | this.typesComputer = typesComputer; 47 | } 48 | 49 | @Override 50 | public List getTypes(Invocation inv) 51 | { 52 | if (inv.getParams().size() != 1) 53 | return Collections.emptyList(); 54 | 55 | if (!isValidClientServerModuleNameInvocation(inv)) 56 | return Collections.emptyList(); 57 | 58 | Expression expr = inv.getParams().get(0); 59 | if (expr != null) 60 | { 61 | Environmental envs = EcoreUtil2.getContainerOfType(expr, Environmental.class); 62 | return typesComputer.computeTypes(expr, envs.environments()); 63 | } 64 | 65 | return Collections.emptyList(); 66 | 67 | } 68 | 69 | } 70 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl/src/com/e1c/ssl/bsl/CommonFunctionObjectAttributeValueTypesComputer.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2020, 1C-Soft LLC and others. 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | * Contributors: 11 | * 1C-Soft LLC - initial API and implementation 12 | *******************************************************************************/ 13 | package com.e1c.ssl.bsl; 14 | 15 | import java.util.Collection; 16 | import java.util.Collections; 17 | import java.util.HashSet; 18 | import java.util.List; 19 | import java.util.Set; 20 | 21 | import org.eclipse.emf.ecore.EObject; 22 | import org.eclipse.xtext.util.Pair; 23 | 24 | import com._1c.g5.v8.dt.bsl.model.Invocation; 25 | import com._1c.g5.v8.dt.bsl.model.StringLiteral; 26 | import com._1c.g5.v8.dt.bsl.resource.DynamicFeatureAccessComputer; 27 | import com._1c.g5.v8.dt.bsl.resource.TypesComputer; 28 | import com._1c.g5.v8.dt.mcore.Property; 29 | import com._1c.g5.v8.dt.mcore.TypeItem; 30 | import com._1c.g5.v8.dt.platform.version.IRuntimeVersionSupport; 31 | import com.google.inject.Inject; 32 | 33 | /** 34 | * Extension computer of invocation types of 1C:SSL API module function {@code Common.ObjectsAttributeValue()} that 35 | * returns actual types for the ref type of link and attribute names. 36 | * 37 | * @author Dmitriy Marmyshev 38 | * 39 | */ 40 | public class CommonFunctionObjectAttributeValueTypesComputer 41 | extends AbstractCommonModuleObjectAttributeValueTypesComputer 42 | { 43 | private final ExpressionValueComputer expressionValueComputer; 44 | 45 | @Inject 46 | public CommonFunctionObjectAttributeValueTypesComputer(TypesComputer typesComputer, 47 | IRuntimeVersionSupport versionSupport, DynamicFeatureAccessComputer dynamicFeatureAccessComputer, 48 | ExpressionValueComputer expressionValueComputer) 49 | { 50 | super(typesComputer, versionSupport, dynamicFeatureAccessComputer); 51 | this.expressionValueComputer = expressionValueComputer; 52 | } 53 | 54 | @Override 55 | public List getTypes(Invocation inv) 56 | { 57 | if (inv.getParams().size() < 2) 58 | return Collections.emptyList(); 59 | 60 | Pair> paramContent = 61 | expressionValueComputer.getExpressionContent(inv.getParams().get(1)); 62 | 63 | if (paramContent == null) 64 | return Collections.emptyList(); 65 | 66 | if (isValidModuleNameInvocation(inv)) 67 | { 68 | return computeTypes(inv, paramContent.getFirst()); 69 | } 70 | return Collections.emptyList(); 71 | } 72 | 73 | protected List computeTypes(Invocation inv, String paramContent) 74 | { 75 | 76 | List refTypes = getReturnRefTypes(inv.getParams().get(0)); 77 | 78 | if (refTypes.isEmpty()) 79 | return Collections.emptyList(); 80 | 81 | String content = paramContent.trim().replace(System.lineSeparator(), ""); //$NON-NLS-1$ 82 | if (content.isEmpty()) 83 | return Collections.emptyList(); 84 | 85 | String[] properties = content.split("\\.", -1); //$NON-NLS-1$ 86 | 87 | return getTypeByPropertyName(refTypes, properties, inv); 88 | } 89 | 90 | protected List getTypeByPropertyName(Collection refTypes, String[] properties, EObject context) 91 | { 92 | Set result = new HashSet<>(); 93 | 94 | if (properties == null || properties.length == 0 || properties[0] == null) 95 | { 96 | return List.copyOf(result); 97 | } 98 | String propertyName = properties[0]; 99 | 100 | Collection, TypeItem>> all = 101 | getDynamicFeatureAccessComputer().getAllProperties(refTypes, context.eResource()); 102 | 103 | for (Pair, TypeItem> pair : all) 104 | { 105 | for (Property entry : pair.getFirst()) 106 | { 107 | if (!entry.getTypes().isEmpty() && (propertyName.equalsIgnoreCase(entry.getNameRu()) 108 | || propertyName.equalsIgnoreCase(entry.getName()))) 109 | { 110 | result.addAll(entry.getTypes()); 111 | } 112 | } 113 | } 114 | 115 | if (properties.length > 1) 116 | { 117 | String[] other = new String[properties.length - 1]; 118 | System.arraycopy(properties, 1, other, 0, properties.length - 1); 119 | return getTypeByPropertyName(result, other, context); 120 | 121 | } 122 | else 123 | { 124 | return List.copyOf(result); 125 | } 126 | 127 | } 128 | } 129 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl/src/com/e1c/ssl/bsl/CommonFunctionObjectsAttributeValueTypesComputer.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2020, 1C-Soft LLC and others. 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | * Contributors: 11 | * 1C-Soft LLC - initial API and implementation 12 | *******************************************************************************/ 13 | package com.e1c.ssl.bsl; 14 | 15 | import java.util.Collections; 16 | import java.util.List; 17 | 18 | import com._1c.g5.v8.dt.bsl.model.Invocation; 19 | import com._1c.g5.v8.dt.bsl.resource.DynamicFeatureAccessComputer; 20 | import com._1c.g5.v8.dt.bsl.resource.TypesComputer; 21 | import com._1c.g5.v8.dt.mcore.TypeItem; 22 | import com._1c.g5.v8.dt.platform.version.IRuntimeVersionSupport; 23 | import com.google.inject.Inject; 24 | 25 | /** 26 | * Extension computer of invocation types of 1C:SSL API module function {@code Common.ObjectsAttributeValue()} that 27 | * returns actual types for the ref type of link and attribute names. 28 | * 29 | * @author Dmitriy Marmyshev 30 | * 31 | */ 32 | public class CommonFunctionObjectsAttributeValueTypesComputer 33 | extends CommonFunctionObjectAttributeValueTypesComputer 34 | { 35 | private final TypesComputerHelper typesComputerHelper; 36 | 37 | @Inject 38 | public CommonFunctionObjectsAttributeValueTypesComputer(TypesComputer typesComputer, 39 | IRuntimeVersionSupport versionSupport, DynamicFeatureAccessComputer dynamicFeatureAccessComputer, 40 | ExpressionValueComputer expressionValueComputer, TypesComputerHelper typesComputerHelper) 41 | { 42 | super(typesComputer, versionSupport, dynamicFeatureAccessComputer, expressionValueComputer); 43 | this.typesComputerHelper = typesComputerHelper; 44 | } 45 | 46 | @Override 47 | protected List computeTypes(Invocation inv, String paramContent) 48 | { 49 | 50 | List refTypes = getReturnArrayRefTypes(inv.getParams().get(0)); 51 | 52 | if (refTypes.isEmpty()) 53 | return Collections.emptyList(); 54 | 55 | String content = paramContent.trim().replace(System.lineSeparator(), ""); //$NON-NLS-1$ 56 | if (content.isEmpty()) 57 | return Collections.emptyList(); 58 | 59 | String[] properties = content.split("\\.", -1); //$NON-NLS-1$ 60 | 61 | List types = getTypeByPropertyName(refTypes, properties, inv); 62 | if (!types.isEmpty()) 63 | { 64 | return typesComputerHelper.createCustomMapType(refTypes, types, inv); 65 | 66 | } 67 | return Collections.emptyList(); 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl/src/com/e1c/ssl/bsl/CommonFunctionObjectsAttributesValuesTypesComputer.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2020, 1C-Soft LLC and others. 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | * Contributors: 11 | * 1C-Soft LLC - initial API and implementation 12 | *******************************************************************************/ 13 | package com.e1c.ssl.bsl; 14 | 15 | import java.util.Collections; 16 | import java.util.List; 17 | 18 | import com._1c.g5.v8.dt.bsl.model.Expression; 19 | import com._1c.g5.v8.dt.bsl.model.Invocation; 20 | import com._1c.g5.v8.dt.bsl.resource.DynamicFeatureAccessComputer; 21 | import com._1c.g5.v8.dt.bsl.resource.TypesComputer; 22 | import com._1c.g5.v8.dt.mcore.TypeItem; 23 | import com._1c.g5.v8.dt.platform.version.IRuntimeVersionSupport; 24 | import com.google.inject.Inject; 25 | 26 | /** 27 | * Extension computer of invocation types of 1C:SSL API module function {@code Common.ObjectsAttributeValue()} that 28 | * returns actual types for the ref type of link and attribute names. 29 | * 30 | * @author Dmitriy Marmyshev 31 | * 32 | */ 33 | public class CommonFunctionObjectsAttributesValuesTypesComputer 34 | extends CommonFunctionObjectAttributesValuesTypesComputer 35 | { 36 | 37 | private final TypesComputerHelper typesComputerHelper; 38 | 39 | @Inject 40 | public CommonFunctionObjectsAttributesValuesTypesComputer(TypesComputer typesComputer, 41 | IRuntimeVersionSupport versionSupport, DynamicFeatureAccessComputer dynamicFeatureAccessComputer, 42 | ExpressionValueComputer expressionValueComputer, TypesComputerHelper typesComputerHelper) 43 | { 44 | super(typesComputer, versionSupport, dynamicFeatureAccessComputer, expressionValueComputer); 45 | this.typesComputerHelper = typesComputerHelper; 46 | } 47 | 48 | @Override 49 | protected List computeTypes(Invocation inv, List refTypes, String paramContent) 50 | { 51 | List types = super.computeTypes(inv, refTypes, paramContent); 52 | if (!types.isEmpty()) 53 | { 54 | return typesComputerHelper.createCustomMapType(refTypes, types, inv); 55 | 56 | } 57 | return Collections.emptyList(); 58 | } 59 | 60 | @Override 61 | protected List getReturnRefTypes(Expression expr) 62 | { 63 | return getReturnArrayRefTypes(expr); 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl/src/com/e1c/ssl/bsl/CommonFunctionValueInArrayTypesComputer.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021, 1C-Soft LLC and others. 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | * Contributors: 11 | * 1C-Soft LLC - initial API and implementation 12 | *******************************************************************************/ 13 | package com.e1c.ssl.bsl; 14 | 15 | import java.util.Collections; 16 | import java.util.List; 17 | 18 | import org.eclipse.xtext.EcoreUtil2; 19 | 20 | import com._1c.g5.v8.dt.bsl.model.Expression; 21 | import com._1c.g5.v8.dt.bsl.model.ExtendedCollectionType; 22 | import com._1c.g5.v8.dt.bsl.model.Invocation; 23 | import com._1c.g5.v8.dt.bsl.resource.DynamicFeatureAccessComputer; 24 | import com._1c.g5.v8.dt.bsl.resource.TypesComputer; 25 | import com._1c.g5.v8.dt.bsl.typesystem.util.TypeSystemUtil; 26 | import com._1c.g5.v8.dt.mcore.Environmental; 27 | import com._1c.g5.v8.dt.mcore.McorePackage; 28 | import com._1c.g5.v8.dt.mcore.TypeItem; 29 | import com._1c.g5.v8.dt.platform.IEObjectProvider; 30 | import com._1c.g5.v8.dt.platform.version.IRuntimeVersionSupport; 31 | import com._1c.g5.v8.dt.platform.version.Version; 32 | import com.google.common.collect.Lists; 33 | import com.google.inject.Inject; 34 | 35 | /** 36 | * Extension computer of invocation types of 1C:SSL API module function {@code CommonClientServer.ValueInArray()} that 37 | * returns the typed array. 38 | * 39 | * @author Artem Iliukhin 40 | * 41 | */ 42 | public class CommonFunctionValueInArrayTypesComputer 43 | extends AbstractCommonModuleObjectAttributeValueTypesComputer 44 | { 45 | private final TypesComputer typesComputer; 46 | 47 | @Inject 48 | public CommonFunctionValueInArrayTypesComputer(TypesComputer typesComputer, IRuntimeVersionSupport versionSupport, 49 | DynamicFeatureAccessComputer dynamicFeatureAccessComputer) 50 | { 51 | super(typesComputer, versionSupport, dynamicFeatureAccessComputer); 52 | this.typesComputer = typesComputer; 53 | } 54 | 55 | @Override 56 | public List getTypes(Invocation inv) 57 | { 58 | if (inv.getParams().size() != 1) 59 | return Collections.emptyList(); 60 | 61 | if (!isValidClientServerModuleNameInvocation(inv)) 62 | return Collections.emptyList(); 63 | 64 | Expression expr = inv.getParams().get(0); 65 | if (expr == null) 66 | return Collections.emptyList(); 67 | 68 | Environmental envs = EcoreUtil2.getContainerOfType(expr, Environmental.class); 69 | 70 | List types = typesComputer.computeTypes(expr, envs.environments()); 71 | if (types.isEmpty()) 72 | return Collections.emptyList(); 73 | 74 | IEObjectProvider provider = IEObjectProvider.Registry.INSTANCE.get(McorePackage.Literals.TYPE_ITEM, 75 | versionSupport.getRuntimeVersionOrDefault(inv, Version.LATEST)); 76 | 77 | ExtendedCollectionType extendedType = TypeSystemUtil.createExtendedArrayType(types, provider, inv); 78 | 79 | return Lists.newArrayList(extendedType); 80 | 81 | } 82 | 83 | } 84 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl/src/com/e1c/ssl/bsl/internal/ExecutableExtensionFactory.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2020, 1C-Soft LLC and others. 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | * Contributors: 11 | * 1C-Soft LLC - initial API and implementation 12 | *******************************************************************************/ 13 | package com.e1c.ssl.bsl.internal; 14 | 15 | import org.osgi.framework.Bundle; 16 | 17 | import com._1c.g5.wiring.AbstractGuiceAwareExecutableExtensionFactory; 18 | import com.google.inject.Injector; 19 | 20 | /** 21 | * Executable Extension Factory for core plugin. 22 | * 23 | * @author Dmitriy Marmyshev 24 | * 25 | */ 26 | public class ExecutableExtensionFactory 27 | extends AbstractGuiceAwareExecutableExtensionFactory 28 | { 29 | 30 | @Override 31 | protected Bundle getBundle() 32 | { 33 | return BslPlugin.getDefault().getBundle(); 34 | } 35 | 36 | @Override 37 | protected Injector getInjector() 38 | { 39 | return BslPlugin.getDefault().getInjector(); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.bsl/src/com/e1c/ssl/bsl/internal/ExternalDependenciesModule.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2020, 1C-Soft LLC and others. 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | * Contributors: 11 | * 1C-Soft LLC - initial API and implementation 12 | *******************************************************************************/ 13 | package com.e1c.ssl.bsl.internal; 14 | 15 | import org.eclipse.core.runtime.Plugin; 16 | import org.eclipse.emf.common.util.URI; 17 | import org.eclipse.xtext.resource.IResourceServiceProvider; 18 | import org.eclipse.xtext.scoping.IScopeProvider; 19 | 20 | import com._1c.g5.v8.dt.bsl.resource.DynamicFeatureAccessComputer; 21 | import com._1c.g5.v8.dt.bsl.resource.TypesComputer; 22 | import com._1c.g5.v8.dt.bsl.typesystem.ValueTableDynamicContextDefProvider; 23 | import com._1c.g5.v8.dt.core.platform.IBmModelManager; 24 | import com._1c.g5.v8.dt.core.platform.IResourceLookup; 25 | import com._1c.g5.v8.dt.platform.version.IRuntimeVersionSupport; 26 | import com._1c.g5.wiring.AbstractServiceAwareModule; 27 | 28 | /** 29 | * Guice module with external services bindings. 30 | * 31 | * @author Dmitriy Marmyshev 32 | * 33 | */ 34 | class ExternalDependenciesModule 35 | extends AbstractServiceAwareModule 36 | { 37 | 38 | ExternalDependenciesModule(Plugin plugin) 39 | { 40 | super(plugin); 41 | } 42 | 43 | @Override 44 | protected void doConfigure() 45 | { 46 | // V8 DT 47 | bind(IResourceLookup.class).toService(); 48 | bind(IRuntimeVersionSupport.class).toService(); 49 | bind(IBmModelManager.class).toService(); 50 | 51 | URI uri = URI.createURI("*.bsl"); //$NON-NLS-1$ 52 | final IResourceServiceProvider rsp = IResourceServiceProvider.Registry.INSTANCE.getResourceServiceProvider(uri); 53 | 54 | bind(TypesComputer.class).toProvider(() -> rsp.get(TypesComputer.class)); 55 | bind(DynamicFeatureAccessComputer.class).toProvider(() -> rsp.get(DynamicFeatureAccessComputer.class)); 56 | bind(IScopeProvider.class).toProvider(() -> rsp.get(IScopeProvider.class)); 57 | bind(ValueTableDynamicContextDefProvider.class) 58 | .toProvider(() -> rsp.get(ValueTableDynamicContextDefProvider.class)); 59 | 60 | } 61 | 62 | } 63 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.ui/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.ui/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.e1c.ssl.ui 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | org.eclipse.pde.ManifestBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.pde.SchemaBuilder 20 | 21 | 22 | 23 | 24 | 25 | org.eclipse.pde.PluginNature 26 | org.eclipse.jdt.core.javanature 27 | 28 | 29 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.ui/.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding/=UTF-8 3 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.ui/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=17 4 | org.eclipse.jdt.core.compiler.compliance=17 5 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 6 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 7 | org.eclipse.jdt.core.compiler.source=17 8 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.ui/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Bundle-ManifestVersion: 2 3 | Bundle-Name: %pluginName 4 | Bundle-SymbolicName: com.e1c.ssl.ui;singleton:=true 5 | Bundle-Version: 0.7.0.qualifier 6 | Bundle-Activator: com.e1c.ssl.ui.Activator 7 | Bundle-Vendor: %providerName 8 | Require-Bundle: org.eclipse.ui, 9 | org.eclipse.core.runtime 10 | Bundle-RequiredExecutionEnvironment: JavaSE-17 11 | Automatic-Module-Name: com.e1c.ssl.ui 12 | Bundle-ActivationPolicy: lazy 13 | Export-Package: com.e1c.ssl.ui;version="0.7.0" 14 | Bundle-Localization: plugin 15 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.ui/about.ini: -------------------------------------------------------------------------------- 1 | aboutText=1C:SSL support for 1C:EDT 2 | featureImage=logo.png -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.ui/build.properties: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Copyright (C) 2020, 1C-Soft LLC and others. 3 | # 4 | # This program and the accompanying materials are made 5 | # available under the terms of the Eclipse Public License 2.0 6 | # which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | # 8 | # SPDX-License-Identifier: EPL-2.0 9 | # 10 | # Contributors: 11 | # 1C-Soft LLC - initial API and implementation 12 | ############################################################################### 13 | source.. = src/ 14 | output.. = bin/ 15 | bin.includes = META-INF/,\ 16 | .,\ 17 | plugin.properties,\ 18 | about.ini,\ 19 | logo.png 20 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.ui/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1C-Company/ssl-support/bf21b5df1302f75ed88473c6eed3093ff4f74652/bundles/com.e1c.ssl.ui/logo.png -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.ui/plugin.properties: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Copyright (C) 2020, 1C-Soft LLC and others. 3 | # 4 | # This program and the accompanying materials are made 5 | # available under the terms of the Eclipse Public License 2.0 6 | # which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | # 8 | # SPDX-License-Identifier: EPL-2.0 9 | # 10 | # Contributors: 11 | # 1C-Soft LLC - initial API and implementation 12 | ############################################################################### 13 | pluginName = 1C:SSL UI support for 1C:EDT 14 | providerName = 1C-Soft LLC 15 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.ui/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 14 | 15 | 17 | 4.0.0 18 | 19 | com.e1c.ssl 20 | bundles 21 | 0.7.0-SNAPSHOT 22 | 23 | com.e1c.ssl.ui 24 | 0.7.0-SNAPSHOT 25 | eclipse-plugin 26 | 27 | 28 | -------------------------------------------------------------------------------- /bundles/com.e1c.ssl.ui/src/com/e1c/ssl/ui/Activator.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2020, 1C-Soft LLC and others. 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | * Contributors: 11 | * 1C-Soft LLC - initial API and implementation 12 | *******************************************************************************/ 13 | package com.e1c.ssl.ui; 14 | 15 | import org.eclipse.ui.plugin.AbstractUIPlugin; 16 | import org.osgi.framework.BundleContext; 17 | 18 | /** 19 | * The activator class controls the plug-in life cycle 20 | * 21 | * @author Dmitriy Marmyshev 22 | * 23 | */ 24 | public class Activator 25 | extends AbstractUIPlugin 26 | { 27 | 28 | // The plug-in ID 29 | public static final String PLUGIN_ID = "com.e1c.ssl.ui"; //$NON-NLS-1$ 30 | 31 | // The shared instance 32 | private static Activator plugin; 33 | 34 | /** 35 | * The constructor 36 | */ 37 | public Activator() 38 | { 39 | } 40 | 41 | @Override 42 | public void start(BundleContext context) throws Exception 43 | { 44 | super.start(context); 45 | plugin = this; 46 | } 47 | 48 | @Override 49 | public void stop(BundleContext context) throws Exception 50 | { 51 | plugin = null; 52 | super.stop(context); 53 | } 54 | 55 | /** 56 | * Returns the shared instance 57 | * 58 | * @return the shared instance 59 | */ 60 | public static Activator getDefault() 61 | { 62 | return plugin; 63 | } 64 | 65 | } 66 | -------------------------------------------------------------------------------- /bundles/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 13 | 4.0.0 14 | 15 | com.e1c.ssl 16 | parent 17 | 0.7.0-SNAPSHOT 18 | 19 | 20 | com.e1c.ssl 21 | bundles 22 | pom 23 | Bundles 24 | 25 | 26 | com.e1c.ssl.ui 27 | com.e1c.ssl.bsl 28 | com.e1c.ssl.bsl.ui 29 | 30 | 31 | 32 | 33 | 34 | org.eclipse.tycho 35 | tycho-source-plugin 36 | 37 | 38 | org.apache.maven.plugins 39 | maven-checkstyle-plugin 40 | 41 | 42 | run-checkstyle 43 | validate 44 | 45 | check 46 | 47 | 48 | 49 | 50 | 51 | org.codehaus.mojo 52 | native2ascii-maven-plugin 53 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /docs/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | toc.md 2 | changelog.md 3 | html/* -------------------------------------------------------------------------------- /docs/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.e1c.ssl.docs 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | org.eclipse.pde.ManifestBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.pde.SchemaBuilder 20 | 21 | 22 | 23 | 24 | 25 | org.eclipse.pde.PluginNature 26 | org.eclipse.jdt.core.javanature 27 | 28 | 29 | -------------------------------------------------------------------------------- /docs/.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding/=UTF-8 3 | -------------------------------------------------------------------------------- /docs/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Bundle-ManifestVersion: 2 3 | Bundle-Name: %pluginName 4 | Bundle-SymbolicName: com.e1c.ssl.docs;singleton:=true 5 | Bundle-Version: 0.7.0.qualifier 6 | Bundle-Vendor: %providerName 7 | Automatic-Module-Name: com.e1c.ssl.docs 8 | Bundle-RequiredExecutionEnvironment: JavaSE-17 9 | Bundle-Localization: plugin 10 | -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- 1 | # 1C:SSL support for 1C:EDT 2 | 3 | Расширение для 1C:EDT позволяющее разрабатывать конфигурации на основе библиотеки 1С:БСП (Библиотека Стандартных Подсистем, Standard Subsystems Library) с бОльшим комфортом. 4 | 5 | ## Основные возможности 6 | 7 | ### Помощник ввода в строковых литералах 8 | 9 | Поддержка контент-ассиста в строковых литералах, гиперссылки для перехода или по F3: 10 | 11 | * [`ОбщегоНазначения.ПодсистемаСуществует` (`Common.SubsystemExist`)](common-subsystem-exist.md) 12 | * [`ОбщегоНазначения.ОбщийМодуль` (`Common.CommonModule`)](common-common-module.md) 13 | * [`ОбщегоНазначения.ЗначениеРеквизитаОбъекта` (`Common.ObjectAttributeValue`)](common-object-attribute-value.md) 14 | * [`ОбщегоНазначения.ЗначениеРеквизитаОбъектов` (`Common.ObjectsAttributeValue`)](common-objects-attribute-value.md) 15 | * [`ОбщегоНазначенияКлиент.ОбщийМодуль` (`CommonClient.CommonModule`)](common-client-common-module.md) 16 | * [`ОбщегоНазначенияКлиент.ПодсистемаСуществует` (`CommonClient.SubsystemExist`)](common-client-subsystem-exist.md) 17 | 18 | 19 | ### Типизация возвращаемых значений 20 | 21 | Позволяет на лету вычислять функции общего модуля `ОбщегоНазначения` (`Common`), которые возвращают тип в зависимости от переданных параметров. 22 | 23 | * [`ОбщийМодуль` (`CommonModule`)](common-common-module.md) 24 | * [`МенеджерОбъектаПоСсылке` (`ObjectManagerByRef`)](common-object-manager-by-ref.md) 25 | * [`МенеджерОбъектаПоПолномуИмени` (`ObjectManagerByFullName`)](common-object-manager-by-full-name.md) 26 | * [`ЗначениеРеквизитаОбъекта` (`ObjectAttributeValue`)](common-object-attribute-value.md) 27 | * [`ЗначениеРеквизитаОбъектов` (`ObjectsAttributeValue`)](common-objects-attribute-value.md) 28 | * [`ЗначенияРеквизитовОбъекта` (`ObjectAttributesValues`)](common-object-attributes-values.md) 29 | * [`ЗначенияРеквизитовОбъектов` (`ObjectsAttributesValues`)](common-objects-attribute-value.md) 30 | * [`ОписаниеСвойствОбъекта` (`ObjectPropertiesDetails`)](common-object-properties-details.md) 31 | * [`ТаблицаЗначенийВМассив` (`ValueTableToArray`)](common-value-table-to-array.md) 32 | * [`СтрокаТаблицыЗначенийВСтруктуру` (`ValueTableRowToStructure`)](common-value-table-row-to-structure.md) 33 | * [`ФиксированныеДанные` (`FixedData`)](common-value-fixed-data.md) 34 | * [`ВыгрузитьКолонку` (`UnloadColumn`)](common-unload-column.md) 35 | * [`ПроверитьПроведенностьДокументов` (`CheckDocumentsPosting`)](common-check-documents-posting.md) 36 | * [`СкопироватьРекурсивно` (`CopyRecursive`)](common-copy-recursive.md) 37 | 38 | Позволяет на лету вычислять функции общего модуля `ОбщегоНазначенияКлииентСервер` (`CommonClientServer`) 39 | 40 | * [`РазностьМассивов` (`ArraysDifference`)](common-client-server-arrays-difference.md) 41 | * [`ЗначениеВМассиве` (`ValueInArray`)](common-client-server-value-in-array.md) 42 | * [`СвернутьМассив` (`CollapseArray`)](common-client-server-collapse-array.md) 43 | 44 | Позволяет на лету вычислять функции общего модуля `ОбщегоНазначенияКлииент` (`CommonClient`) 45 | 46 | * [`ОбщийМодуль` (`CommonModule`)](common-client-common-module.md) 47 | -------------------------------------------------------------------------------- /docs/build.properties: -------------------------------------------------------------------------------- 1 | source.. = src/ 2 | output.. = bin/ 3 | bin.includes = plugin.xml,\ 4 | META-INF/,\ 5 | .,\ 6 | toc.xml,\ 7 | plugin.properties,\ 8 | html/ 9 | -------------------------------------------------------------------------------- /docs/common-check-documents-posting.md: -------------------------------------------------------------------------------- 1 | # `ОбщегоНазначения.ПроверитьПроведенностьДокументов` (`Common.CheckDocumentsPosting`) 2 | 3 | Описание функции: 4 | 5 | > Проверяет статус проведения переданных документов и возвращает 6 | > те из них, которые не проведены. 7 | 8 | 9 | ## Типизация возвращаемых значений 10 | 11 | Функция возвращает массив из ДокументСсылка - непроведенные документы 12 | 13 | Пример: 14 | 15 | ```bsl 16 | Процедура тест() 17 | 18 | списокДокументов = Новый Массив; // Массив из ДокументСсылка.ТестовыйДокумент - 19 | непроведенныйДокумент = ОбщегоНазначения.ПроверитьПроведенностьДокументов(списокСсылок).Получить(0); 20 | 21 | //непроведенныйДокумент. - только атрибуты документа ТестовыйДокумент 22 | 23 | КонецПроцедуры 24 | ``` 25 | 26 | -------------------------------------------------------------------------------- /docs/common-client-common-module.md: -------------------------------------------------------------------------------- 1 | # `ОбщегоНазначенияКлиент.ОбщийМодуль` (`CommonClient.CommonModule`) 2 | 3 | Описание функции: 4 | 5 | > Функция возвращает ссылку на общий модуль или модуль менеджера по имени. 6 | 7 | ## Помощник ввода в строковых литералах 8 | 9 | - Поддержка помощника ввода в строковом литералае подсказывает имена общих модулей 10 | - Поддержка ввода полного имени модуля менеджера 11 | - Гиперссылки для перехода при нажатии Ctrl+Click или по F3 12 | 13 | 14 | Пример: 15 | 16 | ```bsl 17 | МодульПолнотекстовыйПоискКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("Полнот"); 18 | ``` 19 | 20 | 21 | ## Типизация возвращаемых значений 22 | 23 | Функция возвращает конкретный тип модуля, это позволяет вызвать методы модуля, получать типы возвращаемых значений, строить иерархию вызовов с учетом условных вызовов частичного внедрения БСП. 24 | 25 | Пример: 26 | 27 | ```bsl 28 | Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ОбновлениеКонфигурации") Тогда 29 | МодульОбновлениеКонфигурацииКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ОбновлениеКонфигурацииКлиент"); 30 | МодульОбновлениеКонфигурацииКлиент.<Имя метода>(); 31 | КонецЕсли; 32 | 33 | Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПолнотекстовыйПоиск") Тогда 34 | МодульПолнотекстовыйПоискКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПолнотекстовыйПоискКлиент"); 35 | МодульПолнотекстовыйПоискКлиент.<Имя метода>(); 36 | КонецЕсли; 37 | ``` 38 | 39 | 40 | ### Вычисление значений параметров 41 | 42 | Для функций поддерживается вычисление контента строк переданных через локальные переменные, с вычислением бинарных операций (конкатенация строк) в рамках одной процедуры. 43 | 44 | ```bsl 45 | ИмяМодуля = "ПолнотекстовыйПоискКлиент"; 46 | МодульПолнотекстовыйПоискКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль(ИмяМодуля); 47 | ``` 48 | 49 | -------------------------------------------------------------------------------- /docs/common-client-server-arrays-difference.md: -------------------------------------------------------------------------------- 1 | # `ОбщегоНазначенияКлиентСервер.РазностьМассивов` (`CommonClientServer.ArraysDifference`) 2 | 3 | Описание функции: 4 | 5 | > Возвращает разность массивов. Разностью двух массивов является массив, содержащий 6 | > все элементы первого массива, не существующие во втором массиве. 7 | 8 | ## Типизация возвращаемых значений 9 | 10 | Функция возвращает типизированный массив по типу первого параметра. 11 | 12 | Пример: 13 | 14 | ```bsl 15 | Процедура Тест() 16 | 17 | Товары = Новый Массив; // Массив из СправочникСсылка.Товары - 18 | Поставщики = Новый Массив; // Массив из СправочникСсылка.Поставщики - 19 | ТоварыБезПоставщиков = ОбщегоНазначенияКлиентСервер.РазностьМассивов(Товары, Поставщики); 20 | Товар = ТоварыБезПоставщиков.Получить(0); 21 | 22 | КонецПроцедуры 23 | ``` 24 | 25 | -------------------------------------------------------------------------------- /docs/common-client-server-collapse-array.md: -------------------------------------------------------------------------------- 1 | # `ОбщегоНазначенияКлиентСервер.СвернутьМассив` (`CommonClientServer.CollapseArray`) 2 | 3 | Описание функции: 4 | 5 | > Возвращает копию исходного массива с уникальными значениями. 6 | 7 | ## Типизация возвращаемых значений 8 | 9 | Функция возвращает типизированный массив как входящий тип. 10 | 11 | Пример: 12 | 13 | ```bsl 14 | Процедура Тест() 15 | 16 | Товары = Новый Массив; // Массив из СправочникСсылка.Товары - 17 | УникальныеТовары = ОбщегоНазначенияКлиентСервер.СвернутьМассив(Товары); 18 | УникальныйТовар = УникальныеТовары.Получить(0); 19 | 20 | КонецПроцедуры 21 | ``` 22 | -------------------------------------------------------------------------------- /docs/common-client-server-value-in-array.md: -------------------------------------------------------------------------------- 1 | # `ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве` (`CommonClientServer.ValueInArray`) 2 | 3 | Описание функции: 4 | 5 | > Создает массив и помещает в него переданное значение. 6 | 7 | 8 | ## Типизация возвращаемых значений 9 | 10 | Функция возвращает типизированный массив из одного элемента. 11 | 12 | Пример: 13 | 14 | ```bsl 15 | Процедура тест() 16 | 17 | структура = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Новый Структура("Ключ1", "")).Получить(0); 18 | 19 | КонецПроцедуры 20 | ``` 21 | 22 | -------------------------------------------------------------------------------- /docs/common-client-subsystem-exist.md: -------------------------------------------------------------------------------- 1 | # `ОбщегоНазначенияКлиент.ПодсистемаСуществует` (`CommonClient.SubsystemExist`) 2 | 3 | Описание функции: 4 | 5 | > Возвращает Истина, если функциональная подсистема существует в конфигурации. 6 | > Предназначена для реализации вызова необязательной подсистемы (условного вызова). 7 | > У функциональной подсистемы снят флажок "Включать в командный интерфейс". 8 | > См. также ОбщегоНазначенияПереопределяемый.ПриОпределенииОтключенныхПодсистем, 9 | > и ОбщегоНазначения.ПодсистемаСуществует для вызова из серверного кода. 10 | 11 | ## Помощник ввода в строковых литералах 12 | 13 | - Поддержка помощника ввода в строковом литералае подсказывает имена подсистем 14 | - Возможность ввода иерархических имен подсистем 15 | - Гиперссылки для перехода при нажатии Ctrl+Click или по F3 16 | -------------------------------------------------------------------------------- /docs/common-common-module.md: -------------------------------------------------------------------------------- 1 | # `ОбщегоНазначения.ОбщийМодуль` (`Common.CommonModule`) 2 | 3 | Описание функции: 4 | 5 | > Функция возвращает ссылку на общий модуль или модуль менеджера по имени. 6 | 7 | ## Помощник ввода в строковых литералах 8 | 9 | - Поддержка помощника ввода в строковом литералае подсказывает имена общих модулей 10 | - Поддержка ввода полного имени модуля менеджера 11 | - Гиперссылки для перехода при нажатии Ctrl+Click или по F3 12 | 13 | 14 | ![Common-Module](pict/common-module.gif) 15 | 16 | 17 | Пример: 18 | 19 | ```bsl 20 | МодульПолнотекстовыйПоискКлиент = ОбщегоНазначения.ОбщийМодуль("Полнот"); 21 | ``` 22 | 23 | 24 | ## Типизация возвращаемых значений 25 | 26 | Функция возвращает конкретный тип модуля, это позволяет вызвать методы модуля, получать типы возвращаемых значений, строить иерархию вызовов с учетом условных вызовов частичного внедрения БСП. 27 | 28 | 29 | ![Type Common-Module](pict/type-common-module.gif) 30 | 31 | 32 | Пример: 33 | 34 | ```bsl 35 | Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбновлениеКонфигурации") Тогда 36 | МодульОбновлениеКонфигурации = ОбщегоНазначения.ОбщийМодуль("ОбновлениеКонфигурации"); 37 | МодульОбновлениеКонфигурации.<Имя метода>(); 38 | КонецЕсли; 39 | 40 | Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПолнотекстовыйПоиск") Тогда 41 | МодульПолнотекстовыйПоискСервер = ОбщегоНазначения.ОбщийМодуль("ПолнотекстовыйПоискСервер"); 42 | МодульПолнотекстовыйПоискСервер.<Имя метода>(); 43 | КонецЕсли; 44 | ``` 45 | 46 | 47 | Пример: 48 | 49 | ```bsl 50 | Процедура Тест() экспорт 51 | 52 | Модуль = ОбщегоНазначения.ОбщийМодуль("УсловныйМодуль"); 53 | Если Модуль.ТестоваяФункция().Отказ Тогда 54 | Возврат; 55 | КонецЕсли; 56 | 57 | КонецПроцедуры 58 | ``` 59 | 60 | 61 | ### Вычисление значений параметров 62 | 63 | Для функций поддерживается вычисление контента строк переданных через локальные переменные, с вычислением бинарных операций (конкатенация строк) в рамках одной процедуры. 64 | 65 | 66 | Пример 2: 67 | 68 | 69 | ```bsl 70 | ИмяМодуля = "ПолнотекстовыйПоискКлиент"; 71 | МодульПолнотекстовыйПоискКлиент = ОбщегоНазначения.ОбщийМодуль(ИмяМодуля); 72 | ``` 73 | 74 | 75 | Пример 2: 76 | 77 | ```bsl 78 | Процедура Тест() экспорт 79 | 80 | ИмяМодуля = "УсловныйМодуль"; 81 | Модуль = ОбщегоНазначения.ОбщийМодуль(ИмяМодуля); 82 | Если Модуль.ТестоваяФункция().Отказ Тогда 83 | Возврат; 84 | КонецЕсли; 85 | 86 | КонецПроцедуры 87 | ``` 88 | 89 | 90 | Пример 3: 91 | 92 | ```bsl 93 | Процедура Тест() экспорт 94 | 95 | КлассОМД = "РегистрСведений"; 96 | ИмяОМД = "ШтрихКоды" 97 | ИмяМодуля = КлассОМД + "." + ИмяОМД; 98 | 99 | Модуль = ОбщегоНазначения.ОбщийМодуль(ИмяМодуля); 100 | 101 | Модуль.ШтрихКод(); // Вызываемая фнукция 102 | 103 | КонецПроцедуры 104 | ``` 105 | 106 | -------------------------------------------------------------------------------- /docs/common-copy-recursive.md: -------------------------------------------------------------------------------- 1 | # `ОбщегоНазначения.СкопироватьРекурсивно` (`Common.CopyRecursive`) 2 | 3 | Описание функции: 4 | 5 | > Функция создает полную копию структуры, соответствия, массива, списка или таблицы значений. 6 | 7 | ## Типизация возвращаемых значений 8 | 9 | Функция возвращает конкретный тип входящего параметра, это позволяет обращаться к полям структур, получать типы возвращаемых значений. 10 | 11 | Пример: 12 | 13 | ```bsl 14 | КопияСтруктуры = ОбщегоНазначения.СкопироватьРекурсивно(МояСтруктура); 15 | КопияСтруктуры.<Имя свойства>(); 16 | ``` 17 | -------------------------------------------------------------------------------- /docs/common-object-attribute-value.md: -------------------------------------------------------------------------------- 1 | # `ОбщегоНазначения.ЗначениеРеквизитаОбъекта` (`Common.ObjectAttributeValue`) 2 | 3 | Описание функции: 4 | 5 | > Значение реквизита, прочитанного из информационной базы по ссылке на объект. 6 | > 7 | > Если необходимо зачитать реквизит независимо от прав текущего пользователя, 8 | > то следует использовать предварительный переход в привилегированный режим. 9 | 10 | ## Помощник ввода в строковых литералах 11 | 12 | - Поддержка ввода имени реквизита из указанных ссылочных типов 13 | - Возможность ввода ерархического имени реквизита 14 | - Гиперссылки для перехода при нажатии Ctrl+Click или по F3 15 | 16 | 17 | Пример: 18 | 19 | ```bsl 20 | // Параметры: 21 | // Ссылка - СправочникСсылка.Товары - 22 | Процедура Тест(Ссылка) экспорт 23 | 24 | Результат = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "Поставщик.Ссылка.Ро"); 25 | 26 | КонецПроцедуры 27 | 28 | ``` 29 | 30 | 31 | ## Типизация возвращаемых значений 32 | 33 | Функция возвращает конкретный тип по типу реквизита передаваемого в параметрах 34 | 35 | ![Type Common-Module](pict/type-object-attribute-value.gif) 36 | 37 | 38 | Пример: 39 | 40 | ```bsl 41 | // Параметры: 42 | // Ссылка - СправочникСсылка.Товары - 43 | Процедура Тест(Ссылка) экспорт 44 | 45 | Результат = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "Поставщик"); 46 | УИ = Результат.УникальныйИдентификатор(); 47 | 48 | КонецПроцедуры 49 | 50 | ``` 51 | 52 | 53 | ### Вычисление значений параметров 54 | 55 | Для функций поддерживается вычисление контента строк переданных через локальные переменные, с вычислением бинарных операций (конкатенация строк) в рамках одной процедуры. 56 | 57 | ```bsl 58 | // Параметры: 59 | // Ссылка - СправочникСсылка.Товары - 60 | Процедура Тест(Ссылка) экспорт 61 | 62 | ИмяРеквизитаПоставщика = "Поставщик"; 63 | Путь = ИмяРеквизитаПоставщика + ".Ссылка.Родитель"; 64 | Результат = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, Путь); 65 | 66 | КонецПроцедуры 67 | 68 | ``` 69 | -------------------------------------------------------------------------------- /docs/common-object-attributes-values.md: -------------------------------------------------------------------------------- 1 | # `ОбщегоНазначения.ЗначенияРеквизитовОбъекта` (`Common.ObjectAttributesValues`) 2 | 3 | Описание функции: 4 | 5 | > Структура, содержащая значения реквизитов, прочитанные из информационной базы по ссылке на объект. 6 | > 7 | > Если необходимо зачитать реквизит независимо от прав текущего пользователя, 8 | > то следует использовать предварительный переход в привилегированный режим. 9 | 10 | 11 | ## Типизация возвращаемых значений 12 | 13 | 14 | Функция возвращает тип со структурой и типизированными свойствами по именам реквизитов 15 | 16 | ![Type Common-Module](pict/type-object-attibutes-values.gif) 17 | 18 | 19 | Пример: 20 | 21 | ```bsl 22 | // Параметры: 23 | // Ссылка - СправочникСсылка.Товары - 24 | Процедура Тест(Ссылка) экспорт 25 | 26 | Результат = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка, "Поставщик, Родитель, Ссылка"); 27 | Поставщик = Результат.Поставщик; 28 | Родитель = Результат.Родитель; 29 | 30 | КонецПроцедуры 31 | ``` 32 | 33 | ### Вычисление значений параметров 34 | 35 | Для функций поддерживается вычисление контента строк переданных через локальные переменные, с вычислением бинарных операций (конкатенация строк) в рамках одной процедуры. 36 | Поддерживается вычисление значений элементов массивов, значений ключей структуры. 37 | 38 | 39 | Пример: 40 | 41 | ```bsl 42 | // Параметры: 43 | // Ссылка - СправочникСсылка.Товары - 44 | Процедура Тест(Ссылка) экспорт 45 | 46 | ИмяРеквзита = "Поставщик"; 47 | ИменаРеквизитов = Новый Массив("Родитель"); 48 | ИменаРеквизитов.Добавить(ИмяРеквзита); 49 | ИменаРеквизитов.Добавить(); 50 | ИменаРеквизитов.Добавить("Ссылка"); 51 | Результат = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка, ИменаРеквизитов); 52 | 53 | КонецПроцедуры 54 | ``` 55 | 56 | Пример 2: 57 | 58 | ```bsl 59 | // Параметры: 60 | // Ссылка - СправочникСсылка.Товары - 61 | Процедура Тест(Ссылка) экспорт 62 | 63 | ИмяРеквзита = "Поставщик"; 64 | Результат = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка, Новый Массив(ИмяРеквзита, "Родитель", "Ссылка")); 65 | 66 | КонецПроцедуры 67 | ``` 68 | 69 | Пример 3: 70 | 71 | ```bsl 72 | // Параметры: 73 | // Ссылка - СправочникСсылка.Товары - 74 | Процедура Тест(Ссылка) экспорт 75 | 76 | ИмяРеквзита = "Поставщик.Код"; 77 | Результат = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка, Новый Массив(ИмяРеквзита, "Родитель.Ссылка", "Ссылка")); 78 | 79 | КонецПроцедуры 80 | ``` 81 | 82 | Пример 4: 83 | 84 | ```bsl 85 | // Параметры: 86 | // Ссылка - СправочникСсылка.Товары - 87 | Процедура Тест(Ссылка) экспорт 88 | 89 | Реквзиит1 = "Код"; 90 | 91 | ИменаРеквизитов = "Поставщик"; 92 | ИменаРеквизитов = "Ссылка"; 93 | ИменаРеквизитов = ИменаРеквизитов + ", Родитель" + "," + Реквзиит1; 94 | Результат = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка, ИменаРеквизитов + ", Наименование"); 95 | 96 | КонецПроцедуры 97 | ``` 98 | 99 | Пример 5: 100 | 101 | ```bsl 102 | // Параметры: 103 | // Ссылка - СправочникСсылка.Товары - 104 | Процедура Тест(Ссылка) экспорт 105 | 106 | ИмяРеквзита = "Поставщик"; 107 | ИменаРеквизитов = Новый Структура; 108 | ИменаРеквизитов.Вставить(ИмяРеквзита); 109 | ИменаРеквизитов.Вставить("Родитель"); 110 | ИменаРеквизитов.Вставить("Ссылка"); 111 | Результат = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка, ИменаРеквизитов); 112 | 113 | КонецПроцедуры 114 | ``` 115 | 116 | 117 | -------------------------------------------------------------------------------- /docs/common-object-manager-by-full-name.md: -------------------------------------------------------------------------------- 1 | # `ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени` (`Common.ObjectManagerByFullName`) 2 | 3 | Описание функции: 4 | 5 | > Возвращает менеджер объекта по полному имени объекта метаданных. 6 | > Ограничение: не обрабатываются точки маршрутов бизнес-процессов. 7 | 8 | ## Помощник ввода в строковых литералах 9 | 10 | - Поддержка ввода полного имени модуля менеджера 11 | - Гиперссылки для перехода при нажатии Ctrl+Click или по F3 12 | 13 | 14 | Пример: 15 | 16 | ```bsl 17 | ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени("Справочник."); 18 | ``` 19 | 20 | 21 | ## Типизация возвращаемых значений 22 | 23 | Функция возвращает конкретный тип модуля менеджера по полному имени 24 | 25 | Пример: 26 | 27 | ```bsl 28 | МенеджерСправочника = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени("Справочник.Организации"); 29 | ПустаяСсылка = МенеджерСправочника.ПустаяСсылка(); 30 | ``` 31 | 32 | 33 | ### Вычисление значений параметров 34 | 35 | Для функций поддерживается вычисление контента строк переданных через локальные переменные, с вычислением бинарных операций (конкатенация строк) в рамках одной процедуры. 36 | 37 | ```bsl 38 | КлассОМ = "Справочник"; 39 | ПолноеИмя = КлассОМ + ".Организации"; 40 | МенеджерСправочника = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ПолноеИмя); 41 | ПустаяСсылка = МенеджерСправочника.ПустаяСсылка(); 42 | ``` 43 | 44 | -------------------------------------------------------------------------------- /docs/common-object-manager-by-ref.md: -------------------------------------------------------------------------------- 1 | # `ОбщегоНазначения.МенеджерОбъектаПоСсылке` (`Common.ObjectManagerByRef`) 2 | 3 | Описание функции: 4 | 5 | > Возвращает менеджер объекта по ссылке на объект. 6 | > Ограничение: не обрабатываются точки маршрутов бизнес-процессов. 7 | > См. также ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени. 8 | 9 | 10 | 11 | ## Типизация возвращаемых значений 12 | 13 | Функция возвращает конкретный тип модуля менеджера по ссылочному типу перевого параметра. 14 | 15 | Пример: 16 | 17 | ```bsl 18 | // Параметры: 19 | // Ссылка - СправочникСсылка.Товары - 20 | Процедура Тест(Ссылка) экспорт 21 | 22 | Модуль = ОбщегоНазначения.МенеджерОбъектаПоСсылке(Ссылка); 23 | 24 | КонецПроцедуры 25 | ``` 26 | -------------------------------------------------------------------------------- /docs/common-object-properties-details.md: -------------------------------------------------------------------------------- 1 | # `ОбщегоНазначения.ОписаниеСвойствОбъекта` (`Common.ObjectPropertiesDetails`) 2 | 3 | Описание функции: 4 | 5 | > Возвращает таблицу значений с описанием требуемых свойств всех реквизитов объекта метаданных. 6 | > Получает значения свойств стандартных реквизитов и пользовательских реквизитов (созданных в режиме конфигуратора). 7 | 8 | ## Помощник ввода в строковых литералах 9 | 10 | Поддержка ввода имен свойств, доступных для передаваемого тип объекта метаданных. 11 | 12 | 13 | Пример: 14 | 15 | ```bsl 16 | МДО = Метаданные.Справочники.Товары; 17 | Таблица = ОбщегоНазначения.ОписаниеСвойствОбъекта(МДО, "Имя, ); 18 | ``` 19 | 20 | 21 | ## Типизация возвращаемых значений 22 | 23 | Функция возвращает таблицу с типизированными колонками на основе типов свойств метаданного. 24 | 25 | Пример: 26 | 27 | ```bsl 28 | Таблица = ОбщегоНазначения.ОписаниеСвойствОбъекта(Метаданные.Справочники.Товары, "Имя, Синоним, Справка"); 29 | Для каждого Элемент из Таблица Цикл 30 | Имя = Элемент.Имя; 31 | КонецЦикла; 32 | ``` 33 | 34 | 35 | ### Вычисление значений параметров 36 | 37 | Для функций поддерживается вычисление контента строк переданных через локальные переменные, с вычислением бинарных операций (конкатенация строк) в рамках одной процедуры. 38 | 39 | ```bsl 40 | МДО = Метаданные.Справочники.Товары; 41 | ИменаСвойств = "Имя, МногострочныйРежим, Синоним, Справка"; 42 | Таблица = ОбщегоНазначения.ОписаниеСвойствОбъекта(МДО, ИменаСвойств); 43 | ``` 44 | 45 | -------------------------------------------------------------------------------- /docs/common-objects-attribute-value.md: -------------------------------------------------------------------------------- 1 | # `ОбщегоНазначения.ЗначениеРеквизитаОбъектов` (`Common.ObjectsAttributeValue`) 2 | 3 | 4 | Описание функции: 5 | 6 | > Значения реквизита, прочитанного из информационной базы для нескольких объектов. 7 | > 8 | > Если необходимо зачитать реквизит независимо от прав текущего пользователя, 9 | > то следует использовать предварительный переход в привилегированный режим. 10 | 11 | ## Помощник ввода в строковых литералах 12 | 13 | - Поддержка ввода имени реквизита из указанных ссылочных типов в массиве 14 | - Возможность ввода ерархического имени реквизита 15 | - Гиперссылки для перехода при нажатии Ctrl+Click или по F3 16 | 17 | 18 | Пример: 19 | 20 | ```bsl 21 | // Параметры: 22 | // Ссылки - Массив из СправочникСсылка.Товары - 23 | Процедура Тест(Ссылки) экспорт 24 | 25 | Результат = ОбщегоНазначения.ЗначениеРеквизитаОбъектов(Ссылки, "Поставщик.Ссылка.Ро"); 26 | 27 | КонецПроцедуры 28 | ``` 29 | 30 | 31 | ## Типизация возвращаемых значений 32 | 33 | Функция возвращает конкретный тип реквизита объекта метаданных на основе ссылочного типа из типизированного массива. 34 | 35 | Пример: 36 | 37 | ```bsl 38 | // Параметры: 39 | // Ссылки - Массив из СправочникСсылка.Товары - 40 | Процедура Тест(Ссылки) экспорт 41 | 42 | Результат = ОбщегоНазначения.ЗначениеРеквизитаОбъектов(Ссылки, "Поставщик.Ссылка.Родитель"); 43 | УИ = Результат.УникальныйИдентификатор(); 44 | 45 | КонецПроцедуры 46 | ``` 47 | 48 | 49 | ### Вычисление значений параметров 50 | 51 | Для функций поддерживается вычисление контента строк переданных через локальные переменные, с вычислением бинарных операций (конкатенация строк) в рамках одной процедуры. 52 | 53 | ```bsl 54 | // Параметры: 55 | // Ссылки - Массив из СправочникСсылка.Товары - 56 | Процедура Тест(Ссылки) экспорт 57 | 58 | Путь = "Поставщик.Ссылка.Родитель"; 59 | Результат = ОбщегоНазначения.ЗначениеРеквизитаОбъектов(Ссылки, Путь); 60 | 61 | КонецПроцедуры 62 | ``` 63 | 64 | 65 | -------------------------------------------------------------------------------- /docs/common-objects-attributes-values.md: -------------------------------------------------------------------------------- 1 | # `ОбщегоНазначения.ЗначенияРеквизитовОбъектов` (`Common.ObjectsAttributesValues`) 2 | 3 | 4 | Описание функции: 5 | 6 | > Значения реквизитов, прочитанные из информационной базы для нескольких объектов. 7 | > 8 | > Если необходимо зачитать реквизит независимо от прав текущего пользователя, 9 | > то следует использовать предварительный переход в привилегированный режим. 10 | 11 | 12 | ## Типизация возвращаемых значений 13 | 14 | Функция возвращает конкретный тип реквизита объекта метаданных на основе ссылочного типа из типизированного массива. 15 | 16 | Пример: 17 | 18 | ```bsl 19 | // Параметры: 20 | // Ссылки - Массив из СправочникСсылка.Товары - 21 | Процедура Тест(Ссылки) экспорт 22 | 23 | Результат = ОбщегоНазначения.ЗначенияРеквизитовОбъектов(Ссылки, "Поставщик, Родитель, Ссылка"); 24 | Для каждого КлючИЗначение из Результат Цикл 25 | Товар = КлючИЗначение.Ключ; // Типизированный ключ 26 | Поставщик = КлючИЗначение.Значение.Поставщик; // Типизированная структура в значении 27 | КонецЦикла; 28 | 29 | КонецПроцедуры 30 | ``` 31 | 32 | 33 | ### Вычисление значений параметров 34 | 35 | Для функций поддерживается вычисление контента строк переданных через локальные переменные, с вычислением бинарных операций (конкатенация строк) в рамках одной процедуры. 36 | 37 | ```bsl 38 | // Параметры: 39 | // Ссылки - Массив из СправочникСсылка.Товары - 40 | Процедура Тест(Ссылки) экспорт 41 | 42 | ИменаРеквизитов = "Поставщик, Родитель, Ссылка"; 43 | Результат = ОбщегоНазначения.ЗначенияРеквизитовОбъектов(Ссылки, ИменаРеквизитов); 44 | 45 | КонецПроцедуры 46 | ``` 47 | 48 | -------------------------------------------------------------------------------- /docs/common-subsystem-exist.md: -------------------------------------------------------------------------------- 1 | # `ОбщегоНазначения.ПодсистемаСуществует` (`Common.SubsystemExist`) 2 | 3 | Описание функции: 4 | 5 | > Возвращает Истина, если функциональная подсистема существует в конфигурации. 6 | > Предназначена для реализации вызова необязательной подсистемы (условного вызова). 7 | > У функциональной подсистемы снят флажок "Включать в командный интерфейс". 8 | > См. также ОбщегоНазначенияПереопределяемый.ПриОпределенииОтключенныхПодсистем 9 | > и ОбщегоНазначенияКлиент.ПодсистемаСуществует для вызова из клиентского кода. 10 | 11 | ## Помощник ввода в строковых литералах 12 | 13 | - Поддержка помощника ввода в строковом литералае подсказывает имена подсистем 14 | - Возможность ввода иерархических имен подсистем 15 | - Гиперссылки для перехода при нажатии Ctrl+Click или по F3 16 | 17 | 18 | ![subsystem-exist](pict/subsystem-exist.gif) 19 | -------------------------------------------------------------------------------- /docs/common-unload-column.md: -------------------------------------------------------------------------------- 1 | # `ОбщегоНазначения.ВыгрузитьКолонку` (`Common.UnloadColumn`) 2 | 3 | Описание функции: 4 | 5 | > Создает массив и копирует в него значения, содержащиеся в колонке объекта, для 6 | > которого доступен обход посредством оператора Для каждого … Из. 7 | 8 | 9 | ## Типизация возвращаемых значений 10 | 11 | Функция возвращает типизированный массив с типом идентичным колонке таблицы 12 | 13 | Пример: 14 | 15 | ```bsl 16 | Процедура Тест() экспорт 17 | 18 | Результат = Новый ТаблицаЗначений(); 19 | Результат.Колонки.Добавить("НомерШага", Новый ОписаниеТипов("Число")); 20 | Результат.Колонки.Добавить("Страница", Новый ОписаниеТипов("Строка")); 21 | 22 | Массив = ОбщегоНазначения.ВыгрузитьКолонку(Результат, "Страница"); 23 | 24 | КонецПроцедуры 25 | ``` 26 | 27 | -------------------------------------------------------------------------------- /docs/common-value-fixed-data.md: -------------------------------------------------------------------------------- 1 | # `ОбщегоНазначения.ФиксированныеДанные` (`Common.FixedData`) 2 | 3 | Описание функции: 4 | 5 | > Фиксирует данные типов Структура, Соответствие, Массив с учетом вложенности. 6 | 7 | 8 | ## Типизация возвращаемых значений 9 | 10 | Функция возвращает ФиксированнаяСтруктура, ФиксированноеСоответствие, ФиксированныйМассив - фиксированные данные, 11 | аналогичные переданным в параметре Данные. 12 | 13 | Пример: 14 | 15 | ```bsl 16 | Процедура Тест() 17 | 18 | ФиксированнаяСтруктура = ОбщегоНазначения.ФиксированныеДанные(Новый Структура("Ключ1","Значение1")); 19 | 20 | КонецПроцедуры 21 | 22 | Процедура Tест2() 23 | 24 | Параметры = СведенияОбОбновлении(); 25 | ФиксированныйМассив = ОбщегоНазначения.ФиксированныеДанные(Параметры); 26 | // Часть кода для документации 27 | Для каждого Элемент из ФиксированныйМассив Цикл 28 | Если Элемент.ОбновлениеДоступно ИЛИ Элемент.Наименование = "Значение1" Тогда 29 | // Продолжаем... 30 | КонецЕсли 31 | КонецЦикла; 32 | 33 | КонецПроцедуры 34 | 35 | // Сведения об обновлении. 36 | // 37 | // Возвращаемое значение: 38 | // Массив из Структура: 39 | // * Наименование - Строка - описание, 40 | // * ОбновлениеДоступно - Булево - описание. 41 | // 42 | Функция СведенияОбОбновлении() 43 | Массив = Новый Массив(); 44 | Массив.Добавить(Новый Структура("Наименование, ОбновлениеДоступно", "Значение1", Истина)); 45 | Возврат Массив; 46 | КонецФункции 47 | ``` 48 | 49 | -------------------------------------------------------------------------------- /docs/common-value-table-row-to-structure.md: -------------------------------------------------------------------------------- 1 | # `ОбщегоНазначения.СтрокаТаблицыЗначенийВСтруктуру` (`Common.ValueTableRowToStructure`) 2 | 3 | 4 | Описание функции: 5 | 6 | > Преобразует строку таблицы значений в структуру. 7 | > Свойства структуры и их значения совпадают с колонками переданной строки. 8 | 9 | 10 | ## Типизация возвращаемых значений 11 | 12 | Функция возвращает структуру со свойствами идентичными колонкам таблицы 13 | 14 | Пример: 15 | 16 | ```bsl 17 | Процедура Тест() экспорт 18 | 19 | Результат = Новый ТаблицаЗначений(); 20 | Результат.Колонки.Добавить("НомерШага", Новый ОписаниеТипов("Число")); 21 | Результат.Колонки.Добавить("Страница", Новый ОписаниеТипов("Строка")); 22 | НоваяСтрока = Результат.Добавить(); 23 | 24 | Структура = ОбщегоНазначения.СтрокаТаблицыЗначенийВСтруктуру(НоваяСтрока); 25 | 26 | НомерШага = Структура.НомерШага; 27 | Страница = Структура.Страница; 28 | 29 | КонецПроцедуры 30 | ``` 31 | 32 | -------------------------------------------------------------------------------- /docs/common-value-table-to-array.md: -------------------------------------------------------------------------------- 1 | # `ОбщегоНазначения.ТаблицаЗначенийВМассив` (`Common.ValueTableToArray`) 2 | 3 | Описание функции: 4 | 5 | > Преобразует таблицу значений в массив структур. 6 | > Может использоваться для передачи на клиент данных в том случае, если таблица 7 | > значений содержит только такие значения, которые могут 8 | > быть переданы с сервера на клиент. 9 | > 10 | > Полученный массив содержит структуры, каждая из которых повторяет 11 | > структуру колонок таблицы значений. 12 | > 13 | > Не рекомендуется использовать для преобразования таблиц значений 14 | > с большим количеством строк. 15 | 16 | 17 | ## Типизация возвращаемых значений 18 | 19 | Функция возвращает массив из структур с со свойствами идентичными колонкам таблицы 20 | 21 | Пример: 22 | 23 | ```bsl 24 | Процедура Тест() экспорт 25 | 26 | Результат = Новый ТаблицаЗначений(); 27 | Результат.Колонки.Добавить("НомерШага", Новый ОписаниеТипов("Число")); 28 | Результат.Колонки.Добавить("Страница", Новый ОписаниеТипов("Строка")); 29 | 30 | Массив = ОбщегоНазначения.ТаблицаЗначенийВМассив(Результат); 31 | Для каждого Элемент из Массив Цикл 32 | НомерШага = Элемент.НомерШага; 33 | Страница = Элемент.Страница; 34 | КонецЦикла; 35 | 36 | КонецПроцедуры 37 | ``` 38 | 39 | -------------------------------------------------------------------------------- /docs/html/css/prism.css: -------------------------------------------------------------------------------- 1 | /* PrismJS 1.23.0 2 | https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+bash+bsl+java+javadoc+javadoclike+json+json5&plugins=show-language+highlight-keywords+toolbar */ 3 | /** 4 | * prism.js default theme for JavaScript, CSS and HTML 5 | * Based on dabblet (http://dabblet.com) 6 | * @author Lea Verou 7 | */ 8 | 9 | code[class*="language-"], 10 | pre[class*="language-"] { 11 | color: black; 12 | background: none; 13 | text-shadow: 0 1px white; 14 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 15 | font-size: 1em; 16 | text-align: left; 17 | white-space: pre; 18 | word-spacing: normal; 19 | word-break: normal; 20 | word-wrap: normal; 21 | line-height: 1.5; 22 | 23 | -moz-tab-size: 4; 24 | -o-tab-size: 4; 25 | tab-size: 4; 26 | 27 | -webkit-hyphens: none; 28 | -moz-hyphens: none; 29 | -ms-hyphens: none; 30 | hyphens: none; 31 | } 32 | 33 | pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, 34 | code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { 35 | text-shadow: none; 36 | background: #b3d4fc; 37 | } 38 | 39 | pre[class*="language-"]::selection, pre[class*="language-"] ::selection, 40 | code[class*="language-"]::selection, code[class*="language-"] ::selection { 41 | text-shadow: none; 42 | background: #b3d4fc; 43 | } 44 | 45 | @media print { 46 | code[class*="language-"], 47 | pre[class*="language-"] { 48 | text-shadow: none; 49 | } 50 | } 51 | 52 | /* Code blocks */ 53 | pre[class*="language-"] { 54 | padding: 1em; 55 | margin: .5em 0; 56 | overflow: auto; 57 | } 58 | 59 | :not(pre) > code[class*="language-"], 60 | pre[class*="language-"] { 61 | background: #f5f2f0; 62 | } 63 | 64 | /* Inline code */ 65 | :not(pre) > code[class*="language-"] { 66 | padding: .1em; 67 | border-radius: .3em; 68 | white-space: normal; 69 | } 70 | 71 | .token.comment, 72 | .token.prolog, 73 | .token.doctype, 74 | .token.cdata { 75 | color: slategray; 76 | } 77 | 78 | .token.punctuation { 79 | color: #999; 80 | } 81 | 82 | .token.namespace { 83 | opacity: .7; 84 | } 85 | 86 | .token.property, 87 | .token.tag, 88 | .token.boolean, 89 | .token.number, 90 | .token.constant, 91 | .token.symbol, 92 | .token.deleted { 93 | color: #905; 94 | } 95 | 96 | .token.selector, 97 | .token.attr-name, 98 | .token.string, 99 | .token.char, 100 | .token.builtin, 101 | .token.inserted { 102 | color: #690; 103 | } 104 | 105 | .token.operator, 106 | .token.entity, 107 | .token.url, 108 | .language-css .token.string, 109 | .style .token.string { 110 | color: #9a6e3a; 111 | /* This background color was intended by the author of this theme. */ 112 | background: hsla(0, 0%, 100%, .5); 113 | } 114 | 115 | .token.atrule, 116 | .token.attr-value, 117 | .token.keyword { 118 | color: #07a; 119 | } 120 | 121 | .token.function, 122 | .token.class-name { 123 | color: #DD4A68; 124 | } 125 | 126 | .token.regex, 127 | .token.important, 128 | .token.variable { 129 | color: #e90; 130 | } 131 | 132 | .token.important, 133 | .token.bold { 134 | font-weight: bold; 135 | } 136 | .token.italic { 137 | font-style: italic; 138 | } 139 | 140 | .token.entity { 141 | cursor: help; 142 | } 143 | 144 | div.code-toolbar { 145 | position: relative; 146 | } 147 | 148 | div.code-toolbar > .toolbar { 149 | position: absolute; 150 | top: .3em; 151 | right: .2em; 152 | transition: opacity 0.3s ease-in-out; 153 | opacity: 0; 154 | } 155 | 156 | div.code-toolbar:hover > .toolbar { 157 | opacity: 1; 158 | } 159 | 160 | /* Separate line b/c rules are thrown out if selector is invalid. 161 | IE11 and old Edge versions don't support :focus-within. */ 162 | div.code-toolbar:focus-within > .toolbar { 163 | opacity: 1; 164 | } 165 | 166 | div.code-toolbar > .toolbar .toolbar-item { 167 | display: inline-block; 168 | } 169 | 170 | div.code-toolbar > .toolbar a { 171 | cursor: pointer; 172 | } 173 | 174 | div.code-toolbar > .toolbar button { 175 | background: none; 176 | border: 0; 177 | color: inherit; 178 | font: inherit; 179 | line-height: normal; 180 | overflow: visible; 181 | padding: 0; 182 | -webkit-user-select: none; /* for button */ 183 | -moz-user-select: none; 184 | -ms-user-select: none; 185 | } 186 | 187 | div.code-toolbar > .toolbar a, 188 | div.code-toolbar > .toolbar button, 189 | div.code-toolbar > .toolbar span { 190 | color: #bbb; 191 | font-size: .8em; 192 | padding: 0 .5em; 193 | background: #f5f2f0; 194 | background: rgba(224, 224, 224, 0.2); 195 | box-shadow: 0 2px 0 0 rgba(0,0,0,0.2); 196 | border-radius: .5em; 197 | } 198 | 199 | div.code-toolbar > .toolbar a:hover, 200 | div.code-toolbar > .toolbar a:focus, 201 | div.code-toolbar > .toolbar button:hover, 202 | div.code-toolbar > .toolbar button:focus, 203 | div.code-toolbar > .toolbar span:hover, 204 | div.code-toolbar > .toolbar span:focus { 205 | color: inherit; 206 | text-decoration: none; 207 | } 208 | 209 | -------------------------------------------------------------------------------- /docs/html/footer.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 | -------------------------------------------------------------------------------- /docs/html/header.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | titleToken 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /docs/pict/common-module.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1C-Company/ssl-support/bf21b5df1302f75ed88473c6eed3093ff4f74652/docs/pict/common-module.gif -------------------------------------------------------------------------------- /docs/pict/subsystem-exist.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1C-Company/ssl-support/bf21b5df1302f75ed88473c6eed3093ff4f74652/docs/pict/subsystem-exist.gif -------------------------------------------------------------------------------- /docs/pict/type-common-module.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1C-Company/ssl-support/bf21b5df1302f75ed88473c6eed3093ff4f74652/docs/pict/type-common-module.gif -------------------------------------------------------------------------------- /docs/pict/type-object-attibutes-values.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1C-Company/ssl-support/bf21b5df1302f75ed88473c6eed3093ff4f74652/docs/pict/type-object-attibutes-values.gif -------------------------------------------------------------------------------- /docs/pict/type-object-attribute-value.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1C-Company/ssl-support/bf21b5df1302f75ed88473c6eed3093ff4f74652/docs/pict/type-object-attribute-value.gif -------------------------------------------------------------------------------- /docs/plugin.properties: -------------------------------------------------------------------------------- 1 | #Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/) 2 | #Properties file for com.e1c.ssl.docs 3 | 4 | pluginName = 1C:SSL support for 1C:EDT Documentation plugin 5 | providerName = 1C-Soft LLC 6 | -------------------------------------------------------------------------------- /docs/plugin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /docs/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 4.0.0 7 | 8 | com.e1c.ssl 9 | parent 10 | 0.7.0-SNAPSHOT 11 | 12 | com.e1c.ssl.docs 13 | 0.7.0-SNAPSHOT 14 | com.e1c.ssl 15 | eclipse-plugin 16 | 17 | 18 | 19 | 20 | com.ruleoftech 21 | markdown-page-generator-plugin 22 | 23 | ${project.basedir}/ 24 | false 25 | pict 26 | ${project.basedir}/html/header.html 27 | ${project.basedir}/html/footer.html 28 | TABLES,FENCED_CODE_BLOCKS,AUTOLINKS,SMARTS,TASKLISTITEMS,EXTANCHORLINKS,TOC 29 | true 30 | ${project.basedir}/html 31 | UTF-8 32 | UTF-8 33 | 34 | 35 | 36 | maven-antrun-plugin 37 | 38 | 39 | copy-changelog-file 40 | generate-sources 41 | 42 | 43 | 46 | 49 | 50 | 51 | 52 | run 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /docs/src/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1C-Company/ssl-support/bf21b5df1302f75ed88473c6eed3093ff4f74652/docs/src/.gitkeep -------------------------------------------------------------------------------- /docs/toc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 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 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /features/com.e1c.ssl.feature/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.e1c.ssl.feature 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.pde.FeatureBuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.pde.FeatureNature 16 | 17 | 18 | -------------------------------------------------------------------------------- /features/com.e1c.ssl.feature/.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding/=UTF-8 3 | -------------------------------------------------------------------------------- /features/com.e1c.ssl.feature/SourceTemplateFeature/build.properties: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Copyright (C) 2020, 1C-Soft LLC and others. 3 | # 4 | # This program and the accompanying materials are made 5 | # available under the terms of the Eclipse Public License 2.0 6 | # which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | # 8 | # SPDX-License-Identifier: EPL-2.0 9 | # 10 | # Contributors: 11 | # 1C-Soft LLC - initial API and implementation 12 | ############################################################################### 13 | bin.includes = feature.xml,\ 14 | SourceTemplateFeature/feature.properties 15 | -------------------------------------------------------------------------------- /features/com.e1c.ssl.feature/SourceTemplateFeature/feature.properties: -------------------------------------------------------------------------------- 1 | #Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/) 2 | ############################################################################### 3 | # Copyright (C) 2020, 1C-Soft LLC and others. 4 | # 5 | # This program and the accompanying materials are made 6 | # available under the terms of the Eclipse Public License 2.0 7 | # which is available at https://www.eclipse.org/legal/epl-2.0/ 8 | # 9 | # SPDX-License-Identifier: EPL-2.0 10 | # 11 | # Contributors: 12 | # 1C-Soft LLC - initial API and implementation 13 | ############################################################################### 14 | 15 | copyright = Copyright (C) 2020, 1C-Soft LLC and others.\r\n\r\nThis program and the accompanying materials are made\r\navailable under the terms of the Eclipse Public License 2.0\r\nwhich is available at https://www.eclipse.org/legal/epl-2.0/\r\n\r\nSPDX-License-Identifier: EPL-2.0 16 | 17 | description = 1C:SSL support for 1C:EDT source 18 | 19 | feature.name = 1C:SSL support for 1C:EDT source 20 | feature.vendor = 1C-Soft LLC 21 | 22 | license = Eclipse Public License 2.0 23 | 24 | licenseURL = https://www.eclipse.org/legal/epl-2.0/ 25 | -------------------------------------------------------------------------------- /features/com.e1c.ssl.feature/build.properties: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Copyright (C) 2020, 1C-Soft LLC and others. 3 | # 4 | # This program and the accompanying materials are made 5 | # available under the terms of the Eclipse Public License 2.0 6 | # which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | # 8 | # SPDX-License-Identifier: EPL-2.0 9 | # 10 | # Contributors: 11 | # 1C-Soft LLC - initial API and implementation 12 | ############################################################################### 13 | bin.includes = feature.xml,\ 14 | feature.properties 15 | -------------------------------------------------------------------------------- /features/com.e1c.ssl.feature/feature.properties: -------------------------------------------------------------------------------- 1 | #Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/) 2 | ############################################################################### 3 | # Copyright (C) 2020, 1C-Soft LLC and others. 4 | # 5 | # This program and the accompanying materials are made 6 | # available under the terms of the Eclipse Public License 2.0 7 | # which is available at https://www.eclipse.org/legal/epl-2.0/ 8 | # 9 | # SPDX-License-Identifier: EPL-2.0 10 | # 11 | # Contributors: 12 | # 1C-Soft LLC - initial API and implementation 13 | ############################################################################### 14 | 15 | copyright = Copyright (C) 2020, 1C-Soft LLC and others.\r\n\r\nThis program and the accompanying materials are made\r\navailable under the terms of the Eclipse Public License 2.0\r\nwhich is available at https://www.eclipse.org/legal/epl-2.0/\r\n\r\nSPDX-License-Identifier: EPL-2.0 16 | 17 | description = 1C:SSL support for 1C:EDT\r\nExtension for IDE allows to develop configuration bases on 1C:SSL-library with higher comfort 18 | 19 | feature.name = 1C:SSL support for 1C:EDT 20 | feature.vendor = 1C-Soft LLC 21 | 22 | license = Eclipse Public License 2.0 23 | 24 | licenseURL = https://www.eclipse.org/legal/epl-2.0/ 25 | -------------------------------------------------------------------------------- /features/com.e1c.ssl.feature/feature.xml: -------------------------------------------------------------------------------- 1 | 2 | 14 | 22 | 23 | 24 | %description 25 | 26 | 27 | 28 | %copyright 29 | 30 | 31 | 32 | %license 33 | 34 | 35 | 41 | 42 | 48 | 49 | 54 | 55 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /features/com.e1c.ssl.feature/feature_ru.properties: -------------------------------------------------------------------------------- 1 | #Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/) 2 | ############################################################################### 3 | # Copyright (C) 2020, 1C-Soft LLC and others. 4 | # 5 | # This program and the accompanying materials are made 6 | # available under the terms of the Eclipse Public License 2.0 7 | # which is available at https://www.eclipse.org/legal/epl-2.0/ 8 | # 9 | # SPDX-License-Identifier: EPL-2.0 10 | # 11 | # Contributors: 12 | # 1C-Soft LLC - initial API and implementation 13 | ############################################################################### 14 | #Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/) 15 | 16 | copyright = Copyright (C) 2020, 1C-Soft LLC and others.\r\n\r\nThis program and the accompanying materials are made\r\navailable under the terms of the Eclipse Public License 2.0\r\nwhich is available at https://www.eclipse.org/legal/epl-2.0/\r\n\r\nSPDX-License-Identifier: EPL-2.0 17 | 18 | description = 1C:SSL support for 1C:EDT\r\n\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u0435 \u0434\u043B\u044F 1C:EDT \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u044E\u0449\u0435\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044B\u0432\u0430\u0442\u044C \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043D\u0430 \u043E\u0441\u043D\u043E\u0432\u0435 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438 1\u0421:\u0411\u0421\u041F \u0441 \u0431\u041E\u043B\u044C\u0448\u0438\u043C \u043A\u043E\u043C\u0444\u043E\u0440\u0442\u043E\u043C. 19 | 20 | feature.name = 1C:SSL support for 1C:EDT 21 | feature.vendor = \u041E\u041E\u041E \u00AB1\u0421-\u0421\u043E\u0444\u0442\u00BB 22 | 23 | license = Eclipse Public License 2.0 24 | 25 | licenseURL = https://www.eclipse.org/legal/epl-2.0/ 26 | -------------------------------------------------------------------------------- /features/com.e1c.ssl.feature/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 14 | 15 | 18 | 4.0.0 19 | 20 | com.e1c.ssl 21 | features 22 | 0.7.0-SNAPSHOT 23 | 24 | 25 | com.e1c.ssl.feature 26 | 0.7.0-SNAPSHOT 27 | eclipse-feature 28 | 29 | 30 | 31 | 32 | org.eclipse.tycho 33 | tycho-source-plugin 34 | 35 | 36 | package 37 | 38 | feature-source 39 | 40 | 41 | 42 | 43 | 44 | org.eclipse.tycho 45 | tycho-p2-plugin 46 | 47 | 48 | package 49 | 50 | p2-metadata 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /features/com.e1c.ssl.sdk.feature/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.e1c.ssl.sdk.feature 4 | 5 | 6 | 7 | 8 | 9 | 10 | org.eclipse.pde.FeatureNature 11 | 12 | 13 | -------------------------------------------------------------------------------- /features/com.e1c.ssl.sdk.feature/.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding/=UTF-8 3 | -------------------------------------------------------------------------------- /features/com.e1c.ssl.sdk.feature/build.properties: -------------------------------------------------------------------------------- 1 | bin.includes = feature.xml,\ 2 | feature.properties 3 | individualSourceBundles=true 4 | generate.feature@com.e1c.ssl.source=com.e1c.ssl 5 | -------------------------------------------------------------------------------- /features/com.e1c.ssl.sdk.feature/feature.properties: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Copyright (c) 2020 1C-Soft LLC. 3 | # 4 | # This program and the accompanying materials are made available under 5 | # the terms of the Eclipse Public License 2.0 which is available at 6 | # https://www.eclipse.org/legal/epl-2.0/ 7 | # 8 | # SPDX-License-Identifier: EPL-2.0 9 | # 10 | # Contributors: 11 | # 1C-Soft LLC - initial API and implementation 12 | ############################################################################### 13 | # feature.properties 14 | # contains externalized strings for feature.xml 15 | # "%foo" in feature.xml corresponds to the key "foo" in this file 16 | # java.io.Properties file (ISO 8859-1 with "\" escapes) 17 | # This file should be translated. 18 | 19 | # "featureName" property - name of the feature 20 | featureName=1C:SSL support for 1C:EDT SDK 21 | 22 | # "providerName" property - name of the company that provides the feature 23 | providerName=1C-Soft LLC 24 | 25 | # "description" property - description of the feature 26 | description=1C:SSL support for 1C:EDT\r\nExtension for IDE allows to develop configuration bases on 1C:SSL-library with higher comfort 27 | 28 | # "copyright" property - text of the "Feature Update Copyright" 29 | copyright=\ 30 | Copyright (C) 2020, 1C-Soft LLC and others.\n\n\ 31 | This program and the accompanying materials are made available under\n\ 32 | the terms of the Eclipse Public License 2.0 which is available at\n\ 33 | https://www.eclipse.org/legal/epl-2.0/\n\n\ 34 | SPDX-License-Identifier: EPL-2.0\n 35 | ################ end of copyright property #################################### -------------------------------------------------------------------------------- /features/com.e1c.ssl.sdk.feature/feature.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 18 | 19 | 20 | %description 21 | 22 | 23 | 24 | %copyright 25 | 26 | 27 | 28 | %license 29 | 30 | 31 | 35 | 36 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /features/com.e1c.ssl.sdk.feature/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 13 | 4.0.0 14 | 15 | 16 | com.e1c.ssl 17 | features 18 | 0.7.0-SNAPSHOT 19 | 20 | 21 | com.e1c.ssl.sdk 22 | eclipse-feature 23 | 24 | -------------------------------------------------------------------------------- /features/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 14 | 4.0.0 15 | 16 | 17 | com.e1c.ssl 18 | parent 19 | 0.7.0-SNAPSHOT 20 | 21 | 22 | features 23 | pom 24 | 25 | Features 26 | 27 | 28 | true 29 | 30 | 31 | 32 | com.e1c.ssl.feature 33 | 34 | 35 | 36 | 37 | SDK 38 | 39 | 40 | com.e1c.ssl.sdk.feature 41 | 42 | 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /java.header: -------------------------------------------------------------------------------- 1 | ^/\**$ 2 | ^ \* Copyright \(C\) (\d\d\d\d), 1C-Soft LLC and others\.$ 3 | ^ \*$ -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 14 | 4.0.0 15 | 16 | 17 | com.e1c.ssl 18 | bom 19 | 0.7.0-SNAPSHOT 20 | ./bom/pom.xml 21 | 22 | 23 | com.e1c.ssl 24 | parent 25 | 0.7.0-SNAPSHOT 26 | pom 27 | 28 | 1C:SSL support for 1C:EDT 29 | 30 | 31 | scm:git:git@github.com:1C-Company/ssl-support.git 32 | 33 | 34 | 35 | targets 36 | bundles 37 | docs 38 | features 39 | repositories 40 | tests 41 | 42 | 43 | 44 | 45 | 46 | 47 | org.eclipse.tycho 48 | tycho-p2-repository-plugin 49 | 50 | ${project.name} Repository 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /repositories/com.e1c.ssl.repository.sdk/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.e1c.ssl.repository.sdk 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /repositories/com.e1c.ssl.repository.sdk/.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding/=UTF-8 3 | -------------------------------------------------------------------------------- /repositories/com.e1c.ssl.repository.sdk/category.xml: -------------------------------------------------------------------------------- 1 | 2 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /repositories/com.e1c.ssl.repository.sdk/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 14 | 4.0.0 15 | 16 | 17 | com.e1c.ssl 18 | repositories 19 | 0.7.0-SNAPSHOT 20 | 21 | 22 | com.e1c.ssl.repository.sdk 23 | eclipse-repository 24 | 25 | -------------------------------------------------------------------------------- /repositories/com.e1c.ssl.repository/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.e1c.ssl.repository 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /repositories/com.e1c.ssl.repository/.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding/=UTF-8 3 | -------------------------------------------------------------------------------- /repositories/com.e1c.ssl.repository/category.xml: -------------------------------------------------------------------------------- 1 | 2 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /repositories/com.e1c.ssl.repository/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 14 | 4.0.0 15 | 16 | 17 | com.e1c.ssl 18 | repositories 19 | 0.7.0-SNAPSHOT 20 | 21 | 22 | com.e1c.ssl.repository 23 | eclipse-repository 24 | 25 | -------------------------------------------------------------------------------- /repositories/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 14 | 4.0.0 15 | 16 | 17 | com.e1c.ssl 18 | parent 19 | 0.7.0-SNAPSHOT 20 | 21 | 22 | repositories 23 | pom 24 | 25 | Update Sites 26 | 27 | 28 | com.e1c.ssl.repository 29 | 30 | 31 | 32 | ${eclipse.p2.latest} 33 | true 34 | 35 | 36 | 37 | 38 | SDK 39 | 40 | 41 | com.e1c.ssl.repository.sdk 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /targets/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.e1c.ssl.targets 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /targets/.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding/=UTF-8 3 | -------------------------------------------------------------------------------- /targets/default/default.target: -------------------------------------------------------------------------------- 1 | 2 | 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 | en_US 56 | 57 | -------------------------------------------------------------------------------- /targets/default/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 14 | 4.0.0 15 | 16 | 17 | com.e1c.ssl 18 | targets 19 | 0.7.0-SNAPSHOT 20 | 21 | 22 | com.e1c.ssl 23 | default 24 | 0.7.0-SNAPSHOT 25 | 26 | eclipse-target-definition 27 | 28 | Target Platform 29 | 30 | -------------------------------------------------------------------------------- /targets/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 14 | 4.0.0 15 | 16 | 17 | com.e1c.ssl 18 | parent 19 | 0.7.0-SNAPSHOT 20 | 21 | 22 | targets 23 | pom 24 | 25 | Targets Definitions 26 | 27 | 28 | true 29 | 30 | 31 | 32 | default 33 | 34 | 35 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.e1c.ssl.bsl.itests 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | org.eclipse.pde.ManifestBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.pde.SchemaBuilder 20 | 21 | 22 | 23 | 24 | 25 | org.eclipse.pde.PluginNature 26 | org.eclipse.jdt.core.javanature 27 | 28 | 29 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding/=UTF-8 3 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=17 4 | org.eclipse.jdt.core.compiler.compliance=17 5 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 6 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 7 | org.eclipse.jdt.core.compiler.source=17 8 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Bundle-ManifestVersion: 2 3 | Bundle-Name: %pluginName 4 | Bundle-SymbolicName: com.e1c.ssl.bsl.itests;singleton:=true 5 | Bundle-Version: 0.7.0.qualifier 6 | Bundle-Vendor: %providerName 7 | Fragment-Host: com.e1c.ssl.bsl;bundle-version="[0.7.0,0.8.0)" 8 | Automatic-Module-Name: com.e1c.ssl.bsl.itests 9 | Bundle-RequiredExecutionEnvironment: JavaSE-17 10 | Import-Package: com._1c.g5.ides.core.handle.impl.xtext;version="[6.0.0,7.0.0)", 11 | com._1c.g5.v8.dt.core.handle;version="[3.1.0,4.0.0)", 12 | com._1c.g5.v8.dt.core.handle.impl;version="[4.1.0,5.0.0)", 13 | com._1c.g5.v8.dt.testing;version="[3.1.0,4.0.0)", 14 | org.junit;version="[4.12.0,5.0.0)" 15 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/build.properties: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Copyright (C) 2020, 1C-Soft LLC and others. 3 | # 4 | # This program and the accompanying materials are made 5 | # available under the terms of the Eclipse Public License 2.0 6 | # which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | # 8 | # SPDX-License-Identifier: EPL-2.0 9 | # 10 | # Contributors: 11 | # 1C-Soft LLC - initial API and implementation 12 | ############################################################################### 13 | source.. = src/ 14 | output.. = bin/ 15 | bin.includes = META-INF/,\ 16 | .,\ 17 | workspace/,\ 18 | plugin.properties,\ 19 | resources/ 20 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/plugin.properties: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Copyright (C) 2020, 1C-Soft LLC and others. 3 | # 4 | # This program and the accompanying materials are made 5 | # available under the terms of the Eclipse Public License 2.0 6 | # which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | # 8 | # SPDX-License-Identifier: EPL-2.0 9 | # 10 | # Contributors: 11 | # 1C-Soft LLC - initial API and implementation 12 | ############################################################################### 13 | #Properties file for com.e1c.ssl.bsl.itests 14 | providerName = 1C-Soft LLC 15 | pluginName = 1C:SSL support for 1C:EDT - BSL Integration Tests plugin -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 14 | 15 | 18 | 4.0.0 19 | 20 | com.e1c.ssl 21 | tests 22 | 0.7.0-SNAPSHOT 23 | 24 | com.e1c.ssl.bsl.itests 25 | 0.7.0-SNAPSHOT 26 | eclipse-test-plugin 27 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/arrays-difference.bsl: -------------------------------------------------------------------------------- 1 | 2 | Процедура Тест() 3 | 4 | Товары = Новый Массив; // Массив из СправочникСсылка.Товары - 5 | Поставщики = Новый Массив; // Массив из СправочникСсылка.Поставщики - 6 | ТоварыБезПоставщиков = ОбщегоНазначенияКлиентСервер.РазностьМассивов(Товары, Поставщики); 7 | Товар = ТоварыБезПоставщиков.Получить(0); 8 | 9 | КонецПроцедуры 10 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/check-documents-posting.bsl: -------------------------------------------------------------------------------- 1 | 2 | Процедура Тест() 3 | 4 | списокДокументов = Новый Массив; // Массив из ДокументСсылка.Документ - 5 | непроведенныйДокумент = ОбщегоНазначения.ПроверитьПроведенностьДокументов(списокДокументов).Получить(0); 6 | 7 | КонецПроцедуры 8 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/collapse-array.bsl: -------------------------------------------------------------------------------- 1 | 2 | Процедура Тест() 3 | 4 | Товары = Новый Массив; // Массив из СправочникСсылка.Товары - 5 | УникальныеТовары = ОбщегоНазначенияКлиентСервер.СвернутьМассив(Товары); 6 | УникальныйТовар = УникальныеТовары.Получить(0); 7 | 8 | КонецПроцедуры 9 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/common-module-client.bsl: -------------------------------------------------------------------------------- 1 | 2 | Процедура Тест() экспорт 3 | 4 | Модуль = ОбщегоНазначенияКлиент.ОбщийМодуль("ОбщегоНазначенияКлиент"); 5 | 6 | КонецПроцедуры 7 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/common-module-fixed-array.bsl: -------------------------------------------------------------------------------- 1 | 2 | Процедура Tест() 3 | 4 | Параметры = СведенияОбОбновлении(); 5 | ФиксированныйМассив = ОбщегоНазначения.ФиксированныеДанные(Параметры); 6 | // Часть кода для документации 7 | Для каждого Элемент из ФиксированныйМассив Цикл 8 | Если Элемент.ОбновлениеДоступно ИЛИ Элемент.Наименование = "Значение1" Тогда 9 | // Продолжаем... 10 | КонецЕсли 11 | КонецЦикла; 12 | 13 | КонецПроцедуры 14 | 15 | // Сведения об обновлении. 16 | // 17 | // Возвращаемое значение: 18 | // Массив из Структура: 19 | // * Наименование - Строка - описание, 20 | // * ОбновлениеДоступно - Булево - описание. 21 | // 22 | Функция СведенияОбОбновлении() 23 | Массив = Новый Массив(); 24 | Массив.Добавить(Новый Структура("Наименование, ОбновлениеДоступно", "Значение1", Истина)); 25 | Возврат Массив; 26 | КонецФункции 27 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/common-module-fixed-data.bsl: -------------------------------------------------------------------------------- 1 | 2 | Процедура Tест() 3 | 4 | ФиксированнаяСтруктура = ОбщегоНазначения.ФиксированныеДанные(Новый Структура("Ключ1","Значение1")); 5 | 6 | КонецПроцедуры -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/common-module-fixed-map.bsl: -------------------------------------------------------------------------------- 1 | 2 | Процедура Tест() 3 | 4 | Соответствие = Новый Соответствие(); 5 | Соответствие.Вставить("Ключ1", Новый Структура("Ключ3", 10)); 6 | Соответствие.Вставить("Ключ2", "Значение1"); 7 | 8 | ФиксированноеСоотвествие = ОбщегоНазначения.ФиксированныеДанные(Соответствие); 9 | // Часть кода для документации 10 | Если ФиксированноеСоотвествие.Ключ1.Ключ3 = 10 ИЛИ ФиксированноеСоотвествие.Ключ2 = "Значение1" Тогда 11 | // Продолжаем... 12 | КонецЕсли 13 | 14 | КонецПроцедуры 15 | 16 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/common-module-object-manager.bsl: -------------------------------------------------------------------------------- 1 | 2 | Процедура Тест() экспорт 3 | 4 | Модуль = ОбщегоНазначения.ОбщийМодуль("Справочники.Товары"); 5 | 6 | КонецПроцедуры 7 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/common-module-table-row-to-structure.bsl: -------------------------------------------------------------------------------- 1 | 2 | Процедура Тест() экспорт 3 | 4 | Результат = Новый ТаблицаЗначений(); 5 | Результат.Колонки.Добавить("НомерШага", Новый ОписаниеТипов("Число")); 6 | Результат.Колонки.Добавить("Страница", Новый ОписаниеТипов("Строка")); 7 | НоваяСтрока = Результат.Добавить(); 8 | 9 | Структура = ОбщегоНазначения.СтрокаТаблицыЗначенийВСтруктуру(НоваяСтрока); 10 | 11 | КонецПроцедуры -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/common-module-table-to-array.bsl: -------------------------------------------------------------------------------- 1 | 2 | Процедура Тест() экспорт 3 | 4 | Результат = Новый ТаблицаЗначений(); 5 | Результат.Колонки.Добавить("НомерШага", Новый ОписаниеТипов("Число")); 6 | Результат.Колонки.Добавить("Страница", Новый ОписаниеТипов("Строка")); 7 | 8 | Массив = ОбщегоНазначения.ТаблицаЗначенийВМассив(Результат); 9 | 10 | КонецПроцедуры 11 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/common-module-unload-column.bsl: -------------------------------------------------------------------------------- 1 | 2 | Процедура Тест() экспорт 3 | 4 | Результат = Новый ТаблицаЗначений(); 5 | Результат.Колонки.Добавить("НомерШага", Новый ОписаниеТипов("Число")); 6 | Результат.Колонки.Добавить("Страница", Новый ОписаниеТипов("Строка")); 7 | 8 | Массив = ОбщегоНазначения.ВыгрузитьКолонку(Результат, "Страница"); 9 | 10 | КонецПроцедуры 11 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/common-module.bsl: -------------------------------------------------------------------------------- 1 | 2 | Процедура Тест() экспорт 3 | 4 | Модуль = ОбщегоНазначения.ОбщийМодуль("УсловныйМодуль"); 5 | 6 | КонецПроцедуры 7 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/copy-recursive.bsl: -------------------------------------------------------------------------------- 1 | 2 | &НаСервере 3 | Процедура Тест_ПараметрыПоУмолчанию() экспорт 4 | 5 | Значение = Новый Структура("Ключ1", "Строка"); 6 | ЗначениеПослеКопирования = ОбщегоНазначения.СкопироватьРекурсивно(Значение); 7 | 8 | Конецпроцедуры 9 | 10 | &НаСервере 11 | Процедура Тест_ПараметрыПервыйПараметрУстановленВЗначениеПоУмолчанию() экспорт 12 | 13 | Значение = Новый Структура("Ключ1", "Строка"); 14 | ЗначениеПослеКопирования = ОбщегоНазначения.СкопироватьРекурсивно(Значение, Ложь); 15 | 16 | Конецпроцедуры 17 | 18 | &НаСервере 19 | Процедура Тест_ВозвратФиксированнойСтруктуры() экспорт 20 | 21 | Значение = Новый Структура("Ключ1", "Строка"); 22 | ЗначениеПослеКопирования = ОбщегоНазначения.СкопироватьРекурсивно(Значение, Истина); 23 | 24 | Конецпроцедуры 25 | 26 | &НаСервере 27 | Процедура Тест_ВозвратФиксированногоСоответствия() экспорт 28 | 29 | Значение = Новый Соответствие(); 30 | Значение.Вставить(1, Новый Структура("Ключ1", "Значение")); 31 | ЗначениеПослеКопирования = ОбщегоНазначения.СкопироватьРекурсивно(Значение, Истина); 32 | 33 | Конецпроцедуры 34 | 35 | &НаСервере 36 | Процедура Тест_ВозвратФиксированногоМассив() экспорт 37 | 38 | Значение = Новый Массив; // Массив Из Структура 39 | ЗначениеПослеКопирования = ОбщегоНазначения.СкопироватьРекурсивно(Значение, Истина); 40 | 41 | Конецпроцедуры 42 | 43 | &НаСервере 44 | Процедура Тест_ВозвратСписка() экспорт 45 | 46 | Значение = Новый СписокЗначений(); 47 | Значение.Вставить(1); 48 | ЗначениеПослеКопирования = ОбщегоНазначения.СкопироватьРекурсивно(Значение, Истина); 49 | 50 | Конецпроцедуры 51 | 52 | &НаСервере 53 | Процедура Тест_ВозвратСтруктуры() экспорт 54 | 55 | Значение = Новый ФиксированнаяСтруктура("Ключ1", "Строка"); 56 | ЗначениеПослеКопирования = ОбщегоНазначения.СкопироватьРекурсивно(Значение, Ложь); 57 | 58 | Конецпроцедуры -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/manager-by-full-name-ref.bsl: -------------------------------------------------------------------------------- 1 | 2 | Процедура Тест() экспорт 3 | 4 | Модуль = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени("Справочник.Товары"); 5 | 6 | КонецПроцедуры 7 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/manager-by-full-name.bsl: -------------------------------------------------------------------------------- 1 | 2 | #Если Сервер Тогда 3 | 4 | Процедура Тест() экспорт 5 | 6 | Модуль = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени("РегистрСведений.ШтрихКоды"); 7 | 8 | КонецПроцедуры 9 | 10 | #КонецЕсли 11 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/manager-by-ref-dynamic.bsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | #Если Сервер Тогда 4 | 5 | Процедура Тест() экспорт 6 | 7 | Ссылка = ПолучитьСсылку(); 8 | Модуль = ОбщегоНазначения.МенеджерОбъектаПоСсылке(Ссылка); 9 | 10 | КонецПроцедуры 11 | 12 | Функция ПолучитьСсылку() 13 | Возврат Справочники.Товары.ПустаяСсылка(); 14 | КонецФункции 15 | 16 | #КонецЕсли 17 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/manager-by-ref.bsl: -------------------------------------------------------------------------------- 1 | 2 | #Если Сервер Тогда 3 | 4 | // Параметры: 5 | // Ссылка - СправочникСсылка.Товары - 6 | Процедура Тест(Ссылка) экспорт 7 | 8 | Модуль = ОбщегоНазначения.МенеджерОбъектаПоСсылке(Ссылка); 9 | 10 | КонецПроцедуры 11 | 12 | #КонецЕсли 13 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/object-attribute-value-dynamic.bsl: -------------------------------------------------------------------------------- 1 | 2 | #Если Сервер Тогда 3 | 4 | Процедура Тест() экспорт 5 | 6 | Ссылка = ПолучитьСсылку(); 7 | Результат = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "Поставщик"); 8 | 9 | КонецПроцедуры 10 | 11 | Функция ПолучитьСсылку() 12 | Возврат Справочники.Товары.ПустаяСсылка(); 13 | КонецФункции 14 | 15 | #КонецЕсли 16 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/object-attribute-value.bsl: -------------------------------------------------------------------------------- 1 | #Если Сервер Тогда 2 | 3 | // Параметры: 4 | // Ссылка - СправочникСсылка.Товары - 5 | Процедура Тест(Ссылка) экспорт 6 | 7 | Результат = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "Поставщик.Ссылка.Родитель"); 8 | 9 | КонецПроцедуры 10 | 11 | #КонецЕсли 12 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/object-attributes-values-array-ctor-subproperty.bsl: -------------------------------------------------------------------------------- 1 | #Если Сервер Тогда 2 | 3 | // Параметры: 4 | // Ссылка - СправочникСсылка.Товары - 5 | Процедура Тест(Ссылка) экспорт 6 | 7 | ИмяРеквзита = "Поставщик.Код"; 8 | Результат = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка, Новый Массив(ИмяРеквзита, "Родитель.Ссылка", "Ссылка")); 9 | 10 | КонецПроцедуры 11 | 12 | #КонецЕсли 13 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/object-attributes-values-array-ctor.bsl: -------------------------------------------------------------------------------- 1 | #Если Сервер Тогда 2 | 3 | // Параметры: 4 | // Ссылка - СправочникСсылка.Товары - 5 | Процедура Тест(Ссылка) экспорт 6 | 7 | ИмяРеквзита = "Поставщик"; 8 | Результат = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка, Новый Массив(ИмяРеквзита, "Родитель", "Ссылка")); 9 | 10 | КонецПроцедуры 11 | 12 | #КонецЕсли 13 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/object-attributes-values-array.bsl: -------------------------------------------------------------------------------- 1 | #Если Сервер Тогда 2 | 3 | // Параметры: 4 | // Ссылка - СправочникСсылка.Товары - 5 | Процедура Тест(Ссылка) экспорт 6 | 7 | ИмяРеквзита = "Поставщик"; 8 | ИменаРеквизитов = Новый Массив("Родитель"); 9 | ИменаРеквизитов.Добавить(ИмяРеквзита); 10 | ИменаРеквизитов.Добавить(); 11 | ИменаРеквизитов.Добавить("Ссылка"); 12 | Результат = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка, ИменаРеквизитов); 13 | 14 | КонецПроцедуры 15 | 16 | #КонецЕсли 17 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/object-attributes-values-compute-strings.bsl: -------------------------------------------------------------------------------- 1 | #Если Сервер Тогда 2 | 3 | // Параметры: 4 | // Ссылка - СправочникСсылка.Товары - 5 | Процедура Тест(Ссылка) экспорт 6 | 7 | Реквзиит1 = "Код"; 8 | 9 | ИменаРеквизитов = "Поставщик"; 10 | ИменаРеквизитов = "Ссылка"; 11 | ИменаРеквизитов = ИменаРеквизитов + ", Родитель" + "," + Реквзиит1; 12 | Результат = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка, ИменаРеквизитов + ", Наименование"); 13 | 14 | КонецПроцедуры 15 | #КонецЕсли 16 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/object-attributes-values-dynamic.bsl: -------------------------------------------------------------------------------- 1 | 2 | #Если Сервер Тогда 3 | 4 | Процедура Тест() экспорт 5 | 6 | Ссылка = ПолучитьСсылку(); 7 | Результат = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка, "Поставщик, Родитель, Ссылка"); 8 | 9 | КонецПроцедуры 10 | 11 | 12 | Функция ПолучитьСсылку() 13 | Возврат Справочники.Товары.ПустаяСсылка(); 14 | КонецФункции 15 | 16 | #КонецЕсли 17 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/object-attributes-values-string-var.bsl: -------------------------------------------------------------------------------- 1 | #Если Сервер Тогда 2 | 3 | // Параметры: 4 | // Ссылка - СправочникСсылка.Товары - 5 | Процедура Тест(Ссылка) экспорт 6 | 7 | ИменаРеквизитов = "Поставщик, Родитель, Ссылка"; 8 | Результат = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка, ИменаРеквизитов); 9 | 10 | КонецПроцедуры 11 | 12 | #КонецЕсли 13 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/object-attributes-values-structure-ctor.bsl: -------------------------------------------------------------------------------- 1 | #Если Сервер Тогда 2 | 3 | // Параметры: 4 | // Ссылка - СправочникСсылка.Товары - 5 | Процедура Тест(Ссылка) экспорт 6 | 7 | ИмяРеквзита = "Поставщик"; 8 | ИмяПоля = "ОсновнойПоставщик"; 9 | Результат = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка, Новый Структура(ИмяПоля + ", Родитель, Ссылка", ИмяРеквзита)); 10 | 11 | КонецПроцедуры 12 | 13 | #КонецЕсли 14 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/object-attributes-values-structure-subproperty.bsl: -------------------------------------------------------------------------------- 1 | #Если Сервер Тогда 2 | 3 | // Параметры: 4 | // Ссылка - СправочникСсылка.Товары - 5 | Процедура Тест(Ссылка) экспорт 6 | 7 | ИмяРеквзита = "Поставщик"; 8 | ИменаРеквизитов = Новый Структура; 9 | ИменаРеквизитов.Вставить("ОсновнойПоставщик", ИмяРеквзита); 10 | ИменаРеквизитов.Вставить("Код", "Родитель.Код"); 11 | ИменаРеквизитов.Вставить("Ссылка"); 12 | ИменаРеквизитов.Вставить("Ссылка2", "Родитель." + ИмяРеквзита); 13 | Результат = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка, ИменаРеквизитов); 14 | 15 | КонецПроцедуры 16 | 17 | #КонецЕсли 18 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/object-attributes-values-structure.bsl: -------------------------------------------------------------------------------- 1 | #Если Сервер Тогда 2 | 3 | // Параметры: 4 | // Ссылка - СправочникСсылка.Товары - 5 | Процедура Тест(Ссылка) экспорт 6 | 7 | ИмяРеквзита = "Поставщик"; 8 | ИменаРеквизитов = Новый Структура; 9 | ИменаРеквизитов.Вставить(ИмяРеквзита); 10 | ИменаРеквизитов.Вставить("Родитель"); 11 | ИменаРеквизитов.Вставить("Ссылка"); 12 | Результат = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка, ИменаРеквизитов); 13 | 14 | КонецПроцедуры 15 | 16 | #КонецЕсли 17 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/object-attributes-values.bsl: -------------------------------------------------------------------------------- 1 | 2 | // Параметры: 3 | // Ссылка - СправочникСсылка.Товары - 4 | Процедура Тест(Ссылка) экспорт 5 | 6 | Результат = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка, "Поставщик, Родитель, Ссылка"); 7 | 8 | КонецПроцедуры 9 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/object-property-details.bsl: -------------------------------------------------------------------------------- 1 | 2 | &НаСервере 3 | Процедура Тест() экспорт 4 | 5 | МДО = Метаданные.Справочники.Товары; 6 | ИменаСвойств = "Имя, МногострочныйРежим, Синоним, Справка"; 7 | Таблица = ОбщегоНазначения.ОписаниеСвойствОбъекта(МДО, ИменаСвойств); 8 | 9 | Конецпроцедуры -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/objects-attribute-value-dynamic.bsl: -------------------------------------------------------------------------------- 1 | 2 | #Если Сервер Тогда 3 | 4 | Процедура Тест() экспорт 5 | 6 | Ссылки = ПолучитьСсылки(); 7 | Результат = ОбщегоНазначения.ЗначениеРеквизитаОбъектов(Ссылки, "Поставщик"); 8 | 9 | КонецПроцедуры 10 | 11 | Функция ПолучитьСсылки() 12 | Результат = Новый Массив;// Массив из СправочникСсылка.Товары - 13 | Результат.Добавить(Справочники.Товары.ПустаяСсылка()); 14 | Возврат Результат; 15 | КонецФункции 16 | 17 | #КонецЕсли 18 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/objects-attribute-value.bsl: -------------------------------------------------------------------------------- 1 | #Если Сервер Тогда 2 | 3 | // Параметры: 4 | // Ссылки - Массив из СправочникСсылка.Товары - 5 | Процедура Тест(Ссылки) экспорт 6 | 7 | Результат = ОбщегоНазначения.ЗначениеРеквизитаОбъектов(Ссылки, "Поставщик.Ссылка.Родитель"); 8 | 9 | КонецПроцедуры 10 | 11 | #КонецЕсли 12 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/objects-attributes-values-dynamic.bsl: -------------------------------------------------------------------------------- 1 | 2 | #Если Сервер Тогда 3 | 4 | Процедура Тест() экспорт 5 | 6 | Ссылки = ПолучитьСсылки(); 7 | Результат = ОбщегоНазначения.ЗначенияРеквизитовОбъектов(Ссылки, "Поставщик, Родитель, Ссылка"); 8 | 9 | КонецПроцедуры 10 | 11 | 12 | Функция ПолучитьСсылки() 13 | Результат = Новый Массив;// Массив из СправочникСсылка.Товары - 14 | Результат.Добавить(Справочники.Товары.ПустаяСсылка()); 15 | Возврат Результат; 16 | КонецФункции 17 | 18 | #КонецЕсли 19 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/objects-attributes-values-string-var.bsl: -------------------------------------------------------------------------------- 1 | #Если Сервер Тогда 2 | 3 | // Параметры: 4 | // Ссылки - Массив из СправочникСсылка.Товары - 5 | Процедура Тест(Ссылки) экспорт 6 | 7 | ИменаРеквизитов = "Поставщик, Родитель, Ссылка"; 8 | Результат = ОбщегоНазначения.ЗначенияРеквизитовОбъектов(Ссылки, ИменаРеквизитов); 9 | 10 | КонецПроцедуры 11 | 12 | #КонецЕсли 13 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/objects-attributes-values.bsl: -------------------------------------------------------------------------------- 1 | #Если Сервер Тогда 2 | 3 | // Параметры: 4 | // Ссылки - Массив из СправочникСсылка.Товары - 5 | Процедура Тест(Ссылки) экспорт 6 | 7 | Результат = ОбщегоНазначения.ЗначенияРеквизитовОбъектов(Ссылки, "Поставщик, Родитель, Ссылка"); 8 | 9 | КонецПроцедуры 10 | 11 | #КонецЕсли 12 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/subsystem-exist.bsl: -------------------------------------------------------------------------------- 1 | 2 | #Если Сервер Тогда 3 | Процедура Тест() экспорт 4 | 5 | Существует = ОбщегоНазначения.ПодсистемаСуществует("Стандартные.Файлы"); 6 | 7 | КонецПроцедуры 8 | #КонецЕсли 9 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/resources/common-functions/value-in-array.bsl: -------------------------------------------------------------------------------- 1 | 2 | Процедура тест() 3 | 4 | структура = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Новый Структура("Ключ1", "")).Получить(0); 5 | 6 | КонецПроцедуры 7 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/workspace/CommonFunctions/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | CommonFunctions 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.xtext.ui.shared.xtextBuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.xtext.ui.shared.xtextNature 16 | com._1c.g5.v8.dt.core.V8ConfigurationNature 17 | 18 | 19 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/workspace/CommonFunctions/.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding/=UTF-8 3 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/workspace/CommonFunctions/DT-INF/PROJECT.PMF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Runtime-Version: 8.3.19 3 | Store-Version: 1.0.0 4 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/workspace/CommonFunctions/src/Catalogs/Поставщики/Поставщики.mdo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Поставщики 11 | 12 | ru 13 | Поставщики 14 | 15 | true 16 | Catalog.Поставщики.StandardAttribute.Code 17 | Catalog.Поставщики.StandardAttribute.Description 18 | DontUse 19 | Use 20 | Managed 21 | Use 22 | 2 23 | true 24 | 9 25 | 25 26 | String 27 | Variable 28 | true 29 | true 30 | AsDescription 31 | InDialog 32 | BothWays 33 | 34 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/workspace/CommonFunctions/src/Catalogs/Товары/ManagerModule.bsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | // Возвращаемое значение: 4 | // Структура - Описание: 5 | // * Товар - СправочникСсылка.Товары - 6 | // * Отказ - Булево - 7 | Функция ФункцияМенеджера() Экспорт 8 | 9 | Возврат новый Структура("Товар, Отказ", Справочники.Товары.ПустаяСсылка(), Ложь); 10 | 11 | КонецФункции -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/workspace/CommonFunctions/src/Catalogs/Товары/Товары.mdo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Товары 11 | 12 | ru 13 | Товары 14 | 15 | true 16 | Catalog.Товары.StandardAttribute.Code 17 | Catalog.Товары.StandardAttribute.Description 18 | DontUse 19 | Use 20 | Managed 21 | Use 22 | true 23 | 2 24 | true 25 | 9 26 | 25 27 | String 28 | Variable 29 | true 30 | true 31 | AsDescription 32 | InDialog 33 | BothWays 34 | 35 | Поставщик 36 | 37 | ru 38 | Поставщик 39 | 40 | 41 | CatalogRef.Поставщики 42 | 43 | Use 44 | 45 | 46 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/workspace/CommonFunctions/src/CommonModules/ОбщегоНазначения/ОбщегоНазначения.mdo: -------------------------------------------------------------------------------- 1 | 2 | 3 | ОбщегоНазначения 4 | 5 | ru 6 | Общего назначения 7 | 8 | true 9 | 10 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/workspace/CommonFunctions/src/CommonModules/ОбщегоНазначенияКлиент/Module.bsl: -------------------------------------------------------------------------------- 1 | 2 | // Возвращает ссылку на общий модуль или модуль менеджера по имени. 3 | // 4 | // Параметры: 5 | // Имя - Строка - имя общего модуля. 6 | // 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 | ВызватьИсключение НСтр("ru = 'Общий модуль ""%1"" не найден.'"); 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 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/workspace/CommonFunctions/src/CommonModules/ОбщегоНазначенияКлиент/ОбщегоНазначенияКлиент.mdo: -------------------------------------------------------------------------------- 1 | 2 | 3 | ОбщегоНазначенияКлиент 4 | 5 | ru 6 | Общего назначения клиент 7 | 8 | true 9 | 10 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/workspace/CommonFunctions/src/CommonModules/ОбщегоНазначенияКлиентСервер/Module.bsl: -------------------------------------------------------------------------------- 1 | 2 | // Возвращает копию исходного массива с уникальными значениями. 3 | // 4 | // Параметры: 5 | // Массив - Массив - массив произвольных значений. 6 | // 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 | // МассивВычитания - Массив - массив элементов, который будет вычитаться. 56 | // 57 | // Возвращаемое значение: 58 | // Массив - разностью двух массивов. 59 | // 60 | // Пример: 61 | // //А = [1, 3, 5, 7]; 62 | // //В = [3, 7, 9]; 63 | // Результат = РазностьМассивов(А, В); 64 | // //Результат = [1, 5]; 65 | // 66 | Функция РазностьМассивов(Знач Массив, Знач МассивВычитания) Экспорт 67 | 68 | Результат = Новый Массив; 69 | Для Каждого Элемент Из Массив Цикл 70 | Если МассивВычитания.Найти(Элемент) = Неопределено Тогда 71 | Результат.Добавить(Элемент); 72 | КонецЕсли; 73 | КонецЦикла; 74 | Возврат Результат; 75 | 76 | КонецФункции 77 | 78 | // Создает массив и помещает в него переданное значение. 79 | // 80 | // Параметры: 81 | // Значение - Произвольный - любое значение. 82 | // 83 | // Возвращаемое значение: 84 | // Массив - массив из одного элемента. 85 | // 86 | Функция ЗначениеВМассиве(Значение) Экспорт 87 | 88 | Массив = Новый Массив; 89 | Массив.Добавить(Значение); 90 | 91 | Возврат Массив; 92 | 93 | КонецФункции -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/workspace/CommonFunctions/src/CommonModules/ОбщегоНазначенияКлиентСервер/ОбщегоНазначенияКлиентСервер.mdo: -------------------------------------------------------------------------------- 1 | 2 | 3 | ОбщегоНазначенияКлиентСервер 4 | 5 | ru 6 | Клиентские и серверные процедуры общего назначения 7 | 8 | true 9 | true 10 | true 11 | true 12 | 13 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/workspace/CommonFunctions/src/CommonModules/ТестовыйМодуль/Module.bsl: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/workspace/CommonFunctions/src/CommonModules/ТестовыйМодуль/ТестовыйМодуль.mdo: -------------------------------------------------------------------------------- 1 | 2 | 3 | ТестовыйМодуль 4 | 5 | ru 6 | Тестовый модуль 7 | 8 | true 9 | true 10 | true 11 | 12 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/workspace/CommonFunctions/src/CommonModules/УсловныйМодуль/Module.bsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | // Описание 4 | // 5 | // Возвращаемое значение: 6 | // Структура - Описание: 7 | // * Ссылка - ЛюбаяСсылка - 8 | // * Отказ - Булево - 9 | Функция ТестоваяФункция() Экспорт 10 | 11 | Возврат новый Структура("Ссылка, Отказ", Неопределено, Ложь); 12 | 13 | КонецФункции -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/workspace/CommonFunctions/src/CommonModules/УсловныйМодуль/УсловныйМодуль.mdo: -------------------------------------------------------------------------------- 1 | 2 | 3 | УсловныйМодуль 4 | 5 | ru 6 | Условный модуль 7 | 8 | true 9 | 10 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/workspace/CommonFunctions/src/Configuration/CommandInterface.cmi: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/workspace/CommonFunctions/src/Configuration/Configuration.mdo: -------------------------------------------------------------------------------- 1 | 2 | 3 | ДемоКонфигурация 4 | 5 | ru 6 | Демо конфигурация 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 8.3.9 15 | ManagedApplication 16 | PersonalComputer 17 | Russian 18 | Language.Русский 19 | Managed 20 | NotAutoFree 21 | DontUse 22 | DontUse 23 | 8.3.9 24 | 25 | Русский 26 | 27 | ru 28 | Русский 29 | 30 | ru 31 | 32 | Subsystem.Стандартные 33 | Subsystem.Подсистема1 34 | CommonModule.ОбщегоНазначения 35 | CommonModule.ОбщегоНазначенияКлиент 36 | CommonModule.ТестовыйМодуль 37 | CommonModule.УсловныйМодуль 38 | CommonModule.ОбщегоНазначенияКлиентСервер 39 | Catalog.Товары 40 | Catalog.Поставщики 41 | Document.Документ 42 | InformationRegister.ШтрихКоды 43 | 44 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/workspace/CommonFunctions/src/Configuration/HomePageWorkArea.hpwa: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/workspace/CommonFunctions/src/Configuration/MainSectionCommandInterface.cmi: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/workspace/CommonFunctions/src/Documents/Документ/Документ.mdo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Документ 11 | 12 | ru 13 | Документ 14 | 15 | true 16 | Document.Документ.StandardAttribute.Number 17 | DontUse 18 | Use 19 | Managed 20 | Use 21 | String 22 | 9 23 | Variable 24 | true 25 | true 26 | true 27 | true 28 | 29 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/workspace/CommonFunctions/src/InformationRegisters/ШтрихКоды/ManagerModule.bsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | // Возвращаемое значение: 5 | // Структура - Описание: 6 | // * Товар - СправочникСсылка.Товары - 7 | // * ШтрихКод - Строка - 8 | Функция ШтрихКод(Товар) Экспорт 9 | 10 | Возврат новый Структура("Товар, ШтрихКод", Справочники.Товары.ПустаяСсылка(), ""); 11 | 12 | КонецФункции -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/workspace/CommonFunctions/src/InformationRegisters/ШтрихКоды/ШтрихКоды.mdo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | ШтрихКоды 13 | 14 | ru 15 | Штрих коды 16 | 17 | true 18 | Managed 19 | 20 | ШтрихКод 21 | 22 | ru 23 | Штрих код 24 | 25 | 26 | String 27 | 28 | 100 29 | 30 | 31 | Use 32 | 33 | 34 | Товар 35 | 36 | ru 37 | Товар 38 | 39 | 40 | CatalogRef.Товары 41 | 42 | Use 43 | true 44 | 45 | 46 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/workspace/CommonFunctions/src/Subsystems/Подсистема1/CommandInterface.cmi: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/workspace/CommonFunctions/src/Subsystems/Подсистема1/Подсистема1.mdo: -------------------------------------------------------------------------------- 1 | 2 | 3 | Подсистема1 4 | 5 | ru 6 | Подсистема1 7 | 8 | true 9 | true 10 | 11 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/workspace/CommonFunctions/src/Subsystems/Стандартные/CommandInterface.cmi: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/workspace/CommonFunctions/src/Subsystems/Стандартные/Subsystems/Подсистема2/CommandInterface.cmi: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/workspace/CommonFunctions/src/Subsystems/Стандартные/Subsystems/Подсистема2/Подсистема2.mdo: -------------------------------------------------------------------------------- 1 | 2 | 3 | Подсистема2 4 | 5 | ru 6 | Подсистема2 7 | 8 | true 9 | true 10 | Subsystem.Стандартные 11 | 12 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/workspace/CommonFunctions/src/Subsystems/Стандартные/Subsystems/Файлы/CommandInterface.cmi: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/workspace/CommonFunctions/src/Subsystems/Стандартные/Subsystems/Файлы/Файлы.mdo: -------------------------------------------------------------------------------- 1 | 2 | 3 | Файлы 4 | 5 | ru 6 | Файлы 7 | 8 | true 9 | true 10 | Subsystem.Стандартные 11 | 12 | -------------------------------------------------------------------------------- /tests/com.e1c.ssl.bsl.itests/workspace/CommonFunctions/src/Subsystems/Стандартные/Стандартные.mdo: -------------------------------------------------------------------------------- 1 | 2 | 3 | Стандартные 4 | 5 | ru 6 | Стандартные 7 | 8 | true 9 | true 10 | Файлы 11 | Подсистема2 12 | 13 | --------------------------------------------------------------------------------