You've already forked v8-code-style
mirror of
https://github.com/1C-Company/v8-code-style.git
synced 2025-07-17 13:07:50 +02:00
Реализована проверка реквизита "Комментарий" у документов и справочников (стандарт 531). Проверка типа: Строка неограниченной длинны, многострочная.
This commit is contained in:
@ -11,6 +11,7 @@
|
||||
#### Метаданные
|
||||
|
||||
- Документ не имеет реквизита "Комментарий"
|
||||
- Реквизит "Комментарий" имеет корректный тип
|
||||
|
||||
#### Формы
|
||||
|
||||
|
@ -0,0 +1,18 @@
|
||||
# Attribute "Comment" for documents
|
||||
|
||||
For all documents, it is recommended to create the Comment attribute (string of unlimited length).
|
||||
In this attribute, users can write down various notes of an official nature on the document
|
||||
that are not related to the application specifics of the document (for example, the reason for marking for deletion, etc.).
|
||||
Access to the attribute for users must be configured in the same way as to the document itself
|
||||
(if the document is read-only, then the comment is read-only; if there is write access to the document,
|
||||
then the value of the attribute can also be changed).
|
||||
|
||||
Multiline edit must be enabled.
|
||||
|
||||
## Noncompliant Code Example
|
||||
|
||||
## Compliant Solution
|
||||
|
||||
## See
|
||||
|
||||
[Attribute "Comment" for documents](https://its.1c.ru/db/v8std#content:531:hdoc:1)
|
@ -0,0 +1,21 @@
|
||||
# Реквизит «Комментарий» у документов
|
||||
|
||||
Для всех документов рекомендуется создавать реквизит Комментарий
|
||||
(строка неограниченной длины). В этом реквизите пользователи могут
|
||||
записывать по документу различные заметки служебного характера, которые
|
||||
не относятся к прикладной специфике документа (например, причина пометки
|
||||
на удаления и т.п.). Доступ к реквизиту для пользователей должен быть
|
||||
настроен также как и к самому документу (если документ доступен только
|
||||
для чтения, то и комментарий – только для чтения; если же есть право
|
||||
записи документа, то и значение реквизита также можно изменять).
|
||||
|
||||
Свойство "Многострочный режим" у реквизита должно быть включено.
|
||||
быть включено.
|
||||
|
||||
## Неправильно
|
||||
|
||||
## Правильно
|
||||
|
||||
## См.
|
||||
|
||||
[Реквизит «Комментарий» у документов](https://its.1c.ru/db/v8std#content:531:hdoc:1)
|
@ -110,6 +110,10 @@
|
||||
category="com.e1c.v8codestyle.md"
|
||||
class="com.e1c.v8codestyle.internal.md.ExecutableExtensionFactory:com.e1c.v8codestyle.md.check.ExtensionMdObjectNamePrefixCheck">
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.md"
|
||||
class="com.e1c.v8codestyle.md.check.MdObjectAttributeCommentCheck">
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.md"
|
||||
class="com.e1c.v8codestyle.md.check.MdObjectAttributeCommentNotExistCheck">
|
||||
|
@ -0,0 +1,214 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (C) 2023, 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
|
||||
* Vadim Goncharov - issue #133
|
||||
*******************************************************************************/
|
||||
|
||||
package com.e1c.v8codestyle.md.check;
|
||||
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.BASIC_FEATURE__MULTI_LINE;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.BASIC_FEATURE__TYPE;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.CATALOG;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.CATALOG_ATTRIBUTE;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.DOCUMENT;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.DOCUMENT_ATTRIBUTE;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.emf.ecore.EObject;
|
||||
|
||||
import com._1c.g5.v8.dt.mcore.StringQualifiers;
|
||||
import com._1c.g5.v8.dt.mcore.TypeDescription;
|
||||
import com._1c.g5.v8.dt.mcore.TypeItem;
|
||||
import com._1c.g5.v8.dt.mcore.util.McoreUtil;
|
||||
import com._1c.g5.v8.dt.metadata.mdclass.BasicFeature;
|
||||
import com._1c.g5.v8.dt.metadata.mdclass.CatalogAttribute;
|
||||
import com._1c.g5.v8.dt.metadata.mdclass.DefinedType;
|
||||
import com._1c.g5.v8.dt.metadata.mdclass.DocumentAttribute;
|
||||
import com._1c.g5.v8.dt.platform.IEObjectTypeNames;
|
||||
import com.e1c.g5.v8.dt.check.CheckComplexity;
|
||||
import com.e1c.g5.v8.dt.check.ICheckParameters;
|
||||
import com.e1c.g5.v8.dt.check.components.BasicCheck;
|
||||
import com.e1c.g5.v8.dt.check.components.TopObjectFilterExtension;
|
||||
import com.e1c.g5.v8.dt.check.settings.IssueSeverity;
|
||||
import com.e1c.g5.v8.dt.check.settings.IssueType;
|
||||
import com.e1c.v8codestyle.check.StandardCheckExtension;
|
||||
import com.e1c.v8codestyle.internal.md.CorePlugin;
|
||||
|
||||
/**
|
||||
* Check attributes of catalogs and documents that named "Comment".
|
||||
* The attribute must be of the unlimited string type. Multiline edit must be enabled.
|
||||
*
|
||||
* @author Vadim Goncharov
|
||||
*/
|
||||
public class MdObjectAttributeCommentCheck
|
||||
extends BasicCheck
|
||||
{
|
||||
|
||||
private static final String CHECK_ID = "md-object-attribute-comment-incorrect-type"; //$NON-NLS-1$
|
||||
|
||||
public static final String PARAM_CHECK_DOCUMENTS = "checkDocuments"; //$NON-NLS-1$
|
||||
public static final String PARAM_CHECK_CATALOGS = "checkCatalogs"; //$NON-NLS-1$
|
||||
public static final String PARAM_ATTRIBUTES_LIST = "attributesList"; //$NON-NLS-1$
|
||||
|
||||
public static final String DEFAULT_CHECK_DOCUMENTS = Boolean.toString(true);
|
||||
public static final String DEFAULT_CHECK_CATALOGS = Boolean.toString(false);
|
||||
|
||||
private static final Set<String> COMMENT_ATTRIBUTES_LIST = Set.of("Комментарий", //$NON-NLS-1$
|
||||
"Comment"); //$NON-NLS-1$
|
||||
private static final String DELIMITER = ","; //$NON-NLS-1$
|
||||
public static final String DEFAULT_ATTRIBUTES_LIST = String.join(DELIMITER, COMMENT_ATTRIBUTES_LIST);
|
||||
|
||||
private static final String DEFAULT_CHECK_MESSAGE = Messages.MdObjectAttributeCommentCheck_Default_check_message;
|
||||
|
||||
public MdObjectAttributeCommentCheck()
|
||||
{
|
||||
super();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void configureCheck(CheckConfigurer builder)
|
||||
{
|
||||
builder.title(Messages.MdObjectAttributeCommentCheck_title)
|
||||
.description(Messages.MdObjectAttributeCommentCheck_description)
|
||||
.complexity(CheckComplexity.NORMAL)
|
||||
.severity(IssueSeverity.MINOR)
|
||||
.issueType(IssueType.UI_STYLE)
|
||||
.extension(new StandardCheckExtension(531, getCheckId(), CorePlugin.PLUGIN_ID))
|
||||
.extension(new SkipAdoptedInExtensionMdObjectExtension())
|
||||
.extension(new TopObjectFilterExtension())
|
||||
.parameter(PARAM_ATTRIBUTES_LIST, String.class, DEFAULT_ATTRIBUTES_LIST,
|
||||
Messages.MdObjectAttributeCommentCheck_Attribute_list);
|
||||
|
||||
builder.topObject(CATALOG)
|
||||
.containment(CATALOG_ATTRIBUTE)
|
||||
.features(BASIC_FEATURE__TYPE, BASIC_FEATURE__MULTI_LINE)
|
||||
.parameter(PARAM_CHECK_CATALOGS, Boolean.class, DEFAULT_CHECK_CATALOGS,
|
||||
Messages.MdObjectAttributeCommentCheck_Check_catalogs_param);
|
||||
|
||||
builder.topObject(DOCUMENT)
|
||||
.containment(DOCUMENT_ATTRIBUTE)
|
||||
.features(BASIC_FEATURE__TYPE, BASIC_FEATURE__MULTI_LINE)
|
||||
.parameter(PARAM_CHECK_DOCUMENTS, Boolean.class, DEFAULT_CHECK_DOCUMENTS,
|
||||
Messages.MdObjectAttributeCommentCheck_Check_documents_param);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getCheckId()
|
||||
{
|
||||
return CHECK_ID;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void check(Object object, ResultAcceptor resultAceptor, ICheckParameters parameters,
|
||||
IProgressMonitor monitor)
|
||||
{
|
||||
|
||||
boolean checkCatalogs = parameters.getBoolean(PARAM_CHECK_CATALOGS);
|
||||
boolean checkDocuments = parameters.getBoolean(PARAM_CHECK_DOCUMENTS);
|
||||
Set<String> attributeList = getListOfAttributes(parameters);
|
||||
|
||||
BasicFeature attribute = (BasicFeature)object;
|
||||
String attributeName = attribute.getName();
|
||||
|
||||
if (!attributeList.contains(attributeName))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (!monitor.isCanceled() && checkDocuments && isDocumentAttribute(object))
|
||||
{
|
||||
checkAttribute(attribute, resultAceptor);
|
||||
}
|
||||
|
||||
if (!monitor.isCanceled() && checkCatalogs && isCatalogAttribute(object))
|
||||
{
|
||||
checkAttribute(attribute, resultAceptor);
|
||||
}
|
||||
}
|
||||
|
||||
private void checkAttribute(BasicFeature attribute, ResultAcceptor resultAceptor)
|
||||
{
|
||||
checkAttritubeType(attribute, resultAceptor);
|
||||
checkAttributeIsMultiline(attribute, resultAceptor);
|
||||
}
|
||||
|
||||
private void checkAttritubeType(BasicFeature attribute, ResultAcceptor resultAceptor)
|
||||
{
|
||||
TypeDescription typeDesc = attribute.getType();
|
||||
if (McoreUtil.isCompoundType(typeDesc))
|
||||
{
|
||||
resultAceptor.addIssue(DEFAULT_CHECK_MESSAGE, BASIC_FEATURE__TYPE);
|
||||
return;
|
||||
}
|
||||
|
||||
TypeItem item = typeDesc.getTypes().get(0);
|
||||
if (IEObjectTypeNames.DEFINED_TYPE.equals(McoreUtil.getTypeCategory(item)))
|
||||
{
|
||||
EObject definedType = item.eContainer();
|
||||
while (definedType != null && !(definedType instanceof DefinedType))
|
||||
{
|
||||
definedType = definedType.eContainer();
|
||||
}
|
||||
if (definedType instanceof DefinedType)
|
||||
{
|
||||
typeDesc = ((DefinedType)definedType).getType();
|
||||
}
|
||||
}
|
||||
|
||||
StringQualifiers qualifiers = typeDesc.getStringQualifiers();
|
||||
if (qualifiers == null)
|
||||
{
|
||||
resultAceptor.addIssue(DEFAULT_CHECK_MESSAGE, BASIC_FEATURE__TYPE);
|
||||
return;
|
||||
}
|
||||
|
||||
if (qualifiers.getLength() != 0)
|
||||
{
|
||||
resultAceptor.addIssue(DEFAULT_CHECK_MESSAGE, BASIC_FEATURE__TYPE);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void checkAttributeIsMultiline(BasicFeature attribute, ResultAcceptor resultAceptor)
|
||||
{
|
||||
if (!attribute.isMultiLine())
|
||||
{
|
||||
resultAceptor.addIssue(DEFAULT_CHECK_MESSAGE, BASIC_FEATURE__MULTI_LINE);
|
||||
}
|
||||
}
|
||||
|
||||
private Set<String> getListOfAttributes(ICheckParameters parameters)
|
||||
{
|
||||
Set<String> attributes = new TreeSet<>(String.CASE_INSENSITIVE_ORDER);
|
||||
|
||||
String paramAttributesString = parameters.getString(PARAM_ATTRIBUTES_LIST);
|
||||
Set<String> paramsAttributes = Set.of(paramAttributesString.replace(" ", "").split(DELIMITER)); //$NON-NLS-1$ //$NON-NLS-2$
|
||||
|
||||
attributes.addAll(paramsAttributes);
|
||||
|
||||
return attributes;
|
||||
}
|
||||
|
||||
private boolean isCatalogAttribute(Object object)
|
||||
{
|
||||
return object instanceof CatalogAttribute;
|
||||
}
|
||||
|
||||
private boolean isDocumentAttribute(Object object)
|
||||
{
|
||||
return object instanceof DocumentAttribute;
|
||||
}
|
||||
|
||||
}
|
@ -27,6 +27,12 @@ final class Messages
|
||||
public static String DbObjectRefNonRefTypesCheck_Description;
|
||||
public static String DbObjectRefNonRefTypesCheck_Ref_and_other;
|
||||
public static String DbObjectRefNonRefTypesCheck_Title;
|
||||
public static String MdObjectAttributeCommentCheck_Attribute_list;
|
||||
public static String MdObjectAttributeCommentCheck_Check_catalogs_param;
|
||||
public static String MdObjectAttributeCommentCheck_Check_documents_param;
|
||||
public static String MdObjectAttributeCommentCheck_Default_check_message;
|
||||
public static String MdObjectAttributeCommentCheck_description;
|
||||
public static String MdObjectAttributeCommentCheck_title;
|
||||
public static String MdObjectAttributeCommentNotExist_description;
|
||||
public static String MdObjectAttributeCommentNotExist_Md_Object_attribute_Comment_does_not_exist;
|
||||
public static String MdObjectAttributeCommentNotExist_Param_Check_Catalogs;
|
||||
|
@ -71,6 +71,18 @@ MdListObjectPresentationCheck_decription = Neither Object presentation nor List
|
||||
|
||||
MdListObjectPresentationCheck_title = Neither Object presentation nor List presentation is not filled
|
||||
|
||||
MdObjectAttributeCommentCheck_Attribute_list=Attributes list
|
||||
|
||||
MdObjectAttributeCommentCheck_Check_catalogs_param=Check Catalogs
|
||||
|
||||
MdObjectAttributeCommentCheck_Check_documents_param=Check Documents
|
||||
|
||||
MdObjectAttributeCommentCheck_Default_check_message=The attribute "Comment" has an invalid type
|
||||
|
||||
MdObjectAttributeCommentCheck_description=The attribute "Comment" has an invalid type
|
||||
|
||||
MdObjectAttributeCommentCheck_title=The attribute "Comment" has an invalid type
|
||||
|
||||
MdObjectAttributeCommentNotExist_Md_Object_attribute_Comment_does_not_exist = Md Object attribute "Comment" does not exist
|
||||
|
||||
MdObjectAttributeCommentNotExist_Param_Attribute_name_list = Attribute name list
|
||||
|
@ -72,6 +72,18 @@ MdListObjectPresentationCheck_decription = Не заполнено ни пред
|
||||
|
||||
MdListObjectPresentationCheck_title = Не заполнено ни представление объекта, ни представление списка
|
||||
|
||||
MdObjectAttributeCommentCheck_Attribute_list = Список реквизитов
|
||||
|
||||
MdObjectAttributeCommentCheck_Check_catalogs_param = Проверять справочники
|
||||
|
||||
MdObjectAttributeCommentCheck_Check_documents_param = Проверять документы
|
||||
|
||||
MdObjectAttributeCommentCheck_Default_check_message = Реквизит "Комментарий" имеет недопустимый тип
|
||||
|
||||
MdObjectAttributeCommentCheck_description = Реквизит "Комментарий" имеет недопустимый тип
|
||||
|
||||
MdObjectAttributeCommentCheck_title = Реквизит "Комментарий" имеет недопустимый тип
|
||||
|
||||
MdObjectAttributeCommentNotExist_Md_Object_attribute_Comment_does_not_exist = Объект метаданных не имеет реквизит "Комментарий"
|
||||
|
||||
MdObjectAttributeCommentNotExist_Param_Attribute_name_list = Список имен реквизита
|
||||
|
@ -0,0 +1,58 @@
|
||||
package com.e1c.v8codestyle.md.check.itests;
|
||||
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import com._1c.g5.v8.dt.core.platform.IDtProject;
|
||||
import com._1c.g5.v8.dt.validation.marker.Marker;
|
||||
import com.e1c.g5.v8.dt.testing.check.CheckTestBase;
|
||||
import com.e1c.v8codestyle.md.check.MdObjectAttributeCommentCheck;
|
||||
|
||||
/**
|
||||
* Tests for {@link MdObjectAttributeCommentCheck} check
|
||||
*
|
||||
* @author Vadim Goncharov
|
||||
*
|
||||
*/
|
||||
public class MdObjectAttributeCommentCheckTest
|
||||
extends CheckTestBase
|
||||
{
|
||||
private static final String CHECK_ID = "md-object-attribute-comment-incorrect-type"; //$NON-NLS-1$
|
||||
|
||||
private static final String PROJECT_NAME = "MdObjectAttributeComment"; //$NON-NLS-1$
|
||||
|
||||
/**
|
||||
* Test that md object have attribute Comment of correct type.
|
||||
*
|
||||
* @throws Exception the exception
|
||||
*/
|
||||
@Test
|
||||
public void testMdObjectAttributeComment() throws Exception
|
||||
{
|
||||
IDtProject dtProject = openProjectAndWaitForValidationFinish(PROJECT_NAME);
|
||||
assertNotNull(dtProject);
|
||||
|
||||
long id = getTopObjectIdByFqn("Document.TestDocument1", dtProject);
|
||||
Marker marker = getFirstNestedMarker(CHECK_ID, id, dtProject);
|
||||
assertNotNull(marker);
|
||||
|
||||
id = getTopObjectIdByFqn("Document.TestDocument2", dtProject);
|
||||
marker = getFirstNestedMarker(CHECK_ID, id, dtProject);
|
||||
assertNotNull(marker);
|
||||
|
||||
id = getTopObjectIdByFqn("Document.TestDocument3", dtProject);
|
||||
marker = getFirstNestedMarker(CHECK_ID, id, dtProject);
|
||||
assertNull(marker);
|
||||
|
||||
id = getTopObjectIdByFqn("Catalog.TestCatalog1", dtProject);
|
||||
marker = getFirstNestedMarker(CHECK_ID, id, dtProject);
|
||||
assertNotNull(marker);
|
||||
|
||||
id = getTopObjectIdByFqn("Catalog.TestCatalog2", dtProject);
|
||||
marker = getFirstNestedMarker(CHECK_ID, id, dtProject);
|
||||
assertNull(marker);
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>MdObjectAttributeComment</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,10 @@
|
||||
{
|
||||
"version": 1,
|
||||
"settings": {
|
||||
"md-object-attribute-comment-incorrect-type": {
|
||||
"properties": {
|
||||
"checkCatalogs": "true"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,2 @@
|
||||
eclipse.preferences.version=1
|
||||
topObjects=true
|
@ -0,0 +1,3 @@
|
||||
addModuleStrictTypesAnnotation=false
|
||||
createModuleStructure=false
|
||||
eclipse.preferences.version=1
|
@ -0,0 +1,3 @@
|
||||
commonChecks=true
|
||||
eclipse.preferences.version=1
|
||||
standardChecks=true
|
@ -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,51 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Catalog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="821ea892-8300-41c4-827b-4ac2999f9266">
|
||||
<producedTypes>
|
||||
<objectType typeId="61c3e9ee-f4c6-405f-95a1-591d617cfbd9" valueTypeId="14a690ff-bc1f-42ab-b996-2a49fe1b9783"/>
|
||||
<refType typeId="4ff0a620-4087-4247-8691-57b5e9670d87" valueTypeId="2c9b2c20-0a6b-4751-b81a-1e7d430b6b70"/>
|
||||
<selectionType typeId="b470752f-e436-4db2-8cea-b93e36d9c3da" valueTypeId="902a98cf-cecd-4d2c-99d3-59b7c39034d7"/>
|
||||
<listType typeId="fbef7146-8dd2-4067-ba7e-8d2da92c1818" valueTypeId="6f0ed1f3-a7e4-4c3a-9092-eab0f845d06b"/>
|
||||
<managerType typeId="87d2551d-aace-480e-933f-a982896141af" valueTypeId="48a9287b-9047-45d1-96b4-fb99ed813dce"/>
|
||||
</producedTypes>
|
||||
<name>TestCatalog1</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Test catalog1</value>
|
||||
</synonym>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
<inputByString>Catalog.TestCatalog1.StandardAttribute.Code</inputByString>
|
||||
<inputByString>Catalog.TestCatalog1.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>
|
||||
<attributes uuid="2c2b3973-0b9b-4e90-a765-26b86a9a3eb4">
|
||||
<name>Comment</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Comment</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>10</length>
|
||||
</stringQualifiers>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
</mdclass:Catalog>
|
@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Catalog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="03e1d978-57fc-4bc9-b7d7-2f1c41b2b9dd">
|
||||
<producedTypes>
|
||||
<objectType typeId="60aefbdf-7113-43db-bd1b-14896f7cc0d9" valueTypeId="d72aba07-1885-4abd-9c3d-a15ef939f666"/>
|
||||
<refType typeId="ba556745-06f4-4934-9733-3c67f8c0c605" valueTypeId="1f9217f8-9630-41d5-b95c-2b72935ebc1e"/>
|
||||
<selectionType typeId="357d7af5-ed9d-4221-b2d5-d07de669de6a" valueTypeId="45b23e05-6472-44ee-af7d-b36af0d0f038"/>
|
||||
<listType typeId="a4038321-48df-4d7f-a431-ac66a9c688b7" valueTypeId="5d1c7bcb-4acb-4640-a99a-97aacaa3c77d"/>
|
||||
<managerType typeId="06b70ad8-6591-4ec6-a3c2-6d4a8e52704b" valueTypeId="46c0136d-aaaa-4156-9217-ccb301b99f69"/>
|
||||
</producedTypes>
|
||||
<name>TestCatalog2</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Test catalog2</value>
|
||||
</synonym>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
<inputByString>Catalog.TestCatalog2.StandardAttribute.Code</inputByString>
|
||||
<inputByString>Catalog.TestCatalog2.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>
|
||||
<attributes uuid="a38192fc-7b44-4e7e-8e30-5cb2c3f76060">
|
||||
<name>Comment</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Comment</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</type>
|
||||
<multiLine>true</multiLine>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
</mdclass:Catalog>
|
@ -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="035707ec-2c57-40a7-b602-4f55b064173e">
|
||||
<name>MdObjectAttributeComment</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Md object attribute comment</value>
|
||||
</synonym>
|
||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="deaf30a2-752a-4118-832d-4e467902607a"/>
|
||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="8beaad50-ecd5-4679-b318-058d055dd752"/>
|
||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="8758847b-6769-4cd8-88dd-138a51028cca"/>
|
||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="fd0a210d-d159-46eb-89ce-84b7d6274e3d"/>
|
||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="118c46b4-f3de-47bc-85ea-1cbe6ebb024b"/>
|
||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="1a4f77a4-b32f-46cd-949e-db6dffef1096"/>
|
||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="8845d1e4-04ab-4255-87cd-530566565ae5"/>
|
||||
<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="3c219e45-aa35-44c0-b186-fc0d7b44e98c">
|
||||
<name>English</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>English</value>
|
||||
</synonym>
|
||||
<languageCode>en</languageCode>
|
||||
</languages>
|
||||
<catalogs>Catalog.TestCatalog1</catalogs>
|
||||
<catalogs>Catalog.TestCatalog2</catalogs>
|
||||
<documents>Document.TestDocument1</documents>
|
||||
<documents>Document.TestDocument2</documents>
|
||||
<documents>Document.TestDocument3</documents>
|
||||
</mdclass:Configuration>
|
@ -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:Document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="5e496d3d-d7f4-45b5-80bc-167592422c71">
|
||||
<producedTypes>
|
||||
<objectType typeId="96effc52-36a2-4f11-94a7-6a3f31baf159" valueTypeId="883453c3-ce85-4782-b1fb-63189f481476"/>
|
||||
<refType typeId="3e0ff7de-5ab2-4c92-b045-27205a455cdc" valueTypeId="3f01d6e8-65e1-4429-ba15-82b1ac374365"/>
|
||||
<selectionType typeId="e0bee0e3-7834-4499-bc11-fa09b09063e0" valueTypeId="1e1c5018-9f9d-4570-806f-8f50f3d6687f"/>
|
||||
<listType typeId="c9126348-c482-4018-8c48-c58db232b7df" valueTypeId="f3895c1e-35d7-4ffd-9770-5979f14126d2"/>
|
||||
<managerType typeId="7b956506-5814-448e-9e76-8ab1616ab5b8" valueTypeId="f4ab6f97-c13b-457d-9e39-44d0e91bc7a5"/>
|
||||
</producedTypes>
|
||||
<name>TestDocument1</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Test document1</value>
|
||||
</synonym>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
<inputByString>Document.TestDocument1.StandardAttribute.Number</inputByString>
|
||||
<fullTextSearchOnInputByString>DontUse</fullTextSearchOnInputByString>
|
||||
<createOnInput>Use</createOnInput>
|
||||
<dataLockControlMode>Managed</dataLockControlMode>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<numberType>String</numberType>
|
||||
<numberLength>9</numberLength>
|
||||
<numberAllowedLength>Variable</numberAllowedLength>
|
||||
<checkUnique>true</checkUnique>
|
||||
<autonumbering>true</autonumbering>
|
||||
<postInPrivilegedMode>true</postInPrivilegedMode>
|
||||
<unpostInPrivilegedMode>true</unpostInPrivilegedMode>
|
||||
<attributes uuid="e247de52-3b2a-4ad6-9a29-3e2184f394ec">
|
||||
<name>Comment</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Comment</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>20</length>
|
||||
</stringQualifiers>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
</mdclass:Document>
|
@ -0,0 +1,44 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="1c356b61-dc98-4de4-baea-2524e21ccf9c">
|
||||
<producedTypes>
|
||||
<objectType typeId="b96e8735-d159-40d2-8b34-8641c2288039" valueTypeId="6f78b9e1-8f52-4732-b25b-0f38398a6350"/>
|
||||
<refType typeId="29d35e71-3b62-4f25-ab3e-89c33c204bef" valueTypeId="1f21f92f-89b8-46b0-b31c-1600de8dedb3"/>
|
||||
<selectionType typeId="d82f0fd5-326f-40f2-b3db-38113fabf4f4" valueTypeId="aace5481-c1fb-45eb-930e-15d3ef39dd38"/>
|
||||
<listType typeId="e28238e4-1912-4f63-805d-4ba9f9ad94eb" valueTypeId="df5f3e44-5a2a-4e2c-8a8b-2e480fe21662"/>
|
||||
<managerType typeId="2c1f44a9-3f14-4c66-a130-932003fda8de" valueTypeId="10c6fd95-f554-4f18-8b47-65568f1faecf"/>
|
||||
</producedTypes>
|
||||
<name>TestDocument2</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Test document2</value>
|
||||
</synonym>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
<inputByString>Document.TestDocument2.StandardAttribute.Number</inputByString>
|
||||
<fullTextSearchOnInputByString>DontUse</fullTextSearchOnInputByString>
|
||||
<createOnInput>Use</createOnInput>
|
||||
<dataLockControlMode>Managed</dataLockControlMode>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<numberType>String</numberType>
|
||||
<numberLength>9</numberLength>
|
||||
<numberAllowedLength>Variable</numberAllowedLength>
|
||||
<checkUnique>true</checkUnique>
|
||||
<autonumbering>true</autonumbering>
|
||||
<postInPrivilegedMode>true</postInPrivilegedMode>
|
||||
<unpostInPrivilegedMode>true</unpostInPrivilegedMode>
|
||||
<attributes uuid="c94002ab-5db9-49c6-a8ec-3218fc1c361e">
|
||||
<name>Comment</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Comment</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
</mdclass:Document>
|
@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="e01f0372-047b-49d1-af2b-b1ebd33675bd">
|
||||
<producedTypes>
|
||||
<objectType typeId="3ad8323f-1c0c-40ba-b7f6-67b33e0e9de9" valueTypeId="48411148-fb12-42dd-85de-b22f9f448639"/>
|
||||
<refType typeId="8cb7cd75-98fd-433f-853a-d64e7f5172f1" valueTypeId="1b1a5245-51a5-4861-a804-874825de2816"/>
|
||||
<selectionType typeId="b00fee0b-3b1e-4053-9bd0-d6d487fbbfb8" valueTypeId="3294eac9-f921-42ad-a55f-ac335f57c19e"/>
|
||||
<listType typeId="d4955504-d21d-4f34-bbf8-9f0da0594577" valueTypeId="9dbecbfd-5a4d-4e7d-bdbe-dec9f8a1c410"/>
|
||||
<managerType typeId="bddd27c6-1304-4233-b11f-8a86f35de4e2" valueTypeId="09bdf453-8e3b-4ce8-a4d0-f2d819971850"/>
|
||||
</producedTypes>
|
||||
<name>TestDocument3</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Test document3</value>
|
||||
</synonym>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
<inputByString>Document.TestDocument3.StandardAttribute.Number</inputByString>
|
||||
<fullTextSearchOnInputByString>DontUse</fullTextSearchOnInputByString>
|
||||
<createOnInput>Use</createOnInput>
|
||||
<dataLockControlMode>Managed</dataLockControlMode>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<numberType>String</numberType>
|
||||
<numberLength>9</numberLength>
|
||||
<numberAllowedLength>Variable</numberAllowedLength>
|
||||
<checkUnique>true</checkUnique>
|
||||
<autonumbering>true</autonumbering>
|
||||
<postInPrivilegedMode>true</postInPrivilegedMode>
|
||||
<unpostInPrivilegedMode>true</unpostInPrivilegedMode>
|
||||
<attributes uuid="cd50ccb5-6c96-4111-a907-8e9eed8cc3d8">
|
||||
<name>Comment</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Comment</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</type>
|
||||
<multiLine>true</multiLine>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
</mdclass:Document>
|
Reference in New Issue
Block a user