mirror of
https://github.com/1C-Company/v8-code-style.git
synced 2025-04-09 09:23:57 +02:00
parent
3cf3db92ed
commit
5eba8cf466
@ -10,6 +10,7 @@
|
||||
|
||||
#### Метаданные
|
||||
|
||||
- Документ не имеет реквизита "Комментарий"
|
||||
|
||||
#### Формы
|
||||
|
||||
|
@ -0,0 +1,18 @@
|
||||
# Document does not have the "Comment" attribute
|
||||
|
||||
For all documents, it is recommended to create the attribute Comment
|
||||
(string of unlimited length). In this prop, users can
|
||||
write down various official notes on the document, which
|
||||
do not relate to the application specifics of the document (for example, the reason for marking
|
||||
for deletions, etc.). Access to props for users should be
|
||||
configured in the same way as for the document itself (if the document is available only
|
||||
for reading, then the comment is read-only; if there is a right
|
||||
document record, then the attribute value can also be changed).
|
||||
|
||||
## Неправильно
|
||||
|
||||
## Правильно
|
||||
|
||||
## См.
|
||||
|
||||
[Document does not have the "Comment" attribute](https://its.1c.ru/db/v8std#content:531:hdoc:1)
|
@ -0,0 +1,18 @@
|
||||
# Документ не имеет реквизита "Комментарий"
|
||||
|
||||
Для всех документов рекомендуется создавать реквизит Комментарий
|
||||
(строка неограниченной длины). В этом реквизите пользователи могут
|
||||
записывать по документу различные заметки служебного характера, которые
|
||||
не относятся к прикладной специфике документа (например, причина пометки
|
||||
на удаления и т.п.). Доступ к реквизиту для пользователей должен быть
|
||||
настроен также как и к самому документу (если документ доступен только
|
||||
для чтения, то и комментарий – только для чтения; если же есть право
|
||||
записи документа, то и значение реквизита также можно изменять).
|
||||
|
||||
## Неправильно
|
||||
|
||||
## Правильно
|
||||
|
||||
## См.
|
||||
|
||||
[Реквизит «Комментарий» у документов](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.MdObjectAttributeCommentNotExistCheck">
|
||||
</check>
|
||||
</extension>
|
||||
|
||||
</plugin>
|
||||
|
@ -0,0 +1,182 @@
|
||||
/*******************************************************************************
|
||||
* 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 Gocnharov - issue #487
|
||||
*******************************************************************************/
|
||||
|
||||
package com.e1c.v8codestyle.md.check;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.CATALOG;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.DOCUMENT;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.CATALOG__ATTRIBUTES;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.DOCUMENT__ATTRIBUTES;
|
||||
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.emf.common.util.EList;
|
||||
|
||||
import com._1c.g5.v8.dt.metadata.mdclass.Catalog;
|
||||
import com._1c.g5.v8.dt.metadata.mdclass.CatalogAttribute;
|
||||
import com._1c.g5.v8.dt.metadata.mdclass.DbObjectAttribute;
|
||||
import com._1c.g5.v8.dt.metadata.mdclass.Document;
|
||||
import com._1c.g5.v8.dt.metadata.mdclass.DocumentAttribute;
|
||||
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 top Metadata object (Catalog or Document) have attribute named "Comment"
|
||||
*
|
||||
* @author Vadim Goncharov
|
||||
*/
|
||||
public class MdObjectAttributeCommentNotExistCheck
|
||||
extends BasicCheck
|
||||
{
|
||||
|
||||
private static final String CHECK_ID = "md-object-attribute-comment-not-exist"; //$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_ATTRIBUTE_NAMES_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> ATTRIBUTE_NAMES_LIST = Set.of("Комментарий", //$NON-NLS-1$
|
||||
"Comment"); //$NON-NLS-1$
|
||||
private static final String DELIMITER = ","; //$NON-NLS-1$
|
||||
public static final String DEFAULT_ATTRIBUTE_NAMES_LIST = String.join(DELIMITER, ATTRIBUTE_NAMES_LIST);
|
||||
|
||||
public MdObjectAttributeCommentNotExistCheck()
|
||||
{
|
||||
super();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getCheckId()
|
||||
{
|
||||
return CHECK_ID;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void configureCheck(CheckConfigurer builder)
|
||||
{
|
||||
builder.title(Messages.MdObjectAttributeCommentNotExist_title)
|
||||
.description(Messages.MdObjectAttributeCommentNotExist_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_ATTRIBUTE_NAMES_LIST, String.class, DEFAULT_ATTRIBUTE_NAMES_LIST,
|
||||
Messages.MdObjectAttributeCommentNotExist_Param_Attribute_name_list);
|
||||
|
||||
builder.topObject(DOCUMENT)
|
||||
.checkTop()
|
||||
.features(DOCUMENT__ATTRIBUTES)
|
||||
.parameter(PARAM_CHECK_DOCUMENTS, Boolean.class, DEFAULT_CHECK_DOCUMENTS,
|
||||
Messages.MdObjectAttributeCommentNotExist_Param_Check_Documents);
|
||||
|
||||
builder.topObject(CATALOG)
|
||||
.checkTop()
|
||||
.features(CATALOG__ATTRIBUTES)
|
||||
.parameter(PARAM_CHECK_CATALOGS, Boolean.class, DEFAULT_CHECK_CATALOGS,
|
||||
Messages.MdObjectAttributeCommentNotExist_Param_Check_Catalogs);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void check(Object object, ResultAcceptor resultAcceptor, ICheckParameters parameters,
|
||||
IProgressMonitor monitor)
|
||||
{
|
||||
|
||||
boolean attributeExist = false;
|
||||
|
||||
boolean checkCatalogs = parameters.getBoolean(PARAM_CHECK_CATALOGS);
|
||||
boolean checkDocuments = parameters.getBoolean(PARAM_CHECK_DOCUMENTS);
|
||||
Set<String> attributeNamesList = getListOfAttributeNames(parameters);
|
||||
|
||||
if (monitor.isCanceled())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (object instanceof Document && checkDocuments)
|
||||
{
|
||||
Document document = (Document)object;
|
||||
EList<DocumentAttribute> attributes = document.getAttributes();
|
||||
for (DbObjectAttribute attribute : attributes)
|
||||
{
|
||||
|
||||
if (monitor.isCanceled())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (isAttributeNamedComment(attribute, attributeNamesList))
|
||||
{
|
||||
attributeExist = true;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
else if (object instanceof Catalog && checkCatalogs)
|
||||
{
|
||||
Catalog catalog = (Catalog)object;
|
||||
EList<CatalogAttribute> attributes = catalog.getAttributes();
|
||||
for (DbObjectAttribute attribute : attributes)
|
||||
{
|
||||
|
||||
if (monitor.isCanceled())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (isAttributeNamedComment(attribute, attributeNamesList))
|
||||
{
|
||||
attributeExist = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!monitor.isCanceled() && !attributeExist)
|
||||
{
|
||||
resultAcceptor
|
||||
.addIssue(Messages.MdObjectAttributeCommentNotExist_Md_Object_attribute_Comment_does_not_exist, object);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private boolean isAttributeNamedComment(DbObjectAttribute attribute, Set<String> attributeNamesList)
|
||||
{
|
||||
return attributeNamesList.contains(attribute.getName());
|
||||
}
|
||||
|
||||
private Set<String> getListOfAttributeNames(ICheckParameters parameters)
|
||||
{
|
||||
Set<String> attributeNames = new TreeSet<>(String.CASE_INSENSITIVE_ORDER);
|
||||
|
||||
String paramAttributesString = parameters.getString(PARAM_ATTRIBUTE_NAMES_LIST);
|
||||
Set<String> paramsAttributeNames = Set.of(paramAttributesString.replace(" ", "").split(DELIMITER)); //$NON-NLS-1$ //$NON-NLS-2$
|
||||
|
||||
attributeNames.addAll(paramsAttributeNames);
|
||||
|
||||
return attributeNames;
|
||||
}
|
||||
}
|
@ -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 MdObjectAttributeCommentNotExist_description;
|
||||
public static String MdObjectAttributeCommentNotExist_Md_Object_attribute_Comment_does_not_exist;
|
||||
public static String MdObjectAttributeCommentNotExist_Param_Check_Catalogs;
|
||||
public static String MdObjectAttributeCommentNotExist_Param_Check_Documents;
|
||||
public static String MdObjectAttributeCommentNotExist_Param_Attribute_name_list;
|
||||
public static String MdObjectAttributeCommentNotExist_title;
|
||||
public static String MdObjectNameWithoutSuffix_Name_suffix_list_title;
|
||||
public static String CommonModuleNameClient_title;
|
||||
public static String CommonModuleNameClientServer_description;
|
||||
|
@ -71,6 +71,18 @@ MdListObjectPresentationCheck_decription = Neither Object presentation nor List
|
||||
|
||||
MdListObjectPresentationCheck_title = Neither Object presentation nor List presentation is not filled
|
||||
|
||||
MdObjectAttributeCommentNotExist_Md_Object_attribute_Comment_does_not_exist = Md Object attribute "Comment" does not exist
|
||||
|
||||
MdObjectAttributeCommentNotExist_Param_Attribute_name_list = Attribute name list
|
||||
|
||||
MdObjectAttributeCommentNotExist_Param_Check_Catalogs = Check catalogs
|
||||
|
||||
MdObjectAttributeCommentNotExist_Param_Check_Documents = Check documents
|
||||
|
||||
MdObjectAttributeCommentNotExist_description = Md Object attribute "Comment" does not exist
|
||||
|
||||
MdObjectAttributeCommentNotExist_title = Md Object attribute "Comment" does not exist
|
||||
|
||||
MdObjectNameLength_Maximum_name_length_description = Maximum name length
|
||||
|
||||
MdObjectNameLength_description = Metadata object name length should be less than {0}
|
||||
|
@ -72,6 +72,18 @@ MdListObjectPresentationCheck_decription = Не заполнено ни пред
|
||||
|
||||
MdListObjectPresentationCheck_title = Не заполнено ни представление объекта, ни представление списка
|
||||
|
||||
MdObjectAttributeCommentNotExist_Md_Object_attribute_Comment_does_not_exist = Объект метаданных не имеет реквизит "Комментарий"
|
||||
|
||||
MdObjectAttributeCommentNotExist_Param_Attribute_name_list = Список имен реквизита
|
||||
|
||||
MdObjectAttributeCommentNotExist_Param_Check_Catalogs = Проверять справочники
|
||||
|
||||
MdObjectAttributeCommentNotExist_Param_Check_Documents = Проверять документы
|
||||
|
||||
MdObjectAttributeCommentNotExist_description = Объект метаданных не имеет реквизит "Комментарий"
|
||||
|
||||
MdObjectAttributeCommentNotExist_title = Объект метаданных не имеет реквизит "Комментарий"
|
||||
|
||||
MdObjectNameLength_Maximum_name_length_description = Максимальная длина имени
|
||||
|
||||
MdObjectNameLength_description = Длина имени объекта метаданного должна быть меньше чем {0}
|
||||
|
@ -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.MdObjectAttributeCommentNotExistCheck;
|
||||
|
||||
/**
|
||||
* Tests for {@link MdObjectAttributeCommentNotExistCheck} check.
|
||||
*
|
||||
* @author Vadim Goncharov
|
||||
*
|
||||
*/
|
||||
public class MdObjectAttributeCommentNotExistCheckTest
|
||||
extends CheckTestBase
|
||||
{
|
||||
|
||||
private static final String CHECK_ID = "md-object-attribute-comment-not-exist";
|
||||
|
||||
private static final String PROJECT_NAME = "MdObjectAttributeCommentNotExist";
|
||||
|
||||
/**
|
||||
* Test that md object's attribute named "Comment" does not exist
|
||||
* @throws Exception the exception
|
||||
*/
|
||||
@Test
|
||||
public void testMdObject() throws Exception
|
||||
{
|
||||
IDtProject dtProject = openProjectAndWaitForValidationFinish(PROJECT_NAME);
|
||||
assertNotNull(dtProject);
|
||||
|
||||
long id = getTopObjectIdByFqn("Document.TestDocument1", dtProject);
|
||||
Marker marker = getFirstMarker(CHECK_ID, id, dtProject);
|
||||
assertNull(marker);
|
||||
|
||||
id = getTopObjectIdByFqn("Document.TestDocument2", dtProject);
|
||||
marker = getFirstMarker(CHECK_ID, id, dtProject);
|
||||
assertNull(marker);
|
||||
|
||||
id = getTopObjectIdByFqn("Document.TestDocument3", dtProject);
|
||||
marker = getFirstMarker(CHECK_ID, id, dtProject);
|
||||
assertNotNull(marker);
|
||||
|
||||
id = getTopObjectIdByFqn("Catalog.TestCatalog1", dtProject);
|
||||
marker = getFirstMarker(CHECK_ID, id, dtProject);
|
||||
assertNull(marker);
|
||||
|
||||
id = getTopObjectIdByFqn("Catalog.TestCatalog2", dtProject);
|
||||
marker = getFirstMarker(CHECK_ID, id, dtProject);
|
||||
assertNotNull(marker);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>MdObjectAttributeCommentNotExist</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-not-exist": {
|
||||
"properties": {
|
||||
"checkCatalogs": "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,49 @@
|
||||
<?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="1b179646-d487-4e62-b9ac-efa1a750e246">
|
||||
<producedTypes>
|
||||
<objectType typeId="2a4dc066-7cf8-44be-b048-2c9158e5106a" valueTypeId="742d7236-8e6f-4342-8e2d-97d8c9f6511e"/>
|
||||
<refType typeId="be79a7f6-df83-4ab1-9d2b-af28062cba97" valueTypeId="26f1849b-13e6-4108-acd3-a89076040865"/>
|
||||
<selectionType typeId="14e27cd2-58b8-4250-9b39-2316c5f6bbe8" valueTypeId="19f7cc09-fd4f-4a9a-b885-33eb7c68ffbc"/>
|
||||
<listType typeId="febb6ec7-3143-46cb-926f-21a3dcb4b706" valueTypeId="c49c812c-e9f7-493a-81c4-681153c6ad88"/>
|
||||
<managerType typeId="687c9a64-387c-423a-91f2-61cee11eb3c5" valueTypeId="f6d50baf-51ff-463e-8d70-2d956efb8125"/>
|
||||
</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="5c4583d9-4e6b-4d96-8128-e8509187ea72">
|
||||
<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:Catalog>
|
@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Catalog xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="c0765458-f5bb-4891-bd81-11b5d1104d54">
|
||||
<producedTypes>
|
||||
<objectType typeId="1c1a4b98-8c8b-4010-b88c-40e2ad887eb7" valueTypeId="045aacb1-c826-46be-b10e-c999998b5359"/>
|
||||
<refType typeId="3f8707c0-f688-4064-ba96-21b39d2bee31" valueTypeId="8d62080c-f062-42ba-957f-be3fc9d499cf"/>
|
||||
<selectionType typeId="57a968cd-43cd-4e01-8c8d-a7891e3d9fbf" valueTypeId="d66e369f-0809-4186-976d-04eeb76d1a53"/>
|
||||
<listType typeId="3c41b9e0-9f29-45ea-a21b-c9a6d113ebb9" valueTypeId="4f09f865-80ca-4ea8-8cd3-1bad19b4ab32"/>
|
||||
<managerType typeId="2d459676-6061-4808-bef4-42845be8a501" valueTypeId="636f2db7-a292-4d5d-a1e9-7b42f70bebb9"/>
|
||||
</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>
|
||||
</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="5d36dacb-1027-41d5-b939-991c391004b1">
|
||||
<name>MdObjectAttributeCommentNotExist</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Md object attribute comment not exist</value>
|
||||
</synonym>
|
||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="1afe7545-061d-4405-9a4f-46e04eb1d05e"/>
|
||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="fd8be8c0-267f-4b82-9f51-986a369a6b44"/>
|
||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="913c7d87-febc-42cd-bdf7-bc0c89dcd7dc"/>
|
||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="58528c2d-e956-49cd-b452-4fdb2b373c5e"/>
|
||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="1f14550f-3c6d-41ce-8c63-765d2f4c2822"/>
|
||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="e91c2520-82bf-4f46-bdf5-0c7ec9a77614"/>
|
||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="2e3d57ed-cc50-4497-b013-387d8f98a441"/>
|
||||
<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="15a333e8-44ac-48ca-acba-09f3cc6136dc">
|
||||
<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,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="6dc74c6a-296c-45db-8adb-8b56596455fa">
|
||||
<producedTypes>
|
||||
<objectType typeId="9f2d1a84-c3df-4bf1-a12d-49e08aa69535" valueTypeId="41068a5c-169e-4a1c-a0e6-d067b8af78d2"/>
|
||||
<refType typeId="bed3dada-a977-498c-9413-8ffbfcdb3ad8" valueTypeId="9249c7dd-488b-4817-a6a3-9166b073168f"/>
|
||||
<selectionType typeId="83ea99eb-703b-4edc-9a56-cba834ad735d" valueTypeId="371aaf5c-0c52-434d-9ac2-f9fdcde4570c"/>
|
||||
<listType typeId="36c0ef7a-a2e6-4759-a8a0-9ce71b2b5a1a" valueTypeId="080e4492-46ca-4c71-8b14-c6061bc9cf2e"/>
|
||||
<managerType typeId="f9f496c3-c90e-4ecc-9b8d-655a570ed26f" valueTypeId="4e9058d1-bf3d-4053-a351-a9e85d28d0d5"/>
|
||||
</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="36e4250a-ee81-4a6c-b681-91a47f35b13f">
|
||||
<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,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="10573773-965d-4ce8-b8bd-9e09e9a44cb2">
|
||||
<producedTypes>
|
||||
<objectType typeId="0153b768-ca5c-4d74-b5c0-433b91d63c07" valueTypeId="630f7917-8130-4e93-8243-985201ea993e"/>
|
||||
<refType typeId="93d1d3ef-d79a-406a-9e4a-5e85183d9921" valueTypeId="2bf9b53c-b916-4771-90bf-3867a665a08f"/>
|
||||
<selectionType typeId="9518d3ee-815c-4cf6-86e6-bb48df89d212" valueTypeId="a7690215-16e5-411e-8d86-c143055098e6"/>
|
||||
<listType typeId="f1e0e6e5-4988-40e1-a036-6bc1694df31d" valueTypeId="ca9f23c9-86f2-4ed9-9a16-38fe9ac06905"/>
|
||||
<managerType typeId="f5a260e1-ca64-409f-b32e-2c9fbdf6f2cd" valueTypeId="31740335-d192-4a3d-99c2-7e5ef101c900"/>
|
||||
</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="aa45bdb8-fe81-4f30-9448-05711113d9fd">
|
||||
<name>Комментарий</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Комментарий</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,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Document xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="53e396f2-4062-4f3f-b68b-053fb237b5cb">
|
||||
<producedTypes>
|
||||
<objectType typeId="8bc8b54e-2178-4d5a-b0d0-8d6850e9d3f2" valueTypeId="4cea7358-b55a-4f9c-b6b3-a2b073e3cb70"/>
|
||||
<refType typeId="f3ae6911-166d-47a8-8e9e-dc4c6dc56124" valueTypeId="9a13522d-805c-4062-a079-3f9f8d286872"/>
|
||||
<selectionType typeId="d2ceb930-5bcc-4e46-b98b-85dd615b9953" valueTypeId="18b609a5-3778-45e7-b398-962b77ac1a38"/>
|
||||
<listType typeId="4a346541-b880-4b52-ad23-d57a9fe4c16f" valueTypeId="e57bf5b4-586f-4878-b972-56ed2b442927"/>
|
||||
<managerType typeId="a28c498a-8b9a-4ac6-83d5-e6ab6d614787" valueTypeId="c646e823-a1cb-4acb-9107-61ac6a443cf1"/>
|
||||
</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>
|
||||
</mdclass:Document>
|
Loading…
x
Reference in New Issue
Block a user