mirror of
https://github.com/1C-Company/v8-code-style.git
synced 2025-02-09 04:03:27 +02:00
Добавлена проверка области объявления переменных (#1105)
* Добавлена проверка области объявления переменных #534 #531 #200
This commit is contained in:
parent
ab5a60360c
commit
52efa82bb4
@ -52,6 +52,7 @@
|
||||
- Структура модуля. Добавлена проверка области событий.
|
||||
- Отсутствует включение безопасного режима перед вызовом метода "Выполнить" или "Вычислить"
|
||||
- Структура модуля. Добавлена проверка метода вне области.
|
||||
- Структура модуля. Область объявления переменных.
|
||||
|
||||
|
||||
|
||||
|
@ -0,0 +1,36 @@
|
||||
# Variable description section
|
||||
|
||||
Variable description section. Name your variables according to the general variable naming rules.
|
||||
For variable usage recommendations, see Using global variables in modules.
|
||||
|
||||
For each variable, add a comment that clearly explains its purpose. We recommend that you add the comment
|
||||
to the same line where the variable is declared.
|
||||
|
||||
## Noncompliant Code Example
|
||||
|
||||
```bsl
|
||||
|
||||
Var PresentationCurrency;
|
||||
Var SupportEmail;
|
||||
|
||||
```bsl
|
||||
|
||||
## Compliant Solution
|
||||
|
||||
```bsl
|
||||
|
||||
#Region Variables
|
||||
|
||||
Var PresentationCurrency;
|
||||
Var SupportEmail;
|
||||
...
|
||||
|
||||
#EndRegion
|
||||
|
||||
```bsl
|
||||
|
||||
## See
|
||||
|
||||
|
||||
- [Module structure](https://1c-dn.com/library/module_structure/)
|
||||
- [Module structure](https://support.1ci.com/hc/en-us/articles/360011002360-Module-structure)
|
@ -0,0 +1,37 @@
|
||||
# Раздел описания переменных
|
||||
|
||||
Раздел описания переменных. Имена переменных назначаются согласно общим правилам образования имен переменных,
|
||||
а их использование описывается в статье Использование глобальных переменных в программных модулях.
|
||||
|
||||
Все переменные модуля должны быть снабжены комментарием, достаточным для понимания их назначения.
|
||||
Комментарий рекомендуется размещать в той же строке, где объявляется переменная.
|
||||
|
||||
## Неправильно
|
||||
|
||||
```bsl
|
||||
|
||||
|
||||
Перем ВалютаУчета;
|
||||
Перем АдресПоддержки;
|
||||
...
|
||||
|
||||
```
|
||||
|
||||
## Правильно
|
||||
|
||||
```bsl
|
||||
|
||||
#Область ОписаниеПеременных
|
||||
|
||||
Перем ВалютаУчета;
|
||||
Перем АдресПоддержки;
|
||||
...
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
```
|
||||
|
||||
## См.
|
||||
|
||||
|
||||
- [Структура модуля](https://its.1c.ru/db/v8std#content:455:hdoc)
|
@ -291,6 +291,10 @@
|
||||
category="com.e1c.v8codestyle.bsl"
|
||||
class="com.e1c.v8codestyle.bsl.check.BeginTransactionCheck">
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.bsl"
|
||||
class="com.e1c.v8codestyle.internal.bsl.ExecutableExtensionFactory:com.e1c.v8codestyle.bsl.check.ModuleStructureVariablesInRegionCheck">
|
||||
</check>
|
||||
</extension>
|
||||
<extension
|
||||
point="org.eclipse.core.runtime.preferences">
|
||||
|
@ -184,6 +184,12 @@ final class Messages
|
||||
|
||||
public static String ModuleStructureMethodInRegionCheck_Title;
|
||||
|
||||
public static String ModuleStructureVariablesInRegionCheck_Description;
|
||||
|
||||
public static String ModuleStructureVariablesInRegionCheck_Issue__0;
|
||||
|
||||
public static String ModuleStructureVariablesInRegionCheck_Title;
|
||||
|
||||
public static String QueryInLoop_check_query_in_infinite_loop;
|
||||
public static String QueryInLoop_description;
|
||||
public static String QueryInLoop_Loop_has_method_with_query__0;
|
||||
|
@ -0,0 +1,125 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (C) 2021, 1C-Soft LLC and others.
|
||||
*
|
||||
* This program and the accompanying materials are made
|
||||
* available under the terms of the Eclipse Public License 2.0
|
||||
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*
|
||||
* Contributors:
|
||||
* 1C-Soft LLC - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package com.e1c.v8codestyle.bsl.check;
|
||||
|
||||
import static com._1c.g5.v8.dt.bsl.model.BslPackage.Literals.DECLARE_STATEMENT;
|
||||
|
||||
import java.text.MessageFormat;
|
||||
import java.util.Collection;
|
||||
import java.util.Optional;
|
||||
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.emf.ecore.EObject;
|
||||
import org.eclipse.xtext.EcoreUtil2;
|
||||
|
||||
import com._1c.g5.v8.dt.bsl.model.DeclareStatement;
|
||||
import com._1c.g5.v8.dt.bsl.model.ExplicitVariable;
|
||||
import com._1c.g5.v8.dt.bsl.model.Method;
|
||||
import com._1c.g5.v8.dt.bsl.model.ModuleType;
|
||||
import com._1c.g5.v8.dt.bsl.model.RegionPreprocessor;
|
||||
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
|
||||
import com._1c.g5.v8.dt.mcore.McorePackage;
|
||||
import com._1c.g5.v8.dt.metadata.mdclass.ScriptVariant;
|
||||
import com.e1c.g5.v8.dt.check.CheckComplexity;
|
||||
import com.e1c.g5.v8.dt.check.ICheckParameters;
|
||||
import com.e1c.g5.v8.dt.check.components.ModuleTopObjectNameFilterExtension;
|
||||
import com.e1c.g5.v8.dt.check.settings.IssueSeverity;
|
||||
import com.e1c.g5.v8.dt.check.settings.IssueType;
|
||||
import com.e1c.v8codestyle.bsl.ModuleStructureSection;
|
||||
import com.e1c.v8codestyle.check.StandardCheckExtension;
|
||||
import com.e1c.v8codestyle.internal.bsl.BslPlugin;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
/**
|
||||
* Checks variables in region.
|
||||
*
|
||||
* @author Artem Iliukhin
|
||||
*/
|
||||
public class ModuleStructureVariablesInRegionCheck
|
||||
extends AbstractModuleStructureCheck
|
||||
{
|
||||
private static final String CHECK_ID = "module-structure-var-in-region"; //$NON-NLS-1$
|
||||
|
||||
private final IV8ProjectManager v8ProjectManager;
|
||||
|
||||
@Inject
|
||||
public ModuleStructureVariablesInRegionCheck(IV8ProjectManager v8ProjectManager)
|
||||
{
|
||||
this.v8ProjectManager = v8ProjectManager;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void configureCheck(CheckConfigurer builder)
|
||||
{
|
||||
builder.title(Messages.ModuleStructureVariablesInRegionCheck_Title)
|
||||
.description(Messages.ModuleStructureVariablesInRegionCheck_Description)
|
||||
.complexity(CheckComplexity.NORMAL)
|
||||
.severity(IssueSeverity.MINOR)
|
||||
.issueType(IssueType.CODE_STYLE)
|
||||
.extension(new ModuleTopObjectNameFilterExtension())
|
||||
.extension(new StandardCheckExtension(getCheckId(), BslPlugin.PLUGIN_ID))
|
||||
.extension(ModuleTypeFilter.excludeTypes(ModuleType.COMMON_MODULE, ModuleType.COMMAND_MODULE,
|
||||
ModuleType.MANAGER_MODULE, ModuleType.SESSION_MODULE))
|
||||
.module()
|
||||
.checkedObjectType(DECLARE_STATEMENT);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getCheckId()
|
||||
{
|
||||
return CHECK_ID;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void check(Object object, ResultAcceptor resultAceptor, ICheckParameters parameters,
|
||||
IProgressMonitor monitor)
|
||||
{
|
||||
|
||||
DeclareStatement declareStatement = (DeclareStatement)object;
|
||||
Method method = EcoreUtil2.getContainerOfType((EObject)declareStatement, Method.class);
|
||||
if (method != null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (monitor.isCanceled())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Collection<ExplicitVariable> variables = declareStatement.getVariables();
|
||||
if (variables.isEmpty())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Optional<RegionPreprocessor> region = getTopParentRegion(declareStatement);
|
||||
|
||||
ScriptVariant scriptVariant = v8ProjectManager.getProject(declareStatement).getScriptVariant();
|
||||
String variablesName = ModuleStructureSection.VARIABLES.getName(scriptVariant);
|
||||
for (ExplicitVariable variable : variables)
|
||||
{
|
||||
if (monitor.isCanceled())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (region.isEmpty() || !variablesName.equalsIgnoreCase(region.get().getName()))
|
||||
{
|
||||
resultAceptor.addIssue(
|
||||
MessageFormat.format(Messages.ModuleStructureVariablesInRegionCheck_Issue__0, variablesName),
|
||||
variable, McorePackage.Literals.NAMED_ELEMENT__NAME);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -249,6 +249,12 @@ ModuleStructureMethodInRegionCheck_Only_export=Only export methods can be placed
|
||||
|
||||
ModuleStructureMethodInRegionCheck_Title=Method is outside a standard region
|
||||
|
||||
ModuleStructureVariablesInRegionCheck_Description=Variable declaration should be placed in the variable declaration region
|
||||
|
||||
ModuleStructureVariablesInRegionCheck_Issue__0=Variable declaration should be placed in the {0} region
|
||||
|
||||
ModuleStructureVariablesInRegionCheck_Title=Variable declaration is in the correct region
|
||||
|
||||
NewColorCheck_Use_style_elements=To change the design, you should use style elements, and not set specific values directly in the controls
|
||||
|
||||
NewColorCheck_Use_style_elements_not_specific_values=To change the design, you should use style elements, and not set specific values directly in the controls. This is required in order for similar controls to look the same in all forms where they occur.
|
||||
|
@ -222,6 +222,12 @@ ModuleStructureMethodInRegionCheck_Description = Проверяет что ме
|
||||
|
||||
ModuleStructureMethodInRegionCheck_Method_should_be_placed_in_one_of_the_standard_regions = Метод "{0}" необходимо разместить в одной из верхнеуровневых областей: {1}
|
||||
|
||||
ModuleStructureVariablesInRegionCheck_Description=Объявление переменной должно быть помещено в область объявления переменной
|
||||
|
||||
ModuleStructureVariablesInRegionCheck_Issue__0=Объявление переменной должно быть помещено в область {0}
|
||||
|
||||
ModuleStructureVariablesInRegionCheck_Title=Объявление переменных расположено в правильной области
|
||||
|
||||
ModuleUnusedLocalVariableCheck_Description = Проверка модуля на наличие неиспользуемых локальных переменных
|
||||
|
||||
ModuleUnusedLocalVariableCheck_Probably_variable_not_initilized_yet__0 = Возможно, переменная ''{0}'' еще не была проинициализирована
|
||||
|
@ -1,6 +1,15 @@
|
||||
/**
|
||||
* Copyright (C) 2022, 1C
|
||||
*/
|
||||
/*******************************************************************************
|
||||
* Copyright (C) 2021, 1C-Soft LLC and others.
|
||||
*
|
||||
* This program and the accompanying materials are made
|
||||
* available under the terms of the Eclipse Public License 2.0
|
||||
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*
|
||||
* Contributors:
|
||||
* 1C-Soft LLC - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package com.e1c.v8codestyle.bsl.check.itests;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
@ -0,0 +1,103 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (C) 2021, 1C-Soft LLC and others.
|
||||
*
|
||||
* This program and the accompanying materials are made
|
||||
* available under the terms of the Eclipse Public License 2.0
|
||||
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*
|
||||
* Contributors:
|
||||
* 1C-Soft LLC - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package com.e1c.v8codestyle.bsl.check.itests;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.eclipse.core.runtime.Path;
|
||||
import org.junit.Test;
|
||||
|
||||
import com._1c.g5.v8.dt.validation.marker.IExtraInfoKeys;
|
||||
import com._1c.g5.v8.dt.validation.marker.Marker;
|
||||
import com.e1c.g5.v8.dt.testing.check.SingleProjectReadOnlyCheckTestBase;
|
||||
import com.e1c.v8codestyle.bsl.check.ModuleStructureVariablesInRegionCheck;
|
||||
|
||||
/**
|
||||
* Tests for {@link ModuleStructureVariablesInRegionCheck} check.
|
||||
*
|
||||
* @author Artem Iliukhin
|
||||
*/
|
||||
public class ModuleStructureVariablesInRegionCheckTest
|
||||
extends SingleProjectReadOnlyCheckTestBase
|
||||
{
|
||||
private static final String CHECK_ID = "module-structure-var-in-region"; //$NON-NLS-1$
|
||||
private static final String PROJECT_NAME = "ModuleStructureVariablesInRegionCheck"; //$NON-NLS-1$
|
||||
|
||||
private static final String CATALOG_FILE_NAME = "/src/Catalogs/Catalog/ObjectModule.bsl"; //$NON-NLS-1$
|
||||
private static final String CATALOG_VAR_IN_LINE_FILE_NAME = "/src/Catalogs/CatalogComplient/ObjectModule.bsl"; //$NON-NLS-1$
|
||||
private static final String CATALOG_NO_REGION_FILE_NAME = "/src/Catalogs/CatalogNoRegion/ObjectModule.bsl"; //$NON-NLS-1$
|
||||
private static final String CATALOG_OUT_OF_REGION_FILE_NAME = "/src/Catalogs/CatalogOutOfRegion/ObjectModule.bsl"; //$NON-NLS-1$
|
||||
private static final String CATALOG_WRONG_REGION_FILE_NAME = "/src/Catalogs/CatalogWrongRegion/ObjectModule.bsl"; //$NON-NLS-1$
|
||||
|
||||
@Override
|
||||
protected String getTestConfigurationName()
|
||||
{
|
||||
return PROJECT_NAME;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testVariableInRegion() throws Exception
|
||||
{
|
||||
List<Marker> markers = getMarkers(CATALOG_FILE_NAME);
|
||||
assertTrue(markers.isEmpty());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testVariablesInRegion() throws Exception
|
||||
{
|
||||
List<Marker> markers = getMarkers(CATALOG_VAR_IN_LINE_FILE_NAME);
|
||||
assertTrue(markers.isEmpty());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNoVariablesRegion() throws Exception
|
||||
{
|
||||
List<Marker> markers = getMarkers(CATALOG_NO_REGION_FILE_NAME);
|
||||
assertEquals(1, markers.size());
|
||||
|
||||
assertEquals("2", markers.get(0).getExtraInfo().get(IExtraInfoKeys.TEXT_EXTRA_INFO_LINE_KEY));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testOutOfVariablesRegion() throws Exception
|
||||
{
|
||||
List<Marker> markers = getMarkers(CATALOG_OUT_OF_REGION_FILE_NAME);
|
||||
assertEquals(1, markers.size());
|
||||
|
||||
assertEquals("5", markers.get(0).getExtraInfo().get(IExtraInfoKeys.TEXT_EXTRA_INFO_LINE_KEY));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testWrongRegion() throws Exception
|
||||
{
|
||||
List<Marker> markers = getMarkers(CATALOG_WRONG_REGION_FILE_NAME);
|
||||
assertEquals(1, markers.size());
|
||||
|
||||
assertEquals("6", markers.get(0).getExtraInfo().get(IExtraInfoKeys.TEXT_EXTRA_INFO_LINE_KEY));
|
||||
}
|
||||
|
||||
private List<Marker> getMarkers(String moduleFileName)
|
||||
{
|
||||
String moduleId = Path.ROOT.append(getTestConfigurationName()).append(moduleFileName).toString();
|
||||
List<Marker> markers = List.of(markerManager.getMarkers(getProject().getWorkspaceProject(), moduleId));
|
||||
|
||||
return markers.stream()
|
||||
.filter(marker -> CHECK_ID.equals(getCheckIdFromMarker(marker, getProject())))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>ModuleStructureVariablesInRegionCheck</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
|
||||
<nature>com._1c.g5.v8.dt.core.V8ConfigurationNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
@ -0,0 +1,2 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding/<project>=UTF-8
|
@ -0,0 +1,2 @@
|
||||
Manifest-Version: 1.0
|
||||
Runtime-Version: 8.3.19
|
@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Catalog xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="1315575c-caea-479f-ace2-8b5308837087">
|
||||
<producedTypes>
|
||||
<objectType typeId="05ef1784-6253-43ba-b550-3aae0710553f" valueTypeId="2cfef4c1-90e2-441d-b3e3-6d3ce90cecb2"/>
|
||||
<refType typeId="ab0ddd25-2e6f-416c-a520-8d76c1fe8cf7" valueTypeId="190e8695-1b05-49b7-a2bd-f22b35565fbf"/>
|
||||
<selectionType typeId="8e6b69a0-665f-4f9b-a2ef-5753dc117266" valueTypeId="baab92c1-138c-4cb6-9f87-42aef7046a9f"/>
|
||||
<listType typeId="611b14b5-bb34-4f88-8b72-8972945218ff" valueTypeId="9cb33960-54f0-4607-8151-a59d3b3e65b8"/>
|
||||
<managerType typeId="86374365-7b99-4b6a-91c5-0e23561f9a53" valueTypeId="e89a6439-f2aa-4b98-ac95-d3dce1571d08"/>
|
||||
</producedTypes>
|
||||
<name>Catalog</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Catalog</value>
|
||||
</synonym>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
<inputByString>Catalog.Catalog.StandardAttribute.Code</inputByString>
|
||||
<inputByString>Catalog.Catalog.StandardAttribute.Description</inputByString>
|
||||
<fullTextSearchOnInputByString>DontUse</fullTextSearchOnInputByString>
|
||||
<createOnInput>Use</createOnInput>
|
||||
<dataLockControlMode>Managed</dataLockControlMode>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<levelCount>2</levelCount>
|
||||
<foldersOnTop>true</foldersOnTop>
|
||||
<codeLength>9</codeLength>
|
||||
<descriptionLength>25</descriptionLength>
|
||||
<codeType>String</codeType>
|
||||
<codeAllowedLength>Variable</codeAllowedLength>
|
||||
<checkUnique>true</checkUnique>
|
||||
<autonumbering>true</autonumbering>
|
||||
<defaultPresentation>AsDescription</defaultPresentation>
|
||||
<editType>InDialog</editType>
|
||||
<choiceMode>BothWays</choiceMode>
|
||||
</mdclass:Catalog>
|
@ -0,0 +1,24 @@
|
||||
#Region Variables
|
||||
Var a;
|
||||
Var b;
|
||||
#EndRegion
|
||||
|
||||
#Region Public
|
||||
// Enter code here.
|
||||
#EndRegion
|
||||
|
||||
#Region EventHandlers
|
||||
// Enter code here.
|
||||
#EndRegion
|
||||
|
||||
#Region Internal
|
||||
// Enter code here.
|
||||
#EndRegion
|
||||
|
||||
#Region Private
|
||||
// Enter code here.
|
||||
#EndRegion
|
||||
|
||||
#Region Initialize
|
||||
|
||||
#EndRegion
|
@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Catalog xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="c3934d11-33ee-4a81-bd1e-d1302f5c1438">
|
||||
<producedTypes>
|
||||
<objectType typeId="b1c3ce14-f9dc-4908-8c48-ac172fe17e8c" valueTypeId="6c39a456-a943-415b-9240-82701672247f"/>
|
||||
<refType typeId="d18bf976-dded-4e46-8f1d-b129929321b0" valueTypeId="726b8439-3c87-4830-8d69-f40f0207ff7b"/>
|
||||
<selectionType typeId="bbf82794-82f3-4774-be9f-9edf6d1bcca5" valueTypeId="fdeb86f2-b324-4584-991e-ffa8b0d7d35e"/>
|
||||
<listType typeId="a9295dd4-184a-4d1b-a37a-d6e4a7be93bc" valueTypeId="c121171e-e67b-4728-bb30-63b650390b3b"/>
|
||||
<managerType typeId="0c1bc74d-e5f8-464d-8904-d5a059543213" valueTypeId="fc1b9669-24cb-4f25-b54b-e1af9892fcbe"/>
|
||||
</producedTypes>
|
||||
<name>CatalogComplient</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Catalog complient</value>
|
||||
</synonym>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
<inputByString>Catalog.CatalogComplient.StandardAttribute.Code</inputByString>
|
||||
<inputByString>Catalog.CatalogComplient.StandardAttribute.Description</inputByString>
|
||||
<fullTextSearchOnInputByString>DontUse</fullTextSearchOnInputByString>
|
||||
<createOnInput>Use</createOnInput>
|
||||
<dataLockControlMode>Managed</dataLockControlMode>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<levelCount>2</levelCount>
|
||||
<foldersOnTop>true</foldersOnTop>
|
||||
<codeLength>9</codeLength>
|
||||
<descriptionLength>25</descriptionLength>
|
||||
<codeType>String</codeType>
|
||||
<codeAllowedLength>Variable</codeAllowedLength>
|
||||
<checkUnique>true</checkUnique>
|
||||
<autonumbering>true</autonumbering>
|
||||
<defaultPresentation>AsDescription</defaultPresentation>
|
||||
<editType>InDialog</editType>
|
||||
<choiceMode>BothWays</choiceMode>
|
||||
</mdclass:Catalog>
|
@ -0,0 +1,23 @@
|
||||
#Region Variables
|
||||
Var a, b;
|
||||
#EndRegion
|
||||
|
||||
#Region Public
|
||||
// Enter code here.
|
||||
#EndRegion
|
||||
|
||||
#Region EventHandlers
|
||||
// Enter code here.
|
||||
#EndRegion
|
||||
|
||||
#Region Internal
|
||||
// Enter code here.
|
||||
#EndRegion
|
||||
|
||||
#Region Private
|
||||
// Enter code here.
|
||||
#EndRegion
|
||||
|
||||
#Region Initialize
|
||||
|
||||
#EndRegion
|
@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Catalog xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="1caf28b8-5048-4126-a532-a9ff0779a5cc">
|
||||
<producedTypes>
|
||||
<objectType typeId="e6aceea1-76c9-4ddc-8cbf-ffbc8c69aef1" valueTypeId="8d50d2d2-489b-4b7a-a288-d34557546320"/>
|
||||
<refType typeId="d58cf682-dd9b-4393-be47-3fdf3a284090" valueTypeId="cd37e4e8-d0a9-498e-a0cb-3c108e30365c"/>
|
||||
<selectionType typeId="8cfd87de-8481-4def-adc9-af1eedf18b2e" valueTypeId="2a7c7802-e0de-46a2-91ac-1f23b81d81c8"/>
|
||||
<listType typeId="f1e3ac04-c189-4015-81b3-8251960c4684" valueTypeId="50017a64-d46c-48dc-b92d-58dadb8dd36b"/>
|
||||
<managerType typeId="c8026f02-c1dd-47f0-b736-bf6042aa8890" valueTypeId="35868bad-33a7-4e50-8f2b-d860a128c277"/>
|
||||
</producedTypes>
|
||||
<name>CatalogNoRegion</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Catalog no region</value>
|
||||
</synonym>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
<inputByString>Catalog.CatalogNoRegion.StandardAttribute.Code</inputByString>
|
||||
<inputByString>Catalog.CatalogNoRegion.StandardAttribute.Description</inputByString>
|
||||
<fullTextSearchOnInputByString>DontUse</fullTextSearchOnInputByString>
|
||||
<createOnInput>Use</createOnInput>
|
||||
<dataLockControlMode>Managed</dataLockControlMode>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<levelCount>2</levelCount>
|
||||
<foldersOnTop>true</foldersOnTop>
|
||||
<codeLength>9</codeLength>
|
||||
<descriptionLength>25</descriptionLength>
|
||||
<codeType>String</codeType>
|
||||
<codeAllowedLength>Variable</codeAllowedLength>
|
||||
<checkUnique>true</checkUnique>
|
||||
<autonumbering>true</autonumbering>
|
||||
<defaultPresentation>AsDescription</defaultPresentation>
|
||||
<editType>InDialog</editType>
|
||||
<choiceMode>BothWays</choiceMode>
|
||||
</mdclass:Catalog>
|
@ -0,0 +1,22 @@
|
||||
|
||||
Var a;
|
||||
|
||||
#Region Public
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region EventHandlers
|
||||
// Enter code here.
|
||||
#EndRegion
|
||||
|
||||
#Region Internal
|
||||
// Enter code here.
|
||||
#EndRegion
|
||||
|
||||
#Region Private
|
||||
// Enter code here.
|
||||
#EndRegion
|
||||
|
||||
#Region Initialize
|
||||
|
||||
#EndRegion
|
@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Catalog xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="237162e8-365a-4b64-a27c-42321755f203">
|
||||
<producedTypes>
|
||||
<objectType typeId="4ecdff4a-0f60-4dab-8834-c9132bf01312" valueTypeId="045dfaea-dfcb-4ce4-84d8-733107262aba"/>
|
||||
<refType typeId="971294ed-55e5-4e0e-81c5-9a85a7c73ad4" valueTypeId="370d474f-3798-4858-9dba-4b570895e882"/>
|
||||
<selectionType typeId="36185fae-ec8d-4945-bfb4-f06851b4fbf8" valueTypeId="a10e40fd-5468-49ae-9496-6e017ffc5183"/>
|
||||
<listType typeId="127038c6-50f0-4e43-936c-055cdbf0ce47" valueTypeId="50d23223-0b50-45bc-bdd0-510cd5da960a"/>
|
||||
<managerType typeId="6a49c386-9c1a-489e-a944-e254063145a2" valueTypeId="08210355-5b74-4cda-92c7-49bd63888d01"/>
|
||||
</producedTypes>
|
||||
<name>CatalogOutOfRegion</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Catalog out of region</value>
|
||||
</synonym>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
<inputByString>Catalog.CatalogOutOfRegion.StandardAttribute.Code</inputByString>
|
||||
<inputByString>Catalog.CatalogOutOfRegion.StandardAttribute.Description</inputByString>
|
||||
<fullTextSearchOnInputByString>DontUse</fullTextSearchOnInputByString>
|
||||
<createOnInput>Use</createOnInput>
|
||||
<dataLockControlMode>Managed</dataLockControlMode>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<levelCount>2</levelCount>
|
||||
<foldersOnTop>true</foldersOnTop>
|
||||
<codeLength>9</codeLength>
|
||||
<descriptionLength>25</descriptionLength>
|
||||
<codeType>String</codeType>
|
||||
<codeAllowedLength>Variable</codeAllowedLength>
|
||||
<checkUnique>true</checkUnique>
|
||||
<autonumbering>true</autonumbering>
|
||||
<defaultPresentation>AsDescription</defaultPresentation>
|
||||
<editType>InDialog</editType>
|
||||
<choiceMode>BothWays</choiceMode>
|
||||
</mdclass:Catalog>
|
@ -0,0 +1,25 @@
|
||||
|
||||
#Region Variables
|
||||
Var a;
|
||||
#EndRegion
|
||||
Var b;
|
||||
|
||||
#Region Public
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region EventHandlers
|
||||
// Enter code here.
|
||||
#EndRegion
|
||||
|
||||
#Region Internal
|
||||
// Enter code here.
|
||||
#EndRegion
|
||||
|
||||
#Region Private
|
||||
// Enter code here.
|
||||
#EndRegion
|
||||
|
||||
#Region Initialize
|
||||
|
||||
#EndRegion
|
@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Catalog xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="3f527c81-c2c8-4d2c-b519-b72aa7a860f8">
|
||||
<producedTypes>
|
||||
<objectType typeId="7c63b34e-ecc7-4084-b81c-f75393efad69" valueTypeId="4d93c4a5-1713-4b39-b8ee-cde686afaf95"/>
|
||||
<refType typeId="36b94ad5-e043-4790-a0ff-e7f383e6b51e" valueTypeId="03a3978d-54b7-4a88-a718-1d74e0d9c1ce"/>
|
||||
<selectionType typeId="f83f5f5c-4399-412e-90ac-a478e59e82f7" valueTypeId="70674d6d-a20a-41c9-9148-e72cda44788b"/>
|
||||
<listType typeId="1452d96e-3c36-46b2-8326-02b9e8f09493" valueTypeId="d47022ee-b44c-4327-bd14-67d0a1736dd9"/>
|
||||
<managerType typeId="fa6e5783-95d3-4455-be8c-d9c82e70cac5" valueTypeId="449eaa27-3f8d-4281-960e-797d6f85b325"/>
|
||||
</producedTypes>
|
||||
<name>CatalogWrongRegion</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Catalog wrong region</value>
|
||||
</synonym>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
<inputByString>Catalog.CatalogWrongRegion.StandardAttribute.Code</inputByString>
|
||||
<inputByString>Catalog.CatalogWrongRegion.StandardAttribute.Description</inputByString>
|
||||
<fullTextSearchOnInputByString>DontUse</fullTextSearchOnInputByString>
|
||||
<createOnInput>Use</createOnInput>
|
||||
<dataLockControlMode>Managed</dataLockControlMode>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<levelCount>2</levelCount>
|
||||
<foldersOnTop>true</foldersOnTop>
|
||||
<codeLength>9</codeLength>
|
||||
<descriptionLength>25</descriptionLength>
|
||||
<codeType>String</codeType>
|
||||
<codeAllowedLength>Variable</codeAllowedLength>
|
||||
<checkUnique>true</checkUnique>
|
||||
<autonumbering>true</autonumbering>
|
||||
<defaultPresentation>AsDescription</defaultPresentation>
|
||||
<editType>InDialog</editType>
|
||||
<choiceMode>BothWays</choiceMode>
|
||||
</mdclass:Catalog>
|
@ -0,0 +1,23 @@
|
||||
#Region Variables
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region Public
|
||||
Var a;
|
||||
#EndRegion
|
||||
|
||||
#Region EventHandlers
|
||||
// Enter code here.
|
||||
#EndRegion
|
||||
|
||||
#Region Internal
|
||||
// Enter code here.
|
||||
#EndRegion
|
||||
|
||||
#Region Private
|
||||
// Enter code here.
|
||||
#EndRegion
|
||||
|
||||
#Region Initialize
|
||||
|
||||
#EndRegion
|
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<cmi:CommandInterface xmlns:cmi="http://g5.1c.ru/v8/dt/cmi"/>
|
@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="09ceaa51-ad6b-4cff-a466-84350bb15c6f">
|
||||
<name>ModuleStructureVariablesInRegionCheck</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Module structure variables in region check</value>
|
||||
</synonym>
|
||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="8c89a036-941b-4b58-825d-a7ee0c4dd59a"/>
|
||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="730b3c61-b15c-415c-ac55-214e91f249a4"/>
|
||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="f8ea3fdd-a5bd-4af4-ba81-2eef92f82fc0"/>
|
||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="033ae26d-e065-4a6b-b619-fa106fc7bab8"/>
|
||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="b594fe53-04c0-4d0e-ae05-295ed22b887e"/>
|
||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="c61aa09a-ab14-438b-ace1-48f17c39b2c5"/>
|
||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="3b1e09b4-fba2-41b0-81e3-87f9e05e9122"/>
|
||||
<configurationExtensionCompatibilityMode>8.3.19</configurationExtensionCompatibilityMode>
|
||||
<defaultRunMode>ManagedApplication</defaultRunMode>
|
||||
<usePurposes>PersonalComputer</usePurposes>
|
||||
<usedMobileApplicationFunctionalities>
|
||||
<functionality>
|
||||
<use>true</use>
|
||||
</functionality>
|
||||
<functionality>
|
||||
<functionality>OSBackup</functionality>
|
||||
<use>true</use>
|
||||
</functionality>
|
||||
</usedMobileApplicationFunctionalities>
|
||||
<defaultLanguage>Language.English</defaultLanguage>
|
||||
<dataLockControlMode>Managed</dataLockControlMode>
|
||||
<objectAutonumerationMode>NotAutoFree</objectAutonumerationMode>
|
||||
<modalityUseMode>DontUse</modalityUseMode>
|
||||
<synchronousPlatformExtensionAndAddInCallUseMode>DontUse</synchronousPlatformExtensionAndAddInCallUseMode>
|
||||
<compatibilityMode>8.3.19</compatibilityMode>
|
||||
<languages uuid="0b35a5ef-e38b-4367-ab91-381e7686dc70">
|
||||
<name>English</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>English</value>
|
||||
</synonym>
|
||||
<languageCode>en</languageCode>
|
||||
</languages>
|
||||
<catalogs>Catalog.Catalog</catalogs>
|
||||
<catalogs>Catalog.CatalogComplient</catalogs>
|
||||
<catalogs>Catalog.CatalogNoRegion</catalogs>
|
||||
<catalogs>Catalog.CatalogOutOfRegion</catalogs>
|
||||
<catalogs>Catalog.CatalogWrongRegion</catalogs>
|
||||
</mdclass:Configuration>
|
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<cmi:CommandInterface xmlns:cmi="http://g5.1c.ru/v8/dt/cmi"/>
|
Loading…
x
Reference in New Issue
Block a user