mirror of
https://github.com/Stepa86/jenkins-pipeline-1C-to-sonar.git
synced 2024-11-19 20:31:53 +02:00
Перенос внутренних наработок
This commit is contained in:
parent
4fa896a8c5
commit
d7ed7866e1
176
JenkinsFiles/Common.groovy
Normal file
176
JenkinsFiles/Common.groovy
Normal file
@ -0,0 +1,176 @@
|
||||
import java.net.URLEncoder
|
||||
|
||||
def cmd(String command) {
|
||||
log(command)
|
||||
|
||||
// при запуске Jenkins не в режиме UTF-8 нужно написать chcp 1251 вместо chcp 65001
|
||||
|
||||
if (isUnix()) {
|
||||
sh "${command}"
|
||||
} else {
|
||||
bat """chcp 65001 > nul
|
||||
${command}"""
|
||||
}
|
||||
}
|
||||
|
||||
def log(String text) {
|
||||
if (env.debug == 'true') {
|
||||
echo text
|
||||
}
|
||||
}
|
||||
|
||||
def cmdReturnStdout(String command) {
|
||||
log(command)
|
||||
|
||||
def output = ''
|
||||
|
||||
if (isUnix()) {
|
||||
output = sh script: "${command}",
|
||||
returnStdout: true
|
||||
} else {
|
||||
output = bat script:
|
||||
"""chcp 65001 > null
|
||||
${command}""",
|
||||
returnStdout: true
|
||||
}
|
||||
|
||||
def outputs = output.trim().split(command)
|
||||
|
||||
output = outputs[outputs.length - 1].trim()
|
||||
|
||||
log("Результат cmdReturnStdout: ${output}")
|
||||
|
||||
return output
|
||||
}
|
||||
|
||||
def runner_cli(String command, String commandArgs) {
|
||||
cmd("runner ${command} ${commandArgs} --debuglogfile=${logDir}/runner.log --debuglog")
|
||||
}
|
||||
|
||||
def readJSON_with_UTF8BOM(String pathToJSON) {
|
||||
String textJSON = readFile pathToJSON
|
||||
|
||||
textJSON = deBOM(textJSON)
|
||||
|
||||
log(textJSON)
|
||||
|
||||
def valuesJSON = readJSON text: textJSON, returnPojo: true
|
||||
|
||||
return valuesJSON
|
||||
}
|
||||
|
||||
def initParam(value, default_value, String name_value) {
|
||||
def result_value
|
||||
|
||||
if (value == null || value == 'null' || value.isEmpty()) {
|
||||
result_value = default_value
|
||||
}
|
||||
else {
|
||||
result_value = value
|
||||
}
|
||||
|
||||
log("${name_value}: ${result_value}")
|
||||
|
||||
return result_value
|
||||
}
|
||||
|
||||
def CommandDebug() {
|
||||
def commandDebug = ''
|
||||
|
||||
if (Get_Coverage) {
|
||||
commandDebug = "--additional \"/DEBUG -http -attach /debuggerURL ${debuggerURL}\""
|
||||
}
|
||||
|
||||
return commandDebug
|
||||
}
|
||||
|
||||
def SafetyDeleteDir() {
|
||||
int ntry = 10
|
||||
int toSleep = 1
|
||||
boolean deleted = false
|
||||
while (ntry != 0) {
|
||||
try {
|
||||
deleteDir()
|
||||
ntry = 0
|
||||
deleted = true
|
||||
}
|
||||
catch (e) {
|
||||
echo "Не удалось очистить каталог: ${e}"
|
||||
ntry--
|
||||
sleep(toSleep)
|
||||
toSleep = toSleep * 2
|
||||
}
|
||||
}
|
||||
if (!deleted){
|
||||
// Если вышли из цикла и так и не удалили, то делаем еще одну попытку без глушения исключения
|
||||
deleteDir()
|
||||
}
|
||||
}
|
||||
|
||||
String deBOM(String s) {
|
||||
if (s == null) {
|
||||
return null
|
||||
} else if (s.length() == 0) {
|
||||
return s
|
||||
} else if (s[0] == '\uFEFF') {
|
||||
return s.drop(1)
|
||||
} else {
|
||||
return s
|
||||
}
|
||||
}
|
||||
|
||||
def concatStrings(ArrayList ss, boolean addSpaces = false) {
|
||||
resultStr = ''
|
||||
|
||||
ss.each { str ->
|
||||
resultStr += str
|
||||
if (addSpaces) {
|
||||
resultStr += ' '
|
||||
}
|
||||
}
|
||||
|
||||
return resultStr
|
||||
}
|
||||
|
||||
@NonCPS
|
||||
String encode(String url) {
|
||||
return URLEncoder.encode(url, 'UTF-8')
|
||||
.replaceAll('\\+', '%20')
|
||||
.replaceAll('\\%21', '!')
|
||||
.replaceAll('\\%27', "'")
|
||||
.replaceAll('\\%28', '(')
|
||||
.replaceAll('\\%29', ')')
|
||||
.replaceAll('\\%7E', '~')
|
||||
.replaceAll('\\%2C', ',')
|
||||
.replaceAll('\\%2F\\%2F', '/(empty)/')
|
||||
.replaceAll('\\%2F', '/')
|
||||
}
|
||||
|
||||
def deleteFileIfExists(String filePath) {
|
||||
if ( fileExists("${filePath}") ) { cmd "rm -f ${filePath}" }
|
||||
if ( fileExists("${filePath}") ) { error "Failed to delete file ${filePath}" }
|
||||
}
|
||||
|
||||
String xml_From_EDT(String projectPath, String build_dir) {
|
||||
dir("${build_dir}/XML") {
|
||||
deleteDir()
|
||||
}
|
||||
dir("${build_dir}/WP") {
|
||||
deleteDir()
|
||||
}
|
||||
|
||||
def ringOpts = 'SET RING_OPTS=-Dfile.encoding=UTF-8 -Dosgi.nl=ru -Duser.language=ru'
|
||||
|
||||
def edtCommand = "ring edt workspace export --workspace-location ${build_dir}/WP --project ${projectPath} --configuration-files ${build_dir}/XML"
|
||||
|
||||
cmd("""${ringOpts}
|
||||
${edtCommand}""")
|
||||
|
||||
return "${build_dir}/XML"
|
||||
}
|
||||
|
||||
// Для возможности использования как модуль
|
||||
|
||||
log('Подключен общий модуль Common')
|
||||
|
||||
return this
|
2
LICENSE
2
LICENSE
@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2019 Антон Степанов
|
||||
Copyright (c) 2019-2021 Антон Степанов
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -1,4 +1,5 @@
|
||||
# jenkins-pipeline-1C-to-sonar
|
||||
|
||||
Конвейер проверки качества кода 1C
|
||||
|
||||
Описание и использование: https://infostart.ru/public/1117485/
|
||||
|
307
Sonar/Jenkinsfile
vendored
307
Sonar/Jenkinsfile
vendored
@ -1,9 +1,12 @@
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
def commonMethods
|
||||
|
||||
def BIN_CATALOG = ''
|
||||
def ACC_PROPERTIES = ''
|
||||
def ACC_CLASSIFICATION_ERROR = ''
|
||||
def ACC_BASE = ''
|
||||
def ACC_USER = ''
|
||||
def BSL_LS_PROPERTIES = ''
|
||||
def CURRENT_CATALOG = ''
|
||||
def TEMP_CATALOG = ''
|
||||
def PROJECT_NAME_EDT = ''
|
||||
@ -12,229 +15,239 @@ def EDT_VALIDATION_RESULT = ''
|
||||
def GENERIC_ISSUE_JSON = ''
|
||||
def SRC = ''
|
||||
def PROJECT_URL = ''
|
||||
def sonar_host = ''
|
||||
|
||||
pipeline {
|
||||
|
||||
parameters {
|
||||
string(defaultValue: "${env.PROJECT_NAME}", description: '* Имя проекта. Одинаковое для EDT, проекта в АПК и в сонаре. Обычно совпадает с именем конфигурации.', name: 'PROJECT_NAME')
|
||||
string(defaultValue: "${env.git_repo_url}", description: '* URL к гит-репозиторию, который необходимо проверить.', name: 'git_repo_url')
|
||||
string(defaultValue: "${env.git_repo_branch}", description: 'Ветка репозитория, которую необходимо проверить. По умолчанию master', name: 'git_repo_branch')
|
||||
string(defaultValue: "${env.sonar_catalog}", description: 'Каталог сонара, в котором лежит все, что нужно. По умолчанию C:/Sonar/', name: 'sonar_catalog')
|
||||
string(defaultValue: "${env.PROPERTIES_CATALOG}", description: 'Каталог с настройками acc.properties, bsl-language-server.conf и sonar-project.properties. По умолчанию ./Sonar', name: 'PROPERTIES_CATALOG')
|
||||
booleanParam(defaultValue: env.ACC_check== null ? true : env.ACC_check, description: 'Выполнять ли проверку АПК. Если нет, то будут получены существующие результаты. По умолчанию: true', name: 'ACC_check')
|
||||
booleanParam(defaultValue: env.ACC_recreateProject== null ? false : env.ACC_recreateProject, description: 'Пересоздать проект в АПК. Все данные о проекте будут собраны заново. По умолчанию: false', name: 'ACC_recreateProject')
|
||||
string(defaultValue: "${env.PROPERTIES_CATALOG}", description: 'Каталог с настройками acc.properties sonar-project.properties. По умолчанию ./Sonar', name: 'PROPERTIES_CATALOG')
|
||||
booleanParam(defaultValue: env.ACC_check == null ? true : env.ACC_check, description: 'Выполнять ли проверку АПК. Если нет, то будут получены существующие результаты. По умолчанию: true', name: 'ACC_check')
|
||||
booleanParam(defaultValue: env.ACC_recreateProject == null ? false : env.ACC_recreateProject, description: 'Пересоздать проект в АПК. Все данные о проекте будут собраны заново. По умолчанию: false', name: 'ACC_recreateProject')
|
||||
string(defaultValue: "${env.STEBI_SETTINGS}", description: 'Файл настроек для переопределения замечаний. Для файла из репо проекта должен начинатся с папки Repo, например .Repo/Sonar/settings.json. По умолчанию ./Sonar/settings.json', name: 'STEBI_SETTINGS')
|
||||
string(defaultValue: "${env.jenkinsAgent}", description: 'Нода дженкинса, на которой запускать пайплайн. По умолчанию master', name: 'jenkinsAgent')
|
||||
string(defaultValue: "${env.EDT_VERSION}", description: 'Используемая версия EDT. По умолчанию 1.13.0', name: 'EDT_VERSION')
|
||||
string(defaultValue: "${env.perf_catalog}", description: 'Путь к каталогу с замерами производительности, на основе которых будет рассчитано покрытие. Если пусто - покрытие не считается.', name: 'perf_catalog')
|
||||
string(defaultValue: "${env.git_credentials_Id}", description: 'ID Credentials для получения изменений из гит-репозитория', name: 'git_credentials_Id')
|
||||
string(defaultValue: "${env.JobWithCover}", description: 'Имя джоба с тестами в котором был выполнен сбор покрытия тестами', name: 'JobWithCover')
|
||||
string(defaultValue: "${env.EDT_VERSION}", description: 'Используемая версия EDT. По умолчанию 2020.6.0', name: 'EDT_VERSION')
|
||||
string(defaultValue: "${env.rocket_channel}", description: 'Канал в рокет-чате для отправки уведомлений', name: 'rocket_channel')
|
||||
booleanParam(defaultValue: env.debug, description: 'Вывод отладочных сообщений.', name: 'debug')
|
||||
}
|
||||
agent {
|
||||
label "${(env.jenkinsAgent == null || env.jenkinsAgent == 'null') ? "master" : env.jenkinsAgent}"
|
||||
label "${(env.jenkinsAgent == null || env.jenkinsAgent == 'null') ? 'master' : env.jenkinsAgent}"
|
||||
}
|
||||
options {
|
||||
timeout(time: 8, unit: 'HOURS')
|
||||
timeout(time: 8, unit: TimeUnit.HOURS)
|
||||
buildDiscarder(logRotator(numToKeepStr: '10'))
|
||||
timestamps()
|
||||
}
|
||||
stages {
|
||||
stage("Инициализация переменных") {
|
||||
stage("Инициализация") {
|
||||
steps {
|
||||
timestamps {
|
||||
script {
|
||||
script {
|
||||
|
||||
rocket_channel = rocket_channel == null || rocket_channel == 'null' ? '' : rocket_channel
|
||||
// Инициализация общего модуля
|
||||
commonMethods = load 'JenkinsFiles/Common.groovy'
|
||||
this.commonMethods = commonMethods
|
||||
|
||||
if (!rocket_channel.isEmpty() ) {
|
||||
rocketSend channel: rocket_channel, message: "Sonar check started: [${env.JOB_NAME} ${env.BUILD_NUMBER}](${env.JOB_URL})", rawMessage: true
|
||||
}
|
||||
// Инициализация параметров значениями по умолчанию
|
||||
sonar_catalog = sonar_catalog.isEmpty() ? "C:/Sonar/" : sonar_catalog
|
||||
PROPERTIES_CATALOG = PROPERTIES_CATALOG.isEmpty() ? "./Sonar" : PROPERTIES_CATALOG
|
||||
|
||||
EDT_VERSION = EDT_VERSION.isEmpty() ? '1.13.0' : EDT_VERSION
|
||||
STEBI_SETTINGS = STEBI_SETTINGS.isEmpty() ? './Sonar/settings.json' : STEBI_SETTINGS
|
||||
git_repo_branch = git_repo_branch.isEmpty() ? 'master' : git_repo_branch
|
||||
|
||||
perf_catalog = perf_catalog == null || perf_catalog == 'null' ? '' : perf_catalog
|
||||
|
||||
BIN_CATALOG = "${sonar_catalog}/bin/"
|
||||
ACC_BASE = "${sonar_catalog}/ACC/"
|
||||
ACC_USER = 'Admin'
|
||||
SRC = "./${PROJECT_NAME}/src"
|
||||
|
||||
// Подготовка переменных по переданным параметрам
|
||||
// Настройки инструментов
|
||||
ACC_PROPERTIES = "./Repo/${PROPERTIES_CATALOG}/acc.properties"
|
||||
if (fileExists(ACC_PROPERTIES)) {
|
||||
echo "file exists: ${ACC_PROPERTIES}"
|
||||
} else {
|
||||
echo "file does not exist: ${ACC_PROPERTIES}"
|
||||
ACC_PROPERTIES = "./Sonar/acc.properties"
|
||||
}
|
||||
BSL_LS_PROPERTIES = "./Repo/${PROPERTIES_CATALOG}/bsl-language-server.conf"
|
||||
if (fileExists(BSL_LS_PROPERTIES)) {
|
||||
echo "file exists: ${BSL_LS_PROPERTIES}"
|
||||
} else {
|
||||
echo "file does not exist: ${BSL_LS_PROPERTIES}"
|
||||
BSL_LS_PROPERTIES = "./Sonar/bsl-language-server.conf"
|
||||
}
|
||||
|
||||
CURRENT_CATALOG = pwd()
|
||||
TEMP_CATALOG = "${CURRENT_CATALOG}\\sonar_temp"
|
||||
EDT_VALIDATION_RESULT = "${TEMP_CATALOG}\\edt-result.csv"
|
||||
CURRENT_CATALOG = "${CURRENT_CATALOG}\\Repo"
|
||||
|
||||
// создаем/очищаем временный каталог
|
||||
dir(TEMP_CATALOG) {
|
||||
deleteDir()
|
||||
writeFile file: 'acc.json', text: '{"issues": []}'
|
||||
writeFile file: 'bsl-generic-json.json', text: '{"issues": []}'
|
||||
writeFile file: 'edt.json', text: '{"issues": []}'
|
||||
}
|
||||
PROJECT_NAME_EDT = "${CURRENT_CATALOG}\\${PROJECT_NAME}"
|
||||
if (git_repo_branch == 'master') {
|
||||
PROJECT_KEY = PROJECT_NAME
|
||||
} else {
|
||||
PROJECT_KEY = "${PROJECT_NAME}_${git_repo_branch}"
|
||||
}
|
||||
|
||||
GENERIC_ISSUE_JSON ="${TEMP_CATALOG}/acc.json,${TEMP_CATALOG}/bsl-generic-json.json,${TEMP_CATALOG}/edt.json"
|
||||
if (debug == 'true') {
|
||||
env.LOGOS_CONFIG = 'logger.rootLogger=DEBUG' // Вывод всех отладочных сообщений
|
||||
}
|
||||
|
||||
rocket_channel = rocket_channel == null || rocket_channel == 'null' ? '' : rocket_channel
|
||||
|
||||
// Инициализация параметров значениями по умолчанию
|
||||
sonar_catalog = commonMethods.initParam(sonar_catalog, 'C:/Sonar/', 'sonar_catalog')
|
||||
PROPERTIES_CATALOG = commonMethods.initParam(PROPERTIES_CATALOG, './Sonar', 'PROPERTIES_CATALOG')
|
||||
|
||||
STEBI_SETTINGS = commonMethods.initParam(STEBI_SETTINGS, './Sonar/settings.json', 'STEBI_SETTINGS')
|
||||
git_repo_branch = commonMethods.initParam(git_repo_branch, 'master', 'git_repo_branch')
|
||||
|
||||
JobWithCover = JobWithCover == null || JobWithCover == 'null' ? '' : JobWithCover
|
||||
EDT_VERSION = commonMethods.initParam(EDT_VERSION, '2020.6.0', 'EDT_VERSION')
|
||||
|
||||
BIN_CATALOG = "${sonar_catalog}/bin/"
|
||||
ACC_BASE = "${sonar_catalog}/ACC/"
|
||||
ACC_USER = 'Admin'
|
||||
SRC = "./${PROJECT_NAME}/src"
|
||||
|
||||
// Подготовка переменных по переданным параметрам
|
||||
// Настройки инструментов
|
||||
ACC_PROPERTIES = "./Repo/${PROPERTIES_CATALOG}/acc.properties"
|
||||
if (fileExists(ACC_PROPERTIES)) {
|
||||
commonMethods.log("file exists: ${ACC_PROPERTIES}")
|
||||
} else {
|
||||
commonMethods.log("file does not exist: ${ACC_PROPERTIES}")
|
||||
ACC_PROPERTIES = './Sonar/acc.properties'
|
||||
}
|
||||
|
||||
// csv файл с параметрами ишузов для выгрузки АПК
|
||||
ACC_CLASSIFICATION_ERROR = "./Repo/${PROPERTIES_CATALOG}/acc.ClassificationError.csv"
|
||||
if (fileExists(ACC_CLASSIFICATION_ERROR)) {
|
||||
commonMethods.log("file exists: ${ACC_CLASSIFICATION_ERROR}")
|
||||
} else {
|
||||
commonMethods.log("file does not exist: ${ACC_CLASSIFICATION_ERROR}")
|
||||
ACC_CLASSIFICATION_ERROR = './Sonar/acc.ClassificationError.csv'
|
||||
}
|
||||
|
||||
CURRENT_CATALOG = pwd()
|
||||
TEMP_CATALOG = "${CURRENT_CATALOG}\\sonar_temp"
|
||||
EDT_VALIDATION_RESULT = "${TEMP_CATALOG}\\edt-result.csv"
|
||||
CURRENT_CATALOG = "${CURRENT_CATALOG}\\Repo"
|
||||
|
||||
// создаем/очищаем временный каталог
|
||||
dir(TEMP_CATALOG) {
|
||||
deleteDir()
|
||||
writeFile file: 'acc.json', text: '{"issues": [], "rules": []}'
|
||||
writeFile file: 'edt.json', text: '{"issues": [], "rules": []}'
|
||||
}
|
||||
PROJECT_NAME_EDT = "${CURRENT_CATALOG}\\${PROJECT_NAME}"
|
||||
if (git_repo_branch == 'master') {
|
||||
PROJECT_KEY = PROJECT_NAME
|
||||
} else {
|
||||
PROJECT_KEY = "${PROJECT_NAME}_${git_repo_branch}"
|
||||
}
|
||||
|
||||
GENERIC_ISSUE_JSON = "${TEMP_CATALOG}/acc.json,${TEMP_CATALOG}/edt.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Checkout') {
|
||||
steps {
|
||||
timestamps {
|
||||
script {
|
||||
dir('Repo') {
|
||||
checkout([$class: 'GitSCM',
|
||||
script {
|
||||
dir('Repo') {
|
||||
commonMethods.cmd("git lfs install")
|
||||
checkout([$class: 'GitSCM',
|
||||
branches: [[name: "*/${git_repo_branch}"]],
|
||||
browser: [$class: 'GitLab', repoUrl: git_repo_url],
|
||||
doGenerateSubmoduleConfigurations: false,
|
||||
extensions: [[$class: 'CheckoutOption', timeout: 60], [$class: 'CloneOption', depth: 0, noTags: true, reference: '', shallow: false, timeout: 60]],
|
||||
submoduleCfg: [],
|
||||
userRemoteConfigs: [[credentialsId: git_credentials_Id, url: git_repo_url]]])
|
||||
}
|
||||
extensions: [[$class: 'CheckoutOption', timeout: 60], [$class: 'GitLFSPull'], [$class: 'CleanBeforeCheckout', deleteUntrackedNestedRepositories: true], [$class: 'CloneOption', depth: 0, noTags: true, reference: '', shallow: false, timeout: 60]],
|
||||
userRemoteConfigs: [[credentialsId: scm.userRemoteConfigs[0].credentialsId, url: "${git_repo_url}"]]])
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('АПК') {
|
||||
options {
|
||||
timeout(time: 4, unit: TimeUnit.HOURS)
|
||||
}
|
||||
environment {
|
||||
cmd_properties = [
|
||||
"acc.propertiesPaths=${ACC_PROPERTIES}",
|
||||
"acc.catalog=${CURRENT_CATALOG}",
|
||||
"acc.sources=${SRC}",
|
||||
"acc.result=${TEMP_CATALOG}\\acc.json",
|
||||
"acc.projectKey=${PROJECT_KEY}",
|
||||
'acc.exportRules=true',
|
||||
"acc.check=${ACC_check}",
|
||||
"acc.recreateProject=${ACC_recreateProject}",
|
||||
"acc.fileClassificationError=${ACC_CLASSIFICATION_ERROR}"
|
||||
].join(';')
|
||||
}
|
||||
|
||||
steps {
|
||||
timestamps {
|
||||
script {
|
||||
def cmd_properties = "\"acc.propertiesPaths=${ACC_PROPERTIES};acc.catalog=${CURRENT_CATALOG};acc.sources=${SRC};acc.result=${TEMP_CATALOG}\\acc.json;acc.projectKey=${PROJECT_KEY};acc.check=${ACC_check};acc.recreateProject=${ACC_recreateProject}\""
|
||||
cmd("runner run --ibconnection /F${ACC_BASE} --db-user ${ACC_USER} --command ${cmd_properties} --execute \"${BIN_CATALOG}acc-export.epf\" --ordinaryapp=1")
|
||||
}
|
||||
script {
|
||||
commonMethods.cmd("runner run --ibconnection /F${ACC_BASE} --db-user ${ACC_USER} --command \"${cmd_properties}\" --execute \"${BIN_CATALOG}acc-export.epf\" --ordinaryapp=1")
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('EDT') {
|
||||
steps {
|
||||
timestamps {
|
||||
script {
|
||||
if (fileExists("${EDT_VALIDATION_RESULT}")) {
|
||||
cmd("@DEL \"${EDT_VALIDATION_RESULT}\"")
|
||||
}
|
||||
cmd("""
|
||||
@set RING_OPTS=-Dfile.encoding=UTF-8 -Dosgi.nl=ru
|
||||
ring edt@${EDT_VERSION} workspace validate --workspace-location \"${TEMP_CATALOG}\" --file \"${EDT_VALIDATION_RESULT}\" --project-list \"${PROJECT_NAME_EDT}\"
|
||||
""")
|
||||
}
|
||||
}
|
||||
options {
|
||||
timeout(time: 30, unit: TimeUnit.MINUTES)
|
||||
}
|
||||
}
|
||||
stage('bsl-language-server') {
|
||||
steps {
|
||||
timestamps {
|
||||
script {
|
||||
cmd("java -Xmx8g -jar ${BIN_CATALOG}bsl-language-server.jar -a -s \"./Repo/${SRC}\" -r generic -c \"${BSL_LS_PROPERTIES}\" -o \"${TEMP_CATALOG}\"")
|
||||
script {
|
||||
if (fileExists("${EDT_VALIDATION_RESULT}")) {
|
||||
commonMethods.cmd("@DEL \"${EDT_VALIDATION_RESULT}\"")
|
||||
}
|
||||
withEnv(['RING_OPTS=-Dfile.encoding=UTF-8 -Dosgi.nl=ru -Duser.language=ru']) {
|
||||
commonMethods.cmd("ring edt@${EDT_VERSION} workspace validate --workspace-location \"${TEMP_CATALOG}\" --file \"${EDT_VALIDATION_RESULT}\" --project-list \"${PROJECT_NAME_EDT}\"")
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Конвертация результатов EDT') {
|
||||
steps {
|
||||
timestamps {
|
||||
script {
|
||||
script {
|
||||
dir('Repo') {
|
||||
cmd("""
|
||||
commonMethods.cmd("""
|
||||
set SRC=\"${SRC}\"
|
||||
stebi convert -e \"${EDT_VALIDATION_RESULT}\" \"${TEMP_CATALOG}/edt.json\"
|
||||
stebi convert -e \"${EDT_VALIDATION_RESULT}\" \"${TEMP_CATALOG}/edt.json\"
|
||||
""")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Трансформация результатов') {
|
||||
steps {
|
||||
timestamps {
|
||||
script {
|
||||
cmd("""
|
||||
script {
|
||||
commonMethods.cmd("""
|
||||
set GENERIC_ISSUE_SETTINGS_JSON=\"${STEBI_SETTINGS}\"
|
||||
set GENERIC_ISSUE_JSON=${GENERIC_ISSUE_JSON}
|
||||
set SRC=\"./Repo/${SRC}\"
|
||||
|
||||
stebi transform -r=0
|
||||
""")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Получение покрытия') {
|
||||
when { expression { !JobWithCover.isEmpty() } }
|
||||
steps {
|
||||
timestamps {
|
||||
script {
|
||||
if (!perf_catalog.isEmpty()) {
|
||||
dir('Repo') {
|
||||
cmd("perf-measurements-to-cover c -i=${perf_catalog} -o=\"${TEMP_CATALOG}\\genericCoverage.xml\" -s=\"${SRC}\"")
|
||||
}
|
||||
} else{
|
||||
echo "skip"
|
||||
}
|
||||
}
|
||||
script {
|
||||
copyArtifacts flatten: true, optional: true, filter: 'repo/.coverage/coverage.xml', projectName: JobWithCover, selector: workspace(), target: TEMP_CATALOG
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Сканер') {
|
||||
steps {
|
||||
timestamps {
|
||||
script {
|
||||
script {
|
||||
dir('Repo') {
|
||||
withSonarQubeEnv('Sonar') {
|
||||
def scanner_properties = "-X -Dsonar.projectVersion=%SONAR_PROJECTVERSION% -Dsonar.projectKey=${PROJECT_KEY} -Dsonar.sources=\"${SRC}\" -Dsonar.externalIssuesReportPaths=${GENERIC_ISSUE_JSON} -Dsonar.sourceEncoding=UTF-8 -Dsonar.inclusions=**/*.bsl -Dsonar.bsl.languageserver.enabled=false"
|
||||
if (!perf_catalog.isEmpty()) {
|
||||
scanner_properties = "${scanner_properties} -Dsonar.coverageReportPaths=\"${TEMP_CATALOG}\\genericCoverage.xml\""
|
||||
}
|
||||
def scannerHome = tool 'SonarQube Scanner';
|
||||
cmd("""
|
||||
@set SRC=\"${SRC}\"
|
||||
@echo %SRC%
|
||||
@call stebi g > temp_SONAR_PROJECTVERSION
|
||||
@set /p SONAR_PROJECTVERSION=<temp_SONAR_PROJECTVERSION
|
||||
@DEL temp_SONAR_PROJECTVERSION
|
||||
@echo %SONAR_PROJECTVERSION%
|
||||
@set JAVA_HOME=${sonar_catalog}\\jdk\\
|
||||
@set SONAR_SCANNER_OPTS=-Xmx6g
|
||||
${scannerHome}\\bin\\sonar-scanner ${scanner_properties} -Dfile.encoding=UTF-8
|
||||
""")
|
||||
PROJECT_URL = "${env.SONAR_HOST_URL}/dashboard?id=${PROJECT_KEY}"
|
||||
}
|
||||
withSonarQubeEnv('Sonar') {
|
||||
|
||||
if (!rocket_channel.isEmpty() ) {
|
||||
def qg = waitForQualityGate()
|
||||
rocketSend channel: rocket_channel, message: "Sonar check completed: [${env.JOB_NAME} ${env.BUILD_NUMBER}](${env.JOB_URL}) STATUS: [${qg.status}](${PROJECT_URL})", rawMessage: true
|
||||
def scanner_properties = [
|
||||
"-X",
|
||||
"-Dsonar.projectVersion=%SONAR_PROJECTVERSION%",
|
||||
"-Dsonar.projectKey=${PROJECT_KEY}",
|
||||
"-Dsonar.sources=\"${SRC}\"",
|
||||
"-Dsonar.externalIssuesReportPaths=${GENERIC_ISSUE_JSON}",
|
||||
"-Dsonar.sourceEncoding=UTF-8",
|
||||
"-Dsonar.inclusions=**/*.bsl",
|
||||
"-Dsonar.bsl.languageserver.enabled=true",
|
||||
"-Dfile.encoding=UTF-8"
|
||||
].join(' ')
|
||||
|
||||
if (fileExists("${TEMP_CATALOG}/coverage.xml")) {
|
||||
scanner_properties = [
|
||||
"${scanner_properties}",
|
||||
"-Dsonar.coverageReportPaths=\"${TEMP_CATALOG}\\coverage.xml\"",
|
||||
"-Dsonar.bsl.calculateLineCover=true"
|
||||
].join(' ')
|
||||
}
|
||||
def scannerHome = tool 'SonarQube Scanner';
|
||||
commonMethods.cmd("""
|
||||
@set SRC=\"${SRC}\"
|
||||
@echo %SRC%
|
||||
@call stebi g > temp_SONAR_PROJECTVERSION
|
||||
@set /p SONAR_PROJECTVERSION=<temp_SONAR_PROJECTVERSION
|
||||
@DEL temp_SONAR_PROJECTVERSION
|
||||
@echo %SONAR_PROJECTVERSION%
|
||||
@set SONAR_SCANNER_OPTS=-Xmx6g
|
||||
${scannerHome}\\bin\\sonar-scanner ${scanner_properties}
|
||||
""")
|
||||
PROJECT_URL = "${env.SONAR_HOST_URL}/dashboard?id=${PROJECT_KEY}"
|
||||
sonar_host = "${env.SONAR_HOST_URL}"
|
||||
}
|
||||
|
||||
def qg = waitForQualityGate()
|
||||
|
||||
if (!rocket_channel.isEmpty() ) {
|
||||
rocketSend channel: rocket_channel, message: "Проверка сонаром завершена: [${env.JOB_NAME} ${env.BUILD_NUMBER}](${env.JOB_URL}) СТАТУС: [${qg.status}](${PROJECT_URL}). Затрачено: ${currentBuild.durationString}", rawMessage: true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
def cmd(command) {
|
||||
// при запуске Jenkins не в режиме UTF-8 нужно написать chcp 1251 вместо chcp 65001
|
||||
if (isUnix()) { sh "${command}" } else { bat "chcp 65001\n${command}" }
|
||||
}
|
||||
|
480
Sonar/acc.ClassificationError.csv
Normal file
480
Sonar/acc.ClassificationError.csv
Normal file
@ -0,0 +1,480 @@
|
||||
MAJOR;BUG;3;5;Комментарий должен начинаться с прописной буквы.
|
||||
MAJOR;BUG;3;6;Комментарий содержит букву "ё".
|
||||
MAJOR;BUG;3;7;Синоним содержит букву "ё".
|
||||
MAJOR;BUG;3;8;Имя содержит букву "ё".
|
||||
CRITICAL;SKIP;0;58;Имя неверно образовано из синонима.
|
||||
MAJOR;BUG;3;59;Подсказка совпадает с синонимом.
|
||||
MAJOR;BUG;3;60;Не заполнен синоним конфигурации.
|
||||
MAJOR;BUG;3;61;В имени конфигурации запрещено использовать слова "редакция" или "подредакция".
|
||||
CRITICAL;SKIP;0;62;Неверно указан адрес информации о поставщике. Должен быть "http://www.1c.ru".
|
||||
CRITICAL;SKIP;0;63;Неверно указан адрес информации о конфигурации. Должен начинаться с "http://v8.1c.ru/".
|
||||
CRITICAL;SKIP;0;64;Неверно указан адрес каталога обновлений. Должен быть "http://downloads.v8.1c.ru/tmplts/".
|
||||
MAJOR;BUG;3;65;Использован метод "ПолучитьФорму()".
|
||||
CRITICAL;BUG;30;66;Использована конструкция "ДЛЯ ИЗМЕНЕНИЯ".
|
||||
MAJOR;BUG;3;67;Для конфигурации не установлен управляемый режим блокировки данных.
|
||||
INFO;CODE_SMELL;3;68;Использована конструкция "ДанныеФормыВЗначение()".
|
||||
MAJOR;BUG;3;69;Использован метод "Сообщить()".
|
||||
INFO;CODE_SMELL;3;70;Использована конструкция "ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ".
|
||||
MAJOR;CODE_SMELL;3;71;Неверно установлен номер версии. Он не должен быть вида 0.0.0.0, N.0.0.0, N.0.N.0 или N.0.0.N.
|
||||
MAJOR;BUG;3;72;Синоним должен оканчиваться на номер редакции.подредакции.
|
||||
MAJOR;BUG;3;73;Рекомендуется избегать в названии общего модуля таких общих слов как "Процедуры", "Функции", "Обработчики", "Модуль", "Функциональность" и т.п.
|
||||
MAJOR;BUG;3;75;Отсутствует обязательная конструкция "Если ОбменДанными.Загрузка Тогда ...".
|
||||
MAJOR;BUG;3;76;Неверно указана информация об авторских правах. Должно начинаться с "Copyright © ООО "1С-Софт"".
|
||||
MAJOR;BUG;20;78;Найдена экспортная процедура или функция в модуле формы.
|
||||
MAJOR;CODE_SMELL;3;80;Общий модуль, доступный только на клиенте, должен именоваться с постфиксом "Клиент".
|
||||
MAJOR;BUG;3;82;Не установлено свойство "Использовать управляемые формы в обычном приложении" для конфигурации.
|
||||
MAJOR;CODE_SMELL;3;83;Глобальный общий модуль должен именоваться с постфиксом "Глобальный".
|
||||
MAJOR;BUG;3;84;Привилегированный общий модуль должен именоваться с постфиксом "ПолныеПрава".
|
||||
MAJOR;BUG;3;85;Общий модуль с повторно используемыми значениями должен именоваться с постфиксом "ПовтИсп".
|
||||
MAJOR;BUG;3;86;Не задан синоним стандартного реквизита "Владелец".
|
||||
CRITICAL;BUG;5;87;Орфографическая ошибка в подсказке объекта метаданных.
|
||||
INFO;CODE_SMELL;3;89;Использован оператор "Перейти".
|
||||
MAJOR;BUG;3;90;Общий модуль, для которого предусмотрен вызов сервера, должен именоваться с постфиксом "ВызовСервера".
|
||||
MAJOR;BUG;3;93;Не заполнено ни представление объекта, ни представление списка.
|
||||
MAJOR;BUG;3;96;Использована конструкция "ОБЪЕДИНИТЬ".
|
||||
MAJOR;CODE_SMELL;3;98;Использована конструкция Следующий() при проверке того, что результат выполнения запроса не содержит строк.
|
||||
MAJOR;CODE_SMELL;3;99;Прикладной объект создан с помощью оператора Новый.
|
||||
CRITICAL;BUG;10;100;Использован обработчик событий, подключаемый из кода и не содержащий префикса "Подключаемый_".
|
||||
MAJOR;CODE_SMELL;3;101;Длина выражения превышает 120 символов.
|
||||
MINOR;CODE_SMELL;5;102;Неправильный перенос текста в выражении.
|
||||
MINOR;CODE_SMELL;5;103;Строка должна находиться в конце предыдущей.
|
||||
CRITICAL;BUG;5;104;Использована директива компиляции.
|
||||
CRITICAL;BUG;10;105;Использована явная запись наборов записей регистров (с помощью метода Записать) в процедуре обработки проведения.
|
||||
MINOR;CODE_SMELL;10;108;Документ не имеет реквизита "Комментарий".
|
||||
MINOR;CODE_SMELL;10;109;Реквизит "Комментарий" имеет недопустимый тип.
|
||||
MAJOR;CODE_SMELL;3;113;Размер элемента управления типа "Кнопка" меньше 60х19.
|
||||
MAJOR;CODE_SMELL;3;114;Элемент управления типа "Кнопка" содержит многострочный заголовок.
|
||||
MAJOR;CODE_SMELL;3;115;Элемент управления типа "Кнопка" находится на командной панели.
|
||||
MAJOR;CODE_SMELL;3;117;Ширина вертикального разделителя не соответствует требованиям.
|
||||
MAJOR;CODE_SMELL;3;118;Высота горизонтального разделителя не соответствует требованиям.
|
||||
MAJOR;CODE_SMELL;3;120;Расположение закладок у панели не соответствует требованиям.
|
||||
CRITICAL;BUG;30;123;Обращение к полям регистратора.
|
||||
BLOCKER;BUG;10;125;Общий модуль недопустимого типа.
|
||||
MINOR;BUG;10;127;Отсутствует описание у экспортной переменной.
|
||||
MAJOR;BUG;3;128;Отсутствует описание у переменной.
|
||||
MAJOR;CODE_SMELL;3;132;Не верно установлена текущая дата.
|
||||
MAJOR;BUG;10;134;Количество параметров более 7.
|
||||
MAJOR;CODE_SMELL;3;137;Не рекомендуются длительные вызовы из клиентского кода в серверный.
|
||||
MAJOR;CODE_SMELL;3;138;Не определена функция для создания новой структуры.
|
||||
MAJOR;BUG;30;141;Необязательные параметры расположены перед обязательными.
|
||||
MAJOR;BUG;30;142;Количество необязательных параметров более 3.
|
||||
CRITICAL;BUG;10;143;Использование функции "ТекущаяДата()".
|
||||
CRITICAL;BUG;10;144;Присвоение параметру "Отказ" значения, отличного от "Истина".
|
||||
MAJOR;CODE_SMELL;3;145;Выключен флаг "Устанавливать права для новых объектов" или "Устанавливать права для реквизитов и табличных частей по умолчанию" у роли "Полные права".
|
||||
CRITICAL;BUG;10;146;Флаг "Устанавливать права для новых объектов" должен быть включен только у роли "ПолныеПрава".
|
||||
MAJOR;BUG;5;148;Реквизит "Ссылка" динамического списка не выведен в таблицу на форме.
|
||||
MAJOR;BUG;5;149;У поля "Ссылка" таблицы динамического списка не отключена пользовательская видимость.
|
||||
CRITICAL;BUG;30;150;Использована неправильная конструкция при установке внешней компоненты.
|
||||
MINOR;BUG;10;152;В параметре "ИмяСобытия" метода "ЗаписьЖурналаРегистрации()" имеется лишний пробел после точки.
|
||||
MAJOR;CODE_SMELL;3;153;Не локализован параметр "Комментарий" метода "ЗаписьЖурналаРегистрации()".
|
||||
MINOR;BUG;10;154;Если в параметре "Комментарий" метода "ЗаписьЖурналаРегистрации()" указано подробное описание ошибки, то уровень журнала должен быть "Ошибка".
|
||||
MINOR;BUG;10;156;Не локализован параметр "ИмяСобытия" метода "ЗаписьЖурналаРегистрации()".
|
||||
MINOR;BUG;10;157;Для параметра "ИмяСобытия" метода "ЗаписьЖурналаРегистрации()" не задан основной язык конфигурации.
|
||||
INFO;CODE_SMELL;5;160;У реквизита "Ссылка" динамического списка выключен признак "Использовать всегда".
|
||||
MAJOR;CODE_SMELL;3;161;Параметр "ИмяСобытия" метода "ЗаписьЖурналаРегистрации()" инициализируется функцией, возращающей нелокализованную строку.
|
||||
MAJOR;BUG;3;162;Не установлено право.
|
||||
MINOR;CODE_SMELL;5;163;Строка текста модуля содержит букву "ё".
|
||||
MAJOR;BUG;10;164;Установлено право "Удаление".
|
||||
CRITICAL;BUG;10;165;Установлено лишнее право.
|
||||
MAJOR;BUG;3;192;Установлено право "ИнтерактивноеУдалениеПредопределенныхДанных".
|
||||
MAJOR;BUG;10;193;Установлено право "ИнтерактивнаяПометкаУдаленияПредопределенныхДанных".
|
||||
MAJOR;BUG;10;194;Установлено право "ИнтерактивноеСнятиеПометкиУдаленияПредопределенныхДанных".
|
||||
MAJOR;BUG;10;195;Установлено право "ИнтерактивноеУдалениеПомеченныхПредопределенныхДанных".
|
||||
MAJOR;BUG;10;216;Слово содержит кириллицу и латиницу.
|
||||
CRITICAL;BUG;10;217;Неправильная кодировка символа "минус".
|
||||
MAJOR;BUG;3;218;Установлены все права в роли "ПолныеПрава" для объекта, не входящего в состав разделителя.
|
||||
CRITICAL;BUG;10;219;Установлены все права в роли "АдминистраторСистемы" для объекта, входящего в состав разделителя.
|
||||
MAJOR;BUG;3;220;Не установлено право в роли "АдминистраторСистемы".
|
||||
CRITICAL;BUG;20;222;Использование устаревшей процедуры.
|
||||
CRITICAL;BUG;20;223;Использование устаревшей функции.
|
||||
MAJOR;BUG;3;224;Для обязательной роли установлен неправильный синоним.
|
||||
CRITICAL;BUG;10;226;В документе, предполагающем проведение, не установлен флаг "Привилегированный режим при проведении".
|
||||
CRITICAL;BUG;10;227;В документе, предполагающем проведение, не установлен флаг "Привилегированный режим при отмене проведения".
|
||||
MAJOR;CODE_SMELL;3;228;В функциональной опции не установлен флаг "Привилегированный режим при получении".
|
||||
CRITICAL;BUG;10;229;В роли есть право на изменение регистра, подчиненного регистратору.
|
||||
MAJOR;CODE_SMELL;3;232;Неверно установлены права на константу.
|
||||
CRITICAL;BUG;10;233;Для подсистемы верхнего уровня, отображаемой в командном интерфейсе, не найдено роли.
|
||||
MAJOR;CODE_SMELL;3;234;В роли не установлено право просмотра для подсистемы.
|
||||
MAJOR;BUG;5;235;Орфографическая ошибка в имени элемента формы.
|
||||
MINOR;BUG;5;236;Неверно образован синоним объекта с префиксом "Удалить".
|
||||
MAJOR;BUG;10;239;В модуле должны быть определены стандартные области.
|
||||
MAJOR;BUG;10;240;Код в модуле с (возможным) программным интерфейсом размещен вне стандартных областей.
|
||||
MAJOR;BUG;10;241;Код размещен вне стандартных областей.
|
||||
MAJOR;BUG;3;242;Не установлен признак переключения для интерфейса.
|
||||
MAJOR;BUG;3;244;Длинные комментарии должны начинаться с большой буквы.
|
||||
MAJOR;BUG;10;246;Нет пробела в начале комментария.
|
||||
MAJOR;BUG;10;247;Имена переменных не должны состоять из одного символа.
|
||||
MAJOR;CODE_SMELL;10;248;Имена переменных не должны начинаться с подчеркивания.
|
||||
MAJOR;BUG;3;249;Оператор "Перейти" не поддерживается платформой "1С:Предприятие" в режиме веб-клиента.
|
||||
MAJOR;BUG;10;250;Найдена экспортная процедура или функция в модуле команды.
|
||||
MAJOR;BUG;3;251;Обязательная роль не установлена как основная роль конфигурации.
|
||||
MINOR;CODE_SMELL;5;254;Ключевое слово запроса написано не канонически.
|
||||
MAJOR;CODE_SMELL;3;256;В объекте "Подписка на событие" использован обработчик из общего модуля, не являющегося клиент-серверным.
|
||||
MAJOR;CODE_SMELL;3;259;Имя неверно образовано из синонима с префиксом "(не используется)".
|
||||
INFO;CODE_SMELL;10;263;Неверно снят флажок "Включать в командный интерфейс". Для подсистемы, включенной в пользовательский командный интерфейс, он должен быть установлен.
|
||||
INFO;CODE_SMELL;3;264;Неверно установлен флажок "Включать в командный интерфейс". Для функциональной подсистемы он должен быть снят.
|
||||
MAJOR;BUG;5;265;Орфографическая ошибка в имени объекта метаданных.
|
||||
MINOR;BUG;10;267;Количество параметров вызова процедуры или функции не соответствует количеству параметров ее определения.
|
||||
MAJOR;CODE_SMELL;3;269;Обращение к несуществующей подсистеме.
|
||||
CRITICAL;BUG;30;271;Обращение к несуществующему общему модулю.
|
||||
MAJOR;BUG;5;273;В структуре модуля присутствуют пустые области.
|
||||
MAJOR;BUG;5;274;Неправильный порядок стандартных областей в коде.
|
||||
BLOCKER;BUG;20;275;Обращение к несуществующему элементу формы.
|
||||
MAJOR;BUG;20;277;Недопустимый вызов служебной процедуры или функции другой подсистемы.
|
||||
MAJOR;BUG;20;278;Недопустимый вызов служебного программного интерфейса.
|
||||
MAJOR;BUG;20;280;Конструкция "Попытка...Исключение...КонецПопытки" не содержит кода в исключении.
|
||||
MAJOR;BUG;20;282;Закомментированный код или отсутствие пробела в комментарии после знака "//".
|
||||
MAJOR;BUG;20;283;Обращение к несуществующей роли.
|
||||
MAJOR;BUG;20;284;В тексте модуля содержатся служебные комментарии.
|
||||
MAJOR;BUG;20;285;Закомментированный код содержит запрещенный символ.
|
||||
MAJOR;BUG;20;286;Стандартная область является вложенной.
|
||||
BLOCKER;BUG;20;287;Обращение к несуществующей процедуре (функции).
|
||||
MAJOR;CODE_SMELL;3;288;Устаревшая функция содержит код.
|
||||
MAJOR;CODE_SMELL;3;289;Устаревшая процедура содержит код.
|
||||
MAJOR;BUG;20;290;Неверно установлены права в роли для чтения.
|
||||
MAJOR;BUG;20;291;Неверно установлены права в роли для изменения.
|
||||
MAJOR;BUG;3;293;В конструкторе объекта типа "Структура" указано более 3-х значений свойств.
|
||||
MAJOR;CODE_SMELL;3;294;В конструкторе объекта типа "Структура" использован конструктор другого объекта с параметрами.
|
||||
MAJOR;CODE_SMELL;3;295;В конструкторе объекта типа "Структура" использован вызов функции с количеством параметров более 3-х.
|
||||
MAJOR;BUG;10;299;Возможно, неиспользуемая экспортная процедура (функция).
|
||||
MAJOR;BUG;3;302;В начале процедуры обработки регламентного задания отсутствует вызов процедуры "ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания();".
|
||||
MAJOR;CODE_SMELL;3;304;Неверно установлено значение свойства "ОбновлениеПредопределенныхДанных".
|
||||
MAJOR;CODE_SMELL;3;305;Программный вызов метода "УстановитьОбновлениеПредопределенныхДанных" используется для переключения режима "ОбновлениеПредопределенныхДанных".
|
||||
INFO;CODE_SMELL;3;307;Название процедуры (функции) содержит описание типов принимаемых параметров или возвращаемых значений.
|
||||
MAJOR;CODE_SMELL;3;311;Длина названия раздела превышает 35 символов.
|
||||
MAJOR;BUG;3;313;Длина названия команды превышает 38 символов.
|
||||
MAJOR;BUG;3;319;Периодичность выполнения регламентного задания меньше одной минуты.
|
||||
MAJOR;CODE_SMELL;3;320;НСтр() в выражении параметра макета. Значение параметра нужно задавать с помощью НСтр() не в колонке "Выражение", а в модуле отчета.
|
||||
MAJOR;CODE_SMELL;3;321;Термин "1C:Предприятие" ошибочно задан с латинской "C".
|
||||
MAJOR;BUG;5;323;Орфографическая ошибка в заголовке команды формы.
|
||||
MAJOR;BUG;5;324;Орфографическая ошибка в подсказке команды формы.
|
||||
MAJOR;BUG;3;325;Нарушена схема работы с транзакциями: отсутствует вызов "НачатьТранзакцию()", хотя вызываются "ЗафиксироватьТранзакцию()"/"ОтменитьТранзакцию()".
|
||||
CRITICAL;BUG;20;326;Нарушена схема работы с транзакциями: для вызова "НачатьТранзакцию()" отсутствует парный вызов "ЗафиксироватьТранзакцию()".
|
||||
MAJOR;BUG;3;327;Нарушена схема работы с транзакциями: для вызова "НачатьТранзакцию()" отсутствует парный вызов "ОтменитьТранзакцию()".
|
||||
MAJOR;BUG;3;328;Нарушена схема работы с транзакциями: не найден оператор "Попытка" после вызова "НачатьТранзакцию()".
|
||||
MAJOR;BUG;3;329;Нарушена схема работы с транзакциями: вызов "ЗафиксироватьТранзакцию()" находится вне конструкции "Попытка... Исключение".
|
||||
MAJOR;BUG;3;330;Нарушена схема работы с транзакциями: между "ЗафиксироватьТранзакцию()" и "Исключение" есть исполняемый код, который может вызвать исключение.
|
||||
MAJOR;BUG;3;331;Нарушена схема работы с транзакциями: между "НачатьТранзакцию()" и "Попытка" есть исполняемый код.
|
||||
CRITICAL;BUG;20;332;Нарушена схема работы с транзакциями: вызов "ОтменитьТранзакцию()" отсутствует в конструкции "Исключение... КонецПопытки".
|
||||
MAJOR;CODE_SMELL;3;334;Функция НСтр() использована для локализации внутренних идентификаторов.
|
||||
MINOR;BUG;10;335;Обнаружена нелокализованная дата.
|
||||
MAJOR;BUG;3;336;Использован метод "РольДоступна()".
|
||||
MAJOR;CODE_SMELL;3;341;Использована ролевая настройка видимости для элемента формы.
|
||||
MAJOR;BUG;3;345;Небезопасное хранение паролей в информационной базе.
|
||||
MAJOR;BUG;3;346;Обращение к несуществующему параметру формы.
|
||||
MAJOR;BUG;3;347;Не задан синоним стандартного реквизита "Родитель".
|
||||
MAJOR;CODE_SMELL;5;349;Синоним стандартного реквизита "Владелец" совпадает с наименованием.
|
||||
MAJOR;CODE_SMELL;5;350;Синоним стандартного реквизита "Родитель" совпадает с наименованием.
|
||||
MAJOR;BUG;3;351;Бессмысленное (автосгенерированное) имя элемента формы.
|
||||
MINOR;CODE_SMELL;5;352;Бессмысленное (автосгенерированное) имя реквизита формы.
|
||||
MINOR;CODE_SMELL;5;353;Бессмысленное (автосгенерированное) имя команды формы.
|
||||
MINOR;CODE_SMELL;5;354;Бессмысленное (автосгенерированное) имя параметра формы.
|
||||
CRITICAL;BUG;5;355;Орфографическая ошибка в имени команды формы.
|
||||
CRITICAL;BUG;5;356;Орфографическая ошибка в имени реквизита формы.
|
||||
CRITICAL;BUG;5;357;Орфографическая ошибка в заголовке реквизита формы.
|
||||
MAJOR;BUG;5;358;Орфографическая ошибка в имени параметра формы.
|
||||
MAJOR;BUG;3;359;Ограничения на уровне записей в разных ролях не совпадает для той же таблицы и права.
|
||||
MAJOR;BUG;3;360;Ограничения для права "Добавление" не совпадает с ограничением права "Изменение".
|
||||
MAJOR;BUG;3;361;Серверный код не заключен в инструкцию препроцессора: "#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда...".
|
||||
MAJOR;BUG;3;362;Обработчик события заключен в инструкцию препроцессора: "#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда...".
|
||||
MAJOR;BUG;3;363;Не следует добавлять постфикс "Клиент" в наименование глобального общего модуля с постфиксом "Глобальный".
|
||||
MAJOR;CODE_SMELL;3;370;Параметр "ИмяСобытия" метода "ЗаписьЖурналаРегистрации()" инициализируется переменной, содержащей нелокализованную строку.
|
||||
MINOR;BUG;10;371;При локализации параметра "ИмяСобытия" для получения кода языка следует использовать функцию ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка().
|
||||
MINOR;BUG;10;374;Сообщение содержит восклицательный знак.
|
||||
MAJOR;BUG;3;375;Избыточно установлены права на устаревший объект метаданных (с префиксом "Удалить").
|
||||
MAJOR;CODE_SMELL;3;376;Превышена максимальная длина числовых данных (31 знак).
|
||||
MAJOR;CODE_SMELL;3;377;Превышена максимальная длина ресурса регистра накопления или бухгалтерии (25 знаков).
|
||||
MAJOR;CODE_SMELL;3;379;В качестве правого операнда операции сравнения "ПОДОБНО" указано поле таблицы.
|
||||
MAJOR;BUG;3;380;Длина индекса составляет больше 900 байт.
|
||||
MAJOR;BUG;3;381;Длина имени объекта метаданных превышает 80 символов.
|
||||
MAJOR;CODE_SMELL;3;384;Установлено нулевое поле у табличного документа
|
||||
INFO;CODE_SMELL;3;386;В свойствах формы настроено условное оформление.
|
||||
INFO;CODE_SMELL;3;387;В свойствах динамического списка настроено условное оформление.
|
||||
MAJOR;BUG;3;388;Неэкспортная процедура (функция) в разделе "ПрограммныйИнтерфейс".
|
||||
MAJOR;BUG;3;389;Неэкспортная процедура (функция) в разделе "СлужебныйПрограммныйИнтерфейс".
|
||||
MAJOR;CODE_SMELL;3;393;Использована ролевая настройка просмотра для реквизита формы.
|
||||
MAJOR;CODE_SMELL;3;394;Использована ролевая настройка редактирования для реквизита формы.
|
||||
MAJOR;BUG;3;395;Использована ролевая настройка использования для команды формы.
|
||||
MAJOR;BUG;3;397;Не задан таймаут для объекта при работе с внешними ресурсами.
|
||||
MAJOR;CODE_SMELL;3;398;Задан нулевой таймаут для объекта при работе с внешними ресурсами.
|
||||
MAJOR;BUG;3;399;Отсутствует или неверно описана секция "Параметры" в комментарии к экспортной процедуре (функции).
|
||||
MAJOR;BUG;3;400;Отсутствует или неверно описана секция "Возвращаемое значение" в комментарии к экспортной функции.
|
||||
MAJOR;BUG;3;401;Не описаны некоторые параметры в секции "Параметры" в комментарии к экспортной процедуре (функции).
|
||||
MAJOR;CODE_SMELL;3;402;Секция "Возвращаемое значение" находится перед секцией "Параметры" в комментарии к экспортной функции.
|
||||
MAJOR;BUG;3;403;Некорректно оформлена гиперссылка "См. ..." в комментарии к экспортной процедуре (функции).
|
||||
MAJOR;BUG;3;404;Не найден объект переадресации из гиперссылки "См. ..." в комментарии к экспортной процедуре (функции).
|
||||
MAJOR;BUG;3;405;Описаны лишние параметры в секции "Параметры" в комментарии к экспортной процедуре (функции).
|
||||
MAJOR;BUG;10;406;Некорректно описаны некоторые параметры в секции "Параметры" в комментарии к экспортной процедуре (функции).
|
||||
MAJOR;BUG;10;407;Некорректно описан тип некоторых параметров в секции "Параметры" в комментарии к экспортной процедуре (функции).
|
||||
MAJOR;CODE_SMELL;3;408;Описание параметров в секции "Параметры" должно начинаться с новой строки в комментарии к экспортной процедуре (функции).
|
||||
MINOR;BUG;10;409;Описание возвращаемого значения в секции "Возвращаемое значение" должно начинаться с новой строки в комментарии к экспортной функции.
|
||||
MAJOR;CODE_SMELL;3;410;Описана секция "Параметры" в комментарии к экспортной процедуре (функции), не имеющей параметров.
|
||||
MAJOR;BUG;10;412;Значение свойства "История выбора при вводе" у документа не равно "Не использовать".
|
||||
MAJOR;CODE_SMELL;3;413;Присутствует обработчик "ОбработкаПолученияДанныхВыбора", а свойство "История выбора при вводе" не равно "Не использовать".
|
||||
MAJOR;BUG;10;414;Неверно установлены свойства поля формы, которое ссылается на объект метаданных с отключенной историей выбора при вводе.
|
||||
MAJOR;CODE_SMELL;3;415;Нарушена схема работы с транзакциями: отличаются условия "Если ... Тогда" у методов работы с транзакциями.
|
||||
MAJOR;BUG;3;416;Отсутствует или некорректно описан тип возвращаемого значения в комментарии к экспортной функции.
|
||||
MAJOR;BUG;10;417;Некорректно описан тип некоторых свойств возвращаемого значения в комментарии к экспортной функции.
|
||||
MAJOR;CODE_SMELL;3;419;В правах роли установлены ограничения (RLS) для объекта метаданных.
|
||||
CRITICAL;BUG;20;420;В праве "Удаление" роли установлены ограничения (RLS) для объекта метаданных.
|
||||
MAJOR;CODE_SMELL;3;421;Права на константу установлены в обеих ролях: "Полные права" и "Администратор системы".
|
||||
CRITICAL;BUG;20;422;Права на константу не установлены ни в одной из ролей: "Полные права" и "Администратор системы".
|
||||
MAJOR;CODE_SMELL;3;423;Для роли "Изменение<ИмяКонстанты>" установлены права на другой объект метаданных.
|
||||
MAJOR;CODE_SMELL;3;424;Для роли "Чтение<ИмяКонстанты>" установлены права на другой объект метаданных.
|
||||
MAJOR;BUG;10;425;Отсутствует область "ОписаниеПеременных" в тексте модуля.
|
||||
MAJOR;CODE_SMELL;3;426;Переменная объявлена в области, содержащей процедуру или функцию.
|
||||
MAJOR;CODE_SMELL;3;427;Отсутствует область "Инициализация" в тексте модуля.
|
||||
MAJOR;CODE_SMELL;3;428;Операторы раздела инициализации расположены в области, содержащей процедуры или функции.
|
||||
MAJOR;CODE_SMELL;3;429;Переменная объявлена вне области "ОписаниеПеременных".
|
||||
MAJOR;CODE_SMELL;3;430;Операторы раздела инициализации расположены вне области "Инициализация".
|
||||
MAJOR;BUG;10;433;Неэкспортная переменная не используется в модуле.
|
||||
CRITICAL;BUG;10;435;Возврат константы типа Строка в модуле с повторным использованием.
|
||||
MAJOR;CODE_SMELL;3;436;Возврат константы типа Число в модуле с повторным использованием.
|
||||
MAJOR;CODE_SMELL;3;437;Возврат константы типа Дата в модуле с повторным использованием.
|
||||
CRITICAL;BUG;10;438;Возврат константы типа Булево в модуле с повторным использованием.
|
||||
MAJOR;CODE_SMELL;3;439;Возврат предопределенного элемента в модуле с повторным использованием.
|
||||
CRITICAL;BUG;10;441;Отсутствует удаление временного файла после использования.
|
||||
MAJOR;CODE_SMELL;3;442;Ошибка выполнения проверки: не удалось получить версию БСП.
|
||||
MAJOR;CODE_SMELL;3;443;Ошибка выполнения проверки: не удалось получить назначение ролей пользователей.
|
||||
MAJOR;BUG;10;444;Экспортная процедура в модуле с повторным использованием.
|
||||
MINOR;BUG;10;445;В реквизит формы присвоена нелокализованная строка.
|
||||
MINOR;BUG;10;446;У элемента формы не заполнен заголовок.
|
||||
MINOR;BUG;10;447;У элемента формы бессмысленная подсказка.
|
||||
MINOR;BUG;10;448;У элемента формы с заполненным списком выбора отключено свойство "Режим выбора из списка".
|
||||
MINOR;BUG;10;449;Задано наименование предопределенного регламентного задания.
|
||||
MAJOR;CODE_SMELL;3;450;В макете используется кодировка, отличная от "UTF-8".
|
||||
MAJOR;CODE_SMELL;3;453;Обращение к менеджеру регламентных заданий при наличии подсистемы "Технология сервиса".
|
||||
MAJOR;CODE_SMELL;3;454;Регламентное задание включено в состав разделителя.
|
||||
MAJOR;CODE_SMELL;3;455;Регламентное задание с включенным использованием отсутствует в процедуре "ОчередьЗаданийПереопределяемый.ПриПолученииСпискаШаблонов".
|
||||
MAJOR;CODE_SMELL;3;457;Использована ролевая настройка видимости в командном интерфейсе конфигурации.
|
||||
MAJOR;CODE_SMELL;3;458;Устаревшая процедура (функция) расположена вне области "УстаревшиеПроцедурыИФункции".
|
||||
MAJOR;BUG;10;459;Описание процедуры (функции) размещено в середине, а не в начале комментария; либо описание параметра без отступа.
|
||||
MAJOR;CODE_SMELL;3;460;Использована ролевая настройка видимости в рабочей области начальной страницы.
|
||||
MAJOR;CODE_SMELL;3;461;Использована ролевая настройка видимости в командном интерфейсе основного раздела.
|
||||
MAJOR;CODE_SMELL;3;462;Для строковой константы запроса СКД не установлено представление доступного значения.
|
||||
MINOR;BUG;10;463;Строковая константа в запросе СКД не соответствует правилам образования имен переменных.
|
||||
MINOR;BUG;10;464;Не заполнен заголовок поля динамического списка.
|
||||
MINOR;BUG;10;465;Не заполнен заголовок поля выборки в запросе СКД.
|
||||
MAJOR;BUG;10;466;Нестандартные секции в описании экспортной процедуры (функции).
|
||||
MAJOR;CODE_SMELL;3;467;Использование монопольного или оперативного обработчика обновления.
|
||||
MAJOR;BUG;30;468;Экспортная процедура (функция) в области "ПрограммныйИнтерфейс" в общем модуле с повторным использованием.
|
||||
MAJOR;CODE_SMELL;3;469;В служебном общем модуле присутствует область "ПрограммныйИнтерфейс".
|
||||
MAJOR;CODE_SMELL;3;470;Превышена максимальная длина числовых данных в запросе (31 знак).
|
||||
CRITICAL;BUG;30;472;Небезопасное подключение внешних компонент.
|
||||
MAJOR;CODE_SMELL;3;473;Область "ДляВызоваИзДругихПодсистем" не входит в область "ПрограммныйИнтерфейс".
|
||||
MAJOR;CODE_SMELL;3;474;В комментарии внутри области "ДляВызоваИзДругихПодсистем" не указана подсистема-потребитель.
|
||||
MAJOR;CODE_SMELL;3;475;В комментарии внутри области "ДляВызоваИзДругихПодсистем" указана несуществующая подсистема.
|
||||
MAJOR;CODE_SMELL;3;476;Внутри области "ДляВызоваИзДругихПодсистем" не найден закрывающий комментарий "// Конец ... <имя подсистемы-потребителя>".
|
||||
CRITICAL;BUG;20;478;Нарушена схема работы с транзакциями: между "Исключение" и "ОтменитьТранзакцию()" есть исполняемый код.
|
||||
MAJOR;CODE_SMELL;3;482;Запрос динамического списка, не содержащий секции "ИЗ", не переопределен в модуле формы.
|
||||
MAJOR;BUG;3;483;Псевдоним таблицы запроса динамического списка, переопределяемого программно, не заканчивается постфиксом "Переопределяемый".
|
||||
MAJOR;BUG;3;484;Программная установка свойств динамического списка выполняется без помощи процедуры "ОбщегоНазначения.УстановитьСвойстваДинамическогоСписка()".
|
||||
CRITICAL;VULNERABILITY;30;486;Отсутствует включение безопасного режима перед вызовом метода "Выполнить" или "Вычислить".
|
||||
MAJOR;BUG;3;487;Обнаружен вызов метода "Выполнить" вместо "ОбщегоНазначения.ВыполнитьВБезопасномРежиме()".
|
||||
MAJOR;BUG;3;488;Обнаружен вызов метода "Вычислить" вместо "ОбщегоНазначения.ВычислитьВБезопасномРежиме()".
|
||||
MAJOR;CODE_SMELL;3;489;Обнаружен вызов метода "Выполнить" вместо "РаботаВБезопасномРежиме.ВыполнитьВБезопасномРежиме()".
|
||||
MAJOR;CODE_SMELL;3;490;Обнаружен вызов метода "Вычислить" вместо "РаботаВБезопасномРежиме.ВычислитьВБезопасномРежиме()".
|
||||
MAJOR;CODE_SMELL;3;491;Некорректная локализация фрагмента текста запроса.
|
||||
MAJOR;BUG;3;492;Неверно задан именованный параметр подстановки.
|
||||
MAJOR;BUG;3;494;Использование запроса, выполняющего соединение с вложенным запросом.
|
||||
MAJOR;BUG;3;495;Вызов функции "КаталогВременныхФайлов()".
|
||||
CRITICAL;BUG;10;496;Не заполнен параметр "РегламентноеЗадание" при вызове процедуры "ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания();".
|
||||
MAJOR;BUG;3;497;В имени макета отсутствует суффикс (например, "_ru").
|
||||
MAJOR;BUG;30;499;Процедура переопределяемого общего модуля содержит лишний код (должен быть только код вида "<ИмяМодуля>.<ИмяПроцедуры>(<Параметры>);").
|
||||
INFO;CODE_SMELL;3;500;Имя вызываемой процедуры отличается от имени переопределяемой процедуры.
|
||||
INFO;CODE_SMELL;3;501;Отличается состав или порядок параметров вызываемой и переопределяемой процедуры.
|
||||
INFO;CODE_SMELL;3;502;Неверный комментарий у процедуры, вызываемой в переопределяемом модуле (должен быть "См. <ПереопределяемыйМодуль>.<ПереопределяемаяПроцедура>.").
|
||||
INFO;CODE_SMELL;20;503;В переопределяемом общем модуле описана функция.
|
||||
INFO;CODE_SMELL;3;505;В переопределяемом общем модуле описана неэкспортная процедура (функция).
|
||||
INFO;CODE_SMELL;5;506;В переопределяемом общем модуле описана лишняя внешняя область (должна быть только область "ПрограммныйИнтерфейс").
|
||||
MINOR;BUG;20;507;Роль дает права на объекты других подсистем.
|
||||
MAJOR;BUG;10;508;Неверно заданы права на обработку (должны быть у ИспользованиеОбработки<ИмяОбработки>, БазовыеПрава<ИмяБиблиотеки> или Подсистема<ИмяПодсистемы>).
|
||||
MAJOR;CODE_SMELL;3;510;Ни в одной роли нет прав на просмотр команды.
|
||||
MAJOR;BUG;10;511;Неверно заданы права на команду (есть права на просмотр команды, но нет прав на чтение или просмотр объекта).
|
||||
MAJOR;CODE_SMELL;3;512;Неверно заданы права на команду (есть права на чтение или просмотр объекта, но нет прав на просмотр команды).
|
||||
MAJOR;CODE_SMELL;3;513;Неверно заданы права на команду (права на команды печати должны быть назначены роли "БазовыеПрава<ИмяБиблиотеки>").
|
||||
MAJOR;BUG;10;514;Роль не дает прав ни на один объект метаданных, и к ней нет обращения в коде модулей.
|
||||
MAJOR;CODE_SMELL;3;515;Использована функция "Пользователи.РолиДоступны()".
|
||||
MAJOR;CODE_SMELL;3;518;Планом обмена поддерживается версия формата обмена EnterpriseData, не входящая в состав конфигурации.
|
||||
MAJOR;CODE_SMELL;3;519;Планом обмена не поддерживается более высокая версия формата обмена EnterpriseData.
|
||||
INFO;CODE_SMELL;3;520;Планом обмена не поддерживается более низкая версия формата обмена EnterpriseData.
|
||||
CRITICAL;BUG;10;521;Нарушена схема работы с транзакциями: преждевременный выход из блока "Попытка..Исключение" без завершения или отмены транзакции.
|
||||
CRITICAL;BUG;10;524;Некорректно заполнено свойство "Путь к данным" у поля динамического списка.
|
||||
MAJOR;CODE_SMELL;3;525;Некорректно заполнено свойство "Данные" у кнопки, связанной с полем динамического списка.
|
||||
MINOR;BUG;5;526;У процедуры (функции) в модуле формы отсутствует директива компиляции.
|
||||
CRITICAL;BUG;5;527;В качестве параметра обработчика оповещения указана серверная процедура.
|
||||
MAJOR;CODE_SMELL;3;529;Для объекта метаданных назначено несколько отложенных обработчиков обновления в параллельном режиме.
|
||||
MAJOR;CODE_SMELL;3;530;Отложенный обработчик обновления в параллельном режиме для объекта одной подсистемы обрабатывает данные другой подсистемы.
|
||||
INFO;CODE_SMELL;3;531;Избыточное обращение внутри модуля через его имя или псевдоним ЭтотОбъект (к методу, свойству или реквизиту).
|
||||
MAJOR;BUG;3;534;Небезопасный запуск приложения.
|
||||
MAJOR;CODE_SMELL;3;536;Отсутствует отключение макросов при работе с документом Microsoft Word.
|
||||
MAJOR;CODE_SMELL;3;537;Отсутствует отключение макросов при работе с документом Microsoft Excel.
|
||||
INFO;CODE_SMELL;10;538;Объект, не имеющий визуального представления, входит в состав подсистемы, включенной в командный интерфейс.
|
||||
INFO;CODE_SMELL;3;540;В запросе отсутствует проверка на NULL для поля, которое может потенциально содержать NULL.
|
||||
MAJOR;BUG;3;541;Неверно установлены права базовой роли на объект метаданных.
|
||||
MAJOR;CODE_SMELL;3;543;В отложенном обработчике обновления не указан идентификатор.
|
||||
MAJOR;CODE_SMELL;3;544;В отложенном обработчике обновления не указан комментарий.
|
||||
MAJOR;CODE_SMELL;3;545;В отложенном обработчике обновления обнаружен неуникальный идентификатор.
|
||||
MAJOR;CODE_SMELL;3;546;В отложенном обработчике обновления обнаружен неуникальный комментарий.
|
||||
MINOR;BUG;30;547;Использована инструкция препроцессора в клиент-серверном общем модуле.
|
||||
INFO;CODE_SMELL;10;548;Параметры вызова функции скопированы из определения вызываемой процедуры (функции).
|
||||
INFO;CODE_SMELL;3;549;Выполняется неявная передача обязательного параметра.
|
||||
CRITICAL;BUG;20;552;Небезопасное подключение внешней обработки.
|
||||
CRITICAL;BUG;20;553;Небезопасное подключение внешнего отчета.
|
||||
MAJOR;CODE_SMELL;3;554;Небезопасное подключение расширения конфигурации.
|
||||
MAJOR;CODE_SMELL;3;555;Создание объекта типа "ОписаниеЗащитыОтОпасныхДействий".
|
||||
CRITICAL;BUG;30;556;Вызов функции БСП "ОбщегоНазначения.ОписаниеЗащитыБезПредупреждений()".
|
||||
MAJOR;BUG;20;557;Экспортная процедура (функция) из модуля с признаком "ВызовСервера" не вызывается на клиенте.
|
||||
MAJOR;BUG;20;558;Экспортная процедура (функция) из модуля с признаком "КлиентСервер" не вызывается на клиенте.
|
||||
MAJOR;BUG;20;559;Экспортная процедура (функция) из модуля с признаком "КлиентСервер" не вызывается на сервере.
|
||||
BLOCKER;BUG;30;561;Ошибка платформенной проверки конфигурации.
|
||||
BLOCKER;BUG;30;562;Ошибка платформенной проверки конфигурации: Возможно ошибочное свойство.
|
||||
BLOCKER;BUG;30;563;Ошибка платформенной проверки конфигурации: Возможно ошибочный метод.
|
||||
BLOCKER;BUG;30;564;Ошибка платформенной проверки конфигурации: Возможно ошибочный параметр.
|
||||
CRITICAL;BUG;20;565;Ошибка платформенной проверки конфигурации: Использование модального вызова.
|
||||
BLOCKER;BUG;30;566;Ошибка платформенной проверки конфигурации: Использование синхронного вызова.
|
||||
BLOCKER;BUG;30;567;Ошибка платформенной проверки конфигурации: Не обнаружено ссылок на процедуру.
|
||||
BLOCKER;BUG;30;568;Ошибка платформенной проверки конфигурации: Не обнаружено ссылок на функцию.
|
||||
BLOCKER;BUG;30;569;Ошибка платформенной проверки конфигурации: Неразрешимые ссылки на объекты метаданных.
|
||||
BLOCKER;BUG;30;570;Ошибка платформенной проверки конфигурации: Отсутствует обработчик.
|
||||
BLOCKER;BUG;30;571;Ошибка платформенной проверки конфигурации: Переменная не определена.
|
||||
BLOCKER;BUG;30;572;Ошибка платформенной проверки конфигурации: Процедура или функция с указанным именем не определена.
|
||||
BLOCKER;BUG;30;573;Ошибка платформенной проверки конфигурации: Пустой обработчик.
|
||||
CRITICAL;BUG;0;574;Ошибка платформенной проверки конфигурации: (Проверка: Мобильный клиент).
|
||||
MAJOR;BUG;30;580;Нет вызовов служебной экспортной процедуры (функции).
|
||||
MAJOR;BUG;10;581;Избыточное ключевое слово "Экспорт".
|
||||
MAJOR;BUG;5;1026;Орфографическая ошибка в заголовке формы.
|
||||
MAJOR;BUG;5;1027;Орфографическая ошибка в заголовке элемента формы.
|
||||
MAJOR;BUG;5;1028;Орфографическая ошибка в колонке табличного поля.
|
||||
MAJOR;BUG;5;1030;Орфографическая ошибка в подсказке элемента управления.
|
||||
CRITICAL;BUG;5;1032;Орфографическая ошибка в синониме объекта метаданных.
|
||||
MAJOR;BUG;3;1033;Орфографическая ошибка в комментарии объекта метаданных.
|
||||
CRITICAL;BUG;5;1034;Орфографическая ошибка в тексте встроенной справки.
|
||||
CRITICAL;BUG;5;1035;Орфографическая ошибка в тексте макета.
|
||||
MAJOR;BUG;5;1036;Орфографическая ошибка в тексте модуля.
|
||||
MAJOR;BUG;3;1037;Орфографическая ошибка в видимой колонке табличного поля.
|
||||
MAJOR;BUG;3;1038;Орфографическая ошибка в тексте видимого элемента формы.
|
||||
CRITICAL;BUG;10;1046;Отсутствует обязательная роль.
|
||||
MINOR;BUG;10;1108;Нарушена сортировка объектов метаданных верхнего уровня по имени по возрастанию в дереве метаданных.
|
||||
MAJOR;CODE_SMELL;3;1125;В форме неверно установлен стиль.
|
||||
MAJOR;CODE_SMELL;3;1126;Не определен обязательный элемент стиля "Цвет: ТекстПредупреждающейНадписи".
|
||||
MAJOR;CODE_SMELL;3;1127;Не определен обязательный элемент стиля "Шрифт: ШрифтВажнойНадписи".
|
||||
MAJOR;CODE_SMELL;3;1128;Не определен обязательный элемент стиля "Цвет: ФонГруппировкиВерхнегоУровня".
|
||||
MAJOR;CODE_SMELL;3;1129;Не определен обязательный элемент стиля "Цвет: ФонГруппировкиПромежуточногоУровня".
|
||||
MAJOR;CODE_SMELL;3;1130;Не определен обязательный элемент стиля "Цвет: ТекстИнформационнойНадписи".
|
||||
MAJOR;CODE_SMELL;3;1131;Неверно определен основной стиль для конфигурации.
|
||||
MAJOR;CODE_SMELL;3;1132;Не установлен основной стиль для конфигурации.
|
||||
MAJOR;BUG;3;1133;Установлен признак переключения для интерфейса "Общий".
|
||||
MAJOR;BUG;3;1134;В конфигурации отсутствует обязательный интерфейс "Общий".
|
||||
MAJOR;BUG;3;1135;В конфигурации отсутствует обязательный интерфейс "Полный".
|
||||
MAJOR;CODE_SMELL;3;1136;Не заполнена всплывающая подсказка.
|
||||
INFO;CODE_SMELL;5;1143;Длина комментария превышает 120 символов.
|
||||
INFO;BUG;120;1145;Отсутствует справочная информация.
|
||||
INFO;BUG;120;1146;У основного объекта справка не включена в содержание.
|
||||
CRITICAL;BUG;5;1147;Не задана принадлежность объекта к подсистемам.
|
||||
CRITICAL;BUG;20;1149;Установлено право "Интерактивное удаление".
|
||||
CRITICAL;BUG;20;1150;Не установлено право в роли "ПолныеПрава".
|
||||
MAJOR;BUG;3;1151;Не задан синоним объекта метаданных.
|
||||
MAJOR;CODE_SMELL;3;1200;Неверно установлен номер версии. Правильный формат "РР.ПП.ЗЗ.СС".
|
||||
MINOR;BUG;10;1201;Краткая информация отличается от синонима.
|
||||
MINOR;BUG;10;1202;Подробная информация отличается от синонима.
|
||||
MINOR;BUG;10;1203;Неверно указан поставщик. Должен быть "Фирма "1С"".
|
||||
MAJOR;BUG;10;1205;Реквизит имеет тип фиксированной строки.
|
||||
INFO;CODE_SMELL;10;1206;Нестандартная длина кода (номера), проверьте оправданность использования такой длины.
|
||||
CRITICAL;BUG;20;1207;Совпадают имена у объекта метаданных и его составляющей.
|
||||
CRITICAL;BUG;20;1208;Присвоено нерекомендуемое имя.
|
||||
INFO;CODE_SMELL;3;1209;Нестандартная длина номера, проверьте оправданность использования такой длины.
|
||||
MINOR;BUG;10;1210;Представление объекта совпадает с синонимом. В этом случае оно не заполняется.
|
||||
MINOR;BUG;10;1211;Расширенное представление объекта совпадает с представлением объекта. В этом случае оно не заполняется.
|
||||
MAJOR;CODE_SMELL;3;1213;Расширенное представление объекта совпадает с синонимом при незаполненном представлении объекта. В этом случае оно не заполняется.
|
||||
MINOR;BUG;10;1214;Представление списка совпадает с синонимом. В этом случае оно не заполняется.
|
||||
MINOR;BUG;10;1215;Расширенное представление списка совпадает с представлением списка. В этом случае оно не заполняется.
|
||||
MAJOR;CODE_SMELL;3;1216;Расширенное представление списка совпадает с синонимом при незаполненном представлении списка. В этом случае оно не заполняется.
|
||||
MAJOR;CODE_SMELL;3;1217;Расширенное представление совпадает с синонимом. В этом случае оно не заполняется.
|
||||
MAJOR;CODE_SMELL;3;1218;Объект метаданных является демонстрационным.
|
||||
INFO;BUG;120;1219;Неверно сброшен флажок "Включать в содержание справки". Для основной формы его нужно включить.
|
||||
MAJOR;BUG;3;1220;Неверно установлен флажок "Включать в содержание справки". Для не основной формы его нужно выключить.
|
||||
MAJOR;CODE_SMELL;3;1221;Не определен обязательный элемент стиля "Цвет: ТекстВторостепеннойНадписи".
|
||||
MAJOR;CODE_SMELL;3;1222;Не определен обязательный элемент стиля "Цвет: ЦветГиперссылки".
|
||||
MINOR;BUG;10;1223;Сообщение содержит нерекомендуемое местоимение ("Вы", "Вас" и пр.).
|
||||
MAJOR;CODE_SMELL;3;1224;Превышена максимально допустимая ширина формы 1256.
|
||||
MAJOR;CODE_SMELL;3;1225;Превышена максимально допустимая высота формы 580.
|
||||
MAJOR;CODE_SMELL;3;1238;Не заполнена всплывающая подсказка в шапке колонки табличного поля.
|
||||
MAJOR;CODE_SMELL;3;1239;Для полей ввода с установленным флагом "Автоотметка незаполненного", необходимо устанавливать флаг "Автовыбор незаполненного".
|
||||
MAJOR;CODE_SMELL;3;1240;Колонки с заведомо известной требуемой шириной не должны изменять размер.
|
||||
MAJOR;CODE_SMELL;3;1241;У элемента формы неверное имя.
|
||||
MINOR;BUG;10;1242;Отсутствует комментарий к экспортной процедуре (функции).
|
||||
MAJOR;BUG;3;1243;Отсутствует или неверно описана секция "Описание" в комментарии к экспортной процедуре (функции).
|
||||
BLOCKER;BUG;10;1244;Обращение к несуществующему объекту метаданных.
|
||||
CRITICAL;BUG;10;1245;Общий модуль, доступный на сервере и на клиенте, должен именоваться с постфиксом "КлиентСервер".
|
||||
MINOR;CODE_SMELL;5;1248;Ключевое слово написано не канонически.
|
||||
MINOR;BUG;10;1297;Строка не локализована. Возможно, она видна пользователю.
|
||||
MINOR;BUG;10;1298;Нарушен синтаксис описания локализованной строки. Должен быть "НСтр("ru='...'")" или "NStr("en='...'")".
|
||||
MINOR;BUG;10;1299;Локализуемая строка начинается или заканчивается непечатаемым символом (например: пробел, таб, перенос).
|
||||
MINOR;BUG;10;1300;В тексте запроса находится строковый литерал.
|
||||
MAJOR;BUG;3;1308;Назначение расширения имеет ошибочное значение.
|
||||
MAJOR;BUG;3;1310;Наименование объекта расширения не содержит префикса, соответствующего префиксу самого расширения.
|
||||
MAJOR;BUG;3;1311;Процедура (функция) в модуле объекта расширения не имеет префикса, соответствующего префиксу самого расширения.
|
||||
MAJOR;BUG;3;1312;Переменная в модуле объекта расширения не имеет префикса, соответствующего префиксу самого расширения.
|
||||
MAJOR;BUG;3;1314;Описание расширяющего метода в модуле объекта расширения отличается от расширяемого метода в модуле объекта основной конфигурации.
|
||||
MAJOR;BUG;3;1316;Ошибка проверки возможности применения расширения.
|
||||
INFO;CODE_SMELL;3;1317;Для объекта метаданных назначено несколько отложенных обработчиков обновления в последовательном режиме.
|
||||
INFO;CODE_SMELL;3;1318;Отложенный обработчик обновления в последовательном режиме для объекта одной подсистемы обрабатывает данные другой подсистемы.
|
||||
CRITICAL;BUG;10;1319;После инициализации блокировки отсутствует вызов "Заблокировать()".
|
||||
MAJOR;CODE_SMELL;3;1320;Вызов "Заблокировать()" находится вне попытки.
|
||||
MAJOR;VULNERABILITY;10;1324;Использован конструктор "Новый ЗащищенноеСоединениеOpenSSL".
|
||||
MAJOR;CODE_SMELL;3;1326;Неверно установлено значение стиля
|
||||
CRITICAL;BUG;20;1327;Отсутствует исключительная управляемая блокировка на записываемые (удаляемые) данные.
|
||||
CRITICAL;BUG;20;1328;Отсутствует разделяемая управляемая блокировка на читаемые данные.
|
||||
CRITICAL;BUG;20;1329;Недопустимое одновременное использование ссылочных и нессылочных типов в составном типе.
|
||||
CRITICAL;BUG;20;1330;Недопустимое использование универсального составного типа (ЛюбаяСсылка, СправочникСсылка и т.п.).
|
||||
MAJOR;BUG;20;1331;Задано конкретное значение цвета для элемента управления формы.
|
||||
MAJOR;BUG;20;1332;Задано конкретное значение шрифта (либо изменен параметр шрифта из стиля) для элемента управления формы.
|
||||
INFO;CODE_SMELL;3;1333;Для элемента стиля задано конкретное значение шрифта, цвета или рамки.
|
||||
MAJOR;BUG;10;1334;Устаревшая процедура (функция) ссылается на несуществующую процедуру (функцию).
|
||||
CRITICAL;BUG;10;1335;Устаревшая процедура (функция) ссылается на другую устаревшую процедуру (функцию).
|
||||
MAJOR;CODE_SMELL;3;1336;Устаревшая процедура (функция) ссылается на процедуру (функцию), расположенную вне области "ПрограммныйИнтерфейс".
|
||||
MAJOR;CODE_SMELL;3;1338;Неиспользуемый (с префиксом "Удалить") объект метаданных содержит подчиненные объекты, не относящиеся к переносу данных.
|
||||
MINOR;CODE_SMELL;5;1339;Избыточная проверка параметра "АвтоТест".
|
||||
MAJOR;CODE_SMELL;3;1340;Процедура (функция), не являющаяся обработчиком события, расположена в стандартной области обработчиков событий.
|
||||
MAJOR;CODE_SMELL;3;1341;Процедура (функция), являющаяся обработчиком события, расположена вне стандартной области обработчиков событий
|
||||
MAJOR;BUG;20;1343;Дублируется картинка.
|
||||
MAJOR;CODE_SMELL;3;1344;Дублируется наименование картинки.
|
||||
INFO;CODE_SMELL;10;1345;Использование конструкции "Новый Шрифт"
|
||||
INFO;CODE_SMELL;10;1346;Использование конструкции "Новый Цвет"
|
||||
INFO;CODE_SMELL;10;1347;Использование конструкции "Новый Рамка"
|
||||
MAJOR;CODE_SMELL;3;1348;Использован метод глобального контекста вместо процедуры общего модуля "ФайловаяСистемаКлиент"
|
||||
MAJOR;CODE_SMELL;3;1349;В качестве параметра обработчика оповещения указана несуществующая процедура.
|
||||
MAJOR;CODE_SMELL;3;1350;В качестве параметра обработчика оповещения указана функция.
|
||||
MAJOR;CODE_SMELL;3;1351;В качестве параметра обработчика оповещения указана неэкспортная процедура.
|
||||
MAJOR;CODE_SMELL;3;1352;В качестве параметра обработчика оповещения указана процедура без параметров.
|
||||
INFO;CODE_SMELL;10;1353;Английский идентификатор в коде модуля на русском языке.
|
||||
MAJOR;CODE_SMELL;3;1354;Локализуемая строка состоит из нелокализуемых символов.
|
||||
MAJOR;CODE_SMELL;3;1355;Конкатенация локализуемых строк.
|
||||
MAJOR;CODE_SMELL;3;1356;В качестве параметра конструктора "Новый ФорматированнаяСтрока" использована составная форматированная строка.
|
||||
MAJOR;CODE_SMELL;3;1357;В качестве параметра метода "ЧислоПрописью" используется форматированная строка с параметром "Л="("L=") .
|
||||
MAJOR;CODE_SMELL;3;1358;В качестве параметра метода "ПредставлениеПериода" используется форматированная строка с параметром "Л="("L=") .
|
||||
MAJOR;CODE_SMELL;3;1359;В качестве параметра метода "СтрокаСЧислом" используется форматированная строка с параметром "Л="("L=") .
|
||||
MINOR;BUG;5;1360;Некорректно описан тип элементов массива.
|
||||
MAJOR;CODE_SMELL;3;1361;В макете с типом "ВнешняяКомпонента" размешен файл с другим типом.
|
||||
INFO;CODE_SMELL;3;1363;В обработчике обновления информационной базы при записи объекта не используется метод "Библиотеки стандартных подсистем".
|
||||
MAJOR;CODE_SMELL;3;1365;Разделитель пути файла указан вручную (необходимо использовать метод "ПолучитьРазделительПути()").
|
||||
MAJOR;CODE_SMELL;3;1366;Маска всех файлов указана вручную (необходимо использовать метод "ПолучитьМаскуВсеФайлы()").
|
||||
MAJOR;CODE_SMELL;3;1367;Отсутствует локализация при форматировании даты.
|
||||
MAJOR;CODE_SMELL;3;1368;Отсутствует локализация при форматировании числа.
|
||||
MAJOR;CODE_SMELL;3;1369;Отсутствует локализация при форматировании Булево.
|
||||
MAJOR;CODE_SMELL;3;1370;В модуле устаревшего объекта содержится код.
|
||||
MAJOR;CODE_SMELL;3;1371;Устаревший объект включен в свойство другого объекта.
|
||||
MAJOR;CODE_SMELL;3;1374;Некорректное использование платформенного метода "Тип()".
|
||||
MAJOR;CODE_SMELL;3;1375;В правах роли установлены ограничения (RLS) для устаревшего объекта метаданных.
|
||||
MAJOR;CODE_SMELL;3;1377;Разыменование ссылочного поля составного типа
|
||||
INFO;CODE_SMELL;3;1381;В качестве объекта переадресации из гиперссылки "См. ..." указана устаревшая процедура (функция).
|
||||
INFO;CODE_SMELL;3;1382;В качестве объекта переадресации из гиперссылки "См. ..." указана процедура (функция), расположенная вне области "ПрограммныйИнтерфейс".
|
||||
MAJOR;CODE_SMELL;3;1383;Имя переменной, содержащей модуль, не соответствует формату "Модуль<ИмяОбъекта>".
|
||||
MAJOR;CODE_SMELL;3;1385;Отсутствует обработчик начального заполнения предопределенных элементов (ПриНачальномЗаполненииЭлементов и др.).
|
||||
MAJOR;CODE_SMELL;3;1386;Модуль не входит в подсистему, указанную в функции "ПодсистемаСуществует()".
|
||||
MAJOR;CODE_SMELL;3;1387;Обнаружено дублирование стандартной области.
|
||||
MAJOR;CODE_SMELL;3;1388;Вызов устаревшей функции "ОписаниеОшибки()" (следует использовать "ПодробноеПредставлениеОшибки()").
|
||||
MAJOR;BUG;3;1389;Состав параметров процедуры (функции) из гиперссылки "См. ..." не соответствует составу параметров описываемой экспортной процедуры (функции).
|
||||
MAJOR;CODE_SMELL;3;1391;Локализуемая строка участвует в логическом условии.
|
||||
MAJOR;CODE_SMELL;3;1392;Предположительно локализуемая строка участвует в логическом условии.
|
Can't render this file because it contains an unexpected character in line 2 and column 66.
|
@ -1,15 +0,0 @@
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/1c-syntax/bsl-language-server/master/src/main/resources/org/github/_1c_syntax/bsl/languageserver/configuration/schema.json",
|
||||
"computeDiagnostics": "onType",
|
||||
"diagnosticLanguage": "ru",
|
||||
"diagnostics": {
|
||||
"TernaryOperatorUsage": true,
|
||||
"MissingSpace": false,
|
||||
"MagicNumber": {
|
||||
"authorizedNumbers": "-1,0,1,2,100"
|
||||
},
|
||||
"LineLength": {
|
||||
"maxLineLength": 140
|
||||
}
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user